spin_lock(&scrub->os_lock);
thread_set_flags(thread, SVC_RUNNING);
spin_unlock(&scrub->os_lock);
- cfs_waitq_broadcast(&thread->t_ctl_waitq);
+ wake_up_all(&thread->t_ctl_waitq);
}
up_write(&scrub->os_rwsem);
rc1 = __osd_xattr_set(info, inode, XATTR_NAME_FID, ff, size,
XATTR_CREATE);
- if (rc1 != 0 && rc != 0)
+ if (rc1 != 0 && rc == 0)
rc = rc1;
}
ooc->ooc_pos_preload < scrub->os_pos_current) {
spin_lock(&scrub->os_lock);
it->ooi_waiting = 0;
- cfs_waitq_broadcast(&thread->t_ctl_waitq);
+ wake_up_all(&thread->t_ctl_waitq);
spin_unlock(&scrub->os_lock);
}
if (scrub->os_waiting && osd_scrub_has_window(scrub, ooc)) {
spin_lock(&scrub->os_lock);
scrub->os_waiting = 0;
- cfs_waitq_broadcast(&scrub->os_thread.t_ctl_waitq);
+ wake_up_all(&scrub->os_thread.t_ctl_waitq);
spin_unlock(&scrub->os_lock);
}
noenv:
spin_lock(&scrub->os_lock);
thread_set_flags(thread, SVC_STOPPED);
- cfs_waitq_broadcast(&thread->t_ctl_waitq);
+ wake_up_all(&thread->t_ctl_waitq);
spin_unlock(&scrub->os_lock);
return rc;
}
if (!thread_is_init(thread) && !thread_is_stopped(thread)) {
thread_set_flags(thread, SVC_STOPPING);
spin_unlock(&scrub->os_lock);
- cfs_waitq_broadcast(&thread->t_ctl_waitq);
+ wake_up_all(&thread->t_ctl_waitq);
l_wait_event(thread->t_ctl_waitq,
thread_is_stopped(thread),
&lwi);
ctxt->pwd = dev->od_mnt->mnt_root;
ctxt->fs = get_ds();
- cfs_waitq_init(&scrub->os_thread.t_ctl_waitq);
+ init_waitqueue_head(&scrub->os_thread.t_ctl_waitq);
init_rwsem(&scrub->os_rwsem);
spin_lock_init(&scrub->os_lock);
CFS_INIT_LIST_HEAD(&scrub->os_inconsistent_items);
if (scrub->os_waiting && osd_scrub_has_window(scrub, ooc)) {
spin_lock(&scrub->os_lock);
scrub->os_waiting = 0;
- cfs_waitq_broadcast(&scrub->os_thread.t_ctl_waitq);
+ wake_up_all(&scrub->os_thread.t_ctl_waitq);
spin_unlock(&scrub->os_lock);
}
it->ooi_user_ready = 1;
if (!scrub->os_full_speed)
- cfs_waitq_broadcast(&scrub->os_thread.t_ctl_waitq);
+ wake_up_all(&scrub->os_thread.t_ctl_waitq);
/* Unplug OSD layer iteration by the first next() call. */
rc = osd_otable_it_next(env, (struct dt_it *)it);
spin_unlock(&scrub->os_lock);
if (wakeup != 0)
- cfs_waitq_broadcast(&thread->t_ctl_waitq);
+ wake_up_all(&thread->t_ctl_waitq);
RETURN(0);
}