[Unionfs] kernel oops when defining more then one unionfs over tmpfs
David Peer
davidpeer at cs.huji.ac.il
Mon Jul 16 06:20:10 EDT 2007
Hi,
I run linux distribution, debian based, and when I define more then on
unionfs over tmpfs, like:
/etc as unionfs and RW dir is: /etc_rw over tmpfs, and the same for /var
the kernel oops and get stuck.
* If I define for example /var as unionfs and the RW dir is over the
local disk, the machine load fine.
Uninfs patch worked fine with kernel 2.6.21.3, the versions after that
gave the same problem on kernel 2.6.21/22 with
unionfs patch.
here is the trace(and some more info): kernel 2.6.22.1
Jul 16 11:04:28 kernel:
=======================================================
Jul 16 11:04:28 kernel: [ INFO: possible circular locking dependency
detected ]
Jul 16 11:04:28 kernel:
-------------------------------------------------------
Jul 16 11:04:28 kernel: (&info->lock#2){--..}, at: [<c0487cd7>]
mutex_lock+0x8/0xa
Jul 16 11:04:28 kernel: but task is already holding lock:
Jul 16 11:04:28 kernel:
Jul 16 11:04:28 kernel: which lock already depends on the new lock.
Jul 16 11:04:28 kernel:
Jul 16 11:04:28 kernel:
Jul 16 11:04:28 kernel: -> #1 (&UNIONFS_SB(sb)->rwsem){..--}:
Jul 16 11:04:28 kernel: [<c01326a9>] lock_acquire+0x56/0x6f
Jul 16 11:04:28 kernel: [<c0283bef>] unionfs_read_inode+0x24/0xe8
Jul 16 11:04:28 kernel: [<c028356f>] unionfs_read_super+0x779/0x8d2
Jul 16 11:04:28 kernel: [<c015c52e>] get_sb_nodev+0x3d/0x70
Jul 16 11:04:28 kernel: [<c02829f1>] unionfs_get_sb+0x1c/0x1e
Jul 16 11:04:28 kernel: [<c015c0c4>] vfs_kern_mount+0x41/0x70
Jul 16 11:04:28 kernel: [<c015c143>] do_kern_mount+0x38/0xcd
Jul 16 11:04:28 kernel: [<c016df32>] do_mount+0x63b/0x68b
Jul 16 11:04:28 kernel: [<c016dff1>] sys_mount+0x6f/0xa9
Jul 16 11:04:28 kernel: [<c010263e>] syscall_call+0x7/0xb
Jul 16 11:04:28 kernel: [<ffffffff>] 0xffffffff
Jul 16 11:04:28 kernel:
Jul 16 11:04:28 kernel: -> #0 (&info->lock#2){--..}:
Jul 16 11:04:28 kernel: [<c0132053>] __lock_acquire+0x8c8/0xb51
Jul 16 11:04:28 kernel: [<c01326a9>] lock_acquire+0x56/0x6f
Jul 16 11:04:28 kernel: [<c0487b67>]
__mutex_lock_slowpath+0xe5/0x24d
Jul 16 11:04:28 kernel: [<c0487cd7>] mutex_lock+0x8/0xa
Jul 16 11:04:28 kernel: [<c028774e>]
new_dentry_private_data+0x48/0xe2
Jul 16 11:04:28 kernel: [<c02879fa>]
unionfs_lookup_backend+0x77/0x83f
Jul 16 11:04:28 kernel: [<c028101a>] unionfs_lookup+0x37/0x103
Jul 16 11:04:28 kernel: [<c01609d5>] do_lookup+0xa0/0x13d
Jul 16 11:04:28 kernel: [<c0162448>] __link_path_walk+0x722/0xb33
Jul 16 11:04:28 kernel: [<c01628a4>] link_path_walk+0x4b/0xc0
Jul 16 11:04:28 kernel: [<c0162932>] path_walk+0x19/0x1b
Jul 16 11:04:28 kernel: [<c0162be6>] do_path_lookup+0x1a9/0x1c3
Jul 16 11:04:28 kernel: [<c01633ac>] __user_walk_fd+0x32/0x49
Jul 16 11:04:28 kernel: [<c01597eb>] sys_faccessat+0x9b/0x131
Jul 16 11:04:28 kernel: [<c01598a1>] sys_access+0x20/0x22
Jul 16 11:04:28 kernel: [<c010263e>] syscall_call+0x7/0xb
Jul 16 11:04:28 kernel:
Jul 16 11:04:28 kernel:
Jul 16 11:04:28 kernel: #0: (&inode->i_mutex){--..}, at: [<c0487cd7>]
mutex_lock+0x8/0xa
Jul 16 11:04:28 kernel: #1: (&UNIONFS_SB(sb)->rwsem){..--}, at:
[<c0281002>] unionfs_lookup+0x1f/0x103
Jul 16 11:04:28 kernel: stack backtrace:
Jul 16 11:04:28 kernel: [<c010412a>] show_trace+0x12/0x14
Jul 16 11:04:28 kernel: [<c01308d5>] print_circular_bug_tail+0x5f/0x68
Jul 16 11:04:28 kernel: [<c0487b67>] __mutex_lock_slowpath+0xe5/0x24d
Jul 16 11:04:28 kernel: [<c028774e>] new_dentry_private_data+0x48/0xe2
Jul 16 11:04:28 kernel: [<c02879fa>] unionfs_lookup_backend+0x77/0x83f
Jul 16 11:04:28 kernel: [<c01609d5>] do_lookup+0xa0/0x13d
Jul 16 11:04:28 kernel: [<c01628a4>] link_path_walk+0x4b/0xc0
Jul 16 11:04:28 kernel: [<c0162be6>] do_path_lookup+0x1a9/0x1c3
Jul 16 11:04:28 kernel: [<c01598a1>] sys_access+0x20/0x22
Jul 16 11:04:28 kernel: [<c010263e>] syscall_call+0x7/0xb
Jul 16 11:04:28 kernel: fuse init (API version 7.8)
Jul 16 11:04:28 kernel: unionfs: new lower inode mtime (bindex=0, name=log)
Jul 16 11:04:29 kernel: unionfs: new lower inode mtime (bindex=0, name=log)
Jul 16 11:04:29 kernel: BUG: unable to handle kernel paging request at
virtual address fffffffc
Jul 16 11:04:29 kernel: printing eip:
Jul 16 11:04:29 kernel: c02891b8
Jul 16 11:04:29 kernel: *pde = 00003067
Jul 16 11:04:29 kernel: *pte = 00000000
Jul 16 11:04:29 kernel: Oops: 0000 [#1]
Jul 16 11:04:29 kernel: SMP
Jul 16 11:04:29 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 parport_pc parport snd_pcm snd_timer snd rtc
pcspkr soundcore snd_page_alloc ide_cd tsdev
Jul 16 11:04:29 kernel: CPU: 0
Jul 16 11:04:29 kernel: EIP: 0060:[<c02891b8>] Not tainted VLI
Jul 16 11:04:29 kernel: EFLAGS: 00010246 (2.6.22.1mos-1 #1)
Jul 16 11:04:29 kernel: EIP is at unionfs_flush+0x1a5/0x22e
Jul 16 11:04:29 kernel: eax: 00000000 ebx: fffffffc ecx: d62f8a64
edx: d62f8aac
Jul 16 11:04:29 kernel: esi: d5c6983c edi: ffffffff ebp: d6bc1f80
esp: d6bc1f50
Jul 16 11:04:29 kernel: ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068
Jul 16 11:04:29 kernel: Process acpid (pid: 3288, ti=d6bc0000
task=c1770030 task.ti=d6bc0000)
Jul 16 11:04:29 kernel: Stack: c1778260 d70268c0 00000000 00000000
d6469c98 d62f8a64 fffffffc 00000004
Jul 16 11:04:29 kernel: 00000004 d70268c0 c1778260 c17782e0
d6bc1f98 c0158fad c17782e0 00000006
Jul 16 11:04:29 kernel: c1778260 c17782e0 d6bc1fb0 c0159fd6
d70268c0 00000006 b7fd0ce0 00000000
Jul 16 11:04:29 kernel: Call Trace:
Jul 16 11:04:29 kernel: [<c010360a>] show_trace_log_lvl+0x1a/0x2f
Jul 16 11:04:29 kernel: [<c01036ba>] show_stack_log_lvl+0x9b/0xa3
Jul 16 11:04:29 kernel: [<c010387a>] show_registers+0x1b8/0x28a
Jul 16 11:04:29 kernel: [<c0103a5d>] die+0x111/0x1d4
Jul 16 11:04:29 kernel: [<c0111087>] do_page_fault+0x438/0x505
Jul 16 11:04:29 kernel: [<c04893a2>] error_code+0x72/0x78
Jul 16 11:04:29 kernel: [<c0158fad>] filp_close+0x35/0x5c
Jul 16 11:04:29 kernel: [<c0159fd6>] sys_close+0x78/0xb0
Jul 16 11:04:29 kernel: [<c010263e>] syscall_call+0x7/0xb
Jul 16 11:04:29 kernel: =======================
Jul 16 11:04:29 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 16 11:04:29 kernel: EIP: [<c02891b8>] unionfs_flush+0x1a5/0x22e
SS:ESP 0068:d6bc1f50
Jul 16 11:04:29 kernel: unionfs: new lower inode mtime (bindex=0,
name=news)
Jul 16 11:04:30 kernel: unionfs: new lower inode mtime (bindex=0, name=log)
Jul 16 11:04:30 kernel: BUG: unable to handle kernel paging request at
virtual address fffffffc
Jul 16 11:04:30 kernel: printing eip:
Jul 16 11:04:30 kernel: c02891b8
Jul 16 11:04:30 kernel: *pde = 00003067
Jul 16 11:04:30 kernel: *pte = 00000000
Jul 16 11:04:30 kernel: Oops: 0000 [#2]
Jul 16 11:04:30 kernel: SMP
Jul 16 11:04:30 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 parport_pc parport snd_pcm snd_timer snd rtc
pcspkr soundcore snd_page_alloc ide_cd tsdev
Jul 16 11:04:30 kernel: CPU: 0
Jul 16 11:04:30 kernel: EIP: 0060:[<c02891b8>] Not tainted VLI
Jul 16 11:04:30 kernel: EFLAGS: 00010246 (2.6.22.1mos-1 #1)
Jul 16 11:04:30 kernel: EIP is at unionfs_flush+0x1a5/0x22e
Jul 16 11:04:30 kernel: eax: 00000000 ebx: fffffffc ecx: d62f8a64
edx: d62f8aac
Jul 16 11:04:30 kernel: esi: d682cbcc edi: ffffffff ebp: d6f59f18
esp: d6f59ee8
Jul 16 11:04:30 kernel: ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068
Jul 16 11:04:30 kernel: Process dirmngr (pid: 3332, ti=d6f58000
task=d7c5eac0 task.ti=d6f58000)
Jul 16 11:04:30 kernel: Stack: c1578360 d702b2e0 00000000 00000000
d6f387f0 d62f8a64 fffffffc 00000004
Jul 16 11:04:30 kernel: 00000004 d702b2e0 c1578360 00000001
d6f59f30 c0158fad 00000002 c1578360
Jul 16 11:04:30 kernel: 00000014 00000001 d6f59f4c c011a0ce
c1578368 00000000 d7c5ef64 c1578360
Jul 16 11:04:30 kernel: Call Trace:
Jul 16 11:04:30 kernel: [<c010360a>] show_trace_log_lvl+0x1a/0x2f
Jul 16 11:04:30 kernel: [<c01036ba>] show_stack_log_lvl+0x9b/0xa3
Jul 16 11:04:30 kernel: [<c010387a>] show_registers+0x1b8/0x28a
Jul 16 11:04:30 kernel: [<c0103a5d>] die+0x111/0x1d4
Jul 16 11:04:30 kernel: [<c0111087>] do_page_fault+0x438/0x505
Jul 16 11:04:30 kernel: [<c04893a2>] error_code+0x72/0x78
Jul 16 11:04:30 kernel: [<c0158fad>] filp_close+0x35/0x5c
Jul 16 11:04:30 kernel: [<c011a0ce>] put_files_struct+0x63/0xa0
Jul 16 11:04:30 kernel: [<c011b1da>] do_exit+0x225/0x6f1
Jul 16 11:04:30 kernel: [<c011b716>] sys_exit_group+0x0/0x11
Jul 16 11:04:30 kernel: [<c011b725>] sys_exit_group+0xf/0x11
Jul 16 11:04:30 kernel: [<c010263e>] syscall_call+0x7/0xb
Jul 16 11:04:30 kernel: =======================
Jul 16 11:04:30 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 16 11:04:30 kernel: EIP: [<c02891b8>] unionfs_flush+0x1a5/0x22e
SS:ESP 0068:d6f59ee8
Jul 16 11:04:30 kernel: Fixing recursive fault but reboot is needed!
Thanks,
David
More information about the unionfs
mailing list