bareos: bareos-16.2-droplet b1a7e785

Author Committer Branch Timestamp Parent
joergs joergs bareos-16.2-droplet 2018-08-31 16:48 dev 486ab772 Pending
Changeset droplet: improves handling when truncating volumes

Without this change, errors when truncating a droplet volume are silently ignored.
This has resulted in errors afterwards
(After truncating done by automatic recycling, some of the chunks did still exist.
When using the volume afterwards, Bareos complains about not matching volume sizes.)

Now, if truncating fails,
the job fails and the volume state is set to Error.

Accessing the chunks of a volume have been done by dpl_opendir before.
Unfortenatly, this function has a bug and returns only the first 1000 entries.

As we know, that chunks are always named as 4 digit numbers from 0000 to 9999
we now iterate through them.

Be default, iterating the chunks of a volume stops if a chunk does not exist.

However, the truncate function iterate through all possible chunks, from 0000 to 9999
This should cover the case, that an old volume exists with gaps in the chunk list.

This commit also fixes the check_remote function.
Before, if droplet have already be initialized
but connection to backend stops operating,
check_remote still return true. This is now fixed.
mod - src/stored/backends/droplet_device.c Diff File
mod - src/stored/backends/droplet_device.h Diff File