Loading fs/nfs/nfs4proc.c +38 −48 Original line number Diff line number Diff line Loading @@ -5144,13 +5144,11 @@ nfs4_proc_lock(struct file *filp, int cmd, struct file_lock *request) int nfs4_lock_delegation_recall(struct nfs4_state *state, struct file_lock *fl) { struct nfs_server *server = NFS_SERVER(state->inode); struct nfs4_exception exception = { }; int err; err = nfs4_set_lock_state(state, fl); if (err != 0) goto out; do { err = _nfs4_do_setlk(state, F_SETLK, fl, NFS_LOCK_NEW); switch (err) { default: Loading @@ -5164,8 +5162,7 @@ int nfs4_lock_delegation_recall(struct nfs4_state *state, struct file_lock *fl) set_bit(NFS_DELEGATED_STATE, &state->flags); case -NFS4ERR_EXPIRED: nfs4_schedule_lease_recovery(server->nfs_client); err = -EAGAIN; goto out; return -EAGAIN; case -NFS4ERR_BADSESSION: case -NFS4ERR_BADSLOT: case -NFS4ERR_BAD_HIGH_SLOT: Loading @@ -5173,30 +5170,23 @@ int nfs4_lock_delegation_recall(struct nfs4_state *state, struct file_lock *fl) case -NFS4ERR_DEADSESSION: set_bit(NFS_DELEGATED_STATE, &state->flags); nfs4_schedule_session_recovery(server->nfs_client->cl_session, err); err = -EAGAIN; goto out; return -EAGAIN; case -NFS4ERR_DELEG_REVOKED: case -NFS4ERR_ADMIN_REVOKED: case -NFS4ERR_BAD_STATEID: case -NFS4ERR_OPENMODE: nfs4_schedule_stateid_recovery(server, state); err = 0; goto out; return 0; case -NFS4ERR_DELAY: case -NFS4ERR_GRACE: set_bit(NFS_DELEGATED_STATE, &state->flags); ssleep(1); err = -EAGAIN; goto out; return -EAGAIN; case -ENOMEM: case -NFS4ERR_DENIED: /* kill_proc(fl->fl_pid, SIGLOST, 1); */ err = 0; goto out; return 0; } set_bit(NFS_DELEGATED_STATE, &state->flags); err = nfs4_handle_exception(server, err, &exception); } while (exception.retry); out: return err; } Loading Loading
fs/nfs/nfs4proc.c +38 −48 Original line number Diff line number Diff line Loading @@ -5144,13 +5144,11 @@ nfs4_proc_lock(struct file *filp, int cmd, struct file_lock *request) int nfs4_lock_delegation_recall(struct nfs4_state *state, struct file_lock *fl) { struct nfs_server *server = NFS_SERVER(state->inode); struct nfs4_exception exception = { }; int err; err = nfs4_set_lock_state(state, fl); if (err != 0) goto out; do { err = _nfs4_do_setlk(state, F_SETLK, fl, NFS_LOCK_NEW); switch (err) { default: Loading @@ -5164,8 +5162,7 @@ int nfs4_lock_delegation_recall(struct nfs4_state *state, struct file_lock *fl) set_bit(NFS_DELEGATED_STATE, &state->flags); case -NFS4ERR_EXPIRED: nfs4_schedule_lease_recovery(server->nfs_client); err = -EAGAIN; goto out; return -EAGAIN; case -NFS4ERR_BADSESSION: case -NFS4ERR_BADSLOT: case -NFS4ERR_BAD_HIGH_SLOT: Loading @@ -5173,30 +5170,23 @@ int nfs4_lock_delegation_recall(struct nfs4_state *state, struct file_lock *fl) case -NFS4ERR_DEADSESSION: set_bit(NFS_DELEGATED_STATE, &state->flags); nfs4_schedule_session_recovery(server->nfs_client->cl_session, err); err = -EAGAIN; goto out; return -EAGAIN; case -NFS4ERR_DELEG_REVOKED: case -NFS4ERR_ADMIN_REVOKED: case -NFS4ERR_BAD_STATEID: case -NFS4ERR_OPENMODE: nfs4_schedule_stateid_recovery(server, state); err = 0; goto out; return 0; case -NFS4ERR_DELAY: case -NFS4ERR_GRACE: set_bit(NFS_DELEGATED_STATE, &state->flags); ssleep(1); err = -EAGAIN; goto out; return -EAGAIN; case -ENOMEM: case -NFS4ERR_DENIED: /* kill_proc(fl->fl_pid, SIGLOST, 1); */ err = 0; goto out; return 0; } set_bit(NFS_DELEGATED_STATE, &state->flags); err = nfs4_handle_exception(server, err, &exception); } while (exception.retry); out: return err; } Loading