summaryrefslogtreecommitdiffstats
path: root/xlators/nfs
diff options
context:
space:
mode:
authorSoumya Koduri <skoduri@redhat.com>2016-07-13 16:24:31 +0530
committerNiels de Vos <ndevos@redhat.com>2016-07-17 00:58:50 -0700
commit3c485cb896837c8e362fd0b094325002ce806ac4 (patch)
treef18fc9c888080704de4c3b8c0a351fe39e629b8a /xlators/nfs
parentdb4f4f1500372ee9f5a1c8faff5081d2a95652e3 (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')
-rw-r--r--xlators/nfs/server/src/nfs3-helpers.c1
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;