From: Christoph Hellwig Date: Sat, 18 Jul 2009 22:14:55 +0000 (-0400) Subject: xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f41d7fb9da05b604f8a69fb6cac2a0563c8ede4e;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc xfs_da_state_alloc is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher --- diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c index 9ff6e57a5075..bd0bb6dfcdfa 100644 --- a/fs/xfs/xfs_da_btree.c +++ b/fs/xfs/xfs_da_btree.c @@ -2201,7 +2201,7 @@ kmem_zone_t *xfs_dabuf_zone; /* dabuf zone */ xfs_da_state_t * xfs_da_state_alloc(void) { - return kmem_zone_zalloc(xfs_da_state_zone, KM_SLEEP); + return kmem_zone_zalloc(xfs_da_state_zone, KM_NOFS); } /*