On Wed, 2018-06-06 at 02:02 +0000, Wei Yongjun wrote: > A spin lock is taken here so we should use GFP_ATOMIC. > > Fixes: 2409a976a299 ("pnfs: Add LAYOUTGET to OPEN of a new file") > Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx> > --- > fs/nfs/pnfs.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c > index d93942f..1ff1998 100644 > --- a/fs/nfs/pnfs.c > +++ b/fs/nfs/pnfs.c > @@ -2009,7 +2009,7 @@ struct pnfs_layout_segment * > struct pnfs_layout_hdr *lo; > > spin_lock(&ino->i_lock); > - lo = pnfs_find_alloc_layout(ino, ctx, GFP_KERNEL); > + lo = pnfs_find_alloc_layout(ino, ctx, GFP_ATOMIC); > if (!lo) > goto out_unlock; > if (!test_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags)) > Hi Wei, The ino->i_lock spinlock is temporarily dropped inside pnfs_find_alloc_layout() if we have to perform an allocation, so the existing code should be correct. Cheers Trond -- Trond Myklebust CTO, Hammerspace Inc 4300 El Camino Real, Suite 105 Los Altos, CA 94022 www.hammer.space id="-x-evo-selection-end-marker">��.n��������+%������w��{.n����z�ޗ�����n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