From c24ac5d76353d04955cc348f1cb5b95743c42b38 Mon Sep 17 00:00:00 2001 From: Frans Kaashoek Date: Fri, 3 Apr 2015 08:22:02 -0400 Subject: Disentangle block size from the disk's sector size. Set block size to 1024 to show that they can be different. Clean up mkfs, simplifying specifying fs parameters, remove some redundancy between fs and mkfs, and fix disk layout bugs. Call blocks in the file system blocks instead of sectors. Passes usertests for different block sizes. --- memide.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'memide.c') diff --git a/memide.c b/memide.c index d2c5bb7..2e09e33 100644 --- a/memide.c +++ b/memide.c @@ -20,7 +20,7 @@ void ideinit(void) { memdisk = _binary_fs_img_start; - disksize = (uint)_binary_fs_img_size/512; + disksize = (uint)_binary_fs_img_size/BSIZE; } // Interrupt handler. @@ -44,15 +44,15 @@ iderw(struct buf *b) panic("iderw: nothing to do"); if(b->dev != 1) panic("iderw: request not for disk 1"); - if(b->sector >= disksize) - panic("iderw: sector out of range"); + if(b->block >= disksize) + panic("iderw: block out of range"); - p = memdisk + b->sector*512; + p = memdisk + b->block*BSIZE; if(b->flags & B_DIRTY){ b->flags &= ~B_DIRTY; - memmove(p, b->data, 512); + memmove(p, b->data, BSIZE); } else - memmove(b->data, p, 512); + memmove(b->data, p, BSIZE); b->flags |= B_VALID; } -- cgit v1.2.3