Lines Matching refs:copy

50 	struct dasd_copy_relation *copy;  member
661 struct dasd_copy_relation *copy) in dasd_devmap_check_copy_relation() argument
714 if (entry == &copy->entry[j]) in dasd_devmap_check_copy_relation()
717 tmp_dev = copy->entry[j].device; in dasd_devmap_check_copy_relation()
740 struct dasd_copy_relation *copy; in dasd_devmap_delete_copy_relation_device() local
743 if (!device->copy) in dasd_devmap_delete_copy_relation_device()
746 copy = device->copy; in dasd_devmap_delete_copy_relation_device()
748 if (copy->entry[i].device == device) in dasd_devmap_delete_copy_relation_device()
749 copy->entry[i].device = NULL; in dasd_devmap_delete_copy_relation_device()
752 device->copy = NULL; in dasd_devmap_delete_copy_relation_device()
764 struct dasd_copy_relation *copy; in dasd_devmap_set_device_copy_relation() local
777 copy = devmap->copy; in dasd_devmap_set_device_copy_relation()
779 if (!copy) in dasd_devmap_set_device_copy_relation()
800 if (copy->entry[i].configured && in dasd_devmap_set_device_copy_relation()
802 copy->entry[i].busid, DASD_BUS_ID_SIZE) == 0) { in dasd_devmap_set_device_copy_relation()
803 entry = &copy->entry[i]; in dasd_devmap_set_device_copy_relation()
813 if (dasd_devmap_check_copy_relation(device, entry, data, copy)) { in dasd_devmap_set_device_copy_relation()
820 copy->entry[i].device = device; in dasd_devmap_set_device_copy_relation()
821 device->copy = copy; in dasd_devmap_set_device_copy_relation()
2048 struct dasd_copy_relation *copy; in dasd_copy_pair_show() local
2057 if (!devmap->copy) in dasd_copy_pair_show()
2060 copy = devmap->copy; in dasd_copy_pair_show()
2063 if (copy->entry[i].configured && copy->entry[i].primary) { in dasd_copy_pair_show()
2064 strscpy(prim_busid, copy->entry[i].busid, in dasd_copy_pair_show()
2074 if (copy->entry[i].configured && !copy->entry[i].primary) in dasd_copy_pair_show()
2076 copy->entry[i].busid); in dasd_copy_pair_show()
2085 struct dasd_copy_relation *copy, in dasd_devmap_set_copy_relation() argument
2093 if (copy->entry[i].configured && in dasd_devmap_set_copy_relation()
2094 strncmp(copy->entry[i].busid, busid, DASD_BUS_ID_SIZE) == 0) in dasd_devmap_set_copy_relation()
2097 if (!copy->entry[i].configured) in dasd_devmap_set_copy_relation()
2103 copy->entry[i].configured = true; in dasd_devmap_set_copy_relation()
2104 strscpy(copy->entry[i].busid, busid, DASD_BUS_ID_SIZE); in dasd_devmap_set_copy_relation()
2106 copy->active = &copy->entry[i]; in dasd_devmap_set_copy_relation()
2107 copy->entry[i].primary = true; in dasd_devmap_set_copy_relation()
2109 if (!devmap->copy) in dasd_devmap_set_copy_relation()
2110 devmap->copy = copy; in dasd_devmap_set_copy_relation()
2115 static void dasd_devmap_del_copy_relation(struct dasd_copy_relation *copy, in dasd_devmap_del_copy_relation() argument
2123 if (copy->entry[i].configured && in dasd_devmap_del_copy_relation()
2124 strncmp(copy->entry[i].busid, busid, DASD_BUS_ID_SIZE) == 0) in dasd_devmap_del_copy_relation()
2127 if (i == DASD_CP_ENTRIES || !copy->entry[i].configured) { in dasd_devmap_del_copy_relation()
2132 copy->entry[i].configured = false; in dasd_devmap_del_copy_relation()
2133 memset(copy->entry[i].busid, 0, DASD_BUS_ID_SIZE); in dasd_devmap_del_copy_relation()
2134 if (copy->active == &copy->entry[i]) { in dasd_devmap_del_copy_relation()
2135 copy->active = NULL; in dasd_devmap_del_copy_relation()
2136 copy->entry[i].primary = false; in dasd_devmap_del_copy_relation()
2143 struct dasd_copy_relation *copy; in dasd_devmap_clear_copy_relation() local
2152 if (!devmap->copy) in dasd_devmap_clear_copy_relation()
2155 copy = devmap->copy; in dasd_devmap_clear_copy_relation()
2158 if (!copy->entry[i].configured) in dasd_devmap_clear_copy_relation()
2161 if (copy->entry[i].device == copy->active->device) in dasd_devmap_clear_copy_relation()
2164 if (copy->entry[i].device) in dasd_devmap_clear_copy_relation()
2169 if (strlen(copy->entry[i].busid) == 0) in dasd_devmap_clear_copy_relation()
2171 if (copy->entry[i].device) { in dasd_devmap_clear_copy_relation()
2172 dasd_put_device(copy->entry[i].device); in dasd_devmap_clear_copy_relation()
2173 copy->entry[i].device->copy = NULL; in dasd_devmap_clear_copy_relation()
2174 copy->entry[i].device = NULL; in dasd_devmap_clear_copy_relation()
2176 devmap = dasd_find_busid_locked(copy->entry[i].busid); in dasd_devmap_clear_copy_relation()
2177 devmap->copy = NULL; in dasd_devmap_clear_copy_relation()
2178 memset(copy->entry[i].busid, 0, DASD_BUS_ID_SIZE); in dasd_devmap_clear_copy_relation()
2180 kfree(copy); in dasd_devmap_clear_copy_relation()
2233 struct dasd_copy_relation *copy; in dasd_copy_pair_store() local
2272 if (prim_devmap->copy) { in dasd_copy_pair_store()
2273 copy = prim_devmap->copy; in dasd_copy_pair_store()
2274 } else if (sec_devmap->copy) { in dasd_copy_pair_store()
2275 copy = sec_devmap->copy; in dasd_copy_pair_store()
2277 copy = kzalloc_obj(*copy); in dasd_copy_pair_store()
2278 if (!copy) in dasd_copy_pair_store()
2282 rc = dasd_devmap_set_copy_relation(prim_devmap, copy, prim_busid, true); in dasd_copy_pair_store()
2287 rc = dasd_devmap_set_copy_relation(sec_devmap, copy, sec_busid, false); in dasd_copy_pair_store()
2295 if (prim_devmap->device && !prim_devmap->device->copy) { in dasd_copy_pair_store()
2306 dasd_devmap_del_copy_relation(copy, prim_busid); in dasd_copy_pair_store()
2307 dasd_devmap_del_copy_relation(copy, sec_busid); in dasd_copy_pair_store()
2320 struct dasd_copy_relation *copy; in dasd_copy_role_show() local
2328 if (!device->copy) { in dasd_copy_role_show()
2332 copy = device->copy; in dasd_copy_role_show()
2334 if (copy->active->device == device) { in dasd_copy_role_show()
2339 if (copy->entry[i].device == device) { in dasd_copy_role_show()