From 4db019d26d52ea0587f94a1f40a55a6238c0bfa9 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Sat, 1 May 2004 21:10:34 +0000 Subject: [PATCH] Fix mount not releasing job git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1337 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/src/cats/grant_mysql_privileges.in | 4 ++-- bacula/src/dird/query.sql | 11 +++++++++++ bacula/src/stored/device.c | 3 +++ bacula/src/stored/dircmd.c | 2 +- bacula/src/stored/spool.c | 18 +++++++++++------- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/bacula/src/cats/grant_mysql_privileges.in b/bacula/src/cats/grant_mysql_privileges.in index a95021e719..aeafd65f1c 100644 --- a/bacula/src/cats/grant_mysql_privileges.in +++ b/bacula/src/cats/grant_mysql_privileges.in @@ -7,8 +7,8 @@ bindir=@SQL_BINDIR@ if $bindir/mysql $* -u root -f <dev_blocked = hold->dev_blocked; dev->dev_prev_blocked = hold->dev_prev_blocked; dev->no_wait_id = hold->no_wait_id; + if (dev->dev_blocked == BST_NOT_BLOCKED && dev->num_waiting > 0) { + pthread_cond_broadcast(&dev->wait); /* wake them up */ + } } diff --git a/bacula/src/stored/dircmd.c b/bacula/src/stored/dircmd.c index 4bcc4d329c..43569da2b7 100644 --- a/bacula/src/stored/dircmd.c +++ b/bacula/src/stored/dircmd.c @@ -559,7 +559,7 @@ static int mount_cmd(JCR *jcr) } read_label(jcr, dev); if (dev_state(dev, ST_LABEL)) { - bnet_fsend(dir, _("3001 Device %s is mounted with Volume \"%s\"\n"), + bnet_fsend(dir, _("3001 Device %s is already mounted with Volume \"%s\"\n"), dev_name(dev), dev->VolHdr.VolName); } else { bnet_fsend(dir, _("3905 Device %s open but no Bacula volume is mounted.\n" diff --git a/bacula/src/stored/spool.c b/bacula/src/stored/spool.c index 8c0f92a5db..902661543b 100644 --- a/bacula/src/stored/spool.c +++ b/bacula/src/stored/spool.c @@ -66,13 +66,17 @@ enum { void list_spool_stats(BSOCK *bs) { char ed1[30], ed2[30]; - bnet_fsend(bs, "Data spooling: %d active jobs %s bytes; %d total jobs %s max bytes/job.\n", - spool_stats.data_jobs, edit_uint64_with_commas(spool_stats.data_size, ed1), - spool_stats.total_data_jobs, - edit_uint64_with_commas(spool_stats.max_data_size, ed2)); - bnet_fsend(bs, "Attr spooling: %d active jobs; %d total jobs %s max bytes/job.\n", - spool_stats.attr_jobs, spool_stats.total_attr_jobs, - edit_uint64_with_commas(spool_stats.max_attr_size, ed1)); + if (spool_stats.data_jobs || spool_stats.max_data_size) { + bnet_fsend(bs, "Data spooling: %d active jobs %s bytes; %d total jobs %s max bytes/job.\n", + spool_stats.data_jobs, edit_uint64_with_commas(spool_stats.data_size, ed1), + spool_stats.total_data_jobs, + edit_uint64_with_commas(spool_stats.max_data_size, ed2)); + } + if (spool_stats.attr_jobs || spool_stats.max_attr_size) { + bnet_fsend(bs, "Attr spooling: %d active jobs; %d total jobs %s max bytes/job.\n", + spool_stats.attr_jobs, spool_stats.total_attr_jobs, + edit_uint64_with_commas(spool_stats.max_attr_size, ed1)); + } } bool begin_data_spool(JCR *jcr) -- 2.39.2