#
a0d87686 |
|
11-Jul-2014 |
Julian Harnath <julian.harnath@rwth-aachen.de> |
Adapt userlandfs kernel-addon to atomic_* API changes. * Remove volatile qualifiers, use atomic_get() for safe access * Fixes build of userlandfs
|
#
88e38c17 |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replace uses of obsolescent BReference[able] API. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39870 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
|
#
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
|
#
02442071 |
|
19-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Ugh, apparently I forgot to implement HasVNodeCapability(). Now we're actually saving the trips to userland for hooks that aren't implemented there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29618 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
12539c39 |
|
18-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Remove and delete the VNode in _WriteVNode()/RemoveVNode() after the client FS is done with it, since we still need to serve file cache requests. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29587 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
|
#
6747f715 |
|
15-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
ReadVNode(): We need to create the VNode object before sending the request to userland, since typically the file cache for the node is created there and our FileCacheCreate() method requires and existing VNode object. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29554 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
|
#
4e597152 |
|
08-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Completed file cache support. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29442 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6880c193 |
|
07-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
We do now store a VNode object per node in a hash table. This allowed us to get rid of the vnode count hash map and the mount vnode maps. Furthermore it will allows us to easily associate a file cache with each node. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29435 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c0509ccc |
|
05-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed several shared userlandfs classes that exist as Haiku shared or kernel util classes as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29404 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
|
#
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
|
#
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
|
#
2bcdce29 |
|
24-Feb-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
First work towards adjusting the UserlandFS to the changed FS API. The kernel module compiles again, though newer features like VM file support, asynchronous I/O, and FS layers aren't supported yet. The userland code is still completely out of sync and won't even compile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29318 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
|
#
ed07b9c7 |
|
02-Apr-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The last missing hooks -- get_vnode_name(), write_attr_stat() and rewind_query() -- are passed to the userland. get_vnode_name() has an emulation in userland, in case the client FS doesn't implement it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20522 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc0bac7f |
|
02-Mar-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
We fake read_stat() on the root node and read_fs_info() when the connection to the server is lost. The former is required by our mount command (it stat()s the mount point for some reason unknown to me). The latter is just to be a good citizen. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20300 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
|
#
617ed3e4 |
|
28-Feb-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented the new attribute open/close/... FS hooks. The mapping to the old interface is completely done in userland ATM. It becomes more and more obvious that we probably need to provide the kernel add-on with a bit more information about what the client FS interface supports in the first place, so we can save unnecessary trips to the userland. Opening/closing attributes for a FS using the old style interface could be handled completely in the kernel add-on, for instance (even if we lose a bit of accuracy wrt to open modes etc.). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20258 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b12d25d1 |
|
25-Feb-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
First walk through the userlandfs kernel add-on to port it to the Haiku FS interface. Adjusted old hooks, but didn't add the new ones yet. The module builds now at least. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20235 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
|
#
a0d87686f4884c31d86e65b81889bf3d26fab703 |
|
11-Jul-2014 |
Julian Harnath <julian.harnath@rwth-aachen.de> |
Adapt userlandfs kernel-addon to atomic_* API changes. * Remove volatile qualifiers, use atomic_get() for safe access * Fixes build of userlandfs
|
#
88e38c178a96634d52920e2de8bb3cbd49869f93 |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replace uses of obsolescent BReference[able] API. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39870 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
|
#
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
|
#
02442071c3ece34edd737ce77f9824c454ddfb1a |
|
19-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Ugh, apparently I forgot to implement HasVNodeCapability(). Now we're actually saving the trips to userland for hooks that aren't implemented there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29618 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
12539c39d3f843f8c55cb4e03ccaaf6d08025b3e |
|
18-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Remove and delete the VNode in _WriteVNode()/RemoveVNode() after the client FS is done with it, since we still need to serve file cache requests. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29587 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
|
#
6747f715cffc13e8effe4cd87a892bfc85e540e8 |
|
15-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
ReadVNode(): We need to create the VNode object before sending the request to userland, since typically the file cache for the node is created there and our FileCacheCreate() method requires and existing VNode object. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29554 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
|
#
4e5971527e106464c327ac02d3bd431ed156d209 |
|
08-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Completed file cache support. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29442 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6880c193621869daeccd4b7c81768f9689b7122c |
|
07-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
We do now store a VNode object per node in a hash table. This allowed us to get rid of the vnode count hash map and the mount vnode maps. Furthermore it will allows us to easily associate a file cache with each node. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29435 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c0509ccc2954628faa943034feab9e3fe15e3df1 |
|
05-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed several shared userlandfs classes that exist as Haiku shared or kernel util classes as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29404 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
|
#
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
|
#
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
|
#
2bcdce290bc2207256d093b4fd06b3535daa4676 |
|
24-Feb-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
First work towards adjusting the UserlandFS to the changed FS API. The kernel module compiles again, though newer features like VM file support, asynchronous I/O, and FS layers aren't supported yet. The userland code is still completely out of sync and won't even compile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29318 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
|
#
ed07b9c7e338367449b81e28a8d2114f07666c1c |
|
02-Apr-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The last missing hooks -- get_vnode_name(), write_attr_stat() and rewind_query() -- are passed to the userland. get_vnode_name() has an emulation in userland, in case the client FS doesn't implement it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20522 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc0bac7f51fdecf0ff21b55cf75c793177a7fc3b |
|
02-Mar-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
We fake read_stat() on the root node and read_fs_info() when the connection to the server is lost. The former is required by our mount command (it stat()s the mount point for some reason unknown to me). The latter is just to be a good citizen. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20300 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
|
#
617ed3e4a9ea91cf5be9b9e55d465840c36b1639 |
|
28-Feb-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented the new attribute open/close/... FS hooks. The mapping to the old interface is completely done in userland ATM. It becomes more and more obvious that we probably need to provide the kernel add-on with a bit more information about what the client FS interface supports in the first place, so we can save unnecessary trips to the userland. Opening/closing attributes for a FS using the old style interface could be handled completely in the kernel add-on, for instance (even if we lose a bit of accuracy wrt to open modes etc.). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20258 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b12d25d15dd11b61fae5f49bfa21d3c884cfdf63 |
|
25-Feb-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
First walk through the userlandfs kernel add-on to port it to the Haiku FS interface. Adjusted old hooks, but didn't add the new ones yet. The module builds now at least. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20235 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
|