We are getting a strange 'lag' behaviour using aufs (well it seems strange to us). It's happening in a live CD environment using squashfs.
After certain file-system operations - apparently where a large number of files get added or updated, but exactly when it happens and when not is not clear - it takes a long time, sometimes more than a minute, before the updates are visible in the aufs mount (although they are immediately visible in the write branch). Here is a report of how it manifests itself - it is unfortunately very specific to Archlinux so it might not help you much ... <<<It seems like there is still something wrong with aufs lag time. Here's the problem: - I made a live cd using your latest larch scripts. - I booted into the live cd and did a "pacman -Sl" and pacman lists all packages in the repos, about 3925 packages. - I did a "pacman -Syu" and all my packages were up to date. Immediately after that I do a "pacman -Sl" again and nothing is listed anymore. - I wait about 1 minute and do a "pacman -Sl" and the 3925 packages are listed again.>>> As you can see below, in essence each root directory has its own aufs mount with a base branch and an overlay branch (both in squashfs) plus a write branch in tmpfs. In the example where the problem arose, the many files and directories were in /var/lib/pacman subdirectories. ---------------- aufs version 20070611 (but also other versions, I think an earlier one was worse) kernel 2.6.21.5 ---------------- Here is how the aufs module was built (Archlinux PKGBUILD, I hope it's clear enough): pkgname=aufs _kerndir=2.6.21-ARCH pkgver=2.6.21cvs pkgrel=2 pkgdesc="A unification file system ('another unionfs')" arch=(i686) url="http://aufs.sourceforge.net" depends=('kernel26>=2.6.21' 'kernel26<=2.6.22') _cvsroot=":pserver:anonymous:@aufs.cvs.sourceforge.net:/cvsroot/aufs" _cvsmod="aufs" build() { msg "Connecting to $_cvsmod.sourceforge.net CVS server...." cvs -d$_cvsroot checkout $_cvsmod msg "CVS checkout done or server timeout" msg "Starting make..." cp -r $_cvsmod $_cvsmod-build cd $_cvsmod-build make KDIR=/lib/modules/${_kerndir}/build -f local.mk || return 1 #mkdir -p ${startdir}/pkg/sbin #install -m 500 -p mount.aufs umount.aufs auplink aulchown ${startdir}/pkg/sbin install -D -m 644 -p aufs.ko ${startdir}/pkg/lib/modules/${_kerndir}/kernel/fs/aufs/aufs.ko } ---------------- /proc/mounts: rootfs / rootfs rw 0 0 tmpfs / tmpfs rw 0 0 /dev/sr0 /.livesys/livecd iso9660 ro 0 0 /dev/loop0 /.livesys/base squashfs ro 0 0 /dev/loop1 /.livesys/etc squashfs ro 0 0 /dev/loop0 /bin squashfs ro 0 0 /dev/loop0 /lib squashfs ro 0 0 /dev/loop0 /sbin squashfs ro 0 0 /dev/loop0 /usr squashfs ro 0 0 /dev/loop1 /etc squashfs ro 0 0 none /proc proc rw 0 0 /dev/loop2 /.livesys/system squashfs ro 0 0 /dev/loop3 /.livesys/overlay squashfs ro 0 0 aufs /bin aufsrw,xino=/.livesys/.bin_w/.aufs.xino,br:/.livesys/.bin_w=rw:/.livesys/base/bin=ro:/.livesys/system/bin=ro
0 0 aufs /boot aufsrw,xino=/.livesys/.boot_w/.aufs.xino,br:/.livesys/.boot_w=rw:/.livesys/system/boot=ro
0 0 aufs /etc aufsrw,xino=/.livesys/.etc_w/.aufs.xino,br:/.livesys/.etc_w=rw:/.livesys/etc/etc=ro:/.livesys/system/etc=ro
0 0 aufs /home aufsrw,xino=/.livesys/.home_w/.aufs.xino,br:/.livesys/.home_w=rw:/.livesys/system/home=ro
0 0 aufs /lib aufsrw,xino=/.livesys/.lib_w/.aufs.xino,br:/.livesys/.lib_w=rw:/.livesys/base/lib=ro:/.livesys/system/lib=ro
0 0 aufs /opt aufsrw,xino=/.livesys/.opt_w/.aufs.xino,br:/.livesys/.opt_w=rw:/.livesys/system/opt=ro
0 0 aufs /root aufsrw,xino=/.livesys/.root_w/.aufs.xino,br:/.livesys/.root_w=rw:/.livesys/overlay/root=ro+wh:/.livesys/system/root=ro
0 0 aufs /sbin aufsrw,xino=/.livesys/.sbin_w/.aufs.xino,br:/.livesys/.sbin_w=rw:/.livesys/base/sbin=ro:/.livesys/system/sbin=ro
0 0 aufs /srv aufsrw,xino=/.livesys/.srv_w/.aufs.xino,br:/.livesys/.srv_w=rw:/.livesys/system/srv=ro
0 0 aufs /usr aufsrw,xino=/.livesys/.usr_w/.aufs.xino,br:/.livesys/.usr_w=rw:/.livesys/base/usr=ro:/.livesys/system/usr=ro
0 0 aufs /var aufsrw,xino=/.livesys/.var_w/.aufs.xino,br:/.livesys/.var_w=rw:/.livesys/system/var=ro
0 0 aufs /larch aufsrw,xino=/.livesys/.larch_w/.aufs.xino,br:/.livesys/.larch_w=rw:/.livesys/overlay/larch=ro
0 0 none /sys sysfs rw 0 0 none /dev ramfs rw 0 0 none /proc/bus/usb usbfs rw 0 0 none /dev/pts devpts rw 0 0 none /dev/shm tmpfs rw 0 0 ---------------- /sys/fs/aufs/* attached as aufs.tar.gz ---------------- Best wishes, mt
aufs.tar.gz
Description: GNU Zip compressed data
------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/