[PATCH] Provide infrastructure changes for backends (and blkback) for 2.6.40

From: Konrad Rzeszutek Wilk
Date: Mon Apr 18 2011 - 12:48:10 EST


On Thu, Apr 14, 2011 at 11:30:09AM -0400, Konrad Rzeszutek Wilk wrote:
> I've posted these patches in the past, and fixed some of the issues, and I think
> there were reviewed. These five pathches are proposed for 2.6.40 to to allow the
> Xen-pciback backend module to work.

And also the blkback backend. The attached patch allows the M2P override code
to deal with grants that do not have the GNTMAP_contains_pte flag set.

The change is pretty straightforward. The difficulty is more when we unmap the
grant and we need to call m2p_remove_override and pass the flag whether to clear
the PTE or not. On the map part it was quite easy to check the:

map_ops[i].flags & GNTMAP_contains_pte

but that is not possible on the unmap (there are no .flags parameter on the unmap
grant). For simplicity and the use cases (the backends do not use those API
calss to setup grants, instead they use the m2p_* API calls directlly) we will
return -EOPNOTSUPP for !GNTMAP_contains_pte.

In the future we could keep track of the page and whether it had !GNTMAP_contains_pte
and make the decision whether to clear the PTE or not. One way to do this is to keep
an list of pages of the pages that have GNTMAP_contains_pte flag set (or vice-versa).

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/