]> granicus.if.org Git - zfs/commitdiff
ZTS: fix reservation_013_pos integer overflow
authorbunder2015 <omfgbunder@gmail.com>
Tue, 17 Apr 2018 17:52:53 +0000 (13:52 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 17 Apr 2018 17:52:53 +0000 (10:52 -0700)
When using large disks the integers for calculating sizes can
overflow past 2**31.  Changing to long integers with typeset
should correct this.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: bunder2015 <omfgbunder@gmail.com>
Closes #4444
Closes #7451

tests/zfs-tests/tests/functional/reservation/reservation_013_pos.sh

index 4ef15d5b6e36ada801f3625f0287848b4a2a5284..6a80bb575dc44bdf04880d57fab0e2e84a6c0f54 100755 (executable)
@@ -75,9 +75,9 @@ space_avail=$(get_prop available $TESTPOOL)
 [[ $? -ne 0 ]] && \
     log_fail "Unable to get space available property for $TESTPOOL"
 
-((resv_set = space_avail / 5))
+typeset -il resv_set=space_avail/5
 resv_set=$(floor_volsize $resv_set)
-((sparse_vol_set_size = space_avail * 5))
+typeset -il sparse_vol_set_size=space_avail*5
 sparse_vol_set_size=$(floor_volsize $sparse_vol_set_size)
 
 # When initially created, a regular volume's reservation property is set