grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] Split of raid scan code


From: Bean
Subject: Re: [PATCH] Split of raid scan code
Date: Tue, 12 Aug 2008 19:49:19 +0800

On Tue, Aug 12, 2008 at 4:30 AM, Robert Millan <address@hidden> wrote:
> On Tue, Aug 12, 2008 at 04:24:26AM +0800, Bean wrote:
>> -     disk/lvm.c disk/raid.c grub_probe_init.c
>> +     disk/lvm.c disk/raid.c disk/mdraid_linux.c grub_probe_init.c
>
> Hi,
>
> I haven't tried, but I think this module split would break grub-install &
> update-grub.  Please check those out before committing!

Hi,

Ok, I make some adjustment, now grub-install & update-grub works for
raid device.

If no one objects, I'd commit this soon.

2008-08-12  Bean  <address@hidden>

        * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
        (grub_fstest_SOURCES): Add disk/mdraid_linux.c and disk/dmraid_nvidia.c.
        (pkglib_MODULES): Add mdraid.mod and dm_nv.mod.
        (mdraid_mod_SOURCES): New macro.
        (mdraid_mod_CFLAGS): Likewise.
        (mdraid_mod_LDFLAGS): Likewise.
        (dm_nv_mod_SOURCES): Likewise.
        (dm_nv_mod_CFLAGS): Likewise.
        (dm_nv_mod_LDFLAGS): Likewise.

        * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
        (grub_emu_SOURCES):  Add disk/mdraid_linux.c and disk/dmraid_nvidia.c.

        * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/mdraid_linux.c
        and disk/dmraid_nvidia.c.

        * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.

        * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.

        * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.

        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

        * disk/mdraid_linux.c: New file.

        * disk/dmraid_nvidia.c: New file.

        * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
        ULONG_MAX.

        * disk/raid.c (grub_raid_open): Calculate total_sectors of raid0
        by adding the size of individual disk (they can have different size).
        (grub_raid_read): Simply raid0 code, also fix a serious bug.
        (grub_raid_scan_device): Remove code specific to mdraid.
        (grub_raid_list): New variable.
        (free_array): New function.
        (grub_raid_register): Likewise.
        (grub_raid_unregister): Likewise.
        (grub_raid_rescan): Likewise.
        (GRUB_MOD_INIT): Don't iterate device here.
        (GRUB_MOD_FINI): Use free_array to release resource.

        * include/grub/raid.h: Remove macro and structure specific to mdraid.

        * util/grub-fstest.c: Add #include <grub/raid.h>.
        (part): Removed.
        (cmd_hex): Handle partition as well.
        (fstest): Handle multiple disks.
        (options): Remove part, raw and long, add root and diskcount.
        (usage): Change hex, remove -p, -r, -l, add -r and -c.
        (main): Find the first non option entry and ignore subsequence options,
        add handling for the new options, support multiple disks.

        * util/grub-probe.c (probe): Add mdraid to abstraction_name.

-- 
Bean

Attachment: raid_6.diff
Description: Text Data


reply via email to

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