RE: [PATCH v5 03/10] fs/ntfs3: Add bitmap

From: Konstantin Komarov
Date: Fri Sep 18 2020 - 12:35:18 EST


From: Matthew Wilcox <willy@xxxxxxxxxxxxx>
Sent: Monday, September 14, 2020 5:39 AM
>
> On Sun, Sep 13, 2020 at 11:43:50AM -0700, Joe Perches wrote:
> > On Fri, 2020-09-11 at 17:10 +0300, Konstantin Komarov wrote:
> > > This adds bitmap
> >
> > $ make fs/ntfs3/
> > SYNC include/config/auto.conf.cmd
> > CALL scripts/checksyscalls.sh
> > CALL scripts/atomic/check-atomics.sh
> > DESCEND objtool
> > CC fs/ntfs3/bitfunc.o
> > CC fs/ntfs3/bitmap.o
> > fs/ntfs3/bitmap.c: In function ‘wnd_rescan’:
> > fs/ntfs3/bitmap.c:556:4: error: implicit declaration of function ‘page_cache_readahead_unbounded’; did you mean
> ‘page_cache_ra_unbounded’? [-Werror=implicit-function-declaration]
> > 556 | page_cache_readahead_unbounded(
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > | page_cache_ra_unbounded
> > cc1: some warnings being treated as errors
> > make[2]: *** [scripts/Makefile.build:283: fs/ntfs3/bitmap.o] Error 1
> > make[1]: *** [scripts/Makefile.build:500: fs/ntfs3] Error 2
> > make: *** [Makefile:1792: fs] Error 2
>
> That was only just renamed. More concerningly, the documentation is
> quite unambiguous:
>
> * This function is for filesystems to call when they want to start
> * readahead beyond a file's stated i_size. This is almost certainly
> * not the function you want to call. Use page_cache_async_readahead()
> * or page_cache_sync_readahead() instead.

Hi Matthew! it's not so clear for us by several reasons (please correct
if this is wrong):
page_cache_sync_readahead() seems applicable as a replacement, but
it doesn't seem to be reasonable as readahead in this case gives perf
improvement because of it's async nature. The 'async' function is incompatible
replacement based on the arguments list.

Thanks.