• Josef Bacik's avatar
    btrfs: don't call btrfs_start_delalloc_roots in flushoncommit · ce8ea7cc
    Josef Bacik authored
    We're holding the sb_start_intwrite lock at this point, and doing async
    filemap_flush of the inodes will result in a deadlock if we freeze the
    fs during this operation.  This is because we could do a
    btrfs_join_transaction() in the thread we are waiting on which would
    block at sb_start_intwrite, and thus deadlock.  Using
    writeback_inodes_sb() side steps the problem by not introducing all of
    these extra locking dependencies.
    Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    ce8ea7cc
transaction.c 66.2 KB