Hello community, here is the log from the commit of package clicfs for openSUSE:Factory checked in at Wed Sep 7 17:45:37 CEST 2011.
-------- --- clicfs/clicfs.changes 2011-08-29 12:45:13.000000000 +0200 +++ /mounts/work_src_done/STABLE/clicfs/clicfs.changes 2011-09-07 16:59:44.000000000 +0200 @@ -1,0 +2,11 @@ +Wed Sep 7 14:59:10 UTC 2011 - [email protected] + +- update to 1.4.3 + - kill -USR1 detaches all open files for shutdown + +------------------------------------------------------------------- +Wed Sep 7 11:49:25 UTC 2011 - [email protected] + +- spec-cleaner + +------------------------------------------------------------------- calling whatdependson for head-i586 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ clicfs.spec ++++++ --- /var/tmp/diff_new_pack.2Cp2RU/_old 2011-09-07 17:45:32.000000000 +0200 +++ /var/tmp/diff_new_pack.2Cp2RU/_new 2011-09-07 17:45:32.000000000 +0200 @@ -15,18 +15,22 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild Name: clicfs -BuildRequires: cmake e2fsprogs-devel fuse-devel gcc-c++ openssl-devel xz-devel -Requires: fuse -Summary: Compressed Loop Image Container -Version: 1.4.1 -Release: 2 +Version: 1.4.3 +Release: 1 License: GPLv2 +Summary: Compressed Loop Image Container Group: System/Filesystems Source: clicfs.tar.bz2 +BuildRequires: cmake +BuildRequires: e2fsprogs-devel +BuildRequires: fuse-devel +BuildRequires: gcc-c++ +BuildRequires: openssl-devel +BuildRequires: xz-devel +Requires: fuse BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -35,12 +39,11 @@ systems. It will compress a Loop Image and export it as read write, creating a copy on write behaviour. - %prep -%setup -c %name +%setup -c %{name} %build -export CFLAGS="$RPM_OPT_FLAGS" +export CFLAGS="%{optflags}" export CXXFLAGS="$CFLAGS" cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DLIB=%{_lib} \ @@ -49,15 +52,12 @@ -DCMAKE_SKIP_RPATH=1 . %install -make DESTDIR=$RPM_BUILD_ROOT install - -%clean -rm -rf $RPM_BUILD_ROOT +%make_install %files %defattr(-,root,root) %doc LICENCE %{_bindir}/*clicfs -%_mandir/man1/* +%{_mandir}/man1/* %changelog ++++++ clicfs.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/misc/makeiso.sh new/misc/makeiso.sh --- old/misc/makeiso.sh 2011-08-29 14:48:01.000000000 +0200 +++ new/misc/makeiso.sh 2011-09-07 16:53:32.000000000 +0200 @@ -1 +1,6 @@ -make && cp src/clicfs initrd/usr/bin/clicfs && (cd initrd ; find . | cpio --create --format=newc --quiet | gzip -9 -f > ../CD1/boot/x86_64/loader/initrd) && genisoimage -R -J -f -pad -joliet-long -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/x86_64/loader/isolinux.bin -o kde2.iso CD1/; isohybrid -id $(cat CD1/boot/grub/mbrid) kde2.iso && dd if=/dev/zero seek=1000 count=1 bs=1M of=kde2.iso +set -e +make +cp src/clicfs initrd/usr/bin/clicfs +(cd initrd ; find . | cpio --create --format=newc --quiet | gzip -9 -f > ../CD1/boot/x86_64/loader/initrd) +genisoimage -R -J -f -pad -joliet-long -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/x86_64/loader/isolinux.bin -o kde2.iso CD1/ +#isohybrid -id $(cat CD1/boot/grub/mbrid) kde2.iso && dd if=/dev/zero seek=1000 count=1 bs=1M of=kde2.iso diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/clicfs.c new/src/clicfs.c --- old/src/clicfs.c 2011-08-29 14:48:01.000000000 +0200 +++ new/src/clicfs.c 2011-09-07 16:53:32.000000000 +0200 @@ -27,6 +27,7 @@ #include <errno.h> #include <fcntl.h> #include <assert.h> +#include <signal.h> #include <stdlib.h> #include <pthread.h> #include <sys/time.h> @@ -62,6 +63,21 @@ pthread_mutex_t cowfile_mutex_writer = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t coms_by_part_mutex = PTHREAD_MUTEX_INITIALIZER; +static int detachall = 0; + +void detach_handler(int x) +{ + (void)x; + clic_write_cow(); + close(cowfilefd); + cowfilefd = -1; + cowfilename = 0; + + close(packfilefd); + packfilefd = -1; + detachall = 1; +} + static int clic_write_cow() { if (!cowfilename || cowfile_ro == 1 || !detached_allocated) @@ -404,24 +420,30 @@ return com->out_buffer; } -static void clic_log_access(size_t block) +static void clic_log_access(size_t block, size_t part) { if (!logger) return; +#if 0 static size_t firstblock = 0; static ssize_t lastblock = -1; +#endif + fprintf(logger, "access %ld+8 (part %ld)\n", (long)block*8, part); + +#if 0 if (lastblock >= 0 && block != (size_t)(lastblock + 1)) { - fprintf(logger, "access %ld+%ld\n", (long)firstblock*8, (long)(lastblock-firstblock+1)*8); + fprintf(logger, "access %ld+%ld (part %ld)\n", (long)firstblock*8, (long)(lastblock-firstblock+1)*8, part); firstblock = block; } lastblock = block; if (block > firstblock + 30) { - fprintf(logger, "access %ld+%ld\n", (long)firstblock*8, (long)(lastblock-firstblock+1)*8); + fprintf(logger, "access %ld+%ld (part %ld)\n", (long)firstblock*8, (long)(lastblock-firstblock+1)*8, part); firstblock = block; } +#endif } static ssize_t clic_read_block(char *buf, size_t block); @@ -579,8 +601,6 @@ assert(PTR_CLASS(ptr) == CLASS_RO); // in read only part assert(block < num_pages); - clic_log_access(block); - off_t mapped_block = clic_map_block(block); off_t part, off; @@ -588,6 +608,7 @@ assert(part < parts); + clic_log_access(block, part); //if (part >= largeparts && logger) { fprintf(logger, "big access %ld+8\n", block*8); } const unsigned char *partbuf = clic_uncompress(part); @@ -875,6 +896,9 @@ coms_by_part = malloc(sizeof(struct buffer_combo*)*MAX_COMS_SIZE); assert(coms_by_part); gettimeofday(&start, 0); + + signal(SIGUSR1, detach_handler); + /* MAIN LOOP */ int ret = fuse_main(args.argc, args.argv, &clic_oper, NULL); clic_write_cow(); // ignored ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
