diff --git a/qubes/storage/reflink.py b/qubes/storage/reflink.py index 4a4812a3..436658aa 100644 --- a/qubes/storage/reflink.py +++ b/qubes/storage/reflink.py @@ -446,7 +446,10 @@ def _attempt_ficlone(src, dst): try: fcntl.ioctl(dst.fileno(), FICLONE, src.fileno()) return True - except OSError: + except OSError as ex: + if ex.errno not in (errno.EBADF, errno.EINVAL, + errno.EOPNOTSUPP, errno.EXDEV): + raise return False def _copy_file(src, dst):