]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - fs/btrfs/file.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[mirror_ubuntu-zesty-kernel.git] / fs / btrfs / file.c
index 0f61e11a2998d87bbf246447eae3161b79aad278..859ba2dd88903ba207c7b0e448e0f5ce7f99e46e 100644 (file)
@@ -1081,7 +1081,7 @@ static noinline int prepare_pages(struct btrfs_root *root, struct file *file,
 again:
        for (i = 0; i < num_pages; i++) {
                pages[i] = find_or_create_page(inode->i_mapping, index + i,
-                                              mask);
+                                              mask | __GFP_WRITE);
                if (!pages[i]) {
                        faili = i - 1;
                        err = -ENOMEM;
@@ -1136,7 +1136,8 @@ again:
                                     GFP_NOFS);
        }
        for (i = 0; i < num_pages; i++) {
-               clear_page_dirty_for_io(pages[i]);
+               if (clear_page_dirty_for_io(pages[i]))
+                       account_page_redirty(pages[i]);
                set_page_extent_mapped(pages[i]);
                WARN_ON(!PageLocked(pages[i]));
        }