Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-13246

osd_otable_it_next() can miss spin_unlock()

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Lustre 2.14.0
    • Labels:
      None
    • Severity:
      3
    • Rank (Obsolete):
      9223372036854775807

      Description

      osd_otable_it_next() in osd-zfs can leave the spinlock locked because of race:

      	if (!scrub->os_full_speed)
      		spin_lock(&scrub->os_lock);
      	it->ooi_prefetched--;
      	if (!scrub->os_full_speed) {
      		if (scrub->os_waiting) {
      			scrub->os_waiting = 0;
      			wake_up_all(&thread->t_ctl_waitq);
      		}
      		spin_unlock(&scrub->os_lock);
      	}
      

      os_full_speed may chane in-between which sometimes happens in my testing.

        Attachments

          Activity

            People

            • Assignee:
              bzzz Alex Zhuravlev
              Reporter:
              bzzz Alex Zhuravlev
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: