1898 Commits

Author SHA1 Message Date
Kent Overstreet
fdf2819481 cmd_dump improvements
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-20 11:56:42 -04:00
Kent Overstreet
54be622b28 qcow2: Refactor to prep for sanitizing
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-20 11:56:42 -04:00
Kent Overstreet
2f28824c2b qcow2: qcow2_write_(buf|ranges)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-20 11:56:42 -04:00
koverstreet
1b832f3739 Merge pull request #395 from koverstreet/update_flake_lock_action
flake.lock: Update
2025-07-20 11:56:42 -04:00
Kent Overstreet
01db49fe5b Don't make clippy failures nix flake failures
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-20 11:56:42 -04:00
github-actions[bot]
67a804f397 flake.lock: Update
Flake lock file updates:

• Updated input 'crane':
    'github:ipetkov/crane/70947c1908108c0c551ddfd73d4f750ff2ea67cd?narHash=sha256-vVOAp9ahvnU%2BfQoKd4SEXB2JG2wbENkpqcwlkIXgUC0%3D' (2025-03-19)
  → 'github:ipetkov/crane/544d09fecc8c2338542c57f3f742f1a0c8c71e13?narHash=sha256-g5uP3jIj%2BSTUcfTJDKYopxnSijs2agRg13H0SGL5iE4%3D' (2025-07-19)
• Updated input 'flake-compat':
    'github:edolstra/flake-compat/ff81ac966bb2cae68946d5ed5fc4994f96d0ffec?narHash=sha256-NeCCThCEP3eCl2l/%2B27kNNK7QrwZB1IJCrXfrbv5oqU%3D' (2024-12-04)
  → 'github:edolstra/flake-compat/9100a0f413b0c601e0533d1d94ffd501ce2e7885?narHash=sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX%2BfjA8Xf8PUmqCY%3D' (2025-05-12)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/f4330d22f1c5d2ba72d3d22df5597d123fdb60a9?narHash=sha256-%2Bu2UunDA4Cl5Fci3m7S643HzKmIDAe%2BfiXrLqYsR2fs%3D' (2025-03-07)
  → 'github:hercules-ci/flake-parts/77826244401ea9de6e3bac47c2db46005e1f30b5?narHash=sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ%3D' (2025-07-01)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/147dee35aab2193b174e4c0868bd80ead5ce755c?narHash=sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk%3D' (2025-03-02)
  → 'github:nix-community/nixpkgs.lib/14a40a1d7fb9afa4739275ac642ed7301a9ba1ab?narHash=sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo%3D' (2025-06-29)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/a84ebe20c6bc2ecbcfb000a50776219f48d134cc?narHash=sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ%3D' (2025-03-19)
  → 'github:nixos/nixpkgs/c87b95e25065c028d31a94f06a62927d18763fdf?narHash=sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc%3D' (2025-07-19)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/70bf752d176b2ce07417e346d85486acea9040ef?narHash=sha256-KzTwk/5ETJavJZYV1DEWdCx05M4duFCxCpRbQSKWpng%3D' (2025-03-21)
  → 'github:oxalica/rust-overlay/95719de18aefa63a624bf75a1ff98744b089ec12?narHash=sha256-qRRP3QavbwW0o%2BLOh31QNEfCgPlzK5SKlWALUJL6T7E%3D' (2025-07-20)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/adc195eef5da3606891cedf80c0d9ce2d3190808?narHash=sha256-XRE8hL4vKIQyVMDXykFh4ceo3KSpuJF3ts8GKwh5bIU%3D' (2025-03-19)
  → 'github:numtide/treefmt-nix/421b56313c65a0815a52b424777f55acf0b56ddf?narHash=sha256-tzbhc4XttkyEhswByk5R38l%2BztN9UDbnj0cTcP6Hp9A%3D' (2025-07-20)
