On 24 May 2016 at 11:38, Allan Odgaard <mailinglist@textmate.org> wrote:
On 24 May 2016, at 7:40, Carpii UK wrote:

I think it may be somehow related to atomic saves, so Id like to disable
those (given that I still have git to protect any aborted writes)

What is using the files in your virtual machine? I’m assuming that it’s a web server, so sounds more likely that this is “locking” the files (caching?) which Samba translates to “resource is busy”.

Next time it happens, instead of restarting your Samba service, try restart anything that uses these files to see if that solves the problem.

Not saying it’s a better fix, but understanding the problem would be first step in finding a solution.

 
It appears to be the samba daemon itself which is locking the file. 

Today I've been editing .tm_properties and have been getting the error regularly
During normal operation, smbstatus shows a single lock on it as expected..

$ smbstatus | grep tm_prop
19518        1000       DENY_NONE  0x20081     RDONLY     NONE             /www/nodechat   .tm_properties   Wed Jun  1 12:25:27 2016

Maybe 20% of the time I save, I then suddenly get the 'Atomic Save Failed, Resource Busy' error from TM

When this happens, I notice there are be two locks for .tm_properties appearing in smbstatus
At this point any further attempt to save the file just fails, and a new lock for .tm_properties~ is created every time I attempt to save

$ smbstatus | grep tm_prop
19518        1000       DENY_NONE  0x20081     RDONLY     NONE             /www/nodechat   .tm_properties   Wed Jun  1 12:25:54 2016
19518        1000       DENY_NONE  0x20081     RDONLY     NONE             /www/nodechat   .tm_properties   Wed Jun  1 12:26:05 2016
19518        1000       DENY_NONE  0x20081     RDONLY     NONE             /www/nodechat   .tm_properties~   Wed Jun  1 12:26:05 2016

$ ps aux | grep 19518
nodechat 19864  0.2  0.6 396620  6516 ?        S    12:21   0:00 /usr/sbin/smbd


Not sure what to make of all this, but perhaps someone who is more familiar with samba has some ideas?

Thanks