In df_defrag_fix_layout if a recursive call to itself fails, all parent directories also fail (lines 2550-2560). I don't believe that the fix_layout actually fails on those parent directories as the extended attribute was applied successfully in line 2539.
With introduction of commit-hash and other things in rebalance, this looks more fool proof, and didn't see any issues in latest codebase. Will mark it as WORKSFORME (with glusterfs-6.x) release. If the issue persists, will take it up in one of the future releases.
Reopening this as this still exists.
I guess we can fix the issue by changing the state to STOP after encountering a fix-layout failure so that the callers won't report a failure.
REVIEW: https://review.gluster.org/24210 (dht/rebalance - fixing recursive failure issue) posted (#1) for review on master by Barak Sason Rofman
This bug is moved to https://github.com/gluster/glusterfs/issues/1072, and will be tracked there from now on. Visit GitHub issues URL for further details