“”Both filesystem and VM actually _think_ they do the right
thing, because they simply have totally different expectations. The
filesystem thinks that it should care about dirty buffers (that got
marked dirty _after_ they were dirtied), while the filesystem
thinks that it cares about dirty _pages_ (that got dirted at any
time _before_ ‘writepage()’ was called). Neither is really ‘wrong’,
per se, it’s just that the two parts have different expectations,
and the _combination_ just doesn’t work.”