Kent Overstreet
145ffa823b
Update bcachefs sources to b31b8a82b13e bcachefs: fix ctime update on unlink
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-10-06 17:18:03 -04:00
Kent Overstreet
1f3122eaa2
cmd_option: Fix io path options
...
We were incorrectly getting the OPT_MOUNT options, and io path options
are no longer OPT_MOUNT.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-28 11:36:39 -04:00
Nikita Ofitserov
fe26d257a8
cmd_show_super: Fix ghost devices in the output
...
Fixes https://github.com/koverstreet/bcachefs/issues/942 .
Fixes: 6704e252 ("cmd_show_super: Look up and print names of member devices")
Signed-off-by: Nikita Ofitserov <himikof@gmail.com>
2025-09-28 03:27:39 +03:00
Nikita Ofitserov
0a1ad84c02
cmd_show_super: Print backing file as the loop device "model"
...
Signed-off-by: Nikita Ofitserov <himikof@gmail.com>
2025-09-28 03:18:34 +03:00
Nikita Ofitserov
a4f2c56ed4
cmd_show_super: Fix device model printing
...
Make device partition handling independent of the current directory and simplify code.
Use better model placeholders: "(image file)" and "(unknown model)".
Signed-off-by: Nikita Ofitserov <himikof@gmail.com>
2025-09-28 03:12:22 +03:00
Kent Overstreet
8c2f32e5da
cmd_dump: Dump entire btree nodes
...
Make dump a bit less fragile.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-26 12:43:50 -04:00
beviu
454a6b9ade
Propagate error instead of die()ing in bcache_fs_open_fallible
2025-09-20 22:33:35 +02:00
Kent Overstreet
c8a1412711
Fix fuse build
...
build / bcachefs-tools-msrv (push) Has been cancelled
.deb build orchestrator / source-only (push) Has been cancelled
.deb build orchestrator / buildd (forky, map[arch:amd64 runs-on:ubuntu-latest]) (push) Has been cancelled
.deb build orchestrator / buildd (forky, map[arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
.deb build orchestrator / buildd (trixie, map[arch:amd64 runs-on:ubuntu-latest]) (push) Has been cancelled
.deb build orchestrator / buildd (trixie, map[arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
.deb build orchestrator / buildd (unstable, map[arch:amd64 runs-on:ubuntu-latest]) (push) Has been cancelled
.deb build orchestrator / buildd (unstable, map[arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
.deb build orchestrator / publish (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-17 16:45:38 -04:00
Kent Overstreet
4eefef7868
scrub: Return code now indicates corrected/uncorrected errors
...
Matches error codes of fsck for corrected/uncorrected errors.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-15 12:34:13 -04:00
Kent Overstreet
6ad0fa30a9
Update bcachefs sources to 1c8d3fc41e72 bcachefs: fast_list.c is only required for async obj debugging
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-14 11:28:41 -04:00
Kent Overstreet
13c8026c10
cmd_list_journal: Transaction filtering now works correctly
...
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Previously, we'd skip all transactions after the first non-transaction
entry - oops.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-09 18:13:24 -04:00
Kent Overstreet
aa5bd95e3c
Update bcachefs sources to 292344971769 bcachefs: Read retries are after checksum errors now REQ_FUA
...
Nix Flake actions / nix-matrix (push) Has been cancelled
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-07 20:43:23 -04:00
Nikita Ofitserov
a1e870abb7
cmd_migrate: Prevent spurious "Superblock modified by another process" errors
...
This is only a workaround for the superblock writing process always reading back the
first sb in the layout and checking its sequence number.
Zeroing it out ensures a harmless warning instead of an error.
Signed-off-by: Nikita Ofitserov <himikof@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-06 17:56:19 -04:00
Nikita Ofitserov
b1021e7b39
cmd_migrate: Make fsck after migrate-superblock debug-only
...
There is no reason to run a fsck there for common use, as the FS is now
modified only by calling consistency-preserving APIs.
Also switch the debug-only fsck to nochanges mode for easier debugging.
Signed-off-by: Nikita Ofitserov <himikof@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-06 17:56:19 -04:00
Nikita Ofitserov
805319c0ef
cmd_migrate: Open the device in exclusive mode for migrate-superblock
...
Signed-off-by: Nikita Ofitserov <himikof@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-06 17:56:19 -04:00
Nikita Ofitserov
85184478aa
cmd_migrate: Small fixes
...
Ensure that the space for the future default sb layout is not used during the migration process.
Signed-off-by: Nikita Ofitserov <himikof@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-06 17:56:19 -04:00
Nikita Ofitserov
020763ad66
cmd_migrate: Reimplement cmd_migrate_superblock
...
Now the FS is first started RW, then new superblock is written and metadata updated.
This ensures that all recovery/upgrades/downgrades are performed at the beginning.
Signed-off-by: Nikita Ofitserov <himikof@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-06 17:56:19 -04:00
Nikita Ofitserov
277ddb57ef
cmd_migrate: Introduce add_default_sb_layout helper
...
Signed-off-by: Nikita Ofitserov <himikof@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-06 17:56:19 -04:00
Nikita Ofitserov
ed95a9f311
cmd_migrate: Introduce mark_nouse_range helper
...
Signed-off-by: Nikita Ofitserov <himikof@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-06 17:56:19 -04:00
Kent Overstreet
31c7a7398a
format: Do a 'udevadm trigger' after formatting
...
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
This causes the new filesystem UUID to be picked up; without this, mount
can fail if it's a multidevice filesystem.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-06 01:43:44 -04:00
Kent Overstreet
e65dd86e41
bcachefs undump
...
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Add our own version of 'qemu-img convert', which doesn't have the l1
table size limit or require fixing our missing reflink table.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-01 15:11:56 -04:00
Kent Overstreet
f296464b1c
__errmsg_ioctl()
...
less macro-ing
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-28 20:06:04 -04:00
Kent Overstreet
77ca58e3a7
posix_to_bcachefs.c: Use rhashtable for tracking hardlinks
...
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
bcachefs uses 64 bit inode numbers by default, which overflow genradix
keys when we multiply the inode number by the object size for the actual
genradix lookup.
Switch to a rhashtable, and only index files that actually have
hardlinks.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-28 13:40:49 -04:00
Angelo Bulfone
4b97a99fa2
Allow block sizes smaller than backing medium
2025-08-27 18:47:54 -04:00
Kent Overstreet
9d90c968b1
Compat code for errmsg ioctls
...
Fall back to pre errmsg ioctls on old kernels.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-27 18:47:54 -04:00
Kent Overstreet
c12d7b3315
Commands called with no arguments now print usage
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-27 18:47:54 -04:00
Kent Overstreet
45b2f382db
errmsg_ioctl() - resize, resize_journal
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-18 13:04:19 -04:00
Kent Overstreet
760d43376c
errmsg_ioctl() - v2 ioctls that return error messages
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-18 12:55:28 -04:00
Kent Overstreet
ca482e7fd8
Update bcachefs sources to 62003adb7cbd bcachefs: Add v2 ioctls that return error strings
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-18 12:49:11 -04:00
Kent Overstreet
459060f763
nul-terminate readlink() output
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-18 11:57:37 -04:00
Kent Overstreet
53e144e93b
implement BCH_IOCTL_DISK_SET_STATE_v2
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-18 11:47:26 -04:00
Kent Overstreet
8c009da94e
cmd_fs_usage: Improve device summary
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-18 11:19:30 -04:00
Kent Overstreet
3b61ec3dba
replicas_summary_to_text()
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-18 11:06:49 -04:00
Kent Overstreet
c1c4d03aa6
cmd_fs_usage: Summary of replicas info
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-18 00:13:33 -04:00
Kent Overstreet
f968aa040b
dev_name.state
...
Get memebr state when we're getting device names.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-17 18:27:05 -04:00
Kent Overstreet
4226cd1854
bcachefs image create now takes --version
...
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-16 17:55:36 -04:00
Kent Overstreet
02f0965054
document bcachefs format --version
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-16 17:52:58 -04:00
Zoom
833b0acac7
Docs: setattr>set-file-option, line break in fs usage
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-12 21:23:49 -04:00
Kent Overstreet
530e8ade4e
device_scan now uses no_version_check
...
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Fix a compatibility issue - old tools can now mount newer filesystems
with incompatible features, even if they can't do anything else with
them.
cmd_show_super now uses no_version_check as well.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-08 19:35:16 -04:00
Kent Overstreet
28db8e8e79
Update bcachefs sources to 8ffa87fa39d7 bcachefs: Fix journal stuck message
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-08 19:32:43 -04:00
Kent Overstreet
06c8b3dd63
cmd_fs_usage: BCH_DATA_unstriped isn't a real bucket type
...
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
BCH_DATA_unstriped tracks unstriped data in stripe member buckets, it
double counts a portion of BCH_DATA_stripe.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-06 13:09:03 -04:00
Kent Overstreet
6abef4e0ed
cmd_fs_usage: --fields, --all
...
Nix Flake actions / nix-matrix (push) Has been cancelled
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
cmd_fs_usage now prints only base info by default, btree and device
accounting can be printed with flags
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-04 17:33:17 -04:00
Kent Overstreet
06e5ad9a7e
cmd_fs_usage: print bucket size
...
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Also: fragmented now includes empty buckets (for BCH_DATA_stripe).
And some cleanup.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-03 17:21:37 -04:00
Kent Overstreet
6704e252ef
cmd_show_super: Look up and print names of member devices
...
bch2_sb_to_text_with_names(): print device paths and models of each
member.
Fixes: https://github.com/koverstreet/bcachefs/issues/801
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-02 13:22:13 -04:00
Kent Overstreet
6eda7d1831
get_or_split_cmdline_devs() now scans for component devices
...
Fix accidental splitbrain issues caused by writing to only some of a
filesystem's devices: now, all subcommands that take member devices will
scan for all members before opening.
Fixes: https://github.com/koverstreet/bcachefs/issues/924
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-01 18:35:33 -04:00
Kent Overstreet
e6a98de61a
Update bcachefs sources to 86a9bf9142f7 bcachefs: Read retries are after checksum errors now REQ_FUA
...
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-08-01 11:13:48 -04:00
Kent Overstreet
e0b9c3da02
document cmd_fsck --no-kernel
...
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-25 00:17:55 -04:00
Kent Overstreet
43bca0cd63
Enforce a soft minimum limit of 64k for bucket size
...
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
< 64k buckets don't work reliably anymore, we deadlock in the journal
when we try to write too big of a journal entry.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-24 12:02:22 -04:00
Kent Overstreet
5023292623
bcachefs: Fixes for bucket size calculations
...
Nix Flake actions / nix-matrix (push) Has been cancelled
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Make sure bucket size >= btree_node_size when adding a device, and
cmd_image_update needs to make sure the metadata device is big enough
for the minimum number of buckets.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-20 22:48:44 -04:00
Kent Overstreet
11f3aee1e6
cmd_dump: --sanitize
...
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
update-flake-lock / lockfile (push) Has been cancelled
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-20 13:04:59 -04:00