modDir
Der Ereigniserzeuger modDir überwacht Änderungen von Verzeichnisinhalten.
- Übersicht
Der Ereigniserzeuger modDir befindet sich im Verzeichnis fs und überwacht Änderungen von Verzeichnisinhalten. Die folgenden vnode-Operationen werden überwacht: vnop_create(), vnop_link(), vnop_symlink(), vnop_remove(), vnop_rename(), vnop_mkdir() und vnop_rmdir().
Verzeichnisse können nicht überwacht werden, wenn
- sie sich in einem fernen Dateisystem befinden,
- sie sich in einem Dateisystem des Typs ahafs, procfs oder namefs befinden,
- sie symbolische Verbindungen sind,
- sie sich in einem Verzeichnis befinden, das mit einer Erweiterung von AIX Event Infrastructure endet (.mon, .list, .monFactory).
- Monitordateien mit einem vollständigen Pfadnamen, der länger ist als der mit MAXPATHLEN im Pseudodateisystem von AIX Event Infrastructure festgelegte Wert, können nicht überwacht werden.
Der Ereigniserzeuger modDir führt keine rekursive Überwachung von Verzeichnisänderungen durch. Es werden nur Änderungen am angegebenen Verzeichnis überwacht.
- Funktionen
AHAFS_THRESHOLD_STATE AHAFS_STKTRACE_AVAILABLE AHAFS_REMOTE_EVENT_ENABLED- Rückkehrcodes
Der Ereigniserzeuger modDir verwendet Rückkehrcodes, die in <sys/ahafs_evProds.h> definiert sind.
Diese Rückkehrcodes werden verwendet, um anzuzeigen, wie der Inhalt des überwachten Verzeichnisses geändert wurde:
- AHAFS_MODDIR_CREATE
- Ein neues Dateisystemobjekt wurde unter dem überwachten Verzeichnis erstellt.
- AHAFS_MODDIR_UNMOUNT
- Das Dateisystem mit dem überwachten Verzeichnis wurde abgehängt. Dies ist ein Nichtverfügbarkeitsereignis.
- AHAFS_MODDIR_REMOVE
- Ein Dateisystemobjekt im überwachten Verzeichnis wurde entfernt.
- AHAFS_MODDIR_REMOVE_SELF
- Das überwachte Verzeichnis selbst wurde entfernt oder umbenannt. Dies ist ein Nichtverfügbarkeitsereignis.
- Nachrichten des Ereigniserzeugers
Der Name des Dateisystemobjekts, das das Ereignis ausgelöst hat, wird in die Ereignisdaten eingeschlossen.
- Zulässige Monitordateien
Für die Überwachung von Änderungen von Verzeichnisinhalten muss eine Monitordatei im Verzeichnis modDir.monFactory erstellt werden, die denselben Pfad wie das zu überwachende Verzeichnis hat. Wenn Sie beispielsweise das Verzeichnis /home/cheryl auf Änderungen überwachen möchten, wird die Monitordatei /aha/fs/modDir.monFactory/home/cheryl.mon verwendet.
- Beispielereignisdaten
Die folgenden Ereignisdaten wurden aus einer neuen Datei mit dem Namen file1 generiert, die in einem überwachten Verzeichnis erstellt wurde. Dies ist die Ausgabe mit der INFO_LVL-Stufe 3:
BEGIN_EVENT_INFO TIME_tvsec=1271780397 TIME_tvnsec=24369022 SEQUENCE_NUM=0 PID=6095102 UID=0 UID_LOGIN=0 GID=0 PROG_NAME=touch RC_FROM_EVPROD=1000 BEGIN_EVPROD_INFO file1 END_EVPROD_INFO STACK_TRACE aha_cbfn_wrapper+30 ahafs_evprods+510 aha_process_vnop+138 vnop_create_attr+4AC openpnp+418 openpath+100 copen+294 kopen+1C .svc_instr open+F8 creat64+1C main+1EC __start+68 END_EVENT_INFO