* globals.cc: Improve comment on R/O UNICODE_STRINGs.

* mount.h (class fs_info): Add is_mvfs bit.
	* mount.cc (fs_info::update): Recognize MVFS remote filesystem.
	(fillout_mntent): Reorder filesystem checks for speed.  Add
	mvfs, unixfs, and sunwnfs filesystem types.
	* path.h (class path_conv): Add fs_is_mvfs method.
	* path.cc (symlink_worker): On MVFS, always create symlinks as
	Windows shortcuts.  Explain why.
This commit is contained in:
Corinna Vinschen
2009-07-17 09:00:19 +00:00
parent b7735ec72d
commit 0fb0fb8391
6 changed files with 48 additions and 13 deletions

View File

@ -72,7 +72,13 @@ char NO_COPY almost_null[1];
char *old_title;
/* Heavily-used const UNICODE_STRINGs are defined here once. */
/* Heavily-used const UNICODE_STRINGs are defined here once. The idea is a
speed improvement by not having to initialize a UNICODE_STRING every time
we make a string comparison. The strings are not defined as const,
because the respective NT functions are not taking const arguments
and doing so here results in lots of extra casts for no good reason.
Rather, the strings are placed in the R/O section .rdata, so we get
a SEGV if some code erroneously tries to overwrite these strings. */
#define _ROU(_s) \
{ Length: sizeof (_s) - sizeof (WCHAR), \
MaximumLength: sizeof (_s), \