From aa0a35db830924f6e499c007fdb874f61d4dfdcc Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 27 Jun 2022 14:29:27 +0200 Subject: [PATCH] Ignore ENOTTY in copy_file_object() and copy_fd() This is another possible error that can be returned when FICLONE is not supported. --- mkosi/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkosi/__init__.py b/mkosi/__init__.py index 3aab454bc..321636520 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -583,7 +583,7 @@ def copy_fd(oldfd: int, newfd: int) -> None: try: _reflink(oldfd, newfd) except OSError as e: - if e.errno not in {errno.EXDEV, errno.EOPNOTSUPP}: + if e.errno not in {errno.EXDEV, errno.EOPNOTSUPP, errno.ENOTTY}: raise # While mypy handles this correctly, Pyright doesn't yet. shutil.copyfileobj(open(oldfd, "rb", closefd=False), cast(Any, open(newfd, "wb", closefd=False))) @@ -593,7 +593,7 @@ def copy_file_object(oldobject: BinaryIO, newobject: BinaryIO) -> None: try: _reflink(oldobject.fileno(), newobject.fileno()) except OSError as e: - if e.errno not in {errno.EXDEV, errno.EOPNOTSUPP}: + if e.errno not in {errno.EXDEV, errno.EOPNOTSUPP, errno.ENOTTY}: raise shutil.copyfileobj(oldobject, newobject) -- 2.47.2