From owner-svn-src-user@freebsd.org  Mon Mar 20 10:48:12 2017
Return-Path: <owner-svn-src-user@freebsd.org>
Delivered-To: svn-src-user@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 266C3D1325B
 for <svn-src-user@mailman.ysv.freebsd.org>;
 Mon, 20 Mar 2017 10:48:12 +0000 (UTC) (envelope-from pho@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id EACF81C48;
 Mon, 20 Mar 2017 10:48:11 +0000 (UTC) (envelope-from pho@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v2KAmB7I066739;
 Mon, 20 Mar 2017 10:48:11 GMT (envelope-from pho@FreeBSD.org)
Received: (from pho@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id v2KAmB6k066738;
 Mon, 20 Mar 2017 10:48:11 GMT (envelope-from pho@FreeBSD.org)
Message-Id: <201703201048.v2KAmB6k066738@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org
 using -f
From: Peter Holm <pho@FreeBSD.org>
Date: Mon, 20 Mar 2017 10:48:11 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r315632 - user/pho/stress2/misc
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Mar 2017 10:48:12 -0000

Author: pho
Date: Mon Mar 20 10:48:10 2017
New Revision: 315632
URL: https://svnweb.freebsd.org/changeset/base/315632

Log:
  Make sure pty.ko is loaded. While here, cleanup code.
  
  Sponsored by:	Dell EMC Isilon

Modified:
  user/pho/stress2/misc/vnodes.sh

Modified: user/pho/stress2/misc/vnodes.sh
==============================================================================
--- user/pho/stress2/misc/vnodes.sh	Mon Mar 20 09:01:30 2017	(r315631)
+++ user/pho/stress2/misc/vnodes.sh	Mon Mar 20 10:48:10 2017	(r315632)
@@ -34,21 +34,26 @@
 
 . ../default.cfg
 
+kldstat -v | grep -q pty || { kldload pty || exit 0; }
 here=`pwd`
 cd /tmp
 sed '1,/^EOF/d' < $here/$0 > vnodes.c
-mycc -o vnodes -Wall -O2 vnodes.c
+mycc -o vnodes -Wall -Wextra -O2 vnodes.c || exit 1
 rm -f vnodes.c
 
-old=`sysctl vfs.numvnodes | tail -1 | sed 's/.*: //'`
+s=0
+old=`sysctl -n vfs.numvnodes`
 /tmp/vnodes
-new=`sysctl vfs.numvnodes | tail -1 | sed 's/.*: //'`
-[ $((new - old)) -gt 100 ] && echo "FAIL vnode leak"
+new=`sysctl -n vfs.numvnodes`
+[ $((new - old)) -gt 100 ] && { s=1; echo "FAIL vnode leak"; }
 
 rm -f /tmp/vnodes
-exit 0
+exit $s
 EOF
 #include <sys/types.h>
+
+#include <err.h>
+#include <errno.h>
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -66,18 +71,21 @@ void leak(void)
 		for (i = '0'; i < '9'; i ++) {
 			dname[9] = i;
 			fd = open(dname, O_RDWR);
+			if (fd == -1)
+				if (errno != EBUSY && errno != ENXIO)
+					err(1, "open(%s)", dname);
 		}
-		exit(0);
+		_exit(0);
 	}
 	wait(NULL);
 }
 
-int main()
+int main(void)
 {
 	int i;
 
 	for (i = 0 ;i < 100000; i++) {
 		leak();
 	}
-	return 0;
+	return (0);
 }