David Schultz wrote: > > The easy way to fix this is to insert a new dependency for the > > completion of the allocation. Basically, this would put in a > > stall barrier that would cause the outstanding I/O to drain before > > the new I/O was attempted. All other operations behind the one > > that caused the stall would b held off, which would avoid the > > starvation deadlock you describe. Most likely, all this would > > require some minor code to maintain a running tally of virtual vs. > > real free block count. > > It really isn't a big deal. You're saying you can fix the problem > where allocations can sometimes fail on a busy 99% full > filesystem, but on such a filesystem, you're just as likely to hit > it when it's 100% full. Kirk's solution is simple and has the > advantage of not requiring additional dependency tracking for the > common case.
No, actually it should work for "100% full", as well, as long as that "100% full" is "the real disk" vs. "the real disk, after all pending updates have been applied". In other words, if it would have worked with soft updates turned off, then it will work with soft updates turned on. I agree that it's not that big a deal, but if that's truly the current excuse for not having soft updates on for the root FS, this removes all pretense for that excuse. IMO, this is not the reason for them being off on /; the real reason is as I've stated: sysinstall expects the common case to be an initial install, not operations after the initial install, and so does not turn it on by default. -- Terry To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-questions" in the body of the message