On social media, Barnes revealed he'd been battling bacterial pneumonia for two weeks, and the infection had spread.
The 67-year-old posted that, as a result, he needed a heart valve replacement to clean the infection out.
"Just a few weeks ago I was the fittest I've been in decades," he said.
"This has all happened very suddenly so it's going to take a few days to figure out what's going to be doable with my upcoming shows.
"I'm really sorry for all the inconvenience this will cause, but please be patient while my team works hard to figure things out."
Barnes thanked his wife Jane and the healthcare staff who had been looking after him.
"You've all lifted my spirits, and I'm sincerely grateful," he said.