Loading fs/nfs/nfs4proc.c +12 −3 Original line number Diff line number Diff line Loading @@ -8750,18 +8750,27 @@ static void nfs4_layoutreturn_done(struct rpc_task *task, void *calldata) server = NFS_SERVER(lrp->args.inode); switch (task->tk_status) { case -NFS4ERR_OLD_STATEID: if (nfs4_refresh_layout_stateid(&lrp->args.stateid, lrp->args.inode)) goto out_restart; /* Fallthrough */ default: task->tk_status = 0; /* Fallthrough */ case 0: break; case -NFS4ERR_DELAY: if (nfs4_async_handle_error(task, server, NULL, NULL) != -EAGAIN) break; nfs4_sequence_free_slot(&lrp->res.seq_res); rpc_restart_call_prepare(task); return; goto out_restart; } dprintk("<-- %s\n", __func__); return; out_restart: task->tk_status = 0; nfs4_sequence_free_slot(&lrp->res.seq_res); rpc_restart_call_prepare(task); } static void nfs4_layoutreturn_release(void *calldata) Loading Loading
fs/nfs/nfs4proc.c +12 −3 Original line number Diff line number Diff line Loading @@ -8750,18 +8750,27 @@ static void nfs4_layoutreturn_done(struct rpc_task *task, void *calldata) server = NFS_SERVER(lrp->args.inode); switch (task->tk_status) { case -NFS4ERR_OLD_STATEID: if (nfs4_refresh_layout_stateid(&lrp->args.stateid, lrp->args.inode)) goto out_restart; /* Fallthrough */ default: task->tk_status = 0; /* Fallthrough */ case 0: break; case -NFS4ERR_DELAY: if (nfs4_async_handle_error(task, server, NULL, NULL) != -EAGAIN) break; nfs4_sequence_free_slot(&lrp->res.seq_res); rpc_restart_call_prepare(task); return; goto out_restart; } dprintk("<-- %s\n", __func__); return; out_restart: task->tk_status = 0; nfs4_sequence_free_slot(&lrp->res.seq_res); rpc_restart_call_prepare(task); } static void nfs4_layoutreturn_release(void *calldata) Loading