The Diamondbacks have agreed to terms on a three-year deal with Cody Ross, according to sources.

The deal is reportedly worth $26 million with a $1 million buyout.

Ross, 31, is coming off a season in which he batted .267 with 22 homers and 81 RBIs in 130 games for the Red Sox.