From 8afd81bae22fa09e14593b6fd5dd07695604a77c Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 9 Aug 2012 18:09:56 +0200 Subject: [PATCH] nfs4: Fix mounting server's root directory --- src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp | 7 ++++--- src/add-ons/kernel/file_systems/nfs4/InodeDir.cpp | 5 ++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp b/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp index 22a86ecfbc..402c642356 100644 --- a/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp @@ -30,14 +30,15 @@ FileInfo::ParsePath(RequestBuilder& req, uint32& count, const char* _path) if (pathEnd != NULL) *pathEnd = '\0'; - req.LookUp(pathStart); + if (pathEnd != pathStart) { + req.LookUp(pathStart); + count++; + } if (pathEnd != NULL && pathEnd[1] != '\0') pathStart = pathEnd + 1; else pathStart = NULL; - - count++; } free(path); diff --git a/src/add-ons/kernel/file_systems/nfs4/InodeDir.cpp b/src/add-ons/kernel/file_systems/nfs4/InodeDir.cpp index b4d1a9e0d8..08eb38b61d 100644 --- a/src/add-ons/kernel/file_systems/nfs4/InodeDir.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/InodeDir.cpp @@ -268,9 +268,8 @@ Inode::ReadDir(void* _buffer, uint32 size, uint32* _count, struct dirent* de = reinterpret_cast(buffer + pos); status_t result; - if (strcmp(fInfo.fName, "/")) - result = ReadDirUp(de, pos, size); - else { + result = ReadDirUp(de, pos, size); + if (result == B_ENTRY_NOT_FOUND) { result = FillDirEntry(de, FileIdToInoT(fInfo.fFileId), "..", pos, size); }