summaryrefslogtreecommitdiffstats
path: root/xlators/features/snapview-client/src/snapview-client.c
diff options
context:
space:
mode:
authorMohammed Rafi KC <rkavunga@redhat.com>2017-08-11 17:50:52 +0530
committermohammed rafi kc <rkavunga@redhat.com>2017-08-14 07:30:20 +0000
commitd396d358d4f0cfe87693179cfd13eb2a84ce62c2 (patch)
tree09376dee7e2ec9ba6c85074dc463ae9d9272dc43 /xlators/features/snapview-client/src/snapview-client.c
parent811c7ba470a6488570485ec7401e565b8ab1be47 (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. 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>
Diffstat (limited to 'xlators/features/snapview-client/src/snapview-client.c')
-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;