vfio: skip DMA map failure if already mapped
authorShahaf Shuler <shahafs@mellanox.com>
Sun, 10 Mar 2019 08:27:59 +0000 (10:27 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Sat, 30 Mar 2019 15:48:55 +0000 (16:48 +0100)
commit0cbce3a167f189330f50099c5eb085f17565c0a4
tree720974a7927967a95360ae61d10496d9809d64ba
parent4106d89a18f8e2eccdd279a55dd8b14ec752fb16
vfio: skip DMA map failure if already mapped

Currently vfio DMA map function will fail in case the same memory
segment is mapped twice.

This is too strict, as this is not an error to map the same memory
twice.

Instead, use the kernel return value to detect such state and have the
DMA function to return as successful.

For type1 mapping the kernel driver returns EEXISTS.
For spapr mapping EBUSY is returned since kernel 4.10.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
lib/librte_eal/linux/eal/eal_vfio.c