Author: mav
Date: Mon Oct  5 11:48:14 2015
New Revision: 288820
URL: https://svnweb.freebsd.org/changeset/base/288820

Log:
  MFC r288449:
  Implement SPC-3 exceptions to SPC-2 RESERVE and RELEASE behavior.

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

Modified: stable/10/sys/cam/ctl/ctl.c
==============================================================================
--- stable/10/sys/cam/ctl/ctl.c Mon Oct  5 11:47:16 2015        (r288819)
+++ stable/10/sys/cam/ctl/ctl.c Mon Oct  5 11:48:14 2015        (r288820)
@@ -5103,6 +5103,13 @@ ctl_scsi_reserve(struct ctl_scsiio *ctsi
                ctl_set_reservation_conflict(ctsio);
                goto bailout;
        }
+
+       /* SPC-3 exceptions to SPC-2 RESERVE and RELEASE behavior. */
+       if (lun->flags & CTL_LUN_PR_RESERVED) {
+               ctl_set_success(ctsio);
+               goto bailout;
+       }
+
        lun->flags |= CTL_LUN_RESERVED;
        lun->res_idx = residx;
        ctl_set_success(ctsio);
@@ -7626,7 +7633,8 @@ retry:
 
                res_cap = (struct scsi_per_res_cap *)ctsio->kern_data_ptr;
                scsi_ulto2b(sizeof(*res_cap), res_cap->length);
-               res_cap->flags2 |= SPRI_TMV | SPRI_ALLOW_5;
+               res_cap->flags1 = SPRI_CRH;
+               res_cap->flags2 = SPRI_TMV | SPRI_ALLOW_5;
                type_mask = SPRI_TM_WR_EX_AR |
                            SPRI_TM_EX_AC_RO |
                            SPRI_TM_WR_EX_RO |
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to