hno@... said:
> ll_rw_block: device 62:00: only 4096-char blocks implemented (1024)
> Kernel panic: VFS: Unable to mount root fs on 62:00
Here's a greater than one-line patch that should fix it for everyone. I
hardcoded it to 1024 for the same reason you hardcoded it to 4096 - because
that stupid message told me to...
Jeff
--- ../cvs/linux/arch/um/fs/hostfs/hostfs_kern.c Sun Mar 25 12:27:43
2001
+++ arch/um/fs/hostfs/hostfs_kern.c Sun Mar 25 22:07:06 2001
@@ -658,7 +658,7 @@
kdev_t dev = sb->s_dev;
int blocksize = get_hardblocksize(dev);
- if(blocksize == 0) blocksize = 1024;
+ if(blocksize == 0) blocksize = BLOCK_SIZE;
if(!(bh = bread (dev, 0, blocksize))) return NULL;
if(strncmp(bh->b_data, "HOSTFS:", strlen("HOSTFS:"))) goto out;
ret = hostfs_read_super_common(sb, bh->b_data + strlen("HOSTFS:"));
um 1094: diff -u ../cvs/linux/arch/um/drivers/ubd.c arch/um/drivers/ubd.c
--- ../cvs/linux/arch/um/drivers/ubd.c Sun Mar 25 12:27:43 2001
+++ arch/um/drivers/ubd.c Sun Mar 25 22:04:08 2001
@@ -26,7 +26,9 @@
#define MAX_DEV (8)
-static int blk_sizes[MAX_DEV] = { [ 0 ... MAX_DEV - 1 ] = 512 };
+static int blk_sizes[MAX_DEV] = { [ 0 ... MAX_DEV - 1 ] = BLOCK_SIZE };
+
+static int hardsect_sizes[MAX_DEV] = { [ 0 ... MAX_DEV - 1 ] = BLOCK_SIZE };
static int sizes[MAX_DEV] = { [ 0 ... MAX_DEV - 1 ] = 0 };
@@ -276,6 +278,7 @@
elevator_init(&q->elevator, ELEVATOR_NOOP);
read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read-ahead */
blksize_size[MAJOR_NR] = blk_sizes;
+ hardsect_size[MAJOR_NR] = hardsect_sizes;
ubd_gendisk.next = gendisk_head;
gendisk_head = &ubd_gendisk;
if (fake_major != 0){
|