commit:     58d44d3f4549a45eac1ec9cc99d497bb104438c3
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 21:16:05 2017 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Fri Dec 15 21:16:16 2017 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=58d44d3f

file_copy: handle EOPNOTSUPP from lseek SEEK_DATA (bug 641088)

NFS can set the errno to EOPNOTSUPP for lseek SEEK_DATA.

Bug: https://bugs.gentoo.org/641088

 src/portage_util_file_copy_reflink_linux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/portage_util_file_copy_reflink_linux.c 
b/src/portage_util_file_copy_reflink_linux.c
index c3ce26b2b..81aae873a 100644
--- a/src/portage_util_file_copy_reflink_linux.c
+++ b/src/portage_util_file_copy_reflink_linux.c
@@ -258,7 +258,7 @@ _reflink_linux_file_copy(PyObject *self, PyObject *args)
                     break;
                 } else if (len < 0) {
                     error = errno;
-                    if (errno == EINVAL && !offset_out) {
+                    if ((errno == EINVAL || errno == EOPNOTSUPP) && 
!offset_out) {
                         lseek_works = 0;
                     }
                     break;

Reply via email to