Peter Eisentraut <peter_e@gmx.net> writes:
> Tom Lane wrote:
>> Because, in fact, that is the usual reason for a short write. Do you
>> have something better for the code to do?
> Well, I would have liked to know the truth, such as
> ERROR: short write on block blah
> DETAIL: wrote %u bytes, %u requested
> HINT: That might mean that the disk is full.
There isn't any way for mdwrite() to return that much information with
the current smgr.c-to-md.c API. On the other hand, that API has no very
good reason to live --- since smgr.c is just going to elog(ERROR), we
might as well allow md.c to do so, and make the functions return void.
I'll see about doing that in 8.3; I was going to need some change anyway
to properly report read-past-EOF as an error in mdread(), and this seems
better than kluging it.
regards, tom lane