DragonFly-2.3.0.571.gb8477 master sys/kern kern_descrip.c tty.c uipc_usrreq.c vfs_default.c vfs_subr.c vfs_syscalls.c vfs_vopops.c sys/sys file.h filedesc.h vfsops.h vnode.h sys/vfs/specfs spec_vnops.c sys/vfs/union union_vnops.c

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Apr 2 23:49:26 PDT 2009


commit b8477cda8783596a7c765667658de9a94dd368fd
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Apr 2 23:38:31 2009 -0700

    Revoke reimplementation - primary commit part 1/2.
    
    Rip out and replace the old revoke code.  The old code basically ripped
    vnodes out from under the related VFSs, faked close operations, hacked
    up ref counts, and generally wreaked havoc on the system.
    
    The new code is not as efficient, but plays a lot nicer with the kernel.
    It locates and closes matching file descriptors (replacing the descriptor
    with a dummy that just returns an error).  No ref count hacks are needed
    and vnodes are no longer unceremoniously canned.
    
    The new revoke code is also capable of revoking any vnode in the system,
    device or file.  root, jail root, and chrooted directories cannot be
    revoked.
    
    This also fixes an issue with HAMMER getting confused when one of its
    vnodes got ripped out from under it by the old revoke.

Summary of changes:
 sys/kern/kern_descrip.c     |  120 +++++++++++++++++++++++++++++++++++--------
 sys/kern/tty.c              |    4 +-
 sys/kern/uipc_usrreq.c      |   13 ++---
 sys/kern/vfs_default.c      |    1 -
 sys/kern/vfs_subr.c         |   36 +++++--------
 sys/kern/vfs_syscalls.c     |   12 ++---
 sys/kern/vfs_vopops.c       |   25 ---------
 sys/sys/file.h              |    2 +-
 sys/sys/filedesc.h          |    3 +-
 sys/sys/vfsops.h            |   14 +-----
 sys/sys/vnode.h             |    3 +-
 sys/vfs/specfs/spec_vnops.c |   28 +++++-----
 sys/vfs/union/union_vnops.c |   25 ---------
 13 files changed, 141 insertions(+), 145 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b8477cda8783596a7c765667658de9a94dd368fd


-- 
DragonFly BSD source repository





More information about the Commits mailing list