[Unionfs] Can't mount NFS-exported union anymore in unionfs-1.4

Wilhelm Meier wilhelm.meier at fh-kl.de
Tue Nov 28 04:19:26 EST 2006


Am Dienstag, 28. November 2006 06:58 schrieb hooanon05 at yahoo.co.jp:
> Wilhelm Meier:
> > Yes, it gets called!
>
> Still, I could not reproduce your problem. 

Well, I'm using kernel 2.6.18-gentoo-r3. I'll try it with a vanilla kernel 
instead.

> But I am trying fixing. 
> Please remove the last patch and try this new patch against plain
> unionfs-1.4. This is a different approach to specify revmap per branch.
> I am not sure this fix all of your problems, but I hope it fixes the
> first problem at least.
>
> $ cd tftproot
> $ > gbf.fwd
> $ > gbf.tftproot.rev
> $ unionimap -c gbf.fwd
> $ unionimap -a gbf.fwd gbf.tftproot.rev gentoo_A
> $ unionimap -a gbf.fwd gbf.tftproot.rev gentoo_Bdiff
> # mount -t unionfs none gentoo_B -o
> 	imap=gbf.fwd:gbf.tftproot.rev:gbf.tftproot.rev,	dirs=gentoo_Bdiff=rw:gento
>o_A=ro
>

This is what I get:

gs tftproot # > gbf.fwd
gs tftproot # > gbf.rev
gs tftproot # unionimap -c gbf.fwd
gs tftproot # unionimap -a gbf.fwd gbf.rev gentoo_A
find_union failed:

I have to use full path:

gs tftproot # unionimap -a gbf.fwd gbf.rev /tftproot/gentoo_A
gs tftproot # unionimap -a gbf.fwd gbf.rev /tftproot/gentoo_Bdiff
gs tftproot # ls -l
total 52
-rw-r--r--  1 root root  6172 Nov 28 10:06 gbf.fwd
-rw-------  1 root root    48 Nov 28 10:06 gbf.rev
lrwxrwxrwx  1 root root     8 Jun 12 18:08 gentoo -> gentoo_A
drwxr-xr-x 17 root root  4096 Nov 20 13:09 gentoo_A
drwxr-xr-x  2 root root  4096 Nov 27 12:31 gentoo_B
drwxr-xr-x  4 root root  4096 Nov 20 18:28 gentoo_Bdiff
drwxr-xr-x  4 root root  4096 Dec 20  2005 gentoo_Bdiff2
drwxr-xr-x 17 root root  4096 Dec  5  2005 gentoo_C
drwxr-xr-x  2 root root  4096 Dec  7  2005 gentoo_D
drwx------  2 root root 16384 Dec  3  2005 lost+found
-rw-r--r--  1 root root     0 Sep 11 14:23 x
gs tftproot # mount -t unionfs none /tftproot/gentoo_B -o 
imap=gbf.fwd:gbf.rev:gbf.rev,dirs=/tftproot/gentoo_Bdiff=rw:/tftproot/gentoo_A=ro
Segmentation fault



gs tftproot # dmesg
Linux version 2.6.18-gentoo-r3 (root at gs) (gcc version 4.1.1 (Gentoo 4.1.1)) #1 
SMP Fri Nov 24 18:01:02 CET 2006
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000dc000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000000fef0000 (usable)
 BIOS-e820: 000000000fef0000 - 000000000feff000 (ACPI data)
 BIOS-e820: 000000000feff000 - 000000000ff00000 (ACPI NVS)
 BIOS-e820: 000000000ff00000 - 0000000010000000 (usable)
 BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000fffe0000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
256MB LOWMEM available.
found SMP MP-table at 000f6ce0
On node 0 totalpages: 65536
  DMA zone: 4096 pages, LIFO batch:0
  Normal zone: 61440 pages, LIFO batch:15
