Not a terrible deal. Its bad luck to have to give a guy an extension at 32 as he's likely at the tail end of his prime. But given that he has potential to return to ace form, 20 million dollars a year is a decent bargain compared to what he likely would have gotten on the free agent market. Especially if he went out and had a Cy Young type year.
That said I hope the Reds knock him around this year.