diff options
-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 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; |