Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.5.0
-
3
-
9944
Description
hsm_cdt_request_completed() only partially handles the case where a restore handle could not be found.
/* give back layout lock */
mutex_lock(&cdt->cdt_restore_lock);
crh = hsm_restore_hdl_find(cdt, &car->car_hai->hai_fid);
if (crh != NULL)
list_del(&crh->crh_list);
mutex_unlock(&cdt->cdt_restore_lock);
/* just give back layout lock, we keep
* the reference which is given back
* later with the lock for HSM flags */
if (!IS_ERR(obj))
mdt_object_unlock(mti, obj, &crh->crh_lh, 1);
if (crh != NULL)
OBD_SLAB_FREE_PTR(crh, mdt_hsm_cdt_kmem);