Illumos #3189 kernel panic in test hotspare_onoffline_004_neg
authorChristopher Siden <chris.siden@delphix.com>
Mon, 14 Jan 2013 18:29:55 +0000 (10:29 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 14 Jan 2013 18:34:53 +0000 (10:34 -0800)
3189 kernel panic in ZFS test suite during hotspare_onoffline_004_neg

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Arne Jansen <sensille@gmx.net>
Approved by: Dan McDonald <danmcd@nexenta.com>

References:
  illumos/illumos-gate@8f0b538d1dc99df23a6a89cfd9ffddc1b9804a00
  changeset: 13818:e9ad0a945d45
  https://www.illumos.org/issues/3189

Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>
module/zfs/dmu_tx.c

index 044349c..e47d858 100644 (file)
@@ -589,7 +589,7 @@ dmu_tx_count_free(dmu_tx_hold_t *txh, uint64_t off, uint64_t len)
                    (dn->dn_indblkshift - SPA_BLKPTRSHIFT);
 
                while (level++ < maxlevel) {
-                       txh->txh_memory_tohold += MIN(blkcnt, (nl1blks >> epbs))
+                       txh->txh_memory_tohold += MAX(MIN(blkcnt, nl1blks), 1)
                            << dn->dn_indblkshift;
                        blkcnt = 1 + (blkcnt >> epbs);
                }