Message ID | 20190731063320.4898-1-pvorel@suse.cz |
---|---|
State | Superseded |
Delegated to: | Petr Vorel |
Headers | show |
Series | zram01: Fix division by 0 | expand |
> + if [ $used_mem -eq 0 ]; then > + tst_resm TBROK "no memory used by zram" > + return > + fi Why not use tst_brkm directly? Otherwise looks good to me.
Hi Li, > > + if [ $used_mem -eq 0 ]; then > > + tst_resm TBROK "no memory used by zram" > > + return > > + fi > Why not use tst_brkm directly? Otherwise looks good to me. Make sense. Thanks for your ack, lets wait for Alexey. I wonder how this can happen (found occasionally on ppc64le). If this happen than zram02 and zram03 fails on timeout: /opt/ltp/testcases/bin/zram_lib.sh: line 38: echo: write error: Device or resource busy zram03 1 TBROK : safe_file_ops.c:301: Failed to close FILE '/sys/block/zram0/disksize' at zram03.c:87: errno=EBUSY(16): Device or resource busy Maybe some timeout would help, need to look into it. Petr
On 31.07.2019 10:27, Petr Vorel wrote: > Hi Li, > >>> + if [ $used_mem -eq 0 ]; then >>> + tst_resm TBROK "no memory used by zram" >>> + return >>> + fi > >> Why not use tst_brkm directly? Otherwise looks good to me. > Make sense. > Thanks for your ack, lets wait for Alexey. > > I wonder how this can happen (found occasionally on ppc64le). > Is it actually working, i.e. writing to zram? while true; do dd conv=notrunc if=/dev/zero of=zram${i}/file \ oflag=append count=1 bs=1024 status=none \ > /dev/null 2>&1 || break b=$(($b + 1)) done tst_resm TINFO "zram$i can be filled with '$b' KB" Perhaps, we could add a check for the minimum value of $b and print the last error from dd too... > If this happen than zram02 and zram03 fails on timeout: > /opt/ltp/testcases/bin/zram_lib.sh: line 38: echo: write error: Device or resource busy > zram03 1 TBROK : safe_file_ops.c:301: Failed to close FILE '/sys/block/zram0/disksize' at zram03.c:87: errno=EBUSY(16): Device or resource busy > > Maybe some timeout would help, need to look into it. > > Petr >
diff --git a/testcases/kernel/device-drivers/zram/zram01.sh b/testcases/kernel/device-drivers/zram/zram01.sh index 7d3951aa5..79e18cbb7 100755 --- a/testcases/kernel/device-drivers/zram/zram01.sh +++ b/testcases/kernel/device-drivers/zram/zram01.sh @@ -82,6 +82,11 @@ zram_fill_fs() total_size=$(($total_size + $s)) done + if [ $used_mem -eq 0 ]; then + tst_resm TBROK "no memory used by zram" + return + fi + tst_resm TINFO "zram used ${used_mem}M, zram disk sizes ${total_size}M" local v=$((100 * $total_size / $used_mem))
Sometimes free reports no memory use by zram, which leads to division by 0: zram01 8 TINFO: zram used 0M, zram disk sizes 104857600M /opt/ltp/testcases/bin/zram01.sh: line 87: 100 * 104857600 / 0: division by 0 (error token is "0") TBROK the test in that case. Signed-off-by: Petr Vorel <pvorel@suse.cz> --- testcases/kernel/device-drivers/zram/zram01.sh | 5 +++++ 1 file changed, 5 insertions(+)