* mpage: some code cleanups
@ 2010-11-15 15:43 Hai Shan
2010-11-15 15:43 ` [PATCH] " Hai Shan
0 siblings, 1 reply; 3+ messages in thread
From: Hai Shan @ 2010-11-15 15:43 UTC (permalink / raw)
To: linux-kernel
Merged mpage_end_io_read() and mpage_end_io_write() to mpage_end_io(),
because they share three of four codes.
---
fs/mpage.c | 49 +++++++++++++++++--------------------------------
1 files changed, 17 insertions(+), 32 deletions(-)
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] mpage: some code cleanups
2010-11-15 15:43 mpage: some code cleanups Hai Shan
@ 2010-11-15 15:43 ` Hai Shan
0 siblings, 0 replies; 3+ messages in thread
From: Hai Shan @ 2010-11-15 15:43 UTC (permalink / raw)
To: linux-kernel; +Cc: Hai Shan
merged mpage_end_io_read() and mpage_end_io_write() to mpage_end_io()
Signed-off-by: Hai Shan <shan.hai@windriver.com>
---
fs/mpage.c | 49 +++++++++++++++++--------------------------------
1 files changed, 17 insertions(+), 32 deletions(-)
diff --git a/fs/mpage.c b/fs/mpage.c
index fd56ca2..1187e60 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -40,7 +40,7 @@
* status of that page is hard. See end_buffer_async_read() for the details.
* There is no point in duplicating all that complexity.
*/
-static void mpage_end_io_read(struct bio *bio, int err)
+static void mpage_end_io(struct bio *bio, int err)
{
const int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags);
struct bio_vec *bvec = bio->bi_io_vec + bio->bi_vcnt - 1;
@@ -50,44 +50,29 @@ static void mpage_end_io_read(struct bio *bio, int err)
if (--bvec >= bio->bi_io_vec)
prefetchw(&bvec->bv_page->flags);
-
- if (uptodate) {
- SetPageUptodate(page);
- } else {
- ClearPageUptodate(page);
- SetPageError(page);
- }
- unlock_page(page);
- } while (bvec >= bio->bi_io_vec);
- bio_put(bio);
-}
-
-static void mpage_end_io_write(struct bio *bio, int err)
-{
- const int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags);
- struct bio_vec *bvec = bio->bi_io_vec + bio->bi_vcnt - 1;
-
- do {
- struct page *page = bvec->bv_page;
-
- if (--bvec >= bio->bi_io_vec)
- prefetchw(&bvec->bv_page->flags);
-
- if (!uptodate){
- SetPageError(page);
- if (page->mapping)
- set_bit(AS_EIO, &page->mapping->flags);
+ if (bio_data_dir(bio) == READ) {
+ if (uptodate) {
+ SetPageUptodate(page);
+ } else {
+ ClearPageUptodate(page);
+ SetPageError(page);
+ }
+ unlock_page(page);
+ } else { /* bio_data_dir(bio) == WRITE */
+ if (!uptodate){
+ SetPageError(page);
+ if (page->mapping)
+ set_bit(AS_EIO, &page->mapping->flags);
+ }
+ end_page_writeback(page);
}
- end_page_writeback(page);
} while (bvec >= bio->bi_io_vec);
bio_put(bio);
}
static struct bio *mpage_bio_submit(int rw, struct bio *bio)
{
- bio->bi_end_io = mpage_end_io_read;
- if (rw == WRITE)
- bio->bi_end_io = mpage_end_io_write;
+ bio->bi_end_io = mpage_end_io;
submit_bio(rw, bio);
return NULL;
}
--
1.7.0.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* mpage: some code cleanups
@ 2010-11-17 13:29 Hai Shan
0 siblings, 0 replies; 3+ messages in thread
From: Hai Shan @ 2010-11-17 13:29 UTC (permalink / raw)
To: viro, axboe; +Cc: akpm, linux-fsdevel, linux-kernel
Merged mpage_end_io_read() and mpage_end_io_write() to mpage_end_io(),
because they share three of four codes.
---
fs/mpage.c | 49 +++++++++++++++++--------------------------------
1 files changed, 17 insertions(+), 32 deletions(-)
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-11-17 13:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-15 15:43 mpage: some code cleanups Hai Shan
2010-11-15 15:43 ` [PATCH] " Hai Shan
2010-11-17 13:29 Hai Shan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).