1 /* SPDX-License-Identifier: GPL-2.0+ */
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 size_t __offset_in_folio
= nilfs_palloc_entry_offset(ifile
, ino
, ibh
);
26 return kmap_local_folio(ibh
->b_folio
, __offset_in_folio
);
29 static inline void nilfs_ifile_unmap_inode(struct nilfs_inode
*raw_inode
)
31 kunmap_local(raw_inode
);
34 int nilfs_ifile_create_inode(struct inode
*, ino_t
*, struct buffer_head
**);
35 int nilfs_ifile_delete_inode(struct inode
*, ino_t
);
36 int nilfs_ifile_get_inode_block(struct inode
*, ino_t
, struct buffer_head
**);
38 int nilfs_ifile_count_free_inodes(struct inode
*, u64
*, u64
*);
40 int nilfs_ifile_read(struct super_block
*sb
, struct nilfs_root
*root
,
41 __u64 cno
, size_t inode_size
);
43 #endif /* _NILFS_IFILE_H */