git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: First Git status takes 40+ minutes, when mounting fileystem/diskimage with 50G GIT repo + 900G of builds articles

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 22, 2019, 19:32 UTC
Message-ID
<xmqq4l29ov2k.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<b409d16f-c392-7f1f-79a0-e14e70148cad@kdbg.org>
Johannes Sixt <j6t@kdbg.org> writes:
Show 11 quoted lines
> 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).

> You may set "git config core.checkStat minimal" to avoid the problem.
> But it may come with its own problems (certain kinds of modifications
> would not be noticed, although these would be hard to trigger in practice).
Yeah.
Previous: Johannes SixtNext: Johannes Sixt
Message 5 of 7 in “First Git status takes 40+ minutes, when mounting fileystem/diskimage with 50G GIT repo + 900G of builds articles”
  1. Saravanan Shanmugham (sarvi)Aug 22, 2019
  2. Junio C HamanoAug 22, 2019
  3. Saravanan Shanmugham (sarvi)Aug 23, 2019
  4. Johannes SixtAug 22, 2019
  5. Junio C HamanoAug 22, 2019
  6. Johannes SixtAug 22, 2019
  7. Junio C HamanoAug 22, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.