Ron wrote:
Quote:
Hi Andi
We don't want applications to have to interpret and handle every
possible error that could be returned by the system, so we aggregate
those errors into classes of failure -- in this case, "panic", or
DB_RUNRECOVERY.
Regards,
Ron |
Well, I sure expect to know why something fails when the disk is full.
As a matter of fact db->put() will fail with ENOSPC in that situation.
Given that ENOSPC is returned by some APIs (good), I'd love it for all
APIs that can fail that way to consistently return it.
When creating the environment, typically after our application is first
installed, I need to be able to report to the end user that their disk
is full as opposed to telling them 'panic', "run recovery".
I cannot check disk space after the fact because the disk is actually
not full because the file creation filling it failed.
The only heuristic I can come up with is to verify that the env files
are not there (or some missing) and then 'guess' that they couldn't be
created because of a full disk. If Berkeley DB knows the actual reason
for failure, I sure want it to tell me instead if having me try to
figure it out after the fact using uncertain, brittle, heuristics.
Thanks
Andi..