소스 검색

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>
Lukas Czerner 15 년 전
부모
커밋
f4245bd4eb
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      fs/ext4/super.c

+ 2 - 1
fs/ext4/super.c

@@ -2740,7 +2740,8 @@ cont_thread:
 		if (freezing(current))
 		if (freezing(current))
 			refrigerator();
 			refrigerator();
 
 
-		if (time_after_eq(jiffies, next_wakeup)) {
+		if ((time_after_eq(jiffies, next_wakeup)) ||
+		    (MAX_JIFFY_OFFSET == next_wakeup)) {
 			cond_resched();
 			cond_resched();
 			continue;
 			continue;
 		}
 		}