Merge branch 'svn-trunk'

This commit is contained in:
Bart Van Assche
2017-10-09 20:19:56 -07:00
4 changed files with 18 additions and 5 deletions
+5 -3
View File
@@ -110,10 +110,12 @@ https://forums.openfiler.com/viewtopic.php?id=3422.
IMPORTANT USAGE NOTES
---------------------
1. It is strongly recommended to use firmware version 5.x or higher
for 24xx/25xx adapters. See
1. It is strongly recommended to use firmware version 5.x or higher for
24xx/25xx adapters. See
http://sourceforge.net/mailarchive/forum.php?thread_name=4B4CD39F.6020401%40vlnb.net&forum_name=scst-devel
for more details why.
for more details why. Recent report also suggest that openSUSE ships FW
8.6.0 that leads to severe "scst: TM fn ABORT_TASK/0" errors on the
target side, but using the latest 8.7.0 firmware from QLogic works well.
2. If you reload qla2x00tgt module, you should also reload qla2xxx
module, otherwise your initiators could not see the target, when it is
+1
View File
@@ -57,6 +57,7 @@ static inline struct bio_set *bioset_create_backport(unsigned int pool_size,
return bioset_create(pool_size, front_pad);
}
#define bioset_create bioset_create_backport
#define BIOSET_NEED_BVECS 0
#endif
/* <linux/blkdev.h> */
+1 -1
View File
@@ -7818,7 +7818,7 @@ static int vdisk_create_bioset(struct scst_vdisk_dev *virt_dev)
EXTRACHECKS_BUG_ON(virt_dev->vdisk_bioset || !virt_dev->blockio);
/* Pool size doesn't really matter */
virt_dev->vdisk_bioset = bioset_create(2, 0, 0);
virt_dev->vdisk_bioset = bioset_create(2, 0, BIOSET_NEED_BVECS);
if (virt_dev->vdisk_bioset == NULL) {
PRINT_ERROR("Failed to create bioset (dev %s)", virt_dev->name);
res = -ENOMEM;
+11 -1
View File
@@ -7970,6 +7970,10 @@ static struct request *blk_make_request(struct request_queue *q,
scsi_req_init(scsi_req(rq));
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
scsi_req_init(rq);
#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
rq->cmd_flags = bio_data_dir(bio) == READ ? REQ_OP_SCSI_IN :
REQ_OP_SCSI_OUT;
#else
blk_rq_set_block_pc(rq);
#endif
@@ -8146,6 +8150,9 @@ static struct request *__blk_map_kern_sg(struct request_queue *q,
*/
rq->cmd_type = REQ_TYPE_BLOCK_PC;
#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
rq->cmd_flags = reading ? REQ_OP_SCSI_IN : REQ_OP_SCSI_OUT;
#endif
if (bw != NULL) {
atomic_set(&bw->bios_inflight, bios);
@@ -8199,8 +8206,11 @@ static struct request *blk_map_kern_sg(struct request_queue *q,
scsi_req_init(scsi_req(rq));
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
scsi_req_init(rq);
#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
rq->cmd_flags = reading ? REQ_OP_SCSI_IN : REQ_OP_SCSI_OUT;
#else
rq->cmd_type = REQ_TYPE_BLOCK_PC;
blk_rq_set_block_pc(rq);
#endif
goto out;
}