diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp index 5cad5f1168..f5a1c5f501 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp @@ -299,6 +299,9 @@ printf("FUSEVolume::Mount()\n"); fNodes.Insert(node); fEntries.Insert(entry); + // init the volume name + snprintf(fName, sizeof(fName), "%s Volume", _FileSystem()->GetName()); + // publish the root node error = UserlandFS::KernelEmu::publish_vnode(fID, node->id, node, node->type, 0, _FileSystem()->GetNodeCapabilities()); @@ -349,7 +352,8 @@ FUSEVolume::ReadFSInfo(fs_info* info) info->free_blocks = st.f_bfree; info->total_nodes = st.f_files; info->free_nodes = 100; // st.f_favail is ignored by statfs() - info->volume_name[0] = '\0'; // no way to get the name (if any) + strlcpy(info->volume_name, fName, sizeof(info->volume_name)); + // no way to get the real name (if any) return B_OK; } diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.h b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.h index 63f52ff09d..945f22effc 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.h +++ b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.h @@ -158,6 +158,7 @@ private: ino_t fNextNodeID; bool fUseNodeIDs; // TODO: Actually read the // option! + char fName[B_OS_NAME_LENGTH]; }; } // namespace UserlandFS