summaryrefslogtreecommitdiff
path: root/doc/todo/cheaper_global_fsck.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/todo/cheaper_global_fsck.mdwn')
-rw-r--r--doc/todo/cheaper_global_fsck.mdwn38
1 files changed, 0 insertions, 38 deletions
diff --git a/doc/todo/cheaper_global_fsck.mdwn b/doc/todo/cheaper_global_fsck.mdwn
deleted file mode 100644
index 70d1380a2..000000000
--- a/doc/todo/cheaper_global_fsck.mdwn
+++ /dev/null
@@ -1,38 +0,0 @@
-Global fsck updates all location log entries for a repo. This wastes disk
-space.
-
-I realized now that it can be implemented w/o such waste. Probably cheaply
-enough to be the default!
-
-What we need is a new log file, call it fscktimes.log.
-This records the time of the last fsck of each repo.
-
-`git annex fsck --expire` no longer needs to look at the location log at
-all. It can just check the repo's fscktimes.log entry. If the entry is
-recent enough, we know that the repo has fscked recently, and its location
-log is good, and nothing needs to be done. Otherwise, we know that the repo
-has stopped fscking, and we simply expire *all* its location logs.
-
-Note that fscktime.log is only used by fsck; it does not impact git-annex
-generally or make it slower. And, it's very low overhead to update the one
-file. Repos could do a fsck --fast on a daily basis and not grow the
-git-annex branch much. Maybe on an hourly basis even.
-
-(BTW, there is some overlap with the fsck.log file that is currently used to
-hold the timestamp of the last local fsck. May be able to eliminate that
-file too.)
-
-----
-
-It might be worth making the fsck.log record --fast and full fscks
-separately so we know the last of each for each repo. This would let
---expire require periodic full fscks and more frequent fast fscks.
-
-----
-
-Hmm, --expire updates all the location logs when it thinks a repo has gone
-missing. Why not just mark it dead? Again, this would save a lot of space!
-It would complicate recovery if a repo had been offline and came back; it
-would need to mark itself as not dead any longer.
-
-> [[done]] --[[Joey]]