On Tue December 13 2011, Vasanth Ragavendran wrote: > Hi > > If I introduce ${HOSTCC} into Makefile in aufs-util (and aufs2-util) for > > compileing c2sh, c2tmac and ver (probably), then will the problem solved? > > How do you think? > > > > I am considering a new ioctl to get the aufs version dynamicall. It if > > goes well, ver.c won't be necessary probably. But it may bring another > > confusion. > > > > > > It might work, however the plink.c which contains a O_CLOEXEC defined in > fcntl.h creates problem. i guess the location of this file containing > O_CLOEXEC differs from architecture to architecture (i'm not too sure of > this though) >
That might be related to why umount.aufs:auplink:plink.c is generating the "Inappropriate IOCTL for device message" and refusing to take down an auFS stack created using the (default) plink option. > plink.c --> /usr/include/fcntl.h --> /usr/include/bits/fcntl.h > > > u had mentioned it would be located this way but for my scenario it was > this way > > /usr/include/linux/fcntl.h --> /usr/include/asm/fcntl.h --> > /usr/include/asm-generic/fcntl.h > > so i literally changed the header file as <linunx/fcntl.h> in the plink.c > file. It was able to cross-compile only after that. > > Further, back to my problem with the aufs working. > > Ok, as long as you don't use /etc/mtab, mount.aufs is unrelated to the > path of branches. > The pathname of mount.aufs is totally upto your mount(8). > The mount(8) in util-linux packages expects it is placed under /sbin. > > Okay currently i'm having this way. in the initramfs i have a sbin folder > with the mount.aufs, umount.aufs, auibusy, auplink (all cross compiled). > here i do a aufs mount to /aufs folder and mount(8) (pls note this mount(8) > is a link to the busybox bin file) returns these and pls note there is no > /etc/mtab file and these values are the same when i do a "cat /proc/mount". > Which may be one source of the confusion. With the introduction of namespaces in the kernel, the proper place to look is: cat /proc/self/mount Since the (visible) mounts vary by namespace and a process might be in any namespace - lookup must now be done reference to /proc/self/* And in the August, 2011 kernel (3.0.4) used in my au/chroot example is horribly broken. Mike > rootfs on / type rootfs (rw) > /proc on /proc type proc (rw,relatime) > tmpfs on /tmp type tmpfs (rw,relatime) > /dev/mtdblock2 on /tmp/jffs2 type jffs2 (rw,relatime) > /dev/loop0 on /tmp/sqfsh type squashfs (ro,relatime) > aufs on /aufs type aufs (rw,relatime,si=c50d032a) > > After this i do a move to tmp location inside /aufs folder. the move is > successful and again mount(8) or cat /proc/mount returns these > > rootfs on / type rootfs (rw) > /proc on /proc type proc (rw,relatime) > tmpfs on /aufs/tmp type tmpfs (rw,relatime) > /dev/mtdblock2 on /aufs/tmp/jffs2 type jffs2 (rw,relatime) > /dev/loop0 on /aufs/tmp/sqfsh type squashfs (ro,relatime) > aufs on /aufs type aufs (rw,relatime,si=c50d032a) > > As u can see the locations have been moved under /aufs. these changes are > highlighted above. and the /aufs/tmp contains everything which was present > before in /tmp. then i do a umount /proc. > And then i do a switch root to /aufs and here comes the problem again. the > mount(8) or cat /proc/mount in the aufs filesystem returns these > > rootfs / rootfs rw 0 0 > tmpfs /tmp tmpfs rw,relatime 0 0 > /dev/mtdblock2 /tmp/jffs2 jffs2 rw,relatime 0 0 > /dev/loop0 /tmp/sqfsh squashfs ro,relatime 0 0 > aufs / aufs rw,relatime,si=c50d032a 0 0 > /proc /proc proc rw,relatime 0 0 > devpts /dev/pts devpts rw,relatime,mode=622 0 0 > none /tmp ramfs rw,relatime 0 0 > > it still seems to have the old mount values and further the mount -o move > which was performed during the initramfs doesn't seem to be reflected which > are highlighted again above. and /tmp in the aufs filesystem doesn't > contain anything. now this is working correct? i'm doubtful. > > Are you sure that your "mount -o move" succeeded? > When aufs shows its entry for /proc/mounts, the path of branch is > calculated (generated dynamically). > And you set the aufs module parmeter 'brs' to 0, right? > > I don't set the brs as I don't have the CONFIG_AUFS_SYSAUFS paramater. > > Thanks and Regards > R.Vasanth Ragavendran. > ------------------------------------------------------------------------------ Systems Optimization Self Assessment Improve efficiency and utilization of IT resources. Drive out cost and improve service delivery. Take 5 minutes to use this Systems Optimization Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/