Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Nov 2014 01:47:43 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r274562 - stable/10/sys/cam/ctl
Message-ID:  <201411160147.sAG1lhKj062210@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Sun Nov 16 01:47:43 2014
New Revision: 274562
URL: https://svnweb.freebsd.org/changeset/base/274562

Log:
  MFC r274333: Handle PREEMPT AND ABORT service action equal to PREEMPT.
  
  With command serialization used in CTL, there are no other commands to abort
  when PREEMPT AND ABORT gets to run, so it is practically equal to PREEMPT.

Modified:
  stable/10/sys/cam/ctl/ctl.c
  stable/10/sys/cam/ctl/ctl_cmd_table.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/cam/ctl/ctl.c
==============================================================================
--- stable/10/sys/cam/ctl/ctl.c	Sun Nov 16 01:29:18 2014	(r274561)
+++ stable/10/sys/cam/ctl/ctl.c	Sun Nov 16 01:47:43 2014	(r274562)
@@ -8691,7 +8691,8 @@ ctl_persistent_reserve_out(struct ctl_sc
 		}
 		break;
 
-	case SPRO_PREEMPT: {
+	case SPRO_PREEMPT:
+	case SPRO_PRE_ABO: {
 		int nretval;
 
 		nretval = ctl_pro_preempt(softc, lun, res_key, sa_res_key, type,

Modified: stable/10/sys/cam/ctl/ctl_cmd_table.c
==============================================================================
--- stable/10/sys/cam/ctl/ctl_cmd_table.c	Sun Nov 16 01:29:18 2014	(r274561)
+++ stable/10/sys/cam/ctl/ctl_cmd_table.c	Sun Nov 16 01:47:43 2014	(r274562)
@@ -180,7 +180,16 @@ const struct ctl_cmd_entry ctl_cmd_table
  10, { 0x04, 0xff, 0, 0, 0xff, 0xff, 0xff, 0xff, 0x07}},
 
 /* 05 PREEMPT AND ABORT */
-{NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE},
+{ctl_persistent_reserve_out, CTL_SERIDX_RES, CTL_CMD_FLAG_ALLOW_ON_RESV |
+						CTL_CMD_FLAG_OK_ON_BOTH |
+						CTL_CMD_FLAG_OK_ON_STOPPED |
+						CTL_CMD_FLAG_OK_ON_INOPERABLE |
+						CTL_CMD_FLAG_OK_ON_OFFLINE |
+						CTL_CMD_FLAG_OK_ON_SECONDARY |
+						CTL_FLAG_DATA_OUT |
+						CTL_CMD_FLAG_ALLOW_ON_PR_RESV,
+ CTL_LUN_PAT_NONE,
+ 10, { 0x05, 0xff, 0, 0, 0xff, 0xff, 0xff, 0xff, 0x07}},
 
 /* 06 REGISTER AND IGNORE EXISTING KEY */
 {ctl_persistent_reserve_out, CTL_SERIDX_RES, CTL_CMD_FLAG_ALLOW_ON_RESV |



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