diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-09-03 16:02:11 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-09-06 01:43:44 -0400 |
commit | 31c7a7398a28b91cb1721c2721eaf577ed187bf2 (patch) | |
tree | ee03706f989ed85d783b86d63ea9156111acbc72 /c_src/cmd_super.c | |
parent | e65dd86e419d96aaa616dcb508d3564bd5721ef6 (diff) |
format: Do a 'udevadm trigger' after formatting
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>
Diffstat (limited to 'c_src/cmd_super.c')
-rw-r--r-- | c_src/cmd_super.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/c_src/cmd_super.c b/c_src/cmd_super.c index 18e4df80..1f93ed25 100644 --- a/c_src/cmd_super.c +++ b/c_src/cmd_super.c @@ -480,6 +480,14 @@ int cmd_recover_super(int argc, char *argv[]) if (args.yes || ask_yn()) bch2_super_write(dev_fd, sb); + /* + * Ensure that 'bcachefs mount' sees the newly formatted devices when + * scanning by UUID in the udev database: + */ + CLASS(printbuf, udevadm_cmd)(); + prt_printf(&udevadm_cmd, "udevadm trigger --settle %s", dev_path); + system(udevadm_cmd.buf); + if (args.src_device) printf("Recovered device will no longer have a journal, please run fsck\n"); |