cpu = raw_smp_processor_id();
        if (cmnd && phba->cfg_fcp_io_sched == LPFC_FCP_SCHED_BY_HDWQ) {
-               tag = blk_mq_unique_tag(cmnd->request);
+               tag = blk_mq_unique_tag(scsi_cmd_to_rq(cmnd));
                idx = blk_mq_unique_tag_to_hwq(tag);
        } else {
                idx = phba->sli4_hba.cpu_map[cpu].hdwq;
                return 0;
 
        sgpe = scsi_prot_sglist(sc);
-       lba = t10_pi_ref_tag(sc->request);
+       lba = t10_pi_ref_tag(scsi_cmd_to_rq(sc));
        if (lba == LPFC_INVALID_REFTAG)
                return 0;
 
                goto out;
 
        /* extract some info from the scsi command for pde*/
-       reftag = t10_pi_ref_tag(sc->request);
+       reftag = t10_pi_ref_tag(scsi_cmd_to_rq(sc));
        if (reftag == LPFC_INVALID_REFTAG)
                goto out;
 
 
        /* extract some info from the scsi command */
        blksize = lpfc_cmd_blksize(sc);
-       reftag = t10_pi_ref_tag(sc->request);
+       reftag = t10_pi_ref_tag(scsi_cmd_to_rq(sc));
        if (reftag == LPFC_INVALID_REFTAG)
                goto out;
 
                goto out;
 
        /* extract some info from the scsi command for pde*/
-       reftag = t10_pi_ref_tag(sc->request);
+       reftag = t10_pi_ref_tag(scsi_cmd_to_rq(sc));
        if (reftag == LPFC_INVALID_REFTAG)
                goto out;
 
 
        /* extract some info from the scsi command */
        blksize = lpfc_cmd_blksize(sc);
-       reftag = t10_pi_ref_tag(sc->request);
+       reftag = t10_pi_ref_tag(scsi_cmd_to_rq(sc));
        if (reftag == LPFC_INVALID_REFTAG)
                goto out;
 
                        chk_guard = 1;
 
                src = (struct scsi_dif_tuple *)sg_virt(sgpe);
-               start_ref_tag = t10_pi_ref_tag(cmd->request);
+               start_ref_tag = t10_pi_ref_tag(scsi_cmd_to_rq(cmd));
                if (start_ref_tag == LPFC_INVALID_REFTAG)
                        goto out;
                start_app_tag = src->app_tag;
                phba->bg_guard_err_cnt++;
                lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
                                "9069 BLKGRD: reftag %x grd_tag err %x != %x\n",
-                               t10_pi_ref_tag(cmd->request),
+                               t10_pi_ref_tag(scsi_cmd_to_rq(cmd)),
                                sum, guard_tag);
 
        } else if (err_type == BGS_REFTAG_ERR_MASK) {
                phba->bg_reftag_err_cnt++;
                lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
                                "9066 BLKGRD: reftag %x ref_tag err %x != %x\n",
-                               t10_pi_ref_tag(cmd->request),
+                               t10_pi_ref_tag(scsi_cmd_to_rq(cmd)),
                                ref_tag, start_ref_tag);
 
        } else if (err_type == BGS_APPTAG_ERR_MASK) {
                phba->bg_apptag_err_cnt++;
                lpfc_printf_log(phba, KERN_WARNING, LOG_FCP | LOG_BG,
                                "9041 BLKGRD: reftag %x app_tag err %x != %x\n",
-                               t10_pi_ref_tag(cmd->request),
+                               t10_pi_ref_tag(scsi_cmd_to_rq(cmd)),
                                app_tag, start_app_tag);
        }
 }
                                " 0x%x lba 0x%llx blk cnt 0x%x "
                                "bgstat=x%x bghm=x%x\n", cmd->cmnd[0],
                                (unsigned long long)scsi_get_lba(cmd),
-                               blk_rq_sectors(cmd->request), bgstat, bghm);
+                               blk_rq_sectors(scsi_cmd_to_rq(cmd)), bgstat, bghm);
        }
 
        if (lpfc_bgs_get_reftag_err(bgstat)) {
                                " 0x%x lba 0x%llx blk cnt 0x%x "
                                "bgstat=x%x bghm=x%x\n", cmd->cmnd[0],
                                (unsigned long long)scsi_get_lba(cmd),
-                               blk_rq_sectors(cmd->request), bgstat, bghm);
+                               blk_rq_sectors(scsi_cmd_to_rq(cmd)), bgstat, bghm);
        }
 
        if (lpfc_bgs_get_apptag_err(bgstat)) {
                                " 0x%x lba 0x%llx blk cnt 0x%x "
                                "bgstat=x%x bghm=x%x\n", cmd->cmnd[0],
                                (unsigned long long)scsi_get_lba(cmd),
-                               blk_rq_sectors(cmd->request), bgstat, bghm);
+                               blk_rq_sectors(scsi_cmd_to_rq(cmd)), bgstat, bghm);
        }
 
        if (lpfc_bgs_get_hi_water_mark_present(bgstat)) {
                                " 0x%x lba 0x%llx blk cnt 0x%x "
                                "bgstat=x%x bghm=x%x\n", cmd->cmnd[0],
                                (unsigned long long)scsi_get_lba(cmd),
-                               blk_rq_sectors(cmd->request), bgstat, bghm);
+                               blk_rq_sectors(scsi_cmd_to_rq(cmd)), bgstat, bghm);
 
                /* Calcuate what type of error it was */
                lpfc_calc_bg_err(phba, lpfc_cmd);
                                "9072 BLKGRD: Invalid BG Profile in cmd "
                                "0x%x reftag 0x%x blk cnt 0x%x "
                                "bgstat=x%x bghm=x%x\n", cmd->cmnd[0],
