If I stack two NFS file systems like this:

mount pavdnfsn01:/root/wbel4root1/root /mnt/root
mount pavdnfsn01:/root/wbel4root1/snapshot/pavdsvri02.u /mnt/snapshot
mount -t unionfs -o dirs=/mnt/snapshot/etc:/mnt/root/etc=ro,debug=18
none /mnt/root/etc
cd /mnt/root/etc
rm yp.conf

I get a kernel oops in inode_permission:

Unable to handle kernel NULL pointer dereference at virtual address 00000004
 printing eip:
f8cba59a
*pde = 368fb001
Oops: 0000 [#1]
SMP
Modules linked in: nfs lockd unionfs(U) autofs4 i2c_dev i2c_core
sunrpc dm_mod button battery ac joydev uhci_hcd tg3 ext3 jbd raid1
mptscsih mptbase sd_mod scsi_mod
CPU:    2
EIP:    0060:[<f8cba59a>]    Not tainted VLI
EFLAGS: 00010246   (2.6.9-5.0.5.ELsmp)
EIP is at inode_permission+0x13a/0x190 [unionfs]
eax: 00000000   ebx: 00000001   ecx: 00000000   edx: fffffff3
esi: f8cf3fdb   edi: f8d1d8c3   ebp: f6042dfc   esp: f679bec8
ds: 007b   es: 007b   ss: 0068
Process rm (pid: 3276, threadinfo=f679b000 task=f67760b0)
Stack: 00000003 f8ced9af 00000000 00000003 00000001 f6042dfc f6784e3c 00000000
       f8cba763 00000001 f8cf0597 00000366 00000004 f8cf3e75 f8cfa7c0 f8cf0597
       f8cf1618 00000366 f8cf0378 00000001 00000000 00000000 00000003 f8cba5f0
Call Trace:
 [<f8ced9af>] fist_dprint_internal+0x3f/0x80 [unionfs]
 [<f8cba763>] unionfs_permission+0x173/0x1e0 [unionfs]
 [<f8cba5f0>] unionfs_permission+0x0/0x1e0 [unionfs]
 [<c016084b>] permission+0x22/0x46
 [<c0162f5d>] vfs_unlink+0x35/0x1cd
 [<c01631a5>] sys_unlink+0xb0/0x132
 [<c02c62e7>] syscall_call+0x7/0xb
Code: d7 3f cf f8 89 ce 8b 40 20 8b 38 ac ae 75 08 84 c0 75 f8 31 c0
eb 04 19 c0 0c 01 85 c0 0f 85 77 ff ff ff 8b 4c 24 08 8b 5c 24 24 <8b>
41 04 85 db 8b 40 14 78 40 8b 4c 24 24 85 c9 7e 28 8b 80 80

This happens with unionfs version 1.1.2 and snapshot 20060202-1909. 
I'm running Whitebox 4 which should be roughly equivalent to RedHat EL
4.  The kernel is 2.6.9-5.0.5ELsmp.

My goal is to have diskless machines NFS mount a read-only root and a
read-write /.snapshot, and then unionfs the two for /etc and a few
subdirectories of /var.  (Exporting a unionfs from the NFS server is
not an option in this case.)  Using "nfsro" on the bottom file system
doesn't change things.

Any thoughts?  Is this known?  Should I open it as a bug?

Michael Cerrato

_______________________________________________
unionfs mailing list
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs

Reply via email to