History log of /haiku/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelFileSystem.cpp
Revision Date Author Comments
# 28627b28 17-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

UserlandFS: avoid crash if module is not found.

If we can't find the name in the module list, we would try to
dereference the NULL pointer which terminates that list.


# 5147963d 26-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

headers/private/kernel/util/OpenHashTable.h, Hugo's version, is a bit nicer than
Tracker's OpenHashTable.h which it should eventually replace. We've renamed the
class to BOpenHashTable and changed the interface slightly so that HashTableLink
became superfluous.
Adapted all the code that used it. Since the OpenHashTables no longer clash,
this should fix the GCC4 build.


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


# 69cd702b 19-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Pass the file system name to the FileSystem base class and store it there.


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


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

Call file_map_init(). Otherwise the static lock isn't initialized.


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


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

CreateVolume(): Things work way better when actually returning the volume.


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


# daa67478 08-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the khash, condition variable, lock, block cache, and slab
implementations and instead use the kernel sources directly or the
libkernelland_emu sources.


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


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

Finished node management.


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


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

Moved the creation and initialization of the FileSystem subclass instance
into the FS interface specific libraries, thus making the server completely
independent of those.


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


# 28627b28aa84c2a1c0a07cf514782c514f9c672e 17-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

UserlandFS: avoid crash if module is not found.

If we can't find the name in the module list, we would try to
dereference the NULL pointer which terminates that list.


# 5147963dcd57fefa4f63c484eb88e9eaf4002976 26-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

headers/private/kernel/util/OpenHashTable.h, Hugo's version, is a bit nicer than
Tracker's OpenHashTable.h which it should eventually replace. We've renamed the
class to BOpenHashTable and changed the interface slightly so that HashTableLink
became superfluous.
Adapted all the code that used it. Since the OpenHashTables no longer clash,
this should fix the GCC4 build.


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


# 69cd702b39187815d61ca260bb08df759f2f352e 19-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Pass the file system name to the FileSystem base class and store it there.


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


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

Call file_map_init(). Otherwise the static lock isn't initialized.


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


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

CreateVolume(): Things work way better when actually returning the volume.


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


# daa674789c7b247e3002a595bd53c4ef44caa8ab 08-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the khash, condition variable, lock, block cache, and slab
implementations and instead use the kernel sources directly or the
libkernelland_emu sources.


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


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

Finished node management.


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


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

Moved the creation and initialization of the FileSystem subclass instance
into the FS interface specific libraries, thus making the server completely
independent of those.


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