tree 726c6f38b8eeb23a28cf194afca0f39117aa034a
parent c985a9a53656b50063cf2de1b29e40e02b47f415
author John Levon <john.levon@nutanix.com> 1653647153 +0100
committer GitHub <noreply@github.com> 1653647153 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJikKcxCRBK7hj4Ov3rIwAABfIIAFzGG+ynSAkpGHsULYu4undH
 AN88A2vZKwS+PPMn0tZaGLV81XrNzsrcXqTMSt1SiDdA8yBBiP0EV2T0YNp9CBn1
 LEt2YJS5pXf58MI+BsqbQCQRZda5fxQnw1sCKjpkYwVASYWLHNt/n+7fQ79w/XhK
 0nqm4RirJiYOGMD1djs/P2dRa77dX7uI8B6jN5ylYOB3GZDLWN/L+RXRHT75Z2Lq
 aA2IEBQJInlLpVuG30CK6xd/Esf951HUiWsojOpCteZnSzDSYzCoqwNN8MMDsJ5T
 IZ+iPHAKNghCSM20oKL0NDzpZaOi02STwfmwUH3J6IEouqfRCFmu4pvMrzHFxLc=
 =oMJ9
 -----END PGP SIGNATURE-----
 

re-work SG dirty tracking (#672)

Move SG dirtying to vfu_unmap_sg(): as we don't want to track SGs
ourselves, doing this in vfu_map_sg() is no longer the right place.

Note that the lack of tracking implies that any SGs must be unmapped
before the final stop and copy phase. To avoid the need for this, add
vfu_mark_sg_dirty(): this allows a consumer to mark a region as dirty
explicitly without needing to unmap it. Currently it's the same as
vfu_unmap_sg(), but that's an implementation detail.

Note this still marks current maps after a get operation; that will
change subsequently.

Signed-off-by: John Levon <john.levon@nutanix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
