我正在尝试速度测试一些新的 LTO 磁带驱动器,但似乎无法通过 dd 将以上任何块大小的数据发送到磁带327,680字节。我的应用程序必须有 1M 的块大小。
[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
我花了很多时间尝试调试这个。重建内核,更新驱动程序和固件。
启示:运行 dmesg 的结果表明,某处有一个 bufsize 设置为我看到的块大小墙的确切临界值。
[root@host]# dmesg | grep bufsize
[ 9.114532] st: Version 20160209, fixed bufsize 327680, s/g segs 64
谁知道我可以在哪里改变这个缓冲区大小价值?