Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Nov 2013 09:22:05 +0000 (UTC)
From:      Mark Murray <markm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r257912 - in projects/random_number_generator: . bin/pkill contrib/smbfs/lib/smb lib/libc/string share/dict sys/dev/nand sys/fs/nfs sys/fs/nfsclient sys/ia64/ia64 sys/kern sys/sys sys/v...
Message-ID:  <201311100922.rAA9M5Rk098124@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markm
Date: Sun Nov 10 09:22:05 2013
New Revision: 257912
URL: http://svnweb.freebsd.org/changeset/base/257912

Log:
  MFC - Tracking commit.

Modified:
  projects/random_number_generator/MAINTAINERS   (contents, props changed)
  projects/random_number_generator/bin/pkill/pkill.c
  projects/random_number_generator/contrib/smbfs/lib/smb/nls.c
  projects/random_number_generator/lib/libc/string/strcasecmp.3
  projects/random_number_generator/share/dict/README
  projects/random_number_generator/sys/dev/nand/nand.h
  projects/random_number_generator/sys/dev/nand/nand_generic.c
  projects/random_number_generator/sys/dev/nand/nand_id.c
  projects/random_number_generator/sys/fs/nfs/nfs_commonsubs.c
  projects/random_number_generator/sys/fs/nfs/nfs_var.h
  projects/random_number_generator/sys/fs/nfsclient/nfs_clcomsubs.c
  projects/random_number_generator/sys/ia64/ia64/mp_machdep.c
  projects/random_number_generator/sys/kern/vfs_lookup.c
  projects/random_number_generator/sys/kern/vfs_vnops.c
  projects/random_number_generator/sys/kern/vnode_if.src
  projects/random_number_generator/sys/sys/mount.h
  projects/random_number_generator/sys/vm/vm_pageout.c
  projects/random_number_generator/sys/x86/iommu/intel_drv.c
  projects/random_number_generator/sys/x86/iommu/intel_fault.c
  projects/random_number_generator/sys/x86/iommu/intel_idpgtbl.c
  projects/random_number_generator/tools/tools/netmap/pkt-gen.c
  projects/random_number_generator/usr.sbin/mount_smbfs/Makefile
Directory Properties:
  projects/random_number_generator/   (props changed)
  projects/random_number_generator/gnu/lib/   (props changed)
  projects/random_number_generator/lib/libc/   (props changed)
  projects/random_number_generator/sys/   (props changed)

Modified: projects/random_number_generator/MAINTAINERS
==============================================================================
--- projects/random_number_generator/MAINTAINERS	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/MAINTAINERS	Sun Nov 10 09:22:05 2013	(r257912)
@@ -99,7 +99,6 @@ nfs		alfred	Will be happy to review code
 rpc.lockd	alfred	Will be happy to review code, but not mandatory.
 truss		alfred	Will be happy to review code, but not mandatory.
 rpc		alfred	Pre-commit review requested.
-pkg_install	portmgr	Pre-commit review or approval from portmgr@ requested.
 linux emul	emulation	Please discuss changes here.
 bs{diff,patch}	cperciva	Pre-commit review requested.
 portsnap	cperciva	Pre-commit review requested.

Modified: projects/random_number_generator/bin/pkill/pkill.c
==============================================================================
--- projects/random_number_generator/bin/pkill/pkill.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/bin/pkill/pkill.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -318,7 +318,10 @@ main(int argc, char **argv)
 	 * Use KERN_PROC_PROC instead of KERN_PROC_ALL, since we
 	 * just want processes and not individual kernel threads.
 	 */
