Description of problem: When an fd is opened while a brick is down, after the brick comes back up afr issues open on the other brick. It can fail for a number of reasons (enoent etc). While the system is in that state, inode/entrylks pre-op happen only on the brick that is up and fd is opened for fd-fops. post-op should consider only the bricks where both pre-op and fop succeeded as success, rest of them as failures. Code now marks only the children that are down as failures as opposed to child_down & fd-not-opened. This makes change-log appear as success on the subvolume where we did not do any fop leading to no change-log but differences in data/metadata for reg-files. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Verified this bug with the glusterfs version 3.3 built on Aug 9 2012 11:40:24 -- Satheesaran
CHANGE: http://review.gluster.com/3776 (cluster/afr: Handle child_up & fd not opened case in xaction) merged in release-3.3 by Vijay Bellur (vbellur)