From mboxrd@z Thu Jan 1 00:00:00 1970 From: ablacktshirt@gmail.com (Yubin Ruan) Date: Thu, 1 Jun 2017 17:15:29 +0800 Subject: Is vnode number also limit system-wide number of open file? In-Reply-To: <1496251859.29205.90.camel@surriel.com> References: <20170531133754.GA9534@HP> <1496251859.29205.90.camel@surriel.com> Message-ID: <20170601091527.GA656@HP> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org On Wed, May 31, 2017 at 01:30:59PM -0400, Rik van Riel wrote: > On Wed, 2017-05-31 at 21:37 +0800, Yubin Ruan 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? > > Those numbers are unrelated. > > The i_ino number is the inode number within each > filesystem, and different filesystems can have > inodes with the same inode numbers. Regarding to inode number, I notice that nearly every filesystem has tree representation of the inode number: 1. on-disk inode number 2. in-memory inode number 3. VFS inode number How are these related? I mean, if they are all the same, then if filesystem A and filesystem B both have some identical inode number, the VFS inode numbers will conflict. Yubin > File descriptors (open files) point to a struct inode > somewhere in memory. The same file can be opened many > times (all programs opening libc.so). Many files will > not be opened by any program at all.