From patchwork Thu Oct 29 23:17:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Xu X-Patchwork-Id: 11867891 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.1 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B184C4741F for ; Thu, 29 Oct 2020 23:18:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 36A9F2076E for ; Thu, 29 Oct 2020 23:18:13 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=dxuuu.xyz header.i=@dxuuu.xyz header.b="d5oricVV"; dkim=temperror (0-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="jPaQLFEG" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726008AbgJ2XSM (ORCPT ); Thu, 29 Oct 2020 19:18:12 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:44717 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725785AbgJ2XSL (ORCPT ); Thu, 29 Oct 2020 19:18:11 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id EB9325C0108; Thu, 29 Oct 2020 19:18:10 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Thu, 29 Oct 2020 19:18:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dxuuu.xyz; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm1; bh=1zRZzbHhPhzR9 OcmNemivr166tSh1otrHWRfzw6OHGg=; b=d5oricVV3KSZ2bmUUCZfvRHRarNS4 XY9EBbVjnPadp5n70+sYRVng+vnxsQdDktJHNzrYtnwnHAW6HnHf1T0Dg9UUDuSX ofgrYX1XfU6LxE55RHxI1JdgTNftTfdugDEuT4TB60C9iNenPpLxU+4b30SShPoC 9JdTnV5+p9OJkhpNTVCrsf2/7dGFcBtGfFG2H9Mn/LzbVHfntr0mdvlHb3zf5IMC AtXHgbNZImBQw+ORlAIyi5DAM14vv596rgwS+Z1Mm4YQWWlQDHxrYOiMAx3mtg9f HGwFIch1g5rytgZ5pP1eJtQ6/ojocL9YOzEy1+qyPgZ4cpRMMjfdHtBsw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=1zRZzbHhPhzR9OcmNemivr166tSh1otrHWRfzw6OHGg=; b=jPaQLFEG egjOQ5KStRfXM1UX2BIxCGBTERwTbp398ulXFfNXJYuy6EMQbBZwHi9D/0E2244I MfmSQuSc8VID+AMXf6eWK9K1r/Ctzkv0rjzR6i7ifdBxoM1ICVOA/gv8oLhPKsI8 Tm9MNWQLwtlF2J5myWgyAsBvhbHWbjEF6wRSKpGv5sbJuN2+cLwf4MIQFdojI23U 7pjAhMtHFCohvoNMrTkZGsaqvLMlz+KHQcbmD/UW6qDNjlzDsVhbgmMEori8CIif HvwRMSb11IXanMIB+0x26v/dhlMjr/nggJ6wn52oM3dqp59dJQWH6rRqJayv/wyC fQdN6ubR7AxBwg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrleeggddtkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecufghrlhcuvffnffculdefhedmnecujfgurhephffvuf ffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffrghnihgvlhcuighuuceougig uhesugiguhhuuhdrgiihiieqnecuggftrfgrthhtvghrnhepvdeulefhkeevkeeuhfduhe egheelffeigfffheevffehveduudelkeeivefghefgnecuffhomhgrihhnpehgihhthhhu sgdrtghomhenucfkphepudeifedruddugedrudefvddrudenucevlhhushhtvghrufhiii gvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegugihusegugihuuhhurdighiii X-ME-Proxy: Received: from dlxu-fedora-R90QNFJV.thefacebook.com (unknown [163.114.132.1]) by mail.messagingengine.com (Postfix) with ESMTPA id D82EF3064610; Thu, 29 Oct 2020 19:18:09 -0400 (EDT) From: Daniel Xu To: linux-btrfs@vger.kernel.org, dsterba@suse.cz Cc: Daniel Xu , kernel-team@fb.com Subject: [PATCH 1/3] btrfs-progs: rescue: Add create-control-device subcommand Date: Thu, 29 Oct 2020 16:17:36 -0700 Message-Id: <052b7f70aee959f0c724b3d0524a727b5e1f102d.1604013169.git.dxu@dxuuu.xyz> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org This commit adds a new `btrfs rescue create-control-device` subcommand that creats /dev/btrfs-control. This is helpful on systems that may not have `mknod` installed. Link: https://github.com/kdave/btrfs-progs/issues/223 Signed-off-by: Daniel Xu --- cmds/rescue.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/cmds/rescue.c b/cmds/rescue.c index 100d25f3..e6972fb7 100644 --- a/cmds/rescue.c +++ b/cmds/rescue.c @@ -18,6 +18,12 @@ #include "kerncompat.h" +#include +#include +#include +#include +#include + #include #include "kernel-shared/ctree.h" #include "kernel-shared/volumes.h" @@ -264,6 +270,34 @@ out: } static DEFINE_SIMPLE_COMMAND(rescue_fix_device_size, "fix-device-size"); +static const char * const cmd_rescue_create_control_device_usage[] = { + "btrfs rescue create-control-device", + "Create /dev/btrfs-control (see 'CONTROL DEVICE' in btrfs(5))", + NULL +}; + +static int cmd_rescue_create_control_device(const struct cmd_struct *cmd, + int argc, char **argv) +{ + dev_t device; + int ret; + + if (check_argc_exact(argc, 1)) + return 1; + + device = makedev(10, 234); + + ret = mknod("/dev/btrfs-control", S_IFCHR | S_IRUSR | S_IWUSR, device); + if (ret) { + error("could not create /dev/btrfs-control: %m"); + return 1; + } + + return 0; + +} +static DEFINE_SIMPLE_COMMAND(rescue_create_control_device, "create-control-device"); + static const char rescue_cmd_group_info[] = "toolbox for specific rescue operations"; @@ -273,6 +307,7 @@ static const struct cmd_group rescue_cmd_group = { &cmd_struct_rescue_super_recover, &cmd_struct_rescue_zero_log, &cmd_struct_rescue_fix_device_size, + &cmd_struct_rescue_create_control_device, NULL } }; From patchwork Thu Oct 29 23:17:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Xu X-Patchwork-Id: 11867893 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BFB6FC2D0A3 for ; Thu, 29 Oct 2020 23:18:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 478CD2076E for ; Thu, 29 Oct 2020 23:18:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=dxuuu.xyz header.i=@dxuuu.xyz header.b="SJxS5EPT"; dkim=temperror (0-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="OMoBDDuR" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725765AbgJ2XSN (ORCPT ); Thu, 29 Oct 2020 19:18:13 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:33899 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725800AbgJ2XSM (ORCPT ); Thu, 29 Oct 2020 19:18:12 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id BD3395C0127; Thu, 29 Oct 2020 19:18:11 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Thu, 29 Oct 2020 19:18:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dxuuu.xyz; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm1; bh=vdqtJzroHoFHS 9urMLXID6uPIJ1tiT0lVYNo6pN6cZk=; b=SJxS5EPThT5TzKtMNpQarMtpIqHy1 6pcZSyeixl7yTwGeO0NbXAfZnyFga0AOYf744YyB6gbS1t0om0EtY7IZesj+vsnQ KDQ3Cy0HARJJZ+YllCKYQvB2n48B5X3ck5/Sem5RWMD9duSDxhk6DlLDiM0oBs+W Ic/5fTq8/Xu41l/qGJzKzLl1+nppJGItNKHjkMOCrhdlhMLPofPZ3IH6xnzg6Xwg 4wOCDfH7S7dwuFB2Ug6DAigOrwXuXdDca6CRWBtwdP6FspRySK8JLmVjlZwnUEdA eUni+QFRr3h7SASVgBxjlt55sQvqCkI92a/ZxRoUp5dYGhGDqV+YZFAIw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=vdqtJzroHoFHS9urMLXID6uPIJ1tiT0lVYNo6pN6cZk=; b=OMoBDDuR TTIFf9OLkIg9Ns9AkBQyFsb8BxrSIE79xx7wto1iG8w6kRaEuOurLEguEkp1Tc4o hok4OSaqmZ+5LFoDpdIotYMMWsJFY0/i5Kcv4+Y27uhfbbtwR9WhDN9gRfaSpw9N NkCW4RjsyWqHTtvmp29kGP0kdmY3Jy5GZga6E0150ngC9wzem+E/S4pS51c3WuUZ Dt+iA3BOafjqC6Mzs8rbwr/Ye6/wXcK6EQSUpT8Q63oa2THJJ+DCmbfUyfGKWq6M F+OLtMgITXKGOAa9edHcKegUQVeLQJZ6zh33iVeNaQfScJtRYLUcrTKG6ibt8wbC Cs/vOne3sHQ5fw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrleeggddtkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecufghrlhcuvffnffculdejtddmnecujfgurhephffvuf ffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffrghnihgvlhcuighuuceougig uhesugiguhhuuhdrgiihiieqnecuggftrfgrthhtvghrnhepgfekudelkefhteevhfeggf dvgeefjeefgfeuvddutdfhgffghfehtdeuueetfeeinecukfhppeduieefrdduudegrddu fedvrddunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epugiguhesugiguhhuuhdrgiihii X-ME-Proxy: Received: from dlxu-fedora-R90QNFJV.thefacebook.com (unknown [163.114.132.1]) by mail.messagingengine.com (Postfix) with ESMTPA id ECE3A3064684; Thu, 29 Oct 2020 19:18:10 -0400 (EDT) From: Daniel Xu To: linux-btrfs@vger.kernel.org, dsterba@suse.cz Cc: Daniel Xu , kernel-team@fb.com Subject: [PATCH 2/3] btrfs-progs: bash: Update completion script with create-control-device Date: Thu, 29 Oct 2020 16:17:37 -0700 Message-Id: <8c48f71ff99c7e317524e3a189a3218e200d33c2.1604013169.git.dxu@dxuuu.xyz> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org The previous commit added a new subcommand so in this commit we update the bash completion script. Signed-off-by: Daniel Xu --- btrfs-completion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/btrfs-completion b/btrfs-completion index 6ae57d1b..5bbd5378 100644 --- a/btrfs-completion +++ b/btrfs-completion @@ -28,7 +28,7 @@ _btrfs() commands_balance='start pause cancel resume status' commands_device='scan add delete remove ready stats usage' commands_scrub='start cancel resume status' - commands_rescue='chunk-recover super-recover zero-log' + commands_rescue='chunk-recover super-recover zero-log create-control-device' commands_inspect_internal='inode-resolve logical-resolve subvolid-resolve rootid min-dev-size dump-tree dump-super tree-stats' commands_property='get set list' commands_quota='enable disable rescan' From patchwork Thu Oct 29 23:17:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Xu X-Patchwork-Id: 11867889 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 33968C4742C for ; Thu, 29 Oct 2020 23:18:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A99842076E for ; Thu, 29 Oct 2020 23:18:14 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=dxuuu.xyz header.i=@dxuuu.xyz header.b="H66bcqMq"; dkim=temperror (0-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="XfXbS9i8" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726033AbgJ2XSO (ORCPT ); Thu, 29 Oct 2020 19:18:14 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:37337 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725785AbgJ2XSN (ORCPT ); Thu, 29 Oct 2020 19:18:13 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 7EB545C0108; Thu, 29 Oct 2020 19:18:12 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Thu, 29 Oct 2020 19:18:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dxuuu.xyz; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm1; bh=AXuYrhu3YPP81 ZrepInzGdwzWKZJiZkCsNS+VW9ucCA=; b=H66bcqMqwdW4YHUZY6mLdVT/ZtoIf a7Jeyh7z8hP2lsG0EKHv4rl8uqZ5MNqZgvu3j/lLl8CzXPsO0MEndKufhs+K2I+t zhuANNYhbE5Tjbra3yT2z32wfFOfwm3uNGG4fMgyT+9VuRupTTMTRlzUw5afKDOM c4AdqjpNLrnQDXIxVBQ89NAKacN/bfXQRgatzAJ0Mt4C/mgmNmUyv7A9wZe3Gy/P PXk7lxDLD8thbmQ4X3z0dPMiQguODjYKl2WU50XJqBncWayKSAHoemdYpWMI0PcS 9/vOm4l2X97rehrH0x75OTFDESLOxgqiJlfUhr23QaI+vNMoa/rvLMXAA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=AXuYrhu3YPP81ZrepInzGdwzWKZJiZkCsNS+VW9ucCA=; b=XfXbS9i8 V6fmQ+0OrhI8VeEPtNRNFtR9V4Ytsi2pY1VrEzLCXerRR3nCn+Yp3I6uFeRrGDS8 ep6aO4DbJp1jIzL7MO5OQ4qJHhmaSujNSO5h3zVHttcSu/i4HzM0fEtci/SNGzeg Tso+IlvpKAPlN2hiRBNqfQHcMYTvAABn2cSE6OC7oB/2srUlZ+Q35H1reKLRwXQi WjIVSUOggPhvk5f8YAV98xwmDEENDhC6uxqRLMJDueGk8zdXh4gMfuQbLskWfZLg N+B8x8GUfum45x4YTg6MTL728oxYoU2fnmWWxPBRVbGNMnb2TKsM+IjNac3PwkOe BWcvoNeOSjsUxg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrleeggddtkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecufghrlhcuvffnffculdejtddmnecujfgurhephffvuf ffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffrghnihgvlhcuighuuceougig uhesugiguhhuuhdrgiihiieqnecuggftrfgrthhtvghrnhepgfekudelkefhteevhfeggf dvgeefjeefgfeuvddutdfhgffghfehtdeuueetfeeinecukfhppeduieefrdduudegrddu fedvrddunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epugiguhesugiguhhuuhdrgiihii X-ME-Proxy: Received: from dlxu-fedora-R90QNFJV.thefacebook.com (unknown [163.114.132.1]) by mail.messagingengine.com (Postfix) with ESMTPA id BD80C3064674; Thu, 29 Oct 2020 19:18:11 -0400 (EDT) From: Daniel Xu To: linux-btrfs@vger.kernel.org, dsterba@suse.cz Cc: Daniel Xu , kernel-team@fb.com Subject: [PATCH 3/3] btrfs-progs: rescue: Update docs with create-control-device Date: Thu, 29 Oct 2020 16:17:38 -0700 Message-Id: <41ce291ac76b461c891ae64fbe18dcbb723178ef.1604013169.git.dxu@dxuuu.xyz> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org This commit updates the documentation for the new `btrfs rescue create-control-device` subcommand. Signed-off-by: Daniel Xu --- Documentation/btrfs-man5.asciidoc | 8 +++++++- Documentation/btrfs-rescue.asciidoc | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Documentation/btrfs-man5.asciidoc b/Documentation/btrfs-man5.asciidoc index 65352009..082599c1 100644 --- a/Documentation/btrfs-man5.asciidoc +++ b/Documentation/btrfs-man5.asciidoc @@ -898,12 +898,18 @@ filesystem module: * get the supported features (can be also found under '/sys/fs/btrfs/features') The device is usually created by a system device node manager (eg. udev), but -can be created manually: +can be created manually with: -------------------- # mknod --mode=600 c 10 234 /dev/btrfs-control -------------------- +or with: + +-------------------- +# btrfs rescue create-control-device +-------------------- + The control device is not strictly required but the device scanning will not work and a workaround would need to be used to mount a multi-device filesystem. The mount option 'device' can trigger the device scanning during mount. diff --git a/Documentation/btrfs-rescue.asciidoc b/Documentation/btrfs-rescue.asciidoc index af544372..db40ce64 100644 --- a/Documentation/btrfs-rescue.asciidoc +++ b/Documentation/btrfs-rescue.asciidoc @@ -93,6 +93,11 @@ the log and the filesystem may be mounted normally again. The keywords to look for are 'open_ctree' which says that it's during mount and function names that contain 'replay', 'recover' or 'log_tree'. +*create-control-device* :: +Creates /dev/btrfs-control control device ++ +This command is for convenience when *mknod* is not installed on a system. + EXIT STATUS ----------- *btrfs rescue* returns a zero exit status if it succeeds. Non zero is