]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix mount not releasing job
authorKern Sibbald <kern@sibbald.com>
Sat, 1 May 2004 21:10:34 +0000 (21:10 +0000)
committerKern Sibbald <kern@sibbald.com>
Sat, 1 May 2004 21:10:34 +0000 (21:10 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1337 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/cats/grant_mysql_privileges.in
bacula/src/dird/query.sql
bacula/src/stored/device.c
bacula/src/stored/dircmd.c
bacula/src/stored/spool.c

index a95021e7199459f88685f7ef892d75a70130ce10..aeafd65f1c32b6bcb44cc710708b1bf8ec339753 100644 (file)
@@ -7,8 +7,8 @@ bindir=@SQL_BINDIR@
 
 if $bindir/mysql $* -u root -f <<END-OF-DATA
 use mysql
-grant all privileges on bacula.* to ${USER}@localhost with grant option;
-grant all privileges on bacula.* to ${USER}@"%" with grant option;
+grant all privileges on bacula.* to ${USER}@localhost;
+grant all privileges on bacula.* to ${USER}@"%";
 select * from user;
 flush privileges;
 END-OF-DATA
index 70c57f69be82e27bc5b0b02e498078a25d6d3c14..b5da412209385fbee550487769cdb2a3ee2bf57d 100644 (file)
@@ -156,3 +156,14 @@ SELECT Path.Path,Filename.Name FROM File,
  AND Filename.FilenameId=File.FilenameId 
  AND Path.PathId=File.PathId ORDER BY
  Path.Path,Filename.Name;
+# 14
+:List Jobs stored in a selected MediaId:
+*Enter MediaId:
+SELECT Job.JobId,Job.Name,Job.StartTime,Job.Type,
+ Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus
+  FROM JobMedia,Job
+  WHERE JobMedia.JobId = Job.JobId
+  AND JobMedia.MediaId = %1;
+SELECT MediaId,VolumeName,VolStatus,VolBytes,VolFiles,
+ VolRetention,Recycle,Slot,MediaType,LastWritten
+ FROM Media WHERE MediaId = %1;
index a6aacc52825855567b7996df721ee95c3b1e98a8..d8bd920e6a694940af9a5332cbe4618aee955278 100644 (file)
@@ -417,4 +417,7 @@ void _give_back_device_lock(char *file, int line, DEVICE *dev, bsteal_lock_t *ho
    dev->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 */
+   }
 }
index 4bcc4d329cf6b81ff4fb1bb38a88a2a77245e076..43569da2b773436f69bfaddd64e0d53f88ec3edb 100644 (file)
@@ -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"
index 8c0f92a5dba60d5940b82dc77a2ba0ac360fe2ce..902661543bbddf0742050bbf3060fa3ced1bd6ba 100644 (file)
@@ -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)