Thats why you put in the contract a release claus in case of Barca calling. If I had a dream club to join, I would demand such a claus just for that team. For others I wouldnt care at all.
There is a Slovenian player 'Robert Koren', he was also the captain and played in Premier league. Anyway he always finished his contracts with his clubs (three times) and on those deadlines he was a free agent and was able to pick a team he wanted and at the same time he could negotiate higher salary cos teams didnt have to buy him. Similar as NBA players.
Maybe more players should do it that way. I know there is a risk of injury etc., but that rarely happens.