diff --git a/scst/src/dev_handlers/scst_vdisk.c b/scst/src/dev_handlers/scst_vdisk.c index 88e105b5b..5c4616f12 100644 --- a/scst/src/dev_handlers/scst_vdisk.c +++ b/scst/src/dev_handlers/scst_vdisk.c @@ -3853,6 +3853,15 @@ static void blockio_exec_rw(struct vdisk_cmd_params *p, bool write, bool fua) if (fua) bio->bi_rw |= REQ_FUA; + if (cmd->queue_type == SCST_CMD_QUEUE_HEAD_OF_QUEUE) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0) + bio->bi_rw |= REQ_META; + bio->bi_rw |= REQ_PRIO; +#else + bio->bi_rw |= BIO_RW_META; +#endif + } + if (!hbio) hbio = tbio = bio; else