[Bugs] [Bug 1323042] Inconsistent directory structure on dht subvols caused by parent layouts going stale during entry create operations because of fix-layout

bugzilla at redhat.com bugzilla at redhat.com
Fri May 20 07:43:05 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1323042


--- Doc Text *updated* by Raghavendra G <rgowdapp at redhat.com> ---
Cause: The hashed subvolume of dht acts as an arbitrator for parallel dentry operations like mkdir. Hashed subvolume is derived from the layout of the parent directory. If the layout on bricks is changed due to some operation like add/remove-brick followed by a fix layout, all the clients need not be in sync with new layout. So, with different clients having different layouts, clients will have different hashed-subvols for same path. This results in more than one mkdir to be successful on same path. Since each mkdir carries a different gfid, we would end up with a directory having different gfids on different bricks. When different bricks have different gfids, operations on that directory will fail.

Consequence: Various operations on a directory fail because of inconsistent gfids across bricks

Fix: Make bricks to check for the hash range which client has passed as an argument in mkdir. If the hash ranges don't match fail the mkdir with appropriate errno. Clients on seeing this specific error will refresh their layouts and retry the operation with new parent layout.

Result: Directory inconsistencies because of stale layouts in clients is fixed.


-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=ysa0kDFnbJ&a=cc_unsubscribe


More information about the Bugs mailing list