mirror of
https://github.com/borgbackup/borg.git
synced 2024-12-28 02:38:43 +00:00
xattrs: fix borg exception handling on ENOSPC error, fixes #3808
This commit is contained in:
parent
694118e523
commit
959beb867b
1 changed files with 7 additions and 0 deletions
|
@ -730,6 +730,13 @@ def restore_attrs(self, path, item, symlink=False, fd=None):
|
|||
# permission denied to set this specific xattr (this may happen related to security.* keys)
|
||||
logger.warning('%s: Permission denied when setting extended attribute %s' % (path, k.decode()))
|
||||
set_ec(EXIT_WARNING)
|
||||
elif e.errno == errno.ENOSPC:
|
||||
# no space left on device while setting this specific xattr
|
||||
# ext4 reports ENOSPC when trying to set an xattr with >4kiB while ext4 can only support 4kiB xattrs
|
||||
# (in this case, this is NOT a "disk full" error, just a ext4 limitation).
|
||||
logger.warning('%s: No space left on device while setting extended attribute %s (len = %d)' % (
|
||||
path, k.decode(), len(v)))
|
||||
set_ec(EXIT_WARNING)
|
||||
else:
|
||||
raise
|
||||
# bsdflags include the immutable flag and need to be set last:
|
||||
|
|
Loading…
Reference in a new issue