svn commit: r274562 - stable/10/sys/cam/ctl

Alexander Motin mav at FreeBSD.org
Sun Nov 16 01:47:44 UTC 2014


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 |


More information about the svn-src-stable-10 mailing list