On Mon, Apr 09, 2018 at 01:37:11PM +0300, Sagi Grimberg wrote:
--- a/drivers/nvme/host/fabrics.c +++ b/drivers/nvme/host/fabrics.c @@ -493,7 +493,7 @@ EXPORT_SYMBOL_GPL(nvmf_should_reconnect) */ int nvmf_register_transport(struct nvmf_transport_ops *ops) {
- if (!ops->create_ctrl)
- if (!ops->create_ctrl || !ops->module) return -EINVAL; down_write(&nvmf_transports_rwsem);
Hi Greg,
I think that this part broke builtin compilation of nvme over fabrics code.
This was later fixed by Christoph in:
commit 5a1e59533380a3fd04593e4ab2d4633ebf7745c1 Author: Christoph Hellwig hch@lst.de Date: Thu Feb 22 07:24:08 2018 -0800
nvme-fabrics: don't check for non-NULL module in nvmf_register_transport THIS_MODULE evaluates to NULL when used from code built into the kernel, thus breaking built-in transport modules. Remove the bogus check. Fixes: 0de5cd36 ("nvme-fabrics: protect against module unload during
create_ctrl") Signed-off-by: Christoph Hellwig hch@lst.de Reviewed-by: Sagi Grimberg sagi@grimberg.me Reviewed-by: Johannes Thumshirn jthumshirn@suse.de Signed-off-by: Keith Busch keith.busch@intel.com
diff --git a/drivers/nvme/host/fabrics.c b/drivers/nvme/host/fabrics.c index 5dd4ceefed8f..a1c58e35075e 100644 --- a/drivers/nvme/host/fabrics.c +++ b/drivers/nvme/host/fabrics.c @@ -493,7 +493,7 @@ EXPORT_SYMBOL_GPL(nvmf_should_reconnect); */ int nvmf_register_transport(struct nvmf_transport_ops *ops) {
if (!ops->create_ctrl || !ops->module)
if (!ops->create_ctrl) return -EINVAL; down_write(&nvmf_transports_rwsem);
--
So I'd suggest taking that as well.
Many thanks for letting me know, I've now queued up that patch as well.
greg k-h