2025-07-20 11:56:42 -04:00
Kent Overstreet
e6a1c855ca bump version to 1.25.3
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-20 11:56:42 -04:00
Kent Overstreet
6f9d09aaf3 kill ubuntu 22.04 build
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-20 11:56:42 -04:00
Kent Overstreet
e17d8841ef Update bcachefs sources to c1ec91699f60 workqueue: Basic memory allocation profiling support
Some checks failed
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
v1.25.3
2025-07-19 14:29:30 -04:00
Kent Overstreet
ffe083c31d Fix clang build errors
Some checks failed
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-07-17 17:38:44 -04:00
Kent Overstreet
8471005b9f Update bcachefs sources to deeffbdc52f1 bcachefs: better device too small error message
Some checks failed
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-07-15 18:41:03 -04:00
Kent Overstreet
9becf21b43 update linux shim with new guards
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-15 18:39:45 -04:00
Kent Overstreet
ac9ca56637 posix_to_bcachefs: plumb verbosity
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-15 18:39:45 -04:00
Kent Overstreet
97b8348d28 posix_to_bcachefs: fix inode.bi_sectors updates
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-15 18:39:45 -04:00
Kent Overstreet
5f92627783 cmd_image_update: Fix truncate call at the start of update
Some checks failed
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
We don't want to make the image smaller until we've finished updating.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-15 16:54:11 -04:00
Kent Overstreet
e1e87f53cd Update bcachefs sources to 4b5105c627f4 workqueue: Basic memory allocation profiling support
Some checks failed
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
2025-07-14 10:18:56 -04:00
Kent Overstreet
b261da891a Update bcachefs sources to c241a5bf54ed bcachefs: nopromote sub counters
Some checks failed
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
2025-07-13 10:46:28 -04:00
Kent Overstreet
36a3634c5e fix fuse build
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-13 10:02:53 -04:00
Kent Overstreet
c2f3e4c99c Implement dump_stack()
Rust has this in the standard library - nice.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-13 09:19:28 -04:00
koverstreet
73740b9cf2
Merge pull request #391 from prey169/master
Format filesystem with encryption using a passphase file
2025-07-13 08:05:00 -05:00
Jérôme Poulin
5dd10a17e9 cmd_attr: Add --options=- and --remove-all to unset options
Signed-off-by: Jérôme Poulin <jeromepoulin@gmail.com>
2025-07-12 22:20:17 -04:00
Kent Overstreet
3321afc8b6 cmd_image_update
New tool: 'bcachefs image update', for updating images produced by
'bcachefs image create': this tool will update images while making the
minimal changes to the on disk image, to make tools like casync more
efficient.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-12 19:49:55 -04:00
Kent Overstreet
c1a25673e9 cmd_image: finish_image()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-12 19:49:41 -04:00
Kent Overstreet
d0e71900a3 posix_to_bcachefs: create_or_update_link()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-12 19:49:41 -04:00
Kent Overstreet
b02c3e9682 posix_to_bcachefs: cleanup
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-12 19:49:41 -04:00
Kent Overstreet
c074341f16 posix_to_bcachefs: sync file data, not just copy
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-12 19:49:41 -04:00
Kent Overstreet
3830cc296a posix_to_bcachefs: create_or_update_file()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-12 19:49:41 -04:00
Kent Overstreet
6795cb6d0c posix_to_bcachefs: delete_non_matching_dirents()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-12 19:49:41 -04:00
Kent Overstreet
f9d8d2c51d cmd_image: hook up c->loglevel
Quieter output.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-12 19:49:41 -04:00
Kent Overstreet
dae984cf38 Update bcachefs sources to 8efd93eb2d0f bcachefs: Fix replicas max options
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-12 19:49:41 -04:00
Kent Overstreet
4e973f190c Update bcachefs sources to 6fc0b31163ea workqueue: Basic memory allocation profiling support
Some checks failed
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-07-08 15:26:30 -04:00
Kent Overstreet
25c580652a Update bcachefs sources to 4e917bf40142 bcachefs: __bch2_btree_node_alloc() now respects target
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-07 20:12:25 -04:00
Kent Overstreet
a0f12e09b6 cmd_image: Flush journal before moving btree
We need the key cache to be flushed before moving btree nodes - key
cache flushing won't obey the target we're moving btree nodes to.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-07 19:54:48 -04:00
Kent Overstreet
03d7318c31 cmd_data: scrub is bcachefs data scrub, not bcachefs data job scrub
Some checks failed
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-07-07 16:22:38 -04:00
Kent Overstreet
39c00050d2 bpos_parse(): parse symbolic constants
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-07 16:14:18 -04:00
Kent Overstreet
ec23efce86 Update bcachefs sources to b47c5ba55d59 bcachefs: silence userspace build warning
Some checks failed
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-07-06 14:48:40 -04:00
Kent Overstreet
60ec05df84 bcachefs recovery-passes
New subcommand for scheduling or descheduling recovery passes on an
unmounted filesystem.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-06 12:29:26 -04:00
Kent Overstreet
cdde2f1160 Add missing newline to bcachefs --help
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-06 11:26:15 -04:00
Kent Overstreet
b392d55d4a cmd_migrate: Fix small UAF
Some checks failed
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-07-05 11:33:49 -04:00
Kent Overstreet
7c0c6c812b cmd_device_evacuate: --force
Some checks failed
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
We now take the --force option, like set-state, if the array will become
degraded.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-04 13:02:12 -04:00
Kent Overstreet
e7cc6bb9cf getopt() -> getopt_long()
Kill all remaining getopt() uses - all options can now be passed as
longopts.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-04 12:47:30 -04:00
prey169
7362ed1223 Added the ability to format a filesystem with encryption, using a passphrase key located within a file 2025-07-03 23:54:12 -04:00
Kent Overstreet
7d69a303d1 kill_btree_node: We can now kill nodes on a specific device
For improved btree node scan tests.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-03 21:12:00 -04:00
Kent Overstreet
78b1ccf5f1 cmd_list_journal: By default, print all contiguous entries
Some checks failed
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
Previously, we defaulted to only printing dirty journal entries (which
means nothing would be printed after a clean shutdown) - this is usually
not what we want.

