summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaghavendra G <raghavendra@gluster.com>2012-03-07 17:34:37 +0530
committerVijay Bellur <vijay@gluster.com>2012-03-07 21:12:41 -0800
commitf6a779ffc5b515163995dc2d240c3271cc6bceeb (patch)
tree1b6270f355d93eb661ede4cacabbdfbdc6f40828
parent57a51c734408e9439640d215795f7d2188f2383b (diff)
features/marker: GFID file handle based backend related fixesv3.3.0qa26
* make sure loc->gfid is filled. Change-Id: I5304e650d9fc181ee1f3b65be7f2ff3847d9722e BUG: 790389 Signed-off-by: Raghavendra G <raghavendra@gluster.com> Reviewed-on: http://review.gluster.com/2888 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
-rw-r--r--libglusterfs/src/xlator.c1
-rw-r--r--xlators/features/marker/src/marker-quota.c5
-rw-r--r--xlators/features/marker/src/marker.c2
3 files changed, 6 insertions, 2 deletions
diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c
index bbd6df683a2..f956908bba3 100644
--- a/libglusterfs/src/xlator.c
+++ b/libglusterfs/src/xlator.c
@@ -563,6 +563,7 @@ loc_copy (loc_t *dst, loc_t *src)
uuid_copy (dst->gfid, src->gfid);
uuid_copy (dst->pargfid, src->pargfid);
+ uuid_copy (dst->gfid, src->gfid);
if (src->inode)
dst->inode = inode_ref (src->inode);
diff --git a/xlators/features/marker/src/marker-quota.c b/xlators/features/marker/src/marker-quota.c
index bc5fc60402b..43e4ec724a9 100644
--- a/xlators/features/marker/src/marker-quota.c
+++ b/xlators/features/marker/src/marker-quota.c
@@ -1057,7 +1057,6 @@ mq_create_xattr (xlator_t *this, call_frame_t *frame)
goto free_value;
}
- uuid_copy (local->loc.gfid, local->loc.inode->gfid);
GF_UUID_ASSERT (local->loc.gfid);
STACK_WIND (frame, mq_create_dirty_xattr, FIRST_CHILD(this),
@@ -1129,6 +1128,10 @@ out:
return 0;
create_xattr:
+ if (uuid_is_null (local->loc.gfid)) {
+ uuid_copy (local->loc.gfid, buf->ia_gfid);
+ }
+
mq_create_xattr (this, frame);
return 0;
}
diff --git a/xlators/features/marker/src/marker.c b/xlators/features/marker/src/marker.c
index f2999934089..e8bbd9d941f 100644
--- a/xlators/features/marker/src/marker.c
+++ b/xlators/features/marker/src/marker.c
@@ -107,7 +107,7 @@ marker_inode_loc_fill (inode_t *inode, loc_t *loc)
if (ret < 0)
goto err;
- ret = marker_loc_fill (loc, inode, NULL, resolvedpath);
+ ret = marker_loc_fill (loc, inode, parent, resolvedpath);
if (ret < 0)
goto err;