svn commit: r268426 - in user/attilio/rm_vmobj_cache: release/doc/en_US.ISO8859-1/relnotes release/doc/share/xml sbin/geom/class/part share/mk sys/arm/freescale/imx sys/cam/ctl sys/cam/scsi sys/cdd...
Attilio Rao
attilio at FreeBSD.org
Tue Jul 8 20:45:42 UTC 2014
Author: attilio
Date: Tue Jul 8 20:45:38 2014
New Revision: 268426
URL: http://svnweb.freebsd.org/changeset/base/268426
Log:
Merge from head.
Modified:
user/attilio/rm_vmobj_cache/release/doc/en_US.ISO8859-1/relnotes/article.xml
user/attilio/rm_vmobj_cache/release/doc/share/xml/sponsor.ent
user/attilio/rm_vmobj_cache/sbin/geom/class/part/gpart.8
user/attilio/rm_vmobj_cache/share/mk/bsd.cpu.mk
user/attilio/rm_vmobj_cache/sys/arm/freescale/imx/imx6_mp.c
user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl.c
user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_error.c
user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_error.h
user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_frontend_cam_sim.c
user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_frontend_iscsi.c
user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_io.h
user/attilio/rm_vmobj_cache/sys/cam/ctl/scsi_ctl.c
user/attilio/rm_vmobj_cache/sys/cam/scsi/scsi_all.h
user/attilio/rm_vmobj_cache/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
user/attilio/rm_vmobj_cache/sys/dev/isp/isp_freebsd.c
Directory Properties:
user/attilio/rm_vmobj_cache/ (props changed)
user/attilio/rm_vmobj_cache/sbin/ (props changed)
user/attilio/rm_vmobj_cache/share/ (props changed)
user/attilio/rm_vmobj_cache/sys/ (props changed)
user/attilio/rm_vmobj_cache/sys/cddl/contrib/opensolaris/ (props changed)
Modified: user/attilio/rm_vmobj_cache/release/doc/en_US.ISO8859-1/relnotes/article.xml
==============================================================================
--- user/attilio/rm_vmobj_cache/release/doc/en_US.ISO8859-1/relnotes/article.xml Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/release/doc/en_US.ISO8859-1/relnotes/article.xml Tue Jul 8 20:45:38 2014 (r268426)
@@ -156,6 +156,15 @@
&man.sysctl.8; on &intel; processors with Turbo
Boost ™ enabled has been fixed.</para>
+ <para revision="266531">The <literal>IMAGACT_BINMISC</literal>
+ kernel configuration option has been enabled by default,
+ which enables application execution through emulators, such
+ as <application>Qemu</application>.</para>
+
+ <para revision="266757" contrib="sponsor"
+ sponsor="&chelsio;">Support for the &man.cxgbe.4; Terminator 5
+ (T5) 10G/40G cards has been added to &man.netmap.4;.</para>
+
<para revision="268045">The <literal>VT</literal> kernel
configuration file has been removed, and the &man.vt.4;
driver is included in the <literal>GENERIC</literal> kernel.
@@ -218,6 +227,12 @@
<sect3 xml:id="proc">
<title>Hardware Support</title>
+ <para revision="268303">The &man.asmc.4; driver has been updated
+ to support the &apple; MacMini 3,1.</para>
+
+ <para revision="268351">Support for &os;/ia64 has been dropped
+ as of &os; 11.</para>
+
<sect4 xml:id="mm">
<title>Multimedia Support</title>
@@ -247,6 +262,10 @@
<para revision="265348" contrib="sponsor"
sponsor="&netgate;">The &man.ath.hal.4; driver has been
updated to support the Atheros AR1111 chipset.</para>
+
+ <para revision="266770">Support for the &intel;
+ Centrino™ Wireless-N 105 chipset has been
+ added.</para>
</sect4>
</sect3>
@@ -261,7 +280,9 @@
<sect3 xml:id="disks">
<title>Disks and Storage</title>
- <para> </para>
+ <para revision="267359">Support for the
+ <literal>disklabel64</literal> partitioning scheme has been
+ added to &man.gpart.8;.</para>
</sect3>
<sect3 xml:id="fs">
Modified: user/attilio/rm_vmobj_cache/release/doc/share/xml/sponsor.ent
==============================================================================
--- user/attilio/rm_vmobj_cache/release/doc/share/xml/sponsor.ent Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/release/doc/share/xml/sponsor.ent Tue Jul 8 20:45:38 2014 (r268426)
@@ -10,6 +10,8 @@
<!ENTITY afrl "AFRL">
+<!ENTITY chelsio "Chelsio Communications">
+
<!ENTITY citrix "Citrix Systems">
<!ENTITY citrix.rd "Citrix Systems R&D">
Modified: user/attilio/rm_vmobj_cache/sbin/geom/class/part/gpart.8
==============================================================================
--- user/attilio/rm_vmobj_cache/sbin/geom/class/part/gpart.8 Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sbin/geom/class/part/gpart.8 Tue Jul 8 20:45:38 2014 (r268426)
@@ -551,7 +551,8 @@ The
utility also allows the user to specify scheme-specific partition types
for partition types that do not have symbolic names.
Symbolic names currently understood and used by
-.Fx are:
+.Fx
+are:
.Bl -tag -width ".Cm dragonfly-disklabel64"
.It Cm apple-boot
The system partition dedicated to storing boot loaders on some Apple
Modified: user/attilio/rm_vmobj_cache/share/mk/bsd.cpu.mk
==============================================================================
--- user/attilio/rm_vmobj_cache/share/mk/bsd.cpu.mk Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/share/mk/bsd.cpu.mk Tue Jul 8 20:45:38 2014 (r268426)
@@ -260,3 +260,4 @@ CFLAGS += ${_CPUCFLAGS}
# Add in any architecture-specific CFLAGS.
# These come from make.conf or the command line or the environment.
CFLAGS += ${CFLAGS.${MACHINE_ARCH}}
+CXXFLAGS += ${CXXFLAGS.${MACHINE_ARCH}}
Modified: user/attilio/rm_vmobj_cache/sys/arm/freescale/imx/imx6_mp.c
==============================================================================
--- user/attilio/rm_vmobj_cache/sys/arm/freescale/imx/imx6_mp.c Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sys/arm/freescale/imx/imx6_mp.c Tue Jul 8 20:45:38 2014 (r268426)
@@ -162,7 +162,7 @@ platform_mp_start_ap(void)
( 1 << (SRC_CONTROL_C1RST_SHIFT - 1 + i)));
}
- bus_space_write_4(fdtbus_bs_tag, src, 0, val);
+ bus_space_write_4(fdtbus_bs_tag, src, SRC_CONTROL_REG, val);
armv7_sev();
Modified: user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl.c
==============================================================================
--- user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl.c Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl.c Tue Jul 8 20:45:38 2014 (r268426)
@@ -282,8 +282,10 @@ static struct scsi_control_page control_
/*rlec*/0,
/*queue_flags*/0,
/*eca_and_aen*/0,
- /*reserved*/0,
- /*aen_holdoff_period*/{0, 0}
+ /*flags4*/SCP_TAS,
+ /*aen_holdoff_period*/{0, 0},
+ /*busy_timeout_period*/{0, 0},
+ /*extended_selftest_completion_time*/{0, 0}
};
static struct scsi_control_page control_page_changeable = {
@@ -292,8 +294,10 @@ static struct scsi_control_page control_
/*rlec*/SCP_DSENSE,
/*queue_flags*/0,
/*eca_and_aen*/0,
- /*reserved*/0,
- /*aen_holdoff_period*/{0, 0}
+ /*flags4*/0,
+ /*aen_holdoff_period*/{0, 0},
+ /*busy_timeout_period*/{0, 0},
+ /*extended_selftest_completion_time*/{0, 0}
};
@@ -7576,7 +7580,7 @@ ctl_report_supported_tmf(struct ctl_scsi
ctsio->kern_rel_offset = 0;
data = (struct scsi_report_supported_tmf_data *)ctsio->kern_data_ptr;
- data->byte1 |= RST_ATS | RST_ATSS | RST_LURS | RST_TRS;
+ data->byte1 |= RST_ATS | RST_ATSS | RST_CTSS | RST_LURS | RST_TRS;
data->byte2 |= RST_ITNRS;
ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
@@ -11793,7 +11797,7 @@ ctl_lun_reset(struct ctl_lun *lun, union
#endif
for (xio = (union ctl_io *)TAILQ_FIRST(&lun->ooa_queue); xio != NULL;
xio = (union ctl_io *)TAILQ_NEXT(&xio->io_hdr, ooa_links)) {
- xio->io_hdr.flags |= CTL_FLAG_ABORT;
+ xio->io_hdr.flags |= CTL_FLAG_ABORT | CTL_FLAG_ABORT_STATUS;
}
/*
@@ -11822,7 +11826,7 @@ ctl_lun_reset(struct ctl_lun *lun, union
ctl_clear_mask(lun->have_ca, i);
lun->pending_sense[i].ua_pending |= ua_type;
}
- mtx_lock(&lun->lun_lock);
+ mtx_unlock(&lun->lun_lock);
return (0);
}
@@ -11846,8 +11850,13 @@ ctl_abort_tasks_lun(struct ctl_lun *lun,
for (xio = (union ctl_io *)TAILQ_FIRST(&lun->ooa_queue); xio != NULL;
xio = (union ctl_io *)TAILQ_NEXT(&xio->io_hdr, ooa_links)) {
- if ((targ_port == xio->io_hdr.nexus.targ_port) &&
- (init_id == xio->io_hdr.nexus.initid.id)) {
+ if ((targ_port == UINT32_MAX ||
+ targ_port == xio->io_hdr.nexus.targ_port) &&
+ (init_id == UINT32_MAX ||
+ init_id == xio->io_hdr.nexus.initid.id)) {
+ if (targ_port != xio->io_hdr.nexus.targ_port ||
+ init_id != xio->io_hdr.nexus.initid.id)
+ xio->io_hdr.flags |= CTL_FLAG_ABORT_STATUS;
xio->io_hdr.flags |= CTL_FLAG_ABORT;
found = 1;
if (!other_sc && !(lun->flags & CTL_LUN_PRIMARY_SC)) {
@@ -11889,9 +11898,14 @@ ctl_abort_task_set(union ctl_io *io)
mtx_lock(&lun->lun_lock);
mtx_unlock(&softc->ctl_lock);
- ctl_abort_tasks_lun(lun, io->io_hdr.nexus.targ_port,
- io->io_hdr.nexus.initid.id,
- (io->io_hdr.flags & CTL_FLAG_FROM_OTHER_SC) != 0);
+ if (io->taskio.task_action == CTL_TASK_ABORT_TASK_SET) {
+ ctl_abort_tasks_lun(lun, io->io_hdr.nexus.targ_port,
+ io->io_hdr.nexus.initid.id,
+ (io->io_hdr.flags & CTL_FLAG_FROM_OTHER_SC) != 0);
+ } else { /* CTL_TASK_CLEAR_TASK_SET */
+ ctl_abort_tasks_lun(lun, UINT32_MAX, UINT32_MAX,
+ (io->io_hdr.flags & CTL_FLAG_FROM_OTHER_SC) != 0);
+ }
mtx_unlock(&lun->lun_lock);
return (0);
}
@@ -12111,12 +12125,11 @@ ctl_run_task(union ctl_io *io)
retval = ctl_abort_task(io);
break;
case CTL_TASK_ABORT_TASK_SET:
+ case CTL_TASK_CLEAR_TASK_SET:
retval = ctl_abort_task_set(io);
break;
case CTL_TASK_CLEAR_ACA:
break;
- case CTL_TASK_CLEAR_TASK_SET:
- break;
case CTL_TASK_I_T_NEXUS_RESET:
retval = ctl_i_t_nexus_reset(io);
break;
@@ -12493,7 +12506,6 @@ ctl_datamove(union ctl_io *io)
io->io_hdr.nexus.targ_port,
(uintmax_t)io->io_hdr.nexus.targ_target.id,
io->io_hdr.nexus.targ_lun);
- io->io_hdr.status = CTL_CMD_ABORTED;
io->io_hdr.port_status = 31337;
/*
* Note that the backend, in this case, will get the
@@ -13249,24 +13261,18 @@ ctl_datamove_remote(union ctl_io *io)
/*
* Note that we look for an aborted I/O here, but don't do some of
- * the other checks that ctl_datamove() normally does. We don't
- * need to run the task queue, because this I/O is on the ISC
- * queue, which is executed by the work thread after the task queue.
+ * the other checks that ctl_datamove() normally does.
* We don't need to run the datamove delay code, since that should
* have been done if need be on the other controller.
*/
if (io->io_hdr.flags & CTL_FLAG_ABORT) {
-
printf("%s: tag 0x%04x on (%d:%d:%d:%d) aborted\n", __func__,
io->scsiio.tag_num, io->io_hdr.nexus.initid.id,
io->io_hdr.nexus.targ_port,
io->io_hdr.nexus.targ_target.id,
io->io_hdr.nexus.targ_lun);
- io->io_hdr.status = CTL_CMD_ABORTED;
io->io_hdr.port_status = 31338;
-
ctl_send_datamove_done(io, /*have_lock*/ 0);
-
return;
}
@@ -13474,7 +13480,7 @@ ctl_process_done(union ctl_io *io)
* whatever it needs to do to clean up its state.
*/
if (io->io_hdr.flags & CTL_FLAG_ABORT)
- io->io_hdr.status = CTL_CMD_ABORTED;
+ ctl_set_task_aborted(&io->scsiio);
/*
* We print out status for every task management command. For SCSI
Modified: user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_error.c
==============================================================================
--- user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_error.c Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_error.c Tue Jul 8 20:45:38 2014 (r268426)
@@ -795,6 +795,18 @@ ctl_set_busy(struct ctl_scsiio *ctsio)
}
void
+ctl_set_task_aborted(struct ctl_scsiio *ctsio)
+{
+ struct scsi_sense_data *sense;
+
+ sense = &ctsio->sense_data;
+ memset(sense, 0, sizeof(*sense));
+ ctsio->scsi_status = SCSI_STATUS_TASK_ABORTED;
+ ctsio->sense_len = 0;
+ ctsio->io_hdr.status = CTL_CMD_ABORTED;
+}
+
+void
ctl_set_success(struct ctl_scsiio *ctsio)
{
struct scsi_sense_data *sense;
Modified: user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_error.h
==============================================================================
--- user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_error.h Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_error.h Tue Jul 8 20:45:38 2014 (r268426)
@@ -80,6 +80,7 @@ void ctl_set_data_phase_error(struct ctl
void ctl_set_reservation_conflict(struct ctl_scsiio *ctsio);
void ctl_set_queue_full(struct ctl_scsiio *ctsio);
void ctl_set_busy(struct ctl_scsiio *ctsio);
+void ctl_set_task_aborted(struct ctl_scsiio *ctsio);
void ctl_set_success(struct ctl_scsiio *ctsio);
#endif /* _CTL_ERROR_H_ */
Modified: user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_frontend_cam_sim.c
==============================================================================
--- user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_frontend_cam_sim.c Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_frontend_cam_sim.c Tue Jul 8 20:45:38 2014 (r268426)
@@ -460,6 +460,10 @@ cfcs_done(union ctl_io *io)
union ccb *ccb;
ccb = io->io_hdr.ctl_private[CTL_PRIV_FRONTEND].ptr;
+ if (ccb == NULL) {
+ ctl_free_io(io);
+ return;
+ }
/*
* At this point we should have status. If we don't, that's a bug.
@@ -741,7 +745,8 @@ cfcs_action(struct cam_sim *sim, union c
ctl_zero_io(io);
/* Save pointers on both sides */
- io->io_hdr.ctl_private[CTL_PRIV_FRONTEND].ptr = ccb;
+ if (ccb->ccb_h.func_code == XPT_RESET_DEV)
+ io->io_hdr.ctl_private[CTL_PRIV_FRONTEND].ptr = ccb;
ccb->ccb_h.io_ptr = io;
io->io_hdr.io_type = CTL_IO_TASK;
Modified: user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_frontend_iscsi.c
==============================================================================
--- user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_frontend_iscsi.c Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_frontend_iscsi.c Tue Jul 8 20:45:38 2014 (r268426)
@@ -2702,7 +2702,8 @@ cfiscsi_scsi_command_done(union ctl_io *
* Do not return status for aborted commands.
* There are exceptions, but none supported by CTL yet.
*/
- if (io->io_hdr.status == CTL_CMD_ABORTED) {
+ if (io->io_hdr.status == CTL_CMD_ABORTED &&
+ (io->io_hdr.flags & CTL_FLAG_ABORT_STATUS) == 0) {
ctl_free_io(io);
icl_pdu_free(request);
return;
Modified: user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_io.h
==============================================================================
--- user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_io.h Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sys/cam/ctl/ctl_io.h Tue Jul 8 20:45:38 2014 (r268426)
@@ -96,6 +96,7 @@ typedef enum {
CTL_FLAG_CONTROL_DEV = 0x00000080, /* processor device */
CTL_FLAG_ALLOCATED = 0x00000100, /* data space allocated */
CTL_FLAG_BLOCKED = 0x00000200, /* on the blocked queue */
+ CTL_FLAG_ABORT_STATUS = 0x00000400, /* return TASK ABORTED status */
CTL_FLAG_ABORT = 0x00000800, /* this I/O should be aborted */
CTL_FLAG_DMA_INPROG = 0x00001000, /* DMA in progress */
CTL_FLAG_NO_DATASYNC = 0x00002000, /* don't cache flush data */
Modified: user/attilio/rm_vmobj_cache/sys/cam/ctl/scsi_ctl.c
==============================================================================
--- user/attilio/rm_vmobj_cache/sys/cam/ctl/scsi_ctl.c Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sys/cam/ctl/scsi_ctl.c Tue Jul 8 20:45:38 2014 (r268426)
@@ -805,7 +805,8 @@ ctlfestart(struct cam_periph *periph, un
scsi_status = SCSI_STATUS_BUSY;
csio->sense_len = 0;
} else if ((io->io_hdr.status & CTL_STATUS_MASK) ==
- CTL_CMD_ABORTED) {
+ CTL_CMD_ABORTED &&
+ (io->io_hdr.flags & CTL_FLAG_ABORT_STATUS) == 0) {
io->io_hdr.flags &= ~CTL_FLAG_STATUS_QUEUED;
/*
Modified: user/attilio/rm_vmobj_cache/sys/cam/scsi/scsi_all.h
==============================================================================
--- user/attilio/rm_vmobj_cache/sys/cam/scsi/scsi_all.h Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sys/cam/scsi/scsi_all.h Tue Jul 8 20:45:38 2014 (r268426)
@@ -630,15 +630,24 @@ struct scsi_control_page {
#define SCP_QUEUE_ALG_MASK 0xF0
#define SCP_QUEUE_ALG_RESTRICTED 0x00
#define SCP_QUEUE_ALG_UNRESTRICTED 0x10
+#define SCP_NUAR 0x08 /*No UA on release*/
#define SCP_QUEUE_ERR 0x02 /*Queued I/O aborted for CACs*/
#define SCP_QUEUE_DQUE 0x01 /*Queued I/O disabled*/
u_int8_t eca_and_aen;
#define SCP_EECA 0x80 /*Enable Extended CA*/
+#define SCP_RAC 0x40 /*Report a check*/
+#define SCP_SWP 0x08 /*Software Write Protect*/
#define SCP_RAENP 0x04 /*Ready AEN Permission*/
#define SCP_UAAENP 0x02 /*UA AEN Permission*/
#define SCP_EAENP 0x01 /*Error AEN Permission*/
- u_int8_t reserved;
+ u_int8_t flags4;
+#define SCP_ATO 0x80 /*Application tag owner*/
+#define SCP_TAS 0x40 /*Task aborted status*/
+#define SCP_ATMPE 0x20 /*Application tag mode page*/
+#define SCP_RWWP 0x10 /*Reject write without prot*/
u_int8_t aen_holdoff_period[2];
+ u_int8_t busy_timeout_period[2];
+ u_int8_t extended_selftest_completion_time[2];
};
struct scsi_cache_page {
Modified: user/attilio/rm_vmobj_cache/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- user/attilio/rm_vmobj_cache/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Tue Jul 8 20:45:38 2014 (r268426)
@@ -6875,7 +6875,7 @@ vop_setextattr {
va.va_size = 0;
error = VOP_SETATTR(vp, &va, ap->a_cred);
if (error == 0)
- VOP_WRITE(vp, ap->a_uio, IO_UNIT | IO_SYNC, ap->a_cred);
+ VOP_WRITE(vp, ap->a_uio, IO_UNIT, ap->a_cred);
VOP_UNLOCK(vp, 0);
vn_close(vp, flags, ap->a_cred, td);
Modified: user/attilio/rm_vmobj_cache/sys/dev/isp/isp_freebsd.c
==============================================================================
--- user/attilio/rm_vmobj_cache/sys/dev/isp/isp_freebsd.c Tue Jul 8 19:55:44 2014 (r268425)
+++ user/attilio/rm_vmobj_cache/sys/dev/isp/isp_freebsd.c Tue Jul 8 20:45:38 2014 (r268426)
@@ -5107,7 +5107,7 @@ isp_action(struct cam_sim *sim, union cc
break;
#endif
case XPT_SCSI_IO:
- error = isp_control(isp, ISPCTL_ABORT_CMD, ccb);
+ error = isp_control(isp, ISPCTL_ABORT_CMD, accb);
if (error) {
ccb->ccb_h.status = CAM_UA_ABORT;
} else {
More information about the svn-src-user
mailing list