From 5c63462c26ba6c1f435871168fa07e0b18b1e47b Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Tue, 13 Jan 2009 22:36:21 +0200 Subject: [PATCH] decomp: fallback to write() if Linux vmsplice returns ENOSYS (Since we are always dealing with a pipe, it cannot return EINVAL) --- modules/stream_filter/decomp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/stream_filter/decomp.c b/modules/stream_filter/decomp.c index f89d16ddc4..7ec7b512d0 100644 --- a/modules/stream_filter/decomp.c +++ b/modules/stream_filter/decomp.c @@ -120,9 +120,9 @@ static void *Thread (void *data) struct iovec iov = { buf + i, (len - i) & ~page_mask, }; j = vmsplice (fd, &iov, 1, SPLICE_F_GIFT); } -#else - j = write (fd, buf + i, len - i); + if (j == -1 && errno == ENOSYS) /* vmsplice() not supported */ #endif + j = write (fd, buf + i, len - i); if (j <= 0) { if (j == 0) -- 2.39.2