From c744afb876882d56f5a73a79f057124621027f36 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Sat, 26 Jun 2010 13:07:24 +0200 Subject: [PATCH] Fix bug #1587 if you have clients with different catalogs configured, both catalogs contains all clients after a reload or restart of the dir --- bacula/src/dird/dird.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bacula/src/dird/dird.c b/bacula/src/dird/dird.c index 38c20c8dd1..78344390c9 100644 --- a/bacula/src/dird/dird.c +++ b/bacula/src/dird/dird.c @@ -1003,6 +1003,14 @@ static bool check_catalog(cat_op mode) CLIENT *client; foreach_res(client, R_CLIENT) { CLIENT_DBR cr; + /* Create clients only if they use the current catalog */ + if (client->catalog != catalog) { + Dmsg3(500, "Skip client=%s with cat=%s not catalog=%s\n", + client->name(), client->catalog->name(), catalog->name()); + continue; + } + Dmsg2(500, "create cat=%s for client=%s\n", + client->catalog->name(), client->name()); memset(&cr, 0, sizeof(cr)); bstrncpy(cr.Name, client->name(), sizeof(cr.Name)); db_create_client_record(NULL, db, &cr); -- 2.39.5