On 2020/4/29 2:04, Dan Carpenter wrote: > On Tue, Apr 28, 2020 at 07:19:32AM +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); > ^^^ > It releases the lock before allocating. It's annotated. > Got it, thanks. regards, Wei Yongjun