* [PATCH] block: Allow t10-pi to be modular
@ 2019-12-23 8:13 Herbert Xu
2020-01-07 3:25 ` Martin K. Petersen
2020-01-08 13:39 ` Christoph Hellwig
0 siblings, 2 replies; 4+ messages in thread
From: Herbert Xu @ 2019-12-23 8:13 UTC (permalink / raw)
To: linux-block, Jens Axboe, Martin K. Petersen, Christoph Hellwig
Currently t10-pi can only be built into the block layer which via
crc-t10dif pulls in a whole chunk of the Crypto API. In fact all
users of t10-pi work as modules and there is no reason for it to
always be built-in.
This patch adds a new hidden option for t10-pi that is selected
automatically based on BLK_DEV_INTEGRITY and whether the users
of t10-pi are built-in or not.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
diff --git a/block/Kconfig b/block/Kconfig
index c23094a14a2b..3bc76bb113a0 100644
--- a/block/Kconfig
+++ b/block/Kconfig
@@ -66,7 +66,6 @@ config BLK_DEV_BSGLIB
config BLK_DEV_INTEGRITY
bool "Block layer data integrity support"
- select CRC_T10DIF if BLK_DEV_INTEGRITY
---help---
Some storage devices allow extra information to be
stored/retrieved to help protect the data. The block layer
@@ -77,6 +76,11 @@ config BLK_DEV_INTEGRITY
T10/SCSI Data Integrity Field or the T13/ATA External Path
Protection. If in doubt, say N.
+config BLK_DEV_INTEGRITY_T10
+ tristate
+ depends on BLK_DEV_INTEGRITY
+ select CRC_T10DIF
+
config BLK_DEV_ZONED
bool "Zoned block device support"
select MQ_IOSCHED_DEADLINE
diff --git a/block/Makefile b/block/Makefile
index 205a5f2fef17..f6cef6d4363c 100644
--- a/block/Makefile
+++ b/block/Makefile
@@ -27,7 +27,8 @@ obj-$(CONFIG_IOSCHED_BFQ) += bfq.o
obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
obj-$(CONFIG_BLK_CMDLINE_PARSER) += cmdline-parser.o
-obj-$(CONFIG_BLK_DEV_INTEGRITY) += bio-integrity.o blk-integrity.o t10-pi.o
+obj-$(CONFIG_BLK_DEV_INTEGRITY) += bio-integrity.o blk-integrity.o
+obj-$(CONFIG_BLK_DEV_INTEGRITY_T10) += t10-pi.o
obj-$(CONFIG_BLK_MQ_PCI) += blk-mq-pci.o
obj-$(CONFIG_BLK_MQ_VIRTIO) += blk-mq-virtio.o
obj-$(CONFIG_BLK_MQ_RDMA) += blk-mq-rdma.o
diff --git a/block/t10-pi.c b/block/t10-pi.c
index f4907d941f03..d910534b3a41 100644
--- a/block/t10-pi.c
+++ b/block/t10-pi.c
@@ -7,6 +7,7 @@
#include <linux/t10-pi.h>
#include <linux/blkdev.h>
#include <linux/crc-t10dif.h>
+#include <linux/module.h>
#include <net/checksum.h>
typedef __be16 (csum_fn) (void *, unsigned int);
@@ -280,3 +281,5 @@ const struct blk_integrity_profile t10_pi_type3_ip = {
.complete_fn = t10_pi_type3_complete,
};
EXPORT_SYMBOL(t10_pi_type3_ip);
+
+MODULE_LICENSE("GPL");
diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig
index c6439638a419..b9358db83e96 100644
--- a/drivers/nvme/host/Kconfig
+++ b/drivers/nvme/host/Kconfig
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config NVME_CORE
tristate
+ select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY
config BLK_DEV_NVME
tristate "NVM Express block device"
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index 90cf4691b8c3..a7881f8eb05e 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -68,6 +68,7 @@ comment "SCSI support type (disk, tape, CD-ROM)"
config BLK_DEV_SD
tristate "SCSI disk support"
depends on SCSI
+ select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY
---help---
If you want to use SCSI hard disks, Fibre Channel disks,
Serial ATA (SATA) or Parallel ATA (PATA) hard disks,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] block: Allow t10-pi to be modular
2019-12-23 8:13 [PATCH] block: Allow t10-pi to be modular Herbert Xu
@ 2020-01-07 3:25 ` Martin K. Petersen
2020-01-07 3:59 ` Jens Axboe
2020-01-08 13:39 ` Christoph Hellwig
1 sibling, 1 reply; 4+ messages in thread
From: Martin K. Petersen @ 2020-01-07 3:25 UTC (permalink / raw)
To: Herbert Xu; +Cc: linux-block, Jens Axboe, Martin K. Petersen, Christoph Hellwig
Herbert,
> Currently t10-pi can only be built into the block layer which via
> crc-t10dif pulls in a whole chunk of the Crypto API. In fact all
> users of t10-pi work as modules and there is no reason for it to
> always be built-in.
>
> This patch adds a new hidden option for t10-pi that is selected
> automatically based on BLK_DEV_INTEGRITY and whether the users of
> t10-pi are built-in or not.
Looks fine to me.
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] block: Allow t10-pi to be modular
2020-01-07 3:25 ` Martin K. Petersen
@ 2020-01-07 3:59 ` Jens Axboe
0 siblings, 0 replies; 4+ messages in thread
From: Jens Axboe @ 2020-01-07 3:59 UTC (permalink / raw)
To: Martin K. Petersen, Herbert Xu; +Cc: linux-block, Christoph Hellwig
On 1/6/20 8:25 PM, Martin K. Petersen wrote:
>
> Herbert,
>
>> Currently t10-pi can only be built into the block layer which via
>> crc-t10dif pulls in a whole chunk of the Crypto API. In fact all
>> users of t10-pi work as modules and there is no reason for it to
>> always be built-in.
>>
>> This patch adds a new hidden option for t10-pi that is selected
>> automatically based on BLK_DEV_INTEGRITY and whether the users of
>> t10-pi are built-in or not.
>
> Looks fine to me.
>
I added it to the 5.6 mix, thanks.
--
Jens Axboe
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] block: Allow t10-pi to be modular
2019-12-23 8:13 [PATCH] block: Allow t10-pi to be modular Herbert Xu
2020-01-07 3:25 ` Martin K. Petersen
@ 2020-01-08 13:39 ` Christoph Hellwig
1 sibling, 0 replies; 4+ messages in thread
From: Christoph Hellwig @ 2020-01-08 13:39 UTC (permalink / raw)
To: Herbert Xu; +Cc: linux-block, Jens Axboe, Martin K. Petersen
On Mon, Dec 23, 2019 at 04:13:51PM +0800, Herbert Xu wrote:
> Currently t10-pi can only be built into the block layer which via
> crc-t10dif pulls in a whole chunk of the Crypto API. In fact all
> users of t10-pi work as modules and there is no reason for it to
> always be built-in.
>
> This patch adds a new hidden option for t10-pi that is selected
> automatically based on BLK_DEV_INTEGRITY and whether the users
> of t10-pi are built-in or not.
>
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Looks good,
Reviewed-by: Christoph Hellwig <hch@lst.de>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-01-08 13:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-23 8:13 [PATCH] block: Allow t10-pi to be modular Herbert Xu
2020-01-07 3:25 ` Martin K. Petersen
2020-01-07 3:59 ` Jens Axboe
2020-01-08 13:39 ` Christoph Hellwig
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.