Re: [PATCH 1/3] DAX: move RADIX_DAX_ definitions to dax.c

From: Ross Zwisler
Date: Mon Feb 29 2016 - 12:46:34 EST


On Mon, Feb 29, 2016 at 02:28:46PM +0000, Wilcox, Matthew R wrote:
> I agree with this patch, but it's already part of the patchset that I'm
> working on, so merging this patch now would just introduce churn for me.
>
> -----Original Message-----
> From: NeilBrown [mailto:neilb@xxxxxxxx]
> Sent: Saturday, February 27, 2016 9:09 PM
> To: Ross Zwisler; Wilcox, Matthew R; Andrew Morton; Jan Kara
> Cc: linux-kernel@xxxxxxxxxxxxxxx; linux-fsdevel@xxxxxxxxxxxxxxx; linux-mm@xxxxxxxxx
> Subject: [PATCH 1/3] DAX: move RADIX_DAX_ definitions to dax.c
>
> These don't belong in radix-tree.c any more than PAGECACHE_TAG_* do.
> Let's try to maintain the idea that radix-tree simply implements an
> abstract data type.

Looks good. I'm fine with this change, whether it happens via this standalone
patch or via Matthew's larger change set.

>
> Signed-off-by: NeilBrown <neilb@xxxxxxxx>
> ---
> fs/dax.c | 9 +++++++++
> include/linux/radix-tree.h | 9 ---------
> 2 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/fs/dax.c b/fs/dax.c
> index 711172450da6..9c4d697fb6fc 100644
> --- a/fs/dax.c
> +++ b/fs/dax.c
> @@ -32,6 +32,15 @@
> #include <linux/pfn_t.h>
> #include <linux/sizes.h>
>
> +#define RADIX_DAX_MASK 0xf
> +#define RADIX_DAX_SHIFT 4
> +#define RADIX_DAX_PTE (0x4 | RADIX_TREE_EXCEPTIONAL_ENTRY)
> +#define RADIX_DAX_PMD (0x8 | RADIX_TREE_EXCEPTIONAL_ENTRY)
> +#define RADIX_DAX_TYPE(entry) ((unsigned long)entry & RADIX_DAX_MASK)
> +#define RADIX_DAX_SECTOR(entry) (((unsigned long)entry >> RADIX_DAX_SHIFT))
> +#define RADIX_DAX_ENTRY(sector, pmd) ((void *)((unsigned long)sector << \
> + RADIX_DAX_SHIFT | (pmd ? RADIX_DAX_PMD : RADIX_DAX_PTE)))
> +
> static long dax_map_atomic(struct block_device *bdev, struct blk_dax_ctl *dax)
> {
> struct request_queue *q = bdev->bd_queue;
> diff --git a/include/linux/radix-tree.h b/include/linux/radix-tree.h
> index f54be7082207..968150ab8a1c 100644
> --- a/include/linux/radix-tree.h
> +++ b/include/linux/radix-tree.h
> @@ -51,15 +51,6 @@
> #define RADIX_TREE_EXCEPTIONAL_ENTRY 2
> #define RADIX_TREE_EXCEPTIONAL_SHIFT 2
>
> -#define RADIX_DAX_MASK 0xf
> -#define RADIX_DAX_SHIFT 4
> -#define RADIX_DAX_PTE (0x4 | RADIX_TREE_EXCEPTIONAL_ENTRY)
> -#define RADIX_DAX_PMD (0x8 | RADIX_TREE_EXCEPTIONAL_ENTRY)
> -#define RADIX_DAX_TYPE(entry) ((unsigned long)entry & RADIX_DAX_MASK)
> -#define RADIX_DAX_SECTOR(entry) (((unsigned long)entry >> RADIX_DAX_SHIFT))
> -#define RADIX_DAX_ENTRY(sector, pmd) ((void *)((unsigned long)sector << \
> - RADIX_DAX_SHIFT | (pmd ? RADIX_DAX_PMD : RADIX_DAX_PTE)))
> -
> static inline int radix_tree_is_indirect_ptr(void *ptr)
> {
> return (int)((unsigned long)ptr & RADIX_TREE_INDIRECT_PTR);
>
>