Re: [RFC/PATCH 8/8] read-cache: unlink old sharedindex files
- From
Christian Couder <christian.couder@gmail.com>
- Date
- Jul 12, 2016, 07:04 UTC
- Message-ID
- <CAP8UFD01MiMnz6qNGYa9WEjZ_EOy-hBqO4gGKGyxUc71aOyp4w@mail.gmail.com>
- In-Reply-To
- <CACsJy8BqMFASHf5kJgUh+bd7XG98CafNydE964VJyPXz-emEvA@mail.gmail.com>
On Mon, Jul 11, 2016 at 8:27 PM, Duy Nguyen <pclouds@gmail.com> wrote:
Show 12 quoted lines
> On Mon, Jul 11, 2016 at 7:22 PM, Christian Couder > <christian.couder@gmail.com> wrote: >> Everytime split index is turned on, it creates a "sharedindex.XXXX" >> file in the git directory. This makes sure that old sharedindex >> files are removed after a new one has been created. > > Hmm it's one-way link, we don't know how many index files use this > shared index file, how can you be sure nobody else will need it? I'm > thinking about temporary indexes. If a temp index is created, saved on > disk, and use delete the shared index file, the real, main index may > become useless. Temp index will most likely replace the main index > (git commit) but if a failure happens, we can't fall back.
Isn't there a way to scan all the current indexes (temp or not) to see which shared indexes they need?
> A safer approach is "touch" the shared index every time a linked index > is used, then we can delete shared indexes with old mtime, older than > a grace period, in git-prune (or here).
Maybe old linked indexes could be converted after some time to use a newer shared index, so that we can get rid of the old shared indexes. That seems safer than just deleting old linked indexes.
Thanks for your review, Christian.