Blame grub-0.95-ext2-sparse.patch
|
|
abdcfd5 |
Index: grub/stage2/fsys_ext2fs.c
|
|
|
abdcfd5 |
diff -u grub/stage2/fsys_ext2fs.c:1.13 grub/stage2/fsys_ext2fs.c:1.14
|
|
|
abdcfd5 |
--- grub/stage2/fsys_ext2fs.c:1.13 Tue Dec 30 12:36:13 2003
|
|
|
abdcfd5 |
+++ grub/stage2/fsys_ext2fs.c Sat Aug 7 06:48:58 2004
|
|
|
abdcfd5 |
@@ -432,12 +432,16 @@
|
|
|
abdcfd5 |
if (size > len)
|
|
|
abdcfd5 |
size = len;
|
|
|
abdcfd5 |
|
|
|
abdcfd5 |
- disk_read_func = disk_read_hook;
|
|
|
abdcfd5 |
+ if (map == 0) {
|
|
|
abdcfd5 |
+ memset ((char *) buf, 0, size);
|
|
|
abdcfd5 |
+ } else {
|
|
|
abdcfd5 |
+ disk_read_func = disk_read_hook;
|
|
|
abdcfd5 |
|
|
|
abdcfd5 |
- devread (map * (EXT2_BLOCK_SIZE (SUPERBLOCK) / DEV_BSIZE),
|
|
|
abdcfd5 |
- offset, size, buf);
|
|
|
abdcfd5 |
+ devread (map * (EXT2_BLOCK_SIZE (SUPERBLOCK) / DEV_BSIZE),
|
|
|
abdcfd5 |
+ offset, size, buf);
|
|
|
abdcfd5 |
|
|
|
abdcfd5 |
- disk_read_func = NULL;
|
|
|
abdcfd5 |
+ disk_read_func = NULL;
|
|
|
abdcfd5 |
+ }
|
|
|
abdcfd5 |
|
|
|
abdcfd5 |
buf += size;
|
|
|
abdcfd5 |
len -= size;
|