linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Valerie Clement <valerie.clement@bull.net>
To: Alex Tomas <alex@clusterfs.com>
Cc: ext4 development <linux-ext4@vger.kernel.org>
Subject: Re: [RFC] ext4-locality-groups patch
Date: Tue, 12 Dec 2006 17:48:49 +0100	[thread overview]
Message-ID: <457EDD71.2030909@bull.net> (raw)
In-Reply-To: <m3vekwtqnp.fsf@bzzz.home.net>

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

Alex Tomas wrote:
> this patch implements locality groups idea in a very
> simplified form. the policy is silly and ->sync_inodes()
> not very well tested on different workloads. 
> 
> thanks, Alex

Hi Alex,
I applied your patches to a 2.6.19-rc6 kernel. After creating and 
mounting an ext4 filesystem with options extents,mballoc,delalloc,
the system crashes while copying a file into the ext4 partition.
I set some kernel debugging options and rebuilt the kernel. Here is the 
oops I've got:

EXT4 FS on sdc1, internal journal
EXT4-fs: mounted filesystem with ordered data mode.
EXT4-fs: file extents enabled
EXT4-fs: mballoc enabled
EXT4-fs: delayed allocation enabled
BUG: spinlock bad magic on CPU#2, pdflush/264
Unable to handle kernel NULL pointer dereference at 00000000000001ac RIP:
  [<ffffffff80360011>] spin_bug+0x67/0xa5
PGD 27d97067 PUD 28370067 PMD 0
Oops: 0000 [1] SMP
CPU 2
Modules linked in: qla2xxx
Pid: 264, comm: pdflush Not tainted 2.6.19-rc6 #3
RIP: 0010:[<ffffffff80360011>]  [<ffffffff80360011>] spin_bug+0x67/0xa5
RSP: 0018:ffff81007d6a7db0  EFLAGS: 00010206
RAX: 0000000000000031 RBX: ffff810076630020 RCX: ffffffff806f48d8
RDX: ffffffff806f48d8 RSI: 0000000000000046 RDI: ffffffff806f48c0
RBP: 00000000000000a0 R08: 00000000ffffffff R09: 0000000000008000
R10: ffffffff808bfc78 R11: ffffffff808bfc78 R12: ffffffff805bfdc9
R13: ffff81002dbd0000 R14: ffff810076630000 R15: ffff81007d6a7e60
FS:  0000000000000000(0000) GS:ffff81007df14740(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 00000000000001ac CR3: 00000000282cd000 CR4: 00000000000006e0
Process pdflush (pid: 264, threadinfo ffff81007d6a6000, task 
ffff81007db3b140)
Stack:  ffff810076630020 ffff81002daa4160 ffff810076630000 ffffffff803600ef
  ffff810076630020 ffffffff802f2bf4 ffff81007d6a7e60 ffff81002dbd0000
  ffff81002dbd0070 ffff81007d6a7e60 00000000fffffffc ffff81007df19d70
Call Trace:
  [<ffffffff803600ef>] _raw_spin_lock+0x19/0x7d
  [<ffffffff802f2bf4>] ext4_lg_sync_inodes+0xec/0x196
  [<ffffffff80245207>] keventd_create_kthread+0x0/0x64
  [<000000010004a823>]


Code: 44 8b 85 0c 01 00 00 8b 53 04 48 85 ed 48 8d 85 98 02 00 00
RIP  [<ffffffff80360011>] spin_bug+0x67/0xa5
  RSP <ffff81007d6a7db0>
CR2: 00000000000001ac


The crash occurs because ei->i_locality_group is not well initialized.
The patch in attachment fixes the problem on my system (x86_64).

   Valérie



[-- Attachment #2: ext4_fix_oops_in_lg_sync_inodes.patch --]
[-- Type: text/plain, Size: 547 bytes --]

Index: linux-2.6.19-rc6/fs/ext4/lg.c
===================================================================
--- linux-2.6.19-rc6.orig/fs/ext4/lg.c	2006-12-12 17:23:46.000000000 +0100
+++ linux-2.6.19-rc6/fs/ext4/lg.c	2006-12-12 17:24:53.000000000 +0100
@@ -66,7 +66,7 @@ extern int __writeback_single_inode(stru
 struct ext4_locality_group *ext4_lg_find_group(struct super_block *sb)
 {
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
-	struct ext4_locality_group *lg;
+	struct ext4_locality_group *lg = NULL;
 	struct list_head *cur;
 
 	rcu_read_lock();

  reply	other threads:[~2006-12-12 16:50 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-30 23:56 [RFC] ext4-locality-groups patch Alex Tomas
2006-12-12 16:48 ` Valerie Clement [this message]
2006-12-12 16:58   ` Alex Tomas
2006-12-13 14:08 ` Valerie Clement
2006-12-13 14:21   ` Alex Tomas
2006-12-13 14:37     ` Valerie Clement
2006-12-13 14:51       ` Alex Tomas
2006-12-13 14:54       ` Alex Tomas
2006-12-13 15:02         ` Valerie Clement
2006-12-13 21:32           ` Andreas Dilger
2006-12-13 14:40     ` Eric Sandeen
2006-12-13 21:33       ` Andreas Dilger
2006-12-13 22:26         ` Eric Sandeen

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=457EDD71.2030909@bull.net \
    --to=valerie.clement@bull.net \
    --cc=alex@clusterfs.com \
    --cc=linux-ext4@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).