# emerge --update --deep world Calculating world dependencies / !!! Ebuilds for the following packages are either all !!! masked or don't exist: gnome-extra/gtop net-analyzer/xtraceroute net-analyzer/cheops-ng net-wireless/gkismet ... done! >>> Emerging (1 of 1) sys-fs/cowloop-3.0 to / * cowloop-3.0.tar.gz MD5 ;-) ... [ ok ] * cowloop-3.0.tar.gz RMD160 ;-) ... [ ok ] * cowloop-3.0.tar.gz SHA1 ;-) ... [ ok ] * cowloop-3.0.tar.gz SHA256 ;-) ... [ ok ] * cowloop-3.0.tar.gz size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking cowloop-3.0.tar.gz ;-) ... [ ok ] * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found kernel object directory: * /lib/modules/2.6.19-gentoo-r2/build * Found sources for kernel version: * 2.6.19-gentoo-r2 * Linux kernel 2.6.19-gentoo-r2 >>> Unpacking source... >>> Unpacking cowloop-3.0.tar.gz to /var/tmp/portage/sys-fs/cowloop-3.0/work >>> Source unpacked. >>> Compiling source in /var/tmp/portage/sys-fs/cowloop-3.0/work/cowloop-3.0/src ... * Preparing cowloop module make: Entering directory `/usr/src/linux-2.6.19-gentoo-r2' CC [M] /var/tmp/portage/sys-fs/cowloop-3.0/work/cowloop-3.0/src/cowloop.o /var/tmp/portage/sys-fs/cowloop-3.0/work/cowloop-3.0/src/cowloop.c:236:26: linux/config.h: No such file or directory /var/tmp/portage/sys-fs/cowloop-3.0/work/cowloop-3.0/src/cowloop.c: In function `cowlo_writecow': /var/tmp/portage/sys-fs/cowloop-3.0/work/cowloop-3.0/src/cowloop.c:1507: warning: passing arg 1 of `vfs_statfs' from incompatible pointer type /var/tmp/portage/sys-fs/cowloop-3.0/work/cowloop-3.0/src/cowloop.c: In function `cowlo_openpair': /var/tmp/portage/sys-fs/cowloop-3.0/work/cowloop-3.0/src/cowloop.c:1814: warning: passing arg 1 of `vfs_statfs' from incompatible pointer type make[1]: *** [/var/tmp/portage/sys-fs/cowloop-3.0/work/cowloop-3.0/src/cowloop.o] Error 1 make: *** [_module_/var/tmp/portage/sys-fs/cowloop-3.0/work/cowloop-3.0/src] Error 2 make: Leaving directory `/usr/src/linux-2.6.19-gentoo-r2' !!! ERROR: sys-fs/cowloop-3.0 failed. Call stack: ebuild.sh, line 1580: Called dyn_compile ebuild.sh, line 945: Called src_compile cowloop-3.0.ebuild, line 34: Called linux-mod_src_compile linux-mod.eclass, line 510: Called die !!! Unable to make -C /usr/src/linux SUBDIRS=/var/tmp/portage/sys-fs/cowloop-3.0/work/cowloop-3.0/src -I. modules. !!! If you need support, post the topmost build error, and the call stack if relevant.
*** Bug 158465 has been marked as a duplicate of this bug. ***
thanks Willard. Resync and try again. Fixed in cowloop-3.0. Also reported upstream.
Reopening as this is not fixed in the stable tree
Willard can you confirm cowloop-3.0-r1 is working for you? As per comment #3 I assume Daniel will want this stable soon.
Cowloop compiles to completion with only one incidental warning on my system. Otherwise, I'd say the compilation is stable. Here's the warning for reference: i686-pc-linux-gnu-gcc -march=i686 -O2 -pipe -I. -Wall -o cowpack cowpack.c -lz cowpack.c: In function `falperror': cowpack.c:606: warning: 'gzerr' might be used uninitialized in this function >>> Source compiled.
Daniel, please go ahead and get this marked stable asap
Thanks for the feedback Willard. Test Plan: (derived from man cowloop) Here hda1 is readonly and mapped to /dev/cow0. Changes are stored in /tmp/cowtest. 0. Emerge cowloop-3.0-r1 with a 2.6.19 kernel 1 - load # modprobe cowloop rdofile=/dev/hda1 cowfile=/tmp/cowtest Check dmesg: should see: cowloop - (C) 2006 AT Consultancy/AT Computing cowloop - version: 3.0 cowloop - info: www.ATConsultancy.nl/cowloop cowloop - maximum allowed cowdevices: 16 cowloop - initialized on rdofile=/dev/hda # mount -o ro /dev/hda1 /boot # mount /dev/cow0 /mnt/test test 2: - read access # find /mnt/test (should show boot partition (if this is /dev/hda1) test 3: - write only writes to cowloop # cp /bin/ls /mnt/test # ls -la /boot/ls /mnt/test/ls Expected output - only writes to cowmount. ls: cannot access /boot/ls: No such file or directory -rwxr-xr-x 1 root root 103384 Dec 31 08:48 /mnt/test/ls 4. delete only delete's from cowloop # rm /mnt/test/System.map # ls -la /boot/System.map /mnt/test/System.map ls: cannot access /mnt/test/System.map: No such file or directory lrwxrwxrwx 1 root root 27 Dec 31 07:38 /boot/System.map -> System.map-2.6.19-gentoo-r1 5. delete directories only from cowloop # rm -rf /mnt/test/grub/ # ls -lad /mnt/test/grub /boot/grub/ ls: cannot access /mnt/test/grub: No such file or directory drwxr-xr-x 2 root root 1024 Dec 31 2006 /boot/grub/ 6. state preservation # umount /mnt/test # rmmod cowloop # modprobe cowloop rdofile=/dev/hda1 cowfile=/tmp/cowtest # ls -lad /mnt/test/grub /boot/grub/ ls: cannot access /mnt/test/grub: No such file or directory drwxr-xr-x 2 root root 1024 Dec 31 2006 /boot/grub/ # ls -la /boot/System.map /mnt/test/System.map ls: cannot access /mnt/test/System.map: No such file or directory lrwxrwxrwx 1 root root 27 Dec 31 07:38 /boot/System.map -> System.map-2.6.19-gentoo-r1 7. detects state change in ro file # umount /mnt/test # rmmod cowloop # umount /boot # mount -o rw /dev/hda1 /boot # modprobe cowloop rdofile=/dev/hda1 cowfile=/tmp/cowtest FATAL: Error inserting cowloop (/lib/modules/2.6.19-gentoo-r1/fs/cowloop.ko): Invalid argument # dmesg | tail cowfile /tmp/cowtest not related to rdofile (fingerprint err - rdofile modified?) Note: EXPECTED FAILURE as a rw mount modifies the partition 7. Userspace utils test # rm /tmp/cowtest # mount -o remount,ro /boot # modprobe cowloop rdofile=/dev/hda1 cowfile=/tmp/cowtest # cowwatch /dev/cow0 Total: 47777380 Kb Avail: 2601128 Kb # cowlist /tmp/cowtest Info about cowfile /tmp/cowtest: state cowfile: clean header-version: 1 data offset: 8192 mapunit: 1024 bitmap-blocks: 6 (of 1024 bytes) cowblocks in use: 0 (of 1024 bytes) size rdofile: 48163 (of 1024 bytes) # mount /dev/cow0 /mnt/test # cowlist /tmp/cowtest Info about cowfile /tmp/cowtest: state cowfile: dirty header-version: 1 data offset: 8192 mapunit: 1024 bitmap-blocks: 6 (of 1024 bytes) cowblocks in use: 0 (of 1024 bytes) size rdofile: 48163 (of 1024 bytes) Note state gone to dirty # cp /bin/dd /mnt/test/ # cp /bin/ls /mnt/test/ # cowsync # cowlist /tmp/cowtest Info about cowfile /tmp/cowtest: state cowfile: clean header-version: 1 data offset: 8192 mapunit: 1024 bitmap-blocks: 6 (of 1024 bytes) cowblocks in use: 163 (of 1024 bytes) size rdofile: 48163 (of 1024 bytes) Note some cowblocks used. 8. Optionally test with <=2.6.18 as the kernel stat api has changed.
Moooo! x86 stable and closing.