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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox