]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/scripts/dvd-handler.in
License cleanups
[bacula/bacula] / bacula / scripts / dvd-handler.in
index 14bce276ab471d69e2a598059ac24fdca1af4a49..efe0a33221c35690f7b60bc5c02422210d154416 100644 (file)
@@ -1,21 +1,41 @@
 #!@PYTHON@
 #
+# Copyright (C) 2000-2015, Kern Sibbald
+# License: BSD 2-Clause
+#
 # Check the free space available on a writable DVD
 # Should always exit with 0 status, otherwise it indicates a serious error.
 # (wrong number of arguments, Python exception...)
 #
 #  called:  dvd-handler <dvd-device-name> operation args
 #
-#  where operation is one of
-#    free
-#    write
+#  operations used by Bacula:
+#
+#   free  (no arguments)
+#            Scan the device and report the available space. It returns:
+#            Prints on the first output line the free space available in bytes.
+#            If an error occurs, prints a negative number (-errno), followed,
+#            on the second line, by an error message.
+#
+#   write  op filename
+#             Write a part file to disk.
+#             This operation needs two additional arguments.
+#             The first (op) indicates to
+#                 0 -- append
+#                 1 -- first write to a blank disk
+#                 2 -- blank or truncate a disk
+#
+#              The second is the filename to write
 #
-# in case of operation ``free'' returns:
-# Prints on the first output line the free space available in bytes.
-# If an error occurs, prints a negative number (-errno), followed,
-# on the second line, by an error message.
-# 
-# $Id$
+#   operations available but not used by Bacula:
+#
+#   test      Scan the device and report the information found.
+#             This operation needs no further arguments.
+#   prepare   Prepare a DVD+/-RW for being used by Bacula.
+#             Note: This is only useful if you already have some
+#             non-Bacula data on a medium, and you want to use
+#             it with Bacula. Don't run this on blank media, it
+#             is useless.
 #
 
 import popen2
@@ -68,7 +88,7 @@ class disk:
 #               This method should also prepare a blank disk so that a
 #               certain part of the disk is used to allow detection of a
 #               used disk by all / more disk drives.
-# blank         Blank the device
+# prepare       Blank the device
 #
 ###############################################################################
    def __init__(self, devicename):
@@ -266,10 +286,10 @@ class disk:
       
       cmd = self.growcmd + self.growparams
       if newvol:
-        cmd += " -Z "
         # Ignore any existing iso9660 filesystem - used for truncate
         if newvol == 2:
-            cmd += "-use-the-force-luke=tty "
+            cmd += " -use-the-force-luke=tty"
+        cmd += " -Z "
       else:
         cmd += " -M "
       cmd += self.device + " " + str(partfile)
@@ -289,7 +309,7 @@ class disk:
       print
       signal.signal(signal.SIGTERM, oldsig)
       if not os.WIFEXITED(status):
-         raise DVDError(0, cmd + " process did not exit correctly, signal/status " + str(status))
+        raise DVDError(0, cmd + " process did not exit correctly, signal/status " + str(status))
       if os.WEXITSTATUS(status) != 0:
         raise DVDError(os.WEXITSTATUS(status), cmd + " exited with status " + str(os.WEXITSTATUS(status)) + ", signal/status " + str(status))
 
@@ -392,7 +412,7 @@ Usage:
 dvd-handler DEVICE test
 dvd-handler DEVICE free
 dvd-handler DEVICE write APPEND FILE
-dvd-handler DEVICE blank
+dvd-handler DEVICE prepare
 
 where DEVICE is a device name like /dev/sr0 or /dev/dvd.