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.
