examples/vhost_blk: use common macros for min/max
Checks
Commit Message
The macros RTE_MIN and RTE_MAX can be used in DPDK applications.
This change implies fixing the sign of used_len as size_t
as defined in vhost_strcpy_pad().
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
examples/vhost_blk/blk.c | 4 ++--
examples/vhost_blk/vhost_blk.h | 2 --
examples/vhost_blk/vhost_blk_compat.c | 2 +-
3 files changed, 3 insertions(+), 5 deletions(-)
Comments
On Wed, Feb 19, 2020 at 11:39:22AM +0100, Thomas Monjalon wrote:
> The macros RTE_MIN and RTE_MAX can be used in DPDK applications.
>
> This change implies fixing the sign of used_len as size_t
> as defined in vhost_strcpy_pad().
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> examples/vhost_blk/blk.c | 4 ++--
> examples/vhost_blk/vhost_blk.h | 2 --
> examples/vhost_blk/vhost_blk_compat.c | 2 +-
> 3 files changed, 3 insertions(+), 5 deletions(-)
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
Thanks,
Tiwei
20/02/2020 03:52, Tiwei Bie:
> On Wed, Feb 19, 2020 at 11:39:22AM +0100, Thomas Monjalon wrote:
> > The macros RTE_MIN and RTE_MAX can be used in DPDK applications.
Only RTE_MIN is used in this patch. The title is wrong as well.
> > This change implies fixing the sign of used_len as size_t
> > as defined in vhost_strcpy_pad().
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
> > examples/vhost_blk/blk.c | 4 ++--
> > examples/vhost_blk/vhost_blk.h | 2 --
> > examples/vhost_blk/vhost_blk_compat.c | 2 +-
> > 3 files changed, 3 insertions(+), 5 deletions(-)
>
> Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
On Fri, Feb 21, 2020 at 07:29:13PM +0100, Thomas Monjalon wrote:
> 20/02/2020 03:52, Tiwei Bie:
> > On Wed, Feb 19, 2020 at 11:39:22AM +0100, Thomas Monjalon wrote:
> > > The macros RTE_MIN and RTE_MAX can be used in DPDK applications.
>
> Only RTE_MIN is used in this patch. The title is wrong as well.
Make sense! The commit log should describe what's changed
by the patch exactly.
>
>
> > > This change implies fixing the sign of used_len as size_t
> > > as defined in vhost_strcpy_pad().
> > >
> > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > > ---
> > > examples/vhost_blk/blk.c | 4 ++--
> > > examples/vhost_blk/vhost_blk.h | 2 --
> > > examples/vhost_blk/vhost_blk_compat.c | 2 +-
> > > 3 files changed, 3 insertions(+), 5 deletions(-)
> >
> > Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
>
>
>
On 2/22/20 12:50 AM, Tiwei Bie wrote:
> On Fri, Feb 21, 2020 at 07:29:13PM +0100, Thomas Monjalon wrote:
>> 20/02/2020 03:52, Tiwei Bie:
>>> On Wed, Feb 19, 2020 at 11:39:22AM +0100, Thomas Monjalon wrote:
>>>> The macros RTE_MIN and RTE_MAX can be used in DPDK applications.
>>
>> Only RTE_MIN is used in this patch. The title is wrong as well.
>
> Make sense! The commit log should describe what's changed
> by the patch exactly.
>
>>
>>
>>>> This change implies fixing the sign of used_len as size_t
>>>> as defined in vhost_strcpy_pad().
>>>>
>>>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>>>> ---
>>>> examples/vhost_blk/blk.c | 4 ++--
>>>> examples/vhost_blk/vhost_blk.h | 2 --
>>>> examples/vhost_blk/vhost_blk_compat.c | 2 +-
>>>> 3 files changed, 3 insertions(+), 5 deletions(-)
>>>
>>> Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
>>
>>
>>
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
I'll fixup the patch when applying.
Thanks,
Maxime
On 2/19/20 11:39 AM, Thomas Monjalon wrote:
> The macros RTE_MIN and RTE_MAX can be used in DPDK applications.
>
> This change implies fixing the sign of used_len as size_t
> as defined in vhost_strcpy_pad().
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> examples/vhost_blk/blk.c | 4 ++--
> examples/vhost_blk/vhost_blk.h | 2 --
> examples/vhost_blk/vhost_blk_compat.c | 2 +-
> 3 files changed, 3 insertions(+), 5 deletions(-)
Applied to dpdk-next-virtio/master.
Thanks,
Maxime
@@ -68,7 +68,7 @@ int
vhost_bdev_process_blk_commands(struct vhost_block_dev *bdev,
struct vhost_blk_task *task)
{
- int used_len;
+ size_t used_len;
if (unlikely(task->data_len > (bdev->blockcnt * bdev->blocklen))) {
fprintf(stderr, "read or write beyond capacity\n");
@@ -113,7 +113,7 @@ vhost_bdev_process_blk_commands(struct vhost_block_dev *bdev,
case VIRTIO_BLK_T_GET_ID:
if (!task->iovs_cnt || task->data_len)
return VIRTIO_BLK_S_UNSUPP;
- used_len = min(VIRTIO_BLK_ID_BYTES, task->data_len);
+ used_len = RTE_MIN((size_t)VIRTIO_BLK_ID_BYTES, task->data_len);
vhost_strcpy_pad(task->iovs[0].iov_base,
bdev->product_name, used_len, ' ');
break;
@@ -40,8 +40,6 @@ struct vhost_blk_queue {
#define NUM_OF_BLK_QUEUES 1
-#define min(a, b) (((a) < (b)) ? (a) : (b))
-
struct vhost_block_dev {
/** ID for vhost library. */
int vid;
@@ -60,7 +60,7 @@ vhost_blk_get_config(struct vhost_block_dev *bdev, uint8_t *config,
fprintf(stdout, "block device:blk_size = %d, blkcnt = %"PRIx64"\n",
blk_size, blkcnt);
- memcpy(config, &blkcfg, min(len, sizeof(blkcfg)));
+ memcpy(config, &blkcfg, RTE_MIN(len, sizeof(blkcfg)));
return 0;
}