Details
-
Bug
-
Resolution: Fixed
-
Medium
-
None
-
None
-
None
-
3
-
9223372036854775807
Description
chlg_obd_get() in lustre/mdc/mdc_changelog.c acquires chlg_registered_dev_lock but fails to release it when ced_obds list is empty, causing a deadlock for any subsequent caller that tries to acquire the same mutex.
static inline struct obd_device* chlg_obd_get(struct chlg_registered_dev *dev) { struct obd_device *obd; mutex_lock(&chlg_registered_dev_lock); if (list_empty(&dev->ced_obds)) return NULL; // <-- mutex not released ... mutex_unlock(&chlg_registered_dev_lock); return obd; }
Attachments
Issue Links
- duplicates
-
LU-18999 chlg_obd_get() does not unlock semaphore on error path
-
- Closed
-