After running a testing server out of storage, I tried to track down why it was so hard to get it back up again. (Rather than what I usually do which is just throwing it away and making the test be smaller).
I couldn't start a backend because it couldn't write the relcache init file. I found this comment, but it did not carry its sentiment to completion: /* * We used to consider this a fatal error, but we might as well * continue with backend startup ... */ With the attached patch applied, I could at least get a backend going so I could drop some tables/indexes and free up space. I'm not enamoured with the implementation of passing a flag down to write_item, but it seemed better than making write_item return an error code and then checking the return status in a dozen places. Maybe we could turn write_item into a macro, so the macro can implement the "return" from the outer function directly? Cheers, Jeff
relcache_init_v1.patch
Description: Binary data