Reliever J.J. Putz agreed Friday to a one-year, $3 million contract with the White Sox and will fill a setup role in the bullpen. Putz is 23-19 with a 3.24 ERA and 103 saves in 337 relief appearances over seven major league seasons with Seattle and the New York Mets.He was 1-4 with a 5.22 ERA with the Mets last season in 29 appearances before undergoing arthroscopic surgery to remove a bone spur in his right elbow on June 9, causing him to miss the remainder of the season.Putz was an AL All-Star in 2007 when he was 6-1 with a 1.38 ERA and 40 saves. He was traded to the Mets in a three-team deal in December of 2008.He will serve as a setup man, along with lefty Matt Thornton, for Bobby Jenks. The White Sox had an opening in their bullpen after not re-signing free agent Octavio Dotel.Putz can made an additional $250,000 based on appearances: $125,000 each for 60 and 70 games. He has $3 million in available bonuses based on games finished: $450,000 for 40, $525,000 for 45, $600,000 for 50, $675,000 for 55 and $750,000 for 60.During their offseason, the White Sox have now traded for Mark Teahen, added Putz, shortstop Omar Vizquel and outfielder Andruw Jones, and re-signed utility man Mark Kotsay.