summaryrefslogtreecommitdiff
path: root/cmds-check.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmds-check.c')
-rw-r--r--cmds-check.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/cmds-check.c b/cmds-check.c
index a1d5a557..7c5cfbb1 100644
--- a/cmds-check.c
+++ b/cmds-check.c
@@ -6821,8 +6821,7 @@ int cmd_check(int argc, char **argv)
int option_index = 0;
int init_csum_tree = 0;
int qgroup_report = 0;
- enum btrfs_open_ctree_flags ctree_flags =
- OPEN_CTREE_PARTIAL | OPEN_CTREE_EXCLUSIVE;
+ enum btrfs_open_ctree_flags ctree_flags = OPEN_CTREE_EXCLUSIVE;
while(1) {
int c;
@@ -6892,6 +6891,10 @@ int cmd_check(int argc, char **argv)
goto err_out;
}
+ /* only allow partial opening under repair mode */
+ if (repair)
+ ctree_flags |= OPEN_CTREE_PARTIAL;
+
info = open_ctree_fs_info(argv[optind], bytenr, 0, ctree_flags);
if (!info) {
fprintf(stderr, "Couldn't open file system\n");