Re: [PATCH v3 04/12] mm/filemap: Add mapping_seek_hole_data

From: Christoph Hellwig
Date: Tue Oct 27 2020 - 14:58:18 EST


> +/**
> + * mapping_seek_hole_data - Seek for SEEK_DATA / SEEK_HOLE in the page cache.
> + * @mapping: Address space to search.
> + * @start: First byte to consider.
> + * @end: Limit of search (exclusive).
> + * @whence: Either SEEK_HOLE or SEEK_DATA.
> + *
> + * If the page cache knows which blocks contain holes and which blocks
> + * contain data, your filesystem can use this function to implement
> + * SEEK_HOLE and SEEK_DATA. This is useful for filesystems which are
> + * entirely memory-based such as tmpfs, and filesystems which support
> + * unwritten extents.
> + *
> + * Return: The requested offset on successs, or -ENXIO if @whence specifies
> + * SEEK_DATA and there is no data after @start. There is an implicit hole
> + * after @end - 1, so SEEK_HOLE returns @end if all the bytes between @start
> + * and @end contain data.
> + */

This seems to just lift the tmpfs one to common code. If it really
is supposed to be generic it should be able to replace
page_cache_seek_hole_data as well. So I don't think moving this without
removing the other common one is an all that good idea.