[Python-checkins] gh-82814: fix shutil access error on WSL (#103790)

gpshead webhook-mailer at python.org
Mon Apr 24 20:45:45 EDT 2023


https://github.com/python/cpython/commit/3df3b91e6a0d84bcb954ec894d17f4603bdf428f
commit: 3df3b91e6a0d84bcb954ec894d17f4603bdf428f
branch: main
author: Allan Lago <35788148+alago1 at users.noreply.github.com>
committer: gpshead <greg at krypto.org>
date: 2023-04-25T00:45:38Z
summary:

gh-82814: fix shutil access error on WSL (#103790)

gh-82814: Adds `errno.EACCES` to the list of ignored errors on
`_copyxattr`.  EPERM and EACCES are different constants but
in general should be treated the same.

News entry authored by: Gregory P. Smith <greg at krypto.org>

files:
A Misc/NEWS.d/next/Windows/2023-04-24-15-51-11.gh-issue-82814.GI3UkZ.rst
M Lib/shutil.py

diff --git a/Lib/shutil.py b/Lib/shutil.py
index c75ea4da02eb..7d1a3d00011f 100644
--- a/Lib/shutil.py
+++ b/Lib/shutil.py
@@ -332,7 +332,7 @@ def _copyxattr(src, dst, *, follow_symlinks=True):
                 os.setxattr(dst, name, value, follow_symlinks=follow_symlinks)
             except OSError as e:
                 if e.errno not in (errno.EPERM, errno.ENOTSUP, errno.ENODATA,
-                                   errno.EINVAL):
+                                   errno.EINVAL, errno.EACCES):
                     raise
 else:
     def _copyxattr(*args, **kwargs):
diff --git a/Misc/NEWS.d/next/Windows/2023-04-24-15-51-11.gh-issue-82814.GI3UkZ.rst b/Misc/NEWS.d/next/Windows/2023-04-24-15-51-11.gh-issue-82814.GI3UkZ.rst
new file mode 100644
index 000000000000..5bd005ffacb8
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2023-04-24-15-51-11.gh-issue-82814.GI3UkZ.rst
@@ -0,0 +1,3 @@
+Fix a potential ``[Errno 13] Permission denied`` when using :func:`shutil.copystat`
+within Windows Subsystem for Linux (WSL) on a mounted filesystem by adding
+``errno.EACCES`` to the list of ignored errors within the internal implementation.



More information about the Python-checkins mailing list