]> xenbits.xensource.com Git - xen.git/commitdiff
gnttab: maptrack handle shortage is not IOMMU related
authorJan Beulich <jbeulich@suse.com>
Tue, 7 Sep 2021 07:38:42 +0000 (09:38 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 7 Sep 2021 07:38:42 +0000 (09:38 +0200)
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 <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
xen/common/grant_table.c
xen/include/public/grant_table.h

index df74e2d6a7fd81d4cc63f53fd51153eac694f86a..ee61603a97439b3c305dcb34a627856195735856 100644 (file)
@@ -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;
     }
 
index 69d1e9662e9e4da8a0e6dcec8195bc77e47b8d4a..4dceed20bb0c0fdc64b1375c5c4043341c07b7f5 100644 (file)
@@ -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__ */