Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Nov 2006 04:14:31 GMT
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 109091 for review
Message-ID:  <200611030414.kA34EVlo068163@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=109091

Change 109091 by marcel@marcel_cluster on 2006/11/03 04:14:07

	IFC @109090

Affected files ...

.. //depot/projects/ia64/bin/cp/cp.1#14 integrate
.. //depot/projects/ia64/lib/libc/sys/getpid.2#3 integrate
.. //depot/projects/ia64/lib/libc/sys/statfs.2#9 integrate
.. //depot/projects/ia64/lib/libcam/camlib.c#6 integrate
.. //depot/projects/ia64/sbin/camcontrol/camcontrol.c#15 integrate
.. //depot/projects/ia64/sbin/geom/class/cache/geom_cache.c#2 integrate
.. //depot/projects/ia64/sbin/geom/class/mirror/geom_mirror.c#11 integrate
.. //depot/projects/ia64/sbin/geom/class/mirror/gmirror.8#11 integrate
.. //depot/projects/ia64/sbin/geom/class/raid3/geom_raid3.c#12 integrate
.. //depot/projects/ia64/sbin/geom/class/raid3/graid3.8#6 integrate
.. //depot/projects/ia64/share/man/man5/elf.5#12 integrate
.. //depot/projects/ia64/sys/boot/common/load_elf.c#19 integrate
.. //depot/projects/ia64/sys/boot/i386/boot2/boot2.c#26 integrate
.. //depot/projects/ia64/sys/boot/i386/libi386/elf32_freebsd.c#5 integrate
.. //depot/projects/ia64/sys/boot/ia64/ski/acpi_stub.c#4 integrate
.. //depot/projects/ia64/sys/boot/pc98/boot2/boot.c#9 integrate
.. //depot/projects/ia64/sys/cam/scsi/scsi_da.c#70 integrate
.. //depot/projects/ia64/sys/ddb/db_command.c#26 integrate
.. //depot/projects/ia64/sys/dev/isp/isp.c#31 integrate
.. //depot/projects/ia64/sys/dev/isp/isp_freebsd.c#34 integrate
.. //depot/projects/ia64/sys/dev/isp/isp_freebsd.h#27 integrate
.. //depot/projects/ia64/sys/dev/isp/isp_library.c#4 integrate
.. //depot/projects/ia64/sys/dev/isp/isp_library.h#2 integrate
.. //depot/projects/ia64/sys/dev/isp/isp_pci.c#33 integrate
.. //depot/projects/ia64/sys/dev/isp/isp_sbus.c#18 integrate
.. //depot/projects/ia64/sys/dev/isp/isp_stds.h#1 branch
.. //depot/projects/ia64/sys/dev/isp/isp_target.c#18 integrate
.. //depot/projects/ia64/sys/dev/isp/isp_target.h#13 integrate
.. //depot/projects/ia64/sys/dev/isp/isp_tpublic.h#10 integrate
.. //depot/projects/ia64/sys/dev/isp/ispmbox.h#17 integrate
.. //depot/projects/ia64/sys/dev/isp/ispreg.h#7 integrate
.. //depot/projects/ia64/sys/dev/isp/ispvar.h#25 integrate
.. //depot/projects/ia64/sys/dev/ispfw/asm_2300.h#10 integrate
.. //depot/projects/ia64/sys/dev/mpt/mpt_cam.c#11 integrate
.. //depot/projects/ia64/sys/dev/mpt/mpt_raid.c#8 integrate
.. //depot/projects/ia64/sys/geom/eli/g_eli.c#10 integrate
.. //depot/projects/ia64/sys/geom/journal/g_journal.c#3 integrate
.. //depot/projects/ia64/sys/ia64/ia64/machdep.c#122 integrate
.. //depot/projects/ia64/sys/kern/uipc_mbuf.c#40 integrate
.. //depot/projects/ia64/sys/kern/uipc_socket.c#60 integrate
.. //depot/projects/ia64/sys/kern/uipc_syscalls.c#64 integrate
.. //depot/projects/ia64/sys/net/bridgestp.c#9 integrate
.. //depot/projects/ia64/sys/net/if_tap.c#36 integrate
.. //depot/projects/ia64/sys/net/if_tun.c#36 integrate
.. //depot/projects/ia64/sys/net/ppp_tty.c#16 integrate
.. //depot/projects/ia64/sys/netgraph/ng_device.c#13 integrate
.. //depot/projects/ia64/sys/sys/libkern.h#20 integrate
.. //depot/projects/ia64/sys/sys/mbuf.h#44 integrate
.. //depot/projects/ia64/sys/sys/socket.h#28 integrate
.. //depot/projects/ia64/tools/tools/nanobsd/nanobsd.sh#6 integrate
.. //depot/projects/ia64/usr.bin/tar/getdate.y#5 integrate
.. //depot/projects/ia64/usr.bin/vmstat/vmstat.8#15 integrate
.. //depot/projects/ia64/usr.sbin/bluetooth/bthidd/client.c#5 integrate
.. //depot/projects/ia64/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8#7 integrate

Differences ...

==== //depot/projects/ia64/bin/cp/cp.1#14 (text+ko) ====

