Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757635AbXJNNK1 (ORCPT ); Sun, 14 Oct 2007 09:10:27 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755398AbXJNNKS (ORCPT ); Sun, 14 Oct 2007 09:10:18 -0400 Received: from mail.zelnet.ru ([80.92.97.13]:64801 "EHLO mail.zelnet.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754560AbXJNNKQ (ORCPT ); Sun, 14 Oct 2007 09:10:16 -0400 Message-ID: <47121520.90704@namesys.com> Date: Sun, 14 Oct 2007 17:09:52 +0400 From: Edward Shishkin User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.13) Gecko/20060411 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Laurent Riffard CC: Andrew Morton , Neil Brown , linux-kernel@vger.kernel.org, reiserfs-devel@vger.kernel.org, Jens Axboe , Paul Jackson Subject: Re: [PATCH] Reiser4: Drop 'size' argument from bio_endio and bi_end_io References: <20071011213126.cf92efb7.akpm@linux-foundation.org> <470FDB41.2000102@free.fr> <20071012140023.30e5b30e.akpm@linux-foundation.org> <47109016.8000403@free.fr> In-Reply-To: <47109016.8000403@free.fr> X-Enigmail-Version: 0.86.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4966 Lines: 168 Laurent Riffard wrote: >Reiser4: Drop 'size' argument from bio_endio and bi_end_io > >This patch pushes into Reiser4 the changes introduced by >commit 6712ecf8f648118c3363c142196418f89a510b90: > > As bi_end_io is only called once when the request is complete, > the 'size' argument is now redundant. Remove it. > > Now there is no need for bio_endio to subtract the size completed > from bi_size. So don't do that either. > > While we are at it, change bi_end_io to return void. > >Please review. > > Thanks! Signed-Off-By: Edward Shishkin >Signed-Off-By: Laurent Riffard >--- > fs/reiser4/flush_queue.c | 10 ++-------- > fs/reiser4/page_cache.c | 24 ++++-------------------- > fs/reiser4/status_flags.c | 7 +------ > 3 files changed, 7 insertions(+), 34 deletions(-) > >Index: linux-2.6-mm/fs/reiser4/flush_queue.c >=================================================================== >--- linux-2.6-mm.orig/fs/reiser4/flush_queue.c >+++ linux-2.6-mm/fs/reiser4/flush_queue.c >@@ -391,9 +391,8 @@ int atom_fq_parts_are_clean(txn_atom * a > } > #endif > /* Bio i/o completion routine for reiser4 write operations. */ >-static int >-end_io_handler(struct bio *bio, unsigned int bytes_done UNUSED_ARG, >- int err) >+static void >+end_io_handler(struct bio *bio, int err) > { > int i; > int nr_errors = 0; >@@ -401,10 +400,6 @@ end_io_handler(struct bio *bio, unsigned > > assert("zam-958", bio->bi_rw & WRITE); > >- /* i/o op. is not fully completed */ >- if (bio->bi_size != 0) >- return 1; >- > if (err == -EOPNOTSUPP) > set_bit(BIO_EOPNOTSUPP, &bio->bi_flags); > >@@ -447,7 +442,6 @@ end_io_handler(struct bio *bio, unsigned > } > > bio_put(bio); >- return 0; > } > > /* Count I/O requests which will be submitted by @bio in given flush queues >Index: linux-2.6-mm/fs/reiser4/page_cache.c >=================================================================== >--- linux-2.6-mm.orig/fs/reiser4/page_cache.c >+++ linux-2.6-mm/fs/reiser4/page_cache.c >@@ -320,18 +320,11 @@ reiser4_tree *reiser4_tree_by_page(const > mpage_end_io_read() would also do. But it's static. > > */ >-static int >-end_bio_single_page_read(struct bio *bio, unsigned int bytes_done UNUSED_ARG, >- int err UNUSED_ARG) >+static void >+end_bio_single_page_read(struct bio *bio, int err UNUSED_ARG) > { > struct page *page; > >- if (bio->bi_size != 0) { >- warning("nikita-3332", "Truncated single page read: %i", >- bio->bi_size); >- return 1; >- } >- > page = bio->bi_io_vec[0].bv_page; > > if (test_bit(BIO_UPTODATE, &bio->bi_flags)) { >@@ -342,7 +335,6 @@ end_bio_single_page_read(struct bio *bio > } > unlock_page(page); > bio_put(bio); >- return 0; > } > > /* completion handler for single page bio-based write. >@@ -350,25 +342,17 @@ end_bio_single_page_read(struct bio *bio > mpage_end_io_write() would also do. But it's static. > > */ >-static int >-end_bio_single_page_write(struct bio *bio, unsigned int bytes_done UNUSED_ARG, >- int err UNUSED_ARG) >+static void >+end_bio_single_page_write(struct bio *bio, int err UNUSED_ARG) > { > struct page *page; > >- if (bio->bi_size != 0) { >- warning("nikita-3333", "Truncated single page write: %i", >- bio->bi_size); >- return 1; >- } >- > page = bio->bi_io_vec[0].bv_page; > > if (!test_bit(BIO_UPTODATE, &bio->bi_flags)) > SetPageError(page); > end_page_writeback(page); > bio_put(bio); >- return 0; > } > > /* ->readpage() method for formatted nodes */ >Index: linux-2.6-mm/fs/reiser4/status_flags.c >=================================================================== >--- linux-2.6-mm.orig/fs/reiser4/status_flags.c >+++ linux-2.6-mm/fs/reiser4/status_flags.c >@@ -15,12 +15,8 @@ > /* This is our end I/O handler that marks page uptodate if IO was successful. It also > unconditionally unlocks the page, so we can see that io was done. > We do not free bio, because we hope to reuse that. */ >-static int reiser4_status_endio(struct bio *bio, unsigned int bytes_done, >- int err) >+static void reiser4_status_endio(struct bio *bio, int err) > { >- if (bio->bi_size) >- return 1; >- > if (test_bit(BIO_UPTODATE, &bio->bi_flags)) { > SetPageUptodate(bio->bi_io_vec->bv_page); > } else { >@@ -28,7 +24,6 @@ static int reiser4_status_endio(struct b > SetPageError(bio->bi_io_vec->bv_page); > } > unlock_page(bio->bi_io_vec->bv_page); >- return 0; > } > > /* Initialise status code. This is expected to be called from the disk format > > >- >To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in >the body of a message to majordomo@vger.kernel.org >More majordomo info at http://vger.kernel.org/majordomo-info.html > > > > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/