Probable bug in renameat2 with RENAME_NOREPLACE on vfat
From: Joshua Hudson
Date: Wed Oct 02 2024 - 20:42:25 EST
System call:
renameat2(AT_FDCWD, "makefile", AT_FDCWD, "Makefile", RENAME_NOREPLACE);
where the current directory is on a vfat filesystem such as a USB stick
Expected return: 0
Actual return: -EEXIST
It's just not right. I really shouldn't have to remove the
RENAME_NOREPLACE to correct the case of a filename. Basically, if
oldname and newname are the same dnode (not just the same inode) the
call should proceed.
I'd rather not lose the race condition safeguard to correct the case
of a file name.