1// KernelUserFileSystem.cpp
2
3#include <new>
4
5#include "KernelUserFileSystem.h"
6#include "KernelUserVolume.h"
7
8// constructor
9KernelUserFileSystem::KernelUserFileSystem(vnode_ops* fsOps)
10	: UserFileSystem(),
11	  fFSOps(fsOps)
12{
13}
14
15// destructor
16KernelUserFileSystem::~KernelUserFileSystem()
17{
18}
19
20// CreateVolume
21status_t
22KernelUserFileSystem::CreateVolume(UserVolume** volume, nspace_id id)
23{
24	// check initialization and parameters
25	if (!fFSOps)
26		return B_BAD_VALUE;
27	if (!volume)
28		return B_BAD_VALUE;
29	// create the volume
30	*volume = new(nothrow) KernelUserVolume(this, id, fFSOps);
31	if (!*volume)
32		return B_NO_MEMORY;
33	return B_OK;
34}
35
36// DeleteVolume
37status_t
38KernelUserFileSystem::DeleteVolume(UserVolume* volume)
39{
40	if (!volume || !dynamic_cast<KernelUserVolume*>(volume))
41		return B_BAD_VALUE;
42	delete volume;
43	return B_OK;
44}
45
46