On Thu, Mar 20, 2008 at 10:39:40AM +0100, Christoph Hellwig wrote:
> XFS inodes are locked via the xfs_ilock family of functions which
> internally use a rw_semaphore wrapper into an abstraction called
> mrlock_t. The mrlock_t should be purely internal to xfs_ilock functions
> but leaks through to the callers via various lock state asserts.
> This patch:
> - adds new xfs_isilocked abstraction to make the lock state asserts
> fits into the xfs_ilock API family
> - opencodes the mrlock wrappers in the xfs_ilock family of functions
> - makes the state tracking debug-only and merged into a single state
> - remove superflous flags to the xfs_ilock family of functions
> This kills 8 bytes per inode for non-debug builds, which would e.g.
> be the space for ACL caching on 32bit systems.
Nice. I do NOT see anything obviously wrong with the patch.
Josef 'Jeff' Sipek.
"Memory is like gasoline. You use it up when you are running. Of course you
get it all back when you reboot..."; Actual explanation obtained from the
Micro$oft help desk.