diff options
-rw-r--r-- | fs/nilfs2/inode.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c index eccb2f2e2315..f1750caa362c 100644 --- a/fs/nilfs2/inode.c +++ b/fs/nilfs2/inode.c | |||
@@ -808,6 +808,7 @@ int nilfs_mark_inode_dirty(struct inode *inode) | |||
808 | void nilfs_dirty_inode(struct inode *inode) | 808 | void nilfs_dirty_inode(struct inode *inode) |
809 | { | 809 | { |
810 | struct nilfs_transaction_info ti; | 810 | struct nilfs_transaction_info ti; |
811 | struct nilfs_mdt_info *mdi = NILFS_MDT(inode); | ||
811 | 812 | ||
812 | if (is_bad_inode(inode)) { | 813 | if (is_bad_inode(inode)) { |
813 | nilfs_warning(inode->i_sb, __func__, | 814 | nilfs_warning(inode->i_sb, __func__, |
@@ -815,6 +816,10 @@ void nilfs_dirty_inode(struct inode *inode) | |||
815 | dump_stack(); | 816 | dump_stack(); |
816 | return; | 817 | return; |
817 | } | 818 | } |
819 | if (mdi) { | ||
820 | nilfs_mdt_mark_dirty(inode); | ||
821 | return; | ||
822 | } | ||
818 | nilfs_transaction_begin(inode->i_sb, &ti, 0); | 823 | nilfs_transaction_begin(inode->i_sb, &ti, 0); |
819 | nilfs_mark_inode_dirty(inode); | 824 | nilfs_mark_inode_dirty(inode); |
820 | nilfs_transaction_commit(inode->i_sb); /* never fails */ | 825 | nilfs_transaction_commit(inode->i_sb); /* never fails */ |