diff options
| -rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index 183872f28d8..e1edb380204 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -1739,9 +1739,11 @@ unlock:              if (dht_needs_selfheal(frame, this)) {                  if (!__is_root_gfid(local->loc.inode->gfid)) { -                    local->stbuf.ia_gid = local->mds_stbuf.ia_gid; -                    local->stbuf.ia_uid = local->mds_stbuf.ia_uid; -                    local->stbuf.ia_prot = local->mds_stbuf.ia_prot; +                    if (local->mds_subvol) { +                        local->stbuf.ia_gid = local->mds_stbuf.ia_gid; +                        local->stbuf.ia_uid = local->mds_stbuf.ia_uid; +                        local->stbuf.ia_prot = local->mds_stbuf.ia_prot; +                    }                  } else {                      local->stbuf.ia_gid = local->prebuf.ia_gid;                      local->stbuf.ia_uid = local->prebuf.ia_uid;  | 
