Mr. Junjiro R. Okajima, Mr. Michael S. Zick, thanks for your answers concerning the AUFS kernel messages.
Mr. Michael S. Zick, thanks for your contributed code snip and your notes concerning pam and gvfs. I put the wrapper code into my trick box. Thanks again for your engagement. Mr. Junjiro R. Okajima, after your last letter I took a second glance at the script journal-commit. 1. Kernel messages The pivot element of the script is the shell function handle-filesystems(). The function reads in a row of the file /proc/mounts or /proc/self/mounts. On my system /proc/mounts is a link that points at /proc/self/mounts. The function use the contents of the field FSTYPE to create a function name with the prefix handle_ and the suffix ${FSTYPE}. If the contents of the field contains the string ext3, ext4 or aufs as example it creates the function name handle_ext3, handle_ext4 or handle_aufs. Two of the three function names have functions in the script journal-commit. These are the shell functions handle_ext3() and handle_ext4(). The function command_exists() in the do while loop of the function handle_filesystems() checks the existence of a function name with the prefix handle_ and the suffix ${FSTYPE}. If the function is a member of the script journal-commit the script continues the execution with following line. If not the script reads in the next line from /proc/mounts. The consequence is, the script only calls the command mount, if it has found one of the FSTYPE ext3 or ext4 in the file /proc/mounts. The script does what it shall. Please take a look at the file proc_self_mounts.log. The file is located in the attached tape archive email-attachment-06.tar.gz. For the following discussion keep in mind that I called the script journal-commit in the chroot environment. If I call mount in that environment to remount the ext3 file system with the option commit, mount can't see mounts like /tmp/jailcache.ro.var. The command mount sees only the mount /var. This concerns all the following rows from the attached file proc_self_mounts.log: /dev/disk/by-uuid/f71d3... /tmp/jailcache.ro.root ext3 ... /dev/sda11 /tmp/jailcache.ro.var ext3 ... /dev/sda9 /tmp/jailcache.ro.usr ext3 ... /dev/sda10 /tmp/jailcache.ro.usrlocal ext3 ... /dev/sda6 /tmp/jailcache.ro.home ext3 ... /dev/sda12 /tmp/jailcache.ro.srv ext3 ... The question is, why AUFS reacts during the remount of the ext3 file system and produce the kernel message? Maybe it could be a good idea to look again over the source code of AUFS. The following rows from proc_self_mounts.log doesn't produce a kernel message: /dev/disk/by-uuid/f71d3... / ext3 ... /dev/sda6 /home ext3 ... /dev/sda7 /opt ext3 ... /dev/sda12 /srv ext3 ... /dev/sda8 /tmp ext3 ... /dev/sda9 /usr ext3 ... /dev/sda10 /usr/local ext3 ... /dev/sda /var ext3 Again, in my opinion, I can't blame the script journal-commit. The script doesn't generate the kernel message. Maybe the script shouldn't read the inputs from /proc/mounts but from /proc/self/mountinfo. The file /proc/mounts shows all mounts of the system. The file /proc/self/mountinfo shows a different view of the mounts. As example have a look at the attached files proc_self_ mountinfo-in_aufs.log and proc_self_mountinfo-out_aufs.log. The first file shows the mounts in the chroot environment and the second file was taken outside the chroot environment. The file proc_self_mountinfo-in_aufs.log shows only the unions and no ext3 mounts. This could be a solution, but I don't know the side effects. Sure, if this is a solution we must convinced the developer of the pm-utils. In my opinion, the kernel message isn't caused by the script journal- commit. Again, the script does what it shall. The script remounts only file systems with the type ext3 and ext4. That answers your first suggestion. It is surely a good idea to look after the reason why the kernel displays the message. It seems that AUFS stumbled about something during the remount procedure and the reason for that should be known. I think, if you know the reason, you could forbid AUFS the print of the message. That answers your second suggestion. 2. aubusy - The test of the new aubusy version was successful. I used aubusy from your git repository aufs3.0 downloaded at 2012-03-26. A little star and all goes as it shall. Thanks - Feature request concerning a list function for aubusy. Could I convince you to provide a list function for aubusy. Something that mount does if we invoke mount without any option. The pure mount command shows all current mounts. The tool aubusy should show all current union and their branches like the following example: $> sudo aubusy or $> sudo aubusy -l The output could be the following list: union: /tmp/jail br0: /tmp/jailcache.ro.root br1: /tmp/jailcahce.rw.root union: /tmp/jail/var br0: /tmp/jailcache.ro.var br1: /tmp/jailcache.rw.var ::: This gives us a first and comprehensive overview. The list helps to run aubusy with the correct union and branch options. I would be very glad, if you could find some time to answer my questions. Thanks a lot in advanced. Regards, Robert Wotzlaw Attachment: 1. Tape archive email-attachment-06.tar.gz - proc_self_mounts.log - proc_self_mountinfo-in_aufs.log - proc_self_mountinfo-out_aufs.log
email-attachment-06.tar.gz
Description: GNU Zip compressed data
------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure