| 148 | } |
| 149 | |
| 150 | void |
| 151 | get_rsc_attributes(GHashTable * meta_hash, resource_t * rsc, |
| 152 | node_t * node, pe_working_set_t * data_set) |
| 153 | { |
| 154 | GHashTable *node_hash = NULL; |
| 155 | |
| 156 | if (node) { |
| 157 | node_hash = node->details->attrs; |
| 158 | } |
| 159 | |
| 160 | unpack_instance_attributes(data_set->input, rsc->xml, XML_TAG_ATTR_SETS, node_hash, |
| 161 | meta_hash, NULL, FALSE, data_set->now); |
| 162 | |
| 163 | /* set anything else based on the parent */ |
| 164 | if (rsc->parent != NULL) { |
| 165 | get_rsc_attributes(meta_hash, rsc->parent, node, data_set); |
| 166 | |
| 167 | } else { |
| 168 | /* and finally check the defaults */ |
| 169 | unpack_instance_attributes(data_set->input, data_set->rsc_defaults, XML_TAG_ATTR_SETS, |
| 170 | node_hash, meta_hash, NULL, FALSE, data_set->now); |
| 171 | } |
| 172 | } |
| 173 | |
| 174 | static char * |
| 175 | template_op_key(xmlNode * op) |