diff options
-rw-r--r-- | fs/btrfs/disk-io.c | 6 | ||||
-rw-r--r-- | fs/btrfs/extent_io.c | 7 | ||||
-rw-r--r-- | fs/btrfs/extent_io.h | 3 |
3 files changed, 7 insertions, 9 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 1c0752e99066..4084959b36fd 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -380,7 +380,7 @@ static int csum_dirty_buffer(struct btrfs_root *root, struct page *page) | |||
380 | len = page->private >> 2; | 380 | len = page->private >> 2; |
381 | WARN_ON(len == 0); | 381 | WARN_ON(len == 0); |
382 | 382 | ||
383 | eb = alloc_extent_buffer(tree, start, len, page, GFP_NOFS); | 383 | eb = alloc_extent_buffer(tree, start, len, page); |
384 | if (eb == NULL) { | 384 | if (eb == NULL) { |
385 | WARN_ON(1); | 385 | WARN_ON(1); |
386 | goto out; | 386 | goto out; |
@@ -525,7 +525,7 @@ static int btree_readpage_end_io_hook(struct page *page, u64 start, u64 end, | |||
525 | len = page->private >> 2; | 525 | len = page->private >> 2; |
526 | WARN_ON(len == 0); | 526 | WARN_ON(len == 0); |
527 | 527 | ||
528 | eb = alloc_extent_buffer(tree, start, len, page, GFP_NOFS); | 528 | eb = alloc_extent_buffer(tree, start, len, page); |
529 | if (eb == NULL) { | 529 | if (eb == NULL) { |
530 | ret = -EIO; | 530 | ret = -EIO; |
531 | goto out; | 531 | goto out; |
@@ -974,7 +974,7 @@ struct extent_buffer *btrfs_find_create_tree_block(struct btrfs_root *root, | |||
974 | struct extent_buffer *eb; | 974 | struct extent_buffer *eb; |
975 | 975 | ||
976 | eb = alloc_extent_buffer(&BTRFS_I(btree_inode)->io_tree, | 976 | eb = alloc_extent_buffer(&BTRFS_I(btree_inode)->io_tree, |
977 | bytenr, blocksize, NULL, GFP_NOFS); | 977 | bytenr, blocksize, NULL); |
978 | return eb; | 978 | return eb; |
979 | } | 979 | } |
980 | 980 | ||
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index ad0f0a95ad3a..9369289ce771 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c | |||
@@ -3266,8 +3266,7 @@ static inline void btrfs_release_extent_buffer(struct extent_buffer *eb) | |||
3266 | 3266 | ||
3267 | struct extent_buffer *alloc_extent_buffer(struct extent_io_tree *tree, | 3267 | struct extent_buffer *alloc_extent_buffer(struct extent_io_tree *tree, |
3268 | u64 start, unsigned long len, | 3268 | u64 start, unsigned long len, |
3269 | struct page *page0, | 3269 | struct page *page0) |
3270 | gfp_t mask) | ||
3271 | { | 3270 | { |
3272 | unsigned long num_pages = num_extent_pages(start, len); | 3271 | unsigned long num_pages = num_extent_pages(start, len); |
3273 | unsigned long i; | 3272 | unsigned long i; |
@@ -3288,7 +3287,7 @@ struct extent_buffer *alloc_extent_buffer(struct extent_io_tree *tree, | |||
3288 | } | 3287 | } |
3289 | rcu_read_unlock(); | 3288 | rcu_read_unlock(); |
3290 | 3289 | ||
3291 | eb = __alloc_extent_buffer(tree, start, len, mask); | 3290 | eb = __alloc_extent_buffer(tree, start, len, GFP_NOFS); |
3292 | if (!eb) | 3291 | if (!eb) |
3293 | return NULL; | 3292 | return NULL; |
3294 | 3293 | ||
@@ -3305,7 +3304,7 @@ struct extent_buffer *alloc_extent_buffer(struct extent_io_tree *tree, | |||
3305 | i = 0; | 3304 | i = 0; |
3306 | } | 3305 | } |
3307 | for (; i < num_pages; i++, index++) { | 3306 | for (; i < num_pages; i++, index++) { |
3308 | p = find_or_create_page(mapping, index, mask | __GFP_HIGHMEM); | 3307 | p = find_or_create_page(mapping, index, GFP_NOFS | __GFP_HIGHMEM); |
3309 | if (!p) { | 3308 | if (!p) { |
3310 | WARN_ON(1); | 3309 | WARN_ON(1); |
3311 | goto free_eb; | 3310 | goto free_eb; |
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index ff220c3c01b0..3c3be74c934e 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h | |||
@@ -260,8 +260,7 @@ void set_page_extent_mapped(struct page *page); | |||
260 | 260 | ||
261 | struct extent_buffer *alloc_extent_buffer(struct extent_io_tree *tree, | 261 | struct extent_buffer *alloc_extent_buffer(struct extent_io_tree *tree, |
262 | u64 start, unsigned long len, | 262 | u64 start, unsigned long len, |
263 | struct page *page0, | 263 | struct page *page0); |
264 | gfp_t mask); | ||
265 | struct extent_buffer *find_extent_buffer(struct extent_io_tree *tree, | 264 | struct extent_buffer *find_extent_buffer(struct extent_io_tree *tree, |
266 | u64 start, unsigned long len); | 265 | u64 start, unsigned long len); |
267 | void free_extent_buffer(struct extent_buffer *eb); | 266 | void free_extent_buffer(struct extent_buffer *eb); |