btrfs Improvements

Some upstream patches for various bug fixes have been applied to btrfs to improve stability. These include patches to allow fsync to work after cloning into a file and a fix to allow reads to be issued during the down_interval if drop_writes is configured. .

A patch was applied to the btrfs_abort_transaction code to properly identify blocks that are not part of the current Copy-on-Write transaction. .

Another patch was applied to the input/output control code to account for the possibility that the file descriptor used for a snapshot source may be located on another file system type.