nilfs2: get rid of nilfs_mdt_mark_block_dirty()
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Mon, 23 May 2016 23:23:17 +0000 (16:23 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 24 May 2016 00:04:14 +0000 (17:04 -0700)
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>
fs/nilfs2/ioctl.c
fs/nilfs2/mdt.c
fs/nilfs2/mdt.h

index e86599801d8be17f546f61aaa3cf4804c9e9c965..358b57e2cdf9037c743c2a98e65716fbdab7864b 100644 (file)
@@ -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);
index 36fa9412f8507cf7fa78f0fee310d8e56ecd7518..c8fe58406a071b33fb9fcd76962fed01cf4ae33a 100644 (file)
@@ -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);
index 54e3b7fd783c68f756a328185c72bee53b08f21a..dc88907508cdce571442e779c04e0b7803d0d841 100644 (file)
@@ -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);