Пример #1
0
/*
 * Print out the contents of an inode.
 */
int
ufs_print(void *v)
{
#ifdef DIAGNOSTIC
	struct vop_print_args *ap = v;

	struct vnode *vp = ap->a_vp;
	struct inode *ip = VTOI(vp);

	printf("tag VT_UFS, ino %u, on dev %d, %d", ip->i_number,
		major(ip->i_dev), minor(ip->i_dev));
	printf(" flags 0x%x, effnlink %d, nlink %d\n",
	       ip->i_flag, ip->i_effnlink, DIP(ip, nlink));
	printf("\tmode 0%o, owner %d, group %d, size %lld",
	       DIP(ip, mode), DIP(ip, uid), DIP(ip, gid), DIP(ip, size));

#ifdef FIFO
	if (vp->v_type == VFIFO)
		fifo_printinfo(vp);
#endif /* FIFO */
	lockmgr_printinfo(&ip->i_lock);
	printf("\n");

#endif /* DIAGNOSTIC */

	return (0);
}
Пример #2
0
static int
puffs_vnop_print(struct vop_print_args *ap)
{
    PUFFS_MSG_VARS(vn, print);
    struct vnode *vp = ap->a_vp;
    struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    struct puffs_node *pn = VPTOPP(vp);
    int error;

    /* kernel portion */
    kprintf("tag VT_PUFFS, vnode %p, puffs node: %p,\n"
            "\tuserspace cookie: %p", vp, pn, pn->pn_cookie);
    if (vp->v_type == VFIFO)
        fifo_printinfo(vp);
    kprintf("\n");

    /* userspace portion */
    if (EXISTSOP(pmp, PRINT)) {
        PUFFS_MSG_ALLOC(vn, print);
        puffs_msg_setinfo(park_print, PUFFSOP_VN,
                          PUFFS_VN_PRINT, VPTOPNC(vp));
        PUFFS_MSG_ENQUEUEWAIT2(pmp, park_print, vp->v_data,
                               NULL, error);
        PUFFS_MSG_RELEASE(print);
    }

    return 0;
}
Пример #3
0
/*
 * Print out the contents of a fifo vnode.
 */
int
fifo_print(void *v)
{
	struct vop_print_args *ap = v;

	printf("tag VT_NON");
	fifo_printinfo(ap->a_vp);
	printf("\n");
	return 0;
}
Пример #4
0
/*
 * Print out the contents of an inode.
 */
static int
ext2_print(struct vop_print_args *ap)
{
	struct vnode *vp = ap->a_vp;
	struct inode *ip = VTOI(vp);

	vn_printf(ip->i_devvp, "\tino %lu", (u_long)ip->i_number);
	if (vp->v_type == VFIFO)
		fifo_printinfo(vp);
	printf("\n");
	return (0);
}
Пример #5
0
static int
udf_print(struct vop_print_args *ap)
{
	struct vnode *vp = ap->a_vp;
	struct udf_node *node = VTON(vp);

	printf("    ino %lu, on dev %s", (u_long)node->hash_id,
	    devtoname(node->udfmp->im_dev));
	if (vp->v_type == VFIFO)
		fifo_printinfo(vp);
	printf("\n");
	return (0);
}
Пример #6
0
/*
 * Print out the contents of a fifo vnode.
 */
static int
fifo_print(void *v)
{
    struct vop_print_args /* {
		struct vnode	*a_vp;
	} */ *ap = v;

    /*
     * We are most likely being called with the vnode belonging
     * to some file system and this is not printed.
     */
    if (ap->a_vp->v_tag == VT_NON)
        printf("tag VT_NON");

    fifo_printinfo(ap->a_vp);
    printf("\n");
    return 0;
}
Пример #7
0
static int
tmpfs_print(struct vop_print_args *v)
{
	struct vnode *vp = v->a_vp;

	struct tmpfs_node *node;

	node = VP_TO_TMPFS_NODE(vp);

	kprintf("tag VT_TMPFS, tmpfs_node %p, flags 0x%x, links %d\n",
	    node, node->tn_flags, node->tn_links);
	kprintf("\tmode 0%o, owner %d, group %d, size %ju, status 0x%x\n",
	    node->tn_mode, node->tn_uid, node->tn_gid,
	    (uintmax_t)node->tn_size, node->tn_status);

	if (vp->v_type == VFIFO)
		fifo_printinfo(vp);

	kprintf("\n");

	return 0;
}