• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/md/

Lines Matching defs:hc

99 	struct hash_cell *hc;
102 list_for_each_entry (hc, _name_buckets + h, name_list)
103 if (!strcmp(hc->name, str)) {
104 dm_get(hc->md);
105 return hc;
113 struct hash_cell *hc;
116 list_for_each_entry (hc, _uuid_buckets + h, uuid_list)
117 if (!strcmp(hc->uuid, str)) {
118 dm_get(hc->md);
119 return hc;
131 struct hash_cell *hc;
133 hc = kmalloc(sizeof(*hc), GFP_KERNEL);
134 if (!hc)
137 hc->name = kstrdup(name, GFP_KERNEL);
138 if (!hc->name) {
139 kfree(hc);
144 hc->uuid = NULL;
147 hc->uuid = kstrdup(uuid, GFP_KERNEL);
148 if (!hc->uuid) {
149 kfree(hc->name);
150 kfree(hc);
155 INIT_LIST_HEAD(&hc->name_list);
156 INIT_LIST_HEAD(&hc->uuid_list);
157 hc->md = md;
158 hc->new_map = NULL;
159 return hc;
162 static void free_cell(struct hash_cell *hc)
164 if (hc) {
165 kfree(hc->name);
166 kfree(hc->uuid);
167 kfree(hc);
177 struct hash_cell *cell, *hc;
190 hc = __get_name_cell(name);
191 if (hc) {
192 dm_put(hc->md);
199 hc = __get_uuid_cell(uuid);
200 if (hc) {
202 dm_put(hc->md);
219 static void __hash_remove(struct hash_cell *hc)
224 list_del(&hc->uuid_list);
225 list_del(&hc->name_list);
226 dm_set_mdptr(hc->md, NULL);
228 table = dm_get_table(hc->md);
234 if (hc->new_map)
235 dm_table_put(hc->new_map);
236 dm_put(hc->md);
237 free_cell(hc);
243 struct hash_cell *hc;
252 hc = list_entry(tmp, struct hash_cell, name_list);
255 dm_lock_for_deletion(hc->md)) {
259 __hash_remove(hc);
281 struct hash_cell *hc;
296 hc = __get_name_cell(new);
297 if (hc) {
300 dm_put(hc->md);
309 hc = __get_name_cell(old);
310 if (!hc) {
321 list_del(&hc->name_list);
322 old_name = hc->name;
323 hc->name = new_name;
324 list_add(&hc->name_list, _name_buckets + hash_str(new_name));
329 table = dm_get_table(hc->md);
335 dm_put(hc->md);
386 struct hash_cell *hc;
398 list_for_each_entry (hc, _name_buckets + i, name_list) {
400 needed += strlen(hc->name) + 1;
421 list_for_each_entry (hc, _name_buckets + i, name_list) {
425 disk = dm_disk(hc->md);
428 strcpy(nl->name, hc->name);
431 nl = align_ptr(((void *) ++nl) + strlen(hc->name) + 1);
622 struct hash_cell *hc;
626 hc = __find_device_hash_cell(param);
627 if (hc) {
628 md = hc->md;
634 strncpy(param->name, hc->name, sizeof(param->name));
635 if (hc->uuid)
636 strncpy(param->uuid, hc->uuid, sizeof(param->uuid)-1);
640 if (hc->new_map)
652 struct hash_cell *hc;
657 hc = __find_device_hash_cell(param);
659 if (!hc) {
665 md = hc->md;
672 DMWARN("unable to remove open device %s", hc->name);
678 __hash_remove(hc);
794 struct hash_cell *hc;
800 hc = __find_device_hash_cell(param);
801 if (!hc) {
807 md = hc->md;
809 new_map = hc->new_map;
810 hc->new_map = NULL;
1051 struct hash_cell *hc;
1070 hc = dm_get_mdptr(md);
1071 if (!hc || hc->md != md) {
1079 if (hc->new_map)
1080 dm_table_put(hc->new_map);
1081 hc->new_map = t;
1096 struct hash_cell *hc;
1101 hc = __find_device_hash_cell(param);
1102 if (!hc) {
1108 if (hc->new_map) {
1109 dm_table_put(hc->new_map);
1110 hc->new_map = NULL;
1115 r = __dev_status(hc->md, param);
1116 md = hc->md;