X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=mm%2Fbacking-dev.c;h=e5de3781d3feed5b6f156b064b4af8bb79871fed;hb=457e1a8afbcf5deffa501f2e9829526c18ed55b5;hp=f50a2811f9dc86b876d24e75333558583c075f1d;hpb=c45aa055c32b488fc3fd73c760df372b09acf69a;p=powerpc.git diff --git a/mm/backing-dev.c b/mm/backing-dev.c index f50a2811f9..e5de3781d3 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -55,6 +55,22 @@ long congestion_wait(int rw, long timeout) } EXPORT_SYMBOL(congestion_wait); +long congestion_wait_interruptible(int rw, long timeout) +{ + long ret; + DEFINE_WAIT(wait); + wait_queue_head_t *wqh = &congestion_wqh[rw]; + + prepare_to_wait(wqh, &wait, TASK_INTERRUPTIBLE); + if (signal_pending(current)) + ret = -ERESTARTSYS; + else + ret = io_schedule_timeout(timeout); + finish_wait(wqh, &wait); + return ret; +} +EXPORT_SYMBOL(congestion_wait_interruptible); + /** * congestion_end - wake up sleepers on a congested backing_dev_info * @rw: READ or WRITE