lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <176246793541.2862242.16879509838698966689.stgit@frogsfrogsfrogs>
Date: Thu, 06 Nov 2025 14:28:08 -0800
From: "Darrick J. Wong" <djwong@...nel.org>
To: tytso@....edu
Cc: linux-ext4@...r.kernel.org, linux-ext4@...r.kernel.org
Subject: [PATCHSET 2/9] fuse2fs: add some easy new features

Hi all,

As of 2025, libfuse is a lot more capable than it was in 2013.
Implement some new features such as readdirplus and directory seeking
for better directory performance, and reduce the amount of filesystem
flushing so that it only happens when userspace explicitly asks for it.
Now we also can add htree indices to large directories, support MMP in
fuse2fs, and link count overflows are handled correctly.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

Comments and questions are, as always, welcome.

e2fsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/e2fsprogs.git/log/?h=fuse2fs-new-features
---
Commits in this patchset:
 * libext2fs: initialize htree when expanding directory
 * libext2fs: create link count adjustment helpers for dir_nlink
 * libext2fs: fix ext2fs_mmp_update
 * libext2fs: refactor aligned MMP buffer allocation
 * libext2fs: always use ext2fs_mmp_get_mem to allocate fs->mmp_buf
 * fuse2fs: check root directory while mounting
 * fuse2fs: read bitmaps asynchronously during initialization
 * fuse2fs: use file handles when possible
 * fuse2fs: implement dir seeking
 * fuse2fs: implement readdirplus
 * fuse2fs: implement dirsync mode
 * fuse2fs: only flush O_SYNC files on close
 * fuse2fs: improve want_extra_isize handling
 * fuse2fs: cache symlink targets in the kernel
 * fuse2fs: constrain worker thread count
 * fuse2fs: improve error handling behaviors
 * fuse2fs: fix link count overflows on dir_nlink filesystems
 * libsupport: add background thread manager
 * fuse2fs: implement MMP updates
---
 lib/ext2fs/ext2fs.h          |    6 
 lib/support/bthread.h        |   27 ++
 debian/libext2fs2t64.symbols |    6 
 e2fsck/unix.c                |    2 
 lib/ext2fs/dupfs.c           |    7 
 lib/ext2fs/link.c            |  290 ++++++++++++++++++++
 lib/ext2fs/mkdir.c           |    2 
 lib/ext2fs/mmp.c             |   24 +-
 lib/support/Makefile.in      |    6 
 lib/support/bthread.c        |  201 ++++++++++++++
 misc/dumpe2fs.c              |    2 
 misc/fuse2fs.1.in            |    9 +
 misc/fuse2fs.c               |  617 ++++++++++++++++++++++++++++++++++++------
 13 files changed, 1094 insertions(+), 105 deletions(-)
 create mode 100644 lib/support/bthread.h
 create mode 100644 lib/support/bthread.c


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