[Unionfs] Kernel panic

Fernando A. P. Gomes fapg-unionfs at eurotux.com
Fri Nov 2 16:04:50 EDT 2007


Hi,

I've patched the unionfs 2.1.7 with the patches that you send me and the panic 
is this:

[   65.701940] unionfs: lower dentry NULL (or error) for bindex = 3
[   65.714397] unionfs: lower dentry NULL (or error) for bindex = 2
[   65.726834] unionfs: lower dentry NULL (or error) for bindex = 1
[   75.175350] ------------[ cut here ]------------
[   75.191526] kernel BUG at fs/unionfs/mmap.c:192!
[   75.208027] invalid opcode: 0000 [#1]
[   75.222740] SMP
[   75.233918] CPU:    0
[   75.233919] EIP:    0060:[<c0200480>]    Not tainted VLI
[   75.233921] EFLAGS: 00010246   (2.6.23.1etfw #5)
[   75.281525] EIP is at unionfs_do_readpage+0x31/0x16f
[   75.299545] eax: d8e88d80   ebx: 00000000   ecx: dab98f00   edx: 00000000
[   75.321207] esi: c132a800   edi: 00000000   ebp: c132a800   esp: d96bed94
[   75.342560] ds: 007b   es: 007b   fs: 00d8  gs: 0000  ss: 0068
[   75.362265] Process qmail-send (pid: 2218, ti=d96be000 task=d9b03a90 
task.ti=d96be000)
[   75.378257] Stack: 00000000 fffffffe 00000000 c132a800 d8b23e0c dab98f00 
c0200617 000000f0
[   75.403821]        00000000 c132a800 00000000 c132a800 d8b23e0c dab98f00 
c01417cc 00000037
[   75.429608]        00000246 5b3e373c 00000000 00000000 ffffffff 00000001 
00000000 00000000
[   75.455447] Call Trace:
[   75.477889]  [<c0200617>] unionfs_readpage+0x59/0x1c7
[   75.497020]  [<c01417cc>] do_generic_mapping_read+0x261/0x406
[   75.517559]  [<c0141c30>] generic_file_aio_read+0x162/0x18d
[   75.537747]  [<c0141971>] file_read_actor+0x0/0xf1
[   75.556428]  [<c01f3d3e>] unionfs_aio_read+0x6d/0x126
[   75.575752]  [<c015d6ee>] do_sync_read+0xbf/0xfc
[   75.594278]  [<c012bc09>] autoremove_wake_function+0x0/0x33
[   75.614881]  [<c0201fbb>] __unionfs_check_file+0x399/0x3bf
[   75.635470]  [<c01f3c29>] unionfs_read+0x5d/0x105
[   75.654446]  [<c015d7dc>] vfs_read+0xb1/0x131
[   75.672627]  [<c015dacc>] sys_read+0x41/0x67
[   75.690476]  [<c01025ea>] syscall_call+0x7/0xb
[   75.708639]  =======================
[   75.725136] Code: 56 53 53 53 8b 40 70 c7 44 24 04 fe ff ff ff 85 c0 0f 84 
41 01 00 00 85 c9 75 04 0f 0b eb fe 8b 10 8b 40 10 8b 3c 90 85 ff 75 04 <0f> 
0
[   75.796793] EIP: [<c0200480>] unionfs_do_readpage+0x31/0x16f SS:ESP 
0068:d96bed94
[   75.823199] Kernel panic - not syncing: Fatal exception
[   75.844830] Rebooting in 15 seconds..

This panic appears after ppp connect.

Regards,
Fernando Gomes

On Thursday 01 November 2007, Erez Zadok wrote:
> In message <200710301608.36903.fapg-unionfs at eurotux.com>, "Fernando A. P. 
Gomes" writes:
> > Hi,
> >
> > Have you reproduced the bug with the image that I send you?
> >
> > Regards,
> > Fernando Gomes
>
> Fernando, I believe this patch will fix your bug.  It worked for me w/ your
> livecd.  Please try this on top of 2.1.7 and let me know.
>
> Cheers,
> Erez.
>
>
> diff --git a/fs/unionfs/debug.c b/fs/unionfs/debug.c
> index 894bf7c..0066ccd 100644
> --- a/fs/unionfs/debug.c
> +++ b/fs/unionfs/debug.c
> @@ -49,6 +49,9 @@ void __unionfs_check_inode(const struct inode *inode,
>  	sb = inode->i_sb;
>  	istart = ibstart(inode);
>  	iend = ibend(inode);
> +	/* don't check inode if no lower branches */
> +	if (istart < 0 && iend < 0)
> +		return;
>  	if (unlikely(istart > iend)) {
>  		PRINT_CALLER(fname, fxn, line);
>  		pr_debug(" Ci0: inode=%p istart/end=%d:%d\n",
> @@ -221,6 +224,9 @@ check_inode:
>  		return;
>  	istart = ibstart(inode);
>  	iend = ibend(inode);
> +	/* don't check inode if no lower branches */
> +	if (istart < 0 && iend < 0)
> +		return;
>  	BUG_ON(istart > iend);
>  	if (unlikely((istart == -1 && iend != -1) ||
>  		     (istart != -1 && iend == -1))) {
> _______________________________________________
> unionfs mailing list: http://unionfs.filesystems.org/
> unionfs at mail.fsl.cs.sunysb.edu
> http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs




More information about the unionfs mailing list