fix deadlock, it works good.

counter of dirty pages is not good, check it carefully. Maybe some pages
are locked and never unlocked, so check it carefully!
it's a stable standalone version.

Next, optimize its performance: merge writeback of dirty pages and read
ahead.