scsi: core: don't preallocate small SGL in case of NO_SG_CHAIN
The preallocated small SGL depends on SG_CHAIN so if the ARCH doesn't support SG_CHAIN, preallocation of small SGL can't work at all. Fix this issue by not using small preallocation in case of NO_SG_CHAIN. Cc: Christoph Hellwig <hch@lst.de> Cc: Bart Van Assche <bvanassche@acm.org> Cc: Ewan D. Milne <emilne@redhat.com> Cc: Hannes Reinecke <hare@suse.com> Cc: Guenter Roeck <linux@roeck-us.net> Reported-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Tested-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
b79d9a09ae
commit
3e99b3b13a
|
@ -43,9 +43,13 @@
|
||||||
* Size of integrity metadata is usually small, 1 inline sg should
|
* Size of integrity metadata is usually small, 1 inline sg should
|
||||||
* cover normal cases.
|
* cover normal cases.
|
||||||
*/
|
*/
|
||||||
|
#ifdef CONFIG_ARCH_NO_SG_CHAIN
|
||||||
|
#define SCSI_INLINE_PROT_SG_CNT 0
|
||||||
|
#define SCSI_INLINE_SG_CNT 0
|
||||||
|
#else
|
||||||
#define SCSI_INLINE_PROT_SG_CNT 1
|
#define SCSI_INLINE_PROT_SG_CNT 1
|
||||||
|
|
||||||
#define SCSI_INLINE_SG_CNT 2
|
#define SCSI_INLINE_SG_CNT 2
|
||||||
|
#endif
|
||||||
|
|
||||||
static struct kmem_cache *scsi_sdb_cache;
|
static struct kmem_cache *scsi_sdb_cache;
|
||||||
static struct kmem_cache *scsi_sense_cache;
|
static struct kmem_cache *scsi_sense_cache;
|
||||||
|
|
Loading…
Reference in New Issue