svn commit: r212227 - stable/8/sys/fs/devfs

Konstantin Belousov kib at FreeBSD.org
Sun Sep 5 14:16:35 UTC 2010


Author: kib
Date: Sun Sep  5 14:16:35 2010
New Revision: 212227
URL: http://svn.freebsd.org/changeset/base/212227

Log:
  MFC r210918:
  Initialize VV_ISTTY vnode flag on the devfs vnode creation instead of
  doing it on each open.

Modified:
  stable/8/sys/fs/devfs/devfs_vnops.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/fs/devfs/devfs_vnops.c
==============================================================================
--- stable/8/sys/fs/devfs/devfs_vnops.c	Sun Sep  5 14:02:34 2010	(r212226)
+++ stable/8/sys/fs/devfs/devfs_vnops.c	Sun Sep  5 14:16:35 2010	(r212227)
@@ -337,6 +337,7 @@ devfs_allocv(struct devfs_dirent *de, st
 	struct vnode *vp;
 	struct cdev *dev;
 	struct devfs_mount *dmp;
+	struct cdevsw *dsw;
 
 	dmp = VFSTODEVFS(mp);
 	if (de->de_flags & DE_DOOMED) {
@@ -393,6 +394,10 @@ devfs_allocv(struct devfs_dirent *de, st
 		KASSERT(vp->v_usecount == 1,
 		    ("%s %d (%d)\n", __func__, __LINE__, vp->v_usecount));
 		dev->si_usecount += vp->v_usecount;
+		/* Special casing of ttys for deadfs.  Probably redundant. */
+		dsw = dev->si_devsw;
+		if (dsw != NULL && (dsw->d_flags & D_TTY) != 0)
+			vp->v_vflag |= VV_ISTTY;
 		dev_unlock();
 		VI_UNLOCK(vp);
 		vp->v_op = &devfs_specops;
@@ -964,10 +969,6 @@ devfs_open(struct vop_open_args *ap)
 	if (dsw == NULL)
 		return (ENXIO);
 
-	/* XXX: Special casing of ttys for deadfs.  Probably redundant. */
-	if (dsw->d_flags & D_TTY)
-		vp->v_vflag |= VV_ISTTY;
-
 	VOP_UNLOCK(vp, 0);
 
 	fpop = td->td_fpop;


More information about the svn-src-all mailing list