Bug 6249 - mounting unclean fs from x86_64 on i386 causes oopses
Summary: mounting unclean fs from x86_64 on i386 causes oopses
Status: CLOSED PATCH_ALREADY_AVAILABLE
Alias: None
Product: File System
Classification: Unclassified
Component: XFS (show other bugs)
Hardware: i386 Linux
: P2 high
Assignee: XFS Guru
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-19 08:55 UTC by Sergey Vlasov
Modified: 2007-07-05 17:52 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.16-rc6
Tree: Mainline
Regression: ---


Attachments
unclean filesystem image created on x86_64 (bzip2) (1.98 KB, application/octet-stream)
2006-03-19 09:01 UTC, Sergey Vlasov
Details
unclean filesystem image created on i386 (bzip2) (1.95 KB, application/octet-stream)
2006-03-19 09:04 UTC, Sergey Vlasov
Details

Description Sergey Vlasov 2006-03-19 08:55:41 UTC
When an XFS filesystem was not cleanly unmounted on an x86_64 kernel, attempting
to mount it on an i386 kernel fails (in many cases with a kernel oops). 
Mounting a dirty filesystem from i386 on x86_64 also fails in the same way.

Here is a simple test case:

# dd if=/dev/zero of=t1.img bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.337117 seconds, 311 MB/s
# mkfs.xfs t1.img 
meta-data=t1.img                 isize=256    agcount=6, agsize=4096 blks
         =                       sectsz=512  
data     =                       bsize=4096   blocks=24576, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096  
log      =internal log           bsize=4096   blocks=1200, version=1
         =                       sectsz=512   sunit=0 blks
realtime =none                   extsz=65536  blocks=0, rtextents=0
# mkdir mnt
# mount -o loop t1.img mnt/
# mkdir mnt/test
# sync
# cp t1.img t2.img
# umount mnt/
# bzip2 <t2.img >t2.img.bz2

This creates image of an unclean XFS filesystem in t2.img.

Creating the image on x86_64 and trying "mount -o loop t2.img mnt/" on a kernel
compiled for i586 produced this oops:

