grub/grub-core/disk
Vladimir 'phcoder' Serbinenko 9bfdcbbc7d Lazy device scanning.
* Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
	(grub-setup): Remove util/raid.c.
	* grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
	* grub-core/disk/lvm.c (scan_depth): New variable.
	(grub_lvm_iterate): Rescan if necessary.
	(find_lv): New function based on grub_lvm_open.
	(grub_lvm_open): Use find_lv. Rescan on error.
	(is_node_readable): New function.
	(is_lv_readable): Likewise.
	(grub_lvm_scan_device): Skip already found disks.
	(do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
	Stop if searched device is found and readable.
	* grub-core/disk/raid.c (inscnt): New variable.
	(scan_depth): Likewise.
	(scan_devices): New function based on grub_raid_register. Abort if
	looked for device is found.
	(grub_raid_iterate): Rescan if needed.
	(find_array): NEw function based on -grub_raid_open.
	(grub_raid_open): Use find_array and rescan.
	(insert_array): Set became_readable_at.
	* grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
	* grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
	New function.
	(grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
	(grub_util_pull_device): New function.
	(grub_util_get_grub_dev): Call grub_util_pull_device.
	* util/raid.c: Moved to ..
	* grub-core/kern/emu/raid.c: ... here.
	(grub_util_raid_getmembers): New parameter "bootable".
	All users updated. Support 1.x.
	* include/grub/ata.h (grub_ata_dev): Change iterate prototype.
	All users updated.
	* include/grub/disk.h (grub_disk_pull_t): New enum.
	(grub_disk_dev): Change iterate prototype.
	All users updated.
	* include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
	New proto.
	* include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
	* include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
	* include/grub/raid.h (grub_raid_array): New member became_readable_at.
	* include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
	All users updated.
	* include/grub/util/raid.h: Removed.
2011-07-07 23:21:59 +02:00
..
arc Simplify disk opening 2011-07-07 21:46:25 +02:00
efi Simplify disk opening 2011-07-07 21:46:25 +02:00
i386/pc Simplify disk opening 2011-07-07 21:46:25 +02:00
ieee1275 Simplify disk opening 2011-07-07 21:46:25 +02:00
ahci.c merge mainline into lazy 2011-07-07 12:21:53 +02:00
ata.c Simplify disk opening 2011-07-07 21:46:25 +02:00
dmraid_nvidia.c Implement automatic module license checking according to new GNU 2011-04-11 23:01:51 +02:00
host.c Simplify disk opening 2011-07-07 21:46:25 +02:00
loopback.c Simplify disk opening 2011-07-07 21:46:25 +02:00
lvm.c Lazy device scanning. 2011-07-07 23:21:59 +02:00
mdraid1x_linux.c Implement automatic module license checking according to new GNU 2011-04-11 23:01:51 +02:00
mdraid_linux.c * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID 2011-04-25 15:23:37 +02:00
memdisk.c Simplify disk opening 2011-07-07 21:46:25 +02:00
pata.c merge mainline into lazy 2011-07-07 12:21:53 +02:00
raid.c Simplify disk opening 2011-07-07 21:46:25 +02:00
raid5_recover.c Implement automatic module license checking according to new GNU 2011-04-11 23:01:51 +02:00
raid6_recover.c Implement automatic module license checking according to new GNU 2011-04-11 23:01:51 +02:00
scsi.c Simplify disk opening 2011-07-07 21:46:25 +02:00
usbms.c merge mainline into lazy 2011-07-07 12:21:53 +02:00