Re: 4.5-rc2: Torn write (CRC failure) detected

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 1 Feb 2016, Brian Foster wrote:
> On Mon, Feb 01, 2016 at 02:11:18AM -0800, Christian Kujau wrote:
> > I tried to upgrade from 4.4.0-rc5 to 4.5.0-rc2 but I'm currently unable to 
> > mount my XFS filesystems any more on this PowerPC G4 machine:
> > 
> 
> You most likely need Darrick's recent fix, posted here:
> 
> http://oss.sgi.com/pipermail/xfs/2016-January/046437.html
> 
> The original patch had some endian conversion brokenness that wasn't
> detected on x86-64.

Thanks! The patch helps and the XFS file systems can be mounted again!

Tested-by: Christian Kujau <lists@xxxxxxxxxxxxxxx>

C.

> 
> Brian
> 
> > # mount -t xfs -o ro /dev/mapper/wdc1 /mnt/disk
> > mount: mount /dev/mapper/wdc1 on /mnt/disk failed: Bad message
> > 
> > # dmesg | tail
> > [ 2035.937165] XFS (dm-2): Mounting V4 Filesystem
> > [ 2036.357198] XFS (dm-2): Torn write (CRC failure) detected at log block 0x296e4. Truncating head block from 0x296e8.
> > [ 2036.360155] XFS (dm-2): failed to locate log tail
> > [ 2036.360222] XFS (dm-2): log mount/recovery failed: error -74
> > [ 2036.360751] XFS (dm-2): log mount failed
> > 
> > AFAICS the message got introduced by "xfs: detect and trim torn writes 
> > during log recovery" - however, there is no crash involved here. The 
> > system was running 4.4.0-rc5 just fine and rebooted properly into 
> > 4.5.0-rc2. The underlying storage is an external disk attached via 
> > Firewire and dm-crypt on top of that.
> > 
> > Running "xfs_repair -n" on the device came back with error code 1 (see 
> > below for its log[0]).
> > 
> > This is all on Debian/stable with xfs_repair v3.2.1 - but I was unable to 
> > compile xfsprogs from the current git tree, because of a compilation error[1]
> > 
> > Would it be safe to run xfs_repair without -n on that device?
> > 
> > Christian.
> > 
> > [0] xfs_repair
> > # file -Ls /dev/mapper/wdc1
> > /dev/mapper/wdc1: SGI XFS filesystem data (blksz 4096, inosz 256, v2 dirs)
> > 
> > # cryptsetup status wdc1
> > /dev/mapper/wdc1 is active.
> >   type:    LUKS1
> >   cipher:  aes-cbc-essiv:sha256
> >   keysize: 128 bits
> >   device:  /dev/sde1
> >   offset:  1032 sectors
> >   size:    1953524069 sectors
> >   mode:    read/write
> > 
> > # time xfs_repair -n /dev/mapper/wdc1; echo $?
> > Phase 1 - find and verify superblock...
> > Phase 2 - using internal log
> >         - scan filesystem freespace and inode maps...
> > sb_fdblocks 15681968, counted 15731120
> >         - found root inode chunk
> > Phase 3 - for each AG...
> >         - scan (but don't clear) agi unlinked lists...
> >         - process known inodes and perform inode discovery...
> >         - agno = 0
> >         - agno = 1
> >         - agno = 2
> >         - agno = 3
> >         - process newly discovered inodes...
> > Phase 4 - check for duplicate blocks...
> >         - setting up duplicate extent list...
> >         - check for inodes claiming duplicate blocks...
> >         - agno = 0
> >         - agno = 1
> >         - agno = 2
> >         - agno = 3
> > No modify flag set, skipping phase 5
> > Phase 6 - check inode connectivity...
> >         - traversing filesystem ...
> >         - traversal finished ...
> >         - moving disconnected inodes to lost+found ...
> > Phase 7 - verify link counts...
> > No modify flag set, skipping filesystem flush and exiting.
> > 
> > real    1m24.829s
> > user    0m5.012s
> > sys     0m1.200s
> > 1                                                    == Exit code
> > 
> > 
> > 
> > [1] xfsprogs/v4.3.0
> > ====================================================
> > Building io
> >     [CC]     fiemap.o
> > In file included from ../include/xfs.h:58:0,
> >                  from io.h:19,
> >                  from fiemap.c:24:
> > ../include/xfs/xfs_fs.h:42:8: error: redefinition of ‘struct fsxattr’
> >  struct fsxattr {
> >         ^
> > In file included from fiemap.c:22:0:
> > /usr/include/linux/fs.h:155:8: note: originally defined here
> >  struct fsxattr {
> >         ^
> > ../include/buildrules:59: recipe for target 'fiemap.o' failed
> > make[2]: *** [fiemap.o] Error 1
> > include/buildrules:35: recipe for target 'io' failed
> > make[1]: *** [io] Error 2
> > Makefile:70: recipe for target 'default' failed
> > make: *** [default] Error 2
> > ====================================================
> > 
> > And indeed, "struct fsxattr" is already defined in /usr/include/linux/fs.h 
> > which is provided by linux-libc-dev, which cannot be removed that easily:
> > 
> > $ sudo apt-get purge linux-libc-dev
> > The following packages will be REMOVED:
> > build-essential* dh-autoreconf* g++* g++-4.9* libblkid-dev* libbz2-dev* 
> > libc6-dev* libexpat1-dev* libicu-dev* libmysqlclient-dev* libncurses5-dev* 
> > libncursesw5-dev* libpam0g-dev* libpcre3-dev* libperl-dev* libpython-dev* 
> > libpython2.7-dev* libssl-dev* libstdc++-4.9-dev* libtool* libxmlrpc-core-c3-dev*
> > linux-libc-dev* python-dev* python2.7-dev* uuid-dev* zlib1g-dev*
> > 
> > Note: the compilation error was reported a few days ago on the qemu-devel 
> > mailing list too:
> > 
> >   [Qemu-devel] qemu fails to build on 4.5-rc1
> >   https://www.mail-archive.com/qemu-devel@xxxxxxxxxx/msg348756.html
> > 
> > -- 
> > BOFH excuse #154:
> > 
> > You can tune a file system, but you can't tune a fish (from most tunefs man pages)
> > 
> > _______________________________________________
> > xfs mailing list
> > xfs@xxxxxxxxxxx
> > http://oss.sgi.com/mailman/listinfo/xfs
> 

-- 
BOFH excuse #354:

Chewing gum on /dev/sd3c

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux