This patch adds functionality to perform flush from guest to host over VIRTIO when 'ND_REGION_VIRTIO' flag is set on nd_negion. This flag is set by 'virtio-pmem' driver for virtio flush operation. Signed-off-by: Pankaj Gupta <pagupta@xxxxxxxxxx> --- drivers/nvdimm/region_devs.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c index abaf38c..1c6cd2a 100644 --- a/drivers/nvdimm/region_devs.c +++ b/drivers/nvdimm/region_devs.c @@ -20,6 +20,7 @@ #include <linux/nd.h> #include "nd-core.h" #include "nd.h" +#include <linux/virtio_pmem.h> /* * For readq() and writeq() on 32-bit builds, the hi-lo, lo-hi order is @@ -1043,6 +1044,12 @@ void nvdimm_flush(struct nd_region *nd_region) struct nd_region_data *ndrd = dev_get_drvdata(&nd_region->dev); int i, idx; + /* call PV device flush */ + if (test_bit(ND_REGION_VIRTIO, &nd_region->flags)) { + virtio_pmem_flush(&nd_region->dev); + return; + } + /* * Try to encourage some diversity in flush hint addresses * across cpus assuming a limited number of flush hints. -- 2.9.3