bareos: bareos-15.2 37a083f5
Author | Committer | Branch | Timestamp | Parent | |
---|---|---|---|---|---|
mvwieringen | mvwieringen | bareos-15.2 | 2015-12-24 11:15 | bareos-15.2 6c03073d | Pending |
Affected Issues | 0000253: Enable concurrent jobs on Windows platforms | ||||
Changeset | vss: Get rid of one VSS client at a time. The VSS code is currently one big minefield with global variables all over the place. These changes make it a bit better at the costs of using some so called thread specific data pointers e.g. using pthread_set_specific() and pthread_get_specific(). The big change is that we setup two TSD keys which control the Thread Specific Data. There is one key which holds the so called UTF8 to UCS2 cache which caches the last conversion done as this conversion is rather expensive and is done multiple times. The second key is used for registering the callback for the VSS pathconvert functions. In the FILED code we now keep track of the VSS instance used using a variable in the JCR instead of using a global VSS instance. As each Job uses one thread we could now run multiple Jobs which shouldn't clobber each others caches, have callbacks for VSS if they use VSS and have their own instance of the VSS class. By removing these limits we also had to fix the following problems: - CoInitializeSecurity may only be called once. - Wait for Snapshotset to complete Fixes 0000253: Enable concurrent jobs on Windows platforms Signed-off-by: Philipp Storz <philipp.storz@bareos.com> |
||||
mod - src/filed/backup.c | Diff File | ||||
mod - src/filed/dir_cmd.c | Diff File | ||||
mod - src/filed/fd_plugins.c | Diff File | ||||
mod - src/filed/filed.h | Diff File | ||||
mod - src/filed/status.c | Diff File | ||||
mod - src/findlib/acl.c | Diff File | ||||
mod - src/findlib/attribs.c | Diff File | ||||
mod - src/findlib/create_file.c | Diff File | ||||
mod - src/findlib/find.c | Diff File | ||||
mod - src/findlib/find.h | Diff File | ||||
mod - src/findlib/find_one.c | Diff File | ||||
mod - src/findlib/match.c | Diff File | ||||
mod - src/findlib/xattr.c | Diff File | ||||
mod - src/include/jcr.h | Diff File | ||||
mod - src/lib/jcr.c | Diff File | ||||
mod - src/win32/compat/compat.c | Diff File | ||||
mod - src/win32/compat/include/compat.h | Diff File | ||||
mod - src/win32/compat/winapi.c | Diff File | ||||
mod - src/win32/filed/Makefile | Diff File | ||||
mod - src/win32/filed/vss.c | Diff File | ||||
mod - src/win32/filed/vss_generic.c | Diff File | ||||
mod - src/win32/filed/who.h | Diff File | ||||
mod - src/win32/findlib/win32.c | Diff File | ||||
mod - src/win32/generic/main.c | Diff File | ||||
mod - src/win32/include/vss.h | Diff File |