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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions