JRO,

Several problems here with auFS on a 3.0.4 kernel.

All I can say about the first two is they aren't
expected based on the on-line man.html.

root:~# cat /sys/module/aufs/version
3.0-20110815
root:~# uname -a
Linux Microknoppix 3.0.4 #12 SMP PREEMPT Thu Sep 8 05:27:05 CEST 2011 i686 
GNU/Linux

(Also known as Knoppix v6.7.1 LiveDVD on flash.)

The first one is a simple case that the xino section of the manual
does not mention that the external xino file must not exist at
mount time:

root:~# touch /auspace/auxino
WRONG!
File must not exist when mounting auFS:
root:~# dmesg
[10481.277111] aufs au_xino_create:693:mount[4720]: open /auspace/auxino(-17)

That one is simple, either the manual is incomplete or the code test is wrong. 
;-)

The brief version of my setup:

mkdir /auspace
mount -t tmpfs autmp /auspace
mkdir /auspace/systree
mkdir /auspace/syschgs
mkdir /auspace/auroot

make list of top level directories in /auspace/systree
mount --rbind selected current system directories onto /auspace/systree

A single system directory example of the list of directories:
root:~# mount --rbind /sbin /auspace/systree/sbin
etc. etc. etc.

The manual mentions using the auFS stack without a writable layer
(branch) and also that, unless specified, the first layer is read-write.

So trying:
root:~$ mount -t aufs -o br:/auspace/systree=ro:/auspace/syschgs=rw syswork 
/auspace/auroot

Gives:
root:~# dmesg
[10620.585441] aufs au_opts_verify:1368:mount[4727]: first branch should be rw

And in spite of the dmesg complaint:

root:~$ cat /proc/self/mounts
- - just the interesting ones - -
autmp on /auspace type tmpfs (rw,relatime)
syswork /auspace/auroot type aufs (rw,relatime,si=5550d122)

root:~# ls -l /sys/fs/aufs/si_5550d122 
total 0
-r--r--r-- 1 root root 4096 Dec  9 11:44 br0
-r--r--r-- 1 root root 4096 Dec  9 11:44 br1
-r--r--r-- 1 root root 4096 Dec  9 11:44 xi_path

root:~# cat /sys/fs/aufs/si_5550d122/*
/auspace/systree=ro
/auspace/syschgs=rw
/auspace/syschgs/.aufs.xino

Which looks like it would work but it does not.

And then comes the fun, try to get rid of it:

root:~# umount syswork
auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device
auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device
        
root:~# mount -o remount,ro /auspace/auroot
/sbin/mount.aufs:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for 
device

root:~# umount /auspace/auroot
auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device
auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device

Renaming /sbin/mount.aufs, /sbin/umount.aufs, /sbin/auplink temporarily will
allow the 'umount' to actually unmount the auFS stack on /auspace/auroot.

- - - -

The reason for making my own /auspace as a tmpfs was to keep it out of the
system tree that was in use.

The Knoppix installation on flash is a two layer, auFS stack.

Which tells me that the auFS module and kernel are working, would be hard
to run this installation if it wasn't.  ;-)

And it raises a question in my mind -
Since the directories being "rbind mounted" are the top of another auFS
stack, could this be the source of some of my problems?

Mike

------------------------------------------------------------------------------
Cloud Services Checklist: Pricing and Packaging Optimization
This white paper is intended to serve as a reference, checklist and point of 
discussion for anyone considering optimizing the pricing and packaging model 
of a cloud services business. Read Now!
http://www.accelacomm.com/jaw/sfnl/114/51491232/

Reply via email to