[parted-devel] FYI, preparation for 2048-byte sector sizes across the board
Otavio Salvador
otavio at debian.org
Fri Jun 1 19:27:35 UTC 2007
Jim Meyering <jim at meyering.net> writes:
> Otavio Salvador <otavio at debian.org> wrote:
>
>> Jim Meyering <jim at meyering.net> writes:
>>
>>> diff --git a/libparted/labels/bsd.c b/libparted/labels/bsd.c
>>> index 747a9c5..26a8b60 100644
>>> --- a/libparted/labels/bsd.c
>>> +++ b/libparted/labels/bsd.c
>>> @@ -141,30 +142,45 @@ alpha_bootblock_checksum (char *boot) {
>> <...>
>>> static int
>>> bsd_probe (const PedDevice *dev)
>>> {
>>> - char boot[512];
>>> - BSDRawLabel *label;
>>> + BSDRawLabel *partition;
>>>
>>> PED_ASSERT (dev != NULL, return 0);
>>>
>>> - if (dev->sector_size != 512)
>>> + if (dev->sector_size < 512)
>>> return 0;
>>
>> Shouldn't it be:
>> if (dev->sector_size%512 != 0)
>> return 0;
>
> Thanks for looking at it, but no.
>
> First, your replacement would mistakenly allow a dev->sector_size value
> of 0 through. More importantly, there is already plenty of code (e.g.,
> in linux.c) that ensures it is a multiple of 512, so it would be redundant
> to check for that in each label/*.c's *_probe function.
Well but then we should "trust" the sector_size and continue. Maybe we
ought to have a static method to check it and use it in all code to
avoid mistakes?
--
O T A V I O S A L V A D O R
---------------------------------------------
E-mail: otavio at debian.org UIN: 5906116
GNU/Linux User: 239058 GPG ID: 49A5F855
Home Page: http://otavio.ossystems.com.br
---------------------------------------------
"Microsoft sells you Windows ... Linux gives
you the whole house."
More information about the parted-devel
mailing list