]> git.proxmox.com Git - zfsonlinux.git/blame - zfs-patches/0009-Fix-divide-by-zero-in-mmp_delay_update.patch
bump version to 0.7.11-pve1~bpo1
[zfsonlinux.git] / zfs-patches / 0009-Fix-divide-by-zero-in-mmp_delay_update.patch
CommitLineData
a010b409
SI
1From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2From: Olaf Faaland <faaland1@llnl.gov>
3Date: Fri, 6 Apr 2018 13:29:11 -0700
4Subject: [PATCH] Fix divide-by-zero in mmp_delay_update()
5
6vdev_count_leaves() in the denominator may return 0, caught by Coverity.
7Introduced by
8
9* 533ea04 Update mmp_delay on sync or skipped, failed write
10
11Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
12Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
13Reviewed-by: George Melikov <mail@gmelikov.ru>
14Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
15Closes #7391
16
17Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
18---
19 module/zfs/mmp.c | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/module/zfs/mmp.c b/module/zfs/mmp.c
23index 1ae5f31f..3b74a6b6 100644
24--- a/module/zfs/mmp.c
25+++ b/module/zfs/mmp.c
26@@ -327,7 +327,7 @@ mmp_delay_update(spa_t *spa, boolean_t write_completed)
27 */
28 if (delay < mts->mmp_delay) {
29 hrtime_t min_delay = MSEC2NSEC(zfs_multihost_interval) /
30- vdev_count_leaves(spa);
31+ MAX(1, vdev_count_leaves(spa));
32 mts->mmp_delay = MAX(((delay + mts->mmp_delay * 127) / 128),
33 min_delay);
34 }