diff --git a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp index f7b62600d0..756e7239a5 100644 --- a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp @@ -46,6 +46,7 @@ DirEntry::~DirEntry() ReplyInterpreter::ReplyInterpreter(RPC::Reply* reply) : + fNFS4Error(NFS4_OK), fReply(reply) { if (reply != NULL) @@ -62,7 +63,7 @@ ReplyInterpreter::~ReplyInterpreter() void ReplyInterpreter::_ParseHeader() { - fReply->Stream().GetUInt(); + fNFS4Error = fReply->Stream().GetUInt(); fReply->Stream().GetOpaque(NULL); fReply->Stream().GetUInt(); } diff --git a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h index 4e8ae6e4f6..b3f0901ece 100644 --- a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h +++ b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h @@ -45,6 +45,8 @@ public: inline status_t SetTo(RPC::Reply* reply); inline void Reset(); + inline uint32 NFS4Error(); + status_t Access(uint32* supported, uint32* allowed); status_t Close(); status_t GetAttr(AttrValue** attrs, uint32* count); @@ -72,6 +74,7 @@ private: static status_t _NFS4ErrorToHaiku(uint32 x); + uint32 fNFS4Error; RPC::Reply* fReply; }; @@ -99,6 +102,13 @@ ReplyInterpreter::Reset() } +inline uint32 +ReplyInterpreter::NFS4Error() +{ + return fNFS4Error; +} + + inline status_t ReplyInterpreter::LookUp() {