New submission from Chris Burr <[email protected]>:
When copying files between systems with different limits on the size of the
extended attributes that can be added to a file shutil.copystat can fail with:
/cvmfs/lhcb.cern.ch/lib/var/lib/LbEnv/2064/stable/linux-64/lib/python3.8/shutil.py
in copystat(src, dst, follow_symlinks)
377 # We must copy extended attributes before the file is (potentially)
378 # chmod()'ed read-only, otherwise setxattr() will error with
-EACCES.
--> 379 _copyxattr(src, dst, follow_symlinks=follow)
380 try:
381 lookup("chmod")(dst, mode, follow_symlinks=follow)
/cvmfs/lhcb.cern.ch/lib/var/lib/LbEnv/2064/stable/linux-64/lib/python3.8/shutil.py
in _copyxattr(src, dst, follow_symlinks)
327 try:
328 value = os.getxattr(src, name,
follow_symlinks=follow_symlinks)
--> 329 os.setxattr(dst, name, value,
follow_symlinks=follow_symlinks)
330 except OSError as e:
331 if e.errno not in (errno.EPERM, errno.ENOTSUP,
errno.ENODATA,
OSError: [Errno 28] No space left on device: '/tmp/lhcb'
This is caused by the destination filesystem having a smaller limit on the size
of the extended attributes. I think this behaviour is unexpected as other
failures are silently ignored (e.g. the destination doesn't support extended
attributes).
----------
components: Library (Lib)
messages: 394118
nosy: chrisburr
priority: normal
severity: normal
status: open
title: shutil.copystat can fail when copying to a file system with a smaller
limit
type: crash
versions: Python 3.10, Python 3.11, Python 3.6, Python 3.7, Python 3.8, Python
3.9
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue44205>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com