diff options
author | Lukas Czerner <lczerner@redhat.com> | 2010-11-02 14:07:17 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2010-11-02 14:07:17 -0400 |
commit | f4245bd4ebf903541ba758ad06c118626d8c6f18 (patch) | |
tree | a599839d8d3ed672d147036b885d4fec548adf65 | |
parent | c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4 (diff) |
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>
-rw-r--r-- | fs/ext4/super.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 40131b777af..8d1d9423ce9 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -2740,7 +2740,8 @@ cont_thread: 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; } |