From: Giuseppe Di Natale Date: Mon, 24 Jul 2017 18:16:58 +0000 (-0700) Subject: Fix coverity defects: CID 165755 X-Git-Tag: zfs-0.7.0~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=802ae562ed817af978e2636806db1952d29ee86d;p=zfs Fix coverity defects: CID 165755 CID 165755: Division or modulo by zero (DIVIDE_BY_ZERO) Reviewed-by: Brian Behlendorf Reviewed-by: Tony Hutter Reviewed-by: Olaf Faaland Signed-off-by: Giuseppe Di Natale Closes #6352 --- diff --git a/module/zfs/mmp.c b/module/zfs/mmp.c index 35348f8b4..6541eca16 100644 --- a/module/zfs/mmp.c +++ b/module/zfs/mmp.c @@ -378,7 +378,7 @@ mmp_thread(spa_t *spa) * with fake, but reasonable, default non-zero values. */ mmp->mmp_delay = MSEC2NSEC(MAX(zfs_multihost_interval, - MMP_MIN_INTERVAL)) / vdev_count_leaves(spa); + MMP_MIN_INTERVAL)) / MAX(vdev_count_leaves(spa), 1); mmp->mmp_last_write = gethrtime() - mmp->mmp_delay; while (!mmp->mmp_thread_exiting) { @@ -392,7 +392,7 @@ mmp_thread(spa_t *spa) start = gethrtime(); if (multihost) { next_time = start + mmp_interval / - vdev_count_leaves(spa); + MAX(vdev_count_leaves(spa), 1); } else { next_time = start + MSEC2NSEC(MMP_DEFAULT_INTERVAL); } diff --git a/module/zfs/spa.c b/module/zfs/spa.c index 7edf0459c..f576293eb 100644 --- a/module/zfs/spa.c +++ b/module/zfs/spa.c @@ -2448,7 +2448,7 @@ spa_activity_check(spa_t *spa, uberblock_t *ub, nvlist_t *config) */ if (ub->ub_mmp_magic == MMP_MAGIC && ub->ub_mmp_delay) import_delay = MAX(import_delay, import_intervals * - ub->ub_mmp_delay * vdev_count_leaves(spa)); + ub->ub_mmp_delay * MAX(vdev_count_leaves(spa), 1)); /* Apply a floor using the local default values. */ import_delay = MAX(import_delay, import_intervals *