aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorLukas Czerner <lczerner@redhat.com>2010-11-02 14:07:17 -0400
committerTheodore Ts'o <tytso@mit.edu>2010-11-02 14:07:17 -0400
commitf4245bd4ebf903541ba758ad06c118626d8c6f18 (patch)
treea599839d8d3ed672d147036b885d4fec548adf65 /fs
parentc8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4 (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>
Diffstat (limited to 'fs')
-rw-r--r--fs/ext4/super.c3
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:
2740 if (freezing(current)) 2740 if (freezing(current))
2741 refrigerator(); 2741 refrigerator();
2742 2742
2743 if (time_after_eq(jiffies, next_wakeup)) { 2743 if ((time_after_eq(jiffies, next_wakeup)) ||
2744 (MAX_JIFFY_OFFSET == next_wakeup)) {
2744 cond_resched(); 2745 cond_resched();
2745 continue; 2746 continue;
2746 } 2747 }