summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorvmallika <vmallika@redhat.com>2014-11-17 07:14:28 +0530
committerRaghavendra Bhat <raghavendra@redhat.com>2014-12-24 03:37:31 -0800
commit5a3f91bc2140a53e1e6a7d98aed939a01f18f034 (patch)
treeb478c00e0b1564d637f835dffccd4a649e60fa53 /xlators
parente1c977a9f9eb98c104d2e28fccaf7813be15eaf9 (diff)
gluster/uss: Don't send failure when accessing snap with name same as entry-point name.
In a scenario, if the snap name is same as the snap-directory than cd to snaps/snaps fails. Send a lookup to snap-view server instead of failing Change-Id: Ie7b811815ff30961500592bbc8cdb514a9d76ef5 BUG: 1175733 Signed-off-by: vmallika <vmallika@redhat.com> Reviewed-on: http://review.gluster.org/9135 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Rajesh Joseph <rjoseph@redhat.com> Reviewed-by: Avra Sengupta <asengupt@redhat.com> Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> Tested-by: Krishnan Parthasarathi <kparthas@redhat.com> Signed-off-by: Sachin Pandit <spandit@redhat.com> Reviewed-on: http://review.gluster.org/9306 Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r--xlators/features/snapview-client/src/snapview-client.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/xlators/features/snapview-client/src/snapview-client.c b/xlators/features/snapview-client/src/snapview-client.c
index 5bb60d66dd6..5f58422c32e 100644
--- a/xlators/features/snapview-client/src/snapview-client.c
+++ b/xlators/features/snapview-client/src/snapview-client.c
@@ -312,26 +312,14 @@ svc_lookup (call_frame_t *frame, xlator_t *this, loc_t *loc,
local->subvolume = subvolume;
}
} else {
+ subvolume = SECOND_CHILD (this);
+ local->subvolume = subvolume;
if (parent_type == NORMAL_INODE) {
- subvolume = SECOND_CHILD (this);
- local->subvolume = subvolume;
/* Indication of whether the lookup is happening on the
entry point or not, to the snapview-server.
*/
SVC_ENTRY_POINT_SET (this, xdata, op_ret, op_errno,
new_xdata, priv, ret, out);
- } else {
- /* Either error can be sent to application as
- the entry point directory can exist only within
- real directories and here the parent is a virtual
- directory or send the call all the way to svs and
- let it send the error back. For now it is sending
- the error to application itself. (Saves the
- network latency)
- */
- op_ret = -1;
- op_errno = ENOENT;
- goto out;
}
}