[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160923135250.GA28734@redhat.com>
Date: Fri, 23 Sep 2016 15:52:50 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Nikolay Borisov <kernel@...p.com>
Cc: LKML <linux-kernel@...r.kernel.org>
Subject: Re: BUG_ON in rcu_sync_func triggered
On 09/23, Nikolay Borisov wrote:
>
> > --- a/fs/super.c
> > +++ b/fs/super.c
> > @@ -1344,7 +1344,9 @@ int thaw_super(struct super_block *sb)
> > int error;
> >
> > down_write(&sb->s_umount);
> > - if (sb->s_writers.frozen == SB_UNFROZEN) {
> > + if (sb->s_writers.frozen != SB_FREEZE_COMPLETE) {
> > + if (sb->s_writers.frozen != SB_UNFROZEN)
> > + pr_crit("THAW: hit the race: %d\n", sb->s_writers.frozen);
> > up_write(&sb->s_umount);
> > return -EINVAL;
> > }
> >
>
> I was away on holiday so that's why I was silent. However, with this
> patch applied I couldn't reproduce the issue nor the pr_crit
> triggered.
Great, thanks a lot.
> Have you had any moments of epiphany re. this issue?
Well, after I failed to find any problem in rcu/sync.c I started to
look at the callers and found this race.
> Should
> some FS people be involved in the discussion?
Sure. I'll send the patch with CC's. Probably next week, I am too
busy right now.
Thanks Nikolay,
Oleg.
Powered by blists - more mailing lists