https://bugzilla.kernel.org/show_bug.cgi?id=212183 Bug ID: 212183 Summary: st read statistics inaccurate when requested and physical block mismatch Product: IO/Storage Version: 2.5 Kernel Version: 5.3.1 Hardware: All OS: Linux Tree: Mainline Status: NEW Severity: low Priority: P1 Component: SCSI Assignee: linux-scsi@xxxxxxxxxxxxxxx Reporter: etienne.mollier@xxxxxxx Regression: No Created attachment 295769 --> https://bugzilla.kernel.org/attachment.cgi?id=295769&action=edit st.c patch working around stats issue when blocks size mismatch Greetings, when reading from tape with requested blocks larger than physical, statistics go wrong as using the requested size for the calculation, instead of the actual size of the block returned. So, when running `dd if=/dev/st0 bs=10240 of=/dev/null`, a tool such as `tapestat` will work out the bandwidth using the bs=10240. However, if the block on tape was of size 1024, then the metric would go wrong by a factor 10. Most configurations won't notice, as tapes are usually fixed size block, typically for backup use case. However on our end, the problem exacerbates due to reading field acquisition cartridges with varying block size. We are currently working this around with the patch in attachment. While we've observed the issue on a somewhat old kernel revision, checking out the "master" branch of the linux tree, we believe this is present since introduction of the capability in Linux 4.2, and likely to reappear with more recent kernel revisions if left as-is. Kind Regards, Étienne. -- You may reply to this email to add a comment. You are receiving this mail because: You are the assignee for the bug.