Lessfs-1.1.0-alpha1 is available for download

Lessfs-1.1.0 has a number of advantages over Lessfs-1.0.x.

To name some of the new features:

  1. The cache layer has been improved. The result is much better overall performance. Especially when writing to lessfs with a small block size.
  2. Lessfs now uses the mhash library and supports a great number of hashes with hash lengths up to 512 bit.
  3. Added support for a number of compression algorithm’s, including gzip, bzip and deflate.
  4. Lessfs now provides detailed compression statistics in /.lessfs/lessfs_stats

Since threading is much improved a high number of MAX_THREADS is advised on systems with multiple CPU cores. Since the code has changed a lot I have decided to release this as alpha1. I do expect the code to be fairly stable though. Does anyone know where to buy asbestos underwear?

Enjoy,

Mark Ruijter

This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Lessfs-1.1.0-alpha1 is available for download

  1. Alex says:

    Hi Mark,

    nice to read this from you, so today i’ve downloaded, compiled, installed this release, but i got a crash.
    When i fall back to 1.0.8 lessfs mount again.
    Here’s my conf :
    DEBUG = 2
    HASHLEN = 24
    BLOCKDATA_PATH=/home/replication_data/blockdata
    BLOCKDATA_BS=112640000
    BLOCKUSAGE_PATH=/home/replication_data/blockusage
    BLOCKUSAGE_BS=1048576
    DIRENT_PATH=/home/replication_data/dirent
    DIRENT_BS=1048576
    FILEBLOCK_PATH=/home/replication_data/fileblock
    FILEBLOCK_BS=1048576
    META_PATH=/home/replication_data/meta
    META_BS=1048576
    HARDLINK_PATH=/home/replication_data/hardlink
    HARDLINK_BS=1048576
    SYMLINK_PATH=/home/replication_data/symlink
    SYMLINK_BS=1048576
    FREELIST_PATH=/home/replication_data/freelist
    FREELIST_BS=1048576
    CACHESIZE=64 #Only 1Gb ram on this test machine
    COMMIT_INTERVAL=15
    LISTEN_IP=127.0.0.1
    LISTEN_PORT=100
    MAX_THREADS=2
    DYNAMIC_DEFRAGMENTATION=off
    COREDUMPSIZE=256000000
    SYNC_RELAX=1
    ENCRYPT_DATA=off
    ENCRYPT_META=off
    ENABLE_TRANSACTIONS=on

    Here is the gdb output :
    gdb /usr/local/bin/lessfs core
    GNU gdb (GDB) 7.0-ubuntu
    Copyright (C) 2009 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type “show copying”
    and “show warranty” for details.
    This GDB was configured as “i486-linux-gnu”.
    For bug reporting instructions, please see:

    Reading symbols from /usr/local/bin/lessfs…done.

    warning: exec file is newer than core file.
    [New Thread 4582]
    [New Thread 4584]

    warning: Can’t read pathname for load map: Erreur d’entrĂ©e/sortie.
    Reading symbols from /usr/lib/libmhash.so.2…(no debugging symbols found)…done.
    Loaded symbols for /usr/lib/libmhash.so.2
    Reading symbols from /usr/local/lib/libtokyocabinet.so.9…done.
    Loaded symbols for /usr/local/lib/libtokyocabinet.so.9
    Reading symbols from /lib/libbz2.so.1.0…(no debugging symbols found)…done.
    Loaded symbols for /lib/libbz2.so.1.0
    Reading symbols from /lib/libz.so.1…(no debugging symbols found)…done.
    Loaded symbols for /lib/libz.so.1
    Reading symbols from /lib/tls/i686/cmov/libpthread.so.0…(no debugging symbols found)…done.
    Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0
    Reading symbols from /lib/tls/i686/cmov/libm.so.6…(no debugging symbols found)…done.
    Loaded symbols for /lib/tls/i686/cmov/libm.so.6
    Reading symbols from /lib/tls/i686/cmov/libc.so.6…(no debugging symbols found)…done.
    Loaded symbols for /lib/tls/i686/cmov/libc.so.6
    Reading symbols from /usr/local/lib/libfuse.so.2…done.
    Loaded symbols for /usr/local/lib/libfuse.so.2
    Reading symbols from /lib/tls/i686/cmov/librt.so.1…(no debugging symbols found)…done.
    Loaded symbols for /lib/tls/i686/cmov/librt.so.1
    Reading symbols from /lib/tls/i686/cmov/libdl.so.2…(no debugging symbols found)…done.
    Loaded symbols for /lib/tls/i686/cmov/libdl.so.2
    Reading symbols from /lib/ld-linux.so.2…(no debugging symbols found)…done.
    Loaded symbols for /lib/ld-linux.so.2
    Core was generated by `/usr/local/bin/lessfs replication_data/config.cfg -o negative_timeout=0,entry_t’.
    Program terminated with signal 11, Segmentation fault.
    #0 0xb7582136 in memcpy () from /lib/tls/i686/cmov/libc.so.6

    Ok, maybe i did something wrong :D
    Download the 1.1.0 alpha, configure, make, make install, mouting lessfs this way :
    /usr/local/bin/lessfs replication_data/config.cfg replication -o negative_timeout=0,entry_timeout=0,attr_timeout=0,use_ino,readdir_ino,default_permissions,allow_other,big_writes,max_read=131072,max_write=131072

    Hope this give you some information :D I’ll accept the following answer :
    “your test machine is bullshit” :p

    Best regards ;)

  2. Bas Bleeker says:

    Sounds good. Unfortunately my setup fails.
    Got this in the logs:
    Jun 4 13:26:23 bbackup mklessfs[9031]: The selected data store is tokyocabinet.
    Jun 4 13:26:23 bbackup mklessfs[9031]: Lessfs transaction support is enabled.
    Jun 4 13:26:23 bbackup mklessfs[9031]: The TIGER192 hash has been selected
    Jun 4 13:26:23 bbackup mklessfs[9031]: Lessfs uses a 32 bytes long hash.
    Jun 4 13:26:23 bbackup mklessfs[9031]: Automatic defragmentation is enabled.
    Jun 4 13:26:23 bbackup mklessfs[9031]: cache 16384 data blocks
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat 1,stbuf.st_atim.tv_sec 1275650784
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat 1,stbuf.st_atim.tv_sec 1275650784
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat 1,stbuf.st_atim.tv_sec 1275650784
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat 1,stbuf.st_atim.tv_sec 1275650784
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat 4,stbuf.st_atim.tv_sec 1275650784
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat 4,stbuf.st_atim.tv_sec 1275650784
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat 1,stbuf.st_atim.tv_sec 1275650784
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat
    Jun 4 13:26:24 bbackup mklessfs[9031]: dbstat 4,stbuf.st_atim.tv_sec 1275650784
    Jun 4 13:27:18 bbackup datamount: Starting LessFS on /data…
    Jun 4 13:27:18 bbackup datamount: Mount /etc/lessfs.cfg on /data
    Jun 4 13:27:18 bbackup lessfs[9850]: The selected data store is tokyocabinet.
    Jun 4 13:27:18 bbackup lessfs[9850]: Lessfs transaction support is enabled.
    Jun 4 13:27:18 bbackup lessfs[9850]: The TIGER192 hash has been selected
    Jun 4 13:27:18 bbackup lessfs[9850]: Lessfs uses a 32 bytes long hash.
    Jun 4 13:27:18 bbackup lessfs[9850]: Automatic defragmentation is enabled.
    Jun 4 13:27:18 bbackup lessfs[9850]: cache 16384 data blocks
    Jun 4 13:27:18 bbackup lessfs[9852]: INODE SIZE COMPRESSED_SIZE FILENAME#0127 0 0 lessfs_stats
    Jun 4 13:27:18 bbackup lessfs[9852]: Invalid hashsize or hash found, do not change hash or hashsize after formatting lessfs.

    I am running the latest Ubuntu 64-bit. When I was using 32-bit, all went ok. When trying to mount a 64-bit, even just after a mklessfs, it failed. The cfg is default, with the exception of the pathnames and the cachesize:2048 MB
    Underlying FS is ext4 on an LVM volume. (for both dta & mta)
    I had de same issue with 1.0.8.
    Hope all this helps.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>