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

From: Christoph Hellwig

Date: Tue Oct 07 2025 - 02:28:42 EST


On Tue, Oct 07, 2025 at 05:25:56PM +1100, David Disseldorp wrote:
> 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?

Oh, it is called on the generated archive. Yes, that makes sense.
Sorry for the noise.