protecting per-ag access in the sync path
Christoph Hellwig
hch at infradead.org
Tue Nov 24 11:04:55 CST 2009
Since Linux 2.6.29 we use the perag structures a lot in the sync path,
but we're not actually protecting against the re-allocation in growfs.
I've recently received a new, fast SSD which allows me to hit those
races. With it 104 reproducibly crashes the system, hitting the slab
redzoning for the old per-ag structure. I experimentally put
synchronization using m_peraglock into xfs_inode_ag_walk which fixes the
issue at the cost of lock order reversals between the i_lock and the
m_peraglock in various places.
Any better idea how to protect the new sync path against growfs?
More information about the xfs
mailing list