Hi, Marc Schiffbauer wrote:
Finally got around to messing around with bacula again... > The manual says that nnn being the same number for both settings > means "fixed" blocksize. > > As I understand it, your solutions should be to just set the > "Minimum Block Size" so you get a good perfromance. > > Minimum Block Size = 1048576 Unfortunately just setting a Minimum Block Size does not work. btape for instance will not work then. It dies with a glibc error. (See end of mail for full trace. For instance with the following setting: Minimum Block Size = 256000 [EMAIL PROTECTED]:/etc/bacula# btape -c bacula-sd.conf /dev/nst0 <snip> test <snip> *** glibc detected *** malloc(): memory corruption: 0x080d9d90 *** Setting both a Minimum Block Size and Maximum Block Size to the same value *does* seems to work with btape. BTW, I tried using 1048576. Unfortunately this does not work. From src/stored/dev.c: if (dev->max_block_size > 1000000) { Jmsg3(jcr, M_ERROR, 0, _("Block size %u on device %s is too large, using default %u\n"), dev->max_block_size, dev->print_name(), DEFAULT_BLOCK_SIZE); Oops. Why can I not use > 1000000 bytes? This seems a *really* strange restriction. I can happily use blocks of several megabytes using tar. ====================================================================== Btape error: [EMAIL PROTECTED]:/etc/bacula# btape -c bacula-sd.conf /dev/nst0 Tape block granularity is 1024 bytes. btape: butil.c:285 Using device: "/dev/nst0" for writing. btape: btape.c:368 open device "LTO-4" (/dev/nst0): OK *test === Write, rewind, and re-read test === I'm going to write 1000 records and an EOF then write 1000 records and an EOF, then rewind, and re-read the data to verify that it is correct. This is an *essential* feature ... *** glibc detected *** malloc(): memory corruption: 0x080d9d90 *** [EMAIL PROTECTED]:/etc/bacula# gdb `which btape` GNU gdb 6.4-debian Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (gdb) run -c /etc/bacula/bacula-sd.conf /dev/nst0 Starting program: /sbin/btape -c /etc/bacula/bacula-sd.conf /dev/nst0 [Thread debugging using libthread_db enabled] [New Thread -1210566432 (LWP 2054)] Tape block granularity is 1024 bytes. btape: butil.c:285 Using device: "/dev/nst0" for writing. btape: btape.c:368 open device "LTO-4" (/dev/nst0): OK *test === Write, rewind, and re-read test === I'm going to write 1000 records and an EOF then write 1000 records and an EOF, then rewind, and re-read the data to verify that it is correct. This is an *essential* feature ... Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1210566432 (LWP 2054)] 0x08051eae in write_block_to_dev (dcr=0x80c9a40) at block.c:462 462 memset(block->bufp, 0, wlen-blen); /* clear garbage */ Current language: auto; currently c++ ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users