Bug 60600

Summary: Kernel OOPS on 3.10.1
Product: File System Reporter: Armin K. (krejzi)
Component: XFSAssignee: XFS Guru (xfs-masters)
Status: RESOLVED INVALID    
Severity: normal CC: david
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.10.1 Subsystem:
Regression: No Bisected commit-id:
Attachments: kernel config

Description Armin K. 2013-07-22 09:08:42 UTC
Created attachment 106980 [details]
kernel config

When I run os-prober to detect other oses on this machine, it tries to mount the partitions using several file systems (guessing). It tried to mount a extended partition and using XFS caused a Kernel OOPS.

[ 3952.275438] XFS (sda4): bad magic number
[ 3952.275442] ffff8801d71fe000: eb 52 90 4e 54 46 53 20 20 20 20 00 02 08 00 00  .R.NTFS    .....
[ 3952.275444] ffff8801d71fe010: 00 00 00 00 00 f8 00 00 3f 00 ff 00 00 28 e3 2e  ........?....(..
[ 3952.275445] ffff8801d71fe020: 00 00 00 00 80 00 80 00 ff ff 3f 1f 00 00 00 00  ..........?.....
[ 3952.275446] ffff8801d71fe030: 00 00 0c 00 00 00 00 00 02 00 00 00 00 00 00 00  ................
[ 3952.275449] XFS (sda4): Internal error xfs_sb_read_verify at line 730 of file fs/xfs/xfs_mount.c.  Caller 0xffffffffa09595da

[ 3952.275452] CPU: 0 PID: 105 Comm: kworker/0:1H Tainted: P           O 3.10.1-krejzi #2
[ 3952.275453] Hardware name: Hewlett-Packard HP Pavilion g6 Notebook PC      /1670, BIOS F.66 01/24/2013
[ 3952.275466] Workqueue: xfslogd xfs_buf_iodone_work [xfs]
[ 3952.275468]  0000000000000000 ffffffffa095ae21 000002dad8236b78 ffffffffa09595da
[ 3952.275470]  0000000000000016 ffff8801aed01c80 ffff880193e16000 ffff8801dfa19600
[ 3952.275472]  ffffffffa0996f4c ffffffffa09595da ffff8801aed01d20 ffff8801aed01c80
[ 3952.275475] Call Trace:
[ 3952.275485]  [<ffffffffa095ae21>] ? xfs_corruption_error+0x56/0x71 [xfs]
[ 3952.275493]  [<ffffffffa09595da>] ? xfs_buf_iodone_work+0x3a/0x62 [xfs]
[ 3952.275508]  [<ffffffffa0996f4c>] ? xfs_sb_read_verify+0xa3/0xb8 [xfs]
[ 3952.275515]  [<ffffffffa09595da>] ? xfs_buf_iodone_work+0x3a/0x62 [xfs]
[ 3952.275523]  [<ffffffffa09595da>] ? xfs_buf_iodone_work+0x3a/0x62 [xfs]
[ 3952.275527]  [<ffffffff8103e2d9>] ? process_one_work+0x15a/0x210
[ 3952.275529]  [<ffffffff8103e754>] ? worker_thread+0x139/0x1de
[ 3952.275532]  [<ffffffff8103e61b>] ? rescuer_thread+0x269/0x269
[ 3952.275534]  [<ffffffff810427f4>] ? kthread+0x7d/0x85
[ 3952.275536]  [<ffffffff81042777>] ? __kthread_parkme+0x59/0x59
[ 3952.275540]  [<ffffffff8138942c>] ? ret_from_fork+0x7c/0xb0
[ 3952.275542]  [<ffffffff81042777>] ? __kthread_parkme+0x59/0x59
[ 3952.275544] XFS (sda4): Corruption detected. Unmount and run xfs_repair
[ 3952.275551] XFS (sda4): SB validate failed with error 22.

Disk /dev/sda: 750.2 GB, 750156374016 bytes, 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x00092be0

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   209922047   104857600    7  HPFS/NTFS/exFAT
/dev/sda3       209922048   786638847   288358400    7  HPFS/NTFS/exFAT
/dev/sda4       786638848  1465147391   339254272    5  Extended
/dev/sda5       786640896  1310928895   262144000    7  HPFS/NTFS/exFAT
/dev/sda6      1310930944  1323513855     6291456   82  Linux swap / Solaris
/dev/sda7      1323515904  1375944703    26214400   83  Linux
/dev/sda8      1375946752  1433690111    28871680   83  Linux
/dev/sda9      1433692160  1465147391    15727616   83  Linux
Comment 1 Armin K. 2013-07-22 09:10:02 UTC
Oh, and I forgot to add that I don't have xfsprogs installed since I don't have any XFS formated partition on my machine.
Comment 2 Dave Chinner 2013-07-22 10:13:17 UTC
That's a os-prober bug - it;'s trying to mount a device that does not contain an xfs filesystem as XFS.

The error message you are seeing is not a kernel panic - it's XFS complaining about a filesystem corruption. That's not surprising because it's not an XFs filesystem that is on the device os-prober is trying to mount.

os-prober is doing something actively dangerous - it can corrupt filesystems if it finds stale superblocks at the stale of block devices. I'm speaking from experience here - I purged grub2 from my all my systems the moment I discovered that my RAID devices were being corrupted by os-prober doing this....
Comment 3 Dave Chinner 2013-07-22 10:15:57 UTC
BTW, I apparently can't change a damn thing realted to this bug, so I close it, reassign it, or anything else. So, please close this as not-a-bug.
Comment 4 Armin K. 2013-07-22 11:32:18 UTC
Well, I never saw the scary message before. It looked like oops to me. I thought it's a bug in kernel 3.10 since I didn't see it with earlier kernels.

Thanks for the hint. I'll notify os-prober guys about this and start looking into syslinux.

But anyways, I still think this shouldn't happen, so I'll still leave the bug open in case someone knows what's wrong.
Comment 5 Dave Chinner 2013-07-22 22:47:40 UTC
(In reply to Armin K. from comment #4)
> Well, I never saw the scary message before. It looked like oops to me. I
> thought it's a bug in kernel 3.10 since I didn't see it with earlier kernels.

That's because they are new in 3.9. Us XFs developers want to know when bad things are happening to XFS filesysetms.

> 
> Thanks for the hint. I'll notify os-prober guys about this and start looking
> into syslinux.
> 
> But anyways, I still think this shouldn't happen, so I'll still leave the
> bug open in case someone knows what's wrong.

FYI, I am the guy that knows what is going on - I wrote the XFS code that generates the error message. So, yeah, what you report is expected behaviour,
so you can close the bug.