summaryrefslogtreecommitdiff
path: root/doc/todo/incremental_fsck.mdwn
blob: 7c56328b9974fbd352d9b627a5c0e1de80ed4576 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Justin Azoff realized git-annex should have an incremental fsck.

This requires storing the last fsck time of each object.

I would not be strongly opposed to sqlite, but I think there are other
places the data could be stored. One possible place is the mode or mtime
of the .git/annex/objects/xx/yy/$key directories (the parent directories
of where the content is stored). Perhaps the sticky bit could be used to
indicate the content has been fsked, and the mtime indicate the time
of last fsck. Anything that dropped or put in content would need to
clear the sticky bit. --[[Joey]] 

> Basic incremental fsck is done now.
> 
> Some enhancements would include:
> 
> * --max-age=30d  Once the incremental fsck completes and was started 30 days ago,
>   start a new one.
> * --time-limit --size-limit --file-limit: Limit how long the fsck runs.

>> Calling this [[done]]. The `--incremental-schedule` option
>> allows scheduling time between incremental fscks. `--time-limit` is
>> done. I implemented `--smallerthan` independently. Not clear what
>> `--file-limit` would be. --[[Joey]]