diff options
| -rw-r--r-- | fs/locks.c | 7 | ||||
| -rw-r--r-- | fs/nfsd/nfs4callback.c | 4 | ||||
| -rw-r--r-- | fs/nfsd/nfs4xdr.c | 8 |
3 files changed, 6 insertions, 13 deletions
diff --git a/fs/locks.c b/fs/locks.c index 13fc7a6d380a..b380f5543614 100644 --- a/fs/locks.c +++ b/fs/locks.c | |||
| @@ -1391,11 +1391,10 @@ int __break_lease(struct inode *inode, unsigned int mode, unsigned int type) | |||
| 1391 | 1391 | ||
| 1392 | restart: | 1392 | restart: |
| 1393 | break_time = flock->fl_break_time; | 1393 | break_time = flock->fl_break_time; |
| 1394 | if (break_time != 0) { | 1394 | if (break_time != 0) |
| 1395 | break_time -= jiffies; | 1395 | break_time -= jiffies; |
| 1396 | if (break_time == 0) | 1396 | if (break_time == 0) |
| 1397 | break_time++; | 1397 | break_time++; |
| 1398 | } | ||
| 1399 | locks_insert_block(flock, new_fl); | 1398 | locks_insert_block(flock, new_fl); |
| 1400 | spin_unlock(&inode->i_lock); | 1399 | spin_unlock(&inode->i_lock); |
| 1401 | error = wait_event_interruptible_timeout(new_fl->fl_wait, | 1400 | error = wait_event_interruptible_timeout(new_fl->fl_wait, |
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index 39c8ef875f91..2c73cae9899d 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c | |||
| @@ -654,9 +654,11 @@ static struct rpc_clnt *create_backchannel_client(struct rpc_create_args *args) | |||
| 654 | 654 | ||
| 655 | static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *conn, struct nfsd4_session *ses) | 655 | static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *conn, struct nfsd4_session *ses) |
| 656 | { | 656 | { |
| 657 | int maxtime = max_cb_time(clp->net); | ||
| 657 | struct rpc_timeout timeparms = { | 658 | struct rpc_timeout timeparms = { |
| 658 | .to_initval = max_cb_time(clp->net), | 659 | .to_initval = maxtime, |
| 659 | .to_retries = 0, | 660 | .to_retries = 0, |
| 661 | .to_maxval = maxtime, | ||
| 660 | }; | 662 | }; |
| 661 | struct rpc_create_args args = { | 663 | struct rpc_create_args args = { |
| 662 | .net = clp->net, | 664 | .net = clp->net, |
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index 2723c1badd01..18881f34737a 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c | |||
| @@ -3627,14 +3627,6 @@ nfsd4_encode_operation(struct nfsd4_compoundres *resp, struct nfsd4_op *op) | |||
| 3627 | /* nfsd4_check_resp_size guarantees enough room for error status */ | 3627 | /* nfsd4_check_resp_size guarantees enough room for error status */ |
| 3628 | if (!op->status) | 3628 | if (!op->status) |
| 3629 | op->status = nfsd4_check_resp_size(resp, 0); | 3629 | op->status = nfsd4_check_resp_size(resp, 0); |
| 3630 | if (op->status == nfserr_resource && nfsd4_has_session(&resp->cstate)) { | ||
| 3631 | struct nfsd4_slot *slot = resp->cstate.slot; | ||
| 3632 | |||
| 3633 | if (slot->sl_flags & NFSD4_SLOT_CACHETHIS) | ||
| 3634 | op->status = nfserr_rep_too_big_to_cache; | ||
| 3635 | else | ||
| 3636 | op->status = nfserr_rep_too_big; | ||
| 3637 | } | ||
| 3638 | if (so) { | 3630 | if (so) { |
| 3639 | so->so_replay.rp_status = op->status; | 3631 | so->so_replay.rp_status = op->status; |
| 3640 | so->so_replay.rp_buflen = (char *)resp->p - (char *)(statp+1); | 3632 | so->so_replay.rp_buflen = (char *)resp->p - (char *)(statp+1); |
