aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target
diff options
context:
space:
mode:
authorAndy Grover <agrover@redhat.com>2015-05-19 17:44:41 -0400
committerNicholas Bellinger <nab@linux-iscsi.org>2015-05-30 22:58:11 -0400
commita3541703ebbf99d499656b15987175f6579b42ac (patch)
treee89b458123a97639550974de649c3da382144219 /drivers/target
parent7bfea53b5c936d706d0bf60ec218fa72cde77121 (diff)
target: Use a PASSTHROUGH flag instead of transport_types
It seems like we only care if a transport is passthrough or not. Convert transport_type to a flags field and replace TRANSPORT_PLUGIN_* with a flag, TRANSPORT_FLAG_PASSTHROUGH. Signed-off-by: Andy Grover <agrover@redhat.com> Reviewed-by: Ilias Tsitsimpis <iliastsi@arrikto.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target')
-rw-r--r--drivers/target/target_core_alua.c4
-rw-r--r--drivers/target/target_core_configfs.c10
-rw-r--r--drivers/target/target_core_device.c4
-rw-r--r--drivers/target/target_core_file.c1
-rw-r--r--drivers/target/target_core_iblock.c1
-rw-r--r--drivers/target/target_core_pr.c2
-rw-r--r--drivers/target/target_core_pscsi.c2
-rw-r--r--drivers/target/target_core_rd.c1
-rw-r--r--drivers/target/target_core_transport.c6
-rw-r--r--drivers/target/target_core_user.c2
10 files changed, 15 insertions, 18 deletions
diff --git a/drivers/target/target_core_alua.c b/drivers/target/target_core_alua.c
index 75cbde1f7c5b..4f8d4d459aa4 100644
--- a/drivers/target/target_core_alua.c
+++ b/drivers/target/target_core_alua.c
@@ -704,7 +704,7 @@ target_alua_state_check(struct se_cmd *cmd)
704 704
705 if (dev->se_hba->hba_flags & HBA_FLAGS_INTERNAL_USE) 705 if (dev->se_hba->hba_flags & HBA_FLAGS_INTERNAL_USE)
706 return 0; 706 return 0;
707 if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) 707 if (dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH)
708 return 0; 708 return 0;
709 709
710 if (!port) 710 if (!port)
@@ -2377,7 +2377,7 @@ ssize_t core_alua_store_secondary_write_metadata(
2377 2377
2378int core_setup_alua(struct se_device *dev) 2378int core_setup_alua(struct se_device *dev)
2379{ 2379{
2380 if (dev->transport->transport_type != TRANSPORT_PLUGIN_PHBA_PDEV && 2380 if (!(dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH) &&
2381 !(dev->se_hba->hba_flags & HBA_FLAGS_INTERNAL_USE)) { 2381 !(dev->se_hba->hba_flags & HBA_FLAGS_INTERNAL_USE)) {
2382 struct t10_alua_lu_gp_member *lu_gp_mem; 2382 struct t10_alua_lu_gp_member *lu_gp_mem;
2383 2383
diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c
index 1580077971f8..e7b0430a0575 100644
--- a/drivers/target/target_core_configfs.c
+++ b/drivers/target/target_core_configfs.c
@@ -811,7 +811,7 @@ static ssize_t target_core_dev_pr_show_attr_res_holder(struct se_device *dev,
811{ 811{
812 int ret; 812 int ret;
813 813
814 if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) 814 if (dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH)
815 return sprintf(page, "Passthrough\n"); 815 return sprintf(page, "Passthrough\n");
816 816
817 spin_lock(&dev->dev_reservation_lock); 817 spin_lock(&dev->dev_reservation_lock);
@@ -962,7 +962,7 @@ SE_DEV_PR_ATTR_RO(res_pr_type);
962static ssize_t target_core_dev_pr_show_attr_res_type( 962static ssize_t target_core_dev_pr_show_attr_res_type(
963 struct se_device *dev, char *page) 963 struct se_device *dev, char *page)
964{ 964{
965 if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) 965 if (dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH)
966 return sprintf(page, "SPC_PASSTHROUGH\n"); 966 return sprintf(page, "SPC_PASSTHROUGH\n");
967 else if (dev->dev_reservation_flags & DRF_SPC2_RESERVATIONS) 967 else if (dev->dev_reservation_flags & DRF_SPC2_RESERVATIONS)
968 return sprintf(page, "SPC2_RESERVATIONS\n"); 968 return sprintf(page, "SPC2_RESERVATIONS\n");
@@ -975,7 +975,7 @@ SE_DEV_PR_ATTR_RO(res_type);
975static ssize_t target_core_dev_pr_show_attr_res_aptpl_active( 975static ssize_t target_core_dev_pr_show_attr_res_aptpl_active(
976 struct se_device *dev, char *page) 976 struct se_device *dev, char *page)
977{ 977{
978 if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) 978 if (dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH)
979 return 0; 979 return 0;
980 980
981 return sprintf(page, "APTPL Bit Status: %s\n", 981 return sprintf(page, "APTPL Bit Status: %s\n",
@@ -990,7 +990,7 @@ SE_DEV_PR_ATTR_RO(res_aptpl_active);
990static ssize_t target_core_dev_pr_show_attr_res_aptpl_metadata( 990static ssize_t target_core_dev_pr_show_attr_res_aptpl_metadata(
991 struct se_device *dev, char *page) 991 struct se_device *dev, char *page)
992{ 992{
993 if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) 993 if (dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH)
994 return 0; 994 return 0;
995 995
996 return sprintf(page, "Ready to process PR APTPL metadata..\n"); 996 return sprintf(page, "Ready to process PR APTPL metadata..\n");
@@ -1037,7 +1037,7 @@ static ssize_t target_core_dev_pr_store_attr_res_aptpl_metadata(
1037 u16 port_rpti = 0, tpgt = 0; 1037 u16 port_rpti = 0, tpgt = 0;
1038 u8 type = 0, scope; 1038 u8 type = 0, scope;
1039 1039
1040 if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) 1040 if (dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH)
1041 return 0; 1041 return 0;
1042 if (dev->dev_reservation_flags & DRF_SPC2_RESERVATIONS) 1042 if (dev->dev_reservation_flags & DRF_SPC2_RESERVATIONS)
1043 return 0; 1043 return 0;
diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c
index 56b20dc54087..ce5f768181ff 100644
--- a/drivers/target/target_core_device.c
+++ b/drivers/target/target_core_device.c
@@ -528,7 +528,7 @@ static void core_export_port(
528 list_add_tail(&port->sep_list, &dev->dev_sep_list); 528 list_add_tail(&port->sep_list, &dev->dev_sep_list);
529 spin_unlock(&dev->se_port_lock); 529 spin_unlock(&dev->se_port_lock);
530 530
531 if (dev->transport->transport_type != TRANSPORT_PLUGIN_PHBA_PDEV && 531 if (!(dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH) &&
532 !(dev->se_hba->hba_flags & HBA_FLAGS_INTERNAL_USE)) { 532 !(dev->se_hba->hba_flags & HBA_FLAGS_INTERNAL_USE)) {
533 tg_pt_gp_mem = core_alua_allocate_tg_pt_gp_mem(port); 533 tg_pt_gp_mem = core_alua_allocate_tg_pt_gp_mem(port);
534 if (IS_ERR(tg_pt_gp_mem) || !tg_pt_gp_mem) { 534 if (IS_ERR(tg_pt_gp_mem) || !tg_pt_gp_mem) {
@@ -1604,7 +1604,7 @@ int target_configure_device(struct se_device *dev)
1604 * anything virtual (IBLOCK, FILEIO, RAMDISK), but not for TCM/pSCSI 1604 * anything virtual (IBLOCK, FILEIO, RAMDISK), but not for TCM/pSCSI
1605 * passthrough because this is being provided by the backend LLD. 1605 * passthrough because this is being provided by the backend LLD.
1606 */ 1606 */
1607 if (dev->transport->transport_type != TRANSPORT_PLUGIN_PHBA_PDEV) { 1607 if (!(dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH)) {
1608 strncpy(&dev->t10_wwn.vendor[0], "LIO-ORG", 8); 1608 strncpy(&dev->t10_wwn.vendor[0], "LIO-ORG", 8);
1609 strncpy(&dev->t10_wwn.model[0], 1609 strncpy(&dev->t10_wwn.model[0],
1610 dev->transport->inquiry_prod, 16); 1610 dev->transport->inquiry_prod, 16);
diff --git a/drivers/target/target_core_file.c b/drivers/target/target_core_file.c
index f7e6e51aed36..3f27bfd816d8 100644
--- a/drivers/target/target_core_file.c
+++ b/drivers/target/target_core_file.c
@@ -958,7 +958,6 @@ static struct se_subsystem_api fileio_template = {
958 .inquiry_prod = "FILEIO", 958 .inquiry_prod = "FILEIO",
959 .inquiry_rev = FD_VERSION, 959 .inquiry_rev = FD_VERSION,
960 .owner = THIS_MODULE, 960 .owner = THIS_MODULE,
961 .transport_type = TRANSPORT_PLUGIN_VHBA_PDEV,
962 .attach_hba = fd_attach_hba, 961 .attach_hba = fd_attach_hba,
963 .detach_hba = fd_detach_hba, 962 .detach_hba = fd_detach_hba,
964 .alloc_device = fd_alloc_device, 963 .alloc_device = fd_alloc_device,
diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c
index 1b7947c2510f..8c965683789f 100644
--- a/drivers/target/target_core_iblock.c
+++ b/drivers/target/target_core_iblock.c
@@ -904,7 +904,6 @@ static struct se_subsystem_api iblock_template = {
904 .inquiry_prod = "IBLOCK", 904 .inquiry_prod = "IBLOCK",
905 .inquiry_rev = IBLOCK_VERSION, 905 .inquiry_rev = IBLOCK_VERSION,
906 .owner = THIS_MODULE, 906 .owner = THIS_MODULE,
907 .transport_type = TRANSPORT_PLUGIN_VHBA_PDEV,
908 .attach_hba = iblock_attach_hba, 907 .attach_hba = iblock_attach_hba,
909 .detach_hba = iblock_detach_hba, 908 .detach_hba = iblock_detach_hba,
910 .alloc_device = iblock_alloc_device, 909 .alloc_device = iblock_alloc_device,
diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c
index b7c81acf08d0..a15411c79ae9 100644
--- a/drivers/target/target_core_pr.c
+++ b/drivers/target/target_core_pr.c
@@ -4093,7 +4093,7 @@ target_check_reservation(struct se_cmd *cmd)
4093 return 0; 4093 return 0;
4094 if (dev->se_hba->hba_flags & HBA_FLAGS_INTERNAL_USE) 4094 if (dev->se_hba->hba_flags & HBA_FLAGS_INTERNAL_USE)
4095 return 0; 4095 return 0;
4096 if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) 4096 if (dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH)
4097 return 0; 4097 return 0;
4098 4098
4099 spin_lock(&dev->dev_reservation_lock); 4099 spin_lock(&dev->dev_reservation_lock);
diff --git a/drivers/target/target_core_pscsi.c b/drivers/target/target_core_pscsi.c
index 53bd0eb57095..ecc5eaef13d6 100644
--- a/drivers/target/target_core_pscsi.c
+++ b/drivers/target/target_core_pscsi.c
@@ -1141,7 +1141,7 @@ static struct configfs_attribute *pscsi_backend_dev_attrs[] = {
1141static struct se_subsystem_api pscsi_template = { 1141static struct se_subsystem_api pscsi_template = {
1142 .name = "pscsi", 1142 .name = "pscsi",
1143 .owner = THIS_MODULE, 1143 .owner = THIS_MODULE,
1144 .transport_type = TRANSPORT_PLUGIN_PHBA_PDEV, 1144 .transport_flags = TRANSPORT_FLAG_PASSTHROUGH,
1145 .attach_hba = pscsi_attach_hba, 1145 .attach_hba = pscsi_attach_hba,
1146 .detach_hba = pscsi_detach_hba, 1146 .detach_hba = pscsi_detach_hba,
1147 .pmode_enable_hba = pscsi_pmode_enable_hba, 1147 .pmode_enable_hba = pscsi_pmode_enable_hba,
diff --git a/drivers/target/target_core_rd.c b/drivers/target/target_core_rd.c
index a263bf5fab8d..d16489b6a1a4 100644
--- a/drivers/target/target_core_rd.c
+++ b/drivers/target/target_core_rd.c
@@ -733,7 +733,6 @@ static struct se_subsystem_api rd_mcp_template = {
733 .name = "rd_mcp", 733 .name = "rd_mcp",
734 .inquiry_prod = "RAMDISK-MCP", 734 .inquiry_prod = "RAMDISK-MCP",
735 .inquiry_rev = RD_MCP_VERSION, 735 .inquiry_rev = RD_MCP_VERSION,
736 .transport_type = TRANSPORT_PLUGIN_VHBA_VDEV,
737 .attach_hba = rd_attach_hba, 736 .attach_hba = rd_attach_hba,
738 .detach_hba = rd_detach_hba, 737 .detach_hba = rd_detach_hba,
739 .alloc_device = rd_alloc_device, 738 .alloc_device = rd_alloc_device,
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 90c92f04a586..675f2d9d1f14 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -1196,7 +1196,7 @@ transport_check_alloc_task_attr(struct se_cmd *cmd)
1196 * Check if SAM Task Attribute emulation is enabled for this 1196 * Check if SAM Task Attribute emulation is enabled for this
1197 * struct se_device storage object 1197 * struct se_device storage object
1198 */ 1198 */
1199 if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) 1199 if (dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH)
1200 return 0; 1200 return 0;
1201 1201
1202 if (cmd->sam_task_attr == TCM_ACA_TAG) { 1202 if (cmd->sam_task_attr == TCM_ACA_TAG) {
@@ -1787,7 +1787,7 @@ static bool target_handle_task_attr(struct se_cmd *cmd)
1787{ 1787{
1788 struct se_device *dev = cmd->se_dev; 1788 struct se_device *dev = cmd->se_dev;
1789 1789
1790 if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) 1790 if (dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH)
1791 return false; 1791 return false;
1792 1792
1793 /* 1793 /*
@@ -1912,7 +1912,7 @@ static void transport_complete_task_attr(struct se_cmd *cmd)
1912{ 1912{
1913 struct se_device *dev = cmd->se_dev; 1913 struct se_device *dev = cmd->se_dev;
1914 1914
1915 if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) 1915 if (dev->transport->transport_flags & TRANSPORT_FLAG_PASSTHROUGH)
1916 return; 1916 return;
1917 1917
1918 if (cmd->sam_task_attr == TCM_SIMPLE_TAG) { 1918 if (cmd->sam_task_attr == TCM_SIMPLE_TAG) {
diff --git a/drivers/target/target_core_user.c b/drivers/target/target_core_user.c
index 2768ea2cfd7a..07d2996d8c1f 100644
--- a/drivers/target/target_core_user.c
+++ b/drivers/target/target_core_user.c
@@ -1077,7 +1077,7 @@ static struct se_subsystem_api tcmu_template = {
1077 .inquiry_prod = "USER", 1077 .inquiry_prod = "USER",
1078 .inquiry_rev = TCMU_VERSION, 1078 .inquiry_rev = TCMU_VERSION,
1079 .owner = THIS_MODULE, 1079 .owner = THIS_MODULE,
1080 .transport_type = TRANSPORT_PLUGIN_PHBA_PDEV, 1080 .transport_flags = TRANSPORT_FLAG_PASSTHROUGH,
1081 .attach_hba = tcmu_attach_hba, 1081 .attach_hba = tcmu_attach_hba,
1082 .detach_hba = tcmu_detach_hba, 1082 .detach_hba = tcmu_detach_hba,
1083 .alloc_device = tcmu_alloc_device, 1083 .alloc_device = tcmu_alloc_device,