freebsd-skq/sys/fs
Poul-Henning Kamp 63f89abf4a Change the generated VOP_ macro implementations to improve type checking
and KASSERT coverage.

After this check there is only one "nasty" cast in this code but there
is a KASSERT to protect against the wrong argument structure behind
that cast.

Un-inlining the meat of VOP_FOO() saves 35kB of text segment on a typical
kernel with no change in performance.

We also now run the checking and tracing on VOP's which have been layered
by nullfs, umapfs, deadfs or unionfs.

    Add new (non-inline) VOP_FOO_AP() functions which take a "struct
    foo_args" argument and does everything the VOP_FOO() macros
    used to do with checks and debugging code.

    Add KASSERT to VOP_FOO_AP() check for argument type being
    correct.

    Slim down VOP_FOO() inline functions to just stuff arguments
    into the struct foo_args and call VOP_FOO_AP().

    Put function pointer to VOP_FOO_AP() into vop_foo_desc structure
    and make VCALL() use it instead of the current offsetoff() hack.

    Retire vcall() which implemented the offsetoff()

    Make deadfs and unionfs use VOP_FOO_AP() calls instead of
    VCALL(), we know which specific call we want already.

    Remove unneeded arguments to VCALL() in nullfs and umapfs bypass
    functions.

    Remove unused vdesc_offset and VOFFSET().

    Generally improve style/readability of the generated code.
2005-01-13 07:53:01 +00:00
..
cd9660 Wrap the bufobj operations in macros: BO_STRATEGY() and BO_WRITE() 2005-01-11 09:10:46 +00:00
coda Remove the unused credential argument from VOP_FSYNC() and VFS_SYNC(). 2005-01-11 07:36:22 +00:00
deadfs Change the generated VOP_ macro implementations to improve type checking 2005-01-13 07:53:01 +00:00
devfs Silently ignore forced argument to unmount. 2005-01-11 12:02:26 +00:00
fdescfs /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:10:42 +00:00
fifofs /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:10:42 +00:00
hpfs Wrap the bufobj operations in macros: BO_STRATEGY() and BO_WRITE() 2005-01-11 09:10:46 +00:00
msdosfs Wrap the bufobj operations in macros: BO_STRATEGY() and BO_WRITE() 2005-01-11 09:10:46 +00:00
ntfs /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:10:42 +00:00
nullfs Change the generated VOP_ macro implementations to improve type checking 2005-01-13 07:53:01 +00:00
nwfs /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:10:42 +00:00
portalfs /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:10:42 +00:00
procfs /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:10:42 +00:00
pseudofs Annotate that pfs_exit() always acquires and releases two mutexes for 2005-01-08 04:56:38 +00:00
smbfs /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:10:42 +00:00
udf Use off_t when passing and calculating file offsets. While a single 2005-01-12 06:42:13 +00:00
umapfs Change the generated VOP_ macro implementations to improve type checking 2005-01-13 07:53:01 +00:00
unionfs Change the generated VOP_ macro implementations to improve type checking 2005-01-13 07:53:01 +00:00