On Tue, Jan 16, 2024 at 09:59:49AM +1100, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > These few remaining GFP_NOFS callers do not need to use GFP_NOFS at > all. They are only called from a non-transactional context or cannot > be accessed from memory reclaim due to other constraints. Hence they > can just use GFP_KERNEL. > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Looks good, Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > fs/xfs/libxfs/xfs_btree_staging.c | 4 ++-- > fs/xfs/xfs_attr_list.c | 2 +- > fs/xfs/xfs_buf.c | 2 +- > 3 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/fs/xfs/libxfs/xfs_btree_staging.c b/fs/xfs/libxfs/xfs_btree_staging.c > index 961f6b898f4b..f0c69f9bb169 100644 > --- a/fs/xfs/libxfs/xfs_btree_staging.c > +++ b/fs/xfs/libxfs/xfs_btree_staging.c > @@ -139,7 +139,7 @@ xfs_btree_stage_afakeroot( > ASSERT(!(cur->bc_flags & XFS_BTREE_ROOT_IN_INODE)); > ASSERT(cur->bc_tp == NULL); > > - nops = kmalloc(sizeof(struct xfs_btree_ops), GFP_NOFS | __GFP_NOFAIL); > + nops = kmalloc(sizeof(struct xfs_btree_ops), GFP_KERNEL | __GFP_NOFAIL); > memcpy(nops, cur->bc_ops, sizeof(struct xfs_btree_ops)); > nops->alloc_block = xfs_btree_fakeroot_alloc_block; > nops->free_block = xfs_btree_fakeroot_free_block; > @@ -220,7 +220,7 @@ xfs_btree_stage_ifakeroot( > ASSERT(cur->bc_flags & XFS_BTREE_ROOT_IN_INODE); > ASSERT(cur->bc_tp == NULL); > > - nops = kmalloc(sizeof(struct xfs_btree_ops), GFP_NOFS | __GFP_NOFAIL); > + nops = kmalloc(sizeof(struct xfs_btree_ops), GFP_KERNEL | __GFP_NOFAIL); > memcpy(nops, cur->bc_ops, sizeof(struct xfs_btree_ops)); > nops->alloc_block = xfs_btree_fakeroot_alloc_block; > nops->free_block = xfs_btree_fakeroot_free_block; > diff --git a/fs/xfs/xfs_attr_list.c b/fs/xfs/xfs_attr_list.c > index 0318d768520a..47453510c0ab 100644 > --- a/fs/xfs/xfs_attr_list.c > +++ b/fs/xfs/xfs_attr_list.c > @@ -109,7 +109,7 @@ xfs_attr_shortform_list( > * It didn't all fit, so we have to sort everything on hashval. > */ > sbsize = sf->count * sizeof(*sbuf); > - sbp = sbuf = kmalloc(sbsize, GFP_NOFS | __GFP_NOFAIL); > + sbp = sbuf = kmalloc(sbsize, GFP_KERNEL | __GFP_NOFAIL); > > /* > * Scan the attribute list for the rest of the entries, storing > diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c > index de99368000b4..08f2fbc04db5 100644 > --- a/fs/xfs/xfs_buf.c > +++ b/fs/xfs/xfs_buf.c > @@ -2008,7 +2008,7 @@ xfs_alloc_buftarg( > #if defined(CONFIG_FS_DAX) && defined(CONFIG_MEMORY_FAILURE) > ops = &xfs_dax_holder_operations; > #endif > - btp = kzalloc(sizeof(*btp), GFP_NOFS | __GFP_NOFAIL); > + btp = kzalloc(sizeof(*btp), GFP_KERNEL | __GFP_NOFAIL); > > btp->bt_mount = mp; > btp->bt_bdev_handle = bdev_handle; > -- > 2.43.0 > >