mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/2] befs: Large file support and a superblock check fix
@ 2026-11-02 14:17 Axel Dörfler
  2026-11-02 14:17 ` [PATCH v2 1/2] befs: Allow file sizes beyond 2GiB Axel Dörfler
  2026-11-02 14:17 ` [PATCH v2 2/2] befs: Fix allocation group consistency check Axel Dörfler
  0 siblings, 2 replies; 3+ messages in thread
From: Axel Dörfler @ 2026-11-02 14:17 UTC (permalink / raw)
  To: Luis de Bethencourt, Salah Triki
  Cc: Christian Brauner, linux-fsdevel, linux-kernel

Two small befs fixes I originally sent in 2019 [1][2], which never got
picked up. Rebased onto v7.3 and resent as v2.

Patch 1 lets befs serve files larger than 2GiB; the on-disk format and
the implementation already handle 64-bit file sizes, only s_maxbytes was
never raised from the MAX_NON_LFS default.

Patch 2 replaces a superblock consistency check that compares ag_shift
against blocks_per_ag, and therefore emits an error message on basically
every valid volume, with the check the BFS reference implementation
uses. Note that a mismatch now fails the mount, like the other
structural superblock checks do.

In v1, patch 2 just removed the check; the corresponding v1 thread is
"befs: Removed incorrect check" [2].

Changes since v1:
- Patch 1: rebased; sb_set_blocksize() is now checked for failure, so
  the assignment moved below the new error path.
- Patch 2: replace the incorrect check with the one from the BFS
  reference implementation instead of just removing it, limit ag_shift
  to what a block_run can address, and explain what ag_shift and
  blocks_per_ag actually mean.

Both patches were build-tested with W=1 and CONFIG_BEFS_DEBUG=y on
x86_64 and i386, and tested by mounting a Haiku volume: the bogus
ag_shift error is gone, and a file larger than 2GiB can now be read
beyond the 2GiB boundary.

[1] https://lore.kernel.org/lkml/?q=s:%22befs:+Allow+file+sizes+beyond+2GiB%22
[2] https://lore.kernel.org/lkml/?q=s:%22befs:+Removed+incorrect+check%22

Axel Dörfler (2):
  befs: Allow file sizes beyond 2GiB
  befs: Fix allocation group consistency check

 fs/befs/linuxvfs.c |  1 +
 fs/befs/super.c    | 22 +++++++++++++++++-----
 2 files changed, 18 insertions(+), 5 deletions(-)


base-commit: c03c1a14507dfaf8b856c2608f9ac216021fc222
-- 
2.56.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-11-02 14:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-02 14:17 [PATCH v2 0/2] befs: Large file support and a superblock check fix Axel Dörfler
2026-11-02 14:17 ` [PATCH v2 1/2] befs: Allow file sizes beyond 2GiB Axel Dörfler
2026-11-02 14:17 ` [PATCH v2 2/2] befs: Fix allocation group consistency check Axel Dörfler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®