-	plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc);
+	if (pidfromfile >= 0)
+		plist = kvm_getprocs(kd, KERN_PROC_PID, pidfromfile, &nproc);
+	else
+		plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc);
 	if (plist == NULL) {
 		errx(STATUS_ERROR, "Cannot get process list (%s)",
 		    kvm_geterr(kd));

Modified: projects/random_number_generator/contrib/smbfs/lib/smb/nls.c
==============================================================================
--- projects/random_number_generator/contrib/smbfs/lib/smb/nls.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/contrib/smbfs/lib/smb/nls.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -36,12 +36,9 @@
 __FBSDID("$FreeBSD$");
 
 #include <sys/types.h>
-#include <sys/iconv.h>
+#include <iconv.h>
 #include <sys/sysctl.h>
 #include <ctype.h>
-#ifndef APPLE
-#include <dlfcn.h>
-#endif
 #include <errno.h>
 #include <stdio.h>
 #include <string.h>
@@ -50,21 +47,10 @@ __FBSDID("$FreeBSD$");
 #include <err.h>
 #include <netsmb/smb_lib.h>
 
-/*
- * prototype iconv* functions
- */
-typedef void *iconv_t;
-
-static iconv_t (*my_iconv_open)(const char *, const char *);
-static size_t(*my_iconv)(iconv_t, const char **, size_t *, char **, size_t *);
-static int(*my_iconv_close)(iconv_t);
-
 u_char nls_lower[256];
 u_char nls_upper[256];
 
 static iconv_t nls_toext, nls_toloc;
-static int iconv_loaded;
-static void *iconv_lib;
 
 int
 nls_setlocale(const char *name)
@@ -90,32 +76,18 @@ nls_setrecode(const char *local, const c
 #else
 	iconv_t icd;
 
-	if (iconv_loaded == 2)
-		return ENOENT;
-	else if (iconv_loaded == 0) {
-		iconv_loaded++;
-		iconv_lib = dlopen("libiconv.so", RTLD_LAZY | RTLD_GLOBAL);
-		if (iconv_lib == NULL) {
-			warn("Unable to load iconv library: %s\n", dlerror());
-			iconv_loaded++;
-			return ENOENT;
-		}
-		my_iconv_open = dlsym(iconv_lib, "iconv_open");
-		my_iconv = dlsym(iconv_lib, "iconv");
-		my_iconv_close = dlsym(iconv_lib, "iconv_close");
-	}
 	if (nls_toext)
-		my_iconv_close(nls_toext);
+		iconv_close(nls_toext);
 	if (nls_toloc)
-		my_iconv_close(nls_toloc);
+		iconv_close(nls_toloc);
 	nls_toext = nls_toloc = (iconv_t)0;
-	icd = my_iconv_open(external, local);
+	icd = iconv_open(external, local);
 	if (icd == (iconv_t)-1)
 		return errno;
 	nls_toext = icd;
-	icd = my_iconv_open(local, external);
+	icd = iconv_open(local, external);
 	if (icd == (iconv_t)-1) {
-		my_iconv_close(nls_toext);
+		iconv_close(nls_toext);
 		nls_toext = (iconv_t)0;
 		return errno;
 	}
@@ -130,14 +102,11 @@ nls_str_toloc(char *dst, const char *src
 	char *p = dst;
 	size_t inlen, outlen;
 
-	if (!iconv_loaded)
-		return strcpy(dst, src);
-
 	if (nls_toloc == (iconv_t)0)
 		return strcpy(dst, src);
 	inlen = outlen = strlen(src);
-	my_iconv(nls_toloc, NULL, NULL, &p, &outlen);
-	while (my_iconv(nls_toloc, &src, &inlen, &p, &outlen) == -1) {
+	iconv(nls_toloc, NULL, NULL, &p, &outlen);
+	while (iconv(nls_toloc, &src, &inlen, &p, &outlen) == -1) {
 		*p++ = *src++;
 		inlen--;
 		outlen--;
@@ -152,14 +121,11 @@ nls_str_toext(char *dst, const char *src
 	char *p = dst;
 	size_t inlen, outlen;
 
-	if (!iconv_loaded)
-		return strcpy(dst, src);
-
 	if (nls_toext == (iconv_t)0)
 		return strcpy(dst, src);
 	inlen = outlen = strlen(src);
-	my_iconv(nls_toext, NULL, NULL, &p, &outlen);
-	while (my_iconv(nls_toext, &src, &inlen, &p, &outlen) == -1) {
+	iconv(nls_toext, NULL, NULL, &p, &outlen);
+	while (iconv(nls_toext, &src, &inlen, &p, &outlen) == -1) {
 		*p++ = *src++;
 		inlen--;
 		outlen--;
@@ -175,17 +141,14 @@ nls_mem_toloc(void *dst, const void *src
 	const char *s = src;
 	size_t inlen, outlen;
 
-	if (!iconv_loaded)
-		return memcpy(dst, src, size);
-
 	if (size == 0)
 		return NULL;
 
 	if (nls_toloc == (iconv_t)0)
 		return memcpy(dst, src, size);
 	inlen = outlen = size;
-	my_iconv(nls_toloc, NULL, NULL, &p, &outlen);
-	while (my_iconv(nls_toloc, &s, &inlen, &p, &outlen) == -1) {
+	iconv(nls_toloc, NULL, NULL, &p, &outlen);
+	while (iconv(nls_toloc, &s, &inlen, &p, &outlen) == -1) {
 		*p++ = *s++;
 		inlen--;
 		outlen--;
@@ -203,12 +166,12 @@ nls_mem_toext(void *dst, const void *src
 	if (size == 0)
 		return NULL;
 
-	if (!iconv_loaded || nls_toext == (iconv_t)0)
+	if (nls_toext == (iconv_t)0)
 		return memcpy(dst, src, size);
 
 	inlen = outlen = size;
-	my_iconv(nls_toext, NULL, NULL, &p, &outlen);
-	while (my_iconv(nls_toext, &s, &inlen, &p, &outlen) == -1) {
+	iconv(nls_toext, NULL, NULL, &p, &outlen);
+	while (iconv(nls_toext, &s, &inlen, &p, &outlen) == -1) {
 		*p++ = *s++;
 		inlen--;
 		outlen--;

Modified: projects/random_number_generator/lib/libc/string/strcasecmp.3
==============================================================================
--- projects/random_number_generator/lib/libc/string/strcasecmp.3	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/lib/libc/string/strcasecmp.3	Sun Nov 10 09:22:05 2013	(r257912)
@@ -50,7 +50,7 @@
 .Ft int
 .Fn strcasecmp_l "const char *s1" "const char *s2" "locale_t loc"
 .Ft int
-.Fn strncasecmp_l "const char *s1" "const char *s2" "site_t len" "locale_t loc"
+.Fn strncasecmp_l "const char *s1" "const char *s2" "size_t len" "locale_t loc"
 .Sh DESCRIPTION
 The
 .Fn strcasecmp

Modified: projects/random_number_generator/share/dict/README
==============================================================================
--- projects/random_number_generator/share/dict/README	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/share/dict/README	Sun Nov 10 09:22:05 2013	(r257912)
@@ -10,12 +10,6 @@ noun and adverbial phrases.  The wordlis
 
      -- James A. Woods    {ihnp4,hplabs}!ames!jaw    (or jaw@riacs)
 
-Dictionaries for other languages, e.g. Afrikaans, American, Aussie,
-Chinese, Croatian, Czech, Danish, Dutch, Esperanto, Finnish, French,
-German, Hindi, Hungarian, Italian, Japanese, Latin, Norwegian, Polish,
-Russian, Spanish, Swahili, Swedish, Yiddish, are available
-at ftp://ftp.ox.ac.uk/pub/wordlists.
-
 Country names are stored in the file /usr/share/misc/iso3166.
 
 

Modified: projects/random_number_generator/sys/dev/nand/nand.h
==============================================================================
--- projects/random_number_generator/sys/dev/nand/nand.h	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/dev/nand/nand.h	Sun Nov 10 09:22:05 2013	(r257912)
@@ -122,7 +122,8 @@ MALLOC_DECLARE(M_NAND);
 
 #define NAND_MAN_SAMSUNG		0xec
 #define NAND_MAN_HYNIX			0xad
-#define	NAND_MAN_STMICRO		0x20
+#define NAND_MAN_STMICRO		0x20
+#define NAND_MAN_MICRON			0x2c
 
 struct nand_id {
 	uint8_t man_id;

Modified: projects/random_number_generator/sys/dev/nand/nand_generic.c
==============================================================================
--- projects/random_number_generator/sys/dev/nand/nand_generic.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/dev/nand/nand_generic.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -341,8 +341,12 @@ onfi_read_parameter(struct nand_chip *ch
 
 	NANDBUS_READ_BUFFER(nandbus, params, sizeof(struct onfi_params));
 
+	if (memcmp(params->signature, "ONFI", sizeof(params->signature))) {
+		device_printf(chip->dev, "Error: bad signature\n");
+		return (ENXIO);
+	}
+
 	/* TODO */
-	/* Check for signature */
 	/* Check CRC */
 	/* Use redundant page if necessary */
 

Modified: projects/random_number_generator/sys/dev/nand/nand_id.c
==============================================================================
--- projects/random_number_generator/sys/dev/nand/nand_id.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/dev/nand/nand_id.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -47,6 +47,8 @@ struct nand_params nand_ids[] = {
 	    0x80, 0x200, 0x10, 0x20, 0 },
 	{ { NAND_MAN_STMICRO, 0xf1 }, "STMicro 128MB 3,3V 8-bit",
 	    0x80, 2048, 64, 0x40, 0 },
+	{ { NAND_MAN_MICRON, 0xcc }, "Micron NAND 512MiB 3,3V 16-bit",
+	    0x200, 2048, 64, 0x40, 0 },
 };
 
 struct nand_params *nand_get_params(struct nand_id *id)

Modified: projects/random_number_generator/sys/fs/nfs/nfs_commonsubs.c
==============================================================================
--- projects/random_number_generator/sys/fs/nfs/nfs_commonsubs.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/fs/nfs/nfs_commonsubs.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -3693,8 +3693,8 @@ nfsv4_seqsess_cacherep(uint32_t slotid, 
  * Generate the xdr for an NFSv4.1 Sequence Operation.
  */
 APPLESTATIC void
-nfsv4_setsequence(struct nfsrv_descript *nd, struct nfsclsession *sep,
-    int dont_replycache)
+nfsv4_setsequence(struct nfsmount *nmp, struct nfsrv_descript *nd,
+    struct nfsclsession *sep, int dont_replycache)
 {
 	uint32_t *tl, slotseq = 0;
 	int i, maxslot, slotpos;
@@ -3717,9 +3717,21 @@ nfsv4_setsequence(struct nfsrv_descript 
 			}
 			bitval <<= 1;
 		}
-		if (slotpos == -1)
+		if (slotpos == -1) {
+			/*
+			 * If a forced dismount is in progress, just return.
+			 * This RPC attempt will fail when it calls
+			 * newnfs_request().
+			 */
+			if ((nmp->nm_mountp->mnt_kern_flag & MNTK_UNMOUNTF)
+			    != 0) {
+				mtx_unlock(&sep->nfsess_mtx);
+				return;
+			}
+			/* Wake up once/sec, to check for a forced dismount. */
 			(void)mtx_sleep(&sep->nfsess_slots, &sep->nfsess_mtx,
-			    PZERO, "nfsclseq", 0);
+			    PZERO, "nfsclseq", hz);
+		}
 	} while (slotpos == -1);
 	/* Now, find the highest slot in use. (nfsc_slots is 64bits) */
 	bitval = 1;

Modified: projects/random_number_generator/sys/fs/nfs/nfs_var.h
==============================================================================
--- projects/random_number_generator/sys/fs/nfs/nfs_var.h	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/fs/nfs/nfs_var.h	Sun Nov 10 09:22:05 2013	(r257912)
@@ -265,7 +265,8 @@ int nfsv4_getipaddr(struct nfsrv_descrip
 int nfsv4_seqsession(uint32_t, uint32_t, uint32_t, struct nfsslot *,
     struct mbuf **, uint16_t);
 void nfsv4_seqsess_cacherep(uint32_t, struct nfsslot *, struct mbuf *);
-void nfsv4_setsequence(struct nfsrv_descript *, struct nfsclsession *, int);
+void nfsv4_setsequence(struct nfsmount *, struct nfsrv_descript *,
+    struct nfsclsession *, int);
 void nfsv4_freeslot(struct nfsclsession *, int);
 
 /* nfs_clcomsubs.c */

Modified: projects/random_number_generator/sys/fs/nfsclient/nfs_clcomsubs.c
==============================================================================
--- projects/random_number_generator/sys/fs/nfsclient/nfs_clcomsubs.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/fs/nfsclient/nfs_clcomsubs.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -203,10 +203,11 @@ nfscl_reqstart(struct nfsrv_descript *nd
 			NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED);
 			*tl = txdr_unsigned(NFSV4OP_SEQUENCE);
 			if (sep == NULL)
-				nfsv4_setsequence(nd, NFSMNT_MDSSESSION(nmp),
+				nfsv4_setsequence(nmp, nd,
+				    NFSMNT_MDSSESSION(nmp),
 				    nfs_bigreply[procnum]);
 			else
-				nfsv4_setsequence(nd, sep,
+				nfsv4_setsequence(nmp, nd, sep,
 				    nfs_bigreply[procnum]);
 		}
 		if (nfsv4_opflag[nfsv4_opmap[procnum].op].needscfh > 0) {

Modified: projects/random_number_generator/sys/ia64/ia64/mp_machdep.c
==============================================================================
--- projects/random_number_generator/sys/ia64/ia64/mp_machdep.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/ia64/ia64/mp_machdep.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -253,8 +253,6 @@ ia64_ap_startup(void)
 	ia64_set_tpr(0);
 	ia64_srlz_d();
 
-	ia64_enable_intr();
-
 	sched_throw(NULL);
 	/* NOTREACHED */
 }

Modified: projects/random_number_generator/sys/kern/vfs_lookup.c
==============================================================================
--- projects/random_number_generator/sys/kern/vfs_lookup.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/kern/vfs_lookup.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -424,13 +424,8 @@ needs_exclusive_leaf(struct mount *mp, i
 	 * extended shared operations, then use a shared lock for the
 	 * leaf node, otherwise use an exclusive lock.
 	 */
-	if (flags & ISOPEN) {
-		if (mp != NULL &&
-		    (mp->mnt_kern_flag & MNTK_EXTENDED_SHARED))
-			return (0);
-		else
-			return (1);
-	}
+	if ((flags & ISOPEN) != 0)
+		return (!MNT_EXTENDED_SHARED(mp));
 
 	/*
 	 * Lookup requests outside of open() that specify LOCKSHARED

Modified: projects/random_number_generator/sys/kern/vfs_vnops.c
==============================================================================
--- projects/random_number_generator/sys/kern/vfs_vnops.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/kern/vfs_vnops.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -360,8 +360,8 @@ vn_close(vp, flags, file_cred, td)
 	struct mount *mp;
 	int error, lock_flags;
 
-	if (vp->v_type != VFIFO && !(flags & FWRITE) && vp->v_mount != NULL &&
-	    vp->v_mount->mnt_kern_flag & MNTK_EXTENDED_SHARED)
+	if (vp->v_type != VFIFO && (flags & FWRITE) == 0 &&
+	    MNT_EXTENDED_SHARED(vp->v_mount))
 		lock_flags = LK_SHARED;
 	else
 		lock_flags = LK_EXCLUSIVE;

Modified: projects/random_number_generator/sys/kern/vnode_if.src
==============================================================================
--- projects/random_number_generator/sys/kern/vnode_if.src	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/kern/vnode_if.src	Sun Nov 10 09:22:05 2013	(r257912)
@@ -477,7 +477,7 @@ vop_getpages {
 };
 
 
-%% putpages	vp	E E E
+%% putpages	vp	L L L
 
 vop_putpages {
 	IN struct vnode *vp;

Modified: projects/random_number_generator/sys/sys/mount.h
==============================================================================
--- projects/random_number_generator/sys/sys/mount.h	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/sys/mount.h	Sun Nov 10 09:22:05 2013	(r257912)
@@ -362,8 +362,21 @@ void          __mnt_vnode_markerfree_act
 #define MNTK_LOOKUP_SHARED	0x40000000 /* FS supports shared lock lookups */
 #define	MNTK_NOKNOTE	0x80000000	/* Don't send KNOTEs from VOP hooks */
 
-#define	MNT_SHARED_WRITES(mp) (((mp) != NULL) && 	\
-				((mp)->mnt_kern_flag & MNTK_SHARED_WRITES))
+#ifdef _KERNEL
+static inline int
+MNT_SHARED_WRITES(struct mount *mp)
+{
+
+	return (mp != NULL && (mp->mnt_kern_flag & MNTK_SHARED_WRITES) != 0);
+}
+
+static inline int
+MNT_EXTENDED_SHARED(struct mount *mp)
+{
+
+	return (mp != NULL && (mp->mnt_kern_flag & MNTK_EXTENDED_SHARED) != 0);
+}
+#endif
 
 /*
  * Sysctl CTL_VFS definitions.
@@ -636,10 +649,12 @@ struct vfsops {
 vfs_statfs_t	__vfs_statfs;
 
 #define	VFS_PROLOGUE(MP)	do {					\
+	struct mount *mp__;						\
 	int _enable_stops;						\
 									\
-	_enable_stops = ((MP) != NULL &&				\
-	    ((MP)->mnt_vfc->vfc_flags & VFCF_SBDRY) && sigdeferstop())
+	mp__ = (MP);							\
+	_enable_stops = (mp__ != NULL &&				\
+	    (mp__->mnt_vfc->vfc_flags & VFCF_SBDRY) && sigdeferstop())
 
 #define	VFS_EPILOGUE(MP)						\
 	if (_enable_stops)						\

Modified: projects/random_number_generator/sys/vm/vm_pageout.c
==============================================================================
--- projects/random_number_generator/sys/vm/vm_pageout.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/vm/vm_pageout.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -570,6 +570,7 @@ vm_pageout_launder(struct vm_pagequeue *
 	vm_object_t object;
 	vm_paddr_t pa;
 	vm_page_t m, m_tmp, next;
+	int lockmode;
 
 	vm_pagequeue_lock(pq);
 	TAILQ_FOREACH_SAFE(m, &pq->pq_pl, plinks.q, next) {
@@ -605,7 +606,9 @@ vm_pageout_launder(struct vm_pagequeue *
 				vm_object_reference_locked(object);
 				VM_OBJECT_WUNLOCK(object);
 				(void)vn_start_write(vp, &mp, V_WAIT);
-				vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
+				lockmode = MNT_SHARED_WRITES(vp->v_mount) ?
+				    LK_SHARED : LK_EXCLUSIVE;
+				vn_lock(vp, lockmode | LK_RETRY);
 				VM_OBJECT_WLOCK(object);
 				vm_object_page_clean(object, 0, 0, OBJPC_SYNC);
 				VM_OBJECT_WUNLOCK(object);
@@ -902,6 +905,7 @@ vm_pageout_scan(struct vm_domain *vmd, i
 	int act_delta;
 	int vnodes_skipped = 0;
 	int maxlaunder;
+	int lockmode;
 	boolean_t queues_locked;
 
 	/*
@@ -1193,7 +1197,9 @@ vm_pageout_scan(struct vm_domain *vmd, i
 				    ("vp %p with NULL v_mount", vp));
 				vm_object_reference_locked(object);
 				VM_OBJECT_WUNLOCK(object);
-				if (vget(vp, LK_EXCLUSIVE | LK_TIMELOCK,
+				lockmode = MNT_SHARED_WRITES(vp->v_mount) ?
+				    LK_SHARED : LK_EXCLUSIVE;
+				if (vget(vp, lockmode | LK_TIMELOCK,
 				    curthread)) {
 					VM_OBJECT_WLOCK(object);
 					++pageout_lock_miss;

Modified: projects/random_number_generator/sys/x86/iommu/intel_drv.c
==============================================================================
--- projects/random_number_generator/sys/x86/iommu/intel_drv.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/x86/iommu/intel_drv.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -900,12 +900,12 @@ dmar_inst_rmrr_iter(ACPI_DMAR_HEADER *dm
 		    (uintmax_t)resmem->EndAddress);
 	}
 
-	ptr = (char *)resmem + sizeof(*resmem);
-	ptrend = (char *)resmem + resmem->Header.Length;
+	ptr = (const char *)resmem + sizeof(*resmem);
+	ptrend = (const char *)resmem + resmem->Header.Length;
 	for (;;) {
 		if (ptr >= ptrend)
 			break;
-		devscope = (ACPI_DMAR_DEVICE_SCOPE *)ptr;
+		devscope = (const ACPI_DMAR_DEVICE_SCOPE *)ptr;
 		ptr += devscope->Length;
 		/* XXXKIB bridge */
 		if (devscope->EntryType != ACPI_DMAR_SCOPE_TYPE_ENDPOINT)
@@ -914,11 +914,11 @@ dmar_inst_rmrr_iter(ACPI_DMAR_HEADER *dm
 			dmar_print_path(iria->dmar->dev, "RMRR scope",
 			    devscope->Bus, (devscope->Length -
 			    sizeof(ACPI_DMAR_DEVICE_SCOPE)) / 2,
-			    (ACPI_DMAR_PCI_PATH *)(devscope + 1));
+			    (const ACPI_DMAR_PCI_PATH *)(devscope + 1));
 		}
 		dev = dmar_path_dev(resmem->Segment, (devscope->Length -
 		    sizeof(ACPI_DMAR_DEVICE_SCOPE)) / 2, devscope->Bus,
-		    (ACPI_DMAR_PCI_PATH *)(devscope + 1));
+		    (const ACPI_DMAR_PCI_PATH *)(devscope + 1));
 		if (dev == NULL) {
 			if (dmar_match_verbose)
 				printf("null dev\n");
@@ -1049,6 +1049,8 @@ DB_FUNC(dmar_ctx, db_dmar_print_ctx, db_
 		}
 		show_mappings = strchr(db_tok_string, 'm') != NULL;
 		t = db_read_token();
+	} else {
+		show_mappings = false;
 	}
 	if (t == tNUMBER) {
 		domain = db_tok_number;

Modified: projects/random_number_generator/sys/x86/iommu/intel_fault.c
==============================================================================
--- projects/random_number_generator/sys/x86/iommu/intel_fault.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/x86/iommu/intel_fault.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -215,7 +215,7 @@ dmar_fault_task(void *arg, int pending _
 			ctx->flags |= DMAR_CTX_FAULTED;
 			ctx->last_fault_rec[0] = fault_rec[0];
 			ctx->last_fault_rec[1] = fault_rec[1];
-			device_printf(ctx->ctx_tag.owner, "");
+			device_print_prettyname(ctx->ctx_tag.owner);
 		}
 		DMAR_UNLOCK(unit);
 		printf(

Modified: projects/random_number_generator/sys/x86/iommu/intel_idpgtbl.c
==============================================================================
--- projects/random_number_generator/sys/x86/iommu/intel_idpgtbl.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/sys/x86/iommu/intel_idpgtbl.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -167,6 +167,8 @@ ctx_get_idmap_pgtbl(struct dmar_ctx *ctx
 	vm_page_t m;
 	int leaf, i;
 
+	leaf = 0; /* silence gcc */
+
 	/*
 	 * First, determine where to stop the paging structures.
 	 */
@@ -619,6 +621,7 @@ ctx_unmap_buf_locked(struct dmar_ctx *ct
 	    (uintmax_t)size));
 	KASSERT((flags & ~DMAR_PGF_WAITOK) == 0, ("invalid flags %x", flags));
 
+	pg_sz = 0; /* silence gcc */
 	base1 = base;
 	size1 = size;
 	flags |= DMAR_PGF_OBJL;

Modified: projects/random_number_generator/tools/tools/netmap/pkt-gen.c
==============================================================================
--- projects/random_number_generator/tools/tools/netmap/pkt-gen.c	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/tools/tools/netmap/pkt-gen.c	Sun Nov 10 09:22:05 2013	(r257912)
@@ -277,11 +277,11 @@ system_ncpus(void)
 /*
  * parse the vale configuration in conf and put it in nmr.
  * The configuration may consist of 0 to 4 numbers separated
- * by commas: #tx-slots,#rx-slots,#tx-rinzgs,#rx-rings.
+ * by commas: #tx-slots,#rx-slots,#tx-rings,#rx-rings.
  * Missing numbers or zeroes stand for default values.
  * As an additional convenience, if exactly one number
- * is specified, then this is assigned to bot #tx-slots and #rx-slots.
- * If there is no 4th number, then the 3rd is assigned to bot #tx-rings 
+ * is specified, then this is assigned to both #tx-slots and #rx-slots.
+ * If there is no 4th number, then the 3rd is assigned to both #tx-rings
  * and #rx-rings.
  */
 void parse_nmr_config(const char* conf, struct nmreq *nmr)

Modified: projects/random_number_generator/usr.sbin/mount_smbfs/Makefile
==============================================================================
--- projects/random_number_generator/usr.sbin/mount_smbfs/Makefile	Sun Nov 10 05:22:29 2013	(r257911)
+++ projects/random_number_generator/usr.sbin/mount_smbfs/Makefile	Sun Nov 10 09:22:05 2013	(r257912)
@@ -11,11 +11,6 @@ CFLAGS+=	-DSMBFS -I${MOUNTDIR} -I${CONTR
 LDADD=	-lsmb -lkiconv
 DPADD=	${LIBSMB} ${LIBKICONV}
 
-# Needs to be dynamically linked for optional dlopen() access to
-# userland libiconv (see the -E option).
-#
-NO_SHARED?=	NO
-
 .PATH:	${CONTRIBDIR}/mount_smbfs
 .PATH:  ${MOUNTDIR}
 



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