From f9d2e7b39be0f729e6e87636017de02548d26c2d Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Fri, 24 Jun 2011 12:47:15 +0200 Subject: [PATCH] If none is given pick volume name by mount type --- .../kernel/file_systems/packagefs/Volume.cpp | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/file_systems/packagefs/Volume.cpp b/src/add-ons/kernel/file_systems/packagefs/Volume.cpp index 5cfb0bf107..1080f28568 100644 --- a/src/add-ons/kernel/file_systems/packagefs/Volume.cpp +++ b/src/add-ons/kernel/file_systems/packagefs/Volume.cpp @@ -506,13 +506,30 @@ Volume::Mount(const char* parameterString) if (stat(packages, &st) < 0) RETURN_ERROR(B_ERROR); + // If no volume name is given, infer it from the mount type. + if (volumeName == NULL) { + switch (fMountType) { + case MOUNT_TYPE_SYSTEM: + volumeName = "system"; + break; + case MOUNT_TYPE_COMMON: + volumeName = "common"; + break; + case MOUNT_TYPE_HOME: + volumeName = "home"; + break; + case MOUNT_TYPE_CUSTOM: + volumeName = "Package FS"; + break; + } + } + // create the root node fRootDirectory = new(std::nothrow) ::RootDirectory(kRootDirectoryID, st.st_mtim); if (fRootDirectory == NULL) RETURN_ERROR(B_NO_MEMORY); - fRootDirectory->Init(NULL, volumeName != NULL ? volumeName : "Package FS", - 0); + fRootDirectory->Init(NULL, volumeName, 0); fNodes.Insert(fRootDirectory); // get our mount point