#include "filesys/free-map.h"
#include "filesys/inode.h"
#include "filesys/directory.h"
-#include "devices/disk.h"
-/* The disk that contains the file system. */
-struct disk *filesys_disk;
+/* Partition that contains the file system. */
+struct block *fs_device;
static void do_format (void);
void
filesys_init (bool format)
{
- filesys_disk = disk_get (0, 1);
- if (filesys_disk == NULL)
- PANIC ("hd0:1 (hdb) not present, file system initialization failed");
+ 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 ();
bool
filesys_create (const char *name, off_t initial_size)
{
- disk_sector_t inode_sector = 0;
+ block_sector_t inode_sector = 0;
struct dir *dir = dir_open_root ();
bool success = (dir != NULL
&& free_map_allocate (1, &inode_sector)