diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_disk_file.cc | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 828bf09c7..e6fcbbaeb 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2012-06-04 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_disk_file.cc (fhandler_disk_file::link ): Translate + STATUS_NOT_SUPPORTED to EPERM as well. + 2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx> * dtable.cc (dtable::dup3): Only return with lock set when O_EXCL flag diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index 1f47a35a9..2c63b6468 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -1283,7 +1283,8 @@ fhandler_disk_file::link (const char *newpath) status = NtSetInformationFile (fh, &io, pfli, size, FileLinkInformation); if (!NT_SUCCESS (status)) { - if (status == STATUS_INVALID_DEVICE_REQUEST) + if (status == STATUS_INVALID_DEVICE_REQUEST + || status == STATUS_NOT_SUPPORTED) { /* FS doesn't support hard links. Linux returns EPERM. */ set_errno (EPERM); |