• Chris Mason's avatar
    Btrfs: fix page->private races · eb14ab8e
    Chris Mason authored
    There is a race where btrfs_releasepage can drop the
    page->private contents just as alloc_extent_buffer is setting
    up pages for metadata.  Because of how the Btrfs page flags work,
    this results in us skipping the crc on the page during IO.
    
    This patch sovles the race by waiting until after the extent buffer
    is inserted into the radix tree before it sets page private.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    eb14ab8e
extent_io.c 95.7 KB