ext4: fix lazyinit hang after removing request

When the request has been removed from the list and no other request
has been issued, we will end up with next wakeup scheduled to
MAX_JIFFY_OFFSET which is bad. So check for that.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
Lukas Czerner 2010-11-02 14:07:17 -04:00 committed by Theodore Ts'o
parent c8ddb2713c
commit f4245bd4eb

View file

@ -2740,7 +2740,8 @@ static int ext4_lazyinit_thread(void *arg)
if (freezing(current))
refrigerator();
if (time_after_eq(jiffies, next_wakeup)) {
if ((time_after_eq(jiffies, next_wakeup)) ||
(MAX_JIFFY_OFFSET == next_wakeup)) {
cond_resched();
continue;
}