[LU-6703] double spin_unlock in ofd_inconsistency_verification_main Created: 10/Jun/15 Updated: 18/Jul/15 Resolved: 18/Jul/15 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Oleg Drokin | Assignee: | Jian Yu |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Severity: | 3 |
| Rank (Obsolete): | 9223372036854775807 |
| Description |
|
It seems that ofd_inconsistency_verification_main has a double unlock bug: rc = lu_env_init(&env, LCT_DT_THREAD);
spin_lock(&ofd->ofd_inconsistency_lock);
thread_set_flags(thread, rc != 0 ? SVC_STOPPED : SVC_RUNNING);
wake_up_all(&thread->t_ctl_waitq);
spin_unlock(&ofd->ofd_inconsistency_lock);
if (rc != 0)
RETURN(rc);
OBD_ALLOC_PTR(lr);
if (unlikely(lr == NULL))
GOTO(out, rc = -ENOMEM);
....
out:
thread_set_flags(thread, SVC_STOPPED);
wake_up_all(&thread->t_ctl_waitq);
spin_unlock(&ofd->ofd_inconsistency_lock);
So double unlock on this path. |
| Comments |
| Comment by Oleg Drokin [ 18/Jul/15 ] |
|
Hm, seems to have filed this one twice, the other one is |