On 31 May 2017, at 14:37, Yubin Ruan <ablacktshirt@gmail.com> wrote:
I notice that there is a
unsigned long i_ino;
in definition of `struct inode' [1], which is the virtual filesystem inode. Does that mean "inode number" and is it used for indexing in the system-wide inode table?
If that is the case, would that limit the number of open file in Linux?
I know there *is* such a limit, and superusers can adjust that by /proc/sys/fs/file-max. Currently I cannot raise that to too high, otherwise the system would crash, which I think is because I have limited memory. But, the point is, if I have lots of memory in my machine (say hunderds of Gigabytes), would the number of open file system-wide limited by the `i_ino' above? Since its type is "unsigned long", I guess I can only open 2^(sizeof(unsigned long)) file simultaneously?
2^(8*sizeof(unsigned long)) Which is big. Is there some use case for very large number of files?