#include <linux/vmalloc.h>
#include "blocklayout.h"
#define NFSDBG_FACILITY …
static inline struct pnfs_block_extent *
ext_node(struct rb_node *node)
{ … }
static struct pnfs_block_extent *
ext_tree_first(struct rb_root *root)
{ … }
static struct pnfs_block_extent *
ext_tree_prev(struct pnfs_block_extent *be)
{ … }
static struct pnfs_block_extent *
ext_tree_next(struct pnfs_block_extent *be)
{ … }
static inline sector_t
ext_f_end(struct pnfs_block_extent *be)
{ … }
static struct pnfs_block_extent *
__ext_tree_search(struct rb_root *root, sector_t start)
{ … }
static bool
ext_can_merge(struct pnfs_block_extent *be1, struct pnfs_block_extent *be2)
{ … }
static struct pnfs_block_extent *
ext_try_to_merge_left(struct rb_root *root, struct pnfs_block_extent *be)
{ … }
static struct pnfs_block_extent *
ext_try_to_merge_right(struct rb_root *root, struct pnfs_block_extent *be)
{ … }
static void __ext_put_deviceids(struct list_head *head)
{ … }
static void
__ext_tree_insert(struct rb_root *root,
struct pnfs_block_extent *new, bool merge_ok)
{ … }
static int
__ext_tree_remove(struct rb_root *root,
sector_t start, sector_t end, struct list_head *tmp)
{ … }
int
ext_tree_insert(struct pnfs_block_layout *bl, struct pnfs_block_extent *new)
{ … }
static bool
__ext_tree_lookup(struct rb_root *root, sector_t isect,
struct pnfs_block_extent *ret)
{ … }
bool
ext_tree_lookup(struct pnfs_block_layout *bl, sector_t isect,
struct pnfs_block_extent *ret, bool rw)
{ … }
int ext_tree_remove(struct pnfs_block_layout *bl, bool rw,
sector_t start, sector_t end)
{ … }
static int
ext_tree_split(struct rb_root *root, struct pnfs_block_extent *be,
sector_t split)
{ … }
int
ext_tree_mark_written(struct pnfs_block_layout *bl, sector_t start,
sector_t len, u64 lwb)
{ … }
static size_t ext_tree_layoutupdate_size(struct pnfs_block_layout *bl, size_t count)
{ … }
static void ext_tree_free_commitdata(struct nfs4_layoutcommit_args *arg,
size_t buffer_size)
{ … }
static __be32 *encode_block_extent(struct pnfs_block_extent *be, __be32 *p)
{ … }
static __be32 *encode_scsi_range(struct pnfs_block_extent *be, __be32 *p)
{ … }
static int ext_tree_encode_commit(struct pnfs_block_layout *bl, __be32 *p,
size_t buffer_size, size_t *count, __u64 *lastbyte)
{ … }
int
ext_tree_prepare_commit(struct nfs4_layoutcommit_args *arg)
{ … }
void
ext_tree_mark_committed(struct nfs4_layoutcommit_args *arg, int status)
{ … }