[Linux-cluster] problem exporting GFS2 filesystem with NFS
Benoit DUFFAU
benoit.duffau at devoteam.com
Wed Jan 24 11:35:29 UTC 2007
Le mercredi 24 janvier 2007 à 09:44 +0000, Steven Whitehouse a écrit :
> Hi,
>
> This problem (NFS readdirplus bug) should be fixed in the upstream
> kernel as well as FC-6. Its due to NFS' readdirplus calling the vfs stat
> function (gfs2_getattr) for the '.' directory from readdir's filldir
> callback. As a result it tried to lock the directory twice which
> triggers the recursive locking check.
>
> The URL of the fix is:
> http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=dcf3dd852f554bb0016aa23892596717cc123a26
>
> Please let me know if that doesn't cure the problem,
>
Hi,
thank you for answering me so quickly !!!
I patched my 2.6.19.2 kernel but this does not work.
The kernel does not crash any longer (great ! :) ) but the export is now
impossible !
when i try to mount the exported directory i have the following error on
the client :
client1:~# mount server1:/test /mnt -o defaults,udp,async,soft -t nfs
mount: server1:/test: can't read superblock
i have one question :
when i compile the patched kernel it says :
fs/gfs2/ops_inode.c: In function « gfs2_getattr »:
fs/gfs2/ops_inode.c:1047: Warning : empty body in an if-statement
are you sure with your code ?? :
+ if (unlock);
+ gfs2_glock_dq_uninit(&gh);
shouldn't it be :
+ if (unlock)
+ gfs2_glock_dq_uninit(&gh);
instead ???
I completly don't understand what this piece of code is doing but i find
it strange to do a if (var); ...
the problem is that even if i try to compile another kernel without
the ; after the if santance it crashes the same way before :(
here again the kernel dump
Jan 24 12:27:55 replica1 kernel: ------------[ cut here ]------------
Jan 24 12:27:55 replica1 kernel: kernel BUG at fs/gfs2/glock.c:1193!
Jan 24 12:27:55 replica1 kernel: invalid opcode: 0000 [#1]
Jan 24 12:27:55 replica1 kernel: SMP
Jan 24 12:27:55 replica1 kernel: CPU: 1
Jan 24 12:27:55 replica1 kernel: EIP: 0060:[add_to_queue+181/297]
Not tainted VLI
Jan 24 12:27:55 replica1 kernel: EFLAGS: 00010282 (2.6.19.2-grsec #5)
Jan 24 12:27:55 replica1 kernel: eax: 00000020 ebx: da62be68 ecx:
da62ba28 edx: c05f1c60
Jan 24 12:27:55 replica1 kernel: esi: ddc422fc edi: da62ba88 ebp:
dafff000 esp: da62ba24
Jan 24 12:27:55 replica1 kernel: ds: 0068 es: 007b ss: 0068
Jan 24 12:27:55 replica1 kernel: Process nfsd (pid: 3123, ti=da62a000
task=da81d560 task.ti=da62a000)
Jan 24 12:27:55 replica1 kernel: Stack: c05f1c60 00000002 00000001
ddc422fc da62ba88 00000000 dafff000 c02aa65c
Jan 24 12:27:55 replica1 kernel: da62ba88 dab35514 da630194
da62ba88 da6301b0 c02accfc da62ba88 00000003
Jan 24 12:27:55 replica1 kernel: 00000000 da62ba88 00000000
dd028600 dab35514 c02b9698 dab35514 00000001
Jan 24 12:27:55 replica1 kernel: Call Trace:
Benoit
+---------------------------------------------------------------------+
Combining consulting and technology solutions offers enables Devoteam
to provide its customers with independent advice and effective solutions
that meet their strategic objectives (IT performance and optimisation)
in complementary areas: networks, systems infrastructure, security
and e-business applications.
Created in 1995, Devoteam achieved in 2005 a turnover of 199 million euros
and an operating margin of 7%. The group counts 2,400 employees through
sixteen countries in Europe, the Middle East and North Africa.
Listed on Euronext (Eurolist B compartment) since October 28, 1999.
Part of the Nexteconomy, CAC SMALL 90, IT CAC 50, SBF 250 index of
Euronext Paris
ISIN: FR 000007379 3, Reuters: DVTM.LM, Bloomberg: DEVO FP
+---------------------------------------------------------------------+
More information about the Linux-cluster
mailing list