mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-21 18:26:47 +03:00
config: remove HAVE_IO_SCHEDULE_TIMEOUT
Sponsored-by: https://despairlabs.com/sponsor/ Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de> Signed-off-by: Rob Norris <robn@despairlabs.com> Closes #16479
This commit is contained in:
committed by
Brian Behlendorf
parent
714d7666e5
commit
d4bbe2ff38
@@ -209,48 +209,6 @@ __cv_wait_idle(kcondvar_t *cvp, kmutex_t *mp)
|
||||
}
|
||||
EXPORT_SYMBOL(__cv_wait_idle);
|
||||
|
||||
#if defined(HAVE_IO_SCHEDULE_TIMEOUT)
|
||||
#define spl_io_schedule_timeout(t) io_schedule_timeout(t)
|
||||
#else
|
||||
|
||||
struct spl_task_timer {
|
||||
struct timer_list timer;
|
||||
struct task_struct *task;
|
||||
};
|
||||
|
||||
static void
|
||||
__cv_wakeup(spl_timer_list_t t)
|
||||
{
|
||||
struct timer_list *tmr = (struct timer_list *)t;
|
||||
struct spl_task_timer *task_timer = from_timer(task_timer, tmr, timer);
|
||||
|
||||
wake_up_process(task_timer->task);
|
||||
}
|
||||
|
||||
static long
|
||||
spl_io_schedule_timeout(long time_left)
|
||||
{
|
||||
long expire_time = jiffies + time_left;
|
||||
struct spl_task_timer task_timer;
|
||||
struct timer_list *timer = &task_timer.timer;
|
||||
|
||||
task_timer.task = current;
|
||||
|
||||
timer_setup(timer, __cv_wakeup, 0);
|
||||
|
||||
timer->expires = expire_time;
|
||||
add_timer(timer);
|
||||
|
||||
io_schedule();
|
||||
|
||||
del_timer_sync(timer);
|
||||
|
||||
time_left = expire_time - jiffies;
|
||||
|
||||
return (time_left < 0 ? 0 : time_left);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 'expire_time' argument is an absolute wall clock time in jiffies.
|
||||
* Return value is time left (expire_time - now) or -1 if timeout occurred.
|
||||
@@ -290,7 +248,7 @@ __cv_timedwait_common(kcondvar_t *cvp, kmutex_t *mp, clock_t expire_time,
|
||||
*/
|
||||
mutex_exit(mp);
|
||||
if (io)
|
||||
time_left = spl_io_schedule_timeout(time_left);
|
||||
time_left = io_schedule_timeout(time_left);
|
||||
else
|
||||
time_left = schedule_timeout(time_left);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user