summaryrefslogtreecommitdiff
path: root/btrfstune.c
diff options
context:
space:
mode:
authorFan Chengniang <fancn.fnst@cn.fujitsu.com>2015-01-19 15:27:30 +0800
committerDavid Sterba <dsterba@suse.cz>2015-01-19 19:19:14 +0100
commitf66d17814b58697aac579c90ee3c906e6f65720b (patch)
tree53e50b5e1bba392b76d5585e7547e330ef093839 /btrfstune.c
parent188e79e2fcac8cdf474d9a23adfcce48e319c745 (diff)
btrfs-progs: btrfstune: force to set seeding flags
Now we can use -f with -S option when setting seeding flags or clearing seeding flags Reported-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com> Signed-off-by: Fan Chengniang <fancn.fnst@cn.fujitsu.com> [updated docs] Signed-off-by: David Sterba <dsterba@suse.cz>
Diffstat (limited to 'btrfstune.c')
-rw-r--r--btrfstune.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/btrfstune.c b/btrfstune.c
index cba00a8c..075fbc63 100644
--- a/btrfstune.c
+++ b/btrfstune.c
@@ -33,6 +33,7 @@
#include "version.h"
static char *device;
+static int force = 0;
static int update_seeding_flag(struct btrfs_root *root, int set_flag)
{
@@ -44,8 +45,10 @@ static int update_seeding_flag(struct btrfs_root *root, int set_flag)
super_flags = btrfs_super_flags(disk_super);
if (set_flag) {
if (super_flags & BTRFS_SUPER_FLAG_SEEDING) {
- fprintf(stderr, "seeding flag is already set on %s\n",
- device);
+ if (force)
+ return 0;
+ else
+ fprintf(stderr, "seeding flag is already set on %s\n", device);
return 1;
}
super_flags |= BTRFS_SUPER_FLAG_SEEDING;
@@ -104,7 +107,7 @@ static void print_usage(void)
fprintf(stderr, "\t-S value\tpositive value will enable seeding, zero to disable, negative is not allowed\n");
fprintf(stderr, "\t-r \t\tenable extended inode refs\n");
fprintf(stderr, "\t-x \t\tenable skinny metadata extent refs\n");
- fprintf(stderr, "\t-f \t\tforce to clear flags, make sure that you are aware of the dangers\n");
+ fprintf(stderr, "\t-f \t\tforce to set or clear flags, make sure that you are aware of the dangers\n");
}
int main(int argc, char *argv[])
@@ -116,7 +119,6 @@ int main(int argc, char *argv[])
int seeding_flag = 0;
u64 seeding_value = 0;
int skinny_flag = 0;
- int force = 0;
int ret;
optind = 1;