bareos: master 47b6b5cc

Author Committer Branch Timestamp Parent
Marco van Wieringen Marco van Wieringen master 2014-07-21 22:46 master 5ca0ce9a Pending
Changeset First prototype dynamic loading SD backends.

We now store all shared objects used in all SD programs
(stored, btape, bls ...) in a shared library named
libbareossd-<version>.so so the final binaries get much
smaller and share the same code. Next to that we started
the first work on making tape specific code abstracted in
the tape_device class and no longer in the generic device
code. Now we implement the different methods of the different
device classes using virtual methods some are pure virtual
which means that the derived class needs to implement this
method itself and some have a default implementation which the
class can override.

This also contains the first try at making it possible to
dynamically load the different SD backends. The file backend
will always be part of the libbareossd.so but the tape and
the different cloud storage backends are dynamically loadable
using the same technique as what is used for loading the
different catalog backends. This means that we can distribute
the different storage programs without the need to have all
kind of dependencies on the different cloud backend we support
now.

As part of this big refactoring we removed the vtape code which
doesn't serve a real purpose anymore in Bareos as there are much
better alternatives (MHVTL and QuadstorVTL) nowadays and we should
carry on unmaintained code. The alternatives also see steady
development while vtape hasn't been updates in ages. Also these
alternative VTL emulators implement a true autochanger, encryption
and much more like personality support for all major brands in
real tape hardware which also means we test our tape code much
more thoroughly.
mod - Makefile.in Diff File
mod - autoconf/configure.in Diff File
mod - src/cats/Makefile.in Diff File
mod - src/include/baconfig.h Diff File
mod - src/include/version.h Diff File
mod - src/lib/Makefile.in Diff File
mod - src/stored/Makefile.in Diff File
add - src/stored/backends/Makefile.in Diff File
mod - src/stored/backends/cephfs_device.c Diff File
mod - src/stored/backends/cephfs_device.h Diff File
add - src/stored/backends/generic_tape_device.c Diff File
add - src/stored/backends/generic_tape_device.h Diff File
mod - src/stored/backends/gfapi_device.c Diff File
mod - src/stored/backends/gfapi_device.h Diff File
mod - src/stored/backends/object_store_device.c Diff File
mod - src/stored/backends/object_store_device.h Diff File
mod - src/stored/backends/rados_device.c Diff File
mod - src/stored/backends/rados_device.h Diff File
add - src/stored/backends/unix_fifo_device.c Diff File
add - src/stored/backends/unix_fifo_device.h Diff File
mod - src/stored/backends/unix_file_device.c Diff File
mod - src/stored/backends/unix_file_device.h Diff File
mod - src/stored/backends/unix_tape_device.c Diff File
mod - src/stored/backends/unix_tape_device.h Diff File
rm - src/stored/backends/vtape.c Diff File
rm - src/stored/backends/vtape.h Diff File
mod - src/stored/block.c Diff File
mod - src/stored/btape.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/protos.h Diff File
add - src/stored/sd_backends.c Diff File
add - src/stored/sd_backends.h Diff File
mod - src/stored/stored_conf.c Diff File
mod - src/win32/stored/Makefile Diff File
mod - src/win32/stored/backends/win32_file_device.c Diff File
mod - src/win32/stored/backends/win32_file_device.h Diff File
mod - src/win32/stored/backends/win32_tape_device.c Diff File
mod - src/win32/stored/backends/win32_tape_device.h Diff File