[PATCH v2 7/7] pmem, dax: have direct_access use __pmem annotation

Dan Williams dan.j.williams at intel.com
Fri Aug 14 07:20:33 AEST 2015


On Thu, Aug 13, 2015 at 9:51 AM, Ross Zwisler
<ross.zwisler at linux.intel.com> wrote:
> Update the annotation for the kaddr pointer returned by direct_access()
> so that it is a __pmem pointer.  This is consistent with the PMEM driver
> and with how this direct_access() pointer is used in the DAX code.
>
> Signed-off-by: Ross Zwisler <ross.zwisler at linux.intel.com>
> ---
>  Documentation/filesystems/Locking |  3 ++-
>  arch/powerpc/sysdev/axonram.c     |  7 ++++---
>  drivers/block/brd.c               |  4 ++--
>  drivers/nvdimm/pmem.c             |  4 ++--
>  drivers/s390/block/dcssblk.c      | 10 +++++----
>  fs/block_dev.c                    |  2 +-
>  fs/dax.c                          | 44 +++++++++++++++++++++------------------
>  include/linux/blkdev.h            |  8 +++----
>  8 files changed, 45 insertions(+), 37 deletions(-)
>
> diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
> index 6a34a0f..06d4434 100644
> --- a/Documentation/filesystems/Locking
> +++ b/Documentation/filesystems/Locking
> @@ -397,7 +397,8 @@ prototypes:
>         int (*release) (struct gendisk *, fmode_t);
>         int (*ioctl) (struct block_device *, fmode_t, unsigned, unsigned long);
>         int (*compat_ioctl) (struct block_device *, fmode_t, unsigned, unsigned long);
> -       int (*direct_access) (struct block_device *, sector_t, void **, unsigned long *);
> +       int (*direct_access) (struct block_device *, sector_t, void __pmem **,
> +                               unsigned long *);

So this collides with the __pfn_t work.  I think the we have a
reasonable chance of getting that in to 4.3, so I'd wait to see if we
hit any major roadblocks with that set [1] before merging these.

[1]: https://lists.01.org/pipermail/linux-nvdimm/2015-August/001803.html


More information about the Linuxppc-dev mailing list