From: "Darrick J. Wong" <djwong@kernel.org>
To: Theodore Ts'o <tytso@mit.edu>
Cc: Ext4 Developers List <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH 0/7] fix up issues from djwong/fuse4fs-fork
Date: Mon, 4 May 2026 17:08:31 -0700 [thread overview]
Message-ID: <20260505000831.GA1101423@frogsfrogsfrogs> (raw)
In-Reply-To: <20260504233301.2345652-1-tytso@mit.edu>
On Mon, May 04, 2026 at 07:32:54PM -0400, Theodore Ts'o wrote:
> These are the patches that I've applied to the next branch to clean up
> found when trying to compile e2fsprogs on MacOS and via the github's
> continuous integration testing.
>
> Note: See .github/workflows/ci.yaml; it's a good reason to get a
> github account if you are doing a lot of e2fsprogs development.
> If you fork my e2fsprogs repository and push your changes to your github
> repo, you can get reports like the ones found here:
> https://github.com/tytso/e2fsprogs/actions
>
>
> Anyway, with these patches, e2fsprogs builds on MacOS (both using the
> github CI and on locally on my Macbook). Unfortunately fuse2fs has
> regressed in that non-root accesses are getting denied with a permission
> denied on MacOS, and this worked with e2fsprogs v1.47.4. Here's a
> lightly edited transcript from my Macbook Air:
Hm, curious. It's regrettable that I no longer have a Mac, and
therefore can't really do much investigating. If you give
-o default_permissions,allow_other , does that fix the problem?
If that fixes it, then fuse2fs has a bug somewhere in its own
permissions checking.
> % uname -a
> Darwin macsyma.local 25.4.0 Darwin Kernel Version 25.4.0: Thu Mar 19 19:33:09 PDT 2026; root:xnu-12377.101.15~1/RELEASE_ARM64_T8112 arm64 arm Darwin
> % ./mke2fs -Fq -t ext4 -d . /tmp/foo.img 1G
> % ./fuse2fs -o allow_other /tmp/foo.img /Users/tytso/mnt
> FUSE2FS (foo.img): Warning: fuse2fs does not support using the journal.
> There may be file system corruption or data loss if
> the file system is not gracefully unmounted.
> % stat /Users/tytso/mnt/revoke.o
> stat: cannot stat '/Users/tytso/mnt/revoke.o': Permission denied
> % sudo stat /Users/tytso/mnt/revoke.o
> File: /Users/tytso/mnt/revoke.o
> Size: 29728 Blocks: 64 IO Block: 16384 regular file
> Device: 55,270 Inode: 91 Links: 1
> Access: (0644/-rw-r--r--) Uid: (15806/ tytso) Gid: ( 20/ staff)
> Access: 2026-05-05 00:21:50.000000000 +0200
> Modify: 2026-05-05 00:21:50.000000000 +0200
> Change: 2026-05-05 00:21:50.000000000 +0200
> Birth: -
> % stat revoke.o
> File: revoke.o
> Size: 29728 Blocks: 64 IO Block: 4096 regular file
> Device: 1,18 Inode: 851374 Links: 1
> Access: (0644/-rw-r--r--) Uid: (15806/ tytso) Gid: ( 20/ staff)
> Access: 2026-05-05 00:21:50.903084819 +0200
> Modify: 2026-05-05 00:21:50.346338295 +0200
> Change: 2026-05-05 00:21:50.346580544 +0200
> Birth: 2026-05-05 00:21:50.293229053 +0200
> % sum revoke.o
> 45116 30 revoke.o
> % sum /Users/tytso/mnt/revoke.o
> sum: /Users/tytso/mnt/revoke.o: Permission denied
That's really strange. Does MacOS do any strange idmapping stuff?
I'm also curious if there's a particular commit that makes it all work
again? There are a few defaults that changed between fuse2 and fuse3,
and since MacFuse claims to have vendored both, it could very well be
the megacommit dropping the fuse2 api support.
--D
> So fuse2fs is broken on MacOS, but it's not *totally* broken, since you
> can still use it as root. I'll want to fix this before updating the
> master branch, but this is good enough for the next branch.
>
>
>
> Theodore Ts'o (7):
> libsupport: drop xbitops.h and define fls() if necessary
> configure.ac: fix disable fuse2fs/fuse4fs by default path
> libsupport: don't use bzero in cache.c
> fuse[24]fs: suppress clang warnings which were breaking the github CI
> libsupport: remove the LIST_HEAD macro from list.h
> libsupport: fix gcc -Wall warnings
> fuse2fs: fix uninitialized variable warnings
>
> configure | 8 +++
> configure.ac | 3 +
> fuse4fs/Makefile.in | 18 +++---
> fuse4fs/fuse4fs.c | 29 +++++++--
> lib/config.h.in | 3 +
> lib/support/Makefile.in | 2 +-
> lib/support/cache.c | 49 ++++++++++++---
> lib/support/cache.h | 2 +-
> lib/support/list.h | 17 ++++--
> lib/support/xbitops.h | 128 ----------------------------------------
> misc/fuse2fs.c | 21 +++++++
> 11 files changed, 125 insertions(+), 155 deletions(-)
> delete mode 100644 lib/support/xbitops.h
>
> --
> 2.53.0
>
>
next prev parent reply other threads:[~2026-05-05 0:08 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-04 23:32 [PATCH 0/7] fix up issues from djwong/fuse4fs-fork Theodore Ts'o
2026-05-04 23:32 ` [PATCH 1/7] libsupport: drop xbitops.h and define fls() if necessary Theodore Ts'o
2026-05-05 0:11 ` Darrick J. Wong
2026-05-04 23:32 ` [PATCH 2/7] configure.ac: fix disable fuse2fs/fuse4fs by default path Theodore Ts'o
2026-05-05 0:13 ` Darrick J. Wong
2026-05-04 23:32 ` [PATCH 3/7] libsupport: don't use bzero in cache.c Theodore Ts'o
2026-05-05 0:15 ` Darrick J. Wong
2026-05-04 23:32 ` [PATCH 4/7] fuse[24]fs: suppress clang warnings which were breaking the github CI Theodore Ts'o
2026-05-05 0:20 ` Darrick J. Wong
2026-05-04 23:32 ` [PATCH 5/7] libsupport: remove the LIST_HEAD macro from list.h Theodore Ts'o
2026-05-05 0:20 ` Darrick J. Wong
2026-05-04 23:33 ` [PATCH 6/7] libsupport: fix gcc -Wall warnings Theodore Ts'o
2026-05-05 0:20 ` Darrick J. Wong
2026-05-04 23:33 ` [PATCH 7/7] fuse2fs: fix uninitialized variable warnings Theodore Ts'o
2026-05-05 0:26 ` Darrick J. Wong
2026-05-05 0:08 ` Darrick J. Wong [this message]
2026-05-05 7:21 ` [PATCH 0/7] fix up issues from djwong/fuse4fs-fork Theodore Tso
2026-05-05 15:58 ` Darrick J. Wong
2026-05-05 22:04 ` Theodore Tso
2026-05-05 22:56 ` Darrick J. Wong
2026-05-06 9:28 ` Theodore Tso
2026-05-06 14:34 ` Darrick J. Wong
2026-05-06 15:08 ` Theodore Tso
2026-05-06 16:39 ` Darrick J. Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260505000831.GA1101423@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.