I am trying to speed test some new LTO tape drives but cannot seem to send data to the tape via dd for any block size above 327,680 bytes. I must have a 1M blocksize for my application.
[root@host]# mt -f /dev/nst0 status
BOT ONLINE IM_REP_EN
[root@host]# dd if=/dev/zero of=/dev/nst0 bs=327679
<this transfers data fine>
[root@host]# dd if=/dev/zero of=/dev/nst0 bs=327680
<this transfers data fine>
[root@host]# dd if=/dev/zero of=/dev/nst0 bs=327681
Device or resource busy
I have spent many hours trying to debug this. Rebuilt kernels, updated drivers and firmware.
REVELATION: The results of running a dmesg shows that there is a bufsize somewhere that is set at the exact critical value that I am seeing my blocksize wall at.
[root@host]# dmesg | grep bufsize
[ 9.114532] st: Version 20160209, fixed bufsize 327680, s/g segs 64
Anyone know where I can change this bufsize value?