xfs
[Top] [All Lists]

2.6.27.7 vanilla, project quota enabled and process stuck in D state (re

To: xfs@xxxxxxxxxxx
Subject: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time)
From: Arkadiusz Miskiewicz <arekm@xxxxxxxx>
Date: Tue, 2 Dec 2008 19:49:55 +0100
User-agent: PLD Linux KMail/1.9.10
Hello,

I'm trying to use xfs project quota on kernel 2.6.27.7 (vanilla, no additional 
patches), x86_64 UP machine (SMP kernel). 

mounted /home with usrquota,prjquota

[arekm@arm ~]$ mount|grep xfs
/dev/sda1 on / type xfs (rw)
/dev/sda3 on /home type xfs (rw,usrquota,prjquota)
/dev/hdb on /mnt/storage2 type xfs (rw)

played a bit with setting quota/reporting it and such.

$ cat /etc/projects
10:/home/users/arekm/public_html
10:/home/users/arekm/rpm
20:/home/users/arekm/tcl
20:/home/users/arekm/tcl-test

I did for example xfs_quota -x -c "project -s 10" and allowed it to finish. I 
also started it second time and aborted with ctrl+c after few seconds (which 
I assume should have no effect since initial -s 10 was finished properly 
earlier). Played more with xfs_quota report and such.

Now some processes that are using /home/users/arekm/rpm are hanging in D-state 
like:

SysRq : Show Blocked State
  task                        PC stack   pid father
patch         D ffff88003a7dd080     0  3971   3965
 ffff880034453cd8 0000000000000086 0000000000000000 ffff8800344770d0
 ffff880034453cd8 ffff8800354d2440 ffffffff805d0340 ffff8800354d27b8
 00000000000041ed 00000000fffc7a61 ffff8800354d27b8 0000000000000250
Call Trace:
 [<ffffffffa00af4c4>] ? kmem_zone_alloc+0x94/0xe0 [xfs]
 [<ffffffff804a51cd>] __down_write_nested+0x8d/0xd0
 [<ffffffff804a521b>] __down_write+0xb/0x10
 [<ffffffff804a4229>] down_write+0x9/0x10
 [<ffffffffa008deb6>] xfs_ilock+0x76/0x90 [xfs]
 [<ffffffffa00aa7d0>] xfs_lock_two_inodes+0x70/0x120 [xfs]
 [<ffffffffa00ac651>] xfs_remove+0x141/0x3a0 [xfs]
 [<ffffffff804a54c9>] ? _spin_lock+0x9/0x10
 [<ffffffffa00b7c13>] xfs_setup_inode+0x673/0xa00 [xfs]
 [<ffffffff802d0849>] vfs_unlink+0xf9/0x140
 [<ffffffff802d3313>] do_unlinkat+0x1a3/0x1c0
 [<ffffffff80287ce0>] ? audit_syscall_entry+0x150/0x180
 [<ffffffff802d3341>] sys_unlink+0x11/0x20
 [<ffffffff8020c5aa>] system_call_fastpath+0x16/0x1b


reboot, retry with patch (which accesses /home/users/arekm/rpm) and stuck in 
D-state again. touch home/users/arekm/rpm/xyz - doesn't stuck. 
cp /bin/bash /home/users/arekm/rpm/ - doesn't stuck.


Did reboot and third test. D-state again for patch (this is interesting since 
uncompressing into /home/users/arekm/rpm/ succeeds but applying patch to 
uncompressed tree fails).

SysRq : Show Blocked State
  task                        PC stack   pid father
patch         D ffff88003a7d07c0     0  3631   3625
 ffff88003443bcd8 0000000000000082 0000000000000000 ffff88003444e4a8
 ffff88003443bcd8 ffff88003553e500 ffffffff805d0340 ffff88003553e878
 00000000000041ed 00000000fffc4120 ffff88003553e878 0000000000000250
Call Trace:
 [<ffffffffa00af4c4>] ? kmem_zone_alloc+0x94/0xe0 [xfs]
 [<ffffffff804a51cd>] __down_write_nested+0x8d/0xd0
 [<ffffffff804a521b>] __down_write+0xb/0x10
 [<ffffffff804a4229>] down_write+0x9/0x10
 [<ffffffffa008deb6>] xfs_ilock+0x76/0x90 [xfs]
 [<ffffffffa00aa7d0>] xfs_lock_two_inodes+0x70/0x120 [xfs]
 [<ffffffffa00ac651>] xfs_remove+0x141/0x3a0 [xfs]
 [<ffffffff804a54c9>] ? _spin_lock+0x9/0x10
 [<ffffffffa00b7c13>] xfs_setup_inode+0x673/0xa00 [xfs]
 [<ffffffff802d0849>] vfs_unlink+0xf9/0x140
 [<ffffffff802d3313>] do_unlinkat+0x1a3/0x1c0
 [<ffffffff80287ce0>] ? audit_syscall_entry+0x150/0x180
 [<ffffffff802d3341>] sys_unlink+0x11/0x20
 [<ffffffff8020c5aa>] system_call_fastpath+0x16/0x1b

I'm able to make it D-stuck quite reliably.

Any ideas?

Going to do xfs_repair just in case and retest.
-- 
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/

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