nfs4: Fix LookUp returning wrong error code if file doesn't exist

This commit is contained in:
Pawel Dziepak
2012-06-29 02:15:21 +02:00
parent 7d0b8c9786
commit ef629eaf23
+10 -4
View File
@@ -135,9 +135,11 @@ Inode::LookUp(const char* name, ino_t* id)
reply.PutFH(); reply.PutFH();
if (!strcmp(name, "..")) if (!strcmp(name, ".."))
reply.LookUpUp(); result = reply.LookUpUp();
else else
reply.LookUp(); result = reply.LookUp();
if (result != B_OK)
return result;
Filehandle fh; Filehandle fh;
reply.GetFH(&fh); reply.GetFH(&fh);
@@ -262,7 +264,9 @@ Inode::Remove(const char* name, FileType type)
continue; continue;
reply.PutFH(); reply.PutFH();
reply.LookUp(); result = reply.LookUp();
if (result != B_OK)
return result;
if (type == NF4DIR) if (type == NF4DIR)
result = reply.Verify(); result = reply.Verify();
@@ -1168,7 +1172,9 @@ Inode::_ReadDirUp(struct dirent* de, uint32 pos, uint32 size)
continue; continue;
reply.PutFH(); reply.PutFH();
reply.LookUpUp(); result = reply.LookUpUp();
if (result != B_OK)
return result;
Filehandle fh; Filehandle fh;
reply.GetFH(&fh); reply.GetFH(&fh);