Merge branch 'ym/fix-opportunistic-index-update-race' into maint
"git status", even though it is a read-only operation, tries to update the index with refreshed lstat(2) info to optimize future accesses to the working tree opportunistically, but this could race with a "read-write" operation that modify the index while it is running. Detect such a race and avoid overwriting the index. * ym/fix-opportunistic-index-update-race: read-cache.c: verify index file before we opportunistically update it wrapper.c: add xpread() similar to xread()
This commit is contained in:
@ -554,7 +554,7 @@ static void *unpack_data(struct object_entry *obj,
|
||||
|
||||
do {
|
||||
ssize_t n = (len < 64*1024) ? len : 64*1024;
|
||||
n = pread(get_thread_data()->pack_fd, inbuf, n, from);
|
||||
n = xpread(get_thread_data()->pack_fd, inbuf, n, from);
|
||||
if (n < 0)
|
||||
die_errno(_("cannot pread pack file"));
|
||||
if (!n)
|
||||
|
Reference in New Issue
Block a user