[OE-core] [PATCH] wic/filemap: handle FIGETBSZ failing
Ross Burton
ross.burton at intel.com
Fri Jun 7 11:05:02 UTC 2019
Some file systems don't support fetching the block size (notably the file system
Docker uses for containers), so handle the iotctl() failing and raise the
expected error.
Signed-off-by: Ross Burton <ross.burton at intel.com>
---
scripts/lib/wic/filemap.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/scripts/lib/wic/filemap.py b/scripts/lib/wic/filemap.py
index 244c07a71cf..a3919fbcad8 100644
--- a/scripts/lib/wic/filemap.py
+++ b/scripts/lib/wic/filemap.py
@@ -32,7 +32,10 @@ def get_block_size(file_obj):
"""
# Get the block size of the host file-system for the image file by calling
# the FIGETBSZ ioctl (number 2).
- binary_data = fcntl.ioctl(file_obj, 2, struct.pack('I', 0))
+ try:
+ binary_data = fcntl.ioctl(file_obj, 2, struct.pack('I', 0))
+ except OSError:
+ raise IOError("Unable to determine block size")
bsize = struct.unpack('I', binary_data)[0]
if not bsize:
import os
--
2.11.0
More information about the Openembedded-core
mailing list