diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp index f7c8b4a8d0..ab6c85bd0e 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp @@ -1221,6 +1221,11 @@ Inode::_HandleErrors(uint32 nfs4Error, RPC::Server* serv, fFilesystem->Migrate(fHandle, serv); return true; + // lease has been moved, provoke server to return NFS4ERR_MOVED + case NFS4ERR_LEASE_MOVED: + Access(0); + return true; + default: return false; } diff --git a/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp b/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp index 7874a949a9..5a74bd94cb 100644 --- a/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp @@ -271,6 +271,7 @@ NFS4Server::_Renewal() if (request.Reply().NFS4Error() == NFS4ERR_STALE_CLIENTID) ServerRebooted(clientId); + // TODO: support NFS4ERR_LEASE_MOVED } return B_OK;