Now that all of the callers of set_extent_uptodate use GFP_NOFS or
 GFP_ATOMIC, we can drop the gfp_t argument entirely and allow
 set_extent_uptodate to always pass GFP_NOFS to set_extent_bit or
 GFP_ATOMIC to set_extent_bit_atomic.

 Since the extent io code will probably never be used outside of a file
 system, this is generally ok. If there are uptodate callers, they can add
 their own version or re-genericize it.

Signed-off-by: Jeff Mahoney <je...@suse.com>
---
 fs/btrfs/extent_io.c |   16 ++++++++--------
 fs/btrfs/extent_io.h |    5 ++---
 fs/btrfs/inode.c     |    2 +-
 3 files changed, 11 insertions(+), 12 deletions(-)

--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -1214,17 +1214,17 @@ void set_extent_new(struct extent_io_tre
 }
 
 int set_extent_uptodate_atomic(struct extent_io_tree *tree, u64 start, u64 end,
-                              struct extent_state **cached_state, gfp_t mask)
+                              struct extent_state **cached_state)
 {
        return set_extent_bit_atomic(tree, start, end, EXTENT_UPTODATE, NULL,
-                                    cached_state, mask);
+                                    cached_state, GFP_ATOMIC);
 }
 
 void set_extent_uptodate(struct extent_io_tree *tree, u64 start, u64 end,
-                        struct extent_state **cached_state, gfp_t mask)
+                        struct extent_state **cached_state)
 {
        set_extent_bit(tree, start, end, EXTENT_UPTODATE, NULL, cached_state,
-                      mask);
+                      GFP_NOFS);
 }
 
 static void clear_extent_uptodate(struct extent_io_tree *tree, u64 start,
@@ -2391,7 +2391,7 @@ static void end_bio_extent_readpage(stru
 
                if (uptodate) {
                        ret = set_extent_uptodate_atomic(tree, start, end,
-                                                        &cached, GFP_ATOMIC);
+                                                        &cached);
                        BUG_ON(ret < 0);
                }
                ret = unlock_extent_cached_atomic(tree, start, end, &cached);
@@ -2617,7 +2617,7 @@ static int __extent_read_full_page(struc
                        flush_dcache_page(page);
                        kunmap_atomic(userpage, KM_USER0);
                        set_extent_uptodate(tree, cur, cur + iosize - 1,
-                                           &cached, GFP_NOFS);
+                                           &cached);
                        unlock_extent_cached(tree, cur, cur + iosize - 1,
                                             &cached);
                        break;
@@ -2667,7 +2667,7 @@ static int __extent_read_full_page(struc
                        kunmap_atomic(userpage, KM_USER0);
 
                        set_extent_uptodate(tree, cur, cur + iosize - 1,
-                                           &cached, GFP_NOFS);
+                                           &cached);
                        unlock_extent_cached(tree, cur, cur + iosize - 1,
                                             &cached);
                        cur = cur + iosize;
@@ -3937,7 +3937,7 @@ int set_extent_buffer_uptodate(struct ex
 
        if (eb_straddles_pages(eb))
                set_extent_uptodate(tree, eb->start, eb->start + eb->len - 1,
-                                   NULL, GFP_NOFS);
+                                   NULL);
        for (i = 0; i < num_pages; i++) {
                page = extent_buffer_page(eb, i);
                if ((i == 0 && (eb->start & (PAGE_CACHE_SIZE - 1))) ||
--- a/fs/btrfs/extent_io.h
+++ b/fs/btrfs/extent_io.h
@@ -231,10 +231,9 @@ void set_extent_bit(struct extent_io_tre
                    gfp_t mask);
 int __must_check set_extent_uptodate_atomic(struct extent_io_tree *tree,
                                            u64 start, u64 end,
-                                           struct extent_state **cached_state,
-                                           gfp_t mask);
+                                           struct extent_state **cached_state);
 void set_extent_uptodate(struct extent_io_tree *tree, u64 start, u64 end,
-                        struct extent_state **cached_state, gfp_t mask);
+                        struct extent_state **cached_state);
 void set_extent_new(struct extent_io_tree *tree, u64 start, u64 end);
 void set_extent_dirty(struct extent_io_tree *tree, u64 start, u64 end);
 void clear_extent_dirty(struct extent_io_tree *tree, u64 start, u64 end);
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -5021,7 +5021,7 @@ again:
                        btrfs_mark_buffer_dirty(leaf);
                }
                set_extent_uptodate(io_tree, em->start,
-                                   extent_map_end(em) - 1, NULL, GFP_NOFS);
+                                   extent_map_end(em) - 1, NULL);
                goto insert;
        } else {
                printk(KERN_ERR "btrfs unknown found_type %d\n", found_type);


--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to