On Tue, 2020-04-28 at 07:19 +0000, Wei Yongjun wrote: > A spin lock is taken here so we should use GFP_ATOMIC. > > 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 dd2e14f5875d..d84c1b7b71d2 100644 > --- a/fs/nfs/pnfs.c > +++ b/fs/nfs/pnfs.c > @@ -2170,7 +2170,7 @@ _pnfs_grab_empty_layout(struct inode *ino, > struct nfs_open_context *ctx) > 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)) > > > NACK. There is no allocation under the spinlock. -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx