Messages in this thread | | | Date | Sat, 27 Nov 2010 01:19:11 +1100 | From | Dave Chinner <> | Subject | Re: atomically swap two files |
| |
On Fri, Nov 26, 2010 at 11:47:52AM +0000, Pádraig Brady wrote: > On 25/11/10 20:11, Frank A. Kingswood wrote: > > Hi! > > > > Is it possible to swap two files in an atomic way, so that after the > > syscall either the two files have exchanged names or neither has been > > modified? > > > > I suspect that btrfs could do it, but I'm wondering about ext3/4. > > I don't think there is anything equivalent to exchangedata() on Linux > http://developer.apple.com/library/mac/#DOCUMENTATION/Darwin/Reference/ManPages/man2/exchangedata.2.html
XFS can do that, though the interface is an ioctl (XFS_IOC_SWAPEXT) whose parameters are closely tied to the functionality of the only user: the online defragmenter (xfs_fsr). It would be pretty easy to wire it up to such a syscall if one existed, though....
Cheers,
Dave. -- Dave Chinner david@fromorbit.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |