Re: [PATCH v2 2/5] ext4: call dax_get_unmapped_area() for DAX pmd mappings

From: Matthew Wilcox
Date: Wed Apr 13 2016 - 14:23:05 EST


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().