From 4e0bdd2c9b85c723d5070afc08f43fcf0023ff1d Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sun, 30 Aug 2015 04:18:06 +0200 Subject: [PATCH] Added patch to map EXDEV error code to STATUS_NOT_SAME_DEVICE. --- README.md | 3 ++- debian/changelog | 1 + patches/patchinstall.sh | 16 +++++++++++++ ...-Map-EXDEV-to-STATUS_NOT_SAME_DEVICE.patch | 24 +++++++++++++++++++ patches/server-Map_EXDEV_Error/definition | 1 + 5 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 patches/server-Map_EXDEV_Error/0001-server-Map-EXDEV-to-STATUS_NOT_SAME_DEVICE.patch create mode 100644 patches/server-Map_EXDEV_Error/definition diff --git a/README.md b/README.md index 0c30587b..ab10f5da 100644 --- a/README.md +++ b/README.md @@ -39,9 +39,10 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- -**Bug fixes and features included in the next upcoming release [2]:** +**Bug fixes and features included in the next upcoming release [3]:** * Fix access violation in MSYS2 git when cloning repository +* Map EXDEV error code to STATUS_NOT_SAME_DEVICE * Return a dummy BIOS name in Win32_BIOS record diff --git a/debian/changelog b/debian/changelog index 95802308..44054ae5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ wine-staging (1.7.51) UNRELEASED; urgency=low * Added patch to return a dummy BIOS name in Win32_BIOS record (fixes Wine Staging Bug #528). * Added patch to fix compile failure in d3d11 with recent versions of gcc. + * Added patch to map EXDEV error code to STATUS_NOT_SAME_DEVICE. * Removed patch to fix bug in wineserver debug_children inheritance (accepted upstream). * Removed patch to use helper function for NtWaitForMultipleObjects and diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 049332ec..7eeb1075 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -223,6 +223,7 @@ patch_enable_all () enable_server_File_Permissions="$1" enable_server_Inherited_ACLs="$1" enable_server_Key_State="$1" + enable_server_Map_EXDEV_Error="$1" enable_server_Misc_ACL="$1" enable_server_OpenProcess="$1" enable_server_PeekMessage="$1" @@ -747,6 +748,9 @@ patch_enable () server-Key_State) enable_server_Key_State="$2" ;; + server-Map_EXDEV_Error) + enable_server_Map_EXDEV_Error="$2" + ;; server-Misc_ACL) enable_server_Misc_ACL="$2" ;; @@ -4492,6 +4496,18 @@ if test "$enable_server_Key_State" -eq 1; then ) >> "$patchlist" fi +# Patchset server-Map_EXDEV_Error +# | +# | Modified files: +# | * server/file.c +# | +if test "$enable_server_Map_EXDEV_Error" -eq 1; then + patch_apply server-Map_EXDEV_Error/0001-server-Map-EXDEV-to-STATUS_NOT_SAME_DEVICE.patch + ( + echo '+ { "Qian Hong", "server: Map EXDEV to STATUS_NOT_SAME_DEVICE.", 1 },'; + ) >> "$patchlist" +fi + # Patchset server-OpenProcess # | # | This patchset fixes the following Wine bugs: diff --git a/patches/server-Map_EXDEV_Error/0001-server-Map-EXDEV-to-STATUS_NOT_SAME_DEVICE.patch b/patches/server-Map_EXDEV_Error/0001-server-Map-EXDEV-to-STATUS_NOT_SAME_DEVICE.patch new file mode 100644 index 00000000..25175b62 --- /dev/null +++ b/patches/server-Map_EXDEV_Error/0001-server-Map-EXDEV-to-STATUS_NOT_SAME_DEVICE.patch @@ -0,0 +1,24 @@ +From 10c4be44f7321c54dd01785ba31799f89530ae1b Mon Sep 17 00:00:00 2001 +From: Qian Hong +Date: Fri, 28 Aug 2015 12:02:36 +0800 +Subject: server: Map EXDEV to STATUS_NOT_SAME_DEVICE. + +--- + server/file.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/server/file.c b/server/file.c +index a07ca16..4481b8c 100644 +--- a/server/file.c ++++ b/server/file.c +@@ -661,6 +661,7 @@ void file_set_error(void) + case EFBIG: set_error( STATUS_SECTION_TOO_BIG ); break; + case ENODEV: set_error( STATUS_NO_SUCH_DEVICE ); break; + case ENXIO: set_error( STATUS_NO_SUCH_DEVICE ); break; ++ case EXDEV: set_error( STATUS_NOT_SAME_DEVICE ); break; + #ifdef EOVERFLOW + case EOVERFLOW: set_error( STATUS_INVALID_PARAMETER ); break; + #endif +-- +2.5.0 + diff --git a/patches/server-Map_EXDEV_Error/definition b/patches/server-Map_EXDEV_Error/definition new file mode 100644 index 00000000..18bb1f7f --- /dev/null +++ b/patches/server-Map_EXDEV_Error/definition @@ -0,0 +1 @@ +Fixes: Map EXDEV error code to STATUS_NOT_SAME_DEVICE