[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCHv6 1/6] util: introduce MIN_NON_ZERO
From: |
Peter Lieven |
Subject: |
[Qemu-devel] [PATCHv6 1/6] util: introduce MIN_NON_ZERO |
Date: |
Mon, 27 Oct 2014 10:18:43 +0100 |
at least in block layer we have the case of limits being defined for a
BlockDriverState. However, in this context often zero (0) has the special
meanining of undefined which means no limit. If two of those limits are
combined and the minimum is needed the minimum function should only return
zero if both parameters are zero.
Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
---
include/qemu/osdep.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 1565404..c032434 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -68,6 +68,12 @@ typedef signed int int_fast16_t;
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
#endif
+/* Minimum function that returns zero only iff both values are zero.
+ * Intended for use with unsigned values only. */
+#ifndef MIN_NON_ZERO
+#define MIN_NON_ZERO(a, b) (((a) != 0 && (a) < (b)) ? (a) : (b))
+#endif
+
#ifndef ROUND_UP
#define ROUND_UP(n,d) (((n) + (d) - 1) & -(d))
#endif
--
1.7.9.5
- [Qemu-devel] [PATCHv6 0/6] introduce max_transfer_length, Peter Lieven, 2014/10/27
- [Qemu-devel] [PATCHv6 2/6] BlockLimits: introduce max_transfer_length, Peter Lieven, 2014/10/27
- [Qemu-devel] [PATCHv6 1/6] util: introduce MIN_NON_ZERO,
Peter Lieven <=
- [Qemu-devel] [PATCHv6 4/6] block: avoid creating oversized writes in multiwrite_merge, Peter Lieven, 2014/10/27
- [Qemu-devel] [PATCHv6 3/6] block/iscsi: set max_transfer_length, Peter Lieven, 2014/10/27
- [Qemu-devel] [PATCHv6 6/6] block/iscsi: check for oversized requests, Peter Lieven, 2014/10/27
- [Qemu-devel] [PATCHv6 5/6] block/iscsi: use sector_limits_lun2qemu throughout iscsi_refresh_limits, Peter Lieven, 2014/10/27
- Re: [Qemu-devel] [PATCHv6 0/6] introduce max_transfer_length, Stefan Hajnoczi, 2014/10/28