Lines Matching defs:dv

321 	struct sdev_node *dv = VTOSDEV(*vpp);
322 struct sdev_node *ddv = dv->sdev_dotdot;
328 if (!SDEV_IS_GLOBAL(dv))
339 if (dv->sdev_attrvp == NULL) {
343 error = VOP_OPEN(&(dv->sdev_attrvp), flag, cred, ct);
353 struct sdev_node *dv = VTOSDEV(vp);
361 if (!SDEV_IS_GLOBAL(dv))
368 ASSERT(dv->sdev_attrvp);
369 return (VOP_CLOSE(dv->sdev_attrvp, flag, count, offset, cred, ct));
377 struct sdev_node *dv = (struct sdev_node *)VTOSDEV(vp);
380 if (!SDEV_IS_GLOBAL(dv))
392 ASSERT(dv->sdev_attrvp);
393 (void) VOP_RWLOCK(dv->sdev_attrvp, 0, ct);
394 error = VOP_READ(dv->sdev_attrvp, uio, ioflag, cred, ct);
395 VOP_RWUNLOCK(dv->sdev_attrvp, 0, ct);
404 struct sdev_node *dv = VTOSDEV(vp);
407 if (!SDEV_IS_GLOBAL(dv))
418 ASSERT(dv->sdev_attrvp);
420 (void) VOP_RWLOCK(dv->sdev_attrvp, 1, ct);
421 error = VOP_WRITE(dv->sdev_attrvp, uio, ioflag, cred, ct);
422 VOP_RWUNLOCK(dv->sdev_attrvp, 1, ct);
424 sdev_update_timestamps(dv->sdev_attrvp, kcred,
435 struct sdev_node *dv = VTOSDEV(vp);
437 if (!SDEV_IS_GLOBAL(dv) || (vp->v_type == VDIR))
444 ASSERT(dv->sdev_attrvp);
445 return (VOP_IOCTL(dv->sdev_attrvp, cmd, arg, flag, cred, rvalp, ct));
453 struct sdev_node *dv = VTOSDEV(vp);
454 struct sdev_node *parent = dv->sdev_dotdot;
459 ASSERT(dv->sdev_attr || dv->sdev_attrvp);
466 if (dv->sdev_attrvp) {
468 error = VOP_GETATTR(dv->sdev_attrvp, vap, flags, cr, ct);
469 sdev_vattr_merge(dv, vap);
471 ASSERT(dv->sdev_attr);
472 *vap = *dv->sdev_attr;
473 sdev_vattr_merge(dv, vap);
493 struct sdev_node *dv = VTOSDEV(vp);
494 struct vnode *avp = dv->sdev_attrvp;
518 struct sdev_node *dv = VTOSDEV(vp);
519 struct vnode *avp = dv->sdev_attrvp;
521 if (dv->sdev_state == SDEV_ZOMBIE)
525 if (SDEV_IS_GLOBAL(dv) && !SDEV_IS_PERSIST(dv))
527 ASSERT(dv->sdev_attr);
534 ASSERT(RW_WRITE_HELD(&dv->sdev_contents));
535 sdev_vattr_merge(dv, dv->sdev_attr);
536 error = sdev_shadow_node(dv, cr);
541 ASSERT(dv->sdev_attrvp);
543 if (dv->sdev_attr) {
544 kmem_free(dv->sdev_attr, sizeof (struct vattr));
545 dv->sdev_attr = NULL;
547 avp = dv->sdev_attrvp;
565 struct sdev_node *dv = vdv;
567 uid_t owner = dv->sdev_attr->va_uid;
571 if (groupmember(dv->sdev_attr->va_gid, cr) == 0)
575 return (secpolicy_vnode_access2(cr, SDEVTOV(dv), owner,
576 dv->sdev_attr->va_mode << shift, mode));
580 sdev_self_access(sdev_node_t *dv, int mode, int flags, struct cred *cr,
585 ASSERT(dv->sdev_attr || dv->sdev_attrvp);
586 if (dv->sdev_attrvp) {
587 ret = VOP_ACCESS(dv->sdev_attrvp, mode, flags, cr, ct);
588 } else if (dv->sdev_attr) {
589 ret = sdev_unlocked_access(dv, mode, cr);
601 struct sdev_node *dv = VTOSDEV(vp);
604 rw_enter(&dv->sdev_contents, RW_READER);
605 ret = sdev_self_access(dv, mode, flags, cr, ct);
606 rw_exit(&dv->sdev_contents);
769 struct sdev_node *dv = NULL;
797 dv = sdev_cache_lookup(parent, nm);
798 if (dv == NULL) {
803 vp = SDEVTOV(dv);
804 if ((dv->sdev_state == SDEV_INIT) ||
805 (dv->sdev_state == SDEV_ZOMBIE)) {
818 bkstore = SDEV_IS_PERSIST(dv) ? 1 : 0;
831 if (vp->v_type == VDIR && dv->sdev_nlink > 2) {
843 sdev_cache_update(parent, &dv, nm, SDEV_CACHE_DELETE);
1388 struct sdev_node *dv;
1393 dv = VTOSDEV(vp);
1395 if (dv->sdev_attrvp) {
1397 return (VOP_READLINK(dv->sdev_attrvp, uiop, cred, ct));
1398 } else if (dv->sdev_symlink != NULL) {
1400 rw_enter(&dv->sdev_contents, RW_READER);
1401 sdcmn_err2(("sdev_readlink link is %s\n", dv->sdev_symlink));
1402 error = uiomove(dv->sdev_symlink, strlen(dv->sdev_symlink),
1404 rw_exit(&dv->sdev_contents);
1452 struct sdev_node *dv = VTOSDEV(vp);
1464 sdev_fid->sdevfid_ino = dv->sdev_ino;
1514 struct sdev_node *dv = VTOSDEV(vp);
1516 ASSERT(dv);
1517 ASSERT(dv->sdev_attrvp);
1518 error = VOP_FRLOCK(dv->sdev_attrvp, cmd, bfp, flag, offset,