Loading Documentation/filesystems/configfs/configfs.txt +4 −6 Original line number Diff line number Diff line Loading @@ -233,12 +233,10 @@ accomplished via the group operations specified on the group's config_item_type. struct configfs_group_operations { int (*make_item)(struct config_group *group, const char *name, struct config_item **new_item); int (*make_group)(struct config_group *group, const char *name, struct config_group **new_group); struct config_item *(*make_item)(struct config_group *group, const char *name); struct config_group *(*make_group)(struct config_group *group, const char *name); int (*commit_item)(struct config_item *item); void (*disconnect_notify)(struct config_group *group, struct config_item *item); Loading Documentation/filesystems/configfs/configfs_example.c +6 −8 Original line number Diff line number Diff line Loading @@ -273,13 +273,13 @@ static inline struct simple_children *to_simple_children(struct config_item *ite return item ? container_of(to_config_group(item), struct simple_children, group) : NULL; } static int simple_children_make_item(struct config_group *group, const char *name, struct config_item **new_item) static struct config_item *simple_children_make_item(struct config_group *group, const char *name) { struct simple_child *simple_child; simple_child = kzalloc(sizeof(struct simple_child), GFP_KERNEL); if (!simple_child) return -ENOMEM; return NULL; config_item_init_type_name(&simple_child->item, name, Loading @@ -287,8 +287,7 @@ static int simple_children_make_item(struct config_group *group, const char *nam simple_child->storeme = 0; *new_item = &simple_child->item; return 0; return &simple_child->item; } static struct configfs_attribute simple_children_attr_description = { Loading Loading @@ -360,21 +359,20 @@ static struct configfs_subsystem simple_children_subsys = { * children of its own. */ static int group_children_make_group(struct config_group *group, const char *name, struct config_group **new_group) static struct config_group *group_children_make_group(struct config_group *group, const char *name) { struct simple_children *simple_children; simple_children = kzalloc(sizeof(struct simple_children), GFP_KERNEL); if (!simple_children) return -ENOMEM; return NULL; config_group_init_type_name(&simple_children->group, name, &simple_children_type); *new_group = &simple_children->group; return 0; return &simple_children->group; } static struct configfs_attribute group_children_attr_description = { Loading drivers/net/netconsole.c +4 −6 Original line number Diff line number Diff line Loading @@ -585,9 +585,8 @@ static struct config_item_type netconsole_target_type = { * Group operations and type for netconsole_subsys. */ static int make_netconsole_target(struct config_group *group, const char *name, struct config_item **new_item) static struct config_item *make_netconsole_target(struct config_group *group, const char *name) { unsigned long flags; struct netconsole_target *nt; Loading @@ -599,7 +598,7 @@ static int make_netconsole_target(struct config_group *group, nt = kzalloc(sizeof(*nt), GFP_KERNEL); if (!nt) { printk(KERN_ERR "netconsole: failed to allocate memory\n"); return -ENOMEM; return NULL; } nt->np.name = "netconsole"; Loading @@ -616,8 +615,7 @@ static int make_netconsole_target(struct config_group *group, list_add(&nt->list, &target_list); spin_unlock_irqrestore(&target_list_lock, flags); *new_item = &nt->item; return 0; return &nt->item; } static void drop_netconsole_target(struct config_group *group, Loading fs/configfs/dir.c +7 −6 Original line number Diff line number Diff line Loading @@ -1073,24 +1073,25 @@ static int configfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) group = NULL; item = NULL; if (type->ct_group_ops->make_group) { ret = type->ct_group_ops->make_group(to_config_group(parent_item), name, &group); if (!ret) { group = type->ct_group_ops->make_group(to_config_group(parent_item), name); if (group) { link_group(to_config_group(parent_item), group); item = &group->cg_item; } } else { ret = type->ct_group_ops->make_item(to_config_group(parent_item), name, &item); if (!ret) item = type->ct_group_ops->make_item(to_config_group(parent_item), name); if (item) link_obj(parent_item, item); } mutex_unlock(&subsys->su_mutex); kfree(name); if (ret) { if (!item) { /* * If ret != 0, then link_obj() was never called. * If item == NULL, then link_obj() was never called. * There are no extra references to clean up. */ ret = -ENOMEM; goto out_put; } Loading fs/dlm/config.c +17 −28 Original line number Diff line number Diff line Loading @@ -41,20 +41,16 @@ struct comm; struct nodes; struct node; static int make_cluster(struct config_group *, const char *, struct config_group **); static struct config_group *make_cluster(struct config_group *, const char *); static void drop_cluster(struct config_group *, struct config_item *); static void release_cluster(struct config_item *); static int make_space(struct config_group *, const char *, struct config_group **); static struct config_group *make_space(struct config_group *, const char *); static void drop_space(struct config_group *, struct config_item *); static void release_space(struct config_item *); static int make_comm(struct config_group *, const char *, struct config_item **); static struct config_item *make_comm(struct config_group *, const char *); static void drop_comm(struct config_group *, struct config_item *); static void release_comm(struct config_item *); static int make_node(struct config_group *, const char *, struct config_item **); static struct config_item *make_node(struct config_group *, const char *); static void drop_node(struct config_group *, struct config_item *); static void release_node(struct config_item *); Loading Loading @@ -396,8 +392,8 @@ static struct node *to_node(struct config_item *i) return i ? container_of(i, struct node, item) : NULL; } static int make_cluster(struct config_group *g, const char *name, struct config_group **new_g) static struct config_group *make_cluster(struct config_group *g, const char *name) { struct cluster *cl = NULL; struct spaces *sps = NULL; Loading Loading @@ -435,15 +431,14 @@ static int make_cluster(struct config_group *g, const char *name, space_list = &sps->ss_group; comm_list = &cms->cs_group; *new_g = &cl->group; return 0; return &cl->group; fail: kfree(cl); kfree(gps); kfree(sps); kfree(cms); return -ENOMEM; return NULL; } static void drop_cluster(struct config_group *g, struct config_item *i) Loading Loading @@ -471,8 +466,7 @@ static void release_cluster(struct config_item *i) kfree(cl); } static int make_space(struct config_group *g, const char *name, struct config_group **new_g) static struct config_group *make_space(struct config_group *g, const char *name) { struct space *sp = NULL; struct nodes *nds = NULL; Loading @@ -495,14 +489,13 @@ static int make_space(struct config_group *g, const char *name, INIT_LIST_HEAD(&sp->members); mutex_init(&sp->members_lock); sp->members_count = 0; *new_g = &sp->group; return 0; return &sp->group; fail: kfree(sp); kfree(gps); kfree(nds); return -ENOMEM; return NULL; } static void drop_space(struct config_group *g, struct config_item *i) Loading @@ -529,21 +522,19 @@ static void release_space(struct config_item *i) kfree(sp); } static int make_comm(struct config_group *g, const char *name, struct config_item **new_i) static struct config_item *make_comm(struct config_group *g, const char *name) { struct comm *cm; cm = kzalloc(sizeof(struct comm), GFP_KERNEL); if (!cm) return -ENOMEM; return NULL; config_item_init_type_name(&cm->item, name, &comm_type); cm->nodeid = -1; cm->local = 0; cm->addr_count = 0; *new_i = &cm->item; return 0; return &cm->item; } static void drop_comm(struct config_group *g, struct config_item *i) Loading @@ -563,15 +554,14 @@ static void release_comm(struct config_item *i) kfree(cm); } static int make_node(struct config_group *g, const char *name, struct config_item **new_i) static struct config_item *make_node(struct config_group *g, const char *name) { struct space *sp = to_space(g->cg_item.ci_parent); struct node *nd; nd = kzalloc(sizeof(struct node), GFP_KERNEL); if (!nd) return -ENOMEM; return NULL; config_item_init_type_name(&nd->item, name, &node_type); nd->nodeid = -1; Loading @@ -583,8 +573,7 @@ static int make_node(struct config_group *g, const char *name, sp->members_count++; mutex_unlock(&sp->members_lock); *new_i = &nd->item; return 0; return &nd->item; } static void drop_node(struct config_group *g, struct config_item *i) Loading Loading
Documentation/filesystems/configfs/configfs.txt +4 −6 Original line number Diff line number Diff line Loading @@ -233,12 +233,10 @@ accomplished via the group operations specified on the group's config_item_type. struct configfs_group_operations { int (*make_item)(struct config_group *group, const char *name, struct config_item **new_item); int (*make_group)(struct config_group *group, const char *name, struct config_group **new_group); struct config_item *(*make_item)(struct config_group *group, const char *name); struct config_group *(*make_group)(struct config_group *group, const char *name); int (*commit_item)(struct config_item *item); void (*disconnect_notify)(struct config_group *group, struct config_item *item); Loading
Documentation/filesystems/configfs/configfs_example.c +6 −8 Original line number Diff line number Diff line Loading @@ -273,13 +273,13 @@ static inline struct simple_children *to_simple_children(struct config_item *ite return item ? container_of(to_config_group(item), struct simple_children, group) : NULL; } static int simple_children_make_item(struct config_group *group, const char *name, struct config_item **new_item) static struct config_item *simple_children_make_item(struct config_group *group, const char *name) { struct simple_child *simple_child; simple_child = kzalloc(sizeof(struct simple_child), GFP_KERNEL); if (!simple_child) return -ENOMEM; return NULL; config_item_init_type_name(&simple_child->item, name, Loading @@ -287,8 +287,7 @@ static int simple_children_make_item(struct config_group *group, const char *nam simple_child->storeme = 0; *new_item = &simple_child->item; return 0; return &simple_child->item; } static struct configfs_attribute simple_children_attr_description = { Loading Loading @@ -360,21 +359,20 @@ static struct configfs_subsystem simple_children_subsys = { * children of its own. */ static int group_children_make_group(struct config_group *group, const char *name, struct config_group **new_group) static struct config_group *group_children_make_group(struct config_group *group, const char *name) { struct simple_children *simple_children; simple_children = kzalloc(sizeof(struct simple_children), GFP_KERNEL); if (!simple_children) return -ENOMEM; return NULL; config_group_init_type_name(&simple_children->group, name, &simple_children_type); *new_group = &simple_children->group; return 0; return &simple_children->group; } static struct configfs_attribute group_children_attr_description = { Loading
drivers/net/netconsole.c +4 −6 Original line number Diff line number Diff line Loading @@ -585,9 +585,8 @@ static struct config_item_type netconsole_target_type = { * Group operations and type for netconsole_subsys. */ static int make_netconsole_target(struct config_group *group, const char *name, struct config_item **new_item) static struct config_item *make_netconsole_target(struct config_group *group, const char *name) { unsigned long flags; struct netconsole_target *nt; Loading @@ -599,7 +598,7 @@ static int make_netconsole_target(struct config_group *group, nt = kzalloc(sizeof(*nt), GFP_KERNEL); if (!nt) { printk(KERN_ERR "netconsole: failed to allocate memory\n"); return -ENOMEM; return NULL; } nt->np.name = "netconsole"; Loading @@ -616,8 +615,7 @@ static int make_netconsole_target(struct config_group *group, list_add(&nt->list, &target_list); spin_unlock_irqrestore(&target_list_lock, flags); *new_item = &nt->item; return 0; return &nt->item; } static void drop_netconsole_target(struct config_group *group, Loading
fs/configfs/dir.c +7 −6 Original line number Diff line number Diff line Loading @@ -1073,24 +1073,25 @@ static int configfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) group = NULL; item = NULL; if (type->ct_group_ops->make_group) { ret = type->ct_group_ops->make_group(to_config_group(parent_item), name, &group); if (!ret) { group = type->ct_group_ops->make_group(to_config_group(parent_item), name); if (group) { link_group(to_config_group(parent_item), group); item = &group->cg_item; } } else { ret = type->ct_group_ops->make_item(to_config_group(parent_item), name, &item); if (!ret) item = type->ct_group_ops->make_item(to_config_group(parent_item), name); if (item) link_obj(parent_item, item); } mutex_unlock(&subsys->su_mutex); kfree(name); if (ret) { if (!item) { /* * If ret != 0, then link_obj() was never called. * If item == NULL, then link_obj() was never called. * There are no extra references to clean up. */ ret = -ENOMEM; goto out_put; } Loading
fs/dlm/config.c +17 −28 Original line number Diff line number Diff line Loading @@ -41,20 +41,16 @@ struct comm; struct nodes; struct node; static int make_cluster(struct config_group *, const char *, struct config_group **); static struct config_group *make_cluster(struct config_group *, const char *); static void drop_cluster(struct config_group *, struct config_item *); static void release_cluster(struct config_item *); static int make_space(struct config_group *, const char *, struct config_group **); static struct config_group *make_space(struct config_group *, const char *); static void drop_space(struct config_group *, struct config_item *); static void release_space(struct config_item *); static int make_comm(struct config_group *, const char *, struct config_item **); static struct config_item *make_comm(struct config_group *, const char *); static void drop_comm(struct config_group *, struct config_item *); static void release_comm(struct config_item *); static int make_node(struct config_group *, const char *, struct config_item **); static struct config_item *make_node(struct config_group *, const char *); static void drop_node(struct config_group *, struct config_item *); static void release_node(struct config_item *); Loading Loading @@ -396,8 +392,8 @@ static struct node *to_node(struct config_item *i) return i ? container_of(i, struct node, item) : NULL; } static int make_cluster(struct config_group *g, const char *name, struct config_group **new_g) static struct config_group *make_cluster(struct config_group *g, const char *name) { struct cluster *cl = NULL; struct spaces *sps = NULL; Loading Loading @@ -435,15 +431,14 @@ static int make_cluster(struct config_group *g, const char *name, space_list = &sps->ss_group; comm_list = &cms->cs_group; *new_g = &cl->group; return 0; return &cl->group; fail: kfree(cl); kfree(gps); kfree(sps); kfree(cms); return -ENOMEM; return NULL; } static void drop_cluster(struct config_group *g, struct config_item *i) Loading Loading @@ -471,8 +466,7 @@ static void release_cluster(struct config_item *i) kfree(cl); } static int make_space(struct config_group *g, const char *name, struct config_group **new_g) static struct config_group *make_space(struct config_group *g, const char *name) { struct space *sp = NULL; struct nodes *nds = NULL; Loading @@ -495,14 +489,13 @@ static int make_space(struct config_group *g, const char *name, INIT_LIST_HEAD(&sp->members); mutex_init(&sp->members_lock); sp->members_count = 0; *new_g = &sp->group; return 0; return &sp->group; fail: kfree(sp); kfree(gps); kfree(nds); return -ENOMEM; return NULL; } static void drop_space(struct config_group *g, struct config_item *i) Loading @@ -529,21 +522,19 @@ static void release_space(struct config_item *i) kfree(sp); } static int make_comm(struct config_group *g, const char *name, struct config_item **new_i) static struct config_item *make_comm(struct config_group *g, const char *name) { struct comm *cm; cm = kzalloc(sizeof(struct comm), GFP_KERNEL); if (!cm) return -ENOMEM; return NULL; config_item_init_type_name(&cm->item, name, &comm_type); cm->nodeid = -1; cm->local = 0; cm->addr_count = 0; *new_i = &cm->item; return 0; return &cm->item; } static void drop_comm(struct config_group *g, struct config_item *i) Loading @@ -563,15 +554,14 @@ static void release_comm(struct config_item *i) kfree(cm); } static int make_node(struct config_group *g, const char *name, struct config_item **new_i) static struct config_item *make_node(struct config_group *g, const char *name) { struct space *sp = to_space(g->cg_item.ci_parent); struct node *nd; nd = kzalloc(sizeof(struct node), GFP_KERNEL); if (!nd) return -ENOMEM; return NULL; config_item_init_type_name(&nd->item, name, &node_type); nd->nodeid = -1; Loading @@ -583,8 +573,7 @@ static int make_node(struct config_group *g, const char *name, sp->members_count++; mutex_unlock(&sp->members_lock); *new_i = &nd->item; return 0; return &nd->item; } static void drop_node(struct config_group *g, struct config_item *i) Loading