diff mbox series

[v1,11/13] contrib/vhost-user-blk: fix 32 bit build and enable

Message ID 20220321153037.3622127-12-alex.bennee@linaro.org
State Superseded
Headers show
Series various virtio docs, fixes and tweaks | expand

Commit Message

Alex Bennée March 21, 2022, 3:30 p.m. UTC
We were not building the vhost-user-blk server due to 32 bit
compilation problems. The problem was due to format string types so
fix that and then enable the build. Tweak the rule to follow the same
rules as other vhost-user daemons.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 meson.build                             | 2 +-
 contrib/vhost-user-blk/vhost-user-blk.c | 6 +++---
 contrib/vhost-user-blk/meson.build      | 3 +--
 3 files changed, 5 insertions(+), 6 deletions(-)

Comments

Philippe Mathieu-Daudé March 21, 2022, 10:32 p.m. UTC | #1
On 21/3/22 16:30, Alex Bennée wrote:
> We were not building the vhost-user-blk server due to 32 bit
> compilation problems. The problem was due to format string types so
> fix that and then enable the build. Tweak the rule to follow the same
> rules as other vhost-user daemons.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   meson.build                             | 2 +-
>   contrib/vhost-user-blk/vhost-user-blk.c | 6 +++---
>   contrib/vhost-user-blk/meson.build      | 3 +--
>   3 files changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 282e7c4650..0435419307 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1326,7 +1326,7 @@ have_vhost_user_blk_server = get_option('vhost_user_blk_server') \
>              error_message: 'vhost_user_blk_server requires linux') \
>     .require('CONFIG_VHOST_USER' in config_host,
>              error_message: 'vhost_user_blk_server requires vhost-user support') \
> -  .disable_auto_if(not have_system) \
> +  .disable_auto_if(not have_tools and not have_system) \

s/and/or/?

>     .allowed()
Alex Bennée May 16, 2022, 10:46 a.m. UTC | #2
Philippe Mathieu-Daudé <philippe.mathieu.daude@gmail.com> writes:

> On 21/3/22 16:30, Alex Bennée wrote:
>> We were not building the vhost-user-blk server due to 32 bit
>> compilation problems. The problem was due to format string types so
>> fix that and then enable the build. Tweak the rule to follow the same
>> rules as other vhost-user daemons.
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>>   meson.build                             | 2 +-
>>   contrib/vhost-user-blk/vhost-user-blk.c | 6 +++---
>>   contrib/vhost-user-blk/meson.build      | 3 +--
>>   3 files changed, 5 insertions(+), 6 deletions(-)
>> diff --git a/meson.build b/meson.build
>> index 282e7c4650..0435419307 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -1326,7 +1326,7 @@ have_vhost_user_blk_server = get_option('vhost_user_blk_server') \
>>              error_message: 'vhost_user_blk_server requires linux') \
>>     .require('CONFIG_VHOST_USER' in config_host,
>>              error_message: 'vhost_user_blk_server requires vhost-user support') \
>> -  .disable_auto_if(not have_system) \
>> +  .disable_auto_if(not have_tools and not have_system) \
>
> s/and/or/?

AIUI this is for auto-enabling so you probably want to build if you have
system build or are explicitly building tools. I think, it's confusing
being in a double negative.

>
>>     .allowed()
diff mbox series

Patch

diff --git a/meson.build b/meson.build
index 282e7c4650..0435419307 100644
--- a/meson.build
+++ b/meson.build
@@ -1326,7 +1326,7 @@  have_vhost_user_blk_server = get_option('vhost_user_blk_server') \
            error_message: 'vhost_user_blk_server requires linux') \
   .require('CONFIG_VHOST_USER' in config_host,
            error_message: 'vhost_user_blk_server requires vhost-user support') \
-  .disable_auto_if(not have_system) \
+  .disable_auto_if(not have_tools and not have_system) \
   .allowed()
 
 if get_option('fuse').disabled() and get_option('fuse_lseek').enabled()
diff --git a/contrib/vhost-user-blk/vhost-user-blk.c b/contrib/vhost-user-blk/vhost-user-blk.c
index d14b2896bf..0bee79360f 100644
--- a/contrib/vhost-user-blk/vhost-user-blk.c
+++ b/contrib/vhost-user-blk/vhost-user-blk.c
@@ -146,7 +146,7 @@  vub_readv(VubReq *req, struct iovec *iov, uint32_t iovcnt)
     req->size = vub_iov_size(iov, iovcnt);
     rc = preadv(vdev_blk->blk_fd, iov, iovcnt, req->sector_num * 512);
     if (rc < 0) {
-        fprintf(stderr, "%s, Sector %"PRIu64", Size %lu failed with %s\n",
+        fprintf(stderr, "%s, Sector %"PRIu64", Size %zu failed with %s\n",
                 vdev_blk->blk_name, req->sector_num, req->size,
                 strerror(errno));
         return -1;
@@ -169,7 +169,7 @@  vub_writev(VubReq *req, struct iovec *iov, uint32_t iovcnt)
     req->size = vub_iov_size(iov, iovcnt);
     rc = pwritev(vdev_blk->blk_fd, iov, iovcnt, req->sector_num * 512);
     if (rc < 0) {
-        fprintf(stderr, "%s, Sector %"PRIu64", Size %lu failed with %s\n",
+        fprintf(stderr, "%s, Sector %"PRIu64", Size %zu failed with %s\n",
                 vdev_blk->blk_name, req->sector_num, req->size,
                 strerror(errno));
         return -1;
@@ -188,7 +188,7 @@  vub_discard_write_zeroes(VubReq *req, struct iovec *iov, uint32_t iovcnt,
 
     size = vub_iov_size(iov, iovcnt);
     if (size != sizeof(*desc)) {
-        fprintf(stderr, "Invalid size %ld, expect %ld\n", size, sizeof(*desc));
+        fprintf(stderr, "Invalid size %zd, expect %zd\n", size, sizeof(*desc));
         return -1;
     }
     buf = g_new0(char, size);
diff --git a/contrib/vhost-user-blk/meson.build b/contrib/vhost-user-blk/meson.build
index 601ea15ef5..dcb9e2ffcd 100644
--- a/contrib/vhost-user-blk/meson.build
+++ b/contrib/vhost-user-blk/meson.build
@@ -1,5 +1,4 @@ 
-# FIXME: broken on 32-bit architectures
 executable('vhost-user-blk', files('vhost-user-blk.c'),
            dependencies: [qemuutil, vhost_user],
-           build_by_default: false,
+           build_by_default: targetos == 'linux',
            install: false)