* OOPS with 2.4.5 [kernel BUG at inode.c:486]
@ 2001-05-29 17:03 Gergely Tamas
2001-05-29 17:30 ` Alexander Viro
0 siblings, 1 reply; 5+ messages in thread
From: Gergely Tamas @ 2001-05-29 17:03 UTC (permalink / raw)
To: linux-kernel
Hi!
Kernel 2.4.5 & ReiserFS umount-fix patch
2 CPU SMP, 1 Gb memory
During working on an NFS mounted drive ``/mnt/somewhere'' I got this
oops (multiple times, so it is reproducable).
Thanks in advance,
Gergely
---
somewhere % pwd
/mnt/somewhere
somewhere % ls -l
<...OOPS...>
---
ksymoops 2.4.1 on i686 2.4.5. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.5/ (default)
-m /boot/System.map-2.4.5 (default)
Warning: You did not tell me where to find symbol information. I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.
Warning (compare_maps): mismatch on symbol partition_name , ksyms_base says c01c4020, System.map says c0154160. Ignoring ksyms_base entry
kernel BUG at inode.c:486!
invalid operand: 0000
CPU: 1
EIP: 0010:[<c0147db7>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010282
eax: 0000001b ebx: d4f41660 ecx: 00000001 edx: 00000001
esi: f8e6c9e0 edi: e878ae00 ebp: c7a7dfa4 esp: c7a7def0
ds: 0018 es: 0018 ss: 0018
Process mc (pid: 2110, stackpage=c7a7d000)
Stack: c021ed6c c021ee0b 000001e6 d4f41660 c0148891 d4f41660 e87e67c0 d4f41660
f8e607f0 d4f41660 e87e67c0 c0145e4b e87e67c0 d4f41660 e87e67c0 00000000
c013d9e8 e87e67c0 c7a7df68 c013e242 f77edac0 c7a7df68 00000000 c3604000
Call Trace: [<c0148891>] [<f8e607f0>] [<c0145e4b>] [<c013d9e8>] [<c013e242>] [<c013d73a>] [<c013e998>]
[<c013b446>] [<c0106c5b>]
Code: 0f 0b 83 c4 0c 8d 74 26 00 f6 83 f4 00 00 00 10 75 19 68 e8
>>EIP; c0147db7 <clear_inode+33/11c> <=====
Trace; c0148891 <iput+15d/16c>
Trace; f8e607f0 <[nfs]nfs_dentry_iput+78/80>
Trace; c0145e4b <dput+eb/154>
Trace; c013d9e8 <cached_lookup+48/54>
Trace; c013e242 <path_walk+5e6/844>
Trace; c013d73a <getname+5a/98>
Trace; c013e998 <__user_walk+3c/58>
Trace; c013b446 <sys_lstat64+16/70>
Trace; c0106c5b <system_call+33/38>
Code; c0147db7 <clear_inode+33/11c>
00000000 <_EIP>:
Code; c0147db7 <clear_inode+33/11c> <=====
0: 0f 0b ud2a <=====
Code; c0147db9 <clear_inode+35/11c>
2: 83 c4 0c add $0xc,%esp
Code; c0147dbc <clear_inode+38/11c>
5: 8d 74 26 00 lea 0x0(%esi,1),%esi
Code; c0147dc0 <clear_inode+3c/11c>
9: f6 83 f4 00 00 00 10 testb $0x10,0xf4(%ebx)
Code; c0147dc7 <clear_inode+43/11c>
10: 75 19 jne 2b <_EIP+0x2b> c0147de2 <clear_inode+5e/11c>
Code; c0147dc9 <clear_inode+45/11c>
12: 68 e8 00 00 00 push $0xe8
2 warnings issued. Results may not be reliable.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: OOPS with 2.4.5 [kernel BUG at inode.c:486]
2001-05-29 17:03 OOPS with 2.4.5 [kernel BUG at inode.c:486] Gergely Tamas
@ 2001-05-29 17:30 ` Alexander Viro
2001-05-30 7:25 ` Trond Myklebust
0 siblings, 1 reply; 5+ messages in thread
From: Alexander Viro @ 2001-05-29 17:30 UTC (permalink / raw)
To: Gergely Tamas; +Cc: linux-kernel, Trond Myklebust
On Tue, 29 May 2001, Gergely Tamas wrote:
> Warning (compare_maps): mismatch on symbol partition_name , ksyms_base says c01c4020, System.map says c0154160. Ignoring ksyms_base entry
> kernel BUG at inode.c:486!
[snip]
_Lovely_. NFS, apparently on revalidate path, doesn't care to hold on
the unhashed inode until its pages are gone.
Trond?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: OOPS with 2.4.5 [kernel BUG at inode.c:486]
2001-05-29 17:30 ` Alexander Viro
@ 2001-05-30 7:25 ` Trond Myklebust
2001-05-30 7:30 ` Alexander Viro
2001-05-30 8:10 ` Trond Myklebust
0 siblings, 2 replies; 5+ messages in thread
From: Trond Myklebust @ 2001-05-30 7:25 UTC (permalink / raw)
To: Alexander Viro; +Cc: Gergely Tamas, linux-kernel, Trond Myklebust
>>>>> " " == Alexander Viro <viro@math.psu.edu> writes:
> On Tue, 29 May 2001, Gergely Tamas wrote:
>> Warning (compare_maps): mismatch on symbol partition_name ,
>> ksyms_base says c01c4020, System.map says c0154160. Ignoring
>> ksyms_base entry kernel BUG at inode.c:486!
> [snip]
> _Lovely_. NFS, apparently on revalidate path, doesn't care to
> hold on the unhashed inode until its pages are gone.
> Trond?
My guess is that is a result of the 'magic nfs path' in iput. It
appears to be calling clear_inode() without truncating the pages
first.
The reason we haven't seen this before is that we had 'force_delete'
that would always set i_nlink = 0. Unfortunately force_delete is toxic
to mmap(), as it will discard any dirty pages rather than flushing
them to storage, so it was removed in the 2.4.5-pre series...
Al: Is there any reason why the cases
if (!inode->i_nlink)
and the 'magic nfs path' should be treated differently? Personally,
I'd rather prefer to merge the 2.
The unhashing of the inode is after all only done in NFS when we
believe the inode to be stale and hence we want to throw it out of the
cache ASAP (= same as setting i_nlink to zero but without races).
Cheers,
Trond
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: OOPS with 2.4.5 [kernel BUG at inode.c:486]
2001-05-30 7:25 ` Trond Myklebust
@ 2001-05-30 7:30 ` Alexander Viro
2001-05-30 8:10 ` Trond Myklebust
1 sibling, 0 replies; 5+ messages in thread
From: Alexander Viro @ 2001-05-30 7:30 UTC (permalink / raw)
To: Trond Myklebust; +Cc: Gergely Tamas, linux-kernel
On 30 May 2001, Trond Myklebust wrote:
> The reason we haven't seen this before is that we had 'force_delete'
> that would always set i_nlink = 0. Unfortunately force_delete is toxic
> to mmap(), as it will discard any dirty pages rather than flushing
> them to storage, so it was removed in the 2.4.5-pre series...
>
> Al: Is there any reason why the cases
>
> if (!inode->i_nlink)
>
> and the 'magic nfs path' should be treated differently? Personally,
> I'd rather prefer to merge the 2.
I don't think that it's a good idea. Why not fry the cache explicitly
when you invalidate the inode?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: OOPS with 2.4.5 [kernel BUG at inode.c:486]
2001-05-30 7:25 ` Trond Myklebust
2001-05-30 7:30 ` Alexander Viro
@ 2001-05-30 8:10 ` Trond Myklebust
1 sibling, 0 replies; 5+ messages in thread
From: Trond Myklebust @ 2001-05-30 8:10 UTC (permalink / raw)
To: Alexander Viro; +Cc: Gergely Tamas, linux-kernel
>>>>> " " == Alexander Viro <viro@math.psu.edu> writes:
> On 30 May 2001, Trond Myklebust wrote:
>> Al: Is there any reason why the cases
>>
>> if (!inode->i_nlink)
>>
>> and the 'magic nfs path' should be treated differently?
>> Personally, I'd rather prefer to merge the 2.
> I don't think that it's a good idea. Why not fry the cache
> explicitly when you invalidate the inode?
Won't there be a race there? Imagine if some other process is busy
writing to that inode, and happens to add a new page after we've
truncated...
Cheers,
Trond
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2001-05-30 8:11 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-29 17:03 OOPS with 2.4.5 [kernel BUG at inode.c:486] Gergely Tamas
2001-05-29 17:30 ` Alexander Viro
2001-05-30 7:25 ` Trond Myklebust
2001-05-30 7:30 ` Alexander Viro
2001-05-30 8:10 ` Trond Myklebust
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®