History log of /haiku/src/add-ons/kernel/file_systems/userlandfs/server/beos/BeOSKernelVolume.h
Revision Date Author Comments
# 3cf43c26 25-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the fs_vnode_ops::create_dir() parameter for returning the ID of the
newly created dir. The VFS really doesn't need it and for some file systems
it might not be easy to get by. Several file systems (e.g. rootfs and fat)
were ignoring the parameter anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29719 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4649fe05 17-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Haiku kernel interface emulation: Retrieve the capabilities for each vnode.
We do some caching using a hash table indexed by the operations vector.
* Pass the vnode capabilities to the kernel module.
* In the kernel tailor the operation vectors for volumes and vnodes passed to
the VFS according to the respective capabilities. This way those vectors look
pretty much like those from the client FS. This saves unnecessary calls when
hooks are not implemented and should also fix compatibility problems in cases
where not implementing a hook and returning an error don't mean the same to
the VFS.
* Inlined some of the kernel module Volume class getters.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29572 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f8d0984 01-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

BeOSKernelVolume didn't initialize the fCapabilities base class member.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29376 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9accd619 01-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* FileSystem does now have a list of all volumes. This allows to get a volume
by ID.
* Added a three parameters version of UserlandFS::KernelEmu::publish_vnode(),
which is used by the BeOS new_vnode() emulation. It calls the new
Volume::GetVNodeType() to get the type of the node.

Theoretically BeOS FS interface style add-ons should work again, but ATM we
crash the kernel when trying to mount.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29367 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35d56691 28-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted to interface changes in the server. Should be working save for the
stubbed new_vnode().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29353 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a7b34687 28-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Reorganized the sources. Haiku and BeOS kernel interface each have their own
subdirectory, now.
* Moved all code specific to a kernel interface into the respective library.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29344 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3cf43c26516b695e35b7433196a530f7541c4ca8 25-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the fs_vnode_ops::create_dir() parameter for returning the ID of the
newly created dir. The VFS really doesn't need it and for some file systems
it might not be easy to get by. Several file systems (e.g. rootfs and fat)
were ignoring the parameter anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29719 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4649fe05ef03c9981231538121df35aab32f2bc0 17-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Haiku kernel interface emulation: Retrieve the capabilities for each vnode.
We do some caching using a hash table indexed by the operations vector.
* Pass the vnode capabilities to the kernel module.
* In the kernel tailor the operation vectors for volumes and vnodes passed to
the VFS according to the respective capabilities. This way those vectors look
pretty much like those from the client FS. This saves unnecessary calls when
hooks are not implemented and should also fix compatibility problems in cases
where not implementing a hook and returning an error don't mean the same to
the VFS.
* Inlined some of the kernel module Volume class getters.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29572 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f8d0984b4fdfc5ced58af1215c789478771da53 01-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

BeOSKernelVolume didn't initialize the fCapabilities base class member.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29376 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9accd619b893cbb1ca577e1230ec77e988460f13 01-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* FileSystem does now have a list of all volumes. This allows to get a volume
by ID.
* Added a three parameters version of UserlandFS::KernelEmu::publish_vnode(),
which is used by the BeOS new_vnode() emulation. It calls the new
Volume::GetVNodeType() to get the type of the node.

Theoretically BeOS FS interface style add-ons should work again, but ATM we
crash the kernel when trying to mount.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29367 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35d56691a2b6005ee2b21cc33b944df83e6d2162 28-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted to interface changes in the server. Should be working save for the
stubbed new_vnode().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29353 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a7b346877023493472fc5c8ef0de99ed9043450f 28-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Reorganized the sources. Haiku and BeOS kernel interface each have their own
subdirectory, now.
* Moved all code specific to a kernel interface into the respective library.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29344 a95241bf-73f2-0310-859d-f6bbb57e9c96