Re: [git pull] vfs fixes

From: Al Viro
Date: Sat Mar 10 2012 - 17:14:13 EST


On Sat, Mar 10, 2012 at 01:49:21PM -0800, Linus Torvalds wrote:
> On Sat, Mar 10, 2012 at 1:30 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> >
> > Jan Kara (2):
> > ? ? ?vfs: Fix missed wakeup in I_NEW handling
>
> Christ. This one is too ugly to live.
>
> I'm not pulling crap like this. It's f*^&ing stupid to take a lock,
> calculate a bitqueue, and just generally be an absolute ass-hat about
> things for waiting for a bit that is already set 99.999% of the time.
>
> May I suggest just reverting that commit 250df6ed instead. It added
> all these insane things for no good reason. The comment said they are
> going away, but if they are just multiplying in ways like this, I
> really think the damn thing needs to be reverted. Any change that
> causes code like this is by definition not a good change.

You mean the part that removed smp_mb() on cleaning I_NEW? OK by me -
definitely saner than what this variant is doing. AFAICS, evict()
does _not_ need it - only unlock_new_inode(); in case of evict() the
change of ->i_state is separated from that wake_up_bit() by spin_unlock
followed by spin_lock and that ought to provide the barrier...

Done and pushed to the same branch;

Shortlog:
Al Viro (1):
restore smp_mb() in unlock_new_inode()

Jan Kara (1):
udf: Fix deadlock in udf_release_file()

Miklos Szeredi (2):
vfs: fix double put after complete_walk()
vfs: fix return value from do_last()

Tyler Hicks (1):
vfs: Correctly set the dir i_mutex lockdep class

Diffstat:
fs/inode.c | 4 ++--
fs/namei.c | 4 ++--
fs/udf/file.c | 2 --
3 files changed, 4 insertions(+), 6 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/