haiku/src/system/kernel/fs
Michael Lotz 06da81f012 Implement node monitoring in the kernel disk device manager.
* Added {Create|Delete}Device() analogous to {Create|Delete}FileDevice
* Added a small DeviceWatcher class that reacts to entry creation/removal
* Implemented a way to start/stop node monitoring
* Start watching for devices after the boot volume has been mounted and the
  the second initial scan was run

The disk device manager now creates and scans a device when a "raw" node is
published and deletes the device on removal. This makes hot-plugging of disk
devices (for example memory sticks using usb_disk) work. Their partitions will
be scanned and published so they can be mounted. Somehow the removal of the
partitions does not yet work however, any insights are welcome.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 18:14:11 +00:00
..
devfs.cpp * Renamed publish_node() to new_node(). 2008-04-03 08:24:50 +00:00
fd.cpp * Implemented support for chroot: 2008-03-30 05:59:54 +00:00
IOScheduler.cpp Renamed system/core to system/kernel. 2005-04-13 13:22:10 +00:00
IOScheduler.h Renamed system/core to system/kernel. 2005-04-13 13:22:10 +00:00
Jamfile * rootfs.c -> rootfs.cpp 2007-10-04 14:30:50 +00:00
KPath.cpp Added RemoveLeaf() leaf method. Very handy for recursive directory 2007-07-15 00:34:17 +00:00
node_monitor.cpp Change the NodeMonitorService lock from a mutex to a recursive_lock. This 2008-04-02 23:20:37 +00:00
pipefs.cpp * Since writers also might have to wait when there is still some room 2008-03-30 22:35:41 +00:00
rootfs.cpp * Aligned the semantics of the read_symlink() FS module hook with the 2008-03-17 21:37:40 +00:00
vfs_boot.cpp Implement node monitoring in the kernel disk device manager. 2008-04-03 18:14:11 +00:00
vfs_boot.h [Sorry, couldn't split this one up any further.] 2007-07-15 02:10:15 +00:00
vfs_net_boot.cpp Computed the netmask in net endianess. The wrong netmask caused 2007-07-19 13:58:17 +00:00
vfs_net_boot.h [Sorry, couldn't split this one up any further.] 2007-07-15 02:10:15 +00:00
vfs.cpp Also check whether the supplied vnode is a directory, if there's only 2008-04-02 01:55:37 +00:00