To initial poster - try issuing a "sync" the next time it happens. It has worked for me in the past on 2.6.

----------

Maintenance Commands sync(1M)

NAME
sync - update the super block

SYNOPSIS
sync

DESCRIPTION
sync executes the sync system primitive. If the system is to
be stopped, sync must be called to insure file system
integrity. It will flush all previously unwritten system
buffers out to disk, thus assuring that all file modifica-
tions up to that point will be saved. See sync(2) for
details.