Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757541AbcCURxW (ORCPT ); Mon, 21 Mar 2016 13:53:22 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:22828 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757304AbcCURxU (ORCPT ); Mon, 21 Mar 2016 13:53:20 -0400 Date: Mon, 21 Mar 2016 10:52:35 -0700 From: "Darrick J. Wong" To: Christoph Hellwig Cc: axboe@kernel.dk, torvalds@linux-foundation.org, bfields@fieldses.org, tytso@mit.edu, martin.petersen@oracle.com, linux-api@vger.kernel.org, david@fromorbit.com, linux-kernel@vger.kernel.org, shane.seymour@hpe.com, linux-fsdevel@vger.kernel.org, jlayton@poochiereds.net, akpm@linux-foundation.org Subject: Re: [PATCH 3/3] block: implement (some of) fallocate for block devices Message-ID: <20160321175235.GA5812@birch.djwong.org> References: <20160315194221.30093.70506.stgit@birch.djwong.org> <20160315194244.30093.6483.stgit@birch.djwong.org> <20160321153827.GA27230@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160321153827.GA27230@infradead.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Source-IP: userv0021.oracle.com [156.151.31.71] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1521 Lines: 50 On Mon, Mar 21, 2016 at 08:38:27AM -0700, Christoph Hellwig wrote: > On Tue, Mar 15, 2016 at 12:42:44PM -0700, Darrick J. Wong wrote: > > #include > > #include > > #include > > +#include > > Maybe keep this before asm/uaccess.h > > > +long blkdev_fallocate(struct file *file, int mode, loff_t start, loff_t len) > > should be marked static. Ok (to both). > > > + /* We haven't a primitive for "ensure space exists" right now. */ > > + if (!(mode & ~FALLOC_FL_KEEP_SIZE)) > > + return -EOPNOTSUPP; > > I don't really understand the comment. But I think you'd be much I don't know of a block device primitive that corresponds to the "default" mode of fallocate, as documented in the manpage (i.e. mode == 0). I agree that the whole thing could be simplified in the manner you point out below. > better off with having blkdev_fallocate as just a tiny wrapper that has > a switch for the supported modes, e.g. > > switch (mode) { > case FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE: > return blkdev_punch_hole(); > case FALLOC_FL_ZERO_RANGE | FALLOC_FL_KEEP_SIZE:: > return blkdev_zero_range(); > default: > return -EOPNOTSUPP; > } > > > +EXPORT_SYMBOL_GPL(blkdev_fallocate); > > and no need to export it either.. Ok. --D > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html