| Summary: | distribute directory self-heal does not copy user extended attributes | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Vikas Gorur <vikas> |
| Component: | distribute | Assignee: | shishir gowda <sgowda> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 3.1.0 | CC: | amarts, anush, divya, gluster-bugs, nsathyan, renee, vijay |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | Type: | --- | |
| Regression: | --- | Mount Type: | --- |
| Documentation: | DA | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
Vikas Gorur
2010-10-20 23:31:48 UTC
raising priority on this one. PATCH: http://patches.gluster.com/patch/5630 in master (Fix DHT getxattr for directories) This is only a partial fix. What happens if after the expansion the user updates the value of an existing attribute? This setxattr could go to the new subvolume, thus resulting in the same key existing on two different subvolumes with different values. Merging them would then result in that key being repeated in the result. (In reply to comment #3) > This is only a partial fix. What happens if after the expansion the user > updates the value of an existing attribute? This setxattr could go to the new > subvolume, thus resulting in the same key existing on two different subvolumes > with different values. Merging them would then result in that key being > repeated in the result. dict_copy() merges the key without repeating in the result. How can we be sure that the value that's left in the end is the updated value and not the old value? This problem is solved as a side-effect of this patch: http://patches.gluster.com/patch/5150/ The patch makes dht send setxattr to ALL subvolumes. So if an existing attribute's value is updated, all subvolumes will have the same value. Hence there is no chance of the old value being returned. A FAQ entry saying, only with 3.1.2 releases, Distribute self-heal will copy the extendend attribute. Added the following in 3.1.3 Release Notes (Issues Resolved... section): Fixed the issue generated during self-heal of directories, or rebalance of layout happening on distributed volumes. The extended attributes are now copied/healed appropriately. |