[pkg-bacula-commits] [bacula] 01/01: Imported Upstream version 5.2.13
Carsten Leonhardt
cl-guest at moszumanska.debian.org
Mon Jul 20 11:52:40 UTC 2015
This is an automated email from the git hooks/post-receive script.
cl-guest pushed a commit to branch upstream
in repository bacula.
commit 899ded170bbc212efa2bafb740bef0f691cccd98
Author: Carsten Leonhardt <leo at debian.org>
Date: Mon Jul 20 13:50:34 2015 +0200
Imported Upstream version 5.2.13
Changes from upstream:
src/lib/sha1.{h,c}: (#658326) remove, DFSG-nonfree, RFC 3174
---
ChangeLog | 177 +-
Makefile.in | 7 +
ReleaseNotes | 117 +-
autoconf/acconfig.h | 1 +
autoconf/bacula-macros/os.m4 | 11 +
autoconf/config.h.in | 1 +
autoconf/configure.in | 18 +-
configure | 66 +-
examples/autochangers/chio-changer-openbsd | 42 +-
kernstodo | 1391 ---------------
platforms/Makefile.in | 2 +-
platforms/hurd/Makefile.in | 88 +
platforms/hurd/bacula-dir.in | 73 +
platforms/hurd/bacula-fd.in | 73 +
platforms/hurd/bacula-sd.in | 73 +
po/POTFILES.in | 1 -
po/bacula.pot | 2193 ++++++++++++------------
po/de.po | 2214 ++++++++++++------------
po/es.po | 2266 +++++++++++++------------
po/fr.po | 2238 ++++++++++++------------
po/nl.po | 2193 ++++++++++++------------
po/sv.po | 2193 ++++++++++++------------
po/uk.po | 2198 ++++++++++++------------
release/clean | 2 +-
release/makeall | 2 +-
release/makedocsrel | 1 +
src/baconfig.h | 23 +-
src/cats/bvfs.c | 4 +-
src/cats/make_postgresql_tables.in | 3 +-
src/cats/sql_cmds.c | 68 +-
src/cats/update_postgresql_tables.in | 3 +
src/console/conio.c | 11 +-
src/dird/backup.c | 4 +
src/dird/dird.c | 47 +-
src/dird/dird_conf.c | 7 +
src/dird/dird_conf.h | 1 +
src/dird/job.c | 2 +-
src/dird/jobq.c | 5 +-
src/dird/migrate.c | 2 +
src/dird/msgchan.c | 8 +-
src/dird/restore.c | 3 +
src/dird/ua_acl.c | 2 +-
src/dird/ua_cmds.c | 129 +-
src/dird/ua_dotcmds.c | 7 +
src/dird/ua_label.c | 13 +-
src/dird/ua_output.c | 5 +-
src/dird/ua_prune.c | 18 +-
src/dird/ua_run.c | 42 +-
src/dird/vbackup.c | 3 +
src/filed/acl.c | 20 +-
src/filed/backup.c | 11 +-
src/filed/restore.c | 6 +
src/filed/xattr.c | 39 +-
src/filed/xattr.h | 4 +-
src/findlib/bfile.c | 6 +
src/findlib/find.c | 3 +
src/findlib/find.h | 1 +
src/findlib/find_one.c | 16 +-
src/findlib/mkpath.c | 4 +
src/jcr.h | 6 +-
src/lib/bsys.c | 51 +
src/lib/crc32.c | 6 +
src/lib/devlock.c | 4 +-
src/lib/jcr.c | 6 +
src/lib/lex.c | 14 +-
src/lib/lex.h | 6 +-
src/lib/message.c | 85 +-
src/lib/message.h | 5 +-
src/lib/mntent_cache.c | 17 +-
src/lib/mutex_list.h | 2 +-
src/lib/parse_conf.h | 1 +
src/lib/protos.h | 3 +-
src/lib/signal.c | 23 +-
src/qt-console/bat.pro.in | 4 +
src/qt-console/bcomm/dircomm.cpp | 3 +-
src/qt-console/images/bat_icon.icns | Bin 0 -> 125067 bytes
src/qt-console/main.cpp | 10 +-
src/qt-console/select/textinput.ui | 72 +-
src/qt-console/util/fmtwidgetitem.cpp | 2 +-
src/stored/acquire.c | 139 +-
src/stored/askdir.c | 104 +-
src/stored/bcopy.c | 6 +-
src/stored/block.c | 8 +-
src/stored/bscan.c | 4 +
src/stored/btape.c | 12 +-
src/stored/dev.c | 22 +-
src/stored/dev.h | 73 +-
src/stored/device.c | 10 +-
src/stored/dircmd.c | 24 +-
src/stored/job.c | 2 +-
src/stored/lock.c | 286 +++-
src/stored/mount.c | 31 +-
src/stored/parse_bsr.c | 3 +-
src/stored/reserve.c | 14 +-
src/stored/spool.c | 23 +-
src/stored/status.c | 232 ++-
src/stored/stored.h | 4 +-
src/stored/vol_mgr.c | 184 +-
src/stored/vol_mgr.h | 100 ++
src/stored/wait.c | 4 +-
src/streams.h | 7 +
src/tools/Makefile.in | 8 +-
src/tools/bpluginfo.c | 6 +-
src/tools/timelimit.1 | 217 +++
src/tools/timelimit.c | 537 ++++++
src/version.h | 10 +-
updatedb/update_postgresql_tables_10_to_11.in | 2 +-
107 files changed, 11081 insertions(+), 9472 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index fabda9e..0e175d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,179 @@
- Changelog on version 5.2.12
+ Changelog on version 5.2.13
+
+
+Release version 5.2.13
+
+19Feb13
+ - Fix build/configure problems with bpluginfo.c
+ - Add missing vol_mgr.h file
+ - Add timer to run_multiple
+
+18Feb13
+ - Refactor lock_volumes so most lock a vol rather than globally
+ - Add virtualfull-extreme test
+
+17Feb13
+ - Apply patch for chio-changer-openbsd from bug #1984 -- Implements listall
+ - Add bat Mac patch from bug #1953
+
+16Feb13
+ - Fix bug #1812 cannot run Copy/Migrate jobs from bat
+ - Fix loading of bat translations. Patch from bug #1890
+ - Fix text input in bat. Fixe bug #1965
+ - Remove Device from show command as it is not used or updated
+
+13Feb13
+ - Fix #1982 update enabled keyword in help command
+
+08Feb13
+ - Fix update_postgresql_tables 10 to 11
+
+30Jan13
+ - Clean after building doc binaries requested by Willem vd Akker for Debian
+ build
+
+29Jan13
+ - Remove unused method
+ - Require Qt version 4.8.4
+ - Fix bug #1955 that OK to run? does not retry on bad response
+ - Backport new lock calls + debug for SD
+
+26Jan13
+ - Remove old todo
+
+09Jan13
+ - Fix bug #1975 new label ignored when first is duplicate.
+
+31Dec12
+ - Require Qt 4.8.1 to build bat
+
+27Dec12
+ - Make compile of timelimit a bit more portable
+
+26Dec12
+ - Tweek turn off prune-test
+ - Pull src/lib changes from master
+ - Pull SD files from master
+
+25Dec12
+ - Turn off prune-test
+ - Add logdir and bsrdir to regression config
+ - Add bsrdir and logdir to regress-config
+ - Rebuild configure
+ - Changed default directories from /var/bacula to /opt/bacula
+ - Fix patches from master
+ - Make spool size max message more explicit
+ - Display more info when maximum spool size is reached
+
+23Dec12
+ - Fix TERM defs for Solaris 11 in conio.c
+
+21Dec12
+ - Force DEVELOPER on during regression setup
+
+14Dec12
+ - Allow group to cd to sysconfdir
+
+09Dec12
+ - Make sysconfdir belong to Bacula user/group and exclude others
+
+07Dec12
+ - Fix Virtual Full file close bug -- race condition
+ - Enhance mount message to include read/append
+
+06Dec12
+ - Improve vol_mgr swap messages
+ - Add Jmsg7 and Jmsg8
+ - Enhance output of Using Device to include for read/write
+
+04Dec12
+ - Add jobid to Pmsg output
+
+29Nov12
+ - Fix bug #1959 input validation on delete of jobs.
+
+24Nov12
+ - Fix bug #1956 Authorization Errors false
+
+23Nov12
+ - Add workaround for #5507 where autoprune and reload are in deadlock
+
+21Nov12
+ - Allow conf file quoted strings to be used in a list
+ - Make bfgets handle very long lines
+ - Backport from Enterprise
+
+17Nov12
+ - Avoid seg fault by checking for NULL client -- reported by Arno
+
+10Nov12
+ - Final fix of bug #1943
+
+08Nov12
+ - Fix bug #1948 MailOnSuccess get executed on error.
+
+07Nov12
+ - Fix missing index on Media table
+
+06Nov12
+ - Fix bug #1943 no message storage on closed database connection.
+ - Fix bug #1946 Fix problem with MySQL with big Base jobs.
+
+02Nov12
+ - Reduce wait time in regression RunScripts
+ - Attempt to indicate timed out tests
+ - Implement a timeout on regression tests of 15 minutes
+ - Fix #5346 .bvfs_lsfiles and .bvfs_restore to handle deleted files
+
+01Nov12
+ - Fix spooldata, accurate and ingnoreduplicate run argument
+
+21Oct12
+ - Add remote regress test script
+
+16Oct12
+ - Fix messages segfault
+
+10Oct12
+ - Recompile configure.in
+ - Implement feature request #1939
+
+07Oct12
+ - fix #1938 about PATH_MAX on hurd
+ - fix #1938 about MAXPATHLEN on hurd
+
+05Oct12
+ - Fix bug #1937 OpenBSD autochanger example script
+
+25Sep12
+ - Fix #4996 about MaxRunTime canceling the job too early
+
+19Sep12
+ - Fix bug #1934 Wrong values at media list in BAT
+
+18Sep12
+ - Fix race condition in close_msg that causes seg fault
+
+16Sep12
+ - Fix double unlink
+ - More tests for freeing NULL pointers
+
+14Sep12
+ - Add MaximumConcurrentReadJobs directive to Storage resource
+
+03Sep12
+ - Add ujobid to .bvfs_get_jobids
+
+28Aug12
+ - Do not try to strip RestoreObject during attribute encoding
+ - Avoid problem when stripping a relative path
+
+16Jul12
+ - Fix #4513 about HIDDEN attribute set to parent directory during restore
+
+Bugs fixed/closed since last release:
+1812 1890 1934 1937 1938 1939 1943 1946 1948 1953 1955 1956 1959 1965 1975 1982 1984 4513 4996 5346 5507
+
Version 5.2.12
diff --git a/Makefile.in b/Makefile.in
index 1abc14a..5483fe3 100755
--- a/Makefile.in
+++ b/Makefile.in
@@ -94,6 +94,13 @@ libtool: Makefile $(LIBTOOL_DEPS)
installdirs:
$(MKDIR) $(DESTDIR)$(sbindir)
$(MKDIR) $(DESTDIR)$(sysconfdir)
+ chmod 770 $(DESTDIR)$(sysconfdir)
+ -if test "x$(dir_user)" != "x" ; then \
+ chown $(dir_user) $(DESTDIR)$(sysconfdir); \
+ fi
+ -if test "x$(dir_group)" != "x" ; then \
+ chgrp $(dir_group) $(DESTDIR)$(sysconfdir); \
+ fi
$(MKDIR) $(DESTDIR)$(scriptdir)
$(MKDIR) $(DESTDIR)$(docdir)
$(MKDIR) $(DESTDIR)$(archivedir)
diff --git a/ReleaseNotes b/ReleaseNotes
index b667e81..8ae7b58 100644
--- a/ReleaseNotes
+++ b/ReleaseNotes
@@ -1,10 +1,125 @@
- Release Notes for Bacula 5.2.12
+ Release Notes for Bacula 5.2.13
Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)
General:
--------
+This is an important bug fix release.
+
+Version 5.2.13 version has 20 bug fixes since the last
+release. Some of the bug fixes are important.
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+Please note that with this version of Bacula, during the install
+of the shared libraries from the src/cats, src/lib, and src/findlib
+directories, any old Bacula libraries in the installation
+destination directory will be removed. This should not cause
+any problems and at least keeps the installation library cleaner.
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+For packagers, if you change options, naming, and the way
+we link our shared object files, as at least one of you does,
+you are creating a situation where the user may not be able
+to run multiple versions of Bacula on the same machine, which
+is often very useful, and in addition, you create a configuration
+that the project cannot properly support.
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+If you are upgrading from a version older than 5.2.10, please
+read all the old ReleaseNotes of all versions released
+after the version you are upgrading from. There area
+many important notices sumarized here, and we do not
+repeat them each bug fix release.
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+Compatibility:
+--------------
+ As always, both the Director and Storage daemon must be upgraded at
+ the same time.
+
+ Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.13
+ Director and Storage daemons. There should be no need to upgrade older File
+ Daemons.
+
+Important changes since last release:
+
+19Feb13
+ - Fix build/configure problems with bpluginfo.c
+ - Refactor lock_volumes so most lock a vol rather than globally
+ - Add virtualfull-extreme test
+ - Apply patch for chio-changer-openbsd from bug #1984 -- Implements listall
+ - Add bat Mac patch from bug #1953
+ - Fix bug #1812 cannot run Copy/Migrate jobs from bat
+ - Fix loading of bat translations. Patch from bug #1890
+ - Fix text input in bat. Fixe bug #1965
+ - Remove Device from show command as it is not used or updated
+ - Fix #1982 update enabled keyword in help command
+ - Fix update_postgresql_tables 10 to 11
+ - Clean after building doc binaries requested by Willem vd Akker for Debian
+ build
+ - Require Qt version 4.8.4
+ - Fix bug #1955 that OK to run? does not retry on bad response
+ - Backport new lock calls + debug for SD
+ - Fix bug #1975 new label ignored when first is duplicate.
+ - Pull src/lib changes from master
+ - Pull SD files from master
+ - Turn off prune-test
+ - Add logdir and bsrdir to regression config
+ - Add bsrdir and logdir to regress-config
+ - Changed default directories from /var/bacula to /opt/bacula
+ - Make spool size max message more explicit
+ - Display more info when maximum spool size is reached
+ - Fix TERM defs for Solaris 11 in conio.c
+ - Allow group to cd to sysconfdir
+ - Make sysconfdir belong to Bacula user/group and exclude others
+ - Fix Virtual Full file close bug -- race condition
+ - Enhance mount message to include read/append
+ - Improve vol_mgr swap messages
+ - Enhance output of Using Device to include for read/write
+ - Add jobid to Pmsg output
+ - Fix bug #1959 input validation on delete of jobs.
+ - Fix bug #1956 Authorization Errors false
+ - Add workaround for #5507 where autoprune and reload are in deadlock
+ - Allow conf file quoted strings to be used in a list
+ - Make bfgets handle very long lines
+ - Avoid seg fault by checking for NULL client -- reported by Arno
+ - Final fix of bug #1943
+ - Fix bug #1948 MailOnSuccess get executed on error.
+ - Fix missing index on Media table
+ - Fix bug #1943 no message storage on closed database connection.
+ - Fix bug #1946 Fix problem with MySQL with big Base jobs.
+ - Reduce wait time in regression RunScripts
+ - Implement a timeout on regression tests of 15 minutes
+ - Fix #5346 .bvfs_lsfiles and .bvfs_restore to handle deleted files
+ - Fix spooldata, accurate and ingnoreduplicate run argument
+ - Fix messages segfault
+ - Implement feature request #1939
+ - fix #1938 about PATH_MAX on hurd
+ - fix #1938 about MAXPATHLEN on hurd
+ - Fix bug #1937 OpenBSD autochanger example script
+ - Fix #4996 about MaxRunTime canceling the job too early
+ - Fix bug #1934 Wrong values at media list in BAT
+ - Fix race condition in close_msg that causes seg fault
+ - Fix double unlink
+ - More tests for freeing NULL pointers
+ - Add MaximumConcurrentReadJobs directive to Storage resource
+ - Add ujobid to .bvfs_get_jobids
+ - Avoid problem when stripping a relative path
+ - Fix #4513 about HIDDEN attribute set to parent directory during restore
+
+Bugs fixed/closed since last release:
+1812 1890 1934 1937 1938 1939 1943 1946 1948 1953 1955 1956 1959 1965 1975
+1982 1984 4513 4996 5346 5507
+
+
+=================================================================
+
+
+General:
+--------
Version 5.2.12 version is a bug fix release.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diff --git a/autoconf/acconfig.h b/autoconf/acconfig.h
index 40a91d7..4c5f8dd 100644
--- a/autoconf/acconfig.h
+++ b/autoconf/acconfig.h
@@ -143,6 +143,7 @@
#undef HAVE_CYGWIN
#undef HAVE_OSF1_OS
#undef HAVE_DARWIN_OS
+#undef HAVE_HURD_OS
/* Set to correct scanf value for long long int */
#undef lld
diff --git a/autoconf/bacula-macros/os.m4 b/autoconf/bacula-macros/os.m4
index 2833e4d..1af4f90 100644
--- a/autoconf/bacula-macros/os.m4
+++ b/autoconf/bacula-macros/os.m4
@@ -62,6 +62,14 @@ else
BA_CONDITIONAL(HAVE_SUN_OS, $FALSEPRG)
fi
+if test $HAVE_UNAME=yes -a x`uname -s` = xGNU
+then
+ BA_CONDITIONAL(HAVE_HURD_OS, $TRUEPRG)
+ AC_DEFINE(HAVE_HURD_OS)
+else
+ BA_CONDITIONAL(HAVE_HURD_OS, $FALSEPRG)
+fi
+
if test $HAVE_UNAME=yes -a x`uname -s` = xOSF1
then
BA_CONDITIONAL(HAVE_OSF1_OS, $TRUEPRG)
@@ -168,6 +176,9 @@ then
elif test $HAVE_UNAME=yes -a x`uname -s` = xSunOS
then
DISTNAME=solaris
+elif test $HAVE_UNAME=yes -a x`uname -s` = xGNU
+then
+ DISTNAME=hurd
elif test $HAVE_UNAME=yes -a x`uname -s` = xFreeBSD
then
DISTNAME=freebsd
diff --git a/autoconf/config.h.in b/autoconf/config.h.in
index 731ca0a..4ce9ed2 100644
--- a/autoconf/config.h.in
+++ b/autoconf/config.h.in
@@ -143,6 +143,7 @@
#undef HAVE_CYGWIN
#undef HAVE_OSF1_OS
#undef HAVE_DARWIN_OS
+#undef HAVE_HURD_OS
/* Set to correct scanf value for long long int */
#undef lld
diff --git a/autoconf/configure.in b/autoconf/configure.in
index 7931835..1237328 100644
--- a/autoconf/configure.in
+++ b/autoconf/configure.in
@@ -1216,7 +1216,7 @@ AC_SEARCH_LIBS(dlopen, [dl])
dnl ------------------------------------------
dnl Where to place working dir
dnl ------------------------------------------
-working_dir=`eval echo ${prefix}/var/bacula/working`
+working_dir=`eval echo ${prefix}/opt/bacula/working`
AC_ARG_WITH(working-dir,
AC_HELP_STRING([--with-working-dir=PATH], [specify path of Bacula working directory]),
[
@@ -1301,7 +1301,7 @@ AC_SUBST(scriptdir)
dnl ------------------------------------------
dnl Where to place bsrdir (bsr files)
dnl ------------------------------------------
-bsrdir=`eval echo ${prefix}/var/bacula/working`
+bsrdir=`eval echo ${prefix}/opt/bacula/bsr`
AC_ARG_WITH(bsrdir,
AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]),
[
@@ -1316,7 +1316,7 @@ AC_SUBST(bsrdir)
dnl ------------------------------------------
dnl Where to place logdir (bsr files)
dnl ------------------------------------------
-logdir=`eval echo ${prefix}/var/bacula/working`
+logdir=`eval echo ${prefix}/opt/bacula/log`
AC_ARG_WITH(logdir,
AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]),
[
@@ -2379,7 +2379,7 @@ AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
], [
call_use_va_copy(1,2,3)
], [
- ba_cv_va_copy=yes,
+ ba_cv_va_copy=yes
], [
ba_cv_va_copy=no
]
@@ -3152,6 +3152,16 @@ freebsd)
platforms/freebsd/bacula-dir"
largefile_support="yes"
;;
+hurd)
+ DISTVER=`uname -r`
+ TAPEDRIVE="/dev/nst0"
+ PSCMD="ps -e -o pid,command"
+ PFILES="${PFILES} \
+ platforms/hurd/Makefile \
+ platforms/hurd/bacula-fd \
+ platforms/hurd/bacula-sd \
+ platforms/hurd/bacula-dir"
+ ;;
hpux)
PSCMD="UNIX95=1; ps -e -o pid,comm"
CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
diff --git a/configure b/configure
index 32109ee..21b2a51 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for bacula 5.2.11.
+# Generated by GNU Autoconf 2.68 for bacula 5.2.12.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -567,8 +567,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='bacula'
PACKAGE_TARNAME='bacula'
-PACKAGE_VERSION='5.2.11'
-PACKAGE_STRING='bacula 5.2.11'
+PACKAGE_VERSION='5.2.12'
+PACKAGE_STRING='bacula 5.2.12'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -771,6 +771,8 @@ HAVE_AIX_OS_FALSE
HAVE_AIX_OS_TRUE
HAVE_OSF1_OS_FALSE
HAVE_OSF1_OS_TRUE
+HAVE_HURD_OS_FALSE
+HAVE_HURD_OS_TRUE
HAVE_SUN_OS_FALSE
HAVE_SUN_OS_TRUE
INCLUDE_UNINSTALL_TARGET
@@ -1559,7 +1561,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures bacula 5.2.11 to adapt to many kinds of systems.
+\`configure' configures bacula 5.2.12 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1628,7 +1630,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of bacula 5.2.11:";;
+ short | recursive ) echo "Configuration of bacula 5.2.12:";;
esac
cat <<\_ACEOF
@@ -1831,7 +1833,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-bacula configure 5.2.11
+bacula configure 5.2.12
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2761,7 +2763,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by bacula $as_me 5.2.11, which was
+It was created by bacula $as_me 5.2.12, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -16794,6 +16796,31 @@ else
fi
fi
+if test $HAVE_UNAME=yes -a x`uname -s` = xGNU
+then
+
+
+if $TRUEPRG; then
+ HAVE_HURD_OS_TRUE=
+ HAVE_HURD_OS_FALSE='#'
+else
+ HAVE_HURD_OS_TRUE='#'
+ HAVE_HURD_OS_FALSE=
+fi
+ $as_echo "#define HAVE_HURD_OS 1" >>confdefs.h
+
+else
+
+
+if $FALSEPRG; then
+ HAVE_HURD_OS_TRUE=
+ HAVE_HURD_OS_FALSE='#'
+else
+ HAVE_HURD_OS_TRUE='#'
+ HAVE_HURD_OS_FALSE=
+fi
+fi
+
if test $HAVE_UNAME=yes -a x`uname -s` = xOSF1
then
@@ -17087,6 +17114,9 @@ then
elif test $HAVE_UNAME=yes -a x`uname -s` = xSunOS
then
DISTNAME=solaris
+elif test $HAVE_UNAME=yes -a x`uname -s` = xGNU
+then
+ DISTNAME=hurd
elif test $HAVE_UNAME=yes -a x`uname -s` = xFreeBSD
then
DISTNAME=freebsd
@@ -23456,7 +23486,7 @@ if test "$ac_res" != no; then :
fi
-working_dir=`eval echo ${prefix}/var/bacula/working`
+working_dir=`eval echo ${prefix}/opt/bacula/working`
# Check whether --with-working-dir was given.
if test "${with_working_dir+set}" = set; then :
@@ -23540,7 +23570,7 @@ fi
-bsrdir=`eval echo ${prefix}/var/bacula/working`
+bsrdir=`eval echo ${prefix}/opt/bacula/bsr`
# Check whether --with-bsrdir was given.
if test "${with_bsrdir+set}" = set; then :
@@ -23555,7 +23585,7 @@ fi
-logdir=`eval echo ${prefix}/var/bacula/working`
+logdir=`eval echo ${prefix}/opt/bacula/log`
# Check whether --with-logdir was given.
if test "${with_logdir+set}" = set; then :
@@ -28518,7 +28548,7 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- ba_cv_va_copy=yes,
+ ba_cv_va_copy=yes
else
@@ -30697,6 +30727,16 @@ freebsd)
platforms/freebsd/bacula-dir"
largefile_support="yes"
;;
+hurd)
+ DISTVER=`uname -r`
+ TAPEDRIVE="/dev/nst0"
+ PSCMD="ps -e -o pid,command"
+ PFILES="${PFILES} \
+ platforms/hurd/Makefile \
+ platforms/hurd/bacula-fd \
+ platforms/hurd/bacula-sd \
+ platforms/hurd/bacula-dir"
+ ;;
hpux)
PSCMD="UNIX95=1; ps -e -o pid,comm"
CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
@@ -31455,7 +31495,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by bacula $as_me 5.2.11, which was
+This file was extended by bacula $as_me 5.2.12, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -31521,7 +31561,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-bacula config.status 5.2.11
+bacula config.status 5.2.12
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff --git a/examples/autochangers/chio-changer-openbsd b/examples/autochangers/chio-changer-openbsd
index d5e83b9..050095a 100644
--- a/examples/autochangers/chio-changer-openbsd
+++ b/examples/autochangers/chio-changer-openbsd
@@ -1,12 +1,10 @@
#!/bin/sh
#
-# $OpenBSD: chio-changer-openbsd,v 1.1 2012/07/04 12:02:56 ajacoutot Exp $
-#
# Bacula interface to chio(1) autoloader for OpenBSD
#
# Adapted from NetBSD pkgsrc and examples/autochangers in bacula source)
# by Antoine Jacoutot <ajacoutot at openbsd.org> for OpenBSD.
-# Tested on an LTO-4 device with 8 slots.
+# Tested on an LTO-4 device with 1 drive and 8 slots.
# The user Bacula is running as needs rw access to the ch(4) and st(4)
# devices.
#
@@ -23,11 +21,11 @@
# the chio exit code or a 0. If the script exits with a non-zero
# exit code, Bacula will assume the request failed.
-CHIO=/bin/chio
-
# time (in seconds) for the unit to settle after (un)loading a tape
SLEEP=1
+CHIO=/bin/chio
+
usage() {
echo "usage: ${0##*/} ctl-device command [slot archive-device drive-index]"
}
@@ -85,7 +83,6 @@ case ${cmd} in
[ ${rtn} -eq 0 ] && sleep ${SLEEP}
exit ${rtn}
;;
-
load)
${CHIO} -f ${ctl} move slot $((${slot} - 1)) drive ${drive}
rtn=$?
@@ -95,20 +92,35 @@ case ${cmd} in
list)
${CHIO} -f ${ctl} status -v slot | \
sed -ne 's/^slot *\([0-9]*:\).*FULL.*voltag.*<\(.*\):.*/\1\2/p' | \
- awk -F: '{print $1 + 1 ":" $2 }'
+ awk -F: '{ print $1 + 1 ":" $2 }'
exit $?
;;
-
listall)
- echo "The listall command is not implemented on OpenBSD."
- exit 1
- ;;
+ # XXX only one drive is queried
+ _list=$(${0} ${1} list)
+ _loaded_s=$(${0} ${1} loaded ${slot} ${device} ${drive})
+ _loaded_t=$(${CHIO} -f ${ctl} status -v | grep "drive ${drive}" | awk '{ print $NF }' | sed -e 's,<,,' -e 's,:.*,,')
+ [ -n "${_list}" -a -n "${_loaded_s}" -a -n "${_loaded_t}" ] || exit 1
+
+ (for i in ${_list}; do
+ echo "S:${i}" | sed 's/\(.*\):/\1:F:/'
+ done
+ echo S:${_loaded_s}:E
+ if [ "${_loaded_s}" -ne 0 ]; then
+ echo D:${drive}:F:${_loaded_s}:${_loaded_t}
+ else
+ echo D:${drive}:E
+ fi) | sort
+ ;;
loaded)
- local _slot=`${CHIO} -f ${ctl} status -v | egrep '^slot.*<ACCESS> voltag: <:[0-9]>$' | awk '{ print $2 }' | awk -F: '{ print $1 + 1 }'`
- [ -z "${_slot}" ] && _slot=0
- echo ${_slot}
- exit $?
+ # XXX output the first empty slot if the drive is loaded
+ _slot=$(${CHIO} -f ${ctl} status -v | egrep '^slot.*<ACCESS> voltag: <:[0-9]>$' | awk '{ print $2 }' | awk -F: '{ print $1 + 1 }')
+ rtn=$?
+ _loaded=$(${CHIO} -f ${ctl} status -v | egrep "^drive ${drive}: <ACCESS,FULL> voltag: <.*:[0-9]>")
+ [ -z "${_slot}" -o -z "${_loaded}" ] && _slot=0
+ echo ${_slot} | awk '{ print $1 }'
+ exit ${rtn}
;;
slots)
${CHIO} -f ${ctl} params | awk "/slots/{print \$2}"
diff --git a/kernstodo b/kernstodo
deleted file mode 100644
index 358c430..0000000
--- a/kernstodo
+++ /dev/null
@@ -1,1391 +0,0 @@
- Kern's ToDo List
- 21 September 2009
-
-Rescue:
-Add to USB key:
- gftp sshfs kile kate lsssci m4 mtx nfs-common nfs-server
- patch squashfs-tools strace sg3-utils screen scsiadd
- system-tools-backend telnet dpkg traceroute urar usbutils
- whois apt-file autofs busybox chkrootkit clamav dmidecode
- manpages-dev manpages-posix manpages-posix-dev
-
-
-Document:
-- package sg3-utils, program sg_map
-- !!! Cannot restore two jobs a the same time that were
- written simultaneously unless they were totally spooled.
-- Document cleaning up the spool files:
- db, pid, state, bsr, mail, conmsg, spool
-- Document the multiple-drive-changer.txt script.
-- Pruning with Admin job.
-- Does WildFile match against full name? Doc.
-- %d and %v only valid on Director, not for ClientRunBefore/After.
-- During tests with the 260 char fix code, I found one problem:
- if the system "sees" a long path once, it seems to forget it's
- working drive (e.g. c:\), which will lead to a problem during
- the next job (create bootstrap file will fail). Here is the
- workaround: specify absolute working and pid directory in
- bacula-fd.conf (e.g. c:\bacula\working instead of
- \bacula\working).
-- Document techniques for restoring large numbers of files.
-- Document setting my.cnf to big file usage.
-- Correct the Include syntax in the m4.xxx files in examples/conf
-- Document all the little details of setting up certificates for
- the Bacula data encryption code.
-- Document more precisely how to use master keys -- especially
- for disaster recovery.
-
-Priority:
-================
-24-Jul 09:56 rufus-fd JobId 1: VSS Writer (BackupComplete): "System Writer", State: 0x1 (VSS_WS_STABLE)
-24-Jul 09:56 rufus-fd JobId 1: Warning: VSS Writer (BackupComplete): "ASR Writer", State: 0x8 (VSS_WS_FAILED_AT_PREPARE_SNAPSHOT)
-24-Jul 09:56 rufus-fd JobId 1: VSS Writer (BackupComplete): "WMI Writer", State: 0x1 (VSS_WS_STABLE)
-- Add external command to lookup hostname (eg nmblookup timmy-win7)
-nmblookup gato
-querying gato on 127.255.255.255
-querying gato on 192.168.1.255
- 192.168.1.8 gato<00>
- 192.168.1.11 gato<00>
- 192.168.1.8 gato<00>
- 192.168.1.11 gato<00>
-- Possibly allow SD to spool even if a tape is not mounted.
-- How to sync remote offices.
-- Windows Bare Metal
-- Backup up windows system state
-- Complete Job restart
-- Look at rsysnc for incremental updates and dedupping
-- Implement rwlock() for SD that takes why and can_steal to replace
- existing block/lock mechanism. rlock() would allow multiple readers
- wlock would allow only one writer.
-- For Windows disaster recovery see http://unattended.sf.net/
-- Add "before=" "olderthan=" to FileSet for doing Base of
- unchanged files.
-- Show files/second in client status output.
-- Don't attempt to restore from "Disabled" Volumes.
-- Have SD compute MD5 or SHA1 and compare to what FD computes.
-- Make VolumeToCatalog calculate an MD5 or SHA1 from the
- actual data on the Volume and compare it.
-- Remove queue.c code.
-- Implement multiple jobid specification for the cancel command,
- similar to what is permitted on the update slots command.
-- Ensure that the SD re-reads the Media record if the JobFiles
- does not match -- it may have been updated by another job.
-- Add MD5 or SHA1 check in SD for data validation
-- When reserving a device to read, check to see if the Volume
- is already in use, if so wait. Probably will need to pass the
- Volume. See bug #1313. Create a regression test to simulate
- this problem and see if VolumePollInterval fixes it. Possibly turn
- it on by default.
-
-- Page hash tables
-- Deduplication
-- Why no error message if restore has no permission on the where
- directory?
-- Possibly allow manual "purge" to purge a Volume that has not
- yet been written (even if FirstWritten time is zero) see ua_purge.c
- is_volume_purged().
-- Add disk block detection bsr code (make it work).
-- Remove done bsrs.
-- Detect deadlocks in reservations.
-- Plugins:
- - Add list during dump
- - Add in plugin code flag
- - Add bRC_EndJob -- stops more calls to plugin this job
- - Add bRC_Term (unload plugin)
- - remove time_t from Jmsg and use utime_t?
-- Deadlock detection, watchdog sees if counter advances when jobs are
- running. With debug on, can do a "status" command.
-- User options for plugins.
-- Pool Storage override precedence over command line.
-- Autolabel only if Volume catalog information indicates tape not
- written. This will avoid overwriting a tape that gets an I/O
- error on reading the volume label.
-- I/O error, SD thinks it is not the right Volume, should check slot
- then disable volume, but Asks for mount.
-- Can be posible modify package to create and use configuration files in
- the Debian manner?
-
- For example:
-
- /etc/bacula/bacula-dir.conf
- /etc/bacula/conf.d/pools.conf
- /etc/bacula/conf.d/clients.conf
- /etc/bacula/conf.d/storages.conf
-
- and into bacula-dir.conf file include
-
- @/etc/bacula/conf.d/pools.conf
- @/etc/bacula/conf.d/clients.conf
- @/etc/bacula/conf.d/storages.conf
-- Possibly add an Inconsistent state when a Volume is in error
- for non I/O reasons.
-- Fix #ifdefing so that smartalloc can be disabled. Check manual
- -- the default is enabled.
-- Dangling softlinks are not restored properly. For example, take a
- soft link such as src/testprogs/install-sh, which points to /usr/share/autoconf...
- move the directory to another machine where the file /usr/share/autoconf does
- not exist, back it up, then try a full restore. It fails.
-- Softlinks that point to non-existent file are not restored in restore all,
- but are restored if the file is individually selected. BUG!
-- Prune by Job
-- Prune by Job Level (Full, Differential, Incremental)
-- modify pruning to keep a fixed number of versions of a file,
- if requested.
-- the cd-command should allow complete paths
- i.e. cd /foo/bar/foo/bar
- -> if a customer mails me the path to a certain file,
- its faster to enter the specified directory
-- Make tree walk routines like cd, ls, ... more user friendly
- by handling spaces better.
-- When doing a restore, if the user does an "update slots"
- after the job started in order to add a restore volume, the
- values prior to the update slots will be put into the catalog.
- Must retrieve catalog record merge it then write it back at the
- end of the restore job, if we want to do this right.
-=== rate design
- jcr->last_rate
- jcr->last_runtime
- MA = (last_MA * 3 + rate) / 4
- rate = (bytes - last_bytes) / (runtime - last_runtime)
-===
-- Add a recursive mark command (rmark) to restore.
-- Look at simplifying File exclusions.
-- Scripts
-- Separate Files and Directories in catalog
-- Create FileVersions table
-- finish implementation of fdcalled -- see ua_run.c:105
-- Fix problem in postgresql.c in my_postgresql_query, where the
- generation of the error message doesn't differentiate result==NULL
- and a bad status from that result. Not only that, the result is
- cleared on a bail_out without having generated the error message.
-- Implement SDErrors (must return from SD)
-- Implement continue spooling while despooling.
-- Remove all install temp files in Win32 PLUGINSDIR.
-- No where in restore causes kaboom.
-- Performance: multiple spool files for a single job.
-- Performance: despool attributes when despooling data (problem
- multiplexing Dir connection).
-- Implement wait_for_sysop() message display in wait_for_device(), which
- now prints warnings too often.
-- Ensure that each device in an Autochanger has a different
- Device Index.
-- Look at sg_logs -a /dev/sg0 for getting soft errors.
-- btape "test" command with Offline on Unmount = yes
-
- This test is essential to Bacula.
-
- I'm going to write one record in file 0,
- two records in file 1,
- and three records in file 2
-
- 02-Feb 11:00 btape: ABORTING due to ERROR in dev.c:715
- dev.c:714 Bad call to rewind. Device "LTO" (/dev/nst0) not open
- 02-Feb 11:00 btape: Fatal Error because: Bacula interrupted by signal 11: Segmentation violation
- Kaboom! btape, btape got signal 11. Attempting traceback.
-
-- Encryption -- email from Landon
- > The backup encryption algorithm is currently not configurable, and is
- > set to AES_128_CBC in src/filed/backup.c. The encryption code
- > supports a number of different ciphers (as well as adding arbitrary
- > new ones) -- only a small bit of code would be required to map a
- > configuration string value to a CRYPTO_CIPHER_* value, if anyone is
- > interested in implementing this functionality.
-
-- Add the OS version back to the Win32 client info.
-- Restarted jobs have a NULL in the from field.
-- Modify SD status command to indicate when the SD is writing
- to a DVD (the device is not open -- see bug #732).
-- Look at the possibility of adding "SET NAMES UTF8" for MySQL,
- and possibly changing the blobs into varchar.
-- Test Volume compatibility between machine architectures
-- Encryption documentation
-
-Professional Needs:
-- Migration from other vendors
- - Date change
- - Path change
-- Filesystem types
-- Backup conf/exe (all daemons)
-- Detect state change of system (verify)
-- SD to SD
-- Novell NSS backup http://www.novell.com/coolsolutions/tools/18952.html
-- Compliance norms that compare restored code hash code.
-- David's priorities
- Copypools
- Extract capability (#25)
- Threshold triggered migration jobs (not currently in list, but will be
- needed ASAP)
- Client triggered backups
- Complete rework of the scheduling system (not in list)
- Performance and usage instrumentation (not in list)
- See email of 21Aug2007 for details.
-- Look at: http://tech.groups.yahoo.com/group/cfg2html
- and http://www.openeyet.nl/scc/ for managing customer changes
-
-Projects:
-- Pool enhancements
- - Access Mode = Read-Only, Read-Write, Unavailable, Destroyed, Offsite
- - Pool Type = Copy
- - Maximum number of scratch volumes
- - Maximum File size
- - Next Pool (already have)
- - Reclamation threshold
- - Reclamation Pool
- - Reuse delay (after all files purged from volume before it can be used)
- - Copy Pool = xx, yyy (or multiple lines).
- - Catalog = xxx
- - Allow pool selection during restore.
-
-- Average tape size from Eric
- SELECT COALESCE(media_avg_size.volavg,0) * count(Media.MediaId) AS volmax, GROUP BY Media.MediaType, Media.PoolId, media_avg_size.volavg
- count(Media.MediaId) AS volnum,
- sum(Media.VolBytes) AS voltotal,
- Media.PoolId AS PoolId,
- Media.MediaType AS MediaType
- FROM Media
- LEFT JOIN (SELECT avg(Media.VolBytes) AS volavg,
- Media.MediaType AS MediaType
- FROM Media
- WHERE Media.VolStatus = 'Full'
- GROUP BY Media.MediaType
- ) AS media_avg_size ON (Media.MediaType = media_avg_size.MediaType)
- GROUP BY Media.MediaType, Media.PoolId, media_avg_size.volavg
-- Performance
- - Despool attributes in separate thread
- - Database speedups
- - Embedded MySQL
- - Check why restore repeatedly sends Rechdrs between
- each data chunk -- according to James Harper 9Jan07.
-- Features
- - Better scheduling
- - More intelligent re-run
- - Incremental backup -- rsync, Stow
-
-- Make Bacula by default not backup tmpfs, procfs, sysfs, ...
-- Fix hardlinked immutable files when linking a second file, the
- immutable flag must be removed prior to trying to link it.
-- Change dbcheck to tell users to use native tools for fixing
- broken databases, and to ensure they have the proper indexes.
-- add udev rules for Bacula devices.
-- If a job terminates, the DIR connection can close before the
- Volume info is updated, leaving the File count wrong.
-- Look at why SIGPIPE during connection can cause seg fault in
- writing the daemon message, when Dir dropped to bacula:bacula
-- Look at zlib 32 => 64 problems.
-- Fix bextract to restore ACLs, or better yet, use common routines.
-- New dot commands from Arno.
- .show device=xxx lists information from one storage device, including
- devices (I'm not even sure that information exists in the DIR...)
- .move eject device=xxx mostly the same as 'unmount xxx' but perhaps with
- better machine-readable output like "Ok" or "Error busy"
- .move eject device=xxx toslot=yyy the same as above, but with a new
- target slot. The catalog should be updated accordingly.
- .move transfer device=xxx fromslot=yyy toslot=zzz
-
-Low priority:
-- Article: http://www.heise.de/open/news/meldung/83231
-- Article: http://www.golem.de/0701/49756.html
-- Article: http://lwn.net/Articles/209809/
-- Article: http://www.onlamp.com/pub/a/onlamp/2004/01/09/bacula.html
-- Article: http://www.linuxdevcenter.com/pub/a/linux/2005/04/07/bacula.html
-- Article: http://www.osreviews.net/reviews/admin/bacula
-- Article: http://www.debianhelp.co.uk/baculaweb.htm
-- Article:
-- Wikis mentioning Bacula
- http://wiki.finkproject.org/index.php/Admin:Backups
- http://wiki.linuxquestions.org/wiki/Bacula
- http://www.openpkg.org/product/packages/?package=bacula
- http://www.iterating.com/products/Bacula
- http://net-snmp.sourceforge.net/wiki/index.php/Net-snmp_extensions
- http://www.section6.net/wiki/index.php/Using_Bacula_for_Tape_Backups
- http://bacula.darwinports.com/
- http://wiki.mandriva.com/en/Releases/Corporate/Server_4/Notes#Bacula
- http://en.wikipedia.org/wiki/Bacula
-
-- Bacula Wikis
- http://www.devco.net/pubwiki/Bacula/
- http://paramount.ind.wpi.edu/wiki/doku.php
- http://gentoo-wiki.com/HOWTO_Backup
- http://www.georglutz.de/wiki/Bacula
- http://www.clarkconnect.com/wiki/index.php?title=Modules_-_LAN_Backup/Recovery
- http://linuxwiki.de/Bacula (in German)
-
-- Figure out how to configure query.sql. Suggestion to use m4:
- == changequote.m4 ===
- changequote(`[',`]')dnl
- ==== query.sql.in ===
- :List next 20 volumes to expire
- SELECT
- Pool.Name AS PoolName,
- Media.VolumeName,
- Media.VolStatus,
- Media.MediaType,
- ifdef([MySQL],
- [ FROM_UNIXTIME(UNIX_TIMESTAMP(Media.LastWritten) Media.VolRetention) AS Expire, ])dnl
- ifdef([PostgreSQL],
- [ media.lastwritten + interval '1 second' * media.volretention as expire, ])dnl
- Media.LastWritten
- FROM Pool
- LEFT JOIN Media
- ON Media.PoolId=Pool.PoolId
- WHERE Media.LastWritten>0
- ORDER BY Expire
- LIMIT 20;
- ====
- Command: m4 -DmySQL changequote.m4 query.sql.in >query.sql
-
- The problem is that it requires m4, which is not present on all machines
- at ./configure time.
-
-==== SQL
-# get null file
-select FilenameId from Filename where Name='';
-# Get list of all directories referenced in a Backup.
-select Path.Path from Path,File where File.JobId=nnn and
- File.FilenameId=(FilenameId-from-above) and File.PathId=Path.PathId
- order by Path.Path ASC;
-
-- Mount on an Autochanger with no tape in the drive causes:
- Automatically selected Storage: LTO-changer
- Enter autochanger drive[0]: 0
- 3301 Issuing autochanger "loaded drive 0" command.
- 3302 Autochanger "loaded drive 0", result: nothing loaded.
- 3301 Issuing autochanger "loaded drive 0" command.
- 3302 Autochanger "loaded drive 0", result: nothing loaded.
- 3902 Cannot mount Volume on Storage Device "LTO-Drive1" (/dev/nst0) because:
- Couldn't rewind device "LTO-Drive1" (/dev/nst0): ERR=dev.c:678 Rewind error on "LTO-Drive1" (/dev/nst0). ERR=No medium found.
- 3905 Device "LTO-Drive1" (/dev/nst0) open but no Bacula volume is mounted.
- If this is not a blank tape, try unmounting and remounting the Volume.
-- If Drive 0 is blocked, and drive 1 is set "Autoselect=no", drive 1 will
- be used.
-- Autochanger did not change volumes.
- select * from Storage;
- +-----------+-------------+-------------+
- | StorageId | Name | AutoChanger |
- +-----------+-------------+-------------+
- | 1 | LTO-changer | 0 |
- +-----------+-------------+-------------+
- 05-May 03:50 roxie-sd: 3302 Autochanger "loaded drive 0", result is Slot 11.
- 05-May 03:50 roxie-sd: Tibs.2006-05-05_03.05.02 Warning: Director wanted Volume "LT
- Current Volume "LT0-002" not acceptable because:
- 1997 Volume "LT0-002" not in catalog.
- 05-May 03:50 roxie-sd: Tibs.2006-05-05_03.05.02 Error: Autochanger Volume "LT0-002"
- Setting InChanger to zero in catalog.
- 05-May 03:50 roxie-dir: Tibs.2006-05-05_03.05.02 Error: Unable to get Media record
-
- 05-May 03:50 roxie-sd: Tibs.2006-05-05_03.05.02 Fatal error: Error getting Volume i
- 05-May 03:50 roxie-sd: Tibs.2006-05-05_03.05.02 Fatal error: Job 530 canceled.
- 05-May 03:50 roxie-sd: Tibs.2006-05-05_03.05.02 Fatal error: spool.c:249 Fatal appe
- 05-May 03:49 Tibs: Tibs.2006-05-05_03.05.02 Fatal error: c:\cygwin\home\kern\bacula
- , got
- (missing)
- llist volume=LTO-002
- MediaId: 6
- VolumeName: LTO-002
- Slot: 0
- PoolId: 1
- MediaType: LTO-2
- FirstWritten: 2006-05-05 03:11:54
- LastWritten: 2006-05-05 03:50:23
- LabelDate: 2005-12-26 16:52:40
- VolJobs: 1
- VolFiles: 0
- VolBlocks: 1
- VolMounts: 0
- VolBytes: 206
- VolErrors: 0
- VolWrites: 0
- VolCapacityBytes: 0
- VolStatus:
- Recycle: 1
- VolRetention: 31,536,000
- VolUseDuration: 0
- MaxVolJobs: 0
- MaxVolFiles: 0
- MaxVolBytes: 0
- InChanger: 0
- EndFile: 0
- EndBlock: 0
- VolParts: 0
- LabelType: 0
- StorageId: 1
-
- Note VolStatus is blank!!!!!
- llist volume=LTO-003
- MediaId: 7
- VolumeName: LTO-003
- Slot: 12
- PoolId: 1
- MediaType: LTO-2
- FirstWritten: 0000-00-00 00:00:00
- LastWritten: 0000-00-00 00:00:00
- LabelDate: 2005-12-26 16:52:40
- VolJobs: 0
- VolFiles: 0
- VolBlocks: 0
- VolMounts: 0
- VolBytes: 1
- VolErrors: 0
- VolWrites: 0
- VolCapacityBytes: 0
- VolStatus: Append
- Recycle: 1
- VolRetention: 31,536,000
- VolUseDuration: 0
- MaxVolJobs: 0
- MaxVolFiles: 0
- MaxVolBytes: 0
- InChanger: 0
- EndFile: 0
- EndBlock: 0
- VolParts: 0
- LabelType: 0
- StorageId: 1
-===
- mount
- Automatically selected Storage: LTO-changer
- Enter autochanger drive[0]: 0
- 3301 Issuing autochanger "loaded drive 0" command.
- 3302 Autochanger "loaded drive 0", result: nothing loaded.
- 3301 Issuing autochanger "loaded drive 0" command.
- 3302 Autochanger "loaded drive 0", result: nothing loaded.
- 3902 Cannot mount Volume on Storage Device "LTO-Drive1" (/dev/nst0) because:
- Couldn't rewind device "LTO-Drive1" (/dev/nst0): ERR=dev.c:678 Rewind error on "LTO-Drive1" (/dev/nst0). ERR=No medium found.
-
- 3905 Device "LTO-Drive1" (/dev/nst0) open but no Bacula volume is mounted.
- If this is not a blank tape, try unmounting and remounting the Volume.
-
-- http://www.dwheeler.com/essays/commercial-floss.html
-- Add VolumeLock to prevent all but lock holder (SD) from updating
- the Volume data (with the exception of VolumeState).
-- The btape fill command does not seem to use the Autochanger
-- Make Windows installer default to system disk drive.
-- Look at using ioctl(FIOBMAP, ...) on Linux, and
- DeviceIoControl(..., FSCTL_QUERY_ALLOCATED_RANGES, ...) on
- Win32 for sparse files.
- http://www.flexhex.com/docs/articles/sparse-files.phtml
- http://www.informatik.uni-frankfurt.de/~loizides/reiserfs/fibmap.html
-- Directive: at <event> "command"
-- Command: pycmd "command" generates "command" event. How to
- attach to a specific job?
-- run_cmd() returns int should return JobId_t
-- get_next_jobid_from_list() returns int should return JobId_t
-- Document export LDFLAGS=-L/usr/lib64
-- Network error on Win32 should set Win32 error code.
-- What happens when you rename a Disk Volume?
-- Job retention period in a Pool (and hence Volume). The job would
- then be migrated.
-- Add Win32 FileSet definition somewhere
-- Look at fixing restore status stats in SD.
-- Look at using ioctl(FIMAP) and FIGETBSZ for sparse files.
- http://www.informatik.uni-frankfurt.de/~loizides/reiserfs/fibmap.html
-- Implement a mode that says when a hard read error is
- encountered, read many times (as it currently does), and if the
- block cannot be read, skip to the next block, and try again. If
- that fails, skip to the next file and try again, ...
-- Add level table:
- create table LevelType (LevelType binary(1), LevelTypeLong tinyblob);
- insert into LevelType (LevelType,LevelTypeLong) values
- ("F","Full"),
- ("D","Diff"),
- ("I","Inc");
-- new pool XXX with ScratchPoolId = MyScratchPool's PoolId and
- let it fill itself, and RecyclePoolId = XXX's PoolId so I can
- see if it become stable and I just have to supervise
- MyScratchPool
-- If I want to remove this pool, I set RecyclePoolId = MyScratchPool's
- PoolId, and when it is empty remove it.
-- Add Volume=SCRTCH
-- Allow Check Labels to be used with Bacula labels.
-- "Resuming" a failed backup (lost line for example) by using the
- failed backup as a sort of "base" job.
-- Look at NDMP
-- Email to the user when the tape is about to need changing x
- days before it needs changing.
-- Command to show next tape that will be used for a job even
- if the job is not scheduled.
-- From: Arunav Mandal <amandal at trolltech.com>
- 1. When jobs are running and bacula for some reason crashes or if I do a
- restart it remembers and jobs it was running before it crashed or restarted
- as of now I loose all jobs if I restart it.
-
- 2. When spooling and in the midway if client is disconnected for instance a
- laptop bacula completely discard the spool. It will be nice if it can write
- that spool to tape so there will be some backups for that client if not all.
-
- 3. We have around 150 clients machines it will be nice to have a option to
- upgrade all the client machines bacula version automatically.
-
- 4. Atleast one connection should be reserved for the bconsole so at heavy load
- I should connect to the director via bconsole which at sometimes I can't
-
- 5. Another most important feature that is missing, say at 10am I manually
- started backup of client abc and it was a full backup since client abc has
- no backup history and at 10.30am bacula again automatically started backup of
- client abc as that was in the schedule. So now we have 2 multiple Full
- backups of the same client and if we again try to start a full backup of
- client backup abc bacula won't complain. That should be fixed.
-
-- regardless of the retention period, Bacula will not prune the
- last Full, Diff, or Inc File data until a month after the
- retention period for the last Full backup that was done.
-- update volume=xxx --- add status=Full
-- Remove old spool files on startup.
-- Exclude SD spool/working directory.
-- Refuse to prune last valid Full backup. Same goes for Catalog.
-- Python:
- - Make a callback when Rerun failed levels is called.
- - Give Python program access to Scheduled jobs.
- - Add setting Volume State via Python.
- - Python script to save with Python, not save, save with Bacula.
- - Python script to do backup.
- - What events?
- - Change the Priority, Client, Storage, JobStatus (error)
- at the start of a job.
-- Why is SpoolDirectory = /home/bacula/spool; not reported
- as an error when writing a DVD?
-- Make bootstrap file handle multiple MediaTypes (SD)
-- Remove all old Device resource code in Dir and code to pass it
- back in SD -- better, rework it to pass back device statistics.
-- Check locking of resources -- be sure to lock devices where previously
- resources were locked.
-- The last part is left in the spool dir.
-
-
-- In restore don't compare byte count on a raw device -- directory
- entry does not contain bytes.
-
-
-- Max Vols limit in Pool off by one?
-- Implement Files/Bytes,... stats for restore job.
-- Implement Total Bytes Written, ... for restore job.
-- Despool attributes simultaneously with data in a separate
- thread, rejoined at end of data spooling.
-- 7. Implement new Console commands to allow offlining/reserving drives,
- and possibly manipulating the autochanger (much asked for).
-- Add start/end date editing in messages (%t %T, %e?) ...
-- Add ClientDefs similar to JobDefs.
-- Print more info when bextract -p accepts a bad block.
-- Fix FD JobType to be set before RunBeforeJob in FD.
-- Look at adding full Volume and Pool information to a Volume
- label so that bscan can get *all* the info.
-- If the user puts "Purge Oldest Volume = yes" or "Recycle Oldest Volume = yes"
- and there is only one volume in the pool, refuse to do it -- otherwise
- he fills the Volume, then immediately starts reusing it.
-- Implement copies and stripes.
-- Add history file to console.
-- Each file on tape creates a JobMedia record. Peter has 4 million
- files spread over 10000 tape files and four tapes. A restore takes
- 16 hours to build the restore list.
-- Add and option to check if the file size changed during backup.
-- Make sure SD deletes spool files on error exit.
-- Delete old spool files when SD starts.
-- When labeling tapes, if you enter 000026, Bacula uses
- the tape index rather than the Volume name 000026.
-- Add offline tape command to Bacula console.
-- Bug:
- Enter MediaId or Volume name: 32
- Enter new Volume name: DLT-20Dec04
- Automatically selected Pool: Default
- Connecting to Storage daemon DLTDrive at 192.168.68.104:9103 ...
- Sending relabel command from "DLT-28Jun03" to "DLT-20Dec04" ...
- block.c:552 Write error at 0:0 on device /dev/nst0. ERR=Bad file descriptor.
- Error writing final EOF to tape. This tape may not be readable.
- dev.c:1207 ioctl MTWEOF error on /dev/nst0. ERR=Permission denied.
- askdir.c:219 NULL Volume name. This shouldn't happen!!!
- 3912 Failed to label Volume: ERR=dev.c:1207 ioctl MTWEOF error on /dev/nst0. ERR=Permission denied.
- Label command failed for Volume DLT-20Dec04.
- Do not forget to mount the drive!!!
-- Bug: if a job is manually scheduled to run later, it does not appear
- in any status report and cannot be cancelled.
-
-
-====
-From David:
-How about introducing a Type = MgmtPolicy job type? That job type would
-be responsible for scanning the Bacula environment looking for specific
-conditions, and submitting the appropriate jobs for implementing said
-policy, eg:
-
-Job {
- Name = "Migration-Policy"
- Type = MgmtPolicy
- Policy Selection Job Type = Migrate
- Scope = "<keyword> <operator> <regexp>"
- Threshold = "<keyword> <operator> <regexp>"
- Job Template = <template-name>
-}
-
-Where <keyword> is any legal job keyword, <operator> is a comparison
-operator (=,<,>,!=, logical operators AND/OR/NOT) and <regexp> is a
-appropriate regexp. I could see an argument for Scope and Threshold
-being SQL queries if we want to support full flexibility. The
-Migration-Policy job would then get scheduled as frequently as a site
-felt necessary (suggested default: every 15 minutes).
-
-Example:
-
-Job {
- Name = "Migration-Policy"
- Type = MgmtPolicy
- Policy Selection Job Type = Migration
- Scope = "Pool=*"
- Threshold = "Migration Selection Type = LowestUtil"
- Job Template = "MigrationTemplate"
-}
-
-would select all pools for examination and generate a job based on
-MigrationTemplate to automatically select the volume with the lowest
-usage and migrate it's contents to the nextpool defined for that pool.
-
-This policy abstraction would be really handy for adjusting the behavior
-of Bacula according to site-selectable criteria (one thing that pops
-into mind is Amanda's ability to automatically adjust backup levels
-depending on various criteria).
-
-
-=====
-
-Regression tests:
-- Add Pool/Storage override regression test.
-- Add delete JobId to regression.
-- Add a regression test for dbcheck.
-- New test to add bscan to four-concurrent-jobs regression,
- i.e. after the four-concurrent jobs zap the
- database as is done in the bscan-test, then use bscan to
- restore the database, do a restore and compare with the
- original.
-- Add restore of specific JobId to regression (item 3
- on the restore prompt)
-- Add IPv6 to regression
-- Add database test to regression. Test each function like delete,
- purge, ...
-
-- AntiVir can slow down backups on Win32 systems.
-- Win32 systems with FAT32 can be much slower than NTFS for
- more than 1000 files per directory.
-
-
-1.37 Possibilities:
-- A HOLD command to stop all jobs from starting.
-- A PAUSE command to pause all running jobs ==> release the
- drive.
-- Media Type = LTO,LTO-2,LTO-3
- Media Type Read = LTO,LTO2,LTO3
- Media Type Write = LTO2, LTO3
-
-=== From Carsten Menke <bootsy52 at gmx.net>
-
-Following is a list of what I think in the situations where I'm faced with,
-could be a usefull enhancement to bacula, which I'm certain other users will
-benefit from as well.
-
-1. NextJob/NextJobs Directive within a Job Resource in the form of
- NextJobs = job1,job2.
-
- Why:
- I currently solved the problem with running multiple jobs each after each
- by setting the Max Wait Time for a job to 8 hours, and give
- the jobs different Priorities. However, there scenarios where
- 1 Job is directly depending on another job, so if the former job fails,
- the job after it needn't to be run
- while maybe other jobs should run despite of that
-
-Example:
- A Backup Job and a Verify job, if the backup job fails there is no need to run
- the verify job, as the backup job already failed. However, one may like
- to backup the Catalog to disk despite of that the main backup job failed.
-
-Notes:
- I see that this is related to the Event Handlers which are on the ToDo
- list, also it is maybe a good idea to check for the return value and
- execute different actions based on the return value
-
-
-3. offline capability to bconsole
-
- Why:
- Currently I use a script which I execute within the last Job via the
- RunAfterJob Directive, to release and eject the tape.
- So I have to call bconsole "release=Storage-Name" and afterwards
- mt -f /dev/nst0 eject to get the tape out.
-
- If I have multiple Storage Devices, than these may not be /dev/nst0 and
- I have to modify the script or call it with parameters etc.
- This would actually not be needed, as everything is already defined
- in bacula-sd.conf and if I can invoke bconsole with the
- storage name via $1 in the script than I'm done and information is
- not duplicated.
-
-4. %s for Storage Name added to the chars being substituted in "RunAfterJob"
-
- Why:
-
- For the reason mentioned in 3. to have the ability to call a
- script with /scripts/foobar %s and in the script use $1
- to pass the Storage Name to bconsole
-
-5. Setting Volume State within a Job Resource
-
- Why:
- Instead of using "Maximum Volume Jobs" in the Pool Resource,
- I would have the possibilty to define
- in a Job Resource that after this certain job is run, the Volume State
- should be set to "Volume State = Used", this give more flexibility (IMHO).
-
-7. OK, this is evil, probably bound to security risks and maybe not possible
- due to the design of bacula.
-
- Implementation of Backtics ( `command` ) for shell comand execution to
- the "Label Format" Directive.
-
-Why:
-
- Currently I have defined BACULA_DAY_OF_WEEK="day1|day2..." resulting in
- Label Format = "HolyBackup-${BACULA_DAY_OF_WEEK[${WeekDay}]}". If I could
- use backticks than I could use "Label Format = HolyBackup-`date +%A` to have
- the localized name for the day of the week appended to the
- format string. Then I have the tape labeled automatically with weekday
- name in the correct language.
-==========
-- Make output from status use html table tags for nicely
- presenting in a browser.
-- Browse generations of files.
-- I've seen an error when my catalog's File table fills up. I
- then have to recreate the File table with a larger maximum row
- size. Relevant information is at
- http://dev.mysql.com/doc/mysql/en/Full_table.html ; I think the
- "Installing and Configuring MySQL" chapter should talk a bit
- about this potential problem, and recommend a solution.
-- Want speed of writing to tape while despooling.
-- Supported autochanger:
-OS: Linux
-Man.: HP
-Media: LTO-2
-Model: SSL1016
-Slots: 16
-Cap: 200GB
-- Supported drive:
- Wangtek 6525ES (SCSI-1 QIC drive, 525MB), under Linux 2.4.something,
- bacula 1.36.0/1 works with blocksize 16k INSIDE bacula-sd.conf.
-- Add regex from http://www.pcre.org to Bacula for Win32.
-- Use only shell tools no make in CDROM package.
-- Include within include does it work?
-- Implement a Pool of type Cleaning?
-- Think about making certain database errors fatal.
-- Look at correcting the time jump in the scheduler for daylight
- savings time changes.
-- Check dates entered by user for correctness (month/day/... ranges)
-- Compress restore Volume listing by date and first file.
-- Look at patches/bacula_db.b2z postgresql that loops during restore.
- See Gregory Wright.
-- Perhaps add read/write programs and/or plugins to FileSets.
-- How to handle backing up portables ...
-- Limit bandwidth
-
-Documentation to do: (any release a little bit at a time)
-- Doc to do unmount before removing magazine.
-- Alternative to static linking "ldd prog" save all binaries listed,
- restore them and point LD_LIBRARY_PATH to them.
-- Document add "</dev/null >/dev/null 2>&1" to the bacula-fd command line
-- Document query file format.
-- Add more documentation for bsr files.
-- Document problems with Verify and pruning.
-- Document how to use multiple databases.
-- VXA drives have a "cleaning required"
- indicator, but Exabyte recommends preventive cleaning after every 75
- hours of operation.
- From Phil:
- In this context, it should be noted that Exabyte has a command-line
- vxatool utility available for free download. (The current version is
- vxatool-3.72.) It can get diagnostic info, read, write and erase tapes,
- test the drive, unload tapes, change drive settings, flash new firmware,
- etc.
- Of particular interest in this context is that vxatool <device> -i will
- report, among other details, the time since last cleaning in tape motion
- minutes. This information can be retrieved (and settings changed, for
- that matter) through the generic-SCSI device even when Bacula has the
- regular tape device locked. (Needless to say, I don't recommend
- changing tape settings while a job is running.)
-- Lookup HP cleaning recommendations.
-- Lookup HP tape replacement recommendations (see trouble shooting autochanger)
-- Document doing table repair
-
-
-===================================
-- Add macro expansions in JobDefs.
- Run Before Job = "SomeFile %{Level} %{Client}"
- Write Bootstrap="/some/dir/%{JobName}_%{Client}.bsr"
-- Use non-blocking network I/O but if no data is available, use
- select().
-- Use gather write() for network I/O.
-- Autorestart on crash.
-- Add bandwidth limiting.
-- When an error in input occurs and conio beeps, you can back
- up through the prompt.
-- Detect fixed tape block mode during positioning by looking at
- block numbers in btape "test". Possibly adjust in Bacula.
-- Fix list volumes to output volume retention in some other
- units, perhaps via a directive.
-- If you use restore replace=never, the directory attributes for
- non-existent directories will not be restored properly.
-
-- see lzma401.zip in others directory for new compression
- algorithm/library.
-- Allow the user to select JobType for manual pruning/purging.
-- bscan does not put first of two volumes back with all info in
- bscan-test.
-- Figure out how to make named console messages go only to that
- console and to the non-restricted console (new console class?).
-- Make restricted console prompt for password if *ask* is set or
- perhaps if password is undefined.
-- Implement "from ISO-date/time every x hours/days/weeks/months" in
- schedules.
-
-==== from Marc Schoechlin
-- the help-command should be more verbose
- (it should explain the paramters of the different
- commands in detail)
- -> its time-comsuming to consult the manual anytime
- you need a special parameter
- -> maybe its more easy to maintain this, if the
- descriptions of that commands are outsourced to
- a ceratin-file
-- if the password is not configured in bconsole.conf
- you should be asked for it.
- -> sometimes you like to do restore on a customer-machine
- which shouldnt know the password for bacula.
- -> adding the password to the file favours admins
- to forget to remove the password after usage
- -> security-aspects
- the protection of that file is less important
-- long-listed-output of commands should be scrollable
- like the unix more/less-command does
- -> if someone runs 200 and more machines, the lists could
- be a little long and complex
-- command-output should be shown column by column
- to reduce scrolling and to increase clarity
- -> see last item
-- lsmark should list the selected files with full
- paths
-- wildcards for selecting and file and directories would be nice
-- any actions should be interuptable with STRG+C
-- command-expansion would be pretty cool
-====
-- When the replace Never option is set, new directory permissions
- are not restored. See bug 213. To fix this requires creating a
- list of newly restored directories so that those directory
- permissions *can* be restored.
-- Add prune all command
-- Document fact that purge can destroy a part of a restore by purging
- one volume while others remain valid -- perhaps mark Jobs.
-- Add multiple-media-types.txt
-- look at mxt-changer.html
-- Make ? do a help command (no return needed).
-- Implement restore directory.
-- Document streams and how to implement them.
-- Try not to re-backup a file if a new hard link is added.
-- Add feature to backup hard links only, but not the data.
-- Fix stream handling to be simpler.
-- Add Priority and Bootstrap to Run a Job.
-- Eliminate Restore "Run Restore Job" prompt by allowing new "run command
- to be issued"
-- Remove View FileSet button from Run a Job dialog.
-- Handle prompt for restore job at end of Restore command.
-- Add display of total selected files to Restore window.
-- Add tree pane to left of window.
-- Add progress meter.
-- Max wait time or max run time causes seg fault -- see runtime-bug.txt
-- Add message to user to check for fixed block size when the forward
- space test fails in btape.
-- When unmarking a directory check if all files below are unmarked and
- then remove the + flag -- in the restore tree.
-- Possibly implement: Action = Unmount Device="TapeDrive1" in Admin jobs.
-- Setup lrrd graphs: (http://www.linpro.no/projects/lrrd/) Mike Acar.
-- Revisit the question of multiple Volumes (disk) on a single device.
-- Add a block copy option to bcopy.
-- Fix "llist jobid=xx" where no fileset or client exists.
-- For each job type (Admin, Restore, ...) require only the really necessary
- fields.- Pass Director resource name as an option to the Console.
-- Add a "batch" mode to the Console (no unsolicited queries, ...).
-- Allow browsing the catalog to see all versions of a file (with
- stat data on each file).
-- Restore attributes of directory if replace=never set but directory
- did not exist.
-- Use SHA1 on authentication if possible.
-- See comtest-xxx.zip for Windows code to talk to USB.
-- Add John's appended files:
- Appended = { /files/server/logs/http/*log }
- and such files would be treated as follows.On a FULL backup, they would
- be backed up like any other file.On an INCREMENTAL backup, where a
- previous INCREMENTAL or FULL was already in thecatalogue and the length
- of the file wasgreater than the length of the last backup, only thedata
- added since the last backup will be dumped.On an INCREMENTAL backup, if
- the length of the file is less than thelength of the file with the same
- name last backed up, the completefile is dumped.On Windows systems, with
- creation date of files, we can be evensmarter about this and not count
- entirely upon the length.On a restore, the full and all incrementals
- since it will beapplied in sequence to restore the file.
-- Check new HAVE_WIN32 open bits.
-- Check if the tape has moved before writing.
-- Handling removable disks -- see below:
-- Add FromClient and ToClient keywords on restore command (or
- BackupClient RestoreClient).
-- Implement a JobSet, which groups any number of jobs. If the
- JobSet is started, all the jobs are started together.
- Allow Pool, Level, and Schedule overrides.
-- Look at updating Volume Jobs so that Max Volume Jobs = 1 will work
- correctly for multiple simultaneous jobs.
-- Implement the Media record flag that indicates that the Volume does disk
- addressing.
-- Fix fast block rejection (stored/read_record.c:118). It passes a null
- pointer (rec) to try_repositioning().
-- Implement RestoreJobRetention? Maybe better "JobRetention" in a Job,
- which would take precidence over the Catalog "JobRetention".
-- Implement Label Format in Add and Label console commands.
-- Put email tape request delays on one or more variables. User wants
- to cancel the job after a certain time interval. Maximum Mount Wait?
-- Job, Client, Device, Pool, or Volume?
- Is it possible to make this a directive which is *optional* in multiple
- resources, like Level? If so, I think I'd make it an optional directive
- in Job, Client, and Pool, with precedence such that Job overrides Client
- which in turn overrides Pool.
-
-- New Storage specifications:
- - Want to write to multiple storage devices simultaneously
- - Want to write to multiple storage devices sequentially (in one job)
- - Want to read/write simultaneously
- - Key is MediaType -- it must match
-
- Passed to SD as a sort of BSR record called Storage Specification
- Record or SSR.
- SSR
- Next -> Next SSR
- MediaType -> Next MediaType
- Pool -> Next Pool
- Device -> Next Device
- Job Resource
- Allow multiple Storage specifications
- New flags
- One Archive = yes
- One Device = yes
- One Storage = yes
- One MediaType = yes
- One Pool = yes
- Storage
- Allow Multiple Pool specifications (note, Pool currently
- in Job resource).
- Allow Multiple MediaType specifications in Dir conf
- Allow Multiple Device specifications in Dir conf
- Perhaps keep this in a single SSR
- Tie a Volume to a specific device by using a MediaType that
- is contained in only one device.
- In SD allow Device to have Multiple MediaTypes
-
-- Ideas from Jerry Scharf:
- First let's point out some big pluses that bacula has for this
- it's open source
- more importantly it's active. Thank you so much for that
- even more important, it's not flaky
- it has an open access catalog, opening many possibilities
- it's pushing toward heterogeneous systems capability
- big things:
- Macintosh file client
- working bare iron recovery for windows
- the option for inc/diff backups not reset on fileset revision
- a) use both change and inode update time against base time
- b) do the full catalog check (expensive but accurate)
- sizing guide (how much system is needed to back up N systems/files)
- consultants on using bacula in building a disaster recovery system
- an integration guide
- or how to get at fancy things that one could do with bacula
- logwatch code for bacula logs (or similar)
- support for Oracle database ??
-===
-- Look at adding SQL server and Exchange support for Windows.
-- Add progress of files/bytes to SD and FD.
-- do a "messages" before the first prompt in Console
-- Client does not show busy during Estimate command.
-- Implement Console mtx commands.
-- Implement a Mount Command and an Unmount Command where
- the users could specify a system command to be performed
- to do the mount, after which Bacula could attempt to
- read the device. This is for Removeable media such as a CDROM.
- - Most likely, this mount command would be invoked explicitly
- by the user using the current Console "mount" and "unmount"
- commands -- the Storage Daemon would do the right thing
- depending on the exact nature of the device.
- - As with tape drives, when Bacula wanted a new removable
- disk mounted, it would unmount the old one, and send a message
- to the user, who would then use "mount" as described above
- once he had actually inserted the disk.
-- Implement dump/print label to UA
-- Spool to disk only when the tape is full, then when a tape is hung move
- it to tape.
-- bextract is sending everything to the log file ****FIXME****
-- Allow multiple Storage specifications (or multiple names on
- a single Storage specification) in the Job record. Thus a job
- can be backed up to a number of storage devices.
-- Implement some way for the File daemon to contact the Director
- to start a job or pass its DHCP obtained IP number.
-- Implement a query tape prompt/replace feature for a console
-- Make sure that Bacula rechecks the tape after the 20 min wait.
-- Set IO_NOWAIT on Bacula TCP/IP packets.
-- Try doing a raw partition backup and restore by mounting a
- Windows partition.
-- From Lars Kellers:
- Yes, it would allow to highly automatic the request for new tapes. If a
- tape is empty, bacula reads the barcodes (native or simulated), and if
- an unused tape is found, it runs the label command with all the
- necessary parameters.
-
- By the way can bacula automatically "move" an empty/purged volume say
- in the "short" pool to the "long" pool if this pool runs out of volume
- space?
-- What to do about "list files job=xxx".
-- Look at how fuser works and /proc/PID/fd that is how Nic found the
- file descriptor leak in Bacula.
-- Can we dynamically change FileSets?
-- If pool specified to label command and Label Format is specified,
- automatically generate the Volume name.
-- Add ExhautiveRestoreSearch
-- Look at the possibility of loading only the necessary
- data into the restore tree (i.e. do it one directory at a
- time as the user walks through the tree).
-- Possibly use the hash code if the user selects all for a restore command.
-- Fix "restore all" to bypass building the tree.
-- Prohibit backing up archive device (findlib/find_one.c:128)
-- Implement Release Device in the Job resource to unmount a drive.
-- Implement Acquire Device in the Job resource to mount a drive,
- be sure this works with admin jobs so that the user can get
- prompted to insert the correct tape. Possibly some way to say to
- run the job but don't save the files.
-- Make things like list where a file is saved case independent for
- Windows.
-- Implement a Recycle command
-- From Phil Stracchino:
- It would probably be a per-client option, and would be called
- something like, say, "Automatically purge obsoleted jobs". What it
- would do is, when you successfully complete a Differential backup of a
- client, it would automatically purge all Incremental backups for that
- client that are rendered redundant by that Differential. Likewise,
- when a Full backup on a client completed, it would automatically purge
- all Differential and Incremental jobs obsoleted by that Full backup.
- This would let people minimize the number of tapes they're keeping on
- hand without having to master the art of retention times.
-- When doing a Backup send all attributes back to the Director, who
- would then figure out what files have been deleted.
-- Currently in mount.c:236 the SD simply creates a Volume. It should have
- explicit permission to do so. It should also mark the tape in error
- if there is an error.
-- Cancel waiting for Client connect in SD if FD goes away.
-
-- Implement timeout in response() when it should come quickly.
-- Implement a Slot priority (loaded/not loaded).
-- Implement "vacation" Incremental only saves.
-- Implement create "FileSet"?
-- Add prefixlinks to where or not where absolute links to FD.
-- Issue message to mount a new tape before the rewind.
-- Simplified client job initiation for portables.
-- If SD cannot open a drive, make it periodically retry.
-- Add more of the config info to the tape label.
-
-- Refine SD waiting output:
- Device is being positioned
- > Device is being positioned for append
- > Device is being positioned to file x
- >
-- Figure out some way to estimate output size and to avoid splitting
- a backup across two Volumes -- this could be useful for writing CDROMs
- where you really prefer not to have it split -- not serious.
-- Make bcopy read through bad tape records.
-- Program files (i.e. execute a program to read/write files).
- Pass read date of last backup, size of file last time.
-- Add Signature type to File DB record.
-- CD into subdirectory when open()ing files for backup to
- speed up things. Test with testfind().
-- Priority job to go to top of list.
-- Why are save/restore of device different sizes (sparse?) Yup! Fix it.
-- Implement some way for the Console to dynamically create a job.
-- Solaris -I on tar for include list
-- Need a verbose mode in restore, perhaps to bsr.
-- bscan without -v is too quiet -- perhaps show jobs.
-- Add code to reject whole blocks if not wanted on restore.
-- Check if we can increase Bacula FD priorty in Win2000
-- Check if both CatalogFiles and UseCatalog are set to SD.
-- Possibly add email to Watchdog if drive is unmounted too
- long and a job is waiting on the drive.
-- After unmount, if restore job started, ask to mount.
-- Add UA rc and history files.
-- put termcap (used by console) in ./configure and
- allow -with-termcap-dir.
-- Fix Autoprune for Volumes to respect need for full save.
-- Compare tape to Client files (attributes, or attributes and data)
-- Make all database Ids 64 bit.
-- Allow console commands to detach or run in background.
-- Add SD message variables to control operator wait time
- - Maximum Operator Wait
- - Minimum Message Interval
- - Maximum Message Interval
-- Send Operator message when cannot read tape label.
-- Verify level=Volume (scan only), level=Data (compare of data to file).
- Verify level=Catalog, level=InitCatalog
-- Events file
-- Add keyword search to show command in Console.
-- Events : tape has more than xxx bytes.
-- Complete code in Bacula Resources -- this will permit
- reading a new config file at any time.
-- Handle ctl-c in Console
-- Implement script driven addition of File daemon to config files.
-- Think about how to make Bacula work better with File (non-tape) archives.
-- Write Unix emulator for Windows.
-- Make database type selectable by .conf files i.e. at runtime
-- Set flag for uname -a. Add to Volume label.
-- Restore files modified after date
-- SET LD_RUN_PATH=$HOME/mysql/lib/mysql
-- Remove duplicate fields from jcr (e.g. jcr.level and jcr.jr.Level, ...).
-- Timout a job or terminate if link goes down, or reopen link and query.
-- Concept of precious tapes (cannot be reused).
-- Make bcopy copy with a single tape drive.
-- Permit changing ownership during restore.
-
-- From Phil:
- > My suggestion: Add a feature on the systray menu-icon menu to request
- > an immediate backup now. This would be useful for laptop users who may
- > not be on the network when the regular scheduled backup is run.
- >
- > My wife's suggestion: Add a setting to the win32 client to allow it to
- > shut down the machine after backup is complete (after, of course,
- > displaying a "System will shut down in one minute, click here to cancel"
- > warning dialog). This would be useful for sites that want user
- > woorkstations to be shut down overnight to save power.
- >
-
-- Autolabel should be specified by DIR instead of SD.
-- Storage daemon
- - Add media capacity
- - AutoScan (check checksum of tape)
- - Format command = "format /dev/nst0"
- - MaxRewindTime
- - MinRewindTime
- - MaxBufferSize
- - Seek resolution (usually corresponds to buffer size)
- - EODErrorCode=ENOSPC or code
- - Partial Read error code
- - Partial write error code
- - Nonformatted read error
- - Nonformatted write error
- - WriteProtected error
- - IOTimeout
- - OpenRetries
- - OpenTimeout
- - IgnoreCloseErrors=yes
- - Tape=yes
- - NoRewind=yes
-- Pool
- - Maxwrites
- - Recycle period
-- Job
- - MaxWarnings
- - MaxErrors (job?)
-=====
-- Write a Storage daemon that uses pipes and
- standard Unix programs to write to the tape.
- See afbackup.
-- Need something that monitors the JCR queue and
- times out jobs by asking the deamons where they are.
-- Verify from Volume
-- Need report class for messages. Perhaps
- report resource where report=group of messages
-- enhance scan_attrib and rename scan_jobtype, and
- fill in code for "since" option
-- Director needs a time after which the report status is sent
- anyway -- or better yet, a retry time for the job.
-- Don't reschedule a job if previous incarnation is still running.
-- Some way to automatically backup everything is needed????
-- Need a structure for pending actions:
- - buffered messages
- - termination status (part of buffered msgs?)
-- Drive management
- Read, Write, Clean, Delete
-- Login to Bacula; Bacula users with different permissions:
- owner, group, user, quotas
-- Store info on each file system type (probably in the job header on tape.
- This could be the output of df; or perhaps some sort of /etc/mtab record.
-
-========= ideas ===============
-From: "Jerry K. Schieffer" <jerry at skylinetechnology.com>
-To: <kern at sibbald.com>
-Subject: RE: [Bacula-users] future large programming jobs
-Date: Thu, 26 Feb 2004 11:34:54 -0600
-
-I noticed the subject thread and thought I would offer the following
-merely as sources of ideas, i.e. something to think about, not even as
-strong as a request. In my former life (before retiring) I often
-dealt with backups and storage management issues/products as a
-developer and as a consultant. I am currently migrating my personal
-network from amanda to bacula specifically because of the ability to
-cross media boundaries during storing backups.
-Are you familiar with the commercial product called ADSM (I think IBM
-now sells it under the Tivoli label)? It has a couple of interesting
-ideas that may apply to the following topics.
-
-1. Migration: Consider that when you need to restore a system, there
-may be pressure to hurry. If all the information for a single client
-can eventually end up on the same media (and in chronological order),
-the restore is facillitated by not having to search past information
-from other clients. ADSM has the concept of "client affinity" that
-may be associated with it's storage pools. It seems to me that this
-concept (as an optional feature) might fit in your architecture for
-migration.
-
-ADSM also has the concept of defining one or more storage pools as
-"copy pools" (almost mirrors, but only in the sense of contents).
-These pools provide the ability to have duplicte data stored both
-onsite and offsite. The copy process can be scheduled to be handled
-by their storage manager during periods when there is no backup
-activity. Again, the migration process might be a place to consider
-implementing something like this.
-
->
-> It strikes me that it would be very nice to be able to do things
-like
-> have the Job(s) backing up the machines run, and once they have all
-> completed, start a migration job to copy the data from disks Volumes
-to
-> a tape library and then to offsite storage. Maybe this can already
-be
-> done with some careful scheduling and Job prioritzation; the events
-> mechanism described below would probably make it very easy.
-
-This is the goal. In the first step (before events), you simply
-schedule
-the Migration to tape later.
-
-2. Base jobs: In ADSM, each copy of each stored file is tracked in
-the database. Once a file (unique by path and metadata such as dates,
-size, ownership, etc.) is in a copy pool, no more copies are made. In
-other words, when you start ADSM, it begins like your concept of a
-base job. After that it is in the "incremental" mode. You can
-configure the number of "generations" of files to be retained, plus a
-retention date after which even old generations are purged. The
-database tracks the contents of media and projects the percentage of
-each volume that is valid. When the valid content of a volume drops
-below a configured percentage, the valid data are migrated to another
-volume and the old volume is marked as empty. Note, this requires
-ADSM to have an idea of the contents of a client, i.e. marking the
-database when an existing file was deleted, but this would solve your
-issue of restoring a client without restoring deleted files.
-
-This is pretty far from what bacula now does, but if you are going to
-rip things up for Base jobs,.....
-Also, the benefits of this are huge for very large shops, especially
-with media robots, but are a pain for shops with manual media
-mounting.
-
-Regards,
-Jerry Schieffer
-
-==============================
-
-Longer term to do:
-- Audit M_ error codes to ensure they are correct and consistent.
-- Add variable break characters to lex analyzer.
- Either a bit mask or a string of chars so that
- the caller can change the break characters.
-- Make a single T_BREAK to replace T_COMMA, etc.
-- Ensure that File daemon and Storage daemon can
- continue a save if the Director goes down (this
- is NOT currently the case). Must detect socket error,
- buffer messages for later.
-- Add ability to backup to two Storage devices (two SD sessions) at
- the same time -- e.g. onsite, offsite.
-
-======================================================
-
-====
- Handling removable disks
-
- From: Karl Cunningham <karlc at keckec.com>
-
- My backups are only to hard disk these days, in removable bays. This is my
- idea of how a backup to hard disk would work more smoothly. Some of these
- things Bacula does already, but I mention them for completeness. If others
- have better ways to do this, I'd like to hear about it.
-
- 1. Accommodate several disks, rotated similar to how tapes are. Identified
- by partition volume ID or perhaps by the name of a subdirectory.
- 2. Abort & notify the admin if the wrong disk is in the bay.
- 3. Write backups to different subdirectories for each machine to be backed
- up.
- 4. Volumes (files) get created as needed in the proper subdirectory, one
- for each backup.
- 5. When a disk is recycled, remove or zero all old backup files. This is
- important as the disk being recycled may be close to full. This may be
- better done manually since the backup files for many machines may be
- scattered in many subdirectories.
-====
-
-
-=== Done
-
-===
- Base Jobs design
-It is somewhat like a Full save becomes an incremental since
-the Base job (or jobs) plus other non-base files.
-Need:
-- A Base backup is same as Full backup, just different type.
-- New BaseFiles table that contains:
- BaseId - index
- BaseJobId - Base JobId referenced for this FileId (needed ???)
- JobId - JobId currently running
- FileId - File not backed up, exists in Base Job
- FileIndex - FileIndex from Base Job.
- i.e. for each base file that exists but is not saved because
- it has not changed, the File daemon sends the JobId, BaseId,
- FileId, FileIndex back to the Director who creates the DB entry.
-- To initiate a Base save, the Director sends the FD
- the FileId, and full filename for each file in the Base.
-- When the FD finds a Base file, he requests the Director to
- send him the full File entry (stat packet plus MD5), or
- conversely, the FD sends it to the Director and the Director
- says yes or no. This can be quite rapid if the FileId is kept
- by the FD for each Base Filename.
-- It is probably better to have the comparison done by the FD
- despite the fact that the File entry must be sent across the
- network.
-- An alternative would be to send the FD the whole File entry
- from the start. The disadvantage is that it requires a lot of
- space. The advantage is that it requires less communications
- during the save.
-- The Job record must be updated to indicate that one or more
- Bases were used.
-- At end of Job, FD returns:
- 1. Count of base files/bytes not written to tape (i.e. matches)
- 2. Count of base file that were saved i.e. had changed.
-- No tape record would be written for a Base file that matches, in the
- same way that no tape record is written for Incremental jobs where
- the file is not saved because it is unchanged.
-- On a restore, all the Base file records must explicitly be
- found from the BaseFile tape. I.e. for each Full save that is marked
- to have one or more Base Jobs, search the BaseFile for all occurrences
- of JobId.
-- An optimization might be to make the BaseFile have:
- JobId
- BaseId
- FileId
- plus
- FileIndex
- This would avoid the need to explicitly fetch each File record for
- the Base job. The Base Job record will be fetched to get the
- VolSessionId and VolSessionTime.
-- Fix bpipe.c so that it does not modify results pointer.
- ***FIXME*** calling sequence should be changed.
-- Fix restore of acls and extended attributes to count ERROR
- messages and make errors non-fatal.
-- Put save/restore various platform acl/xattrs on a pointer to simplify
- the code.
-- Add blast attributes to DIR to SD.
-- Implement unmount of USB volumes.
-- Look into using Dart for testing
- http://public.kitware.com/Dart/HTML/Index.shtml
diff --git a/platforms/Makefile.in b/platforms/Makefile.in
index bba619b..fedcde3 100644
--- a/platforms/Makefile.in
+++ b/platforms/Makefile.in
@@ -11,7 +11,7 @@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL = @INSTALL@
-SUBDIRS = freebsd redhat solaris unknown openbsd osx irix gentoo \
+SUBDIRS = hurd freebsd redhat solaris unknown openbsd osx irix gentoo \
debian darwin aix bsdi mandrake slackware alpha ubuntu systemd
MAKE = make
diff --git a/platforms/hurd/Makefile.in b/platforms/hurd/Makefile.in
new file mode 100644
index 0000000..c8f392e
--- /dev/null
+++ b/platforms/hurd/Makefile.in
@@ -0,0 +1,88 @@
+#
+# This file is used as the template to create the
+# Makefile for the Debian GNU Hurd specific installation.
+#
+# 21 March 2008 -- Kern Sibbald
+#
+# for Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
+#
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -m 754
+
+nothing:
+
+install: install-autostart
+
+install-autostart: install-autostart-fd install-autostart-sd install-autostart-dir
+
+install_logrotate:
+ @$(INSTALL_PROGRAM) ../../scripts/logrotate $(DESTDIR)/etc/logrotate.d/bacula
+
+install-autostart-fd: uninstall-autostart-fd
+ @echo "Installing bacula-fd boot script ..."
+ @$(INSTALL_PROGRAM) bacula-fd $(DESTDIR)/etc/init.d/bacula-fd
+ @echo "Installing bacula-fd symlinks ..."
+ @if test x$(DESTDIR) = x ; then \
+ /usr/sbin/update-rc.d bacula-fd start 91 2 3 4 5 . stop 9 0 1 6 .; \
+ fi
+
+
+install-autostart-sd: uninstall-autostart-sd
+ @echo "Installing bacula-sd boot script ..."
+ @$(INSTALL_PROGRAM) bacula-sd $(DESTDIR)/etc/init.d/bacula-sd
+ @echo "Installing bacula-sd symlinks ..."
+ @if test "x$(DESTDIR)" = "x" ; then \
+ /usr/sbin/update-rc.d bacula-sd start 91 2 3 4 5 . stop 9 0 1 6 .; \
+ fi
+
+
+install-autostart-dir: uninstall-autostart-dir
+ @echo "Installing bacula-dir boot script ..."
+ @$(INSTALL_PROGRAM) bacula-dir $(DESTDIR)/etc/init.d/bacula-dir
+ @echo "Installing bacula-dir symlinks ..."
+ @if test "x$(DESTDIR)" = "x" ; then \
+ /usr/sbin/update-rc.d bacula-dir start 90 2 3 4 5 . stop 9 0 1 6 .; \
+ fi
+
+
+uninstall: uninstall-autostart
+
+uninstall-autostart: uninstall-autostart-fd uninstall-autostart-sd uninstall-autostart-dir
+
+uninstall-logrotate:
+ @rm -f $(DESTDIR)/etc/logrotate.d/bacula
+
+uninstall-autostart-fd:
+ @if test "x$(DESTDIR)" = "x" -a -f /etc/init.d/bacula-fd; then \
+ /etc/init.d/bacula-fd stop; \
+ rm -f $(DESTDIR)/etc/init.d/bacula-fd; \
+ /usr/sbin/update-rc.d bacula-fd remove; \
+ fi
+
+
+uninstall-autostart-sd:
+ @if test "x$(DESTDIR)" = "x" -a -f /etc/init.d/bacula-sd; then \
+ /etc/init.d/bacula-sd stop; \
+ rm -f $(DESTDIR)/etc/init.d/bacula-sd; \
+ /usr/sbin/update-rc.d bacula-sd remove; \
+ fi
+
+uninstall-autostart-dir:
+ @if test "x$(DESTDIR)" = "x" -a -f /etc/init.d/bacula-dir; then \
+ /etc/init.d/bacula-dir stop; \
+ rm -f $(DESTDIR)/etc/init.d/bacula-dir; \
+ /usr/sbin/update-rc.d bacula-dir remove; \
+ fi
+ @rm -f $(DESTDIR)/etc/init.d/bacula-dir
+
+clean:
+ @rm -f 1 2 3
+
+distclean: clean
+ @rm -f Makefile
+ @rm -f bacula-sd bacula-fd bacula-dir
+
+devclean: clean
+ @rm -f Makefile
+ @rm -f bacula-sd bacula-fd bacula-dir
diff --git a/platforms/hurd/bacula-dir.in b/platforms/hurd/bacula-dir.in
new file mode 100644
index 0000000..88c13a3
--- /dev/null
+++ b/platforms/hurd/bacula-dir.in
@@ -0,0 +1,73 @@
+#! /bin/sh
+#
+# bacula This shell script takes care of starting and stopping
+# the bacula Director daemon on Debian GNU Hurd systems.
+#
+# Kern E. Sibbald - 21 March 2008
+#
+# For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
+#
+### BEGIN INIT INFO
+# Provides: bacula-dir
+# Required-Start: $network
+# Required-Stop: $network
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start @BACULA@ Director daemon at boot time
+# Description: Enable @BACULA@ Director.
+### END INIT INFO
+#
+
+NAME="bacula-dir"
+DESC="@BACULA@ Director"
+DAEMON=@sbindir@/${NAME}
+BUSER=@dir_user@
+BGROUP=@dir_group@
+BOPTIONS="-c @sysconfdir@/${NAME}.conf"
+BPORT=@dir_port@
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+test -f $DAEMON || exit 0
+
+if [ -n "`getent services ${NAME}`" ]; then
+ BPORT=`getent services ${NAME} | awk '{ gsub("/tcp","",$2); print $2; }'`
+fi
+
+if [ -f /etc/default/$NAME ]; then
+ . /etc/default/$NAME
+fi
+
+PIDFILE=@piddir@/${NAME}.${BPORT}.pid
+
+if [ "x${BUSER}" != "x" ]; then
+ USERGRP="--chuid ${BUSER}"
+ if [ "x${BGROUP}" != "x" ]; then
+ USERGRP="${USERGRP}:${BGROUP}"
+ fi
+fi
+
+case "$1" in
+ start)
+ echo -n "Starting ${DESC}: "
+ start-stop-daemon --start --quiet --pidfile ${PIDFILE} ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+ RETVAL=$?
+ echo "${NAME}"
+ ;;
+ stop)
+ echo -n "Stopping ${DESC}: "
+ start-stop-daemon --oknodo --stop --quiet ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+ RETVAL=$?
+ echo "${NAME}"
+ ;;
+ restart|force-reload)
+ $0 stop
+ sleep 5
+ $0 start
+ ;;
+ *)
+ echo "Usage: /etc/init.d/${NAME} {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+exit $RETVAL
diff --git a/platforms/hurd/bacula-fd.in b/platforms/hurd/bacula-fd.in
new file mode 100644
index 0000000..270950a
--- /dev/null
+++ b/platforms/hurd/bacula-fd.in
@@ -0,0 +1,73 @@
+#! /bin/sh
+#
+# bacula This shell script takes care of starting and stopping
+# the bacula Director daemon on Debian GNU Hurd systems.
+#
+# Kern E. Sibbald - 21 March 2008
+#
+# For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
+#
+### BEGIN INIT INFO
+# Provides: bacula-fd
+# Required-Start: $network
+# Required-Stop: $network
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start @BACULA@ Client daemon at boot time
+# Description: Enable @BACULA@ Client.
+### END INIT INFO
+
+
+NAME="bacula-fd"
+DESC="@BACULA@ File Daemon"
+DAEMON=@sbindir@/${NAME}
+BUSER=@fd_user@
+BGROUP=@fd_group@
+BOPTIONS="-c @sysconfdir@/${NAME}.conf"
+BPORT=@fd_port@
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+test -f $DAEMON || exit 0
+
+if [ -n "`getent services ${NAME}`" ]; then
+ BPORT=`getent services ${NAME} | awk '{ gsub("/tcp","",$2); print $2; }'`
+fi
+
+if [ -f /etc/default/$NAME ]; then
+ . /etc/default/$NAME
+fi
+
+PIDFILE=@piddir@/${NAME}.${BPORT}.pid
+
+if [ "x${BUSER}" != "x" ]; then
+ USERGRP="--chuid ${BUSER}"
+ if [ "x${BGROUP}" != "x" ]; then
+ USERGRP="${USERGRP}:${BGROUP}"
+ fi
+fi
+
+case "$1" in
+ start)
+ echo -n "Starting ${DESC}: "
+ start-stop-daemon --start --quiet --pidfile ${PIDFILE} ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+ RETVAL=$?
+ echo "${NAME}"
+ ;;
+ stop)
+ echo -n "Stopping ${DESC}: "
+ start-stop-daemon --oknodo --stop --quiet ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+ RETVAL=$?
+ echo "${NAME}"
+ ;;
+ restart|force-reload)
+ $0 stop
+ sleep 5
+ $0 start
+ ;;
+ *)
+ echo "Usage: /etc/init.d/${NAME} {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+exit $RETVAL
diff --git a/platforms/hurd/bacula-sd.in b/platforms/hurd/bacula-sd.in
new file mode 100644
index 0000000..ff1ad29
--- /dev/null
+++ b/platforms/hurd/bacula-sd.in
@@ -0,0 +1,73 @@
+#! /bin/sh
+#
+# bacula This shell script takes care of starting and stopping
+# the bacula Director daemon on Debian GNU Hurd systems.
+#
+# Kern E. Sibbald - 21 March 2008
+#
+# For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
+#
+### BEGIN INIT INFO
+# Provides: bacula-sd
+# Required-Start: $network
+# Required-Stop: $network
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start @BACULA@ Storage daemon at boot time
+# Description: Enable @BACULA@ Storage daemon.
+### END INIT INFO
+
+
+NAME="bacula-sd"
+DESC="@BACULA@ Storage Daemon"
+DAEMON=@sbindir@/${NAME}
+BUSER=@sd_user@
+BGROUP=@sd_group@
+BOPTIONS="-c @sysconfdir@/${NAME}.conf"
+BPORT=@sd_port@
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+test -f $DAEMON || exit 0
+
+if [ -n "`getent services ${NAME}`" ]; then
+ BPORT=`getent services ${NAME} | awk '{ gsub("/tcp","",$2); print $2; }'`
+fi
+
+if [ -f /etc/default/$NAME ]; then
+ . /etc/default/$NAME
+fi
+
+PIDFILE=@piddir@/${NAME}.${BPORT}.pid
+
+if [ "x${BUSER}" != "x" ]; then
+ USERGRP="--chuid ${BUSER}"
+ if [ "x${BGROUP}" != "x" ]; then
+ USERGRP="${USERGRP}:${BGROUP}"
+ fi
+fi
+
+case "$1" in
+ start)
+ echo -n "Starting ${DESC}: "
+ start-stop-daemon --start --quiet --pidfile ${PIDFILE} ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+ RETVAL=$?
+ echo "${NAME}"
+ ;;
+ stop)
+ echo -n "Stopping ${DESC}: "
+ start-stop-daemon --oknodo --stop --quiet ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+ RETVAL=$?
+ echo "${NAME}"
+ ;;
+ restart|force-reload)
+ $0 stop
+ sleep 5
+ $0 start
+ ;;
+ *)
+ echo "Usage: /etc/init.d/${NAME} {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+exit $RETVAL
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 136c077..95f07f6 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -104,7 +104,6 @@
./src/lib/message.c
./src/lib/bnet_server.c
./src/lib/tree.c
-./src/lib/new-bnet.c
./src/lib/btime.c
./src/lib/bpipe.c
./src/lib/lockmgr.c
diff --git a/po/bacula.pot b/po/bacula.pot
index 51ada45..2166b6e 100644
--- a/po/bacula.pot
+++ b/po/bacula.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
@@ -93,7 +93,7 @@ msgstr ""
msgid "Continue? (yes/mod/no): "
msgstr ""
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
msgid "mod"
msgstr ""
@@ -113,8 +113,8 @@ msgstr ""
msgid "The defined Storage resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
#: src/wx-console/wxbrestorepanel.cpp:355
#: src/wx-console/wxbrestorepanel.cpp:479
#: src/wx-console/wxbrestorepanel.cpp:480
@@ -135,7 +135,7 @@ msgstr ""
msgid "The defined FileSet resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
msgid "FileSet"
msgstr ""
@@ -143,7 +143,7 @@ msgstr ""
msgid "Select FileSet resource"
msgstr ""
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
msgid "Could not find a Catalog resource\n"
msgstr ""
@@ -168,8 +168,8 @@ msgid "The defined Job resources are:\n"
msgstr ""
#: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
msgid "Job"
msgstr ""
@@ -194,8 +194,8 @@ msgstr ""
msgid "The defined Client resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
#: src/wx-console/wxbrestorepanel.cpp:336
#: src/wx-console/wxbrestorepanel.cpp:354
#: src/wx-console/wxbrestorepanel.cpp:431
@@ -254,7 +254,7 @@ msgstr ""
msgid "Could not find Pool \"%s\": ERR=%s"
msgstr ""
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
#, c-format
msgid "Error obtaining pool ids. ERR=%s\n"
msgstr ""
@@ -268,12 +268,12 @@ msgid "Defined Pools:\n"
msgstr ""
#: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
msgid "*None*"
msgstr ""
#: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
#: src/wx-console/wxbrestorepanel.cpp:527
#: src/wx-console/wxbrestorepanel.cpp:537
#: src/wx-console/wxbrestorepanel.cpp:1834
@@ -414,7 +414,7 @@ msgstr ""
msgid "Unauthorized command from this console.\n"
msgstr ""
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
msgid "No Jobs running.\n"
msgstr ""
@@ -719,8 +719,8 @@ msgstr ""
msgid "Start Admin JobId %d, Job=%s\n"
msgstr ""
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
#, c-format
msgid "Error getting Job record for Job report: ERR=%s"
msgstr ""
@@ -737,8 +737,8 @@ msgstr ""
msgid "Admin Canceled"
msgstr ""
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
#, c-format
msgid "Inappropriate term code: %c\n"
msgstr ""
@@ -747,7 +747,7 @@ msgstr ""
msgid "Bacula "
msgstr ""
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
#, c-format
msgid ""
"\n"
@@ -769,66 +769,66 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
#: src/filed/filed.c:218 src/qt-console/main.cpp:165
msgid "Cryptography library initialization failed.\n"
msgstr ""
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
#: src/filed/filed.c:223 src/qt-console/main.cpp:169
#, c-format
msgid "Please correct configuration file: %s\n"
msgstr ""
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
msgid "Too many open reload requests. Request ignored.\n"
msgstr ""
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
msgid "Out of reload table entries. Giving up.\n"
msgstr ""
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
msgid "Resetting previous configuration.\n"
msgstr ""
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
#, c-format
msgid ""
"No Director resource defined in %s\n"
"Without that I don't know who I am :-(\n"
msgstr ""
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
#, c-format
msgid "No Messages resource defined in %s\n"
msgstr ""
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
#, c-format
msgid "Only one Director resource permitted in %s\n"
msgstr ""
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
#: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
#: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
#: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
msgid "TLS required but not configured in Bacula.\n"
msgstr ""
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
#, c-format
msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
#, c-format
msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -836,46 +836,46 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
#, c-format
msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
#, c-format
msgid "No Job records defined in %s\n"
msgstr ""
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
#, c-format
msgid "Hey something is wrong. p=0x%lu\n"
msgstr ""
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
#, c-format
msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
msgstr ""
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
msgid "Too many items in Job resource\n"
msgstr ""
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
#, c-format
msgid "No storage specified in Job \"%s\" nor in Pool.\n"
msgstr ""
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
#, c-format
msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
#, c-format
msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -883,51 +883,51 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
#, c-format
msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
"File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
"Storage \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
#, c-format
msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
#, c-format
msgid "Could not open Catalog \"%s\", database \"%s\".\n"
msgstr ""
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
#, c-format
msgid "%s"
msgstr ""
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
#, c-format
msgid "Could not create storage record for %s\n"
msgstr ""
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
#, c-format
msgid "Could not update storage record for %s\n"
msgstr ""
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
#, c-format
msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
msgstr ""
@@ -946,18 +946,18 @@ msgstr ""
msgid "Old style Include/Exclude not supported\n"
msgstr ""
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
#, c-format
msgid "Expecting keyword, got: %s\n"
msgstr ""
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
#: src/lib/parse_conf.c:976
#, c-format
msgid "expected an equals, got: %s"
msgstr ""
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
#, c-format
msgid "Keyword %s not permitted in this resource"
msgstr ""
@@ -1009,7 +1009,7 @@ msgstr ""
msgid "Options section not permitted in Exclude\n"
msgstr ""
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
#, c-format
msgid "Expecting open brace. Got %s"
msgstr ""
@@ -1189,13 +1189,13 @@ msgid ""
"There are no more Jobs associated with Volume \"%s\". Marking it purged.\n"
msgstr ""
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d ...\n"
msgstr ""
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
msgid "Failed to connect to Storage daemon.\n"
msgstr ""
@@ -1270,34 +1270,34 @@ msgstr ""
msgid "Could not get or create the FileSet record.\n"
msgstr ""
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
#, c-format
msgid "Error getting Client record for Job report: ERR=%s"
msgstr ""
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
#, c-format
msgid "Error getting Media record for Volume \"%s\": ERR=%s"
msgstr ""
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
msgid "Backup OK -- with warnings"
msgstr ""
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
msgid "Backup OK"
msgstr ""
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
msgid "*** Backup Error ***"
msgstr ""
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
msgid "Backup Canceled"
msgstr ""
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -1344,93 +1344,93 @@ msgstr ""
msgid "disabled"
msgstr ""
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
msgid "Keywords for the show command are:\n"
msgstr ""
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
#, c-format
msgid "%s resource %s not found.\n"
msgstr ""
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
#, c-format
msgid "Resource %s not found\n"
msgstr ""
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
msgid "Hey! DB is NULL\n"
msgstr ""
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
#, c-format
msgid "Jobid %d used %d Volume(s): %s\n"
msgstr ""
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
msgid "No Pool specified.\n"
msgstr ""
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
#, c-format
msgid "Pool: %s\n"
msgstr ""
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
msgid "Ignoring invalid value for days. Max is 50.\n"
msgstr ""
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
#, c-format
msgid "Unknown list keyword: %s\n"
msgstr ""
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
#, c-format
msgid "%s is not a job name.\n"
msgstr ""
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
#, c-format
msgid "Could not find Pool for Job %s\n"
msgstr ""
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
#, c-format
msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
msgstr ""
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
#, c-format
msgid ""
"The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
msgstr ""
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
#, c-format
msgid "Could not find next Volume for Job %s.\n"
msgstr ""
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
#, c-format
msgid "Could not open database \"%s\".\n"
msgstr ""
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
#, c-format
msgid "Pool %s not in database. %s"
msgstr ""
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
#, c-format
msgid "Pool %s created in database.\n"
msgstr ""
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
msgid "You have no messages.\n"
msgstr ""
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
msgid "Message too long to display.\n"
msgstr ""
@@ -1443,88 +1443,88 @@ msgstr ""
msgid ": is an invalid command.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
#: src/dird/ua_restore.c:823
#, c-format
msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
#: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
#: src/dird/job.c:1160 src/dird/job.c:1164
msgid "unknown source"
msgstr ""
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
msgid "Connected to storage daemon\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
#: src/dird/ua_status.c:397
#, c-format
msgid "Connecting to Client %s at %s:%d\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
msgid "Failed to connect to Client.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
#, c-format
msgid "Unknown command: %s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
msgid "Available daemons are: \n"
msgstr ""
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
msgid "Director"
msgstr ""
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
msgid "Select daemon type to make die"
msgstr ""
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
msgid "The Director will generate a deadlock.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
msgid "The Director will segment fault.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
msgid "Access to specified Client or FileSet not allowed.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
#: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
#: src/dird/ua_restore.c:990
#, c-format
msgid "Query failed: %s. ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
msgid "query keyword not found.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
#, c-format
msgid "List MediaType failed: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
#, c-format
msgid "List Media failed: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
#, c-format
msgid "List Location failed: ERR=%s\n"
msgstr ""
@@ -1833,11 +1833,11 @@ msgstr ""
msgid "Enter base volume name: "
msgstr ""
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
msgid "Volume name too long.\n"
msgstr ""
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
msgid "Volume name must be at least one character long.\n"
msgstr ""
@@ -1896,11 +1896,11 @@ msgstr ""
msgid "Python interpreter restarted.\n"
msgstr ""
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
msgid "Nothing done.\n"
msgstr ""
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
#, c-format
msgid "Client \"%s\" not found.\n"
msgstr ""
@@ -1927,7 +1927,7 @@ msgstr ""
msgid "Select daemon type to set debug level"
msgstr ""
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
#, c-format
msgid "No authorization for Client \"%s\"\n"
msgstr ""
@@ -1936,7 +1936,7 @@ msgstr ""
msgid "Client name missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
#, c-format
msgid "No authorization for Job \"%s\"\n"
msgstr ""
@@ -1959,7 +1959,7 @@ msgstr ""
msgid "Fileset name missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
#, c-format
msgid "Level \"%s\" not valid.\n"
msgstr ""
@@ -1968,43 +1968,67 @@ msgstr ""
msgid "Level value missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
msgid "Invalid value for accurate. It must be yes or no.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+msgid "Accurate value missing.\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1167
msgid "No job specified.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
msgid "Error sending include list.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
msgid "Error sending exclude list.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
msgid ""
"In general it is not a good idea to delete either a\n"
"Pool or a Volume since they may contain data.\n"
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
msgid "Choose catalog item to delete"
msgstr ""
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1404
msgid "Enter JobId to delete: "
msgstr ""
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr ""
+
+#: src/dird/ua_cmds.c:1450
+#, c-format
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
#, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Jobid %s and associated records deleted from the catalog.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
#, c-format
msgid ""
"\n"
@@ -2012,44 +2036,44 @@ msgid ""
"and all Jobs saved on that volume from the Catalog\n"
msgstr ""
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
#, c-format
msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
msgstr ""
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
msgid "Can't list jobs on this volume\n"
msgstr ""
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
#, c-format
msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
msgstr ""
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
#, c-format
msgid "Using Catalog name=%s DB=%s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
msgid "ERR: Can't open db\n"
msgstr ""
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
msgid "Wait on mount timed out\n"
msgstr ""
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
msgid "ERR: Job was not found\n"
msgstr ""
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
msgid ""
" Command Description\n"
" ======= ===========\n"
msgstr ""
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
#, c-format
msgid ""
" %-13s %s\n"
@@ -2058,12 +2082,12 @@ msgid ""
"\t%s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
#, c-format
msgid " %-13s %s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
#, c-format
msgid ""
"\n"
@@ -2071,29 +2095,29 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
msgid ""
"\n"
"When at a prompt, entering a period cancels the command.\n"
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
#, c-format
msgid "%s Version: %s (%s) %s %s %s %s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
#, c-format
msgid "No authorization for Catalog \"%s\"\n"
msgstr ""
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
#, c-format
msgid "Could not open catalog database \"%s\".\n"
msgstr ""
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
#, c-format
msgid "Using Catalog \"%s\"\n"
msgstr ""
@@ -2291,57 +2315,57 @@ msgstr ""
msgid "%d directories unmarked.\n"
msgstr ""
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
#: src/qt-console/tray-monitor/tray_conf.cpp:168
#, c-format
msgid "No %s resource defined\n"
msgstr ""
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
#, c-format
msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
#, c-format
msgid " query_file=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
msgid " --> "
msgstr ""
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
#, c-format
msgid "Console: name=%s SSL=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
#, c-format
msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
#, c-format
msgid "Counter: name=%s min=%d max=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
#, c-format
msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
#, c-format
msgid " JobRetention=%s FileRetention=%s AutoPrune=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
#, c-format
msgid ""
"Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2350,286 +2374,286 @@ msgid ""
" poolid=%s volname=%s MediaType=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
#, c-format
msgid ""
"Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
" DeviceName=%s MediaType=%s StorageId=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
#, c-format
msgid ""
"Catalog: name=%s address=%s DBport=%d db_name=%s\n"
" db_driver=%s db_user=%s MutliDBConn=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
#, c-format
msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
msgid "JobDefs"
msgstr ""
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
#, c-format
msgid ""
" MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
"%d\n"
msgstr ""
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
#, c-format
msgid " SpoolSize=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
#, c-format
msgid " Accurate=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
#, c-format
msgid " SelectionType=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
#, c-format
msgid " --> Where=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
#, c-format
msgid " --> RegexWhere=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
#, c-format
msgid " --> Bootstrap=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
#, c-format
msgid " --> WriteBootstrap=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
#, c-format
msgid " --> PluginOptions=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
#, c-format
msgid " --> MaxRunTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
#, c-format
msgid " --> MaxWaitTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
#, c-format
msgid " --> MaxStartDelay=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
#, c-format
msgid " --> MaxRunSchedTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
#, c-format
msgid " --> Base %s\n"
msgstr ""
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
msgid " --> RunScript\n"
msgstr ""
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
#, c-format
msgid " --> Command=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
#, c-format
msgid " --> Target=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
#, c-format
msgid " --> RunOnSuccess=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
#, c-format
msgid " --> RunOnFailure=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
#, c-format
msgid " --> FailJobOnError=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
#, c-format
msgid " --> RunWhen=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
#, c-format
msgid " --> Run=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
#, c-format
msgid " --> SelectionPattern=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
#, c-format
msgid "FileSet: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
#, c-format
msgid "Schedule: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
#, c-format
msgid " --> Run Level=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
msgid " hour="
msgstr ""
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
msgid " mday="
msgstr ""
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
msgid " month="
msgstr ""
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
msgid " wday="
msgstr ""
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
msgid " wom="
msgstr ""
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
msgid " woy="
msgstr ""
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
#, c-format
msgid " mins=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
msgid " --> "
msgstr ""
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
#, c-format
msgid "Pool: name=%s PoolType=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
#, c-format
msgid " use_cat=%d use_once=%d cat_files=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
#, c-format
msgid " max_vols=%d auto_prune=%d VolRetention=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
#, c-format
msgid " VolUse=%s recycle=%d LabelFormat=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
#, c-format
msgid " CleaningPrefix=%s LabelType=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
#, c-format
msgid " RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
#, c-format
msgid " MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
#, c-format
msgid " MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
#, c-format
msgid " JobRetention=%s FileRetention=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
#, c-format
msgid " NextPool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
#, c-format
msgid " RecyclePool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
#, c-format
msgid " ScratchPool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
#, c-format
msgid " Catalog=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
#, c-format
msgid "Messages: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
#, c-format
msgid " mailcmd=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
#, c-format
msgid " opcmd=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
#: src/qt-console/tray-monitor/tray_conf.cpp:199
#, c-format
msgid "Unknown resource type %d in dump_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
#: src/qt-console/tray-monitor/tray_conf.cpp:257
#, c-format
msgid "Unknown resource type %d in free_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
#: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
#: src/console/console_conf.c:259 src/filed/filed_conf.c:361
#: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2638,54 +2662,54 @@ msgstr ""
msgid "%s item is required in %s resource, but not found.\n"
msgstr ""
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
#: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
#, c-format
msgid "Too many items in %s resource\n"
msgstr ""
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
#, c-format
msgid "Cannot find Pool resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
#, c-format
msgid "Cannot find Console resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
#: src/filed/filed_conf.c:381
#, c-format
msgid "Cannot find Director resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
#, c-format
msgid "Cannot find Storage resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
#, c-format
msgid "Cannot find Job resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
#, c-format
msgid "Cannot find Counter resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
#, c-format
msgid "Cannot find Client resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
#, c-format
msgid "Cannot find Schedule resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
#: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
#: src/qt-console/tray-monitor/tray_conf.cpp:314
#: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2693,12 +2717,12 @@ msgstr ""
msgid "Unknown resource type %d in save_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
#, c-format
msgid "Name item is required in %s resource, but not found.\n"
msgstr ""
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
#: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
#: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
#: src/qt-console/bat_conf.cpp:334
@@ -2706,43 +2730,43 @@ msgstr ""
msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
msgstr ""
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
#, c-format
msgid "Inserting %s res: %s index=%d pass=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
#, c-format
msgid "Expected one of: %s, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
#, c-format
msgid "Expected a Migration Job Type keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
#, c-format
msgid "Expected a Job Type keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
#, c-format
msgid "Expected a Job Level keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
#, c-format
msgid "Expected a Restore replacement option, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
#: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
#, c-format
msgid "Expect %s, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
#, c-format
msgid "Could not find config Resource %s referenced on line %d : %s\n"
msgstr ""
@@ -2870,7 +2894,7 @@ msgstr ""
msgid "Select full restore to a specified Job date"
msgstr ""
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
#: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
msgid "Cancel"
msgstr ""
@@ -3273,179 +3297,179 @@ msgstr ""
msgid "Slot too large.\n"
msgstr ""
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
msgid "command line"
msgstr ""
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
msgid "No slots in changer to scan.\n"
msgstr ""
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
msgid "No Volumes found to label, or no barcodes.\n"
msgstr ""
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
#, c-format
msgid "Slot %d greater than max %d ignored.\n"
msgstr ""
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
#, c-format
msgid "No VolName for Slot=%d InChanger set to zero.\n"
msgstr ""
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
#, c-format
msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
msgstr ""
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
#, c-format
msgid "Catalog record for Volume \"%s\" is up to date.\n"
msgstr ""
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
#, c-format
msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
msgstr ""
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
#, c-format
msgid ""
"Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
"relabeling.\n"
msgstr ""
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
msgid "Enter new Volume name: "
msgstr ""
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
#, c-format
msgid "Media record for new Volume \"%s\" already exists.\n"
msgstr ""
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
msgid "Enter slot (0 or Enter for none): "
msgstr ""
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
#, c-format
msgid "Delete of Volume \"%s\" failed. ERR=%s"
msgstr ""
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
#, c-format
msgid "Old volume \"%s\" deleted from catalog.\n"
msgstr ""
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
#, c-format
msgid "Requesting to mount %s ...\n"
msgstr ""
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
msgid "Do not forget to mount the drive!!!\n"
msgstr ""
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
msgid ""
"The following Volumes will be labeled:\n"
"Slot Volume\n"
"==============\n"
msgstr ""
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
msgid "Do you want to label these Volumes? (yes|no): "
msgstr ""
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
#, c-format
msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
msgstr ""
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
#, c-format
msgid "Error setting InChanger: ERR=%s"
msgstr ""
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
#, c-format
msgid "Maximum pool Volumes=%d reached.\n"
msgstr ""
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
#, c-format
msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
#, c-format
msgid "Catalog error on cleaning tape: %s"
msgstr ""
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
#, c-format
msgid "Illegal character \"%c\" in a volume name.\n"
msgstr ""
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
#, c-format
msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
msgstr ""
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
#, c-format
msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
msgstr ""
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
#, c-format
msgid "Catalog record for Volume \"%s\", Slot %d successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
#, c-format
msgid "Label command failed for Volume %s.\n"
msgstr ""
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
msgid "Could not open SD socket.\n"
msgstr ""
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
#, c-format
msgid "Invalid Slot number: %s\n"
msgstr ""
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
#, c-format
msgid "Invalid Volume name: %s\n"
msgstr ""
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
#, c-format
msgid "Device \"%s\" has %d slots.\n"
msgstr ""
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
#, c-format
msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
msgstr ""
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
msgid "No Volumes found, or no barcodes.\n"
msgstr ""
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
msgid ""
" Slot | Volume Name | Status | Media Type | "
"Pool |\n"
msgstr ""
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
msgid ""
"------+------------------+-----------+----------------------"
"+--------------------|\n"
@@ -3666,15 +3690,15 @@ msgid "New Recycle flag is: %s\n"
msgstr ""
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
#: src/tools/dbcheck.c:1352
msgid "yes"
msgstr ""
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
msgid "no"
msgstr ""
@@ -3753,7 +3777,7 @@ msgstr ""
msgid "New ActionOnPurge is: %s\n"
msgstr ""
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
msgid "Parameters to modify:\n"
msgstr ""
@@ -3825,7 +3849,7 @@ msgstr ""
msgid "Done"
msgstr ""
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
msgid "Select parameter to modify"
msgstr ""
@@ -4054,7 +4078,7 @@ msgstr ""
msgid "Pool resource \"%s\" not found.\n"
msgstr ""
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
#, c-format
msgid "Could not get job record for JobId %s to %s. ERR=%s"
msgstr ""
@@ -4069,140 +4093,140 @@ msgstr ""
msgid "Start %s JobId %s, Job=%s\n"
msgstr ""
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
#, c-format
msgid "No %s SQL selection pattern specified.\n"
msgstr ""
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
#, c-format
msgid "SQL failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
#, c-format
msgid "No Volumes found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
msgid "Invalid JobId found.\n"
msgstr ""
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
#, c-format
msgid "Unknown %s Selection Type.\n"
msgstr ""
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
#, c-format
msgid "No JobIds found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
#, c-format
msgid "The following %u JobId%s chosen to be %s: %s\n"
msgstr ""
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid " was"
msgstr ""
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid "s were"
msgstr ""
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
#, c-format
msgid "%s using JobId=%s Job=%s\n"
msgstr ""
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
msgid "Could not start migration job.\n"
msgstr ""
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
#, c-format
msgid "%s JobId %d started.\n"
msgstr ""
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
#, c-format
msgid "No %s found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
#, c-format
msgid "SQL error. Expected 1 MediaId got %d\n"
msgstr ""
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
#, c-format
msgid "No %ss found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
msgstr ""
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
#, c-format
msgid "SQL to get uncopied jobs failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
#, c-format
msgid "No %s %s selection pattern specified.\n"
msgstr ""
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
#, c-format
msgid "SQL to get %s failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
#, c-format
msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
#, c-format
msgid "Regex pattern matched no Jobs to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
#, c-format
msgid "%s OK -- with warnings"
msgstr ""
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
#, c-format
msgid "%s OK"
msgstr ""
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
#, c-format
msgid "*** %s Error ***"
msgstr ""
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
#, c-format
msgid "%s Canceled"
msgstr ""
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
#, c-format
msgid "Inappropriate %s term code"
msgstr ""
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
#, c-format
msgid "%s -- no files to %s"
msgstr ""
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -4237,17 +4261,17 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
#, c-format
msgid "No Next Pool specification found in Pool \"%s\".\n"
msgstr ""
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
#, c-format
msgid "No Storage specification found in Next Pool \"%s\".\n"
msgstr ""
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
msgid "Storage from Pool's NextPool resource"
msgstr ""
@@ -4255,43 +4279,43 @@ msgstr ""
msgid "Choose item to prune"
msgstr ""
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
#, c-format
msgid "Cannot prune Volume \"%s\" because it is archived.\n"
msgstr ""
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
msgid "Pruned Jobs from JobHisto catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
msgid "Begin pruning Files.\n"
msgstr ""
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
msgid "No Files found to prune.\n"
msgstr ""
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
#, c-format
msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
#, c-format
msgid "Begin pruning Jobs older than %s.\n"
msgstr ""
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
#, c-format
msgid "Pruned %d %s for client %s from catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
msgid "Jobs"
msgstr ""
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
msgid "No Jobs found to prune.\n"
msgstr ""
@@ -4314,50 +4338,58 @@ msgstr ""
msgid "Job queued. JobId=%s\n"
msgstr ""
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr ""
+
+#: src/dird/ua_run.c:207
msgid "Job not run.\n"
msgstr ""
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
msgid "Level"
msgstr ""
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
msgid "Restore Client"
msgstr ""
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
#: src/wx-console/wxbrestorepanel.cpp:854
#: src/wx-console/wxbrestorepanel.cpp:1918
msgid "When"
msgstr ""
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
#: src/wx-console/wxbrestorepanel.cpp:1128
#: src/wx-console/wxbrestorepanel.cpp:1921
msgid "Priority"
msgstr ""
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
msgid "Verify Job"
msgstr ""
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
#: src/wx-console/wxbrestorepanel.cpp:1899
msgid "Bootstrap"
msgstr ""
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
#: src/wx-console/wxbrestorepanel.cpp:1104
#: src/wx-console/wxbrestorepanel.cpp:1901
msgid "Where"
msgstr ""
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
msgid "File Relocation"
msgstr ""
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
#: src/wx-console/wxbrestorepanel.cpp:1112
#: src/wx-console/wxbrestorepanel.cpp:1905
#: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4367,212 +4399,212 @@ msgstr ""
msgid "Replace"
msgstr ""
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
msgid "JobId"
msgstr ""
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
msgid "Plugin Options"
msgstr ""
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
msgid "user selection"
msgstr ""
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
msgid ""
"Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
msgstr ""
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
msgid "Invalid time, using current time.\n"
msgstr ""
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
msgid "Enter new Priority: "
msgstr ""
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
msgid "Priority must be a positive integer.\n"
msgstr ""
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
msgid "Please enter the Bootstrap file name: "
msgstr ""
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
#, c-format
msgid "Warning cannot open %s: ERR=%s\n"
msgstr ""
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
msgid "Please enter the full path prefix for restore (/ for none): "
msgstr ""
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
msgid "Replace:\n"
msgstr ""
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
msgid "Select replace option"
msgstr ""
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
msgid ""
"You must set the bootstrap file to NULL to be able to specify a JobId.\n"
msgstr ""
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
msgid "Please Plugin Options string: "
msgstr ""
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
msgid "User input"
msgstr ""
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
#, c-format
msgid "Invalid replace option: %s\n"
msgstr ""
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
msgstr ""
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
msgid "This will replace your current Where value\n"
msgstr ""
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
msgid "Strip prefix"
msgstr ""
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
msgid "Add prefix"
msgstr ""
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
msgid "Add file suffix"
msgstr ""
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
msgid "Enter a regexp"
msgstr ""
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
msgid "Test filename manipulation"
msgstr ""
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
msgid "Use this ?"
msgstr ""
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
msgid "Please enter the path prefix to strip: "
msgstr ""
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
msgid "Please enter the path prefix to add (/ for none): "
msgstr ""
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
msgid "Please enter the file suffix to add: "
msgstr ""
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
msgid "Please enter a valid regexp (!from!to!): "
msgstr ""
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
#, c-format
msgid "regexwhere=%s\n"
msgstr ""
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
msgstr ""
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
msgid "Cannot use your regexp\n"
msgstr ""
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
msgid "Enter a period (.) to stop this test\n"
msgstr ""
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
msgid "Please enter filename to test: "
msgstr ""
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
#, c-format
msgid "%s -> %s\n"
msgstr ""
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
msgid "Cannot use your regexp.\n"
msgstr ""
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
msgid "Levels:\n"
msgstr ""
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
#: src/lib/util.c:472 src/filed/status.c:519
msgid "Full"
msgstr ""
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
#: src/filed/status.c:522
msgid "Incremental"
msgstr ""
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
#: src/filed/status.c:525
msgid "Differential"
msgstr ""
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
#: src/filed/status.c:528
msgid "Since"
msgstr ""
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
msgid "VirtualFull"
msgstr ""
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
msgid "Select level"
msgstr ""
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
msgid "Initialize Catalog"
msgstr ""
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
#: src/filed/status.c:531
msgid "Verify Catalog"
msgstr ""
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
msgid "Verify Volume to Catalog"
msgstr ""
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
msgid "Verify Disk to Catalog"
msgstr ""
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
msgid "Verify Volume Data (not yet implemented)"
msgstr ""
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
msgid "Level not appropriate for this Job. Cannot be changed.\n"
msgstr ""
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
#, c-format
msgid ""
"Run Admin Job\n"
@@ -4584,7 +4616,7 @@ msgid ""
"Priority: %d\n"
msgstr ""
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
#, c-format
msgid ""
"Run Backup job\n"
@@ -4599,12 +4631,12 @@ msgid ""
"%s%s%s"
msgstr ""
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
#, c-format
msgid "Could not get job record for selected JobId. ERR=%s"
msgstr ""
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
#, c-format
msgid ""
"Run Verify Job\n"
@@ -4620,11 +4652,11 @@ msgid ""
"Priority: %d\n"
msgstr ""
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
msgid "Please enter a JobId for restore: "
msgstr ""
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
#, c-format
msgid ""
"Run Restore job\n"
@@ -4642,7 +4674,7 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
#, c-format
msgid ""
"Run Restore job\n"
@@ -4660,7 +4692,7 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
#, c-format
msgid ""
"Run Restore job\n"
@@ -4668,17 +4700,17 @@ msgid ""
"Bootstrap: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
#, c-format
msgid "RegexWhere: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
#, c-format
msgid "Where: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
#, c-format
msgid ""
"Replace: %s\n"
@@ -4691,215 +4723,215 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
msgid "Run Copy job\n"
msgstr ""
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
msgid "Run Migration job\n"
msgstr ""
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
#, c-format
msgid "Unknown Job Type=%d\n"
msgstr ""
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
#, c-format
msgid "Value missing for keyword %s\n"
msgstr ""
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
msgid "Job name specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
msgid "JobId specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
msgid "Client specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
msgid "FileSet specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
msgid "Level specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
msgid "Storage specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
msgid "RegexWhere or Where specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
msgid "No authorization for \"regexwhere\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
msgid "Where or RegexWhere specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
msgid "No authoriztion for \"where\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
msgid "Bootstrap specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
msgid "Replace specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
msgid "When specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
msgid "Priority specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
msgid "Priority must be positive nonzero setting it to 10.\n"
msgstr ""
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
msgid "Verify Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
msgid "Migration Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
msgid "Pool specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
msgid "Restore Client specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
msgid "Plugin Options not yet implemented.\n"
msgstr ""
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
msgid "Plugin Options specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
msgid "No authoriztion for \"PluginOptions\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
msgid "Spool flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
msgid "Invalid spooldata flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
msgid "IgnoreDuplicateCheck flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
msgid "Invalid ignoreduplicatecheck flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
msgid "Accurate flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
msgid "Invalid accurate flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
#, c-format
msgid "Invalid keyword: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
#, c-format
msgid "Catalog \"%s\" not found\n"
msgstr ""
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
#, c-format
msgid "No authorization. Catalog \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
#, c-format
msgid "Job \"%s\" not found\n"
msgstr ""
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
msgid "A job name must be specified.\n"
msgstr ""
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
#, c-format
msgid "No authorization. Job \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
#, c-format
msgid "Pool \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
#, c-format
msgid "No authorization. Pool \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
#, c-format
msgid "Storage \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
msgid "No storage specified.\n"
msgstr ""
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
#, c-format
msgid "No authorization. Storage \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
#, c-format
msgid "No authorization. Client \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
#, c-format
msgid "Restore Client \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
#, c-format
msgid "FileSet \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
#, c-format
msgid "No authorization. FileSet \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
#, c-format
msgid "Verify Job \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
#, c-format
msgid "Migration Job \"%s\" not found.\n"
msgstr ""
@@ -4956,25 +4988,25 @@ msgstr ""
msgid "Start Backup JobId %s, Job=%s\n"
msgstr ""
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
#, c-format
msgid "Unexpected Client Job message: %s\n"
msgstr ""
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
#, c-format
msgid "Network error with FD during %s: ERR=%s\n"
msgstr ""
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
msgid "No Job status returned from FD.\n"
msgstr ""
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
msgid "Backup failed -- incomplete"
msgstr ""
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5013,19 +5045,19 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
#, c-format
msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
msgstr ""
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
#, c-format
msgid ""
"Could not open WriteBootstrap file:\n"
"%s: ERR=%s\n"
msgstr ""
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr ""
@@ -5040,39 +5072,39 @@ msgstr ""
msgid "Could not acquire read storage lock for \"%s\""
msgstr ""
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
msgid ""
"Cannot restore without a bootstrap file.\n"
"You probably ran a restore job directly. All restore jobs must\n"
"be run using the restore command.\n"
msgstr ""
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
#, c-format
msgid "Start Restore Job %s\n"
msgstr ""
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
msgid "Restore OK -- warning file count mismatch"
msgstr ""
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
msgid "Restore OK"
msgstr ""
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
msgid "Restore OK -- with warnings"
msgstr ""
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
msgid "*** Restore Error ***"
msgstr ""
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
msgid "Restore Canceled"
msgstr ""
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5101,7 +5133,7 @@ msgstr ""
msgid "Select daemon type for status"
msgstr ""
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
#, c-format
msgid "%s Version: %s (%s) %s %s %s\n"
msgstr ""
@@ -5111,7 +5143,7 @@ msgstr ""
msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
msgstr ""
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
#, c-format
msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
msgstr ""
@@ -5168,7 +5200,7 @@ msgstr ""
msgid "No Scheduled Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
msgid ""
"\n"
"Running Jobs:\n"
@@ -5332,13 +5364,13 @@ msgstr ""
msgid "No Terminated Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
msgid ""
"\n"
"Terminated Jobs:\n"
msgstr ""
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr ""
@@ -5346,41 +5378,41 @@ msgstr ""
msgid "====================================================================\n"
msgstr ""
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
#: src/filed/status.c:363
msgid "Created"
msgstr ""
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
#: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
msgid "Error"
msgstr ""
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
msgid "Diffs"
msgstr ""
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
#: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
#: src/wx-console/wxbconfigpanel.cpp:209
msgid "OK"
msgstr ""
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
#: src/lib/util.c:327
msgid "OK -- with warnings"
msgstr ""
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
msgid "Other"
msgstr ""
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
#, c-format
msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
msgstr ""
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr ""
@@ -5549,7 +5581,7 @@ msgstr ""
msgid "Job DiffPool override"
msgstr ""
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr ""
@@ -5873,7 +5905,17 @@ msgstr ""
msgid "<stored: bad response to Job command: %s\n"
msgstr ""
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:311
+#, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:318
#, c-format
msgid ""
"\n"
@@ -5881,24 +5923,19 @@ msgid ""
" %s"
msgstr ""
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
#, c-format
msgid ""
"\n"
" Storage daemon didn't accept Device \"%s\" command.\n"
msgstr ""
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr ""
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
#, c-format
msgid "Cannot create message thread: %s\n"
msgstr ""
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
msgid "Director's comm line to SD dropped.\n"
msgstr ""
@@ -6348,26 +6385,26 @@ msgstr ""
msgid "Unable to initialize reservation lock. ERR=%s\n"
msgstr ""
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
#, c-format
msgid "Hey! num_writers=%d!!!!\n"
msgstr ""
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
msgid "3939 Could not get dcr\n"
msgstr ""
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
#, c-format
msgid "Device reservation failed for JobId=%d: %s\n"
msgstr ""
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
#, c-format
msgid "Failed command: %s\n"
msgstr ""
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
#, c-format
msgid ""
"\n"
@@ -6375,85 +6412,85 @@ msgid ""
"does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
#, c-format
msgid ""
"\n"
" Device \"%s\" requested by DIR could not be opened or does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
#, c-format
msgid "3926 Could not get dcr for device: %s\n"
msgstr ""
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
#, c-format
msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
#, c-format
msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
msgstr ""
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
#, c-format
msgid "3603 JobId=%u device %s is busy reading.\n"
msgstr ""
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
#, c-format
msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
#, c-format
msgid ""
"3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
"%s.\n"
msgstr ""
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
#, c-format
msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
#, c-format
msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
#, c-format
msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
msgstr ""
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
#, c-format
msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
msgstr ""
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
#, c-format
msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
#, c-format
msgid "Logic error!!!! JobId=%u Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
#, c-format
msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
msgid "Logic error!!!! Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
#, c-format
msgid "3911 JobId=%u failed reserve drive %s.\n"
msgstr ""
@@ -6585,7 +6622,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
msgstr ""
#: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
#, c-format
msgid "Mount Volume \"%s\" on device %s and press return when ready: "
msgstr ""
@@ -6880,7 +6917,7 @@ msgstr ""
msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
msgstr ""
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
#, c-format
msgid ""
"Bootstrap file error: %s\n"
@@ -6888,154 +6925,154 @@ msgid ""
"%s\n"
msgstr ""
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
#, c-format
msgid "Cannot open bootstrap file %s: %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
#, c-format
msgid "MediaType %s in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
#, c-format
msgid "Device \"%s\" in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
#, c-format
msgid "REGEX '%s' compile error. ERR=%s\n"
msgstr ""
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
msgid "JobType not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
msgid "JobLevel not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
#, c-format
msgid "Slot %d in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
#, c-format
msgid "VolFile : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
#, c-format
msgid "VolBlock : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
#, c-format
msgid "VolAddr : %llu-%llu\n"
msgstr ""
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
#, c-format
msgid "FileIndex : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
#, c-format
msgid "FileIndex : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
#, c-format
msgid "JobId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
#, c-format
msgid "JobId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
#, c-format
msgid "SessId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
#, c-format
msgid "SessId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
#, c-format
msgid "VolumeName : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
#, c-format
msgid " MediaType : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
#, c-format
msgid " Device : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
#, c-format
msgid " Slot : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
#, c-format
msgid "Client : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
#, c-format
msgid "Job : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
#, c-format
msgid "SessTime : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
msgid "BSR is NULL\n"
msgstr ""
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
#, c-format
msgid "Next : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
#, c-format
msgid "Root bsr : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
#, c-format
msgid "count : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
#, c-format
msgid "found : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
#, c-format
msgid "done : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
#, c-format
msgid "positioning : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
#, c-format
msgid "fast_reject : %d\n"
msgstr ""
@@ -7120,7 +7157,7 @@ msgid "Unable to set network buffer size.\n"
msgstr ""
#: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
msgid "NULL Volume name. This shouldn't happen!!!\n"
msgstr ""
@@ -7229,7 +7266,7 @@ msgstr ""
msgid "Volume on %s has bad Bacula label type: %x\n"
msgstr ""
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
#, c-format
msgid "Could not reserve volume %s on %s\n"
msgstr ""
@@ -7239,7 +7276,7 @@ msgstr ""
msgid "Cannot write Volume label to block for device %s\n"
msgstr ""
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
#, c-format
msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr ""
@@ -7405,82 +7442,101 @@ msgstr ""
msgid "Used Volume status:\n"
msgstr ""
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
msgid ""
-"====\n"
"\n"
+"SD Resources:\n"
msgstr ""
-#: src/stored/status.c:128
+#: src/stored/status.c:153
msgid ""
"\n"
"Device status:\n"
msgstr ""
-#: src/stored/status.c:132
+#: src/stored/status.c:157
#, c-format
msgid "Autochanger \"%s\" with devices:\n"
msgstr ""
-#: src/stored/status.c:150
+#: src/stored/status.c:177
#, c-format
msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
" Volume: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:160
+#: src/stored/status.c:182
+msgid "waiting for"
+msgstr ""
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+msgid "*unknown*"
+msgstr ""
+
+#: src/stored/status.c:188
#, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
msgstr ""
-#: src/stored/status.c:171
+#: src/stored/status.c:199
#, c-format
msgid " Total Bytes=%s Blocks=%s Bytes/block=%s\n"
msgstr ""
-#: src/stored/status.c:186
+#: src/stored/status.c:214
#, c-format
msgid " Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
msgstr ""
-#: src/stored/status.c:192
+#: src/stored/status.c:220
#, c-format
msgid " Positioned at File=%s Block=%s\n"
msgstr ""
-#: src/stored/status.c:199
+#: src/stored/status.c:227
#, c-format
-msgid "Device %s is not open.\n"
+msgid ""
+"\n"
+"Device %s is not open.\n"
msgstr ""
-#: src/stored/status.c:203
+#: src/stored/status.c:231
#, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
msgstr ""
-#: src/stored/status.c:225
+#: src/stored/status.c:255
#, c-format
msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
msgstr ""
-#: src/stored/status.c:248
+#: src/stored/status.c:293
msgid ""
"No DEVICE structure.\n"
"\n"
msgstr ""
-#: src/stored/status.c:254
+#: src/stored/status.c:299
msgid " Device is BLOCKED. User unmounted.\n"
msgstr ""
-#: src/stored/status.c:258
+#: src/stored/status.c:303
msgid " Device is BLOCKED. User unmounted during wait for media/mount.\n"
msgstr ""
-#: src/stored/status.c:270
+#: src/stored/status.c:313
#, c-format
msgid ""
" Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -7488,7 +7544,7 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:279
+#: src/stored/status.c:322
#, c-format
msgid ""
" Device is BLOCKED waiting to create a volume for:\n"
@@ -7496,172 +7552,165 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:291
+#: src/stored/status.c:333
msgid " Device is BLOCKED waiting for media.\n"
msgstr ""
-#: src/stored/status.c:297
+#: src/stored/status.c:339
msgid " Device is being initialized.\n"
msgstr ""
-#: src/stored/status.c:301
+#: src/stored/status.c:343
msgid " Device is blocked labeling a Volume.\n"
msgstr ""
-#: src/stored/status.c:310
+#: src/stored/status.c:352
#, c-format
-msgid " Slot %d is loaded in drive %d.\n"
+msgid " Slot %d %s loaded in drive %d.\n"
msgstr ""
-#: src/stored/status.c:314
+#: src/stored/status.c:356
#, c-format
msgid " Drive %d is not loaded.\n"
msgstr ""
-#: src/stored/status.c:317
-#, c-format
-msgid " Drive %d status unknown.\n"
-msgstr ""
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
#, c-format
msgid "Configured device capabilities:\n"
msgstr ""
-#: src/stored/status.c:349
+#: src/stored/status.c:389
msgid "Device state:\n"
msgstr ""
-#: src/stored/status.c:367
+#: src/stored/status.c:405
#, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid " num_writers=%d reserves=%d block=%d\n"
+msgstr ""
+
+#: src/stored/status.c:409
+msgid "Attached Jobs: "
msgstr ""
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:427 src/stored/btape.c:720
#, c-format
msgid "Device parameters:\n"
msgstr ""
-#: src/stored/status.c:374
+#: src/stored/status.c:429
#, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid " Archive name: %s Device name: %s\n"
msgstr ""
-#: src/stored/status.c:378
+#: src/stored/status.c:432
#, c-format
-msgid "File=%u block=%u\n"
+msgid " File=%u block=%u\n"
msgstr ""
-#: src/stored/status.c:381
+#: src/stored/status.c:434
#, c-format
-msgid "Min block=%u Max block=%u\n"
+msgid " Min block=%u Max block=%u\n"
msgstr ""
-#: src/stored/status.c:401
+#: src/stored/status.c:455
#, c-format
msgid "%s Job %s waiting for Client connection.\n"
msgstr ""
-#: src/stored/status.c:417
+#: src/stored/status.c:471
#, c-format
msgid ""
"Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
msgstr ""
-#: src/stored/status.c:430
+#: src/stored/status.c:484
#, c-format
msgid ""
"Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
msgstr ""
-#: src/stored/status.c:441
+#: src/stored/status.c:495
#, c-format
msgid " spooling=%d despooling=%d despool_wait=%d\n"
msgstr ""
-#: src/stored/status.c:450
+#: src/stored/status.c:511
#, c-format
-msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
+msgid " Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
msgstr ""
-#: src/stored/status.c:458
+#: src/stored/status.c:523
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr ""
-#: src/stored/status.c:464
+#: src/stored/status.c:529
msgid " FDSocket closed\n"
msgstr ""
-#: src/stored/status.c:485
+#: src/stored/status.c:550
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
msgstr ""
-#: src/stored/status.c:516
+#: src/stored/status.c:581
msgid "===================================================================\n"
msgstr ""
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
msgid "Base"
msgstr ""
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
msgid "Init Catalog"
msgstr ""
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
msgid "Volume to Catalog"
msgstr ""
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
msgid "Disk to Catalog"
msgstr ""
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
msgid "Data"
msgstr ""
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
msgid "Unknown Job Level"
msgstr ""
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
+#: src/stored/status.c:763
#, c-format
-msgid "Bad .status command: %s\n"
-msgstr ""
-
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
+msgid "3900 No arg in .status command: %s\n"
msgstr ""
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
+#: src/stored/status.c:811
+#, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
msgstr ""
-#: src/stored/status.c:760
+#: src/stored/status.c:826
msgid "Bacula Storage: Idle"
msgstr ""
-#: src/stored/status.c:771
+#: src/stored/status.c:837
msgid "Bacula Storage: Running"
msgstr ""
-#: src/stored/status.c:785
+#: src/stored/status.c:851
msgid "Bacula Storage: Last Job Canceled"
msgstr ""
-#: src/stored/status.c:789
+#: src/stored/status.c:855
msgid "Bacula Storage: Last Job Failed"
msgstr ""
-#: src/stored/status.c:793
+#: src/stored/status.c:859
msgid "Bacula Storage: Last Job had Warnings"
msgstr ""
@@ -7762,7 +7811,7 @@ msgid "%u files restored.\n"
msgstr ""
#: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
#, c-format
msgid "Write error on %s: %s\n"
msgstr ""
@@ -7771,7 +7820,7 @@ msgstr ""
msgid "Logic error output file should be open but is not.\n"
msgstr ""
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
#, c-format
msgid "%s stream not supported on this Client.\n"
msgstr ""
@@ -7787,7 +7836,7 @@ msgid "Seek error on %s: %s\n"
msgstr ""
#: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
#, c-format
msgid "Seek to %s error on %s: ERR=%s\n"
msgstr ""
@@ -7797,16 +7846,16 @@ msgstr ""
msgid "Uncompression error. ERR=%d\n"
msgstr ""
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
msgid "GZIP data stream found, but GZIP not configured!\n"
msgstr ""
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
#, c-format
msgid "Compressed header version error. version=0x%x\n"
msgstr ""
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
#, c-format
msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
msgstr ""
@@ -7816,7 +7865,7 @@ msgstr ""
msgid "LZO uncompression error. ERR=%d\n"
msgstr ""
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
#, c-format
msgid "Compression algorithm 0x%x found, but not supported!\n"
msgstr ""
@@ -7825,7 +7874,7 @@ msgstr ""
msgid "Got Program Name or Data Stream. Ignored.\n"
msgstr ""
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
#, c-format
msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
msgstr ""
@@ -8015,125 +8064,125 @@ msgstr ""
msgid "Unexpected Tape is Off-line\n"
msgstr ""
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
#, c-format
msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
msgstr ""
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
#, c-format
msgid "No volumes specified for reading. Job %s canceled.\n"
msgstr ""
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
#, c-format
msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
msgstr ""
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
#, c-format
msgid ""
"Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
" device=%s\n"
msgstr ""
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
#, c-format
msgid "Media Type change. New read device %s chosen.\n"
msgstr ""
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
#, c-format
msgid "No suitable device found to read Volume \"%s\"\n"
msgstr ""
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
#, c-format
msgid "Job %s canceled.\n"
msgstr ""
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
#, c-format
msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr ""
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
#, c-format
msgid "Too many errors trying to mount device %s for reading.\n"
msgstr ""
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
#, c-format
msgid "Ready to read from volume \"%s\" on device %s.\n"
msgstr ""
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
#, c-format
msgid "Want to append, but device %s is busy reading.\n"
msgstr ""
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
#, c-format
msgid "Could not ready device %s for append.\n"
msgstr ""
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
#: src/stored/block.c:769 src/stored/block.c:847
#, c-format
msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
msgstr ""
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
#, c-format
msgid "Alert: %s"
msgstr ""
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
#, c-format
msgid "3997 Bad alert command: %s: ERR=%s.\n"
msgstr ""
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
#: src/lib/openssl.c:122 src/lib/openssl.c:181
#, c-format
msgid "Unable to init mutex: ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/askdir.c:179
msgid "Network error on bnet_recv in req_vol_info.\n"
msgstr ""
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
#, c-format
msgid "Error getting Volume info: %s"
msgstr ""
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
#, c-format
msgid "Didn't get vol info vol=%s: ERR=%s"
msgstr ""
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
#, c-format
msgid "Error creating JobMedia record: ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
#, c-format
msgid "Error creating JobMedia record: %s\n"
msgstr ""
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
msgstr ""
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
#, c-format
msgid ""
"Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8143,45 +8192,45 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
#, c-format
msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
msgstr ""
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
msgid "pthread error in mount_next_volume.\n"
msgstr ""
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
msgid "Cannot request another volume: no volume name given.\n"
msgstr ""
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
msgstr ""
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
#, c-format
msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
#, c-format
msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
msgid "pthread error in mount_volume\n"
msgstr ""
@@ -8514,32 +8563,32 @@ msgstr ""
msgid "Attempt to open read on non-open session.\n"
msgstr ""
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
#, c-format
msgid "Too many errors trying to mount device %s.\n"
msgstr ""
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
#, c-format
msgid "Job %d canceled.\n"
msgstr ""
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
#, c-format
msgid "Volume \"%s\" previously written, moving to end of data.\n"
msgstr ""
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
#, c-format
msgid "Unable to position to end of data on device %s: ERR=%s\n"
msgstr ""
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
#, c-format
msgid "Volume \"%s\" not on device %s.\n"
msgstr ""
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
#, c-format
msgid ""
"Director wanted Volume \"%s\".\n"
@@ -8547,24 +8596,24 @@ msgid ""
" %s"
msgstr ""
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
#, c-format
msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
msgstr ""
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
#, c-format
msgid ""
"Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
"Volume=%s Catalog=%s\n"
msgstr ""
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
#, c-format
msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
msgstr ""
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
#, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -8572,23 +8621,23 @@ msgid ""
"Correcting Catalog\n"
msgstr ""
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
msgid "Error updating Catalog\n"
msgstr ""
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
#, c-format
msgid ""
"Bacula cannot write on tape Volume \"%s\" because:\n"
"The number of files mismatch! Volume=%u Catalog=%u\n"
msgstr ""
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
#, c-format
msgid "Ready to append to end of Volume \"%s\" size=%s\n"
msgstr ""
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
#, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -8596,46 +8645,46 @@ msgid ""
"Correcting Catalog\n"
msgstr ""
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
#, c-format
msgid ""
"Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
"Volume=%s Catalog=%s\n"
msgstr ""
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
#, c-format
msgid "Labeled new Volume \"%s\" on device %s.\n"
msgstr ""
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
#, c-format
msgid "Device %s not configured to autolabel Volumes.\n"
msgstr ""
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
#, c-format
msgid "Marking Volume \"%s\" in Error in Catalog.\n"
msgstr ""
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
#, c-format
msgid ""
"Autochanger Volume \"%s\" not found in slot %d.\n"
" Setting InChanger to zero in catalog.\n"
msgstr ""
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
msgstr ""
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
#, c-format
msgid ""
"Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
msgstr ""
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
#, c-format
msgid "Cannot open Dev=%s, Vol=%s\n"
msgstr ""
@@ -8721,7 +8770,7 @@ msgid ""
"Despooling elapsed time = %02d:%02d:%02d, Transfer rate = %s Bytes/second\n"
msgstr ""
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
#, c-format
msgid "Ftruncate spool file failed: ERR=%s\n"
msgstr ""
@@ -8751,77 +8800,86 @@ msgstr ""
msgid "Spool data read error. Wanted %u bytes, got %d\n"
msgstr ""
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
+msgstr ""
+
+#: src/stored/spool.c:485
+#, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
msgstr ""
-#: src/stored/spool.c:489
+#: src/stored/spool.c:492
msgid "Bad return from despool in write_block.\n"
msgstr ""
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
msgid "Spooling data again ...\n"
msgstr ""
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
#, c-format
msgid "Error writing header to spool file. ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
#, c-format
msgid ""
"Error writing header to spool file. Disk probably full. Attempting recovery. "
"Wanted to write=%d got=%d\n"
msgstr ""
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
msgid "Fatal despooling error."
msgstr ""
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
msgid "Retrying after header spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
#, c-format
msgid "Error writing data to spool file. ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
msgid "Retrying after data spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
msgid "Network error on BlastAttributes.\n"
msgstr ""
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
#, c-format
msgid "Fseek on attributes file failed: ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
#, c-format
msgid "Truncate on attributes file failed: ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
#, c-format
msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
msgstr ""
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
#, c-format
msgid "fopen attr spool file %s failed: ERR=%s\n"
msgstr ""
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
#, c-format
msgid "pthread_cond_wait failure. ERR=%s\n"
msgstr ""
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
msgid "unknown blocked code"
msgstr ""
@@ -8941,6 +8999,21 @@ msgstr ""
msgid "Unable to init cond variable: ERR=%s\n"
msgstr ""
+#: src/stored/dev.c:288
+#, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/dev.c:294
+#, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/dev.c:300
+#, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr ""
+
#: src/stored/dev.c:416
msgid "Illegal mode given to open dev.\n"
msgstr ""
@@ -9289,7 +9362,7 @@ msgstr ""
msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
msgstr ""
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
#, c-format
msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
msgstr ""
@@ -9347,107 +9420,107 @@ msgstr ""
msgid "Got Prog Data Stream record.\n"
msgstr ""
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
#, c-format
msgid "Unknown stream type!!! stream=%d len=%i\n"
msgstr ""
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
#, c-format
msgid "Could not create File Attributes record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
#, c-format
msgid "Created File record: %s\n"
msgstr ""
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
#, c-format
msgid "Could not create media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
#, c-format
msgid "Could not update media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
#, c-format
msgid "Created Media record for Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
#, c-format
msgid "Updated Media record at end of Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
#, c-format
msgid "Could not create pool record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
#, c-format
msgid "Created Pool record for Pool: %s\n"
msgstr ""
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
#, c-format
msgid "Could not get Client record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
#, c-format
msgid "Created Client record for Client: %s\n"
msgstr ""
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
#, c-format
msgid "Fileset \"%s\" already exists.\n"
msgstr ""
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
#, c-format
msgid "Could not create FileSet record \"%s\". ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
#, c-format
msgid "Created FileSet record \"%s\"\n"
msgstr ""
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
#, c-format
msgid "Could not create JobId record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
#, c-format
msgid "Could not update job start record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
#, c-format
msgid "Created new JobId=%u record for original JobId=%u\n"
msgstr ""
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
#, c-format
msgid "Could not update JobId=%u record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
#, c-format
msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
msgstr ""
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
#, c-format
msgid "Job Termination code: %d"
msgstr ""
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
#, c-format
msgid ""
"%s\n"
@@ -9467,27 +9540,27 @@ msgid ""
"\n"
msgstr ""
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
#, c-format
msgid "Could not create JobMedia record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
#, c-format
msgid "Created JobMedia record JobId %d, MediaId %d\n"
msgstr ""
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
#, c-format
msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
msgstr ""
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
#, c-format
msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
msgid "Updated MD5/SHA1 record\n"
msgstr ""
@@ -11570,40 +11643,40 @@ msgid ""
"Please see "
msgstr ""
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
#, c-format
msgid "Could not open console message file %s: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:376
+#: src/lib/message.c:377
#, c-format
msgid "Could not get con mutex: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:481
+#: src/lib/message.c:482
msgid "Bacula Message"
msgstr ""
-#: src/lib/message.c:485
+#: src/lib/message.c:486
#, c-format
msgid "open mail pipe %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:553
+#: src/lib/message.c:577
msgid "open mail pipe failed.\n"
msgstr ""
-#: src/lib/message.c:565
+#: src/lib/message.c:590
#, c-format
msgid "close error: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:576
+#: src/lib/message.c:601
#, c-format
msgid "Mail prog: %s"
msgstr ""
-#: src/lib/message.c:585
+#: src/lib/message.c:610
#, c-format
msgid ""
"Mail program terminated in error.\n"
@@ -11611,12 +11684,16 @@ msgid ""
"ERR=%s\n"
msgstr ""
-#: src/lib/message.c:684
+#: src/lib/message.c:713
#, c-format
msgid "fopen %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
#, c-format
msgid ""
"Msg delivery error: Operator mail program terminated in error.\n"
@@ -11624,77 +11701,77 @@ msgid ""
"ERR=%s\n"
msgstr ""
-#: src/lib/message.c:878
+#: src/lib/message.c:911
#, c-format
msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
#, c-format
msgid "%s: ABORTING due to ERROR in %s:%d\n"
msgstr ""
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
#, c-format
msgid "%s: ERROR TERMINATION at %s:%d\n"
msgstr ""
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
#, c-format
msgid "%s: Fatal Error because: "
msgstr ""
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
#, c-format
msgid "%s: Fatal Error at %s:%d because:\n"
msgstr ""
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
#, c-format
msgid "%s: ERROR: "
msgstr ""
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
#, c-format
msgid "%s: ERROR in %s:%d "
msgstr ""
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
#, c-format
msgid "%s: Warning: "
msgstr ""
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
#, c-format
msgid "%s: Security violation: "
msgstr ""
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
#, c-format
msgid "%s ABORTING due to ERROR\n"
msgstr ""
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
#, c-format
msgid "%s ERROR TERMINATION\n"
msgstr ""
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
#, c-format
msgid "%s JobId %u: Fatal error: "
msgstr ""
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
#, c-format
msgid "%s JobId %u: Error: "
msgstr ""
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
#, c-format
msgid "%s JobId %u: Warning: "
msgstr ""
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
#, c-format
msgid "%s JobId %u: Security violation: "
msgstr ""
@@ -11748,71 +11825,6 @@ msgstr ""
msgid "Could not destroy client queue: ERR=%s\n"
msgstr ""
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr ""
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr ""
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr ""
-
#: src/lib/bpipe.c:361 src/lib/bpipe.c:444
msgid "Program killed by Bacula (timeout)\n"
msgstr ""
@@ -12262,7 +12274,7 @@ msgstr ""
msgid "Truncate"
msgstr ""
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
msgid "None"
msgstr ""
@@ -12312,7 +12324,7 @@ msgstr ""
#: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
#: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
msgid "*none*"
msgstr ""
@@ -12524,20 +12536,20 @@ msgstr ""
msgid "pthread_setspecific failed: ERR=%s\n"
msgstr ""
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Storage "
"daemon.\n"
msgstr ""
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
msgstr ""
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -12723,203 +12735,271 @@ msgstr ""
msgid "Invalid errno. No error message possible."
msgstr ""
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr ""
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr ""
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr ""
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr ""
+
#: src/lib/signal.c:67
msgid "Invalid signal number"
msgstr ""
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
#, c-format
msgid "Bacula interrupted by signal %d: %s\n"
msgstr ""
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
#, c-format
msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
msgstr ""
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
#, c-format
msgid "Kaboom! exepath=%s\n"
msgstr ""
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
#, c-format
msgid "Fork error: ERR=%s\n"
msgstr ""
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
#, c-format
msgid "Calling: %s %s %s %s\n"
msgstr ""
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
#, c-format
msgid "execv: %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
#, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "It looks like the traceback worked...\n"
msgstr ""
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
#, c-format
msgid "BA_NSIG too small (%d) should be (%d)\n"
msgstr ""
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
msgid "UNKNOWN SIGNAL"
msgstr ""
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
msgid "Hangup"
msgstr ""
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
msgid "Interrupt"
msgstr ""
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
msgid "Quit"
msgstr ""
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
msgid "Illegal instruction"
msgstr ""
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
msgid "Trace/Breakpoint trap"
msgstr ""
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
msgid "Abort"
msgstr ""
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
msgid "EMT instruction (Emulation Trap)"
msgstr ""
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
msgid "IOT trap"
msgstr ""
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
msgid "BUS error"
msgstr ""
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
msgid "Floating-point exception"
msgstr ""
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
msgid "Kill, unblockable"
msgstr ""
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
msgid "User-defined signal 1"
msgstr ""
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
msgid "Segmentation violation"
msgstr ""
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
msgid "User-defined signal 2"
msgstr ""
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
msgid "Broken pipe"
msgstr ""
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
msgid "Alarm clock"
msgstr ""
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
msgid "Termination"
msgstr ""
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
msgid "Stack fault"
msgstr ""
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
msgid "Child status has changed"
msgstr ""
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
msgid "Continue"
msgstr ""
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
msgid "Stop, unblockable"
msgstr ""
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
msgid "Keyboard stop"
msgstr ""
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
msgid "Background read from tty"
msgstr ""
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
msgid "Background write to tty"
msgstr ""
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
msgid "Urgent condition on socket"
msgstr ""
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
msgid "CPU limit exceeded"
msgstr ""
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
msgid "File size limit exceeded"
msgstr ""
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
msgid "Virtual alarm clock"
msgstr ""
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
msgid "Profiling alarm clock"
msgstr ""
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
msgid "Window size change"
msgstr ""
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
msgid "I/O now possible"
msgstr ""
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
msgid "Power failure restart"
msgstr ""
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
msgid "No runnable lwp"
msgstr ""
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
msgid "SIGLWP special signal used by thread library"
msgstr ""
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
msgid "Checkpoint Freeze"
msgstr ""
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
msgid "Checkpoint Thaw"
msgstr ""
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
msgid "Thread Cancellation"
msgstr ""
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
msgid "Resource Lost (e.g. record-lock lost)"
msgstr ""
@@ -12945,47 +13025,47 @@ msgstr ""
msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
#, c-format
msgid "Out of memory: ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
msgid "Buffer overflow.\n"
msgstr ""
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
msgid "Bad errno"
msgstr ""
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
#, c-format
msgid "Memset for %d bytes at %s:%d\n"
msgstr ""
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
#, c-format
msgid "Cannot open pid file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
#, c-format
msgid ""
"%s is already running. pid=%d\n"
"Check file %s\n"
msgstr ""
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
#, c-format
msgid "Could not open pid file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
#, c-format
msgid "Could not create state file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
#, c-format
msgid "Write final hdr error: ERR=%s\n"
msgstr ""
@@ -13033,98 +13113,98 @@ msgstr ""
msgid "Close of NULL file\n"
msgstr ""
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
msgid ""
"get_char: called after EOF. You may have a open double quote without the "
"closing double quote.\n"
msgstr ""
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
#, c-format
msgid "Config token too long, file: %s, line %d, begins at line %d\n"
msgstr ""
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
msgid "none"
msgstr ""
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
msgid "comment"
msgstr ""
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
msgid "number"
msgstr ""
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
msgid "ip_addr"
msgstr ""
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
msgid "identifier"
msgstr ""
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
msgid "string"
msgstr ""
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
msgid "quoted_string"
msgstr ""
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
msgid "include"
msgstr ""
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
msgid "include_quoted_string"
msgstr ""
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
msgid "UTF-8 Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
msgid "UTF-16le Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
#, c-format
msgid "expected a positive integer number, got: %s"
msgstr ""
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
msgid ""
"This config file appears to be in an unsupported Unicode format (UTF-16be). "
"Please resave as UTF-8\n"
msgstr ""
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
#, c-format
msgid "Cannot open included config file %s: %s\n"
msgstr ""
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
#, c-format
msgid "expected an integer or a range, got %s: %s"
msgstr ""
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
#, c-format
msgid "expected an integer number, got %s: %s"
msgstr ""
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
#, c-format
msgid "expected a name, got %s: %s"
msgstr ""
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
#, c-format
msgid "name %s length %d too long, max is %d\n"
msgstr ""
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
#, c-format
msgid "expected a string, got %s: %s"
msgstr ""
@@ -13798,42 +13878,54 @@ msgid "FreeBSD Specific NFSv4/ZFS ACL attribs"
msgstr ""
#: src/findlib/bfile.c:191
-msgid "IRIX Specific Extended attribs"
+msgid "GNU Hurd Specific Default ACL attribs"
msgstr ""
#: src/findlib/bfile.c:193
-msgid "TRU64 Specific Extended attribs"
+msgid "GNU Hurd Specific Access ACL attribs"
msgstr ""
#: src/findlib/bfile.c:195
-msgid "AIX Specific Extended attribs"
+msgid "GNU Hurd Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:197
-msgid "OpenBSD Specific Extended attribs"
+msgid "IRIX Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:199
-msgid "Solaris Specific Extensible attribs or System Extended attribs"
+msgid "TRU64 Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:201
-msgid "Solaris Specific Extended attribs"
+msgid "AIX Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:203
-msgid "Darwin Specific Extended attribs"
+msgid "OpenBSD Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:205
-msgid "FreeBSD Specific Extended attribs"
+msgid "Solaris Specific Extensible attribs or System Extended attribs"
msgstr ""
#: src/findlib/bfile.c:207
-msgid "Linux Specific Extended attribs"
+msgid "Solaris Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:209
+msgid "Darwin Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:211
+msgid "FreeBSD Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:213
+msgid "Linux Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:215
msgid "NetBSD Specific Extended attribs"
msgstr ""
@@ -13847,27 +13939,27 @@ msgstr ""
msgid "Unknown include/exclude option: %c\n"
msgstr ""
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
#, c-format
msgid " NODUMP flag set - will not process %s\n"
msgstr ""
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
#, c-format
msgid "Cannot stat file %s: ERR=%s\n"
msgstr ""
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
#, c-format
msgid "%s mtime changed during backup.\n"
msgstr ""
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
#, c-format
msgid "%s ctime changed during backup.\n"
msgstr ""
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
#, c-format
msgid "%s size changed during backup.\n"
msgstr ""
@@ -15637,6 +15729,11 @@ msgstr ""
msgid " SDSocket=closed\n"
msgstr ""
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
#: src/filed/status.c:464
msgid "2900 Bad .status command, missing argument.\n"
msgstr ""
@@ -15665,276 +15762,276 @@ msgstr ""
msgid "Bacula Client: Last Job had Warnings"
msgstr ""
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
#: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
#, c-format
msgid "Network send error to SD. ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
#, c-format
msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
#, c-format
msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
#, c-format
msgid "llistea error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
#, c-format
msgid "lgetea error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
#, c-format
msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
msgstr ""
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
#, c-format
msgid "Failed to serialize extended attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
#, c-format
msgid "lsetea error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
#, c-format
msgid "attr_list error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
#, c-format
msgid "Received illegal xattr named %s on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
#, c-format
msgid "attr_set error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
#, c-format
msgid "llistxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
#, c-format
msgid "lgetxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
#, c-format
msgid "lsetxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
#, c-format
msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
#, c-format
msgid "Failed to convert %d into namespace on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
#, c-format
msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
#, c-format
msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
#, c-format
msgid "Failed to convert %s into namespace on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
#, c-format
msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
#, c-format
msgid "getproplist error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
#, c-format
msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
#, c-format
msgid "setproplist error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
#, c-format
msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
#, c-format
msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
#, c-format
msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
#, c-format
msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
#, c-format
msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
#, c-format
msgid "Unable to read content of xattr %s on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
#, c-format
msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
#, c-format
msgid "Unable to open file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
#, c-format
msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
#, c-format
msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
#, c-format
msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
#, c-format
msgid "Unable to convert acl from text on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
#, c-format
msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
#, c-format
msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
#, c-format
msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
#, c-format
msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
#, c-format
msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
#, c-format
msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
#, c-format
msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
#, c-format
msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
#, c-format
msgid ""
"Unable to restore data of xattr %s on file \"%s\": Not all data available in "
"xattr stream\n"
msgstr ""
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
#, c-format
msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
#, c-format
msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
#, c-format
msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
#, c-format
msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
#, c-format
msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
#, c-format
msgid "Failed to restore extensible attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
#, c-format
msgid "Failed to restore extended attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
#, c-format
msgid "Unable to stat file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
#, c-format
msgid ""
"Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -16073,189 +16170,189 @@ msgstr ""
msgid "No Director resource defined in %s\n"
msgstr ""
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
#, c-format
msgid "aclx_get error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
#, c-format
msgid "Unknown acl type encountered on file \"%s\": %ld\n"
msgstr ""
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
#, c-format
msgid "Failed to convert acl into text on file \"%s\"\n"
msgstr ""
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
#, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
#, c-format
msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
#, c-format
msgid "aclx_put error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
#, c-format
msgid "acl_to_text error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
#, c-format
msgid "acl_get_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
#, c-format
msgid ""
"acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
#, c-format
msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
#, c-format
msgid "acl_from_text error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
#, c-format
msgid "acl_valid error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
#, c-format
msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
#, c-format
msgid "acl_set_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
#, c-format
msgid "pathconf error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
msgstr ""
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
#, c-format
msgid "getacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
#, c-format
msgid "acltostr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
#, c-format
msgid "strtoacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
#, c-format
msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
#, c-format
msgid "setacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
#, c-format
msgid "acl_get error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without acl support\n"
msgstr ""
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
#, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
#, c-format
msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
#, c-format
msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
msgstr ""
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
#, c-format
msgid "acl_set error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
#, c-format
msgid "acltotext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
#, c-format
msgid "aclfromtext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
#, c-format
msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
#, c-format
msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
#, c-format
msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
#, c-format
msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
msgstr ""
@@ -16264,17 +16361,17 @@ msgstr ""
msgid "Storage command not issued before Verify.\n"
msgstr ""
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
#, c-format
msgid "Record header scan error: %s\n"
msgstr ""
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
#, c-format
msgid "Data record error. ERR=%s\n"
msgstr ""
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
#, c-format
msgid "Actual data size %d not same as header %d\n"
msgstr ""
@@ -16434,7 +16531,7 @@ msgstr ""
msgid "Invalid file flags, no supported data stream type.\n"
msgstr ""
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
@@ -16454,192 +16551,192 @@ msgstr ""
msgid "Could not set Finder Info on %s\n"
msgstr ""
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
msgid "LZO init failed\n"
msgstr ""
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
msgid "Unexpected cryptographic session data stream.\n"
msgstr ""
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
msgid ""
"No private decryption keys have been defined to decrypt encrypted backup "
"data.\n"
msgstr ""
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
msgid "Could not create digest.\n"
msgstr ""
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
msgid "Missing private key required to decrypt encrypted backup data.\n"
msgstr ""
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
msgid "Decrypt of the session key failed.\n"
msgstr ""
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
#, c-format
msgid "An error occurred while decoding encrypted session data stream: %s\n"
msgstr ""
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
#, c-format
msgid "Missing encryption session data stream for %s\n"
msgstr ""
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
#, c-format
msgid "Failed to initialize decryption context for %s\n"
msgstr ""
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
#, c-format
msgid "Cannot open resource fork for %s.\n"
msgstr ""
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
msgid "Unexpected cryptographic signature data stream.\n"
msgstr ""
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
#, c-format
msgid "Failed to decode message signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
#, c-format
msgid "Encountered %ld acl errors while doing restore\n"
msgstr ""
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
#, c-format
msgid "Encountered %ld xattr errors while doing restore\n"
msgstr ""
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
#, c-format
msgid ""
"%d non-supported data streams and %d non-supported attrib streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
#, c-format
msgid "%d non-supported resource fork streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
#, c-format
msgid "%d non-supported Finder Info streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
#, c-format
msgid "%d non-supported acl streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
#, c-format
msgid "%d non-supported crypto streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
#, c-format
msgid "%d non-supported xattr streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
msgid "Zlib errno"
msgstr ""
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
msgid "Zlib stream error"
msgstr ""
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
msgid "Zlib data error"
msgstr ""
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
msgid "Zlib memory error"
msgstr ""
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
msgid "Zlib buffer error"
msgstr ""
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
msgid "Zlib version error"
msgstr ""
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
#, c-format
msgid "Missing cryptographic signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
#, c-format
msgid "Signature validation failed for file %s: ERR=%s\n"
msgstr ""
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
#, c-format
msgid "Digest one file failed for file: %s\n"
msgstr ""
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
#, c-format
msgid "Signature validation failed for %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
#, c-format
msgid "LZO uncompression error on file %s. ERR=%d\n"
msgstr ""
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
#, c-format
msgid "Uncompression error on file %s. ERR=%s\n"
msgstr ""
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
#, c-format
msgid "Write error in Win32 Block Decomposition on %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
msgid "Decryption error\n"
msgstr ""
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
msgid "Logic error: output file should be open\n"
msgstr ""
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
msgid "Logic error: output file should not be open\n"
msgstr ""
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
#, c-format
msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
msgstr ""
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
msgid "Open File Manager paused\n"
msgstr ""
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
msgid "FAILED to pause Open File Manager\n"
msgstr ""
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
#, c-format
msgid "Running as '%s'. Privmask=%#08x\n"
msgstr ""
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
msgid "Failed to retrieve current UserName\n"
msgstr ""
@@ -16918,7 +17015,7 @@ msgid ""
"Version: "
msgstr ""
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
#, c-format
msgid "Failed ASSERT: %s\n"
msgstr ""
@@ -17879,15 +17976,15 @@ msgstr ""
msgid "At main prompt waiting for input ..."
msgstr ""
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
msgid "At prompt waiting for input ..."
msgstr ""
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
msgid "Command failed."
msgstr ""
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
msgid "Director disconnected."
msgstr ""
diff --git a/po/de.po b/po/de.po
index 3aae6de..2f671cb 100644
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
"PO-Revision-Date: 2007-06-25 20:38+0200\n"
"Last-Translator: Philipp Storz <philipp.storz at dass-it.de>\n"
"Language-Team: \n"
@@ -101,7 +101,7 @@ msgstr ""
msgid "Continue? (yes/mod/no): "
msgstr ""
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
msgid "mod"
msgstr ""
@@ -121,8 +121,8 @@ msgstr ""
msgid "The defined Storage resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
#: src/wx-console/wxbrestorepanel.cpp:355
#: src/wx-console/wxbrestorepanel.cpp:479
#: src/wx-console/wxbrestorepanel.cpp:480
@@ -143,7 +143,7 @@ msgstr ""
msgid "The defined FileSet resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
msgid "FileSet"
msgstr ""
@@ -151,7 +151,7 @@ msgstr ""
msgid "Select FileSet resource"
msgstr ""
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
msgid "Could not find a Catalog resource\n"
msgstr ""
@@ -176,8 +176,8 @@ msgid "The defined Job resources are:\n"
msgstr ""
#: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
msgid "Job"
msgstr "Job"
@@ -202,8 +202,8 @@ msgstr ""
msgid "The defined Client resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
#: src/wx-console/wxbrestorepanel.cpp:336
#: src/wx-console/wxbrestorepanel.cpp:354
#: src/wx-console/wxbrestorepanel.cpp:431
@@ -262,7 +262,7 @@ msgstr ""
msgid "Could not find Pool \"%s\": ERR=%s"
msgstr ""
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
#, c-format
msgid "Error obtaining pool ids. ERR=%s\n"
msgstr ""
@@ -276,12 +276,12 @@ msgid "Defined Pools:\n"
msgstr ""
#: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
msgid "*None*"
msgstr ""
#: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
#: src/wx-console/wxbrestorepanel.cpp:527
#: src/wx-console/wxbrestorepanel.cpp:537
#: src/wx-console/wxbrestorepanel.cpp:1834
@@ -422,7 +422,7 @@ msgstr ""
msgid "Unauthorized command from this console.\n"
msgstr ""
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
msgid "No Jobs running.\n"
msgstr ""
@@ -763,8 +763,8 @@ msgstr ""
msgid "Start Admin JobId %d, Job=%s\n"
msgstr "Starte Admin JobId %d, Job=%s\n"
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
#, fuzzy, c-format
msgid "Error getting Job record for Job report: ERR=%s"
msgstr "Fehler beim Holen des job Eintrags f�r den job Bericht: %s"
@@ -781,8 +781,8 @@ msgstr "*** Admin Fehler ***"
msgid "Admin Canceled"
msgstr "Admin abgebrochen"
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
#, c-format
msgid "Inappropriate term code: %c\n"
msgstr "Unangebrachter Beendigungskode: %c\n"
@@ -791,7 +791,7 @@ msgstr "Unangebrachter Beendigungskode: %c\n"
msgid "Bacula "
msgstr "Bacula "
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
#, fuzzy, c-format
msgid ""
"\n"
@@ -828,31 +828,31 @@ msgstr ""
" -? diese Meldung ausgeben.\n"
"\n"
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
#: src/filed/filed.c:218 src/qt-console/main.cpp:165
msgid "Cryptography library initialization failed.\n"
msgstr "Initialisierung der Verschl�sselungsbibliothek fehlgeschlagen.\n"
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
#: src/filed/filed.c:223 src/qt-console/main.cpp:169
#, c-format
msgid "Please correct configuration file: %s\n"
msgstr "Bitte die Konfigurationsdatei korrigieren: %s\n"
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
msgid "Too many open reload requests. Request ignored.\n"
msgstr "zu viele offene reload Anforderungen, Anforderung ignoriert.\n"
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
msgid "Out of reload table entries. Giving up.\n"
msgstr "Keine reload table Eintr�ge �brig. Gebe auf.\n"
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
msgid "Resetting previous configuration.\n"
msgstr "Vorherige Konfiguration zur�ckgesetzt.\n"
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
#, c-format
msgid ""
"No Director resource defined in %s\n"
@@ -861,35 +861,35 @@ msgstr ""
"Keine Director resource definiert in %s\n"
"Ohne dies weiss ich nicht wer ich bin :-(\n"
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
#, c-format
msgid "No Messages resource defined in %s\n"
msgstr "Keine Messages resource definiert in %s\n"
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
#, c-format
msgid "Only one Director resource permitted in %s\n"
msgstr "Nur eine Director resource erlaubt in %s\n"
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
#: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
#: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
#: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
msgid "TLS required but not configured in Bacula.\n"
msgstr "TLS ben�tigt aber nicht konfiguriert in Bacula.\n"
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
#, c-format
msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
msgstr "\"TLS Certificate\" Datei nicht f�r Director definiert \"%s\" in %s.\n"
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
#, c-format
msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
msgstr "\"TLS Key\" Datei nicht f�r Director definiert \"%s\" in %s.\n"
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -900,48 +900,48 @@ msgstr ""
"Director \"%s\" in %s definert. Mindestens ein CA certificate store wird "
"ben�tigt wenn \"TLS Verify Peer\" eingesetzt wird.\n"
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
#, c-format
msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
msgstr "Konnte TLS context f�r Director nicht initialisieren \"%s\" in %s.\n"
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
#, c-format
msgid "No Job records defined in %s\n"
msgstr "Keine Job records definiert in %s\n"
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
#, c-format
msgid "Hey something is wrong. p=0x%lu\n"
msgstr "Hey etwas l�uft schief. p=0x%lu\n"
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
#, c-format
msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
msgstr ""
"\"%s\" Directive in Job \"%s\" resource wird ben�tigt, wurde aber nicht "
"gefunden.\n"
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
msgid "Too many items in Job resource\n"
msgstr "zu viele items in Job resource\n"
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
#, c-format
msgid "No storage specified in Job \"%s\" nor in Pool.\n"
msgstr "Weder storage noch Pool in Job \"%s\" definiert.\n"
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
#, c-format
msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
msgstr "\"TLS Certificate\" Datei nicht definiert f�r Console \"%s\" in %s.\n"
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
#, c-format
msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
msgstr "\"TLS Key\" Datei nicht definiert f�r Console \"%s\" in %s.\n"
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -952,13 +952,13 @@ msgstr ""
"f�rConsole \"%s\" in %s. Mindestens ein CA certificate store wird ben�tigt "
"beiEinsatz von \"TLS Verify Peer\".\n"
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
#, c-format
msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
msgstr ""
"Konnte TLS context f�r File daemon \"%s\" in %s nicht initialisieren.\n"
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -967,7 +967,7 @@ msgstr ""
"Weder \"TLS CA Certificate\" noch \"TLS CA Certificate Dir\" sind definiert "
"f�r File daemon \"%s\" in %s.\n"
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -976,32 +976,32 @@ msgstr ""
"Weder \"TLS CA Certificate\" noch \"TLS CA Certificate Dir\" sind definiert "
"f�rStorage \"%s\" in %s.\n"
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
#, c-format
msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
msgstr "Konnte TLS context f�r Storage \"%s\" in %s nicht initialisieren.\n"
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
#, c-format
msgid "Could not open Catalog \"%s\", database \"%s\".\n"
msgstr "Konnte Catalog \"%s\", database \"%s\" nicht �ffnen.\n"
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
#, c-format
msgid "%s"
msgstr ""
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
#, fuzzy, c-format
msgid "Could not create storage record for %s\n"
msgstr "Kann Storage resource %s nicht finden\n"
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
#, fuzzy, c-format
msgid "Could not update storage record for %s\n"
msgstr "Kann Storage resource %s nicht finden\n"
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
#, c-format
msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
msgstr "Konnte regex pattern \"%s\" nicht kompilieren ERR=%s\n"
@@ -1020,18 +1020,18 @@ msgstr "FileSet option Schl
msgid "Old style Include/Exclude not supported\n"
msgstr "veraltete Include/Exclude Anweisung nicht unterst�tzt\n"
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
#, c-format
msgid "Expecting keyword, got: %s\n"
msgstr "Schl�sselwort erwartet, erhalten:%s\n"
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
#: src/lib/parse_conf.c:976
#, c-format
msgid "expected an equals, got: %s"
msgstr "Erwartete ein \"ist gleich\", erhalten: %s"
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
#, c-format
msgid "Keyword %s not permitted in this resource"
msgstr "Schl�sselwort %s ist in dieser Ressource nicht erlaubt."
@@ -1085,7 +1085,7 @@ msgstr ""
msgid "Options section not permitted in Exclude\n"
msgstr ""
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
#, c-format
msgid "Expecting open brace. Got %s"
msgstr "Geschweifte Klammer auf erwartet, erhalten: %s"
@@ -1266,13 +1266,13 @@ msgid ""
"There are no more Jobs associated with Volume \"%s\". Marking it purged.\n"
msgstr ""
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d ...\n"
msgstr ""
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
msgid "Failed to connect to Storage daemon.\n"
msgstr "Verbindung zu Storage daemon fehlgeschlagen.\n"
@@ -1349,34 +1349,34 @@ msgstr "Fehler beim Holen des job Eintrags f
msgid "Could not get or create the FileSet record.\n"
msgstr "Konnte FileSet Eintrag weder holen noch erzeugen.\n"
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
#, fuzzy, c-format
msgid "Error getting Client record for Job report: ERR=%s"
msgstr "Fehler beim holen des Datensatzes f�r Volume \"%s\": ERR=%s"
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
#, c-format
msgid "Error getting Media record for Volume \"%s\": ERR=%s"
msgstr "Fehler beim holen des Datensatzes f�r Volume \"%s\": ERR=%s"
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
msgid "Backup OK -- with warnings"
msgstr "Sicherung OK -- mit Warnungen"
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
msgid "Backup OK"
msgstr "Sicherung OK"
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
msgid "*** Backup Error ***"
msgstr "*** Sicherungsfehler ***"
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
msgid "Backup Canceled"
msgstr "Sicherung Abgebrochen"
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -1452,93 +1452,93 @@ msgstr ""
msgid "disabled"
msgstr "ist nicht aktiviert"
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
msgid "Keywords for the show command are:\n"
msgstr ""
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
#, c-format
msgid "%s resource %s not found.\n"
msgstr ""
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
#, c-format
msgid "Resource %s not found\n"
msgstr ""
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
msgid "Hey! DB is NULL\n"
msgstr ""
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
#, c-format
msgid "Jobid %d used %d Volume(s): %s\n"
msgstr ""
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
msgid "No Pool specified.\n"
msgstr ""
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
#, c-format
msgid "Pool: %s\n"
msgstr ""
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
msgid "Ignoring invalid value for days. Max is 50.\n"
msgstr ""
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
#, c-format
msgid "Unknown list keyword: %s\n"
msgstr ""
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
#, c-format
msgid "%s is not a job name.\n"
msgstr ""
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
#, fuzzy, c-format
msgid "Could not find Pool for Job %s\n"
msgstr "Konnte Datenbank \"%s\" nicht �ffen.\n"
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
#, c-format
msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
msgstr ""
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
#, c-format
msgid ""
"The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
msgstr ""
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
#, c-format
msgid "Could not find next Volume for Job %s.\n"
msgstr ""
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
#, c-format
msgid "Could not open database \"%s\".\n"
msgstr "Konnte Datenbank \"%s\" nicht �ffen.\n"
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
#, c-format
msgid "Pool %s not in database. %s"
msgstr "Pool %s nicht in der Datenbank. %s"
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
#, c-format
msgid "Pool %s created in database.\n"
msgstr "Pool %s in der Datenbank angelegt.\n"
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
msgid "You have no messages.\n"
msgstr ""
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
msgid "Message too long to display.\n"
msgstr ""
@@ -1551,89 +1551,89 @@ msgstr ""
msgid ": is an invalid command.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
#: src/dird/ua_restore.c:823
#, c-format
msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
#: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
#: src/dird/job.c:1160 src/dird/job.c:1164
msgid "unknown source"
msgstr "unbekannte Quelle"
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
msgid "Connected to storage daemon\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
#: src/dird/ua_status.c:397
#, c-format
msgid "Connecting to Client %s at %s:%d\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
msgid "Failed to connect to Client.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
#, fuzzy, c-format
msgid "Unknown command: %s\n"
msgstr "unbekannt"
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
msgid "Available daemons are: \n"
msgstr ""
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
msgid "Director"
msgstr ""
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
msgid "Select daemon type to make die"
msgstr ""
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
msgid "The Director will generate a deadlock.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
msgid "The Director will segment fault.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
msgid "Access to specified Client or FileSet not allowed.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
#: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
#: src/dird/ua_restore.c:990
#, c-format
msgid "Query failed: %s. ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
#, fuzzy
msgid "query keyword not found.\n"
msgstr "Path record: %s nicht gefunden.\n"
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
#, fuzzy, c-format
msgid "List MediaType failed: ERR=%s\n"
msgstr "Media id select fehlgeschlagen: ERR=%s\n"
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
#, fuzzy, c-format
msgid "List Media failed: ERR=%s\n"
msgstr "Media id select fehlgeschlagen: ERR=%s\n"
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
#, fuzzy, c-format
msgid "List Location failed: ERR=%s\n"
msgstr "Client id select fehlgeschlagen: ERR=%s\n"
@@ -1952,11 +1952,11 @@ msgstr ""
msgid "Enter base volume name: "
msgstr ""
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
msgid "Volume name too long.\n"
msgstr ""
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
msgid "Volume name must be at least one character long.\n"
msgstr ""
@@ -2015,11 +2015,11 @@ msgstr ""
msgid "Python interpreter restarted.\n"
msgstr ""
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
msgid "Nothing done.\n"
msgstr ""
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
#, c-format
msgid "Client \"%s\" not found.\n"
msgstr ""
@@ -2046,7 +2046,7 @@ msgstr ""
msgid "Select daemon type to set debug level"
msgstr ""
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
#, c-format
msgid "No authorization for Client \"%s\"\n"
msgstr ""
@@ -2055,7 +2055,7 @@ msgstr ""
msgid "Client name missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
#, c-format
msgid "No authorization for Job \"%s\"\n"
msgstr ""
@@ -2079,7 +2079,7 @@ msgstr ""
msgid "Fileset name missing.\n"
msgstr "FileSet: name=%s\n"
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
#, fuzzy, c-format
msgid "Level \"%s\" not valid.\n"
msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
@@ -2088,43 +2088,68 @@ msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
msgid "Level value missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
msgid "Invalid value for accurate. It must be yes or no.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+#, fuzzy
+msgid "Accurate value missing.\n"
+msgstr "FileSet: name=%s\n"
+
+#: src/dird/ua_cmds.c:1167
msgid "No job specified.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
msgid "Error sending include list.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
msgid "Error sending exclude list.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
msgid ""
"In general it is not a good idea to delete either a\n"
"Pool or a Volume since they may contain data.\n"
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
msgid "Choose catalog item to delete"
msgstr ""
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, fuzzy, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr "Clone JobId %d gestartet.\n"
+
+#: src/dird/ua_cmds.c:1404
msgid "Enter JobId to delete: "
msgstr ""
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr ""
+
+#: src/dird/ua_cmds.c:1450
#, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
msgstr ""
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
+#, c-format
+msgid "Jobid %s and associated records deleted from the catalog.\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1484
#, c-format
msgid ""
"\n"
@@ -2132,44 +2157,44 @@ msgid ""
"and all Jobs saved on that volume from the Catalog\n"
msgstr ""
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
#, c-format
msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
msgstr ""
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
msgid "Can't list jobs on this volume\n"
msgstr ""
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
#, c-format
msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
msgstr ""
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
#, c-format
msgid "Using Catalog name=%s DB=%s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
msgid "ERR: Can't open db\n"
msgstr ""
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
msgid "Wait on mount timed out\n"
msgstr ""
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
msgid "ERR: Job was not found\n"
msgstr ""
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
msgid ""
" Command Description\n"
" ======= ===========\n"
msgstr ""
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
#, c-format
msgid ""
" %-13s %s\n"
@@ -2178,12 +2203,12 @@ msgid ""
"\t%s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
#, fuzzy, c-format
msgid " %-13s %s\n"
msgstr " --> Run=%s\n"
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
#, c-format
msgid ""
"\n"
@@ -2191,29 +2216,29 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
msgid ""
"\n"
"When at a prompt, entering a period cancels the command.\n"
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
#, c-format
msgid "%s Version: %s (%s) %s %s %s %s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
#, c-format
msgid "No authorization for Catalog \"%s\"\n"
msgstr ""
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
#, c-format
msgid "Could not open catalog database \"%s\".\n"
msgstr ""
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
#, c-format
msgid "Using Catalog \"%s\"\n"
msgstr ""
@@ -2411,57 +2436,57 @@ msgstr ""
msgid "%d directories unmarked.\n"
msgstr ""
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
#: src/qt-console/tray-monitor/tray_conf.cpp:168
#, c-format
msgid "No %s resource defined\n"
msgstr "Keine %s resource definiert\n"
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
#, c-format
msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
msgstr "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
#, c-format
msgid " query_file=%s\n"
msgstr " query_file=%s\n"
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
msgid " --> "
msgstr " --> "
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
#, c-format
msgid "Console: name=%s SSL=%d\n"
msgstr "Console: name=%s SSL=%d\n"
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
#, c-format
msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
msgstr "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
#, c-format
msgid "Counter: name=%s min=%d max=%d\n"
msgstr "Counter: name=%s min=%d max=%d\n"
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
#, c-format
msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
msgstr "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
#, c-format
msgid " JobRetention=%s FileRetention=%s AutoPrune=%d\n"
msgstr " JobRetention=%s FileRetention=%s AutoPrune=%d\n"
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
#, c-format
msgid ""
"Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2474,7 +2499,7 @@ msgstr ""
"%d\n"
" poolid=%s volname=%s MediaType=%s\n"
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
#, c-format
msgid ""
"Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
@@ -2483,7 +2508,7 @@ msgstr ""
"Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
" DeviceName=%s MediaType=%s StorageId=%s\n"
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
#, fuzzy, c-format
msgid ""
"Catalog: name=%s address=%s DBport=%d db_name=%s\n"
@@ -2492,16 +2517,16 @@ msgstr ""
"Catalog: name=%s address=%s DBport=%d db_name=%s\n"
" db_user=%s MutliDBConn=%d\n"
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
#, c-format
msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
msgstr "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
msgid "JobDefs"
msgstr "JobDefs"
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
#, c-format
msgid ""
" MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
@@ -2510,256 +2535,256 @@ msgstr ""
" MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
"%d\n"
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
#, fuzzy, c-format
msgid " SpoolSize=%s\n"
msgstr " opcmd=%s\n"
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
#, fuzzy, c-format
msgid " Accurate=%d\n"
msgstr " SelectionType=%d\n"
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
#, c-format
msgid " SelectionType=%d\n"
msgstr " SelectionType=%d\n"
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
#, c-format
msgid " --> Where=%s\n"
msgstr " --> Where=%s\n"
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
#, fuzzy, c-format
msgid " --> RegexWhere=%s\n"
msgstr " --> Where=%s\n"
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
#, c-format
msgid " --> Bootstrap=%s\n"
msgstr " --> Bootstrap=%s\n"
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
#, c-format
msgid " --> WriteBootstrap=%s\n"
msgstr " --> WriteBootstrap=%s\n"
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
#, fuzzy, c-format
msgid " --> PluginOptions=%s\n"
msgstr " --> Run=%s\n"
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
#, fuzzy, c-format
msgid " --> MaxRunTime=%u\n"
msgstr " --> RunWhen=%u\n"
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
#, fuzzy, c-format
msgid " --> MaxWaitTime=%u\n"
msgstr " --> RunWhen=%u\n"
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
#, fuzzy, c-format
msgid " --> MaxStartDelay=%u\n"
msgstr " --> Target=%s\n"
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
#, fuzzy, c-format
msgid " --> MaxRunSchedTime=%u\n"
msgstr " --> RunWhen=%u\n"
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
#, fuzzy, c-format
msgid " --> Base %s\n"
msgstr " --> Target=%s\n"
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
msgid " --> RunScript\n"
msgstr " --> RunScript\n"
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
#, c-format
msgid " --> Command=%s\n"
msgstr " --> Command=%s\n"
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
#, c-format
msgid " --> Target=%s\n"
msgstr " --> Target=%s\n"
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
#, c-format
msgid " --> RunOnSuccess=%u\n"
msgstr " --> RunOnSuccess=%u\n"
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
#, c-format
msgid " --> RunOnFailure=%u\n"
msgstr " --> RunOnFailure=%u\n"
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
#, fuzzy, c-format
msgid " --> FailJobOnError=%u\n"
msgstr " --> AbortJobOnError=%u\n"
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
#, c-format
msgid " --> RunWhen=%u\n"
msgstr " --> RunWhen=%u\n"
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
#, c-format
msgid " --> Run=%s\n"
msgstr " --> Run=%s\n"
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
#, c-format
msgid " --> SelectionPattern=%s\n"
msgstr " --> SelectionPattern=%s\n"
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
#, c-format
msgid "FileSet: name=%s\n"
msgstr "FileSet: name=%s\n"
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
#, c-format
msgid "Schedule: name=%s\n"
msgstr "Schedule: name=%s\n"
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
#, c-format
msgid " --> Run Level=%s\n"
msgstr " --> Run Level=%s\n"
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
msgid " hour="
msgstr " hour="
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
msgid " mday="
msgstr " mday="
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
msgid " month="
msgstr " month="
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
msgid " wday="
msgstr " wday="
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
msgid " wom="
msgstr " wom="
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
msgid " woy="
msgstr " woy="
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
#, c-format
msgid " mins=%d\n"
msgstr " mins=%d\n"
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
msgid " --> "
msgstr " --> "
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
#, c-format
msgid "Pool: name=%s PoolType=%s\n"
msgstr "Pool: name=%s PoolType=%s\n"
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
#, c-format
msgid " use_cat=%d use_once=%d cat_files=%d\n"
msgstr " use_cat=%d use_once=%d cat_files=%d\n"
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
#, c-format
msgid " max_vols=%d auto_prune=%d VolRetention=%s\n"
msgstr " max_vols=%d auto_prune=%d VolRetention=%s\n"
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
#, c-format
msgid " VolUse=%s recycle=%d LabelFormat=%s\n"
msgstr " VolUse=%s recycle=%d LabelFormat=%s\n"
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
#, c-format
msgid " CleaningPrefix=%s LabelType=%d\n"
msgstr " CleaningPrefix=%s LabelType=%d\n"
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
#, fuzzy, c-format
msgid " RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
msgstr " RecyleOldest=%d PurgeOldest=%d MaxVolJobs=%d MaxVolFiles=%d\n"
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
#, fuzzy, c-format
msgid " MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
msgstr " max_vols=%d auto_prune=%d VolRetention=%s\n"
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
#, c-format
msgid " MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
msgstr " MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
#, fuzzy, c-format
msgid " JobRetention=%s FileRetention=%s\n"
msgstr " JobRetention=%s FileRetention=%s AutoPrune=%d\n"
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
#, fuzzy, c-format
msgid " NextPool=%s\n"
msgstr " opcmd=%s\n"
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
#, fuzzy, c-format
msgid " RecyclePool=%s\n"
msgstr " opcmd=%s\n"
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
#, fuzzy, c-format
msgid " ScratchPool=%s\n"
msgstr " opcmd=%s\n"
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
#, fuzzy, c-format
msgid " Catalog=%s\n"
msgstr " mailcmd=%s\n"
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
#, c-format
msgid "Messages: name=%s\n"
msgstr "Messages: name=%s\n"
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
#, c-format
msgid " mailcmd=%s\n"
msgstr " mailcmd=%s\n"
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
#, c-format
msgid " opcmd=%s\n"
msgstr " opcmd=%s\n"
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
#: src/qt-console/tray-monitor/tray_conf.cpp:199
#, c-format
msgid "Unknown resource type %d in dump_resource.\n"
msgstr "Unbekannter resource type %d in dump_resource.\n"
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
#: src/qt-console/tray-monitor/tray_conf.cpp:257
#, c-format
msgid "Unknown resource type %d in free_resource.\n"
msgstr "Unbekannter resource type %d in free_resource.\n"
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
#: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
#: src/console/console_conf.c:259 src/filed/filed_conf.c:361
#: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2768,54 +2793,54 @@ msgstr "Unbekannter resource type %d in free_resource.\n"
msgid "%s item is required in %s resource, but not found.\n"
msgstr "%s item wird in %s resource ben�tigt, wurde aber nicht gefunden.\n"
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
#: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
#, c-format
msgid "Too many items in %s resource\n"
msgstr "zu viele items in %s resource\n"
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
#, c-format
msgid "Cannot find Pool resource %s\n"
msgstr "Kann Pool resource %s nicht finden\n"
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
#, c-format
msgid "Cannot find Console resource %s\n"
msgstr "Kann Console resource %s nicht finden\n"
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
#: src/filed/filed_conf.c:381
#, c-format
msgid "Cannot find Director resource %s\n"
msgstr "Kann Director resource %s nicht finden\n"
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
#, c-format
msgid "Cannot find Storage resource %s\n"
msgstr "Kann Storage resource %s nicht finden\n"
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
#, c-format
msgid "Cannot find Job resource %s\n"
msgstr "Kann Job resource %s nicht finden\n"
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
#, c-format
msgid "Cannot find Counter resource %s\n"
msgstr "Kann Counter resource %s nicht finden\n"
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
#, c-format
msgid "Cannot find Client resource %s\n"
msgstr "Kann Client resource %s nicht finden\n"
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
#, c-format
msgid "Cannot find Schedule resource %s\n"
msgstr "Kann Schedule resource %s nicht finden\n"
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
#: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
#: src/qt-console/tray-monitor/tray_conf.cpp:314
#: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2823,12 +2848,12 @@ msgstr "Kann Schedule resource %s nicht finden\n"
msgid "Unknown resource type %d in save_resource.\n"
msgstr "Unbekannter resource type %d in save_resource.\n"
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
#, c-format
msgid "Name item is required in %s resource, but not found.\n"
msgstr "Name item wird ben�tigt in %s resource, wurde aber nicht gefunden.\n"
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
#: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
#: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
#: src/qt-console/bat_conf.cpp:334
@@ -2838,43 +2863,43 @@ msgstr ""
"Der Versuch der Definition einer zweiten %s resource mit dem Namen \"%s\" "
"ist nicht erlaubt.\n"
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
#, c-format
msgid "Inserting %s res: %s index=%d pass=%d\n"
msgstr "Inserting %s res: %s index=%d pass=%d\n"
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
#, fuzzy, c-format
msgid "Expected one of: %s, got: %s"
msgstr "Erwartet: %s, erhalten: %s"
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
#, c-format
msgid "Expected a Migration Job Type keyword, got: %s"
msgstr " Migration Job Type Schl�sselwort erwartet, erhalten: %s"
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
#, c-format
msgid "Expected a Job Type keyword, got: %s"
msgstr "Job Type Schl�sselwort erwartet, erhalten: %s"
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
#, c-format
msgid "Expected a Job Level keyword, got: %s"
msgstr "Job Level Schl�sselwort erwartet, erhalten: %s"
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
#, c-format
msgid "Expected a Restore replacement option, got: %s"
msgstr "Restore replacement Option erwartet, erhalten: %s"
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
#: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
#, c-format
msgid "Expect %s, got: %s"
msgstr "Erwartet: %s, erhalten: %s"
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
#, c-format
msgid "Could not find config Resource %s referenced on line %d : %s\n"
msgstr ""
@@ -3003,7 +3028,7 @@ msgstr ""
msgid "Select full restore to a specified Job date"
msgstr ""
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
#: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
msgid "Cancel"
msgstr ""
@@ -3421,180 +3446,180 @@ msgstr ""
msgid "Slot too large.\n"
msgstr ""
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
msgid "command line"
msgstr ""
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
msgid "No slots in changer to scan.\n"
msgstr ""
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
msgid "No Volumes found to label, or no barcodes.\n"
msgstr ""
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
#, c-format
msgid "Slot %d greater than max %d ignored.\n"
msgstr ""
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
#, c-format
msgid "No VolName for Slot=%d InChanger set to zero.\n"
msgstr ""
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
#, c-format
msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
msgstr ""
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
#, c-format
msgid "Catalog record for Volume \"%s\" is up to date.\n"
msgstr ""
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
#, c-format
msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
msgstr ""
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
#, c-format
msgid ""
"Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
"relabeling.\n"
msgstr ""
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
msgid "Enter new Volume name: "
msgstr ""
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
#, c-format
msgid "Media record for new Volume \"%s\" already exists.\n"
msgstr ""
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
msgid "Enter slot (0 or Enter for none): "
msgstr ""
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
#, c-format
msgid "Delete of Volume \"%s\" failed. ERR=%s"
msgstr ""
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
#, c-format
msgid "Old volume \"%s\" deleted from catalog.\n"
msgstr ""
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
#, c-format
msgid "Requesting to mount %s ...\n"
msgstr ""
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
msgid "Do not forget to mount the drive!!!\n"
msgstr ""
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
msgid ""
"The following Volumes will be labeled:\n"
"Slot Volume\n"
"==============\n"
msgstr ""
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
msgid "Do you want to label these Volumes? (yes|no): "
msgstr ""
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
#, c-format
msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
msgstr ""
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
#, c-format
msgid "Error setting InChanger: ERR=%s"
msgstr ""
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
#, c-format
msgid "Maximum pool Volumes=%d reached.\n"
msgstr ""
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
#, c-format
msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
#, c-format
msgid "Catalog error on cleaning tape: %s"
msgstr ""
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
#, c-format
msgid "Illegal character \"%c\" in a volume name.\n"
msgstr ""
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
#, c-format
msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
msgstr ""
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
#, c-format
msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
msgstr ""
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
#, c-format
msgid "Catalog record for Volume \"%s\", Slot %d successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
#, c-format
msgid "Label command failed for Volume %s.\n"
msgstr ""
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
msgid "Could not open SD socket.\n"
msgstr ""
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
#, c-format
msgid "Invalid Slot number: %s\n"
msgstr ""
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
#, c-format
msgid "Invalid Volume name: %s\n"
msgstr ""
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
#, c-format
msgid "Device \"%s\" has %d slots.\n"
msgstr ""
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
#, c-format
msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
msgstr ""
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
#, fuzzy
msgid "No Volumes found, or no barcodes.\n"
msgstr "Keine Volumes zum Wiederherstellen gefunden.\n"
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
msgid ""
" Slot | Volume Name | Status | Media Type | "
"Pool |\n"
msgstr ""
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
msgid ""
"------+------------------+-----------+----------------------"
"+--------------------|\n"
@@ -3815,15 +3840,15 @@ msgid "New Recycle flag is: %s\n"
msgstr ""
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
#: src/tools/dbcheck.c:1352
msgid "yes"
msgstr ""
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
msgid "no"
msgstr ""
@@ -3902,7 +3927,7 @@ msgstr "Fehler beim Aktualisieren des Client Eintrags. ERR=%s\n"
msgid "New ActionOnPurge is: %s\n"
msgstr ""
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
msgid "Parameters to modify:\n"
msgstr ""
@@ -3974,7 +3999,7 @@ msgstr ""
msgid "Done"
msgstr ""
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
msgid "Select parameter to modify"
msgstr ""
@@ -4206,7 +4231,7 @@ msgstr "Pool f
msgid "Pool resource \"%s\" not found.\n"
msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
#, fuzzy, c-format
msgid "Could not get job record for JobId %s to %s. ERR=%s"
msgstr "Konnte job record f�r JobId %s zum migrieren nicht holen. ERR=%s"
@@ -4221,140 +4246,140 @@ msgstr ""
msgid "Start %s JobId %s, Job=%s\n"
msgstr "Start Sicherung JobId %s, Job=%s\n"
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
#, fuzzy, c-format
msgid "No %s SQL selection pattern specified.\n"
msgstr "Kein \"Migration SQL selection pattern\" spezifiziert.\n"
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
#, c-format
msgid "SQL failed. ERR=%s\n"
msgstr "SQL fehlgeschlagen ERR=%s\n"
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
#, fuzzy, c-format
msgid "No Volumes found to %s.\n"
msgstr "Keine Volumes zum Wiederherstellen gefunden.\n"
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
msgid "Invalid JobId found.\n"
msgstr "Ung�ltige JobId gefunden.\n"
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
#, fuzzy, c-format
msgid "Unknown %s Selection Type.\n"
msgstr "Unbekannter \"Migration Selection Type\".\n"
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
#, fuzzy, c-format
msgid "No JobIds found to %s.\n"
msgstr "Kein Job gefunden f�r: %s.\n"
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
#, fuzzy, c-format
msgid "The following %u JobId%s chosen to be %s: %s\n"
msgstr "Die folgende %u JobId%s wird migriert werden: %s\n"
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid " was"
msgstr ""
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid "s were"
msgstr ""
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
#, fuzzy, c-format
msgid "%s using JobId=%s Job=%s\n"
msgstr "Migration benutzt JobId=%s Job=%s\n"
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
msgid "Could not start migration job.\n"
msgstr "Konnte Migrationsjob nicht starten.\n"
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
#, fuzzy, c-format
msgid "%s JobId %d started.\n"
msgstr "Clone JobId %d gestartet.\n"
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
#, fuzzy, c-format
msgid "No %s found to %s.\n"
msgstr "Keine %ss zum Migrieren gefunden.\n"
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
#, c-format
msgid "SQL error. Expected 1 MediaId got %d\n"
msgstr "SQL Fehler. Erwartet 1 MediaId erhalten: %d\n"
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
#, fuzzy, c-format
msgid "No %ss found to %s.\n"
msgstr "Keine %ss zum Migrieren gefunden.\n"
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
msgstr ""
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
#, fuzzy, c-format
msgid "SQL to get uncopied jobs failed. ERR=%s\n"
msgstr "SQL um %s zu holen fehlgeschlagen. ERR=%s\n"
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
#, fuzzy, c-format
msgid "No %s %s selection pattern specified.\n"
msgstr "Kein Migration %s selection pattern spezifiziert.\n"
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
#, c-format
msgid "SQL to get %s failed. ERR=%s\n"
msgstr "SQL um %s zu holen fehlgeschlagen. ERR=%s\n"
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
#, fuzzy, c-format
msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
msgstr "Abfrage nach Pool \"%s\" ergab keine Jobs f�r die Migration.\n"
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
#, fuzzy, c-format
msgid "Regex pattern matched no Jobs to %s.\n"
msgstr "Regex pattern hat auf keine Jobs f�r die Migration zugetroffen.\n"
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
#, c-format
msgid "%s OK -- with warnings"
msgstr "%s OK -- mit Warnungen"
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
#, c-format
msgid "%s OK"
msgstr "%s OK"
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
#, c-format
msgid "*** %s Error ***"
msgstr "*** %s Fehler ***"
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
#, c-format
msgid "%s Canceled"
msgstr "%s Abgebrochen"
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
#, c-format
msgid "Inappropriate %s term code"
msgstr "Unzutreffender %s Beendigungskode"
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
#, fuzzy, c-format
msgid "%s -- no files to %s"
msgstr "%s -- keine Dateien zur Migration."
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -4416,17 +4441,17 @@ msgstr ""
" Beendigungsstatus: %s\n"
"\n"
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
#, c-format
msgid "No Next Pool specification found in Pool \"%s\".\n"
msgstr "Keine \"Next Pool\" Spezifikation in Pool \"%s\" gefunden.\n"
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
#, c-format
msgid "No Storage specification found in Next Pool \"%s\".\n"
msgstr "Keine \"Storage\" Spezifikation in \"Next Pool\" \"%s\" gefunden.\n"
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
msgid "Storage from Pool's NextPool resource"
msgstr "Storage aus der \"NextPool\" Ressource des Pools."
@@ -4434,44 +4459,44 @@ msgstr "Storage aus der \"NextPool\" Ressource des Pools."
msgid "Choose item to prune"
msgstr ""
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
#, c-format
msgid "Cannot prune Volume \"%s\" because it is archived.\n"
msgstr ""
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
msgid "Pruned Jobs from JobHisto catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
#, fuzzy
msgid "Begin pruning Files.\n"
msgstr "Beginn automatische S�uberung von Dateien.\n"
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
msgid "No Files found to prune.\n"
msgstr ""
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
#, c-format
msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
#, fuzzy, c-format
msgid "Begin pruning Jobs older than %s.\n"
msgstr "Beginn automatische S�uberung von Auftr�gen.\n"
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
#, c-format
msgid "Pruned %d %s for client %s from catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
msgid "Jobs"
msgstr ""
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
msgid "No Jobs found to prune.\n"
msgstr ""
@@ -4496,52 +4521,60 @@ msgstr ""
msgid "Job queued. JobId=%s\n"
msgstr ""
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr ""
+
+#: src/dird/ua_run.c:207
msgid "Job not run.\n"
msgstr ""
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
msgid "Level"
msgstr ""
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
#, fuzzy
msgid "Restore Client"
msgstr "Wiederherstellung l�uft..."
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
#: src/wx-console/wxbrestorepanel.cpp:854
#: src/wx-console/wxbrestorepanel.cpp:1918
msgid "When"
msgstr ""
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
#: src/wx-console/wxbrestorepanel.cpp:1128
#: src/wx-console/wxbrestorepanel.cpp:1921
msgid "Priority"
msgstr ""
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
msgid "Verify Job"
msgstr ""
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
#: src/wx-console/wxbrestorepanel.cpp:1899
msgid "Bootstrap"
msgstr ""
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
#: src/wx-console/wxbrestorepanel.cpp:1104
#: src/wx-console/wxbrestorepanel.cpp:1901
msgid "Where"
msgstr ""
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
#, fuzzy
msgid "File Relocation"
msgstr "File daemon"
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
#: src/wx-console/wxbrestorepanel.cpp:1112
#: src/wx-console/wxbrestorepanel.cpp:1905
#: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4551,212 +4584,212 @@ msgstr "File daemon"
msgid "Replace"
msgstr ""
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
msgid "JobId"
msgstr ""
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
msgid "Plugin Options"
msgstr ""
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
msgid "user selection"
msgstr ""
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
msgid ""
"Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
msgstr ""
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
msgid "Invalid time, using current time.\n"
msgstr ""
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
msgid "Enter new Priority: "
msgstr ""
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
msgid "Priority must be a positive integer.\n"
msgstr ""
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
msgid "Please enter the Bootstrap file name: "
msgstr ""
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
#, c-format
msgid "Warning cannot open %s: ERR=%s\n"
msgstr ""
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
msgid "Please enter the full path prefix for restore (/ for none): "
msgstr ""
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
msgid "Replace:\n"
msgstr ""
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
msgid "Select replace option"
msgstr ""
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
msgid ""
"You must set the bootstrap file to NULL to be able to specify a JobId.\n"
msgstr ""
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
msgid "Please Plugin Options string: "
msgstr ""
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
msgid "User input"
msgstr ""
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
#, c-format
msgid "Invalid replace option: %s\n"
msgstr ""
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
msgstr ""
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
msgid "This will replace your current Where value\n"
msgstr ""
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
msgid "Strip prefix"
msgstr ""
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
msgid "Add prefix"
msgstr ""
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
msgid "Add file suffix"
msgstr ""
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
msgid "Enter a regexp"
msgstr ""
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
msgid "Test filename manipulation"
msgstr ""
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
msgid "Use this ?"
msgstr ""
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
msgid "Please enter the path prefix to strip: "
msgstr ""
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
msgid "Please enter the path prefix to add (/ for none): "
msgstr ""
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
msgid "Please enter the file suffix to add: "
msgstr ""
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
msgid "Please enter a valid regexp (!from!to!): "
msgstr ""
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
#, c-format
msgid "regexwhere=%s\n"
msgstr ""
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
msgstr ""
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
msgid "Cannot use your regexp\n"
msgstr ""
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
msgid "Enter a period (.) to stop this test\n"
msgstr ""
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
msgid "Please enter filename to test: "
msgstr ""
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
#, fuzzy, c-format
msgid "%s -> %s\n"
msgstr " --> Run=%s\n"
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
msgid "Cannot use your regexp.\n"
msgstr ""
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
msgid "Levels:\n"
msgstr ""
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
#: src/lib/util.c:472 src/filed/status.c:519
msgid "Full"
msgstr ""
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
#: src/filed/status.c:522
msgid "Incremental"
msgstr ""
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
#: src/filed/status.c:525
msgid "Differential"
msgstr ""
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
#: src/filed/status.c:528
msgid "Since"
msgstr ""
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
msgid "VirtualFull"
msgstr ""
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
msgid "Select level"
msgstr ""
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
msgid "Initialize Catalog"
msgstr ""
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
#: src/filed/status.c:531
msgid "Verify Catalog"
msgstr ""
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
msgid "Verify Volume to Catalog"
msgstr ""
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
msgid "Verify Disk to Catalog"
msgstr ""
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
msgid "Verify Volume Data (not yet implemented)"
msgstr ""
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
msgid "Level not appropriate for this Job. Cannot be changed.\n"
msgstr ""
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
#, c-format
msgid ""
"Run Admin Job\n"
@@ -4768,7 +4801,7 @@ msgid ""
"Priority: %d\n"
msgstr ""
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
#, c-format
msgid ""
"Run Backup job\n"
@@ -4783,12 +4816,12 @@ msgid ""
"%s%s%s"
msgstr ""
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
#, fuzzy, c-format
msgid "Could not get job record for selected JobId. ERR=%s"
msgstr "Konnte job record f�r JobId %s zum migrieren nicht holen. ERR=%s"
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
#, c-format
msgid ""
"Run Verify Job\n"
@@ -4804,11 +4837,11 @@ msgid ""
"Priority: %d\n"
msgstr ""
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
msgid "Please enter a JobId for restore: "
msgstr ""
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
#, c-format
msgid ""
"Run Restore job\n"
@@ -4826,7 +4859,7 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
#, c-format
msgid ""
"Run Restore job\n"
@@ -4844,7 +4877,7 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
#, c-format
msgid ""
"Run Restore job\n"
@@ -4852,17 +4885,17 @@ msgid ""
"Bootstrap: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
#, c-format
msgid "RegexWhere: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
#, fuzzy, c-format
msgid "Where: %s\n"
msgstr " opcmd=%s\n"
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
#, c-format
msgid ""
"Replace: %s\n"
@@ -4875,225 +4908,225 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
msgid "Run Copy job\n"
msgstr ""
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
#, fuzzy
msgid "Run Migration job\n"
msgstr "Konnte Migrationsjob nicht starten.\n"
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
#, c-format
msgid "Unknown Job Type=%d\n"
msgstr ""
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
#, c-format
msgid "Value missing for keyword %s\n"
msgstr ""
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
msgid "Job name specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
msgid "JobId specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
msgid "Client specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
msgid "FileSet specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
msgid "Level specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
msgid "Storage specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
msgid "RegexWhere or Where specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
msgid "No authorization for \"regexwhere\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
msgid "Where or RegexWhere specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
msgid "No authoriztion for \"where\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
msgid "Bootstrap specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
msgid "Replace specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
msgid "When specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
msgid "Priority specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
msgid "Priority must be positive nonzero setting it to 10.\n"
msgstr ""
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
msgid "Verify Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
msgid "Migration Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
msgid "Pool specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
#, fuzzy
msgid "Restore Client specified twice.\n"
msgstr "Kein storage angegeben.\n"
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
#, fuzzy
msgid "Plugin Options not yet implemented.\n"
msgstr "Kein storage angegeben.\n"
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
#, fuzzy
msgid "Plugin Options specified twice.\n"
msgstr "Kein storage angegeben.\n"
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
msgid "No authoriztion for \"PluginOptions\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
#, fuzzy
msgid "Spool flag specified twice.\n"
msgstr "Kein storage angegeben.\n"
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
#, fuzzy
msgid "Invalid spooldata flag.\n"
msgstr "Ung�ltige JobId gefunden.\n"
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
#, fuzzy
msgid "IgnoreDuplicateCheck flag specified twice.\n"
msgstr "Kein storage angegeben.\n"
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
#, fuzzy
msgid "Invalid ignoreduplicatecheck flag.\n"
msgstr "Ung�ltige JobId gefunden.\n"
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
#, fuzzy
msgid "Accurate flag specified twice.\n"
msgstr "Kein storage angegeben.\n"
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
#, fuzzy
msgid "Invalid accurate flag.\n"
msgstr "Ung�ltige JobId gefunden.\n"
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
#, c-format
msgid "Invalid keyword: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
#, c-format
msgid "Catalog \"%s\" not found\n"
msgstr ""
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
#, c-format
msgid "No authorization. Catalog \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
#, c-format
msgid "Job \"%s\" not found\n"
msgstr ""
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
msgid "A job name must be specified.\n"
msgstr ""
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
#, c-format
msgid "No authorization. Job \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
#, c-format
msgid "Pool \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
#, c-format
msgid "No authorization. Pool \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
#, c-format
msgid "Storage \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
msgid "No storage specified.\n"
msgstr "Kein storage angegeben.\n"
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
#, c-format
msgid "No authorization. Storage \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
#, c-format
msgid "No authorization. Client \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
#, fuzzy, c-format
msgid "Restore Client \"%s\" not found.\n"
msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
#, c-format
msgid "FileSet \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
#, c-format
msgid "No authorization. FileSet \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
#, c-format
msgid "Verify Job \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
#, c-format
msgid "Migration Job \"%s\" not found.\n"
msgstr ""
@@ -5151,25 +5184,25 @@ msgstr ""
msgid "Start Backup JobId %s, Job=%s\n"
msgstr "Start Sicherung JobId %s, Job=%s\n"
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
#, c-format
msgid "Unexpected Client Job message: %s\n"
msgstr "Unerwartete Client Job Nachricht: %s\n"
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
#, c-format
msgid "Network error with FD during %s: ERR=%s\n"
msgstr "Netzwerkfehler mit FD bei %s: ERR=%s\n"
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
msgid "No Job status returned from FD.\n"
msgstr "FD hat keinen Jobstatus zur�ckgegeben.\n"
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
msgid "Backup failed -- incomplete"
msgstr ""
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5239,14 +5272,14 @@ msgstr ""
" Beendigungsstatus: %s\n"
"\n"
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
#, c-format
msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
msgstr ""
"Konnte Job Volume Parameter nicht holen um die Bootstrap Datei zu "
"aktualisieren. ERR=%s\n"
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
#, c-format
msgid ""
"Could not open WriteBootstrap file:\n"
@@ -5255,7 +5288,7 @@ msgstr ""
"Konnte WriteBootstrap nicht �ffnen. Datei:\n"
"%s: ERR=%s\n"
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr "Kann bootstrap Datei nicht �ffnen: %s: ERR=%s\n"
@@ -5270,40 +5303,40 @@ msgstr "Kann Storage resource %s nicht finden\n"
msgid "Could not acquire read storage lock for \"%s\""
msgstr "Kann Storage resource %s nicht finden\n"
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
msgid ""
"Cannot restore without a bootstrap file.\n"
"You probably ran a restore job directly. All restore jobs must\n"
"be run using the restore command.\n"
msgstr ""
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
#, c-format
msgid "Start Restore Job %s\n"
msgstr ""
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
msgid "Restore OK -- warning file count mismatch"
msgstr ""
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
msgid "Restore OK"
msgstr ""
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
#, fuzzy
msgid "Restore OK -- with warnings"
msgstr "%s OK -- mit Warnungen"
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
msgid "*** Restore Error ***"
msgstr ""
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
msgid "Restore Canceled"
msgstr ""
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5348,7 +5381,7 @@ msgstr ""
msgid "Select daemon type for status"
msgstr ""
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
#, c-format
msgid "%s Version: %s (%s) %s %s %s\n"
msgstr ""
@@ -5358,7 +5391,7 @@ msgstr ""
msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
msgstr ""
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
#, c-format
msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
msgstr ""
@@ -5415,7 +5448,7 @@ msgstr ""
msgid "No Scheduled Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
msgid ""
"\n"
"Running Jobs:\n"
@@ -5581,13 +5614,13 @@ msgstr ""
msgid "No Terminated Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
msgid ""
"\n"
"Terminated Jobs:\n"
msgstr ""
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr ""
@@ -5595,42 +5628,42 @@ msgstr ""
msgid "====================================================================\n"
msgstr ""
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
#: src/filed/status.c:363
msgid "Created"
msgstr ""
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
#: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
msgid "Error"
msgstr ""
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
msgid "Diffs"
msgstr ""
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
#: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
#: src/wx-console/wxbconfigpanel.cpp:209
msgid "OK"
msgstr ""
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
#: src/lib/util.c:327
#, fuzzy
msgid "OK -- with warnings"
msgstr "%s OK -- mit Warnungen"
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
msgid "Other"
msgstr ""
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
#, c-format
msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
msgstr ""
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr ""
@@ -5804,7 +5837,7 @@ msgstr ""
msgid "Job DiffPool override"
msgstr ""
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr "Konnte Client Eintrag nicht anlegen. ERR=%s\n"
@@ -6157,7 +6190,17 @@ msgstr "Storage daemon hat \"Job command\": %s abgelehnt\n"
msgid "<stored: bad response to Job command: %s\n"
msgstr "<stored: falsche Antwort auf Job Kommando: %s\n"
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr "unbekannt"
+
+#: src/dird/msgchan.c:311
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
+
+#: src/dird/msgchan.c:318
#, c-format
msgid ""
"\n"
@@ -6168,7 +6211,7 @@ msgstr ""
" Storage daemon hat Device \"%s\" nicht akzeptiert weil:\n"
" %s"
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
#, c-format
msgid ""
"\n"
@@ -6177,17 +6220,12 @@ msgstr ""
"\n"
" Storage daemon hat Device \"%s\" Kommando nicht akzeptiert.\n"
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr ""
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
#, c-format
msgid "Cannot create message thread: %s\n"
msgstr "Kann \"message thread\" nicht erzeugen: %s\n"
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
msgid "Director's comm line to SD dropped.\n"
msgstr ""
@@ -6656,26 +6694,26 @@ msgstr "Director und File daemon Passworte oder Namen sind nicht gleich.\n"
msgid "Unable to initialize reservation lock. ERR=%s\n"
msgstr ""
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
#, c-format
msgid "Hey! num_writers=%d!!!!\n"
msgstr ""
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
msgid "3939 Could not get dcr\n"
msgstr ""
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
#, fuzzy, c-format
msgid "Device reservation failed for JobId=%d: %s\n"
msgstr "Mehr als ein Dateiname! %s f�r Datei: %s\n"
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
#, c-format
msgid "Failed command: %s\n"
msgstr ""
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
#, c-format
msgid ""
"\n"
@@ -6683,85 +6721,85 @@ msgid ""
"does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
#, c-format
msgid ""
"\n"
" Device \"%s\" requested by DIR could not be opened or does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
#, c-format
msgid "3926 Could not get dcr for device: %s\n"
msgstr ""
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
#, c-format
msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
#, c-format
msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
msgstr ""
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
#, c-format
msgid "3603 JobId=%u device %s is busy reading.\n"
msgstr ""
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
#, c-format
msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
#, c-format
msgid ""
"3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
"%s.\n"
msgstr ""
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
#, c-format
msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
#, c-format
msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
#, c-format
msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
msgstr ""
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
#, c-format
msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
msgstr ""
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
#, c-format
msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
#, c-format
msgid "Logic error!!!! JobId=%u Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
#, c-format
msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
msgid "Logic error!!!! Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
#, c-format
msgid "3911 JobId=%u failed reserve drive %s.\n"
msgstr ""
@@ -6908,7 +6946,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
msgstr ""
#: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
#, c-format
msgid "Mount Volume \"%s\" on device %s and press return when ready: "
msgstr ""
@@ -7204,7 +7242,7 @@ msgstr "unbekannt"
msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
msgstr ""
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
#, c-format
msgid ""
"Bootstrap file error: %s\n"
@@ -7212,154 +7250,154 @@ msgid ""
"%s\n"
msgstr ""
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
#, c-format
msgid "Cannot open bootstrap file %s: %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
#, c-format
msgid "MediaType %s in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
#, c-format
msgid "Device \"%s\" in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
#, fuzzy, c-format
msgid "REGEX '%s' compile error. ERR=%s\n"
msgstr "Regex �bersetzungsfehler. ERR=%s\n"
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
msgid "JobType not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
msgid "JobLevel not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
#, c-format
msgid "Slot %d in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
#, c-format
msgid "VolFile : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
#, c-format
msgid "VolBlock : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
#, c-format
msgid "VolAddr : %llu-%llu\n"
msgstr ""
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
#, c-format
msgid "FileIndex : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
#, c-format
msgid "FileIndex : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
#, c-format
msgid "JobId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
#, c-format
msgid "JobId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
#, c-format
msgid "SessId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
#, c-format
msgid "SessId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
#, c-format
msgid "VolumeName : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
#, c-format
msgid " MediaType : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
#, c-format
msgid " Device : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
#, c-format
msgid " Slot : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
#, c-format
msgid "Client : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
#, c-format
msgid "Job : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
#, c-format
msgid "SessTime : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
msgid "BSR is NULL\n"
msgstr ""
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
#, c-format
msgid "Next : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
#, c-format
msgid "Root bsr : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
#, c-format
msgid "count : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
#, c-format
msgid "found : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
#, c-format
msgid "done : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
#, c-format
msgid "positioning : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
#, c-format
msgid "fast_reject : %d\n"
msgstr ""
@@ -7444,7 +7482,7 @@ msgid "Unable to set network buffer size.\n"
msgstr ""
#: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
msgid "NULL Volume name. This shouldn't happen!!!\n"
msgstr ""
@@ -7553,7 +7591,7 @@ msgstr ""
msgid "Volume on %s has bad Bacula label type: %x\n"
msgstr ""
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
#, fuzzy, c-format
msgid "Could not reserve volume %s on %s\n"
msgstr "Konnte FileSet \"%s\" Eintrag nicht erzeugen. ERR=%s\n"
@@ -7563,7 +7601,7 @@ msgstr "Konnte FileSet \"%s\" Eintrag nicht erzeugen. ERR=%s\n"
msgid "Cannot write Volume label to block for device %s\n"
msgstr ""
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
#, fuzzy, c-format
msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr "Erzeugung von db Device Eintrag %s fehlgeschlagen: ERR=%s\n"
@@ -7729,82 +7767,102 @@ msgstr ""
msgid "Used Volume status:\n"
msgstr ""
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
msgid ""
-"====\n"
"\n"
+"SD Resources:\n"
msgstr ""
-#: src/stored/status.c:128
+#: src/stored/status.c:153
msgid ""
"\n"
"Device status:\n"
msgstr ""
-#: src/stored/status.c:132
+#: src/stored/status.c:157
#, c-format
msgid "Autochanger \"%s\" with devices:\n"
msgstr ""
-#: src/stored/status.c:150
+#: src/stored/status.c:177
#, c-format
msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
" Volume: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:160
+#: src/stored/status.c:182
+msgid "waiting for"
+msgstr ""
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+#, fuzzy
+msgid "*unknown*"
+msgstr "unbekannt"
+
+#: src/stored/status.c:188
#, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
msgstr ""
-#: src/stored/status.c:171
+#: src/stored/status.c:199
#, c-format
msgid " Total Bytes=%s Blocks=%s Bytes/block=%s\n"
msgstr ""
-#: src/stored/status.c:186
+#: src/stored/status.c:214
#, c-format
msgid " Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
msgstr ""
-#: src/stored/status.c:192
+#: src/stored/status.c:220
#, c-format
msgid " Positioned at File=%s Block=%s\n"
msgstr ""
-#: src/stored/status.c:199
-#, c-format
-msgid "Device %s is not open.\n"
-msgstr ""
+#: src/stored/status.c:227
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device %s is not open.\n"
+msgstr "unbekannt"
-#: src/stored/status.c:203
-#, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
-msgstr ""
+#: src/stored/status.c:231
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
+msgstr "unbekannt"
-#: src/stored/status.c:225
+#: src/stored/status.c:255
#, c-format
msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
msgstr ""
-#: src/stored/status.c:248
+#: src/stored/status.c:293
msgid ""
"No DEVICE structure.\n"
"\n"
msgstr ""
-#: src/stored/status.c:254
+#: src/stored/status.c:299
msgid " Device is BLOCKED. User unmounted.\n"
msgstr ""
-#: src/stored/status.c:258
+#: src/stored/status.c:303
msgid " Device is BLOCKED. User unmounted during wait for media/mount.\n"
msgstr ""
-#: src/stored/status.c:270
+#: src/stored/status.c:313
#, c-format
msgid ""
" Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -7812,7 +7870,7 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:279
+#: src/stored/status.c:322
#, c-format
msgid ""
" Device is BLOCKED waiting to create a volume for:\n"
@@ -7820,172 +7878,166 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:291
+#: src/stored/status.c:333
msgid " Device is BLOCKED waiting for media.\n"
msgstr ""
-#: src/stored/status.c:297
+#: src/stored/status.c:339
msgid " Device is being initialized.\n"
msgstr ""
-#: src/stored/status.c:301
+#: src/stored/status.c:343
msgid " Device is blocked labeling a Volume.\n"
msgstr ""
-#: src/stored/status.c:310
+#: src/stored/status.c:352
#, c-format
-msgid " Slot %d is loaded in drive %d.\n"
+msgid " Slot %d %s loaded in drive %d.\n"
msgstr ""
-#: src/stored/status.c:314
+#: src/stored/status.c:356
#, c-format
msgid " Drive %d is not loaded.\n"
msgstr ""
-#: src/stored/status.c:317
-#, fuzzy, c-format
-msgid " Drive %d status unknown.\n"
-msgstr "unbekannt"
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
#, c-format
msgid "Configured device capabilities:\n"
msgstr ""
-#: src/stored/status.c:349
+#: src/stored/status.c:389
msgid "Device state:\n"
msgstr ""
-#: src/stored/status.c:367
+#: src/stored/status.c:405
#, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid " num_writers=%d reserves=%d block=%d\n"
msgstr ""
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:409
+#, fuzzy
+msgid "Attached Jobs: "
+msgstr "ist nicht aktiviert"
+
+#: src/stored/status.c:427 src/stored/btape.c:720
#, c-format
msgid "Device parameters:\n"
msgstr ""
-#: src/stored/status.c:374
+#: src/stored/status.c:429
#, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid " Archive name: %s Device name: %s\n"
msgstr ""
-#: src/stored/status.c:378
+#: src/stored/status.c:432
#, c-format
-msgid "File=%u block=%u\n"
+msgid " File=%u block=%u\n"
msgstr ""
-#: src/stored/status.c:381
+#: src/stored/status.c:434
#, c-format
-msgid "Min block=%u Max block=%u\n"
+msgid " Min block=%u Max block=%u\n"
msgstr ""
-#: src/stored/status.c:401
+#: src/stored/status.c:455
#, c-format
msgid "%s Job %s waiting for Client connection.\n"
msgstr ""
-#: src/stored/status.c:417
+#: src/stored/status.c:471
#, c-format
msgid ""
"Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
msgstr ""
-#: src/stored/status.c:430
+#: src/stored/status.c:484
#, c-format
msgid ""
"Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
msgstr ""
-#: src/stored/status.c:441
+#: src/stored/status.c:495
#, c-format
msgid " spooling=%d despooling=%d despool_wait=%d\n"
msgstr ""
-#: src/stored/status.c:450
-#, c-format
-msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
-msgstr ""
+#: src/stored/status.c:511
+#, fuzzy, c-format
+msgid " Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
+msgstr " MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
-#: src/stored/status.c:458
+#: src/stored/status.c:523
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr ""
-#: src/stored/status.c:464
+#: src/stored/status.c:529
msgid " FDSocket closed\n"
msgstr ""
-#: src/stored/status.c:485
+#: src/stored/status.c:550
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
msgstr ""
-#: src/stored/status.c:516
+#: src/stored/status.c:581
msgid "===================================================================\n"
msgstr ""
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
msgid "Base"
msgstr ""
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
msgid "Init Catalog"
msgstr ""
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
msgid "Volume to Catalog"
msgstr ""
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
msgid "Disk to Catalog"
msgstr ""
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
msgid "Data"
msgstr ""
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
msgid "Unknown Job Level"
msgstr ""
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
+#: src/stored/status.c:763
#, c-format
-msgid "Bad .status command: %s\n"
-msgstr ""
-
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
+msgid "3900 No arg in .status command: %s\n"
msgstr ""
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
-msgstr ""
+#: src/stored/status.c:811
+#, fuzzy, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
+msgstr "unbekannt"
-#: src/stored/status.c:760
+#: src/stored/status.c:826
msgid "Bacula Storage: Idle"
msgstr ""
-#: src/stored/status.c:771
+#: src/stored/status.c:837
msgid "Bacula Storage: Running"
msgstr ""
-#: src/stored/status.c:785
+#: src/stored/status.c:851
msgid "Bacula Storage: Last Job Canceled"
msgstr ""
-#: src/stored/status.c:789
+#: src/stored/status.c:855
msgid "Bacula Storage: Last Job Failed"
msgstr ""
-#: src/stored/status.c:793
+#: src/stored/status.c:859
msgid "Bacula Storage: Last Job had Warnings"
msgstr ""
@@ -8100,7 +8152,7 @@ msgid "%u files restored.\n"
msgstr ""
#: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
#, c-format
msgid "Write error on %s: %s\n"
msgstr ""
@@ -8109,7 +8161,7 @@ msgstr ""
msgid "Logic error output file should be open but is not.\n"
msgstr ""
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
#, c-format
msgid "%s stream not supported on this Client.\n"
msgstr ""
@@ -8125,7 +8177,7 @@ msgid "Seek error on %s: %s\n"
msgstr ""
#: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
#, c-format
msgid "Seek to %s error on %s: ERR=%s\n"
msgstr ""
@@ -8135,16 +8187,16 @@ msgstr ""
msgid "Uncompression error. ERR=%d\n"
msgstr ""
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
msgid "GZIP data stream found, but GZIP not configured!\n"
msgstr ""
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
#, c-format
msgid "Compressed header version error. version=0x%x\n"
msgstr ""
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
#, c-format
msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
msgstr ""
@@ -8154,7 +8206,7 @@ msgstr ""
msgid "LZO uncompression error. ERR=%d\n"
msgstr "Regex �bersetzungsfehler. ERR=%s\n"
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
#, c-format
msgid "Compression algorithm 0x%x found, but not supported!\n"
msgstr ""
@@ -8163,7 +8215,7 @@ msgstr ""
msgid "Got Program Name or Data Stream. Ignored.\n"
msgstr ""
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
#, c-format
msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
msgstr ""
@@ -8368,125 +8420,125 @@ msgstr ""
msgid "Unexpected Tape is Off-line\n"
msgstr ""
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
#, c-format
msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
msgstr ""
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
#, fuzzy, c-format
msgid "No volumes specified for reading. Job %s canceled.\n"
msgstr "Weder storage noch Pool in Job \"%s\" definiert.\n"
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
#, c-format
msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
msgstr ""
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
#, c-format
msgid ""
"Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
" device=%s\n"
msgstr ""
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
#, c-format
msgid "Media Type change. New read device %s chosen.\n"
msgstr ""
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
#, c-format
msgid "No suitable device found to read Volume \"%s\"\n"
msgstr ""
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
#, c-format
msgid "Job %s canceled.\n"
msgstr ""
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
#, c-format
msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr ""
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
#, c-format
msgid "Too many errors trying to mount device %s for reading.\n"
msgstr ""
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
#, c-format
msgid "Ready to read from volume \"%s\" on device %s.\n"
msgstr ""
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
#, c-format
msgid "Want to append, but device %s is busy reading.\n"
msgstr ""
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
#, c-format
msgid "Could not ready device %s for append.\n"
msgstr ""
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
#: src/stored/block.c:769 src/stored/block.c:847
#, c-format
msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
msgstr ""
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
#, c-format
msgid "Alert: %s"
msgstr ""
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
#, c-format
msgid "3997 Bad alert command: %s: ERR=%s.\n"
msgstr ""
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
#: src/lib/openssl.c:122 src/lib/openssl.c:181
#, c-format
msgid "Unable to init mutex: ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, fuzzy, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr "Kann DB lock nicht initialisieren. ERR=%s\n"
+
+#: src/stored/askdir.c:179
msgid "Network error on bnet_recv in req_vol_info.\n"
msgstr ""
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
#, c-format
msgid "Error getting Volume info: %s"
msgstr ""
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
#, c-format
msgid "Didn't get vol info vol=%s: ERR=%s"
msgstr ""
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
#, c-format
msgid "Error creating JobMedia record: ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
#, c-format
msgid "Error creating JobMedia record: %s\n"
msgstr ""
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
msgstr ""
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
#, c-format
msgid ""
"Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8496,45 +8548,45 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
#, c-format
msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
msgstr ""
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
msgid "pthread error in mount_next_volume.\n"
msgstr ""
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
msgid "Cannot request another volume: no volume name given.\n"
msgstr ""
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
msgstr ""
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
#, c-format
msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
#, c-format
msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
msgid "pthread error in mount_volume\n"
msgstr ""
@@ -8882,32 +8934,32 @@ msgstr ""
msgid "Attempt to open read on non-open session.\n"
msgstr ""
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
#, c-format
msgid "Too many errors trying to mount device %s.\n"
msgstr ""
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
#, c-format
msgid "Job %d canceled.\n"
msgstr ""
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
#, c-format
msgid "Volume \"%s\" previously written, moving to end of data.\n"
msgstr ""
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
#, c-format
msgid "Unable to position to end of data on device %s: ERR=%s\n"
msgstr ""
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
#, c-format
msgid "Volume \"%s\" not on device %s.\n"
msgstr ""
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
#, c-format
msgid ""
"Director wanted Volume \"%s\".\n"
@@ -8915,24 +8967,24 @@ msgid ""
" %s"
msgstr ""
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
#, c-format
msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
msgstr ""
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
#, c-format
msgid ""
"Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
"Volume=%s Catalog=%s\n"
msgstr ""
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
#, c-format
msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
msgstr ""
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
#, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -8940,24 +8992,24 @@ msgid ""
"Correcting Catalog\n"
msgstr ""
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
#, fuzzy
msgid "Error updating Catalog\n"
msgstr "Fehler beim holen von Zeile: %s\n"
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
#, c-format
msgid ""
"Bacula cannot write on tape Volume \"%s\" because:\n"
"The number of files mismatch! Volume=%u Catalog=%u\n"
msgstr ""
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
#, c-format
msgid "Ready to append to end of Volume \"%s\" size=%s\n"
msgstr ""
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
#, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -8965,46 +9017,46 @@ msgid ""
"Correcting Catalog\n"
msgstr ""
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
#, c-format
msgid ""
"Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
"Volume=%s Catalog=%s\n"
msgstr ""
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
#, c-format
msgid "Labeled new Volume \"%s\" on device %s.\n"
msgstr ""
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
#, fuzzy, c-format
msgid "Device %s not configured to autolabel Volumes.\n"
msgstr "TLS ben�tigt aber nicht konfiguriert in Bacula.\n"
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
#, c-format
msgid "Marking Volume \"%s\" in Error in Catalog.\n"
msgstr ""
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
#, c-format
msgid ""
"Autochanger Volume \"%s\" not found in slot %d.\n"
" Setting InChanger to zero in catalog.\n"
msgstr ""
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
msgstr ""
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
#, c-format
msgid ""
"Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
msgstr ""
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
#, c-format
msgid "Cannot open Dev=%s, Vol=%s\n"
msgstr ""
@@ -9090,7 +9142,7 @@ msgid ""
"Despooling elapsed time = %02d:%02d:%02d, Transfer rate = %s Bytes/second\n"
msgstr ""
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
#, c-format
msgid "Ftruncate spool file failed: ERR=%s\n"
msgstr ""
@@ -9120,78 +9172,87 @@ msgstr ""
msgid "Spool data read error. Wanted %u bytes, got %d\n"
msgstr ""
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
+msgstr ""
+
+#: src/stored/spool.c:485
+#, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
msgstr ""
-#: src/stored/spool.c:489
+#: src/stored/spool.c:492
msgid "Bad return from despool in write_block.\n"
msgstr ""
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
msgid "Spooling data again ...\n"
msgstr ""
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
#, c-format
msgid "Error writing header to spool file. ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
#, c-format
msgid ""
"Error writing header to spool file. Disk probably full. Attempting recovery. "
"Wanted to write=%d got=%d\n"
msgstr ""
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
msgid "Fatal despooling error."
msgstr ""
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
msgid "Retrying after header spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
#, c-format
msgid "Error writing data to spool file. ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
msgid "Retrying after data spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
#, fuzzy
msgid "Network error on BlastAttributes.\n"
msgstr "<filed: Netzwerkfehler beim Holen der Attribute. ERR=%s\n"
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
#, c-format
msgid "Fseek on attributes file failed: ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
#, fuzzy, c-format
msgid "Truncate on attributes file failed: ERR=%s\n"
msgstr "Abfrage gescheitert: %s: ERR=%s\n"
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
#, c-format
msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
msgstr ""
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
#, c-format
msgid "fopen attr spool file %s failed: ERR=%s\n"
msgstr ""
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
#, fuzzy, c-format
msgid "pthread_cond_wait failure. ERR=%s\n"
msgstr "pthread_cond_wait: ERR=%s\n"
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
#, fuzzy
msgid "unknown blocked code"
msgstr "unbekannt"
@@ -9312,6 +9373,21 @@ msgstr ""
msgid "Unable to init cond variable: ERR=%s\n"
msgstr ""
+#: src/stored/dev.c:288
+#, fuzzy, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr "Kann DB lock nicht initialisieren. ERR=%s\n"
+
+#: src/stored/dev.c:294
+#, fuzzy, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr "Kann DB lock nicht initialisieren. ERR=%s\n"
+
+#: src/stored/dev.c:300
+#, fuzzy, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr "Kann DB lock nicht initialisieren. ERR=%s\n"
+
#: src/stored/dev.c:416
msgid "Illegal mode given to open dev.\n"
msgstr ""
@@ -9660,7 +9736,7 @@ msgstr ""
msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
msgstr ""
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
#, c-format
msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
msgstr ""
@@ -9718,107 +9794,107 @@ msgstr ""
msgid "Got Prog Data Stream record.\n"
msgstr ""
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
#, c-format
msgid "Unknown stream type!!! stream=%d len=%i\n"
msgstr ""
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
#, c-format
msgid "Could not create File Attributes record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
#, c-format
msgid "Created File record: %s\n"
msgstr ""
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
#, c-format
msgid "Could not create media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
#, c-format
msgid "Could not update media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
#, c-format
msgid "Created Media record for Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
#, c-format
msgid "Updated Media record at end of Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
#, c-format
msgid "Could not create pool record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
#, c-format
msgid "Created Pool record for Pool: %s\n"
msgstr ""
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
#, fuzzy, c-format
msgid "Could not get Client record. ERR=%s\n"
msgstr "Konnte Client Eintrag nicht anlegen. ERR=%s\n"
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
#, c-format
msgid "Created Client record for Client: %s\n"
msgstr ""
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
#, c-format
msgid "Fileset \"%s\" already exists.\n"
msgstr ""
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
#, c-format
msgid "Could not create FileSet record \"%s\". ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
#, c-format
msgid "Created FileSet record \"%s\"\n"
msgstr ""
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
#, c-format
msgid "Could not create JobId record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
#, c-format
msgid "Could not update job start record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
#, c-format
msgid "Created new JobId=%u record for original JobId=%u\n"
msgstr ""
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
#, c-format
msgid "Could not update JobId=%u record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
#, c-format
msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
msgstr ""
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
#, c-format
msgid "Job Termination code: %d"
msgstr ""
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
#, c-format
msgid ""
"%s\n"
@@ -9838,27 +9914,27 @@ msgid ""
"\n"
msgstr ""
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
#, c-format
msgid "Could not create JobMedia record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
#, c-format
msgid "Created JobMedia record JobId %d, MediaId %d\n"
msgstr ""
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
#, c-format
msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
msgstr ""
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
#, c-format
msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
msgid "Updated MD5/SHA1 record\n"
msgstr ""
@@ -11972,40 +12048,40 @@ msgstr ""
"F�r Hilfe bitte unter http://www.bacula.org/rel-manual/faq."
"html#AuthorizationErrors nachsehen.\n"
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
#, c-format
msgid "Could not open console message file %s: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:376
+#: src/lib/message.c:377
#, c-format
msgid "Could not get con mutex: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:481
+#: src/lib/message.c:482
msgid "Bacula Message"
msgstr ""
-#: src/lib/message.c:485
+#: src/lib/message.c:486
#, c-format
msgid "open mail pipe %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:553
+#: src/lib/message.c:577
msgid "open mail pipe failed.\n"
msgstr ""
-#: src/lib/message.c:565
+#: src/lib/message.c:590
#, c-format
msgid "close error: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:576
+#: src/lib/message.c:601
#, c-format
msgid "Mail prog: %s"
msgstr ""
-#: src/lib/message.c:585
+#: src/lib/message.c:610
#, c-format
msgid ""
"Mail program terminated in error.\n"
@@ -12013,12 +12089,16 @@ msgid ""
"ERR=%s\n"
msgstr ""
-#: src/lib/message.c:684
+#: src/lib/message.c:713
#, c-format
msgid "fopen %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
#, c-format
msgid ""
"Msg delivery error: Operator mail program terminated in error.\n"
@@ -12026,77 +12106,77 @@ msgid ""
"ERR=%s\n"
msgstr ""
-#: src/lib/message.c:878
+#: src/lib/message.c:911
#, fuzzy, c-format
msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
#, c-format
msgid "%s: ABORTING due to ERROR in %s:%d\n"
msgstr ""
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
#, c-format
msgid "%s: ERROR TERMINATION at %s:%d\n"
msgstr ""
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
#, c-format
msgid "%s: Fatal Error because: "
msgstr ""
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
#, c-format
msgid "%s: Fatal Error at %s:%d because:\n"
msgstr ""
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
#, c-format
msgid "%s: ERROR: "
msgstr ""
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
#, c-format
msgid "%s: ERROR in %s:%d "
msgstr ""
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
#, c-format
msgid "%s: Warning: "
msgstr ""
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
#, c-format
msgid "%s: Security violation: "
msgstr ""
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
#, c-format
msgid "%s ABORTING due to ERROR\n"
msgstr ""
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
#, c-format
msgid "%s ERROR TERMINATION\n"
msgstr ""
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
#, c-format
msgid "%s JobId %u: Fatal error: "
msgstr ""
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
#, c-format
msgid "%s JobId %u: Error: "
msgstr ""
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
#, c-format
msgid "%s JobId %u: Warning: "
msgstr ""
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
#, c-format
msgid "%s JobId %u: Security violation: "
msgstr ""
@@ -12150,71 +12230,6 @@ msgstr ""
msgid "Could not destroy client queue: ERR=%s\n"
msgstr ""
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr ""
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr ""
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr ""
-
#: src/lib/bpipe.c:361 src/lib/bpipe.c:444
msgid "Program killed by Bacula (timeout)\n"
msgstr ""
@@ -12673,7 +12688,7 @@ msgstr ""
msgid "Truncate"
msgstr ""
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
msgid "None"
msgstr ""
@@ -12724,7 +12739,7 @@ msgstr ""
#: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
#: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
msgid "*none*"
msgstr ""
@@ -12942,20 +12957,20 @@ msgstr ""
msgid "pthread_setspecific failed: ERR=%s\n"
msgstr "Media id select fehlgeschlagen: ERR=%s\n"
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Storage "
"daemon.\n"
msgstr ""
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
msgstr ""
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -13141,203 +13156,271 @@ msgstr ""
msgid "Invalid errno. No error message possible."
msgstr ""
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr ""
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr ""
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr ""
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr ""
+
#: src/lib/signal.c:67
msgid "Invalid signal number"
msgstr ""
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
#, c-format
msgid "Bacula interrupted by signal %d: %s\n"
msgstr ""
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
#, c-format
msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
msgstr ""
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
#, c-format
msgid "Kaboom! exepath=%s\n"
msgstr ""
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
#, c-format
msgid "Fork error: ERR=%s\n"
msgstr ""
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
#, c-format
msgid "Calling: %s %s %s %s\n"
msgstr ""
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
#, c-format
msgid "execv: %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
#, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "It looks like the traceback worked...\n"
msgstr ""
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
#, c-format
msgid "BA_NSIG too small (%d) should be (%d)\n"
msgstr ""
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
msgid "UNKNOWN SIGNAL"
msgstr ""
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
msgid "Hangup"
msgstr ""
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
msgid "Interrupt"
msgstr ""
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
msgid "Quit"
msgstr ""
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
msgid "Illegal instruction"
msgstr ""
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
msgid "Trace/Breakpoint trap"
msgstr ""
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
msgid "Abort"
msgstr ""
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
msgid "EMT instruction (Emulation Trap)"
msgstr ""
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
msgid "IOT trap"
msgstr ""
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
msgid "BUS error"
msgstr ""
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
msgid "Floating-point exception"
msgstr ""
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
msgid "Kill, unblockable"
msgstr ""
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
msgid "User-defined signal 1"
msgstr ""
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
msgid "Segmentation violation"
msgstr ""
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
msgid "User-defined signal 2"
msgstr ""
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
msgid "Broken pipe"
msgstr ""
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
msgid "Alarm clock"
msgstr ""
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
msgid "Termination"
msgstr ""
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
msgid "Stack fault"
msgstr ""
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
msgid "Child status has changed"
msgstr ""
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
msgid "Continue"
msgstr ""
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
msgid "Stop, unblockable"
msgstr ""
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
msgid "Keyboard stop"
msgstr ""
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
msgid "Background read from tty"
msgstr ""
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
msgid "Background write to tty"
msgstr ""
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
msgid "Urgent condition on socket"
msgstr ""
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
msgid "CPU limit exceeded"
msgstr ""
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
msgid "File size limit exceeded"
msgstr ""
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
msgid "Virtual alarm clock"
msgstr ""
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
msgid "Profiling alarm clock"
msgstr ""
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
msgid "Window size change"
msgstr ""
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
msgid "I/O now possible"
msgstr ""
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
msgid "Power failure restart"
msgstr ""
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
msgid "No runnable lwp"
msgstr ""
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
msgid "SIGLWP special signal used by thread library"
msgstr ""
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
msgid "Checkpoint Freeze"
msgstr ""
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
msgid "Checkpoint Thaw"
msgstr ""
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
msgid "Thread Cancellation"
msgstr ""
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
msgid "Resource Lost (e.g. record-lock lost)"
msgstr ""
@@ -13363,47 +13446,47 @@ msgstr ""
msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
msgstr "Konnte regex pattern \"%s\" nicht kompilieren ERR=%s\n"
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
#, c-format
msgid "Out of memory: ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
msgid "Buffer overflow.\n"
msgstr ""
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
msgid "Bad errno"
msgstr ""
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
#, c-format
msgid "Memset for %d bytes at %s:%d\n"
msgstr ""
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
#, c-format
msgid "Cannot open pid file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
#, c-format
msgid ""
"%s is already running. pid=%d\n"
"Check file %s\n"
msgstr ""
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
#, c-format
msgid "Could not open pid file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
#, c-format
msgid "Could not create state file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
#, c-format
msgid "Write final hdr error: ERR=%s\n"
msgstr ""
@@ -13451,98 +13534,98 @@ msgstr ""
msgid "Close of NULL file\n"
msgstr ""
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
msgid ""
"get_char: called after EOF. You may have a open double quote without the "
"closing double quote.\n"
msgstr ""
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
#, c-format
msgid "Config token too long, file: %s, line %d, begins at line %d\n"
msgstr ""
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
msgid "none"
msgstr ""
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
msgid "comment"
msgstr ""
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
msgid "number"
msgstr ""
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
msgid "ip_addr"
msgstr ""
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
msgid "identifier"
msgstr ""
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
msgid "string"
msgstr ""
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
msgid "quoted_string"
msgstr ""
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
msgid "include"
msgstr ""
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
msgid "include_quoted_string"
msgstr ""
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
msgid "UTF-8 Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
msgid "UTF-16le Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
#, c-format
msgid "expected a positive integer number, got: %s"
msgstr ""
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
msgid ""
"This config file appears to be in an unsupported Unicode format (UTF-16be). "
"Please resave as UTF-8\n"
msgstr ""
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
#, c-format
msgid "Cannot open included config file %s: %s\n"
msgstr ""
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
#, c-format
msgid "expected an integer or a range, got %s: %s"
msgstr ""
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
#, c-format
msgid "expected an integer number, got %s: %s"
msgstr ""
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
#, c-format
msgid "expected a name, got %s: %s"
msgstr ""
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
#, c-format
msgid "name %s length %d too long, max is %d\n"
msgstr ""
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
#, c-format
msgid "expected a string, got %s: %s"
msgstr ""
@@ -14221,42 +14304,54 @@ msgid "FreeBSD Specific NFSv4/ZFS ACL attribs"
msgstr ""
#: src/findlib/bfile.c:191
-msgid "IRIX Specific Extended attribs"
+msgid "GNU Hurd Specific Default ACL attribs"
msgstr ""
#: src/findlib/bfile.c:193
-msgid "TRU64 Specific Extended attribs"
+msgid "GNU Hurd Specific Access ACL attribs"
msgstr ""
#: src/findlib/bfile.c:195
-msgid "AIX Specific Extended attribs"
+msgid "GNU Hurd Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:197
-msgid "OpenBSD Specific Extended attribs"
+msgid "IRIX Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:199
-msgid "Solaris Specific Extensible attribs or System Extended attribs"
+msgid "TRU64 Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:201
-msgid "Solaris Specific Extended attribs"
+msgid "AIX Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:203
-msgid "Darwin Specific Extended attribs"
+msgid "OpenBSD Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:205
-msgid "FreeBSD Specific Extended attribs"
+msgid "Solaris Specific Extensible attribs or System Extended attribs"
msgstr ""
#: src/findlib/bfile.c:207
-msgid "Linux Specific Extended attribs"
+msgid "Solaris Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:209
+msgid "Darwin Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:211
+msgid "FreeBSD Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:213
+msgid "Linux Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:215
msgid "NetBSD Specific Extended attribs"
msgstr ""
@@ -14270,27 +14365,27 @@ msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
msgid "Unknown include/exclude option: %c\n"
msgstr ""
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
#, c-format
msgid " NODUMP flag set - will not process %s\n"
msgstr ""
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
#, fuzzy, c-format
msgid "Cannot stat file %s: ERR=%s\n"
msgstr "Kann bootstrap Datei nicht �ffnen: %s: ERR=%s\n"
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
#, c-format
msgid "%s mtime changed during backup.\n"
msgstr ""
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
#, c-format
msgid "%s ctime changed during backup.\n"
msgstr ""
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
#, c-format
msgid "%s size changed during backup.\n"
msgstr ""
@@ -16116,6 +16211,11 @@ msgstr ""
msgid " SDSocket=closed\n"
msgstr ""
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
#: src/filed/status.c:464
msgid "2900 Bad .status command, missing argument.\n"
msgstr ""
@@ -16144,276 +16244,276 @@ msgstr ""
msgid "Bacula Client: Last Job had Warnings"
msgstr ""
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
#: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
#, c-format
msgid "Network send error to SD. ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
#, c-format
msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
#, c-format
msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
#, fuzzy, c-format
msgid "llistea error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
#, fuzzy, c-format
msgid "lgetea error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
#, c-format
msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
msgstr ""
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
#, c-format
msgid "Failed to serialize extended attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
#, fuzzy, c-format
msgid "lsetea error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
#, fuzzy, c-format
msgid "attr_list error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
#, fuzzy, c-format
msgid "Received illegal xattr named %s on file \"%s\"\n"
msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
#, fuzzy, c-format
msgid "attr_set error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
#, fuzzy, c-format
msgid "llistxattr error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
#, fuzzy, c-format
msgid "lgetxattr error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
#, fuzzy, c-format
msgid "lsetxattr error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
#, fuzzy, c-format
msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
#, fuzzy, c-format
msgid "Failed to convert %d into namespace on file \"%s\"\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
#, fuzzy, c-format
msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
#, fuzzy, c-format
msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
msgstr "<filed: Netzwerkfehler beim Holen der Attribute. ERR=%s\n"
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
#, fuzzy, c-format
msgid "Failed to convert %s into namespace on file \"%s\"\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
#, fuzzy, c-format
msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
#, fuzzy, c-format
msgid "getproplist error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
#, fuzzy, c-format
msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
#, fuzzy, c-format
msgid "setproplist error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
#, fuzzy, c-format
msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
#, fuzzy, c-format
msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
#, fuzzy, c-format
msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
#, fuzzy, c-format
msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
msgstr "Konnte Job Eintrag nicht holen. ERR=%s\n"
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
#, fuzzy, c-format
msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
msgstr "Konnte Job Eintrag nicht holen. ERR=%s\n"
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
#, fuzzy, c-format
msgid "Unable to read content of xattr %s on file \"%s\"\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
#, fuzzy, c-format
msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
#, fuzzy, c-format
msgid "Unable to open file \"%s\": ERR=%s\n"
msgstr "Kann Datenbank=%s.nicht �ffen. ERR=%s\n"
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
#, fuzzy, c-format
msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
#, fuzzy, c-format
msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
#, fuzzy, c-format
msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
#, fuzzy, c-format
msgid "Unable to convert acl from text on file \"%s\"\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
#, fuzzy, c-format
msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
#, fuzzy, c-format
msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
#, fuzzy, c-format
msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
#, fuzzy, c-format
msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
#, fuzzy, c-format
msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
#, fuzzy, c-format
msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
#, fuzzy, c-format
msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
#, fuzzy, c-format
msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr "Konnte Job Eintrag nicht holen. ERR=%s\n"
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
#, c-format
msgid ""
"Unable to restore data of xattr %s on file \"%s\": Not all data available in "
"xattr stream\n"
msgstr ""
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
#, fuzzy, c-format
msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
#, fuzzy, c-format
msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr "Konnte Job Eintrag nicht holen. ERR=%s\n"
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
#, fuzzy, c-format
msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
#, fuzzy, c-format
msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
#, c-format
msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
#, c-format
msgid "Failed to restore extensible attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
#, fuzzy, c-format
msgid "Failed to restore extended attributes on file \"%s\"\n"
msgstr "<filed: Netzwerkfehler beim Holen der Attribute. ERR=%s\n"
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
#, fuzzy, c-format
msgid "Unable to stat file \"%s\": ERR=%s\n"
msgstr "Kann Datenbank=%s.nicht �ffen. ERR=%s\n"
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
#, c-format
msgid ""
"Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -16567,189 +16667,189 @@ msgstr ""
msgid "No Director resource defined in %s\n"
msgstr ""
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
#, fuzzy, c-format
msgid "aclx_get error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
#, fuzzy, c-format
msgid "Unknown acl type encountered on file \"%s\": %ld\n"
msgstr "Kann Catalog DB Steuerdatei nicht �ffnen %s: ERR=%s\n"
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
#, fuzzy, c-format
msgid "Failed to convert acl into text on file \"%s\"\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
#, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
#, fuzzy, c-format
msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
#, fuzzy, c-format
msgid "aclx_put error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
#, c-format
msgid "acl_to_text error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
#, fuzzy, c-format
msgid "acl_get_file error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
#, fuzzy, c-format
msgid ""
"acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
#, c-format
msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
#, c-format
msgid "acl_from_text error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
#, fuzzy, c-format
msgid "acl_valid error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
#, fuzzy, c-format
msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
#, c-format
msgid "acl_set_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
#, fuzzy, c-format
msgid "pathconf error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
msgstr ""
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
#, fuzzy, c-format
msgid "getacl error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
#, c-format
msgid "acltostr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
#, c-format
msgid "strtoacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
#, fuzzy, c-format
msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
#, c-format
msgid "setacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
#, fuzzy, c-format
msgid "acl_get error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without acl support\n"
msgstr ""
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
#, fuzzy, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
"support\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
#, fuzzy, c-format
msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
#, c-format
msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
msgstr ""
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
#, fuzzy, c-format
msgid "acl_set error on file \"%s\": ERR=%s\n"
msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
#, c-format
msgid "acltotext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
#, c-format
msgid "aclfromtext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
#, c-format
msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
#, fuzzy, c-format
msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
#, fuzzy, c-format
msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
#, c-format
msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
msgstr ""
@@ -16758,17 +16858,17 @@ msgstr ""
msgid "Storage command not issued before Verify.\n"
msgstr ""
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
#, c-format
msgid "Record header scan error: %s\n"
msgstr ""
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
#, c-format
msgid "Data record error. ERR=%s\n"
msgstr ""
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
#, c-format
msgid "Actual data size %d not same as header %d\n"
msgstr ""
@@ -16928,7 +17028,7 @@ msgstr ""
msgid "Invalid file flags, no supported data stream type.\n"
msgstr ""
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
@@ -16948,194 +17048,194 @@ msgstr ""
msgid "Could not set Finder Info on %s\n"
msgstr "Konnte Datenbank \"%s\" nicht �ffen.\n"
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
#, fuzzy
msgid "LZO init failed\n"
msgstr "TLS Aushandlung gescheitert.\n"
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
msgid "Unexpected cryptographic session data stream.\n"
msgstr ""
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
msgid ""
"No private decryption keys have been defined to decrypt encrypted backup "
"data.\n"
msgstr ""
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
#, fuzzy
msgid "Could not create digest.\n"
msgstr "Konnte Client Eintrag nicht anlegen. ERR=%s\n"
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
msgid "Missing private key required to decrypt encrypted backup data.\n"
msgstr ""
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
msgid "Decrypt of the session key failed.\n"
msgstr ""
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
#, c-format
msgid "An error occurred while decoding encrypted session data stream: %s\n"
msgstr ""
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
#, c-format
msgid "Missing encryption session data stream for %s\n"
msgstr ""
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
#, c-format
msgid "Failed to initialize decryption context for %s\n"
msgstr ""
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
#, fuzzy, c-format
msgid "Cannot open resource fork for %s.\n"
msgstr "Kann Ausdruck\"%s\"nicht aufl�sen: ERR=%s\n"
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
msgid "Unexpected cryptographic signature data stream.\n"
msgstr ""
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
#, c-format
msgid "Failed to decode message signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
#, c-format
msgid "Encountered %ld acl errors while doing restore\n"
msgstr ""
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
#, c-format
msgid "Encountered %ld xattr errors while doing restore\n"
msgstr ""
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
#, c-format
msgid ""
"%d non-supported data streams and %d non-supported attrib streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
#, c-format
msgid "%d non-supported resource fork streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
#, c-format
msgid "%d non-supported Finder Info streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
#, c-format
msgid "%d non-supported acl streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
#, c-format
msgid "%d non-supported crypto streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
#, c-format
msgid "%d non-supported xattr streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
msgid "Zlib errno"
msgstr ""
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
msgid "Zlib stream error"
msgstr ""
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
msgid "Zlib data error"
msgstr ""
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
msgid "Zlib memory error"
msgstr ""
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
msgid "Zlib buffer error"
msgstr ""
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
msgid "Zlib version error"
msgstr ""
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
#, c-format
msgid "Missing cryptographic signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
#, fuzzy, c-format
msgid "Signature validation failed for file %s: ERR=%s\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
#, fuzzy, c-format
msgid "Digest one file failed for file: %s\n"
msgstr "Mehr als ein Dateiname! %s f�r Datei: %s\n"
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
#, c-format
msgid "Signature validation failed for %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
#, fuzzy, c-format
msgid "LZO uncompression error on file %s. ERR=%d\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
#, c-format
msgid "Uncompression error on file %s. ERR=%s\n"
msgstr ""
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
#, c-format
msgid "Write error in Win32 Block Decomposition on %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
msgid "Decryption error\n"
msgstr ""
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
msgid "Logic error: output file should be open\n"
msgstr ""
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
msgid "Logic error: output file should not be open\n"
msgstr ""
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
#, c-format
msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
msgstr ""
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
msgid "Open File Manager paused\n"
msgstr ""
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
msgid "FAILED to pause Open File Manager\n"
msgstr ""
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
#, c-format
msgid "Running as '%s'. Privmask=%#08x\n"
msgstr ""
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
msgid "Failed to retrieve current UserName\n"
msgstr ""
@@ -17414,7 +17514,7 @@ msgid ""
"Version: "
msgstr ""
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
#, c-format
msgid "Failed ASSERT: %s\n"
msgstr ""
@@ -18448,15 +18548,15 @@ msgstr ""
msgid "At main prompt waiting for input ..."
msgstr ""
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
msgid "At prompt waiting for input ..."
msgstr ""
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
msgid "Command failed."
msgstr ""
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
msgid "Director disconnected."
msgstr ""
@@ -18496,6 +18596,10 @@ msgstr ""
"\n"
#, fuzzy
+#~ msgid " Drive %d status unknown.\n"
+#~ msgstr "unbekannt"
+
+#, fuzzy
#~ msgid ""
#~ "Connection from unknown Director %s at %s rejected.\n"
#~ "Please see http://www.bacula.org/en/rel-manual/Bacula_Freque_Asked_Questi."
diff --git a/po/es.po b/po/es.po
index 897b4cb..32252c8 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Bacula 3.0.2\n"
"Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
"PO-Revision-Date: 2009-12-01 16:04-0300\n"
"Last-Translator: Victor Hugo dos Santos <listas.vhs at gmail.com>\n"
"Language-Team: Bacula Spanish Team <bacula-users-es at lists.sourceforge.net>\n"
@@ -99,7 +99,7 @@ msgstr "El período actual %s de retención es: %s\n"
msgid "Continue? (yes/mod/no): "
msgstr "¿Continuar? (sí/mod/no):"
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
msgid "mod"
msgstr "mod"
@@ -119,8 +119,8 @@ msgstr "Usted tiene las siguientes opciones:\n"
msgid "The defined Storage resources are:\n"
msgstr "Los recursos Storage definidos son:\n"
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
#: src/wx-console/wxbrestorepanel.cpp:355
#: src/wx-console/wxbrestorepanel.cpp:479
#: src/wx-console/wxbrestorepanel.cpp:480
@@ -141,7 +141,7 @@ msgstr "Seleccione recurso Storage"
msgid "The defined FileSet resources are:\n"
msgstr "Los recursos FileSet definidos son:\n"
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
msgid "FileSet"
msgstr "FileSet"
@@ -149,7 +149,7 @@ msgstr "FileSet"
msgid "Select FileSet resource"
msgstr "Seleccionar recurso FileSet"
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
msgid "Could not find a Catalog resource\n"
msgstr "No pudo encontrar un Catalogo de recursos\n"
@@ -176,8 +176,8 @@ msgid "The defined Job resources are:\n"
msgstr "Los recursos Job definidos son:\n"
#: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
msgid "Job"
msgstr "Job"
@@ -202,8 +202,8 @@ msgstr "Seleccione recurso Restore"
msgid "The defined Client resources are:\n"
msgstr "Los recursos Clientes definidos son:\n"
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
#: src/wx-console/wxbrestorepanel.cpp:336
#: src/wx-console/wxbrestorepanel.cpp:354
#: src/wx-console/wxbrestorepanel.cpp:431
@@ -264,7 +264,7 @@ msgstr "Seleccione el Cliente"
msgid "Could not find Pool \"%s\": ERR=%s"
msgstr "No se pudo encontrar Pool \"%s\": ERR=%s"
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
#, c-format
msgid "Error obtaining pool ids. ERR=%s\n"
msgstr "Error al obteniendo pool ids. ERR=%s\n"
@@ -278,12 +278,12 @@ msgid "Defined Pools:\n"
msgstr "Pools definidos:\n"
#: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
msgid "*None*"
msgstr "*Ninguno*"
#: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
#: src/wx-console/wxbrestorepanel.cpp:527
#: src/wx-console/wxbrestorepanel.cpp:537
#: src/wx-console/wxbrestorepanel.cpp:1834
@@ -429,7 +429,7 @@ msgstr ""
msgid "Unauthorized command from this console.\n"
msgstr "Comando no autorizado desde esta consola.\n"
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
msgid "No Jobs running.\n"
msgstr "No hay Jobs en ejecución.\n"
@@ -782,8 +782,8 @@ msgstr "Archivo: %s\n"
msgid "Start Admin JobId %d, Job=%s\n"
msgstr "Inicio Admin JobId %d, Job=%s\n"
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
#, c-format
msgid "Error getting Job record for Job report: ERR=%s"
msgstr "Error al obtener el registro del Job para reporte de trabajo: ERR=%s"
@@ -800,8 +800,8 @@ msgstr "***Administración Error***"
msgid "Admin Canceled"
msgstr "Administración Cancelada"
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
#, c-format
msgid "Inappropriate term code: %c\n"
msgstr "Inadecuado código de terminación: %c\n"
@@ -810,7 +810,7 @@ msgstr "Inadecuado código de terminación: %c\n"
msgid "Bacula "
msgstr "Bacula"
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
#, fuzzy, c-format
msgid ""
"\n"
@@ -850,31 +850,31 @@ msgstr ""
" -? imprimir este mensaje.\n"
"\n"
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
#: src/filed/filed.c:218 src/qt-console/main.cpp:165
msgid "Cryptography library initialization failed.\n"
msgstr "Inicialización de la librería de criptografía ha fallado.\n"
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
#: src/filed/filed.c:223 src/qt-console/main.cpp:169
#, c-format
msgid "Please correct configuration file: %s\n"
msgstr "Por favor, corrija el archivo de configuración: %s\n"
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
msgid "Too many open reload requests. Request ignored.\n"
msgstr "Demasiadas solicitudes de recarga abiertas. Solicitud ignorada.\n"
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
msgid "Out of reload table entries. Giving up.\n"
msgstr "Fuera de entradas de las tablas recargadas. Abandonando.\n"
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
msgid "Resetting previous configuration.\n"
msgstr "Restablecimiento de la configuración anterior.\n"
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
#, c-format
msgid ""
"No Director resource defined in %s\n"
@@ -883,35 +883,35 @@ msgstr ""
"Recurso Director no definido en %s\n"
"Sin eso no sé quién soy :-(\n"
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
#, c-format
msgid "No Messages resource defined in %s\n"
msgstr "Recursos de Mensajes no definidos en %s\n"
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
#, c-format
msgid "Only one Director resource permitted in %s\n"
msgstr "Sólo un recurso Director permitido en %s\n"
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
#: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
#: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
#: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
msgid "TLS required but not configured in Bacula.\n"
msgstr "Se requiere TLS pero no está configurado en Bacula.\n"
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
#, c-format
msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
msgstr "\"Certificado TLS\" archivo no definido para director \"%s\" en %s.\n"
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
#, c-format
msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
msgstr "\"Clave TLS\" archivo no definido para director \"%s\" en %s.\n"
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -922,48 +922,48 @@ msgstr ""
"para Director \"%s\" en %s. Al menos un almacén de certificado CA es "
"requerido cuando se utiliza \"TLS Verify Peer\".\n"
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
#, c-format
msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
msgstr "Fallo al inicializar contexto TLS para Director \"%s\" en %s.\n"
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
#, c-format
msgid "No Job records defined in %s\n"
msgstr "Registros de Job no definidos en %s\n"
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
#, c-format
msgid "Hey something is wrong. p=0x%lu\n"
msgstr "Oye, algo está mal. p=0x%lu\n"
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
#, c-format
msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
msgstr ""
"Directiva \"%s\" en recurso Job \"%s\" es requerida, pero no se encuentra.\n"
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
msgid "Too many items in Job resource\n"
msgstr "Demasiados elementos en el recurso Job\n"
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
#, c-format
msgid "No storage specified in Job \"%s\" nor in Pool.\n"
msgstr "Ningún storage especificada en Job \"%s\" ni en Pool.\n"
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
#, c-format
msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
"Archivo de \"Certificado TLS\" no definido para Console \"%s\" en %s.\n"
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
#, c-format
msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
msgstr "Archivo de \"Llave TLS\" no definido para Console \"%s\" en %s.\n"
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -974,12 +974,12 @@ msgstr ""
"para Console \"%s\" en %s. Al menos un almacén de certificado CA es "
"requerido cuando se utiliza \"TLS Verify Peer\".\n"
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
#, c-format
msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
msgstr "Fallo al inicializar contexto TLS para demonio File \"%s\" en %s.\n"
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -988,7 +988,7 @@ msgstr ""
"Ninguno \"TLS CA Certificate\" o \"TLS CA Certificate Dir\" esta definido "
"para demonio File \"%s\" en %s.\n"
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -997,32 +997,32 @@ msgstr ""
"Ninguno \"TLS CA Certificate\" o \"TLS CA Certificate Dir\" esta definido "
"para Storage \"%s\" en %s.\n"
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
#, c-format
msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
msgstr "Fallo al inicializar contexto TLS para Storage \"%s\" en %s.\n"
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
#, c-format
msgid "Could not open Catalog \"%s\", database \"%s\".\n"
msgstr "No se pudo abrir Catálogo \"%s\", base de datos \"%s\".\n"
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
#, c-format
msgid "%s"
msgstr "%s"
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
#, fuzzy, c-format
msgid "Could not create storage record for %s\n"
msgstr "No es posible crear el registro Pool. ERR=%s\n"
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
#, fuzzy, c-format
msgid "Could not update storage record for %s\n"
msgstr "No se pudo actualizar el registro de trabajo. ERR=%s\n"
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
#, c-format
msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
msgstr "No se ha podido compilar patrón regex \"%s\" ERR=%s\n"
@@ -1041,18 +1041,18 @@ msgstr "Esperaba una palabra clave Tipo FileSet, obtuvo: %s"
msgid "Old style Include/Exclude not supported\n"
msgstr "Antiguo estilo Incluir/Excluir no soportado\n"
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
#, c-format
msgid "Expecting keyword, got: %s\n"
msgstr "Esperando palabra clave, obtuvo: %s\n"
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
#: src/lib/parse_conf.c:976
#, c-format
msgid "expected an equals, got: %s"
msgstr "esperaba una igual, obtuvo: %s"
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
#, c-format
msgid "Keyword %s not permitted in this resource"
msgstr "Palabra clave %s no esta permitido en este recurso"
@@ -1105,7 +1105,7 @@ msgstr "Directiva Plugin no permitida en Exclude\n"
msgid "Options section not permitted in Exclude\n"
msgstr "Sección Options no permitida en Exclude\n"
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
#, c-format
msgid "Expecting open brace. Got %s"
msgstr "Esperando abrir paréntesis. Obtuvo %s"
@@ -1302,13 +1302,13 @@ msgid ""
msgstr ""
"No hay más Jobs relacionados con Volumen \"%s\". Marcando el para purgar.\n"
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d ...\n"
msgstr "Conectando al demonio Storage %s en %s:%d ...\n"
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
msgid "Failed to connect to Storage daemon.\n"
msgstr "Error al conectar con demonio Storage.\n"
@@ -1388,34 +1388,34 @@ msgstr "Error obteniendo registro Job para Job anterior: ERR=%s"
msgid "Could not get or create the FileSet record.\n"
msgstr "No es posible obtener o crear un registro FileSet.\n"
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
#, c-format
msgid "Error getting Client record for Job report: ERR=%s"
msgstr "Error al obtener registro de Clientes para reporte de Job: ERR=%s"
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
#, c-format
msgid "Error getting Media record for Volume \"%s\": ERR=%s"
msgstr "Error al obtener registro de Media para Volumen \"%s\": ERR=%s"
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
msgid "Backup OK -- with warnings"
msgstr "Respaldo OK -- con advertencias"
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
msgid "Backup OK"
msgstr "Respaldo OK"
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
msgid "*** Backup Error ***"
msgstr "***Error en Respaldo ***"
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
msgid "Backup Canceled"
msgstr "Respaldo Cancelado"
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -1488,64 +1488,64 @@ msgstr "Ningún Jobs Deshabilitado.\n"
msgid "disabled"
msgstr "deshabilitado"
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
msgid "Keywords for the show command are:\n"
msgstr "Palabras clave para el comando show son:\n"
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
#, c-format
msgid "%s resource %s not found.\n"
msgstr "%s recurso %s no encontrado.\n"
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
#, c-format
msgid "Resource %s not found\n"
msgstr "Recursos %s no encontrado\n"
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
msgid "Hey! DB is NULL\n"
msgstr "Hey! BD esta VACÍA\n"
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
#, c-format
msgid "Jobid %d used %d Volume(s): %s\n"
msgstr "Jobid %d usado %d Volumen(s): %s\n"
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
msgid "No Pool specified.\n"
msgstr "Ningún Pool especificado.\n"
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
#, c-format
msgid "Pool: %s\n"
msgstr "Pool: %s\n"
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
msgid "Ignoring invalid value for days. Max is 50.\n"
msgstr "Ignorando valor invalido para días. Máximo es 50.\n"
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
#, c-format
msgid "Unknown list keyword: %s\n"
msgstr "Lista de palabras clave desconocida: %s\n"
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
#, c-format
msgid "%s is not a job name.\n"
msgstr "%s no es un nombre de Job.\n"
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
#, c-format
msgid "Could not find Pool for Job %s\n"
msgstr "No se pudo encontrar Pool para Job %s\n"
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
#, c-format
msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
msgstr ""
"No se pudo encontrar el siguiente Volumen para Job %s (Pool=%s, Nivel=%s).\n"
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
#, c-format
msgid ""
"The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
@@ -1553,31 +1553,31 @@ msgstr ""
"El próximo Volumen que se utilizará por Job \"%s\" (Pool=%s, Nivel=%s) será "
"%s\n"
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
#, c-format
msgid "Could not find next Volume for Job %s.\n"
msgstr "No se pudo encontrar el siguiente Volumen para Job %s.\n"
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
#, c-format
msgid "Could not open database \"%s\".\n"
msgstr "No se puede abrir la base de datos \"%s\".\n"
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
#, c-format
msgid "Pool %s not in database. %s"
msgstr "Pool %s no creado en la base de datos. %s"
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
#, c-format
msgid "Pool %s created in database.\n"
msgstr "Pool %s creado en la base de datos.\n"
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
msgid "You have no messages.\n"
msgstr "Usted no tiene mensajes.\n"
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
msgid "Message too long to display.\n"
msgstr "Mensaje demasiado largo para mostrar.\n"
@@ -1590,89 +1590,89 @@ msgstr "No se puede usar comando %s en un runscript"
msgid ": is an invalid command.\n"
msgstr ": es un comando inválido.\n"
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
#: src/dird/ua_restore.c:823
#, c-format
msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
msgstr "No se puede obtener el registro Job para JobId=%s: ERR=%s\n"
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
#: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
#: src/dird/job.c:1160 src/dird/job.c:1164
msgid "unknown source"
msgstr "fuente desconocida"
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d\n"
msgstr "Conectando al demonio Storage %s en %s:%d\n"
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
msgid "Connected to storage daemon\n"
msgstr "Conectado al demonio Storage\n"
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
#: src/dird/ua_status.c:397
#, c-format
msgid "Connecting to Client %s at %s:%d\n"
msgstr "Conectando al Cliente %s en %s:%d\n"
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
msgid "Failed to connect to Client.\n"
msgstr "Fallo al conectar con el cliente.\n"
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
#, fuzzy, c-format
msgid "Unknown command: %s\n"
msgstr "Comando desconocido."
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
msgid "Available daemons are: \n"
msgstr "Demonios disponible son: \n"
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
msgid "Director"
msgstr "Director"
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
msgid "Select daemon type to make die"
msgstr "Seleccione tipo de demonio para matar"
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
#, fuzzy
msgid "The Director will generate a deadlock.\n"
msgstr "El Director tendrá una violación de segmento.\n"
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
msgid "The Director will segment fault.\n"
msgstr "El Director tendrá una violación de segmento.\n"
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
msgid "Access to specified Client or FileSet not allowed.\n"
msgstr "El acceso a determinado Cliente o FileSet no permitido.\n"
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
#: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
#: src/dird/ua_restore.c:990
#, c-format
msgid "Query failed: %s. ERR=%s\n"
msgstr "Consulta fallida: %s. ERR=%s\n"
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
msgid "query keyword not found.\n"
msgstr "consulta de palabra clave no encontrada.\n"
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
#, c-format
msgid "List MediaType failed: ERR=%s\n"
msgstr "Fallo al listar MediaType: ERR=%s\n"
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
#, c-format
msgid "List Media failed: ERR=%s\n"
msgstr "Fallo al listar Media: ERR=%s\n"
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
#, c-format
msgid "List Location failed: ERR=%s\n"
msgstr "Fallo al listar Ubicación: ERR=%s\n"
@@ -1999,11 +1999,11 @@ msgstr "Introduzca nombre de Volumen:"
msgid "Enter base volume name: "
msgstr "Introduzca nombre de Volumen base:"
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
msgid "Volume name too long.\n"
msgstr "Nombre de Volumen demasiado largo.\n"
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
msgid "Volume name must be at least one character long.\n"
msgstr "Nombre de volumen debe ser de al menos un carácter de largo.\n"
@@ -2070,11 +2070,11 @@ msgstr "Pool %s creado.\n"
msgid "Python interpreter restarted.\n"
msgstr "Interprete Python reiniciado.\n"
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
msgid "Nothing done.\n"
msgstr "Nada hecho.\n"
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
#, c-format
msgid "Client \"%s\" not found.\n"
msgstr "Cliente \"%s\" no encontrado.\n"
@@ -2101,7 +2101,7 @@ msgstr "All"
msgid "Select daemon type to set debug level"
msgstr "Seleccione el tipo de Demonio para establecer el nivel de depuración"
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
#, c-format
msgid "No authorization for Client \"%s\"\n"
msgstr "No autorización para Cliente \"%s\"\n"
@@ -2110,7 +2110,7 @@ msgstr "No autorización para Cliente \"%s\"\n"
msgid "Client name missing.\n"
msgstr "Falta el nombre del cliente.\n"
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
#, c-format
msgid "No authorization for Job \"%s\"\n"
msgstr "No autorización para Job \"%s\"\n"
@@ -2133,7 +2133,7 @@ msgstr "No autorización para FileSet \"%s\"\n"
msgid "Fileset name missing.\n"
msgstr "Falta Nombre del Fileset.\n"
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
#, c-format
msgid "Level \"%s\" not valid.\n"
msgstr "Nivel \"%s\" no es válido.\n"
@@ -2142,23 +2142,28 @@ msgstr "Nivel \"%s\" no es válido.\n"
msgid "Level value missing.\n"
msgstr "Valor del nivel ausente.\n"
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
msgid "Invalid value for accurate. It must be yes or no.\n"
msgstr "Valor no válido para exacto. Debe ser sí o no.\n"
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+#, fuzzy
+msgid "Accurate value missing.\n"
+msgstr "Valor del nivel ausente.\n"
+
+#: src/dird/ua_cmds.c:1167
msgid "No job specified.\n"
msgstr "Job no especificado.\n"
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
msgid "Error sending include list.\n"
msgstr "Error al enviar lista incluir.\n"
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
msgid "Error sending exclude list.\n"
msgstr "Error al enviar lista excluir.\n"
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
msgid ""
"In general it is not a good idea to delete either a\n"
"Pool or a Volume since they may contain data.\n"
@@ -2168,20 +2173,40 @@ msgstr ""
"Pool o un Volumen ya que pueden contener datos.\n"
"\n"
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
msgid "Choose catalog item to delete"
msgstr "Seleccione el ítem del catalogo para eliminar"
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, fuzzy, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr "Clonar JobId %d iniciado.\n"
+
+#: src/dird/ua_cmds.c:1404
msgid "Enter JobId to delete: "
msgstr "Introduzca jobId para eliminar:"
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, fuzzy, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr "¿Esta usted seguro de que desea eliminar el Pool \"%s\"? (si/no):"
+
+#: src/dird/ua_cmds.c:1450
#, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
+#, fuzzy, c-format
+msgid "Jobid %s and associated records deleted from the catalog.\n"
msgstr "Job %s y los registros asociados eliminados del catálogo.\n"
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
#, c-format
msgid ""
"\n"
@@ -2192,38 +2217,38 @@ msgstr ""
"Este comando eliminara los volúmenes %s\n"
"y todos los Jobs guardados en este volumen desde el Catalogo\n"
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
#, c-format
msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
msgstr "¿Estas usted seguro de que desea eliminar el Volumen \"%s\"? (si/no):"
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
msgid "Can't list jobs on this volume\n"
msgstr ""
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
#, c-format
msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
msgstr "¿Esta usted seguro de que desea eliminar el Pool \"%s\"? (si/no):"
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
#, c-format
msgid "Using Catalog name=%s DB=%s\n"
msgstr "Utilizando Catalogo nombre=%s BD=%s\n"
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
msgid "ERR: Can't open db\n"
msgstr "ERR: No se puede abrir db\n"
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
msgid "Wait on mount timed out\n"
msgstr "Tiempo agotado en esperar mount \n"
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
msgid "ERR: Job was not found\n"
msgstr "ERR: Job no se ha encontrado\n"
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
msgid ""
" Command Description\n"
" ======= ===========\n"
@@ -2231,7 +2256,7 @@ msgstr ""
"Comando Descripción\n"
" ======== ==============\n"
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
#, c-format
msgid ""
" %-13s %s\n"
@@ -2244,12 +2269,12 @@ msgstr ""
"Argumentos:\n"
"\t%s\n"
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
#, c-format
msgid " %-13s %s\n"
msgstr " %-13s %s\n"
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
#, c-format
msgid ""
"\n"
@@ -2260,7 +2285,7 @@ msgstr ""
"No se puede encontrar comando %s. \n"
"\n"
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
msgid ""
"\n"
"When at a prompt, entering a period cancels the command.\n"
@@ -2270,22 +2295,22 @@ msgstr ""
"Cuando en un prompt, entrando un período cancela el comando.\n"
"\n"
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
#, c-format
msgid "%s Version: %s (%s) %s %s %s %s\n"
msgstr "%s Versión: %s (%s) %s %s %s %s\n"
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
#, c-format
msgid "No authorization for Catalog \"%s\"\n"
msgstr "No autorización para Catalogo \"%s\"\n"
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
#, c-format
msgid "Could not open catalog database \"%s\".\n"
msgstr "No se pudo abrir la base de datos de catálogo \"%s\".\n"
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
#, c-format
msgid "Using Catalog \"%s\"\n"
msgstr "Usando Catalogo \"%s\"\n"
@@ -2501,57 +2526,57 @@ msgstr "1 directorio sin marcar.\n"
msgid "%d directories unmarked.\n"
msgstr "%d directorios sin marcar.\n"
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
#: src/qt-console/tray-monitor/tray_conf.cpp:168
#, c-format
msgid "No %s resource defined\n"
msgstr "Recurso %s no definido\n"
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
#, c-format
msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
msgstr "Director: nombre=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
#, c-format
msgid " query_file=%s\n"
msgstr "query_file=%s\n"
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
msgid " --> "
msgstr "--> "
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
#, c-format
msgid "Console: name=%s SSL=%d\n"
msgstr "Console: nombre=%s SSL=%d\n"
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
#, c-format
msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
msgstr "Counter: nombre=%s mínimo=%d máximo=%d cur=%d wrapcntr=%s\n"
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
#, c-format
msgid "Counter: name=%s min=%d max=%d\n"
msgstr "Counter: nombre=%s mínimo=%d máximo=%d\n"
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
#, c-format
msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
msgstr "Cliente: nombre=%s dirección=%s FDport=%d MaxJobs=%u\n"
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
#, c-format
msgid " JobRetention=%s FileRetention=%s AutoPrune=%d\n"
msgstr "JobRetention=%s FileRetention=%s AutoPrune=%d\n"
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
#, c-format
msgid ""
"Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2564,7 +2589,7 @@ msgstr ""
"%d\n"
" poolid=%s volname=%s MediaType=%s\n"
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
#, c-format
msgid ""
"Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
@@ -2573,7 +2598,7 @@ msgstr ""
"Storage: nombre=%s dirección=%s SDport=%d MaxJobs=%u\n"
" DeviceName=%s MediaType=%s StorageId=%s\n"
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
#, c-format
msgid ""
"Catalog: name=%s address=%s DBport=%d db_name=%s\n"
@@ -2582,16 +2607,16 @@ msgstr ""
"Catálogo: nombre=%s dirección=%s DBport=%d db_nombre=%s\n"
" db_driver=%s db_user=%s MutliDBConn=%d\n"
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
#, c-format
msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
msgstr "%s: nombre=%s JobType=%d nivel=%s Prioridad=%d Activo=%d\n"
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
msgid "JobDefs"
msgstr "JobDefs"
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
#, c-format
msgid ""
" MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
@@ -2599,256 +2624,256 @@ msgid ""
msgstr ""
"MaxJobs=%u Resched=%d Times=%d Intervalo=%s Spool=%d WritePartAfterJob=%d\n"
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
#, c-format
msgid " SpoolSize=%s\n"
msgstr "SpoolSize=%s\n"
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
#, c-format
msgid " Accurate=%d\n"
msgstr "Preciso=%d\n"
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
#, c-format
msgid " SelectionType=%d\n"
msgstr "SelectionType=%d\n"
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
#, c-format
msgid " --> Where=%s\n"
msgstr "--> Donde=%s\n"
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
#, c-format
msgid " --> RegexWhere=%s\n"
msgstr "--> RegexDonde=%s\n"
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
#, c-format
msgid " --> Bootstrap=%s\n"
msgstr "--> Bootstrap=%s\n"
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
#, c-format
msgid " --> WriteBootstrap=%s\n"
msgstr "--> WriteBootstrap=%s\n"
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
#, c-format
msgid " --> PluginOptions=%s\n"
msgstr "--> PluginOptions=%s\n"
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
#, c-format
msgid " --> MaxRunTime=%u\n"
msgstr "--> MaxRunTime=%u\n"
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
#, c-format
msgid " --> MaxWaitTime=%u\n"
msgstr "--> MaxWaitTime=%u\n"
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
#, c-format
msgid " --> MaxStartDelay=%u\n"
msgstr "--> MaxStartDelay=%u\n"
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
#, fuzzy, c-format
msgid " --> MaxRunSchedTime=%u\n"
msgstr "--> MaxRunTime=%u\n"
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
#, fuzzy, c-format
msgid " --> Base %s\n"
msgstr "--> Objetivo=%s\n"
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
msgid " --> RunScript\n"
msgstr "--> EjecutarScript\n"
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
#, c-format
msgid " --> Command=%s\n"
msgstr "--> Comando=%s\n"
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
#, c-format
msgid " --> Target=%s\n"
msgstr "--> Objetivo=%s\n"
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
#, c-format
msgid " --> RunOnSuccess=%u\n"
msgstr "--> RunOnSuccess=%u\n"
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
#, c-format
msgid " --> RunOnFailure=%u\n"
msgstr "--> RunOnFailure=%u\n"
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
#, c-format
msgid " --> FailJobOnError=%u\n"
msgstr "--> FailJobOnError=%u\n"
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
#, c-format
msgid " --> RunWhen=%u\n"
msgstr "--> EjecutarCuando=%u\n"
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
#, c-format
msgid " --> Run=%s\n"
msgstr "--> Ejecutar=%s\n"
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
#, c-format
msgid " --> SelectionPattern=%s\n"
msgstr "--> SeleccionPatron=%s\n"
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
#, c-format
msgid "FileSet: name=%s\n"
msgstr "FileSet: nombre=%s\n"
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
#, c-format
msgid "Schedule: name=%s\n"
msgstr "Schedule: nombre=%s\n"
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
#, c-format
msgid " --> Run Level=%s\n"
msgstr "--> Ejecutar Nivel=%s\n"
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
msgid " hour="
msgstr "hora="
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
msgid " mday="
msgstr "mdia="
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
msgid " month="
msgstr "mes="
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
msgid " wday="
msgstr "wdia="
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
msgid " wom="
msgstr "wom="
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
msgid " woy="
msgstr "woy="
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
#, c-format
msgid " mins=%d\n"
msgstr "mins=%d\n"
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
msgid " --> "
msgstr "--> "
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
#, c-format
msgid "Pool: name=%s PoolType=%s\n"
msgstr "Pool: nombre=%s PoolType=%s\n"
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
#, c-format
msgid " use_cat=%d use_once=%d cat_files=%d\n"
msgstr "use_cat=%d use_once=%d cat_files=%d\n"
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
#, c-format
msgid " max_vols=%d auto_prune=%d VolRetention=%s\n"
msgstr "max_vols=%d auto_prune=%d VolRetention=%s\n"
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
#, c-format
msgid " VolUse=%s recycle=%d LabelFormat=%s\n"
msgstr "VolUse=%s recycle=%d LabelFormat=%s\n"
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
#, c-format
msgid " CleaningPrefix=%s LabelType=%d\n"
msgstr "CleaningPrefix=%s LabelType=%d\n"
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
#, c-format
msgid " RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
msgstr "RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
#, c-format
msgid " MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
msgstr "MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
#, c-format
msgid " MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
msgstr "MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
#, fuzzy, c-format
msgid " JobRetention=%s FileRetention=%s\n"
msgstr "JobRetention=%s FileRetention=%s AutoPrune=%d\n"
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
#, c-format
msgid " NextPool=%s\n"
msgstr "NextPool=%s\n"
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
#, c-format
msgid " RecyclePool=%s\n"
msgstr "RecyclePool=%s\n"
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
#, c-format
msgid " ScratchPool=%s\n"
msgstr "ScratchPool=%s\n"
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
#, c-format
msgid " Catalog=%s\n"
msgstr "Catálogo=%s\n"
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
#, c-format
msgid "Messages: name=%s\n"
msgstr "Mensajes: nombre=%s\n"
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
#, c-format
msgid " mailcmd=%s\n"
msgstr "mailcmd=%s\n"
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
#, c-format
msgid " opcmd=%s\n"
msgstr "opcmd=%s\n"
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
#: src/qt-console/tray-monitor/tray_conf.cpp:199
#, c-format
msgid "Unknown resource type %d in dump_resource.\n"
msgstr "Tipo de recurso desconocido %d en dump_resource.\n"
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
#: src/qt-console/tray-monitor/tray_conf.cpp:257
#, c-format
msgid "Unknown resource type %d in free_resource.\n"
msgstr "Tipo de recurso desconocido %d en free_resource.\n"
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
#: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
#: src/console/console_conf.c:259 src/filed/filed_conf.c:361
#: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2857,54 +2882,54 @@ msgstr "Tipo de recurso desconocido %d en free_resource.\n"
msgid "%s item is required in %s resource, but not found.\n"
msgstr "Ítem %s es necesario en recurso %s, pero no se encuentra.\n"
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
#: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
#, c-format
msgid "Too many items in %s resource\n"
msgstr "Demasiados ítem en recurso %s\n"
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
#, c-format
msgid "Cannot find Pool resource %s\n"
msgstr "No se puede encontrar el recurso Pool %s\n"
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
#, c-format
msgid "Cannot find Console resource %s\n"
msgstr "No se puede encontrar el recurso Console %s\n"
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
#: src/filed/filed_conf.c:381
#, c-format
msgid "Cannot find Director resource %s\n"
msgstr "No se puede encontrar el recurso Director %s\n"
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
#, c-format
msgid "Cannot find Storage resource %s\n"
msgstr "No se puede encontrar el recurso Storage %s\n"
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
#, c-format
msgid "Cannot find Job resource %s\n"
msgstr "No se puede encontrar el recurso Job %s\n"
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
#, c-format
msgid "Cannot find Counter resource %s\n"
msgstr "No se puede encontrar el recurso Counter %s\n"
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
#, c-format
msgid "Cannot find Client resource %s\n"
msgstr "No se puede encontrar el recurso Cliente %s\n"
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
#, c-format
msgid "Cannot find Schedule resource %s\n"
msgstr "No se puede encontrar el recurso Schedule %s\n"
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
#: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
#: src/qt-console/tray-monitor/tray_conf.cpp:314
#: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2912,12 +2937,12 @@ msgstr "No se puede encontrar el recurso Schedule %s\n"
msgid "Unknown resource type %d in save_resource.\n"
msgstr "Tipo de recurso desconocido %d en save_resource.\n"
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
#, c-format
msgid "Name item is required in %s resource, but not found.\n"
msgstr "Nombre del ítem se requiere en recurso %s, pero no se encuentra.\n"
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
#: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
#: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
#: src/qt-console/bat_conf.cpp:334
@@ -2926,43 +2951,43 @@ msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
msgstr ""
"Segundo intento de definir recurso %s llamado \"%s\" no está permitido.\n"
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
#, c-format
msgid "Inserting %s res: %s index=%d pass=%d\n"
msgstr "Insertando %s res: %s index=%d pass=%d\n"
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
#, c-format
msgid "Expected one of: %s, got: %s"
msgstr "Esperaba uno de: %s, obtuvo: %s"
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
#, c-format
msgid "Expected a Migration Job Type keyword, got: %s"
msgstr "Espera una palabra clave Tipo Job de Migración, obtuvo: %s"
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
#, c-format
msgid "Expected a Job Type keyword, got: %s"
msgstr "Esperaba una palabra clave Tipo Job, obtuvo: %s"
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
#, c-format
msgid "Expected a Job Level keyword, got: %s"
msgstr "Esperaba una palabra clave Tipo Level, obtuvo: %s"
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
#, c-format
msgid "Expected a Restore replacement option, got: %s"
msgstr "Esperaba una opción de reemplazo de Restauración, obtuvo: %s"
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
#: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
#, c-format
msgid "Expect %s, got: %s"
msgstr "Esperaba %s, obtuvo: %s"
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
#, c-format
msgid "Could not find config Resource %s referenced on line %d : %s\n"
msgstr ""
@@ -3108,7 +3133,7 @@ msgstr ""
msgid "Select full restore to a specified Job date"
msgstr "Seleccione restauración completa para una fecha especifica de Job"
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
#: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
msgid "Cancel"
msgstr "Cancelar"
@@ -3560,49 +3585,49 @@ msgstr "Los valores deben ser ser mayor que cero.\n"
msgid "Slot too large.\n"
msgstr "Ranura demasiado grande.\n"
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
msgid "command line"
msgstr "línea de comandos"
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
msgid "No slots in changer to scan.\n"
msgstr "No hay ranuras en cambiador para analizar.\n"
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
msgid "No Volumes found to label, or no barcodes.\n"
msgstr "No encontraron volúmenes para etiquetar, o sin códigos de barras.\n"
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
#, c-format
msgid "Slot %d greater than max %d ignored.\n"
msgstr "Ranura %d mayor que el máximo %d ignorado.\n"
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
#, c-format
msgid "No VolName for Slot=%d InChanger set to zero.\n"
msgstr "Ninguno VolName para Ranura=%d InChanger establecido en cero.\n"
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
#, c-format
msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
msgstr ""
"Registro de catálogo para Volumen \"%s\" actualizado para referenciar ranura "
"%d.\n"
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
#, c-format
msgid "Catalog record for Volume \"%s\" is up to date.\n"
msgstr "Registro de catálogo para Volumen \"%s\" esta actualizado.\n"
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
#, c-format
msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
msgstr ""
"Volumen \"%s\" no se encuentra en el catálogo. Ranura=%d InChanger "
"configurado para cero.\n"
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
#, c-format
msgid ""
"Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
@@ -3611,39 +3636,39 @@ msgstr ""
"Volumen \"%s\" hay VolStatus %s. Debe ser purgado o reciclado antes de "
"volver a etiquetar.\n"
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
msgid "Enter new Volume name: "
msgstr "Introduzca el nuevo nombre de Volumen:"
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
#, c-format
msgid "Media record for new Volume \"%s\" already exists.\n"
msgstr "Registro de Medios para nuevo volumen \"%s\" ya existe.\n"
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
msgid "Enter slot (0 or Enter for none): "
msgstr "Introduzca ranura (0 o Enter para ninguno):"
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
#, c-format
msgid "Delete of Volume \"%s\" failed. ERR=%s"
msgstr "Fallo al eliminar el Volumen \"%s\". ERR=%s"
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
#, c-format
msgid "Old volume \"%s\" deleted from catalog.\n"
msgstr "Antiguo volumen \"%s\" borrado del catalogo.\n"
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
#, c-format
msgid "Requesting to mount %s ...\n"
msgstr "Solicitando para montar %s ...\n"
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
msgid "Do not forget to mount the drive!!!\n"
msgstr "No se olvide de montar la unidad!!!\n"
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
msgid ""
"The following Volumes will be labeled:\n"
"Slot Volume\n"
@@ -3653,98 +3678,98 @@ msgstr ""
"Ranura Volumen\n"
"==============\n"
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
msgid "Do you want to label these Volumes? (yes|no): "
msgstr "¿Quieres etiquetar estos volúmenes? (sí | no):"
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
#, c-format
msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
msgstr "Registro de Medios para ranura %d Volumen \"%s\" ya existe.\n"
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
#, c-format
msgid "Error setting InChanger: ERR=%s"
msgstr "Error al configurar InChanger: ERR =% s"
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
#, c-format
msgid "Maximum pool Volumes=%d reached.\n"
msgstr "Máximo pool Volúmenes=%d alcanzado.\n"
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
#, c-format
msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
msgstr ""
"Registro de catálogo para la limpieza de la cinta \"%s\" ha creado "
"correctamente.\n"
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
#, c-format
msgid "Catalog error on cleaning tape: %s"
msgstr "Error de catálogo en la limpieza de la cinta: %s"
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
#, c-format
msgid "Illegal character \"%c\" in a volume name.\n"
msgstr "Ilegal carácter \"%c\" en un nombre de volumen.\n"
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
#, c-format
msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
msgstr "Enviando comando relabel desde \"%s\" para \"%s\" ...\n"
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
#, c-format
msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
msgstr "Enviando comando relabel para Volumen \"%s\" Ranura %d ...\n"
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
#, c-format
msgid "Catalog record for Volume \"%s\", Slot %d successfully created.\n"
msgstr ""
"Registro Catalogo para Volumen \"%s\", Ranura %d creado correctamente.\n"
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
#, c-format
msgid "Label command failed for Volume %s.\n"
msgstr "Comando Label fallido para Volumen %s.\n"
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
msgid "Could not open SD socket.\n"
msgstr "No se pudo abrir socket SD.\n"
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
#, c-format
msgid "Invalid Slot number: %s\n"
msgstr "Número de Ranura no válido:%s\n"
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
#, c-format
msgid "Invalid Volume name: %s\n"
msgstr "Nombre de Volumen no válido:%s\n"
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
#, c-format
msgid "Device \"%s\" has %d slots.\n"
msgstr "Dispositivo \"%s\" tiene %d ranuras.\n"
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
#, c-format
msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
msgstr "Recurso Pool \"%s\" no encontrado para volumen \"%s\"!\n"
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
msgid "No Volumes found, or no barcodes.\n"
msgstr "Volúmenes no encontrados, o no códigos de barras.\n"
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
msgid ""
" Slot | Volume Name | Status | Media Type | "
"Pool |\n"
msgstr "Ranura | Nombre Volumen | Estado | Tipo de Media | Pool |\n"
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
msgid ""
"------+------------------+-----------+----------------------"
"+--------------------|\n"
@@ -3967,15 +3992,15 @@ msgid "New Recycle flag is: %s\n"
msgstr "Nueva Recycle flag es: %s\n"
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
#: src/tools/dbcheck.c:1352
msgid "yes"
msgstr "si"
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
msgid "no"
msgstr "no"
@@ -4054,7 +4079,7 @@ msgstr "Error actualizando registro de medios ActionOnPurge: ERR=%s"
msgid "New ActionOnPurge is: %s\n"
msgstr "Nueva ActionOnPurge es: %s\n"
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
msgid "Parameters to modify:\n"
msgstr "Parámetros para modificar:\n"
@@ -4126,7 +4151,7 @@ msgstr "Action On Purge"
msgid "Done"
msgstr "Hecho"
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
msgid "Select parameter to modify"
msgstr "Seleccione los parámetros para modificar"
@@ -4358,7 +4383,7 @@ msgstr "Pool para JobId %s no esta en base de datos. ERR=%s\n"
msgid "Pool resource \"%s\" not found.\n"
msgstr "Recurso Pool \"%s\" no encontrado.\n"
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
#, c-format
msgid "Could not get job record for JobId %s to %s. ERR=%s"
msgstr "No se pudo obtener el registro Job para JobId %s para %s. ERR=%s"
@@ -4373,142 +4398,142 @@ msgstr "JobId %s ya %s probablemente por otro Job. %s detenido.\n"
msgid "Start %s JobId %s, Job=%s\n"
msgstr "Inicio %s JobId %s, Job=%s\n"
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
#, c-format
msgid "No %s SQL selection pattern specified.\n"
msgstr "Ninguno %s patrón de selección de SQL especificado.\n"
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
#, c-format
msgid "SQL failed. ERR=%s\n"
msgstr "Fallo SQL. ERR=%s\n"
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
#, c-format
msgid "No Volumes found to %s.\n"
msgstr "Volúmenes no encontrado para %s.\n"
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
msgid "Invalid JobId found.\n"
msgstr "JobId inválido encontrado.\n"
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
#, c-format
msgid "Unknown %s Selection Type.\n"
msgstr "Tipo de selección %s desconocido.\n"
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
#, c-format
msgid "No JobIds found to %s.\n"
msgstr "Ninguno JobIds encontrado para %s.\n"
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
#, c-format
msgid "The following %u JobId%s chosen to be %s: %s\n"
msgstr "El siguiente %u JobId%s elegido para ser %s: %s\n"
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid " was"
msgstr "era"
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid "s were"
msgstr "s eran"
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
#, c-format
msgid "%s using JobId=%s Job=%s\n"
msgstr "%s utilizando JobId=%s Job=%s\n"
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
msgid "Could not start migration job.\n"
msgstr "No se pudo arrancar el Job de migración.\n"
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
#, c-format
msgid "%s JobId %d started.\n"
msgstr "%s JobId %d iniciado.\n"
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
#, c-format
msgid "No %s found to %s.\n"
msgstr "Ninguno %s encontrado para %s.\n"
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
#, c-format
msgid "SQL error. Expected 1 MediaId got %d\n"
msgstr "SQL error. Esperaba 1 MediaId, obtuvo %d\n"
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
#, c-format
msgid "No %ss found to %s.\n"
msgstr "Ninguno %ss encontrado para %s.\n"
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
msgstr ""
"Selección del tipo 'pooluncopiedjos' sólo se aplica a Trabajos de Copia(Copy "
"Jobs)"
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
#, c-format
msgid "SQL to get uncopied jobs failed. ERR=%s\n"
msgstr "Fallo SQL para obtener uncopied jobs. ERR=%s\n"
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
#, c-format
msgid "No %s %s selection pattern specified.\n"
msgstr "Ninguno %s %s patrón de selección especificados.\n"
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
#, c-format
msgid "SQL to get %s failed. ERR=%s\n"
msgstr "Fallo SQL para obtener %s. ERR=%s\n"
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
#, c-format
msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
msgstr "Consulta de Pool \"%s\" No regreso Jobs para %s.\n"
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
#, c-format
msgid "Regex pattern matched no Jobs to %s.\n"
msgstr "Patrón Regex no encontró Jobs para %s.\n"
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
#, c-format
msgid "%s OK -- with warnings"
msgstr "%s OK -- con alertas"
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
#, c-format
msgid "%s OK"
msgstr "%s OK"
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
#, c-format
msgid "*** %s Error ***"
msgstr "*** %s Error ***"
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
#, c-format
msgid "%s Canceled"
msgstr "%s Cancelado"
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
#, c-format
msgid "Inappropriate %s term code"
msgstr "Inadecuado código de terminación %s"
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
#, c-format
msgid "%s -- no files to %s"
msgstr "%s -- ninguno archivo para %s"
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -4573,17 +4598,17 @@ msgstr ""
" Terminación: %s\n"
"\n"
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
#, c-format
msgid "No Next Pool specification found in Pool \"%s\".\n"
msgstr "Especificación Next Pool no encontrada en Pool \"%s\".\n"
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
#, c-format
msgid "No Storage specification found in Next Pool \"%s\".\n"
msgstr "Especificación Storage no encontrada en Next Pool \"%s\".\n"
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
msgid "Storage from Pool's NextPool resource"
msgstr "Storage desde recurso Pool's NextPool "
@@ -4591,44 +4616,44 @@ msgstr "Storage desde recurso Pool's NextPool "
msgid "Choose item to prune"
msgstr "Elija el ítem para podar"
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
#, c-format
msgid "Cannot prune Volume \"%s\" because it is archived.\n"
msgstr "No se puede podar Volumen \"%s\", porque el esta archivo.\n"
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
msgid "Pruned Jobs from JobHisto catalog.\n"
msgstr "Podar Jobs del catálogo JobHisto.\n"
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
#, fuzzy
msgid "Begin pruning Files.\n"
msgstr "Comenzar poda de Archivos.\n"
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
msgid "No Files found to prune.\n"
msgstr "No se encontraron archivos para podar.\n"
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
#, c-format
msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
msgstr "Archivos podados desde Jobs %s para el cliente %s desde el catálogo.\n"
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
#, fuzzy, c-format
msgid "Begin pruning Jobs older than %s.\n"
msgstr "Comenzar poda de Jobs.\n"
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
#, c-format
msgid "Pruned %d %s for client %s from catalog.\n"
msgstr "Podados %d %s para el cliente %s desde el catálogo.\n"
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
msgid "Jobs"
msgstr "Jobs"
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
msgid "No Jobs found to prune.\n"
msgstr "No encontraron Jobs para podar.\n"
@@ -4653,50 +4678,58 @@ msgstr "Job fallido.\n"
msgid "Job queued. JobId=%s\n"
msgstr "Cola de Job. JobId=%s\n"
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr "Respuesta no válida. Usted tiene que contestar sí o no.\n"
+
+#: src/dird/ua_run.c:207
msgid "Job not run.\n"
msgstr "Job no ejecutando.\n"
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
msgid "Level"
msgstr "Level"
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
msgid "Restore Client"
msgstr "Restaurar Client"
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
#: src/wx-console/wxbrestorepanel.cpp:854
#: src/wx-console/wxbrestorepanel.cpp:1918
msgid "When"
msgstr "Cuando "
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
#: src/wx-console/wxbrestorepanel.cpp:1128
#: src/wx-console/wxbrestorepanel.cpp:1921
msgid "Priority"
msgstr "Prioridad"
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
msgid "Verify Job"
msgstr "Verificar Job"
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
#: src/wx-console/wxbrestorepanel.cpp:1899
msgid "Bootstrap"
msgstr "Bootstrap"
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
#: src/wx-console/wxbrestorepanel.cpp:1104
#: src/wx-console/wxbrestorepanel.cpp:1901
msgid "Where"
msgstr "Donde"
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
msgid "File Relocation"
msgstr "Reubicar Archivo"
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
#: src/wx-console/wxbrestorepanel.cpp:1112
#: src/wx-console/wxbrestorepanel.cpp:1905
#: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4706,222 +4739,222 @@ msgstr "Reubicar Archivo"
msgid "Replace"
msgstr "Reemplazar"
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
msgid "JobId"
msgstr "JobId"
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
msgid "Plugin Options"
msgstr "Opciones de Plug-in"
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
msgid "user selection"
msgstr "Selección de usuario"
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
msgid ""
"Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
msgstr ""
"Por favor, introduzca hora de inicio deseada YYYY-MM-DD HH:MM:SS (Enter para "
"ahora)"
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
msgid "Invalid time, using current time.\n"
msgstr "Hora inválida, usando hora actual.\n"
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
msgid "Enter new Priority: "
msgstr "Introduzca nueva prioridad:"
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
msgid "Priority must be a positive integer.\n"
msgstr "Prioridad debe ser un entero positivo.\n"
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
msgid "Please enter the Bootstrap file name: "
msgstr "Por favor, introduzca nombre de archivo Bootstrap:"
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
#, c-format
msgid "Warning cannot open %s: ERR=%s\n"
msgstr "Advertencia no puede abrir %s: ERR=%s\n"
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
#, fuzzy
msgid "Please enter the full path prefix for restore (/ for none): "
msgstr ""
"Por favor, introduzca el prefijo de ruta para restaurar (/ para ninguno):"
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
msgid "Replace:\n"
msgstr "Reemplazar:\n"
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
msgid "Select replace option"
msgstr "Seleccione la opción sustituir"
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
msgid ""
"You must set the bootstrap file to NULL to be able to specify a JobId.\n"
msgstr ""
"Usted debe configurar el archivo bootstrap a NULL para poder especificar un "
"jobId.\n"
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
msgid "Please Plugin Options string: "
msgstr "Por favor, cadena de Opciones de Plugin:"
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
msgid "User input"
msgstr "Entrada del usuario"
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
#, c-format
msgid "Invalid replace option: %s\n"
msgstr "Opción replace no valida: %s\n"
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
msgstr "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
msgid "This will replace your current Where value\n"
msgstr "Este sustituirá a su actual valor Donde\n"
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
msgid "Strip prefix"
msgstr "Eliminar prefijo"
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
msgid "Add prefix"
msgstr "Añadir prefijo"
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
msgid "Add file suffix"
msgstr "Añadir sufijo de archivo"
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
msgid "Enter a regexp"
msgstr "Introduzca una expresión regular"
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
msgid "Test filename manipulation"
msgstr "Prueba de la manipulación de nombre de archivo"
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
msgid "Use this ?"
msgstr "Usar esto ?"
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
#, fuzzy
msgid "Please enter the path prefix to strip: "
msgstr "Por favor, introduzca la ruta de prefijo para eliminar:"
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
#, fuzzy
msgid "Please enter the path prefix to add (/ for none): "
msgstr ""
"Por favor, introduzca el prefijo de la ruta para añadir (/ para ninguno):"
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
#, fuzzy
msgid "Please enter the file suffix to add: "
msgstr "Por favor, introduzca el sufijo de archivo para añadir:"
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
msgid "Please enter a valid regexp (!from!to!): "
msgstr "Por favor, introduzca una expresión regular válida (!from!to!):"
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
#, c-format
msgid "regexwhere=%s\n"
msgstr "regexdonde=%s\n"
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
msgstr "strip_prefix=%s add_prefix=%s add_suffix=%s resultado=%s\n"
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
msgid "Cannot use your regexp\n"
msgstr "No se pudo utilizar su regexp\n"
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
msgid "Enter a period (.) to stop this test\n"
msgstr ""
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
msgid "Please enter filename to test: "
msgstr "Por favor, introduzca el nombre de archivo de prueba:"
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
#, c-format
msgid "%s -> %s\n"
msgstr "%s -> %s\n"
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
msgid "Cannot use your regexp.\n"
msgstr "No puede utilizar su expresión regular.\n"
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
msgid "Levels:\n"
msgstr "Niveles:\n"
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
#: src/lib/util.c:472 src/filed/status.c:519
msgid "Full"
msgstr "Completo"
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
#: src/filed/status.c:522
msgid "Incremental"
msgstr "Incremental"
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
#: src/filed/status.c:525
msgid "Differential"
msgstr "Diferencial"
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
#: src/filed/status.c:528
msgid "Since"
msgstr "Desde"
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
msgid "VirtualFull"
msgstr "VirtualFull"
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
msgid "Select level"
msgstr "Seleccionar Nivel"
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
msgid "Initialize Catalog"
msgstr "Iniciar Catálogo"
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
#: src/filed/status.c:531
msgid "Verify Catalog"
msgstr "Verificar Catálogo"
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
msgid "Verify Volume to Catalog"
msgstr "Verificar volumen de catalogo"
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
msgid "Verify Disk to Catalog"
msgstr "Verificar disco de catalogo"
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
msgid "Verify Volume Data (not yet implemented)"
msgstr "Verificar volumen de datos (aún no implementado)"
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
msgid "Level not appropriate for this Job. Cannot be changed.\n"
msgstr "Nivel no adecuado para este trabajo. No se puede cambiar.\n"
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
#, fuzzy, c-format
msgid ""
"Run Admin Job\n"
@@ -4940,7 +4973,7 @@ msgstr ""
"Cuando: %s\n"
"Prioridad: %d\n"
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
#, fuzzy, c-format
msgid ""
"Run Backup job\n"
@@ -4965,12 +4998,12 @@ msgstr ""
"Prioridad: %d\n"
"%s%s%s"
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
#, fuzzy, c-format
msgid "Could not get job record for selected JobId. ERR=%s"
msgstr "No se ha podido obtener el registro Job para Job anterior. ERR=%s"
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
#, fuzzy, c-format
msgid ""
"Run Verify Job\n"
@@ -4997,11 +5030,11 @@ msgstr ""
"Cuando: %s\n"
"Prioridad: %d\n"
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
msgid "Please enter a JobId for restore: "
msgstr "Por favor, introduzca un JobId para restaurar:"
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
#, c-format
msgid ""
"Run Restore job\n"
@@ -5032,7 +5065,7 @@ msgstr ""
"Prioridad: %d\n"
"Opciones de Plugin: %s\n"
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
#, c-format
msgid ""
"Run Restore job\n"
@@ -5063,7 +5096,7 @@ msgstr ""
"Prioridad: %d\n"
"Opciones de Plugin: %s\n"
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
#, c-format
msgid ""
"Run Restore job\n"
@@ -5074,17 +5107,17 @@ msgstr ""
"JobName: %s\n"
"Bootstrap: %s\n"
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
#, c-format
msgid "RegexWhere: %s\n"
msgstr "RegexWhere: %s\n"
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
#, c-format
msgid "Where: %s\n"
msgstr "Donde: %s\n"
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
#, c-format
msgid ""
"Replace: %s\n"
@@ -5105,219 +5138,219 @@ msgstr ""
"Prioridad: %d\n"
"Opciones de Plugin: %s\n"
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
msgid "Run Copy job\n"
msgstr "Ejecutar Job de Copia\n"
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
msgid "Run Migration job\n"
msgstr "Ejecutar Job de Migración\n"
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
#, c-format
msgid "Unknown Job Type=%d\n"
msgstr "Tipo de Job desconocido=%d\n"
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
#, c-format
msgid "Value missing for keyword %s\n"
msgstr "Falta valor para la palabra clave %s\n"
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
msgid "Job name specified twice.\n"
msgstr "Nombre del Job especificado dos veces.\n"
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
msgid "JobId specified twice.\n"
msgstr "JobId especificada dos veces.\n"
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
msgid "Client specified twice.\n"
msgstr "Cliente especificado dos veces.\n"
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
msgid "FileSet specified twice.\n"
msgstr "FileSet especificado dos veces.\n"
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
msgid "Level specified twice.\n"
msgstr "Level especificado dos veces.\n"
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
msgid "Storage specified twice.\n"
msgstr "Storage especificado dos veces.\n"
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
msgid "RegexWhere or Where specified twice.\n"
msgstr "RegexDónde o Dónde especificado dos veces.\n"
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
msgid "No authorization for \"regexwhere\" specification.\n"
msgstr "Sin autorización para especificación \"regexwhere\".\n"
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
msgid "Where or RegexWhere specified twice.\n"
msgstr "Dónde o RegexDónde especificado dos veces.\n"
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
msgid "No authoriztion for \"where\" specification.\n"
msgstr "Sin autorización para especificación \"where\".\n"
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
msgid "Bootstrap specified twice.\n"
msgstr "Bootstrap especificado dos veces.\n"
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
msgid "Replace specified twice.\n"
msgstr "Replace especificado dos veces.\n"
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
msgid "When specified twice.\n"
msgstr "Cuando especificado dos veces.\n"
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
msgid "Priority specified twice.\n"
msgstr "Prioridad especificada dos veces.\n"
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
msgid "Priority must be positive nonzero setting it to 10.\n"
msgstr "Prioridad debe ser positivo y distinto a cero, configurando en 10.\n"
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
msgid "Verify Job specified twice.\n"
msgstr "Job Verificar especificado dos veces.\n"
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
msgid "Migration Job specified twice.\n"
msgstr "Job Migración especificado dos veces.\n"
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
msgid "Pool specified twice.\n"
msgstr "Pool especificado dos veces.\n"
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
msgid "Restore Client specified twice.\n"
msgstr "Restaurar Cliente especificado dos veces.\n"
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
msgid "Plugin Options not yet implemented.\n"
msgstr "Opciones de Plugin todavía no se ha implementado.\n"
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
msgid "Plugin Options specified twice.\n"
msgstr "Opciones de Plugin especificado dos veces.\n"
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
msgid "No authoriztion for \"PluginOptions\" specification.\n"
msgstr "Sin autorización para especificación \"PluginOptions\".\n"
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
msgid "Spool flag specified twice.\n"
msgstr "Bandera de cola especificada dos veces.\n"
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
msgid "Invalid spooldata flag.\n"
msgstr "Invalida bandera spooldata.\n"
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
#, fuzzy
msgid "IgnoreDuplicateCheck flag specified twice.\n"
msgstr "Bandera de cola especificada dos veces.\n"
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
#, fuzzy
msgid "Invalid ignoreduplicatecheck flag.\n"
msgstr "Invalida bandera spooldata.\n"
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
#, fuzzy
msgid "Accurate flag specified twice.\n"
msgstr "Bandera de cola especificada dos veces.\n"
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
#, fuzzy
msgid "Invalid accurate flag.\n"
msgstr "Invalida bandera spooldata.\n"
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
#, c-format
msgid "Invalid keyword: %s\n"
msgstr "Palabra clave inválida: %s\n"
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
#, c-format
msgid "Catalog \"%s\" not found\n"
msgstr "Catalogo \"%s\" no encontrado\n"
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
#, c-format
msgid "No authorization. Catalog \"%s\".\n"
msgstr "Sin autorización. Catalogo \"%s\".\n"
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
#, c-format
msgid "Job \"%s\" not found\n"
msgstr "Job \"%s\" no encontrado\n"
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
msgid "A job name must be specified.\n"
msgstr "Un nombre de job debe de ser especificado.\n"
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
#, c-format
msgid "No authorization. Job \"%s\".\n"
msgstr "Sin autorización. Job \"%s\".\n"
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
#, c-format
msgid "Pool \"%s\" not found.\n"
msgstr "Pool \"%s\" no encontrado.\n"
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
#, c-format
msgid "No authorization. Pool \"%s\".\n"
msgstr "Sin autorización. Pool \"%s\".\n"
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
#, c-format
msgid "Storage \"%s\" not found.\n"
msgstr "Storage \"%s\" no encontrado\n"
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
msgid "No storage specified.\n"
msgstr "Almacenamiento no especificado.\n"
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
#, c-format
msgid "No authorization. Storage \"%s\".\n"
msgstr "Sin autorización. Storage \"%s\".\n"
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
#, c-format
msgid "No authorization. Client \"%s\".\n"
msgstr "Sin autorización. Cliente \"%s\".\n"
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
#, c-format
msgid "Restore Client \"%s\" not found.\n"
msgstr "Restaurar Cliente \"%s\" no encontrado.\n"
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
#, c-format
msgid "FileSet \"%s\" not found.\n"
msgstr "FileSet \"%s\" no encontrado.\n"
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
#, c-format
msgid "No authorization. FileSet \"%s\".\n"
msgstr "Sin autorización. FileSet \"%s\".\n"
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
#, c-format
msgid "Verify Job \"%s\" not found.\n"
msgstr "Job Verificar \"%s\" no encontrado.\n"
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
#, c-format
msgid "Migration Job \"%s\" not found.\n"
msgstr "Job Migración \"%s\" no encontrado.\n"
@@ -5374,25 +5407,25 @@ msgstr "Enviando información precisa.\n"
msgid "Start Backup JobId %s, Job=%s\n"
msgstr "Iniciar Respaldo JobId %s, Job=%s\n"
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
#, c-format
msgid "Unexpected Client Job message: %s\n"
msgstr "Inesperado Cliente Job mensaje: %s\n"
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
#, c-format
msgid "Network error with FD during %s: ERR=%s\n"
msgstr "Error de red con FD durante %s: ERR=%s\n"
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
msgid "No Job status returned from FD.\n"
msgstr "Estado de Job no retornado desde FD.\n"
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
msgid "Backup failed -- incomplete"
msgstr ""
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5465,14 +5498,14 @@ msgstr ""
" Terminación: %s\n"
"\n"
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
#, c-format
msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
msgstr ""
"No es posible obtener los parámetros de Job Volumen para actualizar el "
"archivo Bootstrap. ERR=%s\n"
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
#, c-format
msgid ""
"Could not open WriteBootstrap file:\n"
@@ -5481,7 +5514,7 @@ msgstr ""
"No se pudo abrir el archivo WriteBootstrap:\n"
"%s: ERR=%s\n"
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr "No se puede abrir el archivo de arranque %s: ERR=%s\n"
@@ -5496,7 +5529,7 @@ msgstr "No se pudo obtener recurso de almacenamiento '%s'.\n"
msgid "Could not acquire read storage lock for \"%s\""
msgstr "No se pudo obtener recurso de almacenamiento '%s'.\n"
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
msgid ""
"Cannot restore without a bootstrap file.\n"
"You probably ran a restore job directly. All restore jobs must\n"
@@ -5507,32 +5540,32 @@ msgstr ""
"de restauración deben\n"
"ser ejecutadas utilizando el comando de restauración.\n"
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
#, c-format
msgid "Start Restore Job %s\n"
msgstr "Iniciar Job Restaurar %s\n"
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
msgid "Restore OK -- warning file count mismatch"
msgstr "Restauración OK -- alerta, número de archivos desajustado."
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
msgid "Restore OK"
msgstr "Restauración OK"
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
msgid "Restore OK -- with warnings"
msgstr "Restaurar OK - con advertencias"
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
msgid "*** Restore Error ***"
msgstr "*** Error de Restauración ***"
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
msgid "Restore Canceled"
msgstr "Restauración Cancelada"
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5577,7 +5610,7 @@ msgstr "Estado disponible para:\n"
msgid "Select daemon type for status"
msgstr "Seleccione el tipo de demonio para estado"
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
#, c-format
msgid "%s Version: %s (%s) %s %s %s\n"
msgstr "%s Versión: %s (%s) %s %s %s\n"
@@ -5587,7 +5620,7 @@ msgstr "%s Versión: %s (%s) %s %s %s\n"
msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
msgstr "Demonio iniciado %s, %d Job ejecutando desde el inicio.\n"
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
#, c-format
msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
msgstr "Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
@@ -5651,7 +5684,7 @@ msgstr "Ignorando valores inválidos para el día. Máximo es de 500.\n"
msgid "No Scheduled Jobs.\n"
msgstr "No hay Jobs Programados.\n"
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
msgid ""
"\n"
"Running Jobs:\n"
@@ -5819,7 +5852,7 @@ msgstr "Job : %s\n"
msgid "No Terminated Jobs.\n"
msgstr "Jobs No Terminados.\n"
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
msgid ""
"\n"
"Terminated Jobs:\n"
@@ -5827,7 +5860,7 @@ msgstr ""
"\n"
"Jobs No Terminados:\n"
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr "JobId Nivel Archivos Bytes Estado Finalizado Nombre \n"
@@ -5835,41 +5868,41 @@ msgstr "JobId Nivel Archivos Bytes Estado Finalizado Nombre \n"
msgid "====================================================================\n"
msgstr "====================================================================\n"
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
#: src/filed/status.c:363
msgid "Created"
msgstr "Creado"
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
#: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
msgid "Error"
msgstr "Error"
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
msgid "Diffs"
msgstr "Diferencias"
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
#: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
#: src/wx-console/wxbconfigpanel.cpp:209
msgid "OK"
msgstr "OK"
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
#: src/lib/util.c:327
msgid "OK -- with warnings"
msgstr "OK - con advertencias"
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
msgid "Other"
msgstr "Otros"
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
#, c-format
msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
msgstr "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr "%6d %-6s %8s %10s %-7s %-8s %s\n"
@@ -6044,7 +6077,7 @@ msgstr "Anular Ejecutar DiffPool"
msgid "Job DiffPool override"
msgstr "Anular Job DiffPool"
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr "No es posible crear el registro de clientes. ERR=%s\n"
@@ -6392,7 +6425,17 @@ msgstr "Storage daemon rechazo Job comando: %s\n"
msgid "<stored: bad response to Job command: %s\n"
msgstr "<stored: mala respuesta para Job comando: %s\n"
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr "Utilizando el dispositivo: \"%s\" para lectura.\n"
+
+#: src/dird/msgchan.c:311
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr "Utilizando el dispositivo: \"%s\" para escritura.\n"
+
+#: src/dird/msgchan.c:318
#, c-format
msgid ""
"\n"
@@ -6403,7 +6446,7 @@ msgstr ""
" Demonio Storage no aceptó Dispositivo \"%s\" porque:\n"
" %s"
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
#, c-format
msgid ""
"\n"
@@ -6412,17 +6455,12 @@ msgstr ""
"\n"
" Demonio Storage no aceptó Dispositivo \"%s\" comando.\n"
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr "Usando Dispositivo \"%s\"\n"
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
#, c-format
msgid "Cannot create message thread: %s\n"
msgstr "No se puede crear hilo de mensaje: %s\n"
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
msgid "Director's comm line to SD dropped.\n"
msgstr ""
@@ -6901,26 +6939,26 @@ msgstr "Contraseñas del demonio Director y File no son los mismos.\n"
msgid "Unable to initialize reservation lock. ERR=%s\n"
msgstr "No se puede inicializar bloqueo de reserva. ERR=%s\n"
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
#, c-format
msgid "Hey! num_writers=%d!!!!\n"
msgstr "Hey! num_writers=%d!!!!\n"
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
msgid "3939 Could not get dcr\n"
msgstr "3939 No se pudo obtener DCR\n"
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
#, c-format
msgid "Device reservation failed for JobId=%d: %s\n"
msgstr "Reservación del Dispositivo fallida para JobId=%d: %s\n"
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
#, c-format
msgid "Failed command: %s\n"
msgstr "Comando fallido: %s\n"
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
#, c-format
msgid ""
"\n"
@@ -6931,7 +6969,7 @@ msgstr ""
"Dispositivo \"%s\" en el cambiador \"%s\" solicitado por el DIR no se pudo "
"abrir o no existe.\n"
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
#, c-format
msgid ""
"\n"
@@ -6940,35 +6978,35 @@ msgstr ""
"\n"
"Dispositivo \"%s\" solicitado por el DIR no se pudo abrir o no existe.\n"
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
#, c-format
msgid "3926 Could not get dcr for device: %s\n"
msgstr "3926 No se pudo obtener dcr para el dispositivo: %s\n"
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
#, c-format
msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
"3601 JobId=%u dispositivo %s está BLOQUEADO debido al desmontar por el "
"usuario.\n"
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
#, c-format
msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
msgstr "3602 JobId=%u dispositivo %s está ocupado (ya leyendo/escribiendo).\n"
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
#, c-format
msgid "3603 JobId=%u device %s is busy reading.\n"
msgstr "3603 JobId=%u dispositivo %s está ocupado leyendo.\n"
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
#, c-format
msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
"3604 JobId=%u dispositivo %s está BLOQUEADO debido al desmonte de usuario.\n"
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
#, c-format
msgid ""
"3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
@@ -6977,52 +7015,52 @@ msgstr ""
"3608 JobId=%u requiere Pool=\"%s\", pero hay Pool=\"%s\" nreserve=%d en la "
"unidad %s.\n"
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
#, c-format
msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
msgstr "3609 JobId=%u Máximo trabajos simultáneos superado en la unidad %s.\n"
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
#, c-format
msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
msgstr "3610 JobId=%u máximo volumen jobs excedido en la unidad %s.\n"
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
#, c-format
msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
msgstr ""
"3605 JobId=%u requiere la unidad disponible, pero el dispositivo %s está "
"ocupado.\n"
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
#, c-format
msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
msgstr ""
"3606 JobId=%u prefiere unidades montadas, pero la unidad %s no tiene "
"Volumen.\n"
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
#, c-format
msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
msgstr ""
"3607 JobId=%u quiere Vol=\"%s\" la unidad tiene Vol=\"%s\" en la unidad %s.\n"
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
#, c-format
msgid "Logic error!!!! JobId=%u Should not get here.\n"
msgstr "Error lógico!! JobId=%u No debería llegar hasta aquí.\n"
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
#, c-format
msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
msgstr ""
"3910 JobId=%u Error de lógica!!! la unidad %s no debería llegar aquí.\n"
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
msgid "Logic error!!!! Should not get here.\n"
msgstr "Error lógico!!! No debe llegar aquí.\n"
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
#, c-format
msgid "3911 JobId=%u failed reserve drive %s.\n"
msgstr "3911 JobId=%u fallo al reservar unidad %s.\n"
@@ -7179,7 +7217,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
msgstr "%s Registro: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
#: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
#, c-format
msgid "Mount Volume \"%s\" on device %s and press return when ready: "
msgstr ""
@@ -7486,7 +7524,7 @@ msgstr "3936 Dispositivo %s está ocupado leyendo.\n"
msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
msgstr "3937 Dispositivo %s está ocupado con %d escritura(s).\n"
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
#, c-format
msgid ""
"Bootstrap file error: %s\n"
@@ -7497,154 +7535,154 @@ msgstr ""
" : Linea %d, columna %d del archivo %s\n"
"%s\n"
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
#, c-format
msgid "Cannot open bootstrap file %s: %s\n"
msgstr "No se puede abrir el archivo bootstrap %s: %s\n"
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
#, c-format
msgid "MediaType %s in bsr at inappropriate place.\n"
msgstr "MediaType %s en BSR en el lugar inadecuado.\n"
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
#, c-format
msgid "Device \"%s\" in bsr at inappropriate place.\n"
msgstr "Dispositivo %s en BSR en el lugar inadecuado.\n"
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
#, c-format
msgid "REGEX '%s' compile error. ERR=%s\n"
msgstr "error de compilación REGEX '%s'. ERR=%s\n"
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
msgid "JobType not yet implemented\n"
msgstr "JobType aún no se han implementado\n"
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
msgid "JobLevel not yet implemented\n"
msgstr "JobLevel aún no se han implementado\n"
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
#, c-format
msgid "Slot %d in bsr at inappropriate place.\n"
msgstr "Ranura %d en BSR en el lugar inadecuado.\n"
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
#, c-format
msgid "VolFile : %u-%u\n"
msgstr "VolFile : %u-%u\n"
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
#, c-format
msgid "VolBlock : %u-%u\n"
msgstr "VolBlock : %u-%u\n"
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
#, c-format
msgid "VolAddr : %llu-%llu\n"
msgstr "VolAddr : %llu-%llu\n"
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
#, c-format
msgid "FileIndex : %u\n"
msgstr "FileIndex : %u\n"
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
#, c-format
msgid "FileIndex : %u-%u\n"
msgstr "FileIndex : %u-%u\n"
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
#, c-format
msgid "JobId : %u\n"
msgstr "JobId : %u\n"
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
#, c-format
msgid "JobId : %u-%u\n"
msgstr "JobId : %u-%u\n"
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
#, c-format
msgid "SessId : %u\n"
msgstr "SessId : %u\n"
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
#, c-format
msgid "SessId : %u-%u\n"
msgstr "SessId : %u-%u\n"
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
#, c-format
msgid "VolumeName : %s\n"
msgstr "VolumeName : %s\n"
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
#, c-format
msgid " MediaType : %s\n"
msgstr "MediaType : %s\n"
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
#, c-format
msgid " Device : %s\n"
msgstr "Dispositivo : %s\n"
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
#, c-format
msgid " Slot : %d\n"
msgstr "Ranura : %d\n"
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
#, c-format
msgid "Client : %s\n"
msgstr "Cliente : %s\n"
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
#, c-format
msgid "Job : %s\n"
msgstr "Job : %s\n"
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
#, c-format
msgid "SessTime : %u\n"
msgstr "SessTime : %u\n"
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
msgid "BSR is NULL\n"
msgstr "BSR is NULL\n"
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
#, c-format
msgid "Next : 0x%x\n"
msgstr "Siguiente : 0x%x\n"
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
#, c-format
msgid "Root bsr : 0x%x\n"
msgstr "Root bsr : 0x%x\n"
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
#, c-format
msgid "count : %u\n"
msgstr "contado : %u\n"
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
#, c-format
msgid "found : %u\n"
msgstr "encontrado : %u\n"
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
#, c-format
msgid "done : %s\n"
msgstr "realizado : %s\n"
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
#, c-format
msgid "positioning : %d\n"
msgstr "posicionamiento : %d\n"
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
#, c-format
msgid "fast_reject : %d\n"
msgstr "fast_reject : %d\n"
@@ -7729,7 +7767,7 @@ msgid "Unable to set network buffer size.\n"
msgstr "No se puede establecer el tamaño del búfer de red.\n"
#: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
msgid "NULL Volume name. This shouldn't happen!!!\n"
msgstr "Nombre de volumen VACÍO. Esto no debería suceder!\n"
@@ -7844,7 +7882,7 @@ msgstr ""
msgid "Volume on %s has bad Bacula label type: %x\n"
msgstr "Volumen en %s tiene una malo tipo de etiqueta Bacula: %x\n"
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
#, c-format
msgid "Could not reserve volume %s on %s\n"
msgstr "No es posible reservar volumen %s en %s\n"
@@ -7855,7 +7893,7 @@ msgid "Cannot write Volume label to block for device %s\n"
msgstr ""
"No se puede escribir la etiqueta de volumen para bloquear el dispositivo %s\n"
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
#, c-format
msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr "Fallo al abrir dispositivo %s Volumen \"%s\": ERR=%s\n"
@@ -8059,15 +8097,13 @@ msgstr "Fecha=%s Nivel=%c Tipo=%c Archivos=%s Bytes=%s Errores=%d Estado=%c\n"
msgid "Used Volume status:\n"
msgstr "Estado de Volumen Usados:\n"
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
msgid ""
-"====\n"
"\n"
+"SD Resources:\n"
msgstr ""
-"====\n"
-"\n"
-#: src/stored/status.c:128
+#: src/stored/status.c:153
msgid ""
"\n"
"Device status:\n"
@@ -8075,15 +8111,16 @@ msgstr ""
"\n"
"Estado del dispositivo:\n"
-#: src/stored/status.c:132
+#: src/stored/status.c:157
#, c-format
msgid "Autochanger \"%s\" with devices:\n"
msgstr "Auto-cambiador \"%s\" con los dispositivos:\n"
-#: src/stored/status.c:150
-#, c-format
+#: src/stored/status.c:177
+#, fuzzy, c-format
msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
" Volume: %s\n"
" Pool: %s\n"
" Media type: %s\n"
@@ -8093,42 +8130,62 @@ msgstr ""
" Pool: %s\n"
" Tipo de Media: %s\n"
-#: src/stored/status.c:160
-#, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+#: src/stored/status.c:182
+#, fuzzy
+msgid "waiting for"
+msgstr "Esperando por montaje"
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+#, fuzzy
+msgid "*unknown*"
+msgstr "desconocido"
+
+#: src/stored/status.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
msgstr "Dispositivo %s abierto, pero volumen actual montado no es Bacula.\n"
-#: src/stored/status.c:171
+#: src/stored/status.c:199
#, c-format
msgid " Total Bytes=%s Blocks=%s Bytes/block=%s\n"
msgstr "Total de Bytes=%s Bloques=%s Bytes/bloques=%s\n"
-#: src/stored/status.c:186
+#: src/stored/status.c:214
#, c-format
msgid " Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
msgstr "Total de Bytes Leídos=%s Bloques Leídos=%s Bytes/bloque=%s\n"
-#: src/stored/status.c:192
+#: src/stored/status.c:220
#, c-format
msgid " Positioned at File=%s Block=%s\n"
msgstr "Situado en el archivo=%s Bloque=%s\n"
-#: src/stored/status.c:199
-#, c-format
-msgid "Device %s is not open.\n"
+#: src/stored/status.c:227
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device %s is not open.\n"
msgstr "Dispositivo %s no está abierto.\n"
-#: src/stored/status.c:203
-#, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+#: src/stored/status.c:231
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
msgstr "Dispositivo \"%s\" no está abierto o no existe.\n"
-#: src/stored/status.c:225
+#: src/stored/status.c:255
#, fuzzy, c-format
msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
msgstr "Demonio iniciado %s, %d Job ejecutando desde el inicio.\n"
-#: src/stored/status.c:248
+#: src/stored/status.c:293
msgid ""
"No DEVICE structure.\n"
"\n"
@@ -8136,17 +8193,17 @@ msgstr ""
"Ninguna estructura del DISPOSITIVO.\n"
"\n"
-#: src/stored/status.c:254
+#: src/stored/status.c:299
msgid " Device is BLOCKED. User unmounted.\n"
msgstr "Dispositivo está BLOQUEADO. Usuario desmontado.\n"
-#: src/stored/status.c:258
+#: src/stored/status.c:303
msgid " Device is BLOCKED. User unmounted during wait for media/mount.\n"
msgstr ""
" Dispositivo está BLOQUEADO. Usuario desmontado durante espera por media/"
"mount.\n"
-#: src/stored/status.c:270
+#: src/stored/status.c:313
#, c-format
msgid ""
" Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -8157,7 +8214,7 @@ msgstr ""
" Pool: %s\n"
" Tipo de Media: %s\n"
-#: src/stored/status.c:279
+#: src/stored/status.c:322
#, c-format
msgid ""
" Device is BLOCKED waiting to create a volume for:\n"
@@ -8168,77 +8225,77 @@ msgstr ""
" Pool: %s\n"
" Tipo de Media: %s\n"
-#: src/stored/status.c:291
+#: src/stored/status.c:333
msgid " Device is BLOCKED waiting for media.\n"
msgstr "Dispositivo está bloqueado esperando por medios.\n"
-#: src/stored/status.c:297
+#: src/stored/status.c:339
msgid " Device is being initialized.\n"
msgstr "Dispositivo se está inicializando.\n"
-#: src/stored/status.c:301
+#: src/stored/status.c:343
msgid " Device is blocked labeling a Volume.\n"
msgstr "El dispositivo está bloqueado etiquetando un volumen.\n"
-#: src/stored/status.c:310
-#, c-format
-msgid " Slot %d is loaded in drive %d.\n"
+#: src/stored/status.c:352
+#, fuzzy, c-format
+msgid " Slot %d %s loaded in drive %d.\n"
msgstr "Ranura %d esta cargado en la unidad %d.\n"
-#: src/stored/status.c:314
+#: src/stored/status.c:356
#, c-format
msgid " Drive %d is not loaded.\n"
msgstr "Unidad %d no está cargada.\n"
-#: src/stored/status.c:317
-#, c-format
-msgid " Drive %d status unknown.\n"
-msgstr "Unidad %d estado desconocido.\n"
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
#, c-format
msgid "Configured device capabilities:\n"
msgstr "Capacidades del dispositivo configuradas:\n"
-#: src/stored/status.c:349
+#: src/stored/status.c:389
msgid "Device state:\n"
msgstr "Estado del dispositivo:\n"
-#: src/stored/status.c:367
-#, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+#: src/stored/status.c:405
+#, fuzzy, c-format
+msgid " num_writers=%d reserves=%d block=%d\n"
msgstr ""
"num_writers=%d reservado=%d bloque=%d\n"
"\n"
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:409
+#, fuzzy
+msgid "Attached Jobs: "
+msgstr ""
+"\n"
+"Scheduled Jobs:\n"
+
+#: src/stored/status.c:427 src/stored/btape.c:720
#, c-format
msgid "Device parameters:\n"
msgstr "Parámetros del Dispositivo:\n"
-#: src/stored/status.c:374
-#, c-format
-msgid "Archive name: %s Device name: %s\n"
+#: src/stored/status.c:429
+#, fuzzy, c-format
+msgid " Archive name: %s Device name: %s\n"
msgstr "Nombre del archivo: %s Nombre del dispositivo: %s\n"
-#: src/stored/status.c:378
-#, c-format
-msgid "File=%u block=%u\n"
+#: src/stored/status.c:432
+#, fuzzy, c-format
+msgid " File=%u block=%u\n"
msgstr "Archivo=%u bloque=%u\n"
-#: src/stored/status.c:381
-#, c-format
-msgid "Min block=%u Max block=%u\n"
+#: src/stored/status.c:434
+#, fuzzy, c-format
+msgid " Min block=%u Max block=%u\n"
msgstr "Bloque Min=%u Bloque Max=%u\n"
-#: src/stored/status.c:401
+#: src/stored/status.c:455
#, c-format
msgid "%s Job %s waiting for Client connection.\n"
msgstr "%s Job %s esperando por conexión de cliente.\n"
-#: src/stored/status.c:417
+#: src/stored/status.c:471
#, c-format
msgid ""
"Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
@@ -8247,7 +8304,7 @@ msgstr ""
"Leyendo: %s %s trabajo %s JobId=%d Volumen=\"%s\"\n"
" pool=\"%s\" dispositivo=%s\n"
-#: src/stored/status.c:430
+#: src/stored/status.c:484
#, c-format
msgid ""
"Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
@@ -8256,26 +8313,26 @@ msgstr ""
"Escribiendo: %s %s trabajo %s JobId=%d Volumen=\"%s\"\n"
" pool=\"%s\" dispositivo=%s\n"
-#: src/stored/status.c:441
+#: src/stored/status.c:495
#, c-format
msgid " spooling=%d despooling=%d despool_wait=%d\n"
msgstr "encolando=%d desencolando=%d despool_wait=%d\n"
-#: src/stored/status.c:450
-#, c-format
-msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
-msgstr "Archivos=%s Bytes=%s Bytes/sec=%s\n"
+#: src/stored/status.c:511
+#, fuzzy, c-format
+msgid " Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
+msgstr "Archivos=%s Bytes=%s Bytes/sec=%s Errores=%d\n"
-#: src/stored/status.c:458
+#: src/stored/status.c:523
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
-#: src/stored/status.c:464
+#: src/stored/status.c:529
msgid " FDSocket closed\n"
msgstr "FDSocket cerrado\n"
-#: src/stored/status.c:485
+#: src/stored/status.c:550
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
@@ -8283,65 +8340,61 @@ msgstr ""
"\n"
"Jobs esperando para reservar una unidad:\n"
-#: src/stored/status.c:516
+#: src/stored/status.c:581
msgid "===================================================================\n"
msgstr "===================================================================\n"
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
msgid "Base"
msgstr "Base"
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
msgid "Init Catalog"
msgstr "Catálogo de inicio"
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
msgid "Volume to Catalog"
msgstr "Volumen para Catalogo"
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
msgid "Disk to Catalog"
msgstr "Disco para Catalogo"
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
msgid "Data"
msgstr "Datos"
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
msgid "Unknown Job Level"
msgstr "Nivel del Job desconocido"
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
-#, c-format
-msgid "Bad .status command: %s\n"
+#: src/stored/status.c:763
+#, fuzzy, c-format
+msgid "3900 No arg in .status command: %s\n"
msgstr "Comando .status malo: %s\n"
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
-msgstr "3900 Malo comando .status, falta argumentos.\n"
-
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
-msgstr "3900 Malo comando .status, argumentos incorrectos.\n"
+#: src/stored/status.c:811
+#, fuzzy, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
+msgstr "Comando .status malo: %s\n"
-#: src/stored/status.c:760
+#: src/stored/status.c:826
msgid "Bacula Storage: Idle"
msgstr "Bacula Storage: Libre"
-#: src/stored/status.c:771
+#: src/stored/status.c:837
msgid "Bacula Storage: Running"
msgstr "Bacula Storage: Ejecutando"
-#: src/stored/status.c:785
+#: src/stored/status.c:851
msgid "Bacula Storage: Last Job Canceled"
msgstr "Bacula Storage: Último Job Cancelado"
-#: src/stored/status.c:789
+#: src/stored/status.c:855
msgid "Bacula Storage: Last Job Failed"
msgstr "Bacula Storage: Último Job Fallido"
-#: src/stored/status.c:793
+#: src/stored/status.c:859
msgid "Bacula Storage: Last Job had Warnings"
msgstr "Bacula Storage: Último Job con Advertencias"
@@ -8460,7 +8513,7 @@ msgid "%u files restored.\n"
msgstr "%u archivos restaurados.\n"
#: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
#, c-format
msgid "Write error on %s: %s\n"
msgstr "Error de escritura en %s: %s\n"
@@ -8469,7 +8522,7 @@ msgstr "Error de escritura en %s: %s\n"
msgid "Logic error output file should be open but is not.\n"
msgstr "Error lógico, archivo de salida debería estar abierto, pero no esta.\n"
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
#, c-format
msgid "%s stream not supported on this Client.\n"
msgstr "flujo %s no suportado en este Cliente.\n"
@@ -8485,7 +8538,7 @@ msgid "Seek error on %s: %s\n"
msgstr "Buscar error en %s: %s\n"
#: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
#, c-format
msgid "Seek to %s error on %s: ERR=%s\n"
msgstr "Tratar de %s error en %s: ERR=%s\n"
@@ -8495,16 +8548,16 @@ msgstr "Tratar de %s error en %s: ERR=%s\n"
msgid "Uncompression error. ERR=%d\n"
msgstr "Error de descompresión. ERR=%d\n"
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
msgid "GZIP data stream found, but GZIP not configured!\n"
msgstr "Flujo de datos GZIP encontrado, pero GZIP no está configurado!\n"
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
#, c-format
msgid "Compressed header version error. version=0x%x\n"
msgstr ""
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
#, c-format
msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
msgstr ""
@@ -8514,7 +8567,7 @@ msgstr ""
msgid "LZO uncompression error. ERR=%d\n"
msgstr "Error de descompresión. ERR=%d\n"
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
#, c-format
msgid "Compression algorithm 0x%x found, but not supported!\n"
msgstr ""
@@ -8523,7 +8576,7 @@ msgstr ""
msgid "Got Program Name or Data Stream. Ignored.\n"
msgstr "Obtener Nombre de Programa o Secuencia de Datos. Ignorado.\n"
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
#, c-format
msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
msgstr "Flujo desconocido=%d ignorado. Esto no debería suceder!\n"
@@ -8737,26 +8790,22 @@ msgstr "Puerta de la cinta está abierta\n"
msgid "Unexpected Tape is Off-line\n"
msgstr "Inesperado Cinta esta off-line\n"
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
#, c-format
msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
msgstr "Adquirir leer: num_writers=%d no es cero. Empleo %d cancelado.\n"
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
#, c-format
msgid "No volumes specified for reading. Job %s canceled.\n"
msgstr "No se especifica el volumen de lectura. Job %s cancelado.\n"
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
#, c-format
msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
msgstr "Error logico: no hay prójimo volumen para leer. Numvol=%d Curvol=%d\n"
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
#, c-format
msgid ""
"Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
@@ -8765,101 +8814,105 @@ msgstr ""
"Cambiando dispositivo de lectura. Media Type=\"%s\" tiene=\"%s\"\n"
" dispositivo=%s\n"
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
#, c-format
msgid "Media Type change. New read device %s chosen.\n"
msgstr "Cambio Media Type. Nuevo dispositivo de lectura %s elegido.\n"
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
#, c-format
msgid "No suitable device found to read Volume \"%s\"\n"
msgstr "No encuentra dispositivo adecuado para leer Volumen \"%s\"\n"
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
#, c-format
msgid "Job %s canceled.\n"
msgstr "Job %s cancelado.\n"
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
#, c-format
msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr "Fallo al leer dispositivo %s abierto, Volumen \"%s\": ERR=%s\n"
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
#, c-format
msgid "Too many errors trying to mount device %s for reading.\n"
msgstr ""
"Demasiados errores tratando de montar el dispositivo %s para la lectura.\n"
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
#, c-format
msgid "Ready to read from volume \"%s\" on device %s.\n"
msgstr "Listo para leer desde volumen \"%s\" en el dispositivo %s.\n"
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
#, c-format
msgid "Want to append, but device %s is busy reading.\n"
msgstr "Esperando anexar, pero el dispositivo %s está ocupado leyendo.\n"
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
#, c-format
msgid "Could not ready device %s for append.\n"
msgstr "Dispositivo %s puede no está listo para anexar.\n"
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
#: src/stored/block.c:769 src/stored/block.c:847
#, c-format
msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
msgstr "No es posible crear el registro JobMedia para Volumen=\"%s\" Job=%s\n"
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
#, c-format
msgid "Alert: %s"
msgstr "Alerta: %s"
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
#, c-format
msgid "3997 Bad alert command: %s: ERR=%s.\n"
msgstr "3997 Malo comando alerta: %s: ERR=%s.\n"
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
#: src/lib/openssl.c:122 src/lib/openssl.c:181
#, c-format
msgid "Unable to init mutex: ERR=%s\n"
msgstr "No se puede iniciar mutex: ERR=%s\n"
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, fuzzy, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr "No se puede iniciar mutex: ERR=%s\n"
+
+#: src/stored/askdir.c:179
msgid "Network error on bnet_recv in req_vol_info.\n"
msgstr "Error de red en bnet_recv en req_vol_info.\n"
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
#, c-format
msgid "Error getting Volume info: %s"
msgstr "Error al obtener Volumen información: %s"
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
#, c-format
msgid "Didn't get vol info vol=%s: ERR=%s"
msgstr "no recibió información de volumen vol=%s: ERR=%s"
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
#, c-format
msgid "Error creating JobMedia record: ERR=%s\n"
msgstr "Error al crear registro JobMedia: ERR=%s\n"
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
#, c-format
msgid "Error creating JobMedia record: %s\n"
msgstr "Error al crear registro JobMedia: %s\n"
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
msgstr ""
"Job %s cancelado a la espera de montar el dispositivo Storage \"%s\".\n"
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
#, fuzzy, c-format
msgid ""
"Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8874,30 +8927,30 @@ msgstr ""
"Pool: %s\n"
"Tipo de Media: %s\n"
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
#, c-format
msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
msgstr ""
"Tiempo máximo de espera excedido para montar dispositivo Storage %s para el "
"Job %s\n"
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
msgid "pthread error in mount_next_volume.\n"
msgstr "pthread error en mount_next_volume.\n"
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
msgid "Cannot request another volume: no volume name given.\n"
msgstr "No puede solicitar otro volumen: nombre de volumen no entregado.\n"
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
msgstr "Job %s cancelado a la espera de montar el dispositivo Storage %s.\n"
-#: src/stored/askdir.c:622
-#, c-format
+#: src/stored/askdir.c:624
+#, fuzzy, c-format
msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
@@ -8909,10 +8962,10 @@ msgstr ""
" Pool: %s\n"
" Media type: %s\n"
-#: src/stored/askdir.c:628
-#, c-format
+#: src/stored/askdir.c:630
+#, fuzzy, c-format
msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
@@ -8924,7 +8977,7 @@ msgstr ""
" Pool: %s\n"
" Media type: %s\n"
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
msgid "pthread error in mount_volume\n"
msgstr "pthread error en mount_volume\n"
@@ -9304,33 +9357,33 @@ msgstr "Intento de leer sesión no abierta.\n"
msgid "Attempt to open read on non-open session.\n"
msgstr "Intento de abrir leer sesión no abierta.\n"
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
#, c-format
msgid "Too many errors trying to mount device %s.\n"
msgstr "Demasiados errores tratando de montar el dispositivo %s.\n"
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
#, c-format
msgid "Job %d canceled.\n"
msgstr "Job %d cancelado.\n"
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
#, c-format
msgid "Volume \"%s\" previously written, moving to end of data.\n"
msgstr "Volumen \"%s\" previamente escrito, moviendo a finales de los datos.\n"
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
#, c-format
msgid "Unable to position to end of data on device %s: ERR=%s\n"
msgstr ""
"No se puede posicionar al final los datos en el dispositivo %s: ERR=%s\n"
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
#, c-format
msgid "Volume \"%s\" not on device %s.\n"
msgstr "Volumen \"%s\" no en dispositivo %s.\n"
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
#, c-format
msgid ""
"Director wanted Volume \"%s\".\n"
@@ -9341,12 +9394,12 @@ msgstr ""
" Volumen actual \"%s\" no es aceptable porque:\n"
" %s"
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
#, c-format
msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
msgstr "Listo para anexar al final del Volumen \"%s\" parte=%d tamaño=%s\n"
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
#, c-format
msgid ""
"Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
@@ -9355,12 +9408,12 @@ msgstr ""
"Bacula no puedo escribir en el volumen DVD \"%s\" porque: Los tamaños no "
"coinciden! Volumen=%s Catálogo=%s\n"
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
#, c-format
msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
msgstr "Listo para anexar al final del volumen \"%s\" en el archivo=%d\n"
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
#, fuzzy, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -9370,12 +9423,12 @@ msgstr ""
"Bacula no puede escribir en el Volumen de cinta \"%s\" porque:\n"
"El número de archivos de desfasa! Volumen=%u Catalogo=%u\n"
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
#, fuzzy
msgid "Error updating Catalog\n"
msgstr "Error abriendo archivo de datos %s\n"
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
#, c-format
msgid ""
"Bacula cannot write on tape Volume \"%s\" because:\n"
@@ -9384,12 +9437,12 @@ msgstr ""
"Bacula no puede escribir en el Volumen de cinta \"%s\" porque:\n"
"El número de archivos de desfasa! Volumen=%u Catalogo=%u\n"
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
#, c-format
msgid "Ready to append to end of Volume \"%s\" size=%s\n"
msgstr "Listo para anexar al final del volumen \"%s\" tamaño=%s\n"
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
#, fuzzy, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -9399,7 +9452,7 @@ msgstr ""
"Bacula no puedo escribir en el volumen DVD \"%s\" porque: Los tamaños no "
"coinciden! Volumen=%s Catálogo=%s\n"
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
#, c-format
msgid ""
"Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
@@ -9408,22 +9461,22 @@ msgstr ""
"Bacula no puede escribir en el Volumen de cinta \"%s\" porque:Los tamaños no "
"coinciden! Volumen=%s Catalogo=%s\n"
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
#, c-format
msgid "Labeled new Volume \"%s\" on device %s.\n"
msgstr "Etiquetada nuevo Volumen \"%s\" en el dispositivo %s.\n"
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
#, c-format
msgid "Device %s not configured to autolabel Volumes.\n"
msgstr "Dispositivo %s no configurado para volúmenes autolabel.\n"
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
#, c-format
msgid "Marking Volume \"%s\" in Error in Catalog.\n"
msgstr "Marcado volumen \"%s\" en Error en el Catálogo.\n"
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
#, c-format
msgid ""
"Autochanger Volume \"%s\" not found in slot %d.\n"
@@ -9432,11 +9485,11 @@ msgstr ""
"Volumen auto-cambiador \"%s\" no se encuentra en la ranura %d\n"
"Estableciendo InChanger a cero en el catálogo.\n"
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
msgstr "Hey !!!!! No WroteVol cero !!!!!\n"
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
#, c-format
msgid ""
"Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
@@ -9444,7 +9497,7 @@ msgstr ""
"Posición de la cinta no válida en el volumen \"%s\" en el dispositivo %s. "
"Esperaba %d, obtuvo %d\n"
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
#, c-format
msgid "Cannot open Dev=%s, Vol=%s\n"
msgstr "No se puede abrir Dev=%s, Vol=%s\n"
@@ -9538,7 +9591,7 @@ msgstr ""
"Tiempo transcurrido desencolando = %02d:%02d:%02d, Tasa de transferencia = "
"%s Bytes/segundo\n"
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
#, c-format
msgid "Ftruncate spool file failed: ERR=%s\n"
msgstr "Fallo ftruncate archivo de cola: ERR=%s\n"
@@ -9569,24 +9622,33 @@ msgstr "Bloque de la cola demasiado grande. Máximo %u bytes, obtuvo %u\n"
msgid "Spool data read error. Wanted %u bytes, got %d\n"
msgstr "Error de lectura de datos de la cola. Esperaba %u bytes, obtuvo %d\n"
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, fuzzy, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
+msgstr "Tamaño de cola especificada por el usuario alcanzado.\n"
+
+#: src/stored/spool.c:485
+#, fuzzy, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
msgstr "Tamaño de cola especificada por el usuario alcanzado.\n"
-#: src/stored/spool.c:489
+#: src/stored/spool.c:492
msgid "Bad return from despool in write_block.\n"
msgstr "Malo retorno desde despool en write_block.\n"
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
msgid "Spooling data again ...\n"
msgstr "Encolando datos de nuevo ...\n"
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
#, c-format
msgid "Error writing header to spool file. ERR=%s\n"
msgstr "Error escribiendo encabezado para archivo de cola. ERR=%s\n"
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
#, c-format
msgid ""
"Error writing header to spool file. Disk probably full. Attempting recovery. "
@@ -9595,53 +9657,53 @@ msgstr ""
"Error al escribir encabezado al archivo de cola. Probablemente disco lleno. "
"Intentando recuperación. Esperaba escribir=%d tiene=%d\n"
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
msgid "Fatal despooling error."
msgstr "Error fatal desencolando."
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
msgid "Retrying after header spooling error failed.\n"
msgstr "Fallido reintento después de error encolando encabezado.\n"
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
#, c-format
msgid "Error writing data to spool file. ERR=%s\n"
msgstr "Error escribiendo datos en archivo de cola. ERR=%s\n"
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
msgid "Retrying after data spooling error failed.\n"
msgstr "Fallido reintento después de error encolando dato.\n"
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
msgid "Network error on BlastAttributes.\n"
msgstr "Error de red en BlastAttributes.\n"
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
#, c-format
msgid "Fseek on attributes file failed: ERR=%s\n"
msgstr "Fallo fseek en los atributos de archivo: ERR=%s\n"
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
#, fuzzy, c-format
msgid "Truncate on attributes file failed: ERR=%s\n"
msgstr "Fallo fseek en los atributos de archivo: ERR=%s\n"
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
#, c-format
msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
msgstr "Enviando attrs encolados al Director. Desencolando %s bytes ...\n"
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
#, c-format
msgid "fopen attr spool file %s failed: ERR=%s\n"
msgstr "Fallo fopen en archivo %s de atributo de cola: ERR=%s\n"
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
#, c-format
msgid "pthread_cond_wait failure. ERR=%s\n"
msgstr "pthread_cond_wait fallido. ERR=%s\n"
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
msgid "unknown blocked code"
msgstr "Código desconocido bloqueado"
@@ -9774,6 +9836,21 @@ msgstr ""
msgid "Unable to init cond variable: ERR=%s\n"
msgstr "No se puede iniciar variable cond: ERR=%s\n"
+#: src/stored/dev.c:288
+#, fuzzy, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr "No se puede iniciar mutex: ERR=%s\n"
+
+#: src/stored/dev.c:294
+#, fuzzy, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr "No se puede iniciar mutex: ERR=%s\n"
+
+#: src/stored/dev.c:300
+#, fuzzy, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr "No se puede iniciar mutex: ERR=%s\n"
+
#: src/stored/dev.c:416
msgid "Illegal mode given to open dev.\n"
msgstr "Modo ilegal dado para abrir dev.\n"
@@ -10146,7 +10223,7 @@ msgstr "SOS_LABEL: VolSessTime desajustado para JobId=%u. BD=%d Vol=%d\n"
msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
msgstr "SOS_LABEL: PoolId diferente para JobId=%u. BD=%d Vol=%d\n"
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
#, c-format
msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
msgstr "No se pudo encontrar SessId=%d SessTime=%d para registro EOS.\n"
@@ -10204,109 +10281,109 @@ msgstr "Obtuvo Stream Nombres de Programas: %s\n"
msgid "Got Prog Data Stream record.\n"
msgstr "Obtuvo Registro Stream Datos de Programas: %s\n"
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
#, c-format
msgid "Unknown stream type!!! stream=%d len=%i\n"
msgstr "Tipo de flujo desconocido!!! stream=%d len=%i\n"
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
#, c-format
msgid "Could not create File Attributes record. ERR=%s\n"
msgstr "No se pudo crear el registro de Archivos de Atributos. ERR=%s\n"
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
#, c-format
msgid "Created File record: %s\n"
msgstr "Registro Archivo creado: %s\n"
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
#, c-format
msgid "Could not create media record. ERR=%s\n"
msgstr "No es posible crear registro media. ERR=%s\n"
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
#, c-format
msgid "Could not update media record. ERR=%s\n"
msgstr "No es posible actualizar registro media. ERR=%s\n"
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
#, c-format
msgid "Created Media record for Volume: %s\n"
msgstr "Creado Registro Media para Volumen: %s\n"
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
#, c-format
msgid "Updated Media record at end of Volume: %s\n"
msgstr "Actualizado el registro Media al final del Volumen: %s\n"
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
#, c-format
msgid "Could not create pool record. ERR=%s\n"
msgstr "No es posible crear el registro Pool. ERR=%s\n"
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
#, c-format
msgid "Created Pool record for Pool: %s\n"
msgstr "Creado el registro Pool para Pool: %s\n"
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
#, c-format
msgid "Could not get Client record. ERR=%s\n"
msgstr "No se ha podido obtener el registro del cliente. ERR=%s\n"
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
#, c-format
msgid "Created Client record for Client: %s\n"
msgstr "Creado registro Cliente para Cliente: %s\n"
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
#, c-format
msgid "Fileset \"%s\" already exists.\n"
msgstr "Fileset \"%s\" ya existe.\n"
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
#, c-format
msgid "Could not create FileSet record \"%s\". ERR=%s\n"
msgstr "No es posible crear registro FileSet \"%s\". ERR=%s\n"
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
#, c-format
msgid "Created FileSet record \"%s\"\n"
msgstr "Creado registro FileSet \"%s\"\n"
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
#, c-format
msgid "Could not create JobId record. ERR=%s\n"
msgstr "No es posible crear registro JobId. ERR=%s\n"
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
#, c-format
msgid "Could not update job start record. ERR=%s\n"
msgstr "No se pudo actualizar el registro job de inicio. ERR=%s\n"
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
#, c-format
msgid "Created new JobId=%u record for original JobId=%u\n"
msgstr "Creado nuevo registro JobId=%u para JobId=%u original\n"
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
#, c-format
msgid "Could not update JobId=%u record. ERR=%s\n"
msgstr "No se puede actualizar registro JobId=%u. ERR=%s\n"
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
#, c-format
msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
msgstr ""
"Actualizado el registro de terminación de Job para JobId=%u Nivel=%s "
"TermStat=%c\n"
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
#, c-format
msgid "Job Termination code: %d"
msgstr "Código de Terminación del Job: %d"
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
#, c-format
msgid ""
"%s\n"
@@ -10341,27 +10418,27 @@ msgstr ""
"Terminación: %s\n"
"\n"
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
#, c-format
msgid "Could not create JobMedia record. ERR=%s\n"
msgstr "No es posible crear registro JobMedia. ERR=%s\n"
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
#, c-format
msgid "Created JobMedia record JobId %d, MediaId %d\n"
msgstr "Creado registro JobMedia JobID %d, MediaID %d\n"
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
#, c-format
msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
msgstr "No se pudo encontrar SessId=%d SessTime=%d para registro MD5/SHA1.\n"
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
#, c-format
msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
msgstr "No se pudo agregar MD5/SHA1 al registro File. ERR=%s\n"
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
msgid "Updated MD5/SHA1 record\n"
msgstr "Actualizado registro MD5/SHA1\n"
@@ -12796,40 +12873,40 @@ msgstr ""
" Por favor vea http://www.bacula.org/en/rel-manual/"
"Bacula_Freque_Asked_Questi.html#SECTION003760000000000000000 para ayuda.\n"
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
#, c-format
msgid "Could not open console message file %s: ERR=%s\n"
msgstr "No puede abrir el archivo de mensajes de la consola %s: ERR=%s\n"
-#: src/lib/message.c:376
+#: src/lib/message.c:377
#, c-format
msgid "Could not get con mutex: ERR=%s\n"
msgstr "No se pudo obtener con mutex: ERR=%s\n"
-#: src/lib/message.c:481
+#: src/lib/message.c:482
msgid "Bacula Message"
msgstr "Bacula Message"
-#: src/lib/message.c:485
+#: src/lib/message.c:486
#, c-format
msgid "open mail pipe %s failed: ERR=%s\n"
msgstr "Fallo al abrir tubería de correo %s: ERR=%s\n"
-#: src/lib/message.c:553
+#: src/lib/message.c:577
msgid "open mail pipe failed.\n"
msgstr "Fallo al abrir tubería de correo .\n"
-#: src/lib/message.c:565
+#: src/lib/message.c:590
#, c-format
msgid "close error: ERR=%s\n"
msgstr "Error al cerrar: ERR=%s\n"
-#: src/lib/message.c:576
+#: src/lib/message.c:601
#, c-format
msgid "Mail prog: %s"
msgstr "Programa de Correo: %s"
-#: src/lib/message.c:585
+#: src/lib/message.c:610
#, c-format
msgid ""
"Mail program terminated in error.\n"
@@ -12840,12 +12917,16 @@ msgstr ""
"CMD=%s\n"
"ERR=%s\n"
-#: src/lib/message.c:684
+#: src/lib/message.c:713
#, c-format
msgid "fopen %s failed: ERR=%s\n"
msgstr "fopen %s ha fallado: ERR=%s\n"
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
#, fuzzy, c-format
msgid ""
"Msg delivery error: Operator mail program terminated in error.\n"
@@ -12856,77 +12937,77 @@ msgstr ""
"CMD=%s\n"
"ERR=%s\n"
-#: src/lib/message.c:878
+#: src/lib/message.c:911
#, fuzzy, c-format
msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
msgstr "fopen %s ha fallado: ERR=%s\n"
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
#, c-format
msgid "%s: ABORTING due to ERROR in %s:%d\n"
msgstr "%s: ABORTADO debido a un ERROR en %s:%d\n"
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
#, c-format
msgid "%s: ERROR TERMINATION at %s:%d\n"
msgstr "%s: ERROR DE TERMINACIÓN en %s:%d\n"
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
#, c-format
msgid "%s: Fatal Error because: "
msgstr "%s: Error Fatal porque: "
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
#, c-format
msgid "%s: Fatal Error at %s:%d because:\n"
msgstr "%s: Error Fatal en %s:%d porque:\n"
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
#, c-format
msgid "%s: ERROR: "
msgstr "%s: ERROR: "
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
#, c-format
msgid "%s: ERROR in %s:%d "
msgstr "%s: ERROR en %s:%d "
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
#, c-format
msgid "%s: Warning: "
msgstr "%s: Advertencia: "
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
#, c-format
msgid "%s: Security violation: "
msgstr "%s: Violación de seguridad: "
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
#, c-format
msgid "%s ABORTING due to ERROR\n"
msgstr "%s: ABORTADO debido a un ERROR\n"
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
#, c-format
msgid "%s ERROR TERMINATION\n"
msgstr "%s: ERROR DE TERMINACIÓN\n"
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
#, c-format
msgid "%s JobId %u: Fatal error: "
msgstr "%s JobId %u: Error Fatal: "
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
#, c-format
msgid "%s JobId %u: Error: "
msgstr "%s JobId %u: Error: "
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
#, c-format
msgid "%s JobId %u: Warning: "
msgstr "%s JobId %u: Advertencia: "
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
#, c-format
msgid "%s JobId %u: Security violation: "
msgstr "%s JobId %u: Violación de seguridad: "
@@ -12980,75 +13061,6 @@ msgstr "No se pudo agregar job a la cola de cliente: ERR=%s\n"
msgid "Could not destroy client queue: ERR=%s\n"
msgstr "No es posible destruir la cola de cliente: ERR=%s\n"
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr "Error de escritura en cola de atributo. ERR=%s\n"
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr "Ha fallado la conexión de inicialización TLS.\n"
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr "Negociación TLS fallida.\n"
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-"Comprobación de certificados TLS fallido. Certificado equivalente no "
-"corresponde con el commonName requerido\n"
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-"Fallo en verificación en certificado TLS de la maquina. Nombre de la maquina "
-"\"%s\" no coincide con el certificado presentado\n"
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr "TLS activado, pero no configurado.\n"
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr "TLS permitido, pero no configurado.\n"
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr "No hay problema."
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr "Respuesta autoritativa para el host no encontrado."
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr "Non-autoritativa para la maquina no encontrada, o ServerFail."
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr "Errores no recuperables, FORMERR, RECHAZADO o NOTIMP."
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr "Nombre válido, ningún registro de datos del tipo solicitado."
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr "Error desconocido."
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr "Sig desconocido %d"
-
#: src/lib/bpipe.c:361 src/lib/bpipe.c:444
msgid "Program killed by Bacula (timeout)\n"
msgstr "Programa finalizado(killed) por Bacula (timeout) \n"
@@ -13500,7 +13512,7 @@ msgstr "Tipo Desconocido"
msgid "Truncate"
msgstr "Truncar"
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
msgid "None"
msgstr "Ninguno"
@@ -13550,7 +13562,7 @@ msgstr "Invalido estado de volumen"
#: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
#: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
msgid "*none*"
msgstr "*ninguno*"
@@ -13771,7 +13783,7 @@ msgstr "JCR use_count=%d JobId=%d\n"
msgid "pthread_setspecific failed: ERR=%s\n"
msgstr "fallo pthread_setspecific: ERR=%s\n"
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Storage "
@@ -13780,7 +13792,7 @@ msgstr ""
"Watchdog envío kill después de %d segundos para hilo estancado leyendo "
"demonio Storage.\n"
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
@@ -13788,7 +13800,7 @@ msgstr ""
"Watchdog envío kill después de %d segundos para hilo estancado leyendo "
"demonio File.\n"
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -13983,203 +13995,275 @@ msgstr "Niño muerto con la señal %d: %s"
msgid "Invalid errno. No error message possible."
msgstr "Invalido errorno. Imposible mensaje de error."
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr "Error de escritura en cola de atributo. ERR=%s\n"
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr "Ha fallado la conexión de inicialización TLS.\n"
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr "Negociación TLS fallida.\n"
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+"Comprobación de certificados TLS fallido. Certificado equivalente no "
+"corresponde con el commonName requerido\n"
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+"Fallo en verificación en certificado TLS de la maquina. Nombre de la maquina "
+"\"%s\" no coincide con el certificado presentado\n"
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr "TLS activado, pero no configurado.\n"
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr "TLS permitido, pero no configurado.\n"
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr "No hay problema."
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr "Respuesta autoritativa para el host no encontrado."
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr "Non-autoritativa para la maquina no encontrada, o ServerFail."
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr "Errores no recuperables, FORMERR, RECHAZADO o NOTIMP."
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr "Nombre válido, ningún registro de datos del tipo solicitado."
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr "Error desconocido."
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr "Sig desconocido %d"
+
#: src/lib/signal.c:67
msgid "Invalid signal number"
msgstr "Número de la señal no válida"
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
#, c-format
msgid "Bacula interrupted by signal %d: %s\n"
msgstr "Bacula interrumpido por señal %d: %s\n"
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
#, c-format
msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
msgstr "Kaboom! %s, %s obtuvo la señal %d - %s. Intentando rastreo.\n"
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
#, c-format
msgid "Kaboom! exepath=%s\n"
msgstr "Kaboom! exepath=%s\n"
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
#, c-format
msgid "Fork error: ERR=%s\n"
msgstr "Fork error: ERR=%s\n"
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
#, c-format
msgid "Calling: %s %s %s %s\n"
msgstr "Llamando: %s %s %s %s\n"
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
#, c-format
msgid "execv: %s failed: ERR=%s\n"
msgstr "execv: %s ha fallado: ERR=%s\n"
-#: src/lib/signal.c:235
-#, c-format
-msgid "It looks like the traceback worked ...\n"
+#: src/lib/signal.c:244
+#, fuzzy, c-format
+msgid "It looks like the traceback worked...\n"
msgstr "Parece que el rastreo trabaja ...\n"
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
#, c-format
msgid "BA_NSIG too small (%d) should be (%d)\n"
msgstr "BA_NSIG demasiado pequeño (%d) debe ser (%d)\n"
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
msgid "UNKNOWN SIGNAL"
msgstr "SEÑAL DESCONOCIDA"
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
msgid "Hangup"
msgstr "Colgar"
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
msgid "Interrupt"
msgstr "Interrumpir"
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
msgid "Quit"
msgstr "Salir"
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
msgid "Illegal instruction"
msgstr "Instrucción ilegal"
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
msgid "Trace/Breakpoint trap"
msgstr "Trace/Trampa de Punto de Interrupción"
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
msgid "Abort"
msgstr "Anular"
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
msgid "EMT instruction (Emulation Trap)"
msgstr "Instrucción EMT (Emulación de Trampa)"
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
msgid "IOT trap"
msgstr "trampa IOT"
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
msgid "BUS error"
msgstr "BUS error"
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
msgid "Floating-point exception"
msgstr "Excepción de punto flotante"
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
msgid "Kill, unblockable"
msgstr "Matar, imbloqueable"
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
msgid "User-defined signal 1"
msgstr "Señal 1 definida por el usuario"
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
msgid "Segmentation violation"
msgstr "Violación de segmento"
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
msgid "User-defined signal 2"
msgstr "Señal definida por el usuario 2"
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
msgid "Broken pipe"
msgstr "Tubería rota"
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
msgid "Alarm clock"
msgstr "Alarma"
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
msgid "Termination"
msgstr "Terminación"
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
msgid "Stack fault"
msgstr "Error de pila"
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
msgid "Child status has changed"
msgstr "El estado de hijo ha cambiado"
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
msgid "Continue"
msgstr "Continue"
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
msgid "Stop, unblockable"
msgstr "Detener, imbloqueable"
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
msgid "Keyboard stop"
msgstr "Teclado detenido"
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
msgid "Background read from tty"
msgstr "Leer en segundo plan desde tty"
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
msgid "Background write to tty"
msgstr "Escribir en segundo plan al tty"
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
msgid "Urgent condition on socket"
msgstr "Condición de urgencia en el socket"
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
msgid "CPU limit exceeded"
msgstr "Limite de CPU superado"
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
msgid "File size limit exceeded"
msgstr "Superado el límite de tamaño de archivo"
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
msgid "Virtual alarm clock"
msgstr "Despertador virtual"
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
msgid "Profiling alarm clock"
msgstr "Perfiles de alarma"
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
msgid "Window size change"
msgstr "Cambiar el tamaño de la ventana"
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
msgid "I/O now possible"
msgstr "I/O posible ahora"
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
msgid "Power failure restart"
msgstr "Fallo reiniciar energía"
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
msgid "No runnable lwp"
msgstr "LWP no ejecutable"
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
msgid "SIGLWP special signal used by thread library"
msgstr "La señal especial SIGLWP utilizado por la biblioteca del hilo"
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
msgid "Checkpoint Freeze"
msgstr "Checkpoint de Congelación"
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
msgid "Checkpoint Thaw"
msgstr "Checkpoint de Thaw"
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
msgid "Thread Cancellation"
msgstr "Cancelación de Hilo"
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
msgid "Resource Lost (e.g. record-lock lost)"
msgstr "Recurso Perdido (por ejemplo, registro de bloqueo perdido)"
@@ -14209,30 +14293,30 @@ msgstr "stop_btimer llamado con NULL btimer_id\n"
msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
msgstr "No se ha podido compilar patrón regex \"%s\" ERR=%s\n"
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
#, c-format
msgid "Out of memory: ERR=%s\n"
msgstr "Fuera de memoria: ERR=%s\n"
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
msgid "Buffer overflow.\n"
msgstr "Desbordamiento de búfer.\n"
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
msgid "Bad errno"
msgstr "Malo errno"
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
#, c-format
msgid "Memset for %d bytes at %s:%d\n"
msgstr "Memset para %d bytes en %s:%d\n"
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
#, c-format
msgid "Cannot open pid file. %s ERR=%s\n"
msgstr "No se puede abrir el archivo pid. %s ERR=%s\n"
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
#, c-format
msgid ""
"%s is already running. pid=%d\n"
@@ -14241,17 +14325,17 @@ msgstr ""
"%s ya está en ejecución. pid=%d\n"
"Compruebe el archivo %s\n"
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
#, c-format
msgid "Could not open pid file. %s ERR=%s\n"
msgstr "No se pudo abrir el archivo pid. %s ERR=%s\n"
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
#, c-format
msgid "Could not create state file. %s ERR=%s\n"
msgstr "No es posible crear el archivo de estado. %s ERR=%s\n"
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
#, c-format
msgid "Write final hdr error: ERR=%s\n"
msgstr "Error de escritura HDR final: ERR=%s\n"
@@ -14303,7 +14387,7 @@ msgstr "Error de configuración: %s\n"
msgid "Close of NULL file\n"
msgstr "Cierre de archivo NULL\n"
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
msgid ""
"get_char: called after EOF. You may have a open double quote without the "
"closing double quote.\n"
@@ -14311,63 +14395,63 @@ msgstr ""
"get_char: llamado después de EOF. Usted puede tener una comilla doble "
"abierta sin el cierre de comillas dobles.\n"
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
#, c-format
msgid "Config token too long, file: %s, line %d, begins at line %d\n"
msgstr ""
"Configuración de señal demasiado largo, archivo: %s, línea %d, se inicia en "
"la línea %d\n"
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
msgid "none"
msgstr "ninguno"
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
msgid "comment"
msgstr "comentario"
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
msgid "number"
msgstr "numero"
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
msgid "ip_addr"
msgstr "ip_addr"
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
msgid "identifier"
msgstr "identificar"
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
msgid "string"
msgstr "cadena"
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
msgid "quoted_string"
msgstr "quoted_string"
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
msgid "include"
msgstr "incluir"
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
msgid "include_quoted_string"
msgstr "include_quoted_string"
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
msgid "UTF-8 Byte Order Mark"
msgstr "Marca de Orden de UTF-8 Byte"
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
msgid "UTF-16le Byte Order Mark"
msgstr "Marca de Orden de UTF-16le Byte"
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
#, c-format
msgid "expected a positive integer number, got: %s"
msgstr "esperaba un numero entero positivo, obtuvo: %s"
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
msgid ""
"This config file appears to be in an unsupported Unicode format (UTF-16be). "
"Please resave as UTF-8\n"
@@ -14375,32 +14459,32 @@ msgstr ""
"Este archivo de configuración parece estar en un formato no compatible con "
"Unicode (UTF-16be). Por favor, vuelva a guardar como UTF-8\n"
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
#, c-format
msgid "Cannot open included config file %s: %s\n"
msgstr "No se puede abrir el archivo de configuración incluido %s: %s\n"
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
#, c-format
msgid "expected an integer or a range, got %s: %s"
msgstr "esperaba un numero entero o un rango, obtuvo %s: %s"
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
#, c-format
msgid "expected an integer number, got %s: %s"
msgstr "esperaba un numero entero, obtuvo %s: %s"
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
#, c-format
msgid "expected a name, got %s: %s"
msgstr "esperaba un nombre, obtuvo %s: %s"
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
#, c-format
msgid "name %s length %d too long, max is %d\n"
msgstr "nombre %s longitud %d demasiado largo, el máximo es %d\n"
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
#, c-format
msgid "expected a string, got %s: %s"
msgstr "esperaba una cadena, obtuvo %s: %s"
@@ -15095,46 +15179,61 @@ msgstr "Atributos ACL de acceso específicos de FreeBSD"
#: src/findlib/bfile.c:191
#, fuzzy
+msgid "GNU Hurd Specific Default ACL attribs"
+msgstr "Atributos ACL por defecto específicos de Irix"
+
+#: src/findlib/bfile.c:193
+#, fuzzy
+msgid "GNU Hurd Specific Access ACL attribs"
+msgstr "Atributos ACL de acceso específicos de Irix"
+
+#: src/findlib/bfile.c:195
+#, fuzzy
+msgid "GNU Hurd Specific Extended attribs"
+msgstr "Atributos Extendidos Específicos de Linux"
+
+#: src/findlib/bfile.c:197
+#, fuzzy
msgid "IRIX Specific Extended attribs"
msgstr "Atributos Extendidos Específicos de Linux"
-#: src/findlib/bfile.c:193
+#: src/findlib/bfile.c:199
#, fuzzy
msgid "TRU64 Specific Extended attribs"
msgstr "Atributos Extendidos Específicos de Linux"
-#: src/findlib/bfile.c:195
+#: src/findlib/bfile.c:201
#, fuzzy
msgid "AIX Specific Extended attribs"
msgstr "Atributos Extendidos Específicos de Linux"
-#: src/findlib/bfile.c:197
+#: src/findlib/bfile.c:203
msgid "OpenBSD Specific Extended attribs"
msgstr "Atributos Extendidos específicos de OpenBSD"
-#: src/findlib/bfile.c:199
+#: src/findlib/bfile.c:205
msgid "Solaris Specific Extensible attribs or System Extended attribs"
msgstr ""
"Atributos extensible específicos de Solaris o atributos de Sistema de "
"Extensión"
-#: src/findlib/bfile.c:201
+#: src/findlib/bfile.c:207
msgid "Solaris Specific Extended attribs"
msgstr "Atributos Extendidos Específicos de Solaris"
-#: src/findlib/bfile.c:203
+#: src/findlib/bfile.c:209
msgid "Darwin Specific Extended attribs"
msgstr "Atributos Extendidos Específicos de Darwin"
-#: src/findlib/bfile.c:205
+#: src/findlib/bfile.c:211
msgid "FreeBSD Specific Extended attribs"
msgstr "Atributos Extendidos Específicos de FreeBSD"
-#: src/findlib/bfile.c:207
+#: src/findlib/bfile.c:213
msgid "Linux Specific Extended attribs"
msgstr "Atributos Extendidos Específicos de Linux"
-#: src/findlib/bfile.c:209
+#: src/findlib/bfile.c:215
msgid "NetBSD Specific Extended attribs"
msgstr "Atributos Extendidos Específicos de NetBSD"
@@ -15148,27 +15247,27 @@ msgstr "Plugin=%s no encontrado.\n"
msgid "Unknown include/exclude option: %c\n"
msgstr "Opción incluir/excluir desconocida: %c\n"
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
#, c-format
msgid " NODUMP flag set - will not process %s\n"
msgstr "Indicador NODUMP establecido - no procesará %s\n"
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
#, c-format
msgid "Cannot stat file %s: ERR=%s\n"
msgstr "No puede stat archivo %s: ERR=%s\n"
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
#, c-format
msgid "%s mtime changed during backup.\n"
msgstr "%s mtime cambiado durante la copia de seguridad.\n"
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
#, c-format
msgid "%s ctime changed during backup.\n"
msgstr "%s ctime cambiado durante la copia de seguridad.\n"
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
#, c-format
msgid "%s size changed during backup.\n"
msgstr "%s tamaño cambiado durante la copia de seguridad.\n"
@@ -17168,6 +17267,11 @@ msgstr "====\n"
msgid " SDSocket=closed\n"
msgstr "SDSocket cerrado.\n"
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr "Comando .status malo: %s\n"
+
#: src/filed/status.c:464
msgid "2900 Bad .status command, missing argument.\n"
msgstr "2900 Malo comando .status, falta argumento.\n"
@@ -17196,233 +17300,233 @@ msgstr "Bacula Cliente: Ultimo Job Fallido"
msgid "Bacula Client: Last Job had Warnings"
msgstr "Bacula Cliente: Ultimo Job con Advertencias"
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
#: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
#, c-format
msgid "Network send error to SD. ERR=%s\n"
msgstr "Error de red al enviar para SD. ERR=%s\n"
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
#, c-format
msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
msgstr "Flujo xattr ilegal, no hay XATTR_MAGIC en el archivo \"%s\"\n"
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
#, fuzzy, c-format
msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
msgstr ""
"Ilegal flujo xattr, fallo al analizar flujo xattr en el archivo \"%s\"\n"
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
#, fuzzy, c-format
msgid "llistea error on file \"%s\": ERR=%s\n"
msgstr "error de llistxattr en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
#, fuzzy, c-format
msgid "lgetea error on file \"%s\": ERR=%s\n"
msgstr "error de getacl en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
#, c-format
msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
msgstr "Flujo Xattr en el archivo \"%s\" excede el máximo tamaño de %d bytes\n"
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
#, c-format
msgid "Failed to serialize extended attributes on file \"%s\"\n"
msgstr "No se pudo serializar los atributos extendidos en el archivo \"%s\"\n"
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
#, fuzzy, c-format
msgid "lsetea error on file \"%s\": ERR=%s\n"
msgstr "setacl error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
#, fuzzy, c-format
msgid "attr_list error on file \"%s\": ERR=%s\n"
msgstr "error de extattr_list_link en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
#, fuzzy, c-format
msgid "Received illegal xattr named %s on file \"%s\"\n"
msgstr "Flujo xattr ilegal, no hay XATTR_MAGIC en el archivo \"%s\"\n"
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
#, fuzzy, c-format
msgid "attr_set error on file \"%s\": ERR=%s\n"
msgstr "error de acl_set en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
#, c-format
msgid "llistxattr error on file \"%s\": ERR=%s\n"
msgstr "error de llistxattr en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
#, c-format
msgid "lgetxattr error on file \"%s\": ERR=%s\n"
msgstr "error de lgetxattr en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
#, c-format
msgid "lsetxattr error on file \"%s\": ERR=%s\n"
msgstr "error de lsetxattr en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
#, c-format
msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
msgstr "error de extattr_list_link en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
#, c-format
msgid "Failed to convert %d into namespace on file \"%s\"\n"
msgstr "No se pudo convertir %d al namespace en el archivo \"%s\"\n"
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
#, c-format
msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
msgstr "error de extattr_get_link en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
#, c-format
msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
msgstr ""
"No se ha podido separar %s en el namespace y parte del nombre en el archivo "
"\"%s\"\n"
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
#, c-format
msgid "Failed to convert %s into namespace on file \"%s\"\n"
msgstr "No se pudo convertir %s al namespace en el archivo \"%s\"\n"
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
#, c-format
msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
msgstr "error de extattr_set_link en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
#, fuzzy, c-format
msgid "getproplist error on file \"%s\": ERR=%s\n"
msgstr "error de getacl en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
#, fuzzy, c-format
msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
msgstr "No es posible leer el contenido de xattr %s en el archivo \"%s\"\n"
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
#, fuzzy, c-format
msgid "setproplist error on file \"%s\": ERR=%s\n"
msgstr "strtoacl error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
#, c-format
msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
msgstr "No se puede obtener acl en xattr %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
#, c-format
msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
"No se puede obtener acl texto en xattr %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
#, c-format
msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
msgstr "No se puede obtener estado en xattr %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
#, c-format
msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
msgstr "No se puede abrir xattr %s en \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
#, c-format
msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
msgstr "No se puede leer symlin %s en \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
#, c-format
msgid "Unable to read content of xattr %s on file \"%s\"\n"
msgstr "No es posible leer el contenido de xattr %s en el archivo \"%s\"\n"
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
#, c-format
msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
msgstr "No se puede chdir a xattr espacio de archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
#, c-format
msgid "Unable to open file \"%s\": ERR=%s\n"
msgstr "No se puede abrir el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
#, c-format
msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
msgstr "No se puede abrir espacio xattr %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
#, c-format
msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
msgstr "No se puede chdir a xattr espacio en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
#, c-format
msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
msgstr "No se puede listar el xattr espacio en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
#, c-format
msgid "Unable to convert acl from text on file \"%s\"\n"
msgstr "No se puede convertir acl de texto en el archivo \"%s\"\n"
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
#, c-format
msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
msgstr "No se puede restablecer acl de xattr %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
#, c-format
msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
msgstr "No se puede abrir xattr espacio en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
#, c-format
msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
msgstr "No se puede abrir xattr %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
#, c-format
msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
msgstr "No se puede chdir a xattr espacio de %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
#, c-format
msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
msgstr "No se puede mkfifo xattr %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
#, c-format
msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
msgstr "No se puede mknode xattr %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
#, c-format
msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
msgstr "No se puede mkdir xattr %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
#, c-format
msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr "No se puede link xattr %s para %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
#, c-format
msgid ""
"Unable to restore data of xattr %s on file \"%s\": Not all data available in "
@@ -17431,53 +17535,53 @@ msgstr ""
"No se puede restaurar los datos de xattr %s en el archivo \"%s\": No todos "
"los datos disponibles en flujo xattr\n"
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
#, c-format
msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
"No se puede restaurar los datos de xattr %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
#, c-format
msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr "No se puede symlink xattr %s para %s en el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
#, c-format
msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
"No es posible restablecer el propietario de xattr %s en el archivo \"%s\": "
"ERR=%s\n"
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
#, c-format
msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
"No es posible restablecer filetimes de xattr %s en el archivo \"%s\": ERR="
"%s\n"
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
#, c-format
msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
msgstr ""
"Ilegal flujo xattr, fallo al analizar flujo xattr en el archivo \"%s\"\n"
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
#, c-format
msgid "Failed to restore extensible attributes on file \"%s\"\n"
msgstr "Fallo al restablecer atributos extensible en el archivo \"%s\"\n"
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
#, c-format
msgid "Failed to restore extended attributes on file \"%s\"\n"
msgstr "Fallo al restablecer atributos extendidos en el archivo \"%s\"\n"
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
#, fuzzy, c-format
msgid "Unable to stat file \"%s\": ERR=%s\n"
msgstr "No se puede abrir el archivo \"%s\": ERR=%s\n"
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
#, c-format
msgid ""
"Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -17649,24 +17753,24 @@ msgstr ""
msgid "No Director resource defined in %s\n"
msgstr "Recurso Director no definido en %s\n"
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
#, fuzzy, c-format
msgid "aclx_get error on file \"%s\": ERR=%s\n"
msgstr "error de acl_get en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
#, fuzzy, c-format
msgid "Unknown acl type encountered on file \"%s\": %ld\n"
msgstr ""
"codificación errónea del tipo de ACL en el flujo de ACL en el archivo \"%s"
"\" \n"
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
#, fuzzy, c-format
msgid "Failed to convert acl into text on file \"%s\"\n"
msgstr "No se puede convertir acl de texto en el archivo \"%s\"\n"
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
#, fuzzy, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
@@ -17675,7 +17779,7 @@ msgstr ""
"Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
"soporte a acl\n"
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
#, fuzzy, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
@@ -17684,64 +17788,64 @@ msgstr ""
"Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
"soporte a acl\n"
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
#, fuzzy, c-format
msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
msgstr "error de acl_set en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
#, fuzzy, c-format
msgid "aclx_put error on file \"%s\": ERR=%s\n"
msgstr "error de acl_get en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
#, c-format
msgid "acl_to_text error on file \"%s\": ERR=%s\n"
msgstr "acl_to_text error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
#, c-format
msgid "acl_get_file error on file \"%s\": ERR=%s\n"
msgstr "error de acl_get_file en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
#, fuzzy, c-format
msgid ""
"acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr "acl_delete_def_file error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
#, c-format
msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
msgstr "acl_delete_def_file error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
#, c-format
msgid "acl_from_text error on file \"%s\": ERR=%s\n"
msgstr "acl_from_text error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
#, c-format
msgid "acl_valid error on file \"%s\": ERR=%s\n"
msgstr "error de acl_valid en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
#, fuzzy, c-format
msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr "acl_set_file error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
#, c-format
msgid "acl_set_file error on file \"%s\": ERR=%s\n"
msgstr "acl_set_file error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
#, c-format
msgid "pathconf error on file \"%s\": ERR=%s\n"
msgstr "error de pathconf en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
#, fuzzy, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
@@ -17749,39 +17853,39 @@ msgstr ""
"Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
"soporte a acl\n"
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
#, c-format
msgid "getacl error on file \"%s\": ERR=%s\n"
msgstr "error de getacl en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
#, c-format
msgid "acltostr error on file \"%s\": ERR=%s\n"
msgstr "altostr error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
#, c-format
msgid "strtoacl error on file \"%s\": ERR=%s\n"
msgstr "strtoacl error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
#, fuzzy, c-format
msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
"Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
"soporte a acl\n"
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
#, c-format
msgid "setacl error on file \"%s\": ERR=%s\n"
msgstr "setacl error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
#, c-format
msgid "acl_get error on file \"%s\": ERR=%s\n"
msgstr "error de acl_get en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without acl support\n"
@@ -17789,7 +17893,7 @@ msgstr ""
"Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
"soporte a acl\n"
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
#, fuzzy, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
@@ -17798,7 +17902,7 @@ msgstr ""
"Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
"soporte a acl aclent\n"
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
#, fuzzy, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
@@ -17807,49 +17911,49 @@ msgstr ""
"Tratando de restaurar acl en el archivo \"%s\" en sistema de ficheros sin "
"soporte a acl ace\n"
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
#, c-format
msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
msgstr "error de acl_fromtext en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
#, c-format
msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
msgstr ""
"codificación errónea del tipo de ACL en el flujo de ACL en el archivo \"%s"
"\" \n"
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
#, c-format
msgid "acl_set error on file \"%s\": ERR=%s\n"
msgstr "error de acl_set en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
#, c-format
msgid "acltotext error on file \"%s\": ERR=%s\n"
msgstr "acltotext error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
#, c-format
msgid "aclfromtext error on file \"%s\": ERR=%s\n"
msgstr "aclfromtext error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
#, c-format
msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
msgstr "acl(SETACL) error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
#, fuzzy, c-format
msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
msgstr "acl(SETACL) error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
#, fuzzy, c-format
msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
msgstr "acl(SETACL) error en el archivo \"%s\": ERR=%s\n"
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
#, c-format
msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
msgstr ""
@@ -17859,17 +17963,17 @@ msgstr ""
msgid "Storage command not issued before Verify.\n"
msgstr "Comando Storage no publicado antes de Verificar.\n"
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
#, c-format
msgid "Record header scan error: %s\n"
msgstr "Error analizando registro de cabecera: %s\n"
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
#, c-format
msgid "Data record error. ERR=%s\n"
msgstr "Error de registro de datos. ERR=%s\n"
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
#, c-format
msgid "Actual data size %d not same as header %d\n"
msgstr "Tamaño actual de los datos %d no igual a cabecera %d\n"
@@ -18031,7 +18135,7 @@ msgstr "Error de relleno de cifrado\n"
msgid "Invalid file flags, no supported data stream type.\n"
msgstr "Invalidas banderas de archivo, tipo de flujo de datos no soportado.\n"
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr "VSS Writer (BackupComplete): %s\n"
@@ -18052,16 +18156,16 @@ msgstr "Longitud no válida de Buscador de Información (obtuvo %d, no 32)\n"
msgid "Could not set Finder Info on %s\n"
msgstr "No se pudo establecer Finder Info en %s\n"
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
#, fuzzy
msgid "LZO init failed\n"
msgstr "Negociación TLS fallida\n"
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
msgid "Unexpected cryptographic session data stream.\n"
msgstr "Inesperado flujo de datos de sesión criptográfica.\n"
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
msgid ""
"No private decryption keys have been defined to decrypt encrypted backup "
"data.\n"
@@ -18069,62 +18173,62 @@ msgstr ""
"Ninguna claves privadas de descifrado se ha definido para descifrar los "
"datos cifrados de las copia de seguridad.\n"
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
msgid "Could not create digest.\n"
msgstr "No es posible crear sumario.\n"
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
msgid "Missing private key required to decrypt encrypted backup data.\n"
msgstr ""
"Falta la clave privada requerida para descifrar los datos del respaldo "
"cifrado.\n"
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
msgid "Decrypt of the session key failed.\n"
msgstr "Fallo al descifrar la clave de sesión.\n"
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
#, c-format
msgid "An error occurred while decoding encrypted session data stream: %s\n"
msgstr ""
"Se produjo un error al descodificar flujo de datos de sesión encriptados: "
"%s\n"
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
#, c-format
msgid "Missing encryption session data stream for %s\n"
msgstr "Falta cifrado de flujo de datos de sesión para %s\n"
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
#, c-format
msgid "Failed to initialize decryption context for %s\n"
msgstr "Fallo al inicializar el contexto de descifrado para %s\n"
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
#, c-format
msgid "Cannot open resource fork for %s.\n"
msgstr "No se puede abrir recursos fork para %s.\n"
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
msgid "Unexpected cryptographic signature data stream.\n"
msgstr "Inesperado signatura de datos de sesión criptográfica.\n"
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
#, c-format
msgid "Failed to decode message signature for %s\n"
msgstr "No se ha podido descifrar la firma del mensaje para %s\n"
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
#, c-format
msgid "Encountered %ld acl errors while doing restore\n"
msgstr "Detectado %ld errores de acl mientras que hace restaurar\n"
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
#, c-format
msgid "Encountered %ld xattr errors while doing restore\n"
msgstr "Detectado %ld errores de xattr al hacer restauración\n"
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
#, c-format
msgid ""
"%d non-supported data streams and %d non-supported attrib streams ignored.\n"
@@ -18132,121 +18236,121 @@ msgstr ""
"%d incompatible flujos de datos y %d incompatible atributos de flujos "
"ignorados.\n"
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
#, c-format
msgid "%d non-supported resource fork streams ignored.\n"
msgstr "%d incompatible flujo de recurso fork ignorado.\n"
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
#, c-format
msgid "%d non-supported Finder Info streams ignored.\n"
msgstr "%d incompatible flujo Finder Info ignorado.\n"
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
#, c-format
msgid "%d non-supported acl streams ignored.\n"
msgstr "%d incompatible flujo de acl ignorado.\n"
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
#, c-format
msgid "%d non-supported crypto streams ignored.\n"
msgstr "%d incompatible flujo de cifrado ignorado.\n"
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
#, c-format
msgid "%d non-supported xattr streams ignored.\n"
msgstr "ignorado %d no soportado flujo xattr.\n"
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
msgid "Zlib errno"
msgstr "Zlib error"
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
msgid "Zlib stream error"
msgstr "Zlib error de stream"
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
msgid "Zlib data error"
msgstr "Zlib error de datos"
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
msgid "Zlib memory error"
msgstr "Zlib error de memoria"
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
msgid "Zlib buffer error"
msgstr "Zlib error de buffer"
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
msgid "Zlib version error"
msgstr "Zlib error de version"
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
#, c-format
msgid "Missing cryptographic signature for %s\n"
msgstr "Falta la firma criptográfica para %s\n"
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
#, c-format
msgid "Signature validation failed for file %s: ERR=%s\n"
msgstr "Validación de la firma fallida para el archivo %s: ERR=%s\n"
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
#, c-format
msgid "Digest one file failed for file: %s\n"
msgstr "Digest de un archivo fallido para el archivo: %s\n"
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
#, c-format
msgid "Signature validation failed for %s: %s\n"
msgstr "Validación de la firma fallida para %s: %s\n"
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
#, fuzzy, c-format
msgid "LZO uncompression error on file %s. ERR=%d\n"
msgstr "Error de descompresión en el archivo %s. ERR=%s\n"
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
#, c-format
msgid "Uncompression error on file %s. ERR=%s\n"
msgstr "Error de descompresión en el archivo %s. ERR=%s\n"
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
#, c-format
msgid "Write error in Win32 Block Decomposition on %s: %s\n"
msgstr "Error de escritura en Bloque de Descomposición Win32 en %s: %s\n"
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
msgid "Decryption error\n"
msgstr "Error de descifrado\n"
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
msgid "Logic error: output file should be open\n"
msgstr "Error lógico: el archivo de salida debe estar abierto\n"
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
msgid "Logic error: output file should not be open\n"
msgstr "Error lógica: archivo de salida no debe estar abierto\n"
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
#, c-format
msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
msgstr "Error de descifrado. buf_len=%d decrypt_len=%d en el archivo %s\n"
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
msgid "Open File Manager paused\n"
msgstr "Administrador Open File pausado\n"
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
msgid "FAILED to pause Open File Manager\n"
msgstr "Fallo al pausar Administrador Open File\n"
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
#, c-format
msgid "Running as '%s'. Privmask=%#08x\n"
msgstr "Ejecutando como '%s'. Privmask=%#08x\n"
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
msgid "Failed to retrieve current UserName\n"
msgstr "Fallo al recuperar UserName actual\n"
@@ -18532,7 +18636,7 @@ msgid ""
"Version: "
msgstr ""
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
#, c-format
msgid "Failed ASSERT: %s\n"
msgstr "Fallo ASSERT: %s\n"
@@ -19574,15 +19678,15 @@ msgstr "Procesando comando ..."
msgid "At main prompt waiting for input ..."
msgstr "En prompt principal esperando por una entrada..."
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
msgid "At prompt waiting for input ..."
msgstr "En prompt esperando por una entrada..."
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
msgid "Command failed."
msgstr "Comando fallido."
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
msgid "Director disconnected."
msgstr "Director desconectado."
@@ -19617,6 +19721,28 @@ msgstr ""
" -? imprimir este mensaje.\n"
"\n"
+#~ msgid "Using Device \"%s\"\n"
+#~ msgstr "Usando Dispositivo \"%s\"\n"
+
+#~ msgid ""
+#~ "====\n"
+#~ "\n"
+#~ msgstr ""
+#~ "====\n"
+#~ "\n"
+
+#~ msgid " Drive %d status unknown.\n"
+#~ msgstr "Unidad %d estado desconocido.\n"
+
+#~ msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
+#~ msgstr "Archivos=%s Bytes=%s Bytes/sec=%s\n"
+
+#~ msgid "3900 Bad .status command, missing argument.\n"
+#~ msgstr "3900 Malo comando .status, falta argumentos.\n"
+
+#~ msgid "3900 Bad .status command, wrong argument.\n"
+#~ msgstr "3900 Malo comando .status, argumentos incorrectos.\n"
+
#~ msgid "Device switch. New device %s chosen.\n"
#~ msgstr "Cambiar Dispositivo. Seleccione nuevo dispositivo %s.\n"
diff --git a/po/fr.po b/po/fr.po
index 75bf093..b295d5f 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Bacula 1.38\n"
"Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
"PO-Revision-Date: 2009-10-18 14:04+0000\n"
"Last-Translator: Eric Bollengier <eric at eb.homelinux.org>\n"
"Language-Team: French <bacula-devel-fr at lists.sourceforge.net>\n"
@@ -93,7 +93,7 @@ msgstr "La période de rétention courante %s est : %s\n"
msgid "Continue? (yes/mod/no): "
msgstr "Continuer ? (oui/mod/non) : "
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
msgid "mod"
msgstr "mod"
@@ -113,8 +113,8 @@ msgstr "Vous avez les choix suivants :\n"
msgid "The defined Storage resources are:\n"
msgstr "Les ressources de Stockage définies sont :\n"
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
#: src/wx-console/wxbrestorepanel.cpp:355
#: src/wx-console/wxbrestorepanel.cpp:479
#: src/wx-console/wxbrestorepanel.cpp:480
@@ -135,7 +135,7 @@ msgstr "Sélectionnez la ressource de Stockage"
msgid "The defined FileSet resources are:\n"
msgstr "Les FileSet définis sont :\n"
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
msgid "FileSet"
msgstr "FileSet"
@@ -143,7 +143,7 @@ msgstr "FileSet"
msgid "Select FileSet resource"
msgstr "Sélectionnez le FileSet"
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
msgid "Could not find a Catalog resource\n"
msgstr "Impossible de trouver un Catalogue\n"
@@ -168,8 +168,8 @@ msgid "The defined Job resources are:\n"
msgstr "Les Job définis sont :\n"
#: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
msgid "Job"
msgstr "Job"
@@ -194,8 +194,8 @@ msgstr "Sélectionnez le Job de restauration"
msgid "The defined Client resources are:\n"
msgstr "Les clients définis sont :\n"
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
#: src/wx-console/wxbrestorepanel.cpp:336
#: src/wx-console/wxbrestorepanel.cpp:354
#: src/wx-console/wxbrestorepanel.cpp:431
@@ -256,7 +256,7 @@ msgstr "Sélectionnez le client"
msgid "Could not find Pool \"%s\": ERR=%s"
msgstr "Impossible de trouver le Pool \"%s\" : ERR=%s"
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
#, c-format
msgid "Error obtaining pool ids. ERR=%s\n"
msgstr "Erreur pendant lors de la récupération du pool. ERR=%s\n"
@@ -271,12 +271,12 @@ msgid "Defined Pools:\n"
msgstr "Pools définis :\n"
#: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
msgid "*None*"
msgstr ""
#: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
#: src/wx-console/wxbrestorepanel.cpp:527
#: src/wx-console/wxbrestorepanel.cpp:537
#: src/wx-console/wxbrestorepanel.cpp:1834
@@ -420,7 +420,7 @@ msgstr "Attention le Job %s n'est pas en cours. Continuons quand même...\n"
msgid "Unauthorized command from this console.\n"
msgstr "Commande interdite depuis cette console.\n"
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
msgid "No Jobs running.\n"
msgstr "Pas de job en cours.\n"
@@ -770,8 +770,8 @@ msgstr "Fichier : %s\n"
msgid "Start Admin JobId %d, Job=%s\n"
msgstr ""
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
#, fuzzy, c-format
msgid "Error getting Job record for Job report: ERR=%s"
msgstr "Impossible de récupérer le Job du JobId=%s : ERR=%s\n"
@@ -788,8 +788,8 @@ msgstr "*** Admin en Erreur ***"
msgid "Admin Canceled"
msgstr "Admin Annulé"
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
#, c-format
msgid "Inappropriate term code: %c\n"
msgstr ""
@@ -798,7 +798,7 @@ msgstr ""
msgid "Bacula "
msgstr "Bacula "
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
#, fuzzy, c-format
msgid ""
"\n"
@@ -836,66 +836,66 @@ msgstr ""
" -? affiche ce message.\n"
"\n"
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
#: src/filed/filed.c:218 src/qt-console/main.cpp:165
msgid "Cryptography library initialization failed.\n"
msgstr ""
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
#: src/filed/filed.c:223 src/qt-console/main.cpp:169
#, c-format
msgid "Please correct configuration file: %s\n"
msgstr "Merci de corriger le fichier de configuration : %s\n"
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
msgid "Too many open reload requests. Request ignored.\n"
msgstr ""
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
msgid "Out of reload table entries. Giving up.\n"
msgstr ""
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
msgid "Resetting previous configuration.\n"
msgstr "Retour à la dernière configuration.\n"
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
#, c-format
msgid ""
"No Director resource defined in %s\n"
"Without that I don't know who I am :-(\n"
msgstr ""
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
#, c-format
msgid "No Messages resource defined in %s\n"
msgstr ""
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
#, c-format
msgid "Only one Director resource permitted in %s\n"
msgstr ""
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
#: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
#: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
#: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
msgid "TLS required but not configured in Bacula.\n"
msgstr ""
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
#, c-format
msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
#, c-format
msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -903,46 +903,46 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
#, c-format
msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
#, c-format
msgid "No Job records defined in %s\n"
msgstr ""
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
#, c-format
msgid "Hey something is wrong. p=0x%lu\n"
msgstr ""
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
#, c-format
msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
msgstr ""
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
msgid "Too many items in Job resource\n"
msgstr ""
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
#, c-format
msgid "No storage specified in Job \"%s\" nor in Pool.\n"
msgstr "Pas de Storage spécifié dans le job \"%s\" ni dans le Pool.\n"
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
#, c-format
msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
#, c-format
msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -950,52 +950,52 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
#, c-format
msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
"File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
"Storage \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
#, c-format
msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
#, c-format
msgid "Could not open Catalog \"%s\", database \"%s\".\n"
msgstr ""
"Impossible d'ouvrir le catalogue \"%s\", sur la base de données \"%s\".\n"
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
#, c-format
msgid "%s"
msgstr "%s"
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
#, fuzzy, c-format
msgid "Could not create storage record for %s\n"
msgstr "Impossible de trouver la ressource Storage \"%s\"\n"
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
#, fuzzy, c-format
msgid "Could not update storage record for %s\n"
msgstr "Impossible de trouver la ressource Storage \"%s\"\n"
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
#, fuzzy, c-format
msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
msgstr "Impossible d'ouvrir %s : ERR=%s\n"
@@ -1014,18 +1014,18 @@ msgstr "Attendait une option de FileSet, eu : %s:"
msgid "Old style Include/Exclude not supported\n"
msgstr ""
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
#, c-format
msgid "Expecting keyword, got: %s\n"
msgstr "Attendait un mot clef, eu : %s\n"
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
#: src/lib/parse_conf.c:976
#, c-format
msgid "expected an equals, got: %s"
msgstr "attendait un égale, eu : %s"
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
#, c-format
msgid "Keyword %s not permitted in this resource"
msgstr ""
@@ -1077,7 +1077,7 @@ msgstr ""
msgid "Options section not permitted in Exclude\n"
msgstr ""
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
#, c-format
msgid "Expecting open brace. Got %s"
msgstr "Attendait {, eu : %s"
@@ -1271,13 +1271,13 @@ msgid ""
msgstr ""
"Il n'y a plus de job associé avec le volume \"%s\". Il est marqué purgé.\n"
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d ...\n"
msgstr "Connexion au Storage Daemon %s (%s:%d)...\n"
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
msgid "Failed to connect to Storage daemon.\n"
msgstr "Impossible de se connecter au Storage daemon.\n"
@@ -1360,34 +1360,34 @@ msgstr "Impossible de récupérer le Job du JobId=%s : ERR=%s\n"
msgid "Could not get or create the FileSet record.\n"
msgstr "Impossible de créer la structure BSOCK cliente.\n"
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
#, fuzzy, c-format
msgid "Error getting Client record for Job report: ERR=%s"
msgstr "Impossible de mettre à jour les informations du Volume : ERR=%s"
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
#, c-format
msgid "Error getting Media record for Volume \"%s\": ERR=%s"
msgstr ""
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
msgid "Backup OK -- with warnings"
msgstr "Backup OK -- avec des erreurs"
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
msgid "Backup OK"
msgstr "Backup OK"
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
msgid "*** Backup Error ***"
msgstr "*** Backup en erreur ***"
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
msgid "Backup Canceled"
msgstr "Backup annulé"
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -1466,93 +1466,93 @@ msgstr "Pas de job programmé.\n"
msgid "disabled"
msgstr "est bloqué"
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
msgid "Keywords for the show command are:\n"
msgstr ""
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
#, c-format
msgid "%s resource %s not found.\n"
msgstr "%s ressource %s introuvable.\n"
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
#, c-format
msgid "Resource %s not found\n"
msgstr "Ressource %s introuvable\n"
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
msgid "Hey! DB is NULL\n"
msgstr ""
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
#, c-format
msgid "Jobid %d used %d Volume(s): %s\n"
msgstr "JobId %d a utilisé %d volume(s) : %s\n"
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
msgid "No Pool specified.\n"
msgstr "Pas de Pool spécifié.\n"
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
#, c-format
msgid "Pool: %s\n"
msgstr "Pool : %s\n"
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
msgid "Ignoring invalid value for days. Max is 50.\n"
msgstr ""
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
#, c-format
msgid "Unknown list keyword: %s\n"
msgstr ""
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
#, c-format
msgid "%s is not a job name.\n"
msgstr "%s n'est pas un nom de job.\n"
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
#, fuzzy, c-format
msgid "Could not find Pool for Job %s\n"
msgstr "Impossible d'ouvrir le device %s\n"
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
#, fuzzy, c-format
msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
msgstr "Impossible de trouver le prochain Volume pour le Job %s (%s, %s).\n"
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
#, fuzzy, c-format
msgid ""
"The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
msgstr "Le prochain Volume utilisé par le Job \"%s\" (%s, %s) sera %s\n"
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
#, c-format
msgid "Could not find next Volume for Job %s.\n"
msgstr "Impossible de trouver le prochain volume pour le Job %s.\n"
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
#, c-format
msgid "Could not open database \"%s\".\n"
msgstr "Impossible d'ouvrir la base de données \"%s\".\n"
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
#, c-format
msgid "Pool %s not in database. %s"
msgstr "Pool %s introuvable en base. %s"
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
#, c-format
msgid "Pool %s created in database.\n"
msgstr "Pool %s créé en base.\n"
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
msgid "You have no messages.\n"
msgstr "Vous n'avez pas de messages.\n"
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
msgid "Message too long to display.\n"
msgstr ""
@@ -1565,89 +1565,89 @@ msgstr ""
msgid ": is an invalid command.\n"
msgstr ": est une commande invalide.\n"
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
#: src/dird/ua_restore.c:823
#, c-format
msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
msgstr "Impossible de récupérer le Job du JobId=%s : ERR=%s\n"
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
#: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
#: src/dird/job.c:1160 src/dird/job.c:1164
msgid "unknown source"
msgstr "source inconnue"
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d\n"
msgstr "Connexion au Storage Daemon %s (%s:%d)\n"
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
msgid "Connected to storage daemon\n"
msgstr "Connecté au Storage Daemon\n"
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
#: src/dird/ua_status.c:397
#, c-format
msgid "Connecting to Client %s at %s:%d\n"
msgstr "Connexion au client %s (%s:%d)\n"
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
msgid "Failed to connect to Client.\n"
msgstr "Impossible de se connecter au Client.\n"
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
#, fuzzy, c-format
msgid "Unknown command: %s\n"
msgstr "Erreur inconnue."
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
msgid "Available daemons are: \n"
msgstr "Les démons disponibles sont :\n"
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
msgid "Director"
msgstr "Director"
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
msgid "Select daemon type to make die"
msgstr "Sélectionnez le composant a tuer"
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
msgid "The Director will generate a deadlock.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
msgid "The Director will segment fault.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
msgid "Access to specified Client or FileSet not allowed.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
#: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
#: src/dird/ua_restore.c:990
#, c-format
msgid "Query failed: %s. ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
#, fuzzy
msgid "query keyword not found.\n"
msgstr "%s ressource %s introuvable.\n"
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
#, fuzzy, c-format
msgid "List MediaType failed: ERR=%s\n"
msgstr "fopen %s en erreur : ERR=%s\n"
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
#, fuzzy, c-format
msgid "List Media failed: ERR=%s\n"
msgstr "fopen %s en erreur : ERR=%s\n"
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
#, fuzzy, c-format
msgid "List Location failed: ERR=%s\n"
msgstr "Erreur sur l'ouverture du périphérique. ERR=%s\n"
@@ -2000,11 +2000,11 @@ msgstr "Entrez le nom du Volume : "
msgid "Enter base volume name: "
msgstr "Entrez le nom de base du volume : "
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
msgid "Volume name too long.\n"
msgstr "Nom de Volume trop long.\n"
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
msgid "Volume name must be at least one character long.\n"
msgstr "Le nom du volume doit comporter au moins un caractère\n"
@@ -2065,11 +2065,11 @@ msgstr "Pool %s créé.\n"
msgid "Python interpreter restarted.\n"
msgstr ""
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
msgid "Nothing done.\n"
msgstr "Rien de fait.\n"
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
#, c-format
msgid "Client \"%s\" not found.\n"
msgstr "le client \"%s\" est introuvable.\n"
@@ -2096,7 +2096,7 @@ msgstr ""
msgid "Select daemon type to set debug level"
msgstr "Sélectionnez le composant a mettre à jour"
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
#, fuzzy, c-format
msgid "No authorization for Client \"%s\"\n"
msgstr "Pas d'enregistrement trouvé en base pour : %s\n"
@@ -2105,7 +2105,7 @@ msgstr "Pas d'enregistrement trouvé en base pour : %s\n"
msgid "Client name missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
#, c-format
msgid "No authorization for Job \"%s\"\n"
msgstr ""
@@ -2128,7 +2128,7 @@ msgstr "Pas d'enregistrement trouvé en base pour : %s\n"
msgid "Fileset name missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
#, fuzzy, c-format
msgid "Level \"%s\" not valid.\n"
msgstr "Le type %s est invalide.\n"
@@ -2137,24 +2137,29 @@ msgstr "Le type %s est invalide.\n"
msgid "Level value missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
#, fuzzy
msgid "Invalid value for accurate. It must be yes or no.\n"
msgstr "Saisie invalide. Veuillez répondre oui ou non.\n"
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+#, fuzzy
+msgid "Accurate value missing.\n"
+msgstr "La valeur actuelle est : %s\n"
+
+#: src/dird/ua_cmds.c:1167
msgid "No job specified.\n"
msgstr "Pas de job sélectionné.\n"
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
msgid "Error sending include list.\n"
msgstr "Erreur pendant l'envoi de la liste d'inclusion.\n"
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
msgid "Error sending exclude list.\n"
msgstr "Erreur pendant l'envoi de la liste d'exclusion.\n"
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
msgid ""
"In general it is not a good idea to delete either a\n"
"Pool or a Volume since they may contain data.\n"
@@ -2164,21 +2169,41 @@ msgstr ""
"n'est pas une bonne idée car ils peuvent contenir des données.\n"
"\n"
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
msgid "Choose catalog item to delete"
msgstr "Choisissez l'objet du catalogue à supprimer"
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1404
msgid "Enter JobId to delete: "
msgstr "Saisissez le JobId à supprimer : "
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, fuzzy, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr "Êtes vous certain de vouloir supprimer ce Pool ? (oui/non) : "
+
+#: src/dird/ua_cmds.c:1450
+#, c-format
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
#, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
+#, fuzzy, c-format
+msgid "Jobid %s and associated records deleted from the catalog.\n"
msgstr ""
"Le Job %s et les enregistrements associés ont été supprimés du catalogue.\n"
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
#, c-format
msgid ""
"\n"
@@ -2189,38 +2214,38 @@ msgstr ""
"Cette commande va supprimer le Volume %s\n"
"et tous les Jobs sauvegardés sur celui-ci du Catalogue\n"
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
#, fuzzy, c-format
msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
msgstr "Êtes vous certain de vouloir supprimer ce Volume ? (oui/non) : "
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
msgid "Can't list jobs on this volume\n"
msgstr ""
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
#, fuzzy, c-format
msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
msgstr "Êtes vous certain de vouloir supprimer ce Pool ? (oui/non) : "
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
#, c-format
msgid "Using Catalog name=%s DB=%s\n"
msgstr "Utilisation du Catalogue name=%s DB=%s\n"
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
msgid "ERR: Can't open db\n"
msgstr ""
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
msgid "Wait on mount timed out\n"
msgstr ""
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
msgid "ERR: Job was not found\n"
msgstr "ERR: Job %s non trouvé\n"
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
#, fuzzy
msgid ""
" Command Description\n"
@@ -2229,7 +2254,7 @@ msgstr ""
" Commande Description\n"
" ======== ===========\n"
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
#, c-format
msgid ""
" %-13s %s\n"
@@ -2238,12 +2263,12 @@ msgid ""
"\t%s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
#, fuzzy, c-format
msgid " %-13s %s\n"
msgstr " %-10s %s\n"
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
#, fuzzy, c-format
msgid ""
"\n"
@@ -2251,7 +2276,7 @@ msgid ""
"\n"
msgstr ": est une commande invalide.\n"
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
msgid ""
"\n"
"When at a prompt, entering a period cancels the command.\n"
@@ -2260,22 +2285,22 @@ msgstr ""
"\n"
"Sur une question, tapez un point (.) pour annuler la commande en cours.\n"
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
#, c-format
msgid "%s Version: %s (%s) %s %s %s %s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
#, c-format
msgid "No authorization for Catalog \"%s\"\n"
msgstr ""
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
#, c-format
msgid "Could not open catalog database \"%s\".\n"
msgstr "Impossible d'ouvrir le catalogue \"%s\".\n"
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
#, c-format
msgid "Using Catalog \"%s\"\n"
msgstr "Utilisation du Catalogue \"%s\"\n"
@@ -2494,57 +2519,57 @@ msgstr "1 répertoire dé-sélectionné\n"
msgid "%d directories unmarked.\n"
msgstr "%d répertoires dé-sélectionnés.\n"
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
#: src/qt-console/tray-monitor/tray_conf.cpp:168
#, c-format
msgid "No %s resource defined\n"
msgstr ""
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
#, c-format
msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
#, c-format
msgid " query_file=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
msgid " --> "
msgstr ""
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
#, c-format
msgid "Console: name=%s SSL=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
#, c-format
msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
#, c-format
msgid "Counter: name=%s min=%d max=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
#, c-format
msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
#, c-format
msgid " JobRetention=%s FileRetention=%s AutoPrune=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
#, c-format
msgid ""
"Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2553,286 +2578,286 @@ msgid ""
" poolid=%s volname=%s MediaType=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
#, c-format
msgid ""
"Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
" DeviceName=%s MediaType=%s StorageId=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
#, c-format
msgid ""
"Catalog: name=%s address=%s DBport=%d db_name=%s\n"
" db_driver=%s db_user=%s MutliDBConn=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
#, c-format
msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
msgid "JobDefs"
msgstr "JobDefs"
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
#, c-format
msgid ""
" MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
"%d\n"
msgstr ""
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
#, c-format
msgid " SpoolSize=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
#, c-format
msgid " Accurate=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
#, c-format
msgid " SelectionType=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
#, c-format
msgid " --> Where=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
#, c-format
msgid " --> RegexWhere=%s\n"
msgstr " --> RegexWhere=%s\n"
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
#, c-format
msgid " --> Bootstrap=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
#, c-format
msgid " --> WriteBootstrap=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
#, fuzzy, c-format
msgid " --> PluginOptions=%s\n"
msgstr " --> RunOnSuccess=%u\n"
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
#, c-format
msgid " --> MaxRunTime=%u\n"
msgstr " --> MaxRunTime=%u\n"
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
#, c-format
msgid " --> MaxWaitTime=%u\n"
msgstr " --> MaxWaitTime=%u\n"
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
#, c-format
msgid " --> MaxStartDelay=%u\n"
msgstr " --> MaxStartDelay=%u\n"
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
#, fuzzy, c-format
msgid " --> MaxRunSchedTime=%u\n"
msgstr " --> MaxRunTime=%u\n"
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
#, fuzzy, c-format
msgid " --> Base %s\n"
msgstr " --> Target=%s\n"
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
msgid " --> RunScript\n"
msgstr " --> RunScript\n"
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
#, c-format
msgid " --> Command=%s\n"
msgstr " --> Command=%s\n"
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
#, c-format
msgid " --> Target=%s\n"
msgstr " --> Target=%s\n"
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
#, c-format
msgid " --> RunOnSuccess=%u\n"
msgstr " --> RunOnSuccess=%u\n"
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
#, c-format
msgid " --> RunOnFailure=%u\n"
msgstr " --> RunOnFailure=%u\n"
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
#, c-format
msgid " --> FailJobOnError=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
#, c-format
msgid " --> RunWhen=%u\n"
msgstr " --> RunWhen=%u\n"
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
#, c-format
msgid " --> Run=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
#, c-format
msgid " --> SelectionPattern=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
#, c-format
msgid "FileSet: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
#, c-format
msgid "Schedule: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
#, c-format
msgid " --> Run Level=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
msgid " hour="
msgstr ""
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
msgid " mday="
msgstr ""
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
msgid " month="
msgstr ""
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
msgid " wday="
msgstr ""
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
msgid " wom="
msgstr ""
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
msgid " woy="
msgstr ""
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
#, c-format
msgid " mins=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
msgid " --> "
msgstr ""
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
#, c-format
msgid "Pool: name=%s PoolType=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
#, c-format
msgid " use_cat=%d use_once=%d cat_files=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
#, c-format
msgid " max_vols=%d auto_prune=%d VolRetention=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
#, c-format
msgid " VolUse=%s recycle=%d LabelFormat=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
#, c-format
msgid " CleaningPrefix=%s LabelType=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
#, c-format
msgid " RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
#, c-format
msgid " MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
#, c-format
msgid " MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
#, c-format
msgid " JobRetention=%s FileRetention=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
#, c-format
msgid " NextPool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
#, c-format
msgid " RecyclePool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
#, fuzzy, c-format
msgid " ScratchPool=%s\n"
msgstr "Utilisation du Catalogue \"%s\"\n"
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
#, fuzzy, c-format
msgid " Catalog=%s\n"
msgstr "Utilisation du Catalogue \"%s\"\n"
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
#, c-format
msgid "Messages: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
#, c-format
msgid " mailcmd=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
#, c-format
msgid " opcmd=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
#: src/qt-console/tray-monitor/tray_conf.cpp:199
#, c-format
msgid "Unknown resource type %d in dump_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
#: src/qt-console/tray-monitor/tray_conf.cpp:257
#, c-format
msgid "Unknown resource type %d in free_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
#: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
#: src/console/console_conf.c:259 src/filed/filed_conf.c:361
#: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2841,54 +2866,54 @@ msgstr ""
msgid "%s item is required in %s resource, but not found.\n"
msgstr ""
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
#: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
#, c-format
msgid "Too many items in %s resource\n"
msgstr "Trop d'élément dans la ressource %s\n"
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
#, c-format
msgid "Cannot find Pool resource %s\n"
msgstr "Impossible de trouver la ressource Pool \"%s\"\n"
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
#, c-format
msgid "Cannot find Console resource %s\n"
msgstr "Impossible de trouver la ressource Console \"%s\"\n"
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
#: src/filed/filed_conf.c:381
#, c-format
msgid "Cannot find Director resource %s\n"
msgstr "Impossible de trouver la ressource Director \"%s\"\n"
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
#, c-format
msgid "Cannot find Storage resource %s\n"
msgstr "Impossible de trouver la ressource Storage \"%s\"\n"
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
#, c-format
msgid "Cannot find Job resource %s\n"
msgstr "Impossible de trouver la ressource Job \"%s\"\n"
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
#, c-format
msgid "Cannot find Counter resource %s\n"
msgstr "Impossible de trouver la ressource Counter \"%s\"\n"
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
#, c-format
msgid "Cannot find Client resource %s\n"
msgstr "Impossible de trouver la ressource Client \"%s\"\n"
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
#, c-format
msgid "Cannot find Schedule resource %s\n"
msgstr "Impossible de trouver la ressource Schedule \"%s\"\n"
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
#: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
#: src/qt-console/tray-monitor/tray_conf.cpp:314
#: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2896,12 +2921,12 @@ msgstr "Impossible de trouver la ressource Schedule \"%s\"\n"
msgid "Unknown resource type %d in save_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
#, c-format
msgid "Name item is required in %s resource, but not found.\n"
msgstr ""
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
#: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
#: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
#: src/qt-console/bat_conf.cpp:334
@@ -2909,43 +2934,43 @@ msgstr ""
msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
msgstr ""
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
#, c-format
msgid "Inserting %s res: %s index=%d pass=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
#, fuzzy, c-format
msgid "Expected one of: %s, got: %s"
msgstr "Attendait %s, a pas : %s"
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
#, c-format
msgid "Expected a Migration Job Type keyword, got: %s"
msgstr "Attendait un type de Job de Migration, eu : %s"
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
#, c-format
msgid "Expected a Job Type keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
#, c-format
msgid "Expected a Job Level keyword, got: %s"
msgstr "Attendait un niveau de sauvegarde, eu : %s"
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
#, c-format
msgid "Expected a Restore replacement option, got: %s"
msgstr "Attendait un niveau de remplacement, eu : %s"
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
#: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
#, c-format
msgid "Expect %s, got: %s"
msgstr "Attendait %s, a pas : %s"
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
#, c-format
msgid "Could not find config Resource %s referenced on line %d : %s\n"
msgstr ""
@@ -3083,7 +3108,7 @@ msgid "Select full restore to a specified Job date"
msgstr ""
"Sélectionner la dernière sauvegarde pour un client avant une certaine date"
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
#: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
msgid "Cancel"
msgstr "Annulé"
@@ -3518,48 +3543,48 @@ msgstr "Les valeurs doivent être supérieurs à zéro.\n"
msgid "Slot too large.\n"
msgstr "Slot trop grand.\n"
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
msgid "command line"
msgstr ""
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
msgid "No slots in changer to scan.\n"
msgstr "Pas de slot dans le magasin à scanner.\n"
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
msgid "No Volumes found to label, or no barcodes.\n"
msgstr "Pas de volume à labéliser ou pas de codebar.\n"
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
#, c-format
msgid "Slot %d greater than max %d ignored.\n"
msgstr "Le slot %d est ignoré car il est supérieur au maximum %d.\n"
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
#, c-format
msgid "No VolName for Slot=%d InChanger set to zero.\n"
msgstr "Pas de volume sur le Slot %d. Mise à zéro de InChanger.\n"
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
#, c-format
msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
msgstr ""
"Mise à jour des informations du volume \"%s\" dans le catalogue (Slot=%d).\n"
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
#, c-format
msgid "Catalog record for Volume \"%s\" is up to date.\n"
msgstr "Le volume \"%s\" est à jour dans le catalogue.\n"
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
#, c-format
msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
msgstr ""
"Volume \"%s\" absent du catalogue. mise à zéro de InChanger pour le Slot="
"%d.\n"
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
#, c-format
msgid ""
"Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
@@ -3568,39 +3593,39 @@ msgstr ""
"Le volume \"%s\" (VolStatus) a le statut \"%s\". Il doit être purgé ou bien\n"
"recyclé avant de pouvoir le re-labéliser.\n"
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
msgid "Enter new Volume name: "
msgstr "Saisissez le nouveau nom du Volume : "
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
#, c-format
msgid "Media record for new Volume \"%s\" already exists.\n"
msgstr "Le nouveau volume \"%s\" existe déjà en base.\n"
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
msgid "Enter slot (0 or Enter for none): "
msgstr "Saisissez le slot (0 ou Entrée pour aucun) : "
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
#, c-format
msgid "Delete of Volume \"%s\" failed. ERR=%s"
msgstr "Impossible de supprimer le volume \"%s\". ERR=%s"
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
#, c-format
msgid "Old volume \"%s\" deleted from catalog.\n"
msgstr "L'ancien volume \"%s\" a été supprimé du catalogue.\n"
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
#, c-format
msgid "Requesting to mount %s ...\n"
msgstr "Demande pour monter %s...\n"
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
msgid "Do not forget to mount the drive!!!\n"
msgstr "N'oubliez pas de monter le lecteur.\n"
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
msgid ""
"The following Volumes will be labeled:\n"
"Slot Volume\n"
@@ -3610,99 +3635,99 @@ msgstr ""
"Slot Volume\n"
"==============\n"
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
#, fuzzy
msgid "Do you want to label these Volumes? (yes|no): "
msgstr ""
"\n"
"Voulez vous restaurer tous les fichiers ? (oui|non) : "
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
#, c-format
msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
msgstr ""
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
#, c-format
msgid "Error setting InChanger: ERR=%s"
msgstr "Impossible de positionner le flag InChanger : ERR=%s"
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
#, c-format
msgid "Maximum pool Volumes=%d reached.\n"
msgstr "Le nombre maximum de volume (%d) pour ce pool est atteint.\n"
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
#, c-format
msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
#, c-format
msgid "Catalog error on cleaning tape: %s"
msgstr ""
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
#, c-format
msgid "Illegal character \"%c\" in a volume name.\n"
msgstr "Caractères « %c » interdits dans le nom d'un volume.\n"
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
#, c-format
msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
msgstr "Envoie de la commande pour re-labéliser de \"%s\" à \"%s\"...\n"
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
#, c-format
msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
msgstr "Demande de labélisation du volume \"%s\" Slot %d...\n"
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
#, c-format
msgid "Catalog record for Volume \"%s\", Slot %d successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
#, c-format
msgid "Label command failed for Volume %s.\n"
msgstr "Impossible de labéliser le volume %s.\n"
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
msgid "Could not open SD socket.\n"
msgstr "Impossible d'ouvrir la socket avec le SD.\n"
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
#, c-format
msgid "Invalid Slot number: %s\n"
msgstr "Numéro de slot invalide : %s\n"
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
#, c-format
msgid "Invalid Volume name: %s\n"
msgstr "Nom de Volume invalide : %s\n"
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
#, c-format
msgid "Device \"%s\" has %d slots.\n"
msgstr "Le Device \"%s\" a %d slots.\n"
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
#, c-format
msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
msgstr "La ressource Pool \"%s\" est introuvable pour le volume \"%s\"\n"
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
#, fuzzy
msgid "No Volumes found, or no barcodes.\n"
msgstr "Pas de volume à labéliser ou pas de codebar.\n"
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
msgid ""
" Slot | Volume Name | Status | Media Type | "
"Pool |\n"
msgstr ""
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
msgid ""
"------+------------------+-----------+----------------------"
"+--------------------|\n"
@@ -3924,15 +3949,15 @@ msgid "New Recycle flag is: %s\n"
msgstr ""
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
#: src/tools/dbcheck.c:1352
msgid "yes"
msgstr "oui"
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
msgid "no"
msgstr "non"
@@ -4011,7 +4036,7 @@ msgstr "Impossible de mettre à jour les informations du Volume : ERR=%s"
msgid "New ActionOnPurge is: %s\n"
msgstr "La nouvelle durée d'utilisation est : %s\n"
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
msgid "Parameters to modify:\n"
msgstr "Paramètre à modifier :\n"
@@ -4083,7 +4108,7 @@ msgstr ""
msgid "Done"
msgstr "Fin"
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
msgid "Select parameter to modify"
msgstr "Sélectionnez le paramètre à modifier"
@@ -4322,7 +4347,7 @@ msgstr ""
msgid "Pool resource \"%s\" not found.\n"
msgstr ""
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
#, fuzzy, c-format
msgid "Could not get job record for JobId %s to %s. ERR=%s"
msgstr "Impossible de récupérer le Job du JobId=%s : ERR=%s\n"
@@ -4337,141 +4362,141 @@ msgstr ""
msgid "Start %s JobId %s, Job=%s\n"
msgstr "Démarrage du backup JobId %s, Job=%s\n"
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
#, fuzzy, c-format
msgid "No %s SQL selection pattern specified.\n"
msgstr "Pas de storage sélectionné.\n"
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
#, fuzzy, c-format
msgid "SQL failed. ERR=%s\n"
msgstr "fopen %s en erreur : ERR=%s\n"
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
#, fuzzy, c-format
msgid "No Volumes found to %s.\n"
msgstr "Aucun volume trouvé pour la restauration.\n"
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
#, fuzzy
msgid "Invalid JobId found.\n"
msgstr "Période invalide.\n"
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
#, fuzzy, c-format
msgid "Unknown %s Selection Type.\n"
msgstr "Job du Type=%d inconnu\n"
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
#, fuzzy, c-format
msgid "No JobIds found to %s.\n"
msgstr "Pas de job trouvé pour : %s.\n"
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
#, fuzzy, c-format
msgid "The following %u JobId%s chosen to be %s: %s\n"
msgstr "Les fichiers suivants sont absents :\n"
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid " was"
msgstr ""
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid "s were"
msgstr ""
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
#, fuzzy, c-format
msgid "%s using JobId=%s Job=%s\n"
msgstr "Migration utilisant JobId=%s Job=%s\n"
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
msgid "Could not start migration job.\n"
msgstr ""
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
#, fuzzy, c-format
msgid "%s JobId %d started.\n"
msgstr "Le job %d est annulé.\n"
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
#, fuzzy, c-format
msgid "No %s found to %s.\n"
msgstr "Aucun volume trouvé pour la restauration.\n"
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
#, c-format
msgid "SQL error. Expected 1 MediaId got %d\n"
msgstr ""
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
#, fuzzy, c-format
msgid "No %ss found to %s.\n"
msgstr "Aucun volume trouvé pour la restauration.\n"
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
msgstr ""
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
#, fuzzy, c-format
msgid "SQL to get uncopied jobs failed. ERR=%s\n"
msgstr "fopen %s en erreur : ERR=%s\n"
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
#, fuzzy, c-format
msgid "No %s %s selection pattern specified.\n"
msgstr "Pas de storage sélectionné.\n"
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
#, fuzzy, c-format
msgid "SQL to get %s failed. ERR=%s\n"
msgstr "fopen %s en erreur : ERR=%s\n"
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
#, c-format
msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
#, c-format
msgid "Regex pattern matched no Jobs to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
#, c-format
msgid "%s OK -- with warnings"
msgstr "%s OK -- avec des avertissements"
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
#, c-format
msgid "%s OK"
msgstr ""
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
#, c-format
msgid "*** %s Error ***"
msgstr "*** %s Erreur ***"
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
#, c-format
msgid "%s Canceled"
msgstr "%s Annulé"
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
#, c-format
msgid "Inappropriate %s term code"
msgstr ""
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
#, fuzzy, c-format
msgid "%s -- no files to %s"
msgstr "Aucun volume trouvé pour la restauration.\n"
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -4535,17 +4560,17 @@ msgstr ""
" Statut de fin du SD : %s\n"
" Statut de fin : %s\n"
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
#, c-format
msgid "No Next Pool specification found in Pool \"%s\".\n"
msgstr ""
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
#, c-format
msgid "No Storage specification found in Next Pool \"%s\".\n"
msgstr ""
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
#, fuzzy
msgid "Storage from Pool's NextPool resource"
msgstr "Sélectionnez le Pool"
@@ -4554,46 +4579,46 @@ msgstr "Sélectionnez le Pool"
msgid "Choose item to prune"
msgstr "Que voulez vous purger du catalogue (prune)"
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
#, c-format
msgid "Cannot prune Volume \"%s\" because it is archived.\n"
msgstr "Impossible de pruner le Volume \"%s\" car il est archivé.\n"
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
#, fuzzy
msgid "Pruned Jobs from JobHisto catalog.\n"
msgstr "Purge du catalogue (prune) de %d %s du client %s.\n"
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
#, fuzzy
msgid "Begin pruning Files.\n"
msgstr "Début de purge des fichiers du catalogue (prune).\n"
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
msgid "No Files found to prune.\n"
msgstr "Pas de fichier trouvé pour la purge du catalogue (prune).\n"
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
#, c-format
msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
msgstr ""
"Purge du catalogue des fichiers (prune) de %s Jobs pour le client %s.\n"
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
#, fuzzy, c-format
msgid "Begin pruning Jobs older than %s.\n"
msgstr "Début de purge des Jobs du catalogue (prune).\n"
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
#, c-format
msgid "Pruned %d %s for client %s from catalog.\n"
msgstr "Purge du catalogue (prune) de %d %s du client %s.\n"
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
msgid "Jobs"
msgstr "Jobs"
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
msgid "No Jobs found to prune.\n"
msgstr "Pas de job trouvé pour la purge du catalogue (prune).\n"
@@ -4618,51 +4643,59 @@ msgstr "Job échoué.\n"
msgid "Job queued. JobId=%s\n"
msgstr "Job mis en queue. JobId=%s\n"
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr "Réponse invalide. Vous devez répondre oui ou non.\n"
+
+#: src/dird/ua_run.c:207
msgid "Job not run.\n"
msgstr "Job non lancé.\n"
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
msgid "Level"
msgstr "Type"
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
#, fuzzy
msgid "Restore Client"
msgstr "Restauration annulée"
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
#: src/wx-console/wxbrestorepanel.cpp:854
#: src/wx-console/wxbrestorepanel.cpp:1918
msgid "When"
msgstr "Quand"
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
#: src/wx-console/wxbrestorepanel.cpp:1128
#: src/wx-console/wxbrestorepanel.cpp:1921
msgid "Priority"
msgstr "Priorité"
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
msgid "Verify Job"
msgstr "Job de vérification"
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
#: src/wx-console/wxbrestorepanel.cpp:1899
msgid "Bootstrap"
msgstr "Bootstrap"
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
#: src/wx-console/wxbrestorepanel.cpp:1104
#: src/wx-console/wxbrestorepanel.cpp:1901
msgid "Where"
msgstr "Destination"
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
msgid "File Relocation"
msgstr ""
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
#: src/wx-console/wxbrestorepanel.cpp:1112
#: src/wx-console/wxbrestorepanel.cpp:1905
#: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4672,221 +4705,221 @@ msgstr ""
msgid "Replace"
msgstr "Écrasement"
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
msgid "JobId"
msgstr "JobId"
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
msgid "Plugin Options"
msgstr ""
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
msgid "user selection"
msgstr ""
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
msgid ""
"Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
msgstr ""
"Saisissez la date de lancement (YYYY-MM-DD HH:MM:SS) (ou maintenant) : "
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
msgid "Invalid time, using current time.\n"
msgstr ""
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
msgid "Enter new Priority: "
msgstr "Saisissez la nouvelle priorité : "
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
msgid "Priority must be a positive integer.\n"
msgstr "La priorité doit être un entier positif.\n"
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
msgid "Please enter the Bootstrap file name: "
msgstr "Saisissez le nom du fichier Bootstrap : "
# Impossible d'ouvrir %s : ERR=%s
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
#, c-format
msgid "Warning cannot open %s: ERR=%s\n"
msgstr "Impossible d'ouvrir %s : ERR=%s\n"
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
#, fuzzy
msgid "Please enter the full path prefix for restore (/ for none): "
msgstr "Saisissez le chemin (prefix) pour la restauration (/ pour aucun) : "
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
msgid "Replace:\n"
msgstr "Écrasement :\n"
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
msgid "Select replace option"
msgstr "Saisissez l'option d'écrasement"
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
msgid ""
"You must set the bootstrap file to NULL to be able to specify a JobId.\n"
msgstr ""
"Vous ne devez pas spécifié de fichier bootstrap pour pouvoir utiliser un "
"JobId.\n"
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
#, fuzzy
msgid "Please Plugin Options string: "
msgstr "Saisissez le début du chemin (prefix) à enlever : "
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
msgid "User input"
msgstr ""
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
#, c-format
msgid "Invalid replace option: %s\n"
msgstr "Option d'écrasement (Replace) invalide : %s\n"
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
msgstr ""
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
msgid "This will replace your current Where value\n"
msgstr ""
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
msgid "Strip prefix"
msgstr ""
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
msgid "Add prefix"
msgstr ""
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
msgid "Add file suffix"
msgstr ""
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
msgid "Enter a regexp"
msgstr ""
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
msgid "Test filename manipulation"
msgstr ""
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
msgid "Use this ?"
msgstr ""
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
#, fuzzy
msgid "Please enter the path prefix to strip: "
msgstr "Saisissez le début du chemin (prefix) à enlever : "
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
#, fuzzy
msgid "Please enter the path prefix to add (/ for none): "
msgstr "Saisissez le chemin (prefix) à ajouter (/ pour aucun) : "
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
#, fuzzy
msgid "Please enter the file suffix to add: "
msgstr "Saisissez une extention à ajouter aux fichiers : "
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
msgid "Please enter a valid regexp (!from!to!): "
msgstr "Saisissez une regexp valide (!rechercher!remplacer!) : "
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
#, c-format
msgid "regexwhere=%s\n"
msgstr ""
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
msgstr ""
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
msgid "Cannot use your regexp\n"
msgstr "Impossible d'utiliser votre regexp\n"
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
msgid "Enter a period (.) to stop this test\n"
msgstr ""
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
msgid "Please enter filename to test: "
msgstr "Saisissez un nom de fichier à tester : "
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
#, c-format
msgid "%s -> %s\n"
msgstr "%s -> %s\n"
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
msgid "Cannot use your regexp.\n"
msgstr "Impossible d'utiliser votre regexp.\n"
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
msgid "Levels:\n"
msgstr "Types :\n"
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
#: src/lib/util.c:472 src/filed/status.c:519
msgid "Full"
msgstr "Full"
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
#: src/filed/status.c:522
msgid "Incremental"
msgstr "Incrémental"
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
#: src/filed/status.c:525
msgid "Differential"
msgstr "Différentiel"
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
#: src/filed/status.c:528
msgid "Since"
msgstr "Depuis"
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
msgid "VirtualFull"
msgstr ""
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
msgid "Select level"
msgstr "Saisissez le type"
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
msgid "Initialize Catalog"
msgstr "Initialisez le catalogue"
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
#: src/filed/status.c:531
msgid "Verify Catalog"
msgstr ""
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
msgid "Verify Volume to Catalog"
msgstr ""
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
msgid "Verify Disk to Catalog"
msgstr ""
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
msgid "Verify Volume Data (not yet implemented)"
msgstr "Vérification des données sur le volume (pas encore implémenté)"
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
msgid "Level not appropriate for this Job. Cannot be changed.\n"
msgstr ""
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
#, fuzzy, c-format
msgid ""
"Run Admin Job\n"
@@ -4905,7 +4938,7 @@ msgstr ""
"Quand : %s\n"
"Priorité : %d\n"
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
#, fuzzy, c-format
msgid ""
"Run Backup job\n"
@@ -4929,12 +4962,12 @@ msgstr ""
"Quand : %s\n"
"Priorité : %d\n"
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
#, fuzzy, c-format
msgid "Could not get job record for selected JobId. ERR=%s"
msgstr "Impossible de récupérer le Job du JobId=%s : ERR=%s\n"
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
#, fuzzy, c-format
msgid ""
"Run Verify Job\n"
@@ -4961,11 +4994,11 @@ msgstr ""
"Quand : %s\n"
"Priorité : %d\n"
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
msgid "Please enter a JobId for restore: "
msgstr "Saisissez le JobId pour la restauration : "
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
#, fuzzy, c-format
msgid ""
"Run Restore job\n"
@@ -4995,7 +5028,7 @@ msgstr ""
"Catalogue : %s\n"
"Priorité : %d\n"
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
#, c-format
msgid ""
"Run Restore job\n"
@@ -5026,7 +5059,7 @@ msgstr ""
"Priorité : %d\n"
"Options Plugins: %s\n"
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
#, c-format
msgid ""
"Run Restore job\n"
@@ -5037,17 +5070,17 @@ msgstr ""
"JobName : %s\n"
"Bootstrap : %s\n"
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
#, c-format
msgid "RegexWhere: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
#, c-format
msgid "Where: %s\n"
msgstr "Where : %s\n"
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
#, c-format
msgid ""
"Replace: %s\n"
@@ -5068,230 +5101,230 @@ msgstr ""
"Priorité : %d\n"
"Options Plugins : %s\n"
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
#, fuzzy
msgid "Run Copy job\n"
msgstr "Sélectionnez le Job de restauration"
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
#, fuzzy
msgid "Run Migration job\n"
msgstr "Sélectionnez le Job de restauration"
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
#, c-format
msgid "Unknown Job Type=%d\n"
msgstr "Job du Type=%d inconnu\n"
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
#, c-format
msgid "Value missing for keyword %s\n"
msgstr ""
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
msgid "Job name specified twice.\n"
msgstr "Le job est déjà spécifié.\n"
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
msgid "JobId specified twice.\n"
msgstr "Le JobId est déjà spécifié.\n"
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
msgid "Client specified twice.\n"
msgstr "Le client est déjà spécifié.\n"
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
msgid "FileSet specified twice.\n"
msgstr "Le FileSet est déjà spécifié.\n"
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
msgid "Level specified twice.\n"
msgstr "Le type (Level) est déjà spécifié.\n"
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
msgid "Storage specified twice.\n"
msgstr "Le Storage est déjà spécifié.\n"
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
msgid "RegexWhere or Where specified twice.\n"
msgstr "RegexWhere ou Where est déjà spécifiée.\n"
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
#, fuzzy
msgid "No authorization for \"regexwhere\" specification.\n"
msgstr "La destination (Where) est déjà spécifiée.\n"
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
msgid "Where or RegexWhere specified twice.\n"
msgstr "RegexWhere ou Where est déjà spécifiée.\n"
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
#, fuzzy
msgid "No authoriztion for \"where\" specification.\n"
msgstr "Pas d'enregistrement trouvé en base pour : %s\n"
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
msgid "Bootstrap specified twice.\n"
msgstr "Le bootstrap est déjà spécifié.\n"
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
msgid "Replace specified twice.\n"
msgstr "L'option d'écrasement (Replace) est déjà spécifié.\n"
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
msgid "When specified twice.\n"
msgstr "La planification (When) est déjà spécifiée.\n"
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
msgid "Priority specified twice.\n"
msgstr "La priorité (Priority) est déjà spécifiée.\n"
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
msgid "Priority must be positive nonzero setting it to 10.\n"
msgstr ""
"La priorité doit être supérieure à zéro. Utilisation d'une priorité de 10.\n"
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
msgid "Verify Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
msgid "Migration Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
msgid "Pool specified twice.\n"
msgstr "Le pool est déjà spécifié.\n"
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
#, fuzzy
msgid "Restore Client specified twice.\n"
msgstr "Le client est déjà spécifié.\n"
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
#, fuzzy
msgid "Plugin Options not yet implemented.\n"
msgstr "Le client est déjà spécifié.\n"
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
#, fuzzy
msgid "Plugin Options specified twice.\n"
msgstr "Le client est déjà spécifié.\n"
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
#, fuzzy
msgid "No authoriztion for \"PluginOptions\" specification.\n"
msgstr "Pas d'enregistrement trouvé en base pour : %s\n"
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
#, fuzzy
msgid "Spool flag specified twice.\n"
msgstr "Le pool est déjà spécifié.\n"
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
#, fuzzy
msgid "Invalid spooldata flag.\n"
msgstr "Période invalide.\n"
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
#, fuzzy
msgid "IgnoreDuplicateCheck flag specified twice.\n"
msgstr "Le pool est déjà spécifié.\n"
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
#, fuzzy
msgid "Invalid ignoreduplicatecheck flag.\n"
msgstr "Période invalide.\n"
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
#, fuzzy
msgid "Accurate flag specified twice.\n"
msgstr "Le pool est déjà spécifié.\n"
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
#, fuzzy
msgid "Invalid accurate flag.\n"
msgstr "Période invalide.\n"
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
#, c-format
msgid "Invalid keyword: %s\n"
msgstr "Argument invalide : %s\n"
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
#, c-format
msgid "Catalog \"%s\" not found\n"
msgstr "Le catalogue \"%s\" est introuvable\n"
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
#, c-format
msgid "No authorization. Catalog \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
#, c-format
msgid "Job \"%s\" not found\n"
msgstr "Le job \"%s\" est introuvable\n"
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
msgid "A job name must be specified.\n"
msgstr "Un nom de Job doit être spécifié.\n"
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
#, c-format
msgid "No authorization. Job \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
#, c-format
msgid "Pool \"%s\" not found.\n"
msgstr "Le pool \"%s\" est introuvable.\n"
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
#, c-format
msgid "No authorization. Pool \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
#, c-format
msgid "Storage \"%s\" not found.\n"
msgstr "Le Storage \"%s\" est introuvable.\n"
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
msgid "No storage specified.\n"
msgstr "Pas de storage sélectionné.\n"
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
#, c-format
msgid "No authorization. Storage \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
#, c-format
msgid "No authorization. Client \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
#, fuzzy, c-format
msgid "Restore Client \"%s\" not found.\n"
msgstr "le client \"%s\" est introuvable.\n"
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
#, c-format
msgid "FileSet \"%s\" not found.\n"
msgstr "Le FileSet \"%s\" est introuvable.\n"
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
#, c-format
msgid "No authorization. FileSet \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
#, c-format
msgid "Verify Job \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
#, c-format
msgid "Migration Job \"%s\" not found.\n"
msgstr ""
@@ -5349,25 +5382,25 @@ msgstr ""
msgid "Start Backup JobId %s, Job=%s\n"
msgstr "Démarrage du backup JobId %s, Job=%s\n"
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
#, c-format
msgid "Unexpected Client Job message: %s\n"
msgstr ""
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
#, c-format
msgid "Network error with FD during %s: ERR=%s\n"
msgstr ""
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
msgid "No Job status returned from FD.\n"
msgstr "Impossible de récupérer le statut du Job depuis le FD.\n"
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
msgid "Backup failed -- incomplete"
msgstr ""
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5440,12 +5473,12 @@ msgstr ""
" Statut de fin : %s\n"
"\n"
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
#, c-format
msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
msgstr ""
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
#, c-format
msgid ""
"Could not open WriteBootstrap file:\n"
@@ -5454,7 +5487,7 @@ msgstr ""
"Impossible d'ouvrir le fichier bootstrap (WriteBootstrap) :\n"
"%s : ERR=%s\n"
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier bootstrap %s : ERR=%s\n"
@@ -5469,40 +5502,40 @@ msgstr "Impossible de trouver la ressource Storage \"%s\"\n"
msgid "Could not acquire read storage lock for \"%s\""
msgstr "Impossible de trouver la ressource Storage \"%s\"\n"
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
msgid ""
"Cannot restore without a bootstrap file.\n"
"You probably ran a restore job directly. All restore jobs must\n"
"be run using the restore command.\n"
msgstr ""
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
#, c-format
msgid "Start Restore Job %s\n"
msgstr "Démarrage du Job de restauration %s\n"
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
msgid "Restore OK -- warning file count mismatch"
msgstr "Restauration Ok -- attention le nombre de fichier ne correspond pas"
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
msgid "Restore OK"
msgstr "Restauration OK"
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
#, fuzzy
msgid "Restore OK -- with warnings"
msgstr "Backup OK -- avec des erreurs"
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
msgid "*** Restore Error ***"
msgstr "*** Restauration en erreur ***"
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
msgid "Restore Canceled"
msgstr "Restauration annulée"
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
#, fuzzy, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5546,7 +5579,7 @@ msgstr "Statut disponible pour :\n"
msgid "Select daemon type for status"
msgstr "Saisissez le composant à afficher"
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
#, c-format
msgid "%s Version: %s (%s) %s %s %s\n"
msgstr "%s Version : %s (%s) %s %s %s\n"
@@ -5556,7 +5589,7 @@ msgstr "%s Version : %s (%s) %s %s %s\n"
msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
msgstr "Démon démarré depuis %s, %d jobs lancés depuis cette date.\n"
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
#, fuzzy, c-format
msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
msgstr " Heap: bytes=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
@@ -5621,7 +5654,7 @@ msgstr ""
msgid "No Scheduled Jobs.\n"
msgstr "Pas de job programmé.\n"
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
msgid ""
"\n"
"Running Jobs:\n"
@@ -5795,7 +5828,7 @@ msgstr ""
msgid "No Terminated Jobs.\n"
msgstr "Pas de job terminé.\n"
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
msgid ""
"\n"
"Terminated Jobs:\n"
@@ -5803,7 +5836,7 @@ msgstr ""
"\n"
"Job terminés :\n"
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr " JobId Type Fichiers Octets Statut Terminé Nom\n"
@@ -5811,41 +5844,41 @@ msgstr " JobId Type Fichiers Octets Statut Terminé Nom\n"
msgid "====================================================================\n"
msgstr "=====================================================================\n"
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
#: src/filed/status.c:363
msgid "Created"
msgstr "Crée"
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
#: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
msgid "Error"
msgstr "Erreur"
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
msgid "Diffs"
msgstr ""
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
#: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
#: src/wx-console/wxbconfigpanel.cpp:209
msgid "OK"
msgstr "OK"
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
#: src/lib/util.c:327
msgid "OK -- with warnings"
msgstr "OK -- avec des avertissements"
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
msgid "Other"
msgstr "Autre"
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
#, fuzzy, c-format
msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
msgstr "%6d %-6s %8s %10s %-7s %-8s %s\n"
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr "%6d %-6s %8s %10s %-7s %-8s %s\n"
@@ -6021,7 +6054,7 @@ msgstr ""
msgid "Job DiffPool override"
msgstr ""
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr ""
@@ -6367,7 +6400,17 @@ msgstr ""
msgid "<stored: bad response to Job command: %s\n"
msgstr ""
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr "Using Device \"%s\"\n"
+
+#: src/dird/msgchan.c:311
+#, fuzzy, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr "Using Device \"%s\"\n"
+
+#: src/dird/msgchan.c:318
#, c-format
msgid ""
"\n"
@@ -6375,24 +6418,19 @@ msgid ""
" %s"
msgstr ""
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
#, c-format
msgid ""
"\n"
" Storage daemon didn't accept Device \"%s\" command.\n"
msgstr ""
-#: src/dird/msgchan.c:321
-#, fuzzy, c-format
-msgid "Using Device \"%s\"\n"
-msgstr "Using Device \"%s\"\n"
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
#, c-format
msgid "Cannot create message thread: %s\n"
msgstr ""
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
msgid "Director's comm line to SD dropped.\n"
msgstr ""
@@ -6892,27 +6930,27 @@ msgstr ""
msgid "Unable to initialize reservation lock. ERR=%s\n"
msgstr "Impossible d'initialiser le verrou sur la base. ERR=%s\n"
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
#, c-format
msgid "Hey! num_writers=%d!!!!\n"
msgstr ""
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
#, fuzzy
msgid "3939 Could not get dcr\n"
msgstr "Impossible de créer la structure BSOCK cliente.\n"
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
#, fuzzy, c-format
msgid "Device reservation failed for JobId=%d: %s\n"
msgstr "Impossible de créer le fichier bootstrap %s : ERR=%s\n"
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
#, c-format
msgid "Failed command: %s\n"
msgstr "Erreur sur la commande : %s\n"
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
#, c-format
msgid ""
"\n"
@@ -6920,42 +6958,42 @@ msgid ""
"does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
#, c-format
msgid ""
"\n"
" Device \"%s\" requested by DIR could not be opened or does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
#, c-format
msgid "3926 Could not get dcr for device: %s\n"
msgstr ""
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
#, c-format
msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
"3601 JobId=%u device %s est BLOQUÉ car il a été demonté par l'utilisateur.\n"
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
#, c-format
msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
msgstr "3602 JobId=%u device %s est occupé (à lire ou écrire).\n"
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
#, c-format
msgid "3603 JobId=%u device %s is busy reading.\n"
msgstr "3603 JobId=%u device %s est occupé en lecture.\n"
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
#, c-format
msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
"3604 JobId=%u device %s est bloqué car il a été démonté par l'utilisateur "
"(unmount).\n"
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
#, fuzzy, c-format
msgid ""
"3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
@@ -6964,53 +7002,53 @@ msgstr ""
"3608 JobId=%u voulait le Pool=\"%s\", mais c'est le Pool=\"%s\" qui est dans "
"le drive %s.\n"
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
#, fuzzy, c-format
msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
msgstr ""
"3607 JobId=%u voulait Vol=\"%s\", c'est le Vol=\"%s\" qui est dans le drive "
"%s.\n"
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
#, fuzzy, c-format
msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
msgstr ""
"3607 JobId=%u voulait Vol=\"%s\", c'est le Vol=\"%s\" qui est dans le drive "
"%s.\n"
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
#, c-format
msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
msgstr ""
"3605 JobId=%u voulait libérer le lecteur, mais le device %s est occupé.\n"
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
#, c-format
msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
msgstr "3606 JobId=%u voulait un lecteur monté, mais le lecteur %s est vide.\n"
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
#, c-format
msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
msgstr ""
"3607 JobId=%u voulait Vol=\"%s\", c'est le Vol=\"%s\" qui est dans le drive "
"%s.\n"
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
#, c-format
msgid "Logic error!!!! JobId=%u Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
#, c-format
msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
msgid "Logic error!!!! Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
#, c-format
msgid "3911 JobId=%u failed reserve drive %s.\n"
msgstr ""
@@ -7158,7 +7196,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
msgstr ""
#: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
#, c-format
msgid "Mount Volume \"%s\" on device %s and press return when ready: "
msgstr ""
@@ -7464,7 +7502,7 @@ msgstr "3936 Device %s est occupé en lecture.\n"
msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
msgstr "3937 Device %s est occupé avec %d flux en écriture.\n"
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
#, c-format
msgid ""
"Bootstrap file error: %s\n"
@@ -7472,154 +7510,154 @@ msgid ""
"%s\n"
msgstr ""
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
#, c-format
msgid "Cannot open bootstrap file %s: %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
#, c-format
msgid "MediaType %s in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
#, c-format
msgid "Device \"%s\" in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
#, fuzzy, c-format
msgid "REGEX '%s' compile error. ERR=%s\n"
msgstr "erreur de fermeture : ERR=%s\n"
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
msgid "JobType not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
msgid "JobLevel not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
#, c-format
msgid "Slot %d in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
#, c-format
msgid "VolFile : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
#, c-format
msgid "VolBlock : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
#, c-format
msgid "VolAddr : %llu-%llu\n"
msgstr ""
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
#, c-format
msgid "FileIndex : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
#, c-format
msgid "FileIndex : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
#, c-format
msgid "JobId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
#, c-format
msgid "JobId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
#, c-format
msgid "SessId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
#, c-format
msgid "SessId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
#, c-format
msgid "VolumeName : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
#, c-format
msgid " MediaType : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
#, c-format
msgid " Device : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
#, c-format
msgid " Slot : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
#, c-format
msgid "Client : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
#, c-format
msgid "Job : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
#, c-format
msgid "SessTime : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
msgid "BSR is NULL\n"
msgstr ""
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
#, c-format
msgid "Next : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
#, c-format
msgid "Root bsr : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
#, c-format
msgid "count : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
#, c-format
msgid "found : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
#, c-format
msgid "done : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
#, c-format
msgid "positioning : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
#, c-format
msgid "fast_reject : %d\n"
msgstr ""
@@ -7704,7 +7742,7 @@ msgid "Unable to set network buffer size.\n"
msgstr ""
#: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
msgid "NULL Volume name. This shouldn't happen!!!\n"
msgstr ""
@@ -7814,7 +7852,7 @@ msgstr ""
msgid "Volume on %s has bad Bacula label type: %x\n"
msgstr "Le volume sur %s possède un mauvais label Bacula : %x\n"
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
#, fuzzy, c-format
msgid "Could not reserve volume %s on %s\n"
msgstr "Impossible de trouver le prochain volume pour le Job %s.\n"
@@ -7824,7 +7862,7 @@ msgstr "Impossible de trouver le prochain volume pour le Job %s.\n"
msgid "Cannot write Volume label to block for device %s\n"
msgstr "Impossible d'écrire le label du Volume sur le Device %s\n"
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
#, fuzzy, c-format
msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr "Impossible de supprimer le volume \"%s\". ERR=%s"
@@ -7994,15 +8032,13 @@ msgstr ""
msgid "Used Volume status:\n"
msgstr "Volume en cours d'utilisation :\n"
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
msgid ""
-"====\n"
"\n"
+"SD Resources:\n"
msgstr ""
-"====\n"
-"\n"
-#: src/stored/status.c:128
+#: src/stored/status.c:153
msgid ""
"\n"
"Device status:\n"
@@ -8010,15 +8046,16 @@ msgstr ""
"\n"
"Statut du Device :\n"
-#: src/stored/status.c:132
+#: src/stored/status.c:157
#, c-format
msgid "Autochanger \"%s\" with devices:\n"
msgstr "Autochangeur \"%s\" avec les Devices :\n"
-#: src/stored/status.c:150
-#, c-format
+#: src/stored/status.c:177
+#, fuzzy, c-format
msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
" Volume: %s\n"
" Pool: %s\n"
" Media type: %s\n"
@@ -8028,58 +8065,78 @@ msgstr ""
" Pool : %s\n"
" Type du Media : %s\n"
-#: src/stored/status.c:160
-#, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+#: src/stored/status.c:182
+#, fuzzy
+msgid "waiting for"
+msgstr "En attente d'un montage"
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+#, fuzzy
+msgid "*unknown*"
+msgstr "inconnu"
+
+#: src/stored/status.c:188
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
msgstr "Le Device %s est ouvert, mais il n'y a pas de Volume Bacula monté.\n"
-#: src/stored/status.c:171
+#: src/stored/status.c:199
#, c-format
msgid " Total Bytes=%s Blocks=%s Bytes/block=%s\n"
msgstr " Total Octets=%s Blocs=%s Octets/Bloc=%s\n"
-#: src/stored/status.c:186
+#: src/stored/status.c:214
#, c-format
msgid " Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
msgstr " Total des Octets lu=%s Blocs lu=%s Octets/Bloc=%s\n"
-#: src/stored/status.c:192
+#: src/stored/status.c:220
#, c-format
msgid " Positioned at File=%s Block=%s\n"
msgstr " Positionné sur Fichier=%s Bloc=%s\n"
-#: src/stored/status.c:199
-#, c-format
-msgid "Device %s is not open.\n"
+#: src/stored/status.c:227
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device %s is not open.\n"
msgstr "Le Device %s n'est pas ouvert.\n"
-#: src/stored/status.c:203
-#, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+#: src/stored/status.c:231
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
msgstr "Le Device \"%s\" n'est pas ouvert ou il n'existe pas.\n"
-#: src/stored/status.c:225
+#: src/stored/status.c:255
#, fuzzy, c-format
msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
msgstr "Démon démarré depuis %s, %d jobs lancés depuis cette date.\n"
-#: src/stored/status.c:248
+#: src/stored/status.c:293
msgid ""
"No DEVICE structure.\n"
"\n"
msgstr ""
-#: src/stored/status.c:254
+#: src/stored/status.c:299
msgid " Device is BLOCKED. User unmounted.\n"
msgstr " Le Device est BLOQUÉ. Démonté par l'utilisateur.\n"
-#: src/stored/status.c:258
+#: src/stored/status.c:303
msgid " Device is BLOCKED. User unmounted during wait for media/mount.\n"
msgstr ""
" Le Device est BLOQUÉ. Démonté par l'utilisateur à cause d'un chargement "
"de média.\n"
-#: src/stored/status.c:270
+#: src/stored/status.c:313
#, c-format
msgid ""
" Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -8090,7 +8147,7 @@ msgstr ""
" Pool : %s\n"
" Media type : %s\n"
-#: src/stored/status.c:279
+#: src/stored/status.c:322
#, c-format
msgid ""
" Device is BLOCKED waiting to create a volume for:\n"
@@ -8101,75 +8158,75 @@ msgstr ""
" Pool : %s\n"
" Media type : %s\n"
-#: src/stored/status.c:291
+#: src/stored/status.c:333
msgid " Device is BLOCKED waiting for media.\n"
msgstr " Le Device est BLOQUÉ en attente d'un média.\n"
-#: src/stored/status.c:297
+#: src/stored/status.c:339
msgid " Device is being initialized.\n"
msgstr " Le Device est en cours d'initialisation.\n"
-#: src/stored/status.c:301
+#: src/stored/status.c:343
msgid " Device is blocked labeling a Volume.\n"
msgstr " Le Device est occupé à labéliser un Volume.\n"
-#: src/stored/status.c:310
-#, c-format
-msgid " Slot %d is loaded in drive %d.\n"
+#: src/stored/status.c:352
+#, fuzzy, c-format
+msgid " Slot %d %s loaded in drive %d.\n"
msgstr " Le slot %d est chargé dans le lecteur %d.\n"
-#: src/stored/status.c:314
+#: src/stored/status.c:356
#, c-format
msgid " Drive %d is not loaded.\n"
msgstr " Le lecteur %d n'est pas chargé.\n"
-#: src/stored/status.c:317
-#, c-format
-msgid " Drive %d status unknown.\n"
-msgstr " Le statut du lecteur %d est inconnu.\n"
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
#, c-format
msgid "Configured device capabilities:\n"
msgstr ""
-#: src/stored/status.c:349
+#: src/stored/status.c:389
msgid "Device state:\n"
msgstr ""
-#: src/stored/status.c:367
+#: src/stored/status.c:405
#, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid " num_writers=%d reserves=%d block=%d\n"
msgstr ""
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:409
+#, fuzzy
+msgid "Attached Jobs: "
+msgstr ""
+"\n"
+"Jobs planifiés :\n"
+
+#: src/stored/status.c:427 src/stored/btape.c:720
#, c-format
msgid "Device parameters:\n"
msgstr ""
-#: src/stored/status.c:374
+#: src/stored/status.c:429
#, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid " Archive name: %s Device name: %s\n"
msgstr ""
-#: src/stored/status.c:378
-#, c-format
-msgid "File=%u block=%u\n"
+#: src/stored/status.c:432
+#, fuzzy, c-format
+msgid " File=%u block=%u\n"
msgstr "Fichier=%u bloc=%u\n"
-#: src/stored/status.c:381
-#, c-format
-msgid "Min block=%u Max block=%u\n"
+#: src/stored/status.c:434
+#, fuzzy, c-format
+msgid " Min block=%u Max block=%u\n"
msgstr "Min bloc=%u Max bloc=%u\n"
-#: src/stored/status.c:401
+#: src/stored/status.c:455
#, c-format
msgid "%s Job %s waiting for Client connection.\n"
msgstr "%s Job %s est en attente de la connexion du Client.\n"
-#: src/stored/status.c:417
+#: src/stored/status.c:471
#, c-format
msgid ""
"Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
@@ -8178,7 +8235,7 @@ msgstr ""
"Lecture : %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
-#: src/stored/status.c:430
+#: src/stored/status.c:484
#, fuzzy, c-format
msgid ""
"Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
@@ -8187,26 +8244,26 @@ msgstr ""
"Ecriture : %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
-#: src/stored/status.c:441
+#: src/stored/status.c:495
#, c-format
msgid " spooling=%d despooling=%d despool_wait=%d\n"
msgstr " spooling=%d despooling=%d despool_wait=%d\n"
-#: src/stored/status.c:450
-#, c-format
-msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
-msgstr " Fichiers=%s Octets=%s Octets/sec=%s\n"
+#: src/stored/status.c:511
+#, fuzzy, c-format
+msgid " Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
+msgstr " Fichiers=%s Octets=%s Octets/sec=%s Erreurs=%d\n"
-#: src/stored/status.c:458
+#: src/stored/status.c:523
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr ""
-#: src/stored/status.c:464
+#: src/stored/status.c:529
msgid " FDSocket closed\n"
msgstr ""
-#: src/stored/status.c:485
+#: src/stored/status.c:550
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
@@ -8214,65 +8271,61 @@ msgstr ""
"\n"
"Jobs en attente de réservation de lecteur :\n"
-#: src/stored/status.c:516
+#: src/stored/status.c:581
msgid "===================================================================\n"
msgstr "===================================================================\n"
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
msgid "Base"
msgstr "Base"
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
msgid "Init Catalog"
msgstr ""
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
msgid "Volume to Catalog"
msgstr ""
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
msgid "Disk to Catalog"
msgstr ""
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
msgid "Data"
msgstr ""
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
msgid "Unknown Job Level"
msgstr ""
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
-#, c-format
-msgid "Bad .status command: %s\n"
-msgstr ""
-
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
-msgstr ""
+#: src/stored/status.c:763
+#, fuzzy, c-format
+msgid "3900 No arg in .status command: %s\n"
+msgstr "3909 Erreur pendant la lecture de la commande de montage : %s\n"
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
-msgstr ""
+#: src/stored/status.c:811
+#, fuzzy, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
+msgstr "Erreur inconnue."
-#: src/stored/status.c:760
+#: src/stored/status.c:826
msgid "Bacula Storage: Idle"
msgstr "Bacula Storage : En attente"
-#: src/stored/status.c:771
+#: src/stored/status.c:837
msgid "Bacula Storage: Running"
msgstr "Bacula Storage : En cours"
-#: src/stored/status.c:785
+#: src/stored/status.c:851
msgid "Bacula Storage: Last Job Canceled"
msgstr "Bacula Storage : Dernier Job annulé"
-#: src/stored/status.c:789
+#: src/stored/status.c:855
msgid "Bacula Storage: Last Job Failed"
msgstr "Bacula Storage : Dernier Job en erreur"
-#: src/stored/status.c:793
+#: src/stored/status.c:859
msgid "Bacula Storage: Last Job had Warnings"
msgstr "Bacula Storage : Le dernier Job avait des erreurs"
@@ -8389,7 +8442,7 @@ msgid "%u files restored.\n"
msgstr "%u fichiers restaurés.\n"
#: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
#, c-format
msgid "Write error on %s: %s\n"
msgstr ""
@@ -8398,7 +8451,7 @@ msgstr ""
msgid "Logic error output file should be open but is not.\n"
msgstr ""
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
#, c-format
msgid "%s stream not supported on this Client.\n"
msgstr ""
@@ -8414,7 +8467,7 @@ msgid "Seek error on %s: %s\n"
msgstr ""
#: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
#, c-format
msgid "Seek to %s error on %s: ERR=%s\n"
msgstr ""
@@ -8424,16 +8477,16 @@ msgstr ""
msgid "Uncompression error. ERR=%d\n"
msgstr "Erreur de décompression. ERR=%d\n"
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
msgid "GZIP data stream found, but GZIP not configured!\n"
msgstr ""
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
#, c-format
msgid "Compressed header version error. version=0x%x\n"
msgstr ""
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
#, c-format
msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
msgstr ""
@@ -8443,7 +8496,7 @@ msgstr ""
msgid "LZO uncompression error. ERR=%d\n"
msgstr "Erreur de décompression. ERR=%d\n"
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
#, c-format
msgid "Compression algorithm 0x%x found, but not supported!\n"
msgstr ""
@@ -8452,7 +8505,7 @@ msgstr ""
msgid "Got Program Name or Data Stream. Ignored.\n"
msgstr ""
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
#, c-format
msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
msgstr ""
@@ -8657,26 +8710,22 @@ msgstr ""
msgid "Unexpected Tape is Off-line\n"
msgstr ""
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
#, c-format
msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
msgstr ""
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
#, c-format
msgid "No volumes specified for reading. Job %s canceled.\n"
msgstr "Pas de volume spécifié pour la lecture. Abandon du job %s.\n"
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
#, c-format
msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
msgstr ""
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
#, c-format
msgid ""
"Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
@@ -8685,101 +8734,105 @@ msgstr ""
"Changement du Device de lecture. Want Media Type=\"%s\" have=\"%s\"\n"
" device=%s\n"
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
#, c-format
msgid "Media Type change. New read device %s chosen.\n"
msgstr ""
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
#, c-format
msgid "No suitable device found to read Volume \"%s\"\n"
msgstr ""
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
#, fuzzy, c-format
msgid "Job %s canceled.\n"
msgstr "Le job %s est annulé.\n"
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
#, c-format
msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr ""
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
#, c-format
msgid "Too many errors trying to mount device %s for reading.\n"
msgstr ""
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
#, c-format
msgid "Ready to read from volume \"%s\" on device %s.\n"
msgstr "Prêt à lire les données du volume \"%s\" depuis le device %s.\n"
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
#, c-format
msgid "Want to append, but device %s is busy reading.\n"
msgstr ""
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
#, c-format
msgid "Could not ready device %s for append.\n"
msgstr ""
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
#: src/stored/block.c:769 src/stored/block.c:847
#, c-format
msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
msgstr "Impossible de créer un JobMedia en base pour le Volume=%s Job=%s\n"
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
#, c-format
msgid "Alert: %s"
msgstr "Alert: %s"
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
#, c-format
msgid "3997 Bad alert command: %s: ERR=%s.\n"
msgstr ""
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
#: src/lib/openssl.c:122 src/lib/openssl.c:181
#, c-format
msgid "Unable to init mutex: ERR=%s\n"
msgstr "Impossible d'initialiser le muxtex : ERR=%s\n"
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, fuzzy, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr "Impossible d'initialiser le muxtex : ERR=%s\n"
+
+#: src/stored/askdir.c:179
msgid "Network error on bnet_recv in req_vol_info.\n"
msgstr ""
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
#, c-format
msgid "Error getting Volume info: %s"
msgstr "Erreur pendant la récupération des informations sur un Volume : %s"
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
#, c-format
msgid "Didn't get vol info vol=%s: ERR=%s"
msgstr ""
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
#, c-format
msgid "Error creating JobMedia record: ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
#, c-format
msgid "Error creating JobMedia record: %s\n"
msgstr ""
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
msgstr ""
"Le job %s a été annulé alors qu'il attendait un montage sur le Storage "
"Device \"%s\".\n"
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
#, fuzzy, c-format
msgid ""
"Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8794,30 +8847,30 @@ msgstr ""
" Type du Media : %s\n"
" Pool : %s\n"
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
#, c-format
msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
msgstr ""
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
msgid "pthread error in mount_next_volume.\n"
msgstr ""
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
msgid "Cannot request another volume: no volume name given.\n"
msgstr ""
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
msgstr ""
"Le Job %s a été annulé pendant qu'il attendait le montage sur le Storage "
"Device %s.\n"
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
#, fuzzy, c-format
msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
@@ -8829,10 +8882,10 @@ msgstr ""
" Type du Media : %s\n"
" Pool : %s\n"
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
#, fuzzy, c-format
msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
@@ -8844,7 +8897,7 @@ msgstr ""
" Type du Media : %s\n"
" Pool : %s\n"
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
msgid "pthread error in mount_volume\n"
msgstr ""
@@ -9203,33 +9256,33 @@ msgstr ""
msgid "Attempt to open read on non-open session.\n"
msgstr ""
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
#, c-format
msgid "Too many errors trying to mount device %s.\n"
msgstr ""
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
#, c-format
msgid "Job %d canceled.\n"
msgstr "Le job %d est annulé.\n"
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
#, c-format
msgid "Volume \"%s\" previously written, moving to end of data.\n"
msgstr "Le volume \"%s\" contient des données, re-positionnement à la fin.\n"
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
#, c-format
msgid "Unable to position to end of data on device %s: ERR=%s\n"
msgstr ""
"Impossible de se positionner à la fin du média sur le device %s : ERR=%s\n"
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
#, c-format
msgid "Volume \"%s\" not on device %s.\n"
msgstr "Le volume \"%s\" n'est pas dans le device %s.\n"
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
#, c-format
msgid ""
"Director wanted Volume \"%s\".\n"
@@ -9240,14 +9293,14 @@ msgstr ""
" Le volume courant \"%s\" n'est pas utilisable car :\n"
" %s"
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
#, c-format
msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
msgstr ""
"Prêt à ajouter des données à la fin du volume \"%s\" part=%d size=%s\n"
"\n"
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
#, fuzzy, c-format
msgid ""
"Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
@@ -9256,12 +9309,12 @@ msgstr ""
"Impossible d'écrire sur le volume \"%s\" car :\n"
"Les tailles ne correspondent pas. Volume=%s Catalogue=%s\n"
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
#, c-format
msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
msgstr "Prêt à ajouter des données à la fin du volume \"%s\" file=%d.\n"
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
#, fuzzy, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -9271,12 +9324,12 @@ msgstr ""
"Impossible d'écrire sur le volume \"%s\" \n"
"car le nombre de fichiers ne correspond pas. Volume=%u Catalogue=%u\n"
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
#, fuzzy
msgid "Error updating Catalog\n"
msgstr "Impossible d'ouvrir le fichier de données %s.\n"
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
#, fuzzy, c-format
msgid ""
"Bacula cannot write on tape Volume \"%s\" because:\n"
@@ -9285,14 +9338,14 @@ msgstr ""
"Impossible d'écrire sur le volume \"%s\" \n"
"car le nombre de fichiers ne correspond pas. Volume=%u Catalogue=%u\n"
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
#, fuzzy, c-format
msgid "Ready to append to end of Volume \"%s\" size=%s\n"
msgstr ""
"Prêt à ajouter des données à la fin du volume \"%s\" part=%d size=%s\n"
"\n"
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
#, fuzzy, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -9302,7 +9355,7 @@ msgstr ""
"Impossible d'écrire sur le volume \"%s\" car :\n"
"Les tailles ne correspondent pas. Volume=%s Catalogue=%s\n"
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
#, fuzzy, c-format
msgid ""
"Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
@@ -9311,35 +9364,35 @@ msgstr ""
"Impossible d'écrire sur le volume \"%s\" car :\n"
"Les tailles ne correspondent pas. Volume=%s Catalogue=%s\n"
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
#, c-format
msgid "Labeled new Volume \"%s\" on device %s.\n"
msgstr "Le nouveau volume \"%s\" a été labélisé sur le device %s.\n"
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
#, fuzzy, c-format
msgid "Device %s not configured to autolabel Volumes.\n"
msgstr ""
"Attention, le device %s n'est pas configuré pour labéliser automatiquement "
"les volumes.\n"
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
#, c-format
msgid "Marking Volume \"%s\" in Error in Catalog.\n"
msgstr "Le volume \"%s\" est marqué en Erreur dans le catalogue.\n"
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
#, c-format
msgid ""
"Autochanger Volume \"%s\" not found in slot %d.\n"
" Setting InChanger to zero in catalog.\n"
msgstr ""
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
msgstr ""
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
#, fuzzy, c-format
msgid ""
"Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
@@ -9347,7 +9400,7 @@ msgstr ""
"Fin du volume \"%s\" à %u:%u sur le device %s. Ecriture de %u octets, eu "
"%d.\n"
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
#, c-format
msgid "Cannot open Dev=%s, Vol=%s\n"
msgstr ""
@@ -9439,7 +9492,7 @@ msgstr ""
"Temps du transfert des données spoolées = %02d:%02d:%02d, Taux de transfert "
"= %s o/s\n"
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
#, c-format
msgid "Ftruncate spool file failed: ERR=%s\n"
msgstr ""
@@ -9469,81 +9522,90 @@ msgstr ""
msgid "Spool data read error. Wanted %u bytes, got %d\n"
msgstr ""
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, fuzzy, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
msgstr "Taille du spool spécifiée par l'utlisateur atteinte.\n"
-#: src/stored/spool.c:489
+#: src/stored/spool.c:485
+#, fuzzy, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
+msgstr "Taille du spool spécifiée par l'utlisateur atteinte.\n"
+
+#: src/stored/spool.c:492
msgid "Bad return from despool in write_block.\n"
msgstr ""
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
msgid "Spooling data again ...\n"
msgstr "Reprise du spool des données...\n"
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
#, c-format
msgid "Error writing header to spool file. ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
#, c-format
msgid ""
"Error writing header to spool file. Disk probably full. Attempting recovery. "
"Wanted to write=%d got=%d\n"
msgstr ""
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
msgid "Fatal despooling error."
msgstr ""
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
msgid "Retrying after header spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
#, c-format
msgid "Error writing data to spool file. ERR=%s\n"
msgstr ""
"Erreur pendant l'écriture des données vers le fichier de spool. ERR=%s\n"
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
msgid "Retrying after data spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
msgid "Network error on BlastAttributes.\n"
msgstr ""
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
#, c-format
msgid "Fseek on attributes file failed: ERR=%s\n"
msgstr ""
# Impossible d'ouvrir le fichier de spool des attributs : ERR=%s
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
#, fuzzy, c-format
msgid "Truncate on attributes file failed: ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier de spool des attributs %s : ERR=%s\n"
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
#, c-format
msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
msgstr ""
"Transfert des attributs spoolés au Director. Transfert de %s octets...\n"
# Impossible d'ouvrir le fichier de spool des attributs : ERR=%s
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
#, c-format
msgid "fopen attr spool file %s failed: ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier de spool des attributs %s : ERR=%s\n"
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
#, fuzzy, c-format
msgid "pthread_cond_wait failure. ERR=%s\n"
msgstr "Erreur sur l'ouverture du périphérique. ERR=%s\n"
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
#, fuzzy
msgid "unknown blocked code"
msgstr "source inconnue"
@@ -9668,6 +9730,21 @@ msgstr ""
msgid "Unable to init cond variable: ERR=%s\n"
msgstr ""
+#: src/stored/dev.c:288
+#, fuzzy, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr "Impossible d'initialiser le muxtex : ERR=%s\n"
+
+#: src/stored/dev.c:294
+#, fuzzy, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr "Impossible d'initialiser le muxtex : ERR=%s\n"
+
+#: src/stored/dev.c:300
+#, fuzzy, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr "Impossible d'initialiser le muxtex : ERR=%s\n"
+
#: src/stored/dev.c:416
msgid "Illegal mode given to open dev.\n"
msgstr ""
@@ -10032,7 +10109,7 @@ msgstr ""
msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
msgstr ""
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
#, c-format
msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
msgstr ""
@@ -10090,107 +10167,107 @@ msgstr ""
msgid "Got Prog Data Stream record.\n"
msgstr ""
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
#, c-format
msgid "Unknown stream type!!! stream=%d len=%i\n"
msgstr ""
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
#, c-format
msgid "Could not create File Attributes record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
#, c-format
msgid "Created File record: %s\n"
msgstr ""
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
#, c-format
msgid "Could not create media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
#, c-format
msgid "Could not update media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
#, c-format
msgid "Created Media record for Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
#, c-format
msgid "Updated Media record at end of Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
#, c-format
msgid "Could not create pool record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
#, c-format
msgid "Created Pool record for Pool: %s\n"
msgstr ""
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
#, fuzzy, c-format
msgid "Could not get Client record. ERR=%s\n"
msgstr "Impossible d'initialiser la queue cliente : ERR=%s\n"
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
#, c-format
msgid "Created Client record for Client: %s\n"
msgstr ""
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
#, c-format
msgid "Fileset \"%s\" already exists.\n"
msgstr ""
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
#, c-format
msgid "Could not create FileSet record \"%s\". ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
#, c-format
msgid "Created FileSet record \"%s\"\n"
msgstr ""
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
#, c-format
msgid "Could not create JobId record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
#, c-format
msgid "Could not update job start record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
#, c-format
msgid "Created new JobId=%u record for original JobId=%u\n"
msgstr ""
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
#, c-format
msgid "Could not update JobId=%u record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
#, c-format
msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
msgstr ""
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
#, c-format
msgid "Job Termination code: %d"
msgstr ""
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
#, c-format
msgid ""
"%s\n"
@@ -10210,27 +10287,27 @@ msgid ""
"\n"
msgstr ""
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
#, c-format
msgid "Could not create JobMedia record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
#, c-format
msgid "Created JobMedia record JobId %d, MediaId %d\n"
msgstr ""
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
#, c-format
msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
msgstr ""
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
#, c-format
msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
msgid "Updated MD5/SHA1 record\n"
msgstr ""
@@ -12373,40 +12450,40 @@ msgstr ""
"Vous trouverez de l'aide sur\n"
"http://www.bacula.org/rel-manual/faq.html#AuthorizationErrors\n"
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
#, c-format
msgid "Could not open console message file %s: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:376
+#: src/lib/message.c:377
#, c-format
msgid "Could not get con mutex: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:481
+#: src/lib/message.c:482
msgid "Bacula Message"
msgstr "Message de Bacula"
-#: src/lib/message.c:485
+#: src/lib/message.c:486
#, c-format
msgid "open mail pipe %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:553
+#: src/lib/message.c:577
msgid "open mail pipe failed.\n"
msgstr ""
-#: src/lib/message.c:565
+#: src/lib/message.c:590
#, c-format
msgid "close error: ERR=%s\n"
msgstr "erreur de fermeture : ERR=%s\n"
-#: src/lib/message.c:576
+#: src/lib/message.c:601
#, c-format
msgid "Mail prog: %s"
msgstr ""
-#: src/lib/message.c:585
+#: src/lib/message.c:610
#, c-format
msgid ""
"Mail program terminated in error.\n"
@@ -12417,12 +12494,16 @@ msgstr ""
"CMD=%s\n"
"ERR=%s\n"
-#: src/lib/message.c:684
+#: src/lib/message.c:713
#, c-format
msgid "fopen %s failed: ERR=%s\n"
msgstr "fopen %s en erreur : ERR=%s\n"
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
#, fuzzy, c-format
msgid ""
"Msg delivery error: Operator mail program terminated in error.\n"
@@ -12433,77 +12514,77 @@ msgstr ""
"CMD=%s\n"
"ERR=%s\n"
-#: src/lib/message.c:878
+#: src/lib/message.c:911
#, fuzzy, c-format
msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
msgstr "fopen %s en erreur : ERR=%s\n"
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
#, c-format
msgid "%s: ABORTING due to ERROR in %s:%d\n"
msgstr ""
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
#, c-format
msgid "%s: ERROR TERMINATION at %s:%d\n"
msgstr ""
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
#, c-format
msgid "%s: Fatal Error because: "
msgstr "%s : Erreur Fatale car : "
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
#, c-format
msgid "%s: Fatal Error at %s:%d because:\n"
msgstr "%s : Erreur Fatale à %s:%d car :\n"
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
#, c-format
msgid "%s: ERROR: "
msgstr "%s : ERREUR : "
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
#, c-format
msgid "%s: ERROR in %s:%d "
msgstr "%s : ERREUR dans %s:%d "
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
#, c-format
msgid "%s: Warning: "
msgstr "%s : Attention : "
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
#, c-format
msgid "%s: Security violation: "
msgstr ""
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
#, c-format
msgid "%s ABORTING due to ERROR\n"
msgstr ""
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
#, c-format
msgid "%s ERROR TERMINATION\n"
msgstr ""
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
#, fuzzy, c-format
msgid "%s JobId %u: Fatal error: "
msgstr "%s : %s Erreur fatale : "
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
#, fuzzy, c-format
msgid "%s JobId %u: Error: "
msgstr "%s : %s Erreur : "
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
#, fuzzy, c-format
msgid "%s JobId %u: Warning: "
msgstr "%s : Attention : "
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
#, c-format
msgid "%s JobId %u: Security violation: "
msgstr ""
@@ -12557,71 +12638,6 @@ msgstr "Impossible d'ajouter le job à la queue cliente : ERR=%s\n"
msgid "Could not destroy client queue: ERR=%s\n"
msgstr "Impossible de détruire la queue cliente : ERR=%s\n"
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr "Erreur pendant l'écriture des attributs dans le spool. ERR=%s\n"
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr "Initialisation de la connexion TLS échouée.\n"
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr "Négociation TLS échouée.\n"
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr "TLS activé mais non configuré.\n"
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr "TLS actif mais non configuré.\n"
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr "Pas de problème."
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr "Erreur inconnue."
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr "sig inconnu %d"
-
#: src/lib/bpipe.c:361 src/lib/bpipe.c:444
msgid "Program killed by Bacula (timeout)\n"
msgstr ""
@@ -13085,7 +13101,7 @@ msgstr ""
msgid "Truncate"
msgstr ""
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
msgid "None"
msgstr ""
@@ -13138,7 +13154,7 @@ msgstr "Nom de Volume invalide : %s\n"
#: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
#: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
msgid "*none*"
msgstr ""
@@ -13351,7 +13367,7 @@ msgstr "JCR use_count=%d JobId=%d\n"
msgid "pthread_setspecific failed: ERR=%s\n"
msgstr "Erreur sur l'ouverture du périphérique. ERR=%s\n"
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Storage "
@@ -13360,7 +13376,7 @@ msgstr ""
"Le watchdog a envoyé un signal après %d secs au thread bloqué en écoute du "
"SD.\n"
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
@@ -13368,7 +13384,7 @@ msgstr ""
"Le watchdog a envoyé un signal après %d secs au thread bloqué en écoute du "
"FD.\n"
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -13557,204 +13573,272 @@ msgstr "Le processus fils est mort par le signal %d : %s"
msgid "Invalid errno. No error message possible."
msgstr ""
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr "Erreur pendant l'écriture des attributs dans le spool. ERR=%s\n"
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr "Initialisation de la connexion TLS échouée.\n"
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr "Négociation TLS échouée.\n"
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr "TLS activé mais non configuré.\n"
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr "TLS actif mais non configuré.\n"
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr "Pas de problème."
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr "Erreur inconnue."
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr "sig inconnu %d"
+
#: src/lib/signal.c:67
msgid "Invalid signal number"
msgstr ""
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
#, c-format
msgid "Bacula interrupted by signal %d: %s\n"
msgstr "Bacula a reçu le signal %d : %s\n"
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
#, c-format
msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
msgstr ""
"Kaboom ! %s, %s a reçu le signal %d - %s. Tentative de dump des traces.\n"
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
#, c-format
msgid "Kaboom! exepath=%s\n"
msgstr "Kaboom ! exepath=%s\n"
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
#, c-format
msgid "Fork error: ERR=%s\n"
msgstr "Fork en erreur : ERR=%s\n"
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
#, fuzzy, c-format
msgid "Calling: %s %s %s %s\n"
msgstr "Exécution : %s %s %s\n"
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
#, c-format
msgid "execv: %s failed: ERR=%s\n"
msgstr "execv : %s en échec : ERR=%s\n"
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
+#, c-format
+msgid "It looks like the traceback worked...\n"
+msgstr ""
+
+#: src/lib/signal.c:246
#, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "The btraceback call returned %d\n"
msgstr ""
-#: src/lib/signal.c:289
+#: src/lib/signal.c:306
#, c-format
msgid "BA_NSIG too small (%d) should be (%d)\n"
msgstr "BA_NSIG trop petit (%d) devrait être (%d)\n"
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
msgid "UNKNOWN SIGNAL"
msgstr "SIGNAL INCONNU"
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
msgid "Hangup"
msgstr "Hangup"
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
msgid "Interrupt"
msgstr ""
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
msgid "Quit"
msgstr "Quit"
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
msgid "Illegal instruction"
msgstr ""
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
msgid "Trace/Breakpoint trap"
msgstr ""
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
msgid "Abort"
msgstr "Abort"
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
msgid "EMT instruction (Emulation Trap)"
msgstr ""
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
msgid "IOT trap"
msgstr "IOT trap"
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
msgid "BUS error"
msgstr "BUS error"
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
msgid "Floating-point exception"
msgstr ""
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
msgid "Kill, unblockable"
msgstr ""
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
msgid "User-defined signal 1"
msgstr ""
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
msgid "Segmentation violation"
msgstr "Erreur de segmentation"
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
msgid "User-defined signal 2"
msgstr ""
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
msgid "Broken pipe"
msgstr "Tube brisé"
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
msgid "Alarm clock"
msgstr "Alarm clock"
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
msgid "Termination"
msgstr ""
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
msgid "Stack fault"
msgstr ""
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
msgid "Child status has changed"
msgstr ""
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
msgid "Continue"
msgstr "Continue"
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
msgid "Stop, unblockable"
msgstr ""
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
msgid "Keyboard stop"
msgstr ""
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
msgid "Background read from tty"
msgstr ""
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
msgid "Background write to tty"
msgstr ""
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
msgid "Urgent condition on socket"
msgstr ""
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
msgid "CPU limit exceeded"
msgstr ""
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
msgid "File size limit exceeded"
msgstr ""
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
msgid "Virtual alarm clock"
msgstr ""
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
msgid "Profiling alarm clock"
msgstr ""
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
msgid "Window size change"
msgstr ""
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
msgid "I/O now possible"
msgstr ""
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
msgid "Power failure restart"
msgstr ""
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
msgid "No runnable lwp"
msgstr ""
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
msgid "SIGLWP special signal used by thread library"
msgstr ""
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
msgid "Checkpoint Freeze"
msgstr ""
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
msgid "Checkpoint Thaw"
msgstr ""
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
msgid "Thread Cancellation"
msgstr ""
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
msgid "Resource Lost (e.g. record-lock lost)"
msgstr ""
@@ -13784,47 +13868,47 @@ msgstr ""
msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
msgstr "Impossible d'ouvrir %s : ERR=%s\n"
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
#, c-format
msgid "Out of memory: ERR=%s\n"
msgstr "Plus de mémoire : ERR=%s\n"
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
msgid "Buffer overflow.\n"
msgstr "Buffer overflow.\n"
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
msgid "Bad errno"
msgstr "Mauvais errno"
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
#, c-format
msgid "Memset for %d bytes at %s:%d\n"
msgstr ""
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
#, c-format
msgid "Cannot open pid file. %s ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier contenant le pid. %s ERR=%s\n"
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
#, c-format
msgid ""
"%s is already running. pid=%d\n"
"Check file %s\n"
msgstr ""
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
#, c-format
msgid "Could not open pid file. %s ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier pid. %s ERR=%s\n"
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
#, c-format
msgid "Could not create state file. %s ERR=%s\n"
msgstr "Impossible de créer le fichier d'état. %s ERR=%s\n"
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
#, c-format
msgid "Write final hdr error: ERR=%s\n"
msgstr ""
@@ -13878,101 +13962,101 @@ msgstr "Erreur de config : %s\n"
msgid "Close of NULL file\n"
msgstr ""
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
msgid ""
"get_char: called after EOF. You may have a open double quote without the "
"closing double quote.\n"
msgstr ""
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
#, c-format
msgid "Config token too long, file: %s, line %d, begins at line %d\n"
msgstr "Config token trop long, fichier : %s, ligne %d, débutant ligne %d\n"
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
msgid "none"
msgstr "none"
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
msgid "comment"
msgstr "comment"
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
msgid "number"
msgstr "number"
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
msgid "ip_addr"
msgstr "ip_addr"
# identifiant
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
msgid "identifier"
msgstr "identifier"
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
msgid "string"
msgstr "string"
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
msgid "quoted_string"
msgstr "quoted_string"
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
#, fuzzy
msgid "include"
msgstr "Depuis"
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
#, fuzzy
msgid "include_quoted_string"
msgstr "quoted_string"
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
msgid "UTF-8 Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
msgid "UTF-16le Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
#, c-format
msgid "expected a positive integer number, got: %s"
msgstr "attendait un nombre entier positif, pas : %s"
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
msgid ""
"This config file appears to be in an unsupported Unicode format (UTF-16be). "
"Please resave as UTF-8\n"
msgstr ""
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
#, c-format
msgid "Cannot open included config file %s: %s\n"
msgstr "Impossible d'ouvrir le fichier de configuration inclus %s : %s\n"
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
#, c-format
msgid "expected an integer or a range, got %s: %s"
msgstr "attendait un entier ou bien un intervalle, pas %s : %s"
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
#, c-format
msgid "expected an integer number, got %s: %s"
msgstr "attendait un nombre entier, pas %s : %s"
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
#, c-format
msgid "expected a name, got %s: %s"
msgstr "attendait un nom, pas %s : %s"
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
#, c-format
msgid "name %s length %d too long, max is %d\n"
msgstr "la longueur du nom %s (%d) est trop grande, le max est %d\n"
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
#, c-format
msgid "expected a string, got %s: %s"
msgstr "attendait une chaîne, pas %s : %s"
@@ -14648,42 +14732,54 @@ msgid "FreeBSD Specific NFSv4/ZFS ACL attribs"
msgstr ""
#: src/findlib/bfile.c:191
-msgid "IRIX Specific Extended attribs"
+msgid "GNU Hurd Specific Default ACL attribs"
msgstr ""
#: src/findlib/bfile.c:193
-msgid "TRU64 Specific Extended attribs"
+msgid "GNU Hurd Specific Access ACL attribs"
msgstr ""
#: src/findlib/bfile.c:195
-msgid "AIX Specific Extended attribs"
+msgid "GNU Hurd Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:197
-msgid "OpenBSD Specific Extended attribs"
+msgid "IRIX Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:199
-msgid "Solaris Specific Extensible attribs or System Extended attribs"
+msgid "TRU64 Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:201
-msgid "Solaris Specific Extended attribs"
+msgid "AIX Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:203
-msgid "Darwin Specific Extended attribs"
+msgid "OpenBSD Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:205
-msgid "FreeBSD Specific Extended attribs"
+msgid "Solaris Specific Extensible attribs or System Extended attribs"
msgstr ""
#: src/findlib/bfile.c:207
-msgid "Linux Specific Extended attribs"
+msgid "Solaris Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:209
+msgid "Darwin Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:211
+msgid "FreeBSD Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:213
+msgid "Linux Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:215
msgid "NetBSD Specific Extended attribs"
msgstr ""
@@ -14697,27 +14793,27 @@ msgstr "Plugin=%s non trouvé.\n"
msgid "Unknown include/exclude option: %c\n"
msgstr ""
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
#, c-format
msgid " NODUMP flag set - will not process %s\n"
msgstr ""
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
#, fuzzy, c-format
msgid "Cannot stat file %s: ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
#, c-format
msgid "%s mtime changed during backup.\n"
msgstr ""
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
#, c-format
msgid "%s ctime changed during backup.\n"
msgstr ""
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
#, c-format
msgid "%s size changed during backup.\n"
msgstr ""
@@ -16590,6 +16686,11 @@ msgstr "====\n"
msgid " SDSocket=closed\n"
msgstr ""
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
#: src/filed/status.c:464
msgid "2900 Bad .status command, missing argument.\n"
msgstr ""
@@ -16618,278 +16719,278 @@ msgstr ""
msgid "Bacula Client: Last Job had Warnings"
msgstr ""
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
#: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
#, c-format
msgid "Network send error to SD. ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
#, c-format
msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
#, c-format
msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
#, fuzzy, c-format
msgid "llistea error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
#, fuzzy, c-format
msgid "lgetea error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
#, c-format
msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
msgstr ""
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
#, fuzzy, c-format
msgid "Failed to serialize extended attributes on file \"%s\"\n"
msgstr "Impossible d'initialiser le contexte TLS pour la Console \"%s\".\n"
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
#, fuzzy, c-format
msgid "lsetea error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
#, fuzzy, c-format
msgid "attr_list error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
#, fuzzy, c-format
msgid "Received illegal xattr named %s on file \"%s\"\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
#, fuzzy, c-format
msgid "attr_set error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
#, fuzzy, c-format
msgid "llistxattr error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
#, fuzzy, c-format
msgid "lgetxattr error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
#, fuzzy, c-format
msgid "lsetxattr error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
#, fuzzy, c-format
msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
#, fuzzy, c-format
msgid "Failed to convert %d into namespace on file \"%s\"\n"
msgstr "Impossible de lire le certificat à partir du fichier"
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
#, fuzzy, c-format
msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
#, fuzzy, c-format
msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
msgstr ""
"Impossible de se positionner à la fin du média sur le device %s : ERR=%s\n"
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
#, fuzzy, c-format
msgid "Failed to convert %s into namespace on file \"%s\"\n"
msgstr "Impossible de lire le certificat à partir du fichier"
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
#, fuzzy, c-format
msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
#, fuzzy, c-format
msgid "getproplist error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
#, fuzzy, c-format
msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
msgstr "Impossible de lire le certificat à partir du fichier"
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
#, fuzzy, c-format
msgid "setproplist error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
#, fuzzy, c-format
msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
#, fuzzy, c-format
msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
#, fuzzy, c-format
msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
#, fuzzy, c-format
msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
msgstr "Impossible de se connecter à %s sur %s:%d. ERR=%s\n"
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
#, fuzzy, c-format
msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
msgstr "Impossible de se connecter à %s sur %s:%d. ERR=%s\n"
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
#, fuzzy, c-format
msgid "Unable to read content of xattr %s on file \"%s\"\n"
msgstr "Impossible de lire le certificat à partir du fichier"
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
#, fuzzy, c-format
msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
#, fuzzy, c-format
msgid "Unable to open file \"%s\": ERR=%s\n"
msgstr "3910 Impossible d'ouvrir le device %s : ERR=%s\n"
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
#, fuzzy, c-format
msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
#, fuzzy, c-format
msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
#, fuzzy, c-format
msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
#, fuzzy, c-format
msgid "Unable to convert acl from text on file \"%s\"\n"
msgstr "Impossible de lire le certificat à partir du fichier"
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
#, fuzzy, c-format
msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
#, fuzzy, c-format
msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
#, fuzzy, c-format
msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
#, fuzzy, c-format
msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
#, fuzzy, c-format
msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
#, fuzzy, c-format
msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
#, fuzzy, c-format
msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
#, fuzzy, c-format
msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de se connecter à %s sur %s:%d. ERR=%s\n"
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
#, c-format
msgid ""
"Unable to restore data of xattr %s on file \"%s\": Not all data available in "
"xattr stream\n"
msgstr ""
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
#, fuzzy, c-format
msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
#, fuzzy, c-format
msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
#, fuzzy, c-format
msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
#, fuzzy, c-format
msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s : ERR=%s\n"
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
#, c-format
msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
#, c-format
msgid "Failed to restore extensible attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
#, fuzzy, c-format
msgid "Failed to restore extended attributes on file \"%s\"\n"
msgstr ""
"Impossible de se positionner à la fin du média sur le device %s : ERR=%s\n"
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
#, fuzzy, c-format
msgid "Unable to stat file \"%s\": ERR=%s\n"
msgstr "3910 Impossible d'ouvrir le device %s : ERR=%s\n"
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
#, c-format
msgid ""
"Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -17045,56 +17146,56 @@ msgstr ""
msgid "No Director resource defined in %s\n"
msgstr ""
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
#, fuzzy, c-format
msgid "aclx_get error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
#, fuzzy, c-format
msgid "Unknown acl type encountered on file \"%s\": %ld\n"
msgstr "Impossible de créer le fichier bootstrap %s. ERR=%s\n"
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
#, fuzzy, c-format
msgid "Failed to convert acl into text on file \"%s\"\n"
msgstr "Impossible de lire le certificat à partir du fichier"
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
#, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
#, fuzzy, c-format
msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
#, fuzzy, c-format
msgid "aclx_put error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
#, fuzzy, c-format
msgid "acl_to_text error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
#, fuzzy, c-format
msgid "acl_get_file error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
#, fuzzy, c-format
msgid ""
"acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
@@ -17102,136 +17203,136 @@ msgstr ""
"Impossible de récupérer les informations du Media pour le Volume %s : ERR="
"%s\n"
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
#, fuzzy, c-format
msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
msgstr ""
"Impossible de récupérer les informations du Media pour le Volume %s : ERR="
"%s\n"
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
#, fuzzy, c-format
msgid "acl_from_text error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
#, fuzzy, c-format
msgid "acl_valid error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
#, fuzzy, c-format
msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
#, fuzzy, c-format
msgid "acl_set_file error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
#, fuzzy, c-format
msgid "pathconf error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
msgstr ""
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
#, fuzzy, c-format
msgid "getacl error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
#, fuzzy, c-format
msgid "acltostr error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
#, fuzzy, c-format
msgid "strtoacl error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
#, fuzzy, c-format
msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
#, fuzzy, c-format
msgid "setacl error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
#, fuzzy, c-format
msgid "acl_get error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without acl support\n"
msgstr ""
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
#, fuzzy, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
"support\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
#, fuzzy, c-format
msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
#, c-format
msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
msgstr ""
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
#, fuzzy, c-format
msgid "acl_set error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
#, fuzzy, c-format
msgid "acltotext error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
#, fuzzy, c-format
msgid "aclfromtext error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
#, fuzzy, c-format
msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
#, fuzzy, c-format
msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
#, fuzzy, c-format
msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
#, c-format
msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
msgstr ""
@@ -17240,17 +17341,17 @@ msgstr ""
msgid "Storage command not issued before Verify.\n"
msgstr ""
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
#, c-format
msgid "Record header scan error: %s\n"
msgstr ""
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
#, c-format
msgid "Data record error. ERR=%s\n"
msgstr ""
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
#, c-format
msgid "Actual data size %d not same as header %d\n"
msgstr ""
@@ -17412,7 +17513,7 @@ msgstr ""
msgid "Invalid file flags, no supported data stream type.\n"
msgstr ""
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
@@ -17432,194 +17533,194 @@ msgstr ""
msgid "Could not set Finder Info on %s\n"
msgstr "Impossible d'ouvrir le device %s\n"
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
#, fuzzy
msgid "LZO init failed\n"
msgstr "Impossible de Rembobiner.\n"
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
msgid "Unexpected cryptographic session data stream.\n"
msgstr ""
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
msgid ""
"No private decryption keys have been defined to decrypt encrypted backup "
"data.\n"
msgstr ""
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
#, fuzzy
msgid "Could not create digest.\n"
msgstr "Impossible de créer la structure BSOCK cliente.\n"
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
msgid "Missing private key required to decrypt encrypted backup data.\n"
msgstr ""
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
msgid "Decrypt of the session key failed.\n"
msgstr "Impossible de décrypter la clef de session.\n"
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
#, c-format
msgid "An error occurred while decoding encrypted session data stream: %s\n"
msgstr ""
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
#, c-format
msgid "Missing encryption session data stream for %s\n"
msgstr ""
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
#, c-format
msgid "Failed to initialize decryption context for %s\n"
msgstr ""
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
#, fuzzy, c-format
msgid "Cannot open resource fork for %s.\n"
msgstr "Impossible d'ouvrir le fichier %s : ERR=%s\n"
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
msgid "Unexpected cryptographic signature data stream.\n"
msgstr ""
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
#, c-format
msgid "Failed to decode message signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
#, fuzzy, c-format
msgid "Encountered %ld acl errors while doing restore\n"
msgstr "Saisir la liste des fichiers à restaurer"
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
#, c-format
msgid "Encountered %ld xattr errors while doing restore\n"
msgstr ""
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
#, c-format
msgid ""
"%d non-supported data streams and %d non-supported attrib streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
#, c-format
msgid "%d non-supported resource fork streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
#, c-format
msgid "%d non-supported Finder Info streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
#, c-format
msgid "%d non-supported acl streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
#, fuzzy, c-format
msgid "%d non-supported crypto streams ignored.\n"
msgstr "contentEncryptionAlgorithm non supporté : %d\n"
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
#, fuzzy, c-format
msgid "%d non-supported xattr streams ignored.\n"
msgstr "contentEncryptionAlgorithm non supporté : %d\n"
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
msgid "Zlib errno"
msgstr ""
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
msgid "Zlib stream error"
msgstr ""
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
msgid "Zlib data error"
msgstr ""
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
msgid "Zlib memory error"
msgstr ""
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
msgid "Zlib buffer error"
msgstr ""
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
msgid "Zlib version error"
msgstr ""
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
#, c-format
msgid "Missing cryptographic signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
#, fuzzy, c-format
msgid "Signature validation failed for file %s: ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s : ERR=%s\n"
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
#, fuzzy, c-format
msgid "Digest one file failed for file: %s\n"
msgstr "Impossible de créer le fichier bootstrap %s : ERR=%s\n"
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
#, c-format
msgid "Signature validation failed for %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
#, fuzzy, c-format
msgid "LZO uncompression error on file %s. ERR=%d\n"
msgstr "Erreur de décompression. ERR=%d\n"
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
#, c-format
msgid "Uncompression error on file %s. ERR=%s\n"
msgstr ""
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
#, c-format
msgid "Write error in Win32 Block Decomposition on %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
msgid "Decryption error\n"
msgstr ""
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
msgid "Logic error: output file should be open\n"
msgstr ""
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
msgid "Logic error: output file should not be open\n"
msgstr ""
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
#, c-format
msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
msgstr ""
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
msgid "Open File Manager paused\n"
msgstr ""
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
msgid "FAILED to pause Open File Manager\n"
msgstr ""
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
#, c-format
msgid "Running as '%s'. Privmask=%#08x\n"
msgstr ""
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
msgid "Failed to retrieve current UserName\n"
msgstr ""
@@ -17903,7 +18004,7 @@ msgid ""
"Version: "
msgstr ""
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
#, c-format
msgid "Failed ASSERT: %s\n"
msgstr ""
@@ -19012,16 +19113,16 @@ msgstr ""
msgid "At main prompt waiting for input ..."
msgstr ""
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
msgid "At prompt waiting for input ..."
msgstr ""
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
#, fuzzy
msgid "Command failed."
msgstr "Commande annulée.\n"
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
#, fuzzy
msgid "Director disconnected."
msgstr "Connexion du director le %s\n"
@@ -19054,6 +19155,19 @@ msgstr ""
" -t test - lecture de la configuration et sortie\n"
"\n"
+#~ msgid ""
+#~ "====\n"
+#~ "\n"
+#~ msgstr ""
+#~ "====\n"
+#~ "\n"
+
+#~ msgid " Drive %d status unknown.\n"
+#~ msgstr " Le statut du lecteur %d est inconnu.\n"
+
+#~ msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
+#~ msgstr " Fichiers=%s Octets=%s Octets/sec=%s\n"
+
#~ msgid "Network buffer size %d not multiple of tape block size.\n"
#~ msgstr ""
#~ "La taille du buffer réseau %d n'est pas un multiple de la taille de bloc "
diff --git a/po/nl.po b/po/nl.po
index 77f8c02..6418d0c 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Bacula 5.2.7\n"
"Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
"PO-Revision-Date: 2012-05-05 11:52+0100\n"
"Last-Translator: W. van den Akker <wvdakker at wilsoft.nl>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
@@ -95,7 +95,7 @@ msgstr "De huidige %s retention periode: %s\n"
msgid "Continue? (yes/mod/no): "
msgstr "Doorgaan? (ja, wijz, nee):"
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
msgid "mod"
msgstr ""
@@ -115,8 +115,8 @@ msgstr "U heeft de volgende keuzes:\n"
msgid "The defined Storage resources are:\n"
msgstr "De gedefinieerde Opslag media zijn:\n"
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
#: src/wx-console/wxbrestorepanel.cpp:355
#: src/wx-console/wxbrestorepanel.cpp:479
#: src/wx-console/wxbrestorepanel.cpp:480
@@ -137,7 +137,7 @@ msgstr "Selecteer opslag medium"
msgid "The defined FileSet resources are:\n"
msgstr "De gedefinieerde Fileset media zijn:\n"
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
msgid "FileSet"
msgstr ""
@@ -145,7 +145,7 @@ msgstr ""
msgid "Select FileSet resource"
msgstr "Selecteer FileSet bron"
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
msgid "Could not find a Catalog resource\n"
msgstr "Kan Catalog medium niet vinden\n"
@@ -172,8 +172,8 @@ msgid "The defined Job resources are:\n"
msgstr "De gedefinieerde job resources zijn:\n"
#: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
msgid "Job"
msgstr "Job"
@@ -198,8 +198,8 @@ msgstr "Selecteer Job om terug te zetten"
msgid "The defined Client resources are:\n"
msgstr "De gedefinieerde Clients zijn:\n"
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
#: src/wx-console/wxbrestorepanel.cpp:336
#: src/wx-console/wxbrestorepanel.cpp:354
#: src/wx-console/wxbrestorepanel.cpp:431
@@ -258,7 +258,7 @@ msgstr "Selecteer Client"
msgid "Could not find Pool \"%s\": ERR=%s"
msgstr ""
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
#, c-format
msgid "Error obtaining pool ids. ERR=%s\n"
msgstr ""
@@ -272,12 +272,12 @@ msgid "Defined Pools:\n"
msgstr "Gedefinieerde Pools:\n"
#: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
msgid "*None*"
msgstr "*Geen*"
#: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
#: src/wx-console/wxbrestorepanel.cpp:527
#: src/wx-console/wxbrestorepanel.cpp:537
#: src/wx-console/wxbrestorepanel.cpp:1834
@@ -418,7 +418,7 @@ msgstr ""
msgid "Unauthorized command from this console.\n"
msgstr ""
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
msgid "No Jobs running.\n"
msgstr "Geen Jobs in uitvoering.\n"
@@ -729,8 +729,8 @@ msgstr "Bestand: %s\n"
msgid "Start Admin JobId %d, Job=%s\n"
msgstr ""
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
#, c-format
msgid "Error getting Job record for Job report: ERR=%s"
msgstr ""
@@ -747,8 +747,8 @@ msgstr "*** Admin Fout ***"
msgid "Admin Canceled"
msgstr "Admin geannuleerd"
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
#, c-format
msgid "Inappropriate term code: %c\n"
msgstr ""
@@ -757,7 +757,7 @@ msgstr ""
msgid "Bacula "
msgstr ""
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
#, fuzzy, c-format
msgid ""
"\n"
@@ -789,66 +789,66 @@ msgstr ""
" -? geef deze melding.\n"
"\n"
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
#: src/filed/filed.c:218 src/qt-console/main.cpp:165
msgid "Cryptography library initialization failed.\n"
msgstr ""
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
#: src/filed/filed.c:223 src/qt-console/main.cpp:169
#, c-format
msgid "Please correct configuration file: %s\n"
msgstr ""
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
msgid "Too many open reload requests. Request ignored.\n"
msgstr ""
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
msgid "Out of reload table entries. Giving up.\n"
msgstr ""
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
msgid "Resetting previous configuration.\n"
msgstr ""
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
#, c-format
msgid ""
"No Director resource defined in %s\n"
"Without that I don't know who I am :-(\n"
msgstr ""
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
#, c-format
msgid "No Messages resource defined in %s\n"
msgstr ""
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
#, c-format
msgid "Only one Director resource permitted in %s\n"
msgstr ""
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
#: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
#: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
#: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
msgid "TLS required but not configured in Bacula.\n"
msgstr ""
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
#, c-format
msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
#, c-format
msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -856,46 +856,46 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
#, c-format
msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
#, c-format
msgid "No Job records defined in %s\n"
msgstr ""
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
#, c-format
msgid "Hey something is wrong. p=0x%lu\n"
msgstr ""
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
#, c-format
msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
msgstr ""
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
msgid "Too many items in Job resource\n"
msgstr ""
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
#, c-format
msgid "No storage specified in Job \"%s\" nor in Pool.\n"
msgstr ""
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
#, c-format
msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
#, c-format
msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -903,51 +903,51 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
#, c-format
msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
"File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
"Storage \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
#, c-format
msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
#, c-format
msgid "Could not open Catalog \"%s\", database \"%s\".\n"
msgstr ""
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
#, c-format
msgid "%s"
msgstr ""
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
#, c-format
msgid "Could not create storage record for %s\n"
msgstr ""
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
#, c-format
msgid "Could not update storage record for %s\n"
msgstr ""
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
#, c-format
msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
msgstr ""
@@ -966,18 +966,18 @@ msgstr ""
msgid "Old style Include/Exclude not supported\n"
msgstr ""
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
#, c-format
msgid "Expecting keyword, got: %s\n"
msgstr ""
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
#: src/lib/parse_conf.c:976
#, c-format
msgid "expected an equals, got: %s"
msgstr ""
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
#, c-format
msgid "Keyword %s not permitted in this resource"
msgstr ""
@@ -1029,7 +1029,7 @@ msgstr ""
msgid "Options section not permitted in Exclude\n"
msgstr ""
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
#, c-format
msgid "Expecting open brace. Got %s"
msgstr ""
@@ -1210,13 +1210,13 @@ msgid ""
"There are no more Jobs associated with Volume \"%s\". Marking it purged.\n"
msgstr ""
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d ...\n"
msgstr ""
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
msgid "Failed to connect to Storage daemon.\n"
msgstr ""
@@ -1291,34 +1291,34 @@ msgstr ""
msgid "Could not get or create the FileSet record.\n"
msgstr ""
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
#, c-format
msgid "Error getting Client record for Job report: ERR=%s"
msgstr ""
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
#, c-format
msgid "Error getting Media record for Volume \"%s\": ERR=%s"
msgstr ""
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
msgid "Backup OK -- with warnings"
msgstr "Backup OK -- met waarschuwingen"
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
msgid "Backup OK"
msgstr ""
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
msgid "*** Backup Error ***"
msgstr "*** Backup Fout ***"
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
msgid "Backup Canceled"
msgstr "Backup geannuleerd"
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -1365,93 +1365,93 @@ msgstr ""
msgid "disabled"
msgstr ""
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
msgid "Keywords for the show command are:\n"
msgstr ""
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
#, c-format
msgid "%s resource %s not found.\n"
msgstr ""
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
#, c-format
msgid "Resource %s not found\n"
msgstr ""
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
msgid "Hey! DB is NULL\n"
msgstr ""
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
#, c-format
msgid "Jobid %d used %d Volume(s): %s\n"
msgstr ""
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
msgid "No Pool specified.\n"
msgstr ""
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
#, c-format
msgid "Pool: %s\n"
msgstr ""
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
msgid "Ignoring invalid value for days. Max is 50.\n"
msgstr ""
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
#, c-format
msgid "Unknown list keyword: %s\n"
msgstr ""
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
#, c-format
msgid "%s is not a job name.\n"
msgstr ""
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
#, c-format
msgid "Could not find Pool for Job %s\n"
msgstr ""
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
#, c-format
msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
msgstr ""
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
#, c-format
msgid ""
"The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
msgstr ""
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
#, c-format
msgid "Could not find next Volume for Job %s.\n"
msgstr ""
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
#, c-format
msgid "Could not open database \"%s\".\n"
msgstr ""
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
#, c-format
msgid "Pool %s not in database. %s"
msgstr ""
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
#, c-format
msgid "Pool %s created in database.\n"
msgstr ""
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
msgid "You have no messages.\n"
msgstr ""
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
msgid "Message too long to display.\n"
msgstr ""
@@ -1464,88 +1464,88 @@ msgstr ""
msgid ": is an invalid command.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
#: src/dird/ua_restore.c:823
#, c-format
msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
#: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
#: src/dird/job.c:1160 src/dird/job.c:1164
msgid "unknown source"
msgstr ""
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
msgid "Connected to storage daemon\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
#: src/dird/ua_status.c:397
#, c-format
msgid "Connecting to Client %s at %s:%d\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
msgid "Failed to connect to Client.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
#, c-format
msgid "Unknown command: %s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
msgid "Available daemons are: \n"
msgstr ""
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
msgid "Director"
msgstr ""
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
msgid "Select daemon type to make die"
msgstr ""
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
msgid "The Director will generate a deadlock.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
msgid "The Director will segment fault.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
msgid "Access to specified Client or FileSet not allowed.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
#: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
#: src/dird/ua_restore.c:990
#, c-format
msgid "Query failed: %s. ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
msgid "query keyword not found.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
#, c-format
msgid "List MediaType failed: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
#, c-format
msgid "List Media failed: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
#, c-format
msgid "List Location failed: ERR=%s\n"
msgstr ""
@@ -1854,11 +1854,11 @@ msgstr ""
msgid "Enter base volume name: "
msgstr ""
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
msgid "Volume name too long.\n"
msgstr ""
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
msgid "Volume name must be at least one character long.\n"
msgstr ""
@@ -1917,11 +1917,11 @@ msgstr ""
msgid "Python interpreter restarted.\n"
msgstr ""
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
msgid "Nothing done.\n"
msgstr ""
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
#, c-format
msgid "Client \"%s\" not found.\n"
msgstr ""
@@ -1948,7 +1948,7 @@ msgstr ""
msgid "Select daemon type to set debug level"
msgstr ""
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
#, c-format
msgid "No authorization for Client \"%s\"\n"
msgstr ""
@@ -1957,7 +1957,7 @@ msgstr ""
msgid "Client name missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
#, c-format
msgid "No authorization for Job \"%s\"\n"
msgstr ""
@@ -1980,7 +1980,7 @@ msgstr ""
msgid "Fileset name missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
#, c-format
msgid "Level \"%s\" not valid.\n"
msgstr ""
@@ -1989,43 +1989,67 @@ msgstr ""
msgid "Level value missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
msgid "Invalid value for accurate. It must be yes or no.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+msgid "Accurate value missing.\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1167
msgid "No job specified.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
msgid "Error sending include list.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
msgid "Error sending exclude list.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
msgid ""
"In general it is not a good idea to delete either a\n"
"Pool or a Volume since they may contain data.\n"
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
msgid "Choose catalog item to delete"
msgstr ""
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1404
msgid "Enter JobId to delete: "
msgstr ""
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr ""
+
+#: src/dird/ua_cmds.c:1450
+#, c-format
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
#, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Jobid %s and associated records deleted from the catalog.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
#, c-format
msgid ""
"\n"
@@ -2033,44 +2057,44 @@ msgid ""
"and all Jobs saved on that volume from the Catalog\n"
msgstr ""
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
#, c-format
msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
msgstr ""
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
msgid "Can't list jobs on this volume\n"
msgstr ""
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
#, c-format
msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
msgstr ""
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
#, c-format
msgid "Using Catalog name=%s DB=%s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
msgid "ERR: Can't open db\n"
msgstr ""
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
msgid "Wait on mount timed out\n"
msgstr ""
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
msgid "ERR: Job was not found\n"
msgstr ""
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
msgid ""
" Command Description\n"
" ======= ===========\n"
msgstr ""
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
#, c-format
msgid ""
" %-13s %s\n"
@@ -2079,12 +2103,12 @@ msgid ""
"\t%s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
#, c-format
msgid " %-13s %s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
#, c-format
msgid ""
"\n"
@@ -2092,29 +2116,29 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
msgid ""
"\n"
"When at a prompt, entering a period cancels the command.\n"
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
#, c-format
msgid "%s Version: %s (%s) %s %s %s %s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
#, c-format
msgid "No authorization for Catalog \"%s\"\n"
msgstr ""
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
#, c-format
msgid "Could not open catalog database \"%s\".\n"
msgstr ""
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
#, c-format
msgid "Using Catalog \"%s\"\n"
msgstr ""
@@ -2312,57 +2336,57 @@ msgstr ""
msgid "%d directories unmarked.\n"
msgstr ""
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
#: src/qt-console/tray-monitor/tray_conf.cpp:168
#, c-format
msgid "No %s resource defined\n"
msgstr ""
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
#, c-format
msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
#, c-format
msgid " query_file=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
msgid " --> "
msgstr ""
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
#, c-format
msgid "Console: name=%s SSL=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
#, c-format
msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
#, c-format
msgid "Counter: name=%s min=%d max=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
#, c-format
msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
#, c-format
msgid " JobRetention=%s FileRetention=%s AutoPrune=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
#, c-format
msgid ""
"Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2371,286 +2395,286 @@ msgid ""
" poolid=%s volname=%s MediaType=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
#, c-format
msgid ""
"Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
" DeviceName=%s MediaType=%s StorageId=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
#, c-format
msgid ""
"Catalog: name=%s address=%s DBport=%d db_name=%s\n"
" db_driver=%s db_user=%s MutliDBConn=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
#, c-format
msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
msgid "JobDefs"
msgstr ""
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
#, c-format
msgid ""
" MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
"%d\n"
msgstr ""
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
#, c-format
msgid " SpoolSize=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
#, c-format
msgid " Accurate=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
#, c-format
msgid " SelectionType=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
#, c-format
msgid " --> Where=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
#, c-format
msgid " --> RegexWhere=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
#, c-format
msgid " --> Bootstrap=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
#, c-format
msgid " --> WriteBootstrap=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
#, c-format
msgid " --> PluginOptions=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
#, c-format
msgid " --> MaxRunTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
#, c-format
msgid " --> MaxWaitTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
#, c-format
msgid " --> MaxStartDelay=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
#, c-format
msgid " --> MaxRunSchedTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
#, c-format
msgid " --> Base %s\n"
msgstr ""
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
msgid " --> RunScript\n"
msgstr ""
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
#, c-format
msgid " --> Command=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
#, c-format
msgid " --> Target=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
#, c-format
msgid " --> RunOnSuccess=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
#, c-format
msgid " --> RunOnFailure=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
#, c-format
msgid " --> FailJobOnError=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
#, c-format
msgid " --> RunWhen=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
#, c-format
msgid " --> Run=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
#, c-format
msgid " --> SelectionPattern=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
#, c-format
msgid "FileSet: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
#, c-format
msgid "Schedule: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
#, c-format
msgid " --> Run Level=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
msgid " hour="
msgstr ""
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
msgid " mday="
msgstr ""
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
msgid " month="
msgstr ""
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
msgid " wday="
msgstr ""
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
msgid " wom="
msgstr ""
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
msgid " woy="
msgstr ""
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
#, c-format
msgid " mins=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
msgid " --> "
msgstr ""
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
#, c-format
msgid "Pool: name=%s PoolType=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
#, c-format
msgid " use_cat=%d use_once=%d cat_files=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
#, c-format
msgid " max_vols=%d auto_prune=%d VolRetention=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
#, c-format
msgid " VolUse=%s recycle=%d LabelFormat=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
#, c-format
msgid " CleaningPrefix=%s LabelType=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
#, c-format
msgid " RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
#, c-format
msgid " MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
#, c-format
msgid " MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
#, c-format
msgid " JobRetention=%s FileRetention=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
#, c-format
msgid " NextPool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
#, c-format
msgid " RecyclePool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
#, c-format
msgid " ScratchPool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
#, c-format
msgid " Catalog=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
#, c-format
msgid "Messages: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
#, c-format
msgid " mailcmd=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
#, c-format
msgid " opcmd=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
#: src/qt-console/tray-monitor/tray_conf.cpp:199
#, c-format
msgid "Unknown resource type %d in dump_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
#: src/qt-console/tray-monitor/tray_conf.cpp:257
#, c-format
msgid "Unknown resource type %d in free_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
#: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
#: src/console/console_conf.c:259 src/filed/filed_conf.c:361
#: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2659,54 +2683,54 @@ msgstr ""
msgid "%s item is required in %s resource, but not found.\n"
msgstr ""
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
#: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
#, c-format
msgid "Too many items in %s resource\n"
msgstr ""
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
#, c-format
msgid "Cannot find Pool resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
#, c-format
msgid "Cannot find Console resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
#: src/filed/filed_conf.c:381
#, c-format
msgid "Cannot find Director resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
#, c-format
msgid "Cannot find Storage resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
#, c-format
msgid "Cannot find Job resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
#, c-format
msgid "Cannot find Counter resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
#, c-format
msgid "Cannot find Client resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
#, c-format
msgid "Cannot find Schedule resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
#: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
#: src/qt-console/tray-monitor/tray_conf.cpp:314
#: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2714,12 +2738,12 @@ msgstr ""
msgid "Unknown resource type %d in save_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
#, c-format
msgid "Name item is required in %s resource, but not found.\n"
msgstr ""
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
#: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
#: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
#: src/qt-console/bat_conf.cpp:334
@@ -2727,43 +2751,43 @@ msgstr ""
msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
msgstr ""
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
#, c-format
msgid "Inserting %s res: %s index=%d pass=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
#, c-format
msgid "Expected one of: %s, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
#, c-format
msgid "Expected a Migration Job Type keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
#, c-format
msgid "Expected a Job Type keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
#, c-format
msgid "Expected a Job Level keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
#, c-format
msgid "Expected a Restore replacement option, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
#: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
#, c-format
msgid "Expect %s, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
#, c-format
msgid "Could not find config Resource %s referenced on line %d : %s\n"
msgstr ""
@@ -2891,7 +2915,7 @@ msgstr ""
msgid "Select full restore to a specified Job date"
msgstr ""
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
#: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
msgid "Cancel"
msgstr ""
@@ -3294,179 +3318,179 @@ msgstr ""
msgid "Slot too large.\n"
msgstr ""
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
msgid "command line"
msgstr ""
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
msgid "No slots in changer to scan.\n"
msgstr ""
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
msgid "No Volumes found to label, or no barcodes.\n"
msgstr ""
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
#, c-format
msgid "Slot %d greater than max %d ignored.\n"
msgstr ""
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
#, c-format
msgid "No VolName for Slot=%d InChanger set to zero.\n"
msgstr ""
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
#, c-format
msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
msgstr ""
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
#, c-format
msgid "Catalog record for Volume \"%s\" is up to date.\n"
msgstr ""
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
#, c-format
msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
msgstr ""
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
#, c-format
msgid ""
"Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
"relabeling.\n"
msgstr ""
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
msgid "Enter new Volume name: "
msgstr ""
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
#, c-format
msgid "Media record for new Volume \"%s\" already exists.\n"
msgstr ""
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
msgid "Enter slot (0 or Enter for none): "
msgstr ""
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
#, c-format
msgid "Delete of Volume \"%s\" failed. ERR=%s"
msgstr ""
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
#, c-format
msgid "Old volume \"%s\" deleted from catalog.\n"
msgstr ""
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
#, c-format
msgid "Requesting to mount %s ...\n"
msgstr ""
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
msgid "Do not forget to mount the drive!!!\n"
msgstr ""
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
msgid ""
"The following Volumes will be labeled:\n"
"Slot Volume\n"
"==============\n"
msgstr ""
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
msgid "Do you want to label these Volumes? (yes|no): "
msgstr ""
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
#, c-format
msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
msgstr ""
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
#, c-format
msgid "Error setting InChanger: ERR=%s"
msgstr ""
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
#, c-format
msgid "Maximum pool Volumes=%d reached.\n"
msgstr ""
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
#, c-format
msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
#, c-format
msgid "Catalog error on cleaning tape: %s"
msgstr ""
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
#, c-format
msgid "Illegal character \"%c\" in a volume name.\n"
msgstr ""
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
#, c-format
msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
msgstr ""
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
#, c-format
msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
msgstr ""
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
#, c-format
msgid "Catalog record for Volume \"%s\", Slot %d successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
#, c-format
msgid "Label command failed for Volume %s.\n"
msgstr ""
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
msgid "Could not open SD socket.\n"
msgstr ""
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
#, c-format
msgid "Invalid Slot number: %s\n"
msgstr ""
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
#, c-format
msgid "Invalid Volume name: %s\n"
msgstr ""
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
#, c-format
msgid "Device \"%s\" has %d slots.\n"
msgstr ""
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
#, c-format
msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
msgstr ""
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
msgid "No Volumes found, or no barcodes.\n"
msgstr ""
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
msgid ""
" Slot | Volume Name | Status | Media Type | "
"Pool |\n"
msgstr ""
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
msgid ""
"------+------------------+-----------+----------------------"
"+--------------------|\n"
@@ -3687,15 +3711,15 @@ msgid "New Recycle flag is: %s\n"
msgstr ""
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
#: src/tools/dbcheck.c:1352
msgid "yes"
msgstr ""
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
msgid "no"
msgstr ""
@@ -3774,7 +3798,7 @@ msgstr ""
msgid "New ActionOnPurge is: %s\n"
msgstr ""
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
msgid "Parameters to modify:\n"
msgstr ""
@@ -3846,7 +3870,7 @@ msgstr ""
msgid "Done"
msgstr ""
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
msgid "Select parameter to modify"
msgstr ""
@@ -4075,7 +4099,7 @@ msgstr ""
msgid "Pool resource \"%s\" not found.\n"
msgstr ""
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
#, c-format
msgid "Could not get job record for JobId %s to %s. ERR=%s"
msgstr ""
@@ -4090,140 +4114,140 @@ msgstr ""
msgid "Start %s JobId %s, Job=%s\n"
msgstr ""
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
#, c-format
msgid "No %s SQL selection pattern specified.\n"
msgstr ""
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
#, c-format
msgid "SQL failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
#, c-format
msgid "No Volumes found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
msgid "Invalid JobId found.\n"
msgstr ""
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
#, c-format
msgid "Unknown %s Selection Type.\n"
msgstr ""
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
#, c-format
msgid "No JobIds found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
#, c-format
msgid "The following %u JobId%s chosen to be %s: %s\n"
msgstr ""
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid " was"
msgstr ""
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid "s were"
msgstr ""
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
#, c-format
msgid "%s using JobId=%s Job=%s\n"
msgstr ""
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
msgid "Could not start migration job.\n"
msgstr ""
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
#, c-format
msgid "%s JobId %d started.\n"
msgstr ""
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
#, c-format
msgid "No %s found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
#, c-format
msgid "SQL error. Expected 1 MediaId got %d\n"
msgstr ""
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
#, c-format
msgid "No %ss found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
msgstr ""
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
#, c-format
msgid "SQL to get uncopied jobs failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
#, c-format
msgid "No %s %s selection pattern specified.\n"
msgstr ""
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
#, c-format
msgid "SQL to get %s failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
#, c-format
msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
#, c-format
msgid "Regex pattern matched no Jobs to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
#, c-format
msgid "%s OK -- with warnings"
msgstr ""
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
#, c-format
msgid "%s OK"
msgstr ""
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
#, c-format
msgid "*** %s Error ***"
msgstr ""
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
#, c-format
msgid "%s Canceled"
msgstr ""
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
#, c-format
msgid "Inappropriate %s term code"
msgstr ""
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
#, c-format
msgid "%s -- no files to %s"
msgstr ""
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -4258,17 +4282,17 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
#, c-format
msgid "No Next Pool specification found in Pool \"%s\".\n"
msgstr ""
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
#, c-format
msgid "No Storage specification found in Next Pool \"%s\".\n"
msgstr ""
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
msgid "Storage from Pool's NextPool resource"
msgstr ""
@@ -4276,43 +4300,43 @@ msgstr ""
msgid "Choose item to prune"
msgstr ""
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
#, c-format
msgid "Cannot prune Volume \"%s\" because it is archived.\n"
msgstr ""
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
msgid "Pruned Jobs from JobHisto catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
msgid "Begin pruning Files.\n"
msgstr ""
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
msgid "No Files found to prune.\n"
msgstr ""
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
#, c-format
msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
#, c-format
msgid "Begin pruning Jobs older than %s.\n"
msgstr ""
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
#, c-format
msgid "Pruned %d %s for client %s from catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
msgid "Jobs"
msgstr ""
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
msgid "No Jobs found to prune.\n"
msgstr ""
@@ -4335,50 +4359,58 @@ msgstr ""
msgid "Job queued. JobId=%s\n"
msgstr ""
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr ""
+
+#: src/dird/ua_run.c:207
msgid "Job not run.\n"
msgstr ""
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
msgid "Level"
msgstr ""
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
msgid "Restore Client"
msgstr ""
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
#: src/wx-console/wxbrestorepanel.cpp:854
#: src/wx-console/wxbrestorepanel.cpp:1918
msgid "When"
msgstr ""
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
#: src/wx-console/wxbrestorepanel.cpp:1128
#: src/wx-console/wxbrestorepanel.cpp:1921
msgid "Priority"
msgstr ""
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
msgid "Verify Job"
msgstr ""
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
#: src/wx-console/wxbrestorepanel.cpp:1899
msgid "Bootstrap"
msgstr ""
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
#: src/wx-console/wxbrestorepanel.cpp:1104
#: src/wx-console/wxbrestorepanel.cpp:1901
msgid "Where"
msgstr ""
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
msgid "File Relocation"
msgstr ""
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
#: src/wx-console/wxbrestorepanel.cpp:1112
#: src/wx-console/wxbrestorepanel.cpp:1905
#: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4388,212 +4420,212 @@ msgstr ""
msgid "Replace"
msgstr ""
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
msgid "JobId"
msgstr ""
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
msgid "Plugin Options"
msgstr ""
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
msgid "user selection"
msgstr ""
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
msgid ""
"Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
msgstr ""
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
msgid "Invalid time, using current time.\n"
msgstr ""
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
msgid "Enter new Priority: "
msgstr ""
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
msgid "Priority must be a positive integer.\n"
msgstr ""
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
msgid "Please enter the Bootstrap file name: "
msgstr ""
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
#, c-format
msgid "Warning cannot open %s: ERR=%s\n"
msgstr ""
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
msgid "Please enter the full path prefix for restore (/ for none): "
msgstr ""
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
msgid "Replace:\n"
msgstr ""
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
msgid "Select replace option"
msgstr ""
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
msgid ""
"You must set the bootstrap file to NULL to be able to specify a JobId.\n"
msgstr ""
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
msgid "Please Plugin Options string: "
msgstr ""
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
msgid "User input"
msgstr ""
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
#, c-format
msgid "Invalid replace option: %s\n"
msgstr ""
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
msgstr ""
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
msgid "This will replace your current Where value\n"
msgstr ""
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
msgid "Strip prefix"
msgstr ""
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
msgid "Add prefix"
msgstr ""
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
msgid "Add file suffix"
msgstr ""
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
msgid "Enter a regexp"
msgstr ""
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
msgid "Test filename manipulation"
msgstr ""
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
msgid "Use this ?"
msgstr ""
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
msgid "Please enter the path prefix to strip: "
msgstr ""
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
msgid "Please enter the path prefix to add (/ for none): "
msgstr ""
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
msgid "Please enter the file suffix to add: "
msgstr ""
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
msgid "Please enter a valid regexp (!from!to!): "
msgstr ""
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
#, c-format
msgid "regexwhere=%s\n"
msgstr ""
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
msgstr ""
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
msgid "Cannot use your regexp\n"
msgstr ""
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
msgid "Enter a period (.) to stop this test\n"
msgstr ""
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
msgid "Please enter filename to test: "
msgstr ""
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
#, c-format
msgid "%s -> %s\n"
msgstr ""
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
msgid "Cannot use your regexp.\n"
msgstr ""
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
msgid "Levels:\n"
msgstr ""
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
#: src/lib/util.c:472 src/filed/status.c:519
msgid "Full"
msgstr ""
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
#: src/filed/status.c:522
msgid "Incremental"
msgstr ""
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
#: src/filed/status.c:525
msgid "Differential"
msgstr ""
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
#: src/filed/status.c:528
msgid "Since"
msgstr ""
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
msgid "VirtualFull"
msgstr ""
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
msgid "Select level"
msgstr ""
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
msgid "Initialize Catalog"
msgstr ""
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
#: src/filed/status.c:531
msgid "Verify Catalog"
msgstr ""
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
msgid "Verify Volume to Catalog"
msgstr ""
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
msgid "Verify Disk to Catalog"
msgstr ""
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
msgid "Verify Volume Data (not yet implemented)"
msgstr ""
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
msgid "Level not appropriate for this Job. Cannot be changed.\n"
msgstr ""
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
#, c-format
msgid ""
"Run Admin Job\n"
@@ -4605,7 +4637,7 @@ msgid ""
"Priority: %d\n"
msgstr ""
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
#, c-format
msgid ""
"Run Backup job\n"
@@ -4620,12 +4652,12 @@ msgid ""
"%s%s%s"
msgstr ""
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
#, c-format
msgid "Could not get job record for selected JobId. ERR=%s"
msgstr ""
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
#, c-format
msgid ""
"Run Verify Job\n"
@@ -4641,11 +4673,11 @@ msgid ""
"Priority: %d\n"
msgstr ""
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
msgid "Please enter a JobId for restore: "
msgstr ""
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
#, c-format
msgid ""
"Run Restore job\n"
@@ -4663,7 +4695,7 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
#, c-format
msgid ""
"Run Restore job\n"
@@ -4681,7 +4713,7 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
#, c-format
msgid ""
"Run Restore job\n"
@@ -4689,17 +4721,17 @@ msgid ""
"Bootstrap: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
#, c-format
msgid "RegexWhere: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
#, c-format
msgid "Where: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
#, c-format
msgid ""
"Replace: %s\n"
@@ -4712,215 +4744,215 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
msgid "Run Copy job\n"
msgstr ""
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
msgid "Run Migration job\n"
msgstr ""
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
#, c-format
msgid "Unknown Job Type=%d\n"
msgstr ""
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
#, c-format
msgid "Value missing for keyword %s\n"
msgstr ""
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
msgid "Job name specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
msgid "JobId specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
msgid "Client specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
msgid "FileSet specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
msgid "Level specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
msgid "Storage specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
msgid "RegexWhere or Where specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
msgid "No authorization for \"regexwhere\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
msgid "Where or RegexWhere specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
msgid "No authoriztion for \"where\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
msgid "Bootstrap specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
msgid "Replace specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
msgid "When specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
msgid "Priority specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
msgid "Priority must be positive nonzero setting it to 10.\n"
msgstr ""
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
msgid "Verify Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
msgid "Migration Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
msgid "Pool specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
msgid "Restore Client specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
msgid "Plugin Options not yet implemented.\n"
msgstr ""
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
msgid "Plugin Options specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
msgid "No authoriztion for \"PluginOptions\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
msgid "Spool flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
msgid "Invalid spooldata flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
msgid "IgnoreDuplicateCheck flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
msgid "Invalid ignoreduplicatecheck flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
msgid "Accurate flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
msgid "Invalid accurate flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
#, c-format
msgid "Invalid keyword: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
#, c-format
msgid "Catalog \"%s\" not found\n"
msgstr ""
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
#, c-format
msgid "No authorization. Catalog \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
#, c-format
msgid "Job \"%s\" not found\n"
msgstr ""
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
msgid "A job name must be specified.\n"
msgstr ""
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
#, c-format
msgid "No authorization. Job \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
#, c-format
msgid "Pool \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
#, c-format
msgid "No authorization. Pool \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
#, c-format
msgid "Storage \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
msgid "No storage specified.\n"
msgstr ""
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
#, c-format
msgid "No authorization. Storage \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
#, c-format
msgid "No authorization. Client \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
#, c-format
msgid "Restore Client \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
#, c-format
msgid "FileSet \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
#, c-format
msgid "No authorization. FileSet \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
#, c-format
msgid "Verify Job \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
#, c-format
msgid "Migration Job \"%s\" not found.\n"
msgstr ""
@@ -4977,25 +5009,25 @@ msgstr ""
msgid "Start Backup JobId %s, Job=%s\n"
msgstr ""
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
#, c-format
msgid "Unexpected Client Job message: %s\n"
msgstr ""
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
#, c-format
msgid "Network error with FD during %s: ERR=%s\n"
msgstr ""
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
msgid "No Job status returned from FD.\n"
msgstr ""
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
msgid "Backup failed -- incomplete"
msgstr ""
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5034,19 +5066,19 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
#, c-format
msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
msgstr ""
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
#, c-format
msgid ""
"Could not open WriteBootstrap file:\n"
"%s: ERR=%s\n"
msgstr ""
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr ""
@@ -5061,39 +5093,39 @@ msgstr ""
msgid "Could not acquire read storage lock for \"%s\""
msgstr ""
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
msgid ""
"Cannot restore without a bootstrap file.\n"
"You probably ran a restore job directly. All restore jobs must\n"
"be run using the restore command.\n"
msgstr ""
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
#, c-format
msgid "Start Restore Job %s\n"
msgstr ""
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
msgid "Restore OK -- warning file count mismatch"
msgstr ""
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
msgid "Restore OK"
msgstr ""
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
msgid "Restore OK -- with warnings"
msgstr ""
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
msgid "*** Restore Error ***"
msgstr ""
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
msgid "Restore Canceled"
msgstr ""
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5122,7 +5154,7 @@ msgstr ""
msgid "Select daemon type for status"
msgstr ""
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
#, c-format
msgid "%s Version: %s (%s) %s %s %s\n"
msgstr ""
@@ -5132,7 +5164,7 @@ msgstr ""
msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
msgstr ""
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
#, c-format
msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
msgstr ""
@@ -5189,7 +5221,7 @@ msgstr ""
msgid "No Scheduled Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
msgid ""
"\n"
"Running Jobs:\n"
@@ -5353,13 +5385,13 @@ msgstr ""
msgid "No Terminated Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
msgid ""
"\n"
"Terminated Jobs:\n"
msgstr ""
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr ""
@@ -5367,41 +5399,41 @@ msgstr ""
msgid "====================================================================\n"
msgstr ""
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
#: src/filed/status.c:363
msgid "Created"
msgstr ""
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
#: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
msgid "Error"
msgstr ""
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
msgid "Diffs"
msgstr ""
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
#: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
#: src/wx-console/wxbconfigpanel.cpp:209
msgid "OK"
msgstr ""
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
#: src/lib/util.c:327
msgid "OK -- with warnings"
msgstr ""
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
msgid "Other"
msgstr ""
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
#, c-format
msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
msgstr ""
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr ""
@@ -5570,7 +5602,7 @@ msgstr ""
msgid "Job DiffPool override"
msgstr ""
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr ""
@@ -5894,7 +5926,17 @@ msgstr ""
msgid "<stored: bad response to Job command: %s\n"
msgstr ""
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:311
+#, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:318
#, c-format
msgid ""
"\n"
@@ -5902,24 +5944,19 @@ msgid ""
" %s"
msgstr ""
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
#, c-format
msgid ""
"\n"
" Storage daemon didn't accept Device \"%s\" command.\n"
msgstr ""
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr ""
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
#, c-format
msgid "Cannot create message thread: %s\n"
msgstr ""
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
msgid "Director's comm line to SD dropped.\n"
msgstr ""
@@ -6369,26 +6406,26 @@ msgstr ""
msgid "Unable to initialize reservation lock. ERR=%s\n"
msgstr ""
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
#, c-format
msgid "Hey! num_writers=%d!!!!\n"
msgstr ""
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
msgid "3939 Could not get dcr\n"
msgstr ""
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
#, c-format
msgid "Device reservation failed for JobId=%d: %s\n"
msgstr ""
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
#, c-format
msgid "Failed command: %s\n"
msgstr ""
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
#, c-format
msgid ""
"\n"
@@ -6396,85 +6433,85 @@ msgid ""
"does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
#, c-format
msgid ""
"\n"
" Device \"%s\" requested by DIR could not be opened or does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
#, c-format
msgid "3926 Could not get dcr for device: %s\n"
msgstr ""
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
#, c-format
msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
#, c-format
msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
msgstr ""
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
#, c-format
msgid "3603 JobId=%u device %s is busy reading.\n"
msgstr ""
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
#, c-format
msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
#, c-format
msgid ""
"3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
"%s.\n"
msgstr ""
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
#, c-format
msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
#, c-format
msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
#, c-format
msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
msgstr ""
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
#, c-format
msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
msgstr ""
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
#, c-format
msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
#, c-format
msgid "Logic error!!!! JobId=%u Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
#, c-format
msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
msgid "Logic error!!!! Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
#, c-format
msgid "3911 JobId=%u failed reserve drive %s.\n"
msgstr ""
@@ -6606,7 +6643,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
msgstr ""
#: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
#, c-format
msgid "Mount Volume \"%s\" on device %s and press return when ready: "
msgstr ""
@@ -6901,7 +6938,7 @@ msgstr ""
msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
msgstr ""
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
#, c-format
msgid ""
"Bootstrap file error: %s\n"
@@ -6909,154 +6946,154 @@ msgid ""
"%s\n"
msgstr ""
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
#, c-format
msgid "Cannot open bootstrap file %s: %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
#, c-format
msgid "MediaType %s in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
#, c-format
msgid "Device \"%s\" in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
#, c-format
msgid "REGEX '%s' compile error. ERR=%s\n"
msgstr ""
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
msgid "JobType not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
msgid "JobLevel not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
#, c-format
msgid "Slot %d in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
#, c-format
msgid "VolFile : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
#, c-format
msgid "VolBlock : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
#, c-format
msgid "VolAddr : %llu-%llu\n"
msgstr ""
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
#, c-format
msgid "FileIndex : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
#, c-format
msgid "FileIndex : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
#, c-format
msgid "JobId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
#, c-format
msgid "JobId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
#, c-format
msgid "SessId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
#, c-format
msgid "SessId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
#, c-format
msgid "VolumeName : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
#, c-format
msgid " MediaType : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
#, c-format
msgid " Device : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
#, c-format
msgid " Slot : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
#, c-format
msgid "Client : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
#, c-format
msgid "Job : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
#, c-format
msgid "SessTime : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
msgid "BSR is NULL\n"
msgstr ""
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
#, c-format
msgid "Next : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
#, c-format
msgid "Root bsr : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
#, c-format
msgid "count : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
#, c-format
msgid "found : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
#, c-format
msgid "done : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
#, c-format
msgid "positioning : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
#, c-format
msgid "fast_reject : %d\n"
msgstr ""
@@ -7141,7 +7178,7 @@ msgid "Unable to set network buffer size.\n"
msgstr ""
#: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
msgid "NULL Volume name. This shouldn't happen!!!\n"
msgstr ""
@@ -7250,7 +7287,7 @@ msgstr ""
msgid "Volume on %s has bad Bacula label type: %x\n"
msgstr ""
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
#, c-format
msgid "Could not reserve volume %s on %s\n"
msgstr ""
@@ -7260,7 +7297,7 @@ msgstr ""
msgid "Cannot write Volume label to block for device %s\n"
msgstr ""
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
#, c-format
msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr ""
@@ -7426,82 +7463,101 @@ msgstr ""
msgid "Used Volume status:\n"
msgstr ""
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
msgid ""
-"====\n"
"\n"
+"SD Resources:\n"
msgstr ""
-#: src/stored/status.c:128
+#: src/stored/status.c:153
msgid ""
"\n"
"Device status:\n"
msgstr ""
-#: src/stored/status.c:132
+#: src/stored/status.c:157
#, c-format
msgid "Autochanger \"%s\" with devices:\n"
msgstr ""
-#: src/stored/status.c:150
+#: src/stored/status.c:177
#, c-format
msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
" Volume: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:160
+#: src/stored/status.c:182
+msgid "waiting for"
+msgstr ""
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+msgid "*unknown*"
+msgstr ""
+
+#: src/stored/status.c:188
#, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
msgstr ""
-#: src/stored/status.c:171
+#: src/stored/status.c:199
#, c-format
msgid " Total Bytes=%s Blocks=%s Bytes/block=%s\n"
msgstr ""
-#: src/stored/status.c:186
+#: src/stored/status.c:214
#, c-format
msgid " Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
msgstr ""
-#: src/stored/status.c:192
+#: src/stored/status.c:220
#, c-format
msgid " Positioned at File=%s Block=%s\n"
msgstr ""
-#: src/stored/status.c:199
+#: src/stored/status.c:227
#, c-format
-msgid "Device %s is not open.\n"
+msgid ""
+"\n"
+"Device %s is not open.\n"
msgstr ""
-#: src/stored/status.c:203
+#: src/stored/status.c:231
#, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
msgstr ""
-#: src/stored/status.c:225
+#: src/stored/status.c:255
#, c-format
msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
msgstr ""
-#: src/stored/status.c:248
+#: src/stored/status.c:293
msgid ""
"No DEVICE structure.\n"
"\n"
msgstr ""
-#: src/stored/status.c:254
+#: src/stored/status.c:299
msgid " Device is BLOCKED. User unmounted.\n"
msgstr ""
-#: src/stored/status.c:258
+#: src/stored/status.c:303
msgid " Device is BLOCKED. User unmounted during wait for media/mount.\n"
msgstr ""
-#: src/stored/status.c:270
+#: src/stored/status.c:313
#, c-format
msgid ""
" Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -7509,7 +7565,7 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:279
+#: src/stored/status.c:322
#, c-format
msgid ""
" Device is BLOCKED waiting to create a volume for:\n"
@@ -7517,172 +7573,165 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:291
+#: src/stored/status.c:333
msgid " Device is BLOCKED waiting for media.\n"
msgstr ""
-#: src/stored/status.c:297
+#: src/stored/status.c:339
msgid " Device is being initialized.\n"
msgstr ""
-#: src/stored/status.c:301
+#: src/stored/status.c:343
msgid " Device is blocked labeling a Volume.\n"
msgstr ""
-#: src/stored/status.c:310
+#: src/stored/status.c:352
#, c-format
-msgid " Slot %d is loaded in drive %d.\n"
+msgid " Slot %d %s loaded in drive %d.\n"
msgstr ""
-#: src/stored/status.c:314
+#: src/stored/status.c:356
#, c-format
msgid " Drive %d is not loaded.\n"
msgstr ""
-#: src/stored/status.c:317
-#, c-format
-msgid " Drive %d status unknown.\n"
-msgstr ""
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
#, c-format
msgid "Configured device capabilities:\n"
msgstr ""
-#: src/stored/status.c:349
+#: src/stored/status.c:389
msgid "Device state:\n"
msgstr ""
-#: src/stored/status.c:367
+#: src/stored/status.c:405
#, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid " num_writers=%d reserves=%d block=%d\n"
+msgstr ""
+
+#: src/stored/status.c:409
+msgid "Attached Jobs: "
msgstr ""
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:427 src/stored/btape.c:720
#, c-format
msgid "Device parameters:\n"
msgstr ""
-#: src/stored/status.c:374
+#: src/stored/status.c:429
#, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid " Archive name: %s Device name: %s\n"
msgstr ""
-#: src/stored/status.c:378
+#: src/stored/status.c:432
#, c-format
-msgid "File=%u block=%u\n"
+msgid " File=%u block=%u\n"
msgstr ""
-#: src/stored/status.c:381
+#: src/stored/status.c:434
#, c-format
-msgid "Min block=%u Max block=%u\n"
+msgid " Min block=%u Max block=%u\n"
msgstr ""
-#: src/stored/status.c:401
+#: src/stored/status.c:455
#, c-format
msgid "%s Job %s waiting for Client connection.\n"
msgstr ""
-#: src/stored/status.c:417
+#: src/stored/status.c:471
#, c-format
msgid ""
"Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
msgstr ""
-#: src/stored/status.c:430
+#: src/stored/status.c:484
#, c-format
msgid ""
"Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
msgstr ""
-#: src/stored/status.c:441
+#: src/stored/status.c:495
#, c-format
msgid " spooling=%d despooling=%d despool_wait=%d\n"
msgstr ""
-#: src/stored/status.c:450
+#: src/stored/status.c:511
#, c-format
-msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
+msgid " Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
msgstr ""
-#: src/stored/status.c:458
+#: src/stored/status.c:523
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr ""
-#: src/stored/status.c:464
+#: src/stored/status.c:529
msgid " FDSocket closed\n"
msgstr ""
-#: src/stored/status.c:485
+#: src/stored/status.c:550
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
msgstr ""
-#: src/stored/status.c:516
+#: src/stored/status.c:581
msgid "===================================================================\n"
msgstr ""
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
msgid "Base"
msgstr ""
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
msgid "Init Catalog"
msgstr ""
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
msgid "Volume to Catalog"
msgstr ""
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
msgid "Disk to Catalog"
msgstr ""
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
msgid "Data"
msgstr ""
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
msgid "Unknown Job Level"
msgstr ""
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
+#: src/stored/status.c:763
#, c-format
-msgid "Bad .status command: %s\n"
-msgstr ""
-
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
+msgid "3900 No arg in .status command: %s\n"
msgstr ""
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
+#: src/stored/status.c:811
+#, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
msgstr ""
-#: src/stored/status.c:760
+#: src/stored/status.c:826
msgid "Bacula Storage: Idle"
msgstr ""
-#: src/stored/status.c:771
+#: src/stored/status.c:837
msgid "Bacula Storage: Running"
msgstr ""
-#: src/stored/status.c:785
+#: src/stored/status.c:851
msgid "Bacula Storage: Last Job Canceled"
msgstr ""
-#: src/stored/status.c:789
+#: src/stored/status.c:855
msgid "Bacula Storage: Last Job Failed"
msgstr ""
-#: src/stored/status.c:793
+#: src/stored/status.c:859
msgid "Bacula Storage: Last Job had Warnings"
msgstr ""
@@ -7783,7 +7832,7 @@ msgid "%u files restored.\n"
msgstr ""
#: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
#, c-format
msgid "Write error on %s: %s\n"
msgstr ""
@@ -7792,7 +7841,7 @@ msgstr ""
msgid "Logic error output file should be open but is not.\n"
msgstr ""
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
#, c-format
msgid "%s stream not supported on this Client.\n"
msgstr ""
@@ -7808,7 +7857,7 @@ msgid "Seek error on %s: %s\n"
msgstr ""
#: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
#, c-format
msgid "Seek to %s error on %s: ERR=%s\n"
msgstr ""
@@ -7818,16 +7867,16 @@ msgstr ""
msgid "Uncompression error. ERR=%d\n"
msgstr ""
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
msgid "GZIP data stream found, but GZIP not configured!\n"
msgstr ""
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
#, c-format
msgid "Compressed header version error. version=0x%x\n"
msgstr ""
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
#, c-format
msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
msgstr ""
@@ -7837,7 +7886,7 @@ msgstr ""
msgid "LZO uncompression error. ERR=%d\n"
msgstr ""
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
#, c-format
msgid "Compression algorithm 0x%x found, but not supported!\n"
msgstr ""
@@ -7846,7 +7895,7 @@ msgstr ""
msgid "Got Program Name or Data Stream. Ignored.\n"
msgstr ""
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
#, c-format
msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
msgstr ""
@@ -8036,125 +8085,125 @@ msgstr ""
msgid "Unexpected Tape is Off-line\n"
msgstr ""
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
#, c-format
msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
msgstr ""
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
#, c-format
msgid "No volumes specified for reading. Job %s canceled.\n"
msgstr ""
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
#, c-format
msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
msgstr ""
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
#, c-format
msgid ""
"Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
" device=%s\n"
msgstr ""
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
#, c-format
msgid "Media Type change. New read device %s chosen.\n"
msgstr ""
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
#, c-format
msgid "No suitable device found to read Volume \"%s\"\n"
msgstr ""
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
#, c-format
msgid "Job %s canceled.\n"
msgstr ""
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
#, c-format
msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr ""
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
#, c-format
msgid "Too many errors trying to mount device %s for reading.\n"
msgstr ""
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
#, c-format
msgid "Ready to read from volume \"%s\" on device %s.\n"
msgstr ""
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
#, c-format
msgid "Want to append, but device %s is busy reading.\n"
msgstr ""
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
#, c-format
msgid "Could not ready device %s for append.\n"
msgstr ""
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
#: src/stored/block.c:769 src/stored/block.c:847
#, c-format
msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
msgstr ""
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
#, c-format
msgid "Alert: %s"
msgstr ""
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
#, c-format
msgid "3997 Bad alert command: %s: ERR=%s.\n"
msgstr ""
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
#: src/lib/openssl.c:122 src/lib/openssl.c:181
#, c-format
msgid "Unable to init mutex: ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, fuzzy, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr "Kan job cond variabele niet initialiseren: ERR=%s\n"
+
+#: src/stored/askdir.c:179
msgid "Network error on bnet_recv in req_vol_info.\n"
msgstr ""
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
#, c-format
msgid "Error getting Volume info: %s"
msgstr ""
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
#, c-format
msgid "Didn't get vol info vol=%s: ERR=%s"
msgstr ""
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
#, c-format
msgid "Error creating JobMedia record: ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
#, c-format
msgid "Error creating JobMedia record: %s\n"
msgstr ""
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
msgstr ""
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
#, c-format
msgid ""
"Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8164,45 +8213,45 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
#, c-format
msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
msgstr ""
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
msgid "pthread error in mount_next_volume.\n"
msgstr ""
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
msgid "Cannot request another volume: no volume name given.\n"
msgstr ""
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
msgstr ""
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
#, c-format
msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
#, c-format
msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
msgid "pthread error in mount_volume\n"
msgstr ""
@@ -8535,32 +8584,32 @@ msgstr ""
msgid "Attempt to open read on non-open session.\n"
msgstr ""
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
#, c-format
msgid "Too many errors trying to mount device %s.\n"
msgstr ""
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
#, c-format
msgid "Job %d canceled.\n"
msgstr ""
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
#, c-format
msgid "Volume \"%s\" previously written, moving to end of data.\n"
msgstr ""
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
#, c-format
msgid "Unable to position to end of data on device %s: ERR=%s\n"
msgstr ""
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
#, c-format
msgid "Volume \"%s\" not on device %s.\n"
msgstr ""
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
#, c-format
msgid ""
"Director wanted Volume \"%s\".\n"
@@ -8568,24 +8617,24 @@ msgid ""
" %s"
msgstr ""
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
#, c-format
msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
msgstr ""
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
#, c-format
msgid ""
"Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
"Volume=%s Catalog=%s\n"
msgstr ""
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
#, c-format
msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
msgstr ""
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
#, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -8593,23 +8642,23 @@ msgid ""
"Correcting Catalog\n"
msgstr ""
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
msgid "Error updating Catalog\n"
msgstr ""
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
#, c-format
msgid ""
"Bacula cannot write on tape Volume \"%s\" because:\n"
"The number of files mismatch! Volume=%u Catalog=%u\n"
msgstr ""
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
#, c-format
msgid "Ready to append to end of Volume \"%s\" size=%s\n"
msgstr ""
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
#, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -8617,46 +8666,46 @@ msgid ""
"Correcting Catalog\n"
msgstr ""
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
#, c-format
msgid ""
"Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
"Volume=%s Catalog=%s\n"
msgstr ""
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
#, c-format
msgid "Labeled new Volume \"%s\" on device %s.\n"
msgstr ""
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
#, c-format
msgid "Device %s not configured to autolabel Volumes.\n"
msgstr ""
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
#, c-format
msgid "Marking Volume \"%s\" in Error in Catalog.\n"
msgstr ""
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
#, c-format
msgid ""
"Autochanger Volume \"%s\" not found in slot %d.\n"
" Setting InChanger to zero in catalog.\n"
msgstr ""
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
msgstr ""
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
#, c-format
msgid ""
"Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
msgstr ""
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
#, c-format
msgid "Cannot open Dev=%s, Vol=%s\n"
msgstr ""
@@ -8742,7 +8791,7 @@ msgid ""
"Despooling elapsed time = %02d:%02d:%02d, Transfer rate = %s Bytes/second\n"
msgstr ""
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
#, c-format
msgid "Ftruncate spool file failed: ERR=%s\n"
msgstr ""
@@ -8772,77 +8821,86 @@ msgstr ""
msgid "Spool data read error. Wanted %u bytes, got %d\n"
msgstr ""
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
+msgstr ""
+
+#: src/stored/spool.c:485
+#, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
msgstr ""
-#: src/stored/spool.c:489
+#: src/stored/spool.c:492
msgid "Bad return from despool in write_block.\n"
msgstr ""
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
msgid "Spooling data again ...\n"
msgstr ""
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
#, c-format
msgid "Error writing header to spool file. ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
#, c-format
msgid ""
"Error writing header to spool file. Disk probably full. Attempting recovery. "
"Wanted to write=%d got=%d\n"
msgstr ""
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
msgid "Fatal despooling error."
msgstr ""
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
msgid "Retrying after header spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
#, c-format
msgid "Error writing data to spool file. ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
msgid "Retrying after data spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
msgid "Network error on BlastAttributes.\n"
msgstr ""
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
#, c-format
msgid "Fseek on attributes file failed: ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
#, c-format
msgid "Truncate on attributes file failed: ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
#, c-format
msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
msgstr ""
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
#, c-format
msgid "fopen attr spool file %s failed: ERR=%s\n"
msgstr ""
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
#, c-format
msgid "pthread_cond_wait failure. ERR=%s\n"
msgstr ""
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
msgid "unknown blocked code"
msgstr ""
@@ -8962,6 +9020,21 @@ msgstr ""
msgid "Unable to init cond variable: ERR=%s\n"
msgstr ""
+#: src/stored/dev.c:288
+#, fuzzy, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr "Kan job cond variabele niet initialiseren: ERR=%s\n"
+
+#: src/stored/dev.c:294
+#, fuzzy, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr "Kan job cond variabele niet initialiseren: ERR=%s\n"
+
+#: src/stored/dev.c:300
+#, fuzzy, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr "Kan job cond variabele niet initialiseren: ERR=%s\n"
+
#: src/stored/dev.c:416
msgid "Illegal mode given to open dev.\n"
msgstr ""
@@ -9310,7 +9383,7 @@ msgstr ""
msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
msgstr ""
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
#, c-format
msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
msgstr ""
@@ -9368,107 +9441,107 @@ msgstr ""
msgid "Got Prog Data Stream record.\n"
msgstr ""
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
#, c-format
msgid "Unknown stream type!!! stream=%d len=%i\n"
msgstr ""
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
#, c-format
msgid "Could not create File Attributes record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
#, c-format
msgid "Created File record: %s\n"
msgstr ""
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
#, c-format
msgid "Could not create media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
#, c-format
msgid "Could not update media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
#, c-format
msgid "Created Media record for Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
#, c-format
msgid "Updated Media record at end of Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
#, c-format
msgid "Could not create pool record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
#, c-format
msgid "Created Pool record for Pool: %s\n"
msgstr ""
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
#, c-format
msgid "Could not get Client record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
#, c-format
msgid "Created Client record for Client: %s\n"
msgstr ""
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
#, c-format
msgid "Fileset \"%s\" already exists.\n"
msgstr ""
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
#, c-format
msgid "Could not create FileSet record \"%s\". ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
#, c-format
msgid "Created FileSet record \"%s\"\n"
msgstr ""
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
#, c-format
msgid "Could not create JobId record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
#, c-format
msgid "Could not update job start record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
#, c-format
msgid "Created new JobId=%u record for original JobId=%u\n"
msgstr ""
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
#, c-format
msgid "Could not update JobId=%u record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
#, c-format
msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
msgstr ""
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
#, c-format
msgid "Job Termination code: %d"
msgstr ""
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
#, c-format
msgid ""
"%s\n"
@@ -9488,27 +9561,27 @@ msgid ""
"\n"
msgstr ""
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
#, c-format
msgid "Could not create JobMedia record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
#, c-format
msgid "Created JobMedia record JobId %d, MediaId %d\n"
msgstr ""
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
#, c-format
msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
msgstr ""
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
#, c-format
msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
msgid "Updated MD5/SHA1 record\n"
msgstr ""
@@ -11594,40 +11667,40 @@ msgid ""
"Please see "
msgstr ""
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
#, c-format
msgid "Could not open console message file %s: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:376
+#: src/lib/message.c:377
#, c-format
msgid "Could not get con mutex: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:481
+#: src/lib/message.c:482
msgid "Bacula Message"
msgstr ""
-#: src/lib/message.c:485
+#: src/lib/message.c:486
#, c-format
msgid "open mail pipe %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:553
+#: src/lib/message.c:577
msgid "open mail pipe failed.\n"
msgstr ""
-#: src/lib/message.c:565
+#: src/lib/message.c:590
#, c-format
msgid "close error: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:576
+#: src/lib/message.c:601
#, c-format
msgid "Mail prog: %s"
msgstr ""
-#: src/lib/message.c:585
+#: src/lib/message.c:610
#, c-format
msgid ""
"Mail program terminated in error.\n"
@@ -11635,12 +11708,16 @@ msgid ""
"ERR=%s\n"
msgstr ""
-#: src/lib/message.c:684
+#: src/lib/message.c:713
#, c-format
msgid "fopen %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
#, c-format
msgid ""
"Msg delivery error: Operator mail program terminated in error.\n"
@@ -11648,77 +11725,77 @@ msgid ""
"ERR=%s\n"
msgstr ""
-#: src/lib/message.c:878
+#: src/lib/message.c:911
#, c-format
msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
#, c-format
msgid "%s: ABORTING due to ERROR in %s:%d\n"
msgstr ""
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
#, c-format
msgid "%s: ERROR TERMINATION at %s:%d\n"
msgstr ""
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
#, c-format
msgid "%s: Fatal Error because: "
msgstr ""
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
#, c-format
msgid "%s: Fatal Error at %s:%d because:\n"
msgstr ""
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
#, c-format
msgid "%s: ERROR: "
msgstr ""
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
#, c-format
msgid "%s: ERROR in %s:%d "
msgstr ""
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
#, c-format
msgid "%s: Warning: "
msgstr ""
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
#, c-format
msgid "%s: Security violation: "
msgstr ""
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
#, c-format
msgid "%s ABORTING due to ERROR\n"
msgstr ""
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
#, c-format
msgid "%s ERROR TERMINATION\n"
msgstr ""
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
#, c-format
msgid "%s JobId %u: Fatal error: "
msgstr ""
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
#, c-format
msgid "%s JobId %u: Error: "
msgstr ""
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
#, c-format
msgid "%s JobId %u: Warning: "
msgstr ""
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
#, c-format
msgid "%s JobId %u: Security violation: "
msgstr ""
@@ -11772,71 +11849,6 @@ msgstr ""
msgid "Could not destroy client queue: ERR=%s\n"
msgstr ""
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr ""
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr ""
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr ""
-
#: src/lib/bpipe.c:361 src/lib/bpipe.c:444
msgid "Program killed by Bacula (timeout)\n"
msgstr ""
@@ -12286,7 +12298,7 @@ msgstr ""
msgid "Truncate"
msgstr ""
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
msgid "None"
msgstr ""
@@ -12336,7 +12348,7 @@ msgstr ""
#: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
#: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
msgid "*none*"
msgstr ""
@@ -12548,20 +12560,20 @@ msgstr ""
msgid "pthread_setspecific failed: ERR=%s\n"
msgstr ""
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Storage "
"daemon.\n"
msgstr ""
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
msgstr ""
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -12747,203 +12759,271 @@ msgstr ""
msgid "Invalid errno. No error message possible."
msgstr ""
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr ""
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr ""
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr ""
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr ""
+
#: src/lib/signal.c:67
msgid "Invalid signal number"
msgstr ""
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
#, c-format
msgid "Bacula interrupted by signal %d: %s\n"
msgstr ""
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
#, c-format
msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
msgstr ""
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
#, c-format
msgid "Kaboom! exepath=%s\n"
msgstr ""
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
#, c-format
msgid "Fork error: ERR=%s\n"
msgstr ""
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
#, c-format
msgid "Calling: %s %s %s %s\n"
msgstr ""
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
#, c-format
msgid "execv: %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
#, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "It looks like the traceback worked...\n"
msgstr ""
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
#, c-format
msgid "BA_NSIG too small (%d) should be (%d)\n"
msgstr ""
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
msgid "UNKNOWN SIGNAL"
msgstr ""
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
msgid "Hangup"
msgstr ""
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
msgid "Interrupt"
msgstr ""
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
msgid "Quit"
msgstr ""
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
msgid "Illegal instruction"
msgstr ""
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
msgid "Trace/Breakpoint trap"
msgstr ""
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
msgid "Abort"
msgstr ""
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
msgid "EMT instruction (Emulation Trap)"
msgstr ""
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
msgid "IOT trap"
msgstr ""
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
msgid "BUS error"
msgstr ""
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
msgid "Floating-point exception"
msgstr ""
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
msgid "Kill, unblockable"
msgstr ""
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
msgid "User-defined signal 1"
msgstr ""
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
msgid "Segmentation violation"
msgstr ""
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
msgid "User-defined signal 2"
msgstr ""
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
msgid "Broken pipe"
msgstr ""
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
msgid "Alarm clock"
msgstr ""
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
msgid "Termination"
msgstr ""
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
msgid "Stack fault"
msgstr ""
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
msgid "Child status has changed"
msgstr ""
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
msgid "Continue"
msgstr ""
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
msgid "Stop, unblockable"
msgstr ""
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
msgid "Keyboard stop"
msgstr ""
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
msgid "Background read from tty"
msgstr ""
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
msgid "Background write to tty"
msgstr ""
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
msgid "Urgent condition on socket"
msgstr ""
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
msgid "CPU limit exceeded"
msgstr ""
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
msgid "File size limit exceeded"
msgstr ""
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
msgid "Virtual alarm clock"
msgstr ""
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
msgid "Profiling alarm clock"
msgstr ""
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
msgid "Window size change"
msgstr ""
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
msgid "I/O now possible"
msgstr ""
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
msgid "Power failure restart"
msgstr ""
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
msgid "No runnable lwp"
msgstr ""
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
msgid "SIGLWP special signal used by thread library"
msgstr ""
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
msgid "Checkpoint Freeze"
msgstr ""
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
msgid "Checkpoint Thaw"
msgstr ""
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
msgid "Thread Cancellation"
msgstr ""
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
msgid "Resource Lost (e.g. record-lock lost)"
msgstr ""
@@ -12969,47 +13049,47 @@ msgstr ""
msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
#, c-format
msgid "Out of memory: ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
msgid "Buffer overflow.\n"
msgstr ""
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
msgid "Bad errno"
msgstr ""
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
#, c-format
msgid "Memset for %d bytes at %s:%d\n"
msgstr ""
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
#, c-format
msgid "Cannot open pid file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
#, c-format
msgid ""
"%s is already running. pid=%d\n"
"Check file %s\n"
msgstr ""
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
#, c-format
msgid "Could not open pid file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
#, c-format
msgid "Could not create state file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
#, c-format
msgid "Write final hdr error: ERR=%s\n"
msgstr ""
@@ -13057,98 +13137,98 @@ msgstr ""
msgid "Close of NULL file\n"
msgstr ""
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
msgid ""
"get_char: called after EOF. You may have a open double quote without the "
"closing double quote.\n"
msgstr ""
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
#, c-format
msgid "Config token too long, file: %s, line %d, begins at line %d\n"
msgstr ""
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
msgid "none"
msgstr ""
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
msgid "comment"
msgstr ""
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
msgid "number"
msgstr ""
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
msgid "ip_addr"
msgstr ""
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
msgid "identifier"
msgstr ""
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
msgid "string"
msgstr ""
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
msgid "quoted_string"
msgstr ""
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
msgid "include"
msgstr ""
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
msgid "include_quoted_string"
msgstr ""
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
msgid "UTF-8 Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
msgid "UTF-16le Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
#, c-format
msgid "expected a positive integer number, got: %s"
msgstr ""
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
msgid ""
"This config file appears to be in an unsupported Unicode format (UTF-16be). "
"Please resave as UTF-8\n"
msgstr ""
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
#, c-format
msgid "Cannot open included config file %s: %s\n"
msgstr ""
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
#, c-format
msgid "expected an integer or a range, got %s: %s"
msgstr ""
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
#, c-format
msgid "expected an integer number, got %s: %s"
msgstr ""
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
#, c-format
msgid "expected a name, got %s: %s"
msgstr ""
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
#, c-format
msgid "name %s length %d too long, max is %d\n"
msgstr ""
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
#, c-format
msgid "expected a string, got %s: %s"
msgstr ""
@@ -13822,42 +13902,54 @@ msgid "FreeBSD Specific NFSv4/ZFS ACL attribs"
msgstr ""
#: src/findlib/bfile.c:191
-msgid "IRIX Specific Extended attribs"
+msgid "GNU Hurd Specific Default ACL attribs"
msgstr ""
#: src/findlib/bfile.c:193
-msgid "TRU64 Specific Extended attribs"
+msgid "GNU Hurd Specific Access ACL attribs"
msgstr ""
#: src/findlib/bfile.c:195
-msgid "AIX Specific Extended attribs"
+msgid "GNU Hurd Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:197
-msgid "OpenBSD Specific Extended attribs"
+msgid "IRIX Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:199
-msgid "Solaris Specific Extensible attribs or System Extended attribs"
+msgid "TRU64 Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:201
-msgid "Solaris Specific Extended attribs"
+msgid "AIX Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:203
-msgid "Darwin Specific Extended attribs"
+msgid "OpenBSD Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:205
-msgid "FreeBSD Specific Extended attribs"
+msgid "Solaris Specific Extensible attribs or System Extended attribs"
msgstr ""
#: src/findlib/bfile.c:207
-msgid "Linux Specific Extended attribs"
+msgid "Solaris Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:209
+msgid "Darwin Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:211
+msgid "FreeBSD Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:213
+msgid "Linux Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:215
msgid "NetBSD Specific Extended attribs"
msgstr ""
@@ -13871,27 +13963,27 @@ msgstr ""
msgid "Unknown include/exclude option: %c\n"
msgstr ""
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
#, c-format
msgid " NODUMP flag set - will not process %s\n"
msgstr ""
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
#, c-format
msgid "Cannot stat file %s: ERR=%s\n"
msgstr ""
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
#, c-format
msgid "%s mtime changed during backup.\n"
msgstr ""
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
#, c-format
msgid "%s ctime changed during backup.\n"
msgstr ""
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
#, c-format
msgid "%s size changed during backup.\n"
msgstr ""
@@ -15662,6 +15754,11 @@ msgstr ""
msgid " SDSocket=closed\n"
msgstr ""
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
#: src/filed/status.c:464
msgid "2900 Bad .status command, missing argument.\n"
msgstr ""
@@ -15690,276 +15787,276 @@ msgstr ""
msgid "Bacula Client: Last Job had Warnings"
msgstr ""
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
#: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
#, c-format
msgid "Network send error to SD. ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
#, c-format
msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
#, c-format
msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
#, c-format
msgid "llistea error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
#, c-format
msgid "lgetea error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
#, c-format
msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
msgstr ""
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
#, c-format
msgid "Failed to serialize extended attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
#, c-format
msgid "lsetea error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
#, c-format
msgid "attr_list error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
#, c-format
msgid "Received illegal xattr named %s on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
#, c-format
msgid "attr_set error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
#, c-format
msgid "llistxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
#, c-format
msgid "lgetxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
#, c-format
msgid "lsetxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
#, c-format
msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
#, c-format
msgid "Failed to convert %d into namespace on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
#, c-format
msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
#, c-format
msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
#, c-format
msgid "Failed to convert %s into namespace on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
#, c-format
msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
#, c-format
msgid "getproplist error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
#, c-format
msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
#, c-format
msgid "setproplist error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
#, c-format
msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
#, c-format
msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
#, c-format
msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
#, c-format
msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
#, c-format
msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
#, c-format
msgid "Unable to read content of xattr %s on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
#, c-format
msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
#, c-format
msgid "Unable to open file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
#, c-format
msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
#, c-format
msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
#, c-format
msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
#, c-format
msgid "Unable to convert acl from text on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
#, c-format
msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
#, c-format
msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
#, c-format
msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
#, c-format
msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
#, c-format
msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
#, c-format
msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
#, c-format
msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
#, c-format
msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
#, c-format
msgid ""
"Unable to restore data of xattr %s on file \"%s\": Not all data available in "
"xattr stream\n"
msgstr ""
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
#, c-format
msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
#, c-format
msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
#, c-format
msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
#, c-format
msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
#, c-format
msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
#, c-format
msgid "Failed to restore extensible attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
#, c-format
msgid "Failed to restore extended attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
#, c-format
msgid "Unable to stat file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
#, c-format
msgid ""
"Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -16098,189 +16195,189 @@ msgstr ""
msgid "No Director resource defined in %s\n"
msgstr ""
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
#, c-format
msgid "aclx_get error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
#, c-format
msgid "Unknown acl type encountered on file \"%s\": %ld\n"
msgstr ""
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
#, c-format
msgid "Failed to convert acl into text on file \"%s\"\n"
msgstr ""
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
#, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
#, c-format
msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
#, c-format
msgid "aclx_put error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
#, c-format
msgid "acl_to_text error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
#, c-format
msgid "acl_get_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
#, c-format
msgid ""
"acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
#, c-format
msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
#, c-format
msgid "acl_from_text error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
#, c-format
msgid "acl_valid error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
#, c-format
msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
#, c-format
msgid "acl_set_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
#, c-format
msgid "pathconf error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
msgstr ""
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
#, c-format
msgid "getacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
#, c-format
msgid "acltostr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
#, c-format
msgid "strtoacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
#, c-format
msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
#, c-format
msgid "setacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
#, c-format
msgid "acl_get error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without acl support\n"
msgstr ""
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
#, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
#, c-format
msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
#, c-format
msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
msgstr ""
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
#, c-format
msgid "acl_set error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
#, c-format
msgid "acltotext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
#, c-format
msgid "aclfromtext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
#, c-format
msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
#, fuzzy, c-format
msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
msgstr "Lees fout op bestand %s. FOUT=%s\n"
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
#, fuzzy, c-format
msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
msgstr "Lees fout op bestand %s. FOUT=%s\n"
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
#, c-format
msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
msgstr ""
@@ -16289,17 +16386,17 @@ msgstr ""
msgid "Storage command not issued before Verify.\n"
msgstr ""
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
#, c-format
msgid "Record header scan error: %s\n"
msgstr ""
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
#, c-format
msgid "Data record error. ERR=%s\n"
msgstr ""
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
#, c-format
msgid "Actual data size %d not same as header %d\n"
msgstr ""
@@ -16459,7 +16556,7 @@ msgstr ""
msgid "Invalid file flags, no supported data stream type.\n"
msgstr ""
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
@@ -16479,192 +16576,192 @@ msgstr ""
msgid "Could not set Finder Info on %s\n"
msgstr ""
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
msgid "LZO init failed\n"
msgstr "Initialiseren LZO mislukt\n"
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
msgid "Unexpected cryptographic session data stream.\n"
msgstr ""
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
msgid ""
"No private decryption keys have been defined to decrypt encrypted backup "
"data.\n"
msgstr ""
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
msgid "Could not create digest.\n"
msgstr ""
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
msgid "Missing private key required to decrypt encrypted backup data.\n"
msgstr ""
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
msgid "Decrypt of the session key failed.\n"
msgstr ""
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
#, c-format
msgid "An error occurred while decoding encrypted session data stream: %s\n"
msgstr ""
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
#, c-format
msgid "Missing encryption session data stream for %s\n"
msgstr ""
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
#, c-format
msgid "Failed to initialize decryption context for %s\n"
msgstr ""
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
#, c-format
msgid "Cannot open resource fork for %s.\n"
msgstr ""
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
msgid "Unexpected cryptographic signature data stream.\n"
msgstr ""
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
#, c-format
msgid "Failed to decode message signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
#, c-format
msgid "Encountered %ld acl errors while doing restore\n"
msgstr ""
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
#, c-format
msgid "Encountered %ld xattr errors while doing restore\n"
msgstr ""
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
#, c-format
msgid ""
"%d non-supported data streams and %d non-supported attrib streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
#, c-format
msgid "%d non-supported resource fork streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
#, c-format
msgid "%d non-supported Finder Info streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
#, c-format
msgid "%d non-supported acl streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
#, c-format
msgid "%d non-supported crypto streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
#, c-format
msgid "%d non-supported xattr streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
msgid "Zlib errno"
msgstr "Zlib foutnr."
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
msgid "Zlib stream error"
msgstr "Zlib datastroom fout"
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
msgid "Zlib data error"
msgstr "Zlib data fout"
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
msgid "Zlib memory error"
msgstr "Zlib geheugen fout"
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
msgid "Zlib buffer error"
msgstr "Zlib buffer fout"
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
msgid "Zlib version error"
msgstr "Zlib versie fout"
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
#, c-format
msgid "Missing cryptographic signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
#, c-format
msgid "Signature validation failed for file %s: ERR=%s\n"
msgstr ""
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
#, c-format
msgid "Digest one file failed for file: %s\n"
msgstr ""
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
#, c-format
msgid "Signature validation failed for %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
#, c-format
msgid "LZO uncompression error on file %s. ERR=%d\n"
msgstr ""
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
#, c-format
msgid "Uncompression error on file %s. ERR=%s\n"
msgstr ""
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
#, c-format
msgid "Write error in Win32 Block Decomposition on %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
msgid "Decryption error\n"
msgstr ""
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
msgid "Logic error: output file should be open\n"
msgstr ""
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
msgid "Logic error: output file should not be open\n"
msgstr ""
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
#, c-format
msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
msgstr ""
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
msgid "Open File Manager paused\n"
msgstr ""
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
msgid "FAILED to pause Open File Manager\n"
msgstr ""
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
#, c-format
msgid "Running as '%s'. Privmask=%#08x\n"
msgstr ""
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
msgid "Failed to retrieve current UserName\n"
msgstr ""
@@ -16947,7 +17044,7 @@ msgstr ""
"\n"
"Versie: "
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
#, c-format
msgid "Failed ASSERT: %s\n"
msgstr ""
@@ -17974,15 +18071,15 @@ msgstr "Opdracht aan het uitvoeren ..."
msgid "At main prompt waiting for input ..."
msgstr "Wacht op invoer op opdrachtregel in hoofdscherm ..."
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
msgid "At prompt waiting for input ..."
msgstr "Wacht op invoer op opdrachtregel ..."
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
msgid "Command failed."
msgstr "Opdracht mislukt."
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
msgid "Director disconnected."
msgstr "Director niet verbonden."
diff --git a/po/sv.po b/po/sv.po
index cd7d6f9..4d9f9cb 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Bacula 2.1.x\n"
"Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
"PO-Revision-Date: 2007-06-22 19:18+0200\n"
"Last-Translator: Kern Sibbald <kern at bacula.org>\n"
"Language-Team: Swedish <bacula-devel at lists.soureforge.net>\n"
@@ -93,7 +93,7 @@ msgstr ""
msgid "Continue? (yes/mod/no): "
msgstr ""
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
msgid "mod"
msgstr ""
@@ -113,8 +113,8 @@ msgstr ""
msgid "The defined Storage resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
#: src/wx-console/wxbrestorepanel.cpp:355
#: src/wx-console/wxbrestorepanel.cpp:479
#: src/wx-console/wxbrestorepanel.cpp:480
@@ -135,7 +135,7 @@ msgstr ""
msgid "The defined FileSet resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
msgid "FileSet"
msgstr ""
@@ -143,7 +143,7 @@ msgstr ""
msgid "Select FileSet resource"
msgstr ""
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
msgid "Could not find a Catalog resource\n"
msgstr ""
@@ -168,8 +168,8 @@ msgid "The defined Job resources are:\n"
msgstr ""
#: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
msgid "Job"
msgstr ""
@@ -194,8 +194,8 @@ msgstr ""
msgid "The defined Client resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
#: src/wx-console/wxbrestorepanel.cpp:336
#: src/wx-console/wxbrestorepanel.cpp:354
#: src/wx-console/wxbrestorepanel.cpp:431
@@ -254,7 +254,7 @@ msgstr ""
msgid "Could not find Pool \"%s\": ERR=%s"
msgstr ""
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
#, c-format
msgid "Error obtaining pool ids. ERR=%s\n"
msgstr ""
@@ -268,12 +268,12 @@ msgid "Defined Pools:\n"
msgstr ""
#: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
msgid "*None*"
msgstr ""
#: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
#: src/wx-console/wxbrestorepanel.cpp:527
#: src/wx-console/wxbrestorepanel.cpp:537
#: src/wx-console/wxbrestorepanel.cpp:1834
@@ -414,7 +414,7 @@ msgstr ""
msgid "Unauthorized command from this console.\n"
msgstr ""
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
msgid "No Jobs running.\n"
msgstr ""
@@ -719,8 +719,8 @@ msgstr ""
msgid "Start Admin JobId %d, Job=%s\n"
msgstr ""
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
#, c-format
msgid "Error getting Job record for Job report: ERR=%s"
msgstr ""
@@ -737,8 +737,8 @@ msgstr ""
msgid "Admin Canceled"
msgstr ""
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
#, c-format
msgid "Inappropriate term code: %c\n"
msgstr ""
@@ -747,7 +747,7 @@ msgstr ""
msgid "Bacula "
msgstr ""
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
#, c-format
msgid ""
"\n"
@@ -769,66 +769,66 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
#: src/filed/filed.c:218 src/qt-console/main.cpp:165
msgid "Cryptography library initialization failed.\n"
msgstr ""
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
#: src/filed/filed.c:223 src/qt-console/main.cpp:169
#, c-format
msgid "Please correct configuration file: %s\n"
msgstr ""
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
msgid "Too many open reload requests. Request ignored.\n"
msgstr ""
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
msgid "Out of reload table entries. Giving up.\n"
msgstr ""
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
msgid "Resetting previous configuration.\n"
msgstr ""
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
#, c-format
msgid ""
"No Director resource defined in %s\n"
"Without that I don't know who I am :-(\n"
msgstr ""
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
#, c-format
msgid "No Messages resource defined in %s\n"
msgstr ""
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
#, c-format
msgid "Only one Director resource permitted in %s\n"
msgstr ""
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
#: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
#: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
#: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
msgid "TLS required but not configured in Bacula.\n"
msgstr ""
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
#, c-format
msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
#, c-format
msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -836,46 +836,46 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
#, c-format
msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
#, c-format
msgid "No Job records defined in %s\n"
msgstr ""
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
#, c-format
msgid "Hey something is wrong. p=0x%lu\n"
msgstr ""
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
#, c-format
msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
msgstr ""
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
msgid "Too many items in Job resource\n"
msgstr ""
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
#, c-format
msgid "No storage specified in Job \"%s\" nor in Pool.\n"
msgstr ""
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
#, c-format
msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
#, c-format
msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -883,51 +883,51 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
#, c-format
msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
"File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
"Storage \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
#, c-format
msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
#, c-format
msgid "Could not open Catalog \"%s\", database \"%s\".\n"
msgstr ""
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
#, c-format
msgid "%s"
msgstr ""
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
#, c-format
msgid "Could not create storage record for %s\n"
msgstr ""
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
#, c-format
msgid "Could not update storage record for %s\n"
msgstr ""
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
#, c-format
msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
msgstr ""
@@ -946,18 +946,18 @@ msgstr ""
msgid "Old style Include/Exclude not supported\n"
msgstr ""
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
#, c-format
msgid "Expecting keyword, got: %s\n"
msgstr ""
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
#: src/lib/parse_conf.c:976
#, c-format
msgid "expected an equals, got: %s"
msgstr ""
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
#, c-format
msgid "Keyword %s not permitted in this resource"
msgstr ""
@@ -1009,7 +1009,7 @@ msgstr ""
msgid "Options section not permitted in Exclude\n"
msgstr ""
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
#, c-format
msgid "Expecting open brace. Got %s"
msgstr ""
@@ -1189,13 +1189,13 @@ msgid ""
"There are no more Jobs associated with Volume \"%s\". Marking it purged.\n"
msgstr ""
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d ...\n"
msgstr ""
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
msgid "Failed to connect to Storage daemon.\n"
msgstr ""
@@ -1270,34 +1270,34 @@ msgstr ""
msgid "Could not get or create the FileSet record.\n"
msgstr ""
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
#, c-format
msgid "Error getting Client record for Job report: ERR=%s"
msgstr ""
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
#, c-format
msgid "Error getting Media record for Volume \"%s\": ERR=%s"
msgstr ""
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
msgid "Backup OK -- with warnings"
msgstr ""
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
msgid "Backup OK"
msgstr ""
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
msgid "*** Backup Error ***"
msgstr ""
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
msgid "Backup Canceled"
msgstr ""
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -1344,93 +1344,93 @@ msgstr ""
msgid "disabled"
msgstr ""
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
msgid "Keywords for the show command are:\n"
msgstr ""
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
#, c-format
msgid "%s resource %s not found.\n"
msgstr ""
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
#, c-format
msgid "Resource %s not found\n"
msgstr ""
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
msgid "Hey! DB is NULL\n"
msgstr ""
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
#, c-format
msgid "Jobid %d used %d Volume(s): %s\n"
msgstr ""
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
msgid "No Pool specified.\n"
msgstr ""
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
#, c-format
msgid "Pool: %s\n"
msgstr ""
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
msgid "Ignoring invalid value for days. Max is 50.\n"
msgstr ""
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
#, c-format
msgid "Unknown list keyword: %s\n"
msgstr ""
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
#, c-format
msgid "%s is not a job name.\n"
msgstr ""
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
#, c-format
msgid "Could not find Pool for Job %s\n"
msgstr ""
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
#, c-format
msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
msgstr ""
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
#, c-format
msgid ""
"The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
msgstr ""
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
#, c-format
msgid "Could not find next Volume for Job %s.\n"
msgstr ""
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
#, c-format
msgid "Could not open database \"%s\".\n"
msgstr ""
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
#, c-format
msgid "Pool %s not in database. %s"
msgstr ""
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
#, c-format
msgid "Pool %s created in database.\n"
msgstr ""
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
msgid "You have no messages.\n"
msgstr ""
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
msgid "Message too long to display.\n"
msgstr ""
@@ -1443,88 +1443,88 @@ msgstr ""
msgid ": is an invalid command.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
#: src/dird/ua_restore.c:823
#, c-format
msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
#: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
#: src/dird/job.c:1160 src/dird/job.c:1164
msgid "unknown source"
msgstr ""
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
msgid "Connected to storage daemon\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
#: src/dird/ua_status.c:397
#, c-format
msgid "Connecting to Client %s at %s:%d\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
msgid "Failed to connect to Client.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
#, c-format
msgid "Unknown command: %s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
msgid "Available daemons are: \n"
msgstr ""
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
msgid "Director"
msgstr ""
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
msgid "Select daemon type to make die"
msgstr ""
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
msgid "The Director will generate a deadlock.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
msgid "The Director will segment fault.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
msgid "Access to specified Client or FileSet not allowed.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
#: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
#: src/dird/ua_restore.c:990
#, c-format
msgid "Query failed: %s. ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
msgid "query keyword not found.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
#, c-format
msgid "List MediaType failed: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
#, c-format
msgid "List Media failed: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
#, c-format
msgid "List Location failed: ERR=%s\n"
msgstr ""
@@ -1833,11 +1833,11 @@ msgstr ""
msgid "Enter base volume name: "
msgstr ""
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
msgid "Volume name too long.\n"
msgstr ""
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
msgid "Volume name must be at least one character long.\n"
msgstr ""
@@ -1896,11 +1896,11 @@ msgstr ""
msgid "Python interpreter restarted.\n"
msgstr ""
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
msgid "Nothing done.\n"
msgstr ""
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
#, c-format
msgid "Client \"%s\" not found.\n"
msgstr ""
@@ -1927,7 +1927,7 @@ msgstr ""
msgid "Select daemon type to set debug level"
msgstr ""
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
#, c-format
msgid "No authorization for Client \"%s\"\n"
msgstr ""
@@ -1936,7 +1936,7 @@ msgstr ""
msgid "Client name missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
#, c-format
msgid "No authorization for Job \"%s\"\n"
msgstr ""
@@ -1959,7 +1959,7 @@ msgstr ""
msgid "Fileset name missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
#, c-format
msgid "Level \"%s\" not valid.\n"
msgstr ""
@@ -1968,43 +1968,67 @@ msgstr ""
msgid "Level value missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
msgid "Invalid value for accurate. It must be yes or no.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+msgid "Accurate value missing.\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1167
msgid "No job specified.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
msgid "Error sending include list.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
msgid "Error sending exclude list.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
msgid ""
"In general it is not a good idea to delete either a\n"
"Pool or a Volume since they may contain data.\n"
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
msgid "Choose catalog item to delete"
msgstr ""
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1404
msgid "Enter JobId to delete: "
msgstr ""
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr ""
+
+#: src/dird/ua_cmds.c:1450
+#, c-format
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
#, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Jobid %s and associated records deleted from the catalog.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
#, c-format
msgid ""
"\n"
@@ -2012,44 +2036,44 @@ msgid ""
"and all Jobs saved on that volume from the Catalog\n"
msgstr ""
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
#, c-format
msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
msgstr ""
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
msgid "Can't list jobs on this volume\n"
msgstr ""
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
#, c-format
msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
msgstr ""
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
#, c-format
msgid "Using Catalog name=%s DB=%s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
msgid "ERR: Can't open db\n"
msgstr ""
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
msgid "Wait on mount timed out\n"
msgstr ""
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
msgid "ERR: Job was not found\n"
msgstr ""
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
msgid ""
" Command Description\n"
" ======= ===========\n"
msgstr ""
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
#, c-format
msgid ""
" %-13s %s\n"
@@ -2058,12 +2082,12 @@ msgid ""
"\t%s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
#, c-format
msgid " %-13s %s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
#, c-format
msgid ""
"\n"
@@ -2071,29 +2095,29 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
msgid ""
"\n"
"When at a prompt, entering a period cancels the command.\n"
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
#, c-format
msgid "%s Version: %s (%s) %s %s %s %s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
#, c-format
msgid "No authorization for Catalog \"%s\"\n"
msgstr ""
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
#, c-format
msgid "Could not open catalog database \"%s\".\n"
msgstr ""
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
#, c-format
msgid "Using Catalog \"%s\"\n"
msgstr ""
@@ -2291,57 +2315,57 @@ msgstr ""
msgid "%d directories unmarked.\n"
msgstr ""
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
#: src/qt-console/tray-monitor/tray_conf.cpp:168
#, c-format
msgid "No %s resource defined\n"
msgstr ""
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
#, c-format
msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
#, c-format
msgid " query_file=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
msgid " --> "
msgstr ""
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
#, c-format
msgid "Console: name=%s SSL=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
#, c-format
msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
#, c-format
msgid "Counter: name=%s min=%d max=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
#, c-format
msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
#, c-format
msgid " JobRetention=%s FileRetention=%s AutoPrune=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
#, c-format
msgid ""
"Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2350,286 +2374,286 @@ msgid ""
" poolid=%s volname=%s MediaType=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
#, c-format
msgid ""
"Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
" DeviceName=%s MediaType=%s StorageId=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
#, c-format
msgid ""
"Catalog: name=%s address=%s DBport=%d db_name=%s\n"
" db_driver=%s db_user=%s MutliDBConn=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
#, c-format
msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
msgid "JobDefs"
msgstr ""
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
#, c-format
msgid ""
" MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
"%d\n"
msgstr ""
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
#, c-format
msgid " SpoolSize=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
#, c-format
msgid " Accurate=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
#, c-format
msgid " SelectionType=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
#, c-format
msgid " --> Where=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
#, c-format
msgid " --> RegexWhere=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
#, c-format
msgid " --> Bootstrap=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
#, c-format
msgid " --> WriteBootstrap=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
#, c-format
msgid " --> PluginOptions=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
#, c-format
msgid " --> MaxRunTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
#, c-format
msgid " --> MaxWaitTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
#, c-format
msgid " --> MaxStartDelay=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
#, c-format
msgid " --> MaxRunSchedTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
#, c-format
msgid " --> Base %s\n"
msgstr ""
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
msgid " --> RunScript\n"
msgstr ""
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
#, c-format
msgid " --> Command=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
#, c-format
msgid " --> Target=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
#, c-format
msgid " --> RunOnSuccess=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
#, c-format
msgid " --> RunOnFailure=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
#, c-format
msgid " --> FailJobOnError=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
#, c-format
msgid " --> RunWhen=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
#, c-format
msgid " --> Run=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
#, c-format
msgid " --> SelectionPattern=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
#, c-format
msgid "FileSet: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
#, c-format
msgid "Schedule: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
#, c-format
msgid " --> Run Level=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
msgid " hour="
msgstr ""
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
msgid " mday="
msgstr ""
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
msgid " month="
msgstr ""
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
msgid " wday="
msgstr ""
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
msgid " wom="
msgstr ""
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
msgid " woy="
msgstr ""
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
#, c-format
msgid " mins=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
msgid " --> "
msgstr ""
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
#, c-format
msgid "Pool: name=%s PoolType=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
#, c-format
msgid " use_cat=%d use_once=%d cat_files=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
#, c-format
msgid " max_vols=%d auto_prune=%d VolRetention=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
#, c-format
msgid " VolUse=%s recycle=%d LabelFormat=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
#, c-format
msgid " CleaningPrefix=%s LabelType=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
#, c-format
msgid " RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
#, c-format
msgid " MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
#, c-format
msgid " MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
#, c-format
msgid " JobRetention=%s FileRetention=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
#, c-format
msgid " NextPool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
#, c-format
msgid " RecyclePool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
#, c-format
msgid " ScratchPool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
#, c-format
msgid " Catalog=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
#, c-format
msgid "Messages: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
#, c-format
msgid " mailcmd=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
#, c-format
msgid " opcmd=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
#: src/qt-console/tray-monitor/tray_conf.cpp:199
#, c-format
msgid "Unknown resource type %d in dump_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
#: src/qt-console/tray-monitor/tray_conf.cpp:257
#, c-format
msgid "Unknown resource type %d in free_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
#: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
#: src/console/console_conf.c:259 src/filed/filed_conf.c:361
#: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2638,54 +2662,54 @@ msgstr ""
msgid "%s item is required in %s resource, but not found.\n"
msgstr ""
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
#: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
#, c-format
msgid "Too many items in %s resource\n"
msgstr ""
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
#, c-format
msgid "Cannot find Pool resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
#, c-format
msgid "Cannot find Console resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
#: src/filed/filed_conf.c:381
#, c-format
msgid "Cannot find Director resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
#, c-format
msgid "Cannot find Storage resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
#, c-format
msgid "Cannot find Job resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
#, c-format
msgid "Cannot find Counter resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
#, c-format
msgid "Cannot find Client resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
#, c-format
msgid "Cannot find Schedule resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
#: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
#: src/qt-console/tray-monitor/tray_conf.cpp:314
#: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2693,12 +2717,12 @@ msgstr ""
msgid "Unknown resource type %d in save_resource.\n"
msgstr ""
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
#, c-format
msgid "Name item is required in %s resource, but not found.\n"
msgstr ""
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
#: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
#: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
#: src/qt-console/bat_conf.cpp:334
@@ -2706,43 +2730,43 @@ msgstr ""
msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
msgstr ""
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
#, c-format
msgid "Inserting %s res: %s index=%d pass=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
#, c-format
msgid "Expected one of: %s, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
#, c-format
msgid "Expected a Migration Job Type keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
#, c-format
msgid "Expected a Job Type keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
#, c-format
msgid "Expected a Job Level keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
#, c-format
msgid "Expected a Restore replacement option, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
#: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
#, c-format
msgid "Expect %s, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
#, c-format
msgid "Could not find config Resource %s referenced on line %d : %s\n"
msgstr ""
@@ -2870,7 +2894,7 @@ msgstr ""
msgid "Select full restore to a specified Job date"
msgstr ""
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
#: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
msgid "Cancel"
msgstr ""
@@ -3273,179 +3297,179 @@ msgstr ""
msgid "Slot too large.\n"
msgstr ""
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
msgid "command line"
msgstr ""
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
msgid "No slots in changer to scan.\n"
msgstr ""
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
msgid "No Volumes found to label, or no barcodes.\n"
msgstr ""
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
#, c-format
msgid "Slot %d greater than max %d ignored.\n"
msgstr ""
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
#, c-format
msgid "No VolName for Slot=%d InChanger set to zero.\n"
msgstr ""
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
#, c-format
msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
msgstr ""
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
#, c-format
msgid "Catalog record for Volume \"%s\" is up to date.\n"
msgstr ""
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
#, c-format
msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
msgstr ""
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
#, c-format
msgid ""
"Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
"relabeling.\n"
msgstr ""
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
msgid "Enter new Volume name: "
msgstr ""
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
#, c-format
msgid "Media record for new Volume \"%s\" already exists.\n"
msgstr ""
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
msgid "Enter slot (0 or Enter for none): "
msgstr ""
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
#, c-format
msgid "Delete of Volume \"%s\" failed. ERR=%s"
msgstr ""
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
#, c-format
msgid "Old volume \"%s\" deleted from catalog.\n"
msgstr ""
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
#, c-format
msgid "Requesting to mount %s ...\n"
msgstr ""
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
msgid "Do not forget to mount the drive!!!\n"
msgstr ""
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
msgid ""
"The following Volumes will be labeled:\n"
"Slot Volume\n"
"==============\n"
msgstr ""
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
msgid "Do you want to label these Volumes? (yes|no): "
msgstr ""
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
#, c-format
msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
msgstr ""
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
#, c-format
msgid "Error setting InChanger: ERR=%s"
msgstr ""
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
#, c-format
msgid "Maximum pool Volumes=%d reached.\n"
msgstr ""
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
#, c-format
msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
#, c-format
msgid "Catalog error on cleaning tape: %s"
msgstr ""
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
#, c-format
msgid "Illegal character \"%c\" in a volume name.\n"
msgstr ""
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
#, c-format
msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
msgstr ""
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
#, c-format
msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
msgstr ""
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
#, c-format
msgid "Catalog record for Volume \"%s\", Slot %d successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
#, c-format
msgid "Label command failed for Volume %s.\n"
msgstr ""
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
msgid "Could not open SD socket.\n"
msgstr ""
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
#, c-format
msgid "Invalid Slot number: %s\n"
msgstr ""
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
#, c-format
msgid "Invalid Volume name: %s\n"
msgstr ""
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
#, c-format
msgid "Device \"%s\" has %d slots.\n"
msgstr ""
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
#, c-format
msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
msgstr ""
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
msgid "No Volumes found, or no barcodes.\n"
msgstr ""
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
msgid ""
" Slot | Volume Name | Status | Media Type | "
"Pool |\n"
msgstr ""
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
msgid ""
"------+------------------+-----------+----------------------"
"+--------------------|\n"
@@ -3666,15 +3690,15 @@ msgid "New Recycle flag is: %s\n"
msgstr ""
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
#: src/tools/dbcheck.c:1352
msgid "yes"
msgstr ""
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
msgid "no"
msgstr ""
@@ -3753,7 +3777,7 @@ msgstr ""
msgid "New ActionOnPurge is: %s\n"
msgstr ""
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
msgid "Parameters to modify:\n"
msgstr ""
@@ -3825,7 +3849,7 @@ msgstr ""
msgid "Done"
msgstr ""
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
msgid "Select parameter to modify"
msgstr ""
@@ -4054,7 +4078,7 @@ msgstr ""
msgid "Pool resource \"%s\" not found.\n"
msgstr ""
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
#, c-format
msgid "Could not get job record for JobId %s to %s. ERR=%s"
msgstr ""
@@ -4069,140 +4093,140 @@ msgstr ""
msgid "Start %s JobId %s, Job=%s\n"
msgstr ""
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
#, c-format
msgid "No %s SQL selection pattern specified.\n"
msgstr ""
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
#, c-format
msgid "SQL failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
#, c-format
msgid "No Volumes found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
msgid "Invalid JobId found.\n"
msgstr ""
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
#, c-format
msgid "Unknown %s Selection Type.\n"
msgstr ""
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
#, c-format
msgid "No JobIds found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
#, c-format
msgid "The following %u JobId%s chosen to be %s: %s\n"
msgstr ""
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid " was"
msgstr ""
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid "s were"
msgstr ""
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
#, c-format
msgid "%s using JobId=%s Job=%s\n"
msgstr ""
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
msgid "Could not start migration job.\n"
msgstr ""
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
#, c-format
msgid "%s JobId %d started.\n"
msgstr ""
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
#, c-format
msgid "No %s found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
#, c-format
msgid "SQL error. Expected 1 MediaId got %d\n"
msgstr ""
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
#, c-format
msgid "No %ss found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
msgstr ""
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
#, c-format
msgid "SQL to get uncopied jobs failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
#, c-format
msgid "No %s %s selection pattern specified.\n"
msgstr ""
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
#, c-format
msgid "SQL to get %s failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
#, c-format
msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
#, c-format
msgid "Regex pattern matched no Jobs to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
#, c-format
msgid "%s OK -- with warnings"
msgstr ""
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
#, c-format
msgid "%s OK"
msgstr ""
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
#, c-format
msgid "*** %s Error ***"
msgstr ""
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
#, c-format
msgid "%s Canceled"
msgstr ""
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
#, c-format
msgid "Inappropriate %s term code"
msgstr ""
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
#, c-format
msgid "%s -- no files to %s"
msgstr ""
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -4237,17 +4261,17 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
#, c-format
msgid "No Next Pool specification found in Pool \"%s\".\n"
msgstr ""
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
#, c-format
msgid "No Storage specification found in Next Pool \"%s\".\n"
msgstr ""
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
msgid "Storage from Pool's NextPool resource"
msgstr ""
@@ -4255,43 +4279,43 @@ msgstr ""
msgid "Choose item to prune"
msgstr ""
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
#, c-format
msgid "Cannot prune Volume \"%s\" because it is archived.\n"
msgstr ""
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
msgid "Pruned Jobs from JobHisto catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
msgid "Begin pruning Files.\n"
msgstr ""
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
msgid "No Files found to prune.\n"
msgstr ""
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
#, c-format
msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
#, c-format
msgid "Begin pruning Jobs older than %s.\n"
msgstr ""
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
#, c-format
msgid "Pruned %d %s for client %s from catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
msgid "Jobs"
msgstr ""
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
msgid "No Jobs found to prune.\n"
msgstr ""
@@ -4314,50 +4338,58 @@ msgstr ""
msgid "Job queued. JobId=%s\n"
msgstr ""
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr ""
+
+#: src/dird/ua_run.c:207
msgid "Job not run.\n"
msgstr ""
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
msgid "Level"
msgstr ""
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
msgid "Restore Client"
msgstr ""
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
#: src/wx-console/wxbrestorepanel.cpp:854
#: src/wx-console/wxbrestorepanel.cpp:1918
msgid "When"
msgstr ""
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
#: src/wx-console/wxbrestorepanel.cpp:1128
#: src/wx-console/wxbrestorepanel.cpp:1921
msgid "Priority"
msgstr ""
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
msgid "Verify Job"
msgstr ""
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
#: src/wx-console/wxbrestorepanel.cpp:1899
msgid "Bootstrap"
msgstr ""
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
#: src/wx-console/wxbrestorepanel.cpp:1104
#: src/wx-console/wxbrestorepanel.cpp:1901
msgid "Where"
msgstr ""
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
msgid "File Relocation"
msgstr ""
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
#: src/wx-console/wxbrestorepanel.cpp:1112
#: src/wx-console/wxbrestorepanel.cpp:1905
#: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4367,212 +4399,212 @@ msgstr ""
msgid "Replace"
msgstr ""
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
msgid "JobId"
msgstr ""
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
msgid "Plugin Options"
msgstr ""
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
msgid "user selection"
msgstr ""
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
msgid ""
"Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
msgstr ""
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
msgid "Invalid time, using current time.\n"
msgstr ""
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
msgid "Enter new Priority: "
msgstr ""
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
msgid "Priority must be a positive integer.\n"
msgstr ""
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
msgid "Please enter the Bootstrap file name: "
msgstr ""
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
#, c-format
msgid "Warning cannot open %s: ERR=%s\n"
msgstr ""
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
msgid "Please enter the full path prefix for restore (/ for none): "
msgstr ""
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
msgid "Replace:\n"
msgstr ""
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
msgid "Select replace option"
msgstr ""
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
msgid ""
"You must set the bootstrap file to NULL to be able to specify a JobId.\n"
msgstr ""
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
msgid "Please Plugin Options string: "
msgstr ""
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
msgid "User input"
msgstr ""
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
#, c-format
msgid "Invalid replace option: %s\n"
msgstr ""
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
msgstr ""
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
msgid "This will replace your current Where value\n"
msgstr ""
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
msgid "Strip prefix"
msgstr ""
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
msgid "Add prefix"
msgstr ""
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
msgid "Add file suffix"
msgstr ""
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
msgid "Enter a regexp"
msgstr ""
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
msgid "Test filename manipulation"
msgstr ""
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
msgid "Use this ?"
msgstr ""
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
msgid "Please enter the path prefix to strip: "
msgstr ""
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
msgid "Please enter the path prefix to add (/ for none): "
msgstr ""
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
msgid "Please enter the file suffix to add: "
msgstr ""
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
msgid "Please enter a valid regexp (!from!to!): "
msgstr ""
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
#, c-format
msgid "regexwhere=%s\n"
msgstr ""
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
msgstr ""
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
msgid "Cannot use your regexp\n"
msgstr ""
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
msgid "Enter a period (.) to stop this test\n"
msgstr ""
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
msgid "Please enter filename to test: "
msgstr ""
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
#, c-format
msgid "%s -> %s\n"
msgstr ""
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
msgid "Cannot use your regexp.\n"
msgstr ""
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
msgid "Levels:\n"
msgstr ""
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
#: src/lib/util.c:472 src/filed/status.c:519
msgid "Full"
msgstr ""
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
#: src/filed/status.c:522
msgid "Incremental"
msgstr ""
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
#: src/filed/status.c:525
msgid "Differential"
msgstr ""
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
#: src/filed/status.c:528
msgid "Since"
msgstr ""
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
msgid "VirtualFull"
msgstr ""
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
msgid "Select level"
msgstr ""
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
msgid "Initialize Catalog"
msgstr ""
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
#: src/filed/status.c:531
msgid "Verify Catalog"
msgstr ""
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
msgid "Verify Volume to Catalog"
msgstr ""
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
msgid "Verify Disk to Catalog"
msgstr ""
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
msgid "Verify Volume Data (not yet implemented)"
msgstr ""
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
msgid "Level not appropriate for this Job. Cannot be changed.\n"
msgstr ""
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
#, c-format
msgid ""
"Run Admin Job\n"
@@ -4584,7 +4616,7 @@ msgid ""
"Priority: %d\n"
msgstr ""
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
#, c-format
msgid ""
"Run Backup job\n"
@@ -4599,12 +4631,12 @@ msgid ""
"%s%s%s"
msgstr ""
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
#, c-format
msgid "Could not get job record for selected JobId. ERR=%s"
msgstr ""
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
#, c-format
msgid ""
"Run Verify Job\n"
@@ -4620,11 +4652,11 @@ msgid ""
"Priority: %d\n"
msgstr ""
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
msgid "Please enter a JobId for restore: "
msgstr ""
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
#, c-format
msgid ""
"Run Restore job\n"
@@ -4642,7 +4674,7 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
#, c-format
msgid ""
"Run Restore job\n"
@@ -4660,7 +4692,7 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
#, c-format
msgid ""
"Run Restore job\n"
@@ -4668,17 +4700,17 @@ msgid ""
"Bootstrap: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
#, c-format
msgid "RegexWhere: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
#, c-format
msgid "Where: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
#, c-format
msgid ""
"Replace: %s\n"
@@ -4691,215 +4723,215 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
msgid "Run Copy job\n"
msgstr ""
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
msgid "Run Migration job\n"
msgstr ""
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
#, c-format
msgid "Unknown Job Type=%d\n"
msgstr ""
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
#, c-format
msgid "Value missing for keyword %s\n"
msgstr ""
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
msgid "Job name specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
msgid "JobId specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
msgid "Client specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
msgid "FileSet specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
msgid "Level specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
msgid "Storage specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
msgid "RegexWhere or Where specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
msgid "No authorization for \"regexwhere\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
msgid "Where or RegexWhere specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
msgid "No authoriztion for \"where\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
msgid "Bootstrap specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
msgid "Replace specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
msgid "When specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
msgid "Priority specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
msgid "Priority must be positive nonzero setting it to 10.\n"
msgstr ""
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
msgid "Verify Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
msgid "Migration Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
msgid "Pool specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
msgid "Restore Client specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
msgid "Plugin Options not yet implemented.\n"
msgstr ""
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
msgid "Plugin Options specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
msgid "No authoriztion for \"PluginOptions\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
msgid "Spool flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
msgid "Invalid spooldata flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
msgid "IgnoreDuplicateCheck flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
msgid "Invalid ignoreduplicatecheck flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
msgid "Accurate flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
msgid "Invalid accurate flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
#, c-format
msgid "Invalid keyword: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
#, c-format
msgid "Catalog \"%s\" not found\n"
msgstr ""
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
#, c-format
msgid "No authorization. Catalog \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
#, c-format
msgid "Job \"%s\" not found\n"
msgstr ""
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
msgid "A job name must be specified.\n"
msgstr ""
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
#, c-format
msgid "No authorization. Job \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
#, c-format
msgid "Pool \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
#, c-format
msgid "No authorization. Pool \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
#, c-format
msgid "Storage \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
msgid "No storage specified.\n"
msgstr ""
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
#, c-format
msgid "No authorization. Storage \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
#, c-format
msgid "No authorization. Client \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
#, c-format
msgid "Restore Client \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
#, c-format
msgid "FileSet \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
#, c-format
msgid "No authorization. FileSet \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
#, c-format
msgid "Verify Job \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
#, c-format
msgid "Migration Job \"%s\" not found.\n"
msgstr ""
@@ -4956,25 +4988,25 @@ msgstr ""
msgid "Start Backup JobId %s, Job=%s\n"
msgstr ""
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
#, c-format
msgid "Unexpected Client Job message: %s\n"
msgstr ""
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
#, c-format
msgid "Network error with FD during %s: ERR=%s\n"
msgstr ""
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
msgid "No Job status returned from FD.\n"
msgstr ""
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
msgid "Backup failed -- incomplete"
msgstr ""
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5013,19 +5045,19 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
#, c-format
msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
msgstr ""
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
#, c-format
msgid ""
"Could not open WriteBootstrap file:\n"
"%s: ERR=%s\n"
msgstr ""
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr ""
@@ -5040,39 +5072,39 @@ msgstr ""
msgid "Could not acquire read storage lock for \"%s\""
msgstr ""
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
msgid ""
"Cannot restore without a bootstrap file.\n"
"You probably ran a restore job directly. All restore jobs must\n"
"be run using the restore command.\n"
msgstr ""
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
#, c-format
msgid "Start Restore Job %s\n"
msgstr ""
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
msgid "Restore OK -- warning file count mismatch"
msgstr ""
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
msgid "Restore OK"
msgstr ""
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
msgid "Restore OK -- with warnings"
msgstr ""
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
msgid "*** Restore Error ***"
msgstr ""
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
msgid "Restore Canceled"
msgstr ""
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5101,7 +5133,7 @@ msgstr ""
msgid "Select daemon type for status"
msgstr ""
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
#, c-format
msgid "%s Version: %s (%s) %s %s %s\n"
msgstr ""
@@ -5111,7 +5143,7 @@ msgstr ""
msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
msgstr ""
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
#, c-format
msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
msgstr ""
@@ -5168,7 +5200,7 @@ msgstr ""
msgid "No Scheduled Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
msgid ""
"\n"
"Running Jobs:\n"
@@ -5332,13 +5364,13 @@ msgstr ""
msgid "No Terminated Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
msgid ""
"\n"
"Terminated Jobs:\n"
msgstr ""
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr ""
@@ -5346,41 +5378,41 @@ msgstr ""
msgid "====================================================================\n"
msgstr ""
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
#: src/filed/status.c:363
msgid "Created"
msgstr ""
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
#: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
msgid "Error"
msgstr ""
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
msgid "Diffs"
msgstr ""
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
#: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
#: src/wx-console/wxbconfigpanel.cpp:209
msgid "OK"
msgstr ""
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
#: src/lib/util.c:327
msgid "OK -- with warnings"
msgstr ""
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
msgid "Other"
msgstr ""
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
#, c-format
msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
msgstr ""
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr ""
@@ -5549,7 +5581,7 @@ msgstr ""
msgid "Job DiffPool override"
msgstr ""
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr ""
@@ -5873,7 +5905,17 @@ msgstr ""
msgid "<stored: bad response to Job command: %s\n"
msgstr ""
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:311
+#, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:318
#, c-format
msgid ""
"\n"
@@ -5881,24 +5923,19 @@ msgid ""
" %s"
msgstr ""
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
#, c-format
msgid ""
"\n"
" Storage daemon didn't accept Device \"%s\" command.\n"
msgstr ""
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr ""
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
#, c-format
msgid "Cannot create message thread: %s\n"
msgstr ""
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
msgid "Director's comm line to SD dropped.\n"
msgstr ""
@@ -6348,26 +6385,26 @@ msgstr ""
msgid "Unable to initialize reservation lock. ERR=%s\n"
msgstr ""
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
#, c-format
msgid "Hey! num_writers=%d!!!!\n"
msgstr ""
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
msgid "3939 Could not get dcr\n"
msgstr ""
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
#, c-format
msgid "Device reservation failed for JobId=%d: %s\n"
msgstr ""
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
#, c-format
msgid "Failed command: %s\n"
msgstr ""
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
#, c-format
msgid ""
"\n"
@@ -6375,85 +6412,85 @@ msgid ""
"does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
#, c-format
msgid ""
"\n"
" Device \"%s\" requested by DIR could not be opened or does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
#, c-format
msgid "3926 Could not get dcr for device: %s\n"
msgstr ""
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
#, c-format
msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
#, c-format
msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
msgstr ""
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
#, c-format
msgid "3603 JobId=%u device %s is busy reading.\n"
msgstr ""
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
#, c-format
msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
#, c-format
msgid ""
"3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
"%s.\n"
msgstr ""
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
#, c-format
msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
#, c-format
msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
#, c-format
msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
msgstr ""
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
#, c-format
msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
msgstr ""
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
#, c-format
msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
#, c-format
msgid "Logic error!!!! JobId=%u Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
#, c-format
msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
msgid "Logic error!!!! Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
#, c-format
msgid "3911 JobId=%u failed reserve drive %s.\n"
msgstr ""
@@ -6585,7 +6622,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
msgstr ""
#: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
#, c-format
msgid "Mount Volume \"%s\" on device %s and press return when ready: "
msgstr ""
@@ -6880,7 +6917,7 @@ msgstr ""
msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
msgstr ""
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
#, c-format
msgid ""
"Bootstrap file error: %s\n"
@@ -6888,154 +6925,154 @@ msgid ""
"%s\n"
msgstr ""
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
#, c-format
msgid "Cannot open bootstrap file %s: %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
#, c-format
msgid "MediaType %s in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
#, c-format
msgid "Device \"%s\" in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
#, c-format
msgid "REGEX '%s' compile error. ERR=%s\n"
msgstr ""
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
msgid "JobType not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
msgid "JobLevel not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
#, c-format
msgid "Slot %d in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
#, c-format
msgid "VolFile : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
#, c-format
msgid "VolBlock : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
#, c-format
msgid "VolAddr : %llu-%llu\n"
msgstr ""
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
#, c-format
msgid "FileIndex : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
#, c-format
msgid "FileIndex : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
#, c-format
msgid "JobId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
#, c-format
msgid "JobId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
#, c-format
msgid "SessId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
#, c-format
msgid "SessId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
#, c-format
msgid "VolumeName : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
#, c-format
msgid " MediaType : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
#, c-format
msgid " Device : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
#, c-format
msgid " Slot : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
#, c-format
msgid "Client : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
#, c-format
msgid "Job : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
#, c-format
msgid "SessTime : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
msgid "BSR is NULL\n"
msgstr ""
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
#, c-format
msgid "Next : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
#, c-format
msgid "Root bsr : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
#, c-format
msgid "count : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
#, c-format
msgid "found : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
#, c-format
msgid "done : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
#, c-format
msgid "positioning : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
#, c-format
msgid "fast_reject : %d\n"
msgstr ""
@@ -7120,7 +7157,7 @@ msgid "Unable to set network buffer size.\n"
msgstr ""
#: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
msgid "NULL Volume name. This shouldn't happen!!!\n"
msgstr ""
@@ -7229,7 +7266,7 @@ msgstr ""
msgid "Volume on %s has bad Bacula label type: %x\n"
msgstr ""
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
#, c-format
msgid "Could not reserve volume %s on %s\n"
msgstr ""
@@ -7239,7 +7276,7 @@ msgstr ""
msgid "Cannot write Volume label to block for device %s\n"
msgstr ""
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
#, c-format
msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr ""
@@ -7405,82 +7442,101 @@ msgstr ""
msgid "Used Volume status:\n"
msgstr ""
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
msgid ""
-"====\n"
"\n"
+"SD Resources:\n"
msgstr ""
-#: src/stored/status.c:128
+#: src/stored/status.c:153
msgid ""
"\n"
"Device status:\n"
msgstr ""
-#: src/stored/status.c:132
+#: src/stored/status.c:157
#, c-format
msgid "Autochanger \"%s\" with devices:\n"
msgstr ""
-#: src/stored/status.c:150
+#: src/stored/status.c:177
#, c-format
msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
" Volume: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:160
+#: src/stored/status.c:182
+msgid "waiting for"
+msgstr ""
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+msgid "*unknown*"
+msgstr ""
+
+#: src/stored/status.c:188
#, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
msgstr ""
-#: src/stored/status.c:171
+#: src/stored/status.c:199
#, c-format
msgid " Total Bytes=%s Blocks=%s Bytes/block=%s\n"
msgstr ""
-#: src/stored/status.c:186
+#: src/stored/status.c:214
#, c-format
msgid " Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
msgstr ""
-#: src/stored/status.c:192
+#: src/stored/status.c:220
#, c-format
msgid " Positioned at File=%s Block=%s\n"
msgstr ""
-#: src/stored/status.c:199
+#: src/stored/status.c:227
#, c-format
-msgid "Device %s is not open.\n"
+msgid ""
+"\n"
+"Device %s is not open.\n"
msgstr ""
-#: src/stored/status.c:203
+#: src/stored/status.c:231
#, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
msgstr ""
-#: src/stored/status.c:225
+#: src/stored/status.c:255
#, c-format
msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
msgstr ""
-#: src/stored/status.c:248
+#: src/stored/status.c:293
msgid ""
"No DEVICE structure.\n"
"\n"
msgstr ""
-#: src/stored/status.c:254
+#: src/stored/status.c:299
msgid " Device is BLOCKED. User unmounted.\n"
msgstr ""
-#: src/stored/status.c:258
+#: src/stored/status.c:303
msgid " Device is BLOCKED. User unmounted during wait for media/mount.\n"
msgstr ""
-#: src/stored/status.c:270
+#: src/stored/status.c:313
#, c-format
msgid ""
" Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -7488,7 +7544,7 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:279
+#: src/stored/status.c:322
#, c-format
msgid ""
" Device is BLOCKED waiting to create a volume for:\n"
@@ -7496,172 +7552,165 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:291
+#: src/stored/status.c:333
msgid " Device is BLOCKED waiting for media.\n"
msgstr ""
-#: src/stored/status.c:297
+#: src/stored/status.c:339
msgid " Device is being initialized.\n"
msgstr ""
-#: src/stored/status.c:301
+#: src/stored/status.c:343
msgid " Device is blocked labeling a Volume.\n"
msgstr ""
-#: src/stored/status.c:310
+#: src/stored/status.c:352
#, c-format
-msgid " Slot %d is loaded in drive %d.\n"
+msgid " Slot %d %s loaded in drive %d.\n"
msgstr ""
-#: src/stored/status.c:314
+#: src/stored/status.c:356
#, c-format
msgid " Drive %d is not loaded.\n"
msgstr ""
-#: src/stored/status.c:317
-#, c-format
-msgid " Drive %d status unknown.\n"
-msgstr ""
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
#, c-format
msgid "Configured device capabilities:\n"
msgstr ""
-#: src/stored/status.c:349
+#: src/stored/status.c:389
msgid "Device state:\n"
msgstr ""
-#: src/stored/status.c:367
+#: src/stored/status.c:405
#, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid " num_writers=%d reserves=%d block=%d\n"
+msgstr ""
+
+#: src/stored/status.c:409
+msgid "Attached Jobs: "
msgstr ""
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:427 src/stored/btape.c:720
#, c-format
msgid "Device parameters:\n"
msgstr ""
-#: src/stored/status.c:374
+#: src/stored/status.c:429
#, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid " Archive name: %s Device name: %s\n"
msgstr ""
-#: src/stored/status.c:378
+#: src/stored/status.c:432
#, c-format
-msgid "File=%u block=%u\n"
+msgid " File=%u block=%u\n"
msgstr ""
-#: src/stored/status.c:381
+#: src/stored/status.c:434
#, c-format
-msgid "Min block=%u Max block=%u\n"
+msgid " Min block=%u Max block=%u\n"
msgstr ""
-#: src/stored/status.c:401
+#: src/stored/status.c:455
#, c-format
msgid "%s Job %s waiting for Client connection.\n"
msgstr ""
-#: src/stored/status.c:417
+#: src/stored/status.c:471
#, c-format
msgid ""
"Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
msgstr ""
-#: src/stored/status.c:430
+#: src/stored/status.c:484
#, c-format
msgid ""
"Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
msgstr ""
-#: src/stored/status.c:441
+#: src/stored/status.c:495
#, c-format
msgid " spooling=%d despooling=%d despool_wait=%d\n"
msgstr ""
-#: src/stored/status.c:450
+#: src/stored/status.c:511
#, c-format
-msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
+msgid " Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
msgstr ""
-#: src/stored/status.c:458
+#: src/stored/status.c:523
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr ""
-#: src/stored/status.c:464
+#: src/stored/status.c:529
msgid " FDSocket closed\n"
msgstr ""
-#: src/stored/status.c:485
+#: src/stored/status.c:550
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
msgstr ""
-#: src/stored/status.c:516
+#: src/stored/status.c:581
msgid "===================================================================\n"
msgstr ""
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
msgid "Base"
msgstr ""
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
msgid "Init Catalog"
msgstr ""
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
msgid "Volume to Catalog"
msgstr ""
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
msgid "Disk to Catalog"
msgstr ""
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
msgid "Data"
msgstr ""
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
msgid "Unknown Job Level"
msgstr ""
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
+#: src/stored/status.c:763
#, c-format
-msgid "Bad .status command: %s\n"
-msgstr ""
-
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
+msgid "3900 No arg in .status command: %s\n"
msgstr ""
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
+#: src/stored/status.c:811
+#, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
msgstr ""
-#: src/stored/status.c:760
+#: src/stored/status.c:826
msgid "Bacula Storage: Idle"
msgstr ""
-#: src/stored/status.c:771
+#: src/stored/status.c:837
msgid "Bacula Storage: Running"
msgstr ""
-#: src/stored/status.c:785
+#: src/stored/status.c:851
msgid "Bacula Storage: Last Job Canceled"
msgstr ""
-#: src/stored/status.c:789
+#: src/stored/status.c:855
msgid "Bacula Storage: Last Job Failed"
msgstr ""
-#: src/stored/status.c:793
+#: src/stored/status.c:859
msgid "Bacula Storage: Last Job had Warnings"
msgstr ""
@@ -7762,7 +7811,7 @@ msgid "%u files restored.\n"
msgstr ""
#: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
#, c-format
msgid "Write error on %s: %s\n"
msgstr ""
@@ -7771,7 +7820,7 @@ msgstr ""
msgid "Logic error output file should be open but is not.\n"
msgstr ""
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
#, c-format
msgid "%s stream not supported on this Client.\n"
msgstr ""
@@ -7787,7 +7836,7 @@ msgid "Seek error on %s: %s\n"
msgstr ""
#: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
#, c-format
msgid "Seek to %s error on %s: ERR=%s\n"
msgstr ""
@@ -7797,16 +7846,16 @@ msgstr ""
msgid "Uncompression error. ERR=%d\n"
msgstr ""
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
msgid "GZIP data stream found, but GZIP not configured!\n"
msgstr ""
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
#, c-format
msgid "Compressed header version error. version=0x%x\n"
msgstr ""
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
#, c-format
msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
msgstr ""
@@ -7816,7 +7865,7 @@ msgstr ""
msgid "LZO uncompression error. ERR=%d\n"
msgstr ""
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
#, c-format
msgid "Compression algorithm 0x%x found, but not supported!\n"
msgstr ""
@@ -7825,7 +7874,7 @@ msgstr ""
msgid "Got Program Name or Data Stream. Ignored.\n"
msgstr ""
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
#, c-format
msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
msgstr ""
@@ -8015,125 +8064,125 @@ msgstr ""
msgid "Unexpected Tape is Off-line\n"
msgstr ""
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
#, c-format
msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
msgstr ""
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
#, c-format
msgid "No volumes specified for reading. Job %s canceled.\n"
msgstr ""
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
#, c-format
msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
msgstr ""
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
#, c-format
msgid ""
"Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
" device=%s\n"
msgstr ""
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
#, c-format
msgid "Media Type change. New read device %s chosen.\n"
msgstr ""
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
#, c-format
msgid "No suitable device found to read Volume \"%s\"\n"
msgstr ""
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
#, c-format
msgid "Job %s canceled.\n"
msgstr ""
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
#, c-format
msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr ""
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
#, c-format
msgid "Too many errors trying to mount device %s for reading.\n"
msgstr ""
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
#, c-format
msgid "Ready to read from volume \"%s\" on device %s.\n"
msgstr ""
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
#, c-format
msgid "Want to append, but device %s is busy reading.\n"
msgstr ""
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
#, c-format
msgid "Could not ready device %s for append.\n"
msgstr ""
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
#: src/stored/block.c:769 src/stored/block.c:847
#, c-format
msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
msgstr ""
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
#, c-format
msgid "Alert: %s"
msgstr ""
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
#, c-format
msgid "3997 Bad alert command: %s: ERR=%s.\n"
msgstr ""
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
#: src/lib/openssl.c:122 src/lib/openssl.c:181
#, c-format
msgid "Unable to init mutex: ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/askdir.c:179
msgid "Network error on bnet_recv in req_vol_info.\n"
msgstr ""
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
#, c-format
msgid "Error getting Volume info: %s"
msgstr ""
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
#, c-format
msgid "Didn't get vol info vol=%s: ERR=%s"
msgstr ""
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
#, c-format
msgid "Error creating JobMedia record: ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
#, c-format
msgid "Error creating JobMedia record: %s\n"
msgstr ""
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
msgstr ""
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
#, c-format
msgid ""
"Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8143,45 +8192,45 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
#, c-format
msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
msgstr ""
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
msgid "pthread error in mount_next_volume.\n"
msgstr ""
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
msgid "Cannot request another volume: no volume name given.\n"
msgstr ""
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
msgstr ""
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
#, c-format
msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
#, c-format
msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
msgid "pthread error in mount_volume\n"
msgstr ""
@@ -8514,32 +8563,32 @@ msgstr ""
msgid "Attempt to open read on non-open session.\n"
msgstr ""
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
#, c-format
msgid "Too many errors trying to mount device %s.\n"
msgstr ""
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
#, c-format
msgid "Job %d canceled.\n"
msgstr ""
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
#, c-format
msgid "Volume \"%s\" previously written, moving to end of data.\n"
msgstr ""
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
#, c-format
msgid "Unable to position to end of data on device %s: ERR=%s\n"
msgstr ""
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
#, c-format
msgid "Volume \"%s\" not on device %s.\n"
msgstr ""
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
#, c-format
msgid ""
"Director wanted Volume \"%s\".\n"
@@ -8547,24 +8596,24 @@ msgid ""
" %s"
msgstr ""
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
#, c-format
msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
msgstr ""
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
#, c-format
msgid ""
"Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
"Volume=%s Catalog=%s\n"
msgstr ""
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
#, c-format
msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
msgstr ""
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
#, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -8572,23 +8621,23 @@ msgid ""
"Correcting Catalog\n"
msgstr ""
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
msgid "Error updating Catalog\n"
msgstr ""
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
#, c-format
msgid ""
"Bacula cannot write on tape Volume \"%s\" because:\n"
"The number of files mismatch! Volume=%u Catalog=%u\n"
msgstr ""
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
#, c-format
msgid "Ready to append to end of Volume \"%s\" size=%s\n"
msgstr ""
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
#, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -8596,46 +8645,46 @@ msgid ""
"Correcting Catalog\n"
msgstr ""
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
#, c-format
msgid ""
"Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
"Volume=%s Catalog=%s\n"
msgstr ""
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
#, c-format
msgid "Labeled new Volume \"%s\" on device %s.\n"
msgstr ""
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
#, c-format
msgid "Device %s not configured to autolabel Volumes.\n"
msgstr ""
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
#, c-format
msgid "Marking Volume \"%s\" in Error in Catalog.\n"
msgstr ""
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
#, c-format
msgid ""
"Autochanger Volume \"%s\" not found in slot %d.\n"
" Setting InChanger to zero in catalog.\n"
msgstr ""
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
msgstr ""
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
#, c-format
msgid ""
"Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
msgstr ""
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
#, c-format
msgid "Cannot open Dev=%s, Vol=%s\n"
msgstr ""
@@ -8721,7 +8770,7 @@ msgid ""
"Despooling elapsed time = %02d:%02d:%02d, Transfer rate = %s Bytes/second\n"
msgstr ""
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
#, c-format
msgid "Ftruncate spool file failed: ERR=%s\n"
msgstr ""
@@ -8751,77 +8800,86 @@ msgstr ""
msgid "Spool data read error. Wanted %u bytes, got %d\n"
msgstr ""
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
+msgstr ""
+
+#: src/stored/spool.c:485
+#, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
msgstr ""
-#: src/stored/spool.c:489
+#: src/stored/spool.c:492
msgid "Bad return from despool in write_block.\n"
msgstr ""
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
msgid "Spooling data again ...\n"
msgstr ""
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
#, c-format
msgid "Error writing header to spool file. ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
#, c-format
msgid ""
"Error writing header to spool file. Disk probably full. Attempting recovery. "
"Wanted to write=%d got=%d\n"
msgstr ""
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
msgid "Fatal despooling error."
msgstr ""
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
msgid "Retrying after header spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
#, c-format
msgid "Error writing data to spool file. ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
msgid "Retrying after data spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
msgid "Network error on BlastAttributes.\n"
msgstr ""
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
#, c-format
msgid "Fseek on attributes file failed: ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
#, c-format
msgid "Truncate on attributes file failed: ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
#, c-format
msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
msgstr ""
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
#, c-format
msgid "fopen attr spool file %s failed: ERR=%s\n"
msgstr ""
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
#, c-format
msgid "pthread_cond_wait failure. ERR=%s\n"
msgstr ""
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
msgid "unknown blocked code"
msgstr ""
@@ -8941,6 +8999,21 @@ msgstr ""
msgid "Unable to init cond variable: ERR=%s\n"
msgstr ""
+#: src/stored/dev.c:288
+#, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/dev.c:294
+#, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr ""
+
+#: src/stored/dev.c:300
+#, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr ""
+
#: src/stored/dev.c:416
msgid "Illegal mode given to open dev.\n"
msgstr ""
@@ -9289,7 +9362,7 @@ msgstr ""
msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
msgstr ""
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
#, c-format
msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
msgstr ""
@@ -9347,107 +9420,107 @@ msgstr ""
msgid "Got Prog Data Stream record.\n"
msgstr ""
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
#, c-format
msgid "Unknown stream type!!! stream=%d len=%i\n"
msgstr ""
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
#, c-format
msgid "Could not create File Attributes record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
#, c-format
msgid "Created File record: %s\n"
msgstr ""
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
#, c-format
msgid "Could not create media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
#, c-format
msgid "Could not update media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
#, c-format
msgid "Created Media record for Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
#, c-format
msgid "Updated Media record at end of Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
#, c-format
msgid "Could not create pool record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
#, c-format
msgid "Created Pool record for Pool: %s\n"
msgstr ""
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
#, c-format
msgid "Could not get Client record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
#, c-format
msgid "Created Client record for Client: %s\n"
msgstr ""
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
#, c-format
msgid "Fileset \"%s\" already exists.\n"
msgstr ""
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
#, c-format
msgid "Could not create FileSet record \"%s\". ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
#, c-format
msgid "Created FileSet record \"%s\"\n"
msgstr ""
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
#, c-format
msgid "Could not create JobId record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
#, c-format
msgid "Could not update job start record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
#, c-format
msgid "Created new JobId=%u record for original JobId=%u\n"
msgstr ""
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
#, c-format
msgid "Could not update JobId=%u record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
#, c-format
msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
msgstr ""
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
#, c-format
msgid "Job Termination code: %d"
msgstr ""
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
#, c-format
msgid ""
"%s\n"
@@ -9467,27 +9540,27 @@ msgid ""
"\n"
msgstr ""
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
#, c-format
msgid "Could not create JobMedia record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
#, c-format
msgid "Created JobMedia record JobId %d, MediaId %d\n"
msgstr ""
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
#, c-format
msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
msgstr ""
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
#, c-format
msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
msgid "Updated MD5/SHA1 record\n"
msgstr ""
@@ -11570,40 +11643,40 @@ msgid ""
"Please see "
msgstr ""
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
#, c-format
msgid "Could not open console message file %s: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:376
+#: src/lib/message.c:377
#, c-format
msgid "Could not get con mutex: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:481
+#: src/lib/message.c:482
msgid "Bacula Message"
msgstr ""
-#: src/lib/message.c:485
+#: src/lib/message.c:486
#, c-format
msgid "open mail pipe %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:553
+#: src/lib/message.c:577
msgid "open mail pipe failed.\n"
msgstr ""
-#: src/lib/message.c:565
+#: src/lib/message.c:590
#, c-format
msgid "close error: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:576
+#: src/lib/message.c:601
#, c-format
msgid "Mail prog: %s"
msgstr ""
-#: src/lib/message.c:585
+#: src/lib/message.c:610
#, c-format
msgid ""
"Mail program terminated in error.\n"
@@ -11611,12 +11684,16 @@ msgid ""
"ERR=%s\n"
msgstr ""
-#: src/lib/message.c:684
+#: src/lib/message.c:713
#, c-format
msgid "fopen %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
#, c-format
msgid ""
"Msg delivery error: Operator mail program terminated in error.\n"
@@ -11624,77 +11701,77 @@ msgid ""
"ERR=%s\n"
msgstr ""
-#: src/lib/message.c:878
+#: src/lib/message.c:911
#, c-format
msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
#, c-format
msgid "%s: ABORTING due to ERROR in %s:%d\n"
msgstr ""
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
#, c-format
msgid "%s: ERROR TERMINATION at %s:%d\n"
msgstr ""
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
#, c-format
msgid "%s: Fatal Error because: "
msgstr ""
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
#, c-format
msgid "%s: Fatal Error at %s:%d because:\n"
msgstr ""
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
#, c-format
msgid "%s: ERROR: "
msgstr ""
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
#, c-format
msgid "%s: ERROR in %s:%d "
msgstr ""
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
#, c-format
msgid "%s: Warning: "
msgstr ""
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
#, c-format
msgid "%s: Security violation: "
msgstr ""
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
#, c-format
msgid "%s ABORTING due to ERROR\n"
msgstr ""
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
#, c-format
msgid "%s ERROR TERMINATION\n"
msgstr ""
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
#, c-format
msgid "%s JobId %u: Fatal error: "
msgstr ""
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
#, c-format
msgid "%s JobId %u: Error: "
msgstr ""
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
#, c-format
msgid "%s JobId %u: Warning: "
msgstr ""
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
#, c-format
msgid "%s JobId %u: Security violation: "
msgstr ""
@@ -11748,71 +11825,6 @@ msgstr ""
msgid "Could not destroy client queue: ERR=%s\n"
msgstr ""
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr ""
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr ""
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr ""
-
#: src/lib/bpipe.c:361 src/lib/bpipe.c:444
msgid "Program killed by Bacula (timeout)\n"
msgstr ""
@@ -12262,7 +12274,7 @@ msgstr ""
msgid "Truncate"
msgstr ""
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
msgid "None"
msgstr ""
@@ -12312,7 +12324,7 @@ msgstr ""
#: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
#: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
msgid "*none*"
msgstr ""
@@ -12524,20 +12536,20 @@ msgstr ""
msgid "pthread_setspecific failed: ERR=%s\n"
msgstr ""
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Storage "
"daemon.\n"
msgstr ""
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
msgstr ""
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -12723,203 +12735,271 @@ msgstr ""
msgid "Invalid errno. No error message possible."
msgstr ""
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr ""
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr ""
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr ""
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr ""
+
#: src/lib/signal.c:67
msgid "Invalid signal number"
msgstr ""
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
#, c-format
msgid "Bacula interrupted by signal %d: %s\n"
msgstr ""
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
#, c-format
msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
msgstr ""
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
#, c-format
msgid "Kaboom! exepath=%s\n"
msgstr ""
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
#, c-format
msgid "Fork error: ERR=%s\n"
msgstr ""
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
#, c-format
msgid "Calling: %s %s %s %s\n"
msgstr ""
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
#, c-format
msgid "execv: %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
#, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "It looks like the traceback worked...\n"
msgstr ""
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
#, c-format
msgid "BA_NSIG too small (%d) should be (%d)\n"
msgstr ""
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
msgid "UNKNOWN SIGNAL"
msgstr ""
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
msgid "Hangup"
msgstr ""
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
msgid "Interrupt"
msgstr ""
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
msgid "Quit"
msgstr ""
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
msgid "Illegal instruction"
msgstr ""
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
msgid "Trace/Breakpoint trap"
msgstr ""
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
msgid "Abort"
msgstr ""
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
msgid "EMT instruction (Emulation Trap)"
msgstr ""
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
msgid "IOT trap"
msgstr ""
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
msgid "BUS error"
msgstr ""
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
msgid "Floating-point exception"
msgstr ""
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
msgid "Kill, unblockable"
msgstr ""
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
msgid "User-defined signal 1"
msgstr ""
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
msgid "Segmentation violation"
msgstr ""
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
msgid "User-defined signal 2"
msgstr ""
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
msgid "Broken pipe"
msgstr ""
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
msgid "Alarm clock"
msgstr ""
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
msgid "Termination"
msgstr ""
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
msgid "Stack fault"
msgstr ""
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
msgid "Child status has changed"
msgstr ""
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
msgid "Continue"
msgstr ""
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
msgid "Stop, unblockable"
msgstr ""
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
msgid "Keyboard stop"
msgstr ""
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
msgid "Background read from tty"
msgstr ""
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
msgid "Background write to tty"
msgstr ""
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
msgid "Urgent condition on socket"
msgstr ""
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
msgid "CPU limit exceeded"
msgstr ""
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
msgid "File size limit exceeded"
msgstr ""
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
msgid "Virtual alarm clock"
msgstr ""
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
msgid "Profiling alarm clock"
msgstr ""
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
msgid "Window size change"
msgstr ""
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
msgid "I/O now possible"
msgstr ""
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
msgid "Power failure restart"
msgstr ""
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
msgid "No runnable lwp"
msgstr ""
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
msgid "SIGLWP special signal used by thread library"
msgstr ""
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
msgid "Checkpoint Freeze"
msgstr ""
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
msgid "Checkpoint Thaw"
msgstr ""
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
msgid "Thread Cancellation"
msgstr ""
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
msgid "Resource Lost (e.g. record-lock lost)"
msgstr ""
@@ -12945,47 +13025,47 @@ msgstr ""
msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
#, c-format
msgid "Out of memory: ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
msgid "Buffer overflow.\n"
msgstr ""
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
msgid "Bad errno"
msgstr ""
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
#, c-format
msgid "Memset for %d bytes at %s:%d\n"
msgstr ""
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
#, c-format
msgid "Cannot open pid file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
#, c-format
msgid ""
"%s is already running. pid=%d\n"
"Check file %s\n"
msgstr ""
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
#, c-format
msgid "Could not open pid file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
#, c-format
msgid "Could not create state file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
#, c-format
msgid "Write final hdr error: ERR=%s\n"
msgstr ""
@@ -13033,98 +13113,98 @@ msgstr ""
msgid "Close of NULL file\n"
msgstr ""
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
msgid ""
"get_char: called after EOF. You may have a open double quote without the "
"closing double quote.\n"
msgstr ""
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
#, c-format
msgid "Config token too long, file: %s, line %d, begins at line %d\n"
msgstr ""
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
msgid "none"
msgstr ""
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
msgid "comment"
msgstr ""
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
msgid "number"
msgstr ""
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
msgid "ip_addr"
msgstr ""
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
msgid "identifier"
msgstr ""
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
msgid "string"
msgstr ""
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
msgid "quoted_string"
msgstr ""
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
msgid "include"
msgstr ""
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
msgid "include_quoted_string"
msgstr ""
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
msgid "UTF-8 Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
msgid "UTF-16le Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
#, c-format
msgid "expected a positive integer number, got: %s"
msgstr ""
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
msgid ""
"This config file appears to be in an unsupported Unicode format (UTF-16be). "
"Please resave as UTF-8\n"
msgstr ""
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
#, c-format
msgid "Cannot open included config file %s: %s\n"
msgstr ""
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
#, c-format
msgid "expected an integer or a range, got %s: %s"
msgstr ""
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
#, c-format
msgid "expected an integer number, got %s: %s"
msgstr ""
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
#, c-format
msgid "expected a name, got %s: %s"
msgstr ""
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
#, c-format
msgid "name %s length %d too long, max is %d\n"
msgstr ""
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
#, c-format
msgid "expected a string, got %s: %s"
msgstr ""
@@ -13798,42 +13878,54 @@ msgid "FreeBSD Specific NFSv4/ZFS ACL attribs"
msgstr ""
#: src/findlib/bfile.c:191
-msgid "IRIX Specific Extended attribs"
+msgid "GNU Hurd Specific Default ACL attribs"
msgstr ""
#: src/findlib/bfile.c:193
-msgid "TRU64 Specific Extended attribs"
+msgid "GNU Hurd Specific Access ACL attribs"
msgstr ""
#: src/findlib/bfile.c:195
-msgid "AIX Specific Extended attribs"
+msgid "GNU Hurd Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:197
-msgid "OpenBSD Specific Extended attribs"
+msgid "IRIX Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:199
-msgid "Solaris Specific Extensible attribs or System Extended attribs"
+msgid "TRU64 Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:201
-msgid "Solaris Specific Extended attribs"
+msgid "AIX Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:203
-msgid "Darwin Specific Extended attribs"
+msgid "OpenBSD Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:205
-msgid "FreeBSD Specific Extended attribs"
+msgid "Solaris Specific Extensible attribs or System Extended attribs"
msgstr ""
#: src/findlib/bfile.c:207
-msgid "Linux Specific Extended attribs"
+msgid "Solaris Specific Extended attribs"
msgstr ""
#: src/findlib/bfile.c:209
+msgid "Darwin Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:211
+msgid "FreeBSD Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:213
+msgid "Linux Specific Extended attribs"
+msgstr ""
+
+#: src/findlib/bfile.c:215
msgid "NetBSD Specific Extended attribs"
msgstr ""
@@ -13847,27 +13939,27 @@ msgstr ""
msgid "Unknown include/exclude option: %c\n"
msgstr ""
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
#, c-format
msgid " NODUMP flag set - will not process %s\n"
msgstr ""
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
#, c-format
msgid "Cannot stat file %s: ERR=%s\n"
msgstr ""
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
#, c-format
msgid "%s mtime changed during backup.\n"
msgstr ""
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
#, c-format
msgid "%s ctime changed during backup.\n"
msgstr ""
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
#, c-format
msgid "%s size changed during backup.\n"
msgstr ""
@@ -15637,6 +15729,11 @@ msgstr ""
msgid " SDSocket=closed\n"
msgstr ""
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
#: src/filed/status.c:464
msgid "2900 Bad .status command, missing argument.\n"
msgstr ""
@@ -15665,276 +15762,276 @@ msgstr ""
msgid "Bacula Client: Last Job had Warnings"
msgstr ""
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
#: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
#, c-format
msgid "Network send error to SD. ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
#, c-format
msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
#, c-format
msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
#, c-format
msgid "llistea error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
#, c-format
msgid "lgetea error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
#, c-format
msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
msgstr ""
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
#, c-format
msgid "Failed to serialize extended attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
#, c-format
msgid "lsetea error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
#, c-format
msgid "attr_list error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
#, c-format
msgid "Received illegal xattr named %s on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
#, c-format
msgid "attr_set error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
#, c-format
msgid "llistxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
#, c-format
msgid "lgetxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
#, c-format
msgid "lsetxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
#, c-format
msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
#, c-format
msgid "Failed to convert %d into namespace on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
#, c-format
msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
#, c-format
msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
#, c-format
msgid "Failed to convert %s into namespace on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
#, c-format
msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
#, c-format
msgid "getproplist error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
#, c-format
msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
#, c-format
msgid "setproplist error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
#, c-format
msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
#, c-format
msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
#, c-format
msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
#, c-format
msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
#, c-format
msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
#, c-format
msgid "Unable to read content of xattr %s on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
#, c-format
msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
#, c-format
msgid "Unable to open file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
#, c-format
msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
#, c-format
msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
#, c-format
msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
#, c-format
msgid "Unable to convert acl from text on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
#, c-format
msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
#, c-format
msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
#, c-format
msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
#, c-format
msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
#, c-format
msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
#, c-format
msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
#, c-format
msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
#, c-format
msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
#, c-format
msgid ""
"Unable to restore data of xattr %s on file \"%s\": Not all data available in "
"xattr stream\n"
msgstr ""
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
#, c-format
msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
#, c-format
msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
#, c-format
msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
#, c-format
msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
#, c-format
msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
#, c-format
msgid "Failed to restore extensible attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
#, c-format
msgid "Failed to restore extended attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
#, c-format
msgid "Unable to stat file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
#, c-format
msgid ""
"Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -16073,189 +16170,189 @@ msgstr ""
msgid "No Director resource defined in %s\n"
msgstr ""
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
#, c-format
msgid "aclx_get error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
#, c-format
msgid "Unknown acl type encountered on file \"%s\": %ld\n"
msgstr ""
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
#, c-format
msgid "Failed to convert acl into text on file \"%s\"\n"
msgstr ""
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
#, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
#, c-format
msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
#, c-format
msgid "aclx_put error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
#, c-format
msgid "acl_to_text error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
#, c-format
msgid "acl_get_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
#, c-format
msgid ""
"acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
#, c-format
msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
#, c-format
msgid "acl_from_text error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
#, c-format
msgid "acl_valid error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
#, c-format
msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
#, c-format
msgid "acl_set_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
#, c-format
msgid "pathconf error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
msgstr ""
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
#, c-format
msgid "getacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
#, c-format
msgid "acltostr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
#, c-format
msgid "strtoacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
#, c-format
msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
#, c-format
msgid "setacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
#, c-format
msgid "acl_get error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without acl support\n"
msgstr ""
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
#, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
#, c-format
msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
#, c-format
msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
msgstr ""
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
#, c-format
msgid "acl_set error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
#, c-format
msgid "acltotext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
#, c-format
msgid "aclfromtext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
#, c-format
msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
#, c-format
msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
#, c-format
msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
#, c-format
msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
msgstr ""
@@ -16264,17 +16361,17 @@ msgstr ""
msgid "Storage command not issued before Verify.\n"
msgstr ""
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
#, c-format
msgid "Record header scan error: %s\n"
msgstr ""
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
#, c-format
msgid "Data record error. ERR=%s\n"
msgstr ""
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
#, c-format
msgid "Actual data size %d not same as header %d\n"
msgstr ""
@@ -16434,7 +16531,7 @@ msgstr ""
msgid "Invalid file flags, no supported data stream type.\n"
msgstr ""
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
@@ -16454,192 +16551,192 @@ msgstr ""
msgid "Could not set Finder Info on %s\n"
msgstr ""
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
msgid "LZO init failed\n"
msgstr ""
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
msgid "Unexpected cryptographic session data stream.\n"
msgstr ""
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
msgid ""
"No private decryption keys have been defined to decrypt encrypted backup "
"data.\n"
msgstr ""
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
msgid "Could not create digest.\n"
msgstr ""
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
msgid "Missing private key required to decrypt encrypted backup data.\n"
msgstr ""
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
msgid "Decrypt of the session key failed.\n"
msgstr ""
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
#, c-format
msgid "An error occurred while decoding encrypted session data stream: %s\n"
msgstr ""
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
#, c-format
msgid "Missing encryption session data stream for %s\n"
msgstr ""
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
#, c-format
msgid "Failed to initialize decryption context for %s\n"
msgstr ""
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
#, c-format
msgid "Cannot open resource fork for %s.\n"
msgstr ""
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
msgid "Unexpected cryptographic signature data stream.\n"
msgstr ""
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
#, c-format
msgid "Failed to decode message signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
#, c-format
msgid "Encountered %ld acl errors while doing restore\n"
msgstr ""
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
#, c-format
msgid "Encountered %ld xattr errors while doing restore\n"
msgstr ""
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
#, c-format
msgid ""
"%d non-supported data streams and %d non-supported attrib streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
#, c-format
msgid "%d non-supported resource fork streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
#, c-format
msgid "%d non-supported Finder Info streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
#, c-format
msgid "%d non-supported acl streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
#, c-format
msgid "%d non-supported crypto streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
#, c-format
msgid "%d non-supported xattr streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
msgid "Zlib errno"
msgstr ""
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
msgid "Zlib stream error"
msgstr ""
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
msgid "Zlib data error"
msgstr ""
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
msgid "Zlib memory error"
msgstr ""
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
msgid "Zlib buffer error"
msgstr ""
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
msgid "Zlib version error"
msgstr ""
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
#, c-format
msgid "Missing cryptographic signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
#, c-format
msgid "Signature validation failed for file %s: ERR=%s\n"
msgstr ""
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
#, c-format
msgid "Digest one file failed for file: %s\n"
msgstr ""
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
#, c-format
msgid "Signature validation failed for %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
#, c-format
msgid "LZO uncompression error on file %s. ERR=%d\n"
msgstr ""
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
#, c-format
msgid "Uncompression error on file %s. ERR=%s\n"
msgstr ""
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
#, c-format
msgid "Write error in Win32 Block Decomposition on %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
msgid "Decryption error\n"
msgstr ""
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
msgid "Logic error: output file should be open\n"
msgstr ""
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
msgid "Logic error: output file should not be open\n"
msgstr ""
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
#, c-format
msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
msgstr ""
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
msgid "Open File Manager paused\n"
msgstr ""
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
msgid "FAILED to pause Open File Manager\n"
msgstr ""
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
#, c-format
msgid "Running as '%s'. Privmask=%#08x\n"
msgstr ""
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
msgid "Failed to retrieve current UserName\n"
msgstr ""
@@ -16918,7 +17015,7 @@ msgid ""
"Version: "
msgstr ""
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
#, c-format
msgid "Failed ASSERT: %s\n"
msgstr ""
@@ -17879,15 +17976,15 @@ msgstr ""
msgid "At main prompt waiting for input ..."
msgstr ""
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
msgid "At prompt waiting for input ..."
msgstr ""
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
msgid "Command failed."
msgstr ""
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
msgid "Director disconnected."
msgstr ""
diff --git a/po/uk.po b/po/uk.po
index 65d07d8..70a7e3a 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bacula 3.0.3\n"
"Report-Msgid-Bugs-To: bacula-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-09-11 09:10+0200\n"
+"POT-Creation-Date: 2013-02-19 18:26+0100\n"
"PO-Revision-Date: 2010-01-08 17:32+0300\n"
"Last-Translator: Vitaliy Kosharskiy <kisa_co at ukrpost.net>\n"
"Language-Team: Ukrainian\n"
@@ -95,7 +95,7 @@ msgstr ""
msgid "Continue? (yes/mod/no): "
msgstr ""
-#: src/dird/ua_select.c:62 src/dird/ua_run.c:232
+#: src/dird/ua_select.c:62 src/dird/ua_run.c:219
msgid "mod"
msgstr ""
@@ -115,8 +115,8 @@ msgstr ""
msgid "The defined Storage resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:727 src/dird/ua_cmds.c:995
-#: src/dird/ua_run.c:237 src/wx-console/wxbrestorepanel.cpp:339
+#: src/dird/ua_select.c:167 src/dird/ua_dotcmds.c:734 src/dird/ua_cmds.c:995
+#: src/dird/ua_run.c:224 src/wx-console/wxbrestorepanel.cpp:339
#: src/wx-console/wxbrestorepanel.cpp:355
#: src/wx-console/wxbrestorepanel.cpp:479
#: src/wx-console/wxbrestorepanel.cpp:480
@@ -137,7 +137,7 @@ msgstr ""
msgid "The defined FileSet resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:239
+#: src/dird/ua_select.c:190 src/dird/ua_restore.c:1300 src/dird/ua_run.c:226
msgid "FileSet"
msgstr ""
@@ -145,7 +145,7 @@ msgstr ""
msgid "Select FileSet resource"
msgstr ""
-#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:1983
+#: src/dird/ua_select.c:220 src/dird/ua_cmds.c:2029
msgid "Could not find a Catalog resource\n"
msgstr ""
@@ -170,8 +170,8 @@ msgid "The defined Job resources are:\n"
msgstr ""
#: src/dird/ua_select.c:266 src/dird/ua_select.c:289 src/dird/ua_select.c:330
-#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:663 src/dird/ua_prune.c:593
-#: src/dird/ua_run.c:238
+#: src/dird/ua_select.c:1186 src/dird/dird_conf.c:670 src/dird/ua_prune.c:601
+#: src/dird/ua_run.c:225
msgid "Job"
msgstr ""
@@ -196,8 +196,8 @@ msgstr ""
msgid "The defined Client resources are:\n"
msgstr ""
-#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:728
-#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:243
+#: src/dird/ua_select.c:355 src/dird/ua_select.c:464 src/dird/ua_dotcmds.c:735
+#: src/dird/ua_cmds.c:996 src/dird/ua_run.c:230
#: src/wx-console/wxbrestorepanel.cpp:336
#: src/wx-console/wxbrestorepanel.cpp:354
#: src/wx-console/wxbrestorepanel.cpp:431
@@ -256,7 +256,7 @@ msgstr ""
msgid "Could not find Pool \"%s\": ERR=%s"
msgstr ""
-#: src/dird/ua_select.c:532 src/dird/ua_output.c:473 src/dird/ua_update.c:436
+#: src/dird/ua_select.c:532 src/dird/ua_output.c:476 src/dird/ua_update.c:436
#, c-format
msgid "Error obtaining pool ids. ERR=%s\n"
msgstr ""
@@ -270,12 +270,12 @@ msgid "Defined Pools:\n"
msgstr ""
#: src/dird/ua_select.c:542 src/dird/ua_select.c:562 src/dird/ua_update.c:365
-#: src/baconfig.h:80
+#: src/baconfig.h:88
msgid "*None*"
msgstr ""
#: src/dird/ua_select.c:553 src/dird/ua_select.c:666 src/dird/ua_update.c:616
-#: src/dird/ua_run.c:251 src/wx-console/wxbrestorepanel.cpp:338
+#: src/dird/ua_run.c:238 src/wx-console/wxbrestorepanel.cpp:338
#: src/wx-console/wxbrestorepanel.cpp:527
#: src/wx-console/wxbrestorepanel.cpp:537
#: src/wx-console/wxbrestorepanel.cpp:1834
@@ -418,7 +418,7 @@ msgstr ""
msgid "Unauthorized command from this console.\n"
msgstr ""
-#: src/dird/ua_select.c:1165 src/stored/status.c:473 src/filed/status.c:241
+#: src/dird/ua_select.c:1165 src/stored/status.c:538 src/filed/status.c:241
msgid "No Jobs running.\n"
msgstr ""
@@ -723,8 +723,8 @@ msgstr ""
msgid "Start Admin JobId %d, Job=%s\n"
msgstr ""
-#: src/dird/admin.c:90 src/dird/vbackup.c:303 src/dird/migrate.c:1225
-#: src/dird/backup.c:624
+#: src/dird/admin.c:90 src/dird/vbackup.c:306 src/dird/migrate.c:1227
+#: src/dird/backup.c:628
#, c-format
msgid "Error getting Job record for Job report: ERR=%s"
msgstr ""
@@ -741,8 +741,8 @@ msgstr ""
msgid "Admin Canceled"
msgstr ""
-#: src/dird/admin.c:110 src/dird/vbackup.c:353 src/dird/backup.c:680
-#: src/dird/restore.c:591
+#: src/dird/admin.c:110 src/dird/vbackup.c:356 src/dird/backup.c:684
+#: src/dird/restore.c:594
#, c-format
msgid "Inappropriate term code: %c\n"
msgstr ""
@@ -751,7 +751,7 @@ msgstr ""
msgid "Bacula "
msgstr ""
-#: src/dird/dird.c:125
+#: src/dird/dird.c:150
#, fuzzy, c-format
msgid ""
"\n"
@@ -783,66 +783,66 @@ msgstr ""
" -? print this message.\n"
"\n"
-#: src/dird/dird.c:271 src/stored/stored.c:227 src/console/console.c:1109
+#: src/dird/dird.c:296 src/stored/stored.c:227 src/console/console.c:1109
#: src/filed/filed.c:218 src/qt-console/main.cpp:165
msgid "Cryptography library initialization failed.\n"
msgstr "Ініціалізація криптографії невдала.\n"
-#: src/dird/dird.c:275 src/dird/dird.c:303 src/dird/dird.c:551
-#: src/dird/dird.c:554 src/stored/stored.c:231 src/console/console.c:1113
+#: src/dird/dird.c:300 src/dird/dird.c:328 src/dird/dird.c:560
+#: src/dird/dird.c:563 src/stored/stored.c:231 src/console/console.c:1113
#: src/filed/filed.c:223 src/qt-console/main.cpp:169
#, c-format
msgid "Please correct configuration file: %s\n"
msgstr "Будьласка виправте файл конфігурації: %s\n"
-#: src/dird/dird.c:537
+#: src/dird/dird.c:546
msgid "Too many open reload requests. Request ignored.\n"
msgstr ""
-#: src/dird/dird.c:552
+#: src/dird/dird.c:561
msgid "Out of reload table entries. Giving up.\n"
msgstr ""
-#: src/dird/dird.c:555
+#: src/dird/dird.c:564
msgid "Resetting previous configuration.\n"
msgstr ""
-#: src/dird/dird.c:619
+#: src/dird/dird.c:628
#, c-format
msgid ""
"No Director resource defined in %s\n"
"Without that I don't know who I am :-(\n"
msgstr ""
-#: src/dird/dird.c:627 src/filed/filed.c:350
+#: src/dird/dird.c:636 src/filed/filed.c:350
#, c-format
msgid "No Messages resource defined in %s\n"
msgstr ""
-#: src/dird/dird.c:632
+#: src/dird/dird.c:641
#, c-format
msgid "Only one Director resource permitted in %s\n"
msgstr ""
-#: src/dird/dird.c:641 src/dird/dird.c:847 src/dird/dird.c:902
-#: src/dird/dird.c:941 src/stored/stored.c:354 src/console/console.c:1296
+#: src/dird/dird.c:650 src/dird/dird.c:856 src/dird/dird.c:911
+#: src/dird/dird.c:950 src/stored/stored.c:354 src/console/console.c:1296
#: src/console/console.c:1326 src/filed/filed.c:357 src/filed/filed.c:516
#: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144
#: src/qt-console/main.cpp:224 src/qt-console/main.cpp:254
msgid "TLS required but not configured in Bacula.\n"
msgstr "TLS необхідний, але не налаштовано у Bacula.\n"
-#: src/dird/dird.c:649 src/stored/stored.c:410 src/filed/filed.c:526
+#: src/dird/dird.c:658 src/stored/stored.c:410 src/filed/filed.c:526
#, c-format
msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:655 src/stored/stored.c:416 src/filed/filed.c:532
+#: src/dird/dird.c:664 src/stored/stored.c:416 src/filed/filed.c:532
#, c-format
msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:662 src/stored/stored.c:422 src/filed/filed.c:538
+#: src/dird/dird.c:671 src/stored/stored.c:422 src/filed/filed.c:538
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -850,46 +850,46 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/dird.c:681 src/stored/stored.c:441 src/filed/filed.c:557
+#: src/dird/dird.c:690 src/stored/stored.c:441 src/filed/filed.c:557
#, c-format
msgid "Failed to initialize TLS context for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:689
+#: src/dird/dird.c:698
#, c-format
msgid "No Job records defined in %s\n"
msgstr ""
-#: src/dird/dird.c:747 src/dird/dird.c:760
+#: src/dird/dird.c:756 src/dird/dird.c:769
#, c-format
msgid "Hey something is wrong. p=0x%lu\n"
msgstr ""
-#: src/dird/dird.c:821
+#: src/dird/dird.c:830
#, c-format
msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
msgstr ""
-#: src/dird/dird.c:828
+#: src/dird/dird.c:837
msgid "Too many items in Job resource\n"
msgstr ""
-#: src/dird/dird.c:832
+#: src/dird/dird.c:841
#, c-format
msgid "No storage specified in Job \"%s\" nor in Pool.\n"
msgstr ""
-#: src/dird/dird.c:856
+#: src/dird/dird.c:865
#, c-format
msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:862
+#: src/dird/dird.c:871
#, c-format
msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:869
+#: src/dird/dird.c:878
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -897,51 +897,51 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/dird.c:886 src/dird/dird.c:926 src/filed/filed.c:382
+#: src/dird/dird.c:895 src/dird/dird.c:935 src/filed/filed.c:382
#, c-format
msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:909
+#: src/dird/dird.c:918
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
"File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:950
+#: src/dird/dird.c:959
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
"Storage \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:966 src/stored/stored.c:394
+#: src/dird/dird.c:975 src/stored/stored.c:394
#, c-format
msgid "Failed to initialize TLS context for Storage \"%s\" in %s.\n"
msgstr ""
-#: src/dird/dird.c:1005 src/dird/dird.c:1007
+#: src/dird/dird.c:1014 src/dird/dird.c:1016
#, c-format
msgid "Could not open Catalog \"%s\", database \"%s\".\n"
msgstr ""
-#: src/dird/dird.c:1010 src/tools/cats_test.c:377
+#: src/dird/dird.c:1019 src/tools/cats_test.c:377
#, c-format
msgid "%s"
msgstr ""
-#: src/dird/dird.c:1089
+#: src/dird/dird.c:1098
#, fuzzy, c-format
msgid "Could not create storage record for %s\n"
msgstr "Не вдалось відновити прапорці для файлу %s: ERR=%s\n"
-#: src/dird/dird.c:1097
+#: src/dird/dird.c:1106
#, fuzzy, c-format
msgid "Could not update storage record for %s\n"
msgstr "Не вдалось відновити прапорці для файлу %s: ERR=%s\n"
-#: src/dird/dird.c:1172 src/dird/migrate.c:1070 src/stored/stored.c:491
+#: src/dird/dird.c:1181 src/dird/migrate.c:1072 src/stored/stored.c:491
#, c-format
msgid "Could not compile regex pattern \"%s\" ERR=%s\n"
msgstr ""
@@ -960,18 +960,18 @@ msgstr ""
msgid "Old style Include/Exclude not supported\n"
msgstr ""
-#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2015
+#: src/dird/inc_conf.c:393 src/dird/inc_conf.c:739 src/dird/dird_conf.c:2022
#, c-format
msgid "Expecting keyword, got: %s\n"
msgstr ""
-#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2021
+#: src/dird/inc_conf.c:401 src/dird/inc_conf.c:745 src/dird/dird_conf.c:2028
#: src/lib/parse_conf.c:976
#, c-format
msgid "expected an equals, got: %s"
msgstr ""
-#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2032
+#: src/dird/inc_conf.c:411 src/dird/inc_conf.c:754 src/dird/dird_conf.c:2039
#, c-format
msgid "Keyword %s not permitted in this resource"
msgstr ""
@@ -1023,7 +1023,7 @@ msgstr ""
msgid "Options section not permitted in Exclude\n"
msgstr ""
-#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2001
+#: src/dird/inc_conf.c:724 src/dird/dird_conf.c:2008
#, c-format
msgid "Expecting open brace. Got %s"
msgstr ""
@@ -1212,13 +1212,13 @@ msgid ""
"There are no more Jobs associated with Volume \"%s\". Marking it purged.\n"
msgstr ""
-#: src/dird/ua_purge.c:556 src/dird/ua_label.c:769
+#: src/dird/ua_purge.c:556 src/dird/ua_label.c:774
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d ...\n"
msgstr ""
-#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:618 src/dird/ua_cmds.c:771
-#: src/dird/ua_cmds.c:1531 src/dird/ua_label.c:772 src/dird/job.c:448
+#: src/dird/ua_purge.c:559 src/dird/ua_dotcmds.c:625 src/dird/ua_cmds.c:771
+#: src/dird/ua_cmds.c:1577 src/dird/ua_label.c:777 src/dird/job.c:448
msgid "Failed to connect to Storage daemon.\n"
msgstr ""
@@ -1294,34 +1294,34 @@ msgstr ""
msgid "Could not get or create the FileSet record.\n"
msgstr ""
-#: src/dird/vbackup.c:310 src/dird/backup.c:631
+#: src/dird/vbackup.c:313 src/dird/backup.c:635
#, c-format
msgid "Error getting Client record for Job report: ERR=%s"
msgstr ""
-#: src/dird/vbackup.c:316 src/dird/migrate.c:1255 src/dird/backup.c:637
+#: src/dird/vbackup.c:319 src/dird/migrate.c:1257 src/dird/backup.c:641
#, c-format
msgid "Error getting Media record for Volume \"%s\": ERR=%s"
msgstr ""
-#: src/dird/vbackup.c:326 src/dird/backup.c:647 src/dird/backup.c:656
-#: src/stored/bscan.c:1210
+#: src/dird/vbackup.c:329 src/dird/backup.c:651 src/dird/backup.c:660
+#: src/stored/bscan.c:1214
msgid "Backup OK -- with warnings"
msgstr ""
-#: src/dird/vbackup.c:328 src/dird/backup.c:649 src/stored/bscan.c:1207
+#: src/dird/vbackup.c:331 src/dird/backup.c:653 src/stored/bscan.c:1211
msgid "Backup OK"
msgstr ""
-#: src/dird/vbackup.c:333 src/dird/backup.c:660 src/stored/bscan.c:1214
+#: src/dird/vbackup.c:336 src/dird/backup.c:664 src/stored/bscan.c:1218
msgid "*** Backup Error ***"
msgstr ""
-#: src/dird/vbackup.c:343 src/dird/backup.c:670 src/stored/bscan.c:1217
+#: src/dird/vbackup.c:346 src/dird/backup.c:674 src/stored/bscan.c:1221
msgid "Backup Canceled"
msgstr ""
-#: src/dird/vbackup.c:390
+#: src/dird/vbackup.c:393
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -1368,93 +1368,93 @@ msgstr ""
msgid "disabled"
msgstr ""
-#: src/dird/ua_output.c:208
+#: src/dird/ua_output.c:211
msgid "Keywords for the show command are:\n"
msgstr ""
-#: src/dird/ua_output.c:214
+#: src/dird/ua_output.c:217
#, c-format
msgid "%s resource %s not found.\n"
msgstr ""
-#: src/dird/ua_output.c:217
+#: src/dird/ua_output.c:220
#, c-format
msgid "Resource %s not found\n"
msgstr ""
-#: src/dird/ua_output.c:287
+#: src/dird/ua_output.c:290
msgid "Hey! DB is NULL\n"
msgstr ""
-#: src/dird/ua_output.c:444
+#: src/dird/ua_output.c:447
#, c-format
msgid "Jobid %d used %d Volume(s): %s\n"
msgstr ""
-#: src/dird/ua_output.c:462
+#: src/dird/ua_output.c:465
msgid "No Pool specified.\n"
msgstr ""
-#: src/dird/ua_output.c:483
+#: src/dird/ua_output.c:486
#, c-format
msgid "Pool: %s\n"
msgstr ""
-#: src/dird/ua_output.c:499
+#: src/dird/ua_output.c:502
msgid "Ignoring invalid value for days. Max is 50.\n"
msgstr ""
-#: src/dird/ua_output.c:521
+#: src/dird/ua_output.c:524
#, c-format
msgid "Unknown list keyword: %s\n"
msgstr ""
-#: src/dird/ua_output.c:546
+#: src/dird/ua_output.c:549
#, c-format
msgid "%s is not a job name.\n"
msgstr ""
-#: src/dird/ua_output.c:560
+#: src/dird/ua_output.c:563
#, c-format
msgid "Could not find Pool for Job %s\n"
msgstr ""
-#: src/dird/ua_output.c:573
+#: src/dird/ua_output.c:576
#, c-format
msgid "Could not find next Volume for Job %s (Pool=%s, Level=%s).\n"
msgstr ""
-#: src/dird/ua_output.c:577
+#: src/dird/ua_output.c:580
#, c-format
msgid ""
"The next Volume to be used by Job \"%s\" (Pool=%s, Level=%s) will be %s\n"
msgstr ""
-#: src/dird/ua_output.c:590
+#: src/dird/ua_output.c:593
#, c-format
msgid "Could not find next Volume for Job %s.\n"
msgstr ""
-#: src/dird/ua_output.c:717 src/dird/job.c:133 src/tools/cats_test.c:375
+#: src/dird/ua_output.c:720 src/dird/job.c:133 src/tools/cats_test.c:375
#, c-format
msgid "Could not open database \"%s\".\n"
msgstr ""
-#: src/dird/ua_output.c:730
+#: src/dird/ua_output.c:733
#, c-format
msgid "Pool %s not in database. %s"
msgstr ""
-#: src/dird/ua_output.c:738
+#: src/dird/ua_output.c:741
#, c-format
msgid "Pool %s created in database.\n"
msgstr ""
-#: src/dird/ua_output.c:791
+#: src/dird/ua_output.c:794
msgid "You have no messages.\n"
msgstr ""
-#: src/dird/ua_output.c:871
+#: src/dird/ua_output.c:874
msgid "Message too long to display.\n"
msgstr ""
@@ -1467,88 +1467,88 @@ msgstr ""
msgid ": is an invalid command.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:546 src/dird/ua_restore.c:780
+#: src/dird/ua_dotcmds.c:553 src/dird/ua_restore.c:780
#: src/dird/ua_restore.c:823
#, c-format
msgid "Unable to get Job record for JobId=%s: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:612 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1520
+#: src/dird/ua_dotcmds.c:619 src/dird/ua_cmds.c:765 src/dird/ua_cmds.c:1566
#: src/dird/ua_status.c:352 src/dird/job.c:147 src/dird/job.c:153
#: src/dird/job.c:1160 src/dird/job.c:1164
msgid "unknown source"
msgstr ""
-#: src/dird/ua_dotcmds.c:615 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
+#: src/dird/ua_dotcmds.c:622 src/dird/ua_cmds.c:768 src/dird/ua_status.c:355
#, c-format
msgid "Connecting to Storage daemon %s at %s:%d\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:621 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
+#: src/dird/ua_dotcmds.c:628 src/dird/ua_cmds.c:774 src/dird/ua_status.c:366
msgid "Connected to storage daemon\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:641 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1202
+#: src/dird/ua_dotcmds.c:648 src/dird/ua_cmds.c:803 src/dird/ua_cmds.c:1208
#: src/dird/ua_status.c:397
#, c-format
msgid "Connecting to Client %s at %s:%d\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:644 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1205
+#: src/dird/ua_dotcmds.c:651 src/dird/ua_cmds.c:806 src/dird/ua_cmds.c:1211
msgid "Failed to connect to Client.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:687 src/dird/ua_dotcmds.c:781
+#: src/dird/ua_dotcmds.c:694 src/dird/ua_dotcmds.c:788
#, c-format
msgid "Unknown command: %s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:725 src/dird/ua_cmds.c:993
+#: src/dird/ua_dotcmds.c:732 src/dird/ua_cmds.c:993
msgid "Available daemons are: \n"
msgstr ""
-#: src/dird/ua_dotcmds.c:726 src/dird/ua_cmds.c:994
+#: src/dird/ua_dotcmds.c:733 src/dird/ua_cmds.c:994
msgid "Director"
msgstr ""
-#: src/dird/ua_dotcmds.c:729
+#: src/dird/ua_dotcmds.c:736
msgid "Select daemon type to make die"
msgstr ""
-#: src/dird/ua_dotcmds.c:755
+#: src/dird/ua_dotcmds.c:762
msgid "The Director will generate a deadlock.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:759
+#: src/dird/ua_dotcmds.c:766
msgid "The Director will segment fault.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:948
+#: src/dird/ua_dotcmds.c:955
msgid "Access to specified Client or FileSet not allowed.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:953 src/dird/ua_dotcmds.c:997
+#: src/dird/ua_dotcmds.c:960 src/dird/ua_dotcmds.c:1004
#: src/dird/ua_restore.c:941 src/dird/ua_restore.c:969
#: src/dird/ua_restore.c:990
#, c-format
msgid "Query failed: %s. ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:992
+#: src/dird/ua_dotcmds.c:999
msgid "query keyword not found.\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1019
+#: src/dird/ua_dotcmds.c:1026
#, c-format
msgid "List MediaType failed: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1033
+#: src/dird/ua_dotcmds.c:1040
#, c-format
msgid "List Media failed: ERR=%s\n"
msgstr ""
-#: src/dird/ua_dotcmds.c:1047
+#: src/dird/ua_dotcmds.c:1054
#, fuzzy, c-format
msgid "List Location failed: ERR=%s\n"
msgstr "Невдале встановлення з'єднання TLS\n"
@@ -1862,11 +1862,11 @@ msgstr ""
msgid "Enter base volume name: "
msgstr ""
-#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:658
+#: src/dird/ua_cmds.c:354 src/dird/ua_label.c:663
msgid "Volume name too long.\n"
msgstr ""
-#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:664 src/lib/edit.c:501
+#: src/dird/ua_cmds.c:358 src/dird/ua_label.c:669 src/lib/edit.c:501
msgid "Volume name must be at least one character long.\n"
msgstr ""
@@ -1925,11 +1925,11 @@ msgstr ""
msgid "Python interpreter restarted.\n"
msgstr ""
-#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1331
+#: src/dird/ua_cmds.c:675 src/dird/ua_cmds.c:1337
msgid "Nothing done.\n"
msgstr ""
-#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1582
+#: src/dird/ua_cmds.c:699 src/dird/ua_cmds.c:1083 src/dird/ua_run.c:1588
#, c-format
msgid "Client \"%s\" not found.\n"
msgstr ""
@@ -1956,7 +1956,7 @@ msgstr ""
msgid "Select daemon type to set debug level"
msgstr ""
-#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1926
+#: src/dird/ua_cmds.c:1087 src/dird/ua_cmds.c:1972
#, c-format
msgid "No authorization for Client \"%s\"\n"
msgstr ""
@@ -1965,7 +1965,7 @@ msgstr ""
msgid "Client name missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1165 src/dird/ua_cmds.c:1948
+#: src/dird/ua_cmds.c:1104 src/dird/ua_cmds.c:1171 src/dird/ua_cmds.c:1994
#, c-format
msgid "No authorization for Job \"%s\"\n"
msgstr ""
@@ -1988,7 +1988,7 @@ msgstr ""
msgid "Fileset name missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:563
+#: src/dird/ua_cmds.c:1138 src/dird/ua_run.c:550
#, c-format
msgid "Level \"%s\" not valid.\n"
msgstr ""
@@ -1997,43 +1997,67 @@ msgstr ""
msgid "Level value missing.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1148
+#: src/dird/ua_cmds.c:1149
msgid "Invalid value for accurate. It must be yes or no.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1161
+#: src/dird/ua_cmds.c:1154
+msgid "Accurate value missing.\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1167
msgid "No job specified.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1221
+#: src/dird/ua_cmds.c:1227
msgid "Error sending include list.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1226
+#: src/dird/ua_cmds.c:1232
msgid "Error sending exclude list.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1317
+#: src/dird/ua_cmds.c:1323
msgid ""
"In general it is not a good idea to delete either a\n"
"Pool or a Volume since they may contain data.\n"
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1320
+#: src/dird/ua_cmds.c:1326
msgid "Choose catalog item to delete"
msgstr ""
-#: src/dird/ua_cmds.c:1384
+#: src/dird/ua_cmds.c:1376 src/dird/ua_cmds.c:1391 src/dird/ua_cmds.c:1401
+#, c-format
+msgid "Illegal JobId %s ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1404
msgid "Enter JobId to delete: "
msgstr ""
-#: src/dird/ua_cmds.c:1423
+#: src/dird/ua_cmds.c:1440
+#, c-format
+msgid "Are you sure you want to delete %d JobIds ? (yes/no): "
+msgstr ""
+
+#: src/dird/ua_cmds.c:1450
+#, c-format
+msgid "Illegal JobId range %s - %s should define increasing JobIds, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1454
+#, c-format
+msgid "Illegal JobId range %s - %s, ignored\n"
+msgstr ""
+
+#: src/dird/ua_cmds.c:1469
#, c-format
-msgid "Job %s and associated records deleted from the catalog.\n"
+msgid "Jobid %s and associated records deleted from the catalog.\n"
msgstr ""
-#: src/dird/ua_cmds.c:1438
+#: src/dird/ua_cmds.c:1484
#, c-format
msgid ""
"\n"
@@ -2041,44 +2065,44 @@ msgid ""
"and all Jobs saved on that volume from the Catalog\n"
msgstr ""
-#: src/dird/ua_cmds.c:1445
+#: src/dird/ua_cmds.c:1491
#, c-format
msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): "
msgstr ""
-#: src/dird/ua_cmds.c:1458
+#: src/dird/ua_cmds.c:1504
msgid "Can't list jobs on this volume\n"
msgstr ""
-#: src/dird/ua_cmds.c:1483
+#: src/dird/ua_cmds.c:1529
#, c-format
msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): "
msgstr ""
-#: src/dird/ua_cmds.c:1598
+#: src/dird/ua_cmds.c:1644
#, c-format
msgid "Using Catalog name=%s DB=%s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1666
+#: src/dird/ua_cmds.c:1712
msgid "ERR: Can't open db\n"
msgstr ""
-#: src/dird/ua_cmds.c:1713
+#: src/dird/ua_cmds.c:1759
msgid "Wait on mount timed out\n"
msgstr ""
-#: src/dird/ua_cmds.c:1723
+#: src/dird/ua_cmds.c:1769
msgid "ERR: Job was not found\n"
msgstr ""
-#: src/dird/ua_cmds.c:1799
+#: src/dird/ua_cmds.c:1845
msgid ""
" Command Description\n"
" ======= ===========\n"
msgstr ""
-#: src/dird/ua_cmds.c:1803
+#: src/dird/ua_cmds.c:1849
#, c-format
msgid ""
" %-13s %s\n"
@@ -2087,12 +2111,12 @@ msgid ""
"\t%s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1808
+#: src/dird/ua_cmds.c:1854
#, c-format
msgid " %-13s %s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1812
+#: src/dird/ua_cmds.c:1858
#, fuzzy, c-format
msgid ""
"\n"
@@ -2100,29 +2124,29 @@ msgid ""
"\n"
msgstr ": неправильна команда\n"
-#: src/dird/ua_cmds.c:1814
+#: src/dird/ua_cmds.c:1860
msgid ""
"\n"
"When at a prompt, entering a period cancels the command.\n"
"\n"
msgstr ""
-#: src/dird/ua_cmds.c:1850 src/filed/status.c:85
+#: src/dird/ua_cmds.c:1896 src/filed/status.c:85
#, c-format
msgid "%s Version: %s (%s) %s %s %s %s\n"
msgstr ""
-#: src/dird/ua_cmds.c:1909 src/dird/ua_cmds.c:1936 src/dird/ua_cmds.c:1958
+#: src/dird/ua_cmds.c:1955 src/dird/ua_cmds.c:1982 src/dird/ua_cmds.c:2004
#, c-format
msgid "No authorization for Catalog \"%s\"\n"
msgstr ""
-#: src/dird/ua_cmds.c:2003
+#: src/dird/ua_cmds.c:2049
#, c-format
msgid "Could not open catalog database \"%s\".\n"
msgstr ""
-#: src/dird/ua_cmds.c:2013
+#: src/dird/ua_cmds.c:2059
#, c-format
msgid "Using Catalog \"%s\"\n"
msgstr ""
@@ -2320,57 +2344,57 @@ msgstr ""
msgid "%d directories unmarked.\n"
msgstr ""
-#: src/dird/dird_conf.c:560 src/tray-monitor/tray_conf.c:168
+#: src/dird/dird_conf.c:567 src/tray-monitor/tray_conf.c:168
#: src/qt-console/tray-monitor/tray_conf.cpp:168
#, c-format
msgid "No %s resource defined\n"
msgstr "Ресурс %s не визначено\n"
-#: src/dird/dird_conf.c:569
+#: src/dird/dird_conf.c:576
#, c-format
msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:574
+#: src/dird/dird_conf.c:581
#, c-format
msgid " query_file=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:577 src/dird/dird_conf.c:597 src/dird/dird_conf.c:614
-#: src/dird/dird_conf.c:682 src/dird/dird_conf.c:686 src/dird/dird_conf.c:690
-#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:746 src/dird/dird_conf.c:750
-#: src/dird/dird_conf.c:754 src/dird/dird_conf.c:758 src/dird/dird_conf.c:762
-#: src/dird/dird_conf.c:775 src/dird/dird_conf.c:1011
-#: src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:584 src/dird/dird_conf.c:604 src/dird/dird_conf.c:621
+#: src/dird/dird_conf.c:689 src/dird/dird_conf.c:693 src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:730 src/dird/dird_conf.c:753 src/dird/dird_conf.c:757
+#: src/dird/dird_conf.c:761 src/dird/dird_conf.c:765 src/dird/dird_conf.c:769
+#: src/dird/dird_conf.c:782 src/dird/dird_conf.c:1018
+#: src/dird/dird_conf.c:1025
msgid " --> "
msgstr ""
-#: src/dird/dird_conf.c:582
+#: src/dird/dird_conf.c:589
#, c-format
msgid "Console: name=%s SSL=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:587
+#: src/dird/dird_conf.c:594
#, c-format
msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:592
+#: src/dird/dird_conf.c:599
#, c-format
msgid "Counter: name=%s min=%d max=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:606
+#: src/dird/dird_conf.c:613
#, c-format
msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:609
+#: src/dird/dird_conf.c:616
#, c-format
msgid " JobRetention=%s FileRetention=%s AutoPrune=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:622
+#: src/dird/dird_conf.c:629
#, c-format
msgid ""
"Device: name=%s ok=%d num_writers=%d max_writers=%d\n"
@@ -2379,286 +2403,286 @@ msgid ""
" poolid=%s volname=%s MediaType=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:636
+#: src/dird/dird_conf.c:643
#, c-format
msgid ""
"Storage: name=%s address=%s SDport=%d MaxJobs=%u\n"
" DeviceName=%s MediaType=%s StorageId=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:649
+#: src/dird/dird_conf.c:656
#, c-format
msgid ""
"Catalog: name=%s address=%s DBport=%d db_name=%s\n"
" db_driver=%s db_user=%s MutliDBConn=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:662
+#: src/dird/dird_conf.c:669
#, c-format
msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:663
+#: src/dird/dird_conf.c:670
msgid "JobDefs"
msgstr ""
-#: src/dird/dird_conf.c:667
+#: src/dird/dird_conf.c:674
#, c-format
msgid ""
" MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob="
"%d\n"
msgstr ""
-#: src/dird/dird_conf.c:673
+#: src/dird/dird_conf.c:680
#, c-format
msgid " SpoolSize=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:676
+#: src/dird/dird_conf.c:683
#, c-format
msgid " Accurate=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:679
+#: src/dird/dird_conf.c:686
#, c-format
msgid " SelectionType=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:694
+#: src/dird/dird_conf.c:701
#, c-format
msgid " --> Where=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:697
+#: src/dird/dird_conf.c:704
#, c-format
msgid " --> RegexWhere=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:700
+#: src/dird/dird_conf.c:707
#, c-format
msgid " --> Bootstrap=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:703
+#: src/dird/dird_conf.c:710
#, c-format
msgid " --> WriteBootstrap=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:706
+#: src/dird/dird_conf.c:713
#, c-format
msgid " --> PluginOptions=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:709
+#: src/dird/dird_conf.c:716
#, c-format
msgid " --> MaxRunTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:712
+#: src/dird/dird_conf.c:719
#, c-format
msgid " --> MaxWaitTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:715
+#: src/dird/dird_conf.c:722
#, c-format
msgid " --> MaxStartDelay=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:718
+#: src/dird/dird_conf.c:725
#, c-format
msgid " --> MaxRunSchedTime=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:730
+#: src/dird/dird_conf.c:737
#, c-format
msgid " --> Base %s\n"
msgstr ""
-#: src/dird/dird_conf.c:736 src/lib/runscript.c:297
+#: src/dird/dird_conf.c:743 src/lib/runscript.c:297
msgid " --> RunScript\n"
msgstr ""
-#: src/dird/dird_conf.c:737 src/lib/runscript.c:298
+#: src/dird/dird_conf.c:744 src/lib/runscript.c:298
#, c-format
msgid " --> Command=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:738 src/lib/runscript.c:299
+#: src/dird/dird_conf.c:745 src/lib/runscript.c:299
#, c-format
msgid " --> Target=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:739 src/lib/runscript.c:300
+#: src/dird/dird_conf.c:746 src/lib/runscript.c:300
#, c-format
msgid " --> RunOnSuccess=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:740 src/lib/runscript.c:301
+#: src/dird/dird_conf.c:747 src/lib/runscript.c:301
#, c-format
msgid " --> RunOnFailure=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:741 src/lib/runscript.c:302
+#: src/dird/dird_conf.c:748 src/lib/runscript.c:302
#, c-format
msgid " --> FailJobOnError=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:742 src/lib/runscript.c:303
+#: src/dird/dird_conf.c:749 src/lib/runscript.c:303
#, c-format
msgid " --> RunWhen=%u\n"
msgstr ""
-#: src/dird/dird_conf.c:768
+#: src/dird/dird_conf.c:775
#, c-format
msgid " --> Run=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:772
+#: src/dird/dird_conf.c:779
#, c-format
msgid " --> SelectionPattern=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:786
+#: src/dird/dird_conf.c:793
#, c-format
msgid "FileSet: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:880 src/dird/dird_conf.c:959
+#: src/dird/dird_conf.c:887 src/dird/dird_conf.c:966
#, c-format
msgid "Schedule: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:885
+#: src/dird/dird_conf.c:892
#, c-format
msgid " --> Run Level=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:886
+#: src/dird/dird_conf.c:893
msgid " hour="
msgstr ""
-#: src/dird/dird_conf.c:895
+#: src/dird/dird_conf.c:902
msgid " mday="
msgstr ""
-#: src/dird/dird_conf.c:904
+#: src/dird/dird_conf.c:911
msgid " month="
msgstr ""
-#: src/dird/dird_conf.c:913
+#: src/dird/dird_conf.c:920
msgid " wday="
msgstr ""
-#: src/dird/dird_conf.c:922
+#: src/dird/dird_conf.c:929
msgid " wom="
msgstr ""
-#: src/dird/dird_conf.c:931
+#: src/dird/dird_conf.c:938
msgid " woy="
msgstr ""
-#: src/dird/dird_conf.c:940
+#: src/dird/dird_conf.c:947
#, c-format
msgid " mins=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:942 src/dird/dird_conf.c:946 src/dird/dird_conf.c:950
+#: src/dird/dird_conf.c:949 src/dird/dird_conf.c:953 src/dird/dird_conf.c:957
msgid " --> "
msgstr ""
-#: src/dird/dird_conf.c:967
+#: src/dird/dird_conf.c:974
#, c-format
msgid "Pool: name=%s PoolType=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:969
+#: src/dird/dird_conf.c:976
#, c-format
msgid " use_cat=%d use_once=%d cat_files=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:972
+#: src/dird/dird_conf.c:979
#, c-format
msgid " max_vols=%d auto_prune=%d VolRetention=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:975
+#: src/dird/dird_conf.c:982
#, c-format
msgid " VolUse=%s recycle=%d LabelFormat=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:979
+#: src/dird/dird_conf.c:986
#, c-format
msgid " CleaningPrefix=%s LabelType=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:981
+#: src/dird/dird_conf.c:988
#, c-format
msgid " RecyleOldest=%d PurgeOldest=%d ActionOnPurge=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:985
+#: src/dird/dird_conf.c:992
#, c-format
msgid " MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:989
+#: src/dird/dird_conf.c:996
#, c-format
msgid " MigTime=%s MigHiBytes=%s MigLoBytes=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:993
+#: src/dird/dird_conf.c:1000
#, c-format
msgid " JobRetention=%s FileRetention=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:997
+#: src/dird/dird_conf.c:1004
#, c-format
msgid " NextPool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1000
+#: src/dird/dird_conf.c:1007
#, c-format
msgid " RecyclePool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1003
+#: src/dird/dird_conf.c:1010
#, c-format
msgid " ScratchPool=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1006
+#: src/dird/dird_conf.c:1013
#, c-format
msgid " Catalog=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1026
+#: src/dird/dird_conf.c:1033
#, c-format
msgid "Messages: name=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1028
+#: src/dird/dird_conf.c:1035
#, c-format
msgid " mailcmd=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1030
+#: src/dird/dird_conf.c:1037
#, c-format
msgid " opcmd=%s\n"
msgstr ""
-#: src/dird/dird_conf.c:1034 src/tray-monitor/tray_conf.c:199
+#: src/dird/dird_conf.c:1041 src/tray-monitor/tray_conf.c:199
#: src/qt-console/tray-monitor/tray_conf.cpp:199
#, c-format
msgid "Unknown resource type %d in dump_resource.\n"
msgstr "Невідомий тип ресурсу %d у dump_resource.\n"
-#: src/dird/dird_conf.c:1365 src/tray-monitor/tray_conf.c:257
+#: src/dird/dird_conf.c:1372 src/tray-monitor/tray_conf.c:257
#: src/qt-console/tray-monitor/tray_conf.cpp:257
#, c-format
msgid "Unknown resource type %d in free_resource.\n"
msgstr "Невідомий тип ресурсу %d у free_resource.\n"
-#: src/dird/dird_conf.c:1397 src/dird/dird_conf.c:1412
+#: src/dird/dird_conf.c:1404 src/dird/dird_conf.c:1419
#: src/tray-monitor/tray_conf.c:288 src/wx-console/console_conf.c:265
#: src/console/console_conf.c:259 src/filed/filed_conf.c:361
#: src/qt-console/tray-monitor/tray_conf.cpp:288
@@ -2667,54 +2691,54 @@ msgstr "Невідомий тип ресурсу %d у free_resource.\n"
msgid "%s item is required in %s resource, but not found.\n"
msgstr "Не знайдено необхідний елемент %s для ресурсу %s.\n"
-#: src/dird/dird_conf.c:1403 src/tray-monitor/tray_conf.c:294
+#: src/dird/dird_conf.c:1410 src/tray-monitor/tray_conf.c:294
#: src/lib/parse_conf.c:225 src/qt-console/tray-monitor/tray_conf.cpp:294
#, c-format
msgid "Too many items in %s resource\n"
msgstr "Забагато елементів у ресурсі %s\n"
-#: src/dird/dird_conf.c:1443
+#: src/dird/dird_conf.c:1450
#, c-format
msgid "Cannot find Pool resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1454
+#: src/dird/dird_conf.c:1461
#, c-format
msgid "Cannot find Console resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1460 src/stored/stored_conf.c:611
+#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:611
#: src/filed/filed_conf.c:381
#, c-format
msgid "Cannot find Director resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1467 src/stored/stored_conf.c:617
+#: src/dird/dird_conf.c:1474 src/stored/stored_conf.c:617
#, c-format
msgid "Cannot find Storage resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1476
+#: src/dird/dird_conf.c:1483
#, c-format
msgid "Cannot find Job resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1526
+#: src/dird/dird_conf.c:1533
#, c-format
msgid "Cannot find Counter resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1534 src/filed/filed_conf.c:387
+#: src/dird/dird_conf.c:1541 src/filed/filed_conf.c:387
#, c-format
msgid "Cannot find Client resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1547
+#: src/dird/dird_conf.c:1554
#, c-format
msgid "Cannot find Schedule resource %s\n"
msgstr ""
-#: src/dird/dird_conf.c:1552 src/dird/dird_conf.c:1612
+#: src/dird/dird_conf.c:1559 src/dird/dird_conf.c:1619
#: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352
#: src/qt-console/tray-monitor/tray_conf.cpp:314
#: src/qt-console/tray-monitor/tray_conf.cpp:352
@@ -2722,12 +2746,12 @@ msgstr ""
msgid "Unknown resource type %d in save_resource.\n"
msgstr "Невідомий тип ресурсу %d у save_resource.\n"
-#: src/dird/dird_conf.c:1627
+#: src/dird/dird_conf.c:1634
#, c-format
msgid "Name item is required in %s resource, but not found.\n"
msgstr ""
-#: src/dird/dird_conf.c:1635 src/tray-monitor/tray_conf.c:372
+#: src/dird/dird_conf.c:1642 src/tray-monitor/tray_conf.c:372
#: src/wx-console/console_conf.c:328 src/console/console_conf.c:322
#: src/filed/filed_conf.c:446 src/qt-console/tray-monitor/tray_conf.cpp:372
#: src/qt-console/bat_conf.cpp:334
@@ -2735,43 +2759,43 @@ msgstr ""
msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n"
msgstr "Спроба визначити другий %s ресурс із назвою \"%s\" не дозволяється.\n"
-#: src/dird/dird_conf.c:1640
+#: src/dird/dird_conf.c:1647
#, c-format
msgid "Inserting %s res: %s index=%d pass=%d\n"
msgstr ""
-#: src/dird/dird_conf.c:1653
+#: src/dird/dird_conf.c:1660
#, c-format
msgid "Expected one of: %s, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1725
+#: src/dird/dird_conf.c:1732
#, c-format
msgid "Expected a Migration Job Type keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1751
+#: src/dird/dird_conf.c:1758
#, c-format
msgid "Expected a Job Type keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1775
+#: src/dird/dird_conf.c:1782
#, c-format
msgid "Expected a Job Level keyword, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1795
+#: src/dird/dird_conf.c:1802
#, c-format
msgid "Expected a Restore replacement option, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1845 src/dird/dird_conf.c:1961
+#: src/dird/dird_conf.c:1852 src/dird/dird_conf.c:1968
#: src/lib/parse_conf.c:761 src/lib/parse_conf.c:777 src/lib/ini.c:593
#, c-format
msgid "Expect %s, got: %s"
msgstr ""
-#: src/dird/dird_conf.c:1867 src/lib/parse_conf.c:478
+#: src/dird/dird_conf.c:1874 src/lib/parse_conf.c:478
#, c-format
msgid "Could not find config Resource %s referenced on line %d : %s\n"
msgstr ""
@@ -2899,7 +2923,7 @@ msgstr ""
msgid "Select full restore to a specified Job date"
msgstr ""
-#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:546
+#: src/dird/ua_restore.c:446 src/dird/ua_status.c:862 src/stored/status.c:611
#: src/filed/status.c:373 src/wx-console/wxbconfigpanel.cpp:220
msgid "Cancel"
msgstr ""
@@ -3302,179 +3326,179 @@ msgstr ""
msgid "Slot too large.\n"
msgstr ""
-#: src/dird/ua_label.c:187 src/dird/ua_label.c:364 src/dird/ua_label.c:1223
-#: src/dird/ua_run.c:1557
+#: src/dird/ua_label.c:189 src/dird/ua_label.c:366 src/dird/ua_label.c:1228
+#: src/dird/ua_run.c:1563
msgid "command line"
msgstr ""
-#: src/dird/ua_label.c:205 src/dird/ua_label.c:526 src/dird/ua_label.c:1230
+#: src/dird/ua_label.c:207 src/dird/ua_label.c:531 src/dird/ua_label.c:1235
msgid "No slots in changer to scan.\n"
msgstr ""
-#: src/dird/ua_label.c:217 src/dird/ua_label.c:537
+#: src/dird/ua_label.c:219 src/dird/ua_label.c:542
msgid "No Volumes found to label, or no barcodes.\n"
msgstr ""
-#: src/dird/ua_label.c:227 src/dird/ua_label.c:1251
+#: src/dird/ua_label.c:229 src/dird/ua_label.c:1256
#, c-format
msgid "Slot %d greater than max %d ignored.\n"
msgstr ""
-#: src/dird/ua_label.c:265
+#: src/dird/ua_label.c:267
#, c-format
msgid "No VolName for Slot=%d InChanger set to zero.\n"
msgstr ""
-#: src/dird/ua_label.c:286
+#: src/dird/ua_label.c:288
#, c-format
msgid "Catalog record for Volume \"%s\" updated to reference slot %d.\n"
msgstr ""
-#: src/dird/ua_label.c:290
+#: src/dird/ua_label.c:292
#, c-format
msgid "Catalog record for Volume \"%s\" is up to date.\n"
msgstr ""
-#: src/dird/ua_label.c:296
+#: src/dird/ua_label.c:298
#, c-format
msgid "Volume \"%s\" not found in catalog. Slot=%d InChanger set to zero.\n"
msgstr ""
-#: src/dird/ua_label.c:392
+#: src/dird/ua_label.c:394
#, c-format
msgid ""
"Volume \"%s\" has VolStatus %s. It must be Purged or Recycled before "
"relabeling.\n"
msgstr ""
-#: src/dird/ua_label.c:408
+#: src/dird/ua_label.c:410
msgid "Enter new Volume name: "
msgstr ""
-#: src/dird/ua_label.c:420
+#: src/dird/ua_label.c:425
#, c-format
msgid "Media record for new Volume \"%s\" already exists.\n"
msgstr ""
-#: src/dird/ua_label.c:438
+#: src/dird/ua_label.c:443
msgid "Enter slot (0 or Enter for none): "
msgstr ""
-#: src/dird/ua_label.c:466
+#: src/dird/ua_label.c:471
#, c-format
msgid "Delete of Volume \"%s\" failed. ERR=%s"
msgstr ""
-#: src/dird/ua_label.c:469
+#: src/dird/ua_label.c:474
#, c-format
msgid "Old volume \"%s\" deleted from catalog.\n"
msgstr ""
-#: src/dird/ua_label.c:480
+#: src/dird/ua_label.c:485
#, c-format
msgid "Requesting to mount %s ...\n"
msgstr ""
-#: src/dird/ua_label.c:502
+#: src/dird/ua_label.c:507
msgid "Do not forget to mount the drive!!!\n"
msgstr ""
-#: src/dird/ua_label.c:542
+#: src/dird/ua_label.c:547
msgid ""
"The following Volumes will be labeled:\n"
"Slot Volume\n"
"==============\n"
msgstr ""
-#: src/dird/ua_label.c:551
+#: src/dird/ua_label.c:556
msgid "Do you want to label these Volumes? (yes|no): "
msgstr ""
-#: src/dird/ua_label.c:571
+#: src/dird/ua_label.c:576
#, c-format
msgid "Media record for Slot %d Volume \"%s\" already exists.\n"
msgstr ""
-#: src/dird/ua_label.c:577
+#: src/dird/ua_label.c:582
#, c-format
msgid "Error setting InChanger: ERR=%s"
msgstr ""
-#: src/dird/ua_label.c:600
+#: src/dird/ua_label.c:605
#, c-format
msgid "Maximum pool Volumes=%d reached.\n"
msgstr ""
-#: src/dird/ua_label.c:608
+#: src/dird/ua_label.c:613
#, c-format
msgid "Catalog record for cleaning tape \"%s\" successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:615
+#: src/dird/ua_label.c:620
#, c-format
msgid "Catalog error on cleaning tape: %s"
msgstr ""
-#: src/dird/ua_label.c:651
+#: src/dird/ua_label.c:656
#, c-format
msgid "Illegal character \"%c\" in a volume name.\n"
msgstr ""
-#: src/dird/ua_label.c:698
+#: src/dird/ua_label.c:703
#, c-format
msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
msgstr ""
-#: src/dird/ua_label.c:705
+#: src/dird/ua_label.c:710
#, c-format
msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
msgstr ""
-#: src/dird/ua_label.c:746
+#: src/dird/ua_label.c:751
#, c-format
msgid "Catalog record for Volume \"%s\", Slot %d successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:764
#, c-format
msgid "Label command failed for Volume %s.\n"
msgstr ""
-#: src/dird/ua_label.c:797
+#: src/dird/ua_label.c:802
msgid "Could not open SD socket.\n"
msgstr ""
-#: src/dird/ua_label.c:869 src/dird/ua_label.c:879
+#: src/dird/ua_label.c:874 src/dird/ua_label.c:884
#, c-format
msgid "Invalid Slot number: %s\n"
msgstr ""
-#: src/dird/ua_label.c:888
+#: src/dird/ua_label.c:893
#, c-format
msgid "Invalid Volume name: %s\n"
msgstr ""
-#: src/dird/ua_label.c:982
+#: src/dird/ua_label.c:987
#, c-format
msgid "Device \"%s\" has %d slots.\n"
msgstr ""
-#: src/dird/ua_label.c:1028
+#: src/dird/ua_label.c:1033
#, c-format
msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
msgstr ""
-#: src/dird/ua_label.c:1242
+#: src/dird/ua_label.c:1247
msgid "No Volumes found, or no barcodes.\n"
msgstr ""
-#: src/dird/ua_label.c:1245
+#: src/dird/ua_label.c:1250
msgid ""
" Slot | Volume Name | Status | Media Type | "
"Pool |\n"
msgstr ""
-#: src/dird/ua_label.c:1246
+#: src/dird/ua_label.c:1251
msgid ""
"------+------------------+-----------+----------------------"
"+--------------------|\n"
@@ -3695,15 +3719,15 @@ msgid "New Recycle flag is: %s\n"
msgstr ""
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/ua_run.c:180 src/dird/backup.c:784 src/dird/backup.c:785
-#: src/dird/backup.c:786 src/dird/ua_input.c:131 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:180 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:131 src/stored/parse_bsr.c:863
#: src/tools/dbcheck.c:1352
msgid "yes"
msgstr ""
#: src/dird/ua_update.c:257 src/dird/ua_update.c:277 src/dird/ua_update.c:699
-#: src/dird/backup.c:784 src/dird/backup.c:785 src/dird/backup.c:786
-#: src/dird/ua_input.c:135 src/stored/parse_bsr.c:864
+#: src/dird/ua_run.c:200 src/dird/backup.c:788 src/dird/backup.c:789
+#: src/dird/backup.c:790 src/dird/ua_input.c:135 src/stored/parse_bsr.c:863
msgid "no"
msgstr ""
@@ -3782,7 +3806,7 @@ msgstr ""
msgid "New ActionOnPurge is: %s\n"
msgstr ""
-#: src/dird/ua_update.c:605 src/dird/ua_run.c:235
+#: src/dird/ua_update.c:605 src/dird/ua_run.c:222
msgid "Parameters to modify:\n"
msgstr ""
@@ -3854,7 +3878,7 @@ msgstr ""
msgid "Done"
msgstr ""
-#: src/dird/ua_update.c:624 src/dird/ua_run.c:265 src/dird/ua_run.c:594
+#: src/dird/ua_update.c:624 src/dird/ua_run.c:252 src/dird/ua_run.c:600
msgid "Select parameter to modify"
msgstr ""
@@ -4083,7 +4107,7 @@ msgstr ""
msgid "Pool resource \"%s\" not found.\n"
msgstr ""
-#: src/dird/migrate.c:316 src/dird/migrate.c:896
+#: src/dird/migrate.c:316 src/dird/migrate.c:898
#, c-format
msgid "Could not get job record for JobId %s to %s. ERR=%s"
msgstr ""
@@ -4098,140 +4122,140 @@ msgstr ""
msgid "Start %s JobId %s, Job=%s\n"
msgstr ""
-#: src/dird/migrate.c:710
+#: src/dird/migrate.c:712
#, c-format
msgid "No %s SQL selection pattern specified.\n"
msgstr ""
-#: src/dird/migrate.c:717 src/dird/migrate.c:736 src/dird/migrate.c:757
-#: src/dird/migrate.c:793 src/dird/migrate.c:820 src/dird/migrate.c:954
-#: src/dird/migrate.c:987 src/dird/migrate.c:1116
+#: src/dird/migrate.c:719 src/dird/migrate.c:738 src/dird/migrate.c:759
+#: src/dird/migrate.c:795 src/dird/migrate.c:822 src/dird/migrate.c:956
+#: src/dird/migrate.c:989 src/dird/migrate.c:1118
#, c-format
msgid "SQL failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:740 src/dird/migrate.c:747 src/dird/migrate.c:761
-#: src/dird/migrate.c:824
+#: src/dird/migrate.c:742 src/dird/migrate.c:749 src/dird/migrate.c:763
+#: src/dird/migrate.c:826
#, c-format
msgid "No Volumes found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:775 src/dird/migrate.c:864 src/dird/migrate.c:884
+#: src/dird/migrate.c:777 src/dird/migrate.c:866 src/dird/migrate.c:886
msgid "Invalid JobId found.\n"
msgstr ""
-#: src/dird/migrate.c:835
+#: src/dird/migrate.c:837
#, c-format
msgid "Unknown %s Selection Type.\n"
msgstr ""
-#: src/dird/migrate.c:846 src/dird/migrate.c:867 src/dird/migrate.c:887
+#: src/dird/migrate.c:848 src/dird/migrate.c:869 src/dird/migrate.c:889
#, c-format
msgid "No JobIds found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:850
+#: src/dird/migrate.c:852
#, c-format
msgid "The following %u JobId%s chosen to be %s: %s\n"
msgstr ""
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid " was"
msgstr ""
-#: src/dird/migrate.c:851
+#: src/dird/migrate.c:853
msgid "s were"
msgstr ""
-#: src/dird/migrate.c:903
+#: src/dird/migrate.c:905
#, c-format
msgid "%s using JobId=%s Job=%s\n"
msgstr ""
-#: src/dird/migrate.c:937
+#: src/dird/migrate.c:939
msgid "Could not start migration job.\n"
msgstr ""
-#: src/dird/migrate.c:939
+#: src/dird/migrate.c:941
#, c-format
msgid "%s JobId %d started.\n"
msgstr ""
-#: src/dird/migrate.c:958
+#: src/dird/migrate.c:960
#, c-format
msgid "No %s found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:962
+#: src/dird/migrate.c:964
#, c-format
msgid "SQL error. Expected 1 MediaId got %d\n"
msgstr ""
-#: src/dird/migrate.c:991 src/dird/migrate.c:1121
+#: src/dird/migrate.c:993 src/dird/migrate.c:1123
#, c-format
msgid "No %ss found to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1013
+#: src/dird/migrate.c:1015
msgid "Selection Type 'pooluncopiedjobs' only applies to Copy Jobs"
msgstr ""
-#: src/dird/migrate.c:1022
+#: src/dird/migrate.c:1024
#, c-format
msgid "SQL to get uncopied jobs failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:1045
+#: src/dird/migrate.c:1047
#, c-format
msgid "No %s %s selection pattern specified.\n"
msgstr ""
-#: src/dird/migrate.c:1056
+#: src/dird/migrate.c:1058
#, c-format
msgid "SQL to get %s failed. ERR=%s\n"
msgstr ""
-#: src/dird/migrate.c:1061
+#: src/dird/migrate.c:1063
#, c-format
msgid "Query of Pool \"%s\" returned no Jobs to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1099
+#: src/dird/migrate.c:1101
#, c-format
msgid "Regex pattern matched no Jobs to %s.\n"
msgstr ""
-#: src/dird/migrate.c:1263
+#: src/dird/migrate.c:1265
#, c-format
msgid "%s OK -- with warnings"
msgstr ""
-#: src/dird/migrate.c:1265
+#: src/dird/migrate.c:1267
#, c-format
msgid "%s OK"
msgstr ""
-#: src/dird/migrate.c:1270
+#: src/dird/migrate.c:1272
#, c-format
msgid "*** %s Error ***"
msgstr ""
-#: src/dird/migrate.c:1280
+#: src/dird/migrate.c:1282
#, c-format
msgid "%s Canceled"
msgstr ""
-#: src/dird/migrate.c:1289
+#: src/dird/migrate.c:1291
#, c-format
msgid "Inappropriate %s term code"
msgstr ""
-#: src/dird/migrate.c:1299
+#: src/dird/migrate.c:1301
#, c-format
msgid "%s -- no files to %s"
msgstr ""
-#: src/dird/migrate.c:1314
+#: src/dird/migrate.c:1316
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -4266,17 +4290,17 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/migrate.c:1425
+#: src/dird/migrate.c:1427
#, c-format
msgid "No Next Pool specification found in Pool \"%s\".\n"
msgstr ""
-#: src/dird/migrate.c:1431
+#: src/dird/migrate.c:1433
#, c-format
msgid "No Storage specification found in Next Pool \"%s\".\n"
msgstr ""
-#: src/dird/migrate.c:1437
+#: src/dird/migrate.c:1439
msgid "Storage from Pool's NextPool resource"
msgstr ""
@@ -4284,44 +4308,44 @@ msgstr ""
msgid "Choose item to prune"
msgstr ""
-#: src/dird/ua_prune.c:171
+#: src/dird/ua_prune.c:175
#, c-format
msgid "Cannot prune Volume \"%s\" because it is archived.\n"
msgstr ""
-#: src/dird/ua_prune.c:213
+#: src/dird/ua_prune.c:217
msgid "Pruned Jobs from JobHisto catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:301
+#: src/dird/ua_prune.c:305
#, fuzzy
msgid "Begin pruning Files.\n"
msgstr "Починається чистка файлів Клієнта \"%s\"\n"
-#: src/dird/ua_prune.c:316
+#: src/dird/ua_prune.c:320
msgid "No Files found to prune.\n"
msgstr ""
-#: src/dird/ua_prune.c:339
+#: src/dird/ua_prune.c:343
#, c-format
msgid "Pruned Files from %s Jobs for client %s from catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:481
+#: src/dird/ua_prune.c:489
#, fuzzy, c-format
msgid "Begin pruning Jobs older than %s.\n"
msgstr "Починається чистка файлів Клієнта \"%s\"\n"
-#: src/dird/ua_prune.c:592
+#: src/dird/ua_prune.c:600
#, c-format
msgid "Pruned %d %s for client %s from catalog.\n"
msgstr ""
-#: src/dird/ua_prune.c:593
+#: src/dird/ua_prune.c:601
msgid "Jobs"
msgstr ""
-#: src/dird/ua_prune.c:595
+#: src/dird/ua_prune.c:603
msgid "No Jobs found to prune.\n"
msgstr ""
@@ -4344,50 +4368,58 @@ msgstr ""
msgid "Job queued. JobId=%s\n"
msgstr ""
-#: src/dird/ua_run.c:202
+#: src/dird/ua_run.c:203
+#, c-format
+msgid ""
+"\n"
+"Bad response: %s. You must answer yes, mod, or no.\n"
+"\n"
+msgstr ""
+
+#: src/dird/ua_run.c:207
msgid "Job not run.\n"
msgstr ""
-#: src/dird/ua_run.c:236
+#: src/dird/ua_run.c:223
msgid "Level"
msgstr ""
-#: src/dird/ua_run.c:241
+#: src/dird/ua_run.c:228
msgid "Restore Client"
msgstr ""
-#: src/dird/ua_run.c:245 src/wx-console/wxbrestorepanel.cpp:356
+#: src/dird/ua_run.c:232 src/wx-console/wxbrestorepanel.cpp:356
#: src/wx-console/wxbrestorepanel.cpp:854
#: src/wx-console/wxbrestorepanel.cpp:1918
msgid "When"
msgstr ""
-#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:357
+#: src/dird/ua_run.c:233 src/wx-console/wxbrestorepanel.cpp:357
#: src/wx-console/wxbrestorepanel.cpp:1128
#: src/wx-console/wxbrestorepanel.cpp:1921
msgid "Priority"
msgstr ""
-#: src/dird/ua_run.c:253
+#: src/dird/ua_run.c:240
msgid "Verify Job"
msgstr ""
-#: src/dird/ua_run.c:256 src/wx-console/wxbrestorepanel.cpp:349
+#: src/dird/ua_run.c:243 src/wx-console/wxbrestorepanel.cpp:349
#: src/wx-console/wxbrestorepanel.cpp:1899
msgid "Bootstrap"
msgstr ""
-#: src/dird/ua_run.c:257 src/wx-console/wxbrestorepanel.cpp:350
+#: src/dird/ua_run.c:244 src/wx-console/wxbrestorepanel.cpp:350
#: src/wx-console/wxbrestorepanel.cpp:1104
#: src/wx-console/wxbrestorepanel.cpp:1901
msgid "Where"
msgstr ""
-#: src/dird/ua_run.c:258
+#: src/dird/ua_run.c:245
msgid "File Relocation"
msgstr ""
-#: src/dird/ua_run.c:259 src/wx-console/wxbrestorepanel.cpp:352
+#: src/dird/ua_run.c:246 src/wx-console/wxbrestorepanel.cpp:352
#: src/wx-console/wxbrestorepanel.cpp:1112
#: src/wx-console/wxbrestorepanel.cpp:1905
#: src/wx-console/wxbrestorepanel.cpp:1906
@@ -4397,212 +4429,212 @@ msgstr ""
msgid "Replace"
msgstr ""
-#: src/dird/ua_run.c:260
+#: src/dird/ua_run.c:247
msgid "JobId"
msgstr ""
-#: src/dird/ua_run.c:263
+#: src/dird/ua_run.c:250
msgid "Plugin Options"
msgstr ""
-#: src/dird/ua_run.c:274 src/dird/ua_run.c:1563
+#: src/dird/ua_run.c:261 src/dird/ua_run.c:1569
msgid "user selection"
msgstr ""
-#: src/dird/ua_run.c:306
+#: src/dird/ua_run.c:293
msgid ""
"Please enter desired start time as YYYY-MM-DD HH:MM:SS (return for now): "
msgstr ""
-#: src/dird/ua_run.c:314 src/dird/ua_run.c:490
+#: src/dird/ua_run.c:301 src/dird/ua_run.c:477
msgid "Invalid time, using current time.\n"
msgstr ""
-#: src/dird/ua_run.c:321
+#: src/dird/ua_run.c:308
msgid "Enter new Priority: "
msgstr ""
-#: src/dird/ua_run.c:325
+#: src/dird/ua_run.c:312
msgid "Priority must be a positive integer.\n"
msgstr ""
-#: src/dird/ua_run.c:346
+#: src/dird/ua_run.c:333
msgid "Please enter the Bootstrap file name: "
msgstr ""
-#: src/dird/ua_run.c:358
+#: src/dird/ua_run.c:345
#, c-format
msgid "Warning cannot open %s: ERR=%s\n"
msgstr ""
-#: src/dird/ua_run.c:377
+#: src/dird/ua_run.c:364
msgid "Please enter the full path prefix for restore (/ for none): "
msgstr ""
-#: src/dird/ua_run.c:399
+#: src/dird/ua_run.c:386
msgid "Replace:\n"
msgstr ""
-#: src/dird/ua_run.c:403
+#: src/dird/ua_run.c:390
msgid "Select replace option"
msgstr ""
-#: src/dird/ua_run.c:414
+#: src/dird/ua_run.c:401
msgid ""
"You must set the bootstrap file to NULL to be able to specify a JobId.\n"
msgstr ""
-#: src/dird/ua_run.c:419
+#: src/dird/ua_run.c:406
msgid "Please Plugin Options string: "
msgstr ""
-#: src/dird/ua_run.c:457 src/dird/ua_run.c:466
+#: src/dird/ua_run.c:444 src/dird/ua_run.c:453
msgid "User input"
msgstr ""
-#: src/dird/ua_run.c:520
+#: src/dird/ua_run.c:507
#, c-format
msgid "Invalid replace option: %s\n"
msgstr ""
-#: src/dird/ua_run.c:583
+#: src/dird/ua_run.c:589
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s\n"
msgstr ""
-#: src/dird/ua_run.c:586
+#: src/dird/ua_run.c:592
msgid "This will replace your current Where value\n"
msgstr ""
-#: src/dird/ua_run.c:587
+#: src/dird/ua_run.c:593
msgid "Strip prefix"
msgstr ""
-#: src/dird/ua_run.c:588
+#: src/dird/ua_run.c:594
msgid "Add prefix"
msgstr ""
-#: src/dird/ua_run.c:589
+#: src/dird/ua_run.c:595
msgid "Add file suffix"
msgstr ""
-#: src/dird/ua_run.c:590
+#: src/dird/ua_run.c:596
msgid "Enter a regexp"
msgstr ""
-#: src/dird/ua_run.c:591
+#: src/dird/ua_run.c:597
msgid "Test filename manipulation"
msgstr ""
-#: src/dird/ua_run.c:592
+#: src/dird/ua_run.c:598
msgid "Use this ?"
msgstr ""
-#: src/dird/ua_run.c:597
+#: src/dird/ua_run.c:603
msgid "Please enter the path prefix to strip: "
msgstr ""
-#: src/dird/ua_run.c:605
+#: src/dird/ua_run.c:611
msgid "Please enter the path prefix to add (/ for none): "
msgstr ""
-#: src/dird/ua_run.c:616
+#: src/dird/ua_run.c:622
msgid "Please enter the file suffix to add: "
msgstr ""
-#: src/dird/ua_run.c:623
+#: src/dird/ua_run.c:629
msgid "Please enter a valid regexp (!from!to!): "
msgstr ""
-#: src/dird/ua_run.c:636
+#: src/dird/ua_run.c:642
#, c-format
msgid "regexwhere=%s\n"
msgstr ""
-#: src/dird/ua_run.c:642
+#: src/dird/ua_run.c:648
#, c-format
msgid "strip_prefix=%s add_prefix=%s add_suffix=%s result=%s\n"
msgstr ""
-#: src/dird/ua_run.c:649
+#: src/dird/ua_run.c:655
msgid "Cannot use your regexp\n"
msgstr ""
-#: src/dird/ua_run.c:652
+#: src/dird/ua_run.c:658
msgid "Enter a period (.) to stop this test\n"
msgstr ""
-#: src/dird/ua_run.c:653
+#: src/dird/ua_run.c:659
msgid "Please enter filename to test: "
msgstr ""
-#: src/dird/ua_run.c:655
+#: src/dird/ua_run.c:661
#, c-format
msgid "%s -> %s\n"
msgstr ""
-#: src/dird/ua_run.c:699
+#: src/dird/ua_run.c:705
msgid "Cannot use your regexp.\n"
msgstr ""
-#: src/dird/ua_run.c:712 src/dird/ua_run.c:742
+#: src/dird/ua_run.c:718 src/dird/ua_run.c:748
msgid "Levels:\n"
msgstr ""
-#: src/dird/ua_run.c:714 src/stored/status.c:600 src/lib/util.c:426
+#: src/dird/ua_run.c:720 src/stored/status.c:665 src/lib/util.c:426
#: src/lib/util.c:472 src/filed/status.c:519
msgid "Full"
msgstr ""
-#: src/dird/ua_run.c:715 src/stored/status.c:603 src/lib/util.c:429
+#: src/dird/ua_run.c:721 src/stored/status.c:668 src/lib/util.c:429
#: src/filed/status.c:522
msgid "Incremental"
msgstr ""
-#: src/dird/ua_run.c:716 src/stored/status.c:606 src/lib/util.c:432
+#: src/dird/ua_run.c:722 src/stored/status.c:671 src/lib/util.c:432
#: src/filed/status.c:525
msgid "Differential"
msgstr ""
-#: src/dird/ua_run.c:717 src/stored/status.c:609 src/lib/util.c:435
+#: src/dird/ua_run.c:723 src/stored/status.c:674 src/lib/util.c:435
#: src/filed/status.c:528
msgid "Since"
msgstr ""
-#: src/dird/ua_run.c:718
+#: src/dird/ua_run.c:724
msgid "VirtualFull"
msgstr ""
-#: src/dird/ua_run.c:719 src/dird/ua_run.c:748
+#: src/dird/ua_run.c:725 src/dird/ua_run.c:754
msgid "Select level"
msgstr ""
-#: src/dird/ua_run.c:743
+#: src/dird/ua_run.c:749
msgid "Initialize Catalog"
msgstr ""
-#: src/dird/ua_run.c:744 src/stored/status.c:612 src/lib/util.c:438
+#: src/dird/ua_run.c:750 src/stored/status.c:677 src/lib/util.c:438
#: src/filed/status.c:531
msgid "Verify Catalog"
msgstr ""
-#: src/dird/ua_run.c:745 src/lib/util.c:444
+#: src/dird/ua_run.c:751 src/lib/util.c:444
msgid "Verify Volume to Catalog"
msgstr ""
-#: src/dird/ua_run.c:746 src/lib/util.c:447
+#: src/dird/ua_run.c:752 src/lib/util.c:447
msgid "Verify Disk to Catalog"
msgstr ""
-#: src/dird/ua_run.c:747
+#: src/dird/ua_run.c:753
msgid "Verify Volume Data (not yet implemented)"
msgstr ""
-#: src/dird/ua_run.c:768
+#: src/dird/ua_run.c:774
msgid "Level not appropriate for this Job. Cannot be changed.\n"
msgstr ""
-#: src/dird/ua_run.c:799
+#: src/dird/ua_run.c:805
#, c-format
msgid ""
"Run Admin Job\n"
@@ -4614,7 +4646,7 @@ msgid ""
"Priority: %d\n"
msgstr ""
-#: src/dird/ua_run.c:843
+#: src/dird/ua_run.c:849
#, c-format
msgid ""
"Run Backup job\n"
@@ -4629,12 +4661,12 @@ msgid ""
"%s%s%s"
msgstr ""
-#: src/dird/ua_run.c:874
+#: src/dird/ua_run.c:880
#, fuzzy, c-format
msgid "Could not get job record for selected JobId. ERR=%s"
msgstr "Не вдалось відновити прапорці для файлу %s: ERR=%s\n"
-#: src/dird/ua_run.c:913
+#: src/dird/ua_run.c:919
#, c-format
msgid ""
"Run Verify Job\n"
@@ -4650,11 +4682,11 @@ msgid ""
"Priority: %d\n"
msgstr ""
-#: src/dird/ua_run.c:942
+#: src/dird/ua_run.c:948
msgid "Please enter a JobId for restore: "
msgstr ""
-#: src/dird/ua_run.c:982
+#: src/dird/ua_run.c:988
#, c-format
msgid ""
"Run Restore job\n"
@@ -4672,7 +4704,7 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1038
+#: src/dird/ua_run.c:1044
#, c-format
msgid ""
"Run Restore job\n"
@@ -4690,7 +4722,7 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1069
+#: src/dird/ua_run.c:1075
#, c-format
msgid ""
"Run Restore job\n"
@@ -4698,17 +4730,17 @@ msgid ""
"Bootstrap: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1077
+#: src/dird/ua_run.c:1083
#, c-format
msgid "RegexWhere: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1080
+#: src/dird/ua_run.c:1086
#, c-format
msgid "Where: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1084
+#: src/dird/ua_run.c:1090
#, c-format
msgid ""
"Replace: %s\n"
@@ -4721,215 +4753,215 @@ msgid ""
"Plugin Options: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1139
+#: src/dird/ua_run.c:1145
msgid "Run Copy job\n"
msgstr ""
-#: src/dird/ua_run.c:1141
+#: src/dird/ua_run.c:1147
msgid "Run Migration job\n"
msgstr ""
-#: src/dird/ua_run.c:1170
+#: src/dird/ua_run.c:1176
#, c-format
msgid "Unknown Job Type=%d\n"
msgstr ""
-#: src/dird/ua_run.c:1239
+#: src/dird/ua_run.c:1245
#, c-format
msgid "Value missing for keyword %s\n"
msgstr ""
-#: src/dird/ua_run.c:1246
+#: src/dird/ua_run.c:1252
msgid "Job name specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1254
+#: src/dird/ua_run.c:1260
msgid "JobId specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1263 src/dird/ua_run.c:1403
+#: src/dird/ua_run.c:1269 src/dird/ua_run.c:1409
msgid "Client specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1271
+#: src/dird/ua_run.c:1277
msgid "FileSet specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1279
+#: src/dird/ua_run.c:1285
msgid "Level specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1288
+#: src/dird/ua_run.c:1294
msgid "Storage specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1296
+#: src/dird/ua_run.c:1302
msgid "RegexWhere or Where specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1301
+#: src/dird/ua_run.c:1307
msgid "No authorization for \"regexwhere\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1308
+#: src/dird/ua_run.c:1314
msgid "Where or RegexWhere specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1313
+#: src/dird/ua_run.c:1319
msgid "No authoriztion for \"where\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1320
+#: src/dird/ua_run.c:1326
msgid "Bootstrap specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1328
+#: src/dird/ua_run.c:1334
msgid "Replace specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1336
+#: src/dird/ua_run.c:1342
msgid "When specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1344
+#: src/dird/ua_run.c:1350
msgid "Priority specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1349
+#: src/dird/ua_run.c:1355
msgid "Priority must be positive nonzero setting it to 10.\n"
msgstr ""
-#: src/dird/ua_run.c:1359
+#: src/dird/ua_run.c:1365
msgid "Verify Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1387
+#: src/dird/ua_run.c:1393
msgid "Migration Job specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1395
+#: src/dird/ua_run.c:1401
msgid "Pool specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1411
+#: src/dird/ua_run.c:1417
msgid "Restore Client specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1418
+#: src/dird/ua_run.c:1424
msgid "Plugin Options not yet implemented.\n"
msgstr ""
-#: src/dird/ua_run.c:1421
+#: src/dird/ua_run.c:1427
msgid "Plugin Options specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1426
+#: src/dird/ua_run.c:1432
msgid "No authoriztion for \"PluginOptions\" specification.\n"
msgstr ""
-#: src/dird/ua_run.c:1433
+#: src/dird/ua_run.c:1439
msgid "Spool flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1440
+#: src/dird/ua_run.c:1446
msgid "Invalid spooldata flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1449
+#: src/dird/ua_run.c:1455
msgid "IgnoreDuplicateCheck flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1456
+#: src/dird/ua_run.c:1462
msgid "Invalid ignoreduplicatecheck flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1461
+#: src/dird/ua_run.c:1467
msgid "Accurate flag specified twice.\n"
msgstr ""
-#: src/dird/ua_run.c:1468
+#: src/dird/ua_run.c:1474
msgid "Invalid accurate flag.\n"
msgstr ""
-#: src/dird/ua_run.c:1489
+#: src/dird/ua_run.c:1495
#, c-format
msgid "Invalid keyword: %s\n"
msgstr ""
-#: src/dird/ua_run.c:1504
+#: src/dird/ua_run.c:1510
#, c-format
msgid "Catalog \"%s\" not found\n"
msgstr ""
-#: src/dird/ua_run.c:1508
+#: src/dird/ua_run.c:1514
#, c-format
msgid "No authorization. Catalog \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1519
+#: src/dird/ua_run.c:1525
#, c-format
msgid "Job \"%s\" not found\n"
msgstr ""
-#: src/dird/ua_run.c:1526
+#: src/dird/ua_run.c:1532
msgid "A job name must be specified.\n"
msgstr ""
-#: src/dird/ua_run.c:1532
+#: src/dird/ua_run.c:1538
#, c-format
msgid "No authorization. Job \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1540
+#: src/dird/ua_run.c:1546
#, c-format
msgid "Pool \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1550
+#: src/dird/ua_run.c:1556
#, c-format
msgid "No authorization. Pool \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1560
+#: src/dird/ua_run.c:1566
#, c-format
msgid "Storage \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1569 src/dird/job.c:1245
+#: src/dird/ua_run.c:1575 src/dird/job.c:1245
msgid "No storage specified.\n"
msgstr ""
-#: src/dird/ua_run.c:1572
+#: src/dird/ua_run.c:1578
#, c-format
msgid "No authorization. Storage \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1592 src/dird/ua_run.c:1612
+#: src/dird/ua_run.c:1598 src/dird/ua_run.c:1618
#, c-format
msgid "No authorization. Client \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1602
+#: src/dird/ua_run.c:1608
#, c-format
msgid "Restore Client \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1621
+#: src/dird/ua_run.c:1627
#, c-format
msgid "FileSet \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1630
+#: src/dird/ua_run.c:1636
#, c-format
msgid "No authorization. FileSet \"%s\".\n"
msgstr ""
-#: src/dird/ua_run.c:1638
+#: src/dird/ua_run.c:1644
#, c-format
msgid "Verify Job \"%s\" not found.\n"
msgstr ""
-#: src/dird/ua_run.c:1648
+#: src/dird/ua_run.c:1654
#, c-format
msgid "Migration Job \"%s\" not found.\n"
msgstr ""
@@ -4986,25 +5018,25 @@ msgstr ""
msgid "Start Backup JobId %s, Job=%s\n"
msgstr ""
-#: src/dird/backup.c:517
+#: src/dird/backup.c:521
#, c-format
msgid "Unexpected Client Job message: %s\n"
msgstr ""
-#: src/dird/backup.c:530
+#: src/dird/backup.c:534
#, c-format
msgid "Network error with FD during %s: ERR=%s\n"
msgstr ""
-#: src/dird/backup.c:565
+#: src/dird/backup.c:569
msgid "No Job status returned from FD.\n"
msgstr ""
-#: src/dird/backup.c:653
+#: src/dird/backup.c:657
msgid "Backup failed -- incomplete"
msgstr ""
-#: src/dird/backup.c:726
+#: src/dird/backup.c:730
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5043,19 +5075,19 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/backup.c:828
+#: src/dird/backup.c:832
#, c-format
msgid "Could not get Job Volume Parameters to update Bootstrap file. ERR=%s\n"
msgstr ""
-#: src/dird/backup.c:864
+#: src/dird/backup.c:868
#, c-format
msgid ""
"Could not open WriteBootstrap file:\n"
"%s: ERR=%s\n"
msgstr ""
-#: src/dird/restore.c:137 src/dird/msgchan.c:472
+#: src/dird/restore.c:137 src/dird/msgchan.c:476
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr ""
@@ -5070,39 +5102,39 @@ msgstr "Не вдалось відновити прапорці для файл
msgid "Could not acquire read storage lock for \"%s\""
msgstr "Не вдалось відновити прапорці для файлу %s: ERR=%s\n"
-#: src/dird/restore.c:502
+#: src/dird/restore.c:505
msgid ""
"Cannot restore without a bootstrap file.\n"
"You probably ran a restore job directly. All restore jobs must\n"
"be run using the restore command.\n"
msgstr ""
-#: src/dird/restore.c:510
+#: src/dird/restore.c:513
#, c-format
msgid "Start Restore Job %s\n"
msgstr ""
-#: src/dird/restore.c:561
+#: src/dird/restore.c:564
msgid "Restore OK -- warning file count mismatch"
msgstr ""
-#: src/dird/restore.c:563
+#: src/dird/restore.c:566
msgid "Restore OK"
msgstr ""
-#: src/dird/restore.c:567
+#: src/dird/restore.c:570
msgid "Restore OK -- with warnings"
msgstr ""
-#: src/dird/restore.c:571
+#: src/dird/restore.c:574
msgid "*** Restore Error ***"
msgstr ""
-#: src/dird/restore.c:581
+#: src/dird/restore.c:584
msgid "Restore Canceled"
msgstr ""
-#: src/dird/restore.c:608
+#: src/dird/restore.c:611
#, c-format
msgid ""
"%s %s %s (%s):\n"
@@ -5131,7 +5163,7 @@ msgstr ""
msgid "Select daemon type for status"
msgstr ""
-#: src/dird/ua_status.c:294 src/stored/status.c:218
+#: src/dird/ua_status.c:294 src/stored/status.c:248
#, c-format
msgid "%s Version: %s (%s) %s %s %s\n"
msgstr ""
@@ -5141,7 +5173,7 @@ msgstr ""
msgid "Daemon started %s. Jobs: run=%d, running=%d mode=%d,%d\n"
msgstr ""
-#: src/dird/ua_status.c:300 src/stored/status.c:228 src/filed/status.c:142
+#: src/dird/ua_status.c:300 src/stored/status.c:258 src/filed/status.c:142
#, c-format
msgid " Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"
msgstr ""
@@ -5198,7 +5230,7 @@ msgstr ""
msgid "No Scheduled Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:604 src/stored/status.c:396 src/filed/status.c:183
+#: src/dird/ua_status.c:604 src/stored/status.c:450 src/filed/status.c:183
msgid ""
"\n"
"Running Jobs:\n"
@@ -5362,13 +5394,13 @@ msgstr ""
msgid "No Terminated Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:818 src/stored/status.c:507 src/filed/status.c:330
+#: src/dird/ua_status.c:818 src/stored/status.c:572 src/filed/status.c:330
msgid ""
"\n"
"Terminated Jobs:\n"
msgstr ""
-#: src/dird/ua_status.c:819 src/stored/status.c:514 src/filed/status.c:340
+#: src/dird/ua_status.c:819 src/stored/status.c:579 src/filed/status.c:340
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr ""
@@ -5376,41 +5408,41 @@ msgstr ""
msgid "====================================================================\n"
msgstr ""
-#: src/dird/ua_status.c:852 src/stored/status.c:536 src/lib/util.c:180
+#: src/dird/ua_status.c:852 src/stored/status.c:601 src/lib/util.c:180
#: src/filed/status.c:363
msgid "Created"
msgstr ""
-#: src/dird/ua_status.c:856 src/stored/status.c:540 src/lib/util.c:196
+#: src/dird/ua_status.c:856 src/stored/status.c:605 src/lib/util.c:196
#: src/lib/util.c:331 src/lib/util.c:478 src/filed/status.c:367
msgid "Error"
msgstr ""
-#: src/dird/ua_status.c:859 src/stored/status.c:543 src/filed/status.c:370
+#: src/dird/ua_status.c:859 src/stored/status.c:608 src/filed/status.c:370
msgid "Diffs"
msgstr ""
-#: src/dird/ua_status.c:865 src/stored/status.c:549 src/stored/btape.c:1523
+#: src/dird/ua_status.c:865 src/stored/status.c:614 src/stored/btape.c:1523
#: src/lib/util.c:189 src/lib/util.c:324 src/filed/status.c:376
#: src/wx-console/wxbconfigpanel.cpp:209
msgid "OK"
msgstr ""
-#: src/dird/ua_status.c:868 src/stored/status.c:552 src/lib/util.c:202
+#: src/dird/ua_status.c:868 src/stored/status.c:617 src/lib/util.c:202
#: src/lib/util.c:327
msgid "OK -- with warnings"
msgstr ""
-#: src/dird/ua_status.c:871 src/stored/status.c:555 src/filed/status.c:379
+#: src/dird/ua_status.c:871 src/stored/status.c:620 src/filed/status.c:379
msgid "Other"
msgstr ""
-#: src/dird/ua_status.c:875 src/stored/status.c:567 src/filed/status.c:391
+#: src/dird/ua_status.c:875 src/stored/status.c:632 src/filed/status.c:391
#, c-format
msgid "%6d\t%-6s\t%8s\t%10s\t%-7s\t%-8s\t%s\n"
msgstr ""
-#: src/dird/ua_status.c:883 src/stored/status.c:575 src/filed/status.c:399
+#: src/dird/ua_status.c:883 src/stored/status.c:640 src/filed/status.c:399
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr ""
@@ -5579,7 +5611,7 @@ msgstr ""
msgid "Job DiffPool override"
msgstr ""
-#: src/dird/job.c:893 src/stored/bscan.c:1052
+#: src/dird/job.c:893 src/stored/bscan.c:1056
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr ""
@@ -5905,7 +5937,17 @@ msgstr ""
msgid "<stored: bad response to Job command: %s\n"
msgstr ""
-#: src/dird/msgchan.c:312
+#: src/dird/msgchan.c:273
+#, c-format
+msgid "Using Device \"%s\" to read.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:311
+#, c-format
+msgid "Using Device \"%s\" to write.\n"
+msgstr ""
+
+#: src/dird/msgchan.c:318
#, c-format
msgid ""
"\n"
@@ -5913,24 +5955,19 @@ msgid ""
" %s"
msgstr ""
-#: src/dird/msgchan.c:316
+#: src/dird/msgchan.c:322
#, c-format
msgid ""
"\n"
" Storage daemon didn't accept Device \"%s\" command.\n"
msgstr ""
-#: src/dird/msgchan.c:321
-#, c-format
-msgid "Using Device \"%s\"\n"
-msgstr ""
-
-#: src/dird/msgchan.c:341 src/dird/msgchan.c:538
+#: src/dird/msgchan.c:345 src/dird/msgchan.c:542
#, c-format
msgid "Cannot create message thread: %s\n"
msgstr ""
-#: src/dird/msgchan.c:413
+#: src/dird/msgchan.c:417
msgid "Director's comm line to SD dropped.\n"
msgstr ""
@@ -6405,26 +6442,26 @@ msgstr ""
msgid "Unable to initialize reservation lock. ERR=%s\n"
msgstr ""
-#: src/stored/reserve.c:157
+#: src/stored/reserve.c:156
#, c-format
msgid "Hey! num_writers=%d!!!!\n"
msgstr ""
-#: src/stored/reserve.c:258
+#: src/stored/reserve.c:256
msgid "3939 Could not get dcr\n"
msgstr ""
-#: src/stored/reserve.c:366
+#: src/stored/reserve.c:364
#, c-format
msgid "Device reservation failed for JobId=%d: %s\n"
msgstr ""
-#: src/stored/reserve.c:375
+#: src/stored/reserve.c:373
#, c-format
msgid "Failed command: %s\n"
msgstr ""
-#: src/stored/reserve.c:634 src/stored/dircmd.c:633
+#: src/stored/reserve.c:632 src/stored/dircmd.c:633
#, c-format
msgid ""
"\n"
@@ -6432,85 +6469,85 @@ msgid ""
"does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:638 src/stored/dircmd.c:611
+#: src/stored/reserve.c:636 src/stored/dircmd.c:611
#, c-format
msgid ""
"\n"
" Device \"%s\" requested by DIR could not be opened or does not exist.\n"
msgstr ""
-#: src/stored/reserve.c:654
+#: src/stored/reserve.c:652
#, c-format
msgid "3926 Could not get dcr for device: %s\n"
msgstr ""
-#: src/stored/reserve.c:780
+#: src/stored/reserve.c:778
#, c-format
msgid "3601 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
-#: src/stored/reserve.c:790
+#: src/stored/reserve.c:788
#, c-format
msgid "3602 JobId=%u device %s is busy (already reading/writing).\n"
msgstr ""
-#: src/stored/reserve.c:842
+#: src/stored/reserve.c:840
#, c-format
msgid "3603 JobId=%u device %s is busy reading.\n"
msgstr ""
-#: src/stored/reserve.c:851
+#: src/stored/reserve.c:849
#, c-format
msgid "3604 JobId=%u device %s is BLOCKED due to user unmount.\n"
msgstr ""
-#: src/stored/reserve.c:893
+#: src/stored/reserve.c:891
#, c-format
msgid ""
"3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive "
"%s.\n"
msgstr ""
-#: src/stored/reserve.c:916
+#: src/stored/reserve.c:914
#, c-format
msgid "3609 JobId=%u Max concurrent jobs exceeded on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:928
+#: src/stored/reserve.c:926
#, c-format
msgid "3610 JobId=%u Volume max jobs exceeded on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:980
+#: src/stored/reserve.c:978
#, c-format
msgid "3605 JobId=%u wants free drive but device %s is busy.\n"
msgstr ""
-#: src/stored/reserve.c:989
+#: src/stored/reserve.c:987
#, c-format
msgid "3606 JobId=%u prefers mounted drives, but drive %s has no Volume.\n"
msgstr ""
-#: src/stored/reserve.c:1011
+#: src/stored/reserve.c:1009
#, c-format
msgid "3607 JobId=%u wants Vol=\"%s\" drive has Vol=\"%s\" on drive %s.\n"
msgstr ""
-#: src/stored/reserve.c:1066
+#: src/stored/reserve.c:1064
#, c-format
msgid "Logic error!!!! JobId=%u Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1067
+#: src/stored/reserve.c:1065
#, c-format
msgid "3910 JobId=%u Logic error!!!! drive %s Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1070
+#: src/stored/reserve.c:1068
msgid "Logic error!!!! Should not get here.\n"
msgstr ""
-#: src/stored/reserve.c:1073
+#: src/stored/reserve.c:1071
#, c-format
msgid "3911 JobId=%u failed reserve drive %s.\n"
msgstr ""
@@ -6642,7 +6679,7 @@ msgid "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n"
msgstr ""
#: src/stored/bls.c:479 src/stored/bextract.c:612 src/stored/bcopy.c:373
-#: src/stored/bscan.c:1370 src/stored/btape.c:3050
+#: src/stored/bscan.c:1374 src/stored/btape.c:3050
#, c-format
msgid "Mount Volume \"%s\" on device %s and press return when ready: "
msgstr ""
@@ -6937,7 +6974,7 @@ msgstr ""
msgid "3937 Device \"%s\" is busy with writers=%d reserved=%d.\n"
msgstr ""
-#: src/stored/parse_bsr.c:123 src/stored/parse_bsr.c:127
+#: src/stored/parse_bsr.c:122 src/stored/parse_bsr.c:126
#, c-format
msgid ""
"Bootstrap file error: %s\n"
@@ -6945,154 +6982,154 @@ msgid ""
"%s\n"
msgstr ""
-#: src/stored/parse_bsr.c:149
+#: src/stored/parse_bsr.c:148
#, c-format
msgid "Cannot open bootstrap file %s: %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:280
+#: src/stored/parse_bsr.c:279
#, c-format
msgid "MediaType %s in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:312
+#: src/stored/parse_bsr.c:311
#, c-format
msgid "Device \"%s\" in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:485
+#: src/stored/parse_bsr.c:484
#, c-format
msgid "REGEX '%s' compile error. ERR=%s\n"
msgstr ""
-#: src/stored/parse_bsr.c:495
+#: src/stored/parse_bsr.c:494
msgid "JobType not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:503
+#: src/stored/parse_bsr.c:502
msgid "JobLevel not yet implemented\n"
msgstr ""
-#: src/stored/parse_bsr.c:720
+#: src/stored/parse_bsr.c:719
#, c-format
msgid "Slot %d in bsr at inappropriate place.\n"
msgstr ""
-#: src/stored/parse_bsr.c:744
+#: src/stored/parse_bsr.c:743
#, c-format
msgid "VolFile : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:752
+#: src/stored/parse_bsr.c:751
#, c-format
msgid "VolBlock : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:760
+#: src/stored/parse_bsr.c:759
#, c-format
msgid "VolAddr : %llu-%llu\n"
msgstr ""
-#: src/stored/parse_bsr.c:769
+#: src/stored/parse_bsr.c:768
#, c-format
msgid "FileIndex : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:771
+#: src/stored/parse_bsr.c:770
#, c-format
msgid "FileIndex : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:781
+#: src/stored/parse_bsr.c:780
#, c-format
msgid "JobId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:783
+#: src/stored/parse_bsr.c:782
#, c-format
msgid "JobId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:793
+#: src/stored/parse_bsr.c:792
#, c-format
msgid "SessId : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:795
+#: src/stored/parse_bsr.c:794
#, c-format
msgid "SessId : %u-%u\n"
msgstr ""
-#: src/stored/parse_bsr.c:804
+#: src/stored/parse_bsr.c:803
#, c-format
msgid "VolumeName : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:805
+#: src/stored/parse_bsr.c:804
#, c-format
msgid " MediaType : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:806
+#: src/stored/parse_bsr.c:805
#, c-format
msgid " Device : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:807
+#: src/stored/parse_bsr.c:806
#, c-format
msgid " Slot : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:816
+#: src/stored/parse_bsr.c:815
#, c-format
msgid "Client : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:824
+#: src/stored/parse_bsr.c:823
#, c-format
msgid "Job : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:832
+#: src/stored/parse_bsr.c:831
#, c-format
msgid "SessTime : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:843
+#: src/stored/parse_bsr.c:842
msgid "BSR is NULL\n"
msgstr ""
-#: src/stored/parse_bsr.c:847
+#: src/stored/parse_bsr.c:846
#, c-format
msgid "Next : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:848
+#: src/stored/parse_bsr.c:847
#, c-format
msgid "Root bsr : 0x%x\n"
msgstr ""
-#: src/stored/parse_bsr.c:860
+#: src/stored/parse_bsr.c:859
#, c-format
msgid "count : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:861
+#: src/stored/parse_bsr.c:860
#, c-format
msgid "found : %u\n"
msgstr ""
-#: src/stored/parse_bsr.c:864
+#: src/stored/parse_bsr.c:863
#, c-format
msgid "done : %s\n"
msgstr ""
-#: src/stored/parse_bsr.c:865
+#: src/stored/parse_bsr.c:864
#, c-format
msgid "positioning : %d\n"
msgstr ""
-#: src/stored/parse_bsr.c:866
+#: src/stored/parse_bsr.c:865
#, c-format
msgid "fast_reject : %d\n"
msgstr ""
@@ -7177,7 +7214,7 @@ msgid "Unable to set network buffer size.\n"
msgstr ""
#: src/stored/append.c:95 src/stored/append.c:104 src/stored/append.c:116
-#: src/stored/askdir.c:338 src/stored/askdir.c:339
+#: src/stored/askdir.c:340 src/stored/askdir.c:341
msgid "NULL Volume name. This shouldn't happen!!!\n"
msgstr ""
@@ -7286,7 +7323,7 @@ msgstr ""
msgid "Volume on %s has bad Bacula label type: %x\n"
msgstr ""
-#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:460
+#: src/stored/label.c:236 src/stored/label.c:397 src/stored/mount.c:463
#, c-format
msgid "Could not reserve volume %s on %s\n"
msgstr ""
@@ -7296,7 +7333,7 @@ msgstr ""
msgid "Cannot write Volume label to block for device %s\n"
msgstr ""
-#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:216
+#: src/stored/label.c:328 src/stored/label.c:426 src/stored/mount.c:218
#, c-format
msgid "Open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr ""
@@ -7462,82 +7499,101 @@ msgstr ""
msgid "Used Volume status:\n"
msgstr ""
-#: src/stored/status.c:107 src/stored/status.c:109
+#: src/stored/status.c:117
msgid ""
-"====\n"
"\n"
+"SD Resources:\n"
msgstr ""
-#: src/stored/status.c:128
+#: src/stored/status.c:153
msgid ""
"\n"
"Device status:\n"
msgstr ""
-#: src/stored/status.c:132
+#: src/stored/status.c:157
#, c-format
msgid "Autochanger \"%s\" with devices:\n"
msgstr ""
-#: src/stored/status.c:150
+#: src/stored/status.c:177
#, c-format
msgid ""
-"Device %s is mounted with:\n"
+"\n"
+"Device %s is %s:\n"
" Volume: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:160
+#: src/stored/status.c:182
+msgid "waiting for"
+msgstr ""
+
+#: src/stored/status.c:182
+msgid "mounted with"
+msgstr ""
+
+#: src/stored/status.c:184
+msgid "*unknown*"
+msgstr ""
+
+#: src/stored/status.c:188
#, c-format
-msgid "Device %s open but no Bacula volume is currently mounted.\n"
+msgid ""
+"\n"
+"Device %s open but no Bacula volume is currently mounted.\n"
msgstr ""
-#: src/stored/status.c:171
+#: src/stored/status.c:199
#, c-format
msgid " Total Bytes=%s Blocks=%s Bytes/block=%s\n"
msgstr ""
-#: src/stored/status.c:186
+#: src/stored/status.c:214
#, c-format
msgid " Total Bytes Read=%s Blocks Read=%s Bytes/block=%s\n"
msgstr ""
-#: src/stored/status.c:192
+#: src/stored/status.c:220
#, c-format
msgid " Positioned at File=%s Block=%s\n"
msgstr ""
-#: src/stored/status.c:199
+#: src/stored/status.c:227
#, c-format
-msgid "Device %s is not open.\n"
+msgid ""
+"\n"
+"Device %s is not open.\n"
msgstr ""
-#: src/stored/status.c:203
+#: src/stored/status.c:231
#, c-format
-msgid "Device \"%s\" is not open or does not exist.\n"
+msgid ""
+"\n"
+"Device \"%s\" is not open or does not exist.\n"
msgstr ""
-#: src/stored/status.c:225
+#: src/stored/status.c:255
#, c-format
msgid "Daemon started %s. Jobs: run=%d, running=%d.\n"
msgstr ""
-#: src/stored/status.c:248
+#: src/stored/status.c:293
msgid ""
"No DEVICE structure.\n"
"\n"
msgstr ""
-#: src/stored/status.c:254
+#: src/stored/status.c:299
msgid " Device is BLOCKED. User unmounted.\n"
msgstr ""
-#: src/stored/status.c:258
+#: src/stored/status.c:303
msgid " Device is BLOCKED. User unmounted during wait for media/mount.\n"
msgstr ""
-#: src/stored/status.c:270
+#: src/stored/status.c:313
#, c-format
msgid ""
" Device is BLOCKED waiting for mount of volume \"%s\",\n"
@@ -7545,7 +7601,7 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:279
+#: src/stored/status.c:322
#, c-format
msgid ""
" Device is BLOCKED waiting to create a volume for:\n"
@@ -7553,172 +7609,165 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/status.c:291
+#: src/stored/status.c:333
msgid " Device is BLOCKED waiting for media.\n"
msgstr ""
-#: src/stored/status.c:297
+#: src/stored/status.c:339
msgid " Device is being initialized.\n"
msgstr ""
-#: src/stored/status.c:301
+#: src/stored/status.c:343
msgid " Device is blocked labeling a Volume.\n"
msgstr ""
-#: src/stored/status.c:310
+#: src/stored/status.c:352
#, c-format
-msgid " Slot %d is loaded in drive %d.\n"
+msgid " Slot %d %s loaded in drive %d.\n"
msgstr ""
-#: src/stored/status.c:314
+#: src/stored/status.c:356
#, c-format
msgid " Drive %d is not loaded.\n"
msgstr ""
-#: src/stored/status.c:317
-#, c-format
-msgid " Drive %d status unknown.\n"
-msgstr ""
-
-#: src/stored/status.c:331 src/stored/btape.c:688
+#: src/stored/status.c:371 src/stored/btape.c:688
#, c-format
msgid "Configured device capabilities:\n"
msgstr ""
-#: src/stored/status.c:349
+#: src/stored/status.c:389
msgid "Device state:\n"
msgstr ""
-#: src/stored/status.c:367
+#: src/stored/status.c:405
#, c-format
-msgid ""
-"num_writers=%d reserved=%d block=%d\n"
-"\n"
+msgid " num_writers=%d reserves=%d block=%d\n"
msgstr ""
-#: src/stored/status.c:371 src/stored/btape.c:720
+#: src/stored/status.c:409
+msgid "Attached Jobs: "
+msgstr ""
+
+#: src/stored/status.c:427 src/stored/btape.c:720
#, c-format
msgid "Device parameters:\n"
msgstr ""
-#: src/stored/status.c:374
+#: src/stored/status.c:429
#, c-format
-msgid "Archive name: %s Device name: %s\n"
+msgid " Archive name: %s Device name: %s\n"
msgstr ""
-#: src/stored/status.c:378
+#: src/stored/status.c:432
#, c-format
-msgid "File=%u block=%u\n"
+msgid " File=%u block=%u\n"
msgstr ""
-#: src/stored/status.c:381
+#: src/stored/status.c:434
#, c-format
-msgid "Min block=%u Max block=%u\n"
+msgid " Min block=%u Max block=%u\n"
msgstr ""
-#: src/stored/status.c:401
+#: src/stored/status.c:455
#, c-format
msgid "%s Job %s waiting for Client connection.\n"
msgstr ""
-#: src/stored/status.c:417
+#: src/stored/status.c:471
#, c-format
msgid ""
"Reading: %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
msgstr ""
-#: src/stored/status.c:430
+#: src/stored/status.c:484
#, c-format
msgid ""
"Writing: %s %s job %s JobId=%d Volume=\"%s\"\n"
" pool=\"%s\" device=%s\n"
msgstr ""
-#: src/stored/status.c:441
+#: src/stored/status.c:495
#, c-format
msgid " spooling=%d despooling=%d despool_wait=%d\n"
msgstr ""
-#: src/stored/status.c:450
+#: src/stored/status.c:511
#, c-format
-msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
+msgid " Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"
msgstr ""
-#: src/stored/status.c:458
+#: src/stored/status.c:523
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr ""
-#: src/stored/status.c:464
+#: src/stored/status.c:529
msgid " FDSocket closed\n"
msgstr ""
-#: src/stored/status.c:485
+#: src/stored/status.c:550
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
msgstr ""
-#: src/stored/status.c:516
+#: src/stored/status.c:581
msgid "===================================================================\n"
msgstr ""
-#: src/stored/status.c:598 src/lib/util.c:423 src/filed/status.c:517
+#: src/stored/status.c:663 src/lib/util.c:423 src/filed/status.c:517
msgid "Base"
msgstr ""
-#: src/stored/status.c:615 src/filed/status.c:534
+#: src/stored/status.c:680 src/filed/status.c:534
msgid "Init Catalog"
msgstr ""
-#: src/stored/status.c:618 src/filed/status.c:537
+#: src/stored/status.c:683 src/filed/status.c:537
msgid "Volume to Catalog"
msgstr ""
-#: src/stored/status.c:621 src/filed/status.c:540
+#: src/stored/status.c:686 src/filed/status.c:540
msgid "Disk to Catalog"
msgstr ""
-#: src/stored/status.c:624 src/filed/status.c:543
+#: src/stored/status.c:689 src/filed/status.c:543
msgid "Data"
msgstr ""
-#: src/stored/status.c:630 src/lib/util.c:459 src/filed/status.c:549
+#: src/stored/status.c:695 src/lib/util.c:459 src/filed/status.c:549
msgid "Unknown Job Level"
msgstr ""
-#: src/stored/status.c:698 src/stored/status.c:744 src/filed/status.c:463
-#: src/filed/status.c:496
+#: src/stored/status.c:763
#, c-format
-msgid "Bad .status command: %s\n"
+msgid "3900 No arg in .status command: %s\n"
msgstr ""
-#: src/stored/status.c:699
-msgid "3900 Bad .status command, missing argument.\n"
-msgstr ""
-
-#: src/stored/status.c:745
-msgid "3900 Bad .status command, wrong argument.\n"
-msgstr ""
+#: src/stored/status.c:811
+#, fuzzy, c-format
+msgid "3900 Unknown arg in .status command: %s\n"
+msgstr "Невідомий статус задачі %c. "
-#: src/stored/status.c:760
+#: src/stored/status.c:826
msgid "Bacula Storage: Idle"
msgstr ""
-#: src/stored/status.c:771
+#: src/stored/status.c:837
msgid "Bacula Storage: Running"
msgstr ""
-#: src/stored/status.c:785
+#: src/stored/status.c:851
msgid "Bacula Storage: Last Job Canceled"
msgstr ""
-#: src/stored/status.c:789
+#: src/stored/status.c:855
msgid "Bacula Storage: Last Job Failed"
msgstr ""
-#: src/stored/status.c:793
+#: src/stored/status.c:859
msgid "Bacula Storage: Last Job had Warnings"
msgstr ""
@@ -7819,7 +7868,7 @@ msgid "%u files restored.\n"
msgstr ""
#: src/stored/bextract.c:284 src/stored/bextract.c:290
-#: src/filed/restore.c:1474
+#: src/filed/restore.c:1480
#, c-format
msgid "Write error on %s: %s\n"
msgstr ""
@@ -7828,7 +7877,7 @@ msgstr ""
msgid "Logic error output file should be open but is not.\n"
msgstr ""
-#: src/stored/bextract.c:335 src/filed/restore.c:566
+#: src/stored/bextract.c:335 src/filed/restore.c:569
#, c-format
msgid "%s stream not supported on this Client.\n"
msgstr ""
@@ -7844,7 +7893,7 @@ msgid "Seek error on %s: %s\n"
msgstr ""
#: src/stored/bextract.c:429 src/stored/bextract.c:494
-#: src/filed/restore.c:1329
+#: src/filed/restore.c:1335
#, c-format
msgid "Seek to %s error on %s: ERR=%s\n"
msgstr ""
@@ -7854,16 +7903,16 @@ msgstr ""
msgid "Uncompression error. ERR=%d\n"
msgstr ""
-#: src/stored/bextract.c:462 src/filed/restore.c:1444
+#: src/stored/bextract.c:462 src/filed/restore.c:1450
msgid "GZIP data stream found, but GZIP not configured!\n"
msgstr ""
-#: src/stored/bextract.c:517 src/filed/restore.c:1370
+#: src/stored/bextract.c:517 src/filed/restore.c:1376
#, c-format
msgid "Compressed header version error. version=0x%x\n"
msgstr ""
-#: src/stored/bextract.c:522 src/filed/restore.c:1375
+#: src/stored/bextract.c:522 src/filed/restore.c:1381
#, c-format
msgid "Compressed header size error. comp_len=%d, msglen=%d\n"
msgstr ""
@@ -7873,7 +7922,7 @@ msgstr ""
msgid "LZO uncompression error. ERR=%d\n"
msgstr ""
-#: src/stored/bextract.c:556 src/filed/restore.c:1408
+#: src/stored/bextract.c:556 src/filed/restore.c:1414
#, c-format
msgid "Compression algorithm 0x%x found, but not supported!\n"
msgstr ""
@@ -7882,7 +7931,7 @@ msgstr ""
msgid "Got Program Name or Data Stream. Ignored.\n"
msgstr ""
-#: src/stored/bextract.c:592 src/filed/restore.c:325 src/filed/restore.c:1027
+#: src/stored/bextract.c:592 src/filed/restore.c:328 src/filed/restore.c:1033
#, c-format
msgid "Unknown stream=%d ignored. This shouldn't happen!\n"
msgstr ""
@@ -8072,125 +8121,125 @@ msgstr ""
msgid "Unexpected Tape is Off-line\n"
msgstr ""
-#: src/stored/acquire.c:70
+#: src/stored/acquire.c:74
#, c-format
msgid "Acquire read: num_writers=%d not zero. Job %d canceled.\n"
msgstr ""
-#: src/stored/acquire.c:79
+#: src/stored/acquire.c:83
#, c-format
msgid "No volumes specified for reading. Job %s canceled.\n"
msgstr ""
-#: src/stored/acquire.c:88
+#: src/stored/acquire.c:92
#, c-format
msgid "Logic error: no next volume to read. Numvol=%d Curvol=%d\n"
msgstr ""
-#: src/stored/acquire.c:95 src/stored/acquire.c:169 src/stored/acquire.c:438
-msgid "generate_plugin_event(bsdEventDeviceOpen) Failed\n"
-msgstr ""
-
-#: src/stored/acquire.c:119
+#: src/stored/acquire.c:118
#, c-format
msgid ""
"Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
" device=%s\n"
msgstr ""
-#: src/stored/acquire.c:165
+#: src/stored/acquire.c:162
#, c-format
msgid "Media Type change. New read device %s chosen.\n"
msgstr ""
-#: src/stored/acquire.c:181
+#: src/stored/acquire.c:174
#, c-format
msgid "No suitable device found to read Volume \"%s\"\n"
msgstr ""
-#: src/stored/acquire.c:220
+#: src/stored/acquire.c:213
#, c-format
msgid "Job %s canceled.\n"
msgstr ""
-#: src/stored/acquire.c:238
+#: src/stored/acquire.c:231
#, c-format
msgid "Read open device %s Volume \"%s\" failed: ERR=%s\n"
msgstr ""
-#: src/stored/acquire.c:328
+#: src/stored/acquire.c:321
#, c-format
msgid "Too many errors trying to mount device %s for reading.\n"
msgstr ""
-#: src/stored/acquire.c:336
+#: src/stored/acquire.c:329
#, c-format
msgid "Ready to read from volume \"%s\" on device %s.\n"
msgstr ""
-#: src/stored/acquire.c:390
+#: src/stored/acquire.c:381
#, c-format
msgid "Want to append, but device %s is busy reading.\n"
msgstr ""
-#: src/stored/acquire.c:423
+#: src/stored/acquire.c:414
#, c-format
msgid "Could not ready device %s for append.\n"
msgstr ""
-#: src/stored/acquire.c:515 src/stored/spool.c:321 src/stored/block.c:386
+#: src/stored/acquire.c:501 src/stored/spool.c:321 src/stored/block.c:386
#: src/stored/block.c:769 src/stored/block.c:847
#, c-format
msgid "Could not create JobMedia record for Volume=\"%s\" Job=%s\n"
msgstr ""
-#: src/stored/acquire.c:567
+#: src/stored/acquire.c:552
#, c-format
msgid "Alert: %s"
msgstr ""
-#: src/stored/acquire.c:575
+#: src/stored/acquire.c:560
#, c-format
msgid "3997 Bad alert command: %s: ERR=%s.\n"
msgstr ""
-#: src/stored/acquire.c:645 src/stored/dev.c:270 src/stored/dev.c:288
-#: src/stored/dev.c:294 src/stored/dev.c:304 src/stored/dev.c:311
+#: src/stored/acquire.c:629 src/stored/dev.c:270 src/stored/dev.c:311
#: src/lib/openssl.c:122 src/lib/openssl.c:181
#, c-format
msgid "Unable to init mutex: ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:177
+#: src/stored/acquire.c:635
+#, fuzzy, c-format
+msgid "Unable to init r_mutex: ERR=%s\n"
+msgstr "Не можливо встановити власника файлу %s: ERR=%s\n"
+
+#: src/stored/askdir.c:179
msgid "Network error on bnet_recv in req_vol_info.\n"
msgstr ""
-#: src/stored/askdir.c:195
+#: src/stored/askdir.c:197
#, c-format
msgid "Error getting Volume info: %s"
msgstr ""
-#: src/stored/askdir.c:374
+#: src/stored/askdir.c:376
#, c-format
msgid "Didn't get vol info vol=%s: ERR=%s"
msgstr ""
-#: src/stored/askdir.c:430
+#: src/stored/askdir.c:432
#, c-format
msgid "Error creating JobMedia record: ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:437
+#: src/stored/askdir.c:439
#, c-format
msgid "Error creating JobMedia record: %s\n"
msgstr ""
-#: src/stored/askdir.c:520
+#: src/stored/askdir.c:522
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device \"%s\".\n"
msgstr ""
-#: src/stored/askdir.c:531
+#: src/stored/askdir.c:533
#, c-format
msgid ""
"Job %s is waiting. Cannot find any appendable volumes.\n"
@@ -8200,45 +8249,45 @@ msgid ""
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:556 src/stored/askdir.c:656
+#: src/stored/askdir.c:558 src/stored/askdir.c:658
#, c-format
msgid "Max time exceeded waiting to mount Storage Device %s for Job %s\n"
msgstr ""
-#: src/stored/askdir.c:566
+#: src/stored/askdir.c:568
msgid "pthread error in mount_next_volume.\n"
msgstr ""
-#: src/stored/askdir.c:599
+#: src/stored/askdir.c:601
msgid "Cannot request another volume: no volume name given.\n"
msgstr ""
-#: src/stored/askdir.c:605
+#: src/stored/askdir.c:607
#, c-format
msgid "Job %s canceled while waiting for mount on Storage Device %s.\n"
msgstr ""
-#: src/stored/askdir.c:622
+#: src/stored/askdir.c:624
#, c-format
msgid ""
-"Please mount Volume \"%s\" or label a new one for:\n"
+"Please mount append Volume \"%s\" or label a new one for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:628
+#: src/stored/askdir.c:630
#, c-format
msgid ""
-"Please mount Volume \"%s\" for:\n"
+"Please mount read Volume \"%s\" for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
" Media type: %s\n"
msgstr ""
-#: src/stored/askdir.c:666
+#: src/stored/askdir.c:668
msgid "pthread error in mount_volume\n"
msgstr ""
@@ -8581,32 +8630,32 @@ msgstr ""
msgid "Attempt to open read on non-open session.\n"
msgstr ""
-#: src/stored/mount.c:96
+#: src/stored/mount.c:98
#, c-format
msgid "Too many errors trying to mount device %s.\n"
msgstr ""
-#: src/stored/mount.c:104
+#: src/stored/mount.c:106
#, c-format
msgid "Job %d canceled.\n"
msgstr ""
-#: src/stored/mount.c:280
+#: src/stored/mount.c:282
#, c-format
msgid "Volume \"%s\" previously written, moving to end of data.\n"
msgstr ""
-#: src/stored/mount.c:286
+#: src/stored/mount.c:288
#, c-format
msgid "Unable to position to end of data on device %s: ERR=%s\n"
msgstr ""
-#: src/stored/mount.c:408 src/stored/mount.c:734
+#: src/stored/mount.c:411 src/stored/mount.c:737
#, c-format
msgid "Volume \"%s\" not on device %s.\n"
msgstr ""
-#: src/stored/mount.c:441
+#: src/stored/mount.c:444
#, c-format
msgid ""
"Director wanted Volume \"%s\".\n"
@@ -8614,24 +8663,24 @@ msgid ""
" %s"
msgstr ""
-#: src/stored/mount.c:600
+#: src/stored/mount.c:603
#, c-format
msgid "Ready to append to end of Volume \"%s\" part=%d size=%s\n"
msgstr ""
-#: src/stored/mount.c:604
+#: src/stored/mount.c:607
#, c-format
msgid ""
"Bacula cannot write on DVD Volume \"%s\" because: The sizes do not match! "
"Volume=%s Catalog=%s\n"
msgstr ""
-#: src/stored/mount.c:618
+#: src/stored/mount.c:621
#, c-format
msgid "Ready to append to end of Volume \"%s\" at file=%d.\n"
msgstr ""
-#: src/stored/mount.c:621
+#: src/stored/mount.c:624
#, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -8639,23 +8688,23 @@ msgid ""
"Correcting Catalog\n"
msgstr ""
-#: src/stored/mount.c:628 src/stored/mount.c:656
+#: src/stored/mount.c:631 src/stored/mount.c:659
msgid "Error updating Catalog\n"
msgstr ""
-#: src/stored/mount.c:633
+#: src/stored/mount.c:636
#, c-format
msgid ""
"Bacula cannot write on tape Volume \"%s\" because:\n"
"The number of files mismatch! Volume=%u Catalog=%u\n"
msgstr ""
-#: src/stored/mount.c:644
+#: src/stored/mount.c:647
#, c-format
msgid "Ready to append to end of Volume \"%s\" size=%s\n"
msgstr ""
-#: src/stored/mount.c:648
+#: src/stored/mount.c:651
#, c-format
msgid ""
"For Volume \"%s\":\n"
@@ -8663,46 +8712,46 @@ msgid ""
"Correcting Catalog\n"
msgstr ""
-#: src/stored/mount.c:661
+#: src/stored/mount.c:664
#, c-format
msgid ""
"Bacula cannot write on disk Volume \"%s\" because: The sizes do not match! "
"Volume=%s Catalog=%s\n"
msgstr ""
-#: src/stored/mount.c:724
+#: src/stored/mount.c:727
#, c-format
msgid "Labeled new Volume \"%s\" on device %s.\n"
msgstr ""
-#: src/stored/mount.c:729
+#: src/stored/mount.c:732
#, c-format
msgid "Device %s not configured to autolabel Volumes.\n"
msgstr ""
-#: src/stored/mount.c:748
+#: src/stored/mount.c:751
#, c-format
msgid "Marking Volume \"%s\" in Error in Catalog.\n"
msgstr ""
-#: src/stored/mount.c:765
+#: src/stored/mount.c:768
#, c-format
msgid ""
"Autochanger Volume \"%s\" not found in slot %d.\n"
" Setting InChanger to zero in catalog.\n"
msgstr ""
-#: src/stored/mount.c:784
+#: src/stored/mount.c:787
msgid "Hey!!!!! WroteVol non-zero !!!!!\n"
msgstr ""
-#: src/stored/mount.c:831
+#: src/stored/mount.c:834
#, c-format
msgid ""
"Invalid tape position on volume \"%s\" on device %s. Expected %d, got %d\n"
msgstr ""
-#: src/stored/mount.c:868 src/stored/btape.c:3122
+#: src/stored/mount.c:875 src/stored/btape.c:3122
#, c-format
msgid "Cannot open Dev=%s, Vol=%s\n"
msgstr ""
@@ -8788,7 +8837,7 @@ msgid ""
"Despooling elapsed time = %02d:%02d:%02d, Transfer rate = %s Bytes/second\n"
msgstr ""
-#: src/stored/spool.c:348 src/stored/spool.c:546 src/stored/spool.c:592
+#: src/stored/spool.c:348 src/stored/spool.c:549 src/stored/spool.c:595
#, c-format
msgid "Ftruncate spool file failed: ERR=%s\n"
msgstr ""
@@ -8818,77 +8867,86 @@ msgstr ""
msgid "Spool data read error. Wanted %u bytes, got %d\n"
msgstr ""
-#: src/stored/spool.c:487
-msgid "User specified spool size reached.\n"
+#: src/stored/spool.c:480
+#, c-format
+msgid ""
+"User specified Job spool size reached: JobSpoolSize=%s MaxJobSpoolSize=%s\n"
msgstr ""
-#: src/stored/spool.c:489
+#: src/stored/spool.c:485
+#, c-format
+msgid ""
+"User specified Device spool size reached: DevSpoolSize=%s MaxDevSpoolSize="
+"%s\n"
+msgstr ""
+
+#: src/stored/spool.c:492
msgid "Bad return from despool in write_block.\n"
msgstr ""
-#: src/stored/spool.c:497
+#: src/stored/spool.c:500
msgid "Spooling data again ...\n"
msgstr ""
-#: src/stored/spool.c:529
+#: src/stored/spool.c:532
#, c-format
msgid "Error writing header to spool file. ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:534
+#: src/stored/spool.c:537
#, c-format
msgid ""
"Error writing header to spool file. Disk probably full. Attempting recovery. "
"Wanted to write=%d got=%d\n"
msgstr ""
-#: src/stored/spool.c:552 src/stored/spool.c:598
+#: src/stored/spool.c:555 src/stored/spool.c:601
msgid "Fatal despooling error."
msgstr ""
-#: src/stored/spool.c:560
+#: src/stored/spool.c:563
msgid "Retrying after header spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:576
+#: src/stored/spool.c:579
#, c-format
msgid "Error writing data to spool file. ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:609
+#: src/stored/spool.c:612
msgid "Retrying after data spooling error failed.\n"
msgstr ""
-#: src/stored/spool.c:679
+#: src/stored/spool.c:682
msgid "Network error on BlastAttributes.\n"
msgstr ""
-#: src/stored/spool.c:703 src/stored/spool.c:727
+#: src/stored/spool.c:706 src/stored/spool.c:730
#, c-format
msgid "Fseek on attributes file failed: ERR=%s\n"
msgstr ""
-#: src/stored/spool.c:715
+#: src/stored/spool.c:718
#, fuzzy, c-format
msgid "Truncate on attributes file failed: ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/stored/spool.c:739
+#: src/stored/spool.c:742
#, c-format
msgid "Sending spooled attrs to the Director. Despooling %s bytes ...\n"
msgstr ""
-#: src/stored/spool.c:765
+#: src/stored/spool.c:768
#, c-format
msgid "fopen attr spool file %s failed: ERR=%s\n"
msgstr ""
-#: src/stored/lock.c:235
+#: src/stored/lock.c:405
#, c-format
msgid "pthread_cond_wait failure. ERR=%s\n"
msgstr ""
-#: src/stored/lock.c:335
+#: src/stored/lock.c:504
msgid "unknown blocked code"
msgstr ""
@@ -9008,6 +9066,21 @@ msgstr ""
msgid "Unable to init cond variable: ERR=%s\n"
msgstr ""
+#: src/stored/dev.c:288
+#, fuzzy, c-format
+msgid "Unable to init spool mutex: ERR=%s\n"
+msgstr "Не можливо встановити власника файлу %s: ERR=%s\n"
+
+#: src/stored/dev.c:294
+#, fuzzy, c-format
+msgid "Unable to init acquire mutex: ERR=%s\n"
+msgstr "Не можливо встановити власника файлу %s: ERR=%s\n"
+
+#: src/stored/dev.c:300
+#, fuzzy, c-format
+msgid "Unable to init read acquire mutex: ERR=%s\n"
+msgstr "Не можливо встановити власника файлу %s: ERR=%s\n"
+
#: src/stored/dev.c:416
msgid "Illegal mode given to open dev.\n"
msgstr ""
@@ -9356,7 +9429,7 @@ msgstr ""
msgid "SOS_LABEL: PoolId mismatch for JobId=%u. DB=%d Vol=%d\n"
msgstr ""
-#: src/stored/bscan.c:601 src/stored/bscan.c:1157
+#: src/stored/bscan.c:601 src/stored/bscan.c:1161
#, c-format
msgid "Could not find SessId=%d SessTime=%d for EOS record.\n"
msgstr ""
@@ -9414,107 +9487,107 @@ msgstr ""
msgid "Got Prog Data Stream record.\n"
msgstr ""
-#: src/stored/bscan.c:858
+#: src/stored/bscan.c:862
#, c-format
msgid "Unknown stream type!!! stream=%d len=%i\n"
msgstr ""
-#: src/stored/bscan.c:926
+#: src/stored/bscan.c:930
#, c-format
msgid "Could not create File Attributes record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:932
+#: src/stored/bscan.c:936
#, c-format
msgid "Created File record: %s\n"
msgstr ""
-#: src/stored/bscan.c:977
+#: src/stored/bscan.c:981
#, c-format
msgid "Could not create media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:981 src/stored/bscan.c:1002
+#: src/stored/bscan.c:985 src/stored/bscan.c:1006
#, c-format
msgid "Could not update media record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:985
+#: src/stored/bscan.c:989
#, c-format
msgid "Created Media record for Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1006
+#: src/stored/bscan.c:1010
#, c-format
msgid "Updated Media record at end of Volume: %s\n"
msgstr ""
-#: src/stored/bscan.c:1023
+#: src/stored/bscan.c:1027
#, c-format
msgid "Could not create pool record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1027
+#: src/stored/bscan.c:1031
#, c-format
msgid "Created Pool record for Pool: %s\n"
msgstr ""
-#: src/stored/bscan.c:1046
+#: src/stored/bscan.c:1050
#, c-format
msgid "Could not get Client record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1056
+#: src/stored/bscan.c:1060
#, c-format
msgid "Created Client record for Client: %s\n"
msgstr ""
-#: src/stored/bscan.c:1073
+#: src/stored/bscan.c:1077
#, c-format
msgid "Fileset \"%s\" already exists.\n"
msgstr ""
-#: src/stored/bscan.c:1077
+#: src/stored/bscan.c:1081
#, c-format
msgid "Could not create FileSet record \"%s\". ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1082
+#: src/stored/bscan.c:1086
#, c-format
msgid "Created FileSet record \"%s\"\n"
msgstr ""
-#: src/stored/bscan.c:1129
+#: src/stored/bscan.c:1133
#, c-format
msgid "Could not create JobId record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1135
+#: src/stored/bscan.c:1139
#, c-format
msgid "Could not update job start record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1138
+#: src/stored/bscan.c:1142
#, c-format
msgid "Created new JobId=%u record for original JobId=%u\n"
msgstr ""
-#: src/stored/bscan.c:1191
+#: src/stored/bscan.c:1195
#, c-format
msgid "Could not update JobId=%u record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1196
+#: src/stored/bscan.c:1200
#, c-format
msgid "Updated Job termination record for JobId=%u Level=%s TermStat=%c\n"
msgstr ""
-#: src/stored/bscan.c:1221
+#: src/stored/bscan.c:1225
#, c-format
msgid "Job Termination code: %d"
msgstr ""
-#: src/stored/bscan.c:1226
+#: src/stored/bscan.c:1230
#, c-format
msgid ""
"%s\n"
@@ -9534,27 +9607,27 @@ msgid ""
"\n"
msgstr ""
-#: src/stored/bscan.c:1284
+#: src/stored/bscan.c:1288
#, c-format
msgid "Could not create JobMedia record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1288
+#: src/stored/bscan.c:1292
#, c-format
msgid "Created JobMedia record JobId %d, MediaId %d\n"
msgstr ""
-#: src/stored/bscan.c:1304
+#: src/stored/bscan.c:1308
#, c-format
msgid "Could not find SessId=%d SessTime=%d for MD5/SHA1 record.\n"
msgstr ""
-#: src/stored/bscan.c:1318
+#: src/stored/bscan.c:1322
#, c-format
msgid "Could not add MD5/SHA1 to File record. ERR=%s\n"
msgstr ""
-#: src/stored/bscan.c:1323
+#: src/stored/bscan.c:1327
msgid "Updated MD5/SHA1 record\n"
msgstr ""
@@ -11652,40 +11725,40 @@ msgstr ""
"Для отримання допомоги, будь ласка, перегляньте http://www.bacula.org/en/rel-"
"manual/Bacula_Freque_Asked_Questi.html#SECTION003760000000000000000.\n"
-#: src/lib/message.c:361 src/lib/message.c:371
+#: src/lib/message.c:362 src/lib/message.c:372
#, c-format
msgid "Could not open console message file %s: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:376
+#: src/lib/message.c:377
#, c-format
msgid "Could not get con mutex: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:481
+#: src/lib/message.c:482
msgid "Bacula Message"
msgstr ""
-#: src/lib/message.c:485
+#: src/lib/message.c:486
#, c-format
msgid "open mail pipe %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:553
+#: src/lib/message.c:577
msgid "open mail pipe failed.\n"
msgstr ""
-#: src/lib/message.c:565
+#: src/lib/message.c:590
#, c-format
msgid "close error: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:576
+#: src/lib/message.c:601
#, c-format
msgid "Mail prog: %s"
msgstr ""
-#: src/lib/message.c:585
+#: src/lib/message.c:610
#, c-format
msgid ""
"Mail program terminated in error.\n"
@@ -11693,12 +11766,16 @@ msgid ""
"ERR=%s\n"
msgstr ""
-#: src/lib/message.c:684
+#: src/lib/message.c:713
#, c-format
msgid "fopen %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/message.c:857
+#: src/lib/message.c:835 src/lib/message.c:838
+msgid "Msg delivery error: Unable to store data in database.\n"
+msgstr ""
+
+#: src/lib/message.c:890
#, c-format
msgid ""
"Msg delivery error: Operator mail program terminated in error.\n"
@@ -11706,77 +11783,77 @@ msgid ""
"ERR=%s\n"
msgstr ""
-#: src/lib/message.c:878
+#: src/lib/message.c:911
#, fuzzy, c-format
msgid "Msg delivery error: fopen %s failed: ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/lib/message.c:1195
+#: src/lib/message.c:1230
#, c-format
msgid "%s: ABORTING due to ERROR in %s:%d\n"
msgstr ""
-#: src/lib/message.c:1199
+#: src/lib/message.c:1234
#, c-format
msgid "%s: ERROR TERMINATION at %s:%d\n"
msgstr ""
-#: src/lib/message.c:1204
+#: src/lib/message.c:1239
#, c-format
msgid "%s: Fatal Error because: "
msgstr ""
-#: src/lib/message.c:1206
+#: src/lib/message.c:1241
#, c-format
msgid "%s: Fatal Error at %s:%d because:\n"
msgstr ""
-#: src/lib/message.c:1210
+#: src/lib/message.c:1245
#, c-format
msgid "%s: ERROR: "
msgstr ""
-#: src/lib/message.c:1212
+#: src/lib/message.c:1247
#, c-format
msgid "%s: ERROR in %s:%d "
msgstr ""
-#: src/lib/message.c:1215
+#: src/lib/message.c:1250
#, c-format
msgid "%s: Warning: "
msgstr ""
-#: src/lib/message.c:1218
+#: src/lib/message.c:1253
#, c-format
msgid "%s: Security violation: "
msgstr ""
-#: src/lib/message.c:1306
+#: src/lib/message.c:1341
#, c-format
msgid "%s ABORTING due to ERROR\n"
msgstr ""
-#: src/lib/message.c:1309
+#: src/lib/message.c:1344
#, c-format
msgid "%s ERROR TERMINATION\n"
msgstr ""
-#: src/lib/message.c:1312
+#: src/lib/message.c:1347
#, c-format
msgid "%s JobId %u: Fatal error: "
msgstr ""
-#: src/lib/message.c:1321
+#: src/lib/message.c:1356
#, c-format
msgid "%s JobId %u: Error: "
msgstr ""
-#: src/lib/message.c:1327
+#: src/lib/message.c:1362
#, c-format
msgid "%s JobId %u: Warning: "
msgstr ""
-#: src/lib/message.c:1333
+#: src/lib/message.c:1368
#, c-format
msgid "%s JobId %u: Security violation: "
msgstr ""
@@ -11830,71 +11907,6 @@ msgstr ""
msgid "Could not destroy client queue: ERR=%s\n"
msgstr ""
-#: src/lib/new-bnet.c:137 src/lib/bnet.c:134
-#, c-format
-msgid "Attr spool write error. ERR=%s\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:285 src/lib/new-bnet.c:326 src/lib/bnet.c:279
-#: src/lib/bnet.c:320
-msgid "TLS connection initialization failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:293 src/lib/bnet.c:287
-msgid "TLS Negotiation failed.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:299 src/lib/new-bnet.c:341 src/lib/bnet.c:293
-#: src/lib/bnet.c:335
-msgid ""
-"TLS certificate verification failed. Peer certificate did not match a "
-"required commonName\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:348 src/lib/bnet.c:342
-#, c-format
-msgid ""
-"TLS host certificate verification failed. Host name \"%s\" did not match "
-"presented certificate\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:365 src/lib/bnet.c:359
-msgid "TLS enabled but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:371 src/lib/bnet.c:365
-msgid "TLS enable but not configured.\n"
-msgstr ""
-
-#: src/lib/new-bnet.c:487 src/lib/bnet.c:481
-msgid "No problem."
-msgstr ""
-
-#: src/lib/new-bnet.c:490 src/lib/bnet.c:484
-msgid "Authoritative answer for host not found."
-msgstr ""
-
-#: src/lib/new-bnet.c:493 src/lib/bnet.c:487
-msgid "Non-authoritative for host not found, or ServerFail."
-msgstr ""
-
-#: src/lib/new-bnet.c:496 src/lib/bnet.c:490
-msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
-msgstr ""
-
-#: src/lib/new-bnet.c:499 src/lib/bnet.c:493
-msgid "Valid name, no data record of resquested type."
-msgstr ""
-
-#: src/lib/new-bnet.c:502 src/lib/bnet.c:496
-msgid "Unknown error."
-msgstr ""
-
-#: src/lib/new-bnet.c:757 src/lib/bnet.c:755
-#, c-format
-msgid "Unknown sig %d"
-msgstr ""
-
#: src/lib/bpipe.c:361 src/lib/bpipe.c:444
msgid "Program killed by Bacula (timeout)\n"
msgstr ""
@@ -12344,7 +12356,7 @@ msgstr ""
msgid "Truncate"
msgstr ""
-#: src/lib/util.c:409 src/filed/restore.c:1158
+#: src/lib/util.c:409 src/filed/restore.c:1164
msgid "None"
msgstr ""
@@ -12394,7 +12406,7 @@ msgstr ""
#: src/lib/util.c:753 src/lib/util.c:763 src/lib/util.c:771 src/lib/util.c:778
#: src/lib/util.c:785 src/lib/util.c:799 src/lib/util.c:809 src/lib/util.c:822
-#: src/lib/util.c:833 src/filed/restore.c:1174
+#: src/lib/util.c:833 src/filed/restore.c:1180
msgid "*none*"
msgstr ""
@@ -12606,20 +12618,20 @@ msgstr ""
msgid "pthread_setspecific failed: ERR=%s\n"
msgstr ""
-#: src/lib/jcr.c:1097
+#: src/lib/jcr.c:1103
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Storage "
"daemon.\n"
msgstr ""
-#: src/lib/jcr.c:1109
+#: src/lib/jcr.c:1115
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"
msgstr ""
-#: src/lib/jcr.c:1121
+#: src/lib/jcr.c:1127
#, c-format
msgid ""
"Watchdog sending kill after %d secs to thread stalled reading Director.\n"
@@ -12805,203 +12817,271 @@ msgstr ""
msgid "Invalid errno. No error message possible."
msgstr ""
+#: src/lib/bnet.c:134
+#, c-format
+msgid "Attr spool write error. ERR=%s\n"
+msgstr ""
+
+#: src/lib/bnet.c:279 src/lib/bnet.c:320
+msgid "TLS connection initialization failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:287
+msgid "TLS Negotiation failed.\n"
+msgstr ""
+
+#: src/lib/bnet.c:293 src/lib/bnet.c:335
+msgid ""
+"TLS certificate verification failed. Peer certificate did not match a "
+"required commonName\n"
+msgstr ""
+
+#: src/lib/bnet.c:342
+#, c-format
+msgid ""
+"TLS host certificate verification failed. Host name \"%s\" did not match "
+"presented certificate\n"
+msgstr ""
+
+#: src/lib/bnet.c:359
+msgid "TLS enabled but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:365
+msgid "TLS enable but not configured.\n"
+msgstr ""
+
+#: src/lib/bnet.c:481
+msgid "No problem."
+msgstr ""
+
+#: src/lib/bnet.c:484
+msgid "Authoritative answer for host not found."
+msgstr ""
+
+#: src/lib/bnet.c:487
+msgid "Non-authoritative for host not found, or ServerFail."
+msgstr ""
+
+#: src/lib/bnet.c:490
+msgid "Non-recoverable errors, FORMERR, REFUSED, or NOTIMP."
+msgstr ""
+
+#: src/lib/bnet.c:493
+msgid "Valid name, no data record of resquested type."
+msgstr ""
+
+#: src/lib/bnet.c:496
+msgid "Unknown error."
+msgstr ""
+
+#: src/lib/bnet.c:755
+#, c-format
+msgid "Unknown sig %d"
+msgstr ""
+
#: src/lib/signal.c:67
msgid "Invalid signal number"
msgstr ""
-#: src/lib/signal.c:151 src/lib/signal.c:153
+#: src/lib/signal.c:152 src/lib/signal.c:154
#, c-format
msgid "Bacula interrupted by signal %d: %s\n"
msgstr ""
-#: src/lib/signal.c:166
+#: src/lib/signal.c:167
#, c-format
msgid "Kaboom! %s, %s got signal %d - %s. Attempting traceback.\n"
msgstr ""
-#: src/lib/signal.c:168
+#: src/lib/signal.c:169
#, c-format
msgid "Kaboom! exepath=%s\n"
msgstr ""
-#: src/lib/signal.c:202
+#: src/lib/signal.c:210
#, c-format
msgid "Fork error: ERR=%s\n"
msgstr ""
-#: src/lib/signal.c:210
+#: src/lib/signal.c:218
#, c-format
msgid "Calling: %s %s %s %s\n"
msgstr ""
-#: src/lib/signal.c:214
+#: src/lib/signal.c:222
#, c-format
msgid "execv: %s failed: ERR=%s\n"
msgstr ""
-#: src/lib/signal.c:235
+#: src/lib/signal.c:244
#, c-format
-msgid "It looks like the traceback worked ...\n"
+msgid "It looks like the traceback worked...\n"
msgstr ""
-#: src/lib/signal.c:289
+#: src/lib/signal.c:246
+#, c-format
+msgid "The btraceback call returned %d\n"
+msgstr ""
+
+#: src/lib/signal.c:306
#, c-format
msgid "BA_NSIG too small (%d) should be (%d)\n"
msgstr ""
-#: src/lib/signal.c:295
+#: src/lib/signal.c:312
msgid "UNKNOWN SIGNAL"
msgstr ""
-#: src/lib/signal.c:296
+#: src/lib/signal.c:313
msgid "Hangup"
msgstr ""
-#: src/lib/signal.c:297
+#: src/lib/signal.c:314
msgid "Interrupt"
msgstr ""
-#: src/lib/signal.c:298
+#: src/lib/signal.c:315
msgid "Quit"
msgstr ""
-#: src/lib/signal.c:299
+#: src/lib/signal.c:316
msgid "Illegal instruction"
msgstr ""
-#: src/lib/signal.c:300
+#: src/lib/signal.c:317
msgid "Trace/Breakpoint trap"
msgstr ""
-#: src/lib/signal.c:301
+#: src/lib/signal.c:318
msgid "Abort"
msgstr ""
-#: src/lib/signal.c:303
+#: src/lib/signal.c:320
msgid "EMT instruction (Emulation Trap)"
msgstr ""
-#: src/lib/signal.c:306
+#: src/lib/signal.c:323
msgid "IOT trap"
msgstr ""
-#: src/lib/signal.c:308
+#: src/lib/signal.c:325
msgid "BUS error"
msgstr ""
-#: src/lib/signal.c:309
+#: src/lib/signal.c:326
msgid "Floating-point exception"
msgstr ""
-#: src/lib/signal.c:310
+#: src/lib/signal.c:327
msgid "Kill, unblockable"
msgstr ""
-#: src/lib/signal.c:311
+#: src/lib/signal.c:328
msgid "User-defined signal 1"
msgstr ""
-#: src/lib/signal.c:312
+#: src/lib/signal.c:329
msgid "Segmentation violation"
msgstr ""
-#: src/lib/signal.c:313
+#: src/lib/signal.c:330
msgid "User-defined signal 2"
msgstr ""
-#: src/lib/signal.c:314
+#: src/lib/signal.c:331
msgid "Broken pipe"
msgstr ""
-#: src/lib/signal.c:315
+#: src/lib/signal.c:332
msgid "Alarm clock"
msgstr ""
-#: src/lib/signal.c:316
+#: src/lib/signal.c:333
msgid "Termination"
msgstr ""
-#: src/lib/signal.c:318
+#: src/lib/signal.c:335
msgid "Stack fault"
msgstr ""
-#: src/lib/signal.c:320
+#: src/lib/signal.c:337
msgid "Child status has changed"
msgstr ""
-#: src/lib/signal.c:321
+#: src/lib/signal.c:338
msgid "Continue"
msgstr ""
-#: src/lib/signal.c:322
+#: src/lib/signal.c:339
msgid "Stop, unblockable"
msgstr ""
-#: src/lib/signal.c:323
+#: src/lib/signal.c:340
msgid "Keyboard stop"
msgstr ""
-#: src/lib/signal.c:324
+#: src/lib/signal.c:341
msgid "Background read from tty"
msgstr ""
-#: src/lib/signal.c:325
+#: src/lib/signal.c:342
msgid "Background write to tty"
msgstr ""
-#: src/lib/signal.c:326
+#: src/lib/signal.c:343
msgid "Urgent condition on socket"
msgstr ""
-#: src/lib/signal.c:327
+#: src/lib/signal.c:344
msgid "CPU limit exceeded"
msgstr ""
-#: src/lib/signal.c:328
+#: src/lib/signal.c:345
msgid "File size limit exceeded"
msgstr ""
-#: src/lib/signal.c:329
+#: src/lib/signal.c:346
msgid "Virtual alarm clock"
msgstr ""
-#: src/lib/signal.c:330
+#: src/lib/signal.c:347
msgid "Profiling alarm clock"
msgstr ""
-#: src/lib/signal.c:331
+#: src/lib/signal.c:348
msgid "Window size change"
msgstr ""
-#: src/lib/signal.c:332
+#: src/lib/signal.c:349
msgid "I/O now possible"
msgstr ""
-#: src/lib/signal.c:334
+#: src/lib/signal.c:351
msgid "Power failure restart"
msgstr ""
-#: src/lib/signal.c:337
+#: src/lib/signal.c:354
msgid "No runnable lwp"
msgstr ""
-#: src/lib/signal.c:340
+#: src/lib/signal.c:357
msgid "SIGLWP special signal used by thread library"
msgstr ""
-#: src/lib/signal.c:343
+#: src/lib/signal.c:360
msgid "Checkpoint Freeze"
msgstr ""
-#: src/lib/signal.c:346
+#: src/lib/signal.c:363
msgid "Checkpoint Thaw"
msgstr ""
-#: src/lib/signal.c:349
+#: src/lib/signal.c:366
msgid "Thread Cancellation"
msgstr ""
-#: src/lib/signal.c:352
+#: src/lib/signal.c:369
msgid "Resource Lost (e.g. record-lock lost)"
msgstr ""
@@ -13027,47 +13107,47 @@ msgstr ""
msgid "safe_unlink could not compile regex pattern \"%s\" ERR=%s\n"
msgstr "Не вдалось створити %s: ERR=%s\n"
-#: src/lib/bsys.c:262 src/lib/bsys.c:279 src/lib/bsys.c:303 src/lib/bsys.c:316
+#: src/lib/bsys.c:261 src/lib/bsys.c:278 src/lib/bsys.c:302 src/lib/bsys.c:315
#, c-format
msgid "Out of memory: ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:358
+#: src/lib/bsys.c:357
msgid "Buffer overflow.\n"
msgstr ""
-#: src/lib/bsys.c:424
+#: src/lib/bsys.c:423
msgid "Bad errno"
msgstr ""
-#: src/lib/bsys.c:439
+#: src/lib/bsys.c:438
#, c-format
msgid "Memset for %d bytes at %s:%d\n"
msgstr ""
-#: src/lib/bsys.c:469
+#: src/lib/bsys.c:468
#, c-format
msgid "Cannot open pid file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:484
+#: src/lib/bsys.c:483
#, c-format
msgid ""
"%s is already running. pid=%d\n"
"Check file %s\n"
msgstr ""
-#: src/lib/bsys.c:498
+#: src/lib/bsys.c:497
#, c-format
msgid "Could not open pid file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:609
+#: src/lib/bsys.c:608
#, c-format
msgid "Could not create state file. %s ERR=%s\n"
msgstr ""
-#: src/lib/bsys.c:628
+#: src/lib/bsys.c:627
#, c-format
msgid "Write final hdr error: ERR=%s\n"
msgstr ""
@@ -13115,98 +13195,98 @@ msgstr ""
msgid "Close of NULL file\n"
msgstr ""
-#: src/lib/lex.c:224
+#: src/lib/lex.c:226
msgid ""
"get_char: called after EOF. You may have a open double quote without the "
"closing double quote.\n"
msgstr ""
-#: src/lib/lex.c:267
+#: src/lib/lex.c:268
#, c-format
msgid "Config token too long, file: %s, line %d, begins at line %d\n"
msgstr ""
-#: src/lib/lex.c:291
+#: src/lib/lex.c:292
msgid "none"
msgstr ""
-#: src/lib/lex.c:292
+#: src/lib/lex.c:293
msgid "comment"
msgstr ""
-#: src/lib/lex.c:293
+#: src/lib/lex.c:294
msgid "number"
msgstr ""
-#: src/lib/lex.c:294
+#: src/lib/lex.c:295
msgid "ip_addr"
msgstr ""
-#: src/lib/lex.c:295
+#: src/lib/lex.c:296
msgid "identifier"
msgstr ""
-#: src/lib/lex.c:296
+#: src/lib/lex.c:297
msgid "string"
msgstr ""
-#: src/lib/lex.c:297
+#: src/lib/lex.c:298
msgid "quoted_string"
msgstr ""
-#: src/lib/lex.c:298
+#: src/lib/lex.c:299
msgid "include"
msgstr ""
-#: src/lib/lex.c:299
+#: src/lib/lex.c:300
msgid "include_quoted_string"
msgstr ""
-#: src/lib/lex.c:300
+#: src/lib/lex.c:301
msgid "UTF-8 Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:301
+#: src/lib/lex.c:302
msgid "UTF-16le Byte Order Mark"
msgstr ""
-#: src/lib/lex.c:339 src/lib/lex.c:345 src/lib/lex.c:356 src/lib/lex.c:362
+#: src/lib/lex.c:340 src/lib/lex.c:346 src/lib/lex.c:357 src/lib/lex.c:363
#, c-format
msgid "expected a positive integer number, got: %s"
msgstr ""
-#: src/lib/lex.c:478
+#: src/lib/lex.c:479
msgid ""
"This config file appears to be in an unsupported Unicode format (UTF-16be). "
"Please resave as UTF-8\n"
msgstr ""
-#: src/lib/lex.c:617 src/lib/lex.c:645
+#: src/lib/lex.c:625 src/lib/lex.c:653
#, c-format
msgid "Cannot open included config file %s: %s\n"
msgstr ""
-#: src/lib/lex.c:704 src/lib/lex.c:761
+#: src/lib/lex.c:712 src/lib/lex.c:769
#, c-format
msgid "expected an integer or a range, got %s: %s"
msgstr ""
-#: src/lib/lex.c:718 src/lib/lex.c:726 src/lib/lex.c:737 src/lib/lex.c:745
+#: src/lib/lex.c:726 src/lib/lex.c:734 src/lib/lex.c:745 src/lib/lex.c:753
#, c-format
msgid "expected an integer number, got %s: %s"
msgstr ""
-#: src/lib/lex.c:775
+#: src/lib/lex.c:783
#, c-format
msgid "expected a name, got %s: %s"
msgstr ""
-#: src/lib/lex.c:779
+#: src/lib/lex.c:787
#, c-format
msgid "name %s length %d too long, max is %d\n"
msgstr ""
-#: src/lib/lex.c:787
+#: src/lib/lex.c:795
#, c-format
msgid "expected a string, got %s: %s"
msgstr ""
@@ -13896,45 +13976,60 @@ msgstr "Специфічні атрибути FreeBSD Access ACL"
#: src/findlib/bfile.c:191
#, fuzzy
+msgid "GNU Hurd Specific Default ACL attribs"
+msgstr "Специфічні атрибути Irix Default ACL"
+
+#: src/findlib/bfile.c:193
+#, fuzzy
+msgid "GNU Hurd Specific Access ACL attribs"
+msgstr "Специфічні атрибути Irix Access ACL"
+
+#: src/findlib/bfile.c:195
+#, fuzzy
+msgid "GNU Hurd Specific Extended attribs"
+msgstr "Специфічні додаткові атрибути Linux"
+
+#: src/findlib/bfile.c:197
+#, fuzzy
msgid "IRIX Specific Extended attribs"
msgstr "Специфічні додаткові атрибути Linux"
-#: src/findlib/bfile.c:193
+#: src/findlib/bfile.c:199
#, fuzzy
msgid "TRU64 Specific Extended attribs"
msgstr "Специфічні додаткові атрибути Linux"
-#: src/findlib/bfile.c:195
+#: src/findlib/bfile.c:201
#, fuzzy
msgid "AIX Specific Extended attribs"
msgstr "Специфічні додаткові атрибути Linux"
-#: src/findlib/bfile.c:197
+#: src/findlib/bfile.c:203
#, fuzzy
msgid "OpenBSD Specific Extended attribs"
msgstr "Специфічні додаткові атрибути NetBSD"
-#: src/findlib/bfile.c:199
+#: src/findlib/bfile.c:205
msgid "Solaris Specific Extensible attribs or System Extended attribs"
msgstr ""
-#: src/findlib/bfile.c:201
+#: src/findlib/bfile.c:207
msgid "Solaris Specific Extended attribs"
msgstr "Специфічні додаткові атрибути Solaris"
-#: src/findlib/bfile.c:203
+#: src/findlib/bfile.c:209
msgid "Darwin Specific Extended attribs"
msgstr "Специфічні додаткові атрибути Darwin"
-#: src/findlib/bfile.c:205
+#: src/findlib/bfile.c:211
msgid "FreeBSD Specific Extended attribs"
msgstr "Специфічні додаткові атрибути FreeBS"
-#: src/findlib/bfile.c:207
+#: src/findlib/bfile.c:213
msgid "Linux Specific Extended attribs"
msgstr "Специфічні додаткові атрибути Linux"
-#: src/findlib/bfile.c:209
+#: src/findlib/bfile.c:215
msgid "NetBSD Specific Extended attribs"
msgstr "Специфічні додаткові атрибути NetBSD"
@@ -13948,27 +14043,27 @@ msgstr ""
msgid "Unknown include/exclude option: %c\n"
msgstr "Не зрозуміла опція параметру include/exclude: %c\n"
-#: src/findlib/find_one.c:223
+#: src/findlib/find_one.c:227
#, c-format
msgid " NODUMP flag set - will not process %s\n"
msgstr ""
-#: src/findlib/find_one.c:244
+#: src/findlib/find_one.c:248
#, c-format
msgid "Cannot stat file %s: ERR=%s\n"
msgstr ""
-#: src/findlib/find_one.c:249
+#: src/findlib/find_one.c:253
#, c-format
msgid "%s mtime changed during backup.\n"
msgstr "%s mtime змінився під час резервування.\n"
-#: src/findlib/find_one.c:256
+#: src/findlib/find_one.c:260
#, c-format
msgid "%s ctime changed during backup.\n"
msgstr "%s ctime змінився під час резервування.\n"
-#: src/findlib/find_one.c:264 src/findlib/find_one.c:272
+#: src/findlib/find_one.c:268 src/findlib/find_one.c:276
#, c-format
msgid "%s size changed during backup.\n"
msgstr "%s розмір змінився під час резервування.\n"
@@ -15755,6 +15850,11 @@ msgstr ""
msgid " SDSocket=closed\n"
msgstr ""
+#: src/filed/status.c:463 src/filed/status.c:496
+#, c-format
+msgid "Bad .status command: %s\n"
+msgstr ""
+
#: src/filed/status.c:464
msgid "2900 Bad .status command, missing argument.\n"
msgstr ""
@@ -15783,276 +15883,276 @@ msgstr ""
msgid "Bacula Client: Last Job had Warnings"
msgstr ""
-#: src/filed/xattr.c:96 src/filed/xattr.c:111 src/filed/xattr.c:119
-#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:107
-#: src/filed/acl.c:122 src/filed/acl.c:130 src/filed/backup.c:999
+#: src/filed/xattr.c:97 src/filed/xattr.c:112 src/filed/xattr.c:120
+#: src/filed/fd_plugins.c:789 src/filed/fd_plugins.c:805 src/filed/acl.c:108
+#: src/filed/acl.c:123 src/filed/acl.c:131 src/filed/backup.c:999
#: src/filed/backup.c:1199 src/filed/backup.c:1236 src/filed/backup.c:1249
-#: src/filed/backup.c:1325 src/filed/backup.c:1423
+#: src/filed/backup.c:1325 src/filed/backup.c:1424
#, c-format
msgid "Network send error to SD. ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:244
+#: src/filed/xattr.c:245
#, c-format
msgid "Illegal xattr stream, no XATTR_MAGIC on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:258
+#: src/filed/xattr.c:259
#, c-format
msgid "Illegal xattr stream, xattr name length <= 0 on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:380 src/filed/xattr.c:416
+#: src/filed/xattr.c:381 src/filed/xattr.c:417
#, fuzzy, c-format
msgid "llistea error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/xattr.c:466 src/filed/xattr.c:519
+#: src/filed/xattr.c:467 src/filed/xattr.c:520
#, fuzzy, c-format
msgid "lgetea error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/xattr.c:555 src/filed/xattr.c:876 src/filed/xattr.c:1340
-#: src/filed/xattr.c:1808 src/filed/xattr.c:2164 src/filed/xattr.c:2940
+#: src/filed/xattr.c:556 src/filed/xattr.c:877 src/filed/xattr.c:1352
+#: src/filed/xattr.c:1820 src/filed/xattr.c:2176 src/filed/xattr.c:2968
#, c-format
msgid "Xattr stream on file \"%s\" exceeds maximum size of %d bytes\n"
msgstr ""
-#: src/filed/xattr.c:575 src/filed/xattr.c:902 src/filed/xattr.c:1360
-#: src/filed/xattr.c:1838 src/filed/xattr.c:2181
+#: src/filed/xattr.c:576 src/filed/xattr.c:903 src/filed/xattr.c:1372
+#: src/filed/xattr.c:1850 src/filed/xattr.c:2193
#, c-format
msgid "Failed to serialize extended attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:642
+#: src/filed/xattr.c:643
#, fuzzy, c-format
msgid "lsetea error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/xattr.c:730 src/filed/xattr.c:768 src/filed/xattr.c:831
-#: src/filed/xattr.c:843
+#: src/filed/xattr.c:731 src/filed/xattr.c:769 src/filed/xattr.c:832
+#: src/filed/xattr.c:844
#, fuzzy, c-format
msgid "attr_list error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/xattr.c:967
+#: src/filed/xattr.c:968
#, c-format
msgid "Received illegal xattr named %s on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1000 src/filed/xattr.c:1010
+#: src/filed/xattr.c:1001 src/filed/xattr.c:1011
#, fuzzy, c-format
msgid "attr_set error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/xattr.c:1149 src/filed/xattr.c:1184
+#: src/filed/xattr.c:1161 src/filed/xattr.c:1196
#, c-format
msgid "llistxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1252 src/filed/xattr.c:1304
+#: src/filed/xattr.c:1264 src/filed/xattr.c:1316
#, c-format
msgid "lgetxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1423
+#: src/filed/xattr.c:1435
#, c-format
msgid "lsetxattr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:1581 src/filed/xattr.c:1616
+#: src/filed/xattr.c:1593 src/filed/xattr.c:1628
#, fuzzy, c-format
msgid "extattr_list_link error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/xattr.c:1636
+#: src/filed/xattr.c:1648
#, c-format
msgid "Failed to convert %d into namespace on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1716 src/filed/xattr.c:1771
+#: src/filed/xattr.c:1728 src/filed/xattr.c:1783
#, fuzzy, c-format
msgid "extattr_get_link error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/xattr.c:1895
+#: src/filed/xattr.c:1907
#, c-format
msgid "Failed to split %s into namespace and name part on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1908
+#: src/filed/xattr.c:1920
#, c-format
msgid "Failed to convert %s into namespace on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:1929
+#: src/filed/xattr.c:1941
#, fuzzy, c-format
msgid "extattr_set_link error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/xattr.c:2032 src/filed/xattr.c:2057
+#: src/filed/xattr.c:2044 src/filed/xattr.c:2069
#, fuzzy, c-format
msgid "getproplist error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/xattr.c:2250
+#: src/filed/xattr.c:2262
#, c-format
msgid "Unable create proper proplist to restore xattrs on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:2279
+#: src/filed/xattr.c:2291
#, fuzzy, c-format
msgid "setproplist error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/xattr.c:2581 src/filed/xattr.c:2634
+#: src/filed/xattr.c:2609 src/filed/xattr.c:2662
#, c-format
msgid "Unable to get acl on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2651
+#: src/filed/xattr.c:2679
#, c-format
msgid "Unable to get acl text on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2725
+#: src/filed/xattr.c:2753
#, c-format
msgid "Unable to get status on xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2858
+#: src/filed/xattr.c:2886
#, c-format
msgid "Unable to open xattr %s on \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2881
+#: src/filed/xattr.c:2909
#, c-format
msgid "Unable to read symlin %s on \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:2956
+#: src/filed/xattr.c:2984
#, c-format
msgid "Unable to read content of xattr %s on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:2996
+#: src/filed/xattr.c:3024
#, c-format
msgid "Unable to chdir to xattr space of file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3053 src/filed/xattr.c:3302
+#: src/filed/xattr.c:3081 src/filed/xattr.c:3330
#, c-format
msgid "Unable to open file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3081 src/filed/xattr.c:3363
+#: src/filed/xattr.c:3109 src/filed/xattr.c:3391
#, c-format
msgid "Unable to open xattr space %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3097 src/filed/xattr.c:3327
+#: src/filed/xattr.c:3125 src/filed/xattr.c:3355
#, c-format
msgid "Unable to chdir to xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3118
+#: src/filed/xattr.c:3146
#, c-format
msgid "Unable to list the xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3210
+#: src/filed/xattr.c:3238
#, c-format
msgid "Unable to convert acl from text on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3220 src/filed/xattr.c:3243
+#: src/filed/xattr.c:3248 src/filed/xattr.c:3271
#, c-format
msgid "Unable to restore acl of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3316
+#: src/filed/xattr.c:3344
#, c-format
msgid "Unable to open xattr space on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3346 src/filed/xattr.c:3508
+#: src/filed/xattr.c:3374 src/filed/xattr.c:3536
#, c-format
msgid "Unable to open xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3380
+#: src/filed/xattr.c:3408
#, c-format
msgid "Unable to chdir to xattr space %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3420
+#: src/filed/xattr.c:3448
#, c-format
msgid "Unable to mkfifo xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3438
+#: src/filed/xattr.c:3466
#, c-format
msgid "Unable to mknod xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3456
+#: src/filed/xattr.c:3484
#, c-format
msgid "Unable to mkdir xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3476
+#: src/filed/xattr.c:3504
#, c-format
msgid "Unable to link xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3529
+#: src/filed/xattr.c:3557
#, c-format
msgid ""
"Unable to restore data of xattr %s on file \"%s\": Not all data available in "
"xattr stream\n"
msgstr ""
-#: src/filed/xattr.c:3542
+#: src/filed/xattr.c:3570
#, c-format
msgid "Unable to restore data of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3565
+#: src/filed/xattr.c:3593
#, c-format
msgid "Unable to symlink xattr %s to %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3601
+#: src/filed/xattr.c:3629
#, c-format
msgid "Unable to restore owner of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3629
+#: src/filed/xattr.c:3657
#, c-format
msgid "Unable to restore filetimes of xattr %s on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/xattr.c:3645
+#: src/filed/xattr.c:3673
#, c-format
msgid "Illegal xattr stream, failed to parse xattr stream on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3707
+#: src/filed/xattr.c:3734
#, c-format
msgid "Failed to restore extensible attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3720
+#: src/filed/xattr.c:3747
#, c-format
msgid "Failed to restore extended attributes on file \"%s\"\n"
msgstr ""
-#: src/filed/xattr.c:3814 src/filed/acl.c:2253
+#: src/filed/xattr.c:3841 src/filed/acl.c:2265
#, fuzzy, c-format
msgid "Unable to stat file \"%s\": ERR=%s\n"
msgstr "Не можливо встановити власника файлу %s: ERR=%s\n"
-#: src/filed/xattr.c:3864
+#: src/filed/xattr.c:3891
#, c-format
msgid ""
"Can't restore Extended Attributes of %s - incompatible xattr stream "
@@ -16191,189 +16291,189 @@ msgstr ""
msgid "No Director resource defined in %s\n"
msgstr ""
-#: src/filed/acl.c:228 src/filed/acl.c:253
+#: src/filed/acl.c:229 src/filed/acl.c:254
#, fuzzy, c-format
msgid "aclx_get error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/acl.c:279
+#: src/filed/acl.c:280
#, fuzzy, c-format
msgid "Unknown acl type encountered on file \"%s\": %ld\n"
msgstr "Невідомий тип файлу %d: не відновлено: %s\n"
-#: src/filed/acl.c:303 src/filed/acl.c:312
+#: src/filed/acl.c:304 src/filed/acl.c:313
#, fuzzy, c-format
msgid "Failed to convert acl into text on file \"%s\"\n"
msgstr "Ініціалізація контексту TLS для Консолі невдала \"%s\".\n"
-#: src/filed/acl.c:385
+#: src/filed/acl.c:386
#, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without AIXC acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:393
+#: src/filed/acl.c:394
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without NFS4 acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:441 src/filed/acl.c:451
+#: src/filed/acl.c:442 src/filed/acl.c:452
#, fuzzy, c-format
msgid "aclx_scanStr error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/acl.c:477
+#: src/filed/acl.c:478
#, fuzzy, c-format
msgid "aclx_put error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/acl.c:819
+#: src/filed/acl.c:823
#, c-format
msgid "acl_to_text error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:849
+#: src/filed/acl.c:853
#, c-format
msgid "acl_get_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:902
+#: src/filed/acl.c:906
#, c-format
msgid ""
"acl_delete_def_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:908
+#: src/filed/acl.c:912
#, c-format
msgid "acl_delete_def_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:919
+#: src/filed/acl.c:923
#, c-format
msgid "acl_from_text error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:935
+#: src/filed/acl.c:939
#, fuzzy, c-format
msgid "acl_valid error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/acl.c:967
+#: src/filed/acl.c:971
#, c-format
msgid "acl_set_file error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:976
+#: src/filed/acl.c:980
#, c-format
msgid "acl_set_file error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1083 src/filed/acl.c:1112 src/filed/acl.c:1226
-#: src/filed/acl.c:1726 src/filed/acl.c:1833
+#: src/filed/acl.c:1087 src/filed/acl.c:1116 src/filed/acl.c:1230
+#: src/filed/acl.c:1738 src/filed/acl.c:1845
#, c-format
msgid "pathconf error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1242
+#: src/filed/acl.c:1246
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without %s acl support\n"
msgstr ""
-#: src/filed/acl.c:1519
+#: src/filed/acl.c:1531
#, c-format
msgid "getacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1554
+#: src/filed/acl.c:1566
#, c-format
msgid "acltostr error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1576 src/filed/acl.c:1586
+#: src/filed/acl.c:1588 src/filed/acl.c:1598
#, c-format
msgid "strtoacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1615
+#: src/filed/acl.c:1627
#, c-format
msgid "setacl error on file \"%s\": filesystem doesn't support ACLs\n"
msgstr ""
-#: src/filed/acl.c:1623
+#: src/filed/acl.c:1635
#, c-format
msgid "setacl error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1748
+#: src/filed/acl.c:1760
#, c-format
msgid "acl_get error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1822
+#: src/filed/acl.c:1834
#, c-format
msgid ""
"Trying to restore acl on file \"%s\" on filesystem without acl support\n"
msgstr ""
-#: src/filed/acl.c:1851
+#: src/filed/acl.c:1863
#, c-format
msgid ""
"Trying to restore POSIX acl on file \"%s\" on filesystem without aclent acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:1862
+#: src/filed/acl.c:1874
#, c-format
msgid ""
"Trying to restore NFSv4 acl on file \"%s\" on filesystem without ace acl "
"support\n"
msgstr ""
-#: src/filed/acl.c:1878
+#: src/filed/acl.c:1890
#, c-format
msgid "acl_fromtext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:1892 src/filed/acl.c:1900
+#: src/filed/acl.c:1904 src/filed/acl.c:1912
#, c-format
msgid "wrong encoding of acl type in acl stream on file \"%s\"\n"
msgstr ""
-#: src/filed/acl.c:1925
+#: src/filed/acl.c:1937
#, c-format
msgid "acl_set error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2011
+#: src/filed/acl.c:2023
#, c-format
msgid "acltotext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2034
+#: src/filed/acl.c:2046
#, c-format
msgid "aclfromtext error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2054
+#: src/filed/acl.c:2066
#, c-format
msgid "acl(SETACL) error on file \"%s\": ERR=%s\n"
msgstr ""
-#: src/filed/acl.c:2120
+#: src/filed/acl.c:2132
#, fuzzy, c-format
msgid "pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/acl.c:2148
+#: src/filed/acl.c:2160
#, fuzzy, c-format
msgid "pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/acl.c:2351
+#: src/filed/acl.c:2363
#, c-format
msgid "Can't restore ACLs of %s - incompatible acl stream encountered - %d\n"
msgstr ""
@@ -16382,17 +16482,17 @@ msgstr ""
msgid "Storage command not issued before Verify.\n"
msgstr ""
-#: src/filed/verify_vol.c:97 src/filed/restore.c:483
+#: src/filed/verify_vol.c:97 src/filed/restore.c:486
#, c-format
msgid "Record header scan error: %s\n"
msgstr ""
-#: src/filed/verify_vol.c:106 src/filed/restore.c:495
+#: src/filed/verify_vol.c:106 src/filed/restore.c:498
#, c-format
msgid "Data record error. ERR=%s\n"
msgstr ""
-#: src/filed/verify_vol.c:110 src/filed/restore.c:499
+#: src/filed/verify_vol.c:110 src/filed/restore.c:502
#, c-format
msgid "Actual data size %d not same as header %d\n"
msgstr ""
@@ -16552,7 +16652,7 @@ msgstr ""
msgid "Invalid file flags, no supported data stream type.\n"
msgstr ""
-#: src/filed/backup.c:1546
+#: src/filed/backup.c:1549
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
@@ -16572,193 +16672,193 @@ msgstr ""
msgid "Could not set Finder Info on %s\n"
msgstr "Не вдалось перевстановити прапорці для файлу %s: ERR=%s\n"
-#: src/filed/restore.c:415
+#: src/filed/restore.c:418
#, fuzzy
msgid "LZO init failed\n"
msgstr "Невдале встановлення з'єднання TLS\n"
-#: src/filed/restore.c:657
+#: src/filed/restore.c:660
msgid "Unexpected cryptographic session data stream.\n"
msgstr ""
-#: src/filed/restore.c:667
+#: src/filed/restore.c:670
msgid ""
"No private decryption keys have been defined to decrypt encrypted backup "
"data.\n"
msgstr ""
-#: src/filed/restore.c:678
+#: src/filed/restore.c:681
msgid "Could not create digest.\n"
msgstr "Не можливо створити відбиток.\n"
-#: src/filed/restore.c:696
+#: src/filed/restore.c:699
msgid "Missing private key required to decrypt encrypted backup data.\n"
msgstr ""
-#: src/filed/restore.c:699
+#: src/filed/restore.c:702
msgid "Decrypt of the session key failed.\n"
msgstr ""
-#: src/filed/restore.c:705
+#: src/filed/restore.c:708
#, c-format
msgid "An error occurred while decoding encrypted session data stream: %s\n"
msgstr ""
-#: src/filed/restore.c:772 src/filed/restore.c:825
+#: src/filed/restore.c:775 src/filed/restore.c:828
#, c-format
msgid "Missing encryption session data stream for %s\n"
msgstr ""
-#: src/filed/restore.c:780 src/filed/restore.c:832
+#: src/filed/restore.c:783 src/filed/restore.c:835
#, c-format
msgid "Failed to initialize decryption context for %s\n"
msgstr ""
-#: src/filed/restore.c:844
+#: src/filed/restore.c:847
#, fuzzy, c-format
msgid "Cannot open resource fork for %s.\n"
msgstr "Не вдається відкрити файл %s для виведення. ERR=%s\n"
-#: src/filed/restore.c:986
+#: src/filed/restore.c:992
msgid "Unexpected cryptographic signature data stream.\n"
msgstr ""
-#: src/filed/restore.c:994
+#: src/filed/restore.c:1000
#, c-format
msgid "Failed to decode message signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1058
+#: src/filed/restore.c:1064
#, c-format
msgid "Encountered %ld acl errors while doing restore\n"
msgstr ""
-#: src/filed/restore.c:1062
+#: src/filed/restore.c:1068
#, c-format
msgid "Encountered %ld xattr errors while doing restore\n"
msgstr ""
-#: src/filed/restore.c:1066
+#: src/filed/restore.c:1072
#, c-format
msgid ""
"%d non-supported data streams and %d non-supported attrib streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1070
+#: src/filed/restore.c:1076
#, c-format
msgid "%d non-supported resource fork streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1073
+#: src/filed/restore.c:1079
#, c-format
msgid "%d non-supported Finder Info streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1076
+#: src/filed/restore.c:1082
#, c-format
msgid "%d non-supported acl streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1079
+#: src/filed/restore.c:1085
#, c-format
msgid "%d non-supported crypto streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1082
+#: src/filed/restore.c:1088
#, c-format
msgid "%d non-supported xattr streams ignored.\n"
msgstr ""
-#: src/filed/restore.c:1162
+#: src/filed/restore.c:1168
msgid "Zlib errno"
msgstr ""
-#: src/filed/restore.c:1164
+#: src/filed/restore.c:1170
msgid "Zlib stream error"
msgstr ""
-#: src/filed/restore.c:1166
+#: src/filed/restore.c:1172
msgid "Zlib data error"
msgstr ""
-#: src/filed/restore.c:1168
+#: src/filed/restore.c:1174
msgid "Zlib memory error"
msgstr ""
-#: src/filed/restore.c:1170
+#: src/filed/restore.c:1176
msgid "Zlib buffer error"
msgstr ""
-#: src/filed/restore.c:1172
+#: src/filed/restore.c:1178
msgid "Zlib version error"
msgstr ""
-#: src/filed/restore.c:1212
+#: src/filed/restore.c:1218
#, c-format
msgid "Missing cryptographic signature for %s\n"
msgstr ""
-#: src/filed/restore.c:1245 src/filed/restore.c:1274
+#: src/filed/restore.c:1251 src/filed/restore.c:1280
#, c-format
msgid "Signature validation failed for file %s: ERR=%s\n"
msgstr ""
-#: src/filed/restore.c:1262
+#: src/filed/restore.c:1268
#, c-format
msgid "Digest one file failed for file: %s\n"
msgstr ""
-#: src/filed/restore.c:1301
+#: src/filed/restore.c:1307
#, c-format
msgid "Signature validation failed for %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1398
+#: src/filed/restore.c:1404
#, fuzzy, c-format
msgid "LZO uncompression error on file %s. ERR=%d\n"
msgstr "Помилка у %s файл %s: ERR=%s\n"
-#: src/filed/restore.c:1435
+#: src/filed/restore.c:1441
#, c-format
msgid "Uncompression error on file %s. ERR=%s\n"
msgstr ""
-#: src/filed/restore.c:1468
+#: src/filed/restore.c:1474
#, c-format
msgid "Write error in Win32 Block Decomposition on %s: %s\n"
msgstr ""
-#: src/filed/restore.c:1527
+#: src/filed/restore.c:1533
msgid "Decryption error\n"
msgstr ""
-#: src/filed/restore.c:1620
+#: src/filed/restore.c:1626
msgid "Logic error: output file should be open\n"
msgstr ""
-#: src/filed/restore.c:1658
+#: src/filed/restore.c:1664
msgid "Logic error: output file should not be open\n"
msgstr ""
-#: src/filed/restore.c:1692
+#: src/filed/restore.c:1698
#, c-format
msgid "Decryption error. buf_len=%d decrypt_len=%d on file %s\n"
msgstr ""
-#: src/filed/restore.c:1813
+#: src/filed/restore.c:1819
msgid "Open File Manager paused\n"
msgstr ""
-#: src/filed/restore.c:1817
+#: src/filed/restore.c:1823
msgid "FAILED to pause Open File Manager\n"
msgstr ""
-#: src/filed/restore.c:1825
+#: src/filed/restore.c:1831
#, c-format
msgid "Running as '%s'. Privmask=%#08x\n"
msgstr ""
-#: src/filed/restore.c:1827
+#: src/filed/restore.c:1833
msgid "Failed to retrieve current UserName\n"
msgstr ""
@@ -17037,7 +17137,7 @@ msgid ""
"Version: "
msgstr ""
-#: src/baconfig.h:72 src/baconfig.h:73
+#: src/baconfig.h:72 src/baconfig.h:73 src/baconfig.h:78 src/baconfig.h:79
#, c-format
msgid "Failed ASSERT: %s\n"
msgstr ""
@@ -18063,15 +18163,15 @@ msgstr "Виконання команди ..."
msgid "At main prompt waiting for input ..."
msgstr "Очікуться введення у основній рядку ..."
-#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:381
+#: src/qt-console/bcomm/dircomm.cpp:369 src/qt-console/bcomm/dircomm.cpp:382
msgid "At prompt waiting for input ..."
msgstr "Очікуться введення у рядку ..."
-#: src/qt-console/bcomm/dircomm.cpp:389
+#: src/qt-console/bcomm/dircomm.cpp:390
msgid "Command failed."
msgstr "Помилка команди"
-#: src/qt-console/bcomm/dircomm.cpp:462
+#: src/qt-console/bcomm/dircomm.cpp:463
msgid "Director disconnected."
msgstr "Керівник від'єднано"
diff --git a/release/clean b/release/clean
index 72f24be..4a547d5 100755
--- a/release/clean
+++ b/release/clean
@@ -1,4 +1,4 @@
#!/bin/sh
# Remove old baculas
-rm -f bacula-*
+rm -f bacula-* win*.log
diff --git a/release/makeall b/release/makeall
index ce60e11..7a90791 100755
--- a/release/makeall
+++ b/release/makeall
@@ -12,7 +12,7 @@ cd $cwd
./makebacularel $bacula $remote $branch $ver
./makedocsrel $bacula $docs $remote $branch $ver
-./makewinrel $bacula $remote $branch $ver | tee win$$.log
+#./makewinrel $bacula $remote $branch $ver | tee win$$.log
# strip ./configure strerror from Win log file
sed -i -e 's%strerror%%' win$$.log
diff --git a/release/makedocsrel b/release/makedocsrel
index e6281bc..10d34a3 100755
--- a/release/makedocsrel
+++ b/release/makedocsrel
@@ -97,6 +97,7 @@ mv docs $base_pkg-$ver
cd $base_pkg-$ver
./configure --with-bacula=$bsrc
make en
+make clean
cd ${cwd}
echo "Tarring docs ..."
tar cf $base_pkg-$ver.tar $base_pkg-$ver
diff --git a/src/baconfig.h b/src/baconfig.h
index cbcd954..58661cb 100644
--- a/src/baconfig.h
+++ b/src/baconfig.h
@@ -58,7 +58,7 @@
#define ioctl_req_t int
#endif
-#define MANUAL_AUTH_URL "http://www.bacula.org/en/rel-manual/Bacula_Freque_Asked_Questi.html#SECTION003760000000000000000"
+#define MANUAL_AUTH_URL "http://www.bacula.org/en/rel-manual/Bacula_Freque_Asked_Questi.html#SECTION00260000000000000000"
#ifdef PROTOTYPES
# define __PROTO(p) p
@@ -72,8 +72,16 @@
Emsg1(M_ERROR, 0, _("Failed ASSERT: %s\n"), #x); \
Pmsg1(000, _("Failed ASSERT: %s\n"), #x); \
jcr[0] = 0; }
+
+#define ASSERT2(x,y) if (!(x)) { \
+ assert_msg = y; \
+ Emsg1(M_ERROR, 0, _("Failed ASSERT: %s\n"), #x); \
+ Pmsg1(000, _("Failed ASSERT: %s\n"), #x); \
+ char *jcr = NULL; \
+ jcr[0] = 0; }
#else
#define ASSERT(x)
+#define ASSERT2(x, y)
#endif
/* Allow printing of NULL pointers */
@@ -415,6 +423,8 @@ void b_memset(const char *file, int line, void *mem, int val, size_t num);
#define Jmsg4(jcr, typ, lvl, msg, a1, a2, a3, a4) j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1, a2, a3, a4)
#define Jmsg5(jcr, typ, lvl, msg, a1, a2, a3, a4, a5) j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1, a2, a3, a4, a5)
#define Jmsg6(jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6) j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6)
+#define Jmsg7(jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6, a7) j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6, a7)
+#define Jmsg8(jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6, a7, a8) j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1, a2, a3, a4, a5, a6, a7, a8)
/** Queued Job Error Messages that are delivered according to the message resource */
#define Qmsg0(jcr, typ, lvl, msg) q_msg(__FILE__, __LINE__, jcr, typ, lvl, msg)
@@ -637,4 +647,15 @@ int getdomainname(char *name, int len);
/** Determine endianes */
static inline bool bigendian() { return htonl(1) == 1L; }
+#ifndef __GNUC__
+#define __PRETTY_FUNCTION__ __func__
+#endif
+#ifdef ENTER_LEAVE
+#define Enter(lvl) Dmsg1(lvl, "Enter: %s\n", __PRETTY_FUNCTION__)
+#define Leave(lvl) Dmsg1(lvl, "Leave: %s\n", __PRETTY_FUNCTION__)
+#else
+#define Enter(lvl)
+#define Leave(lvl)
+#endif
+
#endif /* _BACONFIG_H */
diff --git a/src/cats/bvfs.c b/src/cats/bvfs.c
index 10b283e..27f76d5 100644
--- a/src/cats/bvfs.c
+++ b/src/cats/bvfs.c
@@ -1020,8 +1020,8 @@ bool Bvfs::compute_restore_list(char *fileid, char *dirid, char *hardlink,
goto bail_out;
}
- /* TODO: handle basejob and SQLite3 */
- Mmsg(query, sql_bvfs_select[db_get_type_index(db)], output_table, output_table);
+ Mmsg(query, sql_bvfs_select[db_get_type_index(db)],
+ output_table, output_table, output_table);
/* TODO: handle jobid filter */
Dmsg1(dbglevel_sql, "q=%s\n", query.c_str());
diff --git a/src/cats/make_postgresql_tables.in b/src/cats/make_postgresql_tables.in
index cb8d58d..9e57088 100644
--- a/src/cats/make_postgresql_tables.in
+++ b/src/cats/make_postgresql_tables.in
@@ -219,7 +219,8 @@ CREATE TABLE media
primary key (mediaid)
);
-create unique index media_volumename_id on media (volumename);
+CREATE UNIQUE INDEX media_volumename_id ON Media (VolumeName);
+CREATE INDEX media_poolid_idx ON Media (PoolId);
CREATE TABLE MediaType (
diff --git a/src/cats/sql_cmds.c b/src/cats/sql_cmds.c
index 860def1..6ebcb62 100644
--- a/src/cats/sql_cmds.c
+++ b/src/cats/sql_cmds.c
@@ -465,7 +465,8 @@ const char *create_temp_basefile[] = {
/* Mysql */
"CREATE TEMPORARY TABLE basefile%lld ("
"Path BLOB NOT NULL,"
- "Name BLOB NOT NULL)",
+ "Name BLOB NOT NULL,"
+ "INDEX (Path(255), Name(255)))",
/* Postgresql */
"CREATE TEMPORARY TABLE basefile%lld ("
@@ -817,17 +818,27 @@ const char *sql_get_max_connections[] = {
"SELECT 0"
};
-/* TODO: Check for corner cases with MySQL and SQLite3
+/*
* The Group By can return strange numbers when having multiple
* version of a file in the same dataset.
*/
+const char *default_sql_bvfs_select =
+"CREATE TABLE %s AS "
+"SELECT File.JobId, File.FileIndex, File.FileId "
+"FROM Job, File, ( "
+ "SELECT MAX(JobTDate) AS JobTDate, PathId, FilenameId "
+ "FROM btemp%s GROUP BY PathId, FilenameId "
+ ") AS T1 JOIN Filename USING (FilenameId) "
+"WHERE T1.JobTDate = Job.JobTDate "
+ "AND Job.JobId = File.JobId "
+ "AND T1.PathId = File.PathId "
+ "AND T1.FilenameId = File.FilenameId "
+ "AND File.FileIndex > 0 "
+ "AND Job.JobId IN (SELECT DISTINCT JobId FROM btemp%s) ";
+
const char *sql_bvfs_select[] = {
/* Mysql */
- "CREATE TABLE %s AS ( "
- "SELECT JobId, FileIndex, FileId, max(JobTDate) as JobTDate "
- "FROM btemp%s "
- "GROUP BY PathId, FilenameId "
- "HAVING FileIndex > 0)",
+ default_sql_bvfs_select,
/* Postgresql */
"CREATE TABLE %s AS ( "
@@ -841,12 +852,7 @@ const char *sql_bvfs_select[] = {
"WHERE FileIndex > 0)",
/* SQLite3 */
- "CREATE TABLE %s AS "
- "SELECT JobId, FileIndex, FileId, max(JobTDate) as JobTDate "
- "FROM btemp%s "
- "GROUP BY PathId, FilenameId "
- "HAVING FileIndex > 0",
-
+ default_sql_bvfs_select,
/* Ingres (TODO) */
"SELECT 0"
@@ -867,13 +873,15 @@ static const char *sql_bvfs_list_files_default =
"JOIN File USING (FileId) "
"JOIN Job ON (BaseJobId = Job.JobId) "
"WHERE BaseFiles.JobId IN (%s) AND PathId = %s "
- ") AS tmp GROUP BY PathId, FilenameId LIMIT %lld OFFSET %lld"
+ ") AS tmp GROUP BY PathId, FilenameId "
+ "LIMIT %lld OFFSET %lld"
") AS T1 JOIN Filename USING (FilenameId) "
"WHERE T1.JobTDate = Job.JobTDate "
"AND Job.JobId = File.JobId "
"AND T1.PathId = File.PathId "
"AND T1.FilenameId = File.FilenameId "
"AND Filename.Name != '' "
+ "AND File.FileIndex > 0 "
" %s " /* AND Name LIKE '' */
"AND (Job.JobId IN ( "
"SELECT DISTINCT BaseJobId FROM BaseFiles WHERE JobId IN (%s)) "
@@ -886,20 +894,24 @@ const char *sql_bvfs_list_files[] = {
/* JobId PathId JobId PathId WHERE? Filename? Limit Offset*/
/* Postgresql */
- "SELECT DISTINCT ON (FilenameId) 'F', PathId, T.FilenameId, "
- "Filename.Name, JobId, LStat, FileId "
- "FROM "
- "(SELECT FileId, JobId, PathId, FilenameId, FileIndex, LStat, MD5 "
- "FROM File WHERE JobId IN (%s) AND PathId = %s "
- "UNION ALL "
- "SELECT File.FileId, File.JobId, PathId, FilenameId, "
- "File.FileIndex, LStat, MD5 "
- "FROM BaseFiles JOIN File USING (FileId) "
- "WHERE BaseFiles.JobId IN (%s) AND File.PathId = %s "
- ") AS T JOIN Job USING (JobId) JOIN Filename USING (FilenameId) "
- " WHERE Filename.Name != '' "
- " %s " /* AND Name LIKE '' */
- "ORDER BY FilenameId, StartTime DESC LIMIT %lld OFFSET %lld",
+ "SELECT Type, PathId, FilenameId, Name, JobId, LStat, FileId "
+ "FROM ("
+ "SELECT DISTINCT ON (FilenameId) 'F' as Type, PathId, T.FilenameId, "
+ "Filename.Name, JobId, LStat, FileId, FileIndex "
+ "FROM "
+ "(SELECT FileId, JobId, PathId, FilenameId, FileIndex, LStat, MD5 "
+ "FROM File WHERE JobId IN (%s) AND PathId = %s "
+ "UNION ALL "
+ "SELECT File.FileId, File.JobId, PathId, FilenameId, "
+ "File.FileIndex, LStat, MD5 "
+ "FROM BaseFiles JOIN File USING (FileId) "
+ "WHERE BaseFiles.JobId IN (%s) AND File.PathId = %s "
+ ") AS T JOIN Job USING (JobId) JOIN Filename USING (FilenameId) "
+ " WHERE Filename.Name != '' "
+ " %s " /* AND Name LIKE '' */
+ "ORDER BY FilenameId, StartTime DESC "
+ ") AS A WHERE A.FileIndex > 0 "
+ "LIMIT %lld OFFSET %lld ",
/* SQLite */
sql_bvfs_list_files_default,
diff --git a/src/cats/update_postgresql_tables.in b/src/cats/update_postgresql_tables.in
index d737bcf..f97cb60 100644
--- a/src/cats/update_postgresql_tables.in
+++ b/src/cats/update_postgresql_tables.in
@@ -45,6 +45,9 @@ ALTER TABLE File ADD COLUMN DeltaSeq smallint default 0;
UPDATE Version SET VersionId=14;
COMMIT;
+set client_min_messages = fatal;
+CREATE INDEX media_poolid_idx on Media (PoolId);
+
ANALYSE;
END-OF-DATA
diff --git a/src/console/conio.c b/src/console/conio.c
index 8a6ffd4..1b39d29 100755
--- a/src/console/conio.c
+++ b/src/console/conio.c
@@ -1,7 +1,7 @@
/*
Bacula® - The Network Backup Solution
- Copyright (C) 1981-2010 Free Software Foundation Europe e.V.
+ Copyright (C) 1981-2012 Free Software Foundation Europe e.V.
Yes, that is 1981 no error.
The main author of Bacula is Kern Sibbald, with contributions from
@@ -54,6 +54,7 @@
#include <signal.h>
#include <string.h>
#include <ctype.h>
+#define HAVE_CONIO 1
#else
/* We are in Bacula */
@@ -61,6 +62,8 @@
#endif
+#ifdef HAVE_CONIO
+
#include <curses.h>
#include <term.h>
@@ -69,8 +72,10 @@
extern "C" int tgetent(void *, const char *);
extern "C" int tgetnum(const char *);
extern "C" char *tgetstr (const char*, char**);
-#endif
+# Note: the following on older (Solaris 10) systems
+# may need to be moved to after the #endif
extern "C" char *tgoto (const char *, int, int);
+#endif
#elif defined(__sgi)
extern "C" int tgetent(char *, char *);
extern "C" int tgetnum(char id[2]);
@@ -1189,3 +1194,5 @@ static void asdell()
{
t_send(t_dl);
}
+
+#endif
diff --git a/src/dird/backup.c b/src/dird/backup.c
index 77a3845..65d5803 100644
--- a/src/dird/backup.c
+++ b/src/dird/backup.c
@@ -418,6 +418,10 @@ bool do_backup(JCR *jcr)
goto bail_out;
}
+ /* Declare the job started to start the MaxRunTime check */
+ jcr->setJobStarted();
+
+ /* Send and run the RunBefore */
if (!send_runscripts_commands(jcr)) {
goto bail_out;
}
diff --git a/src/dird/dird.c b/src/dird/dird.c
index 07ad49d..147ab3f 100644
--- a/src/dird/dird.c
+++ b/src/dird/dird.c
@@ -65,7 +65,6 @@ extern int job_setattr(PyObject *self, char *attrname, PyObject *value);
/* Forward referenced subroutines */
void terminate_dird(int sig);
static bool check_resources();
-static void dir_sql_query(JCR *jcr, const char *cmd);
static void cleanup_old_files();
/* Exported subroutines */
@@ -117,6 +116,32 @@ static bool check_catalog(cat_op mode);
#define CONFIG_FILE "bacula-dir.conf" /* default configuration file */
+/*
+ * This allows the message handler to operate on the database
+ * by using a pointer to this function. The pointer is
+ * needed because the other daemons do not have access
+ * to the database. If the pointer is
+ * not defined (other daemons), then writing the database
+ * is disabled.
+ */
+static bool dir_sql_query(JCR *jcr, const char *cmd)
+{
+ if (!jcr || !jcr->db || !jcr->db->is_connected()) {
+ return false;
+ }
+
+ return db_sql_query(jcr->db, cmd);
+}
+
+static bool dir_sql_escape(JCR *jcr, B_DB *mdb, char *snew, char *old, int len)
+{
+ if (!jcr || !jcr->db || !jcr->db->is_connected()) {
+ return false;
+ }
+
+ db_escape_string(jcr, mdb, snew, old, len);
+ return true;
+}
static void usage()
{
@@ -313,7 +338,7 @@ int main (int argc, char *argv[])
/* Plug database interface for library routines */
p_sql_query = (sql_query_func)dir_sql_query;
- p_sql_escape = (sql_escape_func)db_escape_string;
+ p_sql_escape = (sql_escape_func)dir_sql_escape;
FDConnectTimeout = (int)director->FDConnectTimeout;
SDConnectTimeout = (int)director->SDConnectTimeout;
@@ -365,22 +390,6 @@ int main (int argc, char *argv[])
return 0;
}
-/*
- * This allows the message handler to operate on the database
- * by using a pointer to this function. The pointer is
- * needed because the other daemons do not have access
- * to the database. If the pointer is
- * not defined (other daemons), then writing the database
- * is disabled.
- */
-static void dir_sql_query(JCR *jcr, const char *cmd)
-{
- if (!jcr || !jcr->db) {
- return;
- }
- db_sql_query(jcr->db, cmd, NULL, NULL);
-}
-
/* Cleanup and then exit */
void terminate_dird(int sig)
{
@@ -555,7 +564,7 @@ void reload_config(int sig)
Jmsg(NULL, M_ERROR, 0, _("Resetting previous configuration.\n"));
}
reload_table[rtable].res_table = config->save_resources();
- /* Now restore old resoure values */
+ /* Now restore old resource values */
int num = r_last - r_first + 1;
RES **res_tab = reload_table[table].res_table;
for (int i=0; i<num; i++) {
diff --git a/src/dird/dird_conf.c b/src/dird/dird_conf.c
index 2f2eb00..b8477f5 100644
--- a/src/dird/dird_conf.c
+++ b/src/dird/dird_conf.c
@@ -224,6 +224,7 @@ static RES_ITEM store_items[] = {
{"allowcompression", store_bool, ITEM(res_store.AllowCompress), 0, ITEM_DEFAULT, true},
{"heartbeatinterval", store_time, ITEM(res_store.heartbeat_interval), 0, ITEM_DEFAULT, 0},
{"maximumconcurrentjobs", store_pint32, ITEM(res_store.MaxConcurrentJobs), 0, ITEM_DEFAULT, 1},
+ {"maximumconcurrentreadjobs", store_pint32, ITEM(res_store.MaxConcurrentReadJobs), 0, ITEM_DEFAULT, 0},
{"sddport", store_pint32, ITEM(res_store.SDDport), 0, 0, 0}, /* deprecated */
{"tlsauthenticate", store_bool, ITEM(res_store.tls_authenticate), 0, 0, 0},
{"tlsenable", store_bool, ITEM(res_store.tls_enable), 0, 0, 0},
@@ -473,6 +474,12 @@ struct s_jl joblevels[] = {
{"VolumeToCatalog", L_VERIFY_VOLUME_TO_CATALOG, JT_VERIFY},
{"DiskToCatalog", L_VERIFY_DISK_TO_CATALOG, JT_VERIFY},
{"Data", L_VERIFY_DATA, JT_VERIFY},
+ {"Full", L_FULL, JT_COPY},
+ {"Incremental", L_INCREMENTAL, JT_COPY},
+ {"Differential", L_DIFFERENTIAL, JT_COPY},
+ {"Full", L_FULL, JT_MIGRATE},
+ {"Incremental", L_INCREMENTAL, JT_MIGRATE},
+ {"Differential", L_DIFFERENTIAL, JT_MIGRATE},
{" ", L_NONE, JT_ADMIN},
{" ", L_NONE, JT_RESTORE},
{NULL, 0, 0}
diff --git a/src/dird/dird_conf.h b/src/dird/dird_conf.h
index 0a9d26c..9525781 100644
--- a/src/dird/dird_conf.h
+++ b/src/dird/dird_conf.h
@@ -294,6 +294,7 @@ public:
char *media_type;
alist *device; /* Alternate devices for this Storage */
int32_t MaxConcurrentJobs; /* Maximum concurrent jobs */
+ int32_t MaxConcurrentReadJobs; /* Maximum concurrent jobs reading */
int32_t NumConcurrentJobs; /* number of concurrent jobs running */
int32_t NumConcurrentReadJobs; /* number of jobs reading */
char *tls_ca_certfile; /* TLS CA Certificate File */
diff --git a/src/dird/job.c b/src/dird/job.c
index dae019b..9865e37 100644
--- a/src/dird/job.c
+++ b/src/dird/job.c
@@ -611,7 +611,7 @@ static bool job_check_maxruntime(JCR *jcr)
JOB *job = jcr->job;
utime_t run_time;
- if (job_canceled(jcr) || jcr->JobStatus == JS_Created) {
+ if (job_canceled(jcr) || !jcr->job_started) {
return false;
}
if (jcr->job->MaxRunTime == 0 && job->FullMaxRunTime == 0 &&
diff --git a/src/dird/jobq.c b/src/dird/jobq.c
index 10a4ccd..5c79d78 100644
--- a/src/dird/jobq.c
+++ b/src/dird/jobq.c
@@ -809,7 +809,10 @@ static pthread_mutex_t rstore_mutex = PTHREAD_MUTEX_INITIALIZER;
bool inc_read_store(JCR *jcr)
{
P(rstore_mutex);
- if (jcr->rstore->NumConcurrentJobs < jcr->rstore->MaxConcurrentJobs) {
+ if (jcr->rstore->NumConcurrentJobs < jcr->rstore->MaxConcurrentJobs &&
+ (jcr->getJobType() == JT_RESTORE ||
+ jcr->rstore->MaxConcurrentReadJobs == 0 ||
+ jcr->rstore->NumConcurrentReadJobs < jcr->rstore->MaxConcurrentReadJobs)) {
jcr->rstore->NumConcurrentReadJobs++;
jcr->rstore->NumConcurrentJobs++;
Dmsg1(200, "Inc rncj=%d\n", jcr->rstore->NumConcurrentJobs);
diff --git a/src/dird/migrate.c b/src/dird/migrate.c
index 5193921..c4738ea 100644
--- a/src/dird/migrate.c
+++ b/src/dird/migrate.c
@@ -365,6 +365,8 @@ bool do_migration(JCR *jcr)
}
Dmsg0(150, "Storage daemon connection OK\n");
+ /* Declare the job started to start the MaxRunTime check */
+ jcr->setJobStarted();
/*
* We re-update the job start record so that the start
diff --git a/src/dird/msgchan.c b/src/dird/msgchan.c
index 1e7cfc7..686f0c7 100644
--- a/src/dird/msgchan.c
+++ b/src/dird/msgchan.c
@@ -269,6 +269,9 @@ bool start_storage_daemon_job(JCR *jcr, alist *rstore, alist *wstore, bool send_
} else {
ok = false;
}
+ if (ok) {
+ Jmsg(jcr, M_INFO, 0, _("Using Device \"%s\" to read.\n"), device_name.c_str());
+ }
}
/* Do write side of storage daemon */
@@ -304,6 +307,9 @@ bool start_storage_daemon_job(JCR *jcr, alist *rstore, alist *wstore, bool send_
} else {
ok = false;
}
+ if (ok) {
+ Jmsg(jcr, M_INFO, 0, _("Using Device \"%s\" to write.\n"), device_name.c_str());
+ }
}
if (!ok) {
POOL_MEM err_msg;
@@ -317,8 +323,6 @@ bool start_storage_daemon_job(JCR *jcr, alist *rstore, alist *wstore, bool send_
" Storage daemon didn't accept Device \"%s\" command.\n"),
device_name.c_str());
}
- } else {
- Jmsg(jcr, M_INFO, 0, _("Using Device \"%s\"\n"), device_name.c_str());
}
return ok;
}
diff --git a/src/dird/restore.c b/src/dird/restore.c
index 0a8945a..eee86be 100644
--- a/src/dird/restore.c
+++ b/src/dird/restore.c
@@ -432,6 +432,9 @@ bool restore_bootstrap(JCR *jcr)
goto bail_out;
}
+ /* Declare the job started to start the MaxRunTime check */
+ jcr->setJobStarted();
+
/* Only pass "global" commands to the FD once */
if (first_time) {
first_time = false;
diff --git a/src/dird/ua_acl.c b/src/dird/ua_acl.c
index 1a386fd..c510df6 100644
--- a/src/dird/ua_acl.c
+++ b/src/dird/ua_acl.c
@@ -56,7 +56,7 @@ bool acl_access_ok(UAContext *ua, int acl, const char *item, int len)
}
/* If no console resource => default console and all is permitted */
- if (!ua->cons) {
+ if (!ua || !ua->cons) {
Dmsg0(1400, "Root cons access OK.\n");
return true; /* No cons resource -> root console OK for everything */
}
diff --git a/src/dird/ua_cmds.c b/src/dird/ua_cmds.c
index d42bc7f..422eaa8 100644
--- a/src/dird/ua_cmds.c
+++ b/src/dird/ua_cmds.c
@@ -192,7 +192,7 @@ static struct cmdstruct commands[] = { /* C
"\n\tvolume=<volname> volstatus=<status> volretention=<time-def>"
"\n\t pool=<pool> recycle=<yes/no> slot=<number>\n\t inchanger=<yes/no>"
"\n\t maxvolbytes=<size> maxvolfiles=<nb> maxvoljobs=<nb>"
- "\n\t enable=<yes/no> recyclepool=<pool> actiononpurge=<action>"),true},
+ "\n\t enabled=<yes/no> recyclepool=<pool> actiononpurge=<action>"),true},
{ NT_("use"), use_cmd, _("Use catalog xxx"), NT_("catalog=<catalog>"), false},
{ NT_("var"), var_cmd, _("Does variable expansion"), NT_(""), false},
{ NT_("version"), version_cmd, _("Print Director version"), NT_(""), true},
@@ -1139,8 +1139,8 @@ static int estimate_cmd(UAContext *ua, const char *cmd)
}
continue;
} else {
- ua->error_msg(_("Level value missing.\n"));
- return 1;
+ ua->error_msg(_("Level value missing.\n"));
+ return 1;
}
}
if (strcasecmp(ua->argk[i], NT_("accurate")) == 0) {
@@ -1152,6 +1152,7 @@ static int estimate_cmd(UAContext *ua, const char *cmd)
continue;
} else {
ua->error_msg(_("Accurate value missing.\n"));
+ return 1;
}
}
}
@@ -1309,7 +1310,7 @@ static int delete_cmd(UAContext *ua, const char *cmd)
return 1;
case 2:
int i;
- while ((i=find_arg(ua, "jobid")) > 0) {
+ while ((i = find_arg(ua, "jobid")) > 0) {
delete_job(ua);
*ua->argk[i] = 0; /* zap keyword already visited */
}
@@ -1339,52 +1340,66 @@ static int delete_cmd(UAContext *ua, const char *cmd)
return 1;
}
-
/*
- * delete_job has been modified to parse JobID lists like the
- * following:
+ * delete_job has been modified to parse JobID lists like the following:
* delete JobID=3,4,6,7-11,14
*
* Thanks to Phil Stracchino for the above addition.
*/
-
static void delete_job(UAContext *ua)
{
+ int i;
JobId_t JobId;
- char *s,*sep,*tok;
+ char *s, *sep, *tok;
- int i = find_arg_with_value(ua, NT_("jobid"));
+ i = find_arg_with_value(ua, NT_("jobid"));
if (i >= 0) {
- if (strchr(ua->argv[i], ',') != NULL || strchr(ua->argv[i], '-') != NULL) {
- s = bstrdup(ua->argv[i]);
- tok = s;
- /*
- * We could use strtok() here. But we're not going to, because:
- * (a) strtok() is deprecated, having been replaced by strsep();
- * (b) strtok() is broken in significant ways.
- * we could use strsep() instead, but it's not universally available.
- * so we grow our own using strchr().
- */
- sep = strchr(tok, ',');
- while (sep != NULL) {
- *sep = '\0';
- if (!delete_job_id_range(ua, tok)) {
- JobId = str_to_int64(tok);
- do_job_delete(ua, JobId);
- }
- tok = ++sep;
- sep = strchr(tok, ',');
- }
- /* pick up the last token */
- if (!delete_job_id_range(ua, tok)) {
- JobId = str_to_int64(tok);
- do_job_delete(ua, JobId);
- }
+ if (strchr(ua->argv[i], ',') || strchr(ua->argv[i], '-')) {
+ s = bstrdup(ua->argv[i]);
+ tok = s;
+
+ /*
+ * We could use strtok() here. But we're not going to, because:
+ * (a) strtok() is deprecated, having been replaced by strsep();
+ * (b) strtok() is broken in significant ways.
+ * we could use strsep() instead, but it's not universally available.
+ * so we grow our own using strchr().
+ */
+ sep = strchr(tok, ',');
+ while (sep != NULL) {
+ *sep = '\0';
+ if (!delete_job_id_range(ua, tok)) {
+ if (is_a_number(tok)) {
+ JobId = (JobId_t)str_to_uint64(tok);
+ do_job_delete(ua, JobId);
+ } else {
+ ua->warning_msg(_("Illegal JobId %s ignored\n"), tok);
+ }
+ }
+ tok = ++sep;
+ sep = strchr(tok, ',');
+ }
+
+ /*
+ * Pick up the last token
+ */
+ if (!delete_job_id_range(ua, tok)) {
+ if (is_a_number(tok)) {
+ JobId = (JobId_t)str_to_uint64(tok);
+ do_job_delete(ua, JobId);
+ } else {
+ ua->warning_msg(_("Illegal JobId %s ignored\n"), tok);
+ }
+ }
free(s);
} else {
- JobId = str_to_int64(ua->argv[i]);
- do_job_delete(ua, JobId);
+ if (is_a_number(ua->argv[i])) {
+ JobId = (JobId_t)str_to_uint64(ua->argv[i]);
+ do_job_delete(ua, JobId);
+ } else {
+ ua->warning_msg(_("Illegal JobId %s ignored\n"), ua->argv[i]);
+ }
}
} else if (!get_pint(ua, _("Enter JobId to delete: "))) {
return;
@@ -1395,24 +1410,50 @@ static void delete_job(UAContext *ua)
}
/*
- * we call delete_job_id_range to parse range tokens and iterate over ranges
+ * We call delete_job_id_range to parse range tokens and iterate over ranges
*/
static bool delete_job_id_range(UAContext *ua, char *tok)
{
+ char buf[64];
char *tok2;
- JobId_t j,j1,j2;
+ JobId_t j, j1, j2;
tok2 = strchr(tok, '-');
if (!tok2) {
return false;
}
+
*tok2 = '\0';
tok2++;
- j1 = str_to_int64(tok);
- j2 = str_to_int64(tok2);
- for (j=j1; j<=j2; j++) {
- do_job_delete(ua, j);
+
+ if (is_a_number(tok) && is_a_number(tok2)) {
+ j1 = (JobId_t)str_to_uint64(tok);
+ j2 = (JobId_t)str_to_uint64(tok2);
+
+ if (j1 > j2) {
+ /*
+ * See if the range is big if more then 25 Jobs are deleted
+ * ask the user for confirmation.
+ */
+ if ((j2 - j1) > 25) {
+ bsnprintf(buf, sizeof(buf),
+ _("Are you sure you want to delete %d JobIds ? (yes/no): "),
+ j2 - j1);
+ if (!get_yesno(ua, buf)) {
+ return true;
+ }
+ }
+ for (j = j1; j <= j2; j++) {
+ do_job_delete(ua, j);
+ }
+ } else {
+ ua->warning_msg(_("Illegal JobId range %s - %s should define increasing JobIds, ignored\n"),
+ tok, tok2);
+ }
+ } else {
+ ua->warning_msg(_("Illegal JobId range %s - %s, ignored\n"), tok, tok2);
}
+
return true;
}
@@ -1425,7 +1466,7 @@ static void do_job_delete(UAContext *ua, JobId_t JobId)
edit_int64(JobId, ed1);
purge_jobs_from_catalog(ua, ed1);
- ua->send_msg(_("Job %s and associated records deleted from the catalog.\n"), ed1);
+ ua->send_msg(_("Jobid %s and associated records deleted from the catalog.\n"), ed1);
}
/*
diff --git a/src/dird/ua_dotcmds.c b/src/dird/ua_dotcmds.c
index c90052b..d78fa3f 100644
--- a/src/dird/ua_dotcmds.c
+++ b/src/dird/ua_dotcmds.c
@@ -523,6 +523,8 @@ static bool dot_bvfs_versions(UAContext *ua, const char *cmd)
* -> returns needed jobids to restore
* .bvfs_get_jobids jobid=1 all
* -> returns needed jobids to restore with all filesets a JobId=1 time
+ * .bvfs_get_jobids ujobid=JobName
+ * -> returns needed jobids to restore
*/
static bool dot_bvfs_get_jobids(UAContext *ua, const char *cmd)
{
@@ -538,6 +540,11 @@ static bool dot_bvfs_get_jobids(UAContext *ua, const char *cmd)
}
memset(&jr, 0, sizeof(JOB_DBR));
+
+ if ((pos = find_arg_with_value(ua, "ujobid")) >= 0) {
+ bstrncpy(jr.Job, ua->argv[pos], sizeof(jr.Job));
+ }
+
if ((pos = find_arg_with_value(ua, "jobid")) >= 0) {
jr.JobId = str_to_int64(ua->argv[pos]);
}
diff --git a/src/dird/ua_label.c b/src/dird/ua_label.c
index 7dd1ecf..93899cb 100644
--- a/src/dird/ua_label.c
+++ b/src/dird/ua_label.c
@@ -147,10 +147,12 @@ static bool get_user_slot_list(UAContext *ua, char *slot_list, int num_slots)
slot_list[i] = 1;
}
}
- Dmsg0(100, "Slots turned on:\n");
- for (i=1; i <= num_slots; i++) {
- if (slot_list[i]) {
- Dmsg1(100, "%d\n", i);
+ if (debug_level >= 100) {
+ Dmsg0(100, "Slots turned on:\n");
+ for (i=1; i <= num_slots; i++) {
+ if (slot_list[i]) {
+ Dmsg1(100, "%d\n", i);
+ }
}
}
return true;
@@ -413,7 +415,10 @@ checkName:
continue;
}
+ /* Search by Media name so set VolumeName and clear MediaId. */
+ mr.MediaId = 0;
bstrncpy(mr.VolumeName, ua->cmd, sizeof(mr.VolumeName));
+
/* If VolBytes are zero the Volume is not labeled */
if (db_get_media_record(ua->jcr, ua->db, &mr)) {
if (mr.VolBytes != 0) {
diff --git a/src/dird/ua_output.c b/src/dird/ua_output.c
index d7e93d0..adef8a5 100644
--- a/src/dird/ua_output.c
+++ b/src/dird/ua_output.c
@@ -201,7 +201,10 @@ int show_cmd(UAContext *ua, const char *cmd)
switch (type) {
case -1: /* all */
for (j=r_first; j<=r_last; j++) {
- dump_resource(j, res_head[j-r_first], bsendmsg, ua);
+ /* Skip R_DEVICE since it is really not used or updated */
+ if (j != R_DEVICE) {
+ dump_resource(j, res_head[j-r_first], bsendmsg, ua);
+ }
}
break;
case -2:
diff --git a/src/dird/ua_prune.c b/src/dird/ua_prune.c
index a993edb..7380945 100644
--- a/src/dird/ua_prune.c
+++ b/src/dird/ua_prune.c
@@ -129,7 +129,9 @@ int prunecmd(UAContext *ua, const char *cmd)
switch (kw) {
case 0: /* prune files */
- client = get_client_resource(ua);
+ if (!(client = get_client_resource(ua))) {
+ return false;
+ }
if (find_arg_with_value(ua, "pool") >= 0) {
pool = get_pool_resource(ua);
} else {
@@ -140,13 +142,15 @@ int prunecmd(UAContext *ua, const char *cmd)
if (!confirm_retention(ua, &pool->FileRetention, "File")) {
return false;
}
- } else if (!client || !confirm_retention(ua, &client->FileRetention, "File")) {
+ } else if (!confirm_retention(ua, &client->FileRetention, "File")) {
return false;
}
prune_files(ua, client, pool);
return true;
case 1: /* prune jobs */
- client = get_client_resource(ua);
+ if (!(client = get_client_resource(ua))) {
+ return false;
+ }
if (find_arg_with_value(ua, "pool") >= 0) {
pool = get_pool_resource(ua);
} else {
@@ -157,7 +161,7 @@ int prunecmd(UAContext *ua, const char *cmd)
if (!confirm_retention(ua, &pool->JobRetention, "Job")) {
return false;
}
- } else if (!client || !confirm_retention(ua, &client->JobRetention, "Job")) {
+ } else if (!confirm_retention(ua, &client->JobRetention, "Job")) {
return false;
}
/* ****FIXME**** allow user to select JobType */
@@ -399,6 +403,9 @@ static int job_select_handler(void *ctx, int num_fields, char **row)
struct accurate_check_ctx *res;
ASSERT(num_fields == 6);
+ /* Quick fix for #5507, avoid locking res_head after db_lock() */
+
+#ifdef bug5507
/* If this job doesn't exist anymore in the configuration, delete it */
if (GetResWithName(R_JOB, row[0]) == NULL) {
return 0;
@@ -413,6 +420,7 @@ static int job_select_handler(void *ctx, int num_fields, char **row)
if (GetResWithName(R_CLIENT, row[2]) == NULL) {
return 0;
}
+#endif
/* Don't compute accurate things for Verify jobs */
if (*row[5] == 'V') {
@@ -522,7 +530,7 @@ int prune_jobs(UAContext *ua, CLIENT *client, POOL *pool, int JobType)
/* The job_select_handler will skip jobs or filesets that are no longer
* in the configuration file. Interesting ClientId/FileSetId will be
- * added to jobids_check
+ * added to jobids_check (currently disabled in 6.0.7b)
*/
if (!db_sql_query(ua->db, query.c_str(), job_select_handler, jobids_check)) {
ua->error_msg("%s", db_strerror(ua->db));
diff --git a/src/dird/ua_run.c b/src/dird/ua_run.c
index e9c563d..a9941ad 100644
--- a/src/dird/ua_run.c
+++ b/src/dird/ua_run.c
@@ -197,6 +197,11 @@ start_job:
}
return JobId;
}
+ if (strncasecmp(ua->cmd, _("no"), strlen(ua->cmd)) == 0) {
+ goto bail_out;
+ }
+ ua->send_msg(_("\nBad response: %s. You must answer yes, mod, or no.\n\n"), ua->cmd);
+ goto try_again;
bail_out:
ua->send_msg(_("Job not run.\n"));
@@ -208,24 +213,6 @@ int modify_job_parameters(UAContext *ua, JCR *jcr, run_ctx &rc)
{
int i, opt;
- /* Some options are not available through the menu
- * TODO: Add an advanced menu?
- */
- if (rc.spool_data_set) {
- jcr->spool_data = rc.spool_data;
- }
-
- if (rc.accurate_set) {
- jcr->accurate = rc.accurate;
- }
-
- /* Used by migration jobs that can have the same name,
- * but can run at the same time
- */
- if (rc.ignoreduplicatecheck_set) {
- jcr->IgnoreDuplicateJobChecking = rc.ignoreduplicatecheck;
- }
-
/*
* At user request modify parameters of job to be run.
*/
@@ -570,6 +557,25 @@ static bool reset_restore_context(UAContext *ua, JCR *jcr, run_ctx &rc)
jcr->RestoreJobId = str_to_int64(rc.jid);
rc.jid = 0;
}
+
+ /* Some options are not available through the menu
+ * TODO: Add an advanced menu?
+ */
+ if (rc.spool_data_set) {
+ jcr->spool_data = rc.spool_data;
+ }
+
+ if (rc.accurate_set) {
+ jcr->accurate = rc.accurate;
+ }
+
+ /* Used by migration jobs that can have the same name,
+ * but can run at the same time
+ */
+ if (rc.ignoreduplicatecheck_set) {
+ jcr->IgnoreDuplicateJobChecking = rc.ignoreduplicatecheck;
+ }
+
return true;
}
diff --git a/src/dird/vbackup.c b/src/dird/vbackup.c
index f24f9d6..2babd36 100644
--- a/src/dird/vbackup.c
+++ b/src/dird/vbackup.c
@@ -232,6 +232,9 @@ _("This Job is not an Accurate backup so is not equivalent to a Full backup.\n")
return false;
}
+ /* Declare the job started to start the MaxRunTime check */
+ jcr->setJobStarted();
+
/*
* Start the job prior to starting the message thread below
* to avoid two threads from using the BSOCK structure at
diff --git a/src/filed/acl.c b/src/filed/acl.c
index b83bd7a..59eac94 100644
--- a/src/filed/acl.c
+++ b/src/filed/acl.c
@@ -32,6 +32,7 @@
* - AIX (pre-5.3 and post 5.3 acls, acl_get and aclx_get interface)
* - Darwin
* - FreeBSD (POSIX and NFSv4/ZFS acls)
+ * - GNU Hurd
* - HPUX
* - IRIX
* - Linux
@@ -543,7 +544,8 @@ static bacl_exit_code (*os_parse_acl_streams)
defined(HAVE_FREEBSD_OS) || \
defined(HAVE_IRIX_OS) || \
defined(HAVE_OSF1_OS) || \
- defined(HAVE_LINUX_OS)
+ defined(HAVE_LINUX_OS) || \
+ defined(HAVE_HURD_OS)
#include <sys/types.h>
@@ -642,7 +644,8 @@ static int acl_count_entries(acl_t acl)
{
int count = 0;
#if defined(HAVE_FREEBSD_OS) || \
- defined(HAVE_LINUX_OS)
+ defined(HAVE_LINUX_OS) || \
+ defined(HAVE_HURD_OS)
acl_entry_t ace;
int entry_available;
@@ -684,7 +687,8 @@ static bool acl_is_trivial(acl_t acl)
acl_entry_t ace;
acl_tag_t tag;
#if defined(HAVE_FREEBSD_OS) || \
- defined(HAVE_LINUX_OS)
+ defined(HAVE_LINUX_OS) || \
+ defined(HAVE_HURD_OS)
int entry_available;
entry_available = acl_get_entry(acl, ACL_FIRST_ENTRY, &ace);
@@ -1275,7 +1279,8 @@ static bacl_exit_code (*os_parse_acl_streams)
freebsd_parse_acl_streams;
#elif defined(HAVE_IRIX_OS) || \
- defined(HAVE_LINUX_OS)
+ defined(HAVE_LINUX_OS) || \
+ defined(HAVE_HURD_OS)
/*
* Define the supported ACL streams for these OSes
*/
@@ -1293,6 +1298,13 @@ static int os_access_acl_streams[1] = {
static int os_default_acl_streams[1] = {
STREAM_ACL_LINUX_DEFAULT_ACL
};
+#elif defined(HAVE_HURD_OS)
+static int os_access_acl_streams[1] = {
+ STREAM_ACL_HURD_ACCESS_ACL
+};
+static int os_default_acl_streams[1] = {
+ STREAM_ACL_HURD_DEFAULT_ACL
+};
#endif
static bacl_exit_code generic_build_acl_streams(JCR *jcr, FF_PKT *ff_pkt)
diff --git a/src/filed/backup.c b/src/filed/backup.c
index 44d7e29..da9330f 100644
--- a/src/filed/backup.c
+++ b/src/filed/backup.c
@@ -1352,7 +1352,7 @@ bool encode_and_send_attributes(JCR *jcr, FF_PKT *ff_pkt, int &data_stream)
* For a directory, link is the same as fname, but with trailing
* slash. For a linked file, link is the link.
*/
- if (ff_pkt->type != FT_DELETED) { /* already stripped */
+ if (!IS_FT_OBJECT(ff_pkt->type) && ff_pkt->type != FT_DELETED) { /* already stripped */
strip_path(ff_pkt);
}
switch (ff_pkt->type) {
@@ -1414,7 +1414,8 @@ bool encode_and_send_attributes(JCR *jcr, FF_PKT *ff_pkt, int &data_stream)
attribsEx, 0, ff_pkt->delta_seq, 0);
break;
}
- if (ff_pkt->type != FT_DELETED) {
+
+ if (!IS_FT_OBJECT(ff_pkt->type) && ff_pkt->type != FT_DELETED) {
unstrip_path(ff_pkt);
}
@@ -1440,8 +1441,10 @@ static bool do_strip(int count, char *in)
while (*in && !IsPathSeparator(*in)) {
out++; in++;
}
- out++; in++;
- numsep++; /* one separator seen */
+ if (*in) { /* Not at the end of the string */
+ out++; in++;
+ numsep++; /* one separator seen */
+ }
for (stripped=0; stripped<count && *in; stripped++) {
while (*in && !IsPathSeparator(*in)) {
in++; /* skip chars */
diff --git a/src/filed/restore.c b/src/filed/restore.c
index fc22b37..96edcc8 100644
--- a/src/filed/restore.c
+++ b/src/filed/restore.c
@@ -302,11 +302,14 @@ static inline bool pop_delayed_data_streams(JCR *jcr, r_ctx &rctx)
case STREAM_ACL_AIX_AIXC:
case STREAM_ACL_AIX_NFS4:
case STREAM_ACL_FREEBSD_NFS4_ACL:
+ case STREAM_ACL_HURD_DEFAULT_ACL:
+ case STREAM_ACL_HURD_ACCESS_ACL:
if (!do_restore_acl(jcr, rds->stream, rds->content, rds->content_length)) {
goto bail_out;
}
free(rds->content);
break;
+ case STREAM_XATTR_HURD:
case STREAM_XATTR_IRIX:
case STREAM_XATTR_TRU64:
case STREAM_XATTR_AIX:
@@ -892,6 +895,8 @@ void do_restore(JCR *jcr)
case STREAM_ACL_AIX_AIXC:
case STREAM_ACL_AIX_NFS4:
case STREAM_ACL_FREEBSD_NFS4_ACL:
+ case STREAM_ACL_HURD_DEFAULT_ACL:
+ case STREAM_ACL_HURD_ACCESS_ACL:
/*
* Do not restore ACLs when
* a) The current file is not extracted
@@ -920,6 +925,7 @@ void do_restore(JCR *jcr)
}
break;
+ case STREAM_XATTR_HURD:
case STREAM_XATTR_IRIX:
case STREAM_XATTR_TRU64:
case STREAM_XATTR_AIX:
diff --git a/src/filed/xattr.c b/src/filed/xattr.c
index b1a0840..21a6365 100644
--- a/src/filed/xattr.c
+++ b/src/filed/xattr.c
@@ -35,6 +35,7 @@
* - AIX (Extended Attributes)
* - Darwin (Extended Attributes)
* - FreeBSD (Extended Attributes)
+ * - GNU HURD (Extended Attributes)
* - IRIX (Extended Attributes)
* - Linux (Extended Attributes)
* - NetBSD (Extended Attributes)
@@ -1035,7 +1036,8 @@ static bxattr_exit_code (*os_parse_xattr_streams)
irix_parse_xattr_streams;
#elif defined(HAVE_DARWIN_OS) || \
- defined(HAVE_LINUX_OS)
+ defined(HAVE_LINUX_OS) || \
+ defined(HAVE_HURD_OS)
#if (!defined(HAVE_LISTXATTR) && !defined(HAVE_LLISTXATTR)) || \
(!defined(HAVE_GETXATTR) && !defined(HAVE_LGETXATTR)) || \
@@ -1077,6 +1079,16 @@ static const char *xattr_acl_skiplist[3] = {
static const char *xattr_skiplist[1] = {
NULL
};
+#elif defined(HAVE_HURD_OS)
+static int os_default_xattr_streams[1] = {
+ STREAM_XATTR_HURD
+};
+static const char *xattr_acl_skiplist[1] = {
+ NULL
+};
+static const char *xattr_skiplist[1] = {
+ NULL
+};
#endif
/*
@@ -2430,7 +2442,7 @@ static int os_default_xattr_streams[1] = {
* This code creates a temporary cache with entries for each xattr which has
* a link count > 1 (which indicates it has one or more hard linked counterpart(s))
*/
-static xattr_link_cache_entry_t *find_xattr_link_cache_entry(JCR *jcr, ino_t inum)
+static inline xattr_link_cache_entry_t *find_xattr_link_cache_entry(JCR *jcr, ino_t inum)
{
xattr_link_cache_entry_t *ptr;
@@ -2442,14 +2454,14 @@ static xattr_link_cache_entry_t *find_xattr_link_cache_entry(JCR *jcr, ino_t inu
return NULL;
}
-static void add_xattr_link_cache_entry(JCR *jcr, ino_t inum, char *target)
+static inline void add_xattr_link_cache_entry(JCR *jcr, ino_t inum, char *target)
{
xattr_link_cache_entry_t *ptr;
ptr = (xattr_link_cache_entry_t *)malloc(sizeof(xattr_link_cache_entry_t));
memset(ptr, 0, sizeof(xattr_link_cache_entry_t));
ptr->inum = inum;
- bstrncpy(ptr->target, target, sizeof(ptr->target));
+ ptr->target = bstrdup(target);
if (!jcr->xattr_data->u.build->link_cache) {
jcr->xattr_data->u.build->link_cache = New(alist(10, not_owned_by_alist));
@@ -2457,6 +2469,22 @@ static void add_xattr_link_cache_entry(JCR *jcr, ino_t inum, char *target)
jcr->xattr_data->u.build->link_cache->append(ptr);
}
+static inline void drop_xattr_link_cache(JCR *jcr)
+{
+ xattr_link_cache_entry_t *ptr;
+
+ /*
+ * Walk the list of xattr link cache entries and free allocated memory on traversing.
+ */
+ foreach_alist(ptr, jcr->xattr_data->u.build->link_cache) {
+ free(ptr->target);
+ free(ptr);
+ }
+
+ delete jcr->xattr_data->u.build->link_cache;
+ jcr->xattr_data->u.build->link_cache = NULL;
+}
+
#if defined(HAVE_SYS_NVPAIR_H) && defined(_PC_SATTR_ENABLED)
/*
* This function returns true if a non default extended system attribute
@@ -3680,8 +3708,7 @@ static bxattr_exit_code solaris_build_xattr_streams(JCR *jcr, FF_PKT *ff_pkt)
retval = solaris_save_xattrs(jcr, NULL, NULL);
chdir(cwd);
if (jcr->xattr_data->u.build->link_cache) {
- delete jcr->xattr_data->u.build->link_cache;
- jcr->xattr_data->u.build->link_cache = NULL;
+ drop_xattr_link_cache(jcr);
}
}
return retval;
diff --git a/src/filed/xattr.h b/src/filed/xattr.h
index d54b912..b61ec11 100644
--- a/src/filed/xattr.h
+++ b/src/filed/xattr.h
@@ -33,6 +33,8 @@
#define BXATTR_ENOTSUP EOPNOTSUPP
#elif defined(HAVE_DARWIN_OS)
#define BXATTR_ENOTSUP ENOTSUP
+#elif defined(HAVE_HURD_OS)
+#define BXATTR_ENOTSUP ENOTSUP
#endif
/*
@@ -57,7 +59,7 @@ struct xattr_t {
*/
struct xattr_link_cache_entry_t {
uint32_t inum;
- char target[PATH_MAX];
+ char *target;
};
#define BXATTR_FLAG_SAVE_NATIVE 0x01
diff --git a/src/findlib/bfile.c b/src/findlib/bfile.c
index 0d4c106..e315675 100644
--- a/src/findlib/bfile.c
+++ b/src/findlib/bfile.c
@@ -187,6 +187,12 @@ const char *stream_to_ascii(int stream)
return _("AIX Specific NFSv4 ACL attribs");
case STREAM_ACL_FREEBSD_NFS4_ACL:
return _("FreeBSD Specific NFSv4/ZFS ACL attribs");
+ case STREAM_ACL_HURD_DEFAULT_ACL:
+ return _("GNU Hurd Specific Default ACL attribs");
+ case STREAM_ACL_HURD_ACCESS_ACL:
+ return _("GNU Hurd Specific Access ACL attribs");
+ case STREAM_XATTR_HURD:
+ return _("GNU Hurd Specific Extended attribs");
case STREAM_XATTR_IRIX:
return _("IRIX Specific Extended attribs");
case STREAM_XATTR_TRU64:
diff --git a/src/findlib/find.c b/src/findlib/find.c
index 68c70ef..dba28bf 100644
--- a/src/findlib/find.c
+++ b/src/findlib/find.c
@@ -505,6 +505,9 @@ term_find_files(FF_PKT *ff)
if (ff->link_save) {
free_pool_memory(ff->link_save);
}
+ if (ff->ignoredir_fname) {
+ free_pool_memory(ff->ignoredir_fname);
+ }
hard_links = term_find_one(ff);
free(ff);
return hard_links;
diff --git a/src/findlib/find.h b/src/findlib/find.h
index a91ba88..8d6be39 100644
--- a/src/findlib/find.h
+++ b/src/findlib/find.h
@@ -169,6 +169,7 @@ struct FF_PKT {
POOLMEM *sys_fname; /* system filename */
POOLMEM *fname_save; /* save when stripping path */
POOLMEM *link_save; /* save when stripping path */
+ POOLMEM *ignoredir_fname; /* used to ignore directories */
char *digest; /* set to file digest when the file is a hardlink */
struct stat statp; /* stat packet */
uint32_t digest_len; /* set to the digest len when the file is a hardlink*/
diff --git a/src/findlib/find_one.c b/src/findlib/find_one.c
index 36708d3..d854994 100644
--- a/src/findlib/find_one.c
+++ b/src/findlib/find_one.c
@@ -103,6 +103,7 @@ static FF_PKT *new_dir_ff_pkt(FF_PKT *ff_pkt)
dir_ff_pkt->linkhash = NULL;
dir_ff_pkt->fname_save = NULL;
dir_ff_pkt->link_save = NULL;
+ dir_ff_pkt->ignoredir_fname = NULL;
return dir_ff_pkt;
}
@@ -120,6 +121,9 @@ static void free_dir_ff_pkt(FF_PKT *dir_ff_pkt)
if (dir_ff_pkt->link_save) {
free_pool_memory(dir_ff_pkt->link_save);
}
+ if (dir_ff_pkt->ignoredir_fname) {
+ free_pool_memory(dir_ff_pkt->ignoredir_fname);
+ }
free(dir_ff_pkt);
}
@@ -308,7 +312,6 @@ bool check_changes(JCR *jcr, FF_PKT *ff_pkt)
static bool have_ignoredir(FF_PKT *ff_pkt)
{
struct stat sb;
- char tmp_name[MAXPATHLEN];
char *ignoredir;
/* Ensure that pointers are defined */
@@ -318,14 +321,11 @@ static bool have_ignoredir(FF_PKT *ff_pkt)
ignoredir = ff_pkt->fileset->incexe->ignoredir;
if (ignoredir) {
- if (strlen(ff_pkt->fname) + strlen(ignoredir) + 2 > MAXPATHLEN) {
- return false;
+ if (!ff_pkt->ignoredir_fname) {
+ ff_pkt->ignoredir_fname = get_pool_memory(PM_FNAME);
}
-
- strcpy(tmp_name, ff_pkt->fname);
- strcat(tmp_name, "/");
- strcat(tmp_name, ignoredir);
- if (stat(tmp_name, &sb) == 0) {
+ Mmsg(ff_pkt->ignoredir_fname, "%s/%s", ff_pkt->fname, ignoredir);
+ if (stat(ff_pkt->ignoredir_fname, &sb) == 0) {
Dmsg2(100, "Directory '%s' ignored (found %s)\n",
ff_pkt->fname, ignoredir);
return true; /* Just ignore this directory */
diff --git a/src/findlib/mkpath.c b/src/findlib/mkpath.c
index 884ba10..985fdd8 100644
--- a/src/findlib/mkpath.c
+++ b/src/findlib/mkpath.c
@@ -285,6 +285,10 @@ bool makepath(ATTR *attr, const char *apath, mode_t mode, mode_t parent_mode,
/* Now set the proper owner and modes */
#if defined(HAVE_WIN32)
+
+ /* Don't propagate the hidden attribute to parent directories */
+ parent_mode &= ~S_ISVTX;
+
if (path[1] == ':') {
p = &path[3];
} else {
diff --git a/src/jcr.h b/src/jcr.h
index a017d1b..0ff93ab 100644
--- a/src/jcr.h
+++ b/src/jcr.h
@@ -118,6 +118,7 @@ enum {
)
#define job_waiting(jcr) \
+ (jcr->job_started && \
(jcr->JobStatus == JS_WaitFD || \
jcr->JobStatus == JS_WaitSD || \
jcr->JobStatus == JS_WaitMedia || \
@@ -130,7 +131,7 @@ enum {
jcr->SDJobStatus == JS_WaitMedia || \
jcr->SDJobStatus == JS_WaitMount || \
jcr->SDJobStatus == JS_WaitDevice || \
- jcr->SDJobStatus == JS_WaitMaxJobs)
+ jcr->SDJobStatus == JS_WaitMaxJobs))
@@ -199,6 +200,7 @@ public:
void setJobLevel(int32_t JobLevel) { m_JobLevel = JobLevel; };
void setJobType(int32_t JobType) { m_JobType = JobType; };
void forceJobStatus(int32_t aJobStatus) { JobStatus = aJobStatus; };
+ void setJobStarted();
int32_t getJobType() const { return m_JobType; };
int32_t getJobLevel() const { return m_JobLevel; };
int32_t getJobStatus() const { return JobStatus; };
@@ -253,6 +255,7 @@ public:
time_t end_time; /* job end time */
time_t wait_time_sum; /* cumulative wait time since job start */
time_t wait_time; /* timestamp when job have started to wait */
+ time_t job_started_time; /* Time when the MaxRunTime start to count */
POOLMEM *client_name; /* client name */
POOLMEM *JobIds; /* User entered string of JobIds */
POOLMEM *RestoreBootstrap; /* Bootstrap file to restore */
@@ -276,6 +279,7 @@ public:
bool accurate; /* true if job is accurate */
bool HasBase; /* True if job use base jobs */
bool rerunning; /* rerunning an incomplete job */
+ bool job_started; /* Set when the job is actually started */
void *Python_job; /* Python Job Object */
void *Python_events; /* Python Events Object */
diff --git a/src/lib/bsys.c b/src/lib/bsys.c
index fdee8f6..7900e3c 100644
--- a/src/lib/bsys.c
+++ b/src/lib/bsys.c
@@ -690,6 +690,57 @@ char *bfgets(char *s, int size, FILE *fd)
}
/*
+ * Bacula's implementation of fgets(). The difference is that it handles
+ * being interrupted by a signal (e.g. a SIGCHLD) and it has a
+ * different calling sequence which implements input lines of
+ * up to a million characters.
+ */
+char *bfgets(POOLMEM *&s, FILE *fd)
+{
+ int ch;
+ int soft_max;
+ int i = 0;
+
+ s[0] = 0;
+ soft_max = sizeof_pool_memory(s) - 10;
+ for ( ;; ) {
+ do {
+ errno = 0;
+ ch = fgetc(fd);
+ } while (ch == EOF && ferror(fd) && (errno == EINTR || errno == EAGAIN));
+ if (ch == EOF) {
+ if (i == 0) {
+ return NULL;
+ } else {
+ return s;
+ }
+ }
+ if (i > soft_max) {
+ /* Insanity check */
+ if (soft_max > 1000000) {
+ return s;
+ }
+ s = check_pool_memory_size(s, soft_max+10000);
+ soft_max = sizeof_pool_memory(s) - 10;
+ }
+ s[i++] = ch;
+ s[i] = 0;
+ if (ch == '\r') { /* Support for Mac/Windows file format */
+ ch = fgetc(fd);
+ if (ch != '\n') { /* Mac (\r only) */
+ (void)ungetc(ch, fd); /* Push next character back to fd */
+ }
+ s[i-1] = '\n';
+ break;
+ }
+ if (ch == '\n') {
+ break;
+ }
+ }
+ return s;
+}
+
+/*
* Make a "unique" filename. It is important that if
* called again with the same "what" that the result
* will be identical. This allows us to use the file
diff --git a/src/lib/crc32.c b/src/lib/crc32.c
index 847b140..ac2ff94 100644
--- a/src/lib/crc32.c
+++ b/src/lib/crc32.c
@@ -70,6 +70,12 @@ main()
#include "bacula.h"
+#ifdef HAVE_DARWIN_OS
+#if !defined(HAVE_LITTLE_ENDIAN) && !defined(HAVE_BIG_ENDIAN)
+#define HAVE_LITTLE_ENDIAN
+#endif
+#endif
+
#if !defined(HAVE_LITTLE_ENDIAN) && !defined(HAVE_BIG_ENDIAN)
#error Either HAVE_LITTLE_ENDIAN or HAVE_BIG_ENDIAN must be defined!
#endif
diff --git a/src/lib/devlock.c b/src/lib/devlock.c
index 99a1bc7..5b26545 100644
--- a/src/lib/devlock.c
+++ b/src/lib/devlock.c
@@ -57,14 +57,14 @@ devlock *new_devlock()
return lock;
}
-int devlock::init(int initial_priority)
+int devlock::init(int priority)
{
int stat;
devlock *rwl = this;
rwl->r_active = rwl->w_active = 0;
rwl->r_wait = rwl->w_wait = 0;
- rwl->priority = initial_priority;
+ rwl->priority = priority;
if ((stat = pthread_mutex_init(&rwl->mutex, NULL)) != 0) {
return stat;
}
diff --git a/src/lib/jcr.c b/src/lib/jcr.c
index d895ba1..53679c4 100644
--- a/src/lib/jcr.c
+++ b/src/lib/jcr.c
@@ -892,6 +892,12 @@ bool JCR::sendJobStatus(int newJobStatus)
return true;
}
+void JCR::setJobStarted()
+{
+ JCR *jcr = this;
+ jcr->job_started = true;
+ jcr->job_started_time = time(NULL);
+}
void JCR::setJobStatus(int newJobStatus)
{
diff --git a/src/lib/lex.c b/src/lib/lex.c
index 4e2558a..c4c78d6 100644
--- a/src/lib/lex.c
+++ b/src/lib/lex.c
@@ -139,6 +139,8 @@ LEX *lex_close_file(LEX *lf)
}
Dmsg1(dbglvl, "Close cfg file %s\n", lf->fname);
free(lf->fname);
+ free_memory(lf->line);
+ lf->line = NULL;
if (of) {
of->options = lf->options; /* preserve options */
memcpy(lf, of, sizeof(LEX));
@@ -170,7 +172,6 @@ LEX *lex_open_file(LEX *lf, const char *filename, LEX_ERROR_HANDLER *scan_error)
BPIPE *bpipe = NULL;
char *fname = bstrdup(filename);
-
if (fname[0] == '|') {
if ((bpipe = open_bpipe(fname+1, 0, "rb")) == NULL) {
free(fname);
@@ -206,6 +207,7 @@ LEX *lex_open_file(LEX *lf, const char *filename, LEX_ERROR_HANDLER *scan_error)
lf->fd = fd;
lf->bpipe = bpipe;
lf->fname = fname;
+ lf->line = get_memory(5000);
lf->state = lex_none;
lf->ch = L_EOL;
Dmsg1(dbglvl, "Return lex=%x\n", lf);
@@ -225,7 +227,7 @@ int lex_get_char(LEX *lf)
" You may have a open double quote without the closing double quote.\n"));
}
if (lf->ch == L_EOL) {
- if (bfgets(lf->line, MAXSTRING, lf->fd) == NULL) {
+ if (bfgets(lf->line, lf->fd) == NULL) {
lf->ch = L_EOF;
if (lf->next) {
lex_close_file(lf);
@@ -253,7 +255,6 @@ void lex_unget_char(LEX *lf)
} else {
lf->col_no--; /* Backup to re-read char */
}
-
}
@@ -585,6 +586,13 @@ lex_get_token(LEX *lf, int expect)
}
if (ch == '"') {
token = T_QUOTED_STRING;
+ /*
+ * Since we may be scanning a quoted list of names,
+ * we get the next character (a comma indicates another
+ * one), then we put it back for rescanning.
+ */
+ lex_get_char(lf);
+ lex_unget_char(lf);
lf->state = lex_none;
break;
}
diff --git a/src/lib/lex.h b/src/lib/lex.h
index 115a60a..b2a55c5 100644
--- a/src/lib/lex.h
+++ b/src/lib/lex.h
@@ -1,7 +1,7 @@
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2012 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
@@ -32,8 +32,6 @@
*
* Kern Sibbald, MM
*
- * Version $Id$
- *
*/
#ifndef _LEX_H
@@ -106,7 +104,7 @@ typedef struct s_lex_context {
int options; /* scan options */
char *fname; /* filename */
FILE *fd; /* file descriptor */
- char line[MAXSTRING]; /* input line */
+ POOLMEM *line; /* input line */
char str[MAXSTRING]; /* string being scanned */
int str_len; /* length of string */
int line_no; /* file line number */
diff --git a/src/lib/message.c b/src/lib/message.c
index 24afdf1..3ae4d37 100644
--- a/src/lib/message.c
+++ b/src/lib/message.c
@@ -50,6 +50,7 @@ sql_escape_func p_sql_escape = NULL;
* daemons include this file.
*/
const char *working_directory = NULL; /* working directory path stored here */
+const char *assert_msg = (char *)NULL; /* ASSERT2 error message */
int verbose = 0; /* increase User messages */
int debug_level = 0; /* debug level */
bool dbg_timestamp = false; /* print timestamp in debug output */
@@ -130,7 +131,7 @@ void MSGS::unlock()
void MSGS::wait_not_in_use() /* leaves fides_mutex set */
{
lock();
- while (m_in_use) {
+ while (m_in_use || m_closing) {
unlock();
bmicrosleep(0, 200); /* wait */
lock();
@@ -517,6 +518,11 @@ void close_msg(JCR *jcr)
return;
}
msgs->wait_not_in_use(); /* leaves fides_mutex set */
+ /* Note get_closing() does not lock because we are already locked */
+ if (msgs->get_closing()) {
+ msgs->unlock();
+ return;
+ }
msgs->set_closing();
msgs->unlock();
@@ -539,20 +545,39 @@ void close_msg(JCR *jcr)
if (!d->fd) {
break;
}
- if (
- (d->dest_code == MD_MAIL_ON_ERROR && jcr &&
- (jcr->JobStatus == JS_Terminated || jcr->JobStatus == JS_Warnings))
- ||
- (d->dest_code == MD_MAIL_ON_SUCCESS && jcr &&
- jcr->JobStatus == JS_ErrorTerminated)
- ) {
- goto rem_temp_file;
+
+ switch (d->dest_code) {
+ case MD_MAIL_ON_ERROR:
+ if (jcr) {
+ switch (jcr->JobStatus) {
+ case JS_Terminated:
+ case JS_Warnings:
+ goto rem_temp_file;
+ default:
+ break;
+ }
+ }
+ break;
+ case MD_MAIL_ON_SUCCESS:
+ if (jcr) {
+ switch (jcr->JobStatus) {
+ case JS_Terminated:
+ case JS_Warnings:
+ break;
+ default:
+ goto rem_temp_file;
+ }
+ }
+ break;
+ default:
+ break;
}
if (!(bpipe=open_mail_pipe(jcr, cmd, d))) {
Pmsg0(000, _("open mail pipe failed.\n"));
goto rem_temp_file;
}
+
Dmsg0(850, "Opened mail pipe\n");
len = d->max_len+10;
line = get_memory(len);
@@ -588,13 +613,17 @@ void close_msg(JCR *jcr)
}
free_memory(line);
rem_temp_file:
- /* Remove temp mail file */
- fclose(d->fd);
- d->fd = NULL;
- /* Exclude spaces in mail_filename */
- safer_unlink(d->mail_filename, MAIL_REGEX);
- free_pool_memory(d->mail_filename);
- d->mail_filename = NULL;
+ /* Remove temp file */
+ if (d->fd) {
+ fclose(d->fd);
+ d->fd = NULL;
+ }
+ if (d->mail_filename) {
+ /* Exclude spaces in mail_filename */
+ safer_unlink(d->mail_filename, MAIL_REGEX);
+ free_pool_memory(d->mail_filename);
+ d->mail_filename = NULL;
+ }
Dmsg0(850, "end mail or mail on error\n");
break;
default:
@@ -797,13 +826,17 @@ void dispatch_message(JCR *jcr, int type, utime_t mtime, char *msg)
POOLMEM *esc_msg = get_pool_memory(PM_MESSAGE);
int len = strlen(msg) + 1;
- esc_msg = check_pool_memory_size(esc_msg, len*2+1);
- p_sql_escape(jcr, jcr->db, esc_msg, msg, len);
-
- bstrutime(dt, sizeof(dt), mtime);
- Mmsg(cmd, "INSERT INTO Log (JobId, Time, LogText) VALUES (%s,'%s','%s')",
- edit_int64(jcr->JobId, ed1), dt, esc_msg);
- p_sql_query(jcr, cmd);
+ esc_msg = check_pool_memory_size(esc_msg, len * 2 + 1);
+ if (p_sql_escape(jcr, jcr->db, esc_msg, msg, len)) {
+ bstrutime(dt, sizeof(dt), mtime);
+ Mmsg(cmd, "INSERT INTO Log (JobId, Time, LogText) VALUES (%s,'%s','%s')",
+ edit_int64(jcr->JobId, ed1), dt, esc_msg);
+ if (!p_sql_query(jcr, cmd)) {
+ delivery_error(_("Msg delivery error: Unable to store data in database.\n"));
+ }
+ } else {
+ delivery_error(_("Msg delivery error: Unable to store data in database.\n"));
+ }
free_pool_memory(cmd);
free_pool_memory(esc_msg);
@@ -1107,13 +1140,15 @@ p_msg(const char *file, int line, int level, const char *fmt,...)
#ifdef FULL_LOCATION
if (level >= 0) {
- len = bsnprintf(buf, sizeof(buf), "%s: %s:%d ", my_name, get_basename(file), line);
+ len = bsnprintf(buf, sizeof(buf), "%s: %s:%d-%u ",
+ my_name, get_basename(file), line, get_jobid_from_tsd());
} else {
len = 0;
}
#else
- len = 0;
+ len = 0;
#endif
+
va_start(arg_ptr, fmt);
bvsnprintf(buf+len, sizeof(buf)-len, (char *)fmt, arg_ptr);
va_end(arg_ptr);
diff --git a/src/lib/message.h b/src/lib/message.h
index e3fb1e5..fd6141e 100644
--- a/src/lib/message.h
+++ b/src/lib/message.h
@@ -148,8 +148,8 @@ bool get_trace(void);
const char *get_basename(const char *pathname);
class B_DB;
-typedef void (*sql_query_func)(JCR *jcr, const char *cmd);
-typedef void (*sql_escape_func)(JCR *jcr, B_DB* db, char *snew, char *old, int len);
+typedef bool (*sql_query_func)(JCR *jcr, const char *cmd);
+typedef bool (*sql_escape_func)(JCR *jcr, B_DB *db, char *snew, char *old, int len);
extern DLL_IMP_EXP sql_query_func p_sql_query;
extern DLL_IMP_EXP sql_escape_func p_sql_escape;
@@ -159,6 +159,7 @@ extern DLL_IMP_EXP bool dbg_timestamp; /* print timestamp in d
extern DLL_IMP_EXP bool prt_kaboom; /* Print kaboom output */
extern DLL_IMP_EXP int verbose;
extern DLL_IMP_EXP char my_name[];
+extern DLL_IMP_EXP const char *assert_msg; /* Assert error message */
extern DLL_IMP_EXP const char * working_directory;
extern DLL_IMP_EXP utime_t daemon_start_time;
diff --git a/src/lib/mntent_cache.c b/src/lib/mntent_cache.c
index c30cc91..ca2c8a8 100644
--- a/src/lib/mntent_cache.c
+++ b/src/lib/mntent_cache.c
@@ -68,10 +68,15 @@
#include <sys/stat.h>
#if defined(HAVE_GETMNTENT)
-#if defined(HAVE_LINUX_OS) || defined(HAVE_HPUX_OS) || defined(HAVE_AIX_OS)
+#if defined(HAVE_LINUX_OS) || \
+ defined(HAVE_HPUX_OS) || \
+ defined(HAVE_AIX_OS)
#include <mntent.h>
#elif defined(HAVE_SUN_OS)
#include <sys/mnttab.h>
+#elif defined(HAVE_HURD_OS)
+#include <hurd/paths.h>
+#include <mntent.h>
#endif /* HAVE_GETMNTENT */
#elif defined(HAVE_GETMNTINFO)
#if defined(HAVE_OPENBSD_OS)
@@ -181,7 +186,11 @@ static void refresh_mount_cache(void)
#if defined(HAVE_GETMNTENT)
FILE *fp;
struct stat st;
-#if defined(HAVE_LINUX_OS) || defined(HAVE_HPUX_OS) || defined(HAVE_IRIX_OS) || defined(HAVE_AIX_OS)
+#if defined(HAVE_LINUX_OS) || \
+ defined(HAVE_HPUX_OS) || \
+ defined(HAVE_IRIX_OS) || \
+ defined(HAVE_AIX_OS) || \
+ defined(HAVE_HURD_OS)
struct mntent *mnt;
#if defined(HAVE_LINUX_OS)
@@ -202,6 +211,10 @@ static void refresh_mount_cache(void)
if ((fp = setmntent(MNTTAB, "r")) == (FILE *)NULL) {
return;
}
+#elif defined(HAVE_HURD_OS)
+ if ((fp = setmntent(_PATH_MNTTAB, "r")) == (FILE *)NULL) {
+ return;
+ }
#endif
while ((mnt = getmntent(fp)) != (struct mntent *)NULL) {
diff --git a/src/lib/mutex_list.h b/src/lib/mutex_list.h
index b3f51a2..2f07dd5 100644
--- a/src/lib/mutex_list.h
+++ b/src/lib/mutex_list.h
@@ -36,7 +36,7 @@
#define PRIO_SD_DEV_ACQUIRE 4 /* dev.acquire_mutex */
#define PRIO_SD_DEV_ACCESS 5 /* dev.m_mutex */
-#define PRIO_SD_VOL_LIST 10 /* vol_list_lock */
+#define PRIO_SD_VOL_LIST 0 /* vol_list_lock */
#define PRIO_SD_READ_VOL_LIST 12 /* read_vol_list */
#define PRIO_SD_DEV_SPOOL 14 /* dev.spool_mutex */
#define PRIO_SD_ACH_ACCESS 16 /* autochanger lock mutex */
diff --git a/src/lib/parse_conf.h b/src/lib/parse_conf.h
index f075df7..0a83353 100644
--- a/src/lib/parse_conf.h
+++ b/src/lib/parse_conf.h
@@ -145,6 +145,7 @@ public:
void clear_in_use() { lock(); m_in_use=false; unlock(); }
void set_in_use() { wait_not_in_use(); m_in_use=true; unlock(); }
void set_closing() { m_closing=true; }
+ bool get_closing() { return m_closing; }
void clear_closing() { lock(); m_closing=false; unlock(); }
bool is_closing() { lock(); bool rtn=m_closing; unlock(); return rtn; }
diff --git a/src/lib/protos.h b/src/lib/protos.h
index 548799f..d04c847 100644
--- a/src/lib/protos.h
+++ b/src/lib/protos.h
@@ -1,7 +1,7 @@
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2012 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
@@ -72,6 +72,7 @@ int delete_pid_file (char *dir, const char *progname, int port);
void drop (char *uid, char *gid, bool keep_readall_caps);
int bmicrosleep (int32_t sec, int32_t usec);
char *bfgets (char *s, int size, FILE *fd);
+char *bfgets (POOLMEM *&s, FILE *fd);
void make_unique_filename (POOLMEM **name, int Id, char *what);
#ifndef HAVE_STRTOLL
long long int strtoll (const char *ptr, char **endptr, int base);
diff --git a/src/lib/signal.c b/src/lib/signal.c
index 79f0333..548466c 100644
--- a/src/lib/signal.c
+++ b/src/lib/signal.c
@@ -1,7 +1,7 @@
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2011 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2012 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
@@ -133,6 +133,7 @@ static void dbg_print_bacula()
extern "C" void signal_handler(int sig)
{
static int already_dead = 0;
+ int chld_status=-1;
/* If we come back more than once, get out fast! */
if (already_dead) {
@@ -193,6 +194,13 @@ extern "C" void signal_handler(int sig)
strcpy((char *)working_directory, "/tmp/");
}
unlink("./core"); /* get rid of any old core file */
+
+#ifdef DEVELOPER /* When DEVELOPER not set, this is done below */
+ /* print information about the current state into working/<file>.bactrace */
+ dbg_print_bacula();
+#endif
+
+
sprintf(pid_buf, "%d", (int)main_pid);
Dmsg1(300, "Working=%s\n", working_directory);
Dmsg1(300, "btpath=%s\n", btpath);
@@ -226,13 +234,18 @@ extern "C" void signal_handler(int sig)
sigaction(sig, &sigdefault, NULL);
if (pid > 0) {
Dmsg0(500, "Doing waitpid\n");
- waitpid(pid, NULL, 0); /* wait for child to produce dump */
+ waitpid(pid, &chld_status, 0); /* wait for child to produce dump */
Dmsg0(500, "Done waitpid\n");
} else {
Dmsg0(500, "Doing sleep\n");
bmicrosleep(30, 0);
}
- fprintf(stderr, _("It looks like the traceback worked ...\n"));
+ if (WEXITSTATUS(chld_status) == 0) {
+ fprintf(stderr, _("It looks like the traceback worked...\n"));
+ } else {
+ fprintf(stderr, _("The btraceback call returned %d\n"),
+ WEXITSTATUS(chld_status));
+ }
/* If we want it printed, do so */
#ifdef direct_print
if (prt_kaboom) {
@@ -256,8 +269,12 @@ extern "C" void signal_handler(int sig)
fprintf(stderr, " ==== End traceback output ====\n\n");
}
#endif
+
+#ifndef DEVELOPER /* When DEVELOPER set, this is done above */
/* print information about the current state into working/<file>.bactrace */
dbg_print_bacula();
+#endif
+
}
#endif
exit_handler(sig);
diff --git a/src/qt-console/bat.pro.in b/src/qt-console/bat.pro.in
index 60561d4..cacba21 100644
--- a/src/qt-console/bat.pro.in
+++ b/src/qt-console/bat.pro.in
@@ -31,6 +31,10 @@ qwt {
LIBS += @QWT_LDFLAGS@ @QWT_LIB@
}
+macx {
+ ICON = images/bat_icon.icns
+}
+
RESOURCES = main.qrc
MOC_DIR = moc
OBJECTS_DIR = obj
diff --git a/src/qt-console/bcomm/dircomm.cpp b/src/qt-console/bcomm/dircomm.cpp
index 94ddd6d..b2261f9 100644
--- a/src/qt-console/bcomm/dircomm.cpp
+++ b/src/qt-console/bcomm/dircomm.cpp
@@ -371,7 +371,8 @@ int DirComm::read()
case BNET_TEXT_INPUT:
if (mainWin->m_commDebug) Pmsg4(000, "conn %i TEXT_INPUT at_prompt=%d m_in_select=%d notify=%d\n",
m_conn, m_at_prompt, m_in_select, is_notify_enabled());
- if (!m_in_select && is_notify_enabled()) {
+ //if (!m_in_select && is_notify_enabled()) {
+ if (!m_in_select) {
mainWin->waitExit();
new textInputDialog(m_console, m_conn);
} else {
diff --git a/src/qt-console/images/bat_icon.icns b/src/qt-console/images/bat_icon.icns
new file mode 100644
index 0000000..b76fe1d
Binary files /dev/null and b/src/qt-console/images/bat_icon.icns differ
diff --git a/src/qt-console/main.cpp b/src/qt-console/main.cpp
index ce845ac..7c1f55b 100644
--- a/src/qt-console/main.cpp
+++ b/src/qt-console/main.cpp
@@ -38,11 +38,11 @@
#include <QTranslator>
/*
- * We need Qt version 4.7.4 or later to be able to comple correctly
+ * We need Qt version 4.8.4 or later to be able to comple correctly
*/
-#if QT_VERSION < 0x040704
+#if QT_VERSION < 0x040804
#error "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
-#error "You need Qt version 4.7.4 or later to build Bat"
+#error "You need Qt version 4.8.4 or later to build Bat"
#error "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
#endif
@@ -76,11 +76,11 @@ int main(int argc, char *argv[])
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTranslator qtTranslator;
- qtTranslator.load(QString("qt_") + QLocale::system().name());
+ qtTranslator.load(QString("qt_") + QLocale::system().name(),QLibraryInfo::location(QLibraryInfo::TranslationsPath));
app->installTranslator(&qtTranslator);
QTranslator batTranslator;
- batTranslator.load(QString("bat_") + QLocale::system().name());
+ batTranslator.load(QString("bat_") + QLocale::system().name(),QLibraryInfo::location(QLibraryInfo::TranslationsPath));
app->installTranslator(&batTranslator);
register_message_callback(message_callback);
diff --git a/src/qt-console/select/textinput.ui b/src/qt-console/select/textinput.ui
index a72fc8a..4991b8f 100644
--- a/src/qt-console/select/textinput.ui
+++ b/src/qt-console/select/textinput.ui
@@ -10,47 +10,89 @@
<x>0</x>
<y>0</y>
<width>430</width>
- <height>132</height>
+ <height>96</height>
</rect>
</property>
+ <property name="focusPolicy">
+ <enum>Qt::StrongFocus</enum>
+ </property>
<property name="windowTitle">
- <string>Selection dialog</string>
+ <string>Text input dialog</string>
</property>
<layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="labelWidget">
- <property name="text">
- <string/>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="lineEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="QLabel" name="label">
+ <item row="0" column="0">
+ <widget class="QLabel" name="labelWidget">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="text">
- <string>TextLabel</string>
+ <string>Message</string>
</property>
</widget>
</item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="lineEdit"/>
- </item>
- <item row="3" column="1">
+ <item row="2" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>5</number>
+ </property>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
<property name="sizeHint" stdset="0">
<size>
- <width>40</width>
- <height>20</height>
+ <width>26</width>
+ <height>9</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>38</height>
+ </size>
+ </property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
diff --git a/src/qt-console/util/fmtwidgetitem.cpp b/src/qt-console/util/fmtwidgetitem.cpp
index d284ac2..ef742bf 100644
--- a/src/qt-console/util/fmtwidgetitem.cpp
+++ b/src/qt-console/util/fmtwidgetitem.cpp
@@ -130,7 +130,7 @@ QString convertBytesIEC(qint64 qfld)
/* having divided for a smaller unit, now we can safely convert to double and
use the extra room for decimals */
- return QString("%1 %2iB").arg(qfld / 1000.0, 0, 'f', 2).arg(suffix);
+ return QString("%1 %2iB").arg(qfld / 1024.0, 0, 'f', 2).arg(suffix);
}
/* String to human value based on k=1000 */
diff --git a/src/stored/acquire.c b/src/stored/acquire.c
index 97936b9..ef31f74 100644
--- a/src/stored/acquire.c
+++ b/src/stored/acquire.c
@@ -1,7 +1,7 @@
/*
Bacula(R) - The Network Backup Solution
- Copyright (C) 2002-2012 Free Software Foundation Europe e.V.
+ Copyright (C) 2002-2013 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
@@ -35,6 +35,8 @@
#include "bacula.h" /* pull in global headers */
#include "stored.h" /* pull in Storage Deamon headers */
+static int const rdbglvl = 100;
+
/* Forward referenced functions */
static void attach_dcr_to_dev(DCR *dcr);
static void detach_dcr_from_dev(DCR *dcr);
@@ -51,7 +53,7 @@ static void set_dcr_from_vol(DCR *dcr, VOL_LIST *vol);
*/
bool acquire_device_for_read(DCR *dcr)
{
- DEVICE *dev = dcr->dev;
+ DEVICE *dev;
JCR *jcr = dcr->jcr;
bool ok = false;
bool tape_previously_mounted;
@@ -61,9 +63,11 @@ bool acquire_device_for_read(DCR *dcr)
int vol_label_status;
int retry = 0;
- P(dev->read_acquire_mutex);
- Dmsg2(950, "dcr=%p dev=%p\n", dcr, dcr->dev);
- Dmsg2(950, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
+ Enter(rdbglvl);
+ dev = dcr->dev;
+ dev->Lock_read_acquire();
+ Dmsg2(rdbglvl, "dcr=%p dev=%p\n", dcr, dcr->dev);
+ Dmsg2(rdbglvl, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
dev->dblock(BST_DOING_ACQUIRE);
if (dev->num_writers > 0) {
@@ -91,12 +95,7 @@ bool acquire_device_for_read(DCR *dcr)
}
set_dcr_from_vol(dcr, vol);
- if (generate_plugin_event(jcr, bsdEventDeviceOpen, dcr) != bRC_OK) {
- Jmsg(jcr, M_FATAL, 0, _("generate_plugin_event(bsdEventDeviceOpen) Failed\n"));
- goto get_out;
- }
-
- Dmsg2(100, "Want Vol=%s Slot=%d\n", vol->VolumeName, vol->Slot);
+ Dmsg2(rdbglvl, "Want Vol=%s Slot=%d\n", vol->VolumeName, vol->Slot);
/*
* If the MediaType requested for this volume is not the
@@ -110,7 +109,7 @@ bool acquire_device_for_read(DCR *dcr)
* them such as the block pointer (size may change), but we do
* not release the dcr.
*/
- Dmsg2(50, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
+ Dmsg2(rdbglvl, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
if (dcr->media_type[0] && strcmp(dcr->media_type, dev->device->media_type) != 0) {
RCTX rctx;
DIRSTORE *store;
@@ -119,12 +118,10 @@ bool acquire_device_for_read(DCR *dcr)
Jmsg3(jcr, M_INFO, 0, _("Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
" device=%s\n"),
dcr->media_type, dev->device->media_type, dev->print_name());
- Dmsg3(50, "Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
+ Dmsg3(rdbglvl, "Changing read device. Want Media Type=\"%s\" have=\"%s\"\n"
" device=%s\n",
dcr->media_type, dev->device->media_type, dev->print_name());
- generate_plugin_event(jcr, bsdEventDeviceClose, dcr);
-
dev->dunblock(DEV_UNLOCKED);
lock_reservations();
@@ -156,8 +153,8 @@ bool acquire_device_for_read(DCR *dcr)
* Switching devices, so acquire lock on new device,
* then release the old one.
*/
- P(dcr->dev->read_acquire_mutex);
- V(dev->read_acquire_mutex);
+ dcr->dev->Lock_read_acquire(); /* lock new one */
+ dev->Unlock_read_acquire(); /* release old one */
dev = dcr->dev; /* get new device pointer */
dev->dblock(BST_DOING_ACQUIRE);
@@ -165,10 +162,6 @@ bool acquire_device_for_read(DCR *dcr)
Jmsg(jcr, M_INFO, 0, _("Media Type change. New read device %s chosen.\n"),
dev->print_name());
Dmsg1(50, "Media Type change. New read device %s chosen.\n", dev->print_name());
- if (generate_plugin_event(jcr, bsdEventDeviceOpen, dcr) != bRC_OK) {
- Jmsg(jcr, M_FATAL, 0, _("generate_plugin_event(bsdEventDeviceOpen) Failed\n"));
- goto get_out;
- }
bstrncpy(dcr->VolumeName, vol->VolumeName, sizeof(dcr->VolumeName));
dcr->setVolCatName(vol->VolumeName);
bstrncpy(dcr->media_type, vol->MediaType, sizeof(dcr->media_type));
@@ -180,17 +173,17 @@ bool acquire_device_for_read(DCR *dcr)
/* error */
Jmsg1(jcr, M_FATAL, 0, _("No suitable device found to read Volume \"%s\"\n"),
vol->VolumeName);
- Dmsg1(50, "No suitable device found to read Volume \"%s\"\n", vol->VolumeName);
+ Dmsg1(rdbglvl, "No suitable device found to read Volume \"%s\"\n", vol->VolumeName);
goto get_out;
}
}
- Dmsg2(400, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
+ Dmsg2(rdbglvl, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
dev->clear_unload();
if (dev->vol && dev->vol->is_swapping()) {
dev->vol->set_slot(vol->Slot);
- Dmsg3(100, "swapping: slot=%d Vol=%s dev=%s\n", dev->vol->get_slot(),
+ Dmsg3(rdbglvl, "swapping: slot=%d Vol=%s dev=%s\n", dev->vol->get_slot(),
dev->vol->vol_name, dev->print_name());
}
@@ -201,9 +194,9 @@ bool acquire_device_for_read(DCR *dcr)
// tape_initially_mounted = tape_previously_mounted;
/* Volume info is always needed because of VolParts */
- Dmsg1(150, "dir_get_volume_info vol=%s\n", dcr->VolumeName);
+ Dmsg1(rdbglvl, "dir_get_volume_info vol=%s\n", dcr->VolumeName);
if (!dir_get_volume_info(dcr, GET_VOL_INFO_FOR_READ)) {
- Dmsg2(150, "dir_get_vol_info failed for vol=%s: %s\n",
+ Dmsg2(rdbglvl, "dir_get_vol_info failed for vol=%s: %s\n",
dcr->VolumeName, jcr->errmsg);
Jmsg1(jcr, M_WARNING, 0, "Read acquire: %s", jcr->errmsg);
}
@@ -232,7 +225,7 @@ bool acquire_device_for_read(DCR *dcr)
* reading. If it is a file, it opens it.
* If it is a tape, it checks the volume name
*/
- Dmsg1(100, "bstored: open vol=%s\n", dcr->VolumeName);
+ Dmsg1(rdbglvl, "open vol=%s\n", dcr->VolumeName);
if (!dev->open(dcr, OPEN_READ_ONLY)) {
if (!dev->poll) {
Jmsg3(jcr, M_WARNING, 0, _("Read open device %s Volume \"%s\" failed: ERR=%s\n"),
@@ -240,19 +233,19 @@ bool acquire_device_for_read(DCR *dcr)
}
goto default_path;
}
- Dmsg1(50, "opened dev %s OK\n", dev->print_name());
+ Dmsg1(rdbglvl, "opened dev %s OK\n", dev->print_name());
/* Read Volume Label */
- Dmsg0(50, "calling read-vol-label\n");
+ Dmsg0(rdbglvl, "calling read-vol-label\n");
vol_label_status = read_dev_volume_label(dcr);
switch (vol_label_status) {
case VOL_OK:
- Dmsg0(50, "Got correct volume.\n");
+ Dmsg0(rdbglvl, "Got correct volume.\n");
ok = true;
dev->VolCatInfo = dcr->VolCatInfo; /* structure assignment */
break; /* got it */
case VOL_IO_ERROR:
- Dmsg0(50, "IO Error\n");
+ Dmsg0(rdbglvl, "IO Error\n");
/*
* Send error message generated by read_dev_volume_label()
* only we really had a tape mounted. This supresses superfluous
@@ -263,7 +256,7 @@ bool acquire_device_for_read(DCR *dcr)
}
goto default_path;
case VOL_NAME_ERROR:
- Dmsg3(50, "Vol name=%s want=%s drv=%s.\n", dev->VolHdr.VolumeName,
+ Dmsg3(rdbglvl, "Vol name=%s want=%s drv=%s.\n", dev->VolHdr.VolumeName,
dcr->VolumeName, dev->print_name());
if (dev->is_volume_to_unload()) {
goto default_path;
@@ -279,7 +272,7 @@ bool acquire_device_for_read(DCR *dcr)
default:
Jmsg1(jcr, M_WARNING, 0, "Read acquire: %s", jcr->errmsg);
default_path:
- Dmsg0(50, "default path\n");
+ Dmsg0(rdbglvl, "default path\n");
tape_previously_mounted = true;
/*
@@ -293,7 +286,7 @@ default_path:
/* Call autochanger only once unless ask_sysop called */
if (try_autochanger) {
int stat;
- Dmsg2(200, "calling autoload Vol=%s Slot=%d\n",
+ Dmsg2(rdbglvl, "calling autoload Vol=%s Slot=%d\n",
dcr->VolumeName, dcr->VolCatInfo.Slot);
stat = autoload_device(dcr, 0, NULL);
if (stat > 0) {
@@ -303,7 +296,7 @@ default_path:
}
/* Mount a specific volume and no other */
- Dmsg0(200, "calling dir_ask_sysop\n");
+ Dmsg0(rdbglvl, "calling dir_ask_sysop\n");
if (!dir_ask_sysop_to_mount_volume(dcr, ST_READ)) {
goto get_out; /* error return */
}
@@ -337,12 +330,8 @@ default_path:
dcr->VolumeName, dev->print_name());
get_out:
- dev->dlock();
+ dev->Lock();
dcr->clear_reserved();
- /* If failed and not writing plugin close device */
- if (!ok && dev->num_writers == 0 && dev->num_reserved() == 0) {
- generate_plugin_event(jcr, bsdEventDeviceClose, dcr);
- }
/*
* Normally we are blocked, but in at least one error case above
* we are not blocked because we unsuccessfully tried changing
@@ -351,11 +340,12 @@ get_out:
if (dev->is_blocked()) {
dev->dunblock(DEV_LOCKED);
} else {
- dev->dunlock(); /* dunblock() unlock the device too */
+ dev->Unlock(); /* dunblock() unlock the device too */
}
- Dmsg2(950, "dcr=%p dev=%p\n", dcr, dcr->dev);
- Dmsg2(950, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
- V(dev->read_acquire_mutex);
+ Dmsg2(rdbglvl, "dcr=%p dev=%p\n", dcr, dcr->dev);
+ Dmsg2(rdbglvl, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
+ dev->Unlock_read_acquire();
+ Leave(rdbglvl);
return ok;
}
@@ -375,10 +365,11 @@ DCR *acquire_device_for_append(DCR *dcr)
bool ok = false;
bool have_vol = false;
+ Enter(200);
init_device_wait_timers(dcr);
- P(dev->acquire_mutex); /* only one job at a time */
- dev->dlock();
+ dev->Lock_acquire(); /* only one job at a time */
+ dev->Lock();
Dmsg1(100, "acquire_append device is %s\n", dev->is_tape()?"tape":
(dev->is_dvd()?"DVD":"disk"));
@@ -413,9 +404,9 @@ DCR *acquire_device_for_append(DCR *dcr)
}
if (!have_vol) {
- dev->r_dlock(true);
+ dev->rLock(true);
block_device(dev, BST_DOING_ACQUIRE);
- dev->dunlock();
+ dev->Unlock();
Dmsg1(190, "jid=%u Do mount_next_write_vol\n", (uint32_t)jcr->JobId);
if (!dcr->mount_next_write_volume()) {
if (!job_canceled(jcr)) {
@@ -425,20 +416,15 @@ DCR *acquire_device_for_append(DCR *dcr)
Dmsg1(200, "Could not ready device %s for append.\n",
dev->print_name());
}
- dev->dlock();
+ dev->Lock();
unblock_device(dev);
goto get_out;
}
Dmsg2(190, "Output pos=%u:%u\n", dcr->dev->file, dcr->dev->block_num);
- dev->dlock();
+ dev->Lock();
unblock_device(dev);
}
- if (generate_plugin_event(jcr, bsdEventDeviceOpen, dcr) != bRC_OK) {
- Jmsg(jcr, M_FATAL, 0, _("generate_plugin_event(bsdEventDeviceOpen) Failed\n"));
- goto get_out;
- }
-
dev->num_writers++; /* we are now a writer */
if (jcr->NumWriteVolumes == 0) {
jcr->NumWriteVolumes = 1;
@@ -453,8 +439,9 @@ DCR *acquire_device_for_append(DCR *dcr)
get_out:
/* Don't plugin close here, we might have multiple writers */
dcr->clear_reserved();
- dev->dunlock();
- V(dev->acquire_mutex);
+ dev->Unlock();
+ dev->Unlock_acquire();
+ Leave(200);
return ok ? dcr : NULL;
}
@@ -475,7 +462,7 @@ bool release_device(DCR *dcr)
char tbuf[100];
int was_blocked = BST_NOT_BLOCKED;
- dev->dlock();
+ dev->Lock();
if (!dev->is_blocked()) {
block_device(dev, BST_RELEASING);
} else {
@@ -490,7 +477,6 @@ bool release_device(DCR *dcr)
if (dev->can_read()) {
VOLUME_CAT_INFO *vol = &dev->VolCatInfo;
- generate_plugin_event(jcr, bsdEventDeviceClose, dcr);
dev->clear_read(); /* clear read bit */
Dmsg2(150, "dir_update_vol_info. label=%d Vol=%s\n",
dev->is_labeled(), vol->VolCatName);
@@ -539,18 +525,17 @@ bool release_device(DCR *dcr)
* there are no writers. It was probably reserved.
*/
volume_unused(dcr);
- generate_plugin_event(jcr, bsdEventDeviceClose, dcr);
}
Dmsg3(100, "%d writers, %d reserve, dev=%s\n", dev->num_writers, dev->num_reserved(),
dev->print_name());
/* If no writers, close if file or !CAP_ALWAYS_OPEN */
if (dev->num_writers == 0 && (!dev->is_tape() || !dev->has_cap(CAP_ALWAYSOPEN))) {
- generate_plugin_event(jcr, bsdEventDeviceClose, dcr);
dvd_remove_empty_part(dcr); /* get rid of any empty spool part */
dev->close();
free_volume(dev);
}
+ unlock_volumes();
/* Fire off Alert command and include any output */
if (!job_canceled(jcr) && dcr->device->alert_command) {
@@ -583,7 +568,6 @@ bool release_device(DCR *dcr)
Dmsg2(100, "JobId=%u broadcast wait_device_release at %s\n",
(uint32_t)jcr->JobId, bstrftimes(tbuf, sizeof(tbuf), (utime_t)time(NULL)));
pthread_cond_broadcast(&wait_device_release);
- unlock_volumes();
/*
* If we are the thread that blocked the device, then unblock it
@@ -593,7 +577,7 @@ bool release_device(DCR *dcr)
} else {
/* Otherwise, reset the prior block status and unlock */
dev->set_blocked(was_blocked);
- dev->dunlock();
+ dev->Unlock();
}
if (dcr->keep_dcr) {
@@ -601,7 +585,7 @@ bool release_device(DCR *dcr)
} else {
free_dcr(dcr);
}
- Dmsg2(100, "===== Device %s released by JobId=%u\n", dev->print_name(),
+ Dmsg2(100, "Device %s released by JobId=%u\n", dev->print_name(),
(uint32_t)jcr->JobId);
return ok;
}
@@ -645,6 +629,12 @@ DCR *new_dcr(JCR *jcr, DCR *dcr, DEVICE *dev)
Mmsg1(dev->errmsg, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(errstat));
Jmsg0(jcr, M_ERROR_TERM, 0, dev->errmsg);
}
+ if ((errstat = pthread_mutex_init(&dcr->r_mutex, NULL)) != 0) {
+ berrno be;
+ dev->dev_errno = errstat;
+ Mmsg1(dev->errmsg, _("Unable to init r_mutex: ERR=%s\n"), be.bstrerror(errstat));
+ Jmsg0(jcr, M_ERROR_TERM, 0, dev->errmsg);
+ }
}
dcr->jcr = jcr; /* point back to jcr */
/* Set device information, possibly change device */
@@ -667,7 +657,7 @@ DCR *new_dcr(JCR *jcr, DCR *dcr, DEVICE *dev)
dcr->max_job_spool_size = dev->device->max_job_spool_size;
}
dcr->device = dev->device;
- dcr->dev = dev;
+ dcr->set_dev(dev);
attach_dcr_to_dev(dcr);
}
return dcr;
@@ -713,11 +703,12 @@ static void attach_dcr_to_dev(DCR *dcr)
if (jcr) Dmsg1(500, "JobId=%u enter attach_dcr_to_dev\n", (uint32_t)jcr->JobId);
/* ***FIXME*** return error if dev not initiated */
if (!dcr->attached_to_dev && dev->initiated && jcr && jcr->getJobType() != JT_SYSTEM) {
- dev->dlock();
+ dev->Lock();
+ Dmsg4(200, "Attach Jid=%d dcr=%p size=%d dev=%s\n", (uint32_t)jcr->JobId,
+ dcr, dev->attached_dcrs->size(), dev->print_name());
dev->attached_dcrs->append(dcr); /* attach dcr to device */
- dev->dunlock();
+ dev->Unlock();
dcr->attached_to_dev = true;
- Dmsg1(500, "JobId=%u attach_dcr_to_dev\n", (uint32_t)jcr->JobId);
}
V(dcr->m_mutex);
}
@@ -733,10 +724,15 @@ static void locked_detach_dcr_from_dev(DCR *dcr)
/* Detach this dcr only if attached */
if (dcr->attached_to_dev && dev) {
dcr->unreserve_device();
- dev->dlock();
- dcr->dev->attached_dcrs->remove(dcr); /* detach dcr from device */
+ dev->Lock();
+ Dmsg4(200, "Detach Jid=%d dcr=%p size=%d to dev=%s\n", (uint32_t)dcr->jcr->JobId,
+ dcr, dev->attached_dcrs->size(), dev->print_name());
+ dcr->attached_to_dev = false;
+ if (dev->attached_dcrs->size()) {
+ dev->attached_dcrs->remove(dcr); /* detach dcr from device */
+ }
// remove_dcr_from_dcrs(dcr); /* remove dcr from jcr list */
- dev->dunlock();
+ dev->Unlock();
}
dcr->attached_to_dev = false;
}
@@ -776,6 +772,7 @@ void free_dcr(DCR *dcr)
}
V(dcr->m_mutex);
pthread_mutex_destroy(&dcr->m_mutex);
+ pthread_mutex_destroy(&dcr->r_mutex);
free(dcr);
}
diff --git a/src/stored/askdir.c b/src/stored/askdir.c
index a5ac547..9a89927 100644
--- a/src/stored/askdir.c
+++ b/src/stored/askdir.c
@@ -36,6 +36,8 @@
#include "bacula.h" /* pull in global headers */
#include "stored.h" /* pull in Storage Deamon headers */
+static const int dbglvl = 200;
+
/* Requests sent to the Director */
static char Find_media[] = "CatReq Job=%s FindMedia=%d pool_name=%s media_type=%s\n";
static char Get_Vol_Info[] = "CatReq Job=%s GetVolInfo VolName=%s write=%d\n";
@@ -106,7 +108,7 @@ bool dir_update_device(JCR *jcr, DEVICE *dev)
dev->is_tape()?100000:1,
dev->autoselect, 0,
ChangerName.c_str(), MediaType.c_str(), VolumeName.c_str());
- Dmsg1(100, ">dird: %s\n", dir->msg);
+ Dmsg1(dbglvl, ">dird: %s\n", dir->msg);
return ok;
}
@@ -135,7 +137,7 @@ bool dir_update_changer(JCR *jcr, AUTOCHANGER *changer)
"*", /* ChangerName */
MediaType.c_str(), /* MediaType */
"*"); /* VolName */
- Dmsg1(100, ">dird: %s\n", dir->msg);
+ Dmsg1(dbglvl, ">dird: %s\n", dir->msg);
return ok;
}
#endif
@@ -173,12 +175,12 @@ static bool do_get_volume_info(DCR *dcr)
dcr->setVolCatInfo(false);
if (dir->recv() <= 0) {
- Dmsg0(200, "getvolname error bnet_recv\n");
+ Dmsg0(dbglvl, "getvolname error bnet_recv\n");
Mmsg(jcr->errmsg, _("Network error on bnet_recv in req_vol_info.\n"));
return false;
}
memset(&vol, 0, sizeof(vol));
- Dmsg1(100, "<dird %s", dir->msg);
+ Dmsg1(dbglvl, "<dird %s", dir->msg);
n = sscanf(dir->msg, OK_media, vol.VolCatName,
&vol.VolCatJobs, &vol.VolCatFiles,
&vol.VolCatBlocks, &vol.VolCatBytes,
@@ -190,7 +192,7 @@ static bool do_get_volume_info(DCR *dcr)
&vol.EndFile, &vol.EndBlock, &vol.VolCatParts,
&vol.LabelType, &vol.VolMediaId);
if (n != 22) {
- Dmsg3(100, "Bad response from Dir fields=%d, len=%d: %s",
+ Dmsg3(dbglvl, "Bad response from Dir fields=%d, len=%d: %s",
n, dir->msglen, dir->msg);
Mmsg(jcr->errmsg, _("Error getting Volume info: %s"), dir->msg);
return false;
@@ -201,7 +203,7 @@ static bool do_get_volume_info(DCR *dcr)
bstrncpy(dcr->VolumeName, vol.VolCatName, sizeof(dcr->VolumeName));
dcr->VolCatInfo = vol; /* structure assignment */
- Dmsg2(100, "do_reqest_vol_info return true slot=%d Volume=%s\n",
+ Dmsg2(dbglvl, "do_reqest_vol_info return true slot=%d Volume=%s\n",
vol.Slot, vol.VolCatName);
return true;
}
@@ -219,19 +221,19 @@ static bool do_get_volume_info(DCR *dcr)
*/
bool dir_get_volume_info(DCR *dcr, enum get_vol_info_rw writing)
{
- JCR *jcr = dcr->jcr;
- BSOCK *dir = jcr->dir_bsock;
+ JCR *jcr = dcr->jcr;
+ BSOCK *dir = jcr->dir_bsock;
- P(vol_info_mutex);
- dcr->setVolCatName(dcr->VolumeName);
- bash_spaces(dcr->getVolCatName());
- dir->fsend(Get_Vol_Info, jcr->Job, dcr->getVolCatName(),
- writing==GET_VOL_INFO_FOR_WRITE?1:0);
- Dmsg1(100, ">dird %s", dir->msg);
- unbash_spaces(dcr->getVolCatName());
- bool ok = do_get_volume_info(dcr);
- V(vol_info_mutex);
- return ok;
+ P(vol_info_mutex);
+ dcr->setVolCatName(dcr->VolumeName);
+ bash_spaces(dcr->getVolCatName());
+ dir->fsend(Get_Vol_Info, jcr->Job, dcr->getVolCatName(),
+ writing==GET_VOL_INFO_FOR_WRITE?1:0);
+ Dmsg1(dbglvl, ">dird %s", dir->msg);
+ unbash_spaces(dcr->getVolCatName());
+ bool ok = do_get_volume_info(dcr);
+ V(vol_info_mutex);
+ return ok;
}
@@ -255,7 +257,7 @@ bool dir_find_next_appendable_volume(DCR *dcr)
bool rtn;
char lastVolume[MAX_NAME_LENGTH];
- Dmsg2(200, "dir_find_next_appendable_volume: reserved=%d Vol=%s\n",
+ Dmsg2(dbglvl, "dir_find_next_appendable_volume: reserved=%d Vol=%s\n",
dcr->is_reserved(), dcr->VolumeName);
/*
@@ -273,33 +275,33 @@ bool dir_find_next_appendable_volume(DCR *dcr)
dir->fsend(Find_media, jcr->Job, vol_index, dcr->pool_name, dcr->media_type);
unbash_spaces(dcr->media_type);
unbash_spaces(dcr->pool_name);
- Dmsg1(100, ">dird %s", dir->msg);
+ Dmsg1(dbglvl, ">dird %s", dir->msg);
if (do_get_volume_info(dcr)) {
/* Give up if we get the same volume name twice */
if (lastVolume[0] && strcmp(lastVolume, dcr->VolumeName) == 0) {
- Dmsg1(100, "Got same vol = %s\n", lastVolume);
+ Dmsg1(dbglvl, "Got same vol = %s\n", lastVolume);
break;
}
bstrncpy(lastVolume, dcr->VolumeName, sizeof(lastVolume));
if (dcr->can_i_write_volume()) {
- Dmsg1(100, "Call reserve_volume for write. Vol=%s\n", dcr->VolumeName);
+ Dmsg1(dbglvl, "Call reserve_volume for write. Vol=%s\n", dcr->VolumeName);
if (reserve_volume(dcr, dcr->VolumeName) == NULL) {
- Dmsg2(100, "Could not reserve volume %s on %s\n", dcr->VolumeName,
+ Dmsg2(dbglvl, "Could not reserve volume %s on %s\n", dcr->VolumeName,
dcr->dev->print_name());
continue;
}
- Dmsg1(100, "dir_find_next_appendable_volume return true. vol=%s\n",
+ Dmsg1(dbglvl, "dir_find_next_appendable_volume return true. vol=%s\n",
dcr->VolumeName);
rtn = true;
goto get_out;
} else {
- Dmsg1(100, "Volume %s is in use.\n", dcr->VolumeName);
+ Dmsg1(dbglvl, "Volume %s is in use.\n", dcr->VolumeName);
/* If volume is not usable, it is in use by someone else */
dcr->set_found_in_use();
continue;
}
}
- Dmsg2(100, "No vol. index %d return false. dev=%s\n", vol_index,
+ Dmsg2(dbglvl, "No vol. index %d return false. dev=%s\n", vol_index,
dcr->dev->print_name());
break;
}
@@ -342,7 +344,7 @@ bool dir_update_volume_info(DCR *dcr, bool label, bool update_LastWritten)
/* Lock during Volume update */
P(vol_info_mutex);
- Dmsg1(100, "Update cat VolBytes=%lld\n", vol->VolCatBytes);
+ Dmsg1(dbglvl, "Update cat VolBytes=%lld\n", vol->VolCatBytes);
/* Just labeled or relabeled the tape */
if (label) {
bstrncpy(vol->VolCatStatus, "Append", sizeof(vol->VolCatStatus));
@@ -365,13 +367,13 @@ bool dir_update_volume_info(DCR *dcr, bool label, bool update_LastWritten)
edit_int64(vol->VolWriteTime, ed4),
edit_uint64(vol->VolFirstWritten, ed5),
vol->VolCatParts);
- Dmsg1(100, ">dird %s", dir->msg);
+ Dmsg1(dbglvl, ">dird %s", dir->msg);
/* Do not lock device here because it may be locked from label */
if (!jcr->is_canceled()) {
if (!do_get_volume_info(dcr)) {
Jmsg(jcr, M_FATAL, 0, "%s", jcr->errmsg);
- Dmsg2(100, _("Didn't get vol info vol=%s: ERR=%s"),
+ Dmsg2(dbglvl, _("Didn't get vol info vol=%s: ERR=%s"),
vol->VolCatName, jcr->errmsg);
goto bail_out;
}
@@ -403,7 +405,7 @@ bool dir_create_jobmedia_record(DCR *dcr, bool zero)
/* Throw out records where FI is zero -- i.e. nothing done */
if (!zero && dcr->VolFirstIndex == 0 &&
(dcr->StartBlock != 0 || dcr->EndBlock != 0)) {
- Dmsg0(100, "JobMedia FI=0 StartBlock!=0 record suppressed\n");
+ Dmsg0(dbglvl, "JobMedia FI=0 StartBlock!=0 record suppressed\n");
return true;
}
@@ -424,16 +426,16 @@ bool dir_create_jobmedia_record(DCR *dcr, bool zero)
dcr->Copy, dcr->Stripe,
edit_uint64(dcr->VolMediaId, ed1));
}
- Dmsg1(100, ">dird %s", dir->msg);
+ Dmsg1(dbglvl, ">dird %s", dir->msg);
if (dir->recv() <= 0) {
- Dmsg0(190, "create_jobmedia error bnet_recv\n");
+ Dmsg0(dbglvl, "create_jobmedia error bnet_recv\n");
Jmsg(jcr, M_FATAL, 0, _("Error creating JobMedia record: ERR=%s\n"),
dir->bstrerror());
return false;
}
- Dmsg1(100, "<dird %s", dir->msg);
+ Dmsg1(dbglvl, "<dird %s", dir->msg);
if (strcmp(dir->msg, OK_create) != 0) {
- Dmsg1(130, "Bad response from Dir: %s\n", dir->msg);
+ Dmsg1(dbglvl, "Bad response from Dir: %s\n", dir->msg);
Jmsg(jcr, M_FATAL, 0, _("Error creating JobMedia record: %s\n"), dir->msg);
return false;
}
@@ -512,7 +514,7 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
if (job_canceled(jcr)) {
return false;
}
- Dmsg0(400, "enter dir_ask_sysop_to_create_appendable_volume\n");
+ Dmsg0(dbglvl, "enter dir_ask_sysop_to_create_appendable_volume\n");
ASSERT(dev->blocked());
for ( ;; ) {
if (job_canceled(jcr)) {
@@ -538,16 +540,16 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
dcr->pool_name,
dcr->media_type);
Jmsg(jcr, M_MOUNT, 0, "%s", dev->errmsg);
- Dmsg1(100, "%s", dev->errmsg);
+ Dmsg1(dbglvl, "%s", dev->errmsg);
}
}
jcr->sendJobStatus(JS_WaitMedia);
stat = wait_for_sysop(dcr);
- Dmsg1(100, "Back from wait_for_sysop stat=%d\n", stat);
+ Dmsg1(dbglvl, "Back from wait_for_sysop stat=%d\n", stat);
if (dev->poll) {
- Dmsg1(100, "Poll timeout in create append vol on device %s\n", dev->print_name());
+ Dmsg1(dbglvl, "Poll timeout in create append vol on device %s\n", dev->print_name());
continue;
}
@@ -556,7 +558,7 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
Mmsg(dev->errmsg, _("Max time exceeded waiting to mount Storage Device %s for Job %s\n"),
dev->print_name(), jcr->Job);
Jmsg(jcr, M_FATAL, 0, "%s", dev->errmsg);
- Dmsg1(100, "Gave up waiting on device %s\n", dev->print_name());
+ Dmsg1(dbglvl, "Gave up waiting on device %s\n", dev->print_name());
return false; /* exceeded maximum waits */
}
continue;
@@ -567,12 +569,12 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
Jmsg(jcr, M_FATAL, 0, "%s", dev->errmsg);
return false;
}
- Dmsg1(100, "Someone woke me for device %s\n", dev->print_name());
+ Dmsg1(dbglvl, "Someone woke me for device %s\n", dev->print_name());
}
get_out:
jcr->sendJobStatus(JS_Running);
- Dmsg0(100, "leave dir_ask_sysop_to_mount_create_appendable_volume\n");
+ Dmsg0(dbglvl, "leave dir_ask_sysop_to_mount_create_appendable_volume\n");
return true;
}
@@ -594,7 +596,7 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
DEVICE *dev = dcr->dev;
JCR *jcr = dcr->jcr;
- Dmsg0(400, "enter dir_ask_sysop_to_mount_volume\n");
+ Dmsg0(dbglvl, "enter dir_ask_sysop_to_mount_volume\n");
if (!dcr->VolumeName[0]) {
Mmsg0(dev->errmsg, _("Cannot request another volume: no volume name given.\n"));
return false;
@@ -619,13 +621,13 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
if (!dev->poll && (stat == W_TIMEOUT || stat == W_MOUNT)) {
char *msg;
if (mode == ST_APPEND) {
- msg = _("Please mount Volume \"%s\" or label a new one for:\n"
+ msg = _("Please mount append Volume \"%s\" or label a new one for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
" Media type: %s\n");
} else {
- msg = _("Please mount Volume \"%s\" for:\n"
+ msg = _("Please mount read Volume \"%s\" for:\n"
" Job: %s\n"
" Storage: %s\n"
" Pool: %s\n"
@@ -637,17 +639,17 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
dev->print_name(),
dcr->pool_name,
dcr->media_type);
- Dmsg3(400, "Mount \"%s\" on device \"%s\" for Job %s\n",
+ Dmsg3(dbglvl, "Mount \"%s\" on device \"%s\" for Job %s\n",
dcr->VolumeName, dev->print_name(), jcr->Job);
}
jcr->sendJobStatus(JS_WaitMount);
stat = wait_for_sysop(dcr); /* wait on device */
- Dmsg1(100, "Back from wait_for_sysop stat=%d\n", stat);
+ Dmsg1(dbglvl, "Back from wait_for_sysop stat=%d\n", stat);
if (dev->poll) {
- Dmsg1(400, "Poll timeout in mount vol on device %s\n", dev->print_name());
- Dmsg1(400, "Blocked=%s\n", dev->print_blocked());
+ Dmsg1(dbglvl, "Poll timeout in mount vol on device %s\n", dev->print_name());
+ Dmsg1(dbglvl, "Blocked=%s\n", dev->print_blocked());
goto get_out;
}
@@ -656,7 +658,7 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
Mmsg(dev->errmsg, _("Max time exceeded waiting to mount Storage Device %s for Job %s\n"),
dev->print_name(), jcr->Job);
Jmsg(jcr, M_FATAL, 0, "%s", dev->errmsg);
- Dmsg1(400, "Gave up waiting on device %s\n", dev->print_name());
+ Dmsg1(dbglvl, "Gave up waiting on device %s\n", dev->print_name());
return false; /* exceeded maximum waits */
}
continue;
@@ -667,12 +669,12 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
Jmsg(jcr, M_FATAL, 0, "%s", dev->errmsg);
return false;
}
- Dmsg1(400, "Someone woke me for device %s\n", dev->print_name());
+ Dmsg1(dbglvl, "Someone woke me for device %s\n", dev->print_name());
break;
}
get_out:
jcr->sendJobStatus(JS_Running);
- Dmsg0(400, "leave dir_ask_sysop_to_mount_volume\n");
+ Dmsg0(dbglvl, "leave dir_ask_sysop_to_mount_volume\n");
return true;
}
diff --git a/src/stored/bcopy.c b/src/stored/bcopy.c
index b512950..8db3259 100644
--- a/src/stored/bcopy.c
+++ b/src/stored/bcopy.c
@@ -197,13 +197,13 @@ int main (int argc, char *argv[])
}
Dmsg0(100, "About to acquire device for writing\n");
/* For we must now acquire the device for writing */
- out_dev->r_dlock();
+ out_dev->rLock(false);
if (!out_dev->open(out_jcr->dcr, OPEN_READ_WRITE)) {
Emsg1(M_FATAL, 0, _("dev open failed: %s\n"), out_dev->errmsg);
- out_dev->dunlock();
+ out_dev->Unlock();
exit(1);
}
- out_dev->dunlock();
+ out_dev->Unlock();
if (!acquire_device_for_append(out_jcr->dcr)) {
free_jcr(in_jcr);
exit(1);
diff --git a/src/stored/block.c b/src/stored/block.c
index b80c4a0..e731320 100644
--- a/src/stored/block.c
+++ b/src/stored/block.c
@@ -365,7 +365,7 @@ bool DCR::write_block_to_device()
if (!dcr->is_dev_locked()) { /* device already locked? */
/* note, do not change this to dcr->r_dlock */
- dev->r_dlock(); /* no, lock it */
+ dev->rLock(); /* no, lock it */
}
/*
@@ -409,7 +409,7 @@ bool DCR::write_block_to_device()
bail_out:
if (!dcr->is_dev_locked()) { /* did we lock dev above? */
/* note, do not change this to dcr->dunlock */
- dev->dunlock(); /* unlock it now */
+ dev->Unlock(); /* unlock it now */
}
return stat;
}
@@ -957,9 +957,9 @@ bool DCR::read_block_from_device(bool check_block_numbers)
bool ok;
Dmsg0(250, "Enter read_block_from_device\n");
- dev->r_dlock();
+ dev->rLock();
ok = read_block_from_dev(check_block_numbers);
- dev->dunlock();
+ dev->Unlock();
Dmsg0(250, "Leave read_block_from_device\n");
return ok;
}
diff --git a/src/stored/bscan.c b/src/stored/bscan.c
index 93b118d..e0f635f 100644
--- a/src/stored/bscan.c
+++ b/src/stored/bscan.c
@@ -839,9 +839,13 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec)
case STREAM_ACL_AIX_AIXC:
case STREAM_ACL_AIX_NFS4:
case STREAM_ACL_FREEBSD_NFS4_ACL:
+ case STREAM_ACL_HURD_DEFAULT_ACL:
+ case STREAM_ACL_HURD_ACCESS_ACL:
/* Ignore Unix ACL attributes */
break;
+ case STREAM_XATTR_HURD:
+ case STREAM_XATTR_IRIX:
case STREAM_XATTR_TRU64:
case STREAM_XATTR_AIX:
case STREAM_XATTR_OPENBSD:
diff --git a/src/stored/btape.c b/src/stored/btape.c
index 9678872..a3f751c 100644
--- a/src/stored/btape.c
+++ b/src/stored/btape.c
@@ -467,7 +467,7 @@ static bool open_the_device()
bool ok = true;
block = new_block(dev);
- dev->r_dlock();
+ dev->rLock();
Dmsg1(200, "Opening device %s\n", dcr->VolumeName);
if (!dev->open(dcr, OPEN_READ_WRITE)) {
Emsg1(M_FATAL, 0, _("dev open failed: %s\n"), dev->errmsg);
@@ -478,7 +478,7 @@ static bool open_the_device()
dev->set_append(); /* put volume in append mode */
bail_out:
- dev->dunlock();
+ dev->Unlock();
free_block(block);
return ok;
}
@@ -2699,7 +2699,7 @@ static int flush_block(DEV_BLOCK *block, int dump)
DEV_BLOCK *tblock;
uint32_t this_file, this_block_num;
- dev->r_dlock();
+ dev->rLock();
if (!this_block) {
this_block = new_block(dev);
}
@@ -2755,12 +2755,12 @@ static int flush_block(DEV_BLOCK *block, int dump)
if (!fixup_device_block_write_error(jcr->dcr)) {
Pmsg1(000, _("Cannot fixup device error. %s\n"), dev->bstrerror());
ok = false;
- dev->dunlock();
+ dev->Unlock();
return 0;
}
BlockNumber = 0; /* start counting for second tape */
}
- dev->dunlock();
+ dev->Unlock();
return 1; /* end of tape reached */
}
@@ -2779,7 +2779,7 @@ static int flush_block(DEV_BLOCK *block, int dump)
last_file = this_file;
last_block_num = this_block_num;
- dev->dunlock();
+ dev->Unlock();
return 1;
}
diff --git a/src/stored/dev.c b/src/stored/dev.c
index 7c6d57b..3d4e44b 100644
--- a/src/stored/dev.c
+++ b/src/stored/dev.c
@@ -32,7 +32,7 @@
* Kern Sibbald, MM
*
* NOTE!!!! None of these routines are reentrant. You must
- * use dev->r_dlock() and dev->unlock() at a higher level,
+ * use dev->rLock() and dev->Unlock() at a higher level,
* or use the xxx_device() equivalents. By moving the
* thread synchronization to a higher level, we permit
* the higher level routines to "seize" the device and
@@ -264,7 +264,7 @@ m_init_dev(JCR *jcr, DEVRES *device, bool new_init)
dev->errmsg = get_pool_memory(PM_EMSG);
*dev->errmsg = 0;
- if ((errstat = pthread_mutex_init(&dev->m_mutex, NULL)) != 0) {
+ if ((errstat = dev->init_mutex()) != 0) {
berrno be;
dev->dev_errno = errstat;
Mmsg1(dev->errmsg, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(errstat));
@@ -285,25 +285,25 @@ m_init_dev(JCR *jcr, DEVRES *device, bool new_init)
if ((errstat = pthread_mutex_init(&dev->spool_mutex, NULL)) != 0) {
berrno be;
dev->dev_errno = errstat;
- Mmsg1(dev->errmsg, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(errstat));
+ Mmsg1(dev->errmsg, _("Unable to init spool mutex: ERR=%s\n"), be.bstrerror(errstat));
Jmsg0(jcr, M_ERROR_TERM, 0, dev->errmsg);
}
- if ((errstat = pthread_mutex_init(&dev->acquire_mutex, NULL)) != 0) {
+ if ((errstat = dev->init_acquire_mutex()) != 0) {
berrno be;
dev->dev_errno = errstat;
- Mmsg1(dev->errmsg, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(errstat));
+ Mmsg1(dev->errmsg, _("Unable to init acquire mutex: ERR=%s\n"), be.bstrerror(errstat));
Jmsg0(jcr, M_ERROR_TERM, 0, dev->errmsg);
}
- /* Ensure that we respect this order in P/V operations */
- bthread_mutex_set_priority(&dev->m_mutex, PRIO_SD_DEV_ACCESS);
- bthread_mutex_set_priority(&dev->spool_mutex, PRIO_SD_DEV_SPOOL);
- bthread_mutex_set_priority(&dev->acquire_mutex, PRIO_SD_DEV_ACQUIRE);
- if ((errstat = pthread_mutex_init(&dev->read_acquire_mutex, NULL)) != 0) {
+ if ((errstat = dev->init_read_acquire_mutex()) != 0) {
berrno be;
dev->dev_errno = errstat;
- Mmsg1(dev->errmsg, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(errstat));
+ Mmsg1(dev->errmsg, _("Unable to init read acquire mutex: ERR=%s\n"), be.bstrerror(errstat));
Jmsg0(jcr, M_ERROR_TERM, 0, dev->errmsg);
}
+
+ dev->set_mutex_priorities();
+
+
#ifdef xxx
if ((errstat = rwl_init(&dev->lock)) != 0) {
berrno be;
diff --git a/src/stored/dev.h b/src/stored/dev.h
index 29d2bfd..c7a01cf 100644
--- a/src/stored/dev.h
+++ b/src/stored/dev.h
@@ -455,16 +455,32 @@ public:
* Locking and blocking calls
*/
#ifdef SD_DEBUG_LOCK
- void _r_dlock(const char *, int, bool locked=false); /* in lock.c */
- void _r_dunlock(const char *, int); /* in lock.c */
- void _dlock(const char *, int); /* in lock.c */
- void _dunlock(const char *, int); /* in lock.c */
+ void dbg_rLock(const char *, int, bool locked=false); /* in lock.c */
+ void dbg_rUnlock(const char *, int); /* in lock.c */
+ void dbg_Lock(const char *, int); /* in lock.c */
+ void dbg_Unlock(const char *, int); /* in lock.c */
+ void dbg_Lock_acquire(const char *, int); /* in lock.c */
+ void dbg_Unlock_acquire(const char *, int); /* in lock.c */
+ void dbg_Lock_read_acquire(const char *, int); /* in lock.c */
+ void dbg_Unlock_read_acquire(const char *, int); /* in lock.c */
#else
- void r_dlock(bool locked=false); /* in lock.c */
- void r_dunlock() { dunlock(); }
- void dlock() { P(m_mutex); }
- void dunlock() { V(m_mutex); }
+ void rLock(bool locked=false); /* in lock.c */
+ void rUnlock(); /* in lock.c */
+ void Lock(); /* in lock.c */
+ void Unlock(); /* in lock.c */
+ void Lock_acquire(); /* in lock.c */
+ void Unlock_acquire(); /* in lock.c */
+ void Lock_read_acquire(); /* in lock.c */
+ void Unlock_read_acquire(); /* in lock.c */
+ void Lock_VolCatInfo(); /* in lock.c */
+ void Unlock_VolCatInfo(); /* in lock.c */
#endif
+ int init_mutex(); /* in lock.c */
+ int init_acquire_mutex(); /* in lock.c */
+ int init_read_acquire_mutex(); /* in lock.c */
+ int init_volcat_mutex(); /* in lock.c */
+ void set_mutex_priorities(); /* in lock.c */
+ int next_vol_timedwait(const struct timespec *timeout); /* in lock.c */
void dblock(int why); /* in lock.c */
void dunblock(bool locked=false); /* in lock.c */
bool is_device_unmounted(); /* in lock.c */
@@ -504,6 +520,7 @@ inline const char *DEVICE::print_name() const { return prt_name; }
class DCR {
private:
bool m_dev_locked; /* set if dev already locked */
+ int m_dev_lock; /* non-zero if rLock already called */
bool m_reserved; /* set if reserved device */
bool m_found_in_use; /* set if a volume found in use */
@@ -511,6 +528,7 @@ public:
dlink dev_link; /* link to attach to dev */
JCR *jcr; /* pointer to JCR */
bthread_mutex_t m_mutex; /* access control */
+ pthread_mutex_t r_mutex; /* rLock pre-mutex */
DEVICE * volatile dev; /* pointer to device */
DEVRES *device; /* pointer to device resource */
DEV_BLOCK *block; /* pointer to block */
@@ -549,6 +567,8 @@ public:
/* Methods */
void set_dev(DEVICE *ndev) { dev = ndev; };
+ void inc_dev_lock() { m_dev_lock++; };
+ void dec_dev_lock() { m_dev_lock--; };
bool found_in_use() const { return m_found_in_use; };
void set_found_in_use() { m_found_in_use = true; };
void clear_found_in_use() { m_found_in_use = false; };
@@ -564,12 +584,12 @@ public:
/* Methods in lock.c */
void dblock(int why) { dev->dblock(why); }
-#ifdef SD_DEBUG_LOCK
- void _dlock(const char *, int); /* in lock.c */
- void _dunlock(const char *, int); /* in lock.c */
+#ifdef SD_DEBUG_LOCK
+ void dbg_mLock(const char *, int, bool locked); /* in lock.c */
+ void dbg_mUnlock(const char *, int); /* in lock.c */
#else
- void dlock() { dev->dlock(); m_dev_locked = true; }
- void dunlock() { m_dev_locked = false; dev->dunlock(); }
+ void mLock(bool locked);
+ void mUnlock();
#endif
/* Methods in record.c */
@@ -611,33 +631,6 @@ public:
};
-/*
- * Volume reservation class -- see reserve.c
- */
-class VOLRES {
- bool m_swapping; /* set when swapping to another drive */
- bool m_in_use; /* set when volume reserved or in use */
- int32_t m_slot; /* slot of swapping volume */
- uint32_t m_JobId; /* JobId for read volumes */
-public:
- dlink link;
- char *vol_name; /* Volume name */
- DEVICE *dev; /* Pointer to device to which we are attached */
-
- bool is_swapping() const { return m_swapping; };
- void set_swapping() { m_swapping = true; };
- void clear_swapping() { m_swapping = false; };
- bool is_in_use() const { return m_in_use; };
- void set_in_use() { m_in_use = true; };
- void clear_in_use() { m_in_use = false; };
- void set_slot(int32_t slot) { m_slot = slot; };
- void clear_slot() { m_slot = -1; };
- int32_t get_slot() const { return m_slot; };
- uint32_t get_jobid() const { return m_JobId; };
- void set_jobid(uint32_t JobId) { m_JobId = JobId; };
-};
-
-
/* Get some definition of function to position
* to the end of the medium in MTEOM. System
* dependent. Arrgggg!
diff --git a/src/stored/device.c b/src/stored/device.c
index f06b5cd..1f4084d 100644
--- a/src/stored/device.c
+++ b/src/stored/device.c
@@ -108,7 +108,7 @@ bool fixup_device_block_write_error(DCR *dcr, int retries)
block_device(dev, BST_DOING_ACQUIRE);
/* Continue unlocked, but leave BLOCKED */
- dev->dunlock();
+ dev->Unlock();
bstrncpy(PrevVolName, dev->getVolCatName(), sizeof(PrevVolName));
bstrncpy(dev->VolHdr.PrevVolumeName, PrevVolName, sizeof(dev->VolHdr.PrevVolumeName));
@@ -127,11 +127,11 @@ bool fixup_device_block_write_error(DCR *dcr, int retries)
if (!dcr->mount_next_write_volume()) {
free_block(label_blk);
dcr->block = block;
- dev->dlock();
+ dev->Lock();
goto bail_out;
}
Dmsg2(050, "must_unload=%d dev=%s\n", dev->must_unload(), dev->print_name());
- dev->dlock(); /* lock again */
+ dev->Lock(); /* lock again */
dev->VolCatInfo.VolCatJobs++; /* increment number of jobs on vol */
dir_update_volume_info(dcr, false, false); /* send Volume info to Director */
@@ -279,7 +279,7 @@ bool first_open_device(DCR *dcr)
return false;
}
- dev->r_dlock();
+ dev->rLock();
/* Defer opening files */
if (!dev->is_tape()) {
@@ -302,7 +302,7 @@ bool first_open_device(DCR *dcr)
Dmsg1(129, "open dev %s OK\n", dev->print_name());
bail_out:
- dev->dunlock();
+ dev->Unlock();
return ok;
}
diff --git a/src/stored/dircmd.c b/src/stored/dircmd.c
index 6a02f9d..a463802 100644
--- a/src/stored/dircmd.c
+++ b/src/stored/dircmd.c
@@ -416,7 +416,7 @@ static bool do_label(JCR *jcr, int relabel)
dcr = find_device(jcr, dev_name, drive);
if (dcr) {
dev = dcr->dev;
- dev->dlock(); /* Use P to avoid indefinite block */
+ dev->Lock(); /* Use P to avoid indefinite block */
if (!dev->is_open() && !dev->is_busy()) {
Dmsg1(400, "Can %slabel. Device is not open\n", relabel?"re":"");
label_volume_if_ok(dcr, oldname, newname, poolname, slot, relabel);
@@ -431,7 +431,7 @@ static bool do_label(JCR *jcr, int relabel)
Dmsg0(400, "Can relabel. device not used\n");
label_volume_if_ok(dcr, oldname, newname, poolname, slot, relabel);
}
- dev->dunlock();
+ dev->Unlock();
free_dcr(dcr);
} else {
dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), dev_name.c_str());
@@ -684,7 +684,7 @@ static bool mount_cmd(JCR *jcr)
dcr = find_device(jcr, devname, drive);
if (dcr) {
dev = dcr->dev;
- dev->dlock(); /* Use P to avoid indefinite block */
+ dev->Lock(); /* Use P to avoid indefinite block */
Dmsg2(100, "mount cmd blocked=%d must_unload=%d\n", dev->blocked(),
dev->must_unload());
switch (dev->blocked()) { /* device blocked? */
@@ -806,7 +806,7 @@ static bool mount_cmd(JCR *jcr)
dir->fsend(_("3905 Unknown wait state %d\n"), dev->blocked());
break;
}
- dev->dunlock();
+ dev->Unlock();
free_dcr(dcr);
} else {
dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), devname.c_str());
@@ -834,7 +834,7 @@ static bool unmount_cmd(JCR *jcr)
dcr = find_device(jcr, devname, drive);
if (dcr) {
dev = dcr->dev;
- dev->dlock(); /* Use P to avoid indefinite block */
+ dev->Lock(); /* Use P to avoid indefinite block */
if (!dev->is_open()) {
if (!dev->is_busy()) {
unload_autochanger(dcr, -1);
@@ -898,7 +898,7 @@ static bool unmount_cmd(JCR *jcr)
dev->print_name());
}
}
- dev->dunlock();
+ dev->Unlock();
free_dcr(dcr);
} else {
dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), devname.c_str());
@@ -971,7 +971,7 @@ static bool release_cmd(JCR *jcr)
dcr = find_device(jcr, devname, drive);
if (dcr) {
dev = dcr->dev;
- dev->dlock(); /* Use P to avoid indefinite block */
+ dev->Lock(); /* Use P to avoid indefinite block */
if (!dev->is_open()) {
if (!dev->is_busy()) {
unload_autochanger(dcr, -1);
@@ -1009,7 +1009,7 @@ static bool release_cmd(JCR *jcr)
dir->fsend(_("3022 Device \"%s\" released.\n"),
dev->print_name());
}
- dev->dunlock();
+ dev->Unlock();
free_dcr(dcr);
} else {
dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), devname.c_str());
@@ -1119,7 +1119,7 @@ static bool changer_cmd(JCR *jcr)
dcr = find_device(jcr, devname, -1);
if (dcr) {
dev = dcr->dev;
- dev->dlock(); /* Use P to avoid indefinite block */
+ dev->Lock(); /* Use P to avoid indefinite block */
if (!dev->device->changer_res) {
dir->fsend(_("3998 Device \"%s\" is not an autochanger.\n"),
dev->print_name());
@@ -1131,7 +1131,7 @@ static bool changer_cmd(JCR *jcr)
} else { /* device not being used */
autochanger_cmd(dcr, dir, cmd);
}
- dev->dunlock();
+ dev->Unlock();
free_dcr(dcr);
} else {
dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), devname.c_str());
@@ -1161,7 +1161,7 @@ static bool readlabel_cmd(JCR *jcr)
dcr = find_device(jcr, devname, drive);
if (dcr) {
dev = dcr->dev;
- dev->dlock(); /* Use P to avoid indefinite block */
+ dev->Lock(); /* Use P to avoid indefinite block */
if (!dev->is_open()) {
read_volume_label(jcr, dcr, dev, Slot);
dev->close();
@@ -1173,7 +1173,7 @@ static bool readlabel_cmd(JCR *jcr)
} else { /* device not being used */
read_volume_label(jcr, dcr, dev, Slot);
}
- dev->dunlock();
+ dev->Unlock();
free_dcr(dcr);
} else {
dir->fsend(_("3999 Device \"%s\" not found or could not be opened.\n"), devname.c_str());
diff --git a/src/stored/job.c b/src/stored/job.c
index 578f296..9d8cd7c 100644
--- a/src/stored/job.c
+++ b/src/stored/job.c
@@ -97,7 +97,7 @@ bool job_cmd(JCR *jcr)
return false;
}
jcr->rerunning = (rerunning) ? true : false;
- Dmsg3(100, "==== rerunning=%d VolSesId=%d VolSesTime=%d\n", jcr->rerunning,
+ Dmsg3(100, "rerunning=%d VolSesId=%d VolSesTime=%d\n", jcr->rerunning,
jcr->VolSessionId, jcr->VolSessionTime);
/*
* Since this job could be rescheduled, we
diff --git a/src/stored/lock.c b/src/stored/lock.c
index d20c1bf..73d1a66 100644
--- a/src/stored/lock.c
+++ b/src/stored/lock.c
@@ -1,7 +1,7 @@
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2012 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
@@ -28,7 +28,7 @@
/*
* Collection of Bacula Storage daemon locking software
*
- * Kern Sibbald, 2000-2007. June 2007
+ * Kern Sibbald, June 2007
*
*/
@@ -51,20 +51,20 @@ const int dbglvl = 500;
* is "marked" in use. When setting and removing the
block, the device is locked, but after dblock is
called the device is unlocked.
- * 2. dlock() simple mutex that locks the device structure. A dlock
+ * 2. Lock() simple mutex that locks the device structure. A Lock
* can be acquired while a device is blocked if it is not
* locked.
- * 3. r_dlock(locked) "recursive" dlock, when means that a dlock (mutex)
+ * 3. rLock(locked) "recursive" Lock, when means that a Lock (mutex)
* will be acquired on the device if it is not blocked
* by some other thread. If the device was blocked by
* the current thread, it will acquire the lock.
* If some other thread has set a block on the device,
* this call will wait until the device is unblocked.
* Can be called with locked true, which means the
- * dlock is already set
+ * Lock is already set
*
* A lock is normally set when modifying the device structure.
- * A r_lock is normally acquired when you want to block the device
+ * A rLock is normally acquired when you want to block the device
* i.e. it will wait until the device is not blocked.
* A block is normally set during long operations like writing to
* the device.
@@ -73,7 +73,7 @@ const int dbglvl = 500;
* A lock cannot be violated. No other thread can touch the
* device while a lock is set.
* When a block is set, every thread accept the thread that set
- * the block will block if r_dlock is called.
+ * the block will block if rLock is called.
* A device can be blocked for multiple reasons, labeling, writing,
* acquiring (opening) the device, waiting for the operator, unmounted,
* ...
@@ -86,29 +86,29 @@ const int dbglvl = 500;
*
* Functions:
*
- * DEVICE::dlock() does P(m_mutex) (in dev.h)
- * DEVICE::dunlock() does V(m_mutex)
+ * DEVICE::Lock() does P(m_mutex) (in dev.h)
+ * DEVICE::Unlock() does V(m_mutex)
*
- * DEVICE::r_dlock(locked) allows locking the device when this thread
+ * DEVICE::rLock(locked) allows locking the device when this thread
* already has the device blocked.
* if (!locked)
- * dlock()
+ * Lock()
* if blocked and not same thread that locked
* pthread_cond_wait
* leaves device locked
*
- * DEVICE::r_dunlock() unlocks but does not unblock
- * same as dunlock();
+ * DEVICE::rUnlock() unlocks but does not unblock
+ * same as Unlock();
*
* DEVICE::dblock(why) does
- * r_dlock(); (recursive device lock)
+ * rLock(); (recursive device lock)
* block_device(this, why)
- * r_dunlock()
+ * rUnlock()
*
* DEVICE::dunblock does
- * dlock()
+ * Lock()
* unblock_device()
- * dunlock()
+ * Unlock()
*
* block_device() does (must be locked and not blocked at entry)
* set blocked status
@@ -126,10 +126,10 @@ const int dbglvl = 500;
* save status
* set new blocked status
* set new pid
- * unlock()
+ * Unlock()
*
* give_back_device_lock() does (must be blocked but not locked)
- * dlock()
+ * Lock()
* reset blocked status
* save previous blocked
* reset pid
@@ -138,40 +138,68 @@ const int dbglvl = 500;
*
*/
-
void DEVICE::dblock(int why)
{
- r_dlock(); /* need recursive lock to block */
+ rLock(false); /* need recursive lock to block */
block_device(this, why);
- r_dunlock();
+ rUnlock();
}
void DEVICE::dunblock(bool locked)
{
if (!locked) {
- dlock();
+ Lock();
}
unblock_device(this);
- dunlock();
+ Unlock();
}
#ifdef SD_DEBUG_LOCK
-void DCR::_dlock(const char *file, int line)
+
+/*
+ * Debug DCR locks N.B.
+ *
+ */
+void DCR::dbg_mLock(const char *file, int line, bool locked)
{
- dev->_dlock(file, line);
- m_dev_locked = true;
+ real_P(r_mutex);
+ if (is_dev_locked()) {
+ real_V(r_mutex);
+ return;
+ }
+ Dmsg3(sd_dbglvl, "mLock %d from %s:%d\n", locked, file, line);
+ dev->dbg_rLock(file,line,locked);
+ inc_dev_lock();
+ real_V(r_mutex);
+ return;
}
-void DCR::_dunlock(const char *file, int line)
-{
- m_dev_locked = false;
- dev->_dunlock(file, line);
+void DCR::dbg_mUnlock(const char *file, int line)
+{
+ Dmsg2(sd_dbglvl, "mUnlock from %s:%d\n", file, line);
+ real_P(r_mutex);
+ if (!is_dev_locked()) {
+ real_P(r_mutex);
+ ASSERT2(0, "Call on dcr mUnlock when not locked");
+ return;
+ }
+ dec_dev_lock();
+ /* When the count goes to zero, unlock it */
+ if (!is_dev_locked()) {
+ dev->dbg_rUnlock(file,line);
+ }
+ real_V(r_mutex);
+ return;
}
-void DEVICE::_dlock(const char *file, int line)
+/*
+ * Debug DEVICE locks N.B.
+ *
+ */
+void DEVICE::dbg_Lock(const char *file, int line)
{
- Dmsg3(sd_dbglvl, "dlock from %s:%d precnt=%d\n", file, line, m_count);
+ Dmsg3(sd_dbglvl, "Lock from %s:%d precnt=%d\n", file, line, m_count);
/* Note, this *really* should be protected by a mutex, but
* since it is only debug code we don't worry too much.
*/
@@ -180,25 +208,161 @@ void DEVICE::_dlock(const char *file, int line)
get_jobid_from_tid(m_pid),
file, line, m_count);
}
- P(m_mutex);
+ bthread_mutex_lock_p(&m_mutex, file, line);
m_pid = pthread_self();
m_count++;
}
-void DEVICE::_dunlock(const char *file, int line)
+void DEVICE::dbg_Unlock(const char *file, int line)
{
m_count--;
- Dmsg3(sd_dbglvl+1, "dunlock from %s:%d postcnt=%d\n", file, line, m_count);
- V(m_mutex);
+ Dmsg3(sd_dbglvl, "Unlock from %s:%d postcnt=%d\n", file, line, m_count);
+ bthread_mutex_unlock_p(&m_mutex, file, line);
+}
+
+void DEVICE::dbg_rUnlock(const char *file, int line)
+{
+ Dmsg2(sd_dbglvl, "rUnlock from %s:%d\n", file, line);
+ dbg_Unlock(file, line);
+}
+
+void DEVICE::dbg_Lock_acquire(const char *file, int line)
+{
+ Dmsg2(sd_dbglvl, "Lock_acquire from %s:%d\n", file, line);
+ bthread_mutex_lock_p(&acquire_mutex, file, line);
+}
+
+void DEVICE::dbg_Unlock_acquire(const char *file, int line)
+{
+ Dmsg2(sd_dbglvl, "Unlock_acquire from %s:%d\n", file, line);
+ bthread_mutex_unlock_p(&acquire_mutex, file, line);
}
-void DEVICE::_r_dunlock(const char *file, int line)
+void DEVICE::dbg_Lock_read_acquire(const char *file, int line)
{
- this->_dunlock(file, line);
+ Dmsg2(sd_dbglvl, "Lock_read_acquire from %s:%d\n", file, line);
+ bthread_mutex_lock_p(&read_acquire_mutex, file, line);
+}
+
+void DEVICE::dbg_Unlock_read_acquire(const char *file, int line)
+{
+ Dmsg2(sd_dbglvl, "Unlock_read_acquire from %s:%d\n", file, line);
+ bthread_mutex_unlock_p(&read_acquire_mutex, file, line);
+}
+
+
+#else
+
+/*
+ * DCR locks N.B.
+ *
+ */
+/* Multiple rLock implementation */
+void DCR::mLock(bool locked)
+{
+ P(r_mutex);
+ if (is_dev_locked()) {
+ V(r_mutex);
+ return;
+ }
+ dev->rLock(locked);
+ inc_dev_lock();
+ V(r_mutex);
+ return;
+}
+
+/* Multiple rUnlock implementation */
+void DCR::mUnlock()
+{
+ P(r_mutex);
+ if (!is_dev_locked()) {
+ V(r_mutex);
+ ASSERT2(0, "Call on dcr mUnlock when not locked");
+ return;
+ }
+ dec_dev_lock();
+ /* When the count goes to zero, unlock it */
+ if (!is_dev_locked()) {
+ dev->rUnlock();
+ }
+ V(r_mutex);
+ return;
+}
+
+/*
+ * DEVICE locks N.B.
+ *
+ */
+
+void DEVICE::rUnlock()
+{
+ Unlock();
+}
+
+void DEVICE::Lock()
+{
+ P(m_mutex);
+}
+
+void DEVICE::Unlock()
+{
+ V(m_mutex);
+}
+
+void DEVICE::Lock_acquire()
+{
+ P(acquire_mutex);
+}
+
+void DEVICE::Unlock_acquire()
+{
+ V(acquire_mutex);
+}
+
+void DEVICE::Lock_read_acquire()
+{
+ P(read_acquire_mutex);
+}
+
+void DEVICE::Unlock_read_acquire()
+{
+ V(read_acquire_mutex);
}
#endif
+/* Main device access control */
+int DEVICE::init_mutex()
+{
+ return pthread_mutex_init(&m_mutex, NULL);
+}
+
+/* Write device acquire mutex */
+int DEVICE::init_acquire_mutex()
+{
+ return pthread_mutex_init(&acquire_mutex, NULL);
+}
+
+/* Read device acquire mutex */
+int DEVICE::init_read_acquire_mutex()
+{
+ return pthread_mutex_init(&read_acquire_mutex, NULL);
+}
+
+/* Set order in which device locks must be acquired */
+void DEVICE::set_mutex_priorities()
+{
+ /* Ensure that we respect this order in P/V operations */
+ bthread_mutex_set_priority(&m_mutex, PRIO_SD_DEV_ACCESS);
+ bthread_mutex_set_priority(&spool_mutex, PRIO_SD_DEV_SPOOL);
+ bthread_mutex_set_priority(&acquire_mutex, PRIO_SD_DEV_ACQUIRE);
+}
+
+int DEVICE::next_vol_timedwait(const struct timespec *timeout)
+{
+ return pthread_cond_timedwait(&wait_next_vol, &m_mutex, timeout);
+}
+
/*
* This is a recursive lock that checks if the device is blocked.
@@ -208,44 +372,50 @@ void DEVICE::_r_dunlock(const char *file, int line)
* and preparing the label.
*/
#ifdef SD_DEBUG_LOCK
-void DEVICE::_r_dlock(const char *file, int line, bool locked)
+void DEVICE::dbg_rLock(const char *file, int line, bool locked)
{
- Dmsg3(sd_dbglvl+1, "r_dlock blked=%s from %s:%d\n", this->print_blocked(),
+ Dmsg3(sd_dbglvl, "rLock blked=%s from %s:%d\n", print_blocked(),
file, line);
+ if (!locked) {
+ /* lockmgr version of P(m_mutex) */
+ bthread_mutex_lock_p(&m_mutex, file, line);
+ m_count++;
+ }
#else
-void DEVICE::r_dlock(bool locked)
+void DEVICE::rLock(bool locked)
{
-#endif
- int stat;
if (!locked) {
- P(m_mutex); /* this->dlock(); */
- m_count++; /* this->dlock() */
+ Lock();
+ m_count++;
}
- if (this->blocked() && !pthread_equal(this->no_wait_id, pthread_self())) {
- this->num_waiting++; /* indicate that I am waiting */
- while (this->blocked()) {
+#endif
+
+ if (blocked() && !pthread_equal(no_wait_id, pthread_self())) {
+ num_waiting++; /* indicate that I am waiting */
+ while (blocked()) {
+ int stat;
#ifndef HAVE_WIN32
/* thread id on Win32 may be a struct */
- Dmsg3(sd_dbglvl, "r_dlock blked=%s no_wait=%p me=%p\n", this->print_blocked(),
- this->no_wait_id, pthread_self());
+ Dmsg3(sd_dbglvl, "rLock blked=%s no_wait=%p me=%p\n", print_blocked(),
+ no_wait_id, pthread_self());
#endif
if ((stat = pthread_cond_wait(&this->wait, &m_mutex)) != 0) {
berrno be;
- this->dunlock();
+ this->Unlock();
Emsg1(M_ABORT, 0, _("pthread_cond_wait failure. ERR=%s\n"),
be.bstrerror(stat));
}
}
- this->num_waiting--; /* no longer waiting */
+ num_waiting--; /* no longer waiting */
}
}
/*
* Block all other threads from using the device
* Device must already be locked. After this call,
- * the device is blocked to any thread calling dev->r_lock(),
+ * the device is blocked to any thread calling dev->rLock(),
* but the device is not locked (i.e. no P on device). Also,
- * the current thread can do slip through the dev->r_lock()
+ * the current thread can do slip through the dev->rLock()
* calls without blocking.
*/
void _block_device(const char *file, int line, DEVICE *dev, int state)
@@ -280,7 +450,6 @@ void _unblock_device(const char *file, int line, DEVICE *dev)
*/
void _steal_device_lock(const char *file, int line, DEVICE *dev, bsteal_lock_t *hold, int state)
{
-
Dmsg3(sd_dbglvl, "steal lock. old=%s from %s:%d\n", dev->print_blocked(),
file, line);
hold->dev_blocked = dev->blocked();
@@ -289,7 +458,7 @@ void _steal_device_lock(const char *file, int line, DEVICE *dev, bsteal_lock_t *
dev->set_blocked(state);
Dmsg1(sd_dbglvl, "steal lock. new=%s\n", dev->print_blocked());
dev->no_wait_id = pthread_self();
- dev->dunlock();
+ dev->Unlock();
}
/*
@@ -300,7 +469,7 @@ void _give_back_device_lock(const char *file, int line, DEVICE *dev, bsteal_lock
{
Dmsg3(sd_dbglvl, "return lock. old=%s from %s:%d\n",
dev->print_blocked(), file, line);
- dev->dlock();
+ dev->Lock();
dev->set_blocked(hold->dev_blocked);
dev->dev_prev_blocked = hold->dev_prev_blocked;
dev->no_wait_id = hold->no_wait_id;
@@ -343,6 +512,7 @@ const char *DEVICE::print_blocked() const
bool DEVICE::is_device_unmounted()
{
bool stat;
+
int blk = blocked();
stat = (blk == BST_UNMOUNTED) ||
(blk == BST_UNMOUNTED_WAITING_FOR_SYSOP);
diff --git a/src/stored/mount.c b/src/stored/mount.c
index fac1007..a825123 100644
--- a/src/stored/mount.c
+++ b/src/stored/mount.c
@@ -37,6 +37,8 @@
#include "bacula.h" /* pull in global headers */
#include "stored.h" /* pull in Storage Deamon headers */
+static pthread_mutex_t mount_mutex = PTHREAD_MUTEX_INITIALIZER;
+
enum {
try_next_vol = 1,
try_read_vol,
@@ -77,27 +79,27 @@ bool DCR::mount_next_write_volume()
dev->print_name());
init_device_wait_timers(dcr);
+
+ P(mount_mutex);
/*
* Attempt to mount the next volume. If something non-fatal goes
* wrong, we come back here to re-try (new op messages, re-read
* Volume, ...)
*/
- lock_volumes();
-
mount_next_vol:
Dmsg1(150, "mount_next_vol retry=%d\n", retry);
/* Ignore retry if this is poll request */
if (retry++ > 4) {
/* Last ditch effort before giving up, force operator to respond */
VolCatInfo.Slot = 0;
- unlock_volumes();
+ V(mount_mutex);
if (!dir_ask_sysop_to_mount_volume(dcr, ST_APPEND)) {
Jmsg(jcr, M_FATAL, 0, _("Too many errors trying to mount device %s.\n"),
dev->print_name());
goto no_lock_bail_out;
}
- lock_volumes();
+ P(mount_mutex);
Dmsg1(150, "Continue after dir_ask_sysop_to_mount. must_load=%d\n", dev->must_load());
}
if (job_canceled(jcr)) {
@@ -162,13 +164,13 @@ mount_next_vol:
Dmsg2(250, "Ask=%d autochanger=%d\n", ask, autochanger);
if (ask) {
- unlock_volumes();
+ V(mount_mutex);
dcr->setVolCatInfo(false); /* out of date when Vols unlocked */
if (!dir_ask_sysop_to_mount_volume(dcr, ST_APPEND)) {
Dmsg0(150, "Error return ask_sysop ...\n");
goto no_lock_bail_out;
}
- lock_volumes();
+ P(mount_mutex);
}
if (job_canceled(jcr)) {
goto bail_out;
@@ -306,11 +308,11 @@ read_volume:
Dmsg1(150, "set APPEND, normal return from mount_next_write_volume. dev=%s\n",
dev->print_name());
- unlock_volumes();
+ V(mount_mutex);
return true;
bail_out:
- unlock_volumes();
+ V(mount_mutex);
no_lock_bail_out:
return false;
@@ -320,7 +322,8 @@ no_lock_bail_out:
* This routine is meant to be called once the first pass
* to ensure that we have a candidate volume to mount.
* Otherwise, we ask the sysop to created one.
- * Note, the the Volumes are locked on entry and exit.
+ * Note, mount_mutex is already locked on entry and thus
+ * must remain locked on exit from this function.
*/
bool DCR::find_a_volume()
{
@@ -344,12 +347,12 @@ bool DCR::find_a_volume()
if (job_canceled(jcr)) {
return false;
}
- unlock_volumes();
+ V(mount_mutex);
if (!dir_ask_sysop_to_create_appendable_volume(dcr)) {
- lock_volumes();
+ P(mount_mutex);
return false;
}
- lock_volumes();
+ P(mount_mutex);
if (job_canceled(jcr)) {
return false;
}
@@ -863,7 +866,11 @@ bool mount_next_read_volume(DCR *dcr)
* End Of Tape -- mount next Volume (if another specified)
*/
if (jcr->NumReadVolumes > 1 && jcr->CurReadVolume < jcr->NumReadVolumes) {
+ dev->Lock();
dev->close();
+ dev->set_read();
+ dcr->set_reserved();
+ dev->Unlock();
if (!acquire_device_for_read(dcr)) {
Jmsg2(jcr, M_FATAL, 0, _("Cannot open Dev=%s, Vol=%s\n"), dev->print_name(),
dcr->VolumeName);
diff --git a/src/stored/parse_bsr.c b/src/stored/parse_bsr.c
index d4eb27c..f9fb517 100644
--- a/src/stored/parse_bsr.c
+++ b/src/stored/parse_bsr.c
@@ -1,7 +1,7 @@
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2002-2009 Free Software Foundation Europe e.V.
+ Copyright (C) 2002-2012 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
@@ -30,7 +30,6 @@
*
* Kern Sibbald, June MMII
*
- * Version $Id$
*/
diff --git a/src/stored/reserve.c b/src/stored/reserve.c
index 615e117..10cc4f8 100644
--- a/src/stored/reserve.c
+++ b/src/stored/reserve.c
@@ -144,8 +144,7 @@ void DCR::clear_reserved()
*/
void DCR::unreserve_device()
{
- dev->dlock();
- lock_volumes();
+ dev->Lock();
if (is_reserved()) {
clear_reserved();
reserved_volume = false;
@@ -162,8 +161,7 @@ void DCR::unreserve_device()
volume_unused(this);
}
}
- unlock_volumes();
- dev->dunlock();
+ dev->Unlock();
}
/*
@@ -773,7 +771,7 @@ static bool reserve_device_for_read(DCR *dcr)
return false;
}
- dev->dlock();
+ dev->Lock();
if (dev->is_device_unmounted()) {
Dmsg1(dbglvl, "Device %s is BLOCKED due to user unmount.\n", dev->print_name());
@@ -804,7 +802,7 @@ static bool reserve_device_for_read(DCR *dcr)
ok = true;
bail_out:
- dev->dunlock();
+ dev->Unlock();
return ok;
}
@@ -835,7 +833,7 @@ static bool reserve_device_for_append(DCR *dcr, RCTX &rctx)
return false;
}
- dev->dlock();
+ dev->Lock();
/* If device is being read, we cannot write it */
if (dev->can_read()) {
@@ -872,7 +870,7 @@ static bool reserve_device_for_append(DCR *dcr, RCTX &rctx)
ok = true;
bail_out:
- dev->dunlock();
+ dev->Unlock();
return ok;
}
diff --git a/src/stored/spool.c b/src/stored/spool.c
index 47654ee..42868f9 100644
--- a/src/stored/spool.c
+++ b/src/stored/spool.c
@@ -475,16 +475,19 @@ bool write_block_to_spool_file(DCR *dcr)
}
V(mutex);
if (despool) {
-#ifdef xDEBUG
- char ec1[30], ec2[30], ec3[30], ec4[30];
- Dmsg4(100, "Despool in write_block_to_spool_file max_size=%s size=%s "
- "max_job_size=%s job_size=%s\n",
- edit_uint64_with_commas(dcr->max_job_spool_size, ec1),
- edit_uint64_with_commas(dcr->job_spool_size, ec2),
- edit_uint64_with_commas(dcr->dev->max_spool_size, ec3),
- edit_uint64_with_commas(dcr->dev->spool_size, ec4));
-#endif
- Jmsg(dcr->jcr, M_INFO, 0, _("User specified spool size reached.\n"));
+ char ec1[30], ec2[30];
+ if (dcr->max_job_spool_size > 0) {
+ Jmsg(dcr->jcr, M_INFO, 0, _("User specified Job spool size reached: "
+ "JobSpoolSize=%s MaxJobSpoolSize=%s\n"),
+ edit_uint64_with_commas(dcr->job_spool_size, ec1),
+ edit_uint64_with_commas(dcr->max_job_spool_size, ec2));
+ } else {
+ Jmsg(dcr->jcr, M_INFO, 0, _("User specified Device spool size reached: "
+ "DevSpoolSize=%s MaxDevSpoolSize=%s\n"),
+ edit_uint64_with_commas(dcr->dev->spool_size, ec1),
+ edit_uint64_with_commas(dcr->dev->max_spool_size, ec2));
+ }
+
if (!despool_data(dcr, false)) {
Pmsg0(000, _("Bad return from despool in write_block.\n"));
return false;
diff --git a/src/stored/status.c b/src/stored/status.c
index 1b6843a..20f2c08 100644
--- a/src/stored/status.c
+++ b/src/stored/status.c
@@ -1,7 +1,7 @@
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2003-2010 Free Software Foundation Europe e.V.
+ Copyright (C) 2003-2012 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
@@ -37,7 +37,7 @@
#include "stored.h"
#include "lib/status.h"
-/* Exported variables */
+/* Imported functions */
/* Imported variables */
extern BSOCK *filed_chan;
@@ -102,18 +102,43 @@ void output_status(STATUS_PKT *sp)
list_volumes(sendit, (void *)sp);
if (!sp->api) sendit("====\n\n", 6, sp);
-#ifdef xxx
- if (debug_level > 10) {
- bs->fsend(_("====\n\n"));
- dump_resource(R_DEVICE, resources[R_DEVICE-r_first].res_head, sendit, user);
- bs->fsend(_("====\n\n"));
- }
-#endif
list_spool_stats(sendit, (void *)sp);
if (!sp->api) sendit("====\n\n", 6, sp);
+
}
+static void list_resources(STATUS_PKT *sp)
+{
+#ifdef when_working
+ POOL_MEM msg(PM_MESSAGE);
+ int len;
+
+ len = Mmsg(msg, _("\nSD Resources:\n"));
+ if (!sp->api) sendit(msg, len, sp);
+ dump_resource(R_DEVICE, resources[R_DEVICE-r_first], sp);
+ if (!sp->api) sendit("====\n\n", 6, sp);
+#endif
+}
+
+#ifdef xxxx
+static find_device(char *devname)
+{
+ foreach_res(device, R_DEVICE) {
+ if (strcasecmp(device->hdr.name, devname) == 0) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ foreach_res(changer, R_AUTOCHANGER) {
+ if (strcasecmp(changer->hdr.name, devname) == 0) {
+ break;
+ }
+ }
+ }
+}
+#endif
static void list_devices(STATUS_PKT *sp)
{
@@ -143,21 +168,24 @@ static void list_devices(STATUS_PKT *sp)
}
}
}
+
+
foreach_res(device, R_DEVICE) {
dev = device->dev;
if (dev && dev->is_open()) {
if (dev->is_labeled()) {
- len = Mmsg(msg, _("Device %s is mounted with:\n"
+ len = Mmsg(msg, _("\nDevice %s is %s:\n"
" Volume: %s\n"
" Pool: %s\n"
" Media type: %s\n"),
dev->print_name(),
+ dev->blocked()?_("waiting for"):_("mounted with"),
dev->VolHdr.VolumeName,
- dev->pool_name[0]?dev->pool_name:"*unknown*",
+ dev->pool_name[0]?dev->pool_name:_("*unknown*"),
dev->device->media_type);
sendit(msg, len, sp);
} else {
- len = Mmsg(msg, _("Device %s open but no Bacula volume is currently mounted.\n"),
+ len = Mmsg(msg, _("\nDevice %s open but no Bacula volume is currently mounted.\n"),
dev->print_name());
sendit(msg, len, sp);
}
@@ -196,14 +224,16 @@ static void list_devices(STATUS_PKT *sp)
} else {
if (dev) {
- len = Mmsg(msg, _("Device %s is not open.\n"), dev->print_name());
+ len = Mmsg(msg, _("\nDevice %s is not open.\n"), dev->print_name());
sendit(msg, len, sp);
send_blocked_status(dev, sp);
} else {
- len = Mmsg(msg, _("Device \"%s\" is not open or does not exist.\n"), device->hdr.name);
+ len = Mmsg(msg, _("\nDevice \"%s\" is not open or does not exist.\n"), device->hdr.name);
sendit(msg, len, sp);
}
}
+
+ if (!sp->api) sendit("==\n", 4, sp);
}
if (!sp->api) sendit("====\n\n", 6, sp);
}
@@ -237,6 +267,21 @@ static void list_status_header(STATUS_PKT *sp)
(int)sizeof(boffset_t), (int)sizeof(size_t), (int)sizeof(int32_t),
(int)sizeof(int64_t), (int)DEVELOPER_MODE, (int)BEEF);
sendit(msg, len, sp);
+ if (bplugin_list->size() > 0) {
+ Plugin *plugin;
+ int len;
+ pm_strcpy(msg, " Plugin: ");
+ foreach_alist(plugin, bplugin_list) {
+ len = pm_strcat(msg, plugin->file);
+ if (len > 80) {
+ pm_strcat(msg, "\n ");
+ } else {
+ pm_strcat(msg, " ");
+ }
+ }
+ len = pm_strcat(msg, "\n");
+ sendit(msg.c_str(), len, sp);
+ }
}
static void send_blocked_status(DEVICE *dev, STATUS_PKT *sp)
@@ -260,33 +305,30 @@ static void send_blocked_status(DEVICE *dev, STATUS_PKT *sp)
break;
case BST_WAITING_FOR_SYSOP:
{
- dlist *dcrs = dev->attached_dcrs;
+ DCR *dcr;
bool found_jcr = false;
-
- if (dcrs != NULL) {
- DCR *dcr;
- for (dcr = (DCR *)dcrs->first(); dcr != NULL; dcr = (DCR *)dcrs->next(dcr)) {
- if (dcr->jcr->JobStatus == JS_WaitMount) {
- len = Mmsg(msg, _(" Device is BLOCKED waiting for mount of volume \"%s\",\n"
- " Pool: %s\n"
- " Media type: %s\n"),
- dcr->VolumeName,
- dcr->pool_name,
- dcr->media_type);
- sendit(msg, len, sp);
- found_jcr = true;
- } else if (dcr->jcr->JobStatus == JS_WaitMedia) {
- len = Mmsg(msg, _(" Device is BLOCKED waiting to create a volume for:\n"
- " Pool: %s\n"
- " Media type: %s\n"),
- dcr->pool_name,
- dcr->media_type);
- sendit(msg, len, sp);
- found_jcr = true;
- }
+ dev->Lock();
+ foreach_dlist(dcr, dev->attached_dcrs) {
+ if (dcr->jcr->JobStatus == JS_WaitMount) {
+ len = Mmsg(msg, _(" Device is BLOCKED waiting for mount of volume \"%s\",\n"
+ " Pool: %s\n"
+ " Media type: %s\n"),
+ dcr->VolumeName,
+ dcr->pool_name,
+ dcr->media_type);
+ sendit(msg, len, sp);
+ found_jcr = true;
+ } else if (dcr->jcr->JobStatus == JS_WaitMedia) {
+ len = Mmsg(msg, _(" Device is BLOCKED waiting to create a volume for:\n"
+ " Pool: %s\n"
+ " Media type: %s\n"),
+ dcr->pool_name,
+ dcr->media_type);
+ sendit(msg, len, sp);
+ found_jcr = true;
}
}
-
+ dev->Unlock();
if (!found_jcr) {
len = Mmsg(msg, _(" Device is BLOCKED waiting for media.\n"));
sendit(msg, len, sp);
@@ -307,15 +349,12 @@ static void send_blocked_status(DEVICE *dev, STATUS_PKT *sp)
/* Send autochanger slot status */
if (dev->is_autochanger()) {
if (dev->get_slot() > 0) {
- len = Mmsg(msg, _(" Slot %d is loaded in drive %d.\n"),
- dev->get_slot(), dev->drive_index);
+ len = Mmsg(msg, _(" Slot %d %s loaded in drive %d.\n"),
+ dev->get_slot(), dev->is_open()?"is": "was last", dev->drive_index);
sendit(msg, len, sp);
- } else if (dev->get_slot() == 0) {
+ } else if (dev->get_slot() <= 0) {
len = Mmsg(msg, _(" Drive %d is not loaded.\n"), dev->drive_index);
sendit(msg, len, sp);
- } else {
- len = Mmsg(msg, _(" Drive %d status unknown.\n"), dev->drive_index);
- sendit(msg, len, sp);
}
}
if (debug_level > 1) {
@@ -328,28 +367,28 @@ static void send_device_status(DEVICE *dev, STATUS_PKT *sp)
POOL_MEM msg(PM_MESSAGE);
int len;
- len = Mmsg(msg, _("Configured device capabilities:\n"));
- sendit(msg, len, sp);
-
- len = Mmsg(msg, "%sEOF %sBSR %sBSF %sFSR %sFSF %sEOM %sREM %sRACCESS %sAUTOMOUNT %sLABEL %sANONVOLS %sALWAYSOPEN\n",
- dev->capabilities & CAP_EOF ? "" : "!",
- dev->capabilities & CAP_BSR ? "" : "!",
- dev->capabilities & CAP_BSF ? "" : "!",
- dev->capabilities & CAP_FSR ? "" : "!",
- dev->capabilities & CAP_FSF ? "" : "!",
- dev->capabilities & CAP_EOM ? "" : "!",
- dev->capabilities & CAP_REM ? "" : "!",
- dev->capabilities & CAP_RACCESS ? "" : "!",
- dev->capabilities & CAP_AUTOMOUNT ? "" : "!",
- dev->capabilities & CAP_LABEL ? "" : "!",
- dev->capabilities & CAP_ANONVOLS ? "" : "!",
- dev->capabilities & CAP_ALWAYSOPEN ? "" : "!");
- sendit(msg, len, sp);
+ if (debug_level > 5) {
+ len = Mmsg(msg, _("Configured device capabilities:\n"));
+ sendit(msg, len, sp);
+ len = Mmsg(msg, " %sEOF %sBSR %sBSF %sFSR %sFSF %sEOM %sREM %sRACCESS %sAUTOMOUNT %sLABEL %sANONVOLS %sALWAYSOPEN\n",
+ dev->capabilities & CAP_EOF ? "" : "!",
+ dev->capabilities & CAP_BSR ? "" : "!",
+ dev->capabilities & CAP_BSF ? "" : "!",
+ dev->capabilities & CAP_FSR ? "" : "!",
+ dev->capabilities & CAP_FSF ? "" : "!",
+ dev->capabilities & CAP_EOM ? "" : "!",
+ dev->capabilities & CAP_REM ? "" : "!",
+ dev->capabilities & CAP_RACCESS ? "" : "!",
+ dev->capabilities & CAP_AUTOMOUNT ? "" : "!",
+ dev->capabilities & CAP_LABEL ? "" : "!",
+ dev->capabilities & CAP_ANONVOLS ? "" : "!",
+ dev->capabilities & CAP_ALWAYSOPEN ? "" : "!");
+ sendit(msg, len, sp);
+ }
len = Mmsg(msg, _("Device state:\n"));
sendit(msg, len, sp);
-
- len = Mmsg(msg, "%sOPENED %sTAPE %sLABEL %sMALLOC %sAPPEND %sREAD %sEOT %sWEOT %sEOF %sNEXTVOL %sSHORT %sMOUNTED\n",
+ len = Mmsg(msg, " %sOPENED %sTAPE %sLABEL %sMALLOC %sAPPEND %sREAD %sEOT %sWEOT %sEOF %sNEXTVOL %sSHORT %sMOUNTED\n",
dev->is_open() ? "" : "!",
dev->is_tape() ? "" : "!",
dev->is_labeled() ? "" : "!",
@@ -363,35 +402,50 @@ static void send_device_status(DEVICE *dev, STATUS_PKT *sp)
dev->state & ST_SHORT ? "" : "!",
dev->state & ST_MOUNTED ? "" : "!");
sendit(msg, len, sp);
-
- len = Mmsg(msg, _("num_writers=%d reserved=%d block=%d\n\n"), dev->num_writers,
+ len = Mmsg(msg, _(" num_writers=%d reserves=%d block=%d\n"), dev->num_writers,
dev->num_reserved(), dev->blocked());
sendit(msg, len, sp);
- len = Mmsg(msg, _("Device parameters:\n"));
+ len = Mmsg(msg, _("Attached Jobs: "));
sendit(msg, len, sp);
+ DCR *dcr = NULL;
+ bool found = false;
+ dev->Lock();
+ foreach_dlist(dcr, dev->attached_dcrs) {
+ if (dcr->jcr) {
+ if (found) {
+ sendit(",", 1, sp);
+ }
+ len = Mmsg(msg, "%d", (int)dcr->jcr->JobId);
+ sendit(msg, len, sp);
+ found = true;
+ }
+ }
+ dev->Unlock();
+ sendit("\n", 1, sp);
- len = Mmsg(msg, _("Archive name: %s Device name: %s\n"), dev->archive_name(),
+ len = Mmsg(msg, _("Device parameters:\n"));
+ sendit(msg, len, sp);
+ len = Mmsg(msg, _(" Archive name: %s Device name: %s\n"), dev->archive_name(),
dev->name());
sendit(msg, len, sp);
-
- len = Mmsg(msg, _("File=%u block=%u\n"), dev->file, dev->block_num);
+ len = Mmsg(msg, _(" File=%u block=%u\n"), dev->file, dev->block_num);
sendit(msg, len, sp);
-
- len = Mmsg(msg, _("Min block=%u Max block=%u\n"), dev->min_block_size, dev->max_block_size);
+ len = Mmsg(msg, _(" Min block=%u Max block=%u\n"), dev->min_block_size, dev->max_block_size);
sendit(msg, len, sp);
}
static void list_running_jobs(STATUS_PKT *sp)
{
bool found = false;
- int bps, sec;
+ int avebps, bps, sec;
JCR *jcr;
DCR *dcr, *rdcr;
char JobName[MAX_NAME_LENGTH];
- char b1[30], b2[30], b3[30];
+ char b1[50], b2[50], b3[50], b4[50];
int len;
POOL_MEM msg(PM_MESSAGE);
+ time_t now = time(NULL);
len = Mmsg(msg, _("\nRunning Jobs:\n"));
if (!sp->api) sendit(msg, len, sp);
@@ -442,16 +496,27 @@ static void list_running_jobs(STATUS_PKT *sp)
dcr->spooling, dcr->despooling, dcr->despool_wait);
sendit(msg, len, sp);
}
- sec = time(NULL) - jcr->run_time;
+ if (jcr->last_time == 0) {
+ jcr->last_time = jcr->run_time;
+ }
+ sec = now - jcr->last_time;
if (sec <= 0) {
sec = 1;
}
- bps = jcr->JobBytes / sec;
- len = Mmsg(msg, _(" Files=%s Bytes=%s Bytes/sec=%s\n"),
+ bps = (jcr->JobBytes - jcr->LastJobBytes) / sec;
+ if (jcr->LastRate == 0) {
+ jcr->LastRate = bps;
+ }
+ avebps = (jcr->LastRate + bps) / 2;
+ len = Mmsg(msg, _(" Files=%s Bytes=%s AveBytes/sec=%s LastBytes/sec=%s\n"),
edit_uint64_with_commas(jcr->JobFiles, b1),
edit_uint64_with_commas(jcr->JobBytes, b2),
- edit_uint64_with_commas(bps, b3));
+ edit_uint64_with_commas(avebps, b3),
+ edit_uint64_with_commas(bps, b4));
sendit(msg, len, sp);
+ jcr->LastRate = avebps;
+ jcr->LastJobBytes = jcr->JobBytes;
+ jcr->last_time = now;
found = true;
#ifdef DEBUG
if (jcr->file_bsock) {
@@ -695,8 +760,7 @@ bool qstatus_cmd(JCR *jcr)
sp.bs = dir;
if (sscanf(dir->msg, qstatus, cmd.c_str()) != 1) {
pm_strcpy(jcr->errmsg, dir->msg);
- Jmsg1(jcr, M_FATAL, 0, _("Bad .status command: %s\n"), jcr->errmsg);
- dir->fsend(_("3900 Bad .status command, missing argument.\n"));
+ dir->fsend(_("3900 No arg in .status command: %s\n"), jcr->errmsg);
dir->signal(BNET_EOD);
return false;
}
@@ -704,7 +768,7 @@ bool qstatus_cmd(JCR *jcr)
Dmsg1(200, "cmd=%s\n", cmd.c_str());
- if (strcmp(cmd.c_str(), "current") == 0) {
+ if (strcasecmp(cmd.c_str(), "current") == 0) {
dir->fsend(OKqstatus, cmd.c_str());
foreach_jcr(njcr) {
if (njcr->JobId != 0) {
@@ -712,7 +776,7 @@ bool qstatus_cmd(JCR *jcr)
}
}
endeach_jcr(njcr);
- } else if (strcmp(cmd.c_str(), "last") == 0) {
+ } else if (strcasecmp(cmd.c_str(), "last") == 0) {
dir->fsend(OKqstatus, cmd.c_str());
if ((last_jobs) && (last_jobs->size() > 0)) {
job = (s_last_job*)last_jobs->last();
@@ -739,10 +803,12 @@ bool qstatus_cmd(JCR *jcr)
} else if (strcasecmp(cmd.c_str(), "terminated") == 0) {
sp.api = true;
list_terminated_jobs(&sp);
+ } else if (strcasecmp(cmd.c_str(), "resources") == 0) {
+ sp.api = true;
+ list_resources(&sp);
} else {
pm_strcpy(jcr->errmsg, dir->msg);
- Jmsg1(jcr, M_FATAL, 0, _("Bad .status command: %s\n"), jcr->errmsg);
- dir->fsend(_("3900 Bad .status command, wrong argument.\n"));
+ dir->fsend(_("3900 Unknown arg in .status command: %s\n"), jcr->errmsg);
dir->signal(BNET_EOD);
return false;
}
diff --git a/src/stored/stored.h b/src/stored/stored.h
index 7d0fe50..2af78c4 100644
--- a/src/stored/stored.h
+++ b/src/stored/stored.h
@@ -1,7 +1,7 @@
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2011 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2013 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
@@ -28,7 +28,6 @@
/*
* Storage daemon specific defines and includes
*
- * Version $Id$
*/
#ifndef __STORED_H_
@@ -65,6 +64,7 @@ const int sd_dbglvl = 300;
#include "stored_conf.h"
#include "bsr.h"
#include "jcr.h"
+#include "vol_mgr.h"
#include "reserve.h"
#include "protos.h"
#ifdef HAVE_LIBZ
diff --git a/src/stored/vol_mgr.c b/src/stored/vol_mgr.c
index 78feb55..f3e28e7 100644
--- a/src/stored/vol_mgr.c
+++ b/src/stored/vol_mgr.c
@@ -1,7 +1,7 @@
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2012 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2013 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
@@ -100,7 +100,7 @@ void term_vol_list_lock()
rwl_destroy(&vol_list_lock);
}
-/*
+/*
* This allows a given thread to recursively call to lock_volumes()
*/
void _lock_volumes(const char *file, int line)
@@ -149,17 +149,17 @@ void add_read_volume(JCR *jcr, const char *VolumeName)
{
VOLRES *nvol, *vol;
- lock_read_volumes();
nvol = new_vol_item(NULL, VolumeName);
nvol->set_jobid(jcr->JobId);
+ lock_read_volumes();
vol = (VOLRES *)read_vol_list->binary_insert(nvol, read_compare);
+ unlock_read_volumes();
if (vol != nvol) {
free_vol_item(nvol);
Dmsg2(dbglvl, "read_vol=%s JobId=%d already in list.\n", VolumeName, jcr->JobId);
} else {
Dmsg2(dbglvl, "add read_vol=%s JobId=%d\n", VolumeName, jcr->JobId);
}
- unlock_read_volumes();
}
/*
@@ -181,6 +181,7 @@ void remove_read_volume(JCR *jcr, const char *VolumeName)
free_vol_item(fvol);
}
unlock_read_volumes();
+// pthread_cond_broadcast(&wait_next_vol);
}
/*
@@ -196,8 +197,7 @@ static void debug_list_volumes(const char *imsg)
VOLRES *vol;
POOL_MEM msg(PM_MESSAGE);
- lock_volumes();
- foreach_dlist(vol, vol_list) {
+ foreach_vol(vol) {
if (vol->dev) {
Mmsg(msg, "List %s: %s in_use=%d swap=%d on device %s\n", imsg,
vol->vol_name, vol->is_in_use(), vol->is_swapping(), vol->dev->print_name());
@@ -207,8 +207,7 @@ static void debug_list_volumes(const char *imsg)
}
Dmsg1(dbglvl, "%s", msg.c_str());
}
-
- unlock_volumes();
+ endeach_vol(vol);
}
@@ -221,32 +220,40 @@ void list_volumes(void sendit(const char *msg, int len, void *sarg), void *arg)
POOL_MEM msg(PM_MESSAGE);
int len;
- lock_volumes();
- foreach_dlist(vol, vol_list) {
+ foreach_vol(vol) {
DEVICE *dev = vol->dev;
if (dev) {
len = Mmsg(msg, "%s on device %s\n", vol->vol_name, dev->print_name());
sendit(msg.c_str(), len, arg);
- len = Mmsg(msg, " Reader=%d writers=%d devres=%d volinuse=%d\n",
- dev->can_read()?1:0, dev->num_writers, dev->num_reserved(),
+ len = Mmsg(msg, " Reader=%d writers=%d reserves=%d volinuse=%d\n",
+ dev->can_read()?1:0, dev->num_writers, dev->num_reserved(),
vol->is_in_use());
sendit(msg.c_str(), len, arg);
} else {
- len = Mmsg(msg, "%s no device. volinuse= %d\n", vol->vol_name,
+ len = Mmsg(msg, "Volume %s no device. volinuse= %d\n", vol->vol_name,
vol->is_in_use());
sendit(msg.c_str(), len, arg);
}
}
- unlock_volumes();
+ endeach_vol(vol);
lock_read_volumes();
foreach_dlist(vol, read_vol_list) {
- len = Mmsg(msg, "%s read volume JobId=%d\n", vol->vol_name,
- vol->get_jobid());
- sendit(msg.c_str(), len, arg);
+ DEVICE *dev = vol->dev;
+ if (dev) {
+ len = Mmsg(msg, "Read volume: %s on device %s\n", vol->vol_name, dev->print_name());
+ sendit(msg.c_str(), len, arg);
+ len = Mmsg(msg, " Reader=%d writers=%d reserves=%d volinuse=%d JobId=%d\n",
+ dev->can_read()?1:0, dev->num_writers, dev->num_reserved(),
+ vol->is_in_use(), vol->get_jobid());
+ sendit(msg.c_str(), len, arg);
+ } else {
+ len = Mmsg(msg, "Volume: %s no device. volinuse= %d\n", vol->vol_name,
+ vol->is_in_use());
+ sendit(msg.c_str(), len, arg);
+ }
}
unlock_read_volumes();
-
}
/*
@@ -264,6 +271,8 @@ static VOLRES *new_vol_item(DCR *dcr, const char *VolumeName)
Dmsg3(dbglvl, "new Vol=%s at %p dev=%s\n",
VolumeName, vol->vol_name, vol->dev->print_name());
}
+ vol->init_mutex();
+ vol->inc_use_count();
return vol;
}
@@ -271,10 +280,18 @@ static void free_vol_item(VOLRES *vol)
{
DEVICE *dev = NULL;
+ vol->dec_use_count();
+ vol->Lock();
+ if (vol->use_count() > 0) {
+ vol->Unlock();
+ return;
+ }
+ vol->Unlock();
free(vol->vol_name);
if (vol->dev) {
dev = vol->dev;
}
+ vol->destroy_mutex();
free(vol);
if (dev) {
dev->vol = NULL;
@@ -295,42 +312,38 @@ static void free_vol_item(VOLRES *vol)
*
* Some details of the Volume list handling:
*
- * 1. The Volume list entry must be attached to the drive (rather than
- * attached to a job as it currently is. I.e. the drive that "owns"
+ * 1. The Volume list entry is attached to the drive (rather than
+ * attached to a job as it was previously. I.e. the drive that "owns"
* the volume (in use, mounted)
* must point to the volume (still to be maintained in a list).
*
- * 2. The Volume is entered in the list when a drive is reserved.
+ * 2. The Volume is entered in the list when a drive is reserved.
*
* 3. When a drive is in use, the device code must appropriately update the
- * volume name as it changes (currently the list is static -- an entry is
- * removed when the Volume is no longer reserved, in use or mounted).
- * The new code must keep the same list entry as long as the drive
+ * volume name as it changes.
+ * This code keeps the same list entry as long as the drive
* has any volume associated with it but the volume name in the list
* must be updated when the drive has a different volume mounted.
*
- * 4. A job that has reserved a volume, can un-reserve the volume, and if the
+ * 4. A job that has reserved a volume, can un-reserve the volume, and if the
* volume is not mounted, and not reserved, and not in use, it will be
* removed from the list.
*
* 5. If a job wants to reserve a drive with a different Volume from the one on
* the drive, it can re-use the drive for the new Volume.
- *
+
* 6. If a job wants a Volume that is in a different drive, it can either use the
* other drive or take the volume, only if the other drive is not in use or
* not reserved.
*
- * One nice aspect of this is that the reserve use count and the writer use count
- * already exist and are correctly programmed and will need no changes -- use
+ * One nice aspect of this is that the reserve use count and the writer use count
+ * already exist and are correctly programmed and will need no changes -- use
* counts are always very tricky.
*
- * The old code had a concept of "reserving" a Volume, but was changed
- * to reserving and using a drive. A volume is must be attached to (owned by) a
- * drive and can move from drive to drive or be unused given certain specific
- * conditions of the drive. The key is that the drive must "own" the Volume.
- * The old code had the job (dcr) owning the volume (more or less). The job was
- * to change the insertion and removal of the volumes from the list to be based
- * on the drive rather than the job.
+ * The old code had a concept of "reserving" a Volume, but was changed
+ * to reserving and using a drive. A volume is must be attached to (owned by) a
+ * drive and can move from drive to drive or be unused given certain specific
+ * conditions of the drive. The key is that the drive must "own" the Volume.
*
* Return: VOLRES entry on success
* NULL volume busy on another drive
@@ -345,16 +358,17 @@ VOLRES *reserve_volume(DCR *dcr, const char *VolumeName)
}
ASSERT(dev != NULL);
- Dmsg2(dbglvl, "enter reserve_volume=%s drive=%s\n", VolumeName,
+ Dmsg2(dbglvl, "enter reserve_volume=%s drive=%s\n", VolumeName,
dcr->dev->print_name());
- /*
+
+ /*
* We lock the reservations system here to ensure
* when adding a new volume that no newly scheduled
* job can reserve it.
*/
lock_volumes();
debug_list_volumes("begin reserve_volume");
- /*
+ /*
* First, remove any old volume attached to this device as it
* is no longer used.
*/
@@ -415,7 +429,7 @@ VOLRES *reserve_volume(DCR *dcr, const char *VolumeName)
if (vol->dev) {
Dmsg2(dbglvl, "dev=%s vol->dev=%s\n", dev->print_name(), vol->dev->print_name());
}
-
+
/*
* Check if we are trying to use the Volume on a different drive
* dev is our device
@@ -442,8 +456,11 @@ VOLRES *reserve_volume(DCR *dcr, const char *VolumeName)
vol->dev = dev; /* point the Volume at our drive */
dev->vol = vol; /* point our drive at the Volume */
} else {
- Dmsg5(dbglvl, "==== Swap not possible Vol busy=%d swap=%d vol=%s from dev=%s to %s\n",
- vol->dev->is_busy(), vol->is_swapping(),
+ Jmsg7(dcr->jcr, M_WARNING, 0, "Need volume from other drive, "
+ "but swap not possible. Status: read=%d num_writers=%d "
+ "num_reserve=%d swap=%d vol=%s from dev=%s to %s\n",
+ vol->dev->can_read(), vol->dev->num_writers,
+ vol->dev->num_reserved(), vol->is_swapping(),
VolumeName, vol->dev->print_name(), dev->print_name());
if (vol->is_swapping() && dev->swap_dev) {
Dmsg3(dbglvl, "Swap failed vol=%s from=%s to dev=%s\n",
@@ -477,6 +494,69 @@ get_out:
}
/*
+ * Start walk of vol chain
+ * The proper way to walk the vol chain is:
+ * VOLRES *vol;
+ * foreach_vol(vol) {
+ * ...
+ * }
+ * endeach_vol(vol);
+ *
+ * It is possible to leave out the endeach_vol(vol), but
+ * in that case, the last vol referenced must be explicitly
+ * released with:
+ *
+ * free_vol_item(vol);
+ *
+ */
+VOLRES *vol_walk_start()
+{
+ VOLRES *vol;
+ lock_volumes();
+ vol = (VOLRES *)vol_list->first();
+ if (vol) {
+ vol->inc_use_count();
+ Dmsg2(dbglvl, "Inc walk_start use_count=%d volname=%s\n",
+ vol->use_count(), vol->vol_name);
+ }
+ unlock_volumes();
+ return vol;
+}
+
+/*
+ * Get next vol from chain, and release current one
+ */
+VOLRES *vol_walk_next(VOLRES *prev_vol)
+{
+ VOLRES *vol;
+
+ lock_volumes();
+ vol = (VOLRES *)vol_list->next(prev_vol);
+ if (vol) {
+ vol->inc_use_count();
+ Dmsg2(dbglvl, "Inc walk_next use_count=%d volname=%s\n",
+ vol->use_count(), vol->vol_name);
+ }
+ unlock_volumes();
+ if (prev_vol) {
+ free_vol_item(prev_vol);
+ }
+ return vol;
+}
+
+/*
+ * Release last vol referenced
+ */
+void vol_walk_end(VOLRES *vol)
+{
+ if (vol) {
+ Dmsg2(dbglvl, "Free walk_end use_count=%d volname=%s\n",
+ vol->use_count(), vol->vol_name);
+ free_vol_item(vol);
+ }
+}
+
+/*
* Search for a Volume name in the Volume list.
*
* Returns: VOLRES entry on success
@@ -526,7 +606,7 @@ static VOLRES *find_read_volume(const char *VolumeName)
}
-/*
+/*
* Free a Volume from the Volume list if it is no longer used
* Note, for tape drives we want to remember where the Volume
* was when last used, so rather than free the volume entry,
@@ -555,7 +635,7 @@ bool volume_unused(DCR *dcr)
return false;
}
- /*
+ /*
* If this is a tape, we do not free the volume, rather we wait
* until the autoloader unloads it, or until another tape is
* explicitly read in this drive. This allows the SD to remember
@@ -567,7 +647,7 @@ bool volume_unused(DCR *dcr)
return true;
} else {
/*
- * Note, this frees the volume reservation entry, but the
+ * Note, this frees the volume reservation entry, but the
* file descriptor remains open with the OS.
*/
return free_volume(dev);
@@ -600,6 +680,7 @@ bool free_volume(DEVICE *dev)
Dmsg1(dbglvl, "=== cannot clear swapping vol=%s\n", vol->vol_name);
}
unlock_volumes();
+// pthread_cond_broadcast(&wait_next_vol);
return true;
}
@@ -632,6 +713,7 @@ static void free_volume_list()
}
free(vol->vol_name);
vol->vol_name = NULL;
+ vol->destroy_mutex();
}
delete vol_list;
vol_list = NULL;
@@ -656,6 +738,7 @@ void free_volume_lists()
}
free(vol->vol_name);
vol->vol_name = NULL;
+ vol->destroy_mutex();
}
delete read_vol_list;
read_vol_list = NULL;
@@ -720,13 +803,13 @@ get_out:
}
-/*
+/*
* Create a temporary copy of the volume list. We do this,
* to avoid having the volume list locked during the
* call to reserve_device(), which would cause a deadlock.
* Note, we may want to add an update counter on the vol_list
* so that if it is modified while we are traversing the copy
- * we can take note and act accordingly (probably redo the
+ * we can take note and act accordingly (probably redo the
* search at least a few times).
*/
dlist *dup_vol_list(JCR *jcr)
@@ -734,12 +817,11 @@ dlist *dup_vol_list(JCR *jcr)
dlist *temp_vol_list;
VOLRES *vol = NULL;
- lock_volumes();
- Dmsg0(dbglvl, "lock volumes\n");
+ Dmsg0(dbglvl, "lock volumes\n");
Dmsg0(dbglvl, "duplicate vol list\n");
temp_vol_list = New(dlist(vol, &vol->link));
- foreach_dlist(vol, vol_list) {
+ foreach_vol(vol) {
VOLRES *nvol;
VOLRES *tvol = (VOLRES *)malloc(sizeof(VOLRES));
memset(tvol, 0, sizeof(VOLRES));
@@ -753,8 +835,8 @@ dlist *dup_vol_list(JCR *jcr)
Jmsg(jcr, M_WARNING, 0, "Logic error. Duplicating vol list hit duplicate.\n");
}
}
+ endeach_vol(vol);
Dmsg0(dbglvl, "unlock volumes\n");
- unlock_volumes();
return temp_vol_list;
}
@@ -764,7 +846,7 @@ dlist *dup_vol_list(JCR *jcr)
void free_temp_vol_list(dlist *temp_vol_list)
{
dlist *save_vol_list;
-
+
lock_volumes();
save_vol_list = vol_list;
vol_list = temp_vol_list;
diff --git a/src/stored/vol_mgr.h b/src/stored/vol_mgr.h
new file mode 100644
index 0000000..44659ed
--- /dev/null
+++ b/src/stored/vol_mgr.h
@@ -0,0 +1,100 @@
+/*
+ Bacula® - The Network Backup Solution
+
+ Copyright (C) 2000-2013 Free Software Foundation Europe e.V.
+
+ The main author of Bacula is Kern Sibbald, with contributions from
+ many others, a complete list can be found in the file AUTHORS.
+ This program is Free Software; you can redistribute it and/or
+ modify it under the terms of version three of the GNU Affero General Public
+ License as published by the Free Software Foundation and included
+ in the file LICENSE.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+
+ Bacula® is a registered trademark of Kern Sibbald.
+ The licensor of Bacula is the Free Software Foundation Europe
+ (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+ Switzerland, email:ftf at fsfeurope.org.
+*/
+/*
+ * Pulled out of dev.h
+ *
+ * Kern Sibbald, MMXIII
+ *
+ */
+
+/*
+ * Some details of how volume reservations work
+ *
+ * class VOLRES:
+ * set_in_use() volume being used on current drive
+ * clear_in_use() no longer being used. Can be re-used or moved.
+ * set_swapping() set volume being moved to another drive
+ * is_swapping() volume is being moved to another drive
+ * clear_swapping() volume normal
+ *
+ */
+
+#ifndef __VOL_MGR_H
+#define __VOL_MGR_H 1
+
+class VOLRES;
+VOLRES *vol_walk_start();
+VOLRES *vol_walk_next(VOLRES *prev_vol);
+void vol_walk_end(VOLRES *vol);
+
+/*
+ * Volume reservation class -- see vol_mgr.c and reserve.c
+ */
+class VOLRES {
+ bool m_swapping; /* set when swapping to another drive */
+ bool m_in_use; /* set when volume reserved or in use */
+ bool m_reading; /* set when reading */
+ int32_t m_slot; /* slot of swapping volume */
+ uint32_t m_JobId; /* JobId for read volumes */
+ volatile int32_t m_use_count; /* Use count */
+ pthread_mutex_t m_mutex; /* Vol muntex */
+public:
+ dlink link;
+ char *vol_name; /* Volume name */
+ DEVICE *dev; /* Pointer to device to which we are attached */
+
+ void init_mutex() { pthread_mutex_init(&m_mutex, NULL); };
+ void destroy_mutex() { pthread_mutex_destroy(&m_mutex); };
+ void Lock() { P(m_mutex); };
+ void Unlock() { V(m_mutex); };
+ void inc_use_count(void) {P(m_mutex); m_use_count++; V(m_mutex); };
+ void dec_use_count(void) {P(m_mutex); m_use_count--; V(m_mutex); };
+ int32_t use_count() const { return m_use_count; };
+ bool is_swapping() const { return m_swapping; };
+ bool is_reading() const { return m_reading; };
+ bool is_writing() const { return !m_reading; };
+ void set_reading() { m_reading = true; };
+ void clear_reading() { m_reading = false; };
+ void set_swapping() { m_swapping = true; };
+ void clear_swapping() { m_swapping = false; };
+ bool is_in_use() const { return m_in_use; };
+ void set_in_use() { m_in_use = true; };
+ void clear_in_use() { m_in_use = false; };
+ void set_slot(int32_t slot) { m_slot = slot; };
+ void clear_slot() { m_slot = -1; };
+ int32_t get_slot() const { return m_slot; };
+ uint32_t get_jobid() const { return m_JobId; };
+ void set_jobid(uint32_t JobId) { m_JobId = JobId; };
+};
+
+#define foreach_vol(vol) \
+ for (vol=vol_walk_start(); vol; (vol=vol_walk_next(vol)) )
+
+#define endeach_vol(vol) vol_walk_end(vol)
+
+#endif
diff --git a/src/stored/wait.c b/src/stored/wait.c
index 0a7a3d1..87f809f 100644
--- a/src/stored/wait.c
+++ b/src/stored/wait.c
@@ -59,7 +59,7 @@ int wait_for_sysop(DCR *dcr)
DEVICE *dev = dcr->dev;
JCR *jcr = dcr->jcr;
- dev->dlock();
+ dev->Lock();
Dmsg1(dbglvl, "Enter blocked=%s\n", dev->print_blocked());
/*
@@ -206,7 +206,7 @@ int wait_for_sysop(DCR *dcr)
Dmsg1(dbglvl, "set %s\n", dev->print_blocked());
}
Dmsg1(dbglvl, "Exit blocked=%s\n", dev->print_blocked());
- dev->dunlock();
+ dev->Unlock();
return stat;
}
diff --git a/src/streams.h b/src/streams.h
index 1fc8c82..78b1e68 100644
--- a/src/streams.h
+++ b/src/streams.h
@@ -169,6 +169,13 @@
#define STREAM_ACL_FREEBSD_NFS4_ACL 1017 /* FreeBSD specific acl_t string representation
* from acl_to_text (NFSv4 or ZFS acl)
*/
+#define STREAM_ACL_HURD_DEFAULT_ACL 1018 /* GNU HURD specific acl_t string representation
+ * from acl_to_text (POSIX acl) for default acls.
+ */
+#define STREAM_ACL_HURD_ACCESS_ACL 1019 /* GNU HURD specific acl_t string representation
+ * from acl_to_text (POSIX acl) for access acls.
+ */
+#define STREAM_XATTR_HURD 1989 /* GNU HURD specific extended attributes */
#define STREAM_XATTR_IRIX 1990 /* IRIX specific extended attributes */
#define STREAM_XATTR_TRU64 1991 /* TRU64 specific extended attributes */
#define STREAM_XATTR_AIX 1992 /* AIX specific extended attributes */
diff --git a/src/tools/Makefile.in b/src/tools/Makefile.in
index 2463957..3bdacc8 100644
--- a/src/tools/Makefile.in
+++ b/src/tools/Makefile.in
@@ -1,8 +1,6 @@
#
# Bacula Tools Makefile
#
-# Version $Id$
-#
@MCOMMON@
PYTHON_INC = @PYTHON_INCDIR@
@@ -37,7 +35,7 @@ EXTRAOBJS = @OBJLIST@
DIRCONFOBJS = ../dird/dird_conf.o ../dird/ua_acl.o ../dird/run_conf.o ../dird/inc_conf.o
NODIRTOOLS = bsmtp
-DIRTOOLS = bsmtp dbcheck drivetype fstype testfind testls bregex bwild bbatch bregtest bvfs_test ing_test bpluginfo
+DIRTOOLS = bsmtp dbcheck drivetype fstype testfind testls bregex bwild bbatch bregtest bvfs_test ing_test bpluginfo timelimit
TOOLS = $(@DIR_TOOLS@)
INSNODIRTOOLS = bsmtp
@@ -88,6 +86,10 @@ run_conf.o: ../dird/run_conf.c
inc_conf.o: ../dird/inc_conf.c
$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
+timelimit: timelimit.o
+ ${CC} ${DEFS} ${DEBUG} -pipe -DHAVE_ERRNO_H -DHAVE_SETITIMER -DHAVE_SIGACTION -c timelimit.c
+ ${CC} -o timelimit timelimit.o
+
testfind: Makefile ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) \
../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) $(FINDOBJS)
$(LIBTOOL_LINK) $(CXX) -g $(LDFLAGS) -o $@ $(FINDOBJS) -L. -L../lib -L../findlib \
diff --git a/src/tools/bpluginfo.c b/src/tools/bpluginfo.c
index 75a5114..faa2754 100644
--- a/src/tools/bpluginfo.c
+++ b/src/tools/bpluginfo.c
@@ -47,10 +47,10 @@
#include <dlfcn.h>
#endif
#include "bacula.h"
-#include "fd_plugins.h"
-#include "dir_plugins.h"
+#include "../filed/fd_plugins.h"
+#include "../dird/dir_plugins.h"
// I can't include sd_plugins.h here ...
-#include "stored.h"
+#include "../stored/stored.h"
#include "assert_macro.h"
extern "C" {
diff --git a/src/tools/timelimit.1 b/src/tools/timelimit.1
new file mode 100644
index 0000000..1d3a7c9
--- /dev/null
+++ b/src/tools/timelimit.1
@@ -0,0 +1,217 @@
+.\" Copyright (c) 2001, 2007 - 2010 Peter Pentchev
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $Ringlet$
+.\"
+.Dd September 29, 2010
+.Dt TIMELIMIT 1
+.Os
+.Sh NAME
+.Nm timelimit
+.Nd effectively limit the absolute execution time of a process
+.Sh SYNOPSIS
+.Nm
+.Op Fl pq
+.Op Fl S Ar killsig
+.Op Fl s Ar warnsig
+.Op Fl T Ar killtime
+.Op Fl t Ar warntime
+.Ar command
+.Op Ar arguments ...
+.Sh DESCRIPTION
+The
+.Nm
+utility executes a given
+.Ar command
+with the supplied
+.Ar arguments
+and terminates the spawned process after a given time with a given signal.
+If the process exits before the time limit has elapsed,
+.Nm
+will silently exit, too.
+.Pp
+Options:
+.Bl -tag -width indent
+.It Fl p
+If the child process is terminated by a signal,
+.Nm
+propagates this condition, i.e. sends the same signal to itself.
+This allows the program executing
+.Nm
+to determine whether the child process was terminated by a signal or
+actually exited with an exit code larger than 128.
+.It Fl q
+Quiet operation -
+.Nm
+does not output diagnostic messages about signals sent to the child process.
+.It Fl S Ar killsig
+Specify the number of the signal to be sent to the process
+.Ar killtime
+seconds after
+.Ar warntime
+has expired.
+Defaults to 9 (SIGKILL).
+.It Fl s Ar warnsig
+Specify the number of the signal to be sent to the process
+.Ar warntime
+seconds after it has been started.
+Defaults to 15 (SIGTERM).
+.It Fl T Ar killtime
+Specify the maximum execution time of the process before sending
+.Ar killsig
+after
+.Ar warnsig
+has been sent.
+Defaults to 120 seconds.
+.It Fl t Ar warntime
+Specify the maximum execution time of the process in seconds before sending
+.Ar warnsig .
+Defaults to 3600 seconds.
+.El
+.Pp
+On systems that support the
+.Xr setitimer 2
+system call, the
+.Ar warntime
+and
+.Ar killtime
+values may be specified in fractional seconds with microsecond precision.
+.Sh ENVIRONMENT
+.Bl -tag -width indent
+.It Ev KILLSIG
+The
+.Ar killsig
+to use if the
+.Fl S
+option was not specified.
+.It Ev KILLTIME
+The
+.Ar killtime
+to use if the
+.Fl T
+option was not specified.
+.It Ev WARNSIG
+The
+.Ar warnsig
+to use if the
+.Fl s
+option was not specified.
+.It Ev WARNTIME
+The
+.Ar warntime
+to use if the
+.Fl t
+option was not specified.
+.El
+.Sh EXIT STATUS
+If the child process exits normally, the
+.Nm
+utility will pass its exit code on up.
+If the child process is terminated by a signal and the
+.Fl p
+flag was not specified, the
+.Nm
+utility's exit status is 128 plus the signal number, similar to
+.Xr sh 1 .
+If the
+.Fl p
+flag was specified, the
+.Nm
+utility will raise the signal itself so that its own parent process
+may in turn reliably distinguish between a signal and a larger than 128
+exit code.
+.Pp
+In rare cases, the
+.Nm
+utility may encounter a system or user error; then, its exit status is one
+of the standard
+.Xr sysexits 3
+values:
+.Bl -tag -width indent
+.It Dv EX_USAGE
+The command-line parameters and options were incorrectly specified.
+.It Dv EX_SOFTWARE
+The
+.Nm
+utility itself received an unexpected signal while waiting for the child
+process to terminate.
+.It Dv EX_OSERR
+The
+.Nm
+utility was unable to execute the child process, wait for it to terminate,
+or examine its exit status.
+.El
+.Sh EXAMPLES
+.Pp
+The following examples are shown as given to the shell:
+.Pp
+.Dl timelimit -p /usr/local/bin/rsync rsync://some.host/dir /opt/mirror
+.Pp
+Run the rsync program to mirror a WWW or FTP site and kill it if it
+runs longer than 1 hour (that is 3600 seconds) with SIGTERM.
+If the rsync process does not exit after receiving the SIGTERM,
+.Nm
+issues a SIGKILL 120 seconds after the SIGTERM.
+If the rsync process is terminated by a signal,
+.Nm
+will itself raise this signal.
+.Pp
+.Dl tcpserver 0 8888 timelimit -t600 -T300 /opt/services/chat/stats
+.Pp
+Start a
+.Xr tcpserver n
+process listening on tcp port 8888; each client connection shall invoke
+an instance of an IRC statistics tool under
+.Pa /opt/services/chat
+and kill it after 600 seconds have elapsed.
+If the stats process is still running after the SIGTERM, it will be
+killed by a SIGKILL sent 300 seconds later.
+.Pp
+.Dl env WARNTIME=4.99 WARNSIG=1 KILLTIME=1.000001 timelimit sh stats.sh
+.Pp
+Start a shell script and kill it with a SIGHUP in a little under 5 seconds.
+If the shell gets stuck and does not respond to the SIGHUP, kill it
+with the default SIGKILL just a bit over a second afterwards.
+.Sh SEE ALSO
+.Xr kill 1 ,
+.Xr rsync 1 ,
+.Xr signal 3 ,
+.Xr tcpserver n
+.Sh STANDARDS
+No standards documentation was harmed in the process of creating
+.Nm .
+.Sh BUGS
+Please report any bugs in
+.Nm
+to the author.
+.Sh AUTHOR
+The
+.Nm
+utility was conceived and written by
+.An Peter Pentchev Aq roam at ringlet.net
+with contributions and suggestions by
+.An Karsten W Rohrbach Aq karsten at rohrbach.de ,
+.An Teddy Hogeborn Aq teddy at fukt.bsnet.se ,
+and
+.An Tomasz Nowak Aq nowak2000 at poczta.onet.pl .
diff --git a/src/tools/timelimit.c b/src/tools/timelimit.c
new file mode 100644
index 0000000..c337a18
--- /dev/null
+++ b/src/tools/timelimit.c
@@ -0,0 +1,537 @@
+/*-
+ * Copyright (c) 2001, 2007 - 2010 Peter Pentchev
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+
+/* we hope all OS's have those..*/
+#include <sys/types.h>
+#include <sys/signal.h>
+#include <sys/time.h>
+#include <sys/wait.h>
+
+#include <signal.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <errno.h>
+
+#ifdef HAVE_ERR
+#include <err.h>
+#endif /* HAVE_ERR */
+
+#ifdef HAVE_SYSEXITS_H
+#include <sysexits.h>
+#else
+#define EX_OK 0 /* successful termination */
+#define EX__BASE 64 /* base value for error messages */
+#define EX_USAGE 64 /* command line usage error */
+#define EX_DATAERR 65 /* data format error */
+#define EX_NOINPUT 66 /* cannot open input */
+#define EX_NOUSER 67 /* addressee unknown */
+#define EX_NOHOST 68 /* host name unknown */
+#define EX_UNAVAILABLE 69 /* service unavailable */
+#define EX_SOFTWARE 70 /* internal software error */
+#define EX_OSERR 71 /* system error (e.g., can't fork) */
+#define EX_OSFILE 72 /* critical OS file missing */
+#define EX_CANTCREAT 73 /* can't create (user) output file */
+#define EX_IOERR 74 /* input/output error */
+#define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */
+#define EX_PROTOCOL 76 /* remote error in protocol */
+#define EX_NOPERM 77 /* permission denied */
+#define EX_CONFIG 78 /* configuration error */
+#define EX__MAX 78 /* maximum listed value */
+#endif /* HAVE_SYSEXITS_H */
+
+#ifndef __unused
+#ifdef __GNUC__
+#define __unused __attribute__((unused))
+#else /* __GNUC__ */
+#define __unused
+#endif /* __GNUC__ */
+#endif /* __unused */
+
+#ifndef __dead2
+#ifdef __GNUC__
+#define __dead2 __attribute__((noreturn))
+#else /* __GNUC__ */
+#define __dead2
+#endif /* __GNUC__ */
+#endif /* __dead2 */
+
+#define PARSE_CMDLINE
+
+unsigned long warntime, warnmsec, killtime, killmsec;
+unsigned long warnsig, killsig;
+volatile int fdone, falarm, fsig, sigcaught;
+int propagate, quiet;
+
+static struct {
+ const char *name, opt, issig;
+ unsigned long *sec, *msec;
+} envopts[] = {
+ {"KILLSIG", 'S', 1, &killsig, NULL},
+ {"KILLTIME", 'T', 0, &killtime, &killmsec},
+ {"WARNSIG", 's', 1, &warnsig, NULL},
+ {"WARNTIME", 't', 0, &warntime, &warnmsec},
+ {NULL, 0, 0, NULL, NULL}
+};
+
+static struct {
+ const char *name;
+ int num;
+} signals[] = {
+ /* We kind of assume that the POSIX-mandated signals are present */
+ {"ABRT", SIGABRT},
+ {"ALRM", SIGALRM},
+ {"BUS", SIGBUS},
+ {"CHLD", SIGCHLD},
+ {"CONT", SIGCONT},
+ {"FPE", SIGFPE},
+ {"HUP", SIGHUP},
+ {"ILL", SIGILL},
+ {"INT", SIGINT},
+ {"KILL", SIGKILL},
+ {"PIPE", SIGPIPE},
+ {"QUIT", SIGQUIT},
+ {"SEGV", SIGSEGV},
+ {"STOP", SIGSTOP},
+ {"TERM", SIGTERM},
+ {"TSTP", SIGTSTP},
+ {"TTIN", SIGTTIN},
+ {"TTOU", SIGTTOU},
+ {"USR1", SIGUSR1},
+ {"USR2", SIGUSR2},
+ {"PROF", SIGPROF},
+ {"SYS", SIGSYS},
+ {"TRAP", SIGTRAP},
+ {"URG", SIGURG},
+ {"VTALRM", SIGVTALRM},
+ {"XCPU", SIGXCPU},
+ {"XFSZ", SIGXFSZ},
+
+ /* Some more signals found on a Linux 2.6 system */
+#ifdef SIGIO
+ {"IO", SIGIO},
+#endif
+#ifdef SIGIOT
+ {"IOT", SIGIOT},
+#endif
+#ifdef SIGLOST
+ {"LOST", SIGLOST},
+#endif
+#ifdef SIGPOLL
+ {"POLL", SIGPOLL},
+#endif
+#ifdef SIGPWR
+ {"PWR", SIGPWR},
+#endif
+#ifdef SIGSTKFLT
+ {"STKFLT", SIGSTKFLT},
+#endif
+#ifdef SIGWINCH
+ {"WINCH", SIGWINCH},
+#endif
+
+ /* Some more signals found on a FreeBSD 8.x system */
+#ifdef SIGEMT
+ {"EMT", SIGEMT},
+#endif
+#ifdef SIGINFO
+ {"INFO", SIGINFO},
+#endif
+#ifdef SIGLWP
+ {"LWP", SIGLWP},
+#endif
+#ifdef SIGTHR
+ {"THR", SIGTHR},
+#endif
+};
+#define SIGNALS (sizeof(signals) / sizeof(signals[0]))
+
+#ifndef HAVE_ERR
+static void err(int, const char *, ...);
+static void errx(int, const char *, ...);
+#endif /* !HAVE_ERR */
+
+static void usage(void);
+
+static void init(int, char *[]);
+static pid_t doit(char *[]);
+static void child(char *[]);
+static void raisesignal(int) __dead2;
+static void setsig_fatal(int, void (*)(int));
+static void setsig_fatal_gen(int, void (*)(int), int, const char *);
+static void terminated(const char *);
+
+#ifndef HAVE_ERR
+static void
+err(int code, const char *fmt, ...) {
+ va_list v;
+
+ va_start(v, fmt);
+ vfprintf(stderr, fmt, v);
+ va_end(v);
+
+ fprintf(stderr, ": %s\n", strerror(errno));
+ exit(code);
+}
+
+static void
+errx(int code, const char *fmt, ...) {
+ va_list v;
+
+ va_start(v, fmt);
+ vfprintf(stderr, fmt, v);
+ va_end(v);
+
+ fprintf(stderr, "\n");
+ exit(code);
+}
+
+static void
+warnx(const char *fmt, ...) {
+ va_list v;
+
+ va_start(v, fmt);
+ vfprintf(stderr, fmt, v);
+ va_end(v);
+
+ fprintf(stderr, "\n");
+}
+#endif /* !HAVE_ERR */
+
+static void
+usage(void) {
+ errx(EX_USAGE, "usage: timelimit [-pq] [-S ksig] [-s wsig] "
+ "[-T ktime] [-t wtime] command");
+}
+
+static void
+atou_fatal(const char *s, unsigned long *sec, unsigned long *msec, int issig) {
+ unsigned long v, vm, mul;
+ const char *p;
+ size_t i;
+
+ if (s[0] < '0' || s[0] > '9') {
+ if (s[0] == '\0' || !issig)
+ usage();
+ for (i = 0; i < SIGNALS; i++)
+ if (!strcmp(signals[i].name, s))
+ break;
+ if (i == SIGNALS)
+ usage();
+ *sec = (unsigned long)signals[i].num;
+ if (msec != NULL)
+ *msec = 0;
+ return;
+ }
+
+ v = 0;
+ for (p = s; (*p >= '0') && (*p <= '9'); p++)
+ v = v * 10 + *p - '0';
+ if (*p == '\0') {
+ *sec = v;
+ if (msec != NULL)
+ *msec = 0;
+ return;
+ } else if (*p != '.' || msec == NULL) {
+ usage();
+ }
+ p++;
+
+ vm = 0;
+ mul = 1000000;
+ for (; (*p >= '0') && (*p <= '9'); p++) {
+ vm = vm * 10 + *p - '0';
+ mul = mul / 10;
+ }
+ if (*p != '\0')
+ usage();
+ else if (mul < 1)
+ errx(EX_USAGE, "no more than microsecond precision");
+#ifndef HAVE_SETITIMER
+ if (msec != 0)
+ errx(EX_UNAVAILABLE,
+ "subsecond precision not supported on this platform");
+#endif
+ *sec = v;
+ *msec = vm * mul;
+}
+
+static void
+init(int argc, char *argv[]) {
+#ifdef PARSE_CMDLINE
+ int ch, listsigs;
+#endif
+ int optset;
+ unsigned i;
+ char *s;
+
+ /* defaults */
+ quiet = 0;
+ warnsig = SIGTERM;
+ killsig = SIGKILL;
+ warntime = 900;
+ warnmsec = 0;
+ killtime = 5;
+ killmsec = 0;
+
+ optset = 0;
+
+ /* process environment variables first */
+ for (i = 0; envopts[i].name != NULL; i++)
+ if ((s = getenv(envopts[i].name)) != NULL) {
+ atou_fatal(s, envopts[i].sec, envopts[i].msec,
+ envopts[i].issig);
+ optset = 1;
+ }
+
+#ifdef PARSE_CMDLINE
+ listsigs = 0;
+ while ((ch = getopt(argc, argv, "+lqpS:s:T:t:")) != -1) {
+ switch (ch) {
+ case 'l':
+ listsigs = 1;
+ break;
+ case 'p':
+ propagate = 1;
+ break;
+ case 'q':
+ quiet = 1;
+ break;
+ default:
+ /* check if it's a recognized option */
+ for (i = 0; envopts[i].name != NULL; i++)
+ if (ch == envopts[i].opt) {
+ atou_fatal(optarg,
+ envopts[i].sec,
+ envopts[i].msec,
+ envopts[i].issig);
+ optset = 1;
+ break;
+ }
+ if (envopts[i].name == NULL)
+ usage();
+ }
+ }
+
+ if (listsigs) {
+ for (i = 0; i < SIGNALS; i++)
+ printf("%s%c", signals[i].name,
+ i + 1 < SIGNALS? ' ': '\n');
+ exit(EX_OK);
+ }
+#else
+ optind = 1;
+#endif
+
+ if (!optset) /* && !quiet? */
+ warnx("using defaults: warntime=%lu, warnsig=%lu, "
+ "killtime=%lu, killsig=%lu",
+ warntime, warnsig, killtime, killsig);
+
+ argc -= optind;
+ argv += optind;
+ if (argc == 0)
+ usage();
+
+ /* sanity checks */
+ if ((warntime == 0 && warnmsec == 0) || (killtime == 0 && killmsec == 0))
+ usage();
+}
+
+static void
+sigchld(int sig __unused) {
+
+ fdone = 1;
+}
+
+static void
+sigalrm(int sig __unused) {
+
+ falarm = 1;
+}
+
+static void
+sighandler(int sig) {
+
+ sigcaught = sig;
+ fsig = 1;
+}
+
+static void
+setsig_fatal(int sig, void (*handler)(int)) {
+
+ setsig_fatal_gen(sig, handler, 1, "setting");
+}
+
+static void
+setsig_fatal_gen(int sig, void (*handler)(int), int nocld, const char *what) {
+#ifdef HAVE_SIGACTION
+ struct sigaction act;
+
+ memset(&act, 0, sizeof(act));
+ act.sa_handler = handler;
+ act.sa_flags = 0;
+#ifdef SA_NOCLDSTOP
+ if (nocld)
+ act.sa_flags |= SA_NOCLDSTOP;
+#endif /* SA_NOCLDSTOP */
+ if (sigaction(sig, &act, NULL) < 0)
+ err(EX_OSERR, "%s signal handler for %d", what, sig);
+#else /* HAVE_SIGACTION */
+ if (signal(sig, handler) == SIG_ERR)
+ err(EX_OSERR, "%s signal handler for %d", what, sig);
+#endif /* HAVE_SIGACTION */
+}
+
+static void
+settimer(const char *name, unsigned long sec, unsigned long msec)
+{
+#ifdef HAVE_SETITIMER
+ struct itimerval tval;
+
+ tval.it_interval.tv_sec = tval.it_interval.tv_usec = 0;
+ tval.it_value.tv_sec = sec;
+ tval.it_value.tv_usec = msec;
+ if (setitimer(ITIMER_REAL, &tval, NULL) == -1)
+ err(EX_OSERR, "could not set the %s timer", name);
+#else
+ alarm(sec);
+#endif
+}
+
+static pid_t
+doit(char *argv[]) {
+ pid_t pid;
+
+ /* install signal handlers */
+ fdone = falarm = fsig = sigcaught = 0;
+ setsig_fatal(SIGALRM, sigalrm);
+ setsig_fatal(SIGCHLD, sigchld);
+ setsig_fatal(SIGTERM, sighandler);
+ setsig_fatal(SIGHUP, sighandler);
+ setsig_fatal(SIGINT, sighandler);
+ setsig_fatal(SIGQUIT, sighandler);
+
+ /* fork off the child process */
+ if ((pid = fork()) < 0)
+ err(EX_OSERR, "fork");
+ if (pid == 0)
+ child(argv);
+
+ /* sleep for the allowed time */
+ settimer("warning", warntime, warnmsec);
+ while (!(fdone || falarm || fsig))
+ pause();
+ alarm(0);
+
+ /* send the warning signal */
+ if (fdone)
+ return (pid);
+ if (fsig)
+ terminated("run");
+ falarm = 0;
+ if (!quiet)
+ warnx("sending warning signal %lu", warnsig);
+ kill(pid, (int) warnsig);
+
+#ifndef HAVE_SIGACTION
+ /* reset our signal handlers, just in case */
+ setsig_fatal(SIGALRM, sigalrm);
+ setsig_fatal(SIGCHLD, sigchld);
+ setsig_fatal(SIGTERM, sighandler);
+ setsig_fatal(SIGHUP, sighandler);
+ setsig_fatal(SIGINT, sighandler);
+ setsig_fatal(SIGQUIT, sighandler);
+#endif /* HAVE_SIGACTION */
+
+ /* sleep for the grace time */
+ settimer("kill", killtime, killmsec);
+ while (!(fdone || falarm || fsig))
+ pause();
+ alarm(0);
+
+ /* send the kill signal */
+ if (fdone)
+ return (pid);
+ if (fsig)
+ terminated("grace");
+ if (!quiet)
+ warnx("sending kill signal %lu", killsig);
+ kill(pid, (int) killsig);
+ setsig_fatal_gen(SIGCHLD, SIG_DFL, 0, "restoring");
+ return (pid);
+}
+
+static void
+terminated(const char *period) {
+
+ errx(EX_SOFTWARE, "terminated by signal %d during the %s period",
+ sigcaught, period);
+}
+
+static void
+child(char *argv[]) {
+
+ execvp(argv[0], argv);
+ err(EX_OSERR, "executing %s", argv[0]);
+}
+
+static __dead2 void
+raisesignal (int sig) {
+
+ setsig_fatal_gen(sig, SIG_DFL, 0, "restoring");
+ raise(sig);
+ while (1)
+ pause();
+ /* NOTREACHED */
+}
+
+int
+main(int argc, char *argv[]) {
+ pid_t pid;
+ int status;
+
+ init(argc, argv);
+ argc -= optind;
+ argv += optind;
+ pid = doit(argv);
+
+ if (waitpid(pid, &status, 0) == -1)
+ err(EX_OSERR, "could not get the exit status for process %ld",
+ (long)pid);
+ if (WIFEXITED(status))
+ return (WEXITSTATUS(status));
+ else if (!WIFSIGNALED(status))
+ return (EX_OSERR);
+ if (propagate)
+ raisesignal(WTERMSIG(status));
+ else
+ return (WTERMSIG(status) + 128);
+}
diff --git a/src/version.h b/src/version.h
index 01649d8..6f1d7e0 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,16 +1,16 @@
#undef VERSION
-#define VERSION "5.2.12"
-#define BDATE "12 September 2012"
-#define LSMDATE "12Sep12"
+#define VERSION "5.2.13"
+#define BDATE "19 February 2013"
+#define LSMDATE "19Jan13"
#define PROG_COPYRIGHT "Copyright (C) %d-2012 Free Software Foundation Europe e.V.\n"
-#define BYEAR "2012" /* year for copyright messages in progs */
+#define BYEAR "2013" /* year for copyright messages in progs */
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2012 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2013 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
diff --git a/updatedb/update_postgresql_tables_10_to_11.in b/updatedb/update_postgresql_tables_10_to_11.in
index f5df19f..1be8033 100644
--- a/updatedb/update_postgresql_tables_10_to_11.in
+++ b/updatedb/update_postgresql_tables_10_to_11.in
@@ -10,7 +10,7 @@ bindir=@POSTGRESQL_BINDIR@
PATH="$bindir:$PATH"
db_name=${db_name:- at db_name@}
-psql -f - -d ${db_name} $* <<END-OF-DATA
+if psql -f - -d ${db_name} $* <<END-OF-DATA
-- The alter table operation can be faster with a big maintenance_work_mem
-- Uncomment and adapt this value to your environment
-- SET maintenance_work_mem = '1GB';
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-bacula/bacula.git
More information about the pkg-bacula-commits
mailing list