[PATCH 11/11] dax: move bdev_dax_pgoff to fs/dax.c
Dan Williams
dan.j.williams at intel.com
Thu Oct 28 12:44:04 AEDT 2021
On Sun, Oct 17, 2021 at 9:41 PM Christoph Hellwig <hch at lst.de> wrote:
>
> No functional changet, but this will allow for a tighter integration
s/changet/changes/
> with the iomap code, including possible passing the partition offset
s/possible/possibly/
> in the iomap in the future. For now it mostly avoids growing more
s/now/now,/
...all of the above fixed up locally.
Other than that, it looks good to me.
> callers outside of fs/dax.c.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> ---
> drivers/dax/super.c | 14 --------------
> fs/dax.c | 13 +++++++++++++
> include/linux/dax.h | 1 -
> 3 files changed, 13 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/dax/super.c b/drivers/dax/super.c
> index 803942586d1b6..c0910687fbcb2 100644
> --- a/drivers/dax/super.c
> +++ b/drivers/dax/super.c
> @@ -67,20 +67,6 @@ void dax_remove_host(struct gendisk *disk)
> }
> EXPORT_SYMBOL_GPL(dax_remove_host);
>
> -int bdev_dax_pgoff(struct block_device *bdev, sector_t sector, size_t size,
> - pgoff_t *pgoff)
> -{
> - sector_t start_sect = bdev ? get_start_sect(bdev) : 0;
> - phys_addr_t phys_off = (start_sect + sector) * 512;
> -
> - if (pgoff)
> - *pgoff = PHYS_PFN(phys_off);
> - if (phys_off % PAGE_SIZE || size % PAGE_SIZE)
> - return -EINVAL;
> - return 0;
> -}
> -EXPORT_SYMBOL(bdev_dax_pgoff);
> -
> /**
> * dax_get_by_host() - temporary lookup mechanism for filesystem-dax
> * @bdev: block device to find a dax_device for
> diff --git a/fs/dax.c b/fs/dax.c
> index 4e3e5a283a916..eb715363fd667 100644
> --- a/fs/dax.c
> +++ b/fs/dax.c
> @@ -709,6 +709,19 @@ int dax_invalidate_mapping_entry_sync(struct address_space *mapping,
> return __dax_invalidate_entry(mapping, index, false);
> }
>
> +static int bdev_dax_pgoff(struct block_device *bdev, sector_t sector, size_t size,
> + pgoff_t *pgoff)
> +{
> + sector_t start_sect = bdev ? get_start_sect(bdev) : 0;
> + phys_addr_t phys_off = (start_sect + sector) * 512;
> +
> + if (pgoff)
> + *pgoff = PHYS_PFN(phys_off);
> + if (phys_off % PAGE_SIZE || size % PAGE_SIZE)
> + return -EINVAL;
> + return 0;
> +}
> +
> static int copy_cow_page_dax(struct block_device *bdev, struct dax_device *dax_dev,
> sector_t sector, struct page *to, unsigned long vaddr)
> {
> diff --git a/include/linux/dax.h b/include/linux/dax.h
> index 439c3c70e347b..324363b798ecd 100644
> --- a/include/linux/dax.h
> +++ b/include/linux/dax.h
> @@ -107,7 +107,6 @@ static inline bool daxdev_mapping_supported(struct vm_area_struct *vma,
> #endif
>
> struct writeback_control;
> -int bdev_dax_pgoff(struct block_device *, sector_t, size_t, pgoff_t *pgoff);
> #if IS_ENABLED(CONFIG_FS_DAX)
> int dax_add_host(struct dax_device *dax_dev, struct gendisk *disk);
> void dax_remove_host(struct gendisk *disk);
> --
> 2.30.2
>
More information about the Linux-erofs
mailing list