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:
parent
756cbdb353
commit
24e20ead2f
|
@ -779,6 +779,7 @@ static int nilfs_ioctl_mark_blocks_dirty(struct the_nilfs *nilfs,
|
||||||
size_t nmembs = argv->v_nmembs;
|
size_t nmembs = argv->v_nmembs;
|
||||||
struct nilfs_bmap *bmap = NILFS_I(nilfs->ns_dat)->i_bmap;
|
struct nilfs_bmap *bmap = NILFS_I(nilfs->ns_dat)->i_bmap;
|
||||||
struct nilfs_bdesc *bdescs = buf;
|
struct nilfs_bdesc *bdescs = buf;
|
||||||
|
struct buffer_head *bh;
|
||||||
int ret, i;
|
int ret, i;
|
||||||
|
|
||||||
for (i = 0; i < nmembs; 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 */
|
/* skip dead block */
|
||||||
continue;
|
continue;
|
||||||
if (bdescs[i].bd_level == 0) {
|
if (bdescs[i].bd_level == 0) {
|
||||||
ret = nilfs_mdt_mark_block_dirty(nilfs->ns_dat,
|
ret = nilfs_mdt_get_block(nilfs->ns_dat,
|
||||||
bdescs[i].bd_offset);
|
bdescs[i].bd_offset,
|
||||||
if (ret < 0) {
|
false, NULL, &bh);
|
||||||
|
if (unlikely(ret)) {
|
||||||
WARN_ON(ret == -ENOENT);
|
WARN_ON(ret == -ENOENT);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
mark_buffer_dirty(bh);
|
||||||
|
nilfs_mdt_mark_dirty(nilfs->ns_dat);
|
||||||
|
put_bh(bh);
|
||||||
} else {
|
} else {
|
||||||
ret = nilfs_bmap_mark(bmap, bdescs[i].bd_offset,
|
ret = nilfs_bmap_mark(bmap, bdescs[i].bd_offset,
|
||||||
bdescs[i].bd_level);
|
bdescs[i].bd_level);
|
||||||
|
|
|
@ -389,34 +389,6 @@ int nilfs_mdt_forget_block(struct inode *inode, unsigned long block)
|
||||||
return ret;
|
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)
|
int nilfs_mdt_fetch_dirty(struct inode *inode)
|
||||||
{
|
{
|
||||||
struct nilfs_inode_info *ii = NILFS_I(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);
|
struct buffer_head **out_bh);
|
||||||
int nilfs_mdt_delete_block(struct inode *, unsigned long);
|
int nilfs_mdt_delete_block(struct inode *, unsigned long);
|
||||||
int nilfs_mdt_forget_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_fetch_dirty(struct inode *);
|
||||||
|
|
||||||
int nilfs_mdt_init(struct inode *inode, gfp_t gfp_mask, size_t objsz);
|
int nilfs_mdt_init(struct inode *inode, gfp_t gfp_mask, size_t objsz);
|
||||||
|
|
Loading…
Reference in a new issue