X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fjbd%2Fcheckpoint.c;h=a5432bbbfb88ab678a63b8cfb55b4d04cf8eae7d;hb=197cd65accc6a274dabcd81f4811ba5d9a4856df;hp=0f69c416eebc6adef7d05eeaf3283083adb9e700;hpb=921314811be704252ad2caa8dde507d4c421ddc4;p=linux-2.6 diff --git a/fs/jbd/checkpoint.c b/fs/jbd/checkpoint.c index 0f69c416ee..a5432bbbfb 100644 --- a/fs/jbd/checkpoint.c +++ b/fs/jbd/checkpoint.c @@ -347,7 +347,8 @@ restart: break; } retry = __process_buffer(journal, jh, bhs,&batch_count); - if (!retry && lock_need_resched(&journal->j_list_lock)){ + if (!retry && (need_resched() || + spin_needbreak(&journal->j_list_lock))) { spin_unlock(&journal->j_list_lock); retry = 1; break;