On Mon, Jun 18, 2007 at 08:49:34AM +0100, David Greaves wrote:Good :)David Greaves wrote:
So doing:
xfs_freeze -f /scratch
sync
echo platform > /sys/power/disk
echo disk > /sys/power/state
# resume
xfs_freeze -u /scratch
Works (for now - more usage testing tonight)
Verrry interesting.
What you were seeing was an XFS shutdown occurring because the free spaceThat's the kind of thing I was suspecting, yes.
btree was corrupted. IOWs, the process of suspend/resume has resulted
in either bad data being written to disk, the correct data not being
written to disk or the cached block being corrupted in memory.
If you run xfs_check on the filesystem after it has shut down after a resume,OK, I can try this tonight...
can you tell us if it reports on-disk corruption? Note: do not run xfs_repair
to check this - it does not check the free space btrees; instead it simply
rebuilds them from scratch. If xfs_check reports an error, then run xfs_repair
to fix it up.
FWIW, I'm on record stating that "sync" is not sufficient to quiesce an XFS
filesystem for a suspend/resume to work safely and have argued that the only
safe thing to do is freeze the filesystem before suspend and thaw it after
resume. This is why I originally asked you to test that with the other problem
that you reported. Up until this point in time, there's been no evidence to
prove either side of the argument......
Cheers,
Dave.