Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Aug 2013 18:50:48 +0000 (UTC)
From:      Mark Murray <markm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r254732 - in projects/random_number_generator: contrib/libexecinfo contrib/llvm/tools/lldb lib/libc/include lib/libc/net lib/libc/posix1e lib/libc/resolv lib/libexecinfo share/man/man9 ...
Message-ID:  <201308231850.r7NIombv021199@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markm
Date: Fri Aug 23 18:50:47 2013
New Revision: 254732
URL: http://svnweb.freebsd.org/changeset/base/254732

Log:
  IFC

Added:
  projects/random_number_generator/contrib/libexecinfo/
     - copied from r254731, head/contrib/libexecinfo/
  projects/random_number_generator/contrib/llvm/tools/lldb/
     - copied from r254731, head/contrib/llvm/tools/lldb/
  projects/random_number_generator/lib/libexecinfo/
     - copied from r254731, head/lib/libexecinfo/
Modified:
  projects/random_number_generator/lib/libc/include/libc_private.h
  projects/random_number_generator/lib/libc/net/ether_addr.c
  projects/random_number_generator/lib/libc/net/eui64.c
  projects/random_number_generator/lib/libc/net/getaddrinfo.c
  projects/random_number_generator/lib/libc/net/gethostbyht.c
  projects/random_number_generator/lib/libc/net/getnetbyht.c
  projects/random_number_generator/lib/libc/net/getprotoent.c
  projects/random_number_generator/lib/libc/net/getservent.c
  projects/random_number_generator/lib/libc/net/hesiod.c
  projects/random_number_generator/lib/libc/net/nsdispatch.c
  projects/random_number_generator/lib/libc/net/rcmd.c
  projects/random_number_generator/lib/libc/posix1e/mac.c
  projects/random_number_generator/lib/libc/resolv/res_init.c
  projects/random_number_generator/lib/libc/resolv/res_query.c
  projects/random_number_generator/share/man/man9/timeout.9
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/random_number_generator/sys/cddl/dev/fbt/fbt.c
  projects/random_number_generator/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c
  projects/random_number_generator/sys/dev/cxgbe/t4_sge.c
  projects/random_number_generator/sys/dev/mmc/mmc.c
  projects/random_number_generator/sys/kern/uipc_socket.c
  projects/random_number_generator/sys/kern/uipc_syscalls.c
  projects/random_number_generator/sys/kern/vfs_cluster.c
  projects/random_number_generator/sys/mips/atheros/if_arge.c
  projects/random_number_generator/sys/mips/conf/DIR-825.hints
  projects/random_number_generator/sys/sys/callout.h
  projects/random_number_generator/sys/vm/vm_page.c
  projects/random_number_generator/sys/vm/vm_radix.c
  projects/random_number_generator/sys/vm/vm_radix.h
  projects/random_number_generator/usr.sbin/rtadvd/config.c
Directory Properties:
  projects/random_number_generator/   (props changed)
  projects/random_number_generator/contrib/llvm/   (props changed)
  projects/random_number_generator/lib/libc/   (props changed)
  projects/random_number_generator/sys/   (props changed)
  projects/random_number_generator/sys/cddl/contrib/opensolaris/   (props changed)
  projects/random_number_generator/usr.sbin/rtadvd/   (props changed)

Modified: projects/random_number_generator/lib/libc/include/libc_private.h
==============================================================================
--- projects/random_number_generator/lib/libc/include/libc_private.h	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/include/libc_private.h	Fri Aug 23 18:50:47 2013	(r254732)
@@ -83,7 +83,7 @@ void _rtld_error(const char *fmt, ...);
 #define	FUNLOCKFILE(fp)		if (__isthreaded) _funlockfile(fp)
 
 struct _spinlock;
