mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
When xenstore was ported to the new safe-string interface, it mostly happened by making copyies of string into bytes and back. The ideal fix would be to rewrite all of the relevant interfaces to be uniformly using bytes, but in the meanwhile we can improve the code by using unsafe conversion functions (see https://caml.inria.fr/pub/docs/manual-ocaml/libref/Bytes.html#3_Unsafeconversionsforadvancedusers). In most cases we own the bytes that we are converting to string, or we immediately make copies that we then mutate, or we use them immutably as payloads for writes. In all these cases it is safe to use the unsafe functions and prevent a copy. This patch updates the code to use the unsafe conversions where possible. Signed-off-by: Marcello Seri <marcello.seri@citrix.com> Reviewed-by: Christian Lindig <christian.lindig@citrix.com> Release-acked-by: Juergen Gross <jgross@suse.com>