root/fs/nilfs2/btnode.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0+ */
   2 /*
   3  * btnode.h - NILFS B-tree node cache
   4  *
   5  * Copyright (C) 2005-2008 Nippon Telegraph and Telephone Corporation.
   6  *
   7  * Written by Seiji Kihara.
   8  * Revised by Ryusuke Konishi.
   9  */
  10 
  11 #ifndef _NILFS_BTNODE_H
  12 #define _NILFS_BTNODE_H
  13 
  14 #include <linux/types.h>
  15 #include <linux/buffer_head.h>
  16 #include <linux/fs.h>
  17 #include <linux/backing-dev.h>
  18 
  19 /**
  20  * struct nilfs_btnode_chkey_ctxt - change key context
  21  * @oldkey: old key of block's moving content
  22  * @newkey: new key for block's content
  23  * @bh: buffer head of old buffer
  24  * @newbh: buffer head of new buffer
  25  */
  26 struct nilfs_btnode_chkey_ctxt {
  27         __u64 oldkey;
  28         __u64 newkey;
  29         struct buffer_head *bh;
  30         struct buffer_head *newbh;
  31 };
  32 
  33 void nilfs_btnode_cache_clear(struct address_space *);
  34 struct buffer_head *nilfs_btnode_create_block(struct address_space *btnc,
  35                                               __u64 blocknr);
  36 int nilfs_btnode_submit_block(struct address_space *, __u64, sector_t, int,
  37                               int, struct buffer_head **, sector_t *);
  38 void nilfs_btnode_delete(struct buffer_head *);
  39 int nilfs_btnode_prepare_change_key(struct address_space *,
  40                                     struct nilfs_btnode_chkey_ctxt *);
  41 void nilfs_btnode_commit_change_key(struct address_space *,
  42                                     struct nilfs_btnode_chkey_ctxt *);
  43 void nilfs_btnode_abort_change_key(struct address_space *,
  44                                    struct nilfs_btnode_chkey_ctxt *);
  45 
  46 #endif  /* _NILFS_BTNODE_H */

/* [<][>][^][v][top][bottom][index][help] */