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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  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 <[email protected]>
You can add:
  Signed-off-by: Jan Kara <[email protected]>

BTW: The more appropriate audience for this patch is at
[email protected].

								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 <[email protected]>
SuSE CR Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux