From a61154baf5e205af74766f44fe99cbbd63411f57 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Jun 2011 20:52:56 -0400 Subject: add --- doc/todo/speed_up_fsck.mdwn | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 doc/todo/speed_up_fsck.mdwn (limited to 'doc/todo') diff --git a/doc/todo/speed_up_fsck.mdwn b/doc/todo/speed_up_fsck.mdwn new file mode 100644 index 000000000..aceb5868c --- /dev/null +++ b/doc/todo/speed_up_fsck.mdwn @@ -0,0 +1,18 @@ +moving to the git-annex branch has slowed down fsck worse than most +commands. Actually, some commands have sped up, while others like get +are slightly slower but are swamped by the normal runtime. + +For fsck though, it has to pull each file's location log info out of git. +And, it's typically run on the entire tree. + +It would be possible to run a single `git cat-file --batch` and pass it +sha1s of location logs for file that is going to be fsked (gotten via +`read-tree`). Then just read its output until the next requested sha1 to +chunk it, and pass this in to fsck in a closure. + +The difficulty, besides writing that is that everything that works with +location logs now reads them out of git, would need to find a way to +provide the info on a side channel of some sort. + +If this is implemented, the same infrastructure could be used for other +commands like whereis and add. --[[Joey]] -- cgit v1.2.3