diff options
author | Ravishankar N <ravishankar@redhat.com> | 2018-07-17 20:35:42 +0530 |
---|---|---|
committer | Ravishankar N <ravishankar@redhat.com> | 2018-07-18 16:49:56 +0000 |
commit | ec0d7d77de3e4bd485a4fa2e53c9137e25c71ce7 (patch) | |
tree | 0afdd7146717a78765582362909b972fd27236ec /rfc.sh | |
parent | a75a419d39cd2e2907bcc6eed5b9a4a30a8a3f4d (diff) |
afr: switch lk_owner only when pre-op succeeds
Problem:
In a disk full scenario, we take a failure path in afr_transaction_perform_fop()
and go to unlock phase. But we change the lk-owner before that, causing unlock
to fail. When mount issues another fop that takes locks on that file, it hangs.
Fix:
Change lk-owner only when we are about to perform the fop phase.
Also fix the same issue for arbiters when afr_txn_arbitrate_fop() fails the fop.
Also removed the DISK_SPACE_CHECK_AND_GOTO in posix_xattrop. Otherwise truncate
to zero will fail pre-op phase with ENOSPC when the user is actually trying to
freee up space.
Change-Id: Ic4c8a596b4cdf4a7fc189bf00b561113cf114353
fixes: bz#1602236
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Diffstat (limited to 'rfc.sh')
0 files changed, 0 insertions, 0 deletions