• F
    Btrfs: faster/more efficient insertion of file extent items · d5f37527
    Filipe David Borba Manana 提交于
    This is an extension to my previous commit titled:
    
      "Btrfs: faster file extent item replace operations"
      (hash 1acae57b)
    
    Instead of inserting the new file extent item if we deleted existing
    file extent items covering our target file range, also allow to insert
    the new file extent item if we didn't find any existing items to delete
    and replace_extent != 0, since in this case our caller would do another
    tree search to insert the new file extent item anyway, therefore just
    combine the two tree searches into a single one, saving cpu time, reducing
    lock contention and reducing btree node/leaf COW operations.
    
    This covers the case where applications keep doing tail append writes to
    files, which for example is the case of Apache CouchDB (its database and
    view index files are always open with O_APPEND).
    Signed-off-by: NFilipe David Borba Manana <fdmanana@gmail.com>
    Signed-off-by: NJosef Bacik <jbacik@fb.com>
    d5f37527
file.c 68.3 KB