lkml.org 
[lkml]   [2010]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 26/35] fs: icache alloc anonymous inode allocation
On Tue, Oct 19, 2010 at 02:42:42PM +1100, npiggin@kernel.dk wrote:
> Provide new_anon_inode function for inodes without a default inode number, and
> not on sb list. This can enable filesystems to reduce locking. "Real"
> filesystems can also reduce locking by allocating anonymous inode first, then
> adding it to lists after finding the inode number.

Having an _anon inode allocation for fileystsem that do manage the inode
lifetime is fine, but please don't mix that up with i_ino assignment,
as they are two totally different things.

Disk and network filesystem do not need a default i_ino, but they
absolutely do no need their inodes to be on the per-sb list.
anonfs/pipe/socket (and nothing else) can do away with the per-sb list,
but they do need a pseudo inode number.

I have a version of this port to Dave's tree which gets this right.
i_ino assignment is already moved out by my patch (which should apply
to your tree with minimal differences), so the new _anon only does not
put the inode on the list. The other difference is that we don't bother
initializing i_sb_list in the main inode allocation path, but only in
new_anon_inode, and that the function is not exported - it really should
only be used for built-in filesystems that never get unmounted to be
safe.



\
 
 \ /
  Last update: 2010-10-19 18:35    [from the cache]
©2003-2011 Jasper Spaans