[Unionfs] Can't mount NFS-exported union anymore in unionfs-1.4
Wilhelm Meier
wilhelm.meier at fh-kl.de
Fri Nov 24 07:42:47 EST 2006
Hi,
Am Freitag, 24. November 2006 12:34 schrieb hooanon05 at yahoo.co.jp:
>
> > The filesystem /tftproot contains both branches for my
> > union: /tftproot/gentoo_A (ro) and /tftproot/gentoo_Bdiff (rw). So I need
> > only a forward map and one reversemap.
>
> The reverse map is required per a branch. You need TWO revmaps.
> I am not sure this option is the cause of your problem, but please try
> TWO revmaps first.
As I said before the two branches are on the same fs, so I get:
gs tftproot # unionimap -c gbf.map
gs tftproot # unionimap -a gbf.map gbro.map /tftproot/gentoo_A
gs tftproot # unionimap -a gbf.map gbrw.map /tftproot/gentoo_Bdiff
Specified fs already exists in the forward map
> And check these mails please.
> http://www.fsl.cs.sunysb.edu/pipermail/unionfs/2006-August/004755.html
> http://www.fsl.cs.sunysb.edu/pipermail/unionfs/2006-August/004756.html
gs ~ # grep CONFIG_EXPORT /usr/src/linux/.config
CONFIG_EXPORTFS=m
This looks o.k., or did I understand you wrong?
And then I tried also your last patch:
Index: persistent_inode.c
===================================================================
RCS file: /home/cvs/unionfs/unionfs/persistent_inode.c,v
retrieving revision 1.36
diff -u -p -r1.36 persistent_inode.c
--- persistent_inode.c 8 Jul 2006 17:58:31 -0000 1.36
+++ persistent_inode.c 24 Nov 2006 12:03:16 -0000
@@ -211,7 +211,7 @@ static int verify_reversemap(struct supe
d = hidden_root_info->udi_dentry[bindex];
- err = d->d_sb->s_op->statfs(d->d_sb, &st);
+ err = d->d_sb->s_op->statfs(d, &st);
if (err)
goto out;
But the effect remains the same:
gs unionfs-1.4.nfs-permission-denied # mount -t unionfs
none /tftproot/gentoo_B -o
imap=/tftproot/gbf.map:/tftproot/gbro.map,dirs=/tftproot/gentoo_Bdiff=rw:/tftproot/gentoo_A=ro
Segmentation fault
Here the oops:
Registering unionfs 1.4
unionfs: debugging is not enabled
BUG: unable to handle kernel NULL pointer dereference at virtual address
00000047
printing eip:
d0a0c78a
*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:[<d0a0c78a>] Not tainted VLI
EFLAGS: 00010246 (2.6.18-gentoo-r1 #3)
EIP is at read_uin+0x5a/0x160 [unionfs]
eax: 00000000 ebx: 0000003f ecx: 00000000 edx: 0006800d
esi: cccd45c0 edi: cd569ca4 ebp: cf98da00 esp: cd569c4c
ds: 007b es: 007b ss: 0068
Process mount (pid: 11337, ti=cd569000 task=cfce7aa0 task.ti=cd569000)
Stack: c014fa78 00000000 00000000 00000010 00340098 00000000 ceed5400 00000000
ced6cca0 00000001 d0a047f7 cf98da00 00000000 0006800d 00000040 cd569ca4
00000000 00000286 00000008 cebd6e94 d0a0b965 00000008 00000000 00000002
Call Trace:
[<c014fa78>] cache_alloc_refill+0x2ac/0x431
[<d0a047f7>] unionfs_interpose+0x97/0x480 [unionfs]
[<d0a0b965>] new_dentry_private_data+0x125/0x1c0 [unionfs]
[<d0a05331>] unionfs_read_super+0x6b1/0xe0c [unionfs]
[<c0111c0d>] default_wake_function+0x0/0x15
[<c01d7c36>] idr_get_new_above_int+0x123/0x1fb
[<c01d7d1d>] idr_get_new+0xf/0x30
[<c016895c>] get_filesystem+0x12/0x31
[<c0157b9b>] sget+0x2ac/0x2b6
[<c015838d>] get_sb_nodev+0x4e/0x91
[<d0a04c80>] unionfs_read_super+0x0/0xe0c [unionfs]
[<c0157db9>] vfs_kern_mount+0x35/0x66
[<d0a04c80>] unionfs_read_super+0x0/0xe0c [unionfs]
[<c0157e27>] do_kern_mount+0x29/0x39
[<c016a0c0>] do_mount+0x5cf/0x647
[<c0169348>] mntput_no_expire+0x14/0x67
[<c015f712>] link_path_walk+0xa8/0xb3
[<c013bfc8>] filemap_nopage+0xbf/0x31b
[<c013c0a8>] filemap_nopage+0x19f/0x31b
[<c01447b7>] __handle_mm_fault+0x3ff/0x756
[<c01492f6>] page_add_file_rmap+0x17/0x1a
[<c0144599>] __handle_mm_fault+0x1e1/0x756
[<c015e7f0>] putname+0x2d/0x30
[<c013d942>] get_page_from_freelist+0x9f/0x356
[<c013de8e>] __get_free_pages+0x29/0x2e
[<c0168fdd>] copy_mount_options+0x28/0x10b
[<c016a1b0>] sys_mount+0x78/0xb1
[<c010284d>] sysenter_past_esp+0x56/0x79
Code: b6 c0 89 44 24 04 8b 46 48 8b 54 24 04 8b 1c 90 8b 54 24 34 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: [<d0a0c78a>] read_uin+0x5a/0x160 [unionfs] SS:ESP 0068:cd569c4c
>
>
> Junjiro Okajima
--
Wilhelm Meier
email: wilhelm.meier at fh-kl.de
More information about the unionfs
mailing list