• Josef Bacik's avatar
    Btrfs: fix race in sync and freeze again · 60376ce4
    Josef Bacik authored
    I screwed this up, there is a race between checking if there is a running
    transaction and actually starting a transaction in sync where we could race
    with a freezer and get ourselves into trouble.  To fix this we need to make
    a new join type to only do the try lock on the freeze stuff.  If it fails
    we'll return EPERM and just return from sync.  This fixes a hang Liu Bo
    reported when running xfstest 68 in a loop.  Thanks,
    Reported-by: default avatarLiu Bo <bo.li.liu@oracle.com>
    Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
    60376ce4
transaction.h 4.81 KB