On Thu, Apr 02, 2020 at 12:51:08AM -0700, Christoph Hellwig wrote: > On Wed, Apr 01, 2020 at 09:17:05PM -0700, Darrick J. Wong wrote: > > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > > > Reflink should force the log out to disk if the filesystem was mounted > > with wsync, the same as most other operations in xfs. > > Looks reasonable. That being said I really hate the way we handle > this - I've been wanting to rework the wsync/dirsync code to just mark > as transaction as dirsync or wsync and then let xfs_trans_commit handle > checking if the file system is mounted with the option to clean this > mess up. Let me see if I could resurrect that quickly. Resurrected and under testing now. While forward porting your patch I noticed it could be much simpler even without the refactor by just using xfs_trans_set_sync. The downside of that is that the log force is under the inode locks, but so are the log forces for all other wysnc induced log forces. So I think you should just submit this in the simplified version matching the rest of the wsync users as a fix. If we want to optimize it later on that should be done as a separate patch and for all wsync/dirsync users.