nilfs2: get rid of nilfs_mdt_mark_block_dirty()
nilfs_mdt_mark_block_dirty() can be replaced with primary functions like nilfs_mdt_get_block() and mark_buffer_dirty(), and it's used only by nilfs_ioctl_mark_blocks_dirty(). This gets rid of the function to simplify the interface of metadata file. Link: http://lkml.kernel.org/r/1461935747-10380-8-git-send-email-konishi.ryusuke@lab.ntt.co.jp Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
756cbdb353
Коммит
24e20ead2f
|
@ -779,6 +779,7 @@ static int nilfs_ioctl_mark_blocks_dirty(struct the_nilfs *nilfs,
|
|||
size_t nmembs = argv->v_nmembs;
|
||||
struct nilfs_bmap *bmap = NILFS_I(nilfs->ns_dat)->i_bmap;
|
||||
struct nilfs_bdesc *bdescs = buf;
|
||||
struct buffer_head *bh;
|
||||
int ret, i;
|
||||
|
||||
for (i = 0; i < nmembs; i++) {
|
||||
|
@ -796,12 +797,16 @@ static int nilfs_ioctl_mark_blocks_dirty(struct the_nilfs *nilfs,
|
|||
/* skip dead block */
|
||||
continue;
|
||||
if (bdescs[i].bd_level == 0) {
|
||||
ret = nilfs_mdt_mark_block_dirty(nilfs->ns_dat,
|
||||
bdescs[i].bd_offset);
|
||||
if (ret < 0) {
|
||||
ret = nilfs_mdt_get_block(nilfs->ns_dat,
|
||||
bdescs[i].bd_offset,
|
||||
false, NULL, &bh);
|
||||
if (unlikely(ret)) {
|
||||
WARN_ON(ret == -ENOENT);
|
||||
return ret;
|
||||
}
|
||||
mark_buffer_dirty(bh);
|
||||
nilfs_mdt_mark_dirty(nilfs->ns_dat);
|
||||
put_bh(bh);
|
||||
} else {
|
||||
ret = nilfs_bmap_mark(bmap, bdescs[i].bd_offset,
|
||||
bdescs[i].bd_level);
|
||||
|
|
|
@ -389,34 +389,6 @@ int nilfs_mdt_forget_block(struct inode *inode, unsigned long block)
|
|||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* nilfs_mdt_mark_block_dirty - mark a block on the meta data file dirty.
|
||||
* @inode: inode of the meta data file
|
||||
* @block: block offset
|
||||
*
|
||||
* Return Value: On success, it returns 0. On error, the following negative
|
||||
* error code is returned.
|
||||
*
|
||||
* %-ENOMEM - Insufficient memory available.
|
||||
*
|
||||
* %-EIO - I/O error
|
||||
*
|
||||
* %-ENOENT - the specified block does not exist (hole block)
|
||||
*/
|
||||
int nilfs_mdt_mark_block_dirty(struct inode *inode, unsigned long block)
|
||||
{
|
||||
struct buffer_head *bh;
|
||||
int err;
|
||||
|
||||
err = nilfs_mdt_read_block(inode, block, 0, &bh);
|
||||
if (unlikely(err))
|
||||
return err;
|
||||
mark_buffer_dirty(bh);
|
||||
nilfs_mdt_mark_dirty(inode);
|
||||
brelse(bh);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int nilfs_mdt_fetch_dirty(struct inode *inode)
|
||||
{
|
||||
struct nilfs_inode_info *ii = NILFS_I(inode);
|
||||
|
|
|
@ -79,7 +79,6 @@ int nilfs_mdt_find_block(struct inode *inode, unsigned long start,
|
|||
struct buffer_head **out_bh);
|
||||
int nilfs_mdt_delete_block(struct inode *, unsigned long);
|
||||
int nilfs_mdt_forget_block(struct inode *, unsigned long);
|
||||
int nilfs_mdt_mark_block_dirty(struct inode *, unsigned long);
|
||||
int nilfs_mdt_fetch_dirty(struct inode *);
|
||||
|
||||
int nilfs_mdt_init(struct inode *inode, gfp_t gfp_mask, size_t objsz);
|
||||
|
|
Загрузка…
Ссылка в новой задаче