DMI present.
ACPI: RSDP (v000 PTLTD                                 ) @ 0x000f6c70
ACPI: RSDT (v001 PTLTD    RSDT   0x06040000  LTP 0x00000000) @ 0x0fefac02
ACPI: FADT (v001 INTEL  440BX    0x06040000 PTL  0x000f4240) @ 0x0fefef14
ACPI: MADT (v001 PTLTD           APIC   0x06040000  LTP 0x00000000) @ 
0x0fefef88
ACPI: BOOT (v001 PTLTD  $SBFTBL$ 0x06040000  LTP 0x00000001) @ 0x0fefefd8
ACPI: DSDT (v001 PTLTD  Custom   0x06040000 MSFT 0x0100000d) @ 0x00000000
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 6:9 APIC version 17
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 20000000 (gap: 10000000:eec00000)
Detected 1099.043 MHz processor.
Built 1 zonelists.  Total pages: 65536
Kernel command line: root=/dev/ram0 init=/linuxrc ramdisk=8192 
real_root=/dev/hda1 udev
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
CPU 0 irqstacks, hard=c03fd000 soft=c03f5000
PID hash table entries: 2048 (order: 11, 8192 bytes)
Speakup v-2.00 CVS: Tue Aug 1 11:16:55 EDT 2006 : initialized
Console: colour VGA+ 80x25
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 253816k/262144k available (1856k kernel code, 7728k reserved, 908k 
data, 220k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 2214.92 BogoMIPS 
(lpj=11074616)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 07e9fbbf 00000000 00000000 00000000 
00000000 00000000 00000000
CPU: After vendor identify, caps: 07e9fbbf 00000000 00000000 00000000 00000000 
00000000 00000000
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 1024K
CPU: After all inits, caps: 07e9fbbf 00000000 00000000 00000040 00000000 
00000000 00000000
Compat vDSO mapped to ffffe000.
Checking 'hlt' instruction... OK.
SMP alternatives: switching to UP code
Freeing SMP alternatives: 16k freed
ACPI: Core revision 20060707
CPU0: Intel(R) Pentium(R) M processor 1200MHz stepping 08
Total of 1 processors activated (2214.92 BogoMIPS).
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1
Brought up 1 CPUs
migration_cost=0
checking if image is initramfs... it is
Freeing initrd memory: 2098k freed
NET: Registered protocol family 16
EISA bus registered
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xfd9a0, last bus=1
PCI: Using configuration type 1
Setting up standard PCI resources
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
PCI quirk: region 1000-103f claimed by PIIX4 ACPI
PCI quirk: region 1040-104f claimed by PIIX4 SMB
Boot video device is 0000:00:0f.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 *5 6 7 9 10 11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *9 10 11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 *10 11 14 15)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 12 devices
SCSI subsystem initialized
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
PCI: Bridge: 0000:00:01.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Setting latency timer of device 0000:00:01.0 to 64
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 4096)
TCP reno registered
Simple Boot Flag at 0x36 set to 0x1
audit: initializing netlink socket (disabled)
audit(1164707607.960:1): initialized
squashfs: version 3.1 (2006/08/19) Phillip Lougher
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Limiting direct PCI/PCI transfers.
initialized device: /dev/synth, node ( MAJOR 10, MINOR 25 )
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0a: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
PNP: PS/2 Controller [PNP0303:KBC,PNP0f13:MOUS] at 0x60,0x64 irq 1,12
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
mice: PS/2 mouse device common for all mice
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
input: AT Translated Set 2 keyboard as /class/input/input0
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 0000:00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x1050-0x1057, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0x1058-0x105f, BIOS settings: hdc:DMA, hdd:DMA
Probing IDE interface ide0...
hda: VMware Virtual IDE Hard Drive, ATA DISK drive
input: ImPS/2 Generic Wheel Mouse as /class/input/input1
hdb: VMware Virtual IDE Hard Drive, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: VMware Virtual IDE Hard Drive, ATA DISK drive
hdd: VMware Virtual IDE Hard Drive, ATA DISK drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 16777216 sectors (8589 MB) w/32KiB Cache, CHS=17753/15/63, UDMA(33)
 hda: hda1
hdb: max request size: 128KiB
hdb: 16777216 sectors (8589 MB) w/32KiB Cache, CHS=17753/15/63, UDMA(33)
 hdb: hdb1
hdc: max request size: 128KiB
hdc: 2097152 sectors (1073 MB) w/32KiB Cache, CHS=2080/16/63, UDMA(33)
 hdc: hdc1
