• B
    GFS2: Wake up io waiters whenever a flush is done · b63f5e84
    Bob Peterson 提交于
    Before this patch, if a process called function gfs2_log_reserve to
    reserve some journal blocks, but the journal not enough blocks were
    free, it would call io_schedule. However, in the log flush daemon,
    it woke up the waiters only if an gfs2_ail_flush was no longer
    required. This resulted in situations where processes would wait
    forever because the number of blocks required was so high that it
    pushed the journal into a perpetual state of flush being required.
    
    This patch changes the logd daemon so that it wakes up io waiters
    every time the log is actually flushed.
    Signed-off-by: NBob Peterson <rpeterso@redhat.com>
    b63f5e84
log.c 25.3 KB