diff mbox series

[2/2] target: Don't request modules that aren't even built

Message ID 20181020164516.8719-1-roland@kernel.org (mailing list archive)
State New, archived
Headers show
Series [1/2] target: Set response length for REPORT TARGET PORT GROUPS | expand

Commit Message

Roland Dreier Oct. 20, 2018, 4:45 p.m. UTC
From: Roland Dreier <roland@purestorage.com>

If, for example, I don't enable CONFIG_TCM_PSCSI, then every time I load
the target subsystem, I get an annoying

    Unable to load target_core_pscsi

kernel log message.  Instead let's only request_module() on things if that
code is enabled.

Signed-off-by: Roland Dreier <roland@purestorage.com>
---
 drivers/target/target_core_transport.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Christoph Hellwig Oct. 22, 2018, 8:57 a.m. UTC | #1
On Sat, Oct 20, 2018 at 09:45:16AM -0700, Roland Dreier wrote:
> From: Roland Dreier <roland@purestorage.com>
> 
> If, for example, I don't enable CONFIG_TCM_PSCSI, then every time I load
> the target subsystem, I get an annoying
> 
>     Unable to load target_core_pscsi
> 
> kernel log message.  Instead let's only request_module() on things if that
> code is enabled.
> 
> Signed-off-by: Roland Dreier <roland@purestorage.com>

I guess this ok.  I aways thought these request_module calls were a
horrible idea to start with, but just removing them now migh break
existing setups..

Reviewed-by: Christoph Hellwig <hch@lst.de>
Martin K. Petersen Oct. 24, 2018, 1:19 a.m. UTC | #2
Roland,

> If, for example, I don't enable CONFIG_TCM_PSCSI, then every time I
> load the target subsystem, I get an annoying
>
>     Unable to load target_core_pscsi
>
> kernel log message.  Instead let's only request_module() on things if
> that code is enabled.

Applied to 4.20/scsi-queue, thank you!
diff mbox series

Patch

diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 86c0156e6c88..eee222db0a14 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -205,19 +205,19 @@  void transport_subsystem_check_init(void)
 	if (sub_api_initialized)
 		return;
 
-	ret = request_module("target_core_iblock");
+	ret = IS_ENABLED(CONFIG_TCM_IBLOCK) && request_module("target_core_iblock");
 	if (ret != 0)
 		pr_err("Unable to load target_core_iblock\n");
 
-	ret = request_module("target_core_file");
+	ret = IS_ENABLED(CONFIG_TCM_FILEIO) && request_module("target_core_file");
 	if (ret != 0)
 		pr_err("Unable to load target_core_file\n");
 
-	ret = request_module("target_core_pscsi");
+	ret = IS_ENABLED(CONFIG_TCM_PSCSI) && request_module("target_core_pscsi");
 	if (ret != 0)
 		pr_err("Unable to load target_core_pscsi\n");
 
-	ret = request_module("target_core_user");
+	ret = IS_ENABLED(CONFIG_TCM_USER2) && request_module("target_core_user");
 	if (ret != 0)
 		pr_err("Unable to load target_core_user\n");