summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2005-06-06 12:31:45 -0500
committerSteve French <sfrench@us.ibm.com>2005-06-06 12:31:45 -0500
commit2830077f7ae93ef2f7a312e3e489110963612e77 (patch)
tree039fea827a1376552ef89ab686168947e3558069 /fs
parent36358c21423d58dde90aedde2b8517192c4092f4 (diff)
parent0b68177ccd12866d9f19cafad212b861c9d02a8c (diff)
downloadop-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.c5
-rw-r--r--fs/mpage.c5
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
diff --git a/fs/mpage.c b/fs/mpage.c
index b92c0e6..bb9aebe 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -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);
OpenPOWER on IntegriCloud