diff options
author | N Balachandran <nbalacha@redhat.com> | 2016-02-06 21:09:29 +0530 |
---|---|---|
committer | Dan Lambright <dlambrig@redhat.com> | 2016-02-07 09:13:35 -0800 |
commit | eb362c74db84d95aac07febf0d888bd98b3fb2b9 (patch) | |
tree | e91ae644b54bec8b66a9e91050a50c39966f87a1 /xlators/cluster/dht/src/tier-common.h | |
parent | ff12c4a83bb897501f6e10c1bfe3a69f3dc6cdb9 (diff) |
cluster/tier: Create linkfiles to hardlinks correctly
There is a bug in the way hardlinks are handled in tiered volumes. Ideally, the tier linkto files on the cold tier to files that are hardlinks to each other on the hot tier, should themselves be hardlinks of each other. As they are not, they end up being files with the same gfid but different names for the cold tier dht, and end up overwriting the cached-subvol information stored in the dht inode-ctx.
Change-Id: Ic658a316836e6a1729cfea848b7d212674b0edd2
BUG: 1305277
Signed-off-by: N Balachandran <nbalacha@redhat.com>
Reviewed-on: http://review.gluster.org/13391
Smoke: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Dan Lambright <dlambrig@redhat.com>
Tested-by: Dan Lambright <dlambrig@redhat.com>
Diffstat (limited to 'xlators/cluster/dht/src/tier-common.h')
-rw-r--r-- | xlators/cluster/dht/src/tier-common.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/xlators/cluster/dht/src/tier-common.h b/xlators/cluster/dht/src/tier-common.h index 17cddcdd3e4..0ef96aca032 100644 --- a/xlators/cluster/dht/src/tier-common.h +++ b/xlators/cluster/dht/src/tier-common.h @@ -53,5 +53,10 @@ tier_readdir (call_frame_t *frame, xlator_t *this, fd_t *fd, size_t size, off_t yoff, dict_t *xdata); + + +int +tier_link (call_frame_t *frame, xlator_t *this, + loc_t *oldloc, loc_t *newloc, dict_t *xdata); #endif |