From owner-svn-src-user@FreeBSD.ORG Tue Jul 8 20:45:41 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E174336E; Tue, 8 Jul 2014 20:45:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CB6AB2F5C; Tue, 8 Jul 2014 20:45:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s68KjfTI084213; Tue, 8 Jul 2014 20:45:41 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s68KjcUJ084191; Tue, 8 Jul 2014 20:45:38 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201407082045.s68KjcUJ084191@svn.freebsd.org> From: Attilio Rao Date: Tue, 8 Jul 2014 20:45:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: 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... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jul 2014 20:45:42 -0000 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. + The IMAGACT_BINMISC + kernel configuration option has been enabled by default, + which enables application execution through emulators, such + as Qemu. + + Support for the &man.cxgbe.4; Terminator 5 + (T5) 10G/40G cards has been added to &man.netmap.4;. + The VT kernel configuration file has been removed, and the &man.vt.4; driver is included in the GENERIC kernel. @@ -218,6 +227,12 @@ Hardware Support + The &man.asmc.4; driver has been updated + to support the &apple; MacMini 3,1. + + Support for &os;/ia64 has been dropped + as of &os; 11. + Multimedia Support @@ -247,6 +262,10 @@ The &man.ath.hal.4; driver has been updated to support the Atheros AR1111 chipset. + + Support for the &intel; + Centrino™ Wireless-N 105 chipset has been + added. @@ -261,7 +280,9 @@ Disks and Storage -   + Support for the + disklabel64 partitioning scheme has been + added to &man.gpart.8;. 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 @@ + + 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 {