198 DEBUGMSGTL((MODNAME_STR, "index %lu is %s@%p\n", data->d_index,
199 modinfo->ami_name, data));
200
201 (void) strlcpy(data->d_ami_name, modinfo->ami_name,
202 sizeof (data->d_ami_name));
203
204 uu_avl_node_init(data, &data->d_name_avl, mod_name_avl_pool);
205 (void) uu_avl_find(mod_name_avl, data, NULL, &idx);
206 uu_avl_insert(mod_name_avl, data, idx);
207
208 uu_avl_node_init(data, &data->d_index_avl, mod_index_avl_pool);
209 (void) uu_avl_find(mod_index_avl, data, NULL, &idx);
210 uu_avl_insert(mod_index_avl, data, idx);
211
212 DEBUGMSGTL((MODNAME_STR, "completed new module %lu/%s@%p\n",
213 data->d_index, data->d_ami_name, data));
214 }
215
216 data->d_valid = valid_stamp;
217
218 DEBUGMSGTL((MODNAME_STR, "timestamp updated for %lu/%s@%p: %lu\n",
219 data->d_index, data->d_ami_name, data, data->d_valid));
220
221 if ((update_ctx->uc_type & UCT_ALL) ||
222 update_ctx->uc_index == data->d_index) {
223 (void) strlcpy(data->d_ami_vers, modinfo->ami_vers,
224 sizeof (data->d_ami_vers));
225 (void) strlcpy(data->d_ami_desc, modinfo->ami_desc,
226 sizeof (data->d_ami_desc));
227 data->d_ami_flags = modinfo->ami_flags;
228 }
229
230 return (!(update_ctx->uc_type & UCT_ALL) &&
231 update_ctx->uc_index == data->d_index);
232 }
233
234 /*
235 * Update some or all module data from fmd. If thorough is set, all modules
236 * will be indexed and their data cached. Otherwise, updates will stop once
237 * the module matching index has been updated.
238 *
|
198 DEBUGMSGTL((MODNAME_STR, "index %lu is %s@%p\n", data->d_index,
199 modinfo->ami_name, data));
200
201 (void) strlcpy(data->d_ami_name, modinfo->ami_name,
202 sizeof (data->d_ami_name));
203
204 uu_avl_node_init(data, &data->d_name_avl, mod_name_avl_pool);
205 (void) uu_avl_find(mod_name_avl, data, NULL, &idx);
206 uu_avl_insert(mod_name_avl, data, idx);
207
208 uu_avl_node_init(data, &data->d_index_avl, mod_index_avl_pool);
209 (void) uu_avl_find(mod_index_avl, data, NULL, &idx);
210 uu_avl_insert(mod_index_avl, data, idx);
211
212 DEBUGMSGTL((MODNAME_STR, "completed new module %lu/%s@%p\n",
213 data->d_index, data->d_ami_name, data));
214 }
215
216 data->d_valid = valid_stamp;
217
218 DEBUGMSGTL((MODNAME_STR, "timestamp updated for %lu/%s@%p: %d\n",
219 data->d_index, data->d_ami_name, data, data->d_valid));
220
221 if ((update_ctx->uc_type & UCT_ALL) ||
222 update_ctx->uc_index == data->d_index) {
223 (void) strlcpy(data->d_ami_vers, modinfo->ami_vers,
224 sizeof (data->d_ami_vers));
225 (void) strlcpy(data->d_ami_desc, modinfo->ami_desc,
226 sizeof (data->d_ami_desc));
227 data->d_ami_flags = modinfo->ami_flags;
228 }
229
230 return (!(update_ctx->uc_type & UCT_ALL) &&
231 update_ctx->uc_index == data->d_index);
232 }
233
234 /*
235 * Update some or all module data from fmd. If thorough is set, all modules
236 * will be indexed and their data cached. Otherwise, updates will stop once
237 * the module matching index has been updated.
238 *
|