Bug 1323040
Summary: | Inconsistent directory structure on dht subvols caused by parent layouts going stale during entry create operations because of fix-layout | |||
---|---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | Raghavendra G <rgowdapp> | |
Component: | distribute | Assignee: | Raghavendra G <rgowdapp> | |
Status: | CLOSED CURRENTRELEASE | QA Contact: | ||
Severity: | unspecified | Docs Contact: | ||
Priority: | unspecified | |||
Version: | mainline | CC: | bugs, nbalacha, rkavunga | |
Target Milestone: | --- | Keywords: | Triaged | |
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | glusterfs-3.8rc2 | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1323042 1329062 (view as bug list) | Environment: | ||
Last Closed: | 2016-06-16 14:02:34 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1323042, 1329062 |
Description
Raghavendra G
2016-04-01 04:35:40 UTC
REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#1) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#2) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#3) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#4) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#5) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#6) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#7) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#8) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#9) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#10) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#11) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#12) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#13) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#14) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/13885 (cluster/distribute: detect stale layouts in entry fops) posted (#15) for review on master by Raghavendra G (rgowdapp) COMMIT: http://review.gluster.org/13885 committed in master by Raghavendra G (rgowdapp) ------ commit 823bda0f28cba1b0632d99a22cdecaee16c6db56 Author: Raghavendra G <rgowdapp> Date: Fri Apr 1 15:16:23 2016 +0530 cluster/distribute: detect stale layouts in entry fops dht_mkdir () { first-hashed-subvol = hashed-subvol for "bname" in in-memory layout of "parent"; inodelk (SETLKW, parent, "LAYOUT_HEAL_DOMAIN", "can be any subvol, but we choose first-hashed-subvol randomly"); { begin: hashed-subvol = hashed-subvol for "bname" in in-memory layout of "parent"; hash-range = extract hashe-range from layout of "parent"; ret = mkdir (parent/bname, hashed-subvol, hash-range); if (ret == "hash-value doesn't fall into layout stored on the brick (this error is returned by posix-mkdir)") { refresh_parent_layout (); goto begin; } } inodelk (UNLCK, parent, "LAYOUT_HEAL_DOMAIN", "first-hashed-subvol"); proceed with other parts of dht_mkdir; } posix_mkdir (parent/bname, client-hash-range) { disk-hash-range = getxattr (parent, "dht-layout-key"); if (disk-hash-range != client-hash-range) { fail-with-error ("hash-value doesn't fall into layout stored on the brick"); return 0; } continue-with-posix-mkdir; } Similar changes need to be done for dentry operations like create, symlink, link, unlink, rmdir, rename. These will be addressed in subsequent patches. This patch addresses only mkdir codepath. This change breaks stripe tests, as on some striped subvols dht layout xattrs are not set for some reason. This results in failure of mkdir. Since striped volumes are always created with dht, some tests associated with stripe also fail. So, I am making following tests changes (since stripe is out of maintainance): * modify ./tests/basic/rpc-coverage.t to not to use striped volumes * mark all (2) tests in tests/bugs/stripe/ as bad tests Change-Id: Idd1ae879f24a48303dc743c1bb4d91f89a629e25 BUG: 1323040 Signed-off-by: Raghavendra G <rgowdapp> Reviewed-on: http://review.gluster.org/13885 Smoke: Gluster Build System <jenkins.com> CentOS-regression: Gluster Build System <jenkins.com> NetBSD-regression: NetBSD Build System <jenkins.org> Reviewed-by: N Balachandran <nbalacha> REVIEW: http://review.gluster.org/14062 (storage/posix: change the conflicting msg-id) posted (#1) for review on master by Raghavendra G (rgowdapp) REVIEW: http://review.gluster.org/14062 (storage/posix: change the conflicting msg-id) posted (#2) for review on master by Raghavendra G (rgowdapp) COMMIT: http://review.gluster.org/14062 committed in master by Raghavendra G (rgowdapp) ------ commit 007dce0c7093a8534dd23340a38a8ce3cf3cd048 Author: Raghavendra G <rgowdapp> Date: Mon Apr 25 17:16:42 2016 +0530 storage/posix: change the conflicting msg-id Change-Id: I11b2ffb73b2358380771921548fa2c51da6ad93f BUG: 1323040 Signed-off-by: Raghavendra G <rgowdapp> Reviewed-on: http://review.gluster.org/14062 Reviewed-by: N Balachandran <nbalacha> Smoke: Gluster Build System <jenkins.com> NetBSD-regression: NetBSD Build System <jenkins.org> Reviewed-by: Poornima G <pgurusid> CentOS-regression: Gluster Build System <jenkins.com> REVIEW: http://review.gluster.org/14333 (dht: detect stale layout in unlink fop) posted (#1) for review on master by Sakshi Bansal This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.0, please open a new bug report. glusterfs-3.8.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://blog.gluster.org/2016/06/glusterfs-3-8-released/ [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user |