From 260d71fad3416b0e6009fcc96312df1f0f046f8a Mon Sep 17 00:00:00 2001
From: Avery Pennarun <apenwarr@gmail.com>
Date: Wed, 13 Jun 2012 00:39:32 -0400
Subject: [PATCH] ubiformat: add a --force option.

It's too much pain to try to umount a live filesystem to do a factory reset.
Let's just reformat the filesystem even if it's mounted.  Then we'll reboot
to avoid any kernel confusion.
---
 ubi-utils/ubiformat.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ubi-utils/ubiformat.c b/ubi-utils/ubiformat.c
index a265a9a..f286264 100644
--- a/ubi-utils/ubiformat.c
+++ b/ubi-utils/ubiformat.c
@@ -50,6 +50,7 @@
 /* The variables below are set by command line arguments */
 struct args {
 	unsigned int yes:1;
+	unsigned int force:1;
 	unsigned int quiet:1;
 	unsigned int verbose:1;
 	unsigned int override_ec:1;
@@ -95,6 +96,7 @@ static const char optionsstr[] =
 "                             (by default a random number is picked)\n"
 "-y, --yes                    assume the answer is \"yes\" for all question\n"
 "                             this program would otherwise ask\n"
+"--force                      force operation even on a busy partition\n"
 "-q, --quiet                  suppress progress percentage information\n"
 "-v, --verbose                be verbose\n"
 "-h, -?, --help               print help message\n"
@@ -118,6 +120,7 @@ static const struct option long_options[] = {
 	{ .name = "flash-image",     .has_arg = 1, .flag = NULL, .val = 'f' },
 	{ .name = "image-size",      .has_arg = 1, .flag = NULL, .val = 'S' },
 	{ .name = "yes",             .has_arg = 0, .flag = NULL, .val = 'y' },
+	{ .name = "force",           .has_arg = 0, .flag = NULL, .val = '!' },
 	{ .name = "erase-counter",   .has_arg = 1, .flag = NULL, .val = 'e' },
 	{ .name = "quiet",           .has_arg = 0, .flag = NULL, .val = 'q' },
 	{ .name = "verbose",         .has_arg = 0, .flag = NULL, .val = 'v' },
@@ -136,7 +139,7 @@ static int parse_opt(int argc, char * const argv[])
 		int key, error = 0;
 		unsigned long int image_seq;
 
-		key = getopt_long(argc, argv, "nh?Vyqve:x:s:O:f:S:", long_options, NULL);
+		key = getopt_long(argc, argv, "nh?Vy!qve:x:s:O:f:S:", long_options, NULL);
 		if (key == -1)
 			break;
 
@@ -182,6 +185,10 @@ static int parse_opt(int argc, char * const argv[])
 			args.yes = 1;
 			break;
 
+		case '!':
+			args.force = 1;
+			break;
+
 		case 'q':
 			args.quiet = 1;
 			break;
@@ -807,7 +814,7 @@ int main(int argc, char * const argv[])
 
 		err = mtd_num2ubi_dev(libubi, mtd.mtd_num, &ubi_dev_num);
 		libubi_close(libubi);
-		if (!err) {
+		if (!err && !args.force) {
 			errmsg("please, first detach mtd%d (%s) from ubi%d",
 			       mtd.mtd_num, args.node, ubi_dev_num);
 			goto out_close;
-- 
1.7.9.dirty

