diff options
Diffstat (limited to 'fs/btrfs')
| -rw-r--r-- | fs/btrfs/file.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index 97fbe939c050..034d98503229 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c | |||
| @@ -1081,7 +1081,7 @@ static noinline int prepare_pages(struct btrfs_root *root, struct file *file, | |||
| 1081 | again: | 1081 | again: |
| 1082 | for (i = 0; i < num_pages; i++) { | 1082 | for (i = 0; i < num_pages; i++) { |
| 1083 | pages[i] = find_or_create_page(inode->i_mapping, index + i, | 1083 | pages[i] = find_or_create_page(inode->i_mapping, index + i, |
| 1084 | mask); | 1084 | mask | __GFP_WRITE); |
| 1085 | if (!pages[i]) { | 1085 | if (!pages[i]) { |
| 1086 | faili = i - 1; | 1086 | faili = i - 1; |
| 1087 | err = -ENOMEM; | 1087 | err = -ENOMEM; |
| @@ -1136,7 +1136,8 @@ again: | |||
| 1136 | GFP_NOFS); | 1136 | GFP_NOFS); |
| 1137 | } | 1137 | } |
| 1138 | for (i = 0; i < num_pages; i++) { | 1138 | for (i = 0; i < num_pages; i++) { |
| 1139 | clear_page_dirty_for_io(pages[i]); | 1139 | if (clear_page_dirty_for_io(pages[i])) |
| 1140 | account_page_redirty(pages[i]); | ||
| 1140 | set_page_extent_mapped(pages[i]); | 1141 | set_page_extent_mapped(pages[i]); |
| 1141 | WARN_ON(!PageLocked(pages[i])); | 1142 | WARN_ON(!PageLocked(pages[i])); |
| 1142 | } | 1143 | } |
