[PATCH v9 24/30] examples/vhost_blk: replace packed attributes
Andre Muezerie
andremue at linux.microsoft.com
Thu Jan 9 01:48:29 CET 2025
MSVC struct packing is not compatible with GCC. Replace macro
__rte_packed with __rte_packed_begin to push existing pack value
and set packing to 1-byte and macro __rte_packed_end to restore
the pack value prior to the push.
Macro __rte_packed_end is deliberately utilized to trigger a
MSVC compiler warning if no existing packing has been pushed allowing
easy identification of locations where the __rte_packed_begin is
missing.
Signed-off-by: Andre Muezerie <andremue at linux.microsoft.com>
---
examples/vhost_blk/blk_spec.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/examples/vhost_blk/blk_spec.h b/examples/vhost_blk/blk_spec.h
index 3c54f70eaf..7f785fa563 100644
--- a/examples/vhost_blk/blk_spec.h
+++ b/examples/vhost_blk/blk_spec.h
@@ -73,7 +73,7 @@ struct vhost_memory_padded {
struct vhost_memory_region regions[VHOST_USER_MEMORY_MAX_NREGIONS];
};
-struct vhost_user_msg {
+struct __rte_packed_begin vhost_user_msg {
enum vhost_user_request request;
#define VHOST_USER_VERSION_MASK 0x3
@@ -89,6 +89,6 @@ struct vhost_user_msg {
struct vhost_memory_padded memory;
struct vhost_user_config cfg;
} payload;
-} __rte_packed;
+} __rte_packed_end;
#endif
--
2.47.0.vfs.0.3
More information about the dev
mailing list