[bmap-tools] [PATCH 09/20] Fiemap: fix failure for zero-sized files
Artem Bityutskiy
dedekind1 at gmail.com
Wed Sep 18 03:38:21 EDT 2013
From: Artem Bityutskiy <artem.bityutskiy at intel.com>
The Fiemap module fails for zero-sized file with these symptoms:
Traceback (most recent call last):
File "./bmaptool", line 561, in <module>
sys.exit(main())
File "./bmaptool", line 545, in main
args.func(args, log)
File "./bmaptool", line 419, in create_command
creator = BmapCreate.BmapCreate(args.image, output, "sha256")
File "/mnt/bigssd/dedekind/work/tizen/git/bmap-tools/bmaptools/BmapCreate.py", line 163, in __init__
self.fiemap = Fiemap.Fiemap(self._f_image)
File "/mnt/bigssd/dedekind/work/tizen/git/bmap-tools/bmaptools/Fiemap.py", line 120, in __init__
self.block_is_mapped(0)
File "/mnt/bigssd/dedekind/work/tizen/git/bmap-tools/bmaptools/Fiemap.py", line 175, in block_is_mapped
struct_fiemap = self._invoke_fiemap(block, 1)
File "/mnt/bigssd/dedekind/work/tizen/git/bmap-tools/bmaptools/Fiemap.py", line 149, in _invoke_fiemap
% (block, self.blocks_cnt))
This patch fixes the issue.
Change-Id: I3eb2c6e69c892aea2a3d41f2b9bf830907d7658e
Signed-off-by: Artem Bityutskiy <artem.bityutskiy at intel.com>
---
bmaptools/Fiemap.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bmaptools/Fiemap.py b/bmaptools/Fiemap.py
index 3066f18..9413358 100644
--- a/bmaptools/Fiemap.py
+++ b/bmaptools/Fiemap.py
@@ -144,7 +144,7 @@ class Fiemap:
list (just like 'struct.upack()').
"""
- if block < 0 or block >= self.blocks_cnt:
+ if self.blocks_cnt != 0 and (block < 0 or block >= self.blocks_cnt):
raise Error("bad block number %d, should be within [0, %d]"
% (block, self.blocks_cnt))
--
1.8.1.4
More information about the Bmap-tools
mailing list