diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2013-04-24 14:16:13 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2013-04-24 14:16:13 +0400 |
commit | 9ecd475cd871bd06b930849b05f5c773d4a7e5ce (patch) | |
tree | 7220dbff1b6129514d80bfa4e262a03f65d5d68a /winsup/cygwin/mount.cc | |
parent | bd91f4a96a8bc21bd501a92965b350756d9e3b28 (diff) |
* autoload.cc (CreateSymbolicLink): Define.
* environ.cc (set_winsymlinks): Set allow_winsymlinks.
(parse_thing): Change "winsymlinks" to set by function.
* globals.cc (enum winsym_t): Define.
(allow_winsymlinks): Define as winsym_t.
(ro_u_afs): New R/O Unicode string.
* mount.cc (fs_info::update): Fix comment. Handle AFS.
(fs_names): Add "afs".
* mount.h (enum fs_info_type): Add afs.
(class fs_info): Implement afs.
* path.cc (symlink): Drop third parameter in call to symlink_worker.
(symlink_nfs): New function.
(symlink_native): New function.
(symlink_worker): Drop third argument. Handle native symlink type by
calling symlink_native. Move code to handle NFS to symlink_nfs. Fix
formatting. Slightly restructure code.
* path.h (class path_conv): Add fs_is_afs method.
(symlink_worker): Declare here.
* security.h: Define privilege constants as unsigned int instead of as
unsigned long.
* syscalls.cc (mknod_worker): Set third parameter in symlink_worker
call to WSYM_lnk.
* winsup.h (symlink_worker): Drop declaration here.
Diffstat (limited to 'winsup/cygwin/mount.cc')
-rw-r--r-- | winsup/cygwin/mount.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/winsup/cygwin/mount.cc b/winsup/cygwin/mount.cc index a776f2b26..0d943f727 100644 --- a/winsup/cygwin/mount.cc +++ b/winsup/cygwin/mount.cc @@ -275,7 +275,7 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol) if (is_remote_drive ()) { /* Should be reevaluated for each new OS. Right now this mask is valid up - to Vista. The important point here is to test only flags indicating + to Windows 8. The important point here is to test only flags indicating capabilities and to ignore flags indicating a specific state of this volume. At present these flags to ignore are FILE_VOLUME_IS_COMPRESSED, FILE_READ_ONLY_VOLUME, and FILE_SEQUENTIAL_WRITE_ONCE. The additional @@ -371,7 +371,10 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol) && !is_ncfsd (RtlEqualUnicodeString (&fsname, &ro_u_ncfsd, FALSE)) /* UNIXFS == TotalNet Advanced Server (TAS). Doesn't support FileIdBothDirectoryInformation. See below. */ - && !is_unixfs (RtlEqualUnicodeString (&fsname, &ro_u_unixfs, FALSE))) + && !is_unixfs (RtlEqualUnicodeString (&fsname, &ro_u_unixfs, FALSE)) + /* AFSRDRFsd == Andrew File System. Doesn't support DOS attributes. + Only native symlinks are supported. */ + && !is_afs (RtlEqualUnicodeString (&fsname, &ro_u_afs, FALSE))) { /* Known remote file system with buggy open calls. Further explanation in fhandler.cc (fhandler_disk_file::open_fs). */ @@ -1598,6 +1601,7 @@ fs_names_t fs_names[] = { { "cifs", false }, { "nwfs", false }, { "ncfsd", false }, + { "afs", false }, { NULL, false } }; |