Btrfs: reduce lock contention during extent insertion
authorChris Mason <chris.mason@oracle.com>
Fri, 27 Apr 2012 18:31:29 +0000 (14:31 -0400)
committerChris Mason <chris.mason@oracle.com>
Fri, 27 Apr 2012 18:51:05 +0000 (14:51 -0400)
commitdc7fdde39e4962b1a88741f7eba2a6b3be1285d8
tree97cd8b1f9d8c0682c64303d45de1fb55925abcdf
parentfede766f28dd766d4e8feb321fdb19edb21ef6fb
Btrfs: reduce lock contention during extent insertion

We're spending huge amounts of time on lock contention during
end_io processing because we unconditionally assume we are overwriting
an existing extent in the file for each IO.

This checks to see if we are outside i_size, and if so, it uses a
less expensive readonly search of the btree to look for existing
extents.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/file.c