New submission from Chris Burr <christopher.b...@cern.ch>:
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 <rep...@bugs.python.org> <https://bugs.python.org/issue44205> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com