Brian Foster b90b2c17b6 afr: send unique dict_t instances to replicas in self-heal fxattrop
afr_sh_data_fxattrop() currently allocates and sends a single xattr
dict_t instance to each replica. The callback codepath references
the returned object in the self-heal in-memory state for the
particular replica. If storage/posix is in the same address-space
(i.e., running a single glusterfs client with a fuse->afr->posix
graph), the same object is modified and returned for each child,
causing corrupted in-memory state and afr xattrs.

Allocate and send independent xattr dict_t's for each replica. This
allows self-heal to work correctly in a single address-space
graph.

BUG: 868478
Change-Id: I42832e85b5d1abb6098c28944c717e129300109e
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-on: http://review.gluster.org/4149
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2012-11-29 09:34:14 -08:00
..
2012-10-03 12:26:45 -07:00
2012-10-03 12:26:45 -07:00
2010-03-24 00:22:35 -07:00