ページの先頭行へ戻る
Interstage Information StorageV10.0.0 解説書

C.10 FIONREAD 指定の ioctl(2) に対する注意事項

同一ファイルに対して、ファイルサイズ変更操作(注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) などを用いたファイル情報獲得操作