blocksize

テープドライブを hack しまくり。
write(fd, buf0, 1100);
というふうに書いたものを、一気に続けて
read(fd, buf1, 100);
read(fd, buf1, 1000);
では読めないんだ。なぜなら、write() は1回で、ブロックはひとつしかなく、小分けにして read() しようとすると、100 バイトしかないバッファに 1100 バイトを入れなきゃいけなくなるから
kernel: (sa0:sym1:0:3:0): 1100-byte tape record bigger than supplied buffer
みたいなメッセージが出る。うほー。こりゃどうしようかな。3分間 hacking で直すか。

コメントを残す