> It finally clicked that we are not clearing the buffer flag
> from a previously written log buffer, even though we'll no
> longer set a new flag into a buffer (due to the mount flag
> being cleared), so we _can_ still issue barrier writes when
> remounted without barriers.
That's true. Ooops.
> This was made more complicated by the way a freshly mounted
> filesystem with 8 log buffers wouldn't show up the problem,
> since we have to slowly cycle through the "clear" log buffers
> before we see the bug. This seems like the simplest fix...
>
> (Hmmm, actually, I wonder if this will also resolve the quota
> log I/O problem that was reported the other day too).
Shouldn't we make sure we clear all flags when reusing a log buffer?
Relying on clearing individual flags seems rather fragile to me.
|