Re: [PATCH RFC] gen_init_cpio: Do fsync() only on regular files

From: David Disseldorp

Date: Tue Oct 07 2025 - 02:27:09 EST


On Mon, 6 Oct 2025 23:03:57 -0700, Christoph Hellwig wrote:

> On Tue, Oct 07, 2025 at 04:57:32PM +1100, David Disseldorp wrote:
> > I should have explained why in the commit, sorry. The intention was to
> > catch any FS I/O errors during output archive writeback. fsync() is
> > called only once as the final I/O.
>
> I don't parse this. What does 'as the final I/O' mean?

fsync() is called once after all buffered writes and copy_file_range()
calls for the initramfs archive have completed.

> If you want
> to catch writeback errors, a single syncfs should be enough.

gen_init_cpio should only be concerned that the output archive file is
flushed to storage, rather than the entire filesystem. Why would syncfs
be more suitable?