On Tue, Apr 29, 2008 at 01:37:57AM -0400, Christoph Hellwig wrote:
> On Tue, Apr 29, 2008 at 03:15:23PM +1000, Timothy Shimmin wrote:
> > Hi there,
> > As part of future plans to cache incore versions of acls
> > off the inode, we want to protect its modification by a spin lock.
> > Dave suggested that we use the i_flags_lock but rename it to
> > reflect its more general purpose on other fields, such as "i_inner_lock".
> > This patch is then basically s/i_flags_lock/i_inner_lock/g.
> Not too happpy about that, as I'd rather kill this lock in it's current
> form and use atomic bitops on the flags. I'd rather use i_lock in the
> Linux inode for the ACLs.
The problem with that is that some of the flags work together and can't
be used as separate bitops. eg. xfs_finish_reclaim() and xfs_iget_core().
Hence they currently need to be protected by a spinlock.
Also, protecting something in the XFs inode with the linux inode lock
could have issues with the lifecycle differences between the inodes.
Just something to be careful of....
SGI Australian Software Group