xfs: implement lazy removal for the dquot freelist
authorChristoph Hellwig <hch@infradead.org>
Tue, 6 Dec 2011 21:58:17 +0000 (21:58 +0000)
committerBen Myers <bpm@sgi.com>
Tue, 13 Dec 2011 22:46:28 +0000 (16:46 -0600)
commitbe7ffc38a80a78e6b68d0f51fae8e8d57b55324c
treebb5ca49fd1dc92051e9898a653d7bdd26c93af59
parent80a376bfb7f8ff8f1942cb1bdd0052e908918252
xfs: implement lazy removal for the dquot freelist

Do not remove dquots from the freelist when we grab a reference to them in
xfs_qm_dqlookup, but leave them on the freelist util scanning notices that
they have a reference.  This speeds up the lookup fastpath, and greatly
simplifies the lock ordering constraints.  Note that the same scheme is
used by the VFS inode and dentry caches.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
fs/xfs/xfs_dquot.c
fs/xfs/xfs_qm.c
fs/xfs/xfs_quota.h
fs/xfs/xfs_trace.h