diff options
Diffstat (limited to 'fs/nilfs2/ifile.c')
-rw-r--r-- | fs/nilfs2/ifile.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/fs/nilfs2/ifile.c b/fs/nilfs2/ifile.c index de86401f209f..c1c1fd30c315 100644 --- a/fs/nilfs2/ifile.c +++ b/fs/nilfs2/ifile.c | |||
@@ -148,3 +148,24 @@ int nilfs_ifile_get_inode_block(struct inode *ifile, ino_t ino, | |||
148 | } | 148 | } |
149 | return err; | 149 | return err; |
150 | } | 150 | } |
151 | |||
152 | /** | ||
153 | * nilfs_ifile_new - create inode file | ||
154 | * @sbi: nilfs_sb_info struct | ||
155 | * @inode_size: size of an inode | ||
156 | */ | ||
157 | struct inode *nilfs_ifile_new(struct nilfs_sb_info *sbi, size_t inode_size) | ||
158 | { | ||
159 | struct inode *ifile; | ||
160 | int err; | ||
161 | |||
162 | ifile = nilfs_mdt_new(sbi->s_nilfs, sbi->s_super, NILFS_IFILE_INO, 0); | ||
163 | if (ifile) { | ||
164 | err = nilfs_palloc_init_blockgroup(ifile, inode_size); | ||
165 | if (unlikely(err)) { | ||
166 | nilfs_mdt_destroy(ifile); | ||
167 | return NULL; | ||
168 | } | ||
169 | } | ||
170 | return ifile; | ||
171 | } | ||