[Top] [All Lists]

protecting per-ag access in the sync path

To: david@xxxxxxxxxxxxx
Subject: protecting per-ag access in the sync path
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Tue, 24 Nov 2009 12:04:55 -0500
Cc: xfs@xxxxxxxxxxx
User-agent: Mutt/1.5.19 (2009-01-05)
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?

<Prev in Thread] Current Thread [Next in Thread>