XFS mounting filesystem loop8
Starting XFS recovery on filesystem: loop8 (logdev: internal)
Unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
c013f732
*pde = 338eb001
*pte = 00000000
Oops: 0000 [#1]
SMP 
Modules linked in: binfmt_misc af_packet lp autofs4 radeon drm thermal processor
ohci1394 ieee1394 amd64_agp agpgart snd_mpu401 analog ns558 parport_pc parport
floppy tsdev usblp usbhid usb_storage libusual uhci_hcd ehci_hcd usbcore
snd_via82xx gameport snd_ac97_codec snd_pcm_oss snd_seq_dummy snd_seq_oss
snd_seq_midi_event snd_seq snd_mixer_oss snd_ac97_bus snd_pcm snd_timer
snd_page_alloc snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore w83627hf
hwmon_vid hwmon eeprom i2c_isa i2c_viapro i2c_core 8139too mii sk98lin reiserfs
isofs zlib_inflate loop ntfs nls_koi8_r nls_cp866 vfat fat nls_base ext2 mbcache
raid0 dm_mod ppp_generic slhc ide_cd cdrom pcspkr psmouse button rtc xfs
exportfs sata_via libata sd_mod scsi_mod ide_disk ide_generic generic via82cxxx
ide_core
CPU:    0
EIP:    0060:[<c013f732>]    Not tainted VLI
EFLAGS: 00010256   (2.6.16-std26-smp-alt0.1.rc6.git10 #1) 
EIP is at page_address+0x6/0x82
eax: 00000000   ebx: 00000000   ecx: 00000000   edx: 00000000
esi: 00000000   edi: 00000000   ebp: f7bf3c6c   esp: f3d51b58
ds: 007b   es: 007b   ss: 0068
Process mount (pid: 8441, threadinfo=f3d50000 task=f7e8c560)
Stack: <0>00000010 00000000 00000000 f7bf3c6c f8979363 00004000 f896594b 00000018 
       00000000 00000000 00000083 f7bf3e24 f38e2c00 f38eaec0 f3c21a40 00000000 
       00000040 00000000 f89657ff 00100000 f38e2c00 f3c21c60 f3c4da80 00000000 
Call Trace:
 [<f8979363>] xfs_buf_offset+0x2d/0x31 [xfs]
 [<f896594b>] xlog_recover_do_inode_trans+0x140/0x735 [xfs]
 [<f89657ff>] xlog_recover_do_buffer_trans+0x233/0x23f [xfs]
 [<f896628d>] xlog_recover_do_trans+0x84/0x111 [xfs]
 [<f89663a2>] xlog_recover_commit_trans+0x20/0x30 [xfs]
 [<f8966523>] xlog_recover_process_data+0x160/0x1dc [xfs]
 [<f89671af>] xlog_do_recovery_pass+0x2e0/0x7f5 [xfs]
 [<c011562b>] __wake_up+0x29/0x3c
 [<f8967732>] xlog_do_log_recovery+0x6e/0x94 [xfs]
 [<f896776a>] xlog_do_recover+0x12/0xf7 [xfs]
 [<f89678ca>] xlog_recover+0x7b/0x8c [xfs]
 [<f8960a90>] xfs_log_mount+0x8a/0xca [xfs]
 [<f8968ee4>] xfs_mountfs+0x983/0xbfa [xfs]
 [<c01155a5>] default_wake_function+0x0/0xc
 [<c019dd48>] _atomic_dec_and_lock+0x2c/0x48
 [<f8978c7b>] xfs_buf_rele+0x23/0x75 [xfs]
 [<f896ede8>] xfs_mount+0x2d1/0x342 [xfs]
 [<f897ebc2>] vfs_mount+0x1a/0x1d [xfs]
 [<f897ea88>] linvfs_fill_super+0x76/0x183 [xfs]
 [<c01a0c76>] snprintf+0x17/0x1a
 [<c017e95b>] disk_name+0x1f/0x60
 [<c0156740>] get_sb_bdev+0xc2/0x10a
 [<c013a3e7>] __alloc_pages+0x46/0x25c
 [<f897eba3>] linvfs_get_sb+0xe/0x13 [xfs]
 [<f897ea12>] linvfs_fill_super+0x0/0x183 [xfs]
 [<c0156922>] do_kern_mount+0x8a/0x131
 [<c016862d>] do_new_mount+0x61/0x90
 [<c0168bb3>] do_mount+0x199/0x1b1
 [<c013a3e7>] __alloc_pages+0x46/0x25c
 [<c0168e60>] sys_mount+0x6f/0xa8
 [<c0102659>] syscall_call+0x7/0xb
Code: 08 0f 0b e2 01 ce a2 27 c0 89 d8 5b e9 c4 fd ff ff 5b c3 69 c0 01 00 37 9e
c1 e8 19 c1 e0 07 05 00 b4 35 c0 c3 55 57 56 53 89 c3 <8b> 00 c1 e8 1e 8b 14 85
e0 77 2f c0 8b 82 0c 06 00 00 05 80 13 
 
Creating the image on i386 and mounting it on x86_64 did not give an oops, but
mount still failed with these kernel messages:

XFS mounting filesystem loop0
Starting XFS recovery on filesystem: loop0 (logdev: internal)
attempt to access beyond end of device
loop0: rw=0, want=68719476984, limit=204800
attempt to access beyond end of device
loop0: rw=0, want=68719477232, limit=204800
attempt to access beyond end of device
loop0: rw=0, want=68719477480, limit=204800
attempt to access beyond end of device
loop0: rw=0, want=68719477504, limit=204800
I/O error in filesystem ("loop0") meta-data dev loop0 block 0x1000000000      
("xlog_recover_do..(read#2)") error 5 buf count 393216
XFS: log mount/recovery failed: error 5
XFS: log mount failed

However, with another XFS filesystem a similar case (a dirty filesystem from
i386 mounted on x86_64) gave this oops:

XFS mounting filesystem sda11
Starting XFS recovery on filesystem: sda11 (logdev: internal)
Unable to handle kernel NULL pointer dereference at 0000000000000008 RIP: 
<ffffffff8011aa28>{page_to_pfn+0}
PGD 3ec54067 PUD 3e42e067 PMD 0 
Oops: 0000 [1] SMP 
CPU 0 
Modules linked in: xfs exportfs raid0 dm_mod rtc ext3 jbd mbcache sata_via
libata sd_mod scsi_mod ide_disk ide_generic generic via82cxxx ide_core
Pid: 699, comm: mount Not tainted 2.6.16-std26-smp-alt0.1.rc6 #1
RIP: 0010:[<ffffffff8011aa28>] <ffffffff8011aa28>{page_to_pfn+0}
RSP: 0000:ffff81003ce49750  EFLAGS: 00010212
RAX: ffff81003db31cc8 RBX: 0000000000000100 RCX: 0000001000000000
RDX: 0000000000000008 RSI: 0000000000008100 RDI: 0000000000000001
RBP: ffff81003cb26f80 R08: 0000000000000000 R09: ffff81003db31b48
R10: 0000000000000246 R11: ffffffff880602a4 R12: ffff81003db31b48
R13: 0000000000000000 R14: ffff81003ed39000 R15: 0000000000000000
FS:  000000000050dae0(0000) GS:ffffffff803c2000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000008 CR3: 000000003f2e5000 CR4: 00000000000006e0
Process mount (pid: 699, threadinfo ffff81003ce48000, task ffff81003f90e040)
Stack: ffffffff8811b6be ffff81003e73d400 ffffffff88108fc8 ffff810000000000 
       ffff81003e73da00 0000000000000246 ffffffff802a580b 0000000000000001 
       ffff81003f90e040 ffffffff80124146 
Call Trace: <ffffffff8811b6be>{:xfs:xfs_buf_offset+57}
       <ffffffff88108fc8>{:xfs:xlog_recover_process_data+2581}
       <ffffffff802a580b>{__down+237} <ffffffff80124146>{default_wake_function+0}
       <ffffffff801c7441>{kobject_release+0}
<ffffffff8810a3ee>{:xfs:xlog_do_recovery_pass+630}
       <ffffffff88121781>{:xfs:cmn_err+273}
<ffffffff8810a8c9>{:xfs:xlog_recover+203}
       <ffffffff881056d1>{:xfs:xfs_log_mount+1299}
<ffffffff88118853>{:xfs:kmem_alloc+91}
       <ffffffff8810c3c0>{:xfs:xfs_mountfs+2381}
<ffffffff8811bf9e>{:xfs:.text.lock.xfs_buf+5}
       <ffffffff801c6b95>{_atomic_dec_and_lock+57}
<ffffffff8811b88f>{:xfs:xfs_setsize_buftarg_flags+48}
       <ffffffff8811127b>{:xfs:xfs_mount+1913}
<ffffffff88120e54>{:xfs:linvfs_fill_super+150}
       <ffffffff802a5420>{__down_write+18} <ffffffff8013fb96>{debug_mutex_init+20}
       <ffffffff80185246>{get_filesystem+18} <ffffffff80172c66>{sget+927}
       <ffffffff80173353>{set_bdev_super+0}
<ffffffff88120dbe>{:xfs:linvfs_fill_super+0}
       <ffffffff8017348e>{get_sb_bdev+246} <ffffffff801736c5>{do_kern_mount+161}
       <ffffffff801872bc>{do_mount+1737} <ffffffff8017a3cc>{__link_path_walk+3624}
       <ffffffff80185c6c>{mntput_no_expire+23}
<ffffffff8017a49f>{link_path_walk+194}
       <ffffffff8013c5d9>{bit_waitqueue+53} <ffffffff8017c042>{do_unlinkat+233}
       <ffffffff8017a707>{do_path_lookup+602} <ffffffff8017aae9>{__user_walk_fd+65}
       <ffffffff8014fb38>{__alloc_pages+81} <ffffffff801875e6>{sys_mount+139}
       <ffffffff8010a91a>{system_call+126}

Code: 48 0f b6 47 07 48 8b 14 c5 00 ba 3c 80 48 b8 b7 6d db b6 6d 
RIP <ffffffff8011aa28>{page_to_pfn+0} RSP <ffff81003ce49750>
CR2: 0000000000000008
Comment 1 Sergey Vlasov 2006-03-19 09:01:20 UTC
Created attachment 7604 [details]
unclean filesystem image created on x86_64 (bzip2)

This filesystem image was created with commands:

dd if=/dev/zero of=t1.img bs=1M count=100
mkfs.xfs t1.img 
mkdir mnt
mount -o loop t1.img mnt/
mkdir mnt/test
sync
cp t1.img t2.img
umount mnt/
bzip2 <t2.img >t2.img.bz2

on x86_64.

xfs_logprint (from xfsprogs-2.6.13) on x86_64 shows this output:

xfs_logprint:
    data device: 0xffffffffffffffff
    log device: 0xffffffffffffffff daddr: 98336 length: 9600

cycle: 1	version: 1		lsn: 1,0	tail_lsn: 1,0
length of Log Record: 20	prev offset: -1 	num ops: 1
uuid: 8b1e378e-387d-426d-b81c-fffec262e359   format: little endian linux
h_size: 32768
----------------------------------------------------------------------------
Oper (0): tid: b0c0d0d0  len: 8  clientid: LOG	flags: UNMOUNT 
Unmount filesystem

============================================================================
cycle: 1	version: 1		lsn: 1,2	tail_lsn: 1,2
length of Log Record: 988	prev offset: 0		num ops: 15
uuid: 8b1e378e-387d-426d-b81c-fffec262e359   format: little endian linux
h_size: 32768
----------------------------------------------------------------------------
Oper (0): tid: 3681e0c8  len: 0  clientid: TRANS  flags: START 
----------------------------------------------------------------------------
Oper (1): tid: 3681e0c8  len: 16  clientid: TRANS  flags: none
TRAN:	 type: MKDIR	   tid: 0	num_items: 5
----------------------------------------------------------------------------
Oper (2): tid: 3681e0c8  len: 24  clientid: TRANS  flags: none
BUF:  #regs: 2	 start blkno: 2 (0x2)  len: 1  bmap size: 1
Oper (3): tid: 3681e0c8  len: 128  clientid: TRANS  flags: none
AGI Buffer: XAGI  
ver: 1	seq#: 0  len: 4096  cnt: 64  root: 3
level: 1  free#: 0x3c  newino: 0x80
bucket[0 - 3]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[4 - 7]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[8 - 11]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[12 - 15]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[16 - 19]: 0xffffffff 
----------------------------------------------------------------------------
Oper (4): tid: 3681e0c8  len: 28  clientid: TRANS  flags: none
BUF:  #regs: 2	 start blkno: 24 (0x18)  len: 8  bmap size: 2
Oper (5): tid: 3681e0c8  len: 128  clientid: TRANS  flags: none
BUF DATA
----------------------------------------------------------------------------
Oper (6): tid: 3681e0c8  len: 56  clientid: TRANS  flags: none
INODE: #regs: 3   ino: 0x83  flags: 0x3   dsize: 8
	blkno: 64  len: 16  boff: 768
Oper (7): tid: 3681e0c8  len: 96  clientid: TRANS  flags: none
INODE CORE
magic 0x494e mode 040755 version 1 format 1
nlink 2 uid 0 gid 0
atime 0x441d8359 mtime 0x441d8359 ctime 0x441d8359
size 0x6 nblocks 0x0 extsize 0x0 nextents 0x0
naextents 0x0 forkoff 0 dmevmask 0x0 dmstate 0x0
flags 0x0 gen 0x0
Oper (8): tid: 3681e0c8  len: 8  clientid: TRANS  flags: none
LOCAL inode data
SHORTFORM DIRECTORY size 6
----------------------------------------------------------------------------
Oper (9): tid: 3681e0c8  len: 56  clientid: TRANS  flags: none
INODE: #regs: 3   ino: 0x80  flags: 0x3   dsize: 20
	blkno: 64  len: 16  boff: 0
Oper (10): tid: 3681e0c8  len: 96  clientid: TRANS  flags: none
INODE CORE
magic 0x494e mode 040755 version 1 format 1
nlink 3 uid 0 gid 0
atime 0x441d832f mtime 0x441d8359 ctime 0x441d8359
size 0x11 nblocks 0x0 extsize 0x0 nextents 0x0
naextents 0x0 forkoff 0 dmevmask 0x0 dmstate 0x0
flags 0x0 gen 0x0
Oper (11): tid: 3681e0c8  len: 20  clientid: TRANS  flags: none
LOCAL inode data
SHORTFORM DIRECTORY size 17
----------------------------------------------------------------------------
Oper (12): tid: 3681e0c8  len: 24  clientid: TRANS  flags: none
BUF:  #regs: 2	 start blkno: 0 (0x0)  len: 1  bmap size: 1
Oper (13): tid: 3681e0c8  len: 128  clientid: TRANS  flags: none
SUPER BLOCK Buffer: 
icount: 64  ifree: 60  fdblks: 23348  frext: 0
----------------------------------------------------------------------------
Oper (14): tid: 3681e0c8  len: 0  clientid: TRANS  flags: COMMIT 

============================================================================
xfs_logprint: skipped 509 cleared blocks in range: 5 - 513
xfs_logprint: skipped 9086 zeroed blocks in range: 514 - 9599
xfs_logprint: physical end of log
============================================================================
xfs_logprint: logical end of log
============================================================================


xfs_logprint on i386, however, shows this:

xfs_logprint: unknown log operation type (494e)
Bad data in log
xfs_logprint:
    data device: 0xffffffffffffffff
    log device: 0xffffffffffffffff daddr: 98336 length: 9600

cycle: 1	version: 1		lsn: 1,0	tail_lsn: 1,0
length of Log Record: 20	prev offset: -1 	num ops: 1
uuid: 8b1e378e-387d-426d-b81c-fffec262e359   format: little endian linux
h_size: 32768
----------------------------------------------------------------------------
Oper (0): tid: b0c0d0d0  len: 8  clientid: LOG	flags: UNMOUNT 
Unmount filesystem

============================================================================
cycle: 1	version: 1		lsn: 1,2	tail_lsn: 1,2
length of Log Record: 988	prev offset: 0		num ops: 15
uuid: 8b1e378e-387d-426d-b81c-fffec262e359   format: little endian linux
h_size: 32768
----------------------------------------------------------------------------
Oper (0): tid: 3681e0c8  len: 0  clientid: TRANS  flags: START 
----------------------------------------------------------------------------
Oper (1): tid: 3681e0c8  len: 16  clientid: TRANS  flags: none
TRAN:	 type: MKDIR	   tid: 0	num_items: 5
----------------------------------------------------------------------------
Oper (2): tid: 3681e0c8  len: 24  clientid: TRANS  flags: none
BUF:  #regs: 2	 start blkno: 2 (0x2)  len: 1  bmap size: 1
Oper (3): tid: 3681e0c8  len: 128  clientid: TRANS  flags: none
AGI Buffer: XAGI  
ver: 1	seq#: 0  len: 4096  cnt: 64  root: 3
level: 1  free#: 0x3c  newino: 0x80
bucket[0 - 3]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[4 - 7]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[8 - 11]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[12 - 15]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[16 - 19]: 0xffffffff 
----------------------------------------------------------------------------
Oper (4): tid: 3681e0c8  len: 28  clientid: TRANS  flags: none
BUF:  #regs: 2	 start blkno: 24 (0x18)  len: 8  bmap size: 2
Oper (5): tid: 3681e0c8  len: 128  clientid: TRANS  flags: none
BUF DATA
----------------------------------------------------------------------------
Oper (6): tid: 3681e0c8  len: 56  clientid: TRANS  flags: none
INODE: #regs: 3   Not printing rest of data
----------------------------------------------------------------------------
Oper (8): tid: 3681e0c8  len: 96  clientid: TRANS  flags: none
Left over region from split log item
----------------------------------------------------------------------------
Oper (9): tid: 3681e0c8  len: 8  clientid: TRANS  flags: none
Left over region from split log item
----------------------------------------------------------------------------
Oper (10): tid: 3681e0c8  len: 56  clientid: TRANS  flags: none
Left over region from split log item
----------------------------------------------------------------------------
Oper (11): tid: 3681e0c8  len: 96  clientid: TRANS  flags: none
**********************************************************************
* ERROR: data block=2						      *
**********************************************************************
Comment 2 Sergey Vlasov 2006-03-19 09:04:29 UTC
Created attachment 7605 [details]
unclean filesystem image created on i386 (bzip2)

This filesystem image was created with commands:

dd if=/dev/zero of=t1.img bs=1M count=100
mkfs.xfs t1.img 
mkdir mnt
mount -o loop t1.img mnt/
mkdir mnt/test
sync
cp t1.img t2.img
umount mnt/
bzip2 <t2.img >t2.img.bz2

on i386.

32-bit xfs_logprint shows:

xfs_logprint:
    data device: 0xffffffffffffffff
    log device: 0xffffffffffffffff daddr: 98336 length: 9600

cycle: 1	version: 1		lsn: 1,0	tail_lsn: 1,0
length of Log Record: 20	prev offset: -1 	num ops: 1
uuid: 2960aa9b-6335-4b2e-8da5-b58182fbda98   format: little endian linux
h_size: 32768
----------------------------------------------------------------------------
Oper (0): tid: b0c0d0d0  len: 8  clientid: LOG	flags: UNMOUNT 
Unmount filesystem

============================================================================
cycle: 1	version: 1		lsn: 1,2	tail_lsn: 1,2
length of Log Record: 980	prev offset: 0		num ops: 15
uuid: 2960aa9b-6335-4b2e-8da5-b58182fbda98   format: little endian linux
h_size: 32768
----------------------------------------------------------------------------
Oper (0): tid: f38e60b0  len: 0  clientid: TRANS  flags: START 
----------------------------------------------------------------------------
Oper (1): tid: f38e60b0  len: 16  clientid: TRANS  flags: none
TRAN:	 type: MKDIR	   tid: 0	num_items: 5
----------------------------------------------------------------------------
Oper (2): tid: f38e60b0  len: 24  clientid: TRANS  flags: none
BUF:  #regs: 2	 start blkno: 2 (0x2)  len: 1  bmap size: 1
Oper (3): tid: f38e60b0  len: 128  clientid: TRANS  flags: none
AGI Buffer: XAGI  
ver: 1	seq#: 0  len: 4096  cnt: 64  root: 3
level: 1  free#: 0x3c  newino: 0x80
bucket[0 - 3]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[4 - 7]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[8 - 11]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[12 - 15]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[16 - 19]: 0xffffffff 
----------------------------------------------------------------------------
Oper (4): tid: f38e60b0  len: 28  clientid: TRANS  flags: none
BUF:  #regs: 2	 start blkno: 24 (0x18)  len: 8  bmap size: 2
Oper (5): tid: f38e60b0  len: 128  clientid: TRANS  flags: none
BUF DATA
----------------------------------------------------------------------------
Oper (6): tid: f38e60b0  len: 52  clientid: TRANS  flags: none
INODE: #regs: 3   ino: 0x83  flags: 0x3   dsize: 8
	blkno: 64  len: 16  boff: 768
Oper (7): tid: f38e60b0  len: 96  clientid: TRANS  flags: none
INODE CORE
magic 0x494e mode 040755 version 1 format 1
nlink 2 uid 0 gid 0
atime 0x441d8686 mtime 0x441d8686 ctime 0x441d8686
size 0x6 nblocks 0x0 extsize 0x0 nextents 0x0
naextents 0x0 forkoff 0 dmevmask 0x0 dmstate 0x0
flags 0x0 gen 0x0
Oper (8): tid: f38e60b0  len: 8  clientid: TRANS  flags: none
LOCAL inode data
SHORTFORM DIRECTORY size 6
----------------------------------------------------------------------------
Oper (9): tid: f38e60b0  len: 52  clientid: TRANS  flags: none
INODE: #regs: 3   ino: 0x80  flags: 0x3   dsize: 20
	blkno: 64  len: 16  boff: 0
Oper (10): tid: f38e60b0  len: 96  clientid: TRANS  flags: none
INODE CORE
magic 0x494e mode 040755 version 1 format 1
nlink 3 uid 0 gid 0
atime 0x441d8677 mtime 0x441d8686 ctime 0x441d8686
size 0x11 nblocks 0x0 extsize 0x0 nextents 0x0
naextents 0x0 forkoff 0 dmevmask 0x0 dmstate 0x0
flags 0x0 gen 0x0
Oper (11): tid: f38e60b0  len: 20  clientid: TRANS  flags: none
LOCAL inode data
SHORTFORM DIRECTORY size 17
----------------------------------------------------------------------------
Oper (12): tid: f38e60b0  len: 24  clientid: TRANS  flags: none
BUF:  #regs: 2	 start blkno: 0 (0x0)  len: 1  bmap size: 1
Oper (13): tid: f38e60b0  len: 128  clientid: TRANS  flags: none
SUPER BLOCK Buffer: 
icount: 64  ifree: 60  fdblks: 23348  frext: 0
----------------------------------------------------------------------------
Oper (14): tid: f38e60b0  len: 0  clientid: TRANS  flags: COMMIT 

============================================================================
xfs_logprint: skipped 509 cleared blocks in range: 5 - 513
xfs_logprint: skipped 9086 zeroed blocks in range: 514 - 9599
xfs_logprint: physical end of log
============================================================================
xfs_logprint: logical end of log
============================================================================


64-bit xfs_logprint shows:

xfs_logprint: unknown log operation type (494e)
Bad data in log
xfs_logprint:
    data device: 0xffffffffffffffff
    log device: 0xffffffffffffffff daddr: 98336 length: 9600

cycle: 1	version: 1		lsn: 1,0	tail_lsn: 1,0
length of Log Record: 20	prev offset: -1 	num ops: 1
uuid: 2960aa9b-6335-4b2e-8da5-b58182fbda98   format: little endian linux
h_size: 32768
----------------------------------------------------------------------------
Oper (0): tid: b0c0d0d0  len: 8  clientid: LOG	flags: UNMOUNT 
Unmount filesystem

============================================================================
cycle: 1	version: 1		lsn: 1,2	tail_lsn: 1,2
length of Log Record: 980	prev offset: 0		num ops: 15
uuid: 2960aa9b-6335-4b2e-8da5-b58182fbda98   format: little endian linux
h_size: 32768
----------------------------------------------------------------------------
Oper (0): tid: f38e60b0  len: 0  clientid: TRANS  flags: START 
----------------------------------------------------------------------------
Oper (1): tid: f38e60b0  len: 16  clientid: TRANS  flags: none
TRAN:	 type: MKDIR	   tid: 0	num_items: 5
----------------------------------------------------------------------------
Oper (2): tid: f38e60b0  len: 24  clientid: TRANS  flags: none
BUF:  #regs: 2	 start blkno: 2 (0x2)  len: 1  bmap size: 1
Oper (3): tid: f38e60b0  len: 128  clientid: TRANS  flags: none
AGI Buffer: XAGI  
ver: 1	seq#: 0  len: 4096  cnt: 64  root: 3
level: 1  free#: 0x3c  newino: 0x80
bucket[0 - 3]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[4 - 7]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[8 - 11]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[12 - 15]: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 
bucket[16 - 19]: 0xffffffff 
----------------------------------------------------------------------------
Oper (4): tid: f38e60b0  len: 28  clientid: TRANS  flags: none
BUF:  #regs: 2	 start blkno: 24 (0x18)  len: 8  bmap size: 2
Oper (5): tid: f38e60b0  len: 128  clientid: TRANS  flags: none
BUF DATA
----------------------------------------------------------------------------
Oper (6): tid: f38e60b0  len: 52  clientid: TRANS  flags: none
INODE: #regs: 3   Not printing rest of data
----------------------------------------------------------------------------
Oper (8): tid: f38e60b0  len: 96  clientid: TRANS  flags: none
Left over region from split log item
----------------------------------------------------------------------------
Oper (9): tid: f38e60b0  len: 8  clientid: TRANS  flags: none
Left over region from split log item
----------------------------------------------------------------------------
Oper (10): tid: f38e60b0  len: 52  clientid: TRANS  flags: none
Left over region from split log item
----------------------------------------------------------------------------
Oper (11): tid: f38e60b0  len: 96  clientid: TRANS  flags: none
**********************************************************************
* ERROR: data block=2						      *
**********************************************************************
Comment 3 Sergey Vlasov 2006-03-19 09:07:54 UTC
This bug also seems to be present in 2.6.14 - in that version I did not see
oopses, but mount on x86_64 was hanging forever when trying to mount an unclean
XFS filesystem from i386:

Starting XFS recovery on filesystem: sda11 (dev: sda11)
SysRq : Changing Loglevel
Loglevel set to 7
SysRq : Show Regs
CPU 0:
Modules linked in: xfs exportfs raid0 dm_mod rtc ext3 jbd mbcache sata_via
libata sd_mod scsi_mod ide_disk ide_generic generic via82cxxx ide_core
Pid: 0, comm: swapper Not tainted 2.6.14-std26-up-alt2 #1
RIP: 0010:[<ffffffff8010cc40>] <ffffffff8010cc40>{default_idle+32}
RSP: 0018:ffffffff803bff78  EFLAGS: 00000246
RAX: 0000000000000000 RBX: ffffffff803bff70 RCX: ffff81000217e710
RDX: ffffffff8010cc20 RSI: ffffffff80305c00 RDI: ffff81003f0a4580
RBP: ffffffff802b11c0 R08: ffffffff803be000 R09: 0000000000000000
R10: 000000000003b0e5 R11: 0000000000000000 R12: 0000000a9b1e6b52
R13: 00000000fffffffc R14: 00000000fffeefe0 R15: ffffffff80305c00
FS:  00002aaaab00da60(0000) GS:ffffffff803b3800(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 00007fffff839d80 CR3: 000000003f713000 CR4: 00000000000006e0

Call Trace:<ffffffff8010cd61>{cpu_idle+49} <ffffffff803c07a5>{start_kernel+469}
       <ffffffff803c0216>{_sinittext+534} 
SysRq : Show State

                                                       sibling
  task                 PC          pid father child younger older
init          S 00000000fffef207     0     1      0     2               (NOTLB)
ffff81003ff01d88 0000000000000086 0000000000000000 ffffffff803158f8 
       00000000000000d0 ffff81000217f4b0 ffffffff80305c00 ffff81000217f6c8 
       ffff81000217f4b0 000000108017ed09 
Call Trace:<ffffffff802b1b44>{schedule_timeout+148}
<ffffffff801386b0>{process_timeout+0}
       <ffffffff8017ca72>{pipe_poll+66} <ffffffff80183b57>{do_select+951}
       <ffffffff801836b0>{__pollwait+0} <ffffffff80183e9c>{sys_select+748}
       <ffffffff8010e8d6>{system_call+126} 
ksoftirqd/0   S 0000000000000000     0     2      1             3       (L-TLB)
ffff81003ff03f08 0000000000000046 ffff81003fd3e7d0 ffff81000217ede0 
       ffff81003fd3e7d0 ffff81000217ede0 ffffffff80305c00 ffff81000217eff8 
       ffff81000217f4b0 0000000000000000 
Call Trace:<ffffffff80134960>{ksoftirqd+0} <ffffffff801349a1>{ksoftirqd+65}
       <ffffffff80134960>{ksoftirqd+0} <ffffffff801433ad>{kthread+205}
       <ffffffff8010f34e>{child_rip+8} <ffffffff801432e0>{kthread+0}
       <ffffffff8010f346>{child_rip+0} 
watchdog/0    S 00000000fffef0db     0     3      1             4     2 (L-TLB)
ffff81003ff07e98 0000000000000046 ffffffff803bffb0 ffffffff80305c00 
       ffff81000217e040 ffff81000217e710 ffffffff80305c00 ffff81000217e928 
       0000000000000000 0000000000000000 
Call Trace:<ffffffff80150bc0>{watchdog+0} <ffffffff802b1b44>{schedule_timeout+148}
       <ffffffff801386b0>{process_timeout+0}
<ffffffff80138ac8>{msleep_interruptible+40}
       <ffffffff80150bc0>{watchdog+0} <ffffffff80150c22>{watchdog+98}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801432e0>{kthread+0} <ffffffff8010f346>{child_rip+0}
       
events/0      R  running task       0     4      1             5     3 (L-TLB)
khelper       S ffff81003ff915c0     0     5      1             6     4 (L-TLB)
ffff81003ff7de78 0000000000000046 ffff81003eab3cb0 0000000000000001 
       ffff81003ef1d870 ffff81003ff7b4f0 ffff81003ef1d870 ffff81003ff7b708 
       ffff81003ff915f0 ffff81003ff915e0 
Call Trace:<ffffffff8013f536>{worker_thread+278}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8012c900>{default_wake_function+0}
<ffffffff8013f420>{worker_thread+0}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801432e0>{kthread+0} <ffffffff8010f346>{child_rip+0}
       
kthread       S ffff81003ff3dec0     0     6      1     8     145     5 (L-TLB)
ffff81000219fe78 0000000000000046 ffff81003eab3bf0 0000000000000001 
       ffff81003f670fa0 ffff81003ff7ae20 ffff81003f670fa0 ffff81003ff7b038 
       ffff81003ff3def0 ffff81003ff3dee0 
Call Trace:<ffffffff8013f536>{worker_thread+278}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8012c900>{default_wake_function+0}
<ffffffff8013f420>{worker_thread+0}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801432e0>{kthread+0} <ffffffff8010f346>{child_rip+0}
       
kacpid        S ffff81003fc3bd80     0     8      6           108       (L-TLB)
ffff81003fc91e78 0000000000000046 0000000000000000 0000000000000000 
       ffff81003ff7b4f0 ffff81003ff7a750 ffff81003ff7b4f0 ffff81003ff7a968 
       0000000000000000 0000000000010000 
Call Trace:<ffffffff8013f536>{worker_thread+278}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8012c900>{default_wake_function+0}
<ffffffff8013f420>{worker_thread+0}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801bdb90>{dummy_d_instantiate+0}
<ffffffff801433f0>{keventd_create_kthread+0}
       <ffffffff801432e0>{kthread+0} <ffffffff8010f346>{child_rip+0}
       
kblockd/0     S ffff81003fcb9ec0     0   108      6           143     8 (L-TLB)
ffff81003fd11e78 0000000000000046 ffff81003fbd3bc8 0000000000000000 
       ffff81003f670fa0 ffff81003ff7a080 ffff81003f670fa0 ffff81003ff7a298 
       ffff81003fcb9ef0 ffff81003fcb9ee0 
Call Trace:<ffffffff8013f536>{worker_thread+278}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8012c900>{default_wake_function+0}
<ffffffff8013f420>{worker_thread+0}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801433f0>{keventd_create_kthread+0} <ffffffff801432e0>{kthread+0}
       <ffffffff8010f346>{child_rip+0} 
pdflush       S ffff81003fd15ef0     0   143      6           144   108 (L-TLB)
ffff81003fd15ec8 0000000000000046 000000000000008e ffff81003fd15e98 
       ffff81003fd12e60 ffff81003fd13530 ffff81003fd12e60 ffff81003fd13748 
       00000005f1d7d45b ffff81003fd15ec8 
Call Trace:<ffffffff801583e5>{pdflush+165} <ffffffff80158340>{pdflush+0}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801433f0>{keventd_create_kthread+0} <ffffffff801432e0>{kthread+0}
       <ffffffff8010f346>{child_rip+0} 
pdflush       S ffff81003fd17ef0     0   144      6           146   143 (L-TLB)
ffff81003fd17ec8 0000000000000046 0000000000000000 0000000000000000 
       ffff81003fd17e48 ffff81003fd12e60 ffffffff80305c00 ffff81003fd13078 
       0000000000000000 0000000000000005 
Call Trace:<ffffffff801583e5>{pdflush+165} <ffffffff80158340>{pdflush+0}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801433f0>{keventd_create_kthread+0} <ffffffff801432e0>{kthread+0}
       <ffffffff8010f346>{child_rip+0} 
aio/0         S ffff81003fcca8c0     0   146      6           221   144 (L-TLB)
ffff81003fd3be78 0000000000000046 46ff188911048916 58576a03ebc0331c 
       ffff81003ff7b4f0 ffff81003fd120c0 ffff81003ff7b4f0 ffff81003fd122d8 
       7204463b0856ff0c 0000000000010000 
Call Trace:<ffffffff8013f536>{worker_thread+278}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8012c900>{default_wake_function+0}
<ffffffff8013f420>{worker_thread+0}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801433f0>{keventd_create_kthread+0} <ffffffff801432e0>{kthread+0}
       <ffffffff8010f346>{child_rip+0} 
kswapd0       S 0000000000000000     0   145      1           527     6 (L-TLB)
ffff81003fd19ea8 0000000000000046 0000000000000000 0000000000000000 
       ffff81000217f4b0 ffff81003fd12790 ffff81000217f4b0 ffff81003fd129a8 
       0000000000000000 0000000000000000 
Call Trace:<ffffffff8015d815>{kswapd+261}
<ffffffff80143880>{autoremove_wake_function+0}
       <ffffffff80143880>{autoremove_wake_function+0}
<ffffffff8010f34e>{child_rip+8}
       <ffffffff8015d710>{kswapd+0} <ffffffff8010f346>{child_rip+0}
       
kseriod       S ffff81003fd41ed8     0   221      6           491   146 (L-TLB)
ffff81003fd41e88 0000000000000046 0000000000000000 ffffffff80227b0d 
       ffffffff8032dc10 ffff81003fd3f570 ffffffff80305c00 ffff81003fd3f788 
       ffffffff8032dc10 ffff810002228b00 
Call Trace:<ffffffff80227b0d>{driver_create_file+61}
<ffffffff8021cd15>{serio_thread+613}
       <ffffffff80143880>{autoremove_wake_function+0}
<ffffffff80143880>{autoremove_wake_function+0}
       <ffffffff8021cab0>{serio_thread+0} <ffffffff801433ad>{kthread+205}
       <ffffffff8010f34e>{child_rip+8} <ffffffff801d14c0>{vgacon_cursor+0}
       <ffffffff801433f0>{keventd_create_kthread+0} <ffffffff801432e0>{kthread+0}
       <ffffffff8010f346>{child_rip+0} 
ata/0         S ffff810002151080     0   491      6           495   221 (L-TLB)
ffff81003fbfbe78 0000000000000046 ffff81003fb36900 0000000000000296 
       ffff81003fd3e7d0 ffff81003fd3e100 ffff81003fd3e7d0 ffff81003fd3e318 
       ffff8100021510b0 ffff8100021510a0 
Call Trace:<ffffffff8013f536>{worker_thread+278}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8012c900>{default_wake_function+0}
<ffffffff8013f420>{worker_thread+0}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801bdb90>{dummy_d_instantiate+0}
<ffffffff801433f0>{keventd_create_kthread+0}
       <ffffffff801432e0>{kthread+0} <ffffffff8010f346>{child_rip+0}
       
scsi_eh_0     S ffff81003fb36000     0   495      6           496   491 (L-TLB)
ffff81003fbffe88 0000000000000046 ffff81003fbffe58 0000000000000002 
       ffff81003fbfcee0 ffff81003fbfd5b0 ffff81003fbfcee0 ffff81003fbfd7c8 
       ffff81003fbffec8 0000000000000046 
Call Trace:<ffffffff8803a740>{:scsi_mod:scsi_error_handler+0}
<ffffffff8803a7c5>{:scsi_mod:scsi_error_handler+133}
       <ffffffff8803a740>{:scsi_mod:scsi_error_handler+0}
<ffffffff801433ad>{kthread+205}
       <ffffffff8010f34e>{child_rip+8} <ffffffff801433f0>{keventd_create_kthread+0}
       <ffffffff801432e0>{kthread+0} <ffffffff8010f346>{child_rip+0}
       
scsi_eh_1     S ffff81003fb2f000     0   496      6           869   495 (L-TLB)
ffff81003f401e88 0000000000000046 840fc085ffffc9d2 8304468b00000132 
       000adc45c700e065 ffff81003fbfcee0 ffffffff80305c00 ffff81003fbfd0f8 
       7cff85f88b3050ff 8be075ffe4458b6b 
Call Trace:<ffffffff8803a740>{:scsi_mod:scsi_error_handler+0}
<ffffffff8803a7c5>{:scsi_mod:scsi_error_handler+133}
       <ffffffff8803a740>{:scsi_mod:scsi_error_handler+0}
<ffffffff801433ad>{kthread+205}
       <ffffffff8010f34e>{child_rip+8} <ffffffff801433f0>{keventd_create_kthread+0}
       <ffffffff801432e0>{kthread+0} <ffffffff8010f346>{child_rip+0}
       
kjournald     S 0000000000000001     0   527      1           548   145 (L-TLB)
ffff81003fa79e58 0000000000000046 ffff81003fa79e38 ffffffff80305c00 
       ffff81000217f4b0 ffff81003fd3eea0 ffffffff80305c00 ffff81003fd3f0b8 
       ffff810002158298 ffff81003fa79ea8 
Call Trace:<ffffffff8807ddf2>{:jbd:kjournald+450}
<ffffffff80143880>{autoremove_wake_function+0}
       <ffffffff80143880>{autoremove_wake_function+0}
<ffffffff8807dc20>{:jbd:commit_timeout+0}
       <ffffffff8013262b>{do_exit+2763} <ffffffff8010f34e>{child_rip+8}
       <ffffffff88063330>{:libata:ata_exec_command+0}
<ffffffff8807dc30>{:jbd:kjournald+0}
       <ffffffff8010f346>{child_rip+0} 
init          S ffff81003f7e3140     0   548      1   551     856   527 (NOTLB)
ffff81003f0a1e78 0000000000000086 ffff81003f0b73f8 0000000000000000 
       0000000000000000 ffff81003f7e3020 ffffffff80305c00 ffff81003f7e3238 
       00002aaaaac4bef0 0000000000000282 
Call Trace:<ffffffff80133357>{do_wait+2599}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8013c0e1>{sys_rt_sigaction+113}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8010e8d6>{system_call+126} 
rc.sysinit    S ffff81003f127850     0   551    548   618               (NOTLB)
ffff81003f129e78 0000000000000086 ffff81003f341c38 0000000000000000 
       ffff81003f7e2280 ffff81003f127730 ffff81003f7e2280 ffff81003f127948 
       00000000005b9508 0000000000000282 
Call Trace:<ffffffff80133357>{do_wait+2599}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8013c104>{sys_rt_sigaction+148}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8010e8d6>{system_call+126} 
initlog       S 00000000fffef0ab     0   618    551           854       (NOTLB)
ffff81003e4fde88 0000000000000086 0000000000000000 ffffffff803158f8 
       ffff81003f71d6b0 ffff81003ef1c400 ffff81003f71d6b0 ffff81003ef1c618 
       ffff81003ef1c400 0000001002270002 
Call Trace:<ffffffff802b1b44>{schedule_timeout+148}
<ffffffff801386b0>{process_timeout+0}
       <ffffffff8017ca72>{pipe_poll+66} <ffffffff80184286>{sys_poll+630}
       <ffffffff801836b0>{__pollwait+0} <ffffffff8010e8d6>{system_call+126}
       
initlog       S 00000000fffef0aa     0   854    551   855           618 (NOTLB)
ffff81003ec6fe88 0000000000000082 0000000000000000 ffffffff803158f8 
       00000000000000d0 ffff81003f127060 ffffffff80305c00 ffff81003f127278 
       ffff81003f127060 00000010802b2dc9 
Call Trace:<ffffffff802b1b44>{schedule_timeout+148}
<ffffffff801386b0>{process_timeout+0}
       <ffffffff8017ca72>{pipe_poll+66} <ffffffff80184286>{sys_poll+630}
       <ffffffff801836b0>{__pollwait+0} <ffffffff8010e8d6>{system_call+126}
       
mount         D ffff81003d8f2c40     0   855    854                     (NOTLB)
ffff81003e97b5f8 0000000000000086 ffff81003fbd3dd8 ffff81003ff4e640 
       0000000000004001 ffff81003f3450a0 ffffffff80305c00 ffff81003f3452b8 
       0000000000000010 ffffffff8017517f 
Call Trace:<ffffffff8017517f>{bio_alloc_bioset+47} <ffffffff802b229f>{__down+143}
       <ffffffff8012c900>{default_wake_function+0}
<ffffffff88124cf1>{:xfs:_pagebuf_find+193}
       <ffffffff802b209a>{__down_failed+53}
<ffffffff8022dda0>{generic_unplug_device+0}
       <ffffffff8812650d>{:xfs:.text.lock.xfs_buf+5}
<ffffffff88125ada>{:xfs:pagebuf_iostart+138}
       <ffffffff88125b21>{:xfs:xfs_buf_read_flags+49}
<ffffffff8811155e>{:xfs:xlog_recover_process_data+2766}
       <ffffffff88067ce9>{:libata:ata_scsi_translate+201}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff801c25a0>{kobject_release+0}
<ffffffff88112bcd>{:xfs:xlog_do_recovery_pass+637}
       <ffffffff881130ca>{:xfs:xlog_recover+218}
<ffffffff8810dbe7>{:xfs:xfs_log_mount+1335}
       <ffffffff88114e4f>{:xfs:xfs_mountfs+2703}
<ffffffff801c25a0>{kobject_release+0}
       <ffffffff8812650d>{:xfs:.text.lock.xfs_buf+5}
<ffffffff88113775>{:xfs:xfs_xlatesb+37}
       <ffffffff88125e3d>{:xfs:xfs_setsize_buftarg_flags+61}
       <ffffffff8811a5fd>{:xfs:xfs_mount+2445}
<ffffffff8812baf0>{:xfs:linvfs_fill_super+0}
       <ffffffff8812bba8>{:xfs:linvfs_fill_super+184} <ffffffff801c4c5e>{strlcpy+78}
       <ffffffff8018b3b2>{get_filesystem+18} <ffffffff80176c69>{sget+841}
       <ffffffff80177320>{set_bdev_super+0}
<ffffffff8812baf0>{:xfs:linvfs_fill_super+0}
       <ffffffff8812baf0>{:xfs:linvfs_fill_super+0}
<ffffffff80177480>{get_sb_bdev+272}
       <ffffffff80177767>{do_kern_mount+183} <ffffffff8018cfd6>{do_mount+1542}
       <ffffffff801874f3>{dput+35} <ffffffff8017ed09>{link_path_walk+425}
       <ffffffff801439d8>{wake_up_bit+24} <ffffffff801874f3>{dput+35}
       <ffffffff80180b70>{sys_unlink+288} <ffffffff8017eecc>{path_lookup+396}
       <ffffffff80156151>{buffered_rmqueue+481} <ffffffff8017970f>{vfs_stat+47}
       <ffffffff801563c3>{__alloc_pages+243} <ffffffff8015672f>{__get_free_pages+31}
       <ffffffff8018d3b7>{sys_mount+151} <ffffffff8010e8d6>{system_call+126}
       
minilogd      S 00000000fffef0ab     0   856      1                 548 (NOTLB)
ffff81003f07be88 0000000000000082 0000000000000000 0000000000000000 
       0000000000000000 ffff81003f71d6b0 ffffffff80305c00 ffff81003f71d8c8 
       0000000000000807 0000000100000000 
Call Trace:<ffffffff802b1b44>{schedule_timeout+148}
<ffffffff801386b0>{process_timeout+0}
       <ffffffff80184286>{sys_poll+630} <ffffffff801836b0>{__pollwait+0}
       <ffffffff8010e8d6>{system_call+126} 
xfslogd/0     S ffff81003fb194c0     0   869      6           870   496 (L-TLB)
ffff81003d7b9e78 0000000000000046 c9314502e183e089 000001ba01e08341 
       ffff81003f7e2950 ffff81003ef1d870 ffff81003f7e2950 ffff81003ef1da88 
       9066666600000001 0000000000010000 
Call Trace:<ffffffff8013f536>{worker_thread+278}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8012c900>{default_wake_function+0}
<ffffffff8013f420>{worker_thread+0}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801433f0>{keventd_create_kthread+0} <ffffffff801432e0>{kthread+0}
       <ffffffff8010f346>{child_rip+0} 
xfsdatad/0    S ffff81003fb193c0     0   870      6           871   869 (L-TLB)
ffff81003d7b7e78 0000000000000046 4c1846894c427401 0f48207e8948c089 
       ffff81003ed30380 ffff81003f7e2950 ffff81003ed30380 ffff81003f7e2b68 
       0001b8858b490000 0000000000010000 
Call Trace:<ffffffff8013f536>{worker_thread+278}
<ffffffff8012c900>{default_wake_function+0}
       <ffffffff8012c900>{default_wake_function+0}
<ffffffff8013f420>{worker_thread+0}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801433f0>{keventd_create_kthread+0} <ffffffff801432e0>{kthread+0}
       <ffffffff8010f346>{child_rip+0} 
xfsbufd       S 00000000fffef067     0   871      6                 870 (L-TLB)
ffff81003d101e68 0000000000000046 0000000000000000 ffffffff80305c00 
       ffff81003f670fa0 ffff81003ed30380 ffffffff80305c00 ffff81003ed30598 
       0000000000000000 0000000000000000 
Call Trace:<ffffffff802b1b44>{schedule_timeout+148}
<ffffffff801386b0>{process_timeout+0}
       <ffffffff88126330>{:xfs:xfsbufd+128} <ffffffff881262b0>{:xfs:xfsbufd+0}
       <ffffffff801433ad>{kthread+205} <ffffffff8010f34e>{child_rip+8}
       <ffffffff801433f0>{keventd_create_kthread+0} <ffffffff801432e0>{kthread+0}
       <ffffffff8010f346>{child_rip+0} 
Comment 4 Nathan Scott 2006-03-19 14:18:56 UTC
Yeah, this has been known for a long time.  It keeps getting forgotten
about though - I'll go and prod the local log guru here to give it some
more attention.

thanks.
Comment 5 Nathan Scott 2006-03-19 14:23:37 UTC
Oh, I should add the easy fix is "it hurts, so don't do that" - replay
of a dirty log, i.e. after a crash, (currently) needs to be done on the
same architecture it was written on.  One mounted/unmounted cleanly,
then it is safe to mount the filesystem on a different architecture.

cheers.
Comment 6 Michael Mauch 2006-03-24 08:25:06 UTC
Thank you for this report, Sergey. Thank you, Nathan, for pointing out the solution.

I also had an unclean shutdown on x86_64, and ran into the same oops when I
tried to mount my biggest partition on the trustworthy i386. I tried xfs_check,
which told me that I should mount the filesystem (which I couldn't), so my last
chance seemed to be xfs_repair.

After reading this report, I could mount the filesystem on x86_64 without a
problem. xfs_check was also happy, and so am I.

@Nathan: could this please be documented somewhere (or perhaps it is, and I just
didn't find it)? Maybe in the man page of xfs_check or xfs_repair, or maybe when
xfs_check says "please attempt a mount of the filesystem before doing this" it
could also say "and use the same architecture (i386 vs. x86_64) where you got
the unclean filesystem".

I would really hate to read this report _after_ using xfs_repair and probably
loosing a lot of data.
Comment 7 Nathan Scott 2006-03-26 13:31:01 UTC
There is someone @SGI working on better understanding the underlying code issue
we have here, and hopefully then fixing this.  So, I'll wait to we know whether
we can fix this properly before we document anything - hopefully the problem
will just go away entirely soon.

cheers.
Comment 8 Adrian Bunk 2006-07-31 13:37:40 UTC
Nathan, what is the current status of this issue?
Comment 9 Markus Rechberger 2007-02-08 06:56:40 UTC
The bug isn't reproducable anymore, I successfully mounted both images on an  
* AMD Athlon(tm) 64 X2 Dual Core Processor 5200+
* Linux version 2.6.20-rc7 (gcc version 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, 
pie-8.7.9)) #4 SMP Fri Feb 2 17:01:15 CET 2007

Note You need to log in before you can comment on or make changes to this bug.