• Matthew Wilcox's avatar
    [XFS] Convert l_flushsema to a sv_t · d748c623
    Matthew Wilcox authored
    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: default avatarMatthew Wilcox <willy@linux.intel.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
    Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
    Signed-off-by: default avatarLachlan McIlroy <lachlan@sgi.com>
    d748c623
xfs_log_priv.h 17.9 KB