Goalkeeper O'donnell has signed a deal that runs until 2019, the Millers have confirmed.
The 28 year old spent time on loan with the Millers in 2008 but did not make a first-team appearance.
O'Donnell joins from Bristol City, where he made 32 appearances for the club, but he has played just three times since September.