summaryrefslogtreecommitdiff
path: root/scripts/Lindent
diff options
context:
space:
mode:
authorJason Wang <jasowang@redhat.com>2019-01-16 16:54:42 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-01-31 08:13:41 +0100
commit1981e4c9a97f8ad8e8dfcb5ef1707e25fad85279 (patch)
tree00623f3d36df391132079644bdaf3583fe46b5be /scripts/Lindent
parent520126ca0ef79ecf67784b36b67601d54b0df42f (diff)
vhost: log dirty page correctly
[ Upstream commit cc5e710759470bc7f3c61d11fd54586f15fdbdf4 ] Vhost dirty page logging API is designed to sync through GPA. But we try to log GIOVA when device IOTLB is enabled. This is wrong and may lead to missing data after migration. To solve this issue, when logging with device IOTLB enabled, we will: 1) reuse the device IOTLB translation result of GIOVA->HVA mapping to get HVA, for writable descriptor, get HVA through iovec. For used ring update, translate its GIOVA to HVA 2) traverse the GPA->HVA mapping to get the possible GPA and log through GPA. Pay attention this reverse mapping is not guaranteed to be unique, so we should log each possible GPA in this case. This fix the failure of scp to guest during migration. In -next, we will probably support passing GIOVA->GPA instead of GIOVA->HVA. Fixes: 6b1e6cc7855b ("vhost: new device IOTLB API") Reported-by: Jintack Lim <jintack@cs.columbia.edu> Cc: Jintack Lim <jintack@cs.columbia.edu> Signed-off-by: Jason Wang <jasowang@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts/Lindent')
0 files changed, 0 insertions, 0 deletions