summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohammed Rafi KC <rkavunga@redhat.com>2017-08-11 17:50:52 +0530
committerShyamsundar Ranganathan <srangana@redhat.com>2017-08-21 14:29:24 +0000
commit93d56da29c28a2e0161bfb8a87bd2f72c4ef4db1 (patch)
treece9a6543fabf4f9115b3e25bf062175898e77b06
parenta6608cf7b62de850502c582a638cf0d5fc2cad9a (diff)
uss/svc: Send the first lookup to the normal graph
When parent inode is not looked up before, the inode type won't be set. In this scenario we should send the lookup to the normal graph first. Backport of> >Change-Id: I5d3e53f5c1c33a17be32204f3114749d9b1e6db8 >BUG: 1480591 >Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com> >Reviewed-on: https://review.gluster.org/18028 >Smoke: Gluster Build System <jenkins@build.gluster.org> >Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com> >CentOS-regression: Gluster Build System <jenkins@build.gluster.org> >Reviewed-by: soumya k <skoduri@redhat.com> (cherry picked from commit d396d358d4f0cfe87693179cfd13eb2a84ce62c2) Change-Id: I5d3e53f5c1c33a17be32204f3114749d9b1e6db8 BUG: 1481931 Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com> Reviewed-on: https://review.gluster.org/18042 Smoke: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Amar Tumballi <amarts@redhat.com> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
-rw-r--r--xlators/features/snapview-client/src/snapview-client.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/xlators/features/snapview-client/src/snapview-client.c b/xlators/features/snapview-client/src/snapview-client.c
index dafd3d356f4..d9bd56814bf 100644
--- a/xlators/features/snapview-client/src/snapview-client.c
+++ b/xlators/features/snapview-client/src/snapview-client.c
@@ -414,13 +414,16 @@ gf_svc_lookup (call_frame_t *frame, xlator_t *this, loc_t *loc, dict_t *xdata)
}
if (strcmp (loc->name, priv->path)) {
- if (parent_type == NORMAL_INODE) {
- subvolume = FIRST_CHILD (this);
- local->subvolume = subvolume;
- } else {
+ if (parent_type == VIRTUAL_INODE) {
subvolume = SECOND_CHILD (this);
- local->subvolume = subvolume;
+ } else {
+ /*
+ * Either parent type is normal graph, or the parent
+ * type is uncertain.
+ */
+ subvolume = FIRST_CHILD (this);
}
+ local->subvolume = subvolume;
} else {
subvolume = SECOND_CHILD (this);
local->subvolume = subvolume;