※質問受付は終了しました。(3/22) 先にまとめ リネームではinode番号は変わらないけどエントリの位置が変わることがある。 これが一番知りたかった情報。でも文章では理解したけど、検証コードはどう書けばいいかわからん… readdirはアトミックじゃない。読み込み中にエントリ情報が変われば次の読み込みに影響する。 man にも「readdir()は非スレッドセーフです」って書いてある。 fts_readは実行時にreaddirの結果を10万件(ずつ?)キャッシュしていて、途中(たぶん10万件)まではエントリの変更の影響を受けないっぽい。途中からreaddirと同じことが起こる。 ソースコードの斜め読みと挙動を観察した限りそんな感じっぽい。厳密に裏取りしたいけど疲れた。 findコマンドは readdir ではなくそのラッパーの fts_read を使っているので、 fts_read と