Author: mav
Date: Thu May 28 23:55:46 2020
New Revision: 361609
URL: https://svnweb.freebsd.org/changeset/base/361609

Log:
  Remove PDU_TOTAL_TRANSFER_LEN() macro.
  
  I don't see a point to copy io->scsiio.kern_total_len into the request
  PDU private field.  The io is going to stay with us till the end, and
  kern_total_len field is not changed after being first initialized.
  
  MFC after:    2 weeks
  Sponsored by: iXsystems, Inc.

Modified:
  head/sys/cam/ctl/ctl_frontend_iscsi.c

Modified: head/sys/cam/ctl/ctl_frontend_iscsi.c
==============================================================================
--- head/sys/cam/ctl/ctl_frontend_iscsi.c       Thu May 28 23:23:49 2020        
(r361608)
+++ head/sys/cam/ctl/ctl_frontend_iscsi.c       Thu May 28 23:55:46 2020        
(r361609)
@@ -144,7 +144,6 @@ SYSCTL_INT(_kern_cam_ctl_iscsi, OID_AUTO, maxtags, CTL
 #define        CONN_SESSION(X)                 ((struct cfiscsi_session 
*)(X)->ic_prv0)
 #define        PDU_SESSION(X)                  CONN_SESSION((X)->ip_conn)
 #define        PDU_EXPDATASN(X)                (X)->ip_prv0
-#define        PDU_TOTAL_TRANSFER_LEN(X)       (X)->ip_prv1
 #define        PDU_R2TSN(X)                    (X)->ip_prv2
 
 static int     cfiscsi_init(void);
@@ -2446,13 +2445,6 @@ cfiscsi_datamove_in(union ctl_io *io)
        }
 
        /*
-        * This is the total amount of data to be transferred within the current
-        * SCSI command.  We need to record it so that we can properly report
-        * underflow/underflow.
-        */
-       PDU_TOTAL_TRANSFER_LEN(request) = io->scsiio.kern_total_len;
-
-       /*
         * This is the offset within the current SCSI command; for the first
         * call to cfiscsi_datamove() it will be 0, and for subsequent ones
         * it will be the sum of lengths of previous ones.
@@ -2611,17 +2603,17 @@ cfiscsi_datamove_in(union ctl_io *io)
                        bhsdi->bhsdi_flags |= BHSDI_FLAGS_F;
                        if (io->io_hdr.status == CTL_SUCCESS) {
                                bhsdi->bhsdi_flags |= BHSDI_FLAGS_S;
-                               if (PDU_TOTAL_TRANSFER_LEN(request) <
+                               if (io->scsiio.kern_total_len <
                                    
ntohl(bhssc->bhssc_expected_data_transfer_length)) {
                                        bhsdi->bhsdi_flags |= 
BHSSR_FLAGS_RESIDUAL_UNDERFLOW;
                                        bhsdi->bhsdi_residual_count =
                                            
htonl(ntohl(bhssc->bhssc_expected_data_transfer_length) -
-                                           PDU_TOTAL_TRANSFER_LEN(request));
-                               } else if (PDU_TOTAL_TRANSFER_LEN(request) >
+                                           io->scsiio.kern_total_len);
+                               } else if (io->scsiio.kern_total_len >
                                    
ntohl(bhssc->bhssc_expected_data_transfer_length)) {
                                        bhsdi->bhsdi_flags |= 
BHSSR_FLAGS_RESIDUAL_OVERFLOW;
                                        bhsdi->bhsdi_residual_count =
-                                           
htonl(PDU_TOTAL_TRANSFER_LEN(request) -
+                                           htonl(io->scsiio.kern_total_len -
                                            
ntohl(bhssc->bhssc_expected_data_transfer_length));
                                }
                                bhsdi->bhsdi_status = io->scsiio.scsi_status;
@@ -2657,12 +2649,6 @@ cfiscsi_datamove_out(union ctl_io *io)
            ("bhssc->bhssc_opcode != ISCSI_BHS_OPCODE_SCSI_COMMAND"));
 
        /*
-        * We need to record it so that we can properly report
-        * underflow/underflow.
-        */
-       PDU_TOTAL_TRANSFER_LEN(request) = io->scsiio.kern_total_len;
-
-       /*
         * Complete write underflow.  Not a single byte to read.  Return.
         */
        expected_len = ntohl(bhssc->bhssc_expected_data_transfer_length);
@@ -2851,19 +2837,18 @@ cfiscsi_scsi_command_done(union ctl_io *io)
         * XXX: We don't deal with bidirectional under/overflows;
         *      does anything actually support those?
         */
-       if (PDU_TOTAL_TRANSFER_LEN(request) <
+       if (io->scsiio.kern_total_len <
            ntohl(bhssc->bhssc_expected_data_transfer_length)) {
                bhssr->bhssr_flags |= BHSSR_FLAGS_RESIDUAL_UNDERFLOW;
                bhssr->bhssr_residual_count =
                    htonl(ntohl(bhssc->bhssc_expected_data_transfer_length) -
-                   PDU_TOTAL_TRANSFER_LEN(request));
+                   io->scsiio.kern_total_len);
                //CFISCSI_SESSION_DEBUG(cs, "underflow; residual count %d",
                //    ntohl(bhssr->bhssr_residual_count));
-       } else if (PDU_TOTAL_TRANSFER_LEN(request) > 
+       } else if (io->scsiio.kern_total_len >
            ntohl(bhssc->bhssc_expected_data_transfer_length)) {
                bhssr->bhssr_flags |= BHSSR_FLAGS_RESIDUAL_OVERFLOW;
-               bhssr->bhssr_residual_count =
-                   htonl(PDU_TOTAL_TRANSFER_LEN(request) -
+               bhssr->bhssr_residual_count = htonl(io->scsiio.kern_total_len -
                    ntohl(bhssc->bhssc_expected_data_transfer_length));
                //CFISCSI_SESSION_DEBUG(cs, "overflow; residual count %d",
                //    ntohl(bhssr->bhssr_residual_count));
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to