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 /fs/ext4 | |
parent | c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4 (diff) | |
download | blackbird-op-linux-f4245bd4ebf903541ba758ad06c118626d8c6f18.tar.gz blackbird-op-linux-f4245bd4ebf903541ba758ad06c118626d8c6f18.zip |
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>
Diffstat (limited to 'fs/ext4')
-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 40131b777af6..8d1d9423ce9a 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; } |