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@xxxxxxxxxx www.netapp.com -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html