ext2: Remove GFP_NOFS use in ext2_xattr_cache_insert()
authorJan Kara <jack@suse.cz>
Tue, 9 Jan 2024 11:27:44 +0000 (12:27 +0100)
committerJan Kara <jack@suse.cz>
Tue, 23 Jan 2024 18:21:11 +0000 (19:21 +0100)
ext2_xattr_cache_insert() calls mb_cache_entry_create() with GFP_NOFS
because it is called under EXT2_I(inode)->xattr_sem. However xattr_sem
or any higher ranking lock is not acquired on fs reclaim path for ext2
at least since we don't do page writeback from direct reclaim.  Thus
GFP_NOFS is not needed.

Signed-off-by: Jan Kara <jack@suse.cz>
fs/ext2/xattr.c

index e849241ebb8f3ce436ae0dc93b9b047f7ddd5521..c885dcc3bd0d180c4c3f0945ca23ed8ce569ef10 100644 (file)
@@ -874,7 +874,7 @@ ext2_xattr_cache_insert(struct mb_cache *cache, struct buffer_head *bh)
        __u32 hash = le32_to_cpu(HDR(bh)->h_hash);
        int error;
 
-       error = mb_cache_entry_create(cache, GFP_NOFS, hash, bh->b_blocknr,
+       error = mb_cache_entry_create(cache, GFP_KERNEL, hash, bh->b_blocknr,
                                      true);
        if (error) {
                if (error == -EBUSY) {