xfs
[Top] [All Lists]

Re: xfs_force_shutdown on full filesystem

To: "Eric Sandeen" <sandeen@xxxxxxx>
Subject: Re: xfs_force_shutdown on full filesystem
From: "Roger Willcocks" <willcor@xxxxxxxxx>
Date: Mon, 27 Feb 2006 19:35:16 +0000
Cc: linux-xfs@xxxxxxxxxxx
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=tavw0M5Baib5gc8MWne+ONgMeHXQKg1Qbmu5JN9icJJl4g+lJLFGhIogQqPNVQRCRuiEdNEH7vx6OSyMeYxEPV6pjeBKuW88Vxcr4TVKTBX43InROqkOiwppZV/I5NqaQPhVHSFgaUIeOAPrDinMdcEUuNDPR4ykpxvH/o8XVbU=
In-reply-to: <cfac95650602270633k10f5fa94q6cf055398ffcc1c4@xxxxxxxxxxxxxx>
References: <cfac95650602251509i7da3a41ew4972479e7cb6b409@xxxxxxxxxxxxxx> <4401039B.9050700@xxxxxxx> <cfac95650602270633k10f5fa94q6cf055398ffcc1c4@xxxxxxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
On 2/27/06, Roger Willcocks <willcor@xxxxxxxxx> wrote:

> I've reproduced the problem on a clean checkout of linux-2.6-xfs from
> oss.sgi.com.

I've narrowed this down to XFS_DIR_CREATENAME returning ENOSPC in xfs_create. 
(resblks = 40, resblks - XFS_IALLOC_SPACE_RES(mp) = 35).

There's an assertion to catch this but it's not checked in a release build. 
Incidentally the system I'm testing on has an XFS root drive and that gets 
corrupted too when the test disk goes bang.

It all appears to work correctly in a debug build, which is a little tiresome. 
However if try to unmount the drive I get an assertion error:

Assertion failed: vn_count(vp) == 0, file: fs/xfs/xfs_inode.c, line: 3594
------------[ cut here ]------------
kernel BUG at fs/xfs/support/debug.c:83!
invalid opcode: 0000 [#1]
PREEMPT SMP
Modules linked in: usbserial parport_pc lp parport nfsd exportfs autofs 
ohci_hcd e100 0 snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_pcm_oss 
snd_mixer_oss snd_pcm snd_time r snd soundcore snd_page_alloc i2c_i801 i2c_core 
hw_random intel_agp agpgart microcod e ohci1394 ieee1394 joydev usbhid uhci_hcd 
ehci_hcd usbcore xfs 3w_9xxx sd_mod scsi_m od
CPU:    1
EIP:    0060:[<f8a06d46>]    Not tainted VLI
EFLAGS: 00010282   (2.6.16-rc4-fl3 #4)
EIP is at assfail+0x16/0x22 [xfs]
eax: 0000004d   ebx: e5cdf500   ecx: e5b05e8c   edx: f8a82fa0
esi: f70a9000   edi: f5877380   ebp: f6fe20c0   esp: e5b05e88
ds: 007b   es: 007b   ss: 0068
Process umount (pid: 4338, threadinfo=e5b04000 task=f7f22a90)
Stack: <0>f8a82fa0 f8a0aeee f8a0aa69 00000e0a f89d7a88 f8a0aeee f8a0aa69 
00000e0a
       f70a9000 f6fe20c0 f89e6b3f f70a9000 00000000 00000000 00000000 f70a9000
       f89f008e f70a9000 00000000 00000001 00000000 00000000 00000000 f70a9000
Call Trace:
 [<f89d7a88>] xfs_iflush_all+0x43/0x78 [xfs]
 [<f89e6b3f>] xfs_unmountfs+0x2e/0x113 [xfs]
 [<f89f008e>] xfs_unmount+0x168/0x19d [xfs]
 [<f8a03a0e>] vfs_unmount+0x5b/0x60 [xfs]
 [<f8a0314f>] linvfs_put_super+0x30/0x61 [xfs]
 [<c015db96>] generic_shutdown_super+0x124/0x134
 [<c015e561>] kill_block_super+0x11/0x23
 [<c015d9ba>] deactivate_super+0x74/0x92
 [<c0171a4b>] sys_umount+0x33/0x71
 [<c0113449>] do_page_fault+0x17e/0x53a
 [<c014a9dd>] sys_munmap+0x4d/0x69
 [<c0171a94>] sys_oldumount+0xb/0xe
 [<c0102a9b>] sysenter_past_esp+0x54/0x79
Code: c7 83 c4 0c 85 db 75 08 0f 0b 4c 00 36 d4 a0 f8 5b 5e 5f 5d c3 ff 74 24 
0c ff 7 4 24 0c ff 74 24 0c 68 a0 2f a8 f8 e8 07 54 71 c7 <0f> 0b 53 00 36 d4 
a0 f8 83 c4 10 c3 8b 15 60 69 a9 f8 b9 1d f3
 Badness in do_exit at kernel/exit.c:802
 [<c011e6f7>] do_exit+0x3ec/0x3f4
 [<c0104339>] do_trap+0x0/0xbf
 [<c0104598>] do_invalid_op+0x0/0x86
 [<c0104612>] do_invalid_op+0x7a/0x86
 [<c02eedbf>] schedule+0x343/0x704
 [<f8a06d46>] assfail+0x16/0x22 [xfs]
 [<c02ef1d2>] preempt_schedule+0x52/0x65
 [<c011c301>] vprintk+0x1a3/0x277
 [<c02efefb>] __mutex_lock_slowpath+0x28d/0x4aa
 [<c02eff3b>] __mutex_lock_slowpath+0x2cd/0x4aa
 [<f89d7a56>] xfs_iflush_all+0x11/0x78 [xfs]
 [<c0130a83>] debug_mutex_add_waiter+0x23/0x93
 [<c0103c1f>] error_code+0x4f/0x60
 [<f89d007b>] xfs_inobt_split+0x4b4/0x589 [xfs]
 [<f8a06d46>] assfail+0x16/0x22 [xfs]
 [<f89d7a88>] xfs_iflush_all+0x43/0x78 [xfs]
 [<f89e6b3f>] xfs_unmountfs+0x2e/0x113 [xfs]
 [<f89f008e>] xfs_unmount+0x168/0x19d [xfs]
 [<f8a03a0e>] vfs_unmount+0x5b/0x60 [xfs]
 [<f8a0314f>] linvfs_put_super+0x30/0x61 [xfs]
 [<c015db96>] generic_shutdown_super+0x124/0x134
 [<c015e561>] kill_block_super+0x11/0x23
 [<c015d9ba>] deactivate_super+0x74/0x92
 [<c0171a4b>] sys_umount+0x33/0x71
 [<c0113449>] do_page_fault+0x17e/0x53a
 [<c014a9dd>] sys_munmap+0x4d/0x69
 [<c0171a94>] sys_oldumount+0xb/0xe
 [<c0102a9b>] sysenter_past_esp+0x54/0x79
BUG: umount/4338, lock held at task exit time!
 [f5870650] {alloc_super}
.. held by:            umount: 4338 [f7f22a90, 117]
... acquired at:               generic_shutdown_super+0x55/0x134

--
Roger


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