For reads we already have this. The buffer will come back as
unlocked but not uptodate.
For writes, because of the delayed nature of things, we would need
a callback as Ted suggests. I am not sure, but it would appear that the
only way to do this is to add a function pointer to each buffer head, and
then modify each block device driver to use this if a write fails.
-Eric
-- "The woods are lovely, dark and deep. But I have promises to keep, And lines to code before I sleep, And lines to code before I sleep."