[Unionfs] unmounting order during shutdown [was: Re: unionfs
2.2.3 OOPS]
Erez Zadok
ezk at cs.sunysb.edu
Wed Mar 26 12:44:30 EDT 2008
In message <47E9FEE5.2010809 at mozilla.com>, Dave Miller writes:
> So after applying this patch to 2.3 and deploying it (might as well have
> called it 2.3.1 ;) I got the following about a half hour after booting
> into it:
>
> Mar 26 00:20:03 dm-stage02 kernel: unionfs: new lower inode mtime
> (bindex=0, name=2008-03-25-15-trunk)
> Mar 26 00:20:04 dm-stage02 kernel: unionfs: unionfs: new generation
> number 57
> Mar 26 00:20:04 dm-stage02 kernel: alidatalidation
> Mar 26 00:20:05 dm-stage02 kernel: alidation
> Mar 26 00:20:05 dm-stage02 kernel:
> alidaalidaaaliaalialidaalialialidalidaalidatioalidatialidalidation
> Mar 26 00:20:05 dm-stage02 kernel: <alidalalidalidationalidation
> Mar 26 00:20:05 dm-stage02 kernel: <7alidalidationalidation
> Mar 26 00:20:05 dm-stage02 kernel: alalidationalialidation
> Mar 26 00:20:05 dm-stage02 kernel: <alidatioalidation
> Mar 26 00:20:05 dm-stage02 kernel: alidation
> Mar 26 00:20:05 dm-stage02 kernel: <7alidation
> Mar 26 00:20:05 dm-stage02 kernel: alalidation
> Mar 26 00:20:06 dm-stage02 kernel: <7alidation
> Mar 26 00:20:06 dm-stage02 kernel: <alidalialidalidaalidation
> Mar 26 00:20:06 dm-stage02 kernel: alidation
> Mar 26 00:20:06 dm-stage02 kernel: alidatioalialidatalidation
> Mar 26 00:20:06 dm-stage02 kernel: alidation
> Mar 26 00:20:06 dm-stage02 kernel: alidation
>
> And those last 16 lines or some variation of them repeated for about
> another 20K lines while file operations that touched the unionfs mount
> would hang, until I power cycled the machine. vewy stwange....
Very strange indeed. I know where the above "console storm" comes from,
just not sure why. Investigating...
In the mean time, two things.
First, your k/syslog output always seems to overlap somehow. Is this ouput
from dmesg directly, or from /var/log/* ? are you writing to your log files
synchrnously, or async (the "-" in front of log file names in
/etc/syslog.conf). Can you try to add
kern.* -/var/log/kern
or even
*.* -/var/log/all
so we can better see all the messages?
> The kernel it upgraded from was 2.2.4, which is what I rebooted back
> into after that. Dunno if I should try again... :)
Second, can you apply the small patch below on top of 2.2.4 and see if it
helps? I have a feeling that was definitely affecting you.
> > diff --git a/fs/unionfs/super.c b/fs/unionfs/super.c
> > index e5cb235..4cddc83 100644
> > --- a/fs/unionfs/super.c
> > +++ b/fs/unionfs/super.c
> > @@ -755,7 +755,7 @@ out_no_change:
> > /* grab new lower super references; release old ones */
> > for (i = 0; i < new_branches; i++)
> > atomic_inc(&new_data[i].sb->s_active);
> > - for (i = 0; i < new_branches; i++)
> > + for (i = 0; i < sbmax(sb); i++)
> > atomic_dec(&UNIONFS_SB(sb)->data[i].sb->s_active);
> >
> > /* copy new vectors into their correct place */
Thanks,
Erez.
More information about the unionfs
mailing list