From 11a3e85fbc3886a61e24fcdaa7f6ba89ea93105d Mon Sep 17 00:00:00 2001 From: Georgi Valkov Date: Tue, 29 Jul 2025 17:30:09 +0300 Subject: [PATCH] fuse3: update to version 3.17.3 replace old patch with the one accepted upstream change log - more conn->want / conn->want_ext conversion fixes - Fix feature detection for close_range - Avoid possible double unmount on FUSE_DESTROY Signed-off-by: Georgi Valkov --- utils/fuse3/Makefile | 6 +-- ...c-check-if-utab-exists-before-update.patch | 40 +++++++++++++++++++ ...1-mount_util.c-restore-symlink-check.patch | 36 ----------------- 3 files changed, 43 insertions(+), 39 deletions(-) create mode 100644 utils/fuse3/patches/101-mount_util.c-check-if-utab-exists-before-update.patch delete mode 100644 utils/fuse3/patches/101-mount_util.c-restore-symlink-check.patch diff --git a/utils/fuse3/Makefile b/utils/fuse3/Makefile index f3a131955e..ff8ecac9a4 100644 --- a/utils/fuse3/Makefile +++ b/utils/fuse3/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=fuse3 -PKG_VERSION:=3.17.2 -PKG_RELEASE:=3 +PKG_VERSION:=3.17.3 +PKG_RELEASE:=1 PKG_SOURCE:=fuse-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/libfuse/libfuse/releases/download/fuse-$(PKG_VERSION) -PKG_HASH:=3d932431ad94e86179e5265cddde1d67aa3bb2fb09a5bd35c641f86f2b5ed06f +PKG_HASH:=de8190448909aa97a222d435bc130aae98331bed4215e9f4519b4b5b285a1d63 PKG_BUILD_DIR:=$(BUILD_DIR)/fuse-$(PKG_VERSION) PKG_MAINTAINER:= diff --git a/utils/fuse3/patches/101-mount_util.c-check-if-utab-exists-before-update.patch b/utils/fuse3/patches/101-mount_util.c-check-if-utab-exists-before-update.patch new file mode 100644 index 0000000000..0514cc206f --- /dev/null +++ b/utils/fuse3/patches/101-mount_util.c-check-if-utab-exists-before-update.patch @@ -0,0 +1,40 @@ +From 3793b1748ad151c8043dee1db198fffa3dbb5a67 Mon Sep 17 00:00:00 2001 +From: Georgi Valkov +Date: Sun, 15 Jun 2025 15:34:57 +0300 +Subject: [PATCH] mount_util.c: check if utab exists before update + +Do not attempt to update /run/mount/utab if it doesn't exist. +Note: if this path ever changes, utab updates will break. + +Fixes the following error when mounting iPhone using ifuse: +ifuse /mnt --container com.httpstorm.httpstorm +mount: mounting ifuse on /mnt failed: Invalid argument + +On OpenWRT by default mount-utils is not installed and utab +does not exist. /bin/mount is a symlink to /bin/busybox and +does not support updating of utab. If mount-utils is installed: +/run/mount/ exists, but does not contain utab. +The mount-utils instance is under /usr/bin/mount, so a hard-coded +call to /bin/mount will still fail. Using /usr/bin/mount succeeds +but does not create utab. + +[1] https://github.com/libfuse/libfuse/pull/1247 + +Signed-off-by: Georgi Valkov +--- + lib/mount_util.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/lib/mount_util.c ++++ b/lib/mount_util.c +@@ -75,6 +75,10 @@ static int mtab_needs_update(const char + + if (err == EROFS) + return 0; ++ ++ res = access("/run/mount/utab", F_OK); ++ if (res == -1) ++ return 0; + } + + return 1; diff --git a/utils/fuse3/patches/101-mount_util.c-restore-symlink-check.patch b/utils/fuse3/patches/101-mount_util.c-restore-symlink-check.patch deleted file mode 100644 index fdd0185cf7..0000000000 --- a/utils/fuse3/patches/101-mount_util.c-restore-symlink-check.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Georgi Valkov -Date: Fri, 13 Jun 2025 08:49:22 +0300 -Subject: [PATCH] mount_util.c: restore symlink check - -Fixes the following error when mounting iPhone using ifuse: -ifuse /mnt --container com.httpstorm.httpstorm -mount: mounting ifuse on /mnt failed: Invalid argument - -The regression was introduced in -74b1df2e84e836a1710561f52075d51f20cd5c78 - -Signed-off-by: Georgi Valkov ---- - lib/mount_util.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/lib/mount_util.c -+++ b/lib/mount_util.c -@@ -54,6 +54,7 @@ static int mtab_needs_update(const char - * Skip mtab update if /etc/mtab: - * - * - doesn't exist, -+ * - is a symlink, - * - is on a read-only filesystem. - */ - res = lstat(_PATH_MOUNTED, &stbuf); -@@ -64,6 +65,9 @@ static int mtab_needs_update(const char - uid_t ruid; - int err; - -+ if (S_ISLNK(stbuf.st_mode)) -+ return 0; -+ - ruid = getuid(); - if (ruid != 0) - setreuid(0, -1); -- 2.30.2