diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-10-06 16:57:18 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-10-06 16:57:18 -0400 |
commit | 9d71858c598e6ccaf260fef3d1e90c1e3ea44775 (patch) | |
tree | 2dc16124e738a7efcb4690f259e97cd91b09b523 /CmdLine.hs | |
parent | 5ce6f30ad74c2822a7a1c1ce64eca01bd3bd0643 (diff) | |
download | keysafe-9d71858c598e6ccaf260fef3d1e90c1e3ea44775.tar.gz |
Check if --store-local directory is writable.
If run with --totalshares larger than the number of servers, and the
--store-local directory is not writable, this causes keysafe to throw out
the unwritable directory and so error out early due to their not being
enough storage locations.
That's better than the old behavior, which was to try to use the
--store-local directory, fail and so proceed to storing the share on a
server. That would eventually fail with "no storage locations" when it runs
out of servers. That was bad, because shares were uploaded to servers, but
perhaps not enough for restore to work, and a new name/othername would be
needed to re-run the backup.
This is not a perfect fix; if the --store-local directory is writable at
first but for some reason the write of the share to it later fails, the
situation described above still happens.
This commit was sponsored by Jochen Bartl on Patreon.
Diffstat (limited to 'CmdLine.hs')
-rw-r--r-- | CmdLine.hs | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -27,7 +27,7 @@ data CmdLine = CmdLine , customShareParams :: Maybe ShareParams , name :: Maybe Name , othername :: Maybe Name - , preferredStorage :: [Maybe LocalStorageDirectory -> Storage] + , preferredStorage :: [Maybe LocalStorageDirectory -> IO (Maybe Storage)] , serverConfig :: ServerConfig , chaffMaxDelay :: Maybe Seconds } |