fsevmgr

QNX SDP8.0Utilities ReferenceUtilities

Filesystem event manager

Note:
The random daemon must be running before you start fsevmgr.

Syntax:

fsevmgr [options] [command]

Runs on:

QNX OS

Options:

-d
Enable debugging output on stdout.
-F group id
The group ID or name for the fsnotify device; see below.
-f fsnotify_name
The name for fsnotify to register (default: /dev/fsnotify).
CAUTION:
Don't change the name of /dev/fsnotify; doing so will break the inotify system.
-k size
The size of each mailbox event queue, in kilobytes (default: 64 KB).
-m
Allow multiple events to be returned per read(). This is enabled for all inotify-style watches.
-s size
The size of the master event queue, in kilobytes (default: 100 KB).
-U uid:gid
Switch to the given user ID and group ID once running.
-w time
The number of milliseconds to delay before notifying io-blk instances.
-y
Suppress the notification of the event manager load.
command
A specific command to execute; one of the following:
-c id, string
Insert an event into the event manager queue.
-D value
Set the debugging level.
-j
Display statistics.
-M muid
Report the status of the given mailbox.
-P path
Poll the event manager and display the output on the given path.
-p
Poll the event manager and display the output on standard output.
-r
Display the primary event queue on standard output.
-S
Report the event manager's status.
-u
Notify filesystems to resynchronize themselves with the event manager.

Description:

The fsevmgr manager gathers events from the block I/O (io-blk.so) library and sends them to clients that want to be notified of changes to a filesystem. It uses mailboxes to manage event queues, creating one mailbox to serve as the master event queue, and then creating a mailbox for each open() request from a client.

If you specify a command argument, then fsevmgr completes the requested operation and exits immediately. If you don't specify a command, fsevmgr runs in the background.

By default, fsevmgr registers these interfaces in the system namespace:
/dev/fsnotify
Used by the inode notify system as a source of inotify_event structures to provide to clients that are listening for events; for more information, see inotify_init() in the C Library Reference.
/dev/fsmgr
Used by resource managers that will generate filesystem events and send their data to fsevmgr, including io-blk.so.
You can make fsevmgr use non-default paths for these interfaces by defining the FSNOTIFY_PREFIX environment variable. The fsevmgr manager will prepend this variable's value to the paths of these interfaces. Client programs and resource managers will also prepend the value to the paths they use for connecting to fsevmgr for reading and writing event data. You must therefore set FSNOTIFY_PREFIX for fsevmgr and for any programs that use it to the same value.
The devb-* driver needs to be able to locate the first interface, and needs write access to it. The fsevmgr manager advertises itself to devb-* on starting unless you specify the -y option. If the devb-* driver isn't running as root (that is, you specified a user ID and a group ID on its command line), the group ID for the fsnotify devices must match the primary or supplementary group ID given to devb-*. For example, the following commands start devb-ahci as uid 121 and gid 132, and give it access to the fsnotify entries:
fsevmgr -F 132
devb-ahci cam user=121:132
The fsevmgr manager uses the following custom abilities, which are given to root users by default:
  • fsevmgr/qnxext (INOTIFY_ABILITY_QNX_EXT) — Check for processes that want to listen to any of the QNX extended inotify events.
  • fsevmgr/recurse (INOTIFY_ABILITY_RECURSE) — Reserved for future use.
Page updated: