X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ffilesys%2Ffile.c;fp=src%2Ffilesys%2Ffile.c;h=17001eab2855682907908a97ea64ce171246f717;hb=fba4443410241dd95c25a0fd7c5f8c0d8ff30ada;hp=27e907feabe36b689d40bf85ae0d865cdc5deef9;hpb=76d7f305a649ad998194b7b5184a07fa7544c360;p=pintos-anon diff --git a/src/filesys/file.c b/src/filesys/file.c index 27e907f..17001ea 100644 --- a/src/filesys/file.c +++ b/src/filesys/file.c @@ -4,6 +4,7 @@ #include "filesys/directory.h" #include "filesys/inode.h" #include "filesys/filesys.h" +#include "devices/partition.h" #include "threads/malloc.h" /* An open file. */ @@ -91,7 +92,7 @@ file_read_at (struct file *file, void *buffer_, off_t size, /* Read sector into bounce buffer, then copy into caller's buffer. */ sector_idx = inode_byte_to_sector (file->inode, file_ofs); - disk_read (filesys_disk, sector_idx, file->bounce); + partition_read (filesys_partition, sector_idx, file->bounce); memcpy (buffer + bytes_read, file->bounce + sector_ofs, chunk_size); /* Advance. */ @@ -153,11 +154,11 @@ file_write_at (struct file *file, const void *buffer_, off_t size, first. Otherwise we start with a sector of all zeros. */ sector_idx = inode_byte_to_sector (file->inode, file_ofs); if (sector_ofs > 0 || chunk_size < sector_left) - disk_read (filesys_disk, sector_idx, file->bounce); + partition_read (filesys_partition, sector_idx, file->bounce); else memset (file->bounce, 0, DISK_SECTOR_SIZE); memcpy (file->bounce + sector_ofs, buffer + bytes_written, chunk_size); - disk_write (filesys_disk, sector_idx, file->bounce); + partition_write (filesys_partition, sector_idx, file->bounce); /* Advance. */ size -= chunk_size;