#ifndef __LOPS_DOT_H__
#define __LOPS_DOT_H__
#include <linux/list.h>
#include "incore.h"
extern const struct gfs2_log_operations *gfs2_log_ops[];
void gfs2_log_incr_head(struct gfs2_sbd *sdp);
u64 gfs2_log_bmap(struct gfs2_jdesc *jd, unsigned int lbn);
void gfs2_log_write(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd,
struct page *page, unsigned size, unsigned offset,
u64 blkno);
void gfs2_log_submit_bio(struct bio **biop, blk_opf_t opf);
void gfs2_pin(struct gfs2_sbd *sdp, struct buffer_head *bh);
int gfs2_find_jhead(struct gfs2_jdesc *jd,
struct gfs2_log_header_host *head, bool keep_cache);
void gfs2_drain_revokes(struct gfs2_sbd *sdp);
static inline unsigned int buf_limit(struct gfs2_sbd *sdp)
{ … }
static inline unsigned int databuf_limit(struct gfs2_sbd *sdp)
{ … }
static inline void lops_before_commit(struct gfs2_sbd *sdp,
struct gfs2_trans *tr)
{ … }
static inline void lops_after_commit(struct gfs2_sbd *sdp,
struct gfs2_trans *tr)
{ … }
static inline void lops_before_scan(struct gfs2_jdesc *jd,
struct gfs2_log_header_host *head,
unsigned int pass)
{ … }
static inline int lops_scan_elements(struct gfs2_jdesc *jd, u32 start,
struct gfs2_log_descriptor *ld,
__be64 *ptr,
unsigned int pass)
{ … }
static inline void lops_after_scan(struct gfs2_jdesc *jd, int error,
unsigned int pass)
{ … }
#endif