linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/4] Btrfs-progs: fsck: only allow partial opening under repair mode
@ 2014-05-29  9:59 Wang Shilong
  2014-05-29  9:59 ` [PATCH v2 3/4] Btrfs-progs: fsck: deal with corrupted csum root Wang Shilong
  2014-06-02 16:18 ` [PATCH v2 1/4] Btrfs-progs: fsck: only allow partial opening under repair mode David Sterba
  0 siblings, 2 replies; 8+ messages in thread
From: Wang Shilong @ 2014-05-29  9:59 UTC (permalink / raw)
  To: linux-btrfs

The reason that we allow partial opening is that sometimes,
we may have some corrupted trees.(for example extent tree), for
fsck repair case, the broken tree may be rebuilt later.

So if users only want to do check but not repair anything, this
patch will make fsck return failure as soon as possible and
tell users that some critial roots have been corrupted.

Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
---
v1->v2: add necessary changelog.(Thanks to Eric)
---
 cmds-check.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/cmds-check.c b/cmds-check.c
index db7df80..0e4e042 100644
--- a/cmds-check.c
+++ b/cmds-check.c
@@ -6810,8 +6810,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;
@@ -6877,6 +6876,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");
-- 
1.9.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-06-04  1:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-29  9:59 [PATCH v2 1/4] Btrfs-progs: fsck: only allow partial opening under repair mode Wang Shilong
2014-05-29  9:59 ` [PATCH v2 3/4] Btrfs-progs: fsck: deal with corrupted csum root Wang Shilong
2014-06-02 17:27   ` David Sterba
2014-06-03  3:25     ` Wang Shilong
2014-06-03 16:21       ` David Sterba
2014-06-04  1:43         ` Wang Shilong
2014-06-02 16:18 ` [PATCH v2 1/4] Btrfs-progs: fsck: only allow partial opening under repair mode David Sterba
2014-06-03  3:35   ` Wang Shilong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).