|
@@ -659,6 +659,7 @@ int se_dev_set_max_unmap_lba_count(
|
|
dev, dev->dev_attrib.max_unmap_lba_count);
|
|
dev, dev->dev_attrib.max_unmap_lba_count);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_max_unmap_lba_count);
|
|
|
|
|
|
int se_dev_set_max_unmap_block_desc_count(
|
|
int se_dev_set_max_unmap_block_desc_count(
|
|
struct se_device *dev,
|
|
struct se_device *dev,
|
|
@@ -670,6 +671,7 @@ int se_dev_set_max_unmap_block_desc_count(
|
|
dev, dev->dev_attrib.max_unmap_block_desc_count);
|
|
dev, dev->dev_attrib.max_unmap_block_desc_count);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_max_unmap_block_desc_count);
|
|
|
|
|
|
int se_dev_set_unmap_granularity(
|
|
int se_dev_set_unmap_granularity(
|
|
struct se_device *dev,
|
|
struct se_device *dev,
|
|
@@ -680,6 +682,7 @@ int se_dev_set_unmap_granularity(
|
|
dev, dev->dev_attrib.unmap_granularity);
|
|
dev, dev->dev_attrib.unmap_granularity);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_unmap_granularity);
|
|
|
|
|
|
int se_dev_set_unmap_granularity_alignment(
|
|
int se_dev_set_unmap_granularity_alignment(
|
|
struct se_device *dev,
|
|
struct se_device *dev,
|
|
@@ -690,6 +693,7 @@ int se_dev_set_unmap_granularity_alignment(
|
|
dev, dev->dev_attrib.unmap_granularity_alignment);
|
|
dev, dev->dev_attrib.unmap_granularity_alignment);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_unmap_granularity_alignment);
|
|
|
|
|
|
int se_dev_set_max_write_same_len(
|
|
int se_dev_set_max_write_same_len(
|
|
struct se_device *dev,
|
|
struct se_device *dev,
|
|
@@ -700,6 +704,7 @@ int se_dev_set_max_write_same_len(
|
|
dev, dev->dev_attrib.max_write_same_len);
|
|
dev, dev->dev_attrib.max_write_same_len);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_max_write_same_len);
|
|
|
|
|
|
static void dev_set_t10_wwn_model_alias(struct se_device *dev)
|
|
static void dev_set_t10_wwn_model_alias(struct se_device *dev)
|
|
{
|
|
{
|
|
@@ -738,6 +743,7 @@ int se_dev_set_emulate_model_alias(struct se_device *dev, int flag)
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_model_alias);
|
|
|
|
|
|
int se_dev_set_emulate_dpo(struct se_device *dev, int flag)
|
|
int se_dev_set_emulate_dpo(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -753,6 +759,7 @@ int se_dev_set_emulate_dpo(struct se_device *dev, int flag)
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_dpo);
|
|
|
|
|
|
int se_dev_set_emulate_fua_write(struct se_device *dev, int flag)
|
|
int se_dev_set_emulate_fua_write(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -771,6 +778,7 @@ int se_dev_set_emulate_fua_write(struct se_device *dev, int flag)
|
|
dev, dev->dev_attrib.emulate_fua_write);
|
|
dev, dev->dev_attrib.emulate_fua_write);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_fua_write);
|
|
|
|
|
|
int se_dev_set_emulate_fua_read(struct se_device *dev, int flag)
|
|
int se_dev_set_emulate_fua_read(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -786,6 +794,7 @@ int se_dev_set_emulate_fua_read(struct se_device *dev, int flag)
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_fua_read);
|
|
|
|
|
|
int se_dev_set_emulate_write_cache(struct se_device *dev, int flag)
|
|
int se_dev_set_emulate_write_cache(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -809,6 +818,7 @@ int se_dev_set_emulate_write_cache(struct se_device *dev, int flag)
|
|
dev, dev->dev_attrib.emulate_write_cache);
|
|
dev, dev->dev_attrib.emulate_write_cache);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_write_cache);
|
|
|
|
|
|
int se_dev_set_emulate_ua_intlck_ctrl(struct se_device *dev, int flag)
|
|
int se_dev_set_emulate_ua_intlck_ctrl(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -829,6 +839,7 @@ int se_dev_set_emulate_ua_intlck_ctrl(struct se_device *dev, int flag)
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_ua_intlck_ctrl);
|
|
|
|
|
|
int se_dev_set_emulate_tas(struct se_device *dev, int flag)
|
|
int se_dev_set_emulate_tas(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -849,6 +860,7 @@ int se_dev_set_emulate_tas(struct se_device *dev, int flag)
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_tas);
|
|
|
|
|
|
int se_dev_set_emulate_tpu(struct se_device *dev, int flag)
|
|
int se_dev_set_emulate_tpu(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -870,6 +882,7 @@ int se_dev_set_emulate_tpu(struct se_device *dev, int flag)
|
|
dev, flag);
|
|
dev, flag);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_tpu);
|
|
|
|
|
|
int se_dev_set_emulate_tpws(struct se_device *dev, int flag)
|
|
int se_dev_set_emulate_tpws(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -891,6 +904,7 @@ int se_dev_set_emulate_tpws(struct se_device *dev, int flag)
|
|
dev, flag);
|
|
dev, flag);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_tpws);
|
|
|
|
|
|
int se_dev_set_emulate_caw(struct se_device *dev, int flag)
|
|
int se_dev_set_emulate_caw(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -904,6 +918,7 @@ int se_dev_set_emulate_caw(struct se_device *dev, int flag)
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_caw);
|
|
|
|
|
|
int se_dev_set_emulate_3pc(struct se_device *dev, int flag)
|
|
int se_dev_set_emulate_3pc(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -917,6 +932,7 @@ int se_dev_set_emulate_3pc(struct se_device *dev, int flag)
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_3pc);
|
|
|
|
|
|
int se_dev_set_pi_prot_type(struct se_device *dev, int flag)
|
|
int se_dev_set_pi_prot_type(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -970,6 +986,7 @@ int se_dev_set_pi_prot_type(struct se_device *dev, int flag)
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_pi_prot_type);
|
|
|
|
|
|
int se_dev_set_pi_prot_format(struct se_device *dev, int flag)
|
|
int se_dev_set_pi_prot_format(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -1005,6 +1022,7 @@ int se_dev_set_pi_prot_format(struct se_device *dev, int flag)
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_pi_prot_format);
|
|
|
|
|
|
int se_dev_set_enforce_pr_isids(struct se_device *dev, int flag)
|
|
int se_dev_set_enforce_pr_isids(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -1017,6 +1035,7 @@ int se_dev_set_enforce_pr_isids(struct se_device *dev, int flag)
|
|
(dev->dev_attrib.enforce_pr_isids) ? "Enabled" : "Disabled");
|
|
(dev->dev_attrib.enforce_pr_isids) ? "Enabled" : "Disabled");
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_enforce_pr_isids);
|
|
|
|
|
|
int se_dev_set_force_pr_aptpl(struct se_device *dev, int flag)
|
|
int se_dev_set_force_pr_aptpl(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -1034,6 +1053,7 @@ int se_dev_set_force_pr_aptpl(struct se_device *dev, int flag)
|
|
pr_debug("dev[%p]: SE Device force_pr_aptpl: %d\n", dev, flag);
|
|
pr_debug("dev[%p]: SE Device force_pr_aptpl: %d\n", dev, flag);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_force_pr_aptpl);
|
|
|
|
|
|
int se_dev_set_is_nonrot(struct se_device *dev, int flag)
|
|
int se_dev_set_is_nonrot(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -1046,6 +1066,7 @@ int se_dev_set_is_nonrot(struct se_device *dev, int flag)
|
|
dev, flag);
|
|
dev, flag);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_is_nonrot);
|
|
|
|
|
|
int se_dev_set_emulate_rest_reord(struct se_device *dev, int flag)
|
|
int se_dev_set_emulate_rest_reord(struct se_device *dev, int flag)
|
|
{
|
|
{
|
|
@@ -1058,6 +1079,7 @@ int se_dev_set_emulate_rest_reord(struct se_device *dev, int flag)
|
|
pr_debug("dev[%p]: SE Device emulate_rest_reord: %d\n", dev, flag);
|
|
pr_debug("dev[%p]: SE Device emulate_rest_reord: %d\n", dev, flag);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_emulate_rest_reord);
|
|
|
|
|
|
/*
|
|
/*
|
|
* Note, this can only be called on unexported SE Device Object.
|
|
* Note, this can only be called on unexported SE Device Object.
|
|
@@ -1101,6 +1123,7 @@ int se_dev_set_queue_depth(struct se_device *dev, u32 queue_depth)
|
|
dev, queue_depth);
|
|
dev, queue_depth);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_queue_depth);
|
|
|
|
|
|
int se_dev_set_fabric_max_sectors(struct se_device *dev, u32 fabric_max_sectors)
|
|
int se_dev_set_fabric_max_sectors(struct se_device *dev, u32 fabric_max_sectors)
|
|
{
|
|
{
|
|
@@ -1155,6 +1178,7 @@ int se_dev_set_fabric_max_sectors(struct se_device *dev, u32 fabric_max_sectors)
|
|
dev, fabric_max_sectors);
|
|
dev, fabric_max_sectors);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_fabric_max_sectors);
|
|
|
|
|
|
int se_dev_set_optimal_sectors(struct se_device *dev, u32 optimal_sectors)
|
|
int se_dev_set_optimal_sectors(struct se_device *dev, u32 optimal_sectors)
|
|
{
|
|
{
|
|
@@ -1181,6 +1205,7 @@ int se_dev_set_optimal_sectors(struct se_device *dev, u32 optimal_sectors)
|
|
dev, optimal_sectors);
|
|
dev, optimal_sectors);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_optimal_sectors);
|
|
|
|
|
|
int se_dev_set_block_size(struct se_device *dev, u32 block_size)
|
|
int se_dev_set_block_size(struct se_device *dev, u32 block_size)
|
|
{
|
|
{
|
|
@@ -1218,6 +1243,7 @@ int se_dev_set_block_size(struct se_device *dev, u32 block_size)
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(se_dev_set_block_size);
|
|
|
|
|
|
struct se_lun *core_dev_add_lun(
|
|
struct se_lun *core_dev_add_lun(
|
|
struct se_portal_group *tpg,
|
|
struct se_portal_group *tpg,
|