Subject: Re: [PATCH 8/8] core.fsync: new option to harden packed references

From: Junio C Hamano <[email-masked]>
Date: Thu, 10 Mar 2022 10:28:57 -0800

Patrick Steinhardt <[email-masked]> writes:

> diff --git a/refs/packed-backend.c b/refs/packed-backend.c
> index 27dd8c3922..32d6635969 100644
> --- a/refs/packed-backend.c
> +++ b/refs/packed-backend.c
> @@ -1262,7 +1262,8 @@ static int write_with_updates(struct packed_ref_store *refs,
>  		goto error;
>  	}
>  
> -	if (close_tempfile_gently(refs->tempfile)) {
> +	if (fsync_component(FSYNC_COMPONENT_PACKED_REFS, get_tempfile_fd(refs->tempfile)) ||
> +	    close_tempfile_gently(refs->tempfile)) {
>  		strbuf_addf(err, "error closing file %s: %s",
>  			    get_tempfile_path(refs->tempfile),
>  			    strerror(errno));

I do not necessarily agree with the organization to have it as a
component that is separate from other ref backends, but it is
very pleasing to see that there is only one fsync necessary for the
packed backend.

Nice.