diff options
author | Soumya Koduri <skoduri@redhat.com> | 2016-07-13 16:24:31 +0530 |
---|---|---|
committer | Niels de Vos <ndevos@redhat.com> | 2016-07-17 00:58:50 -0700 |
commit | 3c485cb896837c8e362fd0b094325002ce806ac4 (patch) | |
tree | f18fc9c888080704de4c3b8c0a351fe39e629b8a /xlators/nfs/server | |
parent | db4f4f1500372ee9f5a1c8faff5081d2a95652e3 (diff) |
nfs: Reset cs->resolvedhard while resolving an entry
If an entry is not found in the inode table, nfs xlator should be
resolving it by sending an explicit lookup to the brick process.
But currently its broken in case of NFS3_LOOKUP fop where in the server
bails out early resulting in sending pargfid attributes to the client.
To fix the same reset 'cs->resolvedhard' so that an explicit lookup
is done for the entry in the resume_fn "nfs3_lookup_resume()".
Change-Id: I999f8bca7ad008526c174d13f69886dc809d9552
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
BUG: 1356068
Reviewed-on: http://review.gluster.org/14911
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Diffstat (limited to 'xlators/nfs/server')
-rw-r--r-- | xlators/nfs/server/src/nfs3-helpers.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/xlators/nfs/server/src/nfs3-helpers.c b/xlators/nfs/server/src/nfs3-helpers.c index ad4c87e69d7..5ed57bde0e2 100644 --- a/xlators/nfs/server/src/nfs3-helpers.c +++ b/xlators/nfs/server/src/nfs3-helpers.c @@ -3786,6 +3786,7 @@ nfs3_fh_resolve_entry_hard (nfs3_call_state_t *cs) (nfs3_create_op (cs) && !nfs3_create_exclusive_op (cs))) { cs->lookuptype = GF_NFS3_FRESH; cs->resolve_ret = 0; + cs->hardresolved = 0; nfs3_call_resume (cs); } else { cs->hardresolved = 1; |