summaryrefslogtreecommitdiff
path: root/c_src
AgeCommit message (Collapse)Author
2025-05-03Set BCH_FEATURE_incompat_version_field if supportedKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-05-02fix fsck return code for in-kernel fsckKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-29Don't use xclose() in splice_fd_to_stdinout()Kent Overstreet
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-28Update bcachefs sources to f0ebca18293c bcachefs: bch2_fs_open() now takes a ↵Kent Overstreet
darray Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-26copy_data should be staticKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-21format_opts.no_sb_at_endKent Overstreet
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-21linux shim: implement BLK_OPEN_CREATKent Overstreet
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-21fixup! posix_to_bcachefs: Process dirents in sorted orderKent Overstreet
2025-04-21Update bcachefs sources to c9d875f9be1f bcachefs: Casefold is now a regular ↵Kent Overstreet
opts.h option Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-21fd fixesKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-18format: Ensure we pick power of two bucket sizev1.25.2Kent Overstreet
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-17Update bcachefs sources to 65456ba56b93 bcachefs: Fix struct with flex ↵Kent Overstreet
member ABI warning
2025-04-15fixup! Add support for FS_IOC_GETFSSYSFSPATHKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-15Fix bchu_fs_open_by_dev()Kent Overstreet
- 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-15cmd_migrate: adjust space reserved for new fs metadataKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13Add support for FS_IOC_GETFSSYSFSPATHKent Overstreet
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-13Update bcachefs sources to 2f9361370129 bcachefs: Improve opts.degradedKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13cmd_migrate: use correct bucket sizeKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13xclose()Kent Overstreet
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-13reshuffle device_cmds(), data_cmds()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13cmd_format: --source, --no_initialize are incompatibleKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13cmd_format: Don't initialize in verbose modeKent Overstreet
Verbose is excessive here. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13cmd_format: make build_fs() staticKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-13posix_to_bcachefs: Process dirents in sorted orderKent Overstreet
This improves reproducability when producing images. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-31format: Ensure bcachefs module is loaded before checking versionKent Overstreet
this prevents accidentally formatting with a version unsupported by the running kernel Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-31bcachefs-tools: add fs_usage & return -EINVAL when no matching subcommandIntegral
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-30list_journal: fix transaction filter extent matchingKent Overstreet
Giving a single pos for the transaction filter now correctly matches against extents. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-28cmd_fs_usage: Fix kernel version checkKent Overstreet
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-28bcachefs-tools: hide FUSE in usage when BCACHEFS_FUSE disabledIntegral
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-26fsck: Kill -R, --reconstruct_allocKent Overstreet
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-26bcachefs-tools: fix build failure by fixing of C header filenameIntegral
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-26migrate_superblock: make sure we remove old superblockKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-25format: fix minimum bucket nr checkKent Overstreet
2025-03-25Update bcachefs sources to 1392e502d48b bcachefs: Add an "ignore unknown" ↵Kent Overstreet
option to bch2_parse_mount_opts() Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-24Migrate tool fixesKent Overstreet
Migrate now works: there is an inconsequential free space inconsistency after marking the new superblock (in migrate_superblock), which we're hacking around with a fsck. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-23format: kill min_size()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-23format: Redo bucket size calculationsKent Overstreet
bucket size now takes into account system memory and amount of memory required to fsck: on very large filesystems it will automatically scale up bucket size to ensure we can fsck. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-23bch2_format() now takes a darray of dev_optsKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-19More device option workKent Overstreet
More work to regularize device options, with common command line parsing - like other options. This fixes an assortment of little nits: buggyness with the discard option, device state (and others) can now be specied at device add time, and is a decent cleanup. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-19cmd_fsck: just exit if passed -aKent Overstreet
-a is used when called from system to mean "automatic invocation, run check only if you think you need it". Since we have self healing and online fsck, we never need run fsck automatically at boot time. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-19Update bcachefs sources to dbe591cee299 bcachefs: Add missing smp_rmb()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-17cmd_recover_super: 'bcachefs recover-super'Kent Overstreet
New tool for scanning for backup superblocks, to recover when the primary superblock + sb layout have been overwritten. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-16Format now sets version_incompat_allowedKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-22fix bch2_super_write() for bs > 4096Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-06cmd_fs_usage: Handle querying old versionsKent Overstreet
Fix reading accounting from old kernel versions that had it in little endian. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-03fixup! Update bcachefs sources to 63bbe0ca4167 bcachefs: ScrubKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-03ScrubKent Overstreet
Implement 'bcachefs data scrub', frontend for BCH_IOCTL_DATA.BCH_DATA_OP_scrub. Takes a path to a device, mountpoint, or filesystem uuid. Can be run on a specific device by passing a device, or if run on a filesystem scrubs all devices in parallel. Metadata only scrubbing is supported via -m. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-03bcachefs fs topKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-03Update bcachefs sources to 63bbe0ca4167 bcachefs: ScrubKent Overstreet
2025-01-26cmd_format: fix -l, -v optionsKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>