Messages in this thread | | | From | "Myklebust, Trond" <> | Subject | Re: New copyfile system call - discuss before LSF? | Date | Sun, 31 Mar 2013 18:27:32 +0000 |
| |
On Sun, 2013-03-31 at 09:36 +0200, Pavel Machek wrote: > Hi! > > > >>> Hmm, really? AFAICT it would be simple to provide an > > >>> open_deleted_file("directory") syscall. You'd open_deleted_file(), > > >>> copy source file into it, then fsync(), then link it into filesystem. > > >>> > > >>> That should have atomicity properties reflected. > > >> > > >> Actually, the open_deleted_file() syscall is quite useful for many > > >> different things all by itself. Lots of applications need to create > > >> temporary files that are unlinked at application failure (without a > > >> race if app crashes after creating the file, but before unlinking). > > >> It also avoids exposing temporary files into the namespace if other > > >> applications are accessing the directory. > > > > > > Hmm. open_deleted_file() will still need to get a directory... so it > > > will still need a path. Perhaps open("/foo/bar/mnt", O_DELETED) would > > > be acceptable interface? > > > > ...and what's the big plan to make this work on anything other than ext4 and btrfs? > > Deleted but open files are from original unix, so it should work on > anything unixy (minix, ext, ext2, ...). > Pavel
minix, ext, ext2... are not under active development and haven't been for more than a decade.
Take a look at how many actively used filesystems out there that have some variant of sillyrename(), and explain what you want to do in those cases.
-- Trond Myklebust Linux NFS client maintainer
NetApp Trond.Myklebust@netapp.com www.netapp.com
| |