On Mon, Jun 28, 2021 at 11:37:11AM -0400, Josef Bacik wrote: > sync_inode() has some holes that can cause problems if we're under heavy > ENOSPC pressure. If there's writeback running on a separate thread > sync_inode() will skip writing the inode altogether. What we really > want is to make sure writeback has been started on all the pages to make > sure we can see the ordered extents and wait on them if appropriate. > Switch to this new helper which will allow us to accomplish this and > avoid ENOSPC'ing early. The only other exported user of sync_inode is in btrfs as well. What is the difference vs this caller? Mostly I'd like to kill sync_inode to reduce the surface of different hooks into the writeback code, and for something externally callable your new filemap_fdatawrite_wbc helpers looks nassively preferable of sync_inode / writeback_single_inode.