diff options
author | Pranith Kumar K <pranithk@gluster.com> | 2012-07-31 17:04:44 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-08-02 13:12:21 -0700 |
commit | 5f766567423ba8272f29397fe36da1fd2186ffaf (patch) | |
tree | 0a96a816670dee66893a6e8ace5b5f82c5886c9c /xlators/mgmt/glusterd/src/glusterd-replace-brick.c | |
parent | a89871f9c7a4c42e87f2d856b51f33ceaf1cf163 (diff) |
cluster/afr: Unwind with correct pre/post parent bufs
RCA:
In case of dir fops create, mknod, mkdir, link, symlink, rename
if the fop fails on read-child then unwinds are happening with
all-zero pre/post iatt-bufs. The bug occurs because the parent
bufs are not saved if the response is not from read-child.
Fix:
Save the pre/post-bufs for the first response. If the response
comes from read-child, overwrite whatever we have cached.
Tests:
Attached the mount process to gdb.
Tested that the unwinds happen with proper pre/post iatt bufs in
the following cases:
1) All success case
2) Failure on read-child
3) Failure on non-read-child
4) Failure on all children.
Tested soft-link self-heal to test the change made in that.
Tested errno ENOTEMPTY for rmdir, rename fops.
Change-Id: I82882423d2d766b4f4a3044203bcb5dbcaee1755
BUG: 845242
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Reviewed-on: http://review.gluster.com/3775
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-replace-brick.c')
0 files changed, 0 insertions, 0 deletions