Messages in this thread | | | Date | Fri, 01 Mar 2013 09:51:58 -0600 | From | Mark Tinguely <> | Subject | Re: [PATCH] xfs: Fix possible truncation of log data in xlog_bread_noalign() |
| |
On 02/26/13 01:28, Tony Lu wrote: > I get a reliable way to reproduce this bug. The logprint and metadump are attached. > > Kernel version: 2.6.38.8 > Mkfs.xfs version: xfsprogs-3.1.1 > mkfs.xfs -s size=4096 /dev/sda1 > > Run the following mount-cp-umount script to reproduce: > #!/bin/sh > device=/dev/sda1 > mount_point=/mnt > times=10 > > for ((num=1;num<=$times;num++)) > do > echo "$num mount $device $mount_point" > mount $device $mount_point > > echo "cp -rf /bin $mount_point/$num" > cp -rf /bin $mount_point/$num > > echo "$num umount $device $mount_point" > umount $mount_point > > #num=$(($num + 1)) > done > > After several times of mount/cp/umount, this xfs crashes, and the xfs partition can not be mounted any more. Here is the output of console. > -sh-4.1# ./umount-test > 1 mount /dev/sda1 /mnt > XFS mounting filesystem sda1 > cp -rf /bin /mnt/1 > 1 umount /dev/sda1 /mnt > 2 mount /dev/sda1 /mnt > XFS mounting filesystem sda1 > cp -rf /bin /mnt/2 > 2 umount /dev/sda1 /mnt > 3 mount /dev/sda1 /mnt > XFS mounting filesystem sda1 > cp -rf /bin /mnt/3 > 3 umount /dev/sda1 /mnt > 4 mount /dev/sda1 /mnt > XFS mounting filesystem sda1 > cp -rf /bin /mnt/4 > 4 umount /dev/sda1 /mnt > 5 mount /dev/sda1 /mnt > XFS mounting filesystem sda1 > Starting XFS recovery on filesystem: sda1 (logdev: internal) > Ending XFS recovery on filesystem: sda1 (logdev: internal)cp -rf /bin /mnt/5 > 5 umount /dev/sda1 /mnt > 6 mount /dev/sda1 /mnt > > XFS mounting filesystem sda1 > Starting XFS recovery on filesystem: sda1 (logdev: internal) > Ending XFS recovery on filesystem: sda1 (logdev: internal)Interrupt > cp -rf /bin /mnt/6 > 6 umount /dev/sda1 /mnt > 7 mount /dev/sda1 /mnt > > XFS mounting filesystem sda1 > cp -rf /bin /mnt/7 > 7 umount /dev/sda1 /mnt > Interrupt > 8 mount /dev/sda1 /mnt > XFS mounting filesystem sda1 > Starting XFS recovery on filesystem: sda1 (logdev: internal) > XFS: xlog_recover_process_data: bad clientid > XFS: log mount/recovery failed: error 5 > XFS: log mount failed > > Thanks > -Tony
It works fine on a 2.6.32 machine I had sitting around - and I never required log recovery.
I think you need to answer Dave's question as to why is your unmounts are requiring recovery?
Are there errors in the /var/log/messages?
I downloaded the Linux 2.6.38.8 source and take a look if I can recreate the problem.
--Mark.
| |