Lines Matching refs:item

272 static int configfs_create_dir(struct config_item *item, struct dentry *dentry)  in configfs_create_dir()  argument
278 BUG_ON(!item); in configfs_create_dir()
284 error = configfs_make_dirent(p->d_fsdata, dentry, item, mode, in configfs_create_dir()
293 item->ci_dentry = dentry; in configfs_create_dir()
397 static void configfs_remove_dir(struct config_item * item) in configfs_remove_dir() argument
399 struct dentry * dentry = dget(item->ci_dentry); in configfs_remove_dir()
553 static void detach_attrs(struct config_item * item) in detach_attrs() argument
555 struct dentry * dentry = dget(item->ci_dentry); in detach_attrs()
582 static int populate_attrs(struct config_item *item) in populate_attrs() argument
584 struct config_item_type *t = item->ci_type; in populate_attrs()
593 if ((error = configfs_create_file(item, attr))) in populate_attrs()
599 detach_attrs(item); in populate_attrs()
605 struct config_item *item,
607 static void configfs_detach_group(struct config_item *item);
710 static void unlink_obj(struct config_item *item) in unlink_obj() argument
714 group = item->ci_group; in unlink_obj()
716 list_del_init(&item->ci_entry); in unlink_obj()
718 item->ci_group = NULL; in unlink_obj()
719 item->ci_parent = NULL; in unlink_obj()
722 config_item_put(item); in unlink_obj()
729 static void link_obj(struct config_item *parent_item, struct config_item *item) in link_obj() argument
735 item->ci_parent = parent_item; in link_obj()
741 item->ci_group = config_group_get(to_config_group(parent_item)); in link_obj()
742 list_add_tail(&item->ci_entry, &item->ci_group->cg_children); in link_obj()
748 config_item_get(item); in link_obj()
807 struct config_item *item, in configfs_attach_item() argument
812 ret = configfs_create_dir(item, dentry); in configfs_attach_item()
814 ret = populate_attrs(item); in configfs_attach_item()
822 configfs_remove_dir(item); in configfs_attach_item()
834 static void configfs_detach_item(struct config_item *item) in configfs_detach_item() argument
836 detach_attrs(item); in configfs_detach_item()
837 configfs_remove_dir(item); in configfs_detach_item()
841 struct config_item *item, in configfs_attach_group() argument
847 ret = configfs_attach_item(parent_item, item, dentry); in configfs_attach_group()
863 ret = populate_groups(to_config_group(item)); in configfs_attach_group()
865 configfs_detach_item(item); in configfs_attach_group()
879 static void configfs_detach_group(struct config_item *item) in configfs_detach_group() argument
881 detach_groups(to_config_group(item)); in configfs_detach_group()
882 configfs_detach_item(item); in configfs_detach_group()
895 struct config_item *item) in client_disconnect_notify() argument
904 item); in client_disconnect_notify()
914 struct config_item *item) in client_drop_item() argument
927 item); in client_drop_item()
929 config_item_put(item); in client_drop_item()
1160 struct config_item *item = NULL; in configfs_mkdir() local
1227 item = &group->cg_item; in configfs_mkdir()
1231 item = type->ct_group_ops->make_item(to_config_group(parent_item), name); in configfs_mkdir()
1232 if (!item) in configfs_mkdir()
1233 item = ERR_PTR(-ENOMEM); in configfs_mkdir()
1234 if (!IS_ERR(item)) in configfs_mkdir()
1235 link_obj(parent_item, item); in configfs_mkdir()
1237 ret = PTR_ERR(item); in configfs_mkdir()
1255 type = item->ci_type; in configfs_mkdir()
1286 ret = configfs_attach_group(parent_item, item, dentry); in configfs_mkdir()
1288 ret = configfs_attach_item(parent_item, item, dentry); in configfs_mkdir()
1301 client_disconnect_notify(parent_item, item); in configfs_mkdir()
1305 unlink_obj(item); in configfs_mkdir()
1306 client_drop_item(parent_item, item); in configfs_mkdir()
1333 struct config_item *item; in configfs_rmdir() local
1393 item = configfs_get_config_item(dentry); in configfs_rmdir()
1398 if (item->ci_type) in configfs_rmdir()
1399 dead_item_owner = item->ci_type->ct_owner; in configfs_rmdir()
1402 configfs_detach_group(item); in configfs_rmdir()
1405 client_disconnect_notify(parent_item, item); in configfs_rmdir()
1406 unlink_group(to_config_group(item)); in configfs_rmdir()
1408 configfs_detach_item(item); in configfs_rmdir()
1411 client_disconnect_notify(parent_item, item); in configfs_rmdir()
1412 unlink_obj(item); in configfs_rmdir()
1415 client_drop_item(parent_item, item); in configfs_rmdir()
1419 config_item_put(item); in configfs_rmdir()
1442 int configfs_rename_dir(struct config_item * item, const char *new_name)
1447 if (!strcmp(config_item_name(item), new_name))
1450 if (!item->parent)
1454 parent = item->parent->dentry;
1461 error = config_item_set_name(item, "%s", new_name);
1464 d_move(item->dentry, new_dentry);