[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110726201038.GE27993@quack.suse.cz>
Date: Tue, 26 Jul 2011 22:10:38 +0200
From: Jan Kara <jack@...e.cz>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Jan Kara <jack@...e.cz>, Al Viro <viro@...iv.linux.org.uk>,
Josef Bacik <josef@...hat.com>,
LKML <linux-kernel@...r.kernel.org>,
linux-fsdevel@...r.kernel.org
Subject: Re: [PULL REQUEST] ext3, jbd, ext2, and quota fixes for 3.1-rc1
On Tue 26-07-11 11:36:29, Linus Torvalds wrote:
> On Tue, Jul 26, 2011 at 11:14 AM, Jan Kara <jack@...e.cz> wrote:
> >
> > could you please pull from
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6.git for_linus
>
> Ok, this clashed with the fsync mutex pushdown, and the whole addition
> of fixed tracepoints.
>
> Quite frankly, I think the fixed tracepoints are broken and make the
> code unreadable (why have them?) but I fixed it up.
>
> Somebody should really double-check the resolve. That's especially
> true since the whole i_mutex thing is *also* rather dubious. The
> comment that moved that down says:
>
> + /*
> + * Taking the mutex here just to keep consistent with how fsync was
> + * called previously, however it looks like we don't need to take
> + * i_mutex at all.
> + */
>
> but in fact it is *not* consistent with how fsync() used to be called,
> since we then drop the mutex *before* doing
>
> return ext3_force_commit(inode->i_sb);
>
> for the should_journal_data case.
>
> See commit 02c24a82187 ("fs: push i_mutex and filemap_write_and_wait
> down into ->fsync() handlers").
>
> I resolved it with the mutex still dropped early (especially since the
> comment implies it may not matter at all), but quite frankly,
> everything I did around that resolve made me go "that code is just
> WRONG". Both wrt the tracepoints and wrt the i_mutex.
>
> So I think my resolution is "correct" from a merge standpoint, but I
> think the code is total crap. I also wonder whether you can really do
> that
>
> J_ASSERT(ext3_journal_current_handle() == NULL);
>
> without holding the i_mutex, so I moved that back down again.
>
> So I *really* want people to take a look at that ext3_sync_file()
> function. Please?
ext3_sync_file() really does not need i_mutex for anything. I've just
checked how you resolved the conflict and it looks nice. I'll queue a patch
which just removes i_mutex from that function altogether. Thanks for the
resolve.
Honza
--
Jan Kara <jack@...e.cz>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists