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