From ce525529f9cc072aea76f4dadf6a3a1027fba740 Mon Sep 17 00:00:00 2001 From: robertmh Date: Sun, 8 Jun 2008 19:46:43 +0000 Subject: [PATCH] 2008-06-08 Robert Millan Based on description from Pavel: * kern/disk.c (grub_disk_check_range): Rename to ... (grub_disk_adjust_range): ... this. Add a comment explaining the tasks performed by this function. --- ChangeLog | 7 +++++++ kern/disk.c | 10 +++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5678b40fd..48cced2ea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-06-08 Robert Millan + + Based on description from Pavel: + * kern/disk.c (grub_disk_check_range): Rename to ... + (grub_disk_adjust_range): ... this. Add a comment explaining the + tasks performed by this function. + 2008-06-08 Robert Millan * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to diff --git a/kern/disk.c b/kern/disk.c index 2529e8075..2bbc8c54a 100644 --- a/kern/disk.c +++ b/kern/disk.c @@ -322,8 +322,12 @@ grub_disk_close (grub_disk_t disk) grub_free (disk); } +/* This function performs three tasks: + - Make sectors disk relative from partition relative. + - Normalize offset to be less than the sector size. + - Verify that the range is inside the partition. */ static grub_err_t -grub_disk_check_range (grub_disk_t disk, grub_disk_addr_t *sector, +grub_disk_adjust_range (grub_disk_t disk, grub_disk_addr_t *sector, grub_off_t *offset, grub_size_t size) { *sector += *offset >> GRUB_DISK_SECTOR_BITS; @@ -364,7 +368,7 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector, grub_dprintf ("disk", "Reading `%s'...\n", disk->name); /* First of all, check if the region is within the disk. */ - if (grub_disk_check_range (disk, §or, &offset, size) != GRUB_ERR_NONE) + if (grub_disk_adjust_range (disk, §or, &offset, size) != GRUB_ERR_NONE) { grub_error_push (); grub_dprintf ("disk", "Read out of range: sector 0x%llx (%s).\n", @@ -502,7 +506,7 @@ grub_disk_write (grub_disk_t disk, grub_disk_addr_t sector, grub_dprintf ("disk", "Writing `%s'...\n", disk->name); - if (grub_disk_check_range (disk, §or, &offset, size) != GRUB_ERR_NONE) + if (grub_disk_adjust_range (disk, §or, &offset, size) != GRUB_ERR_NONE) return -1; real_offset = offset;