• Josef Bacik's avatar
    Btrfs: protect orphan block rsv with spin_lock · 90290e19
    Josef Bacik authored
    We've been seeing warnings coming out of the orphan commit stuff forever from
    ceph.  Turns out it's because we're racing with checking if the orphan block
    reserve is set, because we clear it outside of the spin_lock.  So leave the
    normal fastpath checks where they are, but take the spin_lock and _recheck_ to
    make sure we haven't had an orphan block rsv added in the meantime.  Then clear
    the root's orphan block rsv and release the lock.  With this patch a user said
    the warnings went away and they usually showed up pretty soon after he started
    ceph.  Thanks,
    Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
    90290e19
inode.c 197 KB