target core: add device action configfs files
This patch adds a new group of files that are to be used to have the kernel module execution some action. The next patch will have target_core_user use the group/files to be able to block a device and to reset its memory buffer used to pass commands between user/kernel space. This type of file is different from the existing device attributes in that they may be write only and when written to they result in the kernel module executing some function. These need to be separate from the normal device attributes which get/set device values so userspace can continue to loop over all the attribs and get/set them during initialization. Signed-off-by: Mike Christie <mchristi@redhat.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
committed by
Nicholas Bellinger
parent
a24e7917e1
commit
8dc31ff929
@@ -1197,6 +1197,7 @@ struct configfs_attribute *passthrough_attrib_attrs[] = {
|
||||
EXPORT_SYMBOL(passthrough_attrib_attrs);
|
||||
|
||||
TB_CIT_SETUP_DRV(dev_attrib, NULL, NULL);
|
||||
TB_CIT_SETUP_DRV(dev_action, NULL, NULL);
|
||||
|
||||
/* End functions for struct config_item_type tb_dev_attrib_cit */
|
||||
|
||||
@@ -2940,6 +2941,10 @@ static struct config_group *target_core_make_subdev(
|
||||
|
||||
config_group_init_type_name(&dev->dev_group, name, &tb->tb_dev_cit);
|
||||
|
||||
config_group_init_type_name(&dev->dev_action_group, "action",
|
||||
&tb->tb_dev_action_cit);
|
||||
configfs_add_default_group(&dev->dev_action_group, &dev->dev_group);
|
||||
|
||||
config_group_init_type_name(&dev->dev_attrib.da_group, "attrib",
|
||||
&tb->tb_dev_attrib_cit);
|
||||
configfs_add_default_group(&dev->dev_attrib.da_group, &dev->dev_group);
|
||||
@@ -3200,6 +3205,7 @@ static const struct config_item_type target_core_cit = {
|
||||
void target_setup_backend_cits(struct target_backend *tb)
|
||||
{
|
||||
target_core_setup_dev_cit(tb);
|
||||
target_core_setup_dev_action_cit(tb);
|
||||
target_core_setup_dev_attrib_cit(tb);
|
||||
target_core_setup_dev_pr_cit(tb);
|
||||
target_core_setup_dev_wwn_cit(tb);
|
||||
|
||||
@@ -17,6 +17,7 @@ struct target_backend {
|
||||
|
||||
struct config_item_type tb_dev_cit;
|
||||
struct config_item_type tb_dev_attrib_cit;
|
||||
struct config_item_type tb_dev_action_cit;
|
||||
struct config_item_type tb_dev_pr_cit;
|
||||
struct config_item_type tb_dev_wwn_cit;
|
||||
struct config_item_type tb_dev_alua_tg_pt_gps_cit;
|
||||
|
||||
Reference in New Issue
Block a user