Hi,
I wrote a reproducing script for kernel oops in __lookup_hash(),
which has been discussed in last week.
I confirmed the bug on two of Turbolinux 10 Server boxes,
based on 2.6.8 kernel. Got same errors on SMP and non-SMP
kernels.
on NFS server:
- export a XFS filesystem.
on NFS client:
- prepare a test script, and fsstress from LTP or somewhere.
- mount the NFS export.
- run the script.
--
#!/bin/sh
TESTDIR=/export/xfstest
./fsstress -d $TESTDIR -l 0 -p 10 &
while true; do find $TESTDIR -exec touch -c {} \; ; done
--
Maybe you'll get oops soon(less than a minute) using this
test.
I confirmed it passes for a hour with no errors on ext3
filesystem.
caused oopses:
===========================
STACK TRACE OF FAILING TASK
===========================
================================================================
STACK TRACE FOR TASK: 0xf6d4b110 (nfsd)
0 __lookup_hash+111 [0xc016a4af]
1 lookup_hash+17 [0xc016a4f1]
2 lookup_one_len+90 [0xc016a55a]
3 nfsd_lookup+257 [0xf8ab7eb1]
4 nfsd3_proc_lookup+139 [0xf8abfb6b]
5 nfsd_dispatch+183 [0xf8ab5697]
6 svc_process+1221 [0xf8a68215]
7 smp_apic_timer_interrupt+149 [0xc0117975]
8 nfsd+447 [0xf8ab542f]
9 nfsd [0xf8ab5270]
10 kernel_thread_helper+5 [0xc010526d]
================================================================
--
Takeshi HASEGAWA
Software Research Associates, Inc.
|