History log of /haiku/src/system/kernel/fs/node_monitor.cpp
Revision Date Author Comments
# 425ac1b6 20-Jun-2023 Alexander von Gluck IV <kallisti5@unixzen.com>

refactor: Swap %Ld for %lld in all format usages

* %Ld is an undocumented alias for %lld in glibc.
* muslc doesn't implement it for this reason.
* While we will likely never drop %Ld support,
lets clean house and set a better example.

Change-Id: Id46dad3104abae483e80cc5c05d1464d3ecd8030
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6636
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 31e6a56f 24-Aug-2017 Jérôme Duval <jerome.duval@gmail.com>

kernel/fs: fix warning on x86_64.


# 67988f50 21-Mar-2016 Axel Dörfler <axeld@pinc-software.de>

NodeMonitor: Resolve mount points for B_WATCH_CHILDREN.

* When a watched directory contains a mount point, we need to resolve
the actual parent directory of the mount point in the file system to
serve the monitor.


# 6f7fc220 07-Mar-2016 Axel Dörfler <axeld@pinc-software.de>

NodeMonitor: Added B_WATCH_CHILDREN flag.

* Added a directory argument for notify_{stat/attribute}_changed().
* This allows to watch only a directory, and get the notifications for
all of its files, not just add/remove entry notifications.


# 6235b496 12-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

More useless inclusions of khash.h


# 8c974aa8 27-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

node monitor: add TODO regarding the syscalls


# 0d603ac6 27-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Fix node monitoring slot accounting for stop_watching()

NodeMonitorService::RemoveUserListeners() didn't decrement
io_context::num_monitors when removing a listener, so limit checks
would be off afterwards.


# 7ef47de9 13-Feb-2012 czeidler <haiku@clemens-zeidler.de>

Revert "Finally applying the patch that adds support to add path information to stat and attr monitor messages."

Will recommit it when I have more time to work on the todos.

This reverts commit 610ef6c00781522022455c0cbf34495420b2db1d.


# 610ef6c0 21-Jan-2012 czeidler <haiku@clemens-zeidler.de>

Finally applying the patch that adds support to add path information to stat and attr monitor messages.
* for all open FD the path information is stored in a map
* this info is used to fill the missing fields in the node monitor


# 0e35d5d2 12-Dec-2011 John Scipione <jscipione@gmail.com>

Change instances of wether in comments to whether. No functional change intended.


# f4a1387c 21-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add vfs_ prefix to resolve_vnode_to_covering_vnode()


# 47ea54c5 20-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Generalize use of Vnode::covered_by/covers

* Introduce Vnode flags for covered and covering. Can be used as a quick
check when one doesn't already hold sVnodeLock.
* Rename resolve_mount_point_to_volume_root() to
resolve_vnode_to_covering_vnode().
* Adjust all code that deals with transitions between mount points and
volume root vnodes to generally support covered/covering vnodes.


# 313e1e37 21-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add vfs_ prefix to resolve_vnode_to_covering_vnode()


# 2e21fc54 20-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Generalize use of Vnode::covered_by/covers

* Introduce Vnode flags for covered and covering. Can be used as a quick
check when one doesn't already hold sVnodeLock.
* Rename resolve_mount_point_to_volume_root() to
resolve_vnode_to_covering_vnode().
* Adjust all code that deals with transitions between mount points and
volume root vnodes to generally support covered/covering vnodes.


# 4a5a077f 24-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add a private B_ATTR_CHANGE_NOTIFICATION flag to the open query syscall to tell the query to send notifications when an entry attribute changed and the entry stays in the query. Previously you only get created and removed messages, now you can also get updated messages. Only implement it for bfs.
Fix copy right.



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


# ccdff0eb 24-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Fix bug when comparing flags. Simplify hash map key. Thanks Ingo!



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


# d63309cf 23-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Store the volume watcher in a separate hash table to not collide with
normal nodes.



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


# 33d9a03d 19-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add a watch_volume method to the node monitor to be able to watch node changes on a whole volume and not only for one node.



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


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

Fixed spelling.


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


# 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


# 311635a1 09-Dec-2008 Axel Dörfler <axeld@pinc-software.de>

* Minor cleanup - thanks, Rene, I just got aware of it.


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


# 5a60521c 09-Dec-2008 Rene Gollent <anevilyak@gmail.com>

Build fix. Redeclaration of status variable.



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


