X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ffilesys%2Ffsutil.c;h=3876ee9775bb88fc7a8181a71d4daf7c10be9336;hb=993c1d9f4452e2edd851f3175dfdf317f18bdb9f;hp=67dab6fdc59768fd4587a47f379308f24a525865;hpb=97dcefb4742e13df9eb22c3aa00bb802bdc55c60;p=pintos-anon diff --git a/src/filesys/fsutil.c b/src/filesys/fsutil.c index 67dab6f..3876ee9 100644 --- a/src/filesys/fsutil.c +++ b/src/filesys/fsutil.c @@ -1,11 +1,13 @@ -#include "fsutil.h" +#include "filesys/fsutil.h" +#include #include -#include "debug.h" -#include "filesys.h" -#include "file.h" -#include "lib.h" -#include "mmu.h" -#include "palloc.h" +#include +#include +#include +#include "filesys/file.h" +#include "filesys/filesys.h" +#include "threads/mmu.h" +#include "threads/palloc.h" /* Filename and file size to use for copy operations, as "filename:size". */ @@ -30,7 +32,7 @@ static void copy (const char *filename, off_t size) { struct disk *src; - struct file dst; + struct file *dst; disk_sector_t sector; void *buffer; @@ -45,7 +47,8 @@ copy (const char *filename, off_t size) /* Create destination file. */ if (!filesys_create (filename, size)) PANIC ("%s: create failed", filename); - if (!filesys_open (filename, &dst)) + dst = filesys_open (filename); + if (dst == NULL) PANIC ("%s: open failed", filename); /* Do copy. */ @@ -55,14 +58,14 @@ copy (const char *filename, off_t size) { int chunk_size = size > DISK_SECTOR_SIZE ? DISK_SECTOR_SIZE : size; disk_read (src, sector++, buffer); - if (file_write (&dst, buffer, chunk_size) != chunk_size) + if (file_write (dst, buffer, chunk_size) != chunk_size) PANIC ("%s: write failed with %lld bytes unwritten", filename, (unsigned long long) size); size -= chunk_size; } palloc_free (buffer); - file_close (&dst); + file_close (dst); } /* Executes the filesystem operations described by the variables @@ -88,7 +91,7 @@ fsutil_run (void) if (fsutil_remove_file != NULL) { if (filesys_remove (fsutil_remove_file)) - printk ("%s: removed\n", fsutil_remove_file); + printf ("%s: removed\n", fsutil_remove_file); else PANIC ("%s: remove failed\n", fsutil_remove_file); } @@ -105,20 +108,21 @@ fsutil_run (void) void fsutil_print (const char *filename) { - struct file file; + struct file *file; char *buffer; - if (!filesys_open (filename, &file)) + file = filesys_open (filename); + if (file == NULL) PANIC ("%s: open failed", filename); buffer = palloc_get (PAL_ASSERT); for (;;) { - off_t n = file_read (&file, buffer, PGSIZE); + off_t n = file_read (file, buffer, PGSIZE); if (n == 0) break; hex_dump (buffer, n, true); } palloc_free (buffer); - file_close (&file); + file_close (file); }