From 5c10b96795ff546fbc9ba2f10141d4fb97e32672 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 7 Sep 2021 09:38:42 +0200 Subject: [PATCH] gnttab: maptrack handle shortage is not IOMMU related Both comment and message string associated with GNTST_no_device_space suggest a connection to the IOMMU. A lack of maptrack handles has nothing to do with that; it's unclear to me why commit 6213b696ba65 ("Grant-table interface redone") introduced it this way. Introduce a new error indicator. Signed-off-by: Jan Beulich Acked-by: Julien Grall --- xen/common/grant_table.c | 2 +- xen/include/public/grant_table.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c index df74e2d6a7..ee61603a97 100644 --- a/xen/common/grant_table.c +++ b/xen/common/grant_table.c @@ -1027,7 +1027,7 @@ map_grant_ref( { rcu_unlock_domain(rd); gdprintk(XENLOG_INFO, "Failed to obtain maptrack handle\n"); - op->status = GNTST_no_device_space; + op->status = GNTST_no_space; return; } diff --git a/xen/include/public/grant_table.h b/xen/include/public/grant_table.h index 69d1e9662e..4dceed20bb 100644 --- a/xen/include/public/grant_table.h +++ b/xen/include/public/grant_table.h @@ -652,6 +652,7 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_cache_flush_t); #define GNTST_bad_copy_arg (-10) /* copy arguments cross page boundary. */ #define GNTST_address_too_big (-11) /* transfer page address too large. */ #define GNTST_eagain (-12) /* Operation not done; try again. */ +#define GNTST_no_space (-13) /* Out of space (handles etc). */ /* ` } */ #define GNTTABOP_error_msgs { \ @@ -667,7 +668,8 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_cache_flush_t); "bad page", \ "copy arguments cross page boundary", \ "page address size too large", \ - "operation not done; try again" \ + "operation not done; try again", \ + "out of space", \ } #endif /* __XEN_PUBLIC_GRANT_TABLE_H__ */ -- 2.30.2