nilfs2: allow nilfs_dirty_inode to mark metadata file inodes dirty
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Fri, 20 Aug 2010 15:30:39 +0000 (00:30 +0900)
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Sat, 23 Oct 2010 00:24:33 +0000 (09:24 +0900)
This allows sop->dirty_inode callback function (nilfs_dirty_inode) to
handle metadata file inodes.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
fs/nilfs2/inode.c

index eccb2f2e2315bcb8cba87a7bb30fdf202f0b5f44..f1750caa362c8e32675168dc639b4558e3ad724a 100644 (file)
@@ -808,6 +808,7 @@ int nilfs_mark_inode_dirty(struct inode *inode)
 void nilfs_dirty_inode(struct inode *inode)
 {
        struct nilfs_transaction_info ti;
+       struct nilfs_mdt_info *mdi = NILFS_MDT(inode);
 
        if (is_bad_inode(inode)) {
                nilfs_warning(inode->i_sb, __func__,
@@ -815,6 +816,10 @@ void nilfs_dirty_inode(struct inode *inode)
                dump_stack();
                return;
        }
+       if (mdi) {
+               nilfs_mdt_mark_dirty(inode);
+               return;
+       }
        nilfs_transaction_begin(inode->i_sb, &ti, 0);
        nilfs_mark_inode_dirty(inode);
        nilfs_transaction_commit(inode->i_sb); /* never fails */