bool zz_vfs_pkg_system::open_filesystem (const char * filesystem_name_in) { assert(filesystem_name_in); if (filesystem_name_in[0] == '\0') { ZZ_LOG("vfs_pkg_system: open_filesystem(%s) failed. not a valid name.\n", filesystem_name_in); return false; } assert(!fsystem_); if (fsystem_) { ZZ_LOG("vfs_pkg_system: open_filesystem(%s) failed. already opened\n", filesystem_name_in); close_filesystem(); } //ZZ_LOG("vfs_pkg: open_filesystem(%s)\n", filesystem_name); zz_slash_converter filesystem_name(filesystem_name_in); fsystem_ = OpenVFS(filesystem_name, "mr"); // memory-mapped io read assert(fsystem_); if (!fsystem_) { ZZ_LOG("vfs_pkg_system: open_filesystem(%s) failed. cannot open.\n", filesystem_name); return false; } return true; }
int dfs_format(vfs_devno_t devno, char *opts) { int blocksize; int inode_ratio; int quick; struct filsys *fs; blocksize = DEFAULT_BLOCKSIZE; inode_ratio = DEFAULT_INODE_RATIO; quick = 0; if (parse_options(opts, &blocksize, &inode_ratio, &quick) != 0) return -1; fs = create_filesystem(devno, blocksize, inode_ratio, quick); if (!fs) return -1; close_filesystem(fs); return 0; }
bool zz_vfs_pkg_system::set_filesystem (VHANDLE fsystem_in) { assert(!fsystem_in); if (fsystem_) { close_filesystem(); } fsystem_ = fsystem_in; if (!fsystem_) { ZZ_LOG("vfs_pkg_system: set_filesystem() failed. invalid fsystem_.\n"); return false; } return true; }
int dfs_unmount(struct fs *fs) { close_filesystem((struct filsys *) fs->data); return 0; }
void do_close_filesys(int argc, char **argv) { if (common_args_process(argc, argv, 1, 1, "close_filesys", "", 0)) return; close_filesystem(); }
zz_vfs_pkg_system::~zz_vfs_pkg_system() { close_filesystem(); }