summaryrefslogtreecommitdiff
path: root/c_src/bcachefs.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-12-29 08:44:31 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2025-02-03 14:08:49 -0500
commit3fcc955d00d3e395f33ca85d3050fddefea23491 (patch)
tree843a8e9be01a0cd87c604d7ef86dd51c3707213e /c_src/bcachefs.c
parentc4e25c6c3c9dcbfb151d18462d458099bb8f88be (diff)
Scrub
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>
Diffstat (limited to 'c_src/bcachefs.c')
-rw-r--r--c_src/bcachefs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/c_src/bcachefs.c b/c_src/bcachefs.c
index db5acedb..f488436e 100644
--- a/c_src/bcachefs.c
+++ b/c_src/bcachefs.c
@@ -71,6 +71,7 @@ void bcachefs_usage(void)
"\n"
"Commands for managing filesystem data:\n"
" data rereplicate Rereplicate degraded data\n"
+ " data scrub Verify checksums and correct errors, if possible\n"
" data job Kick off low level data jobs\n"
"\n"
"Encryption:\n"
@@ -160,6 +161,8 @@ int data_cmds(int argc, char *argv[])
return data_usage();
if (!strcmp(cmd, "rereplicate"))
return cmd_data_rereplicate(argc, argv);
+ if (!strcmp(cmd, "scrub"))
+ return cmd_data_scrub(argc, argv);
if (!strcmp(cmd, "job"))
return cmd_data_job(argc, argv);