[PATCH] xfs: fix double free of trans in log recovery on I/O error

Alex Lyakas alex at zadarastorage.com
Tue Sep 16 11:01:25 CDT 2014


Hi Dave,

On Wed, Sep 3, 2014 at 1:02 AM, Dave Chinner <david at fromorbit.com> wrote:

> On Tue, Sep 02, 2014 at 12:51:35PM +0300, Alex Lyakas wrote:
> > Hi Brian, Dave,
> > I tested this patch on 3.8.13 kernel with the scenario I described
> > in http://oss.sgi.com/pipermail/xfs/2014-August/037637.html, but I
> > still see the issue.
> > I placed the metadump at
> https://drive.google.com/file/d/0ByBy89zr3kJNV2UxMERNTkE4aHM/edit?usp=sharing
> >
> > During log recovery, 3 IO errors are encountered:
> > [  340.381199] XFS (dm-0): Mounting Filesystem
> > [  340.439897] XFS (dm-0): Sleep 10s before xlog_do_recover
> > [  350.440143] XFS (dm-0): Starting recovery (logdev: internal)
> > [  351.584647] XFS (dm-0): metadata I/O error: block 0x1
> > ("xlog_recover_iodone") error 28 numblks 1
> > [  351.584660] XFS (dm-0): metadata I/O error: block 0x40
> > ("xlog_recover_iodone") error 28 numblks 16
> > [  351.584665] XFS (dm-0): xfs_do_force_shutdown(0x1) called from
> > line 377 of file
> > /mnt/work/alex/zadara-btrfs/fs/xfs/xfs_log_recover.c.  Return
> > address = 0xffffffffa0372728
> > [  351.584969] XFS (dm-0): I/O Error Detected. Shutting down filesystem
> > [  351.584970] XFS (dm-0): Please umount the filesystem and rectify
> > the problem(s)
> > [  351.585047] XFS (dm-0): metadata I/O error: block 0x1e00040
> > ("xlog_recover_iodone") error 28 numblks 16
> > [  351.585050] XFS (dm-0): xfs_do_force_shutdown(0x1) called from
> > line 377 of file
> > /mnt/work/alex/zadara-btrfs/fs/xfs/xfs_log_recover.c.  Return
> > address = 0xffffffffa0372728
> > [  351.585068] XFS (dm-0): log mount/recovery failed: error 28
> > [  351.585332] XFS (dm-0): log mount failed
> >
> > Two IO error callbacks are handled before XFS is unmounted, but the
> > last one crashes with stack[1].
> >
> > Do I need some or all of the 9 patches that Dave posted? (They do
> > not apply to my kernel, so I need to apply them by hand).
>
> No, I suspect that there are other problems that have been fixed
> since 3.8 that you are missing. e.g.
>
> 9c23ecc xfs: unmount does not wait for shutdown during unmount
>
I applied this patch, and on top of that applied your patch "[PATCH 1/9]
xfs: synchronous buffer IO needs a reference". However, the log recovery
problem still reproduces.

At least with the 9c23ecc patch, the unmount-while-IO-error problems that I
reported long ago seem to be fixed.

Thanks,
Alex.



>
> THere's bound to be others, so you're really going to need to look
> at the differences between 3.8 and a current mainline to determine
> what other patches you are going to need...
>
> Cheers,
>
> Dave.
> --
> Dave Chinner
> david at fromorbit.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20140916/d03e35c9/attachment-0001.html>


More information about the xfs mailing list