From 4f670845ff9ab6c48bcb5f7bf4d4ef6dc3c3064b Mon Sep 17 00:00:00 2001 From: manuel Date: Tue, 27 Mar 2012 11:51:08 +0200 Subject: reorganize file structure to match the upstream requirements --- pintos-progos/filesys/filesys.c | 103 ---------------------------------------- 1 file changed, 103 deletions(-) delete mode 100644 pintos-progos/filesys/filesys.c (limited to 'pintos-progos/filesys/filesys.c') diff --git a/pintos-progos/filesys/filesys.c b/pintos-progos/filesys/filesys.c deleted file mode 100644 index 7a53f5f..0000000 --- a/pintos-progos/filesys/filesys.c +++ /dev/null @@ -1,103 +0,0 @@ -#include "filesys/filesys.h" -#include -#include -#include -#include "filesys/file.h" -#include "filesys/free-map.h" -#include "filesys/inode.h" -#include "filesys/directory.h" - -/* Partition that contains the file system. */ -struct block *fs_device; - -static void do_format (void); - -/* Initializes the file system module. - If FORMAT is true, reformats the file system. */ -void -filesys_init (bool format) -{ - fs_device = block_get_role (BLOCK_FILESYS); - if (fs_device == NULL) - PANIC ("No file system device found, can't initialize file system."); - - inode_init (); - free_map_init (); - - if (format) - do_format (); - - free_map_open (); -} - -/* Shuts down the file system module, writing any unwritten data - to disk. */ -void -filesys_done (void) -{ - free_map_close (); -} - -/* Creates a file named NAME with the given INITIAL_SIZE. - Returns true if successful, false otherwise. - Fails if a file named NAME already exists, - or if internal memory allocation fails. */ -bool -filesys_create (const char *name, off_t initial_size) -{ - block_sector_t inode_sector = 0; - struct dir *dir = dir_open_root (); - bool success = (dir != NULL - && free_map_allocate (1, &inode_sector) - && inode_create (inode_sector, initial_size) - && dir_add (dir, name, inode_sector)); - if (!success && inode_sector != 0) - free_map_release (inode_sector, 1); - dir_close (dir); - - return success; -} - -/* Opens the file with the given NAME. - Returns the new file if successful or a null pointer - otherwise. - Fails if no file named NAME exists, - or if an internal memory allocation fails. */ -struct file * -filesys_open (const char *name) -{ - struct dir *dir = dir_open_root (); - struct inode *inode = NULL; - - if (dir != NULL) - dir_lookup (dir, name, &inode); - dir_close (dir); - - return file_open (inode); -} - -/* Deletes the file named NAME. - Returns true if successful, false on failure. - Fails if no file named NAME exists, - or if an internal memory allocation fails. */ -bool -filesys_remove (const char *name) -{ - struct dir *dir = dir_open_root (); - bool success = dir != NULL && dir_remove (dir, name); - dir_close (dir); - - return success; -} - -/* Formats the file system. */ -static void -do_format (void) -{ - printf ("Formatting file system..."); - free_map_create (); - if (!dir_create (ROOT_DIR_SECTOR, 16)) - PANIC ("root directory creation failed"); - free_map_close (); - printf ("done.\n"); -} -- cgit v1.2.3