* 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".
This commit is contained in:
parent
8b1e0815ab
commit
a6131454a5
|
@ -1,3 +1,14 @@
|
||||||
|
2009-07-23 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* 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".
|
||||||
|
|
||||||
2009-07-23 Corinna Vinschen <corinna@vinschen.de>
|
2009-07-23 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* mount.cc (fs_info::update): Revert to open filesystem with access set
|
* mount.cc (fs_info::update): Revert to open filesystem with access set
|
||||||
|
|
|
@ -276,7 +276,14 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol)
|
||||||
if (is_udf () && wincap.has_broken_udf ())
|
if (is_udf () && wincap.has_broken_udf ())
|
||||||
caseinsensitive (true);
|
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);
|
has_acls (flags () & FS_PERSISTENT_ACLS);
|
||||||
/* Netapp inodes numbers are fly-by-night. */
|
/* Netapp inodes numbers are fly-by-night. */
|
||||||
hasgood_inode ((has_acls () && !is_netapp ()) || is_nfs ());
|
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 ())
|
else if (mntinfo.is_sunwnfs ())
|
||||||
strcpy (_my_tls.locals.mnt_type, (char *) "sunwnfs");
|
strcpy (_my_tls.locals.mnt_type, (char *) "sunwnfs");
|
||||||
else
|
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;
|
ret.mnt_type = _my_tls.locals.mnt_type;
|
||||||
|
|
||||||
|
|
|
@ -43,10 +43,16 @@ class fs_info
|
||||||
};
|
};
|
||||||
} status;
|
} status;
|
||||||
ULONG sernum;
|
ULONG sernum;
|
||||||
|
char fsn[80];
|
||||||
unsigned long got_fs () { return status.fs_flags; }
|
unsigned long got_fs () { return status.fs_flags; }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void clear () { memset (&status, 0 , sizeof status); sernum = 0UL; }
|
void clear ()
|
||||||
|
{
|
||||||
|
memset (&status, 0 , sizeof status);
|
||||||
|
sernum = 0UL;
|
||||||
|
fsn[0] = '\0';
|
||||||
|
}
|
||||||
fs_info () { clear (); }
|
fs_info () { clear (); }
|
||||||
|
|
||||||
IMPLEMENT_STATUS_FLAG (ULONG, flags)
|
IMPLEMENT_STATUS_FLAG (ULONG, flags)
|
||||||
|
@ -71,6 +77,7 @@ class fs_info
|
||||||
|
|
||||||
int has_buggy_open () const {return is_sunwnfs ();}
|
int has_buggy_open () const {return is_sunwnfs ();}
|
||||||
int has_buggy_fileid_dirinfo () const {return is_unixfs ();}
|
int has_buggy_fileid_dirinfo () const {return is_unixfs ();}
|
||||||
|
const char *fsname () const { return fsn[0] ? fsn : "unknown"; }
|
||||||
|
|
||||||
bool update (PUNICODE_STRING, HANDLE) __attribute__ ((regparm (3)));
|
bool update (PUNICODE_STRING, HANDLE) __attribute__ ((regparm (3)));
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue