Author: mav
Date: Sat Sep 14 10:00:20 2013
New Revision: 255562
URL: http://svnweb.freebsd.org/changeset/base/255562

Log:
  MFC r255120:
  Bring legacy CAM target implementation back into API/KPI-coherent and even
  functional state.  While CTL is much more superior target from all points,
  there is no reason why this code should not work.

Modified:
  stable/9/share/examples/scsi_target/scsi_target.c
  stable/9/sys/cam/scsi/scsi_targ_bh.c
  stable/9/sys/cam/scsi/scsi_target.c
Directory Properties:
  stable/9/share/examples/scsi_target/   (props changed)
  stable/9/sys/   (props changed)

Modified: stable/9/share/examples/scsi_target/scsi_target.c
==============================================================================
--- stable/9/share/examples/scsi_target/scsi_target.c   Sat Sep 14 09:53:57 
2013        (r255561)
+++ stable/9/share/examples/scsi_target/scsi_target.c   Sat Sep 14 10:00:20 
2013        (r255562)
@@ -371,7 +371,7 @@ init_ccbs()
        for (i = 0; i < MAX_INITIATORS; i++) {
                struct ccb_accept_tio *atio;
                struct atio_descr *a_descr;
-               struct ccb_immed_notify *inot;
+               struct ccb_immediate_notify *inot;
 
                atio = (struct ccb_accept_tio *)malloc(sizeof(*atio));
                if (atio == NULL) {
@@ -388,7 +388,7 @@ init_ccbs()
                atio->ccb_h.targ_descr = a_descr;
                send_ccb((union ccb *)atio, /*priority*/1);
 
-               inot = (struct ccb_immed_notify *)malloc(sizeof(*inot));
+               inot = (struct ccb_immediate_notify *)malloc(sizeof(*inot));
                if (inot == NULL) {
                        warn("malloc INOT");
                        return (-1);
@@ -599,7 +599,7 @@ handle_read()
                        oo += run_queue(c_descr->atio);
                        break;
                }
-               case XPT_IMMED_NOTIFY:
+               case XPT_IMMEDIATE_NOTIFY:
                        /* INOTs are handled with priority */
                        TAILQ_INSERT_HEAD(&work_queue, &ccb->ccb_h,
                                          periph_links.tqe);
@@ -909,7 +909,7 @@ free_ccb(union ccb *ccb)
        case XPT_ACCEPT_TARGET_IO:
                free(ccb->ccb_h.targ_descr);
                /* FALLTHROUGH */
-       case XPT_IMMED_NOTIFY:
+       case XPT_IMMEDIATE_NOTIFY:
        default:
                free(ccb);
                break;

Modified: stable/9/sys/cam/scsi/scsi_targ_bh.c
==============================================================================
--- stable/9/sys/cam/scsi/scsi_targ_bh.c        Sat Sep 14 09:53:57 2013        
(r255561)
+++ stable/9/sys/cam/scsi/scsi_targ_bh.c        Sat Sep 14 10:00:20 2013        
(r255562)
@@ -305,10 +305,10 @@ targbhenlun(struct cam_periph *periph)
         * so the SIM can tell us of asynchronous target mode events.
         */
        for (i = 0; i < MAX_ACCEPT; i++) {
-               struct ccb_immed_notify *inot;
+               struct ccb_immediate_notify *inot;
 
-               inot = (struct ccb_immed_notify*)malloc(sizeof(*inot), M_SCSIBH,
-                                                       M_NOWAIT);
+               inot = (struct ccb_immediate_notify*)malloc(sizeof(*inot),
+                           M_SCSIBH, M_NOWAIT);
 
                if (inot == NULL) {
                        status = CAM_RESRC_UNAVAIL;
@@ -316,7 +316,7 @@ targbhenlun(struct cam_periph *periph)
                }
 
                xpt_setup_ccb(&inot->ccb_h, periph->path, CAM_PRIORITY_NORMAL);
-               inot->ccb_h.func_code = XPT_IMMED_NOTIFY;
+               inot->ccb_h.func_code = XPT_IMMEDIATE_NOTIFY;
                inot->ccb_h.cbfcnp = targbhdone;
                SLIST_INSERT_HEAD(&softc->immed_notify_slist, &inot->ccb_h,
                                  periph_links.sle);
@@ -712,7 +712,7 @@ targbhdone(struct cam_periph *periph, un
                }
                break;
        }
-       case XPT_IMMED_NOTIFY:
+       case XPT_IMMEDIATE_NOTIFY:
        {
                int frozen;
 

Modified: stable/9/sys/cam/scsi/scsi_target.c
==============================================================================
--- stable/9/sys/cam/scsi/scsi_target.c Sat Sep 14 09:53:57 2013        
(r255561)
+++ stable/9/sys/cam/scsi/scsi_target.c Sat Sep 14 10:00:20 2013        
(r255562)
@@ -590,6 +590,7 @@ targwrite(struct cdev *dev, struct uio *
                switch (func_code) {
                case XPT_ACCEPT_TARGET_IO:
                case XPT_IMMED_NOTIFY:
+               case XPT_IMMEDIATE_NOTIFY:
                        cam_periph_lock(softc->periph);
                        ccb = targgetccb(softc, func_code, priority);
                        descr = (struct targ_cmd_descr *)ccb->ccb_h.targ_descr;
@@ -820,6 +821,7 @@ targdone(struct cam_periph *periph, unio
        switch (done_ccb->ccb_h.func_code) {
        /* All FC_*_QUEUED CCBs go back to userland */
        case XPT_IMMED_NOTIFY:
+       case XPT_IMMEDIATE_NOTIFY:
        case XPT_ACCEPT_TARGET_IO:
        case XPT_CONT_TARGET_IO:
                TAILQ_INSERT_TAIL(&softc->user_ccb_queue, &done_ccb->ccb_h,
@@ -1000,6 +1002,7 @@ targfreeccb(struct targ_softc *softc, un
        switch (ccb->ccb_h.func_code) {
        case XPT_ACCEPT_TARGET_IO:
        case XPT_IMMED_NOTIFY:
+       case XPT_IMMEDIATE_NOTIFY:
                CAM_DEBUG_PRINT(CAM_DEBUG_PERIPH, ("freeing ccb %p\n", ccb));
                free(ccb, M_TARG);
                break;
@@ -1182,6 +1185,9 @@ targccblen(xpt_opcode func_code)
        case XPT_IMMED_NOTIFY:
                len = sizeof(struct ccb_immed_notify);
                break;
+       case XPT_IMMEDIATE_NOTIFY:
+               len = sizeof(struct ccb_immediate_notify);
+               break;
        case XPT_REL_SIMQ:
                len = sizeof(struct ccb_relsim);
                break;
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "[email protected]"

Reply via email to