readdirが一度に32Kディレクトリエントリのみを読み取ることができるのはなぜですか?

readdirが一度に32Kディレクトリエントリのみを読み取ることができるのはなぜですか?

readdir()一度に32Kディレクトリエントリのみを読み取ることができます。

一度に32Kエントリしか読めないのはなぜですか?バッファや他のパラメータによって異なりますか?

必要な数のディレクトリエントリを読み取れるようにこの値を変更できますか?

ベストアンサー1

最大ディレクトリ数はファイルシステムによって異なります。

  • 拡張 2: 32768
  • 拡張 3: 31998
  • 拡張4:65000。dir_nlinkこの数を増やすにはフラグを使用してください。

2006年の承認後にのみ、最大ディレクトリ制限が32,000以上に増えたため、これ以上読むext4必要はありません。readdir()

サブディレクトリが32000を超える場合は、サブディレクトリの数が多く、パフォーマンスが低下しているかどうかを確認することをお勧めします。

おすすめ記事