On Sat, Jan 02, 2010 at 07:00:53AM -0500, Christoph Hellwig wrote:
> On Sat, Jan 02, 2010 at 01:39:40PM +1100, Dave Chinner wrote:
> > Because inodes remain in cache much longer than inode buffers do
> > under memory pressure, we can get the situation where we have stale,
> > dirty inodes being reclaimed but the backing storage has been freed.
> > Hence we should never, ever flush XFS_ISTALE inodes to disk as
> > there is no guarantee that the backing buffer is in cache and
> > still marked stale when the flush occurs.
>
> We should not flush stale inodes. But how do we even end up calling
> xfs_iflush with a stale inode?
xfs_reclaim_inode() -> xfs_iflush() according to the stack traces
that found bad inode magic numbers in xfs_itobp().
Cheers,
Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx
|