Re: First Git status takes 40+ minutes, when mounting fileystem/diskimage with 50G GIT repo + 900G of builds articles
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Aug 22, 2019, 21:29 UTC
- Message-ID
- <dde804a6-5169-be17-40c3-2a89f93ace0d@kdbg.org>
- In-Reply-To
- <xmqq4l29ov2k.fsf@gitster-ct.c.googlers.com>
Am 22.08.19 um 21:32 schrieb Junio C Hamano:
Show 19 quoted lines
> Johannes Sixt <j6t@kdbg.org> writes: > >> Am 22.08.19 um 20:02 schrieb Saravanan Shanmugham (sarvi): >>> We have a diskimage/fileysystem that has a 50G Git repository + 900G >>> of binary/build articles and untracked files. When we mount such a >>> diskimage, The verify first “git status” command can take as long >>> 40-50minutes. Subsequent “git status” finish in under 5-10 seconds.> >>> If I had a diskimage of just the 50G source repository, and I mount >>> and do a “git status” takes around 15 seconds. >> Are you saying that you commonly mount and unmount the filesystem? >> >> Git tracks a device number in the index. Could it happen that it is >> different every time you mount the filesystem? > > I read the above to mean that a diskimage file is treated as a > virtual block device on which a filesystem image exists, and it is > mounted via the lookback device mechanism. In such a case, I do not > think stability of i-num would not be an issue (the filesystem image > would record them all).
Inode number would be stable, but st_dev may not be. But it looks like a default build does not use it anyway (I see that we do not define USE_STDEV), so my guess was most likely wrong.
-- Hannes