-extern struct _spinlock __stdio_thread_lock;
+extern struct _spinlock __stdio_thread_lock __hidden;
 #define STDIO_THREAD_LOCK()				\
 do {							\
 	if (__isthreaded)				\
@@ -218,7 +218,7 @@ void _malloc_postfork(void);
 /*
  * Function to clean up streams, called from abort() and exit().
  */
-extern void (*__cleanup)(void);
+extern void (*__cleanup)(void) __hidden;
 
 /*
  * Get kern.osreldate to detect ABI revisions.  Explicitly

Modified: projects/random_number_generator/lib/libc/net/ether_addr.c
==============================================================================
--- projects/random_number_generator/lib/libc/net/ether_addr.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/net/ether_addr.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -148,7 +148,7 @@ ether_ntohost(char *hostname, const stru
 	char *yp_domain;
 #endif
 
-	if ((fp = fopen(_PATH_ETHERS, "r")) == NULL)
+	if ((fp = fopen(_PATH_ETHERS, "re")) == NULL)
 		return (1);
 	while (fgets(buf,BUFSIZ,fp)) {
 		if (buf[0] == '#')
@@ -197,7 +197,7 @@ ether_hostton(const char *hostname, stru
 	char *yp_domain;
 #endif
 
-	if ((fp = fopen(_PATH_ETHERS, "r")) == NULL)
+	if ((fp = fopen(_PATH_ETHERS, "re")) == NULL)
 		return (1);
 	while (fgets(buf,BUFSIZ,fp)) {
 		if (buf[0] == '#')

Modified: projects/random_number_generator/lib/libc/net/eui64.c
==============================================================================
--- projects/random_number_generator/lib/libc/net/eui64.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/net/eui64.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -227,7 +227,7 @@ eui64_ntohost(char *hostname, size_t len
 	char eui64_a[24];
 	char *yp_domain;
 #endif
-	if ((fp = fopen(_PATH_EUI64, "r")) == NULL)
+	if ((fp = fopen(_PATH_EUI64, "re")) == NULL)
 		return (1);
 
 	while (fgets(buf,BUFSIZ,fp)) {
@@ -277,7 +277,7 @@ eui64_hostton(const char *hostname, stru
 	int resultlen;
 	char *yp_domain;
 #endif
-	if ((fp = fopen(_PATH_EUI64, "r")) == NULL)
+	if ((fp = fopen(_PATH_EUI64, "re")) == NULL)
 		return (1);
 
 	while (fgets(buf,BUFSIZ,fp)) {

Modified: projects/random_number_generator/lib/libc/net/getaddrinfo.c
==============================================================================
--- projects/random_number_generator/lib/libc/net/getaddrinfo.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/net/getaddrinfo.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -2240,7 +2240,7 @@ static void
 _sethtent(FILE **hostf)
 {
 	if (!*hostf)
-		*hostf = fopen(_PATH_HOSTS, "r");
+		*hostf = fopen(_PATH_HOSTS, "re");
 	else
 		rewind(*hostf);
 }
@@ -2264,7 +2264,7 @@ _gethtent(FILE **hostf, const char *name
 	const char *addr;
 	char hostbuf[8*1024];
 
-	if (!*hostf && !(*hostf = fopen(_PATH_HOSTS, "r")))
+	if (!*hostf && !(*hostf = fopen(_PATH_HOSTS, "re")))
 		return (NULL);
 again:
 	if (!(p = fgets(hostbuf, sizeof hostbuf, *hostf)))

Modified: projects/random_number_generator/lib/libc/net/gethostbyht.c
==============================================================================
--- projects/random_number_generator/lib/libc/net/gethostbyht.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/net/gethostbyht.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -72,7 +72,7 @@ void
 _sethosthtent(int f, struct hostent_data *hed)
 {
 	if (!hed->hostf)
-		hed->hostf = fopen(_PATH_HOSTS, "r");
+		hed->hostf = fopen(_PATH_HOSTS, "re");
 	else
 		rewind(hed->hostf);
 	hed->stayopen = f;
@@ -96,7 +96,7 @@ gethostent_p(struct hostent *he, struct 
 	int af, len;
 	char hostbuf[BUFSIZ + 1];
 
-	if (!hed->hostf && !(hed->hostf = fopen(_PATH_HOSTS, "r"))) {
+	if (!hed->hostf && !(hed->hostf = fopen(_PATH_HOSTS, "re"))) {
 		RES_SET_H_ERRNO(statp, NETDB_INTERNAL);
 		return (-1);
 	}

Modified: projects/random_number_generator/lib/libc/net/getnetbyht.c
==============================================================================
--- projects/random_number_generator/lib/libc/net/getnetbyht.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/net/getnetbyht.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -63,7 +63,7 @@ _setnethtent(int f, struct netent_data *
 {
 
 	if (ned->netf == NULL)
-		ned->netf = fopen(_PATH_NETWORKS, "r");
+		ned->netf = fopen(_PATH_NETWORKS, "re");
 	else
 		rewind(ned->netf);
 	ned->stayopen |= f;
@@ -89,7 +89,7 @@ getnetent_p(struct netent *ne, struct ne
 	char line[BUFSIZ + 1];
 
 	if (ned->netf == NULL &&
-	    (ned->netf = fopen(_PATH_NETWORKS, "r")) == NULL)
+	    (ned->netf = fopen(_PATH_NETWORKS, "re")) == NULL)
 		return (-1);
 again:
 	p = fgets(line, sizeof line, ned->netf);

Modified: projects/random_number_generator/lib/libc/net/getprotoent.c
==============================================================================
--- projects/random_number_generator/lib/libc/net/getprotoent.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/net/getprotoent.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -342,7 +342,7 @@ void
 __setprotoent_p(int f, struct protoent_data *ped)
 {
 	if (ped->fp == NULL)
-		ped->fp = fopen(_PATH_PROTOCOLS, "r");
+		ped->fp = fopen(_PATH_PROTOCOLS, "re");
 	else
 		rewind(ped->fp);
 	ped->stayopen |= f;
@@ -365,7 +365,7 @@ __getprotoent_p(struct protoent *pe, str
 	char *cp, **q, *endp;
 	long l;
 
-	if (ped->fp == NULL && (ped->fp = fopen(_PATH_PROTOCOLS, "r")) == NULL)
+	if (ped->fp == NULL && (ped->fp = fopen(_PATH_PROTOCOLS, "re")) == NULL)
 		return (-1);
 again:
 	if ((p = fgets(ped->line, sizeof ped->line, ped->fp)) == NULL)

Modified: projects/random_number_generator/lib/libc/net/getservent.c
==============================================================================
--- projects/random_number_generator/lib/libc/net/getservent.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/net/getservent.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -335,7 +335,7 @@ files_servent(void *retval, void *mdata,
 	if (st->fp == NULL)
 		st->compat_mode_active = 0;
 
-	if (st->fp == NULL && (st->fp = fopen(_PATH_SERVICES, "r")) == NULL) {
+	if (st->fp == NULL && (st->fp = fopen(_PATH_SERVICES, "re")) == NULL) {
 		*errnop = errno;
 		return (NS_UNAVAIL);
 	}
@@ -449,7 +449,7 @@ files_setservent(void *retval, void *mda
 	case SETSERVENT:
 		f = va_arg(ap,int);
 		if (st->fp == NULL)
-			st->fp = fopen(_PATH_SERVICES, "r");
+			st->fp = fopen(_PATH_SERVICES, "re");
 		else
 			rewind(st->fp);
 		st->stayopen |= f;

Modified: projects/random_number_generator/lib/libc/net/hesiod.c
==============================================================================
--- projects/random_number_generator/lib/libc/net/hesiod.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/net/hesiod.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -286,7 +286,7 @@ read_config_file(ctx, filename)
 	ctx->classes[1] = C_HS;
 
 		/* Try to open the configuration file. */
-	fp = fopen(filename, "r");
+	fp = fopen(filename, "re");
 	if (!fp) {
 		/* Use compiled in default domain names. */
 		ctx->lhs = strdup(DEF_LHS);

Modified: projects/random_number_generator/lib/libc/net/nsdispatch.c
==============================================================================
--- projects/random_number_generator/lib/libc/net/nsdispatch.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/net/nsdispatch.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -361,7 +361,7 @@ nss_configure(void)
 	    if (result != 0)
 		    goto fin2;
 	}
-	_nsyyin = fopen(path, "r");
+	_nsyyin = fopen(path, "re");
 	if (_nsyyin == NULL)
 		goto fin;
 	VECTOR_FREE(_nsmap, &_nsmapsize, sizeof(*_nsmap),

Modified: projects/random_number_generator/lib/libc/net/rcmd.c
==============================================================================
--- projects/random_number_generator/lib/libc/net/rcmd.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/net/rcmd.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -458,7 +458,7 @@ iruserok_sa(ra, rlen, superuser, ruser, 
 	raddr = (struct sockaddr *)&ss;
 
 	first = 1;
-	hostf = superuser ? NULL : fopen(_PATH_HEQUIV, "r");
+	hostf = superuser ? NULL : fopen(_PATH_HEQUIV, "re");
 again:
 	if (hostf) {
 		if (__ivaliduser_sa(hostf, raddr, rlen, luser, ruser) == 0) {
@@ -481,7 +481,7 @@ again:
 		 */
 		uid = geteuid();
 		(void)seteuid(pwd->pw_uid);
-		hostf = fopen(pbuf, "r");
+		hostf = fopen(pbuf, "re");
 		(void)seteuid(uid);
 
 		if (hostf == NULL)

Modified: projects/random_number_generator/lib/libc/posix1e/mac.c
==============================================================================
--- projects/random_number_generator/lib/libc/posix1e/mac.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/posix1e/mac.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -179,7 +179,7 @@ mac_init_internal(int ignore_errors)
 		filename = getenv("MAC_CONFFILE");
 	else
 		filename = MAC_CONFFILE;
-	file = fopen(filename, "r");
+	file = fopen(filename, "re");
 	if (file == NULL)
 		return (0);
 

Modified: projects/random_number_generator/lib/libc/resolv/res_init.c
==============================================================================
--- projects/random_number_generator/lib/libc/resolv/res_init.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/resolv/res_init.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -304,7 +304,7 @@ __res_vinit(res_state statp, int preinit
 	 line[sizeof(name) - 1] == '\t'))
 
 	nserv = 0;
-	if ((fp = fopen(_PATH_RESCONF, "r")) != NULL) {
+	if ((fp = fopen(_PATH_RESCONF, "re")) != NULL) {
 	    /* read the config file */
 	    while (fgets(buf, sizeof(buf), fp) != NULL) {
 		/* skip comments */

Modified: projects/random_number_generator/lib/libc/resolv/res_query.c
==============================================================================
--- projects/random_number_generator/lib/libc/resolv/res_query.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/lib/libc/resolv/res_query.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -457,7 +457,7 @@ res_hostalias(const res_state statp, con
 	if (issetugid())
 		return (NULL);
 	file = getenv("HOSTALIASES");
-	if (file == NULL || (fp = fopen(file, "r")) == NULL)
+	if (file == NULL || (fp = fopen(file, "re")) == NULL)
 		return (NULL);
 	setbuf(fp, NULL);
 	buf[sizeof(buf) - 1] = '\0';

Modified: projects/random_number_generator/share/man/man9/timeout.9
==============================================================================
--- projects/random_number_generator/share/man/man9/timeout.9	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/share/man/man9/timeout.9	Fri Aug 23 18:50:47 2013	(r254732)
@@ -29,7 +29,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd February 19, 2013
+.Dd August 23, 2013
 .Dt TIMEOUT 9
 .Os
 .Sh NAME
@@ -38,6 +38,7 @@
 .Nm callout_handle_init ,
 .Nm callout_init ,
 .Nm callout_init_mtx ,
+.Nm callout_init_rm ,
 .Nm callout_init_rw ,
 .Nm callout_stop ,
 .Nm callout_drain ,
@@ -73,6 +74,8 @@ struct callout_handle handle = CALLOUT_H
 .Fn callout_init "struct callout *c" "int mpsafe"
 .Ft void
 .Fn callout_init_mtx "struct callout *c" "struct mtx *mtx" "int flags"
+.Fn void
+.Fn callout_init_rm "struct callout *c" "struct rmlock *rm" "int flags"
 .Ft void
 .Fn callout_init_rw "struct callout *c" "struct rwlock *rw" "int flags"
 .Ft int
@@ -203,6 +206,7 @@ Thus they are protected from re-entrancy
 The functions
 .Fn callout_init ,
 .Fn callout_init_mtx ,
+.Fn callout_init_rm ,
 .Fn callout_init_rw ,
 .Fn callout_stop ,
 .Fn callout_drain ,
@@ -252,15 +256,25 @@ after the callout function returns.
 .Pp
 The
 .Fn callout_init_rw
-function serves the need of using rwlocks in conjunction with callouts.
-The function does basically the same as
-.Fn callout_init_mtx
+and the 
+.Fn callout_init_rm
+fuctions serve the need of using rwlocks and rmlocks in conjunction
+with callouts.
+The functions do the same as
+.Fn callout_init
 with the possibility of specifying an extra
 .Fa rw
+or
+.Fa rm
 argument.
-The usable lock classes are currently limited to mutexes and rwlocks,
-because callout handlers run in softclock swi, so they cannot sleep nor
-acquire sleepable locks like sx or lockmgr.
+If an
+.Fa rm
+argument is specified, the lock should be created without passing the
+.Dv RM_SLEEPABLE
+flag.
+The usable lock classes are currently limited to mutexes, rwlocks and
+non-sleepable rmlocks, because callout handlers run in softclock swi,
+so they cannot sleep nor acquire sleepable locks like sx or lockmgr.
 The following
 .Fa flags
 may be specified:

Modified: projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h
==============================================================================
--- projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h	Fri Aug 23 18:50:47 2013	(r254732)
@@ -156,7 +156,6 @@ extern int zfs_set_version(zfsvfs_t *zfs
 extern int zfsvfs_create(const char *name, zfsvfs_t **zfvp);
 extern void zfsvfs_free(zfsvfs_t *zfsvfs);
 extern int zfs_check_global_label(const char *dsname, const char *hexsl);
-extern int zfs_vnode_lock(vnode_t *vp, int flags);
 
 #ifdef _KERNEL
 extern void zfsvfs_update_fromname(const char *oldname, const char *newname);

Modified: projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==============================================================================
--- projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -1828,6 +1828,7 @@ zfs_ioc_vdev_add(zfs_cmd_t *zc)
 	(void) nvlist_lookup_nvlist_array(config, ZPOOL_CONFIG_SPARES,
 	    &spares, &nspares);
 
+#ifdef illumos
 	/*
 	 * A root pool with concatenated devices is not supported.
 	 * Thus, can not add a device to a root pool.
@@ -1843,6 +1844,7 @@ zfs_ioc_vdev_add(zfs_cmd_t *zc)
 		spa_close(spa, FTAG);
 		return (SET_ERROR(EDOM));
 	}
+#endif /* illumos */
 
 	if (error == 0) {
 		error = spa_vdev_add(spa, config);

Modified: projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
==============================================================================
--- projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -1796,15 +1796,6 @@ zfs_statfs(vfs_t *vfsp, struct statfs *s
 	return (0);
 }
 
-int
-zfs_vnode_lock(vnode_t *vp, int flags)
-{
-
-	ASSERT(vp != NULL);
-
-	return (vn_lock(vp, flags));
-}
-
 static int
 zfs_root(vfs_t *vfsp, int flags, vnode_t **vpp)
 {
@@ -1821,7 +1812,7 @@ zfs_root(vfs_t *vfsp, int flags, vnode_t
 	ZFS_EXIT(zfsvfs);
 
 	if (error == 0) {
-		error = zfs_vnode_lock(*vpp, flags);
+		error = vn_lock(*vpp, flags);
 		if (error == 0)
 			(*vpp)->v_vflag |= VV_ROOT;
 	}
@@ -2082,7 +2073,7 @@ zfs_vget(vfs_t *vfsp, ino_t ino, int fla
 		*vpp = ZTOV(zp);
 	ZFS_EXIT(zfsvfs);
 	if (err == 0)
-		err = zfs_vnode_lock(*vpp, flags);
+		err = vn_lock(*vpp, flags);
 	if (err != 0)
 		*vpp = NULL;
 	else
@@ -2181,7 +2172,7 @@ zfs_fhtovp(vfs_t *vfsp, fid_t *fidp, int
 			VN_HOLD(*vpp);
 		}
 		ZFS_EXIT(zfsvfs);
-		err = zfs_vnode_lock(*vpp, flags);
+		err = vn_lock(*vpp, flags);
 		if (err != 0)
 			*vpp = NULL;
 		return (err);
@@ -2208,7 +2199,7 @@ zfs_fhtovp(vfs_t *vfsp, fid_t *fidp, int
 
 	*vpp = ZTOV(zp);
 	ZFS_EXIT(zfsvfs);
-	err = zfs_vnode_lock(*vpp, flags | LK_RETRY);
+	err = vn_lock(*vpp, flags | LK_RETRY);
 	if (err == 0)
 		vnode_create_vobject(*vpp, zp->z_size, curthread);
 	else

Modified: projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -1526,7 +1526,7 @@ zfs_lookup(vnode_t *dvp, char *nm, vnode
 			VOP_UNLOCK(dvp, 0);
 		}
 		ZFS_EXIT(zfsvfs);
-		error = zfs_vnode_lock(*vpp, cnp->cn_lkflags);
+		error = vn_lock(*vpp, cnp->cn_lkflags);
 		if (cnp->cn_flags & ISDOTDOT)
 			vn_lock(dvp, ltype | LK_RETRY);
 		if (error != 0) {

Modified: projects/random_number_generator/sys/cddl/dev/fbt/fbt.c
==============================================================================
--- projects/random_number_generator/sys/cddl/dev/fbt/fbt.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/cddl/dev/fbt/fbt.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -574,7 +574,6 @@ static int
 fbt_ctfoff_init(modctl_t *lf, linker_ctf_t *lc)
 {
 	const Elf_Sym *symp = lc->symtab;;
-	const char *name;
 	const ctf_header_t *hp = (const ctf_header_t *) lc->ctftab;
 	const uint8_t *ctfdata = lc->ctftab + sizeof(ctf_header_t);
 	int i;
@@ -606,11 +605,6 @@ fbt_ctfoff_init(modctl_t *lf, linker_ctf
 			continue;
 		}
 
-		if (symp->st_name < lc->strcnt)
-			name = lc->strtab + symp->st_name;
-		else
-			name = "(?)";
-
 		switch (ELF_ST_TYPE(symp->st_info)) {
 		case STT_OBJECT:
 			if (objtoff >= hp->cth_funcoff ||

Modified: projects/random_number_generator/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c
==============================================================================
--- projects/random_number_generator/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -1097,9 +1097,8 @@ out:
 	 * If free is 1, then we've disassociated the EP from the QP
 	 * and we need to dereference the EP.
 	 */
-	if (free) 
+	if (free)
 		put_ep(&ep->com);
-	
 
 	CTR2(KTR_IW_CXGB, "%s exit state %d", __FUNCTION__, qhp->attr.state);
 	return ret;

Modified: projects/random_number_generator/sys/dev/cxgbe/t4_sge.c
==============================================================================
--- projects/random_number_generator/sys/dev/cxgbe/t4_sge.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/dev/cxgbe/t4_sge.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -1802,9 +1802,7 @@ alloc_iq_fl(struct port_info *pi, struct
 
 		/* Allocate space for one software descriptor per buffer. */
 		fl->cap = (fl->qsize - spg_len / RX_FL_ESIZE) * 8;
-		FL_LOCK(fl);
 		rc = alloc_fl_sdesc(fl);
-		FL_UNLOCK(fl);
 		if (rc != 0) {
 			device_printf(sc->dev,
 			    "failed to setup fl software descriptors: %d\n",
@@ -1937,11 +1935,8 @@ free_iq_fl(struct port_info *pi, struct 
 		free_ring(sc, fl->desc_tag, fl->desc_map, fl->ba,
 		    fl->desc);
 
-		if (fl->sdesc) {
-			FL_LOCK(fl);
+		if (fl->sdesc)
 			free_fl_sdesc(fl);
-			FL_UNLOCK(fl);
-		}
 
 		if (mtx_initialized(&fl->fl_lock))
 			mtx_destroy(&fl->fl_lock);
@@ -2788,8 +2783,6 @@ alloc_fl_sdesc(struct sge_fl *fl)
 	bus_dma_tag_t tag;
 	int i, rc;
 
-	FL_LOCK_ASSERT_OWNED(fl);
-
 	fl->sdesc = malloc(fl->cap * sizeof(struct fl_sdesc), M_CXGBE,
 	    M_ZERO | M_WAITOK);
 
@@ -2828,8 +2821,6 @@ free_fl_sdesc(struct sge_fl *fl)
 	struct fl_sdesc *sd;
 	int i;
 
-	FL_LOCK_ASSERT_OWNED(fl);
-
 	sd = fl->sdesc;
 	for (i = 0; i < fl->cap; i++, sd++) {
 

Modified: projects/random_number_generator/sys/dev/mmc/mmc.c
==============================================================================
--- projects/random_number_generator/sys/dev/mmc/mmc.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/dev/mmc/mmc.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -106,7 +106,7 @@ struct mmc_ivars {
 
 #define CMD_RETRIES	3
 
-#define	CARD_ID_FREQUENCY 400000 /* Spec requires 400KHz max during ID phase. */
+#define	CARD_ID_FREQUENCY 400000 /* Spec requires 400kHz max during ID phase. */
 
 static SYSCTL_NODE(_hw, OID_AUTO, mmc, CTLFLAG_RD, NULL, "mmc driver");
 
@@ -447,8 +447,8 @@ mmc_wait_for_app_cmd(struct mmc_softc *s
 			err = appcmd.error;
 		if (err == MMC_ERR_NONE) {
 			if (!(appcmd.resp[0] & R1_APP_CMD))
-				return MMC_ERR_FAILED; /* Retries won't help. */
-			if (mmc_wait_for_cmd(sc, cmd, 0) != 0)
+				err = MMC_ERR_FAILED;
+			else if (mmc_wait_for_cmd(sc, cmd, 0) != 0)
 				err = MMC_ERR_FAILED;
 			else
 				err = cmd->error;

Modified: projects/random_number_generator/sys/kern/uipc_socket.c
==============================================================================
--- projects/random_number_generator/sys/kern/uipc_socket.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/kern/uipc_socket.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -2699,21 +2699,16 @@ sosetopt(struct socket *so, struct socko
 			if (error)
 				goto bad;
 
-			/* assert(hz > 0); */
 			if (tv.tv_sec < 0 || tv.tv_sec > INT_MAX / hz ||
 			    tv.tv_usec < 0 || tv.tv_usec >= 1000000) {
 				error = EDOM;
 				goto bad;
 			}
-			/* assert(tick > 0); */
-			/* assert(ULONG_MAX - INT_MAX >= 1000000); */
-			val = (u_long)(tv.tv_sec * hz) + tv.tv_usec / tick;
-			if (val > INT_MAX) {
+			val = tvtohz(&tv);
+			if (val == INT_MAX) {
 				error = EDOM;
 				goto bad;
 			}
-			if (val == 0 && tv.tv_usec != 0)
-				val = 1;
 
 			switch (sopt->sopt_name) {
 			case SO_SNDTIMEO:

Modified: projects/random_number_generator/sys/kern/uipc_syscalls.c
==============================================================================
--- projects/random_number_generator/sys/kern/uipc_syscalls.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/kern/uipc_syscalls.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -2230,7 +2230,8 @@ retry_space:
 			pindex = OFF_TO_IDX(off);
 			VM_OBJECT_WLOCK(obj);
 			pg = vm_page_grab(obj, pindex, VM_ALLOC_NOBUSY |
-			    VM_ALLOC_NORMAL | VM_ALLOC_WIRED);
+			    VM_ALLOC_IGN_SBUSY | VM_ALLOC_NORMAL |
+			    VM_ALLOC_WIRED);
 
 			/*
 			 * Check if page is valid for what we need,

Modified: projects/random_number_generator/sys/kern/vfs_cluster.c
==============================================================================
--- projects/random_number_generator/sys/kern/vfs_cluster.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/kern/vfs_cluster.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -961,7 +961,7 @@ cluster_wbuild(struct vnode *vp, long si
 				VM_OBJECT_WLOCK(tbp->b_bufobj->bo_object);
 				if (i == 0) {
 					vfs_drain_busy_pages(tbp);
-				} else  { /* if not first buffer */
+				} else { /* if not first buffer */
 					for (j = 0; j < tbp->b_npages; j += 1) {
 						m = tbp->b_pages[j];
 						if (vm_page_xbusied(m)) {

Modified: projects/random_number_generator/sys/mips/atheros/if_arge.c
==============================================================================
--- projects/random_number_generator/sys/mips/atheros/if_arge.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/mips/atheros/if_arge.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -371,6 +371,7 @@ arge_attach(device_t dev)
 	uint32_t		hint;
 	long			eeprom_mac_addr = 0;
 	int			miicfg = 0;
+	int			readascii = 0;
 
 	sc = device_get_softc(dev);
 	sc->arge_dev = dev;
@@ -384,16 +385,28 @@ arge_attach(device_t dev)
 	 * Since multiple units seem to use this feature, include
 	 * a method of setting the MAC address based on an flash location
 	 * in CPU address space.
+	 *
+	 * Some vendors have decided to store the mac address as a literal
+	 * string of 18 characters in xx:xx:xx:xx:xx:xx format instead of
+	 * an array of numbers.  Expose a hint to turn on this conversion
+	 * feature via strtol()
 	 */
-	if (sc->arge_mac_unit == 0 &&
-	    resource_long_value(device_get_name(dev), device_get_unit(dev),
+	 if (resource_long_value(device_get_name(dev), device_get_unit(dev),
 	    "eeprommac", &eeprom_mac_addr) == 0) {
 		int i;
 		const char *mac =
 		    (const char *) MIPS_PHYS_TO_KSEG1(eeprom_mac_addr);
 		device_printf(dev, "Overriding MAC from EEPROM\n");
-		for (i = 0; i < 6; i++) {
-			ar711_base_mac[i] = mac[i];
+		if (resource_int_value(device_get_name(dev), device_get_unit(dev),
+			"readascii", &readascii) == 0) {
+			device_printf(dev, "Vendor stores MAC in ASCII format\n");
+			for (i = 0; i < 6; i++) {
+				ar711_base_mac[i] = strtol(&(mac[i*3]), NULL, 16);
+			}
+		} else {
+			for (i = 0; i < 6; i++) {
+				ar711_base_mac[i] = mac[i];
+			}
 		}
 	}
 

Modified: projects/random_number_generator/sys/mips/conf/DIR-825.hints
==============================================================================
--- projects/random_number_generator/sys/mips/conf/DIR-825.hints	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/mips/conf/DIR-825.hints	Fri Aug 23 18:50:47 2013	(r254732)
@@ -6,13 +6,14 @@
 hint.arge.0.phymask=0x0
 hint.arge.0.media=1000
 hint.arge.0.fduplex=1
-
-# XXX grab these from uboot?
-# hint.arge.0.eeprommac=0x1f01fc00
+hint.arge.0.eeprommac=0x1f66ffa0
+hint.arge.0.readascii=1
 
 hint.arge.1.phymask=0x0
 hint.arge.1.media=1000
 hint.arge.1.fduplex=1
+hint.arge.1.eeprommac=0x1f66ffb4
+hint.arge.1.readascii=1
 
 # ath0 - slot 17
 hint.pcib.0.bus.0.17.0.ath_fixup_addr=0x1f661000

Modified: projects/random_number_generator/sys/sys/callout.h
==============================================================================
--- projects/random_number_generator/sys/sys/callout.h	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/sys/callout.h	Fri Aug 23 18:50:47 2013	(r254732)
@@ -71,6 +71,9 @@ void	_callout_init_lock(struct callout *
 #define	callout_init_mtx(c, mtx, flags)					\
 	_callout_init_lock((c), ((mtx) != NULL) ? &(mtx)->lock_object :	\
 	    NULL, (flags))
+#define	callout_init_rm(c, rm, flags)					\
+	_callout_init_lock((c), ((rm != NULL) ? &(rm)->lock_object : 	\
+	    NULL, (flags))
 #define	callout_init_rw(c, rw, flags)					\
 	_callout_init_lock((c), ((rw) != NULL) ? &(rw)->lock_object :	\
 	   NULL, (flags))

Modified: projects/random_number_generator/sys/vm/vm_page.c
==============================================================================
--- projects/random_number_generator/sys/vm/vm_page.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/vm/vm_page.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -2558,6 +2558,15 @@ vm_page_cache(vm_page_t m)
 		vm_page_free(m);
 		return;
 	}
+
+	/*
+	 * The above call to vm_radix_insert() could reclaim the one pre-
+	 * existing cached page from this object, resulting in a call to
+	 * vdrop().
+	 */
+	if (!cache_was_empty)
+		cache_was_empty = vm_radix_is_singleton(&object->cache);
+
 	m->flags |= PG_CACHED;
 	cnt.v_cache_count++;
 	PCPU_INC(cnt.v_tcached);

Modified: projects/random_number_generator/sys/vm/vm_radix.c
==============================================================================
--- projects/random_number_generator/sys/vm/vm_radix.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/vm/vm_radix.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -432,6 +432,21 @@ restart:
 }
 
 /*
+ * Returns TRUE if the specified radix tree contains a single leaf and FALSE
+ * otherwise.
+ */
+boolean_t
+vm_radix_is_singleton(struct vm_radix *rtree)
+{
+	struct vm_radix_node *rnode;
+
+	rnode = vm_radix_getroot(rtree);
+	if (rnode == NULL)
+		return (FALSE);
+	return (vm_radix_isleaf(rnode));
+}
+
+/*
  * Returns the value stored at the index.  If the index is not present,
  * NULL is returned.
  */

Modified: projects/random_number_generator/sys/vm/vm_radix.h
==============================================================================
--- projects/random_number_generator/sys/vm/vm_radix.h	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/sys/vm/vm_radix.h	Fri Aug 23 18:50:47 2013	(r254732)
@@ -37,6 +37,7 @@
 
 void		vm_radix_init(void);
 int		vm_radix_insert(struct vm_radix *rtree, vm_page_t page);
+boolean_t	vm_radix_is_singleton(struct vm_radix *rtree);
 vm_page_t	vm_radix_lookup(struct vm_radix *rtree, vm_pindex_t index);
 vm_page_t	vm_radix_lookup_ge(struct vm_radix *rtree, vm_pindex_t index);
 vm_page_t	vm_radix_lookup_le(struct vm_radix *rtree, vm_pindex_t index);

Modified: projects/random_number_generator/usr.sbin/rtadvd/config.c
==============================================================================
--- projects/random_number_generator/usr.sbin/rtadvd/config.c	Fri Aug 23 18:45:39 2013	(r254731)
+++ projects/random_number_generator/usr.sbin/rtadvd/config.c	Fri Aug 23 18:50:47 2013	(r254732)
@@ -1125,9 +1125,9 @@ add_prefix(struct rainfo *rai, struct in
 	pfx->pfx_onlinkflg = ipr->ipr_raf_onlink;
 	pfx->pfx_autoconfflg = ipr->ipr_raf_auto;
 	pfx->pfx_origin = PREFIX_FROM_DYNAMIC;
+	pfx->pfx_rainfo = rai;
 
 	TAILQ_INSERT_TAIL(&rai->rai_prefix, pfx, pfx_next);
-	pfx->pfx_rainfo = rai;
 
 	syslog(LOG_DEBUG, "<%s> new prefix %s/%d was added on %s",
 	    __func__,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308231850.r7NIombv021199>