2006-10-27 Hollis Blanchard <hollis@penguinppc.org>

* kern/disk.c (grub_disk_open): Print debug messages when opening a
	disk.
	(grub_disk_close): Print debug messages when closing a disk.
	(grub_disk_read): Print debug messages when disk read fails.
	* kern/fs.c (grub_fs_probe): Print debug messages when detecting
	filesystem type.
	* kern/partition.c: Include misc.h.
	(grub_partition_iterate): Print debug messages when detecting
	partition type.
This commit is contained in:
hollisb 2006-10-27 18:14:00 +00:00
parent e2b8278c9e
commit 69203a9992
4 changed files with 48 additions and 7 deletions

View file

@ -214,7 +214,9 @@ grub_disk_open (const char *name)
grub_disk_dev_t dev;
char *raw = (char *) name;
unsigned long current_time;
grub_dprintf ("disk", "Opening `%s'...\n", name);
disk = (grub_disk_t) grub_malloc (sizeof (*disk));
if (! disk)
return 0;
@ -291,6 +293,10 @@ grub_disk_open (const char *name)
if (grub_errno != GRUB_ERR_NONE)
{
grub_error_push ();
grub_dprintf ("disk", "Opening `%s' failed.\n", name);
grub_error_pop ();
grub_disk_close (disk);
return 0;
}
@ -301,6 +307,8 @@ grub_disk_open (const char *name)
void
grub_disk_close (grub_disk_t disk)
{
grub_dprintf ("disk", "Closing `%s'.\n", disk->name);
if (disk->dev && disk->dev->close)
(disk->dev->close) (disk);
@ -353,7 +361,12 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector,
/* First of all, check if the region is within the disk. */
if (grub_disk_check_range (disk, &sector, &offset, size) != GRUB_ERR_NONE)
return grub_errno;
{
grub_error_push ();
grub_dprintf ("disk", "Read out of range: sector 0x%lx.\n", sector);
grub_error_pop ();
return grub_errno;
}
real_offset = offset;
@ -406,7 +419,12 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector,
num = ((size + GRUB_DISK_SECTOR_SIZE - 1)
>> GRUB_DISK_SECTOR_BITS);
if ((disk->dev->read) (disk, sector, num, tmp_buf))
goto finish;
{
grub_error_push ();
grub_dprintf ("disk", "%s read failed\n", disk->name);
grub_error_pop ();
goto finish;
}
grub_memcpy (buf, tmp_buf + real_offset, size);