-                               t10_pi_ref_tag(cmd->request),
-                               blk_rq_sectors(cmd->request), bgstat, bghm);
+                               t10_pi_ref_tag(scsi_cmd_to_rq(cmd)),
+                               blk_rq_sectors(scsi_cmd_to_rq(cmd)), bgstat, bghm);
                ret = (-1);
                goto out;
        }
                                "9073 BLKGRD: Invalid BG PDIF Block in cmd "
                                "0x%x reftag 0x%x blk cnt 0x%x "
                                "bgstat=x%x bghm=x%x\n", cmd->cmnd[0],
-                               t10_pi_ref_tag(cmd->request),
-                               blk_rq_sectors(cmd->request), bgstat, bghm);
+                               t10_pi_ref_tag(scsi_cmd_to_rq(cmd)),
+                               blk_rq_sectors(scsi_cmd_to_rq(cmd)), bgstat, bghm);
                ret = (-1);
                goto out;
        }
                                "9055 BLKGRD: Guard Tag error in cmd "
                                "0x%x reftag 0x%x blk cnt 0x%x "
                                "bgstat=x%x bghm=x%x\n", cmd->cmnd[0],
-                               t10_pi_ref_tag(cmd->request),
-                               blk_rq_sectors(cmd->request), bgstat, bghm);
+                               t10_pi_ref_tag(scsi_cmd_to_rq(cmd)),
+                               blk_rq_sectors(scsi_cmd_to_rq(cmd)), bgstat, bghm);
        }
 
        if (lpfc_bgs_get_reftag_err(bgstat)) {
                                "9056 BLKGRD: Ref Tag error in cmd "
                                "0x%x reftag 0x%x blk cnt 0x%x "
                                "bgstat=x%x bghm=x%x\n", cmd->cmnd[0],
-                               t10_pi_ref_tag(cmd->request),
-                               blk_rq_sectors(cmd->request), bgstat, bghm);
+                               t10_pi_ref_tag(scsi_cmd_to_rq(cmd)),
+                               blk_rq_sectors(scsi_cmd_to_rq(cmd)), bgstat, bghm);
        }
 
        if (lpfc_bgs_get_apptag_err(bgstat)) {
                                "9061 BLKGRD: App Tag error in cmd "
                                "0x%x reftag 0x%x blk cnt 0x%x "
                                "bgstat=x%x bghm=x%x\n", cmd->cmnd[0],
-                               t10_pi_ref_tag(cmd->request),
-                               blk_rq_sectors(cmd->request), bgstat, bghm);
+                               t10_pi_ref_tag(scsi_cmd_to_rq(cmd)),
+                               blk_rq_sectors(scsi_cmd_to_rq(cmd)), bgstat, bghm);
        }
 
        if (lpfc_bgs_get_hi_water_mark_present(bgstat)) {
                                "9057 BLKGRD: Unknown error in cmd "
                                "0x%x reftag 0x%x blk cnt 0x%x "
                                "bgstat=x%x bghm=x%x\n", cmd->cmnd[0],
-                               t10_pi_ref_tag(cmd->request),
-                               blk_rq_sectors(cmd->request), bgstat, bghm);
+                               t10_pi_ref_tag(scsi_cmd_to_rq(cmd)),
+                               blk_rq_sectors(scsi_cmd_to_rq(cmd)), bgstat, bghm);
 
                /* Calcuate what type of error it was */
                lpfc_calc_bg_err(phba, lpfc_cmd);
  */
 static char *lpfc_is_command_vm_io(struct scsi_cmnd *cmd)
 {
-       char *uuid = NULL;
+       struct bio *bio = scsi_cmd_to_rq(cmd)->bio;
 
-       if (cmd->request) {
-               if (cmd->request->bio)
-                       uuid = blkcg_get_fc_appid(cmd->request->bio);
-       }
-       return uuid;
+       return bio ? blkcg_get_fc_appid(bio) : NULL;
 }
 
 /**
                                         "reftag x%x cnt %u pt %x\n",
                                         dif_op_str[scsi_get_prot_op(cmnd)],
                                         cmnd->cmnd[0],
-                                        t10_pi_ref_tag(cmnd->request),
-                                        blk_rq_sectors(cmnd->request),
+                                        t10_pi_ref_tag(scsi_cmd_to_rq(cmnd)),
+                                        blk_rq_sectors(scsi_cmd_to_rq(cmnd)),
                                         (cmnd->cmnd[1]>>5));
                }
                err = lpfc_bg_scsi_prep_dma_buf(phba, lpfc_cmd);
                                         "9038 BLKGRD: rcvd PROT_NORMAL cmd: "
                                         "x%x reftag x%x cnt %u pt %x\n",
                                         cmnd->cmnd[0],
-                                        t10_pi_ref_tag(cmnd->request),
-                                        blk_rq_sectors(cmnd->request),
+                                        t10_pi_ref_tag(scsi_cmd_to_rq(cmnd)),
+                                        blk_rq_sectors(scsi_cmd_to_rq(cmnd)),
                                         (cmnd->cmnd[1]>>5));
                }
                err = lpfc_scsi_prep_dma_buf(phba, lpfc_cmd);
                                   bf_get(wqe_tmo,
                                   &lpfc_cmd->cur_iocbq.wqe.generic.wqe_com) :
                                   lpfc_cmd->cur_iocbq.iocb.ulpTimeout,
-                                  (uint32_t)
-                                  (cmnd->request->timeout / 1000));
+                                  (uint32_t)(scsi_cmd_to_rq(cmnd)->timeout / 1000));
 
                goto out_host_busy_free_buf;
        }