Comment 42 for bug 585092

The problem with unmount which the patches address and about which the report
here was (as far as I understood it) was not so much the number of IO generated
(though it makes things worse) but the fact that the sync on unmount had changed
from being asynchronous to synchronous. That means every single block pending to
be flushed is written and waited for. So no merging of IO is and can be done
which makes things really slow.

The description of the other patch I was seeing described a problem in
writeback, where it could happen that flush tried to write out buffers while the
producer would add more data and by that would prevent other things to get written.

The problem you describe seems to be even a third thing which rather sounds like
a problem in ext4/jdb2 than the generic writeback code (at least from reading
the description).