Picking this back up. How would O_TMPFILE avoid races? It definitely avoids the unwanted mtime/atime update, but then the existing "<filename>.defrag" pseudo-lock file would no longer be available. How could you use O_TMPFILE and still avoid multiple defrag? If this isn't possible, then resetting the parent times on unlink(tmpfile), as you suggest, is the simplest way out of this. +Reardon > From: adilger@xxxxxxxxx > Subject: Re: possible different donor file naming in e4defrag > Date: Fri, 15 Aug 2014 23:04:21 +0200 > To: thomas_reardon@xxxxxxxxxxx > > The reason the donor file is created in the same directory as the source is to try and keep the block allocation policy consistent with the original inode. > > You may not need a SIGINT handler, since the timestamp could be reset as soon as the file is created and unlinked. > > It may also be possible to use O_TMPFILE on newer kernels to create the donor file to avoid any races? > > Cheers, Andreas > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html