Free-agent outfielder Luis Gonzalez has reached a preliminary agreement on a one-year contract with the Marlins, according to a major-league source.The deal, which is likely to include a guaranteed salary of approximately $2 million and incentives worth up to $1 million, is contingent on Gonzalez passing a physical.Gonzalez, 40, is expected to fill a combination of roles, including left field and first base, and serve as a mentor for the Marlins' younger players.Gonzalez spent last season with the Dodgers, batting .278 with 15 homers and 68 RBIs.