OSDN Git Service

btrfs: switch GFP_NOFS to GFP_KERNEL in scrub_setup_recheck_block
authorDavid Sterba <dsterba@suse.com>
Fri, 14 Oct 2022 13:59:35 +0000 (15:59 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 5 Dec 2022 17:00:43 +0000 (18:00 +0100)
There's only one caller that calls scrub_setup_recheck_block in the
memalloc_nofs_save/_restore protection so it's effectively already
GFP_NOFS and it's safe to use GFP_KERNEL.

Reviewed-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/scrub.c

index 5c6c4aa..6e70cc3 100644 (file)
@@ -1493,7 +1493,7 @@ static int scrub_setup_recheck_block(struct scrub_block *original_sblock,
                        return -EIO;
                }
 
-               recover = kzalloc(sizeof(struct scrub_recover), GFP_NOFS);
+               recover = kzalloc(sizeof(struct scrub_recover), GFP_KERNEL);
                if (!recover) {
                        btrfs_put_bioc(bioc);
                        btrfs_bio_counter_dec(fs_info);
@@ -1516,7 +1516,7 @@ static int scrub_setup_recheck_block(struct scrub_block *original_sblock,
                        sblock = sblocks_for_recheck[mirror_index];
                        sblock->sctx = sctx;
 
-                       sector = alloc_scrub_sector(sblock, logical, GFP_NOFS);
+                       sector = alloc_scrub_sector(sblock, logical, GFP_KERNEL);
                        if (!sector) {
                                spin_lock(&sctx->stat_lock);
                                sctx->stat.malloc_errors++;