Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757745AbcCDCdF (ORCPT ); Thu, 3 Mar 2016 21:33:05 -0500 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.220]:51523 "EHLO mo4-p00-ob.smtp.rzone.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756774AbcCDCdC convert rfc822-to-8bit (ORCPT ); Thu, 3 Mar 2016 21:33:02 -0500 X-RZG-AUTH: :OH8QVVOrc/CP6za/qRmbF3BWedPGA1vjs2ekfyrejs0ialTxoY7jPNxmuxtXFfaIsDLy X-RZG-CLASS-ID: mo00 Subject: Re: [PATCH 2/2] block: create ioctl to discard-or-zeroout a range of blocks To: Dave Chinner , "Martin K. Petersen" References: <20160302040932.16685.62789.stgit@birch.djwong.org> <20160302040947.16685.42926.stgit@birch.djwong.org> <20160302225601.GB21890@birch.djwong.org> <20160303180924.GA4116@infradead.org> <20160303225646.GT29057@dastard> Cc: Christoph Hellwig , Linus Torvalds , "Darrick J. Wong" , Jens Axboe , Andrew Morton , Linux API , Linux Kernel Mailing List , shane.seymour@hpe.com, Bruce Fields , linux-fsdevel , Jeff Layton From: Thomas Schoebel-Theuer Message-ID: <56D8F330.5060408@schoebel-theuer.de> Date: Fri, 4 Mar 2016 03:30:08 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <20160303225646.GT29057@dastard> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1066 Lines: 26 On 03/03/2016 11:56 PM, Dave Chinner wrote: > That "new kind of write command" would enable delayed allocation > algorithms to continue to work at the filesystem level on block > devices that freespace management completely is offloaded to... > Cheers, Dave. This would advocate a uniform /internal/ interface (family) across both fs and block layers, similiar in spirit to my old Athomux research prototype long ago (see www.athomux.net). This allows for recursive nesting in complex (distributed) storage/fs hierarchies. It would be nice if that internal interface (family) would be (partly / fully) asynchronous with callbacks. In ideal case, it should be compatible with workqueues (no need for blocking threads anymore). Uniformity is only needed at concept level. There might remain different flavours of concrete interfaces at different subsystems, if the number of subsystems remains as small as possible, and interfacing is close to trivial. I would like to support this also in future versions of MARS (see github.com/schoebel/mars). Cheers, Thomas