Re: [RFC] Patch to fix reiserfs bad path release panic on 2.6.19-rc1

From: Jan Kara
Date: Wed Oct 18 2006 - 04:06:11 EST


Hello,

> * fix reiserfs/inode.c : restart_transaction() to release the path in all cases.
>
> The restart_transaction() doesn't release the path when the the
> journal handle has a refcount > 1. This would trigger a
> reiserfs_panic() if we encounter an -ENOSPC / -EDQUOT in
> reiserfs_get_block().
Yes, your analysis seems to be correct. I've looked at places where
restart_transaction() is called and all expect path to be released.

> Signed-off-by: Suzuki K P <suzuki@xxxxxxxxxx>
You can add:
Signed-off-by: Jan Kara <jack@xxxxxxx>

BTW: The more appropriate audience for this patch is at
reiserfs-list@xxxxxxxxxxxx

Honza

> Index: linux-2.6.19-rc1/fs/reiserfs/inode.c
> ===================================================================
> --- linux-2.6.19-rc1.orig/fs/reiserfs/inode.c 2006-10-12 02:13:12.000000000 -0700
> +++ linux-2.6.19-rc1/fs/reiserfs/inode.c 2006-10-13 16:38:32.000000000 -0700
> @@ -216,11 +216,12 @@
> BUG_ON(!th->t_trans_id);
> BUG_ON(!th->t_refcount);
>
> + pathrelse(path);
> +
> /* we cannot restart while nested */
> if (th->t_refcount > 1) {
> return 0;
> }
> - pathrelse(path);
> reiserfs_update_sd(th, inode);
> err = journal_end(th, s, len);
> if (!err) {

--
Jan Kara <jack@xxxxxxx>
SuSE CR Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/