# c0c4841c 09-Dec-2008 Axel Dörfler <axeld@pinc-software.de>

While looking at the code, I found two memory leaks:
* UpdateUserListener() did not delete the copiedListener in case adding the
monitor listener failed.
* RemoveListener() did never delete UserNodeListeners, IOW user node monitors
were never freed!


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


# 191a03fd 09-Jul-2008 Axel Dörfler <axeld@pinc-software.de>

* {add|remove}_node_listener() erroneously had "dev_t" as type of "node".


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


# b0f5179a 28-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed recursive_lock to use a mutex instead of a semaphore.
* Adjusted code using recursive locks respectively. The initialization
cannot fail anymore, and it is possible to use recursive locks in the
early boot process (even uninitialized, if in BSS), which simplifies
things a little.


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


# 2e4a3839 19-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed obsolete notify_listener().


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


# 3130aa79 02-Apr-2008 Michael Lotz <mmlr@mlotz.ch>

Change the NodeMonitorService lock from a mutex to a recursive_lock. This
allows event listeners to add new listeners inside a node monitoring event
(i.e. if one wants to add a listener for the entry that has just been created
and triggered the current notification).

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


# 351b7a2d 25-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

* Added B_WATCH_INTERIM_STAT, and B_STAT_INTERIM_UPDATE definitions to
NodeMonitor.h.
* The latter will be set in "statFields" for interim updates when you have
asked to get them via the former.
* BFS now uses the B_STAT_INTERIM_UPDATE flag for sending updates to actively
written files.
* This makes us more compatible with BeOS again; if you only asked for
B_WATCH_STAT, you will now only receive a notification if the file in
question has been closed.
* Tracker now uses B_WATCH_INTERIM_STAT to always get all updates (ie.
downloading a file will update its size and modification time in Tracker
periodically during the download).
* Wether "needsTrimming" was true or not has no influence on wether or not
the size index needs to be updated in BFS - only the actual file size is
stored there, not the on-disk size.
* Added a TODO comment in Inode::WriteAt() that it would actually need to
update the size index when changing the file size, not when the file has
been closed (but that's probably too slow).


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


# 9448bb6e 20-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

Added add_node_listener() and remove_node_listener() kernel private functions
to watch a node.


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


# edb15b55 01-Aug-2007 Axel Dörfler <axeld@pinc-software.de>

bonefish+axeld:
* Simplified the notification framework: removed the updater stuff completely;
it was only there to account for some peculiarities of the node monitor which
we now solved differently.
* NotificationListener no longer includes a doubly linked list link for convenience;
it might want to listen to more than just one service.
* NotificationService cannot have an abstract destructor.
* Changed the _user_stop_watching() syscall to mirror the Be API; ie. it's no
longer possible to just remove some flags separately, just to stop listening
completely.
* Adapted the node monitor implementation to live in the NodeMonitorService class
that uses the new notification framework.
* Removed the public kernel node monitor API - it wasn't useful that way since you
couldn't do a lot with the KMessage in the kernel without using a private API.
Now you will have to use the (private) notification manager to use the node monitor
from inside the kernel. At a later point, we might introduce a public API for that,
too.


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


# 12d359b8 04-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed write_link from the FS module interface. Adjusted all FS
add-ons accordingly and removed the syscall.
* Removed send_notification().
* Reimplemented notify_listener(). It used the unimplemented
send_notification(). Now it has a chance to work. Note that
notify_listener() is obsolete. I would already have removed it, if
there weren't lots of FS implementations still using it (Hint!).


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


# c2f0ee7a 25-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Don't send B_ENTRY_MOVED messages twice, if fromDirectory == toDirectory.

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


# bb674499 03-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Finally implemented B_WATCH_MOUNT, ie. Tracker now shows newly mounted volumes
(mounting still only works from the Terminal).
* Shuffled functions in node_monitor.cpp around to clearly differentiate between
private, private kernel, and public kernel functions.


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


# 7b285866 25-Aug-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed hash functions: when the key was lower than 0 (could happen with entry_refs
and node_refs passed in) they returned an invalid index (larger than range).
Fixed rootfs compilation with tracing turned on.
Minor cleanup.


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


# 2d690920 13-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed system/core to system/kernel.


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


# 6235b4967bb0a99752efd18eee62a47834c79946 12-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

More useless inclusions of khash.h


