Merge tag 'keys-next-20160511' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowe...
[platform/kernel/linux-rpi.git] / fs / f2fs / segment.c
index 540669d..2e6f537 100644 (file)
@@ -223,9 +223,11 @@ static int __revoke_inmem_pages(struct inode *inode,
                        f2fs_put_dnode(&dn);
                }
 next:
-               ClearPageUptodate(page);
+               /* we don't need to invalidate this in the sccessful status */
+               if (drop || recover)
+                       ClearPageUptodate(page);
                set_page_private(page, 0);
-               ClearPageUptodate(page);
+               ClearPagePrivate(page);
                f2fs_put_page(page, 1);
 
                list_del(&cur->list);
@@ -239,6 +241,8 @@ void drop_inmem_pages(struct inode *inode)
 {
        struct f2fs_inode_info *fi = F2FS_I(inode);
 
+       clear_inode_flag(F2FS_I(inode), FI_ATOMIC_FILE);
+
        mutex_lock(&fi->inmem_lock);
        __revoke_inmem_pages(inode, &fi->inmem_pages, true, false);
        mutex_unlock(&fi->inmem_lock);