Now, we default to printing the biggest range that has no gaps or
missing entries.

-a, --all
  now means print all entries, not just contiguous entries

And we now have

-d, --dirty-only
  for the the previous default behaviour.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-02 15:33:07 -04:00
Kent Overstreet
a99523667a Update bcachefs sources to e02a6a521ba0 bcachefs: Faster checking for missing journal entries
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-02 15:33:05 -04:00
Kent Overstreet
27e51d62ea Update bcachefs sources to 48d506769bc0 bcachefs: bch2_journal_entry_missing_range()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-02 14:45:52 -04:00
Kent Overstreet
4145de1746 cmd_list_journal: new options
Some checks failed
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
-D, --datetime
  Print out one line per journal entry, with datetime it was written

-L, --log-only
  Only print entries containing log messages

-F, --flush-only
  Only print flush commits

Additionally, we now print a line for missing journal entry ranges.

These make it easier to get an overall picture of what happened in the
journal - in particular, seeing how far back we can rewind before we
have gaps.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-06-30 22:39:52 -04:00
Kent Overstreet
ffd8765ec6 mount: check if bcachefs module is loaded
Some checks failed
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
update-flake-lock / lockfile (push) Has been cancelled
This lets us print out a more useful error.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-06-25 14:01:22 -04:00
Kent Overstreet
84f7b2fdc3 cmd_fsck: Online fsck can now specify a mountpoint
If the specified path is a directory, we'll try to run online fsck on
the filesystem mounted at that path.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-06-25 13:20:59 -04:00
Kent Overstreet
45f6fe0a14 cmd_image_create
Some checks failed
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