grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] nested partitions


From: Vladimir 'phcoder' Serbinenko
Subject: Re: [PATCH] nested partitions
Date: Fri, 31 Jul 2009 21:48:21 +0200

>> What makes this experimental and dangerous?  Can you send in a patch
>> that isn't?
> Only that I touch core size
*core functionality
> and when I submitted it, it was only few
> days old. Now I use it for over a month and haven't hit any problem
> The typical case of the problem it solves is Solaris. When installed
> on x86 its partition is subpartitioned. Because of that current grub
> can't access its filesystem even if it's UFS or even when ZFS module
> is loaded. sun_pc subpartitioning style will be a subject of separate
> patch.

The proble it doesn't solve is when 2 partition labels pretend to
describe the same region. Solaris during install dd'es MBR to its
partition that it subdivides in further paritions. This way the
parition seems to have 2 valid subpartitioning tables. I think the
most sane way to handle this is to introduce partition labels
priority. Fortunately thanks to Bean we have priority-list handling
function so it should increase the size of core for a lot. Numbers
will be available when I test it.
>>> -  if (file->device->disk->partition)
>>> -    part_start = grub_partition_get_start (file->device->disk->partition);
>>> +  part_start = 0;
>>> +  for (part = file->device->disk->partition; part; part = part->parent)
>>> +    part_start += grub_partition_get_start (part);
>>
>> Why do you need this change?  Can you explain what this does?
>
> It's because grub_partition_get_start resolves only one level of
> partitioning and there may be more than one.
>
I changed grub_partition_get_start to resolve all levels and used
->start when I need to resolve just one


-- 
Regards
Vladimir 'phcoder' Serbinenko

Personal git repository: http://repo.or.cz/w/grub2/phcoder.git

Attachment: nestpart.diff
Description: Text document


reply via email to

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