[Unionfs] kernel oops when defining more then one unionfs over
tmpfs
David Peer
davidpeer at cs.huji.ac.il
Sun Jul 29 03:40:18 EDT 2007
Erez Zadok wrote:
> The following new releases of Unionfs 2.0 are now available on
>
> <http://unionfs.filesystems.org/>
>
> linux-2.6.23-rc1-u1 (new port)
> linux-2.6.22.1-u3
> linux-2.6.21.6-u3
> linux-2.6.20.14-u5
> linux-2.6.19.7-u5
> linux-2.6.18.8-u5
> linux-2.6.9-u3
>
> Changes from last set of releases:
>
> 1. mmap bug fixes to unionfs_writepage/readpage/sync_page. These are
> crucial fixes when using unionfs in memory-constrained environments and
> especially for those of who using TMPFS.
>
>
Hi,
I'm sorry, but the problem still persist on my side.
I recompiled the kernel with the new update(-u3), hoping the above fix
will help me.
Reminder:
My root fs is over nfs repository that many machines
use it.
This is why I use unionfs over /etc and /var for each machine.
I define tmpfs for the RW portion for /etc /etc_rw, and for /var /var_rw.
Here is the kernel trace: ( before the kernel bug, there is a potential
lock problem which might be related...)
Jul 29 10:04:31 kernel: ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
Jul 29 10:04:31 kernel:
Jul 29 10:04:31 kernel:
=======================================================
Jul 29 10:04:31 kernel: 2.6.22.1 #1
Jul 29 10:04:31 kernel: sh/2004 is trying to acquire lock:
Jul 29 10:04:31 kernel:
Jul 29 10:04:31 kernel: (&UNIONFS_SB(sb)->rwsem){..--}, at:
[<c028134e>] unionfs_lookup+0x1f/0x103
Jul 29 10:04:31 kernel: which lock already depends on the new lock.
Jul 29 10:04:31 kernel:
Jul 29 10:04:31 kernel:
Jul 29 10:04:31 kernel: [<c013216a>] __lock_acquire+0x9df/0xb51
Jul 29 10:04:31 kernel: [<c012bd8b>] down_read+0x2b/0x3d
Jul 29 10:04:31 kernel: [<c0282e32>] unionfs_interpose+0xf3/0x364
Jul 29 10:04:31 kernel: [<c015c52e>] get_sb_nodev+0x3d/0x70
Jul 29 10:04:31 kernel: [<c015c0c4>] vfs_kern_mount+0x41/0x70
Jul 29 10:04:31 kernel: [<c016df32>] do_mount+0x63b/0x68b
Jul 29 10:04:31 kernel: [<c010263e>] syscall_call+0x7/0xb
Jul 29 10:04:31 kernel:
Jul 29 10:04:31 kernel: [<c0132053>] __lock_acquire+0x8c8/0xb51
Jul 29 10:04:31 kernel: [<c0486fff>]
__mutex_lock_slowpath+0xe5/0x24d
Jul 29 10:04:31 kernel: [<c0287af2>]
new_dentry_private_data+0x48/0xe2
Jul 29 10:04:31 kernel: [<c0287d9e>]
unionfs_lookup_backend+0x77/0x83f
Jul 29 10:04:31 kernel: [<c0281366>] unionfs_lookup+0x37/0x103
Jul 29 10:04:31 kernel: [<c01609d5>] do_lookup+0xa0/0x13d
Jul 29 10:04:31 kernel: [<c0162448>] __link_path_walk+0x722/0xb33
Jul 29 10:04:31 kernel: [<c01628a4>] link_path_walk+0x4b/0xc0
Jul 29 10:04:31 kernel: [<c0162932>] path_walk+0x19/0x1b
Jul 29 10:04:31 kernel: [<c01633ac>] __user_walk_fd+0x32/0x49
Jul 29 10:04:31 kernel: [<c01598a1>] sys_access+0x20/0x22
Jul 29 10:04:31 kernel: [<ffffffff>] 0xffffffff
Jul 29 10:04:31 kernel: other info that might help us debug this:
Jul 29 10:04:31 kernel: 2 locks held by sh/2004:
Jul 29 10:04:31 kernel: #1: (&UNIONFS_SB(sb)->rwsem){..--}, at:
[<c028134e>] unionfs_lookup+0x1f/0x103
Jul 29 10:04:31 kernel:
Jul 29 10:04:31 kernel: [<c010360a>] show_trace_log_lvl+0x1a/0x2f
Jul 29 10:04:31 kernel: [<c0104183>] dump_stack+0x16/0x18
Jul 29 10:04:31 kernel: [<c0132053>] __lock_acquire+0x8c8/0xb51
Jul 29 10:04:31 kernel: [<c0486fff>] __mutex_lock_slowpath+0xe5/0x24d
Jul 29 10:04:31 kernel: [<c0287af2>] new_dentry_private_data+0x48/0xe2
Jul 29 10:04:31 kernel: [<c0281366>] unionfs_lookup+0x37/0x103
Jul 29 10:04:31 kernel: [<c0162448>] __link_path_walk+0x722/0xb33
Jul 29 10:04:31 kernel: [<c0162932>] path_walk+0x19/0x1b
Jul 29 10:04:31 kernel: [<c01633ac>] __user_walk_fd+0x32/0x49
Jul 29 10:04:31 kernel: [<c01598a1>] sys_access+0x20/0x22
Jul 29 10:04:31 kernel: =======================
Jul 29 10:04:31 kernel: unionfs: new lower inode mtime (bindex=0, name=/)
Jul 29 10:04:31 kernel: devpts: called with bogus options
Jul 29 10:04:31 kernel: fuse init (API version 7.8)
Jul 29 10:04:31 kernel: unionfs: new lower inode mtime (bindex=0,
name=log)
Jul 29 10:04:33 last message repeated 2 times
Jul 29 10:04:33 kernel: BUG: unable to handle kernel paging request at
virtual address fffffffc
Jul 29 10:04:33 kernel: printing eip:
Jul 29 10:04:33 kernel: c0289684
Jul 29 10:04:33 kernel: *pde = 00003067
Jul 29 10:04:33 kernel: *pte = 00000000
Jul 29 10:04:33 kernel: Oops: 0000 [#1]
Jul 29 10:04:33 kernel: SMP
Jul 29 10:04:33 kernel: Modules linked in: thermal fan button processor
ac battery fuse dm_mod sg snd_intel8x0 snd_ac97_codec ac97_bus
snd_pcm_oss snd_mixer_oss snd_pcm snd_timer parport_pc parport rtc snd
pcspkr soundcore snd_page_alloc ide_cd tsdev
Jul 29 10:04:33 kernel: CPU: 0
Jul 29 10:04:33 kernel: EIP: 0060:[<c0289684>] Not tainted VLI
Jul 29 10:04:33 kernel: EFLAGS: 00010246 (2.6.22.1mos-2 #1)
Jul 29 10:04:33 kernel: EIP is at unionfs_flush+0x1a5/0x22e
Jul 29 10:04:33 kernel: eax: 00000000 ebx: fffffffc ecx: d6647a64
edx: d6647aac
Jul 29 10:04:33 kernel: esi: d66cf70c edi: ffffffff ebp: d575bf80
esp: d575bf50
Jul 29 10:04:33 kernel: ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068
Jul 29 10:04:33 kernel: Process acpid (pid: 3280, ti=d575a000
task=d7c16ac0 task.ti=d575a000)
Jul 29 10:04:33 kernel: Stack: c15ac560 d7c2ece0 00000000 00000000
d74dc7d0 d6647a64 fffffffc 00000004
Jul 29 10:04:33 kernel: 00000004 d7c2ece0 c15ac560 c15ac5e0
d575bf98 c0158fad c15ac5e0 00000006
Jul 29 10:04:33 kernel: c15ac560 c15ac5e0 d575bfb0 c0159fd6
d7c2ece0 00000006 b7fddce0 00000000
Jul 29 10:04:33 kernel: Call Trace:
Jul 29 10:04:33 kernel: [<c010360a>] show_trace_log_lvl+0x1a/0x2f
Jul 29 10:04:33 kernel: [<c01036ba>] show_stack_log_lvl+0x9b/0xa3
Jul 29 10:04:33 kernel: [<c010387a>] show_registers+0x1b8/0x28a
Jul 29 10:04:33 kernel: [<c0103a5d>] die+0x111/0x1d4
Jul 29 10:04:33 kernel: [<c0111087>] do_page_fault+0x438/0x505
Jul 29 10:04:33 kernel: [<c048883a>] error_code+0x72/0x78
Jul 29 10:04:33 kernel: [<c0158fad>] filp_close+0x35/0x5c
Jul 29 10:04:33 kernel: [<c0159fd6>] sys_close+0x78/0xb0
Jul 29 10:04:33 kernel: [<c010263e>] syscall_call+0x7/0xb
Jul 29 10:04:33 kernel: =======================
Jul 29 10:04:33 kernel: Code: 46 30 8b 50 24 85 d2 0f 84 83 00 00 00 8d
5a b8 89 5d e4 8b 7a b8 8d 04 bd 00 00 00 00 89 45 e8 eb 66 8b 4d e4 8b
5d e8 8b 41 40 <8b> 0c 18 85 c9 74 51 8b 59 50 39 5a 50 7c 0a 7f 11 8b
41 54 39
Jul 29 10:04:33 kernel: EIP: [<c0289684>] unionfs_flush+0x1a5/0x22e
SS:ESP 0068:d575bf50
Jul 29 10:04:33 kernel: unionfs: new lower inode mtime (bindex=0,
name=log)
Jul 29 10:04:33 kernel: BUG: unable to handle kernel paging request at
virtual address fffffffc
Jul 29 10:04:33 kernel: printing eip:
Jul 29 10:04:33 kernel: c0289684
Jul 29 10:04:33 kernel: *pde = 00003067
Jul 29 10:04:33 kernel: *pte = 00000000
Jul 29 10:04:33 kernel: Oops: 0000 [#2]
Jul 29 10:04:33 kernel: SMP
Jul 29 10:04:33 kernel: Modules linked in: thermal fan button processor
ac battery fuse dm_mod sg snd_intel8x0 snd_ac97_codec ac97_bus
snd_pcm_oss snd_mixer_oss snd_pcm snd_timer parport_pc parport rtc snd
pcspkr soundcore snd_page_alloc ide_cd tsdev
Jul 29 10:04:33 kernel: CPU: 0
Jul 29 10:04:33 kernel: EIP: 0060:[<c0289684>] Not tainted VLI
Jul 29 10:04:33 kernel: EFLAGS: 00010246 (2.6.22.1mos-2 #1)
Jul 29 10:04:33 kernel: EIP is at unionfs_flush+0x1a5/0x22e
Jul 29 10:04:33 kernel: eax: 00000000 ebx: fffffffc ecx: d6647a64
edx: d6647aac
Jul 29 10:04:33 kernel: esi: d683cf5c edi: ffffffff ebp: d4c51f18
esp: d4c51ee8
Jul 29 10:04:33 kernel: ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068
Jul 29 10:04:33 kernel: Process dirmngr (pid: 3324, ti=d4c50000
task=c1741550 task.ti=d4c50000)
Jul 29 10:04:33 kernel: Stack: c1578660 d618c5c0 00000000 00000000
d7902328 d6647a64 fffffffc 00000004
Jul 29 10:04:33 kernel: 00000004 d618c5c0 c1578660 00000001
d4c51f30 c0158fad 00000002 c1578660
Jul 29 10:04:33 kernel: 00000014 00000001 d4c51f4c c011a0ce
c1578668 00000000 c17419f4 c1578660
Jul 29 10:04:33 kernel: Call Trace:
Jul 29 10:04:33 kernel: [<c010360a>] show_trace_log_lvl+0x1a/0x2f
Jul 29 10:04:33 kernel: [<c01036ba>] show_stack_log_lvl+0x9b/0xa3
Jul 29 10:04:33 kernel: [<c010387a>] show_registers+0x1b8/0x28a
Jul 29 10:04:33 kernel: [<c0103a5d>] die+0x111/0x1d4
Jul 29 10:04:33 kernel: [<c0111087>] do_page_fault+0x438/0x505
Jul 29 10:04:33 kernel: [<c048883a>] error_code+0x72/0x78
Jul 29 10:04:33 kernel: [<c0158fad>] filp_close+0x35/0x5c
Jul 29 10:04:33 kernel: [<c011a0ce>] put_files_struct+0x63/0xa0
Jul 29 10:04:33 kernel: [<c011b1da>] do_exit+0x225/0x6f1
Jul 29 10:04:33 kernel: [<c011b716>] sys_exit_group+0x0/0x11
Jul 29 10:04:33 kernel: [<c011b725>] sys_exit_group+0xf/0x11
Jul 29 10:04:33 kernel: [<c010263e>] syscall_call+0x7/0xb
Jul 29 10:04:33 kernel: =======================
Jul 29 10:04:33 kernel: Code: 46 30 8b 50 24 85 d2 0f 84 83 00 00 00 8d
5a b8 89 5d e4 8b 7a b8 8d 04 bd 00 00 00 00 89 45 e8 eb 66 8b 4d e4 8b
5d e8 8b 41 40 <8b> 0c 18 85 c9 74 51 8b 59 50 39 5a 50 7c 0a 7f 11 8b
41 54 39
Jul 29 10:04:33 kernel: EIP: [<c0289684>] unionfs_flush+0x1a5/0x22e
SS:ESP 0068:d4c51ee8
Jul 29 10:04:33 kernel: Fixing recursive fault but reboot is needed!
Thanks,
David
More information about the unionfs
mailing list