21ab4e
From 05da2f939c2fd23e1d488fb66ee978ae0b29fae5 Mon Sep 17 00:00:00 2001
21ab4e
From: Mohammed Rafi KC <rkavunga@redhat.com>
21ab4e
Date: Fri, 11 Aug 2017 17:50:52 +0530
21ab4e
Subject: [PATCH 603/604] uss/svc: Send the first lookup to the normal graph
21ab4e
21ab4e
When parent inode is not looked up before, the inode type
21ab4e
won't be set. In this scenario we should send the lookup
21ab4e
to the normal graph first.
21ab4e
21ab4e
Back port of>
21ab4e
Change-Id: I5d3e53f5c1c33a17be32204f3114749d9b1e6db8
21ab4e
BUG: 1478716
21ab4e
>BUG: 1480591
21ab4e
>Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
21ab4e
>Reviewed-on: https://review.gluster.org/18028
21ab4e
>Smoke: Gluster Build System <jenkins@build.gluster.org>
21ab4e
>Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
21ab4e
>CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
21ab4e
>Reviewed-by: soumya k <skoduri@redhat.com>
21ab4e
21ab4e
Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
21ab4e
Change-Id: I8b6b33676c515b311f5d0f4527d9113710a5e820
21ab4e
Reviewed-on: https://code.engineering.redhat.com/gerrit/115487
21ab4e
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
21ab4e
---
21ab4e
 xlators/features/snapview-client/src/snapview-client.c | 13 ++++++++-----
21ab4e
 1 file changed, 8 insertions(+), 5 deletions(-)
21ab4e
21ab4e
diff --git a/xlators/features/snapview-client/src/snapview-client.c b/xlators/features/snapview-client/src/snapview-client.c
21ab4e
index cd63bea..7503107 100644
21ab4e
--- a/xlators/features/snapview-client/src/snapview-client.c
21ab4e
+++ b/xlators/features/snapview-client/src/snapview-client.c
21ab4e
@@ -414,13 +414,16 @@ gf_svc_lookup (call_frame_t *frame, xlator_t *this, loc_t *loc, dict_t *xdata)
21ab4e
         }
21ab4e
 
21ab4e
         if (strcmp (loc->name, priv->path)) {
21ab4e
-                if (parent_type == NORMAL_INODE) {
21ab4e
-                        subvolume = FIRST_CHILD (this);
21ab4e
-                        local->subvolume = subvolume;
21ab4e
-                } else {
21ab4e
+                if (parent_type == VIRTUAL_INODE) {
21ab4e
                         subvolume = SECOND_CHILD (this);
21ab4e
-                        local->subvolume = subvolume;
21ab4e
+                } else {
21ab4e
+                        /*
21ab4e
+                         * Either parent type is normal graph, or the parent
21ab4e
+                         * type is uncertain.
21ab4e
+                         */
21ab4e
+                        subvolume = FIRST_CHILD (this);
21ab4e
                 }
21ab4e
+                local->subvolume = subvolume;
21ab4e
         } else {
21ab4e
                 subvolume = SECOND_CHILD (this);
21ab4e
                 local->subvolume = subvolume;
21ab4e
-- 
21ab4e
1.8.3.1
21ab4e