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

Reply via email to