diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2010-04-29 10:38:05 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2010-04-29 10:38:05 +0000 |
commit | 5b4c992bf6d29dcdde87288c340051e9bc524f27 (patch) | |
tree | 69d6720f13d0dc6c5520f2511b70abfa4bc61ccd /winsup/cygwin/mount.cc | |
parent | a82a8dcb4edae5a2b135c8f3d9da6eb58d6f444c (diff) | |
download | cygnal-5b4c992bf6d29dcdde87288c340051e9bc524f27.tar.gz cygnal-5b4c992bf6d29dcdde87288c340051e9bc524f27.tar.bz2 cygnal-5b4c992bf6d29dcdde87288c340051e9bc524f27.zip |
* mount.cc (struct opt): Add "dos" and "ihash" options.
(fillout_mntent): Ditto.
* path.cc (path_conv::get_nt_native_path): Use path_conv's
has_dos_filenames_only method.
(path_conv::check): Add PATH_IHASH flag if FS has unreliable inode
numbers.
(symlink_info::check_shortcut): Or symlink flags to pflags.
(symlink_info::check_sysfile): Ditto. Change test accordingly.
(symlink_info::check_reparse_point): Ditto.
(symlink_info::check_nfs_symlink): Ditto.
(symlink_info::check): Check PATH_DOS flag in call to get_nt_native_path
to utilize mount flag. Ditto in test for potential restarting. Set
PATH_DOS if FS only allows DOS filename rules.
* path.h (enum path_types): Add PATH_DOS and PATH_IHASH.
(path_conv::hasgood_inode): Check PATH_IHASH instead of
fs.hasgood_inode.
(path_conv::has_dos_filenames_only): New method.
* include/sys/mount.h (MOUNT_DOS): New mount flag.
(MOUNT_IHASH): Ditto.
Diffstat (limited to 'winsup/cygwin/mount.cc')
-rw-r--r-- | winsup/cygwin/mount.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/winsup/cygwin/mount.cc b/winsup/cygwin/mount.cc index a11ed34a8..561146a57 100644 --- a/winsup/cygwin/mount.cc +++ b/winsup/cygwin/mount.cc @@ -932,7 +932,9 @@ struct opt {"auto", 0, 0}, {"binary", MOUNT_BINARY, 0}, {"cygexec", MOUNT_CYGWIN_EXEC, 0}, + {"dos", MOUNT_DOS, 0}, {"exec", MOUNT_EXEC, 0}, + {"ihash", MOUNT_IHASH, 0}, {"noacl", MOUNT_NOACL, 0}, {"nosuid", 0, 0}, {"notexec", MOUNT_NOTEXEC, 0}, @@ -1553,6 +1555,12 @@ fillout_mntent (const char *native_path, const char *posix_path, unsigned flags) if (flags & MOUNT_NOACL) strcat (_my_tls.locals.mnt_opts, (char *) ",noacl"); + if (flags & MOUNT_DOS) + strcat (_my_tls.locals.mnt_opts, (char *) ",dos"); + + if (flags & MOUNT_IHASH) + strcat (_my_tls.locals.mnt_opts, (char *) ",ihash"); + if (flags & MOUNT_NOPOSIX) strcat (_my_tls.locals.mnt_opts, (char *) ",posix=0"); |