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-07-07 11:53:22 +0400
committerCorinna Vinschen <corinna@vinschen.de>2010-07-07 11:53:22 +0400
commit975a85f42c985b87533fd7cbfcdfe65ca243a94e (patch)
treedb1ba139e7add2ae3648493330cb31f6e1b6c182 /winsup/cygwin/syscalls.cc
parentefc428827bd2f9e254d08be2b7a24f65fac2731a (diff)
* syscalls.cc (unlink_nt): Disable try_to_bin for netapp drives.
Explain why.
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r--winsup/cygwin/syscalls.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 8ba0af29d..ac1fea0d2 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -554,8 +554,12 @@ unlink_nt (path_conv &pc)
NFS implements its own mechanism to remove in-use files which
looks quite similar to what we do in try_to_bin for remote files.
- That's why we don't call try_to_bin on NFS. */
- if (!pc.fs_is_nfs ())
+ That's why we don't call try_to_bin on NFS.
+
+ Netapp filesystems don't understand the "move and delete" method
+ at all and have all kinds of weird effects. Just setting the delete
+ dispositon usually works fine, though. */
+ if (!pc.fs_is_nfs () && !pc.fs_is_netapp ())
bin_stat = move_to_bin;
if (!pc.isdir () || pc.isremote ())
status = NtOpenFile (&fh, access, &attr, &io,