• Josef Bacik's avatar
    Btrfs: change reserved_extents to an atomic_t · 57a45ced
    Josef Bacik authored
    We track delayed allocation per inodes via 2 counters, one is
    outstanding_extents and reserved_extents.  Outstanding_extents is already an
    atomic_t, but reserved_extents is not and is protected by a spinlock.  So
    convert this to an atomic_t and instead of using a spinlock, use atomic_cmpxchg
    when releasing delalloc bytes.  This makes our inode 72 bytes smaller, and
    reduces locking overhead (albiet it was minimal to begin with).  Thanks,
    Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
    57a45ced
inode.c 196 KB