Is vnode number also limit system-wide number of open file?

Okash Khawaja okash.khawaja at
Wed May 31 03:34:09 EDT 2017

> On 31 May 2017, at 14:37, Yubin Ruan <ablacktshirt at> 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?

More information about the Kernelnewbies mailing list