From: Andrew Geissler <geissonator@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Andrew Geissler <geissonator@gmail.com>
Subject: [PATCH] filemap.py: enforce maximum of 4kb block size
Date: Fri, 24 Mar 2023 15:13:33 -0500 [thread overview]
Message-ID: <20230324201333.77508-1-geissonator@gmail.com> (raw)
The logic in this script validates that the length of data sections are
evenly divisible by the block size. On most systems the block size is
4KB and all is good. Some systems though, such as ppc64le, have a block
size larger then 4KB. For example on a POWER9 based ppc64le system, the
block size is 64KB.
This results in this script failing with errors like this when building
wic images:
|440, in _do_get_mapped_ranges
| assert extent_len % self.block_size == 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| AssertionError
In this case the data section size was 268KB and the block size was
64KB, resulting in the above assert failure.
Resolves https://bugzilla.yoctoproject.org/show_bug.cgi?id=15075
Signed-off-by: Andrew Geissler <geissonator@gmail.com>
---
scripts/lib/wic/filemap.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/scripts/lib/wic/filemap.py b/scripts/lib/wic/filemap.py
index 4d9da28172..85b39d5d74 100644
--- a/scripts/lib/wic/filemap.py
+++ b/scripts/lib/wic/filemap.py
@@ -46,6 +46,13 @@ def get_block_size(file_obj):
bsize = stat.st_blksize
else:
raise IOError("Unable to determine block size")
+
+ # The logic in this script only supports a maximum of a 4KB
+ # block size
+ max_block_size = 4 * 1024
+ if bsize > max_block_size:
+ bsize = max_block_size
+
return bsize
class ErrorNotSupp(Exception):
--
2.37.1 (Apple Git-137.1)
reply other threads:[~2023-03-24 20:13 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230324201333.77508-1-geissonator@gmail.com \
--to=geissonator@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox