2008-01-27 [長年日記]

_

今朝方、何か超リアルな夢を見た。だいぶ疲れてるな。はぁはぁ。

_ [linux][ruby] ハードリンク数の上限

手元でもやってみる。先に調べると、

$ grep _LINK_MAX include/linux/reiserfs_fs.h 
#define REISERFS_LINK_MAX (MAX_US_INT - 1000)
$ grep -w MAX_US_INT include/linux/reiserfs_fs.h 
#define MAX_US_INT 0xffff
#define MAX_FC_NUM MAX_US_INT
#define REISERFS_LINK_MAX (MAX_US_INT - 1000)

という訳で、64535 らしい。

$ ruby1.9 -rtmpdir -e'
Dir.mktmpdir{|d|
 Dir.chdir(d){
  File.open("0", "w"){|s|
   d = s.path
   loop{File.link(s.path, d.next!)}
  }
 }
}'
-e:6:in `link': Too many links - (0, 64535) (Errno::EMLINK)
(snip)

という訳で、調査終了。おもしろくない結果ですいません。

[]