• Bob Peterson's avatar
    gfs2: fix infinite loop in gfs2_ail1_flush on io error · f155f5e0
    Bob Peterson authored
    Before this patch, an IO error encountered in function gfs2_ail1_flush
    would cause a deadlock: because of the io error (and its resulting
    withdrawn state), buffers stopped being written to the journal.
    Buffers would remain on the ail1 list, so gfs2_ail1_start_one would
    return 1 to indicate dirty buffers were still on the ail1 list.
    However, when function gfs2_ail1_flush got a non-zero return code,
    it would goto restart to retry the writes, which meant it would never
    finish, and thus the infinite loop.
    Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
    Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
    f155f5e0
log.c 28.5 KB