@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	@(#)cp.1	8.3 (Berkeley) 4/18/94
-.\" $FreeBSD: src/bin/cp/cp.1,v 1.38 2006/10/27 08:26:24 trhodes Exp $
+.\" $FreeBSD: src/bin/cp/cp.1,v 1.39 2006/11/02 19:10:05 ceri Exp $
 .\"
 .Dd October 27, 2006
 .Dt CP 1
@@ -264,7 +264,7 @@
 is a synonym for
 .Fl RL
 and works the same unless modified by other flags.
-Historical implemenations
+Historical implementations
 of
 .Fl r
 differ as they copy special files as normal

==== //depot/projects/ia64/lib/libc/sys/getpid.2#3 (text+ko) ====

@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)getpid.2	8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/sys/getpid.2,v 1.14 2002/12/18 09:22:30 ru Exp $
+.\" $FreeBSD: src/lib/libc/sys/getpid.2,v 1.15 2006/11/02 14:10:56 ru Exp $
 .\"
-.Dd June 4, 1993
+.Dd November 2, 2006
 .Dt GETPID 2
 .Os
 .Sh NAME
@@ -75,7 +75,12 @@
 system calls are always successful, and no return value is reserved to
 indicate an error.
 .Sh SEE ALSO
-.Xr gethostid 3
+.Xr fork 2 ,
+.Xr getpgrp 2 ,
+.Xr kill 2 ,
+.Xr setpgid 2 ,
+.Xr setsid 2 ,
+.Xr exec 3
 .Sh STANDARDS
 The
 .Fn getpid

==== //depot/projects/ia64/lib/libc/sys/statfs.2#9 (text+ko) ====

@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	@(#)statfs.2	8.5 (Berkeley) 5/24/95
-.\" $FreeBSD: src/lib/libc/sys/statfs.2,v 1.27 2006/01/10 23:24:47 grog Exp $
+.\" $FreeBSD: src/lib/libc/sys/statfs.2,v 1.28 2006/11/01 23:40:44 pjd Exp $
 .\"
-.Dd November 26, 2004
+.Dd November 1, 2006
 .Dt STATFS 2
 .Os
 .Sh NAME
@@ -115,6 +115,9 @@
 .It Dv MNT_SOFTDEP
 Soft updates being done (see
 .Xr ffs 7 ) .
+.It Dv MNT_GJOURNAL
+Journaling with gjournal is enabled (see
+.Xr gjournal 8 ) .
 .It Dv MNT_SUIDDIR
 Special handling of SUID bit on directories.
 .It Dv MNT_UNION

==== //depot/projects/ia64/lib/libcam/camlib.c#6 (text+ko) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libcam/camlib.c,v 1.15 2006/04/30 07:08:43 marcus Exp $");
+__FBSDID("$FreeBSD: src/lib/libcam/camlib.c,v 1.16 2006/11/02 00:54:32 mjacob Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -676,16 +676,24 @@
 	 */
 	ccb.ccb_h.func_code = XPT_GET_TRAN_SETTINGS;
 
-	ccb.cts.flags = CCB_TRANS_CURRENT_SETTINGS;
+	ccb.cts.type = CTS_TYPE_CURRENT_SETTINGS;
 
 	if (ioctl(fd, CAMIOCOMMAND, &ccb) == -1) {
 		sprintf(cam_errbuf, "%s: Get Transfer Settings CCB failed\n"
 			"%s: %s", func_name, func_name, strerror(errno));
 		goto crod_bailout;
 	}
-	device->sync_period = ccb.cts.sync_period;
-	device->sync_offset = ccb.cts.sync_offset;
-	device->bus_width = ccb.cts.bus_width;
+	if (ccb.cts.protocol == XPORT_SPI) {
+		struct ccb_trans_settings_spi *spi =
+		    &ccb.cts.xport_specific.spi;
+		device->sync_period = spi->sync_period;
+		device->sync_offset = spi->sync_offset;
+		device->bus_width = spi->bus_width;
+	} else {
+		device->sync_period = 0;
+		device->sync_offset = 0;
+		device->bus_width = 0;
+	}
 
 	return(device);
 

==== //depot/projects/ia64/sbin/camcontrol/camcontrol.c#15 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.54 2006/08/21 13:24:49 ken Exp $");
+__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.55 2006/11/02 00:54:32 mjacob Exp $");
 
 #include <sys/ioctl.h>
 #include <sys/stdint.h>
@@ -849,8 +849,8 @@
 static int
 scsixferrate(struct cam_device *device)
 {
-	u_int32_t freq;
-	u_int32_t speed;
+	u_int32_t freq = 0;
+	u_int32_t speed = 0;
 	union ccb *ccb;
 	u_int mb;
 	int retval = 0;
@@ -866,7 +866,7 @@
 	      sizeof(struct ccb_trans_settings) - sizeof(struct ccb_hdr));
 
 	ccb->ccb_h.func_code = XPT_GET_TRAN_SETTINGS;
-	ccb->cts.flags = CCB_TRANS_CURRENT_SETTINGS;
+	ccb->cts.type = CTS_TYPE_CURRENT_SETTINGS;
 
 	if (((retval = cam_send_ccb(device, ccb)) < 0)
 	 || ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP)) {
@@ -887,10 +887,49 @@
 
 	}
 
-	if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0)
-	 && (ccb->cts.sync_offset != 0)) {
-		freq = scsi_calc_syncsrate(ccb->cts.sync_period);
-		speed = freq;
+	if (ccb->cts.transport == XPORT_SPI) {
+		struct ccb_trans_settings_spi *spi =
+		    &ccb->cts.xport_specific.spi;
+
+		if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) != 0) {
+			freq = scsi_calc_syncsrate(spi->sync_period);
+			speed = freq;
+		}
+
+		fprintf(stdout, "%s%d: ", device->device_name,
+			device->dev_unit_num);
+
+		if ((spi->valid & CTS_SPI_VALID_BUS_WIDTH) != 0) {
+			speed *= (0x01 << spi->bus_width);
+		}
+
+		mb = speed / 1000;
+
+		if (mb > 0) 
+			fprintf(stdout, "%d.%03dMB/s transfers ",
+				mb, speed % 1000);
+		else
+			fprintf(stdout, "%dKB/s transfers ",
+				speed);
+
+		if (((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) != 0)
+		 && (spi->sync_offset != 0))
+			fprintf(stdout, "(%d.%03dMHz, offset %d", freq / 1000,
+				freq % 1000, spi->sync_offset);
+
+		if (((spi->valid & CTS_SPI_VALID_BUS_WIDTH) != 0)
+		 && (spi->bus_width > 0)) {
+			if (((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) != 0)
+			 && (spi->sync_offset != 0)) {
+				fprintf(stdout, ", ");
+			} else {
+				fprintf(stdout, " (");
+			}
+			fprintf(stdout, "%dbit)", 8 * (0x01 << spi->bus_width));
+		} else if (((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) != 0)
+		 && (spi->sync_offset != 0)) {
+			fprintf(stdout, ")");
+		}
 	} else {
 		struct ccb_pathinq cpi;
 
@@ -901,46 +940,28 @@
 
 		speed = cpi.base_transfer_speed;
 		freq = 0;
-	}
 
