diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c index 5b745bb56a684ffbe85a09ef9239f8ce6959d44b..29408d46a6d9227130fab6aeb180b49ca05baf16 100644 --- a/drivers/target/target_core_iblock.c +++ b/drivers/target/target_core_iblock.c @@ -654,6 +654,12 @@ static int iblock_execute_rw(struct se_cmd *cmd) goto fail; cmd->priv = ibr; + if (!sgl_nents) { + atomic_set(&ibr->pending, 1); + iblock_complete_cmd(cmd); + return 0; + } + bio = iblock_get_bio(cmd, block_lba, sgl_nents); if (!bio) goto fail_free_ibr;