hdd: max request size: 128KiB
hdd: 16777216 sectors (8589 MB) w/32KiB Cache, CHS=17753/15/63, UDMA(33)
 hdd: hdd1
md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: bitmap version 4.39
EISA: Probing bus 0 at eisa.0
Cannot allocate resource for EISA slot 1
EISA: Detected 0 cards.
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Using IPI Shortcut mode
Time: tsc clocksource has been installed.
Freeing unused kernel memory: 220k freed
usbcore: registered new driver usbfs
usbcore: registered new driver hub
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
USB Universal Host Controller Interface driver v3.0
ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
sl811: driver sl811-hcd, 19 May 2005
ieee1394: Initialized config rom entry `ip1394'
ieee1394: sbp2: Driver forced to serialize I/O (serialize_io=1)
ieee1394: sbp2: Try serialize_io=0 for better performance
libata version 2.00 loaded.
device-mapper: ioctl: 4.7.0-ioctl (2006-06-24) initialised: 
dm-devel at redhat.com
md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
md: raid10 personality registered for level 10
EXT3-fs: INFO: recovery required on readonly filesystem.
EXT3-fs: write access will be enabled during recovery.
kjournald starting.  Commit interval 5 seconds
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
EXT3 FS on hda1, internal journal
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hdb1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
EXT3-fs: Unrecognized mount option "tagxid" or missing value
Real Time Clock Driver v1.12ac
Fusion MPT base driver 3.04.01
Copyright (c) 1999-2005 LSI Logic Corporation
Fusion MPT SPI Host driver 3.04.01
ACPI: PCI Interrupt 0000:00:10.0[A] -> GSI 17 (level, low) -> IRQ 16
mptbase: Initiating ioc0 bringup
ioc0: 53C1030: Capabilities={Initiator}
scsi0 : ioc0: LSI53C1030, FwRev=00000000h, Ports=1, MaxQ=128, IRQ=16
  Vendor: VMware,   Model: Virtual CD-ROM    Rev: 1.0
  Type:   CD-ROM                             ANSI SCSI revision: 02
 target0:0:0: Beginning Domain Validation
 target0:0:0: Domain Validation skipping write tests
 target0:0:0: Ending Domain Validation
 target0:0:0: FAST-160 WIDE SCSI 320.0 MB/s DT IU RDSTRM RTI WRFLOW PCOMP 
(6.25 ns, offset 127)
sr0: scsi3-mmc drive: 0x/164x xa/form2 caddy
Uniform CD-ROM driver Revision: 3.20
sr 0:0:0:0: Attached scsi CD-ROM sr0
pcnet32.c:v1.32 18.Mar.2006 tsbogend at alpha.franken.de
ACPI: PCI Interrupt 0000:00:11.0[A] -> GSI 18 (level, low) -> IRQ 17
pcnet32: PCnet/PCI II 79C970A at 0x1400, 00 0c 29 c0 27 bc assigned IRQ 17.
eth0: registered as PCnet/PCI II 79C970A
ACPI: PCI Interrupt 0000:00:12.0[A] -> GSI 19 (level, low) -> IRQ 18
pcnet32: PCnet/PCI II 79C970A at 0x1480, 00 0c 29 c0 27 c6 assigned IRQ 18.
eth1: registered as PCnet/PCI II 79C970A
ACPI: PCI Interrupt 0000:00:13.0[A] -> GSI 16 (level, low) -> IRQ 19
pcnet32: PCnet/PCI II 79C970A at 0x1800, 00 0c 29 c0 27 d0 assigned IRQ 19.
eth2: registered as PCnet/PCI II 79C970A
pcnet32: 3 cards_found.
eth2: link up
eth1: link up
eth0: link up
input: PC Speaker as /class/input/input2
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
Installing knfsd (copyright (C) 1996 okir at monad.swb.de).
Registering unionfs 1.4
unionfs: debugging is not enabled
Completed unionfs module unload.
Registering unionfs 1.4
unionfs: debugging is not enabled
BUG: unable to handle kernel paging request at virtual address 00100108
 printing eip:
d0a0bf50
*pde = 00000000
Oops: 0000 [#1]
SMP
Modules linked in: unionfs nfsd exportfs floppy parport_pc parport pcspkr 
pcnet32 mii mptspi mptscsih mptbase scsi_transport_spi rtc nfs lockd sunrpc 
raid10 raid1 raid0 dm_mirror dm_mod pdc_adma sata_mv ata_piix ahci sata_qstor 
sata_vsc sata_uli sata_sis sata_sx4 sata_nv sata_via sata_svw sata_sil24 
sata_sil sata_promise libata sbp2 ohci1394 ieee1394 sl811_hcd ohci_hcd 
uhci_hcd usb_storage usbhid ehci_hcd usbcore
CPU:    0
EIP:    0060:[<d0a0bf50>]    Not tainted VLI
EFLAGS: 00010246   (2.6.18-gentoo-r3 #1)
EIP is at read_uin+0x60/0x150 [unionfs]
eax: 00000000   ebx: 00100100   ecx: 00000000   edx: 0006800d
esi: cf1e1b40   edi: cb840ca4   ebp: cf9d324c   esp: cb840c4c
ds: 007b   es: 007b   ss: 0068
Process mount (pid: 12663, ti=cb840000 task=c1317aa0 task.ti=cb840000)
Stack: c014fab0 00000000 00000000 00000010 00340098 00000000 cf3a8400 00000000
       cf3c3e00 00000001 d0a047f7 cf9d3200 00000000 0006800d 00000040 cb840ca4
       00000000 00000286 00000008 cc5a3b94 d0a0b125 00000008 00000000 00000002
Call Trace:
 [<c014fab0>] cache_alloc_refill+0x2ac/0x431
 [<d0a047f7>] unionfs_interpose+0x97/0x480 [unionfs]
 [<d0a0b125>] new_dentry_private_data+0x125/0x1c0 [unionfs]
 [<d0a0532a>] unionfs_read_super+0x6aa/0xdfc [unionfs]
 [<c0111c09>] default_wake_function+0x0/0x15
 [<c01d7d12>] idr_get_new_above_int+0x123/0x1fb
 [<c01d7df9>] idr_get_new+0xf/0x30
 [<c0168994>] get_filesystem+0x12/0x31
 [<c0157bd3>] sget+0x2ac/0x2b6
 [<c01583c5>] get_sb_nodev+0x4e/0x91
 [<d0a04c80>] unionfs_read_super+0x0/0xdfc [unionfs]
 [<c0157df1>] vfs_kern_mount+0x35/0x66
 [<d0a04c80>] unionfs_read_super+0x0/0xdfc [unionfs]
 [<c0157e5f>] do_kern_mount+0x29/0x39
 [<c016a0f8>] do_mount+0x5cf/0x647
 [<c0169380>] mntput_no_expire+0x14/0x67
 [<c015f74a>] link_path_walk+0xa8/0xb3
 [<c013c010>] filemap_nopage+0xbf/0x31b
 [<c013c0f0>] filemap_nopage+0x19f/0x31b
 [<c01447ee>] __handle_mm_fault+0x3ff/0x756
 [<c014932e>] page_add_file_rmap+0x17/0x1a
 [<c01445d0>] __handle_mm_fault+0x1e1/0x756
 [<c015e828>] putname+0x2d/0x30
 [<c013d98a>] get_page_from_freelist+0x9f/0x356
 [<c013ded6>] __get_free_pages+0x29/0x2e
 [<c0169015>] copy_mount_options+0x28/0x10b
 [<c016a1e8>] sys_mount+0x78/0xb1
 [<c010284d>] sysenter_past_esp+0x56/0x79
Code: e8 e8 89 28 8c ef 8b 54 24 34 89 5c 24 04 8b 46 48 8b 1c 98 8d 04 d5 30 
00 00 00 89 44 24 10 31 c0 89 44 24 14 c7 07 00 00 00 00 <8b> 43 08 8b 54 24 
10 8b 4c 24 14 8b 40 0c 83 c2 08 83 d1 00 3b
EIP: [<d0a0bf50>] read_uin+0x60/0x150 [unionfs] SS:ESP 0068:cb840c4c

gs tftproot #           

> Honestly speaking, I don't think it is a good option usage.
>
> Junjiro Okajima

-- 
Wilhelm Meier
email: wilhelm.meier at fh-kl.de


More information about the unionfs mailing list