Kent Overstreet
45f6fe0a14
cmd_image_create
...
build / bcachefs-tools-deb (ubuntu-22.04) (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 / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Add a tool for creating small image files.
Data is written out in a reproducible order, sequentially from the
start of the device.
Metadata is initially written to a temporary device, then after writing
out data, the metadata we want to keep (alloc info is left out by
default) is migrated to the real device.
Then, the image file is trimmed to minimum size and the temporary
metadata device dropped.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-06-20 17:16:33 -04:00
Kent Overstreet
f2d9a55b1b
cmd_strip_alloc
...
Add a command for stripping allocation info for a filesystem.
This is primarily to test codepaths used by the new image creation tool.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-06-20 17:16:33 -04:00
Kent Overstreet
3f66d905c0
bch2_format_for_device_add()
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-06-20 17:16:33 -04:00
Kent Overstreet
792222046d
cmd_list_journal: More filtering tweaks
...
New options:
-B: show blacklisted entries: previously show by default, but
highlighted
-l: Show log-only entries, i.e. recovery, snapshot deletion messages
-o: Print entry offset for each subentry
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-06-13 19:58:02 -04:00
Kent Overstreet
529d14db49
cmd_list_journal: Fix assertion pop
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-06-07 19:17:53 -04:00
Kent Overstreet
f4aa18bea1
cmd_device: Device add now updates blkid cache
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-06-07 19:04:03 -04:00
Kent Overstreet
8868e1c2b4
cmd_fsck: -p is also a noop
...
build / bcachefs-tools-deb (ubuntu-22.04) (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 / 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-06-05 20:26:10 -04:00
Kent Overstreet
0a7bbc6aeb
cmd_fsck: make sure to modprobe if we might need kernel fsck
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-06-05 20:25:50 -04:00
Kent Overstreet
315508358d
cmd_list_journal: Improved matching
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-06-02 17:24:50 -04:00
Kent Overstreet
f6ed4c26d7
cmd_list_journal: Improved matching
...
Nix Flake actions / nix-matrix (push) Has been cancelled
build / bcachefs-tools-deb (ubuntu-22.04) (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-06-01 19:37:00 -04:00
Kent Overstreet
72f550f2da
cmd_fs_top(): skip non firing counters, add column for total
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-05-28 19:49:16 -04:00
Kent Overstreet
6cb4160e0c
cmd_list_journal: handle jset_entries with bad lengths
...
build / bcachefs-tools-deb (ubuntu-22.04) (push) Has been cancelled
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-05-25 17:59:45 -04:00
Kent Overstreet
241bcd0183
Fix infinite loop in cmd_list_journal
...
list_journal can print the entire contents of the journal, and non-dirty
entries don't get validated, so we have to account for that.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-05-25 17:05:55 -04:00
Kent Overstreet
fa0a54c45c
cmd_dump: Don't use noexcl by default
...
build / bcachefs-tools-deb (ubuntu-22.04) (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 / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
This has been leading to too many people taking metadata dumps of rw
mounted filesystems.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-05-21 21:41:04 -04:00
Kent Overstreet
3139850c75
suppress warn_unused_result
...
Nix Flake actions / nix-matrix (push) Has been cancelled
build / bcachefs-tools-deb (ubuntu-22.04) (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-05-15 17:58:36 -04:00
Mark Bryars
cea4d4dea3
Fix human readable units for compressed data
...
It was forcing human readable units even without the -h flag,
so use the functions that respect that configuration.
2025-05-15 22:55:50 +02:00
Kent Overstreet
968369e0da
Update bcachefs sources to db6b78d0e5ef bcachefs: Extend bucket_size to 32 bits
...
Nix Flake actions / nix-matrix (push) Has been cancelled
build / bcachefs-tools-deb (ubuntu-22.04) (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-05-08 14:37:46 -04:00
Kent Overstreet
723b9092ac
cmd_recover_super: Add a mode for recovering from another member device
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-05-08 12:26:19 -04:00
Kent Overstreet
79ec3dd3e3
cmd_super.c
...
Move some things out of cmd_format.c
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-05-08 11:21:53 -04:00
Kent Overstreet
6e4bda5ad5
Set BCH_FEATURE_incompat_version_field if supported
...
build / bcachefs-tools-deb (ubuntu-22.04) (push) Waiting to run
build / bcachefs-tools-deb (ubuntu-24.04) (push) Waiting to run
build / bcachefs-tools-rpm (push) Waiting to run
build / bcachefs-tools-msrv (push) Waiting to run
Nix Flake actions / nix-matrix (push) Waiting to run
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Blocked by required conditions
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-05-03 16:27:03 -04:00
Kent Overstreet
a4babd1d64
fix fsck return code for in-kernel fsck
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-05-02 14:33:52 -04:00
Kent Overstreet
5f46c4b522
Don't use xclose() in splice_fd_to_stdinout()
...
build / bcachefs-tools-deb (ubuntu-22.04) (push) Waiting to run
build / bcachefs-tools-deb (ubuntu-24.04) (push) Waiting to run
build / bcachefs-tools-rpm (push) Waiting to run
build / bcachefs-tools-msrv (push) Waiting to run
Nix Flake actions / nix-matrix (push) Waiting to run
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Blocked by required conditions
update-flake-lock / lockfile (push) Has been cancelled
The splice fd might have been closed, and a double-close here shouldn't
be a concern because we're not doing any interesting multithreaded
things and it's local to this function.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-29 13:33:29 -04:00
Kent Overstreet
6d7b47685b
Update bcachefs sources to f0ebca18293c bcachefs: bch2_fs_open() now takes a darray
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-28 15:31:43 -04:00
Kent Overstreet
e00e83b84d
copy_data should be static
...
build / bcachefs-tools-deb (ubuntu-22.04) (push) Waiting to run
build / bcachefs-tools-deb (ubuntu-24.04) (push) Waiting to run
build / bcachefs-tools-rpm (push) Waiting to run
build / bcachefs-tools-msrv (push) Waiting to run
Nix Flake actions / nix-matrix (push) Waiting to run
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Blocked by required conditions
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-26 21:20:08 -04:00
Kent Overstreet
3304c90bec
format_opts.no_sb_at_end
...
Add an option for controlling whether we create a third redundant
superblock at the end of the device.
For image files that are going to immediately be resized, we want to
skip this.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-21 18:46:30 -04:00
Kent Overstreet
fee67d807b
linux shim: implement BLK_OPEN_CREAT
...
this allows O_CREAT to be passed through, for the new image creation
tool.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-21 18:46:30 -04:00
Kent Overstreet
8fae948d60
fixup! posix_to_bcachefs: Process dirents in sorted order
2025-04-21 18:46:30 -04:00
Kent Overstreet
6a83d70ef5
Update bcachefs sources to c9d875f9be1f bcachefs: Casefold is now a regular opts.h option
...
build / bcachefs-tools-deb (ubuntu-22.04) (push) Waiting to run
build / bcachefs-tools-deb (ubuntu-24.04) (push) Waiting to run
build / bcachefs-tools-rpm (push) Waiting to run
build / bcachefs-tools-msrv (push) Waiting to run
Nix Flake actions / nix-matrix (push) Waiting to run
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Blocked by required conditions
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-21 15:47:15 -04:00
Kent Overstreet
98f2c06d41
fd fixes
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-21 14:32:50 -04:00
Kent Overstreet
dd2c7b9b89
format: Ensure we pick power of two bucket size
...
Non power of two bucket sizes are allowed - but not preferred.
We were accidentally picking bucket sizes that weren't blocksize
aligned - ouch.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-18 17:24:19 -04:00
Kent Overstreet
0f59cc6a9e
Update bcachefs sources to 65456ba56b93 bcachefs: Fix struct with flex member ABI warning
2025-04-17 12:51:03 -04:00
Kent Overstreet
642bc34abc
fixup! Add support for FS_IOC_GETFSSYSFSPATH
...
Nix Flake actions / nix-matrix (push) Has been cancelled
build / bcachefs-tools-deb (ubuntu-22.04) (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-04-15 12:01:13 -04:00
Kent Overstreet
0335994507
Fix bchu_fs_open_by_dev()
...
- we can now correctly open by parsing sysfs, instead of falling back to
reading the superblock and grabbing the UUID
- non-UUID filesystem names now work
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-15 11:28:47 -04:00
Kent Overstreet
ae29e3069f
cmd_migrate: adjust space reserved for new fs metadata
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-15 11:21:47 -04:00
Kent Overstreet
c9ee646718
Add support for FS_IOC_GETFSSYSFSPATH
...
With single device mode we won't always show up in sysfs by UUID, but
the new VFS ioctl handles this nicely.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13 21:10:24 -04:00
Kent Overstreet
844721635c
Update bcachefs sources to 2f9361370129 bcachefs: Improve opts.degraded
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13 21:10:24 -04:00
Kent Overstreet
ad3875d1d9
cmd_migrate: use correct bucket size
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13 21:10:24 -04:00
Kent Overstreet
e99da4dddb
xclose()
...
Add a helper to check for close errrors - especially bad file
descriptors, that can be a fun source of heisenbugs.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13 21:10:24 -04:00
Kent Overstreet
7b35cb1e4a
reshuffle device_cmds(), data_cmds()
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13 21:10:24 -04:00
Kent Overstreet
4f5dba7a87
cmd_format: --source, --no_initialize are incompatible
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13 21:10:24 -04:00
Kent Overstreet
007d6654bc
cmd_format: Don't initialize in verbose mode
...
Verbose is excessive here.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13 10:14:23 -04:00
Kent Overstreet
bd3e0742af
cmd_format: make build_fs() static
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13 10:14:23 -04:00
Kent Overstreet
24f9bd29a6
posix_to_bcachefs: Process dirents in sorted order
...
This improves reproducability when producing images.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13 10:03:06 -04:00
Kent Overstreet
3aa2a4c47c
format: Ensure bcachefs module is loaded before checking version
...
this prevents accidentally formatting with a version unsupported by the
running kernel
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-31 18:40:18 -04:00
Integral
66c943be6c
bcachefs-tools: add fs_usage & return -EINVAL when no matching subcommand
...
Add the missing usage function for "fs" subcommand; when no matching
subcommand exists, print the usage and return -EINVAL.
Signed-off-by: Integral <integral@archlinuxcn.org>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-31 12:51:18 -04:00
Kent Overstreet
76b3ec9d66
list_journal: fix transaction filter extent matching
...
Giving a single pos for the transaction filter now correctly matches
against extents.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-30 18:27:52 -04:00
Kent Overstreet
7c47145f6c
cmd_fs_usage: Fix kernel version check
...
build / bcachefs-tools-deb (ubuntu-22.04) (push) Has been cancelled
Nix-Tests / nix-flake-check (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
This needed an access() check, like the other uses, instead of exiting
if it can't be read.
Factor out a small common helper for this.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-28 11:38:55 -04:00
Integral
396545c2ea
bcachefs-tools: hide FUSE in usage when BCACHEFS_FUSE disabled
...
When BCACHEFS_FUSE is disabled or not defined, FUSE section shouldn't
be displayed in bcachefs usage (--help).
Signed-off-by: Integral <integral@archlinuxcn.org>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-28 11:12:32 -04:00
Kent Overstreet
19d3a1778c
fsck: Kill -R, --reconstruct_alloc
...
build / bcachefs-tools-deb (ubuntu-22.04) (push) Waiting to run
build / bcachefs-tools-deb (ubuntu-24.04) (push) Waiting to run
build / bcachefs-tools-rpm (push) Waiting to run
build / bcachefs-tools-msrv (push) Waiting to run
Nix-Tests / nix-flake-check (push) Waiting to run
We don't want users hitting this accidentally, and if needed for some
strange reason (it shouldn't be), it can still be specified via -o.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-26 10:15:26 -04:00
Integral
e54f288992
bcachefs-tools: fix build failure by fixing of C header filename
...
C header filename in `c_src/cmd_fusemount.c` hasn't been updated after renaming
`libbcachefs/fs-common.h`. Updating the filename to fix build failure.
Signed-off-by: Integral <integral@archlinuxcn.org>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-26 09:41:11 -04:00