xfs
[Top] [All Lists]

bug and fun with XFS: unable to handle kernel NULL pointer dereference

To: xfs@xxxxxxxxxxx
Subject: bug and fun with XFS: unable to handle kernel NULL pointer dereference
From: Michael Monnerie <michael.monnerie@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 26 Jul 2010 00:19:47 +0200
Organization: it-management http://it-management.at
User-agent: KMail/1.12.4 (Linux/2.6.34.1-zmi; KDE/4.3.5; x86_64; ; )
I just enjoy an obviously broken XFS filesystem. It was a running 
server, which I planned to migrate so I did "rsync -aHAX / 
otherhost::rsyncmodule", and experienced a "killed". At that time I 
thought it was a one time mistake, so restarted rsync, but Murphy made 
it get killed again.

So I looked into dmesg, just to find this: It's the log of all messages, 
so maybe twice the same, I copy everything for reference. See attachment 
"xfs-bug.dmesg.txt".

I started to look, and quickly found a funny problem: Once I mount that 
partition, I cannot unmount it again:

# mount /disks/work/
# umount /disks/work/
umount: /disks/work: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

So I rebooted without mounting that partition, and 

# xfs_repair -n /dev/xvda2 [VERSION:3.1.2]
xfs_repair: /lib64/libuuid.so.1: no version information available 
(required by xfs_repair)                                                        
                                                                                
  
Phase 1 - find and verify superblock...                                         
                                                                                
                                                                    
Phase 2 - using internal log                                                    
                                                                                
                                                                    
        - scan filesystem freespace and inode maps...                           
                                                                                
                                                                    
        - found root inode chunk
Phase 3 - for each AG...
        - scan (but don't clear) agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
local inode 8636461 attr too small (size = 0, min size = 4)
bad attribute fork in inode 8636461, would clear attr fork
would have cleared inode 8636461
        - agno = 2
        - agno = 3
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 3
local inode 8636461 attr too small (size = 0, min size = 4)
bad attribute fork in inode 8636461, would clear attr fork
would have cleared inode 8636461
        - agno = 2
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.


xfs_repair corrected it painlessly, and everything fine again. Just 
wanted to report that a simple mount works and an immediate umount 
fails. Maybe this could be fixed, would make repair simpler.

-- 
mit freundlichen Grüssen,
Michael Monnerie, Ing. BSc

it-management Internet Services
http://proteger.at [gesprochen: Prot-e-schee]
Tel: 0660 / 415 65 31

****** Aktuelles Radiointerview! ******
http://www.it-podcast.at/aktuelle-sendung.html

// Wir haben im Moment zwei Häuser zu verkaufen:
// http://zmi.at/langegg/
// http://zmi.at/haus2009/

Attachment: xfs-bug.dmesg.txt
Description: Text document

Attachment: signature.asc
Description: This is a digitally signed message part.

<Prev in Thread] Current Thread [Next in Thread>