Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-07-23 15:46:06 +0400
committerCorinna Vinschen <corinna@vinschen.de>2009-07-23 15:46:06 +0400
commita6131454a5de1af75b06d5dc473ffe4af850b46e (patch)
tree0a8df31a28d35a5126f453cffe4642005b3d3ffe /winsup/cygwin/mount.cc
parent8b1e0815abf421c0d78f569e2601c5041e728900 (diff)
* mount.h (fs_info::fsn): New member.
(fs_info::clear): Clear fsn. (fs_info::fsname): New read accessor for fsn. * mount.cc (fs_info::update): Fill in fsn member with lowercased filesystem name if filesystem is not well-known. Fall back to "unknown" if filesystem name is missing. (fillout_mntent): Print filesystem name retrieved in fs_info::update rather than static string "unknown".
Diffstat (limited to 'winsup/cygwin/mount.cc')
-rw-r--r--winsup/cygwin/mount.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/winsup/cygwin/mount.cc b/winsup/cygwin/mount.cc
index 867dab76b..998737d63 100644
--- a/winsup/cygwin/mount.cc
+++ b/winsup/cygwin/mount.cc
@@ -276,7 +276,14 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol)
if (is_udf () && wincap.has_broken_udf ())
caseinsensitive (true);
}
-
+ if (!got_fs ())
+ {
+ /* The filesystem name is only used in fillout_mntent and only if
+ the filesystem isn't one of the well-known filesystems anyway. */
+ sys_wcstombs (fsn, sizeof fsn, ffai_buf.ffai.FileSystemName,
+ ffai_buf.ffai.FileSystemNameLength / sizeof (WCHAR));
+ strlwr (fsn);
+ }
has_acls (flags () & FS_PERSISTENT_ACLS);
/* Netapp inodes numbers are fly-by-night. */
hasgood_inode ((has_acls () && !is_netapp ()) || is_nfs ());
@@ -1421,7 +1428,7 @@ fillout_mntent (const char *native_path, const char *posix_path, unsigned flags)
else if (mntinfo.is_sunwnfs ())
strcpy (_my_tls.locals.mnt_type, (char *) "sunwnfs");
else
- strcpy (_my_tls.locals.mnt_type, (char *) "unknown");
+ strcpy (_my_tls.locals.mnt_type, mntinfo.fsname ());
ret.mnt_type = _my_tls.locals.mnt_type;