[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