On Tue, Apr 29, 2025 at 02:21:05PM +0200, Christoph Hellwig wrote: > On Fri, Apr 25, 2025 at 04:44:54PM +0000, John Garry wrote: > > + /* Configure hardware atomic write geometry */ > > + xfs_buftarg_config_atomic_writes(mp->m_ddev_targp); > > + if (mp->m_logdev_targp && mp->m_logdev_targp != mp->m_ddev_targp) > > + xfs_buftarg_config_atomic_writes(mp->m_logdev_targp); > > + if (mp->m_rtdev_targp && mp->m_rtdev_targp != mp->m_ddev_targp) > > + xfs_buftarg_config_atomic_writes(mp->m_rtdev_targp); > > So this can't be merged into xfs_setsize_buftarg as suggeted last round > instead of needing yet another per-device call into the buftarg code? Oh, heh, I forgot that xfs_setsize_buftarg is called a second time by xfs_setup_devices at the end of fill_super. xfs_setup_devices is a better place to call xfs_buftarg_config_atomic_writes. I don't like the idea of merging the hw atomic write detection into xfs_setsize_buftarg itself because (a) it gets called for the data device before we've read the fs blocksize so the validation is meaningless and (b) that makes xfs_setsize_buftarg's purpose less cohesive. --D