# 8c974aa8006f2f33f6b14563bda5a14f5bcc412d 27-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

node monitor: add TODO regarding the syscalls


# 0d603ac65ca118bfc02ea8ec34ef74f93c5fc956 27-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Fix node monitoring slot accounting for stop_watching()

NodeMonitorService::RemoveUserListeners() didn't decrement
io_context::num_monitors when removing a listener, so limit checks
would be off afterwards.


# 7ef47de9084a2b73db73fbed07ff62966eadff20 13-Feb-2012 czeidler <haiku@clemens-zeidler.de>

Revert "Finally applying the patch that adds support to add path information to stat and attr monitor messages."

Will recommit it when I have more time to work on the todos.

This reverts commit 610ef6c00781522022455c0cbf34495420b2db1d.


# 610ef6c00781522022455c0cbf34495420b2db1d 21-Jan-2012 czeidler <haiku@clemens-zeidler.de>

Finally applying the patch that adds support to add path information to stat and attr monitor messages.
* for all open FD the path information is stored in a map
* this info is used to fill the missing fields in the node monitor


# 0e35d5d2e5ef3d288e056d60ef1b16dc399eaa0c 12-Dec-2011 John Scipione <jscipione@gmail.com>

Change instances of wether in comments to whether. No functional change intended.


# f4a1387cea3b8a441bc1d952bc562ae34af6647c 21-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add vfs_ prefix to resolve_vnode_to_covering_vnode()


# 47ea54c55bed272f7c506b23d1ff8216e6a57a96 20-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Generalize use of Vnode::covered_by/covers

* Introduce Vnode flags for covered and covering. Can be used as a quick
check when one doesn't already hold sVnodeLock.
* Rename resolve_mount_point_to_volume_root() to
resolve_vnode_to_covering_vnode().
* Adjust all code that deals with transitions between mount points and
volume root vnodes to generally support covered/covering vnodes.


# 313e1e37f229242df626cb34f466d388590d62d9 21-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add vfs_ prefix to resolve_vnode_to_covering_vnode()


# 2e21fc543649e665507240f0803de9dddc26f152 20-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Generalize use of Vnode::covered_by/covers

* Introduce Vnode flags for covered and covering. Can be used as a quick
check when one doesn't already hold sVnodeLock.
* Rename resolve_mount_point_to_volume_root() to
resolve_vnode_to_covering_vnode().
* Adjust all code that deals with transitions between mount points and
volume root vnodes to generally support covered/covering vnodes.


# 4a5a077ff79e1b1ffb2571fdfc5ea8218a64196c 24-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add a private B_ATTR_CHANGE_NOTIFICATION flag to the open query syscall to tell the query to send notifications when an entry attribute changed and the entry stays in the query. Previously you only get created and removed messages, now you can also get updated messages. Only implement it for bfs.
Fix copy right.



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


# ccdff0eb1fe760c36605cd50619b3379f95159a7 24-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Fix bug when comparing flags. Simplify hash map key. Thanks Ingo!



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


# d63309cf5ea0c79ad1c6987ef9d3986f6acdb0e1 23-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Store the volume watcher in a separate hash table to not collide with
normal nodes.



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


# 33d9a03d72345215b44f29dccb051b88fbce5482 19-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add a watch_volume method to the node monitor to be able to watch node changes on a whole volume and not only for one node.



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


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

Fixed spelling.


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


# 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


# 311635a1aba611d9245e4a63f559ee526a0982e3 09-Dec-2008 Axel Dörfler <axeld@pinc-software.de>

* Minor cleanup - thanks, Rene, I just got aware of it.


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


# 5a60521c890cd517ad91012ff71f4214d03a4df6 09-Dec-2008 Rene Gollent <anevilyak@gmail.com>

Build fix. Redeclaration of status variable.



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


# c0c4841c24fa82f42871c4c424c62ea8af2b26d7 09-Dec-2008 Axel Dörfler <axeld@pinc-software.de>

While looking at the code, I found two memory leaks:
* UpdateUserListener() did not delete the copiedListener in case adding the
monitor listener failed.
* RemoveListener() did never delete UserNodeListeners, IOW user node monitors
were never freed!


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


# 191a03fd11febefc76c2b0049934c1c1bec97882 09-Jul-2008 Axel Dörfler <axeld@pinc-software.de>

