[Interest] Behavioural change in QFile/QDir rename
thiago.macieira at intel.com
Sat Jun 15 20:48:14 CEST 2019
On Saturday, 15 June 2019 08:58:31 PDT Federico Buti wrote:
> We gave strace a go and we noticed that 5.12 runtime acts differently for
> rename/move operations (see attached compare screenshot). In particular, on
> 5.6 we have an actual rename whereas a link/unlink sequence happens on
> 5.12. That sequence is not detected by our code, generating the failure.
Alternative: upgrade your system to a version that supports the renameat2()
system call. You need a 3.16 Linux kernel and glibc 2.28.
The link()/unlink() sequence is used on Unix filesystems to prevent rename()
clobbering existing files, as promised in our API, but they're only attempted
if renameat2() fails.
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel System Software Products
More information about the Interest