Merge branch 'ns/fsync-or-die-message-fix'

When creating a loose object file, we didn't report the exact
filename of the file we failed to fsync, even though the
information was readily available, which has been corrected.

* ns/fsync-or-die-message-fix:
  object-file: pass filename to fsync_or_die
This commit is contained in:
Junio C Hamano 2022-04-04 10:56:22 -07:00
commit 98f6a3a353

View File

@ -1888,16 +1888,16 @@ void hash_object_file(const struct git_hash_algo *algo, const void *buf,
}
/* Finalize a file on disk, and close it. */
static void close_loose_object(int fd)
static void close_loose_object(int fd, const char *filename)
{
if (the_repository->objects->odb->will_destroy)
goto out;
if (fsync_object_files > 0)
fsync_or_die(fd, "loose object file");
fsync_or_die(fd, filename);
else
fsync_component_or_die(FSYNC_COMPONENT_LOOSE_OBJECT, fd,
"loose object file");
filename);
out:
if (close(fd) != 0)
@ -2011,7 +2011,7 @@ static int write_loose_object(const struct object_id *oid, char *hdr,
die(_("confused by unstable object source data for %s"),
oid_to_hex(oid));
close_loose_object(fd);
close_loose_object(fd, tmp_file.buf);
if (mtime) {
struct utimbuf utb;