Class renaming:
UserFileSystem -> FileSystem UserVolume -> Volume KernelUserFileSystem -> BeOSKernelFileSystem KernelUserVolume -> BeOSKernelVolume The BeOSKernel* classes are indeed intended to handle FS implementations that use the (old) BeOS FS interface. We'll see how well that will work. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20239 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -0,0 +1,45 @@
|
|||||||
|
// BeOSKernelFileSystem.cpp
|
||||||
|
|
||||||
|
#include <new>
|
||||||
|
|
||||||
|
#include "BeOSKernelFileSystem.h"
|
||||||
|
#include "BeOSKernelVolume.h"
|
||||||
|
|
||||||
|
// constructor
|
||||||
|
BeOSKernelFileSystem::BeOSKernelFileSystem(vnode_ops* fsOps)
|
||||||
|
: FileSystem(),
|
||||||
|
fFSOps(fsOps)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// destructor
|
||||||
|
BeOSKernelFileSystem::~BeOSKernelFileSystem()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// CreateVolume
|
||||||
|
status_t
|
||||||
|
BeOSKernelFileSystem::CreateVolume(Volume** volume, nspace_id id)
|
||||||
|
{
|
||||||
|
// check initialization and parameters
|
||||||
|
if (!fFSOps)
|
||||||
|
return B_BAD_VALUE;
|
||||||
|
if (!volume)
|
||||||
|
return B_BAD_VALUE;
|
||||||
|
// create the volume
|
||||||
|
*volume = new(nothrow) BeOSKernelVolume(this, id, fFSOps);
|
||||||
|
if (!*volume)
|
||||||
|
return B_NO_MEMORY;
|
||||||
|
return B_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteVolume
|
||||||
|
status_t
|
||||||
|
BeOSKernelFileSystem::DeleteVolume(Volume* volume)
|
||||||
|
{
|
||||||
|
if (!volume || !dynamic_cast<BeOSKernelVolume*>(volume))
|
||||||
|
return B_BAD_VALUE;
|
||||||
|
delete volume;
|
||||||
|
return B_OK;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
// BeOSKernelFileSystem.h
|
||||||
|
|
||||||
|
#ifndef USERLAND_FS_BEOS_KERNEL_FILE_SYSTEM_H
|
||||||
|
#define USERLAND_FS_BEOS_KERNEL_FILE_SYSTEM_H
|
||||||
|
|
||||||
|
#include "FileSystem.h"
|
||||||
|
|
||||||
|
namespace UserlandFS {
|
||||||
|
|
||||||
|
class BeOSKernelFileSystem : public FileSystem {
|
||||||
|
public:
|
||||||
|
BeOSKernelFileSystem(vnode_ops* fsOps);
|
||||||
|
virtual ~BeOSKernelFileSystem();
|
||||||
|
|
||||||
|
virtual status_t CreateVolume(Volume** volume, nspace_id id);
|
||||||
|
virtual status_t DeleteVolume(Volume* volume);
|
||||||
|
|
||||||
|
private:
|
||||||
|
vnode_ops* fFSOps;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace UserlandFS
|
||||||
|
|
||||||
|
using UserlandFS::BeOSKernelFileSystem;
|
||||||
|
|
||||||
|
#endif // USERLAND_FS_BEOS_KERNEL_FILE_SYSTEM_H
|
||||||
+63
-63
@@ -1,18 +1,18 @@
|
|||||||
// KernelUserVolume.cpp
|
// BeOSKernelVolume.cpp
|
||||||
|
|
||||||
#include "KernelUserVolume.h"
|
#include "BeOSKernelVolume.h"
|
||||||
|
|
||||||
// constructor
|
// constructor
|
||||||
KernelUserVolume::KernelUserVolume(UserFileSystem* fileSystem, nspace_id id,
|
BeOSKernelVolume::BeOSKernelVolume(FileSystem* fileSystem, nspace_id id,
|
||||||
vnode_ops* fsOps)
|
vnode_ops* fsOps)
|
||||||
: UserVolume(fileSystem, id),
|
: Volume(fileSystem, id),
|
||||||
fFSOps(fsOps),
|
fFSOps(fsOps),
|
||||||
fVolumeCookie(NULL)
|
fVolumeCookie(NULL)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
// destructor
|
// destructor
|
||||||
KernelUserVolume::~KernelUserVolume()
|
BeOSKernelVolume::~BeOSKernelVolume()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ KernelUserVolume::~KernelUserVolume()
|
|||||||
|
|
||||||
// Mount
|
// Mount
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Mount(const char* device, ulong flags, const char* parameters,
|
BeOSKernelVolume::Mount(const char* device, ulong flags, const char* parameters,
|
||||||
int32 len, vnode_id* rootID)
|
int32 len, vnode_id* rootID)
|
||||||
{
|
{
|
||||||
if (!fFSOps->mount)
|
if (!fFSOps->mount)
|
||||||
@@ -32,7 +32,7 @@ KernelUserVolume::Mount(const char* device, ulong flags, const char* parameters,
|
|||||||
|
|
||||||
// Unmount
|
// Unmount
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Unmount()
|
BeOSKernelVolume::Unmount()
|
||||||
{
|
{
|
||||||
if (!fFSOps->unmount)
|
if (!fFSOps->unmount)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -41,7 +41,7 @@ KernelUserVolume::Unmount()
|
|||||||
|
|
||||||
// Sync
|
// Sync
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Sync()
|
BeOSKernelVolume::Sync()
|
||||||
{
|
{
|
||||||
if (!fFSOps->sync)
|
if (!fFSOps->sync)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -50,7 +50,7 @@ KernelUserVolume::Sync()
|
|||||||
|
|
||||||
// ReadFSStat
|
// ReadFSStat
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::ReadFSStat(fs_info* info)
|
BeOSKernelVolume::ReadFSStat(fs_info* info)
|
||||||
{
|
{
|
||||||
if (!fFSOps->rfsstat)
|
if (!fFSOps->rfsstat)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -59,7 +59,7 @@ KernelUserVolume::ReadFSStat(fs_info* info)
|
|||||||
|
|
||||||
// WriteFSStat
|
// WriteFSStat
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::WriteFSStat(struct fs_info *info, long mask)
|
BeOSKernelVolume::WriteFSStat(struct fs_info *info, long mask)
|
||||||
{
|
{
|
||||||
if (!fFSOps->wfsstat)
|
if (!fFSOps->wfsstat)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -71,7 +71,7 @@ KernelUserVolume::WriteFSStat(struct fs_info *info, long mask)
|
|||||||
|
|
||||||
// ReadVNode
|
// ReadVNode
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::ReadVNode(vnode_id vnid, char reenter, void** node)
|
BeOSKernelVolume::ReadVNode(vnode_id vnid, char reenter, void** node)
|
||||||
{
|
{
|
||||||
if (!fFSOps->read_vnode)
|
if (!fFSOps->read_vnode)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -80,7 +80,7 @@ KernelUserVolume::ReadVNode(vnode_id vnid, char reenter, void** node)
|
|||||||
|
|
||||||
// WriteVNode
|
// WriteVNode
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::WriteVNode(void* node, char reenter)
|
BeOSKernelVolume::WriteVNode(void* node, char reenter)
|
||||||
{
|
{
|
||||||
if (!fFSOps->write_vnode)
|
if (!fFSOps->write_vnode)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -89,7 +89,7 @@ KernelUserVolume::WriteVNode(void* node, char reenter)
|
|||||||
|
|
||||||
// RemoveVNode
|
// RemoveVNode
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::RemoveVNode(void* node, char reenter)
|
BeOSKernelVolume::RemoveVNode(void* node, char reenter)
|
||||||
{
|
{
|
||||||
if (!fFSOps->remove_vnode)
|
if (!fFSOps->remove_vnode)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -101,7 +101,7 @@ KernelUserVolume::RemoveVNode(void* node, char reenter)
|
|||||||
|
|
||||||
// FSync
|
// FSync
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::FSync(void* node)
|
BeOSKernelVolume::FSync(void* node)
|
||||||
{
|
{
|
||||||
if (!fFSOps->fsync)
|
if (!fFSOps->fsync)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -110,7 +110,7 @@ KernelUserVolume::FSync(void* node)
|
|||||||
|
|
||||||
// ReadStat
|
// ReadStat
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::ReadStat(void* node, struct stat* st)
|
BeOSKernelVolume::ReadStat(void* node, struct stat* st)
|
||||||
{
|
{
|
||||||
if (!fFSOps->rstat)
|
if (!fFSOps->rstat)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -119,7 +119,7 @@ KernelUserVolume::ReadStat(void* node, struct stat* st)
|
|||||||
|
|
||||||
// WriteStat
|
// WriteStat
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::WriteStat(void* node, struct stat* st, long mask)
|
BeOSKernelVolume::WriteStat(void* node, struct stat* st, long mask)
|
||||||
{
|
{
|
||||||
if (!fFSOps->wstat)
|
if (!fFSOps->wstat)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -128,7 +128,7 @@ KernelUserVolume::WriteStat(void* node, struct stat* st, long mask)
|
|||||||
|
|
||||||
// Access
|
// Access
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Access(void* node, int mode)
|
BeOSKernelVolume::Access(void* node, int mode)
|
||||||
{
|
{
|
||||||
if (!fFSOps->access)
|
if (!fFSOps->access)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -140,7 +140,7 @@ KernelUserVolume::Access(void* node, int mode)
|
|||||||
|
|
||||||
// Create
|
// Create
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Create(void* dir, const char* name, int openMode, int mode,
|
BeOSKernelVolume::Create(void* dir, const char* name, int openMode, int mode,
|
||||||
vnode_id* vnid, void** cookie)
|
vnode_id* vnid, void** cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->create)
|
if (!fFSOps->create)
|
||||||
@@ -151,7 +151,7 @@ KernelUserVolume::Create(void* dir, const char* name, int openMode, int mode,
|
|||||||
|
|
||||||
// Open
|
// Open
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Open(void* node, int openMode, void** cookie)
|
BeOSKernelVolume::Open(void* node, int openMode, void** cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->open)
|
if (!fFSOps->open)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -160,7 +160,7 @@ KernelUserVolume::Open(void* node, int openMode, void** cookie)
|
|||||||
|
|
||||||
// Close
|
// Close
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Close(void* node, void* cookie)
|
BeOSKernelVolume::Close(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->close)
|
if (!fFSOps->close)
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -169,7 +169,7 @@ KernelUserVolume::Close(void* node, void* cookie)
|
|||||||
|
|
||||||
// FreeCookie
|
// FreeCookie
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::FreeCookie(void* node, void* cookie)
|
BeOSKernelVolume::FreeCookie(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->free_cookie)
|
if (!fFSOps->free_cookie)
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -178,7 +178,7 @@ KernelUserVolume::FreeCookie(void* node, void* cookie)
|
|||||||
|
|
||||||
// Read
|
// Read
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Read(void* node, void* cookie, off_t pos, void* buffer,
|
BeOSKernelVolume::Read(void* node, void* cookie, off_t pos, void* buffer,
|
||||||
size_t bufferSize, size_t* bytesRead)
|
size_t bufferSize, size_t* bytesRead)
|
||||||
{
|
{
|
||||||
if (!fFSOps->read)
|
if (!fFSOps->read)
|
||||||
@@ -189,7 +189,7 @@ KernelUserVolume::Read(void* node, void* cookie, off_t pos, void* buffer,
|
|||||||
|
|
||||||
// Write
|
// Write
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Write(void* node, void* cookie, off_t pos, const void* buffer,
|
BeOSKernelVolume::Write(void* node, void* cookie, off_t pos, const void* buffer,
|
||||||
size_t bufferSize, size_t* bytesWritten)
|
size_t bufferSize, size_t* bytesWritten)
|
||||||
{
|
{
|
||||||
if (!fFSOps->write)
|
if (!fFSOps->write)
|
||||||
@@ -201,7 +201,7 @@ KernelUserVolume::Write(void* node, void* cookie, off_t pos, const void* buffer,
|
|||||||
|
|
||||||
// IOCtl
|
// IOCtl
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::IOCtl(void* node, void* cookie, int command, void *buffer,
|
BeOSKernelVolume::IOCtl(void* node, void* cookie, int command, void *buffer,
|
||||||
size_t size)
|
size_t size)
|
||||||
{
|
{
|
||||||
if (!fFSOps->ioctl)
|
if (!fFSOps->ioctl)
|
||||||
@@ -211,7 +211,7 @@ KernelUserVolume::IOCtl(void* node, void* cookie, int command, void *buffer,
|
|||||||
|
|
||||||
// SetFlags
|
// SetFlags
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::SetFlags(void* node, void* cookie, int flags)
|
BeOSKernelVolume::SetFlags(void* node, void* cookie, int flags)
|
||||||
{
|
{
|
||||||
if (!fFSOps->setflags)
|
if (!fFSOps->setflags)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -220,7 +220,7 @@ KernelUserVolume::SetFlags(void* node, void* cookie, int flags)
|
|||||||
|
|
||||||
// Select
|
// Select
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Select(void* node, void* cookie, uint8 event, uint32 ref,
|
BeOSKernelVolume::Select(void* node, void* cookie, uint8 event, uint32 ref,
|
||||||
selectsync* sync)
|
selectsync* sync)
|
||||||
{
|
{
|
||||||
if (!fFSOps->select) {
|
if (!fFSOps->select) {
|
||||||
@@ -232,7 +232,7 @@ KernelUserVolume::Select(void* node, void* cookie, uint8 event, uint32 ref,
|
|||||||
|
|
||||||
// Deselect
|
// Deselect
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Deselect(void* node, void* cookie, uint8 event,
|
BeOSKernelVolume::Deselect(void* node, void* cookie, uint8 event,
|
||||||
selectsync* sync)
|
selectsync* sync)
|
||||||
{
|
{
|
||||||
if (!fFSOps->select || !fFSOps->deselect)
|
if (!fFSOps->select || !fFSOps->deselect)
|
||||||
@@ -245,7 +245,7 @@ KernelUserVolume::Deselect(void* node, void* cookie, uint8 event,
|
|||||||
|
|
||||||
// Link
|
// Link
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Link(void* dir, const char* name, void* node)
|
BeOSKernelVolume::Link(void* dir, const char* name, void* node)
|
||||||
{
|
{
|
||||||
if (!fFSOps->link)
|
if (!fFSOps->link)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -254,7 +254,7 @@ KernelUserVolume::Link(void* dir, const char* name, void* node)
|
|||||||
|
|
||||||
// Unlink
|
// Unlink
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Unlink(void* dir, const char* name)
|
BeOSKernelVolume::Unlink(void* dir, const char* name)
|
||||||
{
|
{
|
||||||
if (!fFSOps->unlink)
|
if (!fFSOps->unlink)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -263,7 +263,7 @@ KernelUserVolume::Unlink(void* dir, const char* name)
|
|||||||
|
|
||||||
// Symlink
|
// Symlink
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Symlink(void* dir, const char* name, const char* target)
|
BeOSKernelVolume::Symlink(void* dir, const char* name, const char* target)
|
||||||
{
|
{
|
||||||
if (!fFSOps->symlink)
|
if (!fFSOps->symlink)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -272,7 +272,7 @@ KernelUserVolume::Symlink(void* dir, const char* name, const char* target)
|
|||||||
|
|
||||||
// ReadLink
|
// ReadLink
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::ReadLink(void* node, char* buffer, size_t bufferSize,
|
BeOSKernelVolume::ReadLink(void* node, char* buffer, size_t bufferSize,
|
||||||
size_t* bytesRead)
|
size_t* bytesRead)
|
||||||
{
|
{
|
||||||
if (!fFSOps->readlink)
|
if (!fFSOps->readlink)
|
||||||
@@ -283,7 +283,7 @@ KernelUserVolume::ReadLink(void* node, char* buffer, size_t bufferSize,
|
|||||||
|
|
||||||
// Rename
|
// Rename
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Rename(void* oldDir, const char* oldName, void* newDir,
|
BeOSKernelVolume::Rename(void* oldDir, const char* oldName, void* newDir,
|
||||||
const char* newName)
|
const char* newName)
|
||||||
{
|
{
|
||||||
if (!fFSOps->rename)
|
if (!fFSOps->rename)
|
||||||
@@ -296,7 +296,7 @@ KernelUserVolume::Rename(void* oldDir, const char* oldName, void* newDir,
|
|||||||
|
|
||||||
// MkDir
|
// MkDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::MkDir(void* dir, const char* name, int mode)
|
BeOSKernelVolume::MkDir(void* dir, const char* name, int mode)
|
||||||
{
|
{
|
||||||
if (!fFSOps->mkdir)
|
if (!fFSOps->mkdir)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -305,7 +305,7 @@ KernelUserVolume::MkDir(void* dir, const char* name, int mode)
|
|||||||
|
|
||||||
// RmDir
|
// RmDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::RmDir(void* dir, const char* name)
|
BeOSKernelVolume::RmDir(void* dir, const char* name)
|
||||||
{
|
{
|
||||||
if (!fFSOps->rmdir)
|
if (!fFSOps->rmdir)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -314,7 +314,7 @@ KernelUserVolume::RmDir(void* dir, const char* name)
|
|||||||
|
|
||||||
// OpenDir
|
// OpenDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::OpenDir(void* node, void** cookie)
|
BeOSKernelVolume::OpenDir(void* node, void** cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->opendir)
|
if (!fFSOps->opendir)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -323,7 +323,7 @@ KernelUserVolume::OpenDir(void* node, void** cookie)
|
|||||||
|
|
||||||
// CloseDir
|
// CloseDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::CloseDir(void* node, void* cookie)
|
BeOSKernelVolume::CloseDir(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->closedir)
|
if (!fFSOps->closedir)
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -332,7 +332,7 @@ KernelUserVolume::CloseDir(void* node, void* cookie)
|
|||||||
|
|
||||||
// FreeDirCookie
|
// FreeDirCookie
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::FreeDirCookie(void* node, void* cookie)
|
BeOSKernelVolume::FreeDirCookie(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->free_dircookie)
|
if (!fFSOps->free_dircookie)
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -341,7 +341,7 @@ KernelUserVolume::FreeDirCookie(void* node, void* cookie)
|
|||||||
|
|
||||||
// ReadDir
|
// ReadDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::ReadDir(void* node, void* cookie, void* buffer,
|
BeOSKernelVolume::ReadDir(void* node, void* cookie, void* buffer,
|
||||||
size_t bufferSize, int32 count, int32* countRead)
|
size_t bufferSize, int32 count, int32* countRead)
|
||||||
{
|
{
|
||||||
if (!fFSOps->readdir)
|
if (!fFSOps->readdir)
|
||||||
@@ -353,7 +353,7 @@ KernelUserVolume::ReadDir(void* node, void* cookie, void* buffer,
|
|||||||
|
|
||||||
// RewindDir
|
// RewindDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::RewindDir(void* node, void* cookie)
|
BeOSKernelVolume::RewindDir(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->rewinddir)
|
if (!fFSOps->rewinddir)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -362,7 +362,7 @@ KernelUserVolume::RewindDir(void* node, void* cookie)
|
|||||||
|
|
||||||
// Walk
|
// Walk
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::Walk(void* dir, const char* entryName, char** resolvedPath,
|
BeOSKernelVolume::Walk(void* dir, const char* entryName, char** resolvedPath,
|
||||||
vnode_id* vnid)
|
vnode_id* vnid)
|
||||||
{
|
{
|
||||||
if (!fFSOps->walk)
|
if (!fFSOps->walk)
|
||||||
@@ -375,7 +375,7 @@ KernelUserVolume::Walk(void* dir, const char* entryName, char** resolvedPath,
|
|||||||
|
|
||||||
// OpenAttrDir
|
// OpenAttrDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::OpenAttrDir(void* node, void** cookie)
|
BeOSKernelVolume::OpenAttrDir(void* node, void** cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->open_attrdir)
|
if (!fFSOps->open_attrdir)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -384,7 +384,7 @@ KernelUserVolume::OpenAttrDir(void* node, void** cookie)
|
|||||||
|
|
||||||
// CloseAttrDir
|
// CloseAttrDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::CloseAttrDir(void* node, void* cookie)
|
BeOSKernelVolume::CloseAttrDir(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->close_attrdir)
|
if (!fFSOps->close_attrdir)
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -393,7 +393,7 @@ KernelUserVolume::CloseAttrDir(void* node, void* cookie)
|
|||||||
|
|
||||||
// FreeAttrDirCookie
|
// FreeAttrDirCookie
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::FreeAttrDirCookie(void* node, void* cookie)
|
BeOSKernelVolume::FreeAttrDirCookie(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->free_attrdircookie)
|
if (!fFSOps->free_attrdircookie)
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -402,7 +402,7 @@ KernelUserVolume::FreeAttrDirCookie(void* node, void* cookie)
|
|||||||
|
|
||||||
// ReadAttrDir
|
// ReadAttrDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::ReadAttrDir(void* node, void* cookie, void* buffer,
|
BeOSKernelVolume::ReadAttrDir(void* node, void* cookie, void* buffer,
|
||||||
size_t bufferSize, int32 count, int32* countRead)
|
size_t bufferSize, int32 count, int32* countRead)
|
||||||
{
|
{
|
||||||
if (!fFSOps->read_attrdir)
|
if (!fFSOps->read_attrdir)
|
||||||
@@ -414,7 +414,7 @@ KernelUserVolume::ReadAttrDir(void* node, void* cookie, void* buffer,
|
|||||||
|
|
||||||
// RewindAttrDir
|
// RewindAttrDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::RewindAttrDir(void* node, void* cookie)
|
BeOSKernelVolume::RewindAttrDir(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->rewind_attrdir)
|
if (!fFSOps->rewind_attrdir)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -423,7 +423,7 @@ KernelUserVolume::RewindAttrDir(void* node, void* cookie)
|
|||||||
|
|
||||||
// ReadAttr
|
// ReadAttr
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::ReadAttr(void* node, const char* name, int type, off_t pos,
|
BeOSKernelVolume::ReadAttr(void* node, const char* name, int type, off_t pos,
|
||||||
void* buffer, size_t bufferSize, size_t* bytesRead)
|
void* buffer, size_t bufferSize, size_t* bytesRead)
|
||||||
{
|
{
|
||||||
if (!fFSOps->read_attr)
|
if (!fFSOps->read_attr)
|
||||||
@@ -435,7 +435,7 @@ KernelUserVolume::ReadAttr(void* node, const char* name, int type, off_t pos,
|
|||||||
|
|
||||||
// WriteAttr
|
// WriteAttr
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::WriteAttr(void* node, const char* name, int type, off_t pos,
|
BeOSKernelVolume::WriteAttr(void* node, const char* name, int type, off_t pos,
|
||||||
const void* buffer, size_t bufferSize, size_t* bytesWritten)
|
const void* buffer, size_t bufferSize, size_t* bytesWritten)
|
||||||
{
|
{
|
||||||
if (!fFSOps->write_attr)
|
if (!fFSOps->write_attr)
|
||||||
@@ -447,7 +447,7 @@ KernelUserVolume::WriteAttr(void* node, const char* name, int type, off_t pos,
|
|||||||
|
|
||||||
// RemoveAttr
|
// RemoveAttr
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::RemoveAttr(void* node, const char* name)
|
BeOSKernelVolume::RemoveAttr(void* node, const char* name)
|
||||||
{
|
{
|
||||||
if (!fFSOps->remove_attr)
|
if (!fFSOps->remove_attr)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -456,7 +456,7 @@ KernelUserVolume::RemoveAttr(void* node, const char* name)
|
|||||||
|
|
||||||
// RenameAttr
|
// RenameAttr
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::RenameAttr(void* node, const char* oldName, const char* newName)
|
BeOSKernelVolume::RenameAttr(void* node, const char* oldName, const char* newName)
|
||||||
{
|
{
|
||||||
if (!fFSOps->rename_attr)
|
if (!fFSOps->rename_attr)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -465,7 +465,7 @@ KernelUserVolume::RenameAttr(void* node, const char* oldName, const char* newNam
|
|||||||
|
|
||||||
// StatAttr
|
// StatAttr
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::StatAttr(void* node, const char* name,
|
BeOSKernelVolume::StatAttr(void* node, const char* name,
|
||||||
struct attr_info* attrInfo)
|
struct attr_info* attrInfo)
|
||||||
{
|
{
|
||||||
if (!fFSOps->stat_attr)
|
if (!fFSOps->stat_attr)
|
||||||
@@ -478,7 +478,7 @@ KernelUserVolume::StatAttr(void* node, const char* name,
|
|||||||
|
|
||||||
// OpenIndexDir
|
// OpenIndexDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::OpenIndexDir(void** cookie)
|
BeOSKernelVolume::OpenIndexDir(void** cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->open_indexdir)
|
if (!fFSOps->open_indexdir)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -487,7 +487,7 @@ KernelUserVolume::OpenIndexDir(void** cookie)
|
|||||||
|
|
||||||
// CloseIndexDir
|
// CloseIndexDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::CloseIndexDir(void* cookie)
|
BeOSKernelVolume::CloseIndexDir(void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->close_indexdir)
|
if (!fFSOps->close_indexdir)
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -496,7 +496,7 @@ KernelUserVolume::CloseIndexDir(void* cookie)
|
|||||||
|
|
||||||
// FreeIndexDirCookie
|
// FreeIndexDirCookie
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::FreeIndexDirCookie(void* cookie)
|
BeOSKernelVolume::FreeIndexDirCookie(void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->free_indexdircookie)
|
if (!fFSOps->free_indexdircookie)
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -505,7 +505,7 @@ KernelUserVolume::FreeIndexDirCookie(void* cookie)
|
|||||||
|
|
||||||
// ReadIndexDir
|
// ReadIndexDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::ReadIndexDir(void* cookie, void* buffer, size_t bufferSize,
|
BeOSKernelVolume::ReadIndexDir(void* cookie, void* buffer, size_t bufferSize,
|
||||||
int32 count, int32* countRead)
|
int32 count, int32* countRead)
|
||||||
{
|
{
|
||||||
if (!fFSOps->read_indexdir)
|
if (!fFSOps->read_indexdir)
|
||||||
@@ -517,7 +517,7 @@ KernelUserVolume::ReadIndexDir(void* cookie, void* buffer, size_t bufferSize,
|
|||||||
|
|
||||||
// RewindIndexDir
|
// RewindIndexDir
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::RewindIndexDir(void* cookie)
|
BeOSKernelVolume::RewindIndexDir(void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->rewind_indexdir)
|
if (!fFSOps->rewind_indexdir)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -526,7 +526,7 @@ KernelUserVolume::RewindIndexDir(void* cookie)
|
|||||||
|
|
||||||
// CreateIndex
|
// CreateIndex
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::CreateIndex(const char* name, int type, int flags)
|
BeOSKernelVolume::CreateIndex(const char* name, int type, int flags)
|
||||||
{
|
{
|
||||||
if (!fFSOps->create_index)
|
if (!fFSOps->create_index)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -535,7 +535,7 @@ KernelUserVolume::CreateIndex(const char* name, int type, int flags)
|
|||||||
|
|
||||||
// RemoveIndex
|
// RemoveIndex
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::RemoveIndex(const char* name)
|
BeOSKernelVolume::RemoveIndex(const char* name)
|
||||||
{
|
{
|
||||||
if (!fFSOps->remove_index)
|
if (!fFSOps->remove_index)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -544,7 +544,7 @@ KernelUserVolume::RemoveIndex(const char* name)
|
|||||||
|
|
||||||
// RenameIndex
|
// RenameIndex
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::RenameIndex(const char* oldName, const char* newName)
|
BeOSKernelVolume::RenameIndex(const char* oldName, const char* newName)
|
||||||
{
|
{
|
||||||
if (!fFSOps->rename_index)
|
if (!fFSOps->rename_index)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -553,7 +553,7 @@ KernelUserVolume::RenameIndex(const char* oldName, const char* newName)
|
|||||||
|
|
||||||
// StatIndex
|
// StatIndex
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::StatIndex(const char *name, struct index_info* indexInfo)
|
BeOSKernelVolume::StatIndex(const char *name, struct index_info* indexInfo)
|
||||||
{
|
{
|
||||||
if (!fFSOps->stat_index)
|
if (!fFSOps->stat_index)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -565,7 +565,7 @@ KernelUserVolume::StatIndex(const char *name, struct index_info* indexInfo)
|
|||||||
|
|
||||||
// OpenQuery
|
// OpenQuery
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::OpenQuery(const char* queryString, ulong flags, port_id port,
|
BeOSKernelVolume::OpenQuery(const char* queryString, ulong flags, port_id port,
|
||||||
long token, void** cookie)
|
long token, void** cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->open_query)
|
if (!fFSOps->open_query)
|
||||||
@@ -576,7 +576,7 @@ KernelUserVolume::OpenQuery(const char* queryString, ulong flags, port_id port,
|
|||||||
|
|
||||||
// CloseQuery
|
// CloseQuery
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::CloseQuery(void* cookie)
|
BeOSKernelVolume::CloseQuery(void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->close_query)
|
if (!fFSOps->close_query)
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -585,7 +585,7 @@ KernelUserVolume::CloseQuery(void* cookie)
|
|||||||
|
|
||||||
// FreeQueryCookie
|
// FreeQueryCookie
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::FreeQueryCookie(void* cookie)
|
BeOSKernelVolume::FreeQueryCookie(void* cookie)
|
||||||
{
|
{
|
||||||
if (!fFSOps->free_querycookie)
|
if (!fFSOps->free_querycookie)
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -594,7 +594,7 @@ KernelUserVolume::FreeQueryCookie(void* cookie)
|
|||||||
|
|
||||||
// ReadQuery
|
// ReadQuery
|
||||||
status_t
|
status_t
|
||||||
KernelUserVolume::ReadQuery(void* cookie, void* buffer, size_t bufferSize,
|
BeOSKernelVolume::ReadQuery(void* cookie, void* buffer, size_t bufferSize,
|
||||||
int32 count, int32* countRead)
|
int32 count, int32* countRead)
|
||||||
{
|
{
|
||||||
if (!fFSOps->read_query)
|
if (!fFSOps->read_query)
|
||||||
+9
-9
@@ -1,19 +1,19 @@
|
|||||||
// KernelUserVolume.h
|
// BeOSKernelVolume.h
|
||||||
|
|
||||||
#ifndef USERLAND_FS_KERNEL_FS_VOLUME_H
|
#ifndef USERLAND_FS_BEOS_KERNEL_VOLUME_H
|
||||||
#define USERLAND_FS_KERNEL_FS_VOLUME_H
|
#define USERLAND_FS_BEOS_KERNEL_VOLUME_H
|
||||||
|
|
||||||
#include "UserVolume.h"
|
#include "Volume.h"
|
||||||
|
|
||||||
struct vnode_ops;
|
struct vnode_ops;
|
||||||
|
|
||||||
namespace UserlandFS {
|
namespace UserlandFS {
|
||||||
|
|
||||||
class KernelUserVolume : public UserVolume {
|
class BeOSKernelVolume : public Volume {
|
||||||
public:
|
public:
|
||||||
KernelUserVolume(UserFileSystem* fileSystem,
|
BeOSKernelVolume(FileSystem* fileSystem,
|
||||||
nspace_id id, vnode_ops* fsOps);
|
nspace_id id, vnode_ops* fsOps);
|
||||||
virtual ~KernelUserVolume();
|
virtual ~BeOSKernelVolume();
|
||||||
|
|
||||||
// FS
|
// FS
|
||||||
virtual status_t Mount(const char* device, ulong flags,
|
virtual status_t Mount(const char* device, ulong flags,
|
||||||
@@ -134,6 +134,6 @@ private:
|
|||||||
|
|
||||||
} // namespace UserlandFS
|
} // namespace UserlandFS
|
||||||
|
|
||||||
using UserlandFS::KernelUserVolume;
|
using UserlandFS::BeOSKernelVolume;
|
||||||
|
|
||||||
#endif // USERLAND_FS_KERNEL_FS_VOLUME_H
|
#endif // USERLAND_FS_BEOS_KERNEL_VOLUME_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// FileSystem.h
|
// FileSystem.h
|
||||||
|
|
||||||
#ifndef USERLAND_FS_FILE_SYSTEM_H
|
#ifndef USERLAND_FS_DISPATCHER_FILE_SYSTEM_H
|
||||||
#define USERLAND_FS_FILE_SYSTEM_H
|
#define USERLAND_FS_DISPATCHER_FILE_SYSTEM_H
|
||||||
|
|
||||||
#include <Locker.h>
|
#include <Locker.h>
|
||||||
|
|
||||||
@@ -45,4 +45,4 @@ private:
|
|||||||
|
|
||||||
using UserlandFS::Dispatcher::FileSystem;
|
using UserlandFS::Dispatcher::FileSystem;
|
||||||
|
|
||||||
#endif // USERLAND_FS_FILE_SYSTEM_H
|
#endif // USERLAND_FS_DISPATCHER_FILE_SYSTEM_H
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// FileSystem.cpp
|
||||||
|
|
||||||
|
#include "FileSystem.h"
|
||||||
|
|
||||||
|
// constructor
|
||||||
|
FileSystem::FileSystem()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// destructor
|
||||||
|
FileSystem::~FileSystem()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
// FileSystem.h
|
||||||
|
|
||||||
|
#ifndef USERLAND_FS_FILE_SYSTEM_H
|
||||||
|
#define USERLAND_FS_FILE_SYSTEM_H
|
||||||
|
|
||||||
|
#include <fsproto.h>
|
||||||
|
#include <SupportDefs.h>
|
||||||
|
|
||||||
|
namespace UserlandFS {
|
||||||
|
|
||||||
|
class Volume;
|
||||||
|
|
||||||
|
class FileSystem {
|
||||||
|
public:
|
||||||
|
FileSystem();
|
||||||
|
virtual ~FileSystem();
|
||||||
|
|
||||||
|
virtual status_t CreateVolume(Volume** volume,
|
||||||
|
nspace_id id) = 0;
|
||||||
|
virtual status_t DeleteVolume(Volume* volume) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace UserlandFS
|
||||||
|
|
||||||
|
using UserlandFS::FileSystem;
|
||||||
|
|
||||||
|
#endif // USERLAND_FS_FILE_SYSTEM_H
|
||||||
@@ -1,23 +1,20 @@
|
|||||||
SubDir HAIKU_TOP src tests add-ons kernel file_systems userlandfs r5 src
|
SubDir HAIKU_TOP src add-ons kernel file_systems userlandfs server ;
|
||||||
server ;
|
|
||||||
|
|
||||||
SetSubDirSupportedPlatforms r5 bone dano ;
|
local userlandFSTop = [ FDirName $(HAIKU_TOP) src add-ons kernel
|
||||||
|
file_systems userlandfs ] ;
|
||||||
|
local userlandFSIncludes = [ PrivateHeaders userlandfs ] ;
|
||||||
|
|
||||||
local userlandFSTop = [ FDirName $(HAIKU_TOP) src tests add-ons kernel
|
#SubDirSysHdrs [ FDirName $(userlandFSIncludes) legacy ] ;
|
||||||
file_systems userlandfs r5 ] ;
|
|
||||||
local userlandFSIncludes = [ FDirName $(userlandFSTop) headers ] ;
|
|
||||||
|
|
||||||
SubDirSysHdrs [ FDirName $(userlandFSIncludes) public ] ;
|
|
||||||
SubDirHdrs [ FDirName $(userlandFSIncludes) private ] ;
|
SubDirHdrs [ FDirName $(userlandFSIncludes) private ] ;
|
||||||
SubDirHdrs [ FDirName $(userlandFSIncludes) shared ] ;
|
SubDirHdrs [ FDirName $(userlandFSIncludes) shared ] ;
|
||||||
|
|
||||||
SEARCH_SOURCE += [ FDirName $(userlandFSTop) src private ] ;
|
SEARCH_SOURCE += [ FDirName $(userlandFSTop) private ] ;
|
||||||
SEARCH_SOURCE += [ FDirName $(userlandFSTop) src shared ] ;
|
SEARCH_SOURCE += [ FDirName $(userlandFSTop) shared ] ;
|
||||||
|
|
||||||
DEFINES += USER=1 ;
|
DEFINES += USER=1 ;
|
||||||
DEFINES += DEBUG_APP="\\\"UserlandFSServer\\\"" ;
|
DEFINES += DEBUG_APP="\\\"UserlandFSServer\\\"" ;
|
||||||
|
|
||||||
Application <test>UserlandFSServer
|
Application UserlandFSServer
|
||||||
: AreaSupport.cpp
|
: AreaSupport.cpp
|
||||||
Debug.cpp
|
Debug.cpp
|
||||||
DispatcherDefs.cpp
|
DispatcherDefs.cpp
|
||||||
@@ -35,20 +32,20 @@ Application <test>UserlandFSServer
|
|||||||
SingleReplyRequestHandler.cpp
|
SingleReplyRequestHandler.cpp
|
||||||
String.cpp
|
String.cpp
|
||||||
|
|
||||||
cache.c
|
# cache.c
|
||||||
sysdep.c
|
# sysdep.c
|
||||||
|
|
||||||
FileSystem.cpp
|
# BeOSKernelFileSystem.cpp
|
||||||
kernel_emu.cpp
|
# BeOSKernelVolume.cpp
|
||||||
KernelUserFileSystem.cpp
|
DispatcherFileSystem.cpp
|
||||||
KernelUserVolume.cpp
|
# FileSystem.cpp
|
||||||
|
# kernel_emu.cpp
|
||||||
main.cpp
|
main.cpp
|
||||||
RequestThread.cpp
|
# RequestThread.cpp
|
||||||
ServerDefs.cpp
|
ServerDefs.cpp
|
||||||
UserFileSystem.cpp
|
|
||||||
UserlandFSDispatcher.cpp
|
UserlandFSDispatcher.cpp
|
||||||
UserlandFSServer.cpp
|
# UserlandFSServer.cpp
|
||||||
UserlandRequestHandler.cpp
|
# UserlandRequestHandler.cpp
|
||||||
UserVolume.cpp
|
# Volume.cpp
|
||||||
: be
|
: be
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
// KernelUserFileSystem.cpp
|
|
||||||
|
|
||||||
#include <new>
|
|
||||||
|
|
||||||
#include "KernelUserFileSystem.h"
|
|
||||||
#include "KernelUserVolume.h"
|
|
||||||
|
|
||||||
// constructor
|
|
||||||
KernelUserFileSystem::KernelUserFileSystem(vnode_ops* fsOps)
|
|
||||||
: UserFileSystem(),
|
|
||||||
fFSOps(fsOps)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// destructor
|
|
||||||
KernelUserFileSystem::~KernelUserFileSystem()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateVolume
|
|
||||||
status_t
|
|
||||||
KernelUserFileSystem::CreateVolume(UserVolume** volume, nspace_id id)
|
|
||||||
{
|
|
||||||
// check initialization and parameters
|
|
||||||
if (!fFSOps)
|
|
||||||
return B_BAD_VALUE;
|
|
||||||
if (!volume)
|
|
||||||
return B_BAD_VALUE;
|
|
||||||
// create the volume
|
|
||||||
*volume = new(nothrow) KernelUserVolume(this, id, fFSOps);
|
|
||||||
if (!*volume)
|
|
||||||
return B_NO_MEMORY;
|
|
||||||
return B_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeleteVolume
|
|
||||||
status_t
|
|
||||||
KernelUserFileSystem::DeleteVolume(UserVolume* volume)
|
|
||||||
{
|
|
||||||
if (!volume || !dynamic_cast<KernelUserVolume*>(volume))
|
|
||||||
return B_BAD_VALUE;
|
|
||||||
delete volume;
|
|
||||||
return B_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
// KernelUserFileSystem.h
|
|
||||||
|
|
||||||
#ifndef USERLAND_FS_KERNEL_USER_FILE_SYSTEM_H
|
|
||||||
#define USERLAND_FS_KERNEL_USER_FILE_SYSTEM_H
|
|
||||||
|
|
||||||
#include "UserFileSystem.h"
|
|
||||||
|
|
||||||
namespace UserlandFS {
|
|
||||||
|
|
||||||
class KernelUserFileSystem : public UserFileSystem {
|
|
||||||
public:
|
|
||||||
KernelUserFileSystem(vnode_ops* fsOps);
|
|
||||||
virtual ~KernelUserFileSystem();
|
|
||||||
|
|
||||||
virtual status_t CreateVolume(UserVolume** volume, nspace_id id);
|
|
||||||
virtual status_t DeleteVolume(UserVolume* volume);
|
|
||||||
|
|
||||||
private:
|
|
||||||
vnode_ops* fFSOps;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace UserlandFS
|
|
||||||
|
|
||||||
using UserlandFS::KernelUserFileSystem;
|
|
||||||
|
|
||||||
#endif // USERLAND_FS_KERNEL_USER_FILE_SYSTEM_H
|
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
static const int32 sTLSVariable = tls_allocate();
|
static const int32 sTLSVariable = tls_allocate();
|
||||||
|
|
||||||
// constructor
|
// constructor
|
||||||
RequestThreadContext::RequestThreadContext(UserVolume* volume)
|
RequestThreadContext::RequestThreadContext(Volume* volume)
|
||||||
: fPreviousContext(NULL),
|
: fPreviousContext(NULL),
|
||||||
fThread(NULL),
|
fThread(NULL),
|
||||||
fVolume(volume)
|
fVolume(volume)
|
||||||
@@ -38,7 +38,7 @@ RequestThreadContext::GetThread() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GetVolume
|
// GetVolume
|
||||||
UserlandFS::UserVolume*
|
UserlandFS::Volume*
|
||||||
RequestThreadContext::GetVolume() const
|
RequestThreadContext::GetVolume() const
|
||||||
{
|
{
|
||||||
return fVolume;
|
return fVolume;
|
||||||
@@ -67,7 +67,7 @@ RequestThread::~RequestThread()
|
|||||||
|
|
||||||
// Init
|
// Init
|
||||||
status_t
|
status_t
|
||||||
RequestThread::Init(UserFileSystem* fileSystem)
|
RequestThread::Init(FileSystem* fileSystem)
|
||||||
{
|
{
|
||||||
if (!fileSystem)
|
if (!fileSystem)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -124,7 +124,7 @@ RequestThread::GetPortInfo() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GetFileSystem
|
// GetFileSystem
|
||||||
UserlandFS::UserFileSystem*
|
UserlandFS::FileSystem*
|
||||||
RequestThread::GetFileSystem() const
|
RequestThread::GetFileSystem() const
|
||||||
{
|
{
|
||||||
return fFileSystem;
|
return fFileSystem;
|
||||||
|
|||||||
@@ -7,23 +7,23 @@
|
|||||||
|
|
||||||
namespace UserlandFS {
|
namespace UserlandFS {
|
||||||
|
|
||||||
|
class FileSystem;
|
||||||
class RequestThread;
|
class RequestThread;
|
||||||
class UserFileSystem;
|
class Volume;
|
||||||
class UserVolume;
|
|
||||||
|
|
||||||
// RequestThreadContext
|
// RequestThreadContext
|
||||||
class RequestThreadContext {
|
class RequestThreadContext {
|
||||||
public:
|
public:
|
||||||
RequestThreadContext(UserVolume* volume);
|
RequestThreadContext(Volume* volume);
|
||||||
~RequestThreadContext();
|
~RequestThreadContext();
|
||||||
|
|
||||||
RequestThread* GetThread() const;
|
RequestThread* GetThread() const;
|
||||||
UserVolume* GetVolume() const;
|
Volume* GetVolume() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RequestThreadContext* fPreviousContext;
|
RequestThreadContext* fPreviousContext;
|
||||||
RequestThread* fThread;
|
RequestThread* fThread;
|
||||||
UserVolume* fVolume;
|
Volume* fVolume;
|
||||||
};
|
};
|
||||||
|
|
||||||
// RequestThread
|
// RequestThread
|
||||||
@@ -32,13 +32,13 @@ public:
|
|||||||
RequestThread();
|
RequestThread();
|
||||||
~RequestThread();
|
~RequestThread();
|
||||||
|
|
||||||
status_t Init(UserFileSystem* fileSystem);
|
status_t Init(FileSystem* fileSystem);
|
||||||
void Run();
|
void Run();
|
||||||
void PrepareTermination();
|
void PrepareTermination();
|
||||||
void Terminate();
|
void Terminate();
|
||||||
|
|
||||||
const Port::Info* GetPortInfo() const;
|
const Port::Info* GetPortInfo() const;
|
||||||
UserFileSystem* GetFileSystem() const;
|
FileSystem* GetFileSystem() const;
|
||||||
RequestPort* GetPort() const;
|
RequestPort* GetPort() const;
|
||||||
RequestThreadContext* GetContext() const;
|
RequestThreadContext* GetContext() const;
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ private:
|
|||||||
friend class RequestThreadContext;
|
friend class RequestThreadContext;
|
||||||
|
|
||||||
thread_id fThread;
|
thread_id fThread;
|
||||||
UserFileSystem* fFileSystem;
|
FileSystem* fFileSystem;
|
||||||
RequestPort* fPort;
|
RequestPort* fPort;
|
||||||
RequestThreadContext* fContext;
|
RequestThreadContext* fContext;
|
||||||
bool fTerminating;
|
bool fTerminating;
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
// UserFileSystem.cpp
|
|
||||||
|
|
||||||
#include "UserFileSystem.h"
|
|
||||||
|
|
||||||
// constructor
|
|
||||||
UserFileSystem::UserFileSystem()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// destructor
|
|
||||||
UserFileSystem::~UserFileSystem()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
// UserFileSystem.h
|
|
||||||
|
|
||||||
#ifndef USERLAND_FS_USER_FILE_SYSTEM_H
|
|
||||||
#define USERLAND_FS_USER_FILE_SYSTEM_H
|
|
||||||
|
|
||||||
#include <fsproto.h>
|
|
||||||
#include <SupportDefs.h>
|
|
||||||
|
|
||||||
namespace UserlandFS {
|
|
||||||
|
|
||||||
class UserVolume;
|
|
||||||
|
|
||||||
class UserFileSystem {
|
|
||||||
public:
|
|
||||||
UserFileSystem();
|
|
||||||
virtual ~UserFileSystem();
|
|
||||||
|
|
||||||
virtual status_t CreateVolume(UserVolume** volume,
|
|
||||||
nspace_id id) = 0;
|
|
||||||
virtual status_t DeleteVolume(UserVolume* volume) = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace UserlandFS
|
|
||||||
|
|
||||||
using UserlandFS::UserFileSystem;
|
|
||||||
|
|
||||||
#endif // USERLAND_FS_FILE_SYSTEM_H
|
|
||||||
@@ -14,14 +14,14 @@
|
|||||||
#include <Path.h>
|
#include <Path.h>
|
||||||
|
|
||||||
#include "AutoLocker.h"
|
#include "AutoLocker.h"
|
||||||
|
#include "BeOSKernelFileSystem.h"
|
||||||
#include "Compatibility.h"
|
#include "Compatibility.h"
|
||||||
#include "Debug.h"
|
#include "Debug.h"
|
||||||
#include "DispatcherDefs.h"
|
#include "DispatcherDefs.h"
|
||||||
|
#include "FileSystem.h"
|
||||||
#include "FSInfo.h"
|
#include "FSInfo.h"
|
||||||
#include "KernelUserFileSystem.h"
|
|
||||||
#include "RequestThread.h"
|
#include "RequestThread.h"
|
||||||
#include "ServerDefs.h"
|
#include "ServerDefs.h"
|
||||||
#include "UserFileSystem.h"
|
|
||||||
#include "UserlandFSServer.h"
|
#include "UserlandFSServer.h"
|
||||||
|
|
||||||
static const int32 kRequestThreadCount = 10;
|
static const int32 kRequestThreadCount = 10;
|
||||||
@@ -91,7 +91,7 @@ UserlandFSServer::Init(const char* fileSystem)
|
|||||||
if (*apiVersion != B_CUR_FS_API_VERSION)
|
if (*apiVersion != B_CUR_FS_API_VERSION)
|
||||||
RETURN_ERROR(B_ERROR);
|
RETURN_ERROR(B_ERROR);
|
||||||
// create the file system
|
// create the file system
|
||||||
fFileSystem = new(nothrow) KernelUserFileSystem(fsOps);
|
fFileSystem = new(nothrow) BeOSKernelFileSystem(fsOps);
|
||||||
if (!fileSystem)
|
if (!fileSystem)
|
||||||
RETURN_ERROR(B_NO_MEMORY);
|
RETURN_ERROR(B_NO_MEMORY);
|
||||||
// init the block cache
|
// init the block cache
|
||||||
@@ -136,7 +136,7 @@ UserlandFSServer::GetNotificationRequestPort()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GetFileSystem
|
// GetFileSystem
|
||||||
UserFileSystem*
|
FileSystem*
|
||||||
UserlandFSServer::GetFileSystem()
|
UserlandFSServer::GetFileSystem()
|
||||||
{
|
{
|
||||||
if (UserlandFSServer* server = dynamic_cast<UserlandFSServer*>(be_app))
|
if (UserlandFSServer* server = dynamic_cast<UserlandFSServer*>(be_app))
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
namespace UserlandFS {
|
namespace UserlandFS {
|
||||||
|
|
||||||
|
class FileSystem;
|
||||||
class RequestThread;
|
class RequestThread;
|
||||||
class UserFileSystem;
|
|
||||||
|
|
||||||
class UserlandFSServer : public BApplication {
|
class UserlandFSServer : public BApplication {
|
||||||
public:
|
public:
|
||||||
@@ -18,13 +18,13 @@ public:
|
|||||||
status_t Init(const char* fileSystem);
|
status_t Init(const char* fileSystem);
|
||||||
|
|
||||||
static RequestPort* GetNotificationRequestPort();
|
static RequestPort* GetNotificationRequestPort();
|
||||||
static UserFileSystem* GetFileSystem();
|
static FileSystem* GetFileSystem();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
status_t _RegisterWithDispatcher(const char* fsName);
|
status_t _RegisterWithDispatcher(const char* fsName);
|
||||||
private:
|
private:
|
||||||
image_id fAddOnImage;
|
image_id fAddOnImage;
|
||||||
UserFileSystem* fFileSystem;
|
FileSystem* fFileSystem;
|
||||||
RequestPort* fNotificationRequestPort;
|
RequestPort* fNotificationRequestPort;
|
||||||
RequestThread* fRequestThreads;
|
RequestThread* fRequestThreads;
|
||||||
bool fBlockCacheInitialized;
|
bool fBlockCacheInitialized;
|
||||||
@@ -32,8 +32,8 @@ private:
|
|||||||
|
|
||||||
} // namespace UserlandFS
|
} // namespace UserlandFS
|
||||||
|
|
||||||
|
using UserlandFS::FileSystem;
|
||||||
using UserlandFS::RequestThread;
|
using UserlandFS::RequestThread;
|
||||||
using UserlandFS::UserFileSystem;
|
|
||||||
using UserlandFS::UserlandFSServer;
|
using UserlandFS::UserlandFSServer;
|
||||||
|
|
||||||
#endif // USERLAND_FS_SERVER_H
|
#endif // USERLAND_FS_SERVER_H
|
||||||
|
|||||||
@@ -1,18 +1,19 @@
|
|||||||
// UserlandRequestHandler.cpp
|
// UserlandRequestHandler.cpp
|
||||||
|
|
||||||
|
#include "UserlandRequestHandler.h"
|
||||||
|
|
||||||
#include "AutoDeleter.h"
|
#include "AutoDeleter.h"
|
||||||
#include "Compatibility.h"
|
#include "Compatibility.h"
|
||||||
#include "Debug.h"
|
#include "Debug.h"
|
||||||
#include "UserVolume.h"
|
#include "FileSystem.h"
|
||||||
#include "RequestPort.h"
|
#include "RequestPort.h"
|
||||||
#include "Requests.h"
|
#include "Requests.h"
|
||||||
#include "RequestThread.h"
|
#include "RequestThread.h"
|
||||||
#include "SingleReplyRequestHandler.h"
|
#include "SingleReplyRequestHandler.h"
|
||||||
#include "UserFileSystem.h"
|
#include "Volume.h"
|
||||||
#include "UserlandRequestHandler.h"
|
|
||||||
|
|
||||||
// constructor
|
// constructor
|
||||||
UserlandRequestHandler::UserlandRequestHandler(UserFileSystem* fileSystem)
|
UserlandRequestHandler::UserlandRequestHandler(FileSystem* fileSystem)
|
||||||
: RequestHandler(),
|
: RequestHandler(),
|
||||||
fFileSystem(fileSystem),
|
fFileSystem(fileSystem),
|
||||||
fExpectReply(false),
|
fExpectReply(false),
|
||||||
@@ -21,7 +22,7 @@ UserlandRequestHandler::UserlandRequestHandler(UserFileSystem* fileSystem)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// constructor
|
// constructor
|
||||||
UserlandRequestHandler::UserlandRequestHandler(UserFileSystem* fileSystem,
|
UserlandRequestHandler::UserlandRequestHandler(FileSystem* fileSystem,
|
||||||
uint32 expectedReply)
|
uint32 expectedReply)
|
||||||
: RequestHandler(),
|
: RequestHandler(),
|
||||||
fFileSystem(fileSystem),
|
fFileSystem(fileSystem),
|
||||||
@@ -207,7 +208,7 @@ UserlandRequestHandler::_HandleRequest(MountVolumeRequest* request)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create the volume
|
// create the volume
|
||||||
UserVolume* volume = NULL;
|
Volume* volume = NULL;
|
||||||
if (result == B_OK)
|
if (result == B_OK)
|
||||||
result = fFileSystem->CreateVolume(&volume, request->nsid);
|
result = fFileSystem->CreateVolume(&volume, request->nsid);
|
||||||
|
|
||||||
@@ -244,7 +245,7 @@ UserlandRequestHandler::_HandleRequest(UnmountVolumeRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -268,7 +269,7 @@ UserlandRequestHandler::_HandleRequest(SyncVolumeRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -292,7 +293,7 @@ UserlandRequestHandler::_HandleRequest(ReadFSStatRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
fs_info info;
|
fs_info info;
|
||||||
@@ -318,7 +319,7 @@ UserlandRequestHandler::_HandleRequest(WriteFSStatRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -346,7 +347,7 @@ UserlandRequestHandler::_HandleRequest(ReadVNodeRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* node;
|
void* node;
|
||||||
@@ -372,7 +373,7 @@ UserlandRequestHandler::_HandleRequest(WriteVNodeRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -396,7 +397,7 @@ UserlandRequestHandler::_HandleRequest(FSRemoveVNodeRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -424,7 +425,7 @@ UserlandRequestHandler::_HandleRequest(FSyncRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -448,7 +449,7 @@ UserlandRequestHandler::_HandleRequest(ReadStatRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
@@ -474,7 +475,7 @@ UserlandRequestHandler::_HandleRequest(WriteStatRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -498,7 +499,7 @@ UserlandRequestHandler::_HandleRequest(AccessRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -526,7 +527,7 @@ UserlandRequestHandler::_HandleRequest(CreateRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
vnode_id vnid;
|
vnode_id vnid;
|
||||||
@@ -556,7 +557,7 @@ UserlandRequestHandler::_HandleRequest(OpenRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* fileCookie;
|
void* fileCookie;
|
||||||
@@ -582,7 +583,7 @@ UserlandRequestHandler::_HandleRequest(CloseRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -606,7 +607,7 @@ UserlandRequestHandler::_HandleRequest(FreeCookieRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -630,7 +631,7 @@ UserlandRequestHandler::_HandleRequest(ReadRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* node = request->node;
|
void* node = request->node;
|
||||||
@@ -668,7 +669,7 @@ UserlandRequestHandler::_HandleRequest(WriteRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
size_t bytesWritten;
|
size_t bytesWritten;
|
||||||
@@ -696,7 +697,7 @@ UserlandRequestHandler::_HandleRequest(IOCtlRequest* request)
|
|||||||
{
|
{
|
||||||
// get the request parameters
|
// get the request parameters
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* buffer = request->bufferParameter;
|
void* buffer = request->bufferParameter;
|
||||||
@@ -746,7 +747,7 @@ UserlandRequestHandler::_HandleRequest(SetFlagsRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -771,7 +772,7 @@ UserlandRequestHandler::_HandleRequest(SelectRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -796,7 +797,7 @@ UserlandRequestHandler::_HandleRequest(DeselectRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -825,7 +826,7 @@ UserlandRequestHandler::_HandleRequest(LinkRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -850,7 +851,7 @@ UserlandRequestHandler::_HandleRequest(UnlinkRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -875,7 +876,7 @@ UserlandRequestHandler::_HandleRequest(SymlinkRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -901,7 +902,7 @@ UserlandRequestHandler::_HandleRequest(ReadLinkRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* node = request->node;
|
void* node = request->node;
|
||||||
@@ -937,7 +938,7 @@ UserlandRequestHandler::_HandleRequest(RenameRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -967,7 +968,7 @@ UserlandRequestHandler::_HandleRequest(MkDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -992,7 +993,7 @@ UserlandRequestHandler::_HandleRequest(RmDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1017,7 +1018,7 @@ UserlandRequestHandler::_HandleRequest(OpenDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* dirCookie;
|
void* dirCookie;
|
||||||
@@ -1043,7 +1044,7 @@ UserlandRequestHandler::_HandleRequest(CloseDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1067,7 +1068,7 @@ UserlandRequestHandler::_HandleRequest(FreeDirCookieRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1091,7 +1092,7 @@ UserlandRequestHandler::_HandleRequest(ReadDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check the request
|
// check the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* node = request->node;
|
void* node = request->node;
|
||||||
@@ -1139,7 +1140,7 @@ UserlandRequestHandler::_HandleRequest(RewindDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1163,7 +1164,7 @@ UserlandRequestHandler::_HandleRequest(WalkRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
vnode_id vnid;
|
vnode_id vnid;
|
||||||
@@ -1199,7 +1200,7 @@ UserlandRequestHandler::_HandleRequest(OpenAttrDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* attrDirCookie;
|
void* attrDirCookie;
|
||||||
@@ -1225,7 +1226,7 @@ UserlandRequestHandler::_HandleRequest(CloseAttrDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1249,7 +1250,7 @@ UserlandRequestHandler::_HandleRequest(FreeAttrDirCookieRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1274,7 +1275,7 @@ UserlandRequestHandler::_HandleRequest(ReadAttrDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* node = request->node;
|
void* node = request->node;
|
||||||
@@ -1313,7 +1314,7 @@ UserlandRequestHandler::_HandleRequest(RewindAttrDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1337,7 +1338,7 @@ UserlandRequestHandler::_HandleRequest(ReadAttrRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* node = request->node;
|
void* node = request->node;
|
||||||
@@ -1375,7 +1376,7 @@ UserlandRequestHandler::_HandleRequest(WriteAttrRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
size_t bytesWritten;
|
size_t bytesWritten;
|
||||||
@@ -1404,7 +1405,7 @@ UserlandRequestHandler::_HandleRequest(RemoveAttrRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1429,7 +1430,7 @@ UserlandRequestHandler::_HandleRequest(RenameAttrRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1455,7 +1456,7 @@ UserlandRequestHandler::_HandleRequest(StatAttrRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
attr_info info;
|
attr_info info;
|
||||||
@@ -1486,7 +1487,7 @@ UserlandRequestHandler::_HandleRequest(OpenIndexDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* indexDirCookie;
|
void* indexDirCookie;
|
||||||
@@ -1512,7 +1513,7 @@ UserlandRequestHandler::_HandleRequest(CloseIndexDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1536,7 +1537,7 @@ UserlandRequestHandler::_HandleRequest(FreeIndexDirCookieRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1560,7 +1561,7 @@ UserlandRequestHandler::_HandleRequest(ReadIndexDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* indexDirCookie = request->indexDirCookie;
|
void* indexDirCookie = request->indexDirCookie;
|
||||||
@@ -1598,7 +1599,7 @@ UserlandRequestHandler::_HandleRequest(RewindIndexDirRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1622,7 +1623,7 @@ UserlandRequestHandler::_HandleRequest(CreateIndexRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1647,7 +1648,7 @@ UserlandRequestHandler::_HandleRequest(RemoveIndexRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1671,7 +1672,7 @@ UserlandRequestHandler::_HandleRequest(RenameIndexRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1696,7 +1697,7 @@ UserlandRequestHandler::_HandleRequest(StatIndexRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
index_info info;
|
index_info info;
|
||||||
@@ -1726,7 +1727,7 @@ UserlandRequestHandler::_HandleRequest(OpenQueryRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* queryCookie;
|
void* queryCookie;
|
||||||
@@ -1753,7 +1754,7 @@ UserlandRequestHandler::_HandleRequest(CloseQueryRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1777,7 +1778,7 @@ UserlandRequestHandler::_HandleRequest(FreeQueryCookieRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
if (result == B_OK) {
|
if (result == B_OK) {
|
||||||
@@ -1801,7 +1802,7 @@ UserlandRequestHandler::_HandleRequest(ReadQueryRequest* request)
|
|||||||
{
|
{
|
||||||
// check and execute the request
|
// check and execute the request
|
||||||
status_t result = B_OK;
|
status_t result = B_OK;
|
||||||
UserVolume* volume = (UserVolume*)request->volume;
|
Volume* volume = (Volume*)request->volume;
|
||||||
if (!volume)
|
if (!volume)
|
||||||
result = B_BAD_VALUE;
|
result = B_BAD_VALUE;
|
||||||
void* queryCookie = request->queryCookie;
|
void* queryCookie = request->queryCookie;
|
||||||
|
|||||||
@@ -30,14 +30,12 @@ class ReadLinkRequest;
|
|||||||
|
|
||||||
namespace UserlandFS {
|
namespace UserlandFS {
|
||||||
|
|
||||||
class UserFileSystem;
|
class FileSystem;
|
||||||
|
|
||||||
class UserlandRequestHandler : public RequestHandler {
|
class UserlandRequestHandler : public RequestHandler {
|
||||||
public:
|
public:
|
||||||
UserlandRequestHandler(
|
UserlandRequestHandler(FileSystem* fileSystem);
|
||||||
UserFileSystem* fileSystem);
|
UserlandRequestHandler(FileSystem* fileSystem,
|
||||||
UserlandRequestHandler(
|
|
||||||
UserFileSystem* fileSystem,
|
|
||||||
uint32 expectedReply);
|
uint32 expectedReply);
|
||||||
virtual ~UserlandRequestHandler();
|
virtual ~UserlandRequestHandler();
|
||||||
|
|
||||||
@@ -126,7 +124,7 @@ private:
|
|||||||
bool expectsReceipt);
|
bool expectsReceipt);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UserFileSystem* fFileSystem;
|
FileSystem* fFileSystem;
|
||||||
bool fExpectReply;
|
bool fExpectReply;
|
||||||
uint32 fExpectedReply;
|
uint32 fExpectedReply;
|
||||||
};
|
};
|
||||||
|
|||||||
+65
-65
@@ -1,29 +1,29 @@
|
|||||||
// UserVolume.cpp
|
// Volume.cpp
|
||||||
|
|
||||||
#include "UserVolume.h"
|
#include "Volume.h"
|
||||||
|
|
||||||
// constructor
|
// constructor
|
||||||
UserVolume::UserVolume(UserFileSystem* fileSystem, nspace_id id)
|
Volume::Volume(FileSystem* fileSystem, nspace_id id)
|
||||||
: fFileSystem(fileSystem),
|
: fFileSystem(fileSystem),
|
||||||
fID(id)
|
fID(id)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
// destructor
|
// destructor
|
||||||
UserVolume::~UserVolume()
|
Volume::~Volume()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetFileSystem
|
// GetFileSystem
|
||||||
UserlandFS::UserFileSystem*
|
UserlandFS::FileSystem*
|
||||||
UserVolume::GetFileSystem() const
|
Volume::GetFileSystem() const
|
||||||
{
|
{
|
||||||
return fFileSystem;
|
return fFileSystem;
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetID
|
// GetID
|
||||||
nspace_id
|
nspace_id
|
||||||
UserVolume::GetID() const
|
Volume::GetID() const
|
||||||
{
|
{
|
||||||
return fID;
|
return fID;
|
||||||
}
|
}
|
||||||
@@ -33,7 +33,7 @@ UserVolume::GetID() const
|
|||||||
|
|
||||||
// Mount
|
// Mount
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Mount(const char* device, ulong flags, const char* parameters,
|
Volume::Mount(const char* device, ulong flags, const char* parameters,
|
||||||
int32 len, vnode_id* rootID)
|
int32 len, vnode_id* rootID)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -41,28 +41,28 @@ UserVolume::Mount(const char* device, ulong flags, const char* parameters,
|
|||||||
|
|
||||||
// Unmount
|
// Unmount
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Unmount()
|
Volume::Unmount()
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sync
|
// Sync
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Sync()
|
Volume::Sync()
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadFSStat
|
// ReadFSStat
|
||||||
status_t
|
status_t
|
||||||
UserVolume::ReadFSStat(fs_info* info)
|
Volume::ReadFSStat(fs_info* info)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// WriteFSStat
|
// WriteFSStat
|
||||||
status_t
|
status_t
|
||||||
UserVolume::WriteFSStat(struct fs_info *info, long mask)
|
Volume::WriteFSStat(struct fs_info *info, long mask)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
@@ -72,21 +72,21 @@ UserVolume::WriteFSStat(struct fs_info *info, long mask)
|
|||||||
|
|
||||||
// ReadVNode
|
// ReadVNode
|
||||||
status_t
|
status_t
|
||||||
UserVolume::ReadVNode(vnode_id vnid, char reenter, void** node)
|
Volume::ReadVNode(vnode_id vnid, char reenter, void** node)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// WriteVNode
|
// WriteVNode
|
||||||
status_t
|
status_t
|
||||||
UserVolume::WriteVNode(void* node, char reenter)
|
Volume::WriteVNode(void* node, char reenter)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemoveVNode
|
// RemoveVNode
|
||||||
status_t
|
status_t
|
||||||
UserVolume::RemoveVNode(void* node, char reenter)
|
Volume::RemoveVNode(void* node, char reenter)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
@@ -96,28 +96,28 @@ UserVolume::RemoveVNode(void* node, char reenter)
|
|||||||
|
|
||||||
// FSync
|
// FSync
|
||||||
status_t
|
status_t
|
||||||
UserVolume::FSync(void* node)
|
Volume::FSync(void* node)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadStat
|
// ReadStat
|
||||||
status_t
|
status_t
|
||||||
UserVolume::ReadStat(void* node, struct stat* st)
|
Volume::ReadStat(void* node, struct stat* st)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// WriteStat
|
// WriteStat
|
||||||
status_t
|
status_t
|
||||||
UserVolume::WriteStat(void* node, struct stat* st, long mask)
|
Volume::WriteStat(void* node, struct stat* st, long mask)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Access
|
// Access
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Access(void* node, int mode)
|
Volume::Access(void* node, int mode)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
@@ -127,7 +127,7 @@ UserVolume::Access(void* node, int mode)
|
|||||||
|
|
||||||
// Create
|
// Create
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Create(void* dir, const char* name, int openMode, int mode,
|
Volume::Create(void* dir, const char* name, int openMode, int mode,
|
||||||
vnode_id* vnid, void** cookie)
|
vnode_id* vnid, void** cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -135,28 +135,28 @@ UserVolume::Create(void* dir, const char* name, int openMode, int mode,
|
|||||||
|
|
||||||
// Open
|
// Open
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Open(void* node, int openMode, void** cookie)
|
Volume::Open(void* node, int openMode, void** cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close
|
// Close
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Close(void* node, void* cookie)
|
Volume::Close(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FreeCookie
|
// FreeCookie
|
||||||
status_t
|
status_t
|
||||||
UserVolume::FreeCookie(void* node, void* cookie)
|
Volume::FreeCookie(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read
|
// Read
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Read(void* node, void* cookie, off_t pos, void* buffer,
|
Volume::Read(void* node, void* cookie, off_t pos, void* buffer,
|
||||||
size_t bufferSize, size_t* bytesRead)
|
size_t bufferSize, size_t* bytesRead)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -164,7 +164,7 @@ UserVolume::Read(void* node, void* cookie, off_t pos, void* buffer,
|
|||||||
|
|
||||||
// Write
|
// Write
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Write(void* node, void* cookie, off_t pos, const void* buffer,
|
Volume::Write(void* node, void* cookie, off_t pos, const void* buffer,
|
||||||
size_t bufferSize, size_t* bytesWritten)
|
size_t bufferSize, size_t* bytesWritten)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -172,7 +172,7 @@ UserVolume::Write(void* node, void* cookie, off_t pos, const void* buffer,
|
|||||||
|
|
||||||
// IOCtl
|
// IOCtl
|
||||||
status_t
|
status_t
|
||||||
UserVolume::IOCtl(void* node, void* cookie, int command, void *buffer,
|
Volume::IOCtl(void* node, void* cookie, int command, void *buffer,
|
||||||
size_t size)
|
size_t size)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -180,14 +180,14 @@ UserVolume::IOCtl(void* node, void* cookie, int command, void *buffer,
|
|||||||
|
|
||||||
// SetFlags
|
// SetFlags
|
||||||
status_t
|
status_t
|
||||||
UserVolume::SetFlags(void* node, void* cookie, int flags)
|
Volume::SetFlags(void* node, void* cookie, int flags)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Select
|
// Select
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Select(void* node, void* cookie, uint8 event, uint32 ref,
|
Volume::Select(void* node, void* cookie, uint8 event, uint32 ref,
|
||||||
selectsync* sync)
|
selectsync* sync)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -195,7 +195,7 @@ UserVolume::Select(void* node, void* cookie, uint8 event, uint32 ref,
|
|||||||
|
|
||||||
// Deselect
|
// Deselect
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Deselect(void* node, void* cookie, uint8 event, selectsync* sync)
|
Volume::Deselect(void* node, void* cookie, uint8 event, selectsync* sync)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
@@ -205,28 +205,28 @@ UserVolume::Deselect(void* node, void* cookie, uint8 event, selectsync* sync)
|
|||||||
|
|
||||||
// Link
|
// Link
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Link(void* dir, const char* name, void* node)
|
Volume::Link(void* dir, const char* name, void* node)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unlink
|
// Unlink
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Unlink(void* dir, const char* name)
|
Volume::Unlink(void* dir, const char* name)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Symlink
|
// Symlink
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Symlink(void* dir, const char* name, const char* target)
|
Volume::Symlink(void* dir, const char* name, const char* target)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadLink
|
// ReadLink
|
||||||
status_t
|
status_t
|
||||||
UserVolume::ReadLink(void* node, char* buffer, size_t bufferSize,
|
Volume::ReadLink(void* node, char* buffer, size_t bufferSize,
|
||||||
size_t* bytesRead)
|
size_t* bytesRead)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -234,7 +234,7 @@ UserVolume::ReadLink(void* node, char* buffer, size_t bufferSize,
|
|||||||
|
|
||||||
// Rename
|
// Rename
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Rename(void* oldDir, const char* oldName, void* newDir,
|
Volume::Rename(void* oldDir, const char* oldName, void* newDir,
|
||||||
const char* newName)
|
const char* newName)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -245,42 +245,42 @@ UserVolume::Rename(void* oldDir, const char* oldName, void* newDir,
|
|||||||
|
|
||||||
// MkDir
|
// MkDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::MkDir(void* dir, const char* name, int mode)
|
Volume::MkDir(void* dir, const char* name, int mode)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// RmDir
|
// RmDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::RmDir(void* dir, const char* name)
|
Volume::RmDir(void* dir, const char* name)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OpenDir
|
// OpenDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::OpenDir(void* node, void** cookie)
|
Volume::OpenDir(void* node, void** cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// CloseDir
|
// CloseDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::CloseDir(void* node, void* cookie)
|
Volume::CloseDir(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FreeDirCookie
|
// FreeDirCookie
|
||||||
status_t
|
status_t
|
||||||
UserVolume::FreeDirCookie(void* node, void* cookie)
|
Volume::FreeDirCookie(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadDir
|
// ReadDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::ReadDir(void* node, void* cookie, void* buffer, size_t bufferSize,
|
Volume::ReadDir(void* node, void* cookie, void* buffer, size_t bufferSize,
|
||||||
int32 count, int32* countRead)
|
int32 count, int32* countRead)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -288,14 +288,14 @@ UserVolume::ReadDir(void* node, void* cookie, void* buffer, size_t bufferSize,
|
|||||||
|
|
||||||
// RewindDir
|
// RewindDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::RewindDir(void* node, void* cookie)
|
Volume::RewindDir(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Walk
|
// Walk
|
||||||
status_t
|
status_t
|
||||||
UserVolume::Walk(void* dir, const char* entryName, char** resolvedPath,
|
Volume::Walk(void* dir, const char* entryName, char** resolvedPath,
|
||||||
vnode_id* vnid)
|
vnode_id* vnid)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -306,28 +306,28 @@ UserVolume::Walk(void* dir, const char* entryName, char** resolvedPath,
|
|||||||
|
|
||||||
// OpenAttrDir
|
// OpenAttrDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::OpenAttrDir(void* node, void** cookie)
|
Volume::OpenAttrDir(void* node, void** cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// CloseAttrDir
|
// CloseAttrDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::CloseAttrDir(void* node, void* cookie)
|
Volume::CloseAttrDir(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FreeAttrDirCookie
|
// FreeAttrDirCookie
|
||||||
status_t
|
status_t
|
||||||
UserVolume::FreeAttrDirCookie(void* node, void* cookie)
|
Volume::FreeAttrDirCookie(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadAttrDir
|
// ReadAttrDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::ReadAttrDir(void* node, void* cookie, void* buffer, size_t bufferSize,
|
Volume::ReadAttrDir(void* node, void* cookie, void* buffer, size_t bufferSize,
|
||||||
int32 count, int32* countRead)
|
int32 count, int32* countRead)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -335,14 +335,14 @@ UserVolume::ReadAttrDir(void* node, void* cookie, void* buffer, size_t bufferSiz
|
|||||||
|
|
||||||
// RewindAttrDir
|
// RewindAttrDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::RewindAttrDir(void* node, void* cookie)
|
Volume::RewindAttrDir(void* node, void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadAttr
|
// ReadAttr
|
||||||
status_t
|
status_t
|
||||||
UserVolume::ReadAttr(void* node, const char* name, int type, off_t pos,
|
Volume::ReadAttr(void* node, const char* name, int type, off_t pos,
|
||||||
void* buffer, size_t bufferSize, size_t* bytesRead)
|
void* buffer, size_t bufferSize, size_t* bytesRead)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -350,7 +350,7 @@ UserVolume::ReadAttr(void* node, const char* name, int type, off_t pos,
|
|||||||
|
|
||||||
// WriteAttr
|
// WriteAttr
|
||||||
status_t
|
status_t
|
||||||
UserVolume::WriteAttr(void* node, const char* name, int type, off_t pos,
|
Volume::WriteAttr(void* node, const char* name, int type, off_t pos,
|
||||||
const void* buffer, size_t bufferSize, size_t* bytesWritten)
|
const void* buffer, size_t bufferSize, size_t* bytesWritten)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -358,21 +358,21 @@ UserVolume::WriteAttr(void* node, const char* name, int type, off_t pos,
|
|||||||
|
|
||||||
// RemoveAttr
|
// RemoveAttr
|
||||||
status_t
|
status_t
|
||||||
UserVolume::RemoveAttr(void* node, const char* name)
|
Volume::RemoveAttr(void* node, const char* name)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// RenameAttr
|
// RenameAttr
|
||||||
status_t
|
status_t
|
||||||
UserVolume::RenameAttr(void* node, const char* oldName, const char* newName)
|
Volume::RenameAttr(void* node, const char* oldName, const char* newName)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// StatAttr
|
// StatAttr
|
||||||
status_t
|
status_t
|
||||||
UserVolume::StatAttr(void* node, const char* name, struct attr_info* attrInfo)
|
Volume::StatAttr(void* node, const char* name, struct attr_info* attrInfo)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
@@ -382,28 +382,28 @@ UserVolume::StatAttr(void* node, const char* name, struct attr_info* attrInfo)
|
|||||||
|
|
||||||
// OpenIndexDir
|
// OpenIndexDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::OpenIndexDir(void** cookie)
|
Volume::OpenIndexDir(void** cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// CloseIndexDir
|
// CloseIndexDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::CloseIndexDir(void* cookie)
|
Volume::CloseIndexDir(void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FreeIndexDirCookie
|
// FreeIndexDirCookie
|
||||||
status_t
|
status_t
|
||||||
UserVolume::FreeIndexDirCookie(void* cookie)
|
Volume::FreeIndexDirCookie(void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadIndexDir
|
// ReadIndexDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::ReadIndexDir(void* cookie, void* buffer, size_t bufferSize,
|
Volume::ReadIndexDir(void* cookie, void* buffer, size_t bufferSize,
|
||||||
int32 count, int32* countRead)
|
int32 count, int32* countRead)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -411,35 +411,35 @@ UserVolume::ReadIndexDir(void* cookie, void* buffer, size_t bufferSize,
|
|||||||
|
|
||||||
// RewindIndexDir
|
// RewindIndexDir
|
||||||
status_t
|
status_t
|
||||||
UserVolume::RewindIndexDir(void* cookie)
|
Volume::RewindIndexDir(void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// CreateIndex
|
// CreateIndex
|
||||||
status_t
|
status_t
|
||||||
UserVolume::CreateIndex(const char* name, int type, int flags)
|
Volume::CreateIndex(const char* name, int type, int flags)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemoveIndex
|
// RemoveIndex
|
||||||
status_t
|
status_t
|
||||||
UserVolume::RemoveIndex(const char* name)
|
Volume::RemoveIndex(const char* name)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// RenameIndex
|
// RenameIndex
|
||||||
status_t
|
status_t
|
||||||
UserVolume::RenameIndex(const char* oldName, const char* newName)
|
Volume::RenameIndex(const char* oldName, const char* newName)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// StatIndex
|
// StatIndex
|
||||||
status_t
|
status_t
|
||||||
UserVolume::StatIndex(const char *name, struct index_info* indexInfo)
|
Volume::StatIndex(const char *name, struct index_info* indexInfo)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
@@ -449,7 +449,7 @@ UserVolume::StatIndex(const char *name, struct index_info* indexInfo)
|
|||||||
|
|
||||||
// OpenQuery
|
// OpenQuery
|
||||||
status_t
|
status_t
|
||||||
UserVolume::OpenQuery(const char* queryString, ulong flags, port_id port,
|
Volume::OpenQuery(const char* queryString, ulong flags, port_id port,
|
||||||
long token, void** cookie)
|
long token, void** cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -457,21 +457,21 @@ UserVolume::OpenQuery(const char* queryString, ulong flags, port_id port,
|
|||||||
|
|
||||||
// CloseQuery
|
// CloseQuery
|
||||||
status_t
|
status_t
|
||||||
UserVolume::CloseQuery(void* cookie)
|
Volume::CloseQuery(void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FreeQueryCookie
|
// FreeQueryCookie
|
||||||
status_t
|
status_t
|
||||||
UserVolume::FreeQueryCookie(void* cookie)
|
Volume::FreeQueryCookie(void* cookie)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadQuery
|
// ReadQuery
|
||||||
status_t
|
status_t
|
||||||
UserVolume::ReadQuery(void* cookie, void* buffer, size_t bufferSize, int32 count,
|
Volume::ReadQuery(void* cookie, void* buffer, size_t bufferSize, int32 count,
|
||||||
int32* countRead)
|
int32* countRead)
|
||||||
{
|
{
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
+11
-11
@@ -1,22 +1,22 @@
|
|||||||
// UserVolume.h
|
// Volume.h
|
||||||
|
|
||||||
#ifndef USERLAND_FS_USER_VOLUME_H
|
#ifndef USERLAND_FS_VOLUME_H
|
||||||
#define USERLAND_FS_USER_VOLUME_H
|
#define USERLAND_FS_VOLUME_H
|
||||||
|
|
||||||
#include <fsproto.h>
|
#include <fsproto.h>
|
||||||
#include <SupportDefs.h>
|
#include <SupportDefs.h>
|
||||||
|
|
||||||
namespace UserlandFS {
|
namespace UserlandFS {
|
||||||
|
|
||||||
class UserFileSystem;
|
class FileSystem;
|
||||||
|
|
||||||
class UserVolume {
|
class Volume {
|
||||||
public:
|
public:
|
||||||
UserVolume(UserFileSystem* fileSystem,
|
Volume(FileSystem* fileSystem,
|
||||||
nspace_id id);
|
nspace_id id);
|
||||||
virtual ~UserVolume();
|
virtual ~Volume();
|
||||||
|
|
||||||
UserFileSystem* GetFileSystem() const;
|
FileSystem* GetFileSystem() const;
|
||||||
nspace_id GetID() const;
|
nspace_id GetID() const;
|
||||||
|
|
||||||
// FS
|
// FS
|
||||||
@@ -132,12 +132,12 @@ public:
|
|||||||
int32* countRead);
|
int32* countRead);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
UserFileSystem* fFileSystem;
|
FileSystem* fFileSystem;
|
||||||
nspace_id fID;
|
nspace_id fID;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace UserlandFS
|
} // namespace UserlandFS
|
||||||
|
|
||||||
using UserlandFS::UserVolume;
|
using UserlandFS::Volume;
|
||||||
|
|
||||||
#endif // USERLAND_FS_USER_VOLUME_H
|
#endif // USERLAND_FS_VOLUME_H
|
||||||
@@ -106,7 +106,7 @@ free_path(char *p)
|
|||||||
// get_port_and_fs
|
// get_port_and_fs
|
||||||
static
|
static
|
||||||
status_t
|
status_t
|
||||||
get_port_and_fs(RequestPort** port, UserFileSystem** fileSystem)
|
get_port_and_fs(RequestPort** port, FileSystem** fileSystem)
|
||||||
{
|
{
|
||||||
// get the request thread
|
// get the request thread
|
||||||
RequestThread* thread = RequestThread::GetCurrentThread();
|
RequestThread* thread = RequestThread::GetCurrentThread();
|
||||||
@@ -129,7 +129,7 @@ notify_listener(int op, nspace_id nsid, vnode_id vnida, vnode_id vnidb,
|
|||||||
{
|
{
|
||||||
// get the request port and the file system
|
// get the request port and the file system
|
||||||
RequestPort* port;
|
RequestPort* port;
|
||||||
UserFileSystem* fileSystem;
|
FileSystem* fileSystem;
|
||||||
status_t error = get_port_and_fs(&port, &fileSystem);
|
status_t error = get_port_and_fs(&port, &fileSystem);
|
||||||
if (error != B_OK)
|
if (error != B_OK)
|
||||||
return error;
|
return error;
|
||||||
@@ -166,7 +166,7 @@ notify_select_event(selectsync *sync, uint32 ref)
|
|||||||
{
|
{
|
||||||
// get the request port and the file system
|
// get the request port and the file system
|
||||||
RequestPort* port;
|
RequestPort* port;
|
||||||
UserFileSystem* fileSystem;
|
FileSystem* fileSystem;
|
||||||
status_t error = get_port_and_fs(&port, &fileSystem);
|
status_t error = get_port_and_fs(&port, &fileSystem);
|
||||||
if (error != B_OK)
|
if (error != B_OK)
|
||||||
return;
|
return;
|
||||||
@@ -196,7 +196,7 @@ send_notification(port_id targetPort, long token, ulong what, long op,
|
|||||||
{
|
{
|
||||||
// get the request port and the file system
|
// get the request port and the file system
|
||||||
RequestPort* port;
|
RequestPort* port;
|
||||||
UserFileSystem* fileSystem;
|
FileSystem* fileSystem;
|
||||||
status_t error = get_port_and_fs(&port, &fileSystem);
|
status_t error = get_port_and_fs(&port, &fileSystem);
|
||||||
if (error != B_OK)
|
if (error != B_OK)
|
||||||
return error;
|
return error;
|
||||||
@@ -240,7 +240,7 @@ get_vnode(nspace_id nsid, vnode_id vnid, void** data)
|
|||||||
{
|
{
|
||||||
// get the request port and the file system
|
// get the request port and the file system
|
||||||
RequestPort* port;
|
RequestPort* port;
|
||||||
UserFileSystem* fileSystem;
|
FileSystem* fileSystem;
|
||||||
status_t error = get_port_and_fs(&port, &fileSystem);
|
status_t error = get_port_and_fs(&port, &fileSystem);
|
||||||
if (error != B_OK)
|
if (error != B_OK)
|
||||||
return error;
|
return error;
|
||||||
@@ -273,7 +273,7 @@ put_vnode(nspace_id nsid, vnode_id vnid)
|
|||||||
{
|
{
|
||||||
// get the request port and the file system
|
// get the request port and the file system
|
||||||
RequestPort* port;
|
RequestPort* port;
|
||||||
UserFileSystem* fileSystem;
|
FileSystem* fileSystem;
|
||||||
status_t error = get_port_and_fs(&port, &fileSystem);
|
status_t error = get_port_and_fs(&port, &fileSystem);
|
||||||
if (error != B_OK)
|
if (error != B_OK)
|
||||||
return error;
|
return error;
|
||||||
@@ -305,7 +305,7 @@ new_vnode(nspace_id nsid, vnode_id vnid, void* data)
|
|||||||
{
|
{
|
||||||
// get the request port and the file system
|
// get the request port and the file system
|
||||||
RequestPort* port;
|
RequestPort* port;
|
||||||
UserFileSystem* fileSystem;
|
FileSystem* fileSystem;
|
||||||
status_t error = get_port_and_fs(&port, &fileSystem);
|
status_t error = get_port_and_fs(&port, &fileSystem);
|
||||||
if (error != B_OK)
|
if (error != B_OK)
|
||||||
return error;
|
return error;
|
||||||
@@ -338,7 +338,7 @@ remove_vnode(nspace_id nsid, vnode_id vnid)
|
|||||||
{
|
{
|
||||||
// get the request port and the file system
|
// get the request port and the file system
|
||||||
RequestPort* port;
|
RequestPort* port;
|
||||||
UserFileSystem* fileSystem;
|
FileSystem* fileSystem;
|
||||||
status_t error = get_port_and_fs(&port, &fileSystem);
|
status_t error = get_port_and_fs(&port, &fileSystem);
|
||||||
if (error != B_OK)
|
if (error != B_OK)
|
||||||
return error;
|
return error;
|
||||||
@@ -370,7 +370,7 @@ unremove_vnode(nspace_id nsid, vnode_id vnid)
|
|||||||
{
|
{
|
||||||
// get the request port and the file system
|
// get the request port and the file system
|
||||||
RequestPort* port;
|
RequestPort* port;
|
||||||
UserFileSystem* fileSystem;
|
FileSystem* fileSystem;
|
||||||
status_t error = get_port_and_fs(&port, &fileSystem);
|
status_t error = get_port_and_fs(&port, &fileSystem);
|
||||||
if (error != B_OK)
|
if (error != B_OK)
|
||||||
return error;
|
return error;
|
||||||
@@ -402,7 +402,7 @@ is_vnode_removed(nspace_id nsid, vnode_id vnid)
|
|||||||
{
|
{
|
||||||
// get the request port and the file system
|
// get the request port and the file system
|
||||||
RequestPort* port;
|
RequestPort* port;
|
||||||
UserFileSystem* fileSystem;
|
FileSystem* fileSystem;
|
||||||
status_t error = get_port_and_fs(&port, &fileSystem);
|
status_t error = get_port_and_fs(&port, &fileSystem);
|
||||||
if (error != B_OK)
|
if (error != B_OK)
|
||||||
return error;
|
return error;
|
||||||
|
|||||||
Reference in New Issue
Block a user