Lines Matching refs:cmd

292 static void iblock_complete_cmd(struct se_cmd *cmd)  in iblock_complete_cmd()  argument
294 struct iblock_req *ibr = cmd->priv; in iblock_complete_cmd()
305 target_complete_cmd(cmd, status); in iblock_complete_cmd()
311 struct se_cmd *cmd = bio->bi_private; in iblock_bio_done() local
312 struct iblock_req *ibr = cmd->priv; in iblock_bio_done()
332 iblock_complete_cmd(cmd); in iblock_bio_done()
336 iblock_get_bio(struct se_cmd *cmd, sector_t lba, u32 sg_num) in iblock_get_bio() argument
338 struct iblock_dev *ib_dev = IBLOCK_DEV(cmd->se_dev); in iblock_get_bio()
355 bio->bi_private = cmd; in iblock_get_bio()
375 struct se_cmd *cmd = bio->bi_private; in iblock_end_io_flush() local
380 if (cmd) { in iblock_end_io_flush()
382 target_complete_cmd(cmd, SAM_STAT_CHECK_CONDITION); in iblock_end_io_flush()
384 target_complete_cmd(cmd, SAM_STAT_GOOD); in iblock_end_io_flush()
395 iblock_execute_sync_cache(struct se_cmd *cmd) in iblock_execute_sync_cache() argument
397 struct iblock_dev *ib_dev = IBLOCK_DEV(cmd->se_dev); in iblock_execute_sync_cache()
398 int immed = (cmd->t_task_cdb[1] & 0x2); in iblock_execute_sync_cache()
406 target_complete_cmd(cmd, SAM_STAT_GOOD); in iblock_execute_sync_cache()
412 bio->bi_private = cmd; in iblock_execute_sync_cache()
418 iblock_do_unmap(struct se_cmd *cmd, void *priv, in iblock_do_unmap() argument
434 iblock_execute_unmap(struct se_cmd *cmd) in iblock_execute_unmap() argument
436 struct block_device *bdev = IBLOCK_DEV(cmd->se_dev)->ibd_bd; in iblock_execute_unmap()
438 return sbc_execute_unmap(cmd, iblock_do_unmap, bdev); in iblock_execute_unmap()
442 iblock_execute_write_same_unmap(struct se_cmd *cmd) in iblock_execute_write_same_unmap() argument
444 struct block_device *bdev = IBLOCK_DEV(cmd->se_dev)->ibd_bd; in iblock_execute_write_same_unmap()
445 sector_t lba = cmd->t_task_lba; in iblock_execute_write_same_unmap()
446 sector_t nolb = sbc_get_write_same_sectors(cmd); in iblock_execute_write_same_unmap()
449 ret = iblock_do_unmap(cmd, bdev, lba, nolb); in iblock_execute_write_same_unmap()
453 target_complete_cmd(cmd, GOOD); in iblock_execute_write_same_unmap()
458 iblock_execute_write_same(struct se_cmd *cmd) in iblock_execute_write_same() argument
464 sector_t block_lba = cmd->t_task_lba; in iblock_execute_write_same()
465 sector_t sectors = sbc_get_write_same_sectors(cmd); in iblock_execute_write_same()
467 if (cmd->prot_op) { in iblock_execute_write_same()
472 sg = &cmd->t_data_sg[0]; in iblock_execute_write_same()
474 if (cmd->t_data_nents > 1 || in iblock_execute_write_same()
475 sg->length != cmd->se_dev->dev_attrib.block_size) { in iblock_execute_write_same()
477 " block_size: %u\n", cmd->t_data_nents, sg->length, in iblock_execute_write_same()
478 cmd->se_dev->dev_attrib.block_size); in iblock_execute_write_same()
485 cmd->priv = ibr; in iblock_execute_write_same()
487 bio = iblock_get_bio(cmd, block_lba, 1); in iblock_execute_write_same()
500 bio = iblock_get_bio(cmd, block_lba, 1); in iblock_execute_write_same()
630 iblock_alloc_bip(struct se_cmd *cmd, struct bio *bio) in iblock_alloc_bip() argument
632 struct se_device *dev = cmd->se_dev; in iblock_alloc_bip()
645 bip = bio_integrity_alloc(bio, GFP_NOIO, cmd->t_prot_nents); in iblock_alloc_bip()
651 bip->bip_iter.bi_size = (cmd->data_length / dev->dev_attrib.block_size) * in iblock_alloc_bip()
658 for_each_sg(cmd->t_prot_sg, sg, cmd->t_prot_nents, i) { in iblock_alloc_bip()
675 iblock_execute_rw(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents, in iblock_execute_rw() argument
678 struct se_device *dev = cmd->se_dev; in iblock_execute_rw()
697 if (cmd->se_cmd_flags & SCF_FUA) in iblock_execute_rw()
715 block_lba = (cmd->t_task_lba << 3); in iblock_execute_rw()
717 block_lba = (cmd->t_task_lba << 2); in iblock_execute_rw()
719 block_lba = (cmd->t_task_lba << 1); in iblock_execute_rw()
721 block_lba = cmd->t_task_lba; in iblock_execute_rw()
731 cmd->priv = ibr; in iblock_execute_rw()
735 iblock_complete_cmd(cmd); in iblock_execute_rw()
739 bio = iblock_get_bio(cmd, block_lba, sgl_nents); in iblock_execute_rw()
763 bio = iblock_get_bio(cmd, block_lba, sg_num); in iblock_execute_rw()
777 if (cmd->prot_type && dev->dev_attrib.pi_prot_type) { in iblock_execute_rw()
778 int rc = iblock_alloc_bip(cmd, bio_start); in iblock_execute_rw()
784 iblock_complete_cmd(cmd); in iblock_execute_rw()
853 iblock_parse_cdb(struct se_cmd *cmd) in iblock_parse_cdb() argument
855 return sbc_parse_cdb(cmd, &iblock_sbc_ops); in iblock_parse_cdb()