diff options
author | Joey Hess <joey@kitenet.net> | 2011-06-23 20:52:56 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-06-23 20:52:56 -0400 |
commit | a61154baf5e205af74766f44fe99cbbd63411f57 (patch) | |
tree | cc39b478d6302380a0f40ad7170300df810a550c /doc/todo | |
parent | e3384eb4764787daef926c307004d001e224a9fd (diff) |
add
Diffstat (limited to 'doc/todo')
-rw-r--r-- | doc/todo/speed_up_fsck.mdwn | 18 |
1 files changed, 18 insertions, 0 deletions
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]] |