• Josef Bacik's avatar
    Btrfs: do not try and lookup the file extent when finishing ordered io · efd049fb
    Josef Bacik authored
    When running the following fio job
    
    [torrent]
    filename=torrent-test
    rw=randwrite
    size=4g
    filesize=4g
    bs=4k
    ioengine=sync
    
    you would see long stalls where no work was being done.  That is because we were
    doing all this extra work to read in the file extent outside of the transaction,
    however in the random io case this ends up hurting us because the file extents
    are not there to begin with.  So axe this logic, since we end up reading in the
    file extent when we go to update it anyway.  This took the fio job from 11 mb/s
    with several ~10 second stalls to 24 mb/s to a couple of 1-2 second stalls.
    Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    efd049fb
inode.c 162 KB