Bug 1323042
| Summary: | Inconsistent directory structure on dht subvols caused by parent layouts going stale during entry create operations because of fix-layout | ||
|---|---|---|---|
| Product: | [Red Hat Storage] Red Hat Gluster Storage | Reporter: | Raghavendra G <rgowdapp> |
| Component: | distribute | Assignee: | Raghavendra G <rgowdapp> |
| Status: | CLOSED ERRATA | QA Contact: | krishnaram Karthick <kramdoss> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | unspecified | CC: | asrivast, bugs, mchangir, nbalacha, rgowdapp, rhinduja, smohan |
| Target Milestone: | --- | Keywords: | ZStream |
| Target Release: | RHGS 3.1.3 | Flags: | rgowdapp:
needinfo+
|
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | glusterfs-3.7.9-3 | Doc Type: | Bug Fix |
| Doc Text: |
The hashed subvolume of the Distributed Hash Table acts as an arbitrator for parallel directory entry operations like mkdir. This hashed subvolume is derived from the layout of the parent directory. If the directory layout on bricks changed, and fix layout ran before the layout was synced to clients, client and server layouts differed. This also meant that the client and server hashed subvolumes differed, affecting file and directory GFID consistency and causing various directory operations to fail. Clients are now prompted to refresh their layouts when their hash range does not match that of the server. This prevents issues with stale directory layout between server and client.
|
Story Points: | --- |
| Clone Of: | 1323040 | Environment: | |
| Last Closed: | 2016-06-23 05:15:12 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: | 1323040, 1329062 | ||
| Bug Blocks: | 1311387, 1311817 | ||
|
Description
Raghavendra G
2016-04-01 04:44:34 UTC
Verified the bug in build - glusterfs-3.7.9-5 Following steps were used to verify the fix 1) create a pure distribute volume 2) Fuse mount the volume on a client, say client-1 3) gdb into the process of mount and have a breakpoint on 'dht_mkdir' 4) create a directory from client-1 5) print the value of hashed_subvol->name. Note down the value 6) Add more bricks 7) Run fix layout 8) Fuse mount the volume on a new client, say client-2 9) gdb into the process of mount and have a breakpoint on 'dht_mkdir_hashed_cbk' 10) print the value of hashed_subvol->name. Ensure this value is not the same as the value in step 5 11) allow both process to continue 12) check if directory is created and gfid of the directory created on all the sub-vols are same Additionally, the test mentioned in steps to reproduce was also tried. The issue is no more seen. Marking the bug as verified. Laura, Doc text is fine. regards, Raghavendra Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2016:1240 |