-	fprintf(stdout, "%s%d: ", device->device_name,
-		device->dev_unit_num);
+		mb = speed / 1000;
 
-	if ((ccb->cts.valid & CCB_TRANS_BUS_WIDTH_VALID) != 0)
-		speed *= (0x01 << device->bus_width);
+		if (mb > 0) 
+			fprintf(stdout, "%d.%03dMB/s transfers ",
+				mb, speed % 1000);
+		else
+			fprintf(stdout, "%dKB/s transfers ",
+				speed);
+	}
 
-	mb = speed / 1000;
-
-	if (mb > 0) 
-		fprintf(stdout, "%d.%03dMB/s transfers ",
-			mb, speed % 1000);
-	else
-		fprintf(stdout, "%dKB/s transfers ",
-			speed);
-
-	if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0)
-	 && (ccb->cts.sync_offset != 0))
-                fprintf(stdout, "(%d.%03dMHz, offset %d", freq / 1000,
-			freq % 1000, ccb->cts.sync_offset);
-
-	if (((ccb->cts.valid & CCB_TRANS_BUS_WIDTH_VALID) != 0)
-	 && (ccb->cts.bus_width > 0)) {
-		if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0)
-		 && (ccb->cts.sync_offset != 0)) {
-			fprintf(stdout, ", ");
-		} else {
-			fprintf(stdout, " (");
+	if (ccb->cts.protocol == PROTO_SCSI) {
+		struct ccb_trans_settings_scsi *scsi =
+		    &ccb->cts.proto_specific.scsi;
+		if (scsi->valid & CTS_SCSI_VALID_TQ) {
+			if (scsi->flags & CTS_SCSI_FLAGS_TAG_ENB)
+				fprintf(stdout, ", Command Queueing Enabled");
+			else
+				fprintf(stdout, ", Command Queueing Supported");
 		}
-		fprintf(stdout, "%dbit)", 8 * (0x01 << ccb->cts.bus_width));
-	} else if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0)
-		&& (ccb->cts.sync_offset != 0)) {
-		fprintf(stdout, ")");
 	}
 
-	if (((ccb->cts.valid & CCB_TRANS_TQ_VALID) != 0)
-	 && (ccb->cts.flags & CCB_TRANS_TAG_ENB))
-                fprintf(stdout, ", Tagged Queueing Enabled");
- 
         fprintf(stdout, "\n");
 
 xferrate_bailout:
@@ -2259,36 +2280,51 @@
 
 	cam_path_string(device, pathstr, sizeof(pathstr));
 
-	if ((cts->valid & CCB_TRANS_SYNC_RATE_VALID) != 0) {
+	if (cts->transport == XPORT_SPI) {
+		struct ccb_trans_settings_spi *spi =
+		    &cts->xport_specific.spi;
+
+		if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) != 0) {
+
+			fprintf(stdout, "%ssync parameter: %d\n", pathstr,
+				spi->sync_period);
 
-		fprintf(stdout, "%ssync parameter: %d\n", pathstr,
-			cts->sync_period);
+			if (spi->sync_offset != 0) {
+				u_int freq;
 
-		if (cts->sync_offset != 0) {
-			u_int freq;
+				freq = scsi_calc_syncsrate(spi->sync_period);
+				fprintf(stdout, "%sfrequency: %d.%03dMHz\n",
+					pathstr, freq / 1000, freq % 1000);
+			}
+		}
 
-			freq = scsi_calc_syncsrate(cts->sync_period);
-			fprintf(stdout, "%sfrequency: %d.%03dMHz\n", pathstr,
-				freq / 1000, freq % 1000);
+		if (spi->valid & CTS_SPI_VALID_SYNC_OFFSET) {
+			fprintf(stdout, "%soffset: %d\n", pathstr,
+			    spi->sync_offset);
 		}
-	}
 
