diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2025-02-01 15:00:09 -0500 |
---|---|---|
committer | Anna Schumaker <anna.schumaker@oracle.com> | 2025-02-19 16:45:24 -0500 |
commit | 8f8df955f078e1a023ee55161935000a67651f38 (patch) | |
tree | adee549ebc9c6fc20627eecaff58a7c51a1c3eb8 /include/linux/fpga/fpga-bridge.h | |
parent | 5bbd6e863b15a85221e49b9bdb2d5d8f0bb91f3d (diff) |
NFSv4: Fix a deadlock when recovering state on a sillyrenamed file
If the file is sillyrenamed, and slated for delete on close, it is
possible for a server reboot to triggeer an open reclaim, with can again
race with the application call to close(). When that happens, the call
to put_nfs_open_context() can trigger a synchronous delegreturn call
which deadlocks because it is not marked as privileged.
Instead, ensure that the call to nfs4_inode_return_delegation_on_close()
catches the delegreturn, and schedules it asynchronously.
Reported-by: Li Lingfeng <lilingfeng3@huawei.com>
Fixes: adb4b42d19ae ("Return the delegation when deleting sillyrenamed files")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
Diffstat (limited to 'include/linux/fpga/fpga-bridge.h')
0 files changed, 0 insertions, 0 deletions