public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Oleg Drokin <green@namesys.com>
To: Dave Jones <davej@suse.de>,
	Sebastian Dr?ge <sebastian.droege@gmx.de>,
	linux-kernel@vger.kernel.org, Andrew Morton <akpm@zip.com.au>
Cc: mason@suse.com
Subject: Re: Current Reiserfs Update / 2.5.2-dj7 Oops
Date: Thu, 31 Jan 2002 19:44:01 +0300	[thread overview]
Message-ID: <20020131194401.A818@namesys.com> (raw)
In-Reply-To: <20020130173715.B2179@namesys.com> <20020130163951.13daca94.sebastian.droege@gmx.de> <20020130190905.A820@namesys.com> <20020130174011.L24012@suse.de> <20020130201054.6e150f78.sebastian.droege@gmx.de> <20020130201757.Q24012@suse.de> <20020131122424.A874@namesys.com> <20020131134931.A5948@suse.de> <20020131155325.A3629@namesys.com> <20020131141101.B5948@suse.de>
In-Reply-To: <20020131141101.B5948@suse.de>

[-- Attachment #1: Type: text/plain, Size: 529 bytes --]

Hello!

On Thu, Jan 31, 2002 at 02:11:01PM +0100, Dave Jones wrote:

   Ok, I think we got it. And yes it it was reiserfs fault.
   What I really cannot understand is how it was working before???

   Ok, so anybody who sees the oopses should try 2 patches attached.
   prealloc_init_list_head.diff is just forgotten initialisation
   and pick_correct_key_version.diff is the real fix.

   I wonder is anybody will be able to reproduce a bug with these 2 fixes
   (I hope not).

   Chris: Can you also take a look?

Bye,
    Oleg

[-- Attachment #2: prealloc_list_init.diff --]
[-- Type: text/plain, Size: 748 bytes --]

--- linux-2.5.3/fs/reiserfs/inode.c.orig	Thu Jan 31 19:28:57 2002
+++ linux-2.5.3/fs/reiserfs/inode.c	Thu Jan 31 19:31:01 2002
@@ -888,6 +888,8 @@
     copy_key (INODE_PKEY (inode), &(ih->ih_key));
     inode->i_blksize = PAGE_SIZE;
 
+    INIT_LIST_HEAD(&(REISERFS_I(inode)->i_prealloc_list ));
+
     if (stat_data_v1 (ih)) {
 	struct stat_data_v1 * sd = (struct stat_data_v1 *)B_I_PITEM (bh, ih);
 	unsigned long blocks;
@@ -1532,6 +1534,7 @@
     REISERFS_I(inode)->i_first_direct_byte = S_ISLNK(mode) ? 1 : 
       U32_MAX/*NO_BYTES_IN_DIRECT_ITEM*/;
 
+    INIT_LIST_HEAD(&(REISERFS_I(inode)->i_prealloc_list ));
     REISERFS_I(inode)->i_flags = 0;
     REISERFS_I(inode)->i_prealloc_block = 0;
     REISERFS_I(inode)->i_prealloc_count = 0;

[-- Attachment #3: pick_correct_key_version.diff --]
[-- Type: text/plain, Size: 1088 bytes --]

--- linux-2.5.3/fs/reiserfs/stree.c.orig	Thu Jan 31 19:24:47 2002
+++ linux-2.5.3/fs/reiserfs/stree.c	Thu Jan 31 19:26:54 2002
@@ -126,19 +126,19 @@
   retval = comp_short_keys (le_key, cpu_key);
   if (retval)
       return retval;
-  if (le_key_k_offset (cpu_key->version, le_key) < cpu_key_k_offset (cpu_key))
+  if (le_key_k_offset (le_key_version(le_key), le_key) < cpu_key_k_offset (cpu_key))
       return -1;
-  if (le_key_k_offset (cpu_key->version, le_key) > cpu_key_k_offset (cpu_key))
+  if (le_key_k_offset (le_key_version(le_key), le_key) > cpu_key_k_offset (cpu_key))
       return 1;
 
   if (cpu_key->key_length == 3)
       return 0;
 
   /* this part is needed only when tail conversion is in progress */
-  if (le_key_k_type (cpu_key->version, le_key) < cpu_key_k_type (cpu_key))
+  if (le_key_k_type (le_key_version(le_key), le_key) < cpu_key_k_type (cpu_key))
     return -1;
 
-  if (le_key_k_type (cpu_key->version, le_key) > cpu_key_k_type (cpu_key))
+  if (le_key_k_type (le_key_version(le_key), le_key) > cpu_key_k_type (cpu_key))
     return 1;
 
   return 0;

  reply	other threads:[~2002-01-31 16:44 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-30 14:14 Current Reiserfs Update / 2.5.2-dj7 Oops Sebastian Dröge
2002-01-30 14:37 ` Oleg Drokin
2002-01-30 15:39   ` Sebastian Dröge
2002-01-30 16:09     ` Oleg Drokin
2002-01-30 16:40       ` Dave Jones
2002-01-30 16:44         ` Oleg Drokin
2002-01-30 16:55           ` Dave Jones
2002-01-30 17:07             ` Oleg Drokin
2002-01-30 19:10         ` Sebastian Dröge
2002-01-30 19:17           ` Dave Jones
2002-01-31  6:09             ` Oleg Drokin
2002-01-31  9:24             ` Oleg Drokin
2002-01-31 12:49               ` Dave Jones
2002-01-31 12:53                 ` Oleg Drokin
2002-01-31 13:11                   ` Dave Jones
2002-01-31 16:44                     ` Oleg Drokin [this message]
2002-01-31 17:23                       ` Sebastian Dröge
2002-01-31 17:45                       ` Chris Mason
  -- strict thread matches above, loose matches on Subject: below --
2002-01-31 10:10 Martin Bahlinger
2002-01-31 13:03 ` Oleg Drokin
2002-01-31 17:20   ` Martin Bahlinger
2002-01-31 17:44 Martin Bahlinger
2002-01-31 20:44 ` Martin Bahlinger
2002-02-01  5:55   ` Oleg Drokin
2002-02-01 22:17     ` Martin Bahlinger
2002-02-02  8:30       ` Oleg Drokin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020131194401.A818@namesys.com \
    --to=green@namesys.com \
    --cc=akpm@zip.com.au \
    --cc=davej@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mason@suse.com \
    --cc=sebastian.droege@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox