Bug 3224 - XFS internal error xfs_iformat(6) at line 546 of file fs/xfs/xfs_inode.c
Summary: XFS internal error xfs_iformat(6) at line 546 of file fs/xfs/xfs_inode.c
Status: REJECTED INSUFFICIENT_DATA
Alias: None
Product: File System
Classification: Unclassified
Component: XFS (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: XFS Guru
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-16 10:54 UTC by Joachim Selinger
Modified: 2007-02-17 12:00 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.8-rc2 (gcc 3.3.3) and earlier (have not tried latest yet)
Tree: Mainline
Regression: ---


Attachments

Description Joachim Selinger 2004-08-16 10:54:50 UTC
Distribution: SuSE 9.1
Hardware Environment: 
obelix@19:47 ~/Mail/Software>cat /proc/cpuinfo 
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 6
model name      : AMD Athlon(tm) XP 1700+
stepping        : 2
cpu MHz         : 1464.496
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr 
sse syscall mp mmxext 3dnowext 3dnow
bogomips        : 2891.77

Software Environment:

obelix@19:49 ~/Mail/Software>cat /proc/modules 
nls_iso8859_15 4288 0 - Live 0xf8972000
loop 13256 0 - Live 0xf8966000
usb_storage 27648 0 - Live 0xf8986000
snd_intel8x0 30216 1 - Live 0xf897d000
snd_ac97_codec 66180 1 snd_intel8x0, Live 0xf8ce9000
snd_mpu401_uart 6144 1 snd_intel8x0, Live 0xf8963000
snd_rawmidi 20964 1 snd_mpu401_uart, Live 0xf896b000
r128 102948 4 - Live 0xf89cb000
usbserial 24744 0 - Live 0xf895b000
md5 3712 1 - Live 0xf889b000
sg 30688 6 - Live 0xf8952000
ipv6 241988 27 - Live 0xf898e000
sr_mod 13476 0 - Live 0xf8943000
usblp 10944 0 - Live 0xf88b2000
ehci_hcd 26500 0 - Live 0xf88b6000
nvidia_agp 5852 1 - Live 0xf88a8000
ohci_hcd 19140 0 - Live 0xf88a0000
usbcore 103588 7 usb_storage,usbserial,usblp,ehci_hcd,ohci_hcd, Live 0xf8900000
forcedeth 14848 0 - Live 0xf8894000
aic7xxx 194424 0 - Live 0xf88cf000
dm_mod 52412 3 - Live 0xf8845000

obelix:19:35~selinger/tmp/linux-2.6.8#mount
/dev/sda5 on / type xfs (rw)
proc on /proc type proc (rw)
tmpfs on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/sda2 on /boot type ext2 (rw)
/dev/mapper/Raid1-Home on /home type xfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/hda5 on /backup type xfs (rw)

Problem Description:

I'm running the above kernel on a purely XFS system. I have a root partition and a user /home 
partition in XFS (both xfs_repaired just a couple of weeks ago because of this problem). Now 
the problem occured again and I traced it down to the following:

Whenever I try to access the file ~selinger/Mail/Software/TCSH/.sylpheed_cache, 
I get the following error in my kernel log:

Aug 16 19:39:58 obelix kernel: Filesystem "dm-0": XFS internal error xfs_iformat(6) at line 546 of file 
fs/xfs/xfs_inode.c.  Caller 0xc0238f11
Aug 16 19:39:58 obelix kernel:  [<c0105ebe>] dump_stack+0x1e/0x20
Aug 16 19:39:58 obelix kernel:  [<c0237824>] xfs_iformat+0x104/0x5d0
Aug 16 19:39:58 obelix kernel:  [<c0238f11>] xfs_iread+0x1c1/0x220
Aug 16 19:39:58 obelix kernel:  [<c0236035>] xfs_iget_core+0xd5/0x5e0
Aug 16 19:39:58 obelix kernel:  [<c023665c>] xfs_iget+0x11c/0x150
Aug 16 19:39:58 obelix kernel:  [<c0252b42>] xfs_dir_lookup_int+0xa2/0x130
Aug 16 19:39:58 obelix kernel:  [<c02583d1>] xfs_lookup+0x51/0x80
Aug 16 19:39:58 obelix kernel:  [<c0264b60>] linvfs_lookup+0x60/0xb0
Aug 16 19:39:58 obelix kernel:  [<c0164f4b>] __lookup_hash+0x9b/0xd0
Aug 16 19:39:58 obelix kernel:  [<c016563e>] open_namei+0x11e/0x670
Aug 16 19:39:58 obelix kernel:  [<c0154b5a>] filp_open+0x3a/0x60
Aug 16 19:39:58 obelix kernel:  [<c0154fa3>] sys_open+0x53/0x90
Aug 16 19:39:58 obelix kernel:  [<c01050bb>] syscall_call+0x7/0xb

Steps to reproduce:

e.g.: 
obelix@19:36 ~/Mail/Software>rm -rf TCSH
rm: cannot remove `TCSH/.sylpheed_cache': Unknown error 990

A plain ls -la does the same trick.

I can supply more information if necessary and told what to get exactly.

Thanks for looking at it.

Jocki
Comment 1 Adrian Bunk 2006-12-06 01:47:13 UTC
Is this issue still present with recent kernels?
Comment 2 Eric Sandeen 2006-12-07 07:32:57 UTC
an xfs_repair will probably fix this.  Hard to say how it got into this state,
but you've found an inode here where ip->di_core.di_format doesn't have a
valid value (would be nice if the message printed the bad value... oh well)

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