Thanks for the help. I just had this issue again today..
Once the Atomic Save error appeared, I shut down TM and relaunched it from the cmdline
You're right, its the rename that fails...
$ rename("/Volumes/nodechat/public/js/client.js~", "/Volumes/nodechat/public/js/client.js"): Resource busy
I ssh'd into that machine (as the same non-privileged linux user I'm using to access the share)..
$ mv client.js~ client.js
This was actually successful, and after that I could also save the file from TM
Now even though TM didn't show the Atomic Save error at this point, it did output a 'write: Broken Pipe' log entry, each time the file is saved.
This is true even after restarting TM, so I guess renaming the file means it gotten out of sync with samba
Even with the "write: Broken Pipe error", it does seem to save the file successfully.
I'm kinda confused why the rename() fails when TM tries to call it, but doing it manually under the same user account is successful.