bmaptool: refuse copying without bmap by default
authorArtem Bityutskiy <artem.bityutskiy@intel.com>
Thu, 13 Dec 2012 11:54:49 +0000 (13:54 +0200)
committerArtem Bityutskiy <artem.bityutskiy@intel.com>
Thu, 13 Dec 2012 16:13:46 +0000 (18:13 +0200)
Allow copying without bmap only when the --nobmap. This way users will for
sure notice when they copy without bmap.

Change-Id: If323e995a22df23b4365859c940e1717fa7e8d28
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
bmaptool

index 6cc2376..b291759 100755 (executable)
--- a/bmaptool
+++ b/bmaptool
@@ -83,8 +83,11 @@ def copy_command(args, log):
 
     start_time = time.time()
     if not args.bmap:
-        log.warning("no bmap, copying will be slow! (use --bmap option)")
-        log.info("falling-back to copying entire image to '%s'" % args.dest)
+        if args.nobmap:
+            log.info("no bmap given, copy entire image to '%s'" % args.dest)
+        else:
+            log.error("please, specify the bmap file using --bmap option")
+            raise SystemExit(1)
     else:
         log.info("block map format version %s" % writer.bmap_version)
         log.info("%d blocks of size %d (%s), mapped %d blocks (%s or %.1f%%)" \
@@ -221,6 +224,10 @@ def parse_arguments():
     text = "the block map file for the image"
     parser_copy.add_argument("--bmap", help = text)
 
+    # The --nobmap option
+    text = "allow copying without a bmap file"
+    parser_copy.add_argument("--nobmap", action="store_true", help = text)
+
     # The --no-verify option
     text = "do not verify the data checksum while writing"
     parser_copy.add_argument("--no-verify", action="store_true", help = text)