X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ffilesys%2Finode.c;h=17f4b4680f656fdbda2e8344b36366ba478a6315;hb=3f1ab89acd506bccd47bf9a3a764f0a9985bdaa7;hp=777138b10f479530cb3daed59c5b331e2af1050a;hpb=1c71d8c6210ca64ccfa9d6056b7ea5b6a2c39802;p=pintos-anon diff --git a/src/filesys/inode.c b/src/filesys/inode.c index 777138b..17f4b46 100644 --- a/src/filesys/inode.c +++ b/src/filesys/inode.c @@ -76,6 +76,9 @@ inode_create (disk_sector_t sector, off_t length) bool success = false; ASSERT (length >= 0); + + /* If this assertion fails, the inode structure is not exactly + one sector in size, and you should fix that. */ ASSERT (sizeof *disk_inode == DISK_SECTOR_SIZE); disk_inode = calloc (1, sizeof *disk_inode); @@ -258,7 +261,7 @@ inode_write_at (struct inode *inode, const void *buffer_, off_t size, while (size > 0) { /* Sector to write, starting byte offset within sector. */ - off_t sector_idx = byte_to_sector (inode, offset); + disk_sector_t sector_idx = byte_to_sector (inode, offset); int sector_ofs = offset % DISK_SECTOR_SIZE; /* Bytes left in inode, bytes left in sector, lesser of the two. */