コード例 #1
0
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;
}
コード例 #2
0
ファイル: super.c プロジェクト: HarryR/sanos
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;
}
コード例 #3
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;
}
コード例 #4
0
ファイル: super.c プロジェクト: HarryR/sanos
int dfs_unmount(struct fs *fs)
{
  close_filesystem((struct filsys *) fs->data);
  return 0;
}
コード例 #5
0
void do_close_filesys(int argc, char **argv)
{
	if (common_args_process(argc, argv, 1, 1, "close_filesys", "", 0))
		return;
	close_filesystem();
}
コード例 #6
0
zz_vfs_pkg_system::~zz_vfs_pkg_system()
{
	close_filesystem();
}