Hi Bodo,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Bodo-Stroesser/TCMUser-add-read-length-support/20180526-231412
config: x86_64-randconfig-x003-201820 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers//target/target_core_user.c: In function 'tcmu_handle_completion':
>> drivers//target/target_core_user.c:1077:28: error: 
>> 'SCF_TREAT_READ_AS_NORMAL' undeclared (first use in this function)
       se_cmd->se_cmd_flags |= SCF_TREAT_READ_AS_NORMAL;
                               ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers//target/target_core_user.c:1077:28: note: each undeclared identifier 
is reported only once for each function it appears in

vim +/SCF_TREAT_READ_AS_NORMAL +1077 drivers//target/target_core_user.c

  1041  
  1042  static void tcmu_handle_completion(struct tcmu_cmd *cmd, struct 
tcmu_cmd_entry *entry)
  1043  {
  1044          struct se_cmd *se_cmd = cmd->se_cmd;
  1045          struct tcmu_dev *udev = cmd->tcmu_dev;
  1046          bool read_len_valid = false;
  1047          uint32_t read_len = se_cmd->data_length;
  1048  
  1049          /*
  1050           * cmd has been completed already from timeout, just reclaim
  1051           * data area space and free cmd
  1052           */
  1053          if (test_bit(TCMU_CMD_BIT_EXPIRED, &cmd->flags))
  1054                  goto out;
  1055  
  1056          tcmu_cmd_reset_dbi_cur(cmd);
  1057  
  1058          if (entry->hdr.uflags & TCMU_UFLAG_UNKNOWN_OP) {
  1059                  pr_warn("TCMU: Userspace set UNKNOWN_OP flag on se_cmd 
%p\n",
  1060                          cmd->se_cmd);
  1061                  entry->rsp.scsi_status = SAM_STAT_CHECK_CONDITION;
  1062                  goto done;
  1063          }
  1064  
  1065          if (se_cmd->data_direction == DMA_FROM_DEVICE &&
  1066              (entry->hdr.uflags & TCMU_UFLAG_READ_LEN) && 
entry->rsp.read_len) {
  1067                  read_len_valid = true;
  1068                  if (entry->rsp.read_len < read_len)
  1069                          read_len = entry->rsp.read_len;
  1070          }
  1071  
  1072          if (entry->rsp.scsi_status == SAM_STAT_CHECK_CONDITION) {
  1073                  transport_copy_sense_to_cmd(se_cmd, 
entry->rsp.sense_buffer);
  1074                  if (!read_len_valid )
  1075                          goto done;
  1076                  else
> 1077                          se_cmd->se_cmd_flags |= 
> SCF_TREAT_READ_AS_NORMAL;
  1078          }
  1079          if (se_cmd->se_cmd_flags & SCF_BIDI) {
  1080                  /* Get Data-In buffer before clean up */
  1081                  gather_data_area(udev, cmd, true, read_len);
  1082          } else if (se_cmd->data_direction == DMA_FROM_DEVICE) {
  1083                  gather_data_area(udev, cmd, false, read_len);
  1084          } else if (se_cmd->data_direction == DMA_TO_DEVICE) {
  1085                  /* TODO: */
  1086          } else if (se_cmd->data_direction != DMA_NONE) {
  1087                  pr_warn("TCMU: data direction was %d!\n",
  1088                          se_cmd->data_direction);
  1089          }
  1090  
  1091  done:
  1092          if (read_len_valid) {
  1093                  pr_debug("read_len = %d\n", read_len);
  1094                  target_complete_cmd_with_length(cmd->se_cmd,
  1095                                          entry->rsp.scsi_status, 
read_len);
  1096          } else
  1097                  target_complete_cmd(cmd->se_cmd, 
entry->rsp.scsi_status);
  1098  
  1099  out:
  1100          cmd->se_cmd = NULL;
  1101          tcmu_cmd_free_data(cmd, cmd->dbi_cnt);
  1102          tcmu_free_cmd(cmd);
  1103  }
  1104  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to