vnode_impl
struct vnode_impl *vip;
typedef TAILQ_HEAD(synclist, vnode_impl) synclist_t;
struct vnode_impl *vi;
SLIST_REMOVE(&oldtab[i], vip, vnode_impl, vi_hash);
new_vip, vnode_impl, vi_hash);
vip, vnode_impl, vi_hash);
new_vip, vnode_impl, vi_hash);
vip, vnode_impl, vi_hash);
vip, vnode_impl, vi_hash);
SLIST_HEAD(hashhead, vnode_impl);
struct vnode_impl;
TAILQ_HEAD(, vnode_impl) mnt_vnodelist; /* list of vnodes this mount */
typedef struct vnode_impl vnode_impl_t;
#define VNODE_TO_VIMPL(vp) container_of((vp), struct vnode_impl, vi_vnode)
TAILQ_HEAD(vnodelst, vnode_impl);
TAILQ_ENTRY(vnode_impl) vi_lrulist; /* d lru list */
TAILQ_ENTRY(vnode_impl) vi_synclist; /* s vnodes with dirty bufs */
SLIST_ENTRY(vnode_impl) vi_hash; /* c vnode cache list */
TAILQ_ENTRY(vnode_impl) vi_mntvnodes; /* m vnodes for mount point */
struct vnode_impl vi;
HASH_SLIST, offsetof(struct vnode_impl, vi_hash),