From: Fabrice Fontaine Date: Fri, 27 Aug 2021 22:05:31 +0000 (+0200) Subject: package/qemu: fix fuse-lseek on uclibc-ng and musl X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=52286188caceda0919b6c7a0f40b55a928ef4b48;p=buildroot.git package/qemu: fix fuse-lseek on uclibc-ng and musl Fix the following build failure on uclibc-ng raised since bump to version 6.0.0 in commit 6b86c9335fc3ff381878156c6243454d4b688df9: ../block/export/fuse.c: In function 'fuse_lseek': ../block/export/fuse.c:641:19: error: 'SEEK_HOLE' undeclared (first use in this function) 641 | if (whence != SEEK_HOLE && whence != SEEK_DATA) { | ^~~~~~~~~ ../block/export/fuse.c:641:19: note: each undeclared identifier is reported only once for each function it appears in ../block/export/fuse.c:641:42: error: 'SEEK_DATA' undeclared (first use in this function); did you mean 'SEEK_SET'? 641 | if (whence != SEEK_HOLE && whence != SEEK_DATA) { | ^~~~~~~~~ | SEEK_SET Fixes: - http://autobuild.buildroot.org/results/33c90ebf04997f4d3557cfa66abc9cf9a3076137 Signed-off-by: Fabrice Fontaine Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- diff --git a/package/qemu/0006-block-export-fuse.c-fix-fuse-lseek-on-uclibc-or-musl.patch b/package/qemu/0006-block-export-fuse.c-fix-fuse-lseek-on-uclibc-or-musl.patch new file mode 100644 index 0000000000..50762055bf --- /dev/null +++ b/package/qemu/0006-block-export-fuse.c-fix-fuse-lseek-on-uclibc-or-musl.patch @@ -0,0 +1,44 @@ +From 8c3fcbf23fe31cf56f21ce1737bf22fe65fc553b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 27 Aug 2021 23:40:01 +0200 +Subject: [PATCH] block/export/fuse.c: fix fuse-lseek on uclibc or musl + +Include linux/fs.h to avoid the following build failure on uclibc or +musl raised since version 6.0.0: + +../block/export/fuse.c: In function 'fuse_lseek': +../block/export/fuse.c:641:19: error: 'SEEK_HOLE' undeclared (first use in this function) + 641 | if (whence != SEEK_HOLE && whence != SEEK_DATA) { + | ^~~~~~~~~ +../block/export/fuse.c:641:19: note: each undeclared identifier is reported only once for each function it appears in +../block/export/fuse.c:641:42: error: 'SEEK_DATA' undeclared (first use in this function); did you mean 'SEEK_SET'? + 641 | if (whence != SEEK_HOLE && whence != SEEK_DATA) { + | ^~~~~~~~~ + | SEEK_SET + +Fixes: + - http://autobuild.buildroot.org/results/33c90ebf04997f4d3557cfa66abc9cf9a3076137 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://patchwork.ozlabs.org/project/qemu-devel/patch/20210827220301.272887-1-fontaine.fabrice@gmail.com/] +--- + block/export/fuse.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/block/export/fuse.c b/block/export/fuse.c +index fc7b07d2b5..2e3bf8270b 100644 +--- a/block/export/fuse.c ++++ b/block/export/fuse.c +@@ -31,6 +31,9 @@ + #include + #include + ++#ifdef __linux__ ++#include ++#endif + + /* Prevent overly long bounce buffer allocations */ + #define FUSE_MAX_BOUNCE_BYTES (MIN(BDRV_REQUEST_MAX_BYTES, 64 * 1024 * 1024)) +-- +2.32.0 + diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index 88516678d1..520618cd55 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -91,14 +91,8 @@ QEMU_OPTS += --disable-tools endif ifeq ($(BR2_PACKAGE_LIBFUSE3),y) -QEMU_OPTS += --enable-fuse +QEMU_OPTS += --enable-fuse --enable-fuse-lseek QEMU_DEPENDENCIES += libfuse3 -# musl does not support SEEK_HOLE/SEEK_DATA -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -QEMU_OPTS += --disable-fuse-lseek -else -QEMU_OPTS += --enable-fuse-lseek -endif else QEMU_OPTS += --disable-fuse --disable-fuse-lseek endif