同一ファイルに対して、ファイルサイズ変更操作(注1)の後に、FIONREAD 指定の ioctl(2) を行う場合、同一ノードから行ってください。
(注1) write(2), truncate(2), ftruncate(2) などを用いたファイルサイズ変更
異なるノードから、同一ファイルに対して、ファイルサイズ変更操作と FIONREAD 指定のioctl(2) を行った場合、古いファイルサイズを基に先読み範囲を算出する場合があります。
なお、異なるノードから、ファイルサイズ変更操作と FIONREAD 指定の ioctl(2) を行いたい場合には、FIONREAD 指定の ioctl(2) を行う前に、最新のファイルサイズを獲得(注2)することで、上記の問題を回避できます。
注2) stat(1), stat(2), fstat(2) などを用いたファイル情報獲得操作