[OpenAFS-devel] still seeing iput errors on 2.2.19...
Neulinger, Nathan
nneul@umr.edu
Mon, 9 Apr 2001 08:23:49 -0500
They generally all look something like this. A patch had been put on not too
long ago that got rid of one of the places where this IPUT error was
generated.
Here's the code in question from osi_misc.c:
void osi_iput(struct inode *ip)
{
extern struct vfs *afs_globalVFS;
AFS_GLOCK();
#if defined(AFS_LINUX24_ENV)
if (atomic_read(&ip->i_count) == 0 || atomic_read(&ip->i_count) &
0xffff0000
) {
#else
if (ip->i_count == 0 || ip->i_count & 0xffff0000) {
#endif
osi_Panic("IPUT Bad refCount %d on inode 0x%x\n",
#if defined(AFS_LINUX24_ENV)
atomic_read(&ip->i_count), ip);
#else
ip->i_count, ip);
#endif
}
if (afs_globalVFS && afs_globalVFS == ip->i_sb ) {
#if defined(AFS_LINUX24_ENV)
atomic_dec(&ip->i_count);
if (!atomic_read(&ip->i_count))
#else
ip->i_count --;
if (!ip->i_count)
#endif
osi_clear_inode(ip);
AFS_GUNLOCK();
}
else {
AFS_GUNLOCK();
iput(ip);
}
}
What is the 0xffff0000? I don't see i_count being and'ed with anything like
that anywhere else in the kernel sources. Does afs have a 2^16-1 limit on
i_count or something like that?
Apr 8 19:42:44 htdig kernel: IPUT Bad refCount 65536 on inode 0xd0340a28
Apr 8 19:42:44 htdig kernel: Unable to handle kernel paging request at
virtual address ffffffff
Apr 8 19:42:44 htdig kernel: current->tss.cr3 = 098ab000, %cr3 = 098ab000
Apr 8 19:42:44 htdig kernel: *pde = 00000000
Apr 8 19:42:44 htdig kernel: Oops: 0002
Apr 8 19:42:44 htdig kernel: CPU: 0
Apr 8 19:42:44 htdig kernel: EIP: 0010:[<d029a948>]
Using defaults from ksymoops -t elf32-i386 -a i386
Apr 8 19:42:44 htdig kernel: EFLAGS: 00010296
Apr 8 19:42:44 htdig kernel: eax: 0000002c ebx: d0340a28 ecx: ffffffff
edx: 0000003c
Apr 8 19:42:44 htdig kernel: esi: d0340a28 edi: d0342b94 ebp: c98ade7c
esp: c98add9c
Apr 8 19:42:44 htdig kernel: ds: 0018 es: 0018 ss: 0018
Apr 8 19:42:44 htdig kernel: Process httpd (pid: 10886, process nr: 406,
stackpage=c98ad000)
Apr 8 19:42:44 htdig kernel: Stack: d0340a28 d0340a28 00000001 00000001
6cce0019 d02a3817 d02b24a0 00010000
Apr 8 19:42:44 htdig kernel: d0340a28 d0340a28 cd322e00 d0342b94
cd322e00 d0284fb1 d0340a28 cd322e00
Apr 8 19:42:44 htdig kernel: 00000002 cd322e00 00000001 d0342c40
00000001 c98ade2c d0342b94 d027ec66
Apr 8 19:42:44 htdig kernel: Call Trace: [<d0340a28>] [<d0340a28>]
[<d02a3817>] [<d02b24a0>] [<d0340a28>] [<d0340a28>] [<d0342b94>]
Apr 8 19:42:44 htdig kernel: [<d0284fb1>] [<d0340a28>] [<d0342c40>]
[<d0342b94>] [<d027ec66>] [<d0340a28>] [<d0342b94>] [<d02a42b9>]
Apr 8 19:42:44 htdig kernel: [<d0342b94>] [<d0342b94>] [<d0342b94>]
[<d027e78e>] [<d0342b94>] [<d0340a28>] [<d0342b94>] [<d02a3891>]
Apr 8 19:42:44 htdig kernel: [<d0342b94>] [<d0340a28>] [<d0340a28>]
[<d02a50d5>] [prune_dcache+288/340] [cached_lookup+46/84]
[lookup_dentry+275/488] [<d02a5680
>]
Apr 8 19:42:44 htdig kernel: [<d02b327c>] [do_follow_link+76/132]
[lookup_dentry+351/488] [__namei+40/88] [sys_newstat+14/96]
[system_call+52/56]
Apr 8 19:42:44 htdig kernel: Code: c6 05 ff ff ff ff 2a 83 c4 1c c3 90 b8
20 18 2b d0 eb d8 90
>>EIP; d029a948 <[libafs-2.2.19]osi_Panic+20/34> <=====
Trace; d0340a28 <END_OF_CODE+7f989/????>
Trace; d0340a28 <END_OF_CODE+7f989/????>
Trace; d02a3817 <[libafs-2.2.19]osi_iput+23/5c>
Trace; d02b24a0 <[libafs-2.2.19]msg3.3+c49/fae>
Trace; d0340a28 <END_OF_CODE+7f989/????>
Trace; d0340a28 <END_OF_CODE+7f989/????>
Trace; d0342b94 <END_OF_CODE+81af5/????>
Trace; d0284fb1 <[libafs-2.2.19]afs_lookup+1d5/e4c>
Trace; d0340a28 <END_OF_CODE+7f989/????>
Trace; d0342c40 <END_OF_CODE+81ba1/????>
Trace; d0342b94 <END_OF_CODE+81af5/????>
Trace; d027ec66 <[libafs-2.2.19]afs_CopyOutAttrs+fe/1a0>
Trace; d0340a28 <END_OF_CODE+7f989/????>
Trace; d0342b94 <END_OF_CODE+81af5/????>
Trace; d02a42b9 <[libafs-2.2.19]vcache2inode+21/2c>
Trace; d0342b94 <END_OF_CODE+81af5/????>
Trace; d0342b94 <END_OF_CODE+81af5/????>
Trace; d0342b94 <END_OF_CODE+81af5/????>
Trace; d027e78e <[libafs-2.2.19]afs_AccessOK+3a/158>
Trace; d0342b94 <END_OF_CODE+81af5/????>
Trace; d0340a28 <END_OF_CODE+7f989/????>
Trace; d0342b94 <END_OF_CODE+81af5/????>
Trace; d02a3891 <[libafs-2.2.19]check_bad_parent+41/84>
Trace; d0342b94 <END_OF_CODE+81af5/????>
Trace; d0340a28 <END_OF_CODE+7f989/????>
Trace; d0340a28 <END_OF_CODE+7f989/????>
Trace; d02a50d5 <[libafs-2.2.19]afs_linux_dentry_revalidate+49/a8>
Trace; d02b327c <[libafs-2.2.19]linux_cred_pool_lock+0/c>
------------------------------------------------------------
Nathan Neulinger EMail: nneul@umr.edu
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216