This currently is not implemented and needs to be; the infrastructure for it is all present.
To do this atomically:
Define a locking order for inodes
Lock the inodes
Add the directory entry for one
Remove the directory entry for the other
Unlock the inodes
Infrastructure for this exists. The "danger" is mostly about deadlock and race conditions.
A simpler implementation is: link to new location, remove from old location. Complication is if the target exists. Also ensuring there is no cross-file system rename.
This currently is not implemented and needs to be; the infrastructure for it is all present.
To do this atomically:
Infrastructure for this exists. The "danger" is mostly about deadlock and race conditions.
A simpler implementation is: link to new location, remove from old location. Complication is if the target exists. Also ensuring there is no cross-file system rename.