History log of /haiku/src/add-ons/kernel/file_systems/userlandfs/server/kernel_emu.cpp
Revision Date Author Comments
# 439ca67c 16-Jul-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

PVS V519: setting the same variable twice

Change-Id: I3967f1c77c89d1aa9d040d8ff7a8593daca8f8b2
Reviewed-on: https://review.haiku-os.org/c/1603
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>


# 83f46ed6 21-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

file_cache_write() can get a NULL buffer and still a size != 0, which the
request handling wasn't taking into account.


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


# c77f643a 20-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for in-kernel node monitoring ({add,remove}_node_listener()).


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


# 8af6418b 19-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented support for the recently introduced I/O request calls
io_request_{offset,length}(), {read_from,write_to}_io_request().


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


# 07745f2a 30-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for new notify_io_request() function.


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


# 9200ccec 05-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* That must have been a BeOS limitation, at least our kernel sports the same
generic API for each architecture.


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


# fcd5f6b9 04-Apr-2009 Rene Gollent <anevilyak@gmail.com>

Patch by Urias McCullough: Fix userlandfs build on ppc (unused variable warning/error). Thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29915 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


# ebd44d34 15-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Debug output.


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


# c76e8d36 15-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Implemented forwarding the do_iterative_fd_io() callbacks to userland.
* Pass the request offset and length with the DoIORequest. This allows us to
already get the first vecs for do_iterative_fd_io() in userland, saving a
trip back and forth.


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


# 687e02f9 14-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Forward the io() and cancel_io() hooks. Implemented the missing kernel
part.
* Implemented a good part of the kernel part for the support of
do_iterative_fd_io(). The forwarding of the callbacks are missing yet.


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


# 7c1ffcb9 13-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* The nature of asynchronous I/O is to be asynchronous. So we can't store
an on-stack structure for the request in a hash table when forwarding the
io() hook. Create a new object (HaikuKernelIORequest) instead and store it
in a hash table in HaikuKernelFileSystem.
* Some work on the userland side of do_iterative_fd_io().
* Added some missing requests in UserlandFSUtil::is_{kernel,userland}_request().


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


# 97b7c9a0 05-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Handle file cache related requests in the kernel. The actual calls to the
file cache are missing yet -- requires some refactoring in Volume.


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


# 0dcccb49 04-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented the client side of the file cache operations.


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


# 02347947 03-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented acquire_vnode() forwarding.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29391 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


# 3594d63b 27-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Got the kernel interface compiling.


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


# cdebdeb0 25-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Some more work towards adjusting the UserlandFS to the current FS interface:
* Split the FSCapabilities bit mask into three bit masks for the FS, the
volume, and the vnodes, since we have three independent FS interface
structures, now. The latter is not supported in the kernel add-on, yet.
* Server:
- Temporarily removed some things from the build (the BeOS interface
and the cache implementations).
- Some WIP in HaikuKernelVolume and [haiku_]kernel_emu.{h,cpp}.
- Added HaikuKernelNode, which wraps fs_vnode for the client FS.
The server is still quite a bit away from being buildable again.


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


# 636bfc08 02-Oct-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of
vfs_select.h, respectively moved most of it into the new kernel
private header wait_for_objects.h.
* Added new experimental API functions wait_for_objects[_etc](). They
work pretty much like poll(), but also for semaphores, ports, and
threads.
* Removed the "ref" parameter from notify_select_events() and the
select_sync_pool functions as well as from fd_ops::fd_[de]select(). It
is no longer needed. The FS interface select() hook still has it,
though -- the VFS will always pass 0.
* de]select_fd() take a select_info* instead of a select_sync* + ref
pair, now. Added respective functions for semaphores, ports, and
threads.



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


# 245aecda 21-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

Got rid of vnode_id and mount_id, replaced with ino_t and dev_t.


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


# 2e474644 28-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added dprintf() to the kernel emulation interfaces for BeOS and Haiku
style FSs.
* Fixed an infinite recursion in the base dprintf() implementation.


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


# de71c581 27-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added parse_expression() to the kernel emulation.


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


# 824e907a 11-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added Haiku block cache interface to the UserlandFS server. Basically
copied and adjusted the respective kernel code.


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


# 4ed322c6 05-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added support for interfacing with Haiku style FS modules (yet
untested).
* Added library with the relevant part of the Haiku kernel interface.
The cache interface is missing, though.


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


