Re: [PATCH] ext4: delayed inode update for the consistency of file size after a crash

From: Christoph Hellwig
Date: Mon Dec 18 2017 - 07:32:09 EST

> that update of the timestamp and i_size needs to be moved to an I/O
> completion handler. We do this already to convert unwritten requests
> to be written in fs/ext4/page_io.c. See ext4_put_io_end_defer() in
> fs/ext4/page_io.c; if we need to convert unwritten extents the
> EXT4_IO_END_UNWRITTEN flag is set, and ext4_add_complete_io() tacks
> the io_end queue onto a workqueue. This infrastructure could be made
> more general so that it can do other work after the I/O has been
> completed, including the i_size update.

That's what we do for the i_size update in XFS.