Btrfs: support atomic writes for the log tree

DON'T USE THIS, IT IS A PROTOTYPE ONLY, YOU WILL LOSE DATA.

If our underlying device supports atomic writes we want to use this for our log
tree writes.  We can gather all of the bios we are going to submit for our
metadata and our super and do one batched atomic write and maintain metadata
consistency and kill two of our waiting periods when writing out our log tree.
This will give us a significant performance boost for fsync() on devices that
support unbounded atomic writes.  This patch doesn't do anything to see if the
device supports atomic writes so that needs to be added later, but for now it is
ready to be plugged into a block interface for atomic writes.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
6 files changed