Subject: linux-next: build failure after merge of the target-updates tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 3 Jun 2015 18:16:07 +1000

Hi Nicholas,

After merging the target-updates tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/target/target_core_fabric_lib.c: In function 'target_get_pr_transport_id_len':
drivers/target/target_core_fabric_lib.c:364:7: error: 'SCSI_PROTOCOL_FCP' undeclared (first use in this function)
  case SCSI_PROTOCOL_FCP:
       ^
drivers/target/target_core_fabric_lib.c:364:7: note: each undeclared identifier is reported only once for each function it appears in
drivers/target/target_core_fabric_lib.c:365:7: error: 'SCSI_PROTOCOL_SBP' undeclared (first use in this function)
  case SCSI_PROTOCOL_SBP:
       ^
drivers/target/target_core_fabric_lib.c:366:7: error: 'SCSI_PROTOCOL_SRP' undeclared (first use in this function)
  case SCSI_PROTOCOL_SRP:
       ^
drivers/target/target_core_fabric_lib.c:367:7: error: 'SCSI_PROTOCOL_SAS' undeclared (first use in this function)
  case SCSI_PROTOCOL_SAS:
       ^
drivers/target/target_core_fabric_lib.c:369:7: error: 'SCSI_PROTOCOL_ISCSI' undeclared (first use in this function)
  case SCSI_PROTOCOL_ISCSI:
       ^
drivers/target/target_core_fabric_lib.c: In function 'target_get_pr_transport_id':
drivers/target/target_core_fabric_lib.c:388:7: error: 'SCSI_PROTOCOL_SAS' undeclared (first use in this function)
  case SCSI_PROTOCOL_SAS:
       ^
drivers/target/target_core_fabric_lib.c:390:7: error: 'SCSI_PROTOCOL_SBP' undeclared (first use in this function)
  case SCSI_PROTOCOL_SBP:
       ^
drivers/target/target_core_fabric_lib.c:392:7: error: 'SCSI_PROTOCOL_SRP' undeclared (first use in this function)
  case SCSI_PROTOCOL_SRP:
       ^
drivers/target/target_core_fabric_lib.c:394:7: error: 'SCSI_PROTOCOL_FCP' undeclared (first use in this function)
  case SCSI_PROTOCOL_FCP:
       ^
drivers/target/target_core_fabric_lib.c:396:7: error: 'SCSI_PROTOCOL_ISCSI' undeclared (first use in this function)
  case SCSI_PROTOCOL_ISCSI:
       ^
drivers/target/target_core_fabric_lib.c: In function 'target_parse_pr_out_transport_id':
drivers/target/target_core_fabric_lib.c:411:7: error: 'SCSI_PROTOCOL_SAS' undeclared (first use in this function)
  case SCSI_PROTOCOL_SAS:
       ^
drivers/target/target_core_fabric_lib.c:418:7: error: 'SCSI_PROTOCOL_SBP' undeclared (first use in this function)
  case SCSI_PROTOCOL_SBP:
       ^
drivers/target/target_core_fabric_lib.c:419:7: error: 'SCSI_PROTOCOL_SRP' undeclared (first use in this function)
  case SCSI_PROTOCOL_SRP:
       ^
drivers/target/target_core_fabric_lib.c:420:7: error: 'SCSI_PROTOCOL_FCP' undeclared (first use in this function)
  case SCSI_PROTOCOL_FCP:
       ^
drivers/target/target_core_fabric_lib.c:423:7: error: 'SCSI_PROTOCOL_ISCSI' undeclared (first use in this function)
  case SCSI_PROTOCOL_ISCSI:
       ^

Caused by commit 2650d71e244f ("target: move transport ID handling to
the core") interacting with commit ba929992522b ("target: Minimize SCSI
header #include directives") from the scsi tree.

I have added this merge fix patch for today:

From: Stephen Rothwell <[email-masked]>
Date: Wed, 3 Jun 2015 18:10:46 +1000
Subject: [PATCH] target: explicitly include scsi_proto.h in target_core_fabric_lib.c

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 drivers/target/target_core_fabric_lib.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/target/target_core_fabric_lib.c b/drivers/target/target_core_fabric_lib.c
index b05578b5b4a0..cb6497ce4b61 100644
--- a/drivers/target/target_core_fabric_lib.c
+++ b/drivers/target/target_core_fabric_lib.c
@@ -35,6 +35,8 @@
 #include <linux/spinlock.h>
 #include <linux/export.h>
 
+#include <scsi/scsi_proto.h>
+
 #include <target/target_core_base.h>
 #include <target/target_core_fabric.h>
 
-- 
2.1.4

-- 
Cheers,
Stephen Rothwell                    [email-masked]