]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit - fs/xfs/xfs_log_priv.h
[XFS] Convert l_flushsema to a sv_t
authorMatthew Wilcox <willy@linux.intel.com>
Mon, 19 May 2008 06:34:27 +0000 (16:34 +1000)
committerNiv Sardi <xaiki@debian.org>
Mon, 28 Jul 2008 06:58:12 +0000 (16:58 +1000)
commitd748c62367eb630cc30b91d561a5362f597a0892
tree551fc30d6237517822edc6729456349e1bd0ab28
parentd729eae8933cb3eb8edf1446532c178b66b293a9
[XFS] Convert l_flushsema to a sv_t

The l_flushsema doesn't exactly have completion semantics, nor mutex
semantics. It's used as a list of tasks which are waiting to be notified
that a flush has completed. It was also being used in a way that was
potentially racy, depending on the semaphore implementation.

By using a sv_t instead of a semaphore we avoid the need for a separate
counter, since we know we just need to wake everything on the queue.

Original waitqueue implementation from Matthew Wilcox. Cleanup and
conversion to sv_t by Christoph Hellwig.

SGI-PV: 981507
SGI-Modid: xfs-linux-melb:xfs-kern:31059a

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
fs/xfs/xfs_log.c
fs/xfs/xfs_log_priv.h