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
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
Previous: Junio C HamanoNext: Junio C Hamano
Message 6 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.