Got the following Oops: Mar 5 13:24:37 n22 unionfs_read_super: error while parsing options (err = -22) Mar 5 13:25:09 n22 unionfs_read_super: error while parsing options (err = -22) Mar 5 13:25:22 n22 Unable to handle kernel NULL pointer dereference at virtual address 00000014 Mar 5 13:25:22 n22 printing eip: Mar 5 13:25:22 n22 c0130a1a Mar 5 13:25:22 n22 *pde = 00000000 Mar 5 13:25:22 n22 Oops: 0002 [#1] Mar 5 13:25:22 n22 Modules linked in: unionfs radeon drm cpufreq_ondemand ipt_MASQUERADE ipt_multiport ipt_REJECT ip_conntrack_irc ip_conntrack_ftp ipt_state ipt_limit ipt_LOG iptable_nat ip_nat ip_conntrack iptable_filter ip_tables af_packet snd_pcm_oss snd_mixe r_oss snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device 8250_pnp psmouse 8250_pci 8250 serial_core usbhid snd_intel8x0 snd_ac97_ codec snd_ac97_bus snd_pcm snd_page_alloc ehci_hcd uhci_hcd intel_agp agpgart usbcore nls_iso8859_15 nls_cp437 vfat fat nls_base nvr am snd_rtctimer snd_timer snd soundcore rtc e1000 ibm_acpi speedstep_centrino freq_table video thermal processor fan button battery ac Mar 5 13:25:22 n22 CPU: 0 Mar 5 13:25:22 n22 EIP: 0060:[<c0130a1a>] Not tainted VLI Mar 5 13:25:22 n22 EFLAGS: 00010082 (2.6.15-gentoo-r1) Mar 5 13:25:22 n22 EIP is at free_block+0x48/0xca Mar 5 13:25:22 n22 eax: 00000010 ebx: f6881840 ecx: 00000000 edx: 00000000 Mar 5 13:25:22 n22 esi: c18dd4c0 edi: c18df8c0 ebp: 00000001 esp: c1923f0c Mar 5 13:25:22 n22 ds: 007b es: 007b ss: 0068 Mar 5 13:25:22 n22 Process events/0 (pid: 3, threadinfo=c1922000 task=c190c030) Mar 5 13:25:22 n22 Stack: f5b32000 f7b47580 00000002 c18dc150 c18dc150 00000002 c18dc140 00000000 Mar 5 13:25:22 n22 c0130f8b 00000000 c18df8c0 c18dd4c0 c18df8c0 c18df90c 00000002 c0130ffd Mar 5 13:25:22 n22 00000000 00000000 c02f42a4 00000297 00000000 c18e3500 c011e6b8 c0130fab Mar 5 13:25:22 n22 Call Trace: Mar 5 13:25:22 n22 [<c0130f8b>] drain_array_locked+0x62/0x82 Mar 5 13:25:22 n22 [<c0130ffd>] cache_reap+0x52/0x118 Mar 5 13:25:22 n22 [<c011e6b8>] worker_thread+0x155/0x1b4 Mar 5 13:25:22 n22 [<c0130fab>] cache_reap+0x0/0x118 Mar 5 13:25:22 n22 [<c01106b2>] default_wake_function+0x0/0xc Mar 5 13:25:22 n22 [<c01106f0>] __wake_up_common+0x32/0x4d Mar 5 13:25:22 n22 [<c01106b2>] default_wake_function+0x0/0xc Mar 5 13:25:22 n22 [<c011e563>] worker_thread+0x0/0x1b4 Mar 5 13:25:22 n22 [<c012141d>] kthread+0x75/0x9d Mar 5 13:25:22 n22 [<c01213a8>] kthread+0x0/0x9d Mar 5 13:25:22 n22 [<c0101295>] kernel_thread_helper+0x5/0xb Mar 5 13:25:22 n22 Code: 24 0c 8b 54 24 24 8b 04 a8 89 04 24 05 00 00 00 40 8b 74 97 14 c1 e8 0c 31 d2 c1 e0 05 03 05 f0 97 2f c0 8 b 58 1c 8b 4b 04 8b 03 <89> 48 04 89 01 8b 43 0c c7 03 00 01 10 00 c7 43 04 00 02 20 00 n22 /usr/share/doc/unionfs-1.1.3 # emerge info Portage 2.0.54 (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.5-r2, 2.6.15-gentoo-r1 i686) ================================================================= System uname: 2.6.15-gentoo-r1 i686 Intel(R) Pentium(R) M processor 1700MHz Gentoo Base System version 1.6.14 ccache version 2.3 [enabled] dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium-m -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium-m -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gentoo.inode.at/ http://ftp.club-internet.fr/pub/mirrors/gentoo" LINGUAS="de en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 X acpi alsa apache2 arts audiofile avi berkdb bitmap-fonts bzip2 cdr crypt cups curl dri dvd emboss encode exif expat fam ffmpeg font-server foomaticdb fortran gd gdbm gif glut gpm gstreamer gtk gtk2 idn imagemagick imlib ipv6 jai java javascript jimi joystick jpeg junit kde lcms libg++ libwww live logrotate mad mbox mhash mikmod mmx mmxext mng motif mp3 mpeg mysql ncurses nls nptl nsplugin ogg opengl oss pam pcre pdflib perl php png python qt quicktime readline real recode rtc samba sdl slp snmp spell sse sse2 ssl subversion swat tcltk tcpd tiff truetype truetype-fonts type1-fonts udev usb userlocales vorbis win32codecs xine xml xml2 xv xvid zlib linguas_de linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY :-(
there is a similar discussion in the upstream developer list: the cause seems to be an invalid mount sequence. What is the directory layout and the command(s) to unionfs mount?
n22 ~ # ls -ld /usr/src/linux-2.6.15-gentoo-r1 ./union* drwxr-xr-x 2 root root 4096 Mar 5 12:42 ./union drwxr-xr-x 2 root root 4096 Mar 5 13:23 ./union_overlay drwxr-xr-x 20 root root 4096 Mar 6 10:19 /usr/src/linux-2.6.15-gentoo-r1 n22 ~ # mount -t unionfs -o dirs=/usr/src/linux-2.6.15-gentoo-r1=ro:/root/union_overlay=rw unionfs /root/union mount: wrong fs type, bad option, bad superblock on unionfs, missing codepage or other error In some cases useful info is found in syslog - try dmesg | tail or so n22 ~ # lsmod | grep union unionfs 62108 0 /dev/hda9 on / type ext3 (rw,noatime) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) udev on /dev type tmpfs (rw,nosuid) devpts on /dev/pts type devpts (rw) shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev) /dev/hda6 on /mnt/F type vfat (rw,noexec,nosuid,nodev,uid=1000,gid=100,umask=0027) usbfs on /proc/bus/usb type usbfs (rw,devmode=0664,devgid=85) //ehngsa.ibm.com/ on /mnt/GSA type cifs (rw,mand,noexec,nosuid,nodev) Than 1-5 min later the kernel oopsed - note that the fs wasn't mounted.
looks like it is being discussed upstream in these days. kernel<=2.6.15 or unionfs<=1.1.2 don't seem to have issues.
I had the same problem a few days ago. Same error, same oops after a few minutes. After looking into unionfs sources, it seems that the first directory after -dirs needs to be rw. So "mount -t unionfs -o dirs=/usr/src/linux-2.6.15-gentoo-r1=ro:/root/union_overlay=rw unionfs /root/union" should be: "mount -t unionfs -o dirs=/root/union_overlay=rw:/usr/src/linux-2.6.15-gentoo-r1=ro unionfs /root/union" If I gived the right parameters to unionfs I did nou experienced any more opps.
You're almost right :-) : the sequence is left-most priority based, but the kernel should not block this way. "Almost" because, at the very worst, it should not give you write permission over a file in the left (so, r/o) branch. I'm quite sure it could be done in the past, for example to permit overwrites only to selected files. Maybe it has something to do with the new mutex VFS lock method in kernel sources. (bug #127073). Closing as UPSTREAM for now. reopen if needed