Loading fs/nfs/nfs4proc.c +10 −9 Original line number Diff line number Diff line Loading @@ -5293,10 +5293,14 @@ static void nfs4_layoutget_prepare(struct rpc_task *task, void *calldata) { struct nfs4_layoutget *lgp = calldata; struct inode *ino = lgp->args.inode; struct nfs_server *server = NFS_SERVER(ino); struct nfs_server *server = NFS_SERVER(lgp->args.inode); dprintk("--> %s\n", __func__); /* Note the is a race here, where a CB_LAYOUTRECALL can come in * right now covering the LAYOUTGET we are about to send. * However, that is not so catastrophic, and there seems * to be no way to prevent it completely. */ if (nfs4_setup_sequence(server, &lgp->args.seq_args, &lgp->res.seq_res, 0, task)) return; Loading Loading @@ -5379,13 +5383,10 @@ int nfs4_proc_layoutget(struct nfs4_layoutget *lgp) if (IS_ERR(task)) return PTR_ERR(task); status = nfs4_wait_for_completion_rpc_task(task); if (status != 0) goto out; if (status == 0) status = task->tk_status; if (status != 0) goto out; if (status == 0) status = pnfs_layout_process(lgp); out: rpc_put_task(task); dprintk("<-- %s status=%d\n", __func__, status); return status; Loading Loading
fs/nfs/nfs4proc.c +10 −9 Original line number Diff line number Diff line Loading @@ -5293,10 +5293,14 @@ static void nfs4_layoutget_prepare(struct rpc_task *task, void *calldata) { struct nfs4_layoutget *lgp = calldata; struct inode *ino = lgp->args.inode; struct nfs_server *server = NFS_SERVER(ino); struct nfs_server *server = NFS_SERVER(lgp->args.inode); dprintk("--> %s\n", __func__); /* Note the is a race here, where a CB_LAYOUTRECALL can come in * right now covering the LAYOUTGET we are about to send. * However, that is not so catastrophic, and there seems * to be no way to prevent it completely. */ if (nfs4_setup_sequence(server, &lgp->args.seq_args, &lgp->res.seq_res, 0, task)) return; Loading Loading @@ -5379,13 +5383,10 @@ int nfs4_proc_layoutget(struct nfs4_layoutget *lgp) if (IS_ERR(task)) return PTR_ERR(task); status = nfs4_wait_for_completion_rpc_task(task); if (status != 0) goto out; if (status == 0) status = task->tk_status; if (status != 0) goto out; if (status == 0) status = pnfs_layout_process(lgp); out: rpc_put_task(task); dprintk("<-- %s status=%d\n", __func__, status); return status; Loading