%{ /* * logeventfs.fist: logs the individual filesystem events to syslog * logevent portions are: * Copyright 2003 William Stearns * fistgen code copyright Erez Zadok and the fistgen team * logevent and fistgen portions are both released under the GPL * Note that only lookup appears to work at this time. */ %} debug off; %% //---------- create ---------- /* precall and postcall added. */ %op:create:precall { printk("logeventfs: create:precall"); } %op:create:postcall { printk("logeventfs: create:postcall"); /* printk("logeventfs: create: file %s\n", name); */ } //---------- getattr ---------- /* wrapfs_getattr is not enabled in the linux24 template at all, but precall and postcall added anyways. */ %op:getattr:precall { printk("logeventfs: getattr:precall"); } %op:getattr:postcall { printk("logeventfs: getattr:postcall"); /* printk("logeventfs: getattr: file %s\n", name); */ } //---------- lstat ---------- %op:lstat:precall { printk("logeventfs: lstat:precall"); } %op:lstat:postcall { printk("logeventfs: lstat:postcall"); /* printk("logeventfs: lstat: file %s\n", name); */ } //---------- stat ---------- %op:stat:precall { printk("logeventfs: stat:precall"); } %op:stat:postcall { printk("logeventfs: stat:postcall"); /* printk("logeventfs: stat: file %s\n", name); */ } //---------- link ---------- /* precall and postcall added. */ %op:link:precall { printk("logeventfs: link:precall"); } %op:link:postcall { printk("logeventfs: link:postcall"); /* printk("logeventfs: link: file %s\n", name); */ } //---------- lookup ---------- /* Always had precall and postcall. */ %op:lookup:precall { printk("logeventfs: lookup:precall"); } %op:lookup:postcall { printk("logeventfs: lookup:postcall"); printk("logeventfs: lookup: file %s\n", name); } //---------- mkdir ---------- /* precall and postcall added. */ %op:mkdir:precall { printk("logeventfs: mkdir:precall"); } %op:mkdir:postcall { printk("logeventfs: mkdir:postcall"); /* printk("logeventfs: mkdir: file %s\n", $dir.name); */ } //---------- read ---------- /* precall and postcall added. */ %op:read:precall { printk("logeventfs: read:precall"); } %op:read:postcall { printk("logeventfs: read:postcall"); /* printk("logeventfs: read: file %s\n", name); */ } //---------- readdir ---------- /* precall and postcall added. */ %op:readdir:precall { printk("logeventfs: readdir:precall"); } %op:readdir:postcall { printk("logeventfs: readdir:postcall"); /* printk("logeventfs: readdir: file %s\n", name); */ } //---------- readlink ---------- %op:readlink:precall { printk("logeventfs: readlink:precall"); } %op:readlink:postcall { printk("logeventfs: readlink:postcall"); /* printk("logeventfs: readlink: file %s\n", name); */ } //---------- rename ---------- %op:rename:precall { printk("logeventfs: rename:precall"); } %op:rename:postcall { printk("logeventfs: rename:postcall"); /* printk("logeventfs: rename: from %s/%s to %s/%s\n", $fromdir, $from, $todir, $to); */ } //---------- rmdir ---------- %op:rmdir:precall { printk("logeventfs: rmdir:precall"); } %op:rmdir:postcall { printk("logeventfs: rmdir:postcall"); /* printk("logeventfs: rmdir: file %s\n", $dir.name); */ } //---------- setattr ---------- %op:setattr:precall { printk("logeventfs: setattr:precall"); } %op:setattr:postcall { printk("logeventfs: setattr:postcall"); /* printk("logeventfs: setattr: file %s\n", name); */ } //---------- statfs ---------- %op:statfs:precall { printk("logeventfs: statfs:precall"); } %op:statfs:postcall { printk("logeventfs: statfs:postcall"); /* printk("logeventfs: statfs: file %s\n", name); */ } //---------- symlink ---------- %op:symlink:precall { printk("logeventfs: symlink:precall"); } %op:symlink:postcall { printk("logeventfs: symlink:postcall"); /* printk("logeventfs: symlink: file %s\n", name); */ } //---------- unlink ---------- %op:unlink:precall { printk("logeventfs: unlink:precall"); } %op:unlink:postcall { printk("logeventfs: unlink:postcall"); /* printk("logeventfs: unlink: file %s\n", name); */ } //---------- write ---------- %op:write:precall { printk("logeventfs: write:precall"); } %op:write:postcall { printk("logeventfs: write:postcall"); /* printk("logeventfs: write: file %s\n", name); */ } %%