Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755687Ab3CaS1i (ORCPT ); Sun, 31 Mar 2013 14:27:38 -0400 Received: from mx12.netapp.com ([216.240.18.77]:42410 "EHLO mx12.netapp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752696Ab3CaS1h convert rfc822-to-8bit (ORCPT ); Sun, 31 Mar 2013 14:27:37 -0400 X-IronPort-AV: E=Sophos;i="4.87,383,1363158000"; d="scan'208";a="35736349" From: "Myklebust, Trond" To: Pavel Machek CC: Andreas Dilger , =?iso-8859-1?Q?J=F6rn_Engel?= , Andy Lutomirski , Zach Brown , Paolo Bonzini , Ric Wheeler , Linux FS Devel , "linux-kernel@vger.kernel.org" , "Chris L. Mason" , Christoph Hellwig , Alexander Viro , "Martin K. Petersen" , "Hannes Reinecke" , Joel Becker Subject: Re: New copyfile system call - discuss before LSF? Thread-Topic: New copyfile system call - discuss before LSF? Thread-Index: AQHOECfzherspfmEjEqBTzfvhb3EUJiE2wAAgAASTQCAAFTBgIAADekAgAAaWoCABjXIAIABjuMAgDIlc4CAAAVWgIAAGvaAgAADUYCAAKHMgIAAtgEA Date: Sun, 31 Mar 2013 18:27:32 +0000 Message-ID: <1364754452.4771.10.camel@leira.trondhjem.org> References: <512635D2.4090207@redhat.com> <51267CEB.8070805@redhat.com> <4FA345DA4F4AE44899BD2B03EEEC2FA9235DAA99@SACEXCMBX04-PRD.hq.netapp.com> <20130221222449.GY22221@lenny.home.zabbo.net> <512BD44C.40907@amacapital.net> <20130226210232.GA19510@logfs.org> <20130330194933.GB1005@amd.pavel.ucw.cz> <08D26E22-3856-43A4-8835-48C86CC5F71C@dilger.ca> <20130330214509.GB4322@amd.pavel.ucw.cz> <925D663D-D8F8-4297-A642-33C732354701@netapp.com> <20130331073604.GA13159@amd.pavel.ucw.cz> In-Reply-To: <20130331073604.GA13159@amd.pavel.ucw.cz> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.104.60.114] Content-Type: text/plain; charset=US-ASCII Content-ID: <222CF3D290D3764EA36868FD8CC03AFC@tahoe.netapp.com> Content-Transfer-Encoding: 7BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1778 Lines: 45 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 -- 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/