svn commit: r220135 - projects/sv/sys/netinet

Attilio Rao attilio at FreeBSD.org
Tue Mar 29 16:45:48 UTC 2011


Author: attilio
Date: Tue Mar 29 16:45:47 2011
New Revision: 220135
URL: http://svn.freebsd.org/changeset/base/220135

Log:
  - Fix style for dumping specific functions.
  - Add __unused tag for arguments where needed.

Modified:
  projects/sv/sys/netinet/netdump_client.c

Modified: projects/sv/sys/netinet/netdump_client.c
==============================================================================
--- projects/sv/sys/netinet/netdump_client.c	Tue Mar 29 16:21:01 2011	(r220134)
+++ projects/sv/sys/netinet/netdump_client.c	Tue Mar 29 16:45:47 2011	(r220135)
@@ -99,11 +99,11 @@ static void	 nd_handle_arp(struct mbuf *
 static void	 nd_handle_ip(struct mbuf **mb);
 static int	 netdump_arp_server(void);
 static void	 netdump_config_defaults(void);
-static int	 netdump_dumper(void *priv, void *virtual,
-		    vm_offset_t physical, off_t offset, size_t length);
+static int	 netdump_dumper(void *priv __unused, void *virtual,
+		    vm_offset_t physical __unused, off_t offset, size_t length);
 static int	 netdump_ether_output(struct mbuf *m, struct ifnet *ifp, 
 		    struct ether_addr dst, u_short etype);
-static void	 netdump_mbuf_nop(void *ptr, void *opt_args);
+static void	 netdump_mbuf_nop(void *ptr __unused, void *opt_args __unused);
 static int	 netdump_modevent(module_t mod, int type, void *unused); 
 static void	 netdump_network_poll(void);
 static void	 netdump_pkt_in(struct ifnet *ifp, struct mbuf *m);
@@ -280,7 +280,7 @@ TUNABLE_INT("net.dump.enable", &nd_enabl
  *	void
  */
 static void
-netdump_mbuf_nop(void *ptr, void *opt_args)
+netdump_mbuf_nop(void *ptr __unused, void *opt_args __unused)
 {
 }
 
@@ -992,11 +992,9 @@ netdump_network_poll()
  */
 
 /*
- * [netdump_dumper]
- *
- * Callback from dumpsys() to dump a chunk of memory
- * Copies it out to our static buffer then sends it across the network
- * Detects the initial KDH and makes sure it's given a special packet type
+ * Callback from dumpsys() to dump a chunk of memory.
+ * Copies it out to our static buffer then sends it across the network.
+ * Detects the initial KDH and makes sure it is given a special packet type.
  *
  * Parameters:
  *	priv	 Unused. Optional private pointer.
@@ -1010,44 +1008,40 @@ netdump_network_poll()
  *	errno on error
  */
 static int
-netdump_dumper(void *priv, void *virtual, vm_offset_t physical, off_t offset,
-		size_t length)
+netdump_dumper(void *priv __unused, void *virtual,
+    vm_offset_t physical __unused, off_t offset, size_t length)
 {
-	int err;
-	int msgtype = NETDUMP_VMCORE;
-
-	(void)priv;
+	int err, msgtype;
 
-	NETDDEBUGV("netdump_dumper(%p, %p, 0x%jx, %ju, %zu)\n",
-	    priv, virtual, (uintmax_t)physical, (uintmax_t)offset, length);
+	NETDDEBUGV("netdump_dumper(NULL, %p, NULL, %ju, %zu)\n",
+	    virtual, (uintmax_t)offset, length);
 
 	if (length > sizeof(buf))
-		return ENOSPC;
+		return (ENOSPC);
+
 	/*
 	 * The first write (at offset 0) is the kernel dump header.  Flag it
-	 * for the server to treat specially.  XXX: This doesn't strip out the
-	 * footer KDH, although it shouldn't hurt anything.
+	 * for the server to treat specially.
+	 * XXX: This doesn't strip out the footer KDH, although it
+	 * should not hurt anything.
 	 */
+	msgtype = NETDUMP_VMCORE;
 	if (offset == 0 && length > 0)
 		msgtype = NETDUMP_KDH;
 	else if (offset > 0)
 		offset -= sizeof(struct kerneldumpheader);
-
 	memcpy(buf, virtual, length);
-	err=netdump_send(msgtype, offset, buf, length);
-	if (err) {
-		dump_failed=1;
-		return err;
+	err = netdump_send(msgtype, offset, buf, length);
+	if (err != 0) {
+		dump_failed = 1;
+		return (err);
 	}
-	
-	return 0;
+	return (0);
 }
 
 /*
- * [netdump_trigger]
- *
- * called from kern_shutdown during "boot" (invoked on panic).  perform a
- * network dump, and if successful cancel the normal disk dump.
+ * Handler going into shutdown_pre_sync hook.
+ * Overrides a standard disk dumping activity.
  *
  * Parameters:
  *	arg	unused
@@ -1060,13 +1054,10 @@ static void
 netdump_trigger(void *arg, int howto)
 {
 	struct dumperinfo dumper;
-	void (*old_if_input)(struct ifnet *, struct mbuf *)=NULL;
+	void (*old_if_input)(struct ifnet *, struct mbuf *);
 	int found, must_lock, nd_gw_unset;
 
-	if ((howto&(RB_HALT|RB_DUMP))!=RB_DUMP || !nd_enable || cold ||
-	    dumping)
-		return;
-
+	old_if_input = NULL;
 	found = 0;
 	nd_gw_unset = 0;
 	must_lock = 1;
@@ -1074,6 +1065,13 @@ netdump_trigger(void *arg, int howto)
 	if (panicstr != NULL)
 		must_lock = 0;
 #endif
+
+	/* Check if the dumping is allowed to continue. */
+	if ((howto & (RB_HALT | RB_DUMP)) != RB_DUMP || nd_enable == 0 ||
+	    cold != 0 || dumping != 0)
+		return;
+
+	/* Lookup the right if device to be used in the dump. */
 	if (must_lock != 0)
 		IFNET_RLOCK_NOSLEEP();
 	TAILQ_FOREACH(nd_ifp, &V_ifnet, if_link) {
@@ -1086,11 +1084,11 @@ netdump_trigger(void *arg, int howto)
 	}
 	if (must_lock != 0)
 		IFNET_RUNLOCK_NOSLEEP();
-
 	if (found == 0) {
 		printf("netdump_trigger: Can't netdump: no valid NIC given\n");
 		return;
 	}
+
 	MPASS(nd_ifp != NULL);
 
 	if (nd_server.s_addr == INADDR_ANY) {
@@ -1123,7 +1121,7 @@ netdump_trigger(void *arg, int howto)
 	if ((nd_ifp->if_capenable & IFCAP_POLLING) == 0 && must_lock != 0)
 		nd_ifp->if_ndumpfuncs->ne_disable_intr(nd_ifp);
 
-	/* Make the card use *our* receive callback */
+	/* Make the card use *our* receive callback. */
 	old_if_input = nd_ifp->if_input;
 	nd_ifp->if_input = netdump_pkt_in;
 
@@ -1141,27 +1139,21 @@ netdump_trigger(void *arg, int howto)
 		printf("Failed to contact netdump server\n");
 		goto trig_abort;
 	}
-	printf("dumping to %s (%6D)\n", inet_ntoa(nd_server),
-			nd_gw_mac.octet, ":");
+	printf("dumping to %s (%6D)\n", inet_ntoa(nd_server), nd_gw_mac.octet,
+	    ":");
 	printf("-----------------------------------\n");
 
-	/*
-	 * dump memory.
-	 */
+	/* Call the dumping routine. */
 	dumper.dumper = netdump_dumper;
 	dumper.priv = NULL;
 	dumper.blocksize = NETDUMP_DATASIZE;
 	dumper.mediasize = 0;
 	dumper.mediaoffset = 0;
-
-	/* in dump_machdep.c */
 	dumpsys(&dumper);
-
-	if (dump_failed) {
+	if (dump_failed != 0) {
 		printf("Failed to dump the actual raw datas\n");
 		goto trig_abort;
 	}
-
 	if (netdump_send(NETDUMP_FINISHED, 0, NULL, 0) != 0) {
 		printf("Failed to close the transaction\n");
 		goto trig_abort;


More information about the svn-src-projects mailing list