Revert "f2fs: no need inc dirty pages under inode lock"
authorJaegeuk Kim <jaegeuk@kernel.org>
Thu, 2 Jun 2016 03:55:51 +0000 (20:55 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 3 Jun 2016 01:05:06 +0000 (18:05 -0700)
This reverts commit b951a4ec165af4973b2bd9c80fb5845fbd840435.

 Conflicts:
fs/f2fs/checkpoint.c

fs/f2fs/checkpoint.c

index 3891600499939895600bfc9aed37c6f2b5e1d53d..5cf7238f4f898372c339be69741f92d2fce3fd21 100644 (file)
@@ -793,13 +793,12 @@ void update_dirty_page(struct inode *inode, struct page *page)
                        !S_ISLNK(inode->i_mode))
                return;
 
-       if (type != FILE_INODE || test_opt(sbi, DATA_FLUSH)) {
-               spin_lock(&sbi->inode_lock[type]);
+       spin_lock(&sbi->inode_lock[type]);
+       if (type != FILE_INODE || test_opt(sbi, DATA_FLUSH))
                __add_dirty_inode(inode, type);
-               spin_unlock(&sbi->inode_lock[type]);
-       }
-
        inode_inc_dirty_pages(inode);
+       spin_unlock(&sbi->inode_lock[type]);
+
        SetPagePrivate(page);
        f2fs_trace_pid(page);
 }