Accommodate trailing NUL in PrlSF filesystem name.
* globals.cc (ro_u_prlfs): Add trailing NUL. Explain why. * mount.cc (fs_info::update): Add a comment to explain PrlSF. * path.h (path_conv::fs_is_prlfs): Add for symmetry. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
		| @@ -1,3 +1,9 @@ | ||||
| 2015-11-04  Corinna Vinschen  <corinna@vinschen.de> | ||||
|  | ||||
| 	* globals.cc (ro_u_prlfs): Add trailing NUL.  Explain why. | ||||
| 	* mount.cc (fs_info::update): Add a comment to explain PrlSF. | ||||
| 	* path.h (path_conv::fs_is_prlfs): Add for symmetry. | ||||
|  | ||||
| 2015-11-03  Corinna Vinschen  <corinna@vinschen.de> | ||||
|  | ||||
| 	* sigproc.cc (pending_signals::clear): Fix previous fix resulting in | ||||
|   | ||||
| @@ -138,7 +138,9 @@ extern "C" { | ||||
|   extern UNICODE_STRING _RDATA ro_u_mvfs = _ROU (L"MVFS"); | ||||
|   extern UNICODE_STRING _RDATA ro_u_nfs = _ROU (L"NFS"); | ||||
|   extern UNICODE_STRING _RDATA ro_u_ntfs = _ROU (L"NTFS"); | ||||
|   extern UNICODE_STRING _RDATA ro_u_prlfs = _ROU (L"PrlSF"); /* No typo! */ | ||||
|   /* No typo!  It's actually "SF", not "FS", and the trailing NUL is counted | ||||
|      in the reply from the filesystem. */ | ||||
|   extern UNICODE_STRING _RDATA ro_u_prlfs = _ROU (L"PrlSF\0"); | ||||
|   extern UNICODE_STRING _RDATA ro_u_refs = _ROU (L"ReFS"); | ||||
|   extern UNICODE_STRING _RDATA ro_u_sunwnfs = _ROU (L"SUNWNFS"); | ||||
|   extern UNICODE_STRING _RDATA ro_u_udf = _ROU (L"UDF"); | ||||
|   | ||||
| @@ -371,6 +371,8 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol) | ||||
| 	  /* AFSRDRFsd == Andrew File System.  Doesn't support DOS attributes. | ||||
| 	     Only native symlinks are supported. */ | ||||
| 	  && !is_afs (RtlEqualUnicodeString (&fsname, &ro_u_afs, FALSE)) | ||||
| 	  /* PrlSF == Parallels Desktop File System.  Has a bug in | ||||
| 	     FileNetworkOpenInformation, see below. */ | ||||
| 	  && !is_prlfs (RtlEqualUnicodeString (&fsname, &ro_u_prlfs, FALSE))) | ||||
| 	{ | ||||
| 	  /* Known remote file system with buggy open calls.  Further | ||||
|   | ||||
| @@ -376,6 +376,7 @@ class path_conv | ||||
|   bool fs_is_nwfs () const {return fs.is_nwfs ();} | ||||
|   bool fs_is_ncfsd () const {return fs.is_ncfsd ();} | ||||
|   bool fs_is_afs () const {return fs.is_afs ();} | ||||
|   bool fs_is_prlfs () const {return fs.is_prlfs ();} | ||||
|   fs_info_type fs_type () const {return fs.what_fs ();} | ||||
|   ULONG fs_serial_number () const {return fs.serial_number ();} | ||||
|   inline const char *set_path (const char *p) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user