From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out4-smtp.messagingengine.com ([66.111.4.28]:59359 "EHLO out4-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754199AbdKMRpT (ORCPT ); Mon, 13 Nov 2017 12:45:19 -0500 Subject: Re: Provision for filesystem specific open flags To: "Fu, Rodney" , Matthew Wilcox Cc: "hch@lst.de" , "viro@zeniv.linux.org.uk" , "linux-fsdevel@vger.kernel.org" References: <20171110172344.GA15288@lst.de> <20171110192902.GA10339@bombadil.infradead.org> From: Bernd Schubert Message-ID: <15b7fb2c-0ab7-014c-025f-b95d254e75d0@fastmail.fm> Date: Mon, 13 Nov 2017 18:45:15 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 11/10/2017 10:04 PM, Fu, Rodney wrote: >> No. If you want new flags bits, make a public proposal. Maybe some other >> filesystem would also benefit from them. > > Ah, I see what you mean now, thanks. > > I would like to propose O_CONCURRENT_WRITE as a new open flag. It is > currently used in the Panasas filesystem (panfs) and defined with value: > > #define O_CONCURRENT_WRITE 020000000000 > > This flag has been provided by panfs to HPC users via the mpich package for > well over a decade. See: > > https://github.com/pmodels/mpich/blob/master/src/mpi/romio/adio/ad_panfs/ad_panfs_open6.c#L344 > > O_CONCURRENT_WRITE indicates to the filesystem that the application doing the > open is participating in a coordinated distributed manner with other such > applications, possibly running on different hosts. This allows the panfs > filesystem to delegate some of the cache coherency responsibilities to the > application, improving performance. > > The reason this flag is used on open as opposed to having a post-open ioctl or > fcntl SETFL is to allow panfs to catch and reject opens by applications that > attempt to access files that have already been opened by applications that have > set O_CONCURRENT_WRITE. Hmm, while I see why adding this flag is convenient, it still should be possible to have an ioctl to open the file and to set the flag? If a wrong panfs-inode flag is set, failing either the normal- or the ioctl-open would also work. Cheers, Bernd