aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-10-05 17:26:17 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-10-05 17:26:17 -0400
commitf4c92cfa3a99fe38f9d9edd81469f753e6d78072 (patch)
tree32c7f1cfca653140a8253ae7641d71d1b2ccf1c4
parent07ee748029c711c7779f4073a3b946190d9a000e (diff)
devblog
-rw-r--r--doc/design/assistant/disaster_recovery.mdwn12
-rw-r--r--doc/devblog/day_28__lazy_saturday.mdwn17
2 files changed, 26 insertions, 3 deletions
diff --git a/doc/design/assistant/disaster_recovery.mdwn b/doc/design/assistant/disaster_recovery.mdwn
index 64094387e..118620d19 100644
--- a/doc/design/assistant/disaster_recovery.mdwn
+++ b/doc/design/assistant/disaster_recovery.mdwn
@@ -10,7 +10,7 @@ check that nothing else is using it, fix the problem, and redo the commit.
* **done** for .git/annex/index.lock, can be handled safely and automatically.
* **done** for .git/index.lock, only when the assistant is starting up.
* What about local remotes, eg removable drives? git-annex does attempt
- to commit to the git-annex branch of those. It will use the atomatic
+ to commit to the git-annex branch of those. It will use the automatic
fix if any are dangling. It does not commit to the master branch; indeed
a removable drive typically has a bare repository. So I think nothing to
do here.
@@ -18,13 +18,19 @@ check that nothing else is using it, fix the problem, and redo the commit.
it can take care of it, and if not, it's a server, and perhaps the user
should be required to fix up if it crashes during a commit. This should
not affect the assistant anyway.
-* TODO Seems that refs can also have stale lock files, for example
+* **done** Seems that refs can also have stale lock files, for example
'/storage/emulated/legacy/DCIM/.git/refs/remotes/flick_phonecamera/synced/git-annex.lock'
+ All git lock files are now handled (except gc lock files).
## incremental fsck
Add webapp UI to enable incremental fsck, and choose when to start and how
-long to run each day.
+long to run each day, and what the goal is (ie, to fsck all files once
+per month).
+
+Of course, incremental fsck will run as an niced (and ioniced) background
+job. There will need to be a button in the webapp to stop it, in case it's
+annoying.
When fsck finds a damanged file, queue a download of the file from a
remote. If no accessible remote has the file, prompt the user to eg, connect
diff --git a/doc/devblog/day_28__lazy_saturday.mdwn b/doc/devblog/day_28__lazy_saturday.mdwn
new file mode 100644
index 000000000..c2237b28b
--- /dev/null
+++ b/doc/devblog/day_28__lazy_saturday.mdwn
@@ -0,0 +1,17 @@
+Finished up the automatic recovery from stale lock files. Turns out git
+has quite a few lock files; the assistant handles them all.
+
+Improved URL and WORM keys so the filenames used for them
+will always work on FAT (which has a crazy assortmeny of illegal
+characters). This is a tricky thing to deal with without breaking backwards
+compatability, so it's only dealt with when creating new URL or WORM keys.
+
+-----
+
+I think my next step in this disaster recovery themed month will be adding
+periodic incremental fsck to the assistant. `git annex fsck` can already
+do an incremental fsck, so this should mostly involve adding a user
+interface to the webapp to configure when it should fsck. For example, you
+might choose to run it for up 1 hour every night, with a goal of checking
+all your files once per month. Also will need to make the assistant do
+something useful when fsck finds a bad file (ie, queue a re-download).