mirror of
https://github.com/kdave/btrfs-progs
synced 2024-12-23 14:45:19 +00:00
btrfs-progs: introduce rescue command group
Add an empty 1st level command namespace that will collect specialized recovery tools like chunk-recover, zero-log, select-super and similar. Signed-off-by: David Sterba <dsterba@suse.cz> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
This commit is contained in:
parent
992fd23180
commit
133b1b0377
2
Makefile
2
Makefile
@ -13,7 +13,7 @@ objects = ctree.o disk-io.o radix-tree.o extent-tree.o print-tree.o \
|
||||
cmds_objects = cmds-subvolume.o cmds-filesystem.o cmds-device.o cmds-scrub.o \
|
||||
cmds-inspect.o cmds-balance.o cmds-send.o cmds-receive.o \
|
||||
cmds-quota.o cmds-qgroup.o cmds-replace.o cmds-check.o \
|
||||
cmds-restore.o cmds-chunk.o
|
||||
cmds-restore.o cmds-chunk.o cmds-rescue.o
|
||||
libbtrfs_objects = send-stream.o send-utils.o rbtree.o btrfs-list.o crc32c.o \
|
||||
uuid-tree.o
|
||||
libbtrfs_headers = send-stream.h send-utils.h send.h rbtree.h btrfs-list.h \
|
||||
|
1
btrfs.c
1
btrfs.c
@ -247,6 +247,7 @@ static const struct cmd_group btrfs_cmd_group = {
|
||||
{ "device", cmd_device, NULL, &device_cmd_group, 0 },
|
||||
{ "scrub", cmd_scrub, NULL, &scrub_cmd_group, 0 },
|
||||
{ "check", cmd_check, cmd_check_usage, NULL, 0 },
|
||||
{ "rescue", cmd_rescue, NULL, &rescue_cmd_group, 0 },
|
||||
{ "chunk-recover", cmd_chunk_recover, cmd_chunk_recover_usage, NULL, 0},
|
||||
{ "restore", cmd_restore, cmd_restore_usage, NULL, 0 },
|
||||
{ "inspect-internal", cmd_inspect, NULL, &inspect_cmd_group, 0 },
|
||||
|
37
cmds-rescue.c
Normal file
37
cmds-rescue.c
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright (C) 2013 SUSE. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
* License v2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 021110-1307, USA.
|
||||
*/
|
||||
|
||||
#include "kerncompat.h"
|
||||
|
||||
#include "commands.h"
|
||||
|
||||
static const char * const rescue_cmd_group_usage[] = {
|
||||
"btrfs rescue <command> [options] <path>",
|
||||
NULL
|
||||
};
|
||||
|
||||
const struct cmd_group rescue_cmd_group = {
|
||||
rescue_cmd_group_usage, NULL, {
|
||||
{ 0, 0, 0, 0, 0 }
|
||||
}
|
||||
};
|
||||
|
||||
int cmd_rescue(int argc, char **argv)
|
||||
{
|
||||
return handle_command_group(&rescue_cmd_group, argc, argv);
|
||||
}
|
@ -90,12 +90,14 @@ extern const struct cmd_group inspect_cmd_group;
|
||||
extern const struct cmd_group quota_cmd_group;
|
||||
extern const struct cmd_group qgroup_cmd_group;
|
||||
extern const struct cmd_group replace_cmd_group;
|
||||
extern const struct cmd_group rescue_cmd_group;
|
||||
|
||||
extern const char * const cmd_send_usage[];
|
||||
extern const char * const cmd_receive_usage[];
|
||||
extern const char * const cmd_check_usage[];
|
||||
extern const char * const cmd_chunk_recover_usage[];
|
||||
extern const char * const cmd_restore_usage[];
|
||||
extern const char * const cmd_rescue_usage[];
|
||||
|
||||
int cmd_subvolume(int argc, char **argv);
|
||||
int cmd_filesystem(int argc, char **argv);
|
||||
@ -114,6 +116,7 @@ int cmd_restore(int argc, char **argv);
|
||||
int cmd_select_super(int argc, char **argv);
|
||||
int cmd_dump_super(int argc, char **argv);
|
||||
int cmd_debug_tree(int argc, char **argv);
|
||||
int cmd_rescue(int argc, char **argv);
|
||||
|
||||
/* subvolume exported functions */
|
||||
int test_issubvolume(char *path);
|
||||
|
@ -69,6 +69,8 @@ btrfs \- control a btrfs filesystem
|
||||
.PP
|
||||
\fBbtrfs\fP \fBcheck\fP [\fIoptions\fP] \fI<device>\fP
|
||||
.PP
|
||||
\fBbtrfs\fP \fBrescue\fP [\fIoptions\fP] \fI<path>\fP
|
||||
.PP
|
||||
\fBbtrfs\fP \fBchunk-recover\fP [\fIoptions\fP] \fI<device>\fP
|
||||
.PP
|
||||
\fBbtrfs\fP \fBrestore\fP [\fIoptions\fP] \fI<device>\fP
|
||||
@ -502,6 +504,10 @@ create a new extent tree.
|
||||
.RE
|
||||
.TP
|
||||
|
||||
\fBrescue\fR [\fIoptions\fP] <path>\fR
|
||||
Rescue toolbox.
|
||||
.TP
|
||||
|
||||
\fBchunk-recover\fR [\fIoptions\fP] <device>\fR
|
||||
Recover the chunk tree by scanning the devices one by one.
|
||||
.RS
|
||||
|
Loading…
Reference in New Issue
Block a user