summaryrefslogtreecommitdiffstats
path: root/tests/bugs/distribute/bug-1161156.t
diff options
context:
space:
mode:
authorRavishankar N <ravishankar@redhat.com>2017-06-05 09:40:51 +0530
committerjiffin tony Thottan <jthottan@redhat.com>2017-06-19 04:54:40 +0000
commit5d13784dc6aa406f69061f2608a19ef0c8a80581 (patch)
tree2ce796379466db474488fe8c61bf2d1a755d24c0 /tests/bugs/distribute/bug-1161156.t
parent5a48cf93a0383d79b6525268cee93158dbee8132 (diff)
afr: add errno to afr_inode_refresh_done()
Backport of https://review.gluster.org/17413 and https://review.gluster.org/17436 Problem: When parellel `rm -rf`s were being done from cifs clients, opendir might fail on some replicas with ENOENT. DHT ignores partial opendir failures in dht_fd_cbk() and winds readdirs on those replicas. Afr inode refresh (as a part of readdirp read_txn) sees in its fd context that the state of the fds is *not* AFR_FD_OPENED and bails out to afr_inode_refresh_done() without doing a refresh. When this happens, the errno is set as EIO due to lack of readable subvols, logging split-brain messages in the logs. Fix: Introduce an errno argument to afr_inode_refresh_do() to bail out with the right error value when inode refresh is not performed. Change-Id: I8eed4d6e6c85332c1f5813c74cb54ae73693a369 BUG: 1460661 Signed-off-by: Ravishankar N <ravishankar@redhat.com> Reviewed-on: https://review.gluster.org/17518 Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'tests/bugs/distribute/bug-1161156.t')
0 files changed, 0 insertions, 0 deletions