storj/storage
Cameron Ayer 586e6f2f13 private/testblobs, storage, storage/filestore: add storage dir verification to filestore
Sometimes SNOs fail to properly configure or lose connection to their storage directory
which can result in DQ. This causes unnecessary repair and is unfortunate for all parties.

This change introduces the creation of a special file in the storage directory at runtime
containing the node ID. While the storage node runs, it periodically verifies that it can
find said file with the correct contents in the correct location. If not, the node will
shut down with an error message.

This change will solve the issue of nodes losing access to the storage directory, but it will not
solve the issue of nodes pointing to the wrong directory, as the identifying file is created each
time the node starts up. After this change has been the minimum version for a few releases, we will
remove the creation of the directory-identifying file from the storage node run command and add it
to the setup command.

Change-Id: Ib7b10e96ac07373219835e39239e93957e7667a4
2020-08-19 17:18:14 +00:00
..
boltdb all: add missing dots 2020-08-11 17:50:01 +03:00
cockroachkv cmd/storagenode,storage/cockroachkv: better error handling 2020-07-16 20:03:50 +03:00
filestore private/testblobs, storage, storage/filestore: add storage dir verification to filestore 2020-08-19 17:18:14 +00:00
postgreskv all: fix error checking 2020-07-16 19:13:14 +03:00
redis all: add missing dots 2020-08-11 17:50:01 +03:00
storelogger all: fix dots 2020-07-16 14:58:28 +00:00
teststore all: fix dots 2020-07-16 14:58:28 +00:00
testsuite all: add missing dots 2020-08-11 17:50:01 +03:00
blob.go private/testblobs, storage, storage/filestore: add storage dir verification to filestore 2020-08-19 17:18:14 +00:00
common.go all: fix dots 2020-07-16 14:58:28 +00:00
listkeys.go storage: delete unused code and lower visibility of static iterator 2020-02-17 14:53:54 +00:00
listv2.go satellite/metainfo: avoid temporary list 2020-04-15 08:01:42 +00:00
util.go storage: delete unused code and lower visibility of static iterator 2020-02-17 14:53:54 +00:00