1/* 2 * Copyright (c) 1992, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software donated to Berkeley by 6 * Jan-Simon Pendry. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 21 unchanged lines hidden (view full) --- 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * @(#)null_subr.c 8.7 (Berkeley) 5/14/95 37 * |
38 * $Id: null_subr.c,v 1.16 1998/02/06 12:13:36 eivind Exp $ |
39 */ 40 41#include "opt_debug_nullfs.h" 42 43#include <sys/param.h> 44#include <sys/systm.h> 45#include <sys/proc.h> 46#include <sys/vnode.h> --- 9 unchanged lines hidden (view full) --- 56 * Each cache entry holds a reference to the lower vnode 57 * along with a pointer to the alias vnode. When an 58 * entry is added the lower vnode is VREF'd. When the 59 * alias is removed the lower vnode is vrele'd. 60 */ 61 62#define NULL_NHASH(vp) \ 63 (&null_node_hashtbl[(((u_long)vp)>>LOG2_SIZEVNODE) & null_node_hash]) |
64static LIST_HEAD(null_node_hashhead, null_node) *null_node_hashtbl; 65static u_long null_node_hash; |
66 67static int null_node_alloc __P((struct mount *mp, struct vnode *lowervp, 68 struct vnode **vpp)); 69static struct vnode * 70 null_node_find __P((struct mount *mp, struct vnode *lowervp)); 71 72/* 73 * Initialise cache headers --- 230 unchanged lines hidden --- |