• Chris Mason's avatar
    Btrfs: delay clearing EXTENT_DELALLOC for compressed extents · a3429ab7
    Chris Mason authored
    When compression is on, the cow_file_range code is farmed off to
    worker threads.  This allows us to do significant CPU work in parallel
    on SMP machines.
    
    But it is a delicate balance around when we clear flags and how.  In
    the past we cleared the delalloc flag immediately, which was safe
    because the pages stayed locked.
    
    But this is causing problems with the newest ENOSPC code, and with the
    recent extent state cleanups we can now clear the delalloc bit at the
    same time the uncompressed code does.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    a3429ab7
inode.c 156 KB