[LU-3842] handle missing crh in hsm_cdt_request_completed() Created: 27/Aug/13 Updated: 01/Oct/15 Resolved: 30/Aug/13 |
|
| Status: | Closed |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.5.0 |
| Fix Version/s: | Lustre 2.5.0 |
| Type: | Bug | Priority: | Minor |
| Reporter: | John Hammond | Assignee: | John Hammond |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | HSM | ||
| Severity: | 3 |
| Rank (Obsolete): | 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);
|
| Comments |
| Comment by John Hammond [ 27/Aug/13 ] |
|
Please see http://review.whamcloud.com/7470. |
| Comment by Jodi Levi (Inactive) [ 30/Aug/13 ] |
|
Patch landed to master. Closing ticket. |