mirror of
https://github.com/SCST-project/scst.git
synced 2026-08-20 14:16:31 +00:00
Merge branch 'svn-trunk'
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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> */
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user