-	if (cts->valid & CCB_TRANS_SYNC_OFFSET_VALID)
-		fprintf(stdout, "%soffset: %d\n", pathstr, cts->sync_offset);
+		if (spi->valid & CTS_SPI_VALID_BUS_WIDTH) {
+			fprintf(stdout, "%sbus width: %d bits\n", pathstr,
+				(0x01 << spi->bus_width) * 8);
+		}
 
-	if (cts->valid & CCB_TRANS_BUS_WIDTH_VALID)
-		fprintf(stdout, "%sbus width: %d bits\n", pathstr,
-			(0x01 << cts->bus_width) * 8);
+		if (spi->valid & CTS_SPI_VALID_DISC) {
+			fprintf(stdout, "%sdisconnection is %s\n", pathstr,
+				(spi->flags & CTS_SPI_FLAGS_DISC_ENB) ?
+				"enabled" : "disabled");
+		}
+	}
 
-	if (cts->valid & CCB_TRANS_DISC_VALID)
-		fprintf(stdout, "%sdisconnection is %s\n", pathstr,
-			(cts->flags & CCB_TRANS_DISC_ENB) ? "enabled" :
-			"disabled");
+	if (cts->protocol == PROTO_SCSI) {
+		struct ccb_trans_settings_scsi *scsi=
+		    &cts->proto_specific.scsi;
 
-	if (cts->valid & CCB_TRANS_TQ_VALID)
-		fprintf(stdout, "%stagged queueing is %s\n", pathstr,
-			(cts->flags & CCB_TRANS_TAG_ENB) ? "enabled" :
-			"disabled");
+		if (scsi->valid & CTS_SCSI_VALID_TQ) {
+			fprintf(stdout, "%stagged queueing is %s\n", pathstr,
+				(scsi->flags & CTS_SCSI_FLAGS_TAG_ENB) ?
+				"enabled" : "disabled");
+		}
+	}
 
 }
 
@@ -2500,9 +2536,9 @@
 	ccb->ccb_h.func_code = XPT_GET_TRAN_SETTINGS;
 
 	if (user_settings == 0)
-		ccb->cts.flags = CCB_TRANS_CURRENT_SETTINGS;
+		ccb->cts.type = CTS_TYPE_CURRENT_SETTINGS;
 	else
