From: "Vladimir V. Saveliev" <vs@namesys.com>
To: Guillaume Pelat <guillaume.pelat@winch-hebergement.net>
Cc: linux-kernel@vger.kernel.org, gp@winch-hebergement.net
Subject: Re: Reiserfs 3.6 + quota enabled, crash on delete
Date: Wed, 27 Jul 2005 18:11:47 +0400 [thread overview]
Message-ID: <42E79623.1000309@namesys.com> (raw)
In-Reply-To: <42E7828E.9080903@winch-hebergement.net>
[-- Attachment #1: Type: text/plain, Size: 3166 bytes --]
Hello
Guillaume Pelat wrote:
> Hi,
>
> I'm having a crash with reiserfs 3.6 + user quota enabled, on 2.6.11.10
> kernel (no smp), apparently when deleting files (or maybe during a
> truncate operation). The problem seems to happen under high load.
> When the error occurs, all the processes accessing the reiserfs
> partition seems to hang. This problem happened several times on
> different servers (having the same hardware configuration) during last
> weeks.
>
> You can find the error logs below :
>
> ======================================================================
> ReiserFS: sda3: warning: vs-15011: reiserfs_release_objectid: tried to
> free free object id (96557091)
> ReiserFS: sda3: warning: PAP-5660: reiserfs_do_truncate: wrong result -1
> of search for [847141 185744 0xfffffffffffffff DIRECT]
> ReiserFS: sda3: warning: clm-2100: nesting info a different FS
The attached patch should help to get rid of clm-2100 and to avoid crash.
Also, I think you should reiserfsck sda3.
> ReiserFS: sda3: warning: clm-2100: nesting info a different FS
> ReiserFS: sda3: warning: clm-2100: nesting info a different FS
> ReiserFS: sda3: warning: clm-2100: nesting info a different FS
> REISERFS: panic (device sda3): journal-1577: handle trans id 1122409068
> != current trans id 3947596
> ------------[ cut here ]------------
> kernel BUG at fs/reiserfs/prints.c:362!
> invalid operand: 0000 [#1]
> CPU: 0
> EIP: 0060:[<c019785f>] Not tainted VLI
> EFLAGS: 00010282 (2.6.11.6)
> EIP is at reiserfs_panic+0x4f/0x80
> eax: 00000068 ebx: c02be9bf ecx: c038e8f8 edx: c02eecac
> esi: f7eea000 edi: f7eea140 ebp: f3391944 esp: f339192c
> ds: 007b es: 007b ss: 0068
> Process pure-ftpd (pid: 27841, threadinfo=f3390000 task=d3053530)
> Stack: c02c3ee0 f7eea140 c03b3580 f7eea000 00000000 f895d000 f3391984
> c01a6d01
> f7eea000 c02c6440 42e69a6c 003c3c4c 00000002 f3391970 cdc49b40
> 00000002
> cdc49b40 f3391984 00000000 052f8dee 00000000 f2bbfe60 f3391a08
> c019ebba
> Call Trace:
> [<c010282f>] show_stack+0x7f/0xa0
> [<c01029d1>] show_registers+0x151/0x1c0
> [<c0102bc8>] die+0xc8/0x150
> [<c010307c>] do_invalid_op+0xbc/0xd0
> [<c01024bb>] error_code+0x2b/0x30
> [<c01a6d01>] journal_mark_dirty+0x271/0x2a0
> [<c019ebba>] prepare_for_delete_or_cut+0x54a/0x720
> [<c019fdaa>] reiserfs_cut_from_item+0xca/0x5f0
> [<c01a0668>] reiserfs_do_truncate+0x2e8/0x610
> [<c019f7ef>] reiserfs_delete_object+0x3f/0x80
> [<c018636c>] reiserfs_delete_inode+0x8c/0x110
> [<c015ed85>] generic_delete_inode+0x95/0x130
> [<c015efc6>] iput+0x56/0x80
> [<c018995a>] reiserfs_new_inode+0x13a/0x740
> [<c01847b7>] reiserfs_create+0x97/0x1b0
> [<c0153e0f>] vfs_create+0x9f/0x120
> [<c01546f9>] open_namei+0x5d9/0x630
> [<c0144bbc>] filp_open+0x3c/0x60
> [<c0144ed6>] sys_open+0x46/0x90
> [<c0102313>] syscall_call+0x7/0xb
> Code: 01 00 00 89 04 24 e8 31 fd ff ff c7 04 24 e0 3e 2c c0 85 f6 89 d8
> 0f 45 c7 ba 80 35 3b c0 89 54 24 08 89 44 24 04 e8 c1 a9 f7ff <0f> 0b 6a
> 01 02 ef 2b c0 c7 04 24 20 3f 2c c0 85 f6 b9 80 35 3b
> ======================================================================
>
[-- Attachment #2: reiserfs-add-missing-journal_end.patch --]
[-- Type: text/plain, Size: 1181 bytes --]
This patch adds missing calls to journal_end on error handling code paths.
fs/reiserfs/inode.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletion(-)
diff -puN fs/reiserfs/inode.c~reiserfs-add-missing-journal_end fs/reiserfs/inode.c
--- linux-2.6.11.10/fs/reiserfs/inode.c~reiserfs-add-missing-journal_end 2005-07-27 18:03:06.197544430 +0400
+++ linux-2.6.11.10-vs/fs/reiserfs/inode.c 2005-07-27 18:04:07.363047159 +0400
@@ -46,6 +46,7 @@ void reiserfs_delete_inode (struct inode
reiserfs_update_inode_transaction(inode) ;
if (reiserfs_delete_object (&th, inode)) {
+ journal_end(&th, inode->i_sb, jbegin_count);
up (&inode->i_sem);
goto out;
}
@@ -2015,8 +2016,10 @@ int reiserfs_truncate_file(struct inode
either appears truncated properly or not truncated at all */
add_save_link (&th, p_s_inode, 1);
error = reiserfs_do_truncate (&th, p_s_inode, page, update_timestamps) ;
- if (error)
+ if (error) {
+ journal_end (&th, p_s_inode->i_sb, JOURNAL_PER_BALANCE_CNT * 2 + 1);
goto out;
+ }
error = journal_end (&th, p_s_inode->i_sb, JOURNAL_PER_BALANCE_CNT * 2 + 1);
if (error)
goto out;
_
prev parent reply other threads:[~2005-07-27 14:11 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-27 12:48 Reiserfs 3.6 + quota enabled, crash on delete Guillaume Pelat
2005-07-27 14:11 ` Vladimir V. Saveliev [this message]
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=42E79623.1000309@namesys.com \
--to=vs@namesys.com \
--cc=gp@winch-hebergement.net \
--cc=guillaume.pelat@winch-hebergement.net \
--cc=linux-kernel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.