Skip to content

Bug with btrfs: ./quickbench: line 38: /sys/block/?/stat: No such file or directory & division by zero #2

@Krysztophe

Description

@Krysztophe

Thanks for this nice tool.

Config: Debian12, kernel 6.1.0-32-amd64, single NVMe drive, LVM partitions
Reproduced on Ubuntu 24.04 without LVM

[ Storage info ]
Name      Bus     Size(GB)  QDepth  Model
nvme0n1   nvme       1863        ?  WD_BLACK SN850X 2000GB                  

[ Storage bandwidth - 4k blocks (?) ]
./quickbench: ligne 38: /sys/block/?/stat: Aucun fichier ou dossier de ce type
./quickbench: ligne 38: /sys/block/?/stat: Aucun fichier ou dossier de ce type
./quickbench: ligne 69: _q / _io : division par 0 (le symbole erroné est « _io »)

This happens only on my btrfs partitions (with LVM or not), $fspart cannot be found. (cifs fails too but I'm not surprised.)

The script works on ext4 partitions.

With a set -x before [Storage bandwith]:

[ Storage info ]
Name      Bus     Size(GB)  QDepth  Model
nvme0n1   nvme       1863        ?  WD_BLACK SN850X 2000GB                  
++ stat -c %Hd:%Ld .
+ fspart=0:39
++ head -n1
++ grep -l '^0:39$' /sys/block/dm-0/dev /sys/block/dm-1/dev /sys/block/dm-10/dev /sys/block/dm-11/dev /sys/block/dm-12/dev /sys/block/dm-2/dev /sys/block/dm-3/dev /sys/block/dm-4/dev /sys/block/dm-5/dev /sys/block/dm-6/dev /sys/block/dm-7/dev /sys/block/dm-8/dev /sys/block/dm-9/dev /sys/block/loop0/dev /sys/block/loop1/dev /sys/block/loop2/dev /sys/block/loop3/dev /sys/block/loop4/dev /sys/block/loop5/dev /sys/block/loop6/dev /sys/block/loop7/dev /sys/block/nvme0n1/dev /sys/block/nvme0n1/device/dev /sys/block/nvme0n1/nvme0n1p1/dev /sys/block/nvme0n1/nvme0n1p2/dev /sys/block/nvme0n1/nvme0n1p3/dev
+ fsdev=
+ fsdev=
+ fsdev=
+ fsdev='?'
+ trap 'rm -f dummy' EXIT
+ for bsize in 4k 1M
+ echo

+ echo '[ Storage bandwidth - 4k blocks (?) ]'
[ Storage bandwidth - 4k blocks (?) ]
+ for j in 1 4 16
+ io_bench Writes 1 dd bs=4k status=none if=/dev/zero of=dummy oflag=direct conv=notrunc,fdatasync
+ title=Writes
+ shift
+ jobs=1
+ shift
+ io_stat '?'
+ dev='?'
+ _time=1742293989468164
+ read -r _rio _rmrg _rsct _rtck _wio _wmrg _wsct _wtck _cur _run _qud _dio _dmrg _dsct _dtck
./quickbench: line 38: /sys/block/?/stat: No such file or directory
+ _t0=1742293989468164
+ _io0=0
+ _sct0=0
+ _q0=
+ (( i=0 ))
+ (( i<1 ))
+ sleep 1
+ trap : SIGINT
+ sleep 5
+ dd bs=4k status=none if=/dev/zero of=dummy oflag=direct conv=notrunc,fdatasync
+ (( i++ ))
+ (( i<1 ))
+ wait
+ kill 3010905
+ io_stat '?'
+ dev='?'
+ _time=1742293994469345
+ read -r _rio _rmrg _rsct _rtck _wio _wmrg _wsct _wtck _cur _run _qud _dio _dmrg _dsct _dtck
./quickbench: line 38: /sys/block/?/stat: No such file or directory
+ _t=5001181
+ _io=0
+ _sct=0
+ _q=0
+ io=0
./quickbench: line 69: _q / _io: division by 0 (error token is "_io")
+ rm -f dummy

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions