Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755193AbcDMSXB (ORCPT ); Wed, 13 Apr 2016 14:23:01 -0400 Received: from mga01.intel.com ([192.55.52.88]:51361 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755169AbcDMSW7 convert rfc822-to-8bit (ORCPT ); Wed, 13 Apr 2016 14:22:59 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,480,1455004800"; d="scan'208";a="954298107" Date: Wed, 13 Apr 2016 14:22:49 -0400 From: Matthew Wilcox To: Toshi Kani Cc: akpm@linux-foundation.org, dan.j.williams@intel.com, linux-nvdimm@ml01.01.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, "Theodore Ts'o" , Andreas Dilger , Jan Kara , Ross Zwisler , linux-ext4@vger.kernel.org Subject: Re: [PATCH v2 2/5] ext4: call dax_get_unmapped_area() for DAX pmd mappings Message-ID: <20160413182249.GB3120@linux.intel.com> References: <1460493572-31667-1-git-send-email-toshi.kani@hpe.com> <20160413030156.GN2781@linux.intel.com> <1460560116.24985.55.camel@hpe.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <1460560116.24985.55.camel@hpe.com> User-Agent: Mutt/1.5.24 (2015-08-30) Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 955 Lines: 29 On Wed, Apr 13, 2016 at 09:08:36AM -0600, Toshi Kani wrote: > > Could you do something like: > > > > ?#ifdef CONFIG_FS_DAX > > ?struct page *read_dax_sector(struct block_device *bdev, sector_t n); > > +unsigned long dax_get_unmapped_area(struct file *filp, unsigned long > > addr, > > +???????????????unsigned long len, unsigned long pgoff, unsigned long > > flags); > > ?#else > > ?static inline struct page *read_dax_sector(struct block_device *bdev, > > ?????????????????sector_t n) > > ?{ > > ?????????return ERR_PTR(-ENXIO); > > ?} > > +#define dax_get_unmapped_area NULL > > ?#endif > > > > in patch 1/5.??Then there's no need for the ifdefs in each filesystem. > > I thought about it, but I do not think we can use an inline function to an > entry point. That's not an inline function. It's just NULL. So after the preprocessor is done with it, it just looks like: .get_unmapped_area = NULL, and it won't be called by get_unmapped_area().