diff options
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 10946415de77..61ba32af4d2f 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -574,8 +574,8 @@ static void nfs4_open_confirm_done(struct rpc_task *task, void *calldata) | |||
574 | sizeof(data->o_res.stateid.data)); | 574 | sizeof(data->o_res.stateid.data)); |
575 | renew_lease(data->o_res.server, data->timestamp); | 575 | renew_lease(data->o_res.server, data->timestamp); |
576 | } | 576 | } |
577 | nfs_increment_open_seqid(data->rpc_status, data->c_arg.seqid); | ||
578 | nfs_confirm_seqid(&data->owner->so_seqid, data->rpc_status); | 577 | nfs_confirm_seqid(&data->owner->so_seqid, data->rpc_status); |
578 | nfs_increment_open_seqid(data->rpc_status, data->c_arg.seqid); | ||
579 | } | 579 | } |
580 | 580 | ||
581 | static void nfs4_open_confirm_release(void *calldata) | 581 | static void nfs4_open_confirm_release(void *calldata) |
@@ -674,6 +674,8 @@ static void nfs4_open_done(struct rpc_task *task, void *calldata) | |||
674 | data->rpc_status = -ENOTDIR; | 674 | data->rpc_status = -ENOTDIR; |
675 | } | 675 | } |
676 | renew_lease(data->o_res.server, data->timestamp); | 676 | renew_lease(data->o_res.server, data->timestamp); |
677 | if (!(data->o_res.rflags & NFS4_OPEN_RESULT_CONFIRM)) | ||
678 | nfs_confirm_seqid(&data->owner->so_seqid, 0); | ||
677 | } | 679 | } |
678 | nfs_increment_open_seqid(data->rpc_status, data->o_arg.seqid); | 680 | nfs_increment_open_seqid(data->rpc_status, data->o_arg.seqid); |
679 | } | 681 | } |
@@ -748,7 +750,6 @@ static int _nfs4_proc_open(struct nfs4_opendata *data) | |||
748 | if (status != 0) | 750 | if (status != 0) |
749 | return status; | 751 | return status; |
750 | } | 752 | } |
751 | nfs_confirm_seqid(&data->owner->so_seqid, 0); | ||
752 | if (!(o_res->f_attr->valid & NFS_ATTR_FATTR)) | 753 | if (!(o_res->f_attr->valid & NFS_ATTR_FATTR)) |
753 | return server->nfs_client->rpc_ops->getattr(server, &o_res->fh, o_res->f_attr); | 754 | return server->nfs_client->rpc_ops->getattr(server, &o_res->fh, o_res->f_attr); |
754 | return 0; | 755 | return 0; |