Btrfs: make sure all pending extent operations are complete
authorJosef Bacik <jbacik@redhat.com>
Thu, 12 Feb 2009 14:27:38 +0000 (09:27 -0500)
committerChris Mason <chris.mason@oracle.com>
Thu, 12 Feb 2009 14:27:38 +0000 (09:27 -0500)
commiteb099670895f22970cd143875467c2768d6d87e5
tree4fc48dad8f0f2c13ff85d9310aa163305a243ef2
parent284b066af41579f62649048fdec5c5e7091703e6
Btrfs: make sure all pending extent operations are complete

Theres a slight problem with finish_current_insert, if we set all to 1 and then
go through and don't actually skip any of the extents on the pending list, we
could exit right after we've added new extents.

This is a problem because by inserting the new extents we could have gotten new
COW's to happen and such, so we may have some pending updates to do or even
more inserts to do after that.

So this patch will only exit if we have never skipped any of the extents in the
pending list, and we have no extents to insert, this will make sure that all of
the pending work is truly done before we return.  I've been running with this
patch for a few days with all of my other testing and have not seen issues.
Thanks,

Signed-off-by: Josef Bacik <jbacik@redhat.com>
fs/btrfs/extent-tree.c