mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-22 00:00:03 +03:00
When playing around with comparing some fstests results on different filesystems, I noticed that a 'bcachefs format' of a previously btrfs-formatted device still continued to mount as btrfs. The reason for this is that the blkid wipe invoked via open_for_format() is not working correctly. blkid_do_wipe() depends on the "SBMAGIC[_OFFSET]" values to do any work, and the associated superblock magic flag is not enabled on the probe. Set the probe flags to explicitly enable the values the bcachefs code depends on in the probe. This includes the type, label and superblock magic information. There are also a couple quirks in the libblkid code that might be worth noting. One is that the superblock enablement and flag setting functions appear hardcoded to return zero, so we just combine the error checks. Second, while blkid_do_wipe() can return an error, it actually doesn't in the scenario being addressed here because it doesn't seem to distinguish between the values being absent because nothing was found by the probe or because the values weren't enabled in the first place. Regardless, add an error check here in the event the wipe does explicitly fail for some unexpected reason. Signed-off-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> |
||
---|---|---|
.github | ||
ccan | ||
debian | ||
doc | ||
include | ||
initramfs | ||
libbcachefs | ||
linux | ||
packaging | ||
raid | ||
rust-src | ||
tests | ||
.bcachefs_revision | ||
.editorconfig | ||
.gitignore | ||
bcachefs.8 | ||
bcachefs.c | ||
build.nix | ||
cmd_assemble.c | ||
cmd_attr.c | ||
cmd_data.c | ||
cmd_device.c | ||
cmd_dump.c | ||
cmd_format.c | ||
cmd_fs.c | ||
cmd_fsck.c | ||
cmd_fusemount.c | ||
cmd_key.c | ||
cmd_kill_btree_node.c | ||
cmd_list_journal.c | ||
cmd_migrate.c | ||
cmd_option.c | ||
cmd_run.c | ||
cmd_subvolume.c | ||
cmd_version.c | ||
cmds.h | ||
config.h | ||
COPYING | ||
crypto.c | ||
crypto.h | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
INSTALL.md | ||
libbcachefs.c | ||
libbcachefs.h | ||
make-release-tarball.sh | ||
Makefile | ||
Makefile.compiler | ||
mount.bcachefs.sh | ||
qcow2.c | ||
qcow2.h | ||
README.md | ||
tools-util.c | ||
tools-util.h |
bcachefs-tools
Userspace tools and docs for bcachefs
Bcachefs is an advanced new filesystem for Linux, with an emphasis on reliability and robustness and the complete set of features one would expect from a modern filesystem.
This repo primarily consists of the following:
- bcachefs tool, the reason this repo exists.
- {mkfs,mount,fsck}.bcachefs utils, which is just wrappers calling the corresponding subcommands in the main tool
- docs in the form of man-pages and a user manual
Please refer to the main site for getting started An in-depth user manual is (also) found on the official website
Build and install
Refer to INSTALL.md
Bug reports and contributions
- The official mailing list, linux-bcachefs@vger.kernel.org
- IRC: #bcache on OFTC (irc.oftc.net). Although, note that it can be easily missed.