]> Sergey Matveev's repositories - syncer.git/commitdiff
Split long lines to 72-80 column widths
authorSergey Matveev <stargrave@stargrave.org>
Sun, 20 Sep 2015 08:15:07 +0000 (11:15 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 20 Sep 2015 08:15:07 +0000 (11:15 +0300)
README.md

index 465d5bbbe6f35a55c148e59ce3e2035b32f947fa..b4c3b935cf444c87b85a9b790335d303bf452c9b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,13 +1,17 @@
 syncer
-====
+======
 
 Fast stateful file/disk data syncer.
 
 #### Description
 
-The maain purpose of this utility is fast data synchronizing between two hard drives: one is fast (SSD, SATA HDD), another is connected through slow USB interface. Task is to lower amounts of data needed to be transferred.
+The maain purpose of this utility is fast data synchronizing between two
+hard drives: one is fast (SSD, SATA HDD), another is connected through
+slow USB interface. Task is to lower amounts of data needed to be
+transferred.
 
-This utility is stateful: it keeps precomputed data hashes in separate statefile and use it to determine if we need to update block of data.
+This utility is stateful: it keeps precomputed data hashes in separate
+statefile and use it to determine if we need to update block of data.
 
 ```
 # sync from very fast SSD to slow USB connected HDD
@@ -16,7 +20,8 @@ This utility is stateful: it keeps precomputed data hashes in separate statefile
 # all blocks were transferred to da0
 ```
 
-Now we have statefile containing cryptographic hashes of the blocks from source and copy of all read data in destination. Now if we run it again:
+Now we have statefile containing cryptographic hashes of the blocks from
+source and copy of all read data in destination. Now if we run it again:
 
 ```
 % ./syncer -src /dev/ada0 -dst /dev/da0 -state state.bin
@@ -24,9 +29,15 @@ Now we have statefile containing cryptographic hashes of the blocks from source
 # only one block was transferred to da0
 ```
 
-Only one modified block was transferred during this session. We read all data from source again, compute hashes and understand what was updated since the last run. Statefile is updated at the end.
+Only one modified block was transferred during this session. We read all
+data from source again, compute hashes and understand what was updated
+since the last run. Statefile is updated at the end.
 
-Utility parallelize hash computations among all found CPUs. It updates statefile atomically (saves data in temporary file and then renames it). You can configure the blocksize: shorter transfers but bigger statefile (it is kept in memory), or larger transfer and smaller statefile. All writes are sequential.
+Utility parallelize hash computations among all found CPUs. It updates
+statefile atomically (saves data in temporary file and then renames it).
+You can configure the blocksize: shorter transfers but bigger statefile
+(it is kept in memory), or larger transfer and smaller statefile. All
+writes are sequential.
 
 syncer is free software: see the file COPYING for copying conditions.
 
@@ -42,4 +53,7 @@ syncer is free software: see the file COPYING for copying conditions.
 
 `SRC_SIZE || BLK_SIZE || HASH0 || HASH1 || ...`
 
-SRC_SIZE contains size of the source, when it was firstly read. BLK_SIZE is the blocksize used. Both is 64-bit big-endian unsigned integers. If either size or blocksize differs, then syncer will deny using that statefile as a precaution. HASHx is BLAKE2b-512 hash output, 64 bytes.
+SRC_SIZE contains size of the source, when it was firstly read. BLK_SIZE
+is the blocksize used. Both is 64-bit big-endian unsigned integers. If
+either size or blocksize differs, then syncer will deny using that
+statefile as a precaution. HASHx is BLAKE2b-512 hash output, 64 bytes.