Move portions of the massive switch statement into functions. The layout of
this thing has already caused one bug (a break in the wrong place), it needed
to shrink.
Signed-off-by: Andres Salomon <dilinger@debian.org> Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>