* fhandler_proc.cc: Add /proc/filesystems virtual file.

(format_proc_filesystems): New function.
	* mount.cc (fs_names): Move to global scope. Redefine as array
	of { "name", block_device? } structs.
	(fillout_mntent): Use name member of fs_names.
	* mount.h (fs_names): New prototype.
This commit is contained in:
Corinna Vinschen
2010-08-09 08:18:30 +00:00
parent 99006a85e2
commit a52993d426
4 changed files with 55 additions and 20 deletions

View File

@ -1472,6 +1472,24 @@ mount_info::del_item (const char *path, unsigned flags)
/************************* mount_item class ****************************/
/* Order must be identical to mount.h, enum fs_info_type. */
fs_names_t fs_names[] = {
{ "none", false },
{ "vfat", true },
{ "ntfs", true },
{ "smbfs", false },
{ "nfs", false },
{ "netapp", false },
{ "iso9660", true },
{ "udf", true },
{ "csc-cache", false },
{ "sunwnfs", false },
{ "unixfs", false },
{ "mvfs", false },
{ "cifs", false },
{ "nwfs", false }
};
static mntent *
fillout_mntent (const char *native_path, const char *posix_path, unsigned flags)
{
@ -1509,26 +1527,8 @@ fillout_mntent (const char *native_path, const char *posix_path, unsigned flags)
RtlAppendUnicodeToString (&unat, L"\\");
mntinfo.update (&unat, NULL);
/* Order must be identical to mount.h, enum fs_info_type. */
const char *fs_names[] = {
"none",
"vfat",
"ntfs",
"smbfs",
"nfs",
"netapp",
"iso9660",
"udf",
"csc-cache",
"sunwnfs",
"unixfs",
"mvfs",
"cifs",
"nwfs"
};
if (mntinfo.what_fs () > 0 && mntinfo.what_fs () < max_fs_type)
strcpy (_my_tls.locals.mnt_type, fs_names[mntinfo.what_fs ()]);
strcpy (_my_tls.locals.mnt_type, fs_names[mntinfo.what_fs ()].name);
else
strcpy (_my_tls.locals.mnt_type, mntinfo.fsname ());