1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * ifile.h - NILFS inode file
5 * Copyright (C) 2006-2008 Nippon Telegraph and Telephone Corporation.
7 * Written by Amagai Yoshiji.
8 * Revised by Ryusuke Konishi.
12 #ifndef _NILFS_IFILE_H
13 #define _NILFS_IFILE_H
16 #include <linux/buffer_head.h>
21 static inline struct nilfs_inode
*
22 nilfs_ifile_map_inode(struct inode
*ifile
, ino_t ino
, struct buffer_head
*ibh
)
24 void *kaddr
= kmap(ibh
->b_page
);
26 return nilfs_palloc_block_get_entry(ifile
, ino
, ibh
, kaddr
);
29 static inline void nilfs_ifile_unmap_inode(struct inode
*ifile
, ino_t ino
,
30 struct buffer_head
*ibh
)
35 int nilfs_ifile_create_inode(struct inode
*, ino_t
*, struct buffer_head
**);
36 int nilfs_ifile_delete_inode(struct inode
*, ino_t
);
37 int nilfs_ifile_get_inode_block(struct inode
*, ino_t
, struct buffer_head
**);
39 int nilfs_ifile_count_free_inodes(struct inode
*, u64
*, u64
*);
41 int nilfs_ifile_read(struct super_block
*sb
, struct nilfs_root
*root
,
42 size_t inode_size
, struct nilfs_inode
*raw_inode
,
43 struct inode
**inodep
);
45 #endif /* _NILFS_IFILE_H */