All of lore.kernel.org
 help / color / mirror / Atom feed
From: Badari Pulavarty <pbadari@gmail.com>
To: Nick Piggin <npiggin@suse.de>
Cc: Linux Filesystems <linux-fsdevel@vger.kernel.org>,
	Mark Fasheh <mark.fasheh@oracle.com>,
	Steven Whitehouse <swhiteho@redhat.com>
Subject: Re: [ANNOUNCE] new new aops patchset
Date: Tue, 03 Apr 2007 08:59:57 -0700	[thread overview]
Message-ID: <1175615998.24533.33.camel@dyn9047017100.beaverton.ibm.com> (raw)
In-Reply-To: <20070402235827.GD12295@wotan.suse.de>

On Tue, 2007-04-03 at 01:58 +0200, Nick Piggin wrote:
> On Mon, Apr 02, 2007 at 01:44:59PM -0700, Badari Pulavarty wrote:
> > On Mon, 2007-04-02 at 14:09 +0200, Nick Piggin wrote:
> > > Updated aops patchset against 2.6.21-rc5.
> > > 
> > > http://www.kernel.org/pub/linux/kernel/people/npiggin/patches/new-aops/
> > > 
> > > Files/dirs are 2.6.21-rc5-new-aops*
> > > 
> > > Contains numerous fixes from Mark and myself -- I'd say the core code is
> > > getting reasonably stable at this point.
> > 
> > 
> > ext3_write_failure() conversion is NOT quite correct.
> > Old code was returing failure of do_journal_get_write_access(),
> > where as your changes will return journal_stop(). 
> 
> Good catch. This still requires a journal_stop, however?

Yes.
> 
> How's this look?

Looks good. I am little worried about the page-lock vs journal
start/stop order. I remember running into deadlock while trying
to do writepages() for ordered mode. I think we are okay here.
I will take a closer look.

Thanks,
Badari

> 
> --
> Index: linux-2.6/fs/ext3/inode.c
> ===================================================================
> --- linux-2.6.orig/fs/ext3/inode.c
> +++ linux-2.6/fs/ext3/inode.c
> @@ -1167,11 +1167,13 @@ static int ext3_write_failure(struct fil
>  	handle_t *handle = ext3_journal_current_handle();
>  
>  	if (ext3_should_writeback_data(mapping->host)) {
> +skip_and_stop:
>  		/* optimization: no constraints about data */
> +		ret = ext3_journal_stop(handle);
>  skip:
>  		unlock_page(page);
>  		page_cache_release(page);
> -		return ext3_journal_stop(handle);
> +		return ret;
>  	}
>  
>  	from = pos & (PAGE_CACHE_SIZE - 1);
> @@ -1196,8 +1198,10 @@ skip:
>  			break;
>  		if (ext3_should_journal_data(mapping->host)) {
>  			ret = do_journal_get_write_access(handle, bh);
> -			if (ret)
> +			if (ret) {
> +				ext3_journal_stop(handle);
>  				goto skip;
> +			}
>  		}
>  	/*
>  	 * block_start here becomes the first block where the current iteration
> @@ -1205,7 +1209,7 @@ skip:
>  	 */
>  	}
>  	if (block_start <= from)
> -		goto skip;
> +		goto skip_and_stop;
>  
>  	/* commit allocated and zeroed buffers */
>  	return mapping->a_ops->write_end(file, mapping, pos, len,


  reply	other threads:[~2007-04-03 16:00 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-02 12:09 [ANNOUNCE] new new aops patchset Nick Piggin
2007-04-02 20:18 ` Badari Pulavarty
2007-04-03  0:45   ` Nick Piggin
2007-04-02 20:44 ` Badari Pulavarty
2007-04-02 23:58   ` Nick Piggin
2007-04-03 15:59     ` Badari Pulavarty [this message]
2007-04-04  2:33       ` Nick Piggin
2007-04-02 21:44 ` Badari Pulavarty
2007-04-02 23:08 ` Badari Pulavarty
2007-04-02 23:14 ` Badari Pulavarty
2007-04-02 23:49   ` Nick Piggin
2007-04-03 15:57     ` Badari Pulavarty
2007-04-04  2:31       ` Nick Piggin
2007-04-02 23:31 ` Badari Pulavarty
2007-04-02 23:35   ` Nick Piggin
2007-04-02 23:56 ` Badari Pulavarty
2007-04-03  0:02   ` Nick Piggin
2007-04-03  0:00 ` Badari Pulavarty
2007-04-03  0:08   ` Nick Piggin
2007-04-03  9:31     ` Nick Piggin
2007-04-03 16:03       ` Badari Pulavarty
2007-04-04  2:37         ` Nick Piggin
2007-04-03 17:35 ` Badari Pulavarty
2007-04-04  3:05   ` Nick Piggin
2007-04-04 22:10 ` Mark Fasheh
2007-04-04 22:39   ` Badari Pulavarty
2007-04-04 22:51     ` Mark Fasheh
2007-04-04 23:02       ` Badari Pulavarty
2007-04-04 23:05   ` Badari Pulavarty
2007-04-04 23:17     ` Mark Fasheh
2007-04-04 23:32       ` Badari Pulavarty
2007-04-05  2:08         ` Nick Piggin
2007-04-05 15:21           ` Badari Pulavarty
2007-04-06  1:38             ` Nick Piggin
2007-04-05  2:09   ` Nick Piggin
2007-04-05  0:10 ` David Chinner
2007-04-05  2:13   ` Nick Piggin
2007-04-05  7:45     ` Christoph Hellwig
2007-04-05  7:58       ` Nick Piggin
2007-04-05  2:43   ` David Chinner
2007-04-05  3:00     ` Nick Piggin
2007-04-05  6:18       ` David Chinner
2007-04-05  6:40         ` Nick Piggin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1175615998.24533.33.camel@dyn9047017100.beaverton.ibm.com \
    --to=pbadari@gmail.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=mark.fasheh@oracle.com \
    --cc=npiggin@suse.de \
    --cc=swhiteho@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.