From 0f4dcd8bb3017dc29db8bf6de88ebe65c3167ed7 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Mon, 2 Jul 2012 20:09:57 +0200 Subject: [PATCH] nfs4: OpenConfirm used wrong filehandle --- src/add-ons/kernel/file_systems/nfs4/Inode.h | 3 ++- src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.h b/src/add-ons/kernel/file_systems/nfs4/Inode.h index f7f6646384..22a6f02036 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.h +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.h @@ -76,7 +76,8 @@ protected: OpenFileCookie* cookie = NULL); status_t _LookUpFilehandle(); - status_t _ConfirmOpen(OpenFileCookie* cookie); + status_t _ConfirmOpen(const Filehandle& fh, + OpenFileCookie* cookie); status_t _ReadDirOnce(DirEntry** dirents, uint32* count, OpenDirCookie* cookie, bool* eof); diff --git a/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp b/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp index 3e95ec1eb6..362db476c5 100644 --- a/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp @@ -17,7 +17,7 @@ status_t -Inode::_ConfirmOpen(OpenFileCookie* cookie) +Inode::_ConfirmOpen(const Filehandle& fh, OpenFileCookie* cookie) { do { RPC::Server* serv = fFilesystem->Server(); @@ -25,7 +25,7 @@ Inode::_ConfirmOpen(OpenFileCookie* cookie) RequestBuilder& req = request.Builder(); - req.PutFH(fHandle); + req.PutFH(fh); req.OpenConfirm(cookie->fSequence++, cookie->fStateId, cookie->fStateSeq); @@ -152,7 +152,7 @@ Inode::Create(const char* name, int mode, int perms, OpenFileCookie* cookie, fFilesystem->AddOpenFile(cookie); if (confirm) - return _ConfirmOpen(cookie); + return _ConfirmOpen(fh, cookie); else return B_OK; } @@ -248,7 +248,7 @@ Inode::Open(int mode, OpenFileCookie* cookie) fFilesystem->AddOpenFile(cookie); if (confirm) - return _ConfirmOpen(cookie); + return _ConfirmOpen(fHandle, cookie); else return B_OK; }