diff options
author | Steve French <sfrench@us.ibm.com> | 2005-06-06 12:31:45 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-06-06 12:31:45 -0500 |
commit | 2830077f7ae93ef2f7a312e3e489110963612e77 (patch) | |
tree | 039fea827a1376552ef89ab686168947e3558069 /fs | |
parent | 36358c21423d58dde90aedde2b8517192c4092f4 (diff) | |
parent | 0b68177ccd12866d9f19cafad212b861c9d02a8c (diff) | |
download | op-kernel-dev-2830077f7ae93ef2f7a312e3e489110963612e77.zip op-kernel-dev-2830077f7ae93ef2f7a312e3e489110963612e77.tar.gz |
Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
Diffstat (limited to 'fs')
-rw-r--r-- | fs/jbd/checkpoint.c | 5 | ||||
-rw-r--r-- | fs/mpage.c | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/fs/jbd/checkpoint.c b/fs/jbd/checkpoint.c index 98d8304..5a97e34 100644 --- a/fs/jbd/checkpoint.c +++ b/fs/jbd/checkpoint.c @@ -188,7 +188,6 @@ static int __cleanup_transaction(journal_t *journal, transaction_t *transaction) } else { jbd_unlock_bh_state(bh); } - jh = next_jh; } while (jh != last_jh); return ret; @@ -339,8 +338,10 @@ int log_do_checkpoint(journal_t *journal) } } while (jh != last_jh && !retry); - if (batch_count) + if (batch_count) { __flush_batch(journal, bhs, &batch_count); + retry = 1; + } /* * If someone cleaned up this transaction while we slept, we're @@ -79,8 +79,11 @@ static int mpage_end_io_write(struct bio *bio, unsigned int bytes_done, int err) if (--bvec >= bio->bi_io_vec) prefetchw(&bvec->bv_page->flags); - if (!uptodate) + if (!uptodate){ SetPageError(page); + if (page->mapping) + set_bit(AS_EIO, &page->mapping->flags); + } end_page_writeback(page); } while (bvec >= bio->bi_io_vec); bio_put(bio); |