{
struct chlg_registered_dev *dit;
+ LASSERT(mutex_is_locked(&chlg_registered_dev_lock));
list_for_each_entry(dit, &chlg_registered_devices, ced_link)
if (strcmp(name, dit->ced_name) == 0)
return dit;
struct chlg_registered_dev *dit;
struct obd_device *oit;
+ LASSERT(mutex_is_locked(&chlg_registered_dev_lock));
list_for_each_entry(dit, &chlg_registered_devices, ced_link)
list_for_each_entry(oit, &dit->ced_obds,
u.cli.cl_chg_dev_linkage)
ced_refs);
ENTRY;
+ LASSERT(mutex_is_locked(&chlg_registered_dev_lock));
list_del(&entry->ced_link);
misc_deregister(&entry->ced_misc);
OBD_FREE_PTR(entry);
*/
void mdc_changelog_cdev_finish(struct obd_device *obd)
{
- struct chlg_registered_dev *dev = chlg_registered_dev_find_by_obd(obd);
- ENTRY;
+ struct chlg_registered_dev *dev;
+ ENTRY;
mutex_lock(&chlg_registered_dev_lock);
+ dev = chlg_registered_dev_find_by_obd(obd);
list_del_init(&obd->u.cli.cl_chg_dev_linkage);
kref_put(&dev->ced_refs, chlg_dev_clear);
mutex_unlock(&chlg_registered_dev_lock);