On 12/09/15 02:09, Paul Eggert wrote:
> Pádraig Brady wrote:
>> +  else if (new_stats.st_nlink == 0) /* XXX: what about multi-linked files.  
>> */
> 
> That comment was my thought exactly.  It appears to be a kernel bug that 
> really 
> needs to get fixed in the kernel; there just doesn't seem to be a reliable 
> workaround in user space.

I double checked with kernel guys, and Al Viro
essentially said the inode and directory operations are independent.
https://lkml.org/lkml/2015/9/11/790

So we probably need to handle the IN_DELETE event
on the directory to cater for this race, as done in:
https://lists.gnu.org/archive/html/coreutils/2015-07/msg00015.html

cheers,
Pádraig.



Reply via email to