bareos: master 860aaeb1

Author Committer Branch Timestamp Parent
pstorz mvwieringen master 2014-02-25 10:19 master dc89f661 Pending
Affected Issues  0000267: make blocksize a property of the pool
Changeset Adds support for different blocksizes.

Min- and maxblocksize are now a property of the
pool and are promoted to tapes in that pool.

Therefore, the media and pool database tables were
adapted to hold min and maxblocksize.

In order to be able to read the tape label always,
the label is always read and written with the
DEFAULT_BLOCK_SIZE = 63k/64512 bytes

For backward compatibility, the blocksize
DEFAULT_BLOCK_SIZE is used if the blocksize
for the medium is zero in the database table.

The device blocksizes are set to the values
of the mounted volume after it was mounted, so
all blocks being written after the label block
are written with the blocksizes configured in the
medium/pool.

Moving a tape from one pool to another through
the scratch pool mechanism is supported,
as then the pool's properties are promoted
to the medium.

This new feature makes it possible to move from
one blocksize to a new one during normal operation
while being able to restore the old backups at any
time.

For disaster recovery (DR) using bscan etc. you need to
set the blocksize used during write of the tape for
restore.

Fixes 0000267: make blocksize a property of the pool
mod - src/cats/cats.h Diff File
mod - src/cats/sql_create.c Diff File
mod - src/cats/sql_find.c Diff File
mod - src/cats/sql_get.c Diff File
mod - src/cats/sql_update.c Diff File
mod - src/dird/catreq.c Diff File
mod - src/dird/dird_conf.c Diff File
mod - src/dird/dird_conf.h Diff File
mod - src/dird/ua_cmds.c Diff File
mod - src/dird/ua_label.c Diff File
mod - src/lib/scan.c Diff File
mod - src/stored/acquire.c Diff File
mod - src/stored/askdir.c Diff File
mod - src/stored/block.c Diff File
mod - src/stored/block.h Diff File
mod - src/stored/bscan.c Diff File
mod - src/stored/butil.c Diff File
mod - src/stored/dev.c Diff File
mod - src/stored/dev.h Diff File
mod - src/stored/dir_cmd.c Diff File
mod - src/stored/label.c Diff File
mod - src/stored/mount.c Diff File
mod - src/stored/protos.h Diff File
mod - src/stored/reserve.c Diff File
mod - src/stored/sd_plugins.c Diff File
mod - src/stored/spool.c Diff File
mod - src/stored/stored.c Diff File
mod - src/stored/stored.h Diff File
mod - src/stored/stored_conf.c Diff File
mod - src/stored/stored_conf.h Diff File