diff options
author | Raghavendra G <raghavendra@gluster.com> | 2012-03-07 17:34:37 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2012-03-07 21:12:41 -0800 |
commit | f6a779ffc5b515163995dc2d240c3271cc6bceeb (patch) | |
tree | 1b6270f355d93eb661ede4cacabbdfbdc6f40828 | |
parent | 57a51c734408e9439640d215795f7d2188f2383b (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.c | 1 | ||||
-rw-r--r-- | xlators/features/marker/src/marker-quota.c | 5 | ||||
-rw-r--r-- | xlators/features/marker/src/marker.c | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index bbd6df683..f956908bb 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 bc5fc6040..43e4ec724 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 f29999340..e8bbd9d94 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; |