[Bug 4216] New: Poor file I/O performance on FAT32 filesystems
mercurial-bugs at selenic.com
mercurial-bugs at selenic.com
Tue Apr 8 20:50:50 CDT 2014
http://bz.selenic.com/show_bug.cgi?id=4216
Priority: normal
Bug ID: 4216
CC: mercurial-devel at selenic.com
Assignee: bugzilla at selenic.com
Summary: Poor file I/O performance on FAT32 filesystems
Severity: bug
Classification: Unclassified
OS: Windows
Reporter: andy.ja.lee at gmail.com
Hardware: PC
Status: UNCONFIRMED
Version: 2.9.2
Component: Mercurial
Product: Mercurial
It appears that checknlink in util.py always returns false when the FS is FAT32
since FAT32 does not support hard linking (which causes the oslink() call to
barf up an OSError).
This results in many extraneous file copies being made by scmutil.py (in
vfs.__call__ due to _trustnlink being false). This can have a noticeable
impact on the performance of commits due to copies of 00manifest.d being made
(in my case a 550 MB file). This becomes especially unfortunate when trying to
run hg convert on a moderate to large sized repo.
Since FAT32 doesn't support hard links all, I don't think the copy operations
are actually required to prevent repo corruption? If possible, checknlink
should have logic to detect a lack of hard link support and return true.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list