* {add|remove}_node_listener() erroneously had "dev_t" as type of "node".


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


# b0f5179aa51eb680cdeea656a8b11fdbc6b56d63 28-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed recursive_lock to use a mutex instead of a semaphore.
* Adjusted code using recursive locks respectively. The initialization
cannot fail anymore, and it is possible to use recursive locks in the
early boot process (even uninitialized, if in BSS), which simplifies
things a little.


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


# 2e4a383953026e0282a47c6c25742df61ded02f5 19-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed obsolete notify_listener().


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


# 3130aa793d26e33299e337491d2f49980a3b49df 02-Apr-2008 Michael Lotz <mmlr@mlotz.ch>

Change the NodeMonitorService lock from a mutex to a recursive_lock. This
allows event listeners to add new listeners inside a node monitoring event
(i.e. if one wants to add a listener for the entry that has just been created
and triggered the current notification).

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


# 351b7a2d2499a7c9929452009158a92ba9d66091 25-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

* Added B_WATCH_INTERIM_STAT, and B_STAT_INTERIM_UPDATE definitions to
NodeMonitor.h.
* The latter will be set in "statFields" for interim updates when you have
asked to get them via the former.
* BFS now uses the B_STAT_INTERIM_UPDATE flag for sending updates to actively
written files.
* This makes us more compatible with BeOS again; if you only asked for
B_WATCH_STAT, you will now only receive a notification if the file in
question has been closed.
* Tracker now uses B_WATCH_INTERIM_STAT to always get all updates (ie.
downloading a file will update its size and modification time in Tracker
periodically during the download).
* Wether "needsTrimming" was true or not has no influence on wether or not
the size index needs to be updated in BFS - only the actual file size is
stored there, not the on-disk size.
* Added a TODO comment in Inode::WriteAt() that it would actually need to
update the size index when changing the file size, not when the file has
been closed (but that's probably too slow).


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


# 9448bb6e0bee502cc59bc3e73b460509fa67c0a8 20-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

Added add_node_listener() and remove_node_listener() kernel private functions
to watch a node.


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


# edb15b5565a82e4cb5ad4ec7cd7b5fe3f8619255 01-Aug-2007 Axel Dörfler <axeld@pinc-software.de>

bonefish+axeld:
* Simplified the notification framework: removed the updater stuff completely;
it was only there to account for some peculiarities of the node monitor which
we now solved differently.
* NotificationListener no longer includes a doubly linked list link for convenience;
it might want to listen to more than just one service.
* NotificationService cannot have an abstract destructor.
* Changed the _user_stop_watching() syscall to mirror the Be API; ie. it's no
longer possible to just remove some flags separately, just to stop listening
completely.
* Adapted the node monitor implementation to live in the NodeMonitorService class
that uses the new notification framework.
* Removed the public kernel node monitor API - it wasn't useful that way since you
couldn't do a lot with the KMessage in the kernel without using a private API.
Now you will have to use the (private) notification manager to use the node monitor
from inside the kernel. At a later point, we might introduce a public API for that,
too.


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


# 12d359b85a22246a568569b09b6587534e98aacc 04-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed write_link from the FS module interface. Adjusted all FS
add-ons accordingly and removed the syscall.
* Removed send_notification().
* Reimplemented notify_listener(). It used the unimplemented
send_notification(). Now it has a chance to work. Note that
notify_listener() is obsolete. I would already have removed it, if
there weren't lots of FS implementations still using it (Hint!).


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


# c2f0ee7a7bcbcca13d848ce2c57af7b540c481bc 25-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Don't send B_ENTRY_MOVED messages twice, if fromDirectory == toDirectory.

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


# bb674499f8713cb5a125c7718c3d108f8f440b04 03-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Finally implemented B_WATCH_MOUNT, ie. Tracker now shows newly mounted volumes
(mounting still only works from the Terminal).
* Shuffled functions in node_monitor.cpp around to clearly differentiate between
private, private kernel, and public kernel functions.


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


# 7b285866ffd4fbf1069a31917f8c923ad2ac45fd 25-Aug-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed hash functions: when the key was lower than 0 (could happen with entry_refs
and node_refs passed in) they returned an invalid index (larger than range).
Fixed rootfs compilation with tracing turned on.
Minor cleanup.


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


# 2d690920ac4d0cd27eb3c118fb2b0862615869e0 13-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed system/core to system/kernel.


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