:
:In message <[EMAIL PROTECTED]>, Ian Dowse writes:
:>
:>The fix should be relatively straightforward - either the code should
:>avoid linking new indirection blocks until all allocations succeed,
:>or it should back out the changes on failure.
:
:Here's one patch that seems to fix the problem. It may not be the best
:approach though?
:
:Ian
I thought of this but I was worried that the softupdates blackmagic
would get broken by it, so my approach is to actually unwind it which,
between inbetween to FSYNC's, should be softupdates-safe.
-Matt
: bap[indirs[i - 1].in_off] = nb;
:+ if (allocib == NULL) {
:+ /*
:+ * Writing bp would link in the newly allocated
:+ * blocks; hold off in case of allocation failure
:+ * later.
:+ */
:+ allocib = &bap[indirs[i - 1].in_off];
:+ allocbp = bp;
:+ continue;
:+ }
:...
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message