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

osd_otable_it_next() can miss spin_unlock()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.14.0
    • None
    • None
    • 3
    • 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

            bzzz Alex Zhuravlev
            bzzz Alex Zhuravlev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: