From 19356dfbd6b3e7d4880d29b1f4b5c0cb665eb467 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 11 Sep 2015 16:16:26 +0200 Subject: [PATCH] io: fix posix_fallocate failure handling We need fall back to a splice buffer if posix_fallocate call fails due to file being a device (eg tty) or a pipe. This fixes apk fetch --stdout. --- src/io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/io.c b/src/io.c index a321c0c..65851be 100644 --- a/src/io.c +++ b/src/io.c @@ -149,7 +149,7 @@ size_t apk_istream_splice(void *stream, int fd, size_t size, if (r == 0) mmapbase = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); - else if (r != ENOSYS) + else if (r == EBADF || r == EFBIG || r == ENOSPC || r == EIO) return -r; } if (bufsz > 2*1024*1024) -- 2.5.1