Suhas Athani has uploaded this change for review. (
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1235527?usp=email )
Change subject: Avoid same-client lock-path delegation recall in FSAL_UP (fix recall24)
......................................................................
Avoid same-client lock-path delegation recall in FSAL_UP (fix recall24)
This change fixes recall24 by preventing spurious NFS delegation recall
when a backend upcall arrives during same-client lock/open-mode
transitions.
With Ceph delegation callbacks, lock-driven reopen activity could trigger
up_async_delegrecall, leading to delegrecall_one/CB_RECALL even when all
active locks belong to the same client that owns the delegation.
Fix:
Added a guard in FSAL_UP (delegrecall_impl_per_state) to skip recall when:
- the file has active locks, and
- all active NFSv4 lock owners map to the same clientid as the delegation
owner.
In that case, delegation state is restored to DELEG_GRANTED and CB_RECALL
is not issued.
This test case is from nfstest delegation suite -
https://github.com/kofemann/nfstest/blob/master/test/nfstest_delegation
Change-Id: I9760d5db1d7cc433501df77abb9048ab8e1b4d97
Signed-off-by: Suhas Athani <Suhas.Athani(a)ibm.com>
---
M src/FSAL/FSAL_CEPH/handle.c
M src/FSAL_UP/fsal_up_top.c
2 files changed, 77 insertions(+), 1 deletion(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/27/1235527/1
--
To view, visit
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1235527?usp=email
To unsubscribe, or for help writing mail filters, visit
https://review.gerrithub.io/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I9760d5db1d7cc433501df77abb9048ab8e1b4d97
Gerrit-Change-Number: 1235527
Gerrit-PatchSet: 1
Gerrit-Owner: Suhas Athani <Suhas.Athani(a)ibm.com>