This reverts commit d1721816d2. The patch is not fully tested and out-of-date. So revert it.
d1721816d2