[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 LU-6516 and it has a patch, but still needs some work.

Generated at Sat Feb 10 02:02:30 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.