# 97dd0fe3 01-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Adjusted according to the is_vnode_removed() -> get_vnode_removed()
change.
* The new notification functions are used instead of send_notification()
and notify_listener() now. Mapped them in the BeOS kernel emulation
accordingly. RamFS node monitoring seems to work now.


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


# 042eb168 28-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* More debug output in the kernel module.
* Made publish_vnode() available in userland. For old style FS add-ons
publish_vnode() is used when they request a new_vnode(). The semantics
of new_vnode() changed considerably in Haiku, but publish_vnode()
seems to do pretty much what the old new_vnode() did.
* The UserlandFS hosted RamFS begins to work under Haiku. It runs pretty
soon out of memory though (under vmware with 256 MB) and node
monitoring is broken ATM.


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


# c10705cb 28-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

We do now provide the BeOS style FS add-ons with the kernel interface they
need via library libuserlandfs_beos_kernel.so. Fine-tuned the legacy headers
so they can by used by the the kernel interface emulation code as well as by
the add-ons. This is actually a bit hacky, since we build everything in the
Haiku build environment and thus mix these old headers and Haiku's.


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


# ca6faf49 27-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Adjusted BeOSKernelFileSystem and BeOSKernelVolume to Haiku's FS interface.
* Moved stuff need for the BeOS interface only into the beos_* namespace.
* Shuffled a few things around to reduce the block cache implementation
dependencies. compat.h and sysdep.c are gone accordingly.
* The whole UserlandFSServer builds now and could (at least theorectically)
drive a FS add-on implementing the old interface. The required emulation of
the BeOS kernel is not yet provided, though.


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


# 5d3147f6 26-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 83812f67 23-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Copied userlandfs code from the test tree to the haiku source tree,
where it will be ported to Haiku.


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


# 83f46ed6ab97c9ccd617b70017422a8113eb6308 21-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

file_cache_write() can get a NULL buffer and still a size != 0, which the
request handling wasn't taking into account.


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


# c77f643a2b3f3990e6f355d6c333537b9cbfd88f 20-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for in-kernel node monitoring ({add,remove}_node_listener()).


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


# 8af6418b5c35c7c7b4a008783ffde29448b01f99 19-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented support for the recently introduced I/O request calls
io_request_{offset,length}(), {read_from,write_to}_io_request().


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


# 07745f2a0b9f21a8c92326dd8a39d5a8d9a0049c 30-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for new notify_io_request() function.


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


# 9200ccec5ae747fe921b960e7799aecd55d7ee6b 05-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* That must have been a BeOS limitation, at least our kernel sports the same
generic API for each architecture.


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


# fcd5f6b97ccc87e45039f28cf4db2989458c13fc 04-Apr-2009 Rene Gollent <anevilyak@gmail.com>

Patch by Urias McCullough: Fix userlandfs build on ppc (unused variable warning/error). Thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29915 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


# ebd44d3436d65b38df1ce3f1167674e7286e13d0 15-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Debug output.


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


# c76e8d36fb69fa88a01ff734f45523c36629af17 15-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Implemented forwarding the do_iterative_fd_io() callbacks to userland.
* Pass the request offset and length with the DoIORequest. This allows us to
already get the first vecs for do_iterative_fd_io() in userland, saving a
trip back and forth.


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


# 687e02f9457b4cf0a13495467d561f5c08d84868 14-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Forward the io() and cancel_io() hooks. Implemented the missing kernel
part.
* Implemented a good part of the kernel part for the support of
do_iterative_fd_io(). The forwarding of the callbacks are missing yet.


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


# 7c1ffcb9ec70c1bb997a4ecb9a9af82d5a657297 13-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* The nature of asynchronous I/O is to be asynchronous. So we can't store
an on-stack structure for the request in a hash table when forwarding the
io() hook. Create a new object (HaikuKernelIORequest) instead and store it
in a hash table in HaikuKernelFileSystem.
* Some work on the userland side of do_iterative_fd_io().
* Added some missing requests in UserlandFSUtil::is_{kernel,userland}_request().


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


# 97b7c9a09199e3597c55bb03c4da1a0fb03c4c23 05-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Handle file cache related requests in the kernel. The actual calls to the
file cache are missing yet -- requires some refactoring in Volume.


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


# 0dcccb4986bbae888c2dab92cd4c02efab945909 04-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented the client side of the file cache operations.


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


# 023479477067cfbce3a46c496d6fbc82c1a98e6c 03-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented acquire_vnode() forwarding.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29391 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


