From: Christoph Hellwig Date: Sat, 18 Jul 2009 22:14:57 +0000 (-0400) Subject: xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=3f52c2f0a07c23771909cc53f2e9451a7f1bf253;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result xfs_dir_cilookup_result 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_dir2.c b/fs/xfs/xfs_dir2.c index c657bec6d951..bb1d58eb3982 100644 --- a/fs/xfs/xfs_dir2.c +++ b/fs/xfs/xfs_dir2.c @@ -256,7 +256,7 @@ xfs_dir_cilookup_result( !(args->op_flags & XFS_DA_OP_CILOOKUP)) return EEXIST; - args->value = kmem_alloc(len, KM_MAYFAIL); + args->value = kmem_alloc(len, KM_NOFS | KM_MAYFAIL); if (!args->value) return ENOMEM;