lkml.org 
[lkml]   [2001]   [Mar]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: reiserfs-oops; kernel 2.4.3-pre4

On Thursday, March 15, 2001 02:00:11 PM +0100 Andreas Klein
<asklein@cip.physik.uni-wuerzburg.de> wrote:

[ oops ]

>>> EIP; c016f090 <comp_short_keys+10/40> <=====
> Trace; c0160046 <reiserfs_iget+6a/a4>
> Trace; c015c8a8 <reiserfs_lookup+94/c4>
>
> The machine is running linux-2.4.3-pre4 including the reiserfs-patches
> from Alexander Zarochentcev.

Ah, I see. objectid-sharing.diff will pass a null inode to comp_short_keys
if iget4 returns a bad_inode.

Looks like you were using NFS, you'll want to look through the docs on
www.reiserfs.org for the additional patches required to make NFS and
reiserfs play nice.

The attached patch replaces objectid-sharing.diff. The bug was not present
in pure 2.4.x or 2.4.x-ac kernels.

-chris
--- diff/linux/fs/reiserfs/inode.c Thu Mar 15 09:47:18 2001
+++ linux/fs/reiserfs/inode.c Thu Mar 15 09:39:06 2001
@@ -1159,11 +1159,17 @@
if (!inode)
return inode ;

- // if (comp_short_keys (INODE_PKEY (inode), key)) {
if (is_bad_inode (inode)) {
reiserfs_warning ("vs-13048: reiserfs_iget: "
"bad_inode. Stat data of (%lu %lu) not found\n",
key->on_disk_key.k_dir_id, key->on_disk_key.k_objectid);
+ iput (inode);
+ inode = 0;
+ } else if (comp_short_keys (INODE_PKEY (inode), key)) {
+ reiserfs_warning ("vs-13049: reiserfs_iget: "
+ "Looking for (%lu %lu), found inode of (%lu %lu)\n",
+ key->on_disk_key.k_dir_id, key->on_disk_key.k_objectid,
+ INODE_PKEY (inode)->k_dir_id, INODE_PKEY (inode)->k_objectid);
iput (inode);
inode = 0;
}
\
 
 \ /
  Last update: 2005-03-22 13:29    [W:0.028 / U:0.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site