Bind mounts require POSIX paths

* path.cc (from_fstab_line): Don't convert slashes to backslashes for
	bind mounts.  Explain why.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2015-06-08 17:37:55 +02:00
parent 4885352e16
commit 117ebc802f
2 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2015-06-08 Corinna Vinschen <corinna@vinschen.de>
* path.cc (from_fstab_line): Don't convert slashes to backslashes for
bind mounts. Explain why.
2015-04-21 Corinna Vinschen <corinna@vinschen.de> 2015-04-21 Corinna Vinschen <corinna@vinschen.de>
* tzmap-from-unicode.org: Convert Calcutta to Kolkata. * tzmap-from-unicode.org: Convert Calcutta to Kolkata.

View File

@ -1,7 +1,7 @@
/* path.cc /* path.cc
Copyright 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, Copyright 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
2013 Red Hat, Inc. 2013, 2015 Red Hat, Inc.
This file is part of Cygwin. This file is part of Cygwin.
@ -443,6 +443,11 @@ from_fstab_line (mnt_t *m, char *line, bool user)
return false; return false;
} }
m->posix = strdup (posix_path); m->posix = strdup (posix_path);
/* Bind mounts require POSIX paths, otherwise the path is wrongly
prefixed with the Cygwin root dir when trying to convert it to
a Win32 path in mount(2). So don't convert slashes to backslashes
in this case. */
if (!(mount_flags & MOUNT_BIND))
unconvert_slashes (native_path); unconvert_slashes (native_path);
m->native = strdup (native_path); m->native = strdup (native_path);
m->flags = mount_flags; m->flags = mount_flags;