Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
[linux-2.6.git] / fs / jfs / jfs_metapage.c
index eeb37d70e6509439498aa224b7f00f723d00270e..26091a5f88d43a7c3d14a86b4c5de32cbc6cc2b2 100644 (file)
@@ -395,6 +395,12 @@ static int metapage_writepage(struct page *page, struct writeback_control *wbc)
 
                if (mp->nohomeok && !test_bit(META_forcewrite, &mp->flag)) {
                        redirty = 1;
+                       /*
+                        * Make sure this page isn't blocked indefinitely.
+                        * If the journal isn't undergoing I/O, push it
+                        */
+                       if (mp->log && !(mp->log->cflag & logGC_PAGEOUT))
+                               jfs_flush_journal(mp->log, 0);
                        continue;
                }