dm: add dax_device and dax_operations support
authorDan Williams <dan.j.williams@intel.com>
Wed, 12 Apr 2017 19:35:44 +0000 (12:35 -0700)
committerDan Williams <dan.j.williams@intel.com>
Thu, 20 Apr 2017 18:57:52 +0000 (11:57 -0700)
commitf26c5719b2d7b00de69eb83eb1c1c831759fdc9b
treed2f4dc917d539e7dae0424d7722affdc1cdd2006
parentb0686260fecaa924d8eff2ace94bee70506bc308
dm: add dax_device and dax_operations support

Allocate a dax_device to represent the capacity of a device-mapper
instance. Provide a ->direct_access() method via the new dax_operations
indirection that mirrors the functionality of the current direct_access
support via block_device_operations.  Once fs/dax.c has been converted
to use dax_operations the old dm_blk_direct_access() will be removed.

A new helper dm_dax_get_live_target() is introduced to separate some of
the dm-specifics from the direct_access implementation.

This enabling is only for the top-level dm representation to upper
layers. Converting target direct_access implementations is deferred to a
separate patch.

Cc: Toshi Kani <toshi.kani@hpe.com>
Reviewed-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/md/Kconfig
drivers/md/dm-core.h
drivers/md/dm.c
include/linux/device-mapper.h