Make pack creation always fsync() the result
This means that we can depend on packs always being stable on disk, simplifying a lot of the object serialization worries. And unlike loose objects, serializing pack creation IO isn't going to be a performance killer. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
d2b3691b61
commit
4c81b03e30
@ -78,6 +78,13 @@ ssize_t write_in_full(int fd, const void *buf, size_t count)
|
||||
return total;
|
||||
}
|
||||
|
||||
void fsync_or_die(int fd, const char *msg)
|
||||
{
|
||||
if (fsync(fd) < 0) {
|
||||
die("%s: fsync error (%s)", msg, strerror(errno));
|
||||
}
|
||||
}
|
||||
|
||||
void write_or_die(int fd, const void *buf, size_t count)
|
||||
{
|
||||
if (write_in_full(fd, buf, count) < 0) {
|
||||
|
Reference in New Issue
Block a user