bareos: bareos-17.2 d8036ba2
Author | Committer | Branch | Timestamp | Parent | |
---|---|---|---|---|---|
mvwieringen | pstorz | bareos-17.2 | 2017-06-28 19:41 | bareos-17.2 8a2d9ce9 | Pending |
Changeset | gfapi: Fix backups with empty glusterfind filelist. The original plugin interface always expect one or more files to be backuped. With glusterfind it can happen that no files changed since the last backup which means when we do a setup_backup we return bRC_OK instead of bRC_More which normally means there are more files to backup (for determining what file needs to be processed next we use get_next_file_to_backup() which is also used in the endBackupFile() plugin function. Problem is however returning bRC_OK has different meaning when used in bEventBackupCommand e.g. start of backup vs endBackupFile() there is a nice and smart workaround and that is that we know normally get_next_file_to_backup() should always return bRC_More and only on an empty list a bRC_OK is returned. The way the initialization works we can return anything other then bRC_OK (bRC_Skip in our case) which means the loop never gets executed. As we now never get into the backup loop we also are no longer bitten by the side effect you see on backing up an empty file list e.g. failing backups due to the fact that the backup expects one or more valid so called savepackets. When the filelist is empty a savepacket with as sp_type zero is returned and that leads to the following error: 'no type in startBackupFile packet.' So the problem manifested itself as a way different error then what actually is the real problem. Corner case closed. |
||||
mod - src/filed/fd_plugins.c | Diff File | ||||
mod - src/plugins/filed/gfapi-fd.c | Diff File |