2003-09-20 12:39:49

by Hans-Joachim Baader

[permalink] [raw]
Subject: 2.4.22 Oops in NFS write

Hi,

while dd'ing a CD to my server, I got the following oops. I had to
reboot because several processes stuck in D state.

System: Dual Athlon MP 2000+, AMD 760 MP chipset, 512 MB ECC RAM,
Intel eepro100 network card with e100 driver. Kernel compiled with
gcc 2.95.4.


Sep 20 13:12:40 kiwi kernel: Unable to handle kernel paging request at virtual address e0000004
Sep 20 13:12:40 kiwi kernel: e88d4070
Sep 20 13:12:40 kiwi kernel: *pde = 00000000
Sep 20 13:12:40 kiwi kernel: Oops: 0000
Sep 20 13:12:40 kiwi kernel: CPU: 1
Sep 20 13:12:40 kiwi kernel: EIP: 0010:[nfs:__insmod_nfs_O/lib/modules/2.4.22/kernel/fs/nfs/nfs.o_M3F5C+-126864/96] Not tainted
Sep 20 13:12:40 kiwi kernel: EFLAGS: 00010207
Sep 20 13:12:40 kiwi kernel: eax: 02894c59 ebx: cbb59d38 ecx: cbb59d98 edx: cbb59d3c
Sep 20 13:12:40 kiwi kernel: esi: cbb59d50 edi: 470ca3b2 ebp: 00000000 esp: cbb59d00
Sep 20 13:12:40 kiwi kernel: ds: 0018 es: 0018 ss: 0018
Sep 20 13:12:40 kiwi kernel: Process dd (pid: 15449, stackpage=cbb59000)
Sep 20 13:12:40 kiwi kernel: Stack: 00000000 dc1ba178 dc1ba1b4 dc1ba120 cbb59d38 c0000000 cbb58000 00002078
Sep 20 13:12:40 kiwi kernel: dc1ba138 ddbba74c 00000000 dc1ba000 dc1ba120 dfae17bc d5254800 00000078
Sep 20 13:12:40 kiwi kernel: cd706000 00001000 d8cdc000 00001000 00000001 c1589e00 00000001 c1589e78
Sep 20 13:12:40 kiwi kernel: Call Trace: [kmalloc+175/736] [nfs:__insmod_nfs_S.text_L59648+52612/59648] [nfs:__insmod_nfs_O/lib/modules/2.4.22/kernel/fs/nfs/nfs.o_M3F5C+-127238/96] [nfs:__insmod_nfs_O/lib/modules/2.4.22/kernel/fs/nfs/nfs.o_M3F5C+-136045/96] [nfs:__insmod_nfs_O/lib/modules/2.4.22/kernel/fs/nfs/nfs.o_M3F5C+-118394/96]
Sep 20 13:12:40 kiwi kernel: Code: 03 3c c2 40 39 f0 72 f8 8b 5c 24 24 31 c0 f0 0f b3 43 04 57
Using defaults from ksymoops -t elf32-i386 -a i386


Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
0: 03 3c c2 add (%edx,%eax,8),%edi
Code; 00000003 Before first symbol
3: 40 inc %eax
Code; 00000004 Before first symbol
4: 39 f0 cmp %esi,%eax
Code; 00000006 Before first symbol
6: 72 f8 jb 0 <_EIP>
Code; 00000008 Before first symbol
8: 8b 5c 24 24 mov 0x24(%esp,1),%ebx
Code; 0000000c Before first symbol
c: 31 c0 xor %eax,%eax
Code; 0000000e Before first symbol
e: f0 0f b3 43 04 lock btr %eax,0x4(%ebx)
Code; 00000013 Before first symbol
13: 57 push %edi


Regards,
hjb
--
Pro-Linux - Germany's largest volunteer Linux support site
http://www.pro-linux.de/ Public Key ID 0x3DDBDDEA


Attachments:
(No filename) (2.67 kB)
(No filename) (189.00 B)
Download all attachments

2003-09-21 04:38:26

by Binny Gill

[permalink] [raw]
Subject: Attributes returned by NFS Readdirplus not utilized?

Hello Trond,

I am working with the patch to make readdirplus work for NFSv3 client in linux 2.4.18

I noticed that the attributes returned are mostly thrown away as the fattr->timestamp
that they get during nfs_cached_lookup() is the mtime of the directory (which is normally way in
the past for directories that dont change that often). I was wondering why we cannot store the
time the readdirplus results were received in the cache and use that as the fattr->timestamp.

I would like to use '1 readdirplus' to serve a 'ls -la'. Currently it is more like
'1 readdirplus + getattrs for each child'. Am I missing something here?

Regards,
Binny


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com