| Date | Sat, 16 Oct 2010 11:11:03 +1100 | From | Dave Chinner <> | Subject | Re: [PATCH 03/18] fs: Implement lazy LRU updates for inodes. |
| |
On Wed, Oct 13, 2010 at 09:32:13AM -0400, Christoph Hellwig wrote: > > */ > > redirty_tail(inode); > > - } else if (atomic_read(&inode->i_count)) { > > - /* > > - * The inode is clean, inuse > > - */ > > - list_move(&inode->i_list, &inode_in_use); > > } else { > > - /* > > - * The inode is clean, unused > > - */ > > - list_move(&inode->i_list, &inode_unused); > > + /* The inode is clean */ > > + list_del_init(&inode->i_list); > > + inode_lru_list_add(inode); > > Just noticed this when reviewing a later patch: why do we lose the > i_count check here? There's no point in adding an inode that is still > in use onto the LRU - we'll just remove it again once we find it > during LRU scanning.
Good catch. iput_final() moves the inode onto the LRU only if it is clean, so really only clean, unused inodes need to be added to the LRU here. Fixed.
Cheers,
Dave. -- Dave Chinner david@fromorbit.com
|