From: Sten Heinze <sten.heinze@gmx.de>
To: linux-btrfs@vger.kernel.org
Cc: 567681@bugs.debian.org
Subject: Re: Patch: Allow options to be passed to btrfsck
Date: Thu, 11 Feb 2010 14:09:39 +0100 [thread overview]
Message-ID: <201002111409.39348.sten.heinze@gmx.de> (raw)
In-Reply-To: <201002111359.43978.sten.heinze@gmx.de>
[-- Attachment #1: Type: Text/Plain, Size: 1011 bytes --]
[This time with the patch attached.]
[Please CC: me, as I am not subscribed to the linux-btrfs mailing list.]
This patch makes btrfsck ignore (for now) options passed to it. This makes
btrfsck runs on startup not failing. I was asked to post my patch here by the
Debian Maintainer of btrfs-tools.
Background: On Startup all filesystem (on a Debian system) are fsck'ed. A
option to allow non-interactive filesystem checks on startup is passed to fsck,
usually -a or -y.
Currently btrfsck expects the device as the only parameter and fails if run
with any option e.g. btrfsck -a /dev/hda1 (returns error code 1). My patch
fixes this by allowing options to be passed, although all options are ignored
at the moment. (The attached patch is slightly improved from the one I sent to
the Debian bug report [1] before.)
Please comment if this is acceptable for inclusion in btrfsck. If not, I would
be happy to improve the patch.
Thanks,
Sten
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567681
[-- Attachment #2: 08-allow-fsck-options.patch --]
[-- Type: text/x-patch, Size: 920 bytes --]
Index: btrfs-tools/btrfsck.c
===================================================================
--- btrfs-tools.orig/btrfsck.c 2010-02-08 05:44:01.037134357 +0100
+++ btrfs-tools/btrfsck.c 2010-02-11 05:02:15.469358404 +0100
@@ -2807,7 +2807,7 @@
static void print_usage(void)
{
- fprintf(stderr, "usage: btrfsck dev\n");
+ fprintf(stderr, "usage: btrfsck [option] dev\n");
fprintf(stderr, "%s\n", BTRFS_BUILD_VERSION);
exit(1);
}
@@ -2821,9 +2821,24 @@
if (ac < 2)
print_usage();
+ char *file = av[ac - 1];
+ int pos;
+ for( pos = 1; pos < ac; ++pos)
+ {
+ /* ignore all options for now, stop at first device found */
+ if (av[pos][0] != '-')
+ {
+ file = av[pos];
+ break;
+ }
+ }
+
+ /* print device fsck'ed */
+ printf("%s: ", file);
+
radix_tree_init();
cache_tree_init(&root_cache);
- root = open_ctree(av[1], 0, 0);
+ root = open_ctree(file, 0, 0);
if (root == NULL)
return 1;
prev parent reply other threads:[~2010-02-11 13:09 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4B71B538.1040709@debian.org>
2010-02-11 12:59 ` Patch: Allow options to be passed to btrfsck Sten Heinze
2010-02-11 13:09 ` Sten Heinze [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201002111409.39348.sten.heinze@gmx.de \
--to=sten.heinze@gmx.de \
--cc=567681@bugs.debian.org \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox