Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44907332 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

nvme: make SG_IO support optional



Translation SCSI commands to NVMe commands is rather pointless in general
as applications must not expext to be able to use SCSI commands on a
generic block device.

Make the huge translation layer optional and hope no one will ever enable
it in the future.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent bfd89471
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -8,3 +8,14 @@ config BLK_DEV_NVME

	  To compile this driver as a module, choose M here: the
	  module will be called nvme.

config BLK_DEV_NVME_SCSI
	bool "SCSI emulation for NVMe device nodes"
	depends on BLK_DEV_NVME
	---help---
	  This adds support for the SG_IO ioctl on the NVMe character
	  and block devices nodes, as well a a translation for a small
	  number of selected SCSI commands to NVMe commands to the NVMe
	  driver.  If you don't know what this means you probably want
	  to say N here, and if you know what it means you probably
	  want to say N as well.
+2 −1
Original line number Diff line number Diff line

obj-$(CONFIG_BLK_DEV_NVME)     += nvme.o

nvme-y		+= core.o pci.o scsi.o lightnvm.o
nvme-y					+= core.o pci.o lightnvm.o
nvme-$(CONFIG_BLK_DEV_NVME_SCSI)        += scsi.o
+2 −0
Original line number Diff line number Diff line
@@ -467,10 +467,12 @@ static int nvme_ioctl(struct block_device *bdev, fmode_t mode,
		return nvme_user_cmd(ns->ctrl, ns, (void __user *)arg);
	case NVME_IOCTL_SUBMIT_IO:
		return nvme_submit_io(ns, (void __user *)arg);
#ifdef CONFIG_BLK_DEV_NVME_SCSI
	case SG_GET_VERSION_NUM:
		return nvme_sg_get_version_num((void __user *)arg);
	case SG_IO:
		return nvme_sg_io(ns, (void __user *)arg);
#endif
	default:
		return -ENOTTY;
	}