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>2010-04-29 14:38:05 +0400
committerCorinna Vinschen <corinna@vinschen.de>2010-04-29 14:38:05 +0400
commit5b4c992bf6d29dcdde87288c340051e9bc524f27 (patch)
tree69d6720f13d0dc6c5520f2511b70abfa4bc61ccd /winsup/cygwin/mount.cc
parenta82a8dcb4edae5a2b135c8f3d9da6eb58d6f444c (diff)
* 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.cc8
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");