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
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 * **********************************************************************
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 * **********************************************************************
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}
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.
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.
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.
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.
Nathan, what is the current status of this issue?
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