24 Jan
                
                    2007
                
            
            
                24 Jan
                
                '07
                
            
            
            
        
    
                10:12 p.m.
            
        On Wed, 2007-01-24 at 18:53 +0000, pod wrote:
TS> - create tmp file TS> - link() to .lock file TS> - unlink tmp file TS> - write to .lock file TS> - rename() to destination fileI think the problem here is that the rename will return EXDEV in a cross-directory situation if the file in question is also being held open.
Except that Dovecot doesn't do cross-directory link()s or rename()s here. They're all in the same directory and they still apparently don't work.
If anything returned EXDEV, it would be logged as error and Dovecot would give internal failure. Now it's just silently creating empty files without any syscalls giving errors.