Implement --checksum.
[dss.git] / dss.suite
index e7473cb..e69cc28 100644 (file)
--- a/dss.suite
+++ b/dss.suite
@@ -109,6 +109,29 @@ caption = Subcommands
                        Set this if the user that runs dss is different from the user on the
                        remote host.
                [/help]
+       [option checksum]
+               summary = run rsync with --checksum occasionally
+               typestr = permille
+               arg_info = required_arg
+               arg_type = uint32
+               default_val = 0
+               [help]
+                       If a file on the backup becomes corrupt in a way that file size
+                       and modification time still match the original file, rsync will not
+                       consider the file for transfer ("quick check"). Hence the corruption
+                       stays on the backup until the file is modified on the source.
+                       The --checksum option of rsync disables the quick check and compares
+                       the contents of each file, fixing such corruptions. Since computing
+                       the checksums adds a significant slowdown due to a lot of disk I/O,
+                       the option is not enabled by default.
+
+                       The argument to the --checksum option of dss is a number between 0
+                       and 1000, inclusively, which determines the probability of adding
+                       --checksum to the rsync options each time a snapshot is created. The
+                       default value zero means to never add the option. The value 100 will
+                       create every tenth snapshot (on average) using checksums, and the
+                       value 1000 will always pass --checksum to rsync.
+               [/help]
        [option rsync-option]
                short_opt = O
                summary = further rsync options