qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Regarding commit a9bcedd (SD card size has to be power of 2)


From: Warner Losh
Subject: Re: Regarding commit a9bcedd (SD card size has to be power of 2)
Date: Mon, 7 Jun 2021 10:33:26 -0600



On Mon, Jun 7, 2021 at 2:31 AM Tom Yan <tom.ty89@gmail.com> wrote:
Hi philmd (and others),

So I just noticed your commit of requiring the size of an emulated SD
card to be a power of 2, when I was trying to emulate one for an
actual one (well, it's a microSD, but still), as it errored out.

You claim that the kernel will consider it to be a firmware bug and
"correct" the capacity by rounding it up. Could you provide a concrete
reference to the code that does such a thing? I'm not ruling out that
some crazy code could have gone upstream because some reviewers might
not be doing their job right, but if that really happened, it's a
kernel bug/regression and qemu should not do an equally-crazy thing to
"fix" it.

No offense but what you claimed really sounds absurd and ridiculous.
Although I don't have hundreds of SD cards in hand, I owned quite a
few at least, like most people do, with capacities ranging from ~2G to
~128G, and I don't even recall seeing a single one that has the
capacity being a power of 2. (Just like vendors of HDDs and SSDs, they
literally never do that AFAICT, for whatever reasons.)

Besides, even if there's a proper reason for the kernel to "fix" the
capacity, there's no reason for it to round it up either, because
obviously there will never be actual storage for the "virtual blocks".
I've never seen such a behavior so far either with the "mmcblk" hosts
I've used so far.

Some data points: I have several 224GB SD cards. FreeBSD specifically uses a size
just a little smaller than the rated size because so many capacity points are a bit
smaller (1GB cards also tend to be only 1% larger 1E9 bytes, nowhere near a power
of two). FreeBSD's kernel never adjusts the size of SD or MMC cards, and there's
nothing in the Simplified SD standard nor in the various MMC standards requiring a
power of two.

Warner

reply via email to

[Prev in Thread] Current Thread [Next in Thread]