DragonFly commits List (threaded) for 2009-04
DragonFly BSD
DragonFly commits List (threaded) for 2009-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 2 Apr 2009 23:48:32 -0700 (PDT)

commit b8477cda8783596a7c765667658de9a94dd368fd
Author: Matthew Dillon <dillon@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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]