-		ccb->cts.flags = CCB_TRANS_USER_SETTINGS;
+		ccb->cts.type = CTS_TYPE_USER_SETTINGS;
 
 	if (cam_send_ccb(device, ccb) < 0) {
 		perror("error sending XPT_GET_TRAN_SETTINGS CCB");
@@ -2676,16 +2712,27 @@
 		cpi_print(&cpi);
 
 	if (change_settings) {
-		if (disc_enable != -1) {
-			ccb->cts.valid |= CCB_TRANS_DISC_VALID;
+		int didsettings = 0;
+		struct ccb_trans_settings_spi *spi = NULL;
+		struct ccb_trans_settings_scsi *scsi = NULL;
+
+		if (ccb->cts.transport == XPORT_SPI) {
+			spi = &ccb->cts.xport_specific.spi;
+			spi->valid = 0;
+		}
+		if (ccb->cts.protocol == PROTO_SCSI) {
+			scsi = &ccb->cts.proto_specific.scsi;
+			scsi->valid = 0;
+		}
+		if (spi && disc_enable != -1) {
+			spi->valid |= CTS_SPI_VALID_DISC;
 			if (disc_enable == 0)
-				ccb->cts.flags &= ~CCB_TRANS_DISC_ENB;
+				spi->flags &= ~CTS_SPI_FLAGS_DISC_ENB;
 			else
-				ccb->cts.flags |= CCB_TRANS_DISC_ENB;
-		} else
-			ccb->cts.valid &= ~CCB_TRANS_DISC_VALID;
+				spi->flags |= CTS_SPI_FLAGS_DISC_ENB;
+		}
 
-		if (tag_enable != -1) {
+		if (scsi && tag_enable != -1) {
 			if ((cpi.hba_inquiry & PI_TAG_ABLE) == 0) {
 				warnx("HBA does not support tagged queueing, "
 				      "so you cannot modify tag settings");
@@ -2693,16 +2740,16 @@
 				goto ratecontrol_bailout;
 			}
 
-			ccb->cts.valid |= CCB_TRANS_TQ_VALID;
+			scsi->valid |= CTS_SCSI_VALID_TQ;
 
 			if (tag_enable == 0)
-				ccb->cts.flags &= ~CCB_TRANS_TAG_ENB;
+				scsi->flags &= ~CTS_SCSI_FLAGS_TAG_ENB;
 			else
-				ccb->cts.flags |= CCB_TRANS_TAG_ENB;
-		} else
-			ccb->cts.valid &= ~CCB_TRANS_TQ_VALID;
+				scsi->flags |= CTS_SCSI_FLAGS_TAG_ENB;
+			didsettings++;
+		}
 
-		if (offset != -1) {
+		if (spi && offset != -1) {
 			if ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) {
 				warnx("HBA at %s%d is not cable of changing "
 				      "offset", cpi.dev_name,
@@ -2710,12 +2757,12 @@
 				retval = 1;
 				goto ratecontrol_bailout;
 			}
-			ccb->cts.valid |= CCB_TRANS_SYNC_OFFSET_VALID;
-			ccb->cts.sync_offset = offset;
-		} else
-			ccb->cts.valid &= ~CCB_TRANS_SYNC_OFFSET_VALID;
+			spi->valid |= CTS_SPI_VALID_SYNC_OFFSET;
+			spi->sync_offset = offset;
+			didsettings++;
+		}
 
-		if (syncrate != -1) {
+		if (spi && syncrate != -1) {
 			int prelim_sync_period;
 			u_int freq;
 
@@ -2727,7 +2774,7 @@
 				goto ratecontrol_bailout;
 			}
 
-			ccb->cts.valid |= CCB_TRANS_SYNC_RATE_VALID;
+			spi->valid |= CTS_SPI_VALID_SYNC_RATE;
 
 			/*
 			 * The sync rate the user gives us is in MHz.
@@ -2745,12 +2792,12 @@
 			else
 				prelim_sync_period = 10000000 / syncrate;
 
-			ccb->cts.sync_period =
+			spi->sync_period =
 				scsi_calc_syncparam(prelim_sync_period);
 
-			freq = scsi_calc_syncsrate(ccb->cts.sync_period);
-		} else
-			ccb->cts.valid &= ~CCB_TRANS_SYNC_RATE_VALID;
+			freq = scsi_calc_syncsrate(spi->sync_period);
+			didsettings++;
+		}
 
 		/*
 		 * The bus_width argument goes like this:
@@ -2761,7 +2808,7 @@
 		 * command line right by 4, you should get the correct
 		 * number.
 		 */
-		if (bus_width != -1) {
+		if (spi && bus_width != -1) {
 
 			/*
 			 * We might as well validate things here with a
@@ -2787,11 +2834,14 @@
 				goto ratecontrol_bailout;
 			}
 
-			ccb->cts.valid |= CCB_TRANS_BUS_WIDTH_VALID;
-			ccb->cts.bus_width = bus_width >> 4;
-		} else
-			ccb->cts.valid &= ~CCB_TRANS_BUS_WIDTH_VALID;
+			spi->valid |= CTS_SPI_VALID_BUS_WIDTH;
+			spi->bus_width = bus_width >> 4;
+			didsettings++;
+		}
 
+		if  (didsettings == 0) {
+			goto ratecontrol_bailout;
+		}
 		ccb->ccb_h.func_code = XPT_SET_TRAN_SETTINGS;
 
 		if (cam_send_ccb(device, ccb) < 0) {

==== //depot/projects/ia64/sbin/geom/class/cache/geom_cache.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/geom/class/cache/geom_cache.c,v 1.1 2006/10/06 08:27:06 ru Exp $");
+__FBSDID("$FreeBSD: src/sbin/geom/class/cache/geom_cache.c,v 1.2 2006/11/01 22:28:11 pjd Exp $");
 
 #include <errno.h>
 #include <stdio.h>
@@ -74,7 +74,7 @@
 	},
 	{ "destroy", G_FLAG_VERBOSE, NULL,
 	    {
-		{ 'f', "force", NULL, G_TYPE_NONE },
+		{ 'f', "force", NULL, G_TYPE_BOOL },
 		G_OPT_SENTINEL
 	    },
 	    "[-fv] name ..."
@@ -95,7 +95,7 @@
 	},
 	{ "stop", G_FLAG_VERBOSE, NULL,
 	    {
-		{ 'f', "force", NULL, G_TYPE_NONE },
+		{ 'f', "force", NULL, G_TYPE_BOOL },
 		G_OPT_SENTINEL
 	    },
 	    "[-fv] name ..."

==== //depot/projects/ia64/sbin/geom/class/mirror/geom_mirror.c#11 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/geom/class/mirror/geom_mirror.c,v 1.15 2006/10/10 15:00:32 pjd Exp $");
+__FBSDID("$FreeBSD: src/sbin/geom/class/mirror/geom_mirror.c,v 1.16 2006/11/01 22:51:48 pjd Exp $");
 
 #include <sys/param.h>
 #include <errno.h>
@@ -67,12 +67,14 @@
 		{ 'a', "autosync", NULL, G_TYPE_BOOL },
 		{ 'b', "balance", configure_balance, G_TYPE_STRING },
 		{ 'd', "dynamic", NULL, G_TYPE_BOOL },
+		{ 'f', "failsync", NULL, G_TYPE_BOOL },
+		{ 'F', "nofailsync", NULL, G_TYPE_BOOL },
 		{ 'h', "hardcode", NULL, G_TYPE_BOOL },
 		{ 'n', "noautosync", NULL, G_TYPE_BOOL },
 		{ 's', "slice", &configure_slice, G_TYPE_NUMBER },
 		G_OPT_SENTINEL
 	    },
-	    "[-adhnv] [-b balance] [-s slice] name"
+	    "[-adfFhnv] [-b balance] [-s slice] name"
 	},
 	{ "deactivate", G_FLAG_VERBOSE, NULL, G_NULL_OPTS,
 	    "[-v] name prov ..."
@@ -86,12 +88,13 @@
 	{ "label", G_FLAG_VERBOSE, mirror_main,
 	    {
 		{ 'b', "balance", label_balance, G_TYPE_STRING },
+		{ 'F', "nofailsync", NULL, G_TYPE_BOOL },
 		{ 'h', "hardcode", NULL, G_TYPE_BOOL },
 		{ 'n', "noautosync", NULL, G_TYPE_BOOL },
 		{ 's', "slice", &label_slice, G_TYPE_NUMBER },
 		G_OPT_SENTINEL
 	    },
-	    "[-hnv] [-b balance] [-s slice] name prov ..."
+	    "[-Fhnv] [-b balance] [-s slice] name prov ..."
 	},
 	{ "insert", G_FLAG_VERBOSE, NULL,
 	    {
@@ -154,7 +157,7 @@
 	unsigned sectorsize;
 	off_t mediasize;
 	intmax_t val;
-	int error, i, nargs, bal, hardcode, noautosync;
+	int error, i, nargs, bal, hardcode;
 
 	nargs = gctl_get_int(req, "nargs");
 	if (nargs < 2) {
@@ -182,9 +185,10 @@
 		return;
 	}
 	md.md_balance = bal;
-	noautosync = gctl_get_int(req, "noautosync");
-	if (noautosync)
+	if (gctl_get_int(req, "noautosync"))
 		md.md_mflags |= G_MIRROR_DEVICE_FLAG_NOAUTOSYNC;
+	if (gctl_get_int(req, "nofailsync"))
+		md.md_mflags |= G_MIRROR_DEVICE_FLAG_NOFAILSYNC;
 	hardcode = gctl_get_int(req, "hardcode");
 
 	/*

==== //depot/projects/ia64/sbin/geom/class/mirror/gmirror.8#11 (text+ko) ====

@@ -22,9 +22,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/sbin/geom/class/mirror/gmirror.8,v 1.20 2006/09/18 11:55:09 ru Exp $
+.\" $FreeBSD: src/sbin/geom/class/mirror/gmirror.8,v 1.22 2006/11/02 10:44:02 ceri Exp $
 .\"
-.Dd March 8, 2006
+.Dd November 1, 2006
 .Dt GMIRROR 8
 .Os
 .Sh NAME
@@ -33,7 +33,7 @@
 .Sh SYNOPSIS
 .Nm
 .Cm label
-.Op Fl hnv
+.Op Fl Fhnv
 .Op Fl b Ar balance
 .Op Fl s Ar slice
 .Ar name
@@ -44,7 +44,7 @@
 .Ar prov ...
 .Nm
 .Cm configure
-.Op Fl adhnv
+.Op Fl adfFhnv
 .Op Fl b Ar balance
 .Op Fl s Ar slice
 .Ar name
@@ -142,6 +142,9 @@
 where N is the number of active components.
 This is the default balance algorithm.
 .El
+.It Fl F
+Do not synchronize after a power failure or system crash.
+Assumes device is in consistent state.
 .It Fl h
 Hardcode providers' names in metadata.
 .It Fl n
@@ -167,6 +170,11 @@
 Specifies balance algorithm to use.
 .It Fl d
 Do not hardcode providers' names in metadata.
+.It Fl f
+Synchronize device after a power failure or system crash.
+.It Fl F
+Do not synchronize after a power failure or system crash.
+Assumes device is in consistent state.
 .It Fl h
 Hardcode providers' names in metadata.
 .It Fl n

==== //depot/projects/ia64/sbin/geom/class/raid3/geom_raid3.c#12 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/geom/class/raid3/geom_raid3.c,v 1.18 2006/10/10 15:00:32 pjd Exp $");
+__FBSDID("$FreeBSD: src/sbin/geom/class/raid3/geom_raid3.c,v 1.19 2006/11/01 22:51:48 pjd Exp $");
 
 #include <sys/param.h>
 #include <errno.h>
@@ -58,6 +58,8 @@
 	    {
 		{ 'a', "autosync", NULL, G_TYPE_BOOL },
 		{ 'd', "dynamic", NULL, G_TYPE_BOOL },
+		{ 'f', "failsync", NULL, G_TYPE_BOOL },
+		{ 'F', "nofailsync", NULL, G_TYPE_BOOL },
 		{ 'h', "hardcode", NULL, G_TYPE_BOOL },
 		{ 'n', "noautosync", NULL, G_TYPE_BOOL },
 		{ 'r', "round_robin", NULL, G_TYPE_BOOL },
@@ -66,7 +68,7 @@
 		{ 'W', "noverify", NULL, G_TYPE_BOOL },
 		G_OPT_SENTINEL
 	    },
-	    "[-adhnrRvwW] name"
+	    "[-adfFhnrRvwW] name"
 	},
 	{ "dump", 0, raid3_main, G_NULL_OPTS,
 	    "prov ..."
@@ -82,12 +84,13 @@
 	{ "label", G_FLAG_VERBOSE, raid3_main,
 	    {
 		{ 'h', "hardcode", NULL, G_TYPE_BOOL },
+		{ 'F', "nofailsync", NULL, G_TYPE_BOOL },
 		{ 'n', "noautosync", NULL, G_TYPE_BOOL },
 		{ 'r', "round_robin", NULL, G_TYPE_BOOL },
 		{ 'w', "verify", NULL, G_TYPE_BOOL },
 		G_OPT_SENTINEL
 	    },
-	    "[-hnrvw] name prov prov prov ..."
+	    "[-hFnrvw] name prov prov prov ..."
 	},
 	{ "rebuild", G_FLAG_VERBOSE, NULL, G_NULL_OPTS,
 	    "[-v] name prov"
@@ -142,7 +145,8 @@
 	const char *str;
 	unsigned sectorsize, ssize;
 	off_t mediasize, msize;
-	int error, i, nargs, hardcode, noautosync, round_robin, verify;
+	int hardcode, round_robin, verify;
+	int error, i, nargs;
 
 	nargs = gctl_get_int(req, "nargs");
 	if (nargs < 4) {
@@ -165,9 +169,10 @@
 	md.md_genid = 0;
 	md.md_syncid = 1;
 	md.md_sync_offset = 0;
-	noautosync = gctl_get_int(req, "noautosync");
-	if (noautosync)
+	if (gctl_get_int(req, "noautosync"))
 		md.md_mflags |= G_RAID3_DEVICE_FLAG_NOAUTOSYNC;
+	if (gctl_get_int(req, "nofailsync"))
+		md.md_mflags |= G_RAID3_DEVICE_FLAG_NOFAILSYNC;
 	round_robin = gctl_get_int(req, "round_robin");
 	if (round_robin)
 		md.md_mflags |= G_RAID3_DEVICE_FLAG_ROUND_ROBIN;

==== //depot/projects/ia64/sbin/geom/class/raid3/graid3.8#6 (text+ko) ====

@@ -22,9 +22,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/sbin/geom/class/raid3/graid3.8,v 1.16 2005/03/14 13:14:03 pjd Exp $
+.\" $FreeBSD: src/sbin/geom/class/raid3/graid3.8,v 1.18 2006/11/02 10:44:02 ceri Exp $
 .\"
-.Dd August 22, 2004
+.Dd November 1, 2006
 .Dt GRAID3 8
 .Os
 .Sh NAME
@@ -33,7 +33,7 @@
 .Sh SYNOPSIS
 .Nm
 .Cm label
-.Op Fl hnrvw
+.Op Fl Fhnrvw
 .Ar name
 .Ar prov prov prov ...
 .Nm
@@ -42,7 +42,7 @@
 .Ar prov ...
 .Nm
 .Cm configure
-.Op Fl adhnrRvwW
+.Op Fl adfFhnrRvwW
 .Ar name
 .Nm
 .Cm rebuild
@@ -97,6 +97,9 @@
 .Pp
 Additional options include:
 .Bl -tag -width ".Fl h"
+.It Fl F
+Do not synchronize after a power failure or system crash.
+Assumes device is in consistent state.
 .It Fl h
 Hardcode providers' names in metadata.
 .It Fl n
@@ -134,6 +137,11 @@
 Turn on autosynchronization of stale components.
 .It Fl d
 Do not hardcode providers' names in metadata.
+.It Fl f
+Synchronize device after a power failure or system crash.
+.It Fl F
+Do not synchronize after a power failure or system crash.
+Assumes device is in consistent state.
 .It Fl h
 Hardcode providers' names in metadata.
 .It Fl n

==== //depot/projects/ia64/share/man/man5/elf.5#12 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man5/elf.5,v 1.33 2005/12/19 01:51:17 marcel Exp $
+.\" $FreeBSD: src/share/man/man5/elf.5,v 1.34 2006/11/02 09:21:57 jkoshy Exp $
 .\"
 .Dd December 18, 2005
 .Dt ELF 5
@@ -90,6 +90,7 @@
 .Bd -literal -offset indent
 Elf32_Addr	Unsigned 32-bit program address
 Elf32_Half	Unsigned 16-bit field
+Elf32_Lword	Unsigned 64-bit field
 Elf32_Off	Unsigned 32-bit file offset
 Elf32_Sword	Signed 32-bit field or integer
 Elf32_Word	Unsigned 32-bit field or integer
@@ -99,10 +100,11 @@
 .Bd -literal -offset indent
 Elf64_Addr	Unsigned 64-bit program address
 Elf64_Half	Unsigned 16-bit field
+Elf64_Lword	Unsigned 64-bit field
 Elf64_Off	Unsigned 64-bit file offset
 Elf64_Sword	Signed 32-bit field
+Elf64_Sxword	Signed 64-bit field or integer
 Elf64_Word	Unsigned 32-bit field
-Elf64_Sxword	Signed 64-bit field or integer
 Elf64_Xword	Unsigned 64-bit field or integer
 .Ed
 .Pp
@@ -375,19 +377,31 @@
 entry in the section header table; all entries are the same size.
 .It Dv e_shnum
 This member holds the number of entries in the section header table.
-Thus
-the product of
-.Sy e_shentsize
-and
+If the file is using extended section numbering, then the
 .Sy e_shnum
-gives the section header table's size in bytes.
-If a file has no section
-header table,
+field will be zero and the actual section number will be stored in the
+.Sy sh_size
+member of the section header at index
+.Dv SHN_UNDEF .
+If a file has no section header table, both the
 .Sy e_shnum
-holds the value of zero.
+and the
+.Sy e_shoff
+fields of the ELF header will be zero.
+The product of
+.Sy e_shentsize
+and the number of sections in the file gives the section header
+table's size in bytes.
 .It Dv e_shstrndx
 This member holds the section header table index of the entry associated
 with the section name string table.
+If extended section numbering is being used, this field will hold the
+value
+.Sy SHN_XINDEX ,
+and the actual section header table index will be present in the
+.Sy sh_link
+field of the section header entry at index
+.Dv SHN_UNDEF .
 If the file has no section name string
 table, this member holds the value
 .Sy SHN_UNDEF .

==== //depot/projects/ia64/sys/boot/common/load_elf.c#19 (text+ko) ====

@@ -26,12 +26,13 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.35 2006/10/29 14:50:57 ru Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.37 2006/11/02 17:52:43 ru Exp $");
 
 #include <sys/param.h>
 #include <sys/exec.h>
 #include <sys/linker.h>
 #include <sys/module.h>
+#include <sys/stdint.h>
 #include <string.h>
 #include <machine/elf.h>
 #include <stand.h>
@@ -263,7 +264,7 @@
 #if __ELF_WORD_SIZE == 64
 	off = - (off & 0xffffffffff000000ull);/* x86_64 relocates after locore */
 #else
-	off = - (off & 0xc0000000u);	/* i386 relocates after locore */
+	off = - (off & 0xff000000u);	/* i386 relocates after locore */
 #endif
 #else
 	off = 0;		/* other archs use direct mapped kernels */
@@ -400,9 +401,9 @@
 	lastaddr += sizeof(size);
 
 #ifdef ELF_VERBOSE
-	printf("\n%s: 0x%lx@0x%lx -> 0x%lx-0x%lx", secname,
-	    shdr[i].sh_size, shdr[i].sh_offset,
-	    lastaddr, lastaddr + shdr[i].sh_size);
+	printf("\n%s: 0x%jx@0x%jx -> 0x%jx-0x%jx", secname,
+	    (uintmax_t)shdr[i].sh_size, (uintmax_t)shdr[i].sh_offset,
+	    (uintmax_t)lastaddr, (uintmax_t)(lastaddr + shdr[i].sh_size));
 #else
 	if (i == symstrindex)
 	    printf("+");

==== //depot/projects/ia64/sys/boot/i386/boot2/boot2.c#26 (text+ko) ====

@@ -14,7 +14,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.82 2006/10/29 14:50:57 ru Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.83 2006/11/02 17:28:38 ru Exp $");
 
 #include <sys/param.h>
 #include <sys/disklabel.h>
@@ -334,7 +334,7 @@
 	return;
     }
     if (fmt == 0) {
-	addr = hdr.ex.a_entry & 0x3fffffff;
+	addr = hdr.ex.a_entry & 0xffffff;
 	p = PTOV(addr);
 	fs_off = PAGE_SIZE;
 	if (xfsread(ino, p, hdr.ex.a_text))
@@ -368,7 +368,7 @@
 		j++;
 	}
 	for (i = 0; i < 2; i++) {
-	    p = PTOV(ep[i].p_paddr & 0x3fffffff);
+	    p = PTOV(ep[i].p_paddr & 0xffffff);
 	    fs_off = ep[i].p_offset;
 	    if (xfsread(ino, p, ep[i].p_filesz))
 		return;
@@ -389,7 +389,7 @@
 		p += es[i].sh_size;
 	    }
 	}
-	addr = hdr.eh.e_entry & 0x3fffffff;
+	addr = hdr.eh.e_entry & 0xffffff;
     }
     bootinfo.bi_esymtab = VTOP(p);
     bootinfo.bi_kernelname = VTOP(kname);

==== //depot/projects/ia64/sys/boot/i386/libi386/elf32_freebsd.c#5 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.16 2006/10/29 14:50:58 ru Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.17 2006/11/02 17:28:38 ru Exp $");
 
 #include <sys/param.h>
 #include <sys/exec.h>
@@ -65,7 +65,7 @@
     err = bi_load32(fp->f_args, &boothowto, &bootdev, &bootinfop, &modulep, &kernend);
     if (err != 0)
 	return(err);
-    entry = ehdr->e_entry & 0x3fffffff;
+    entry = ehdr->e_entry & 0xffffff;
 
 #ifdef DEBUG
     printf("Start @ 0x%lx ...\n", entry);

==== //depot/projects/ia64/sys/boot/ia64/ski/acpi_stub.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/acpi_stub.c,v 1.6 2005/01/05 22:16:58 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/acpi_stub.c,v 1.7 2006/11/03 04:04:19 marcel Exp $");
 
 #include <contrib/dev/acpica/acpi.h>

>>> TRUNCATED FOR MAIL (1000 lines) <<<



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