# 3594d63b342ee2592a094107f4aeb2e4872f2d2d 27-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Got the kernel interface compiling.


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


# cdebdeb0aa35c9eabf093024474c865ce9bd6840 25-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Some more work towards adjusting the UserlandFS to the current FS interface:
* Split the FSCapabilities bit mask into three bit masks for the FS, the
volume, and the vnodes, since we have three independent FS interface
structures, now. The latter is not supported in the kernel add-on, yet.
* Server:
- Temporarily removed some things from the build (the BeOS interface
and the cache implementations).
- Some WIP in HaikuKernelVolume and [haiku_]kernel_emu.{h,cpp}.
- Added HaikuKernelNode, which wraps fs_vnode for the client FS.
The server is still quite a bit away from being buildable again.


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


# 636bfc08aeaaa7f1bab813c5aa2e8e666b40ec64 02-Oct-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of
vfs_select.h, respectively moved most of it into the new kernel
private header wait_for_objects.h.
* Added new experimental API functions wait_for_objects[_etc](). They
work pretty much like poll(), but also for semaphores, ports, and
threads.
* Removed the "ref" parameter from notify_select_events() and the
select_sync_pool functions as well as from fd_ops::fd_[de]select(). It
is no longer needed. The FS interface select() hook still has it,
though -- the VFS will always pass 0.
* de]select_fd() take a select_info* instead of a select_sync* + ref
pair, now. Added respective functions for semaphores, ports, and
threads.



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


# 245aecda8ac43fc2c0c0bac6a7e4016efa9b71e1 21-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

Got rid of vnode_id and mount_id, replaced with ino_t and dev_t.


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


# 2e474644c7fb83f97e058f7e5b4ac9cff1d82e23 28-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added dprintf() to the kernel emulation interfaces for BeOS and Haiku
style FSs.
* Fixed an infinite recursion in the base dprintf() implementation.


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


# de71c5816521bc6ede1fb9bfedebc1564d5449a5 27-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added parse_expression() to the kernel emulation.


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


# 824e907a2c8692631a9dd79405e227cadd83e6b4 11-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added Haiku block cache interface to the UserlandFS server. Basically
copied and adjusted the respective kernel code.


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


# 4ed322c66e3cc29cc19e3a6b515ea06d1d2d4446 05-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added support for interfacing with Haiku style FS modules (yet
untested).
* Added library with the relevant part of the Haiku kernel interface.
The cache interface is missing, though.


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


# 97dd0fe3c8a9d971b75753a40e9d0f4278b46d66 01-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Adjusted according to the is_vnode_removed() -> get_vnode_removed()
change.
* The new notification functions are used instead of send_notification()
and notify_listener() now. Mapped them in the BeOS kernel emulation
accordingly. RamFS node monitoring seems to work now.


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


# 042eb168965cf38c32b9355c199ebc197672bd2d 28-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* More debug output in the kernel module.
* Made publish_vnode() available in userland. For old style FS add-ons
publish_vnode() is used when they request a new_vnode(). The semantics
of new_vnode() changed considerably in Haiku, but publish_vnode()
seems to do pretty much what the old new_vnode() did.
* The UserlandFS hosted RamFS begins to work under Haiku. It runs pretty
soon out of memory though (under vmware with 256 MB) and node
monitoring is broken ATM.


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


# c10705cbda18d5e2fc112bf9daecde68cd37b907 28-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

We do now provide the BeOS style FS add-ons with the kernel interface they
need via library libuserlandfs_beos_kernel.so. Fine-tuned the legacy headers
so they can by used by the the kernel interface emulation code as well as by
the add-ons. This is actually a bit hacky, since we build everything in the
Haiku build environment and thus mix these old headers and Haiku's.


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


# ca6faf4958b94cfc53255e99e4868c110837da4e 27-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Adjusted BeOSKernelFileSystem and BeOSKernelVolume to Haiku's FS interface.
* Moved stuff need for the BeOS interface only into the beos_* namespace.
* Shuffled a few things around to reduce the block cache implementation
dependencies. compat.h and sysdep.c are gone accordingly.
* The whole UserlandFSServer builds now and could (at least theorectically)
drive a FS add-on implementing the old interface. The required emulation of
the BeOS kernel is not yet provided, though.


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


# 5d3147f66a54bd98707e1801e6f14cb29de72631 26-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# 83812f67529c88d4fb4b942162a9f21142e683fa 23-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Copied userlandfs code from the test tree to the haiku source tree,
where it will be ported to Haiku.


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