xfstests: Add support for zfs filesystems

Extend the existing xfstests infrastructure so it can be used to
test the zfs filesystems.

If blkid can property identify the device as a zfs member this
will get automatically set.  However, older version of blkid were
not ZFS-aware so it was helpful add the -zfs option to force zfs.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
xfstests 062: Always sort recursive getfattr output

Commit 2fb1c93 introduced a _sort_getfattr_output helper to ensure
the results of getfattr -R are always consistent.  This was done
to make 062 generic between filesystems.  However, it is also
possible that the order will not be deterministic within a single
filesystem (zfs).  To handle this case we pass the results from
_backup through the sort routine.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
xfstests: Add _require_dio() helper

Annotate test cases which require DIO support so they may be
cleanly disabled for filesystem which do not support direct IO.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
xfstests 225: Properly detect missing FIEMAP support

The lack of FIEMAP support was not being properly detected
because the $? value being checked was actually the return
code from tee and not fiemap-tester.  To fix this tee has
been removed and the output redirected directly to the file.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
xfstests: Use _scratch_unmount in generic tests

Long ago a generic helper was added to unmount the scratch
filesystem.  Update all the generic tests to correctly use it.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Add basic README.markdown

This is just to get people started, it looks like the full xfstests
documention is also stale and could use an update.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
xfstests 015: Handle defered free space for ZFS

After removing a file in ZFS that space is not immediately visible.
It will become visible to tools such as df one of the next txg is
written and the pool state is durable.  To accomidate this remount
the filesystem to force a pool sync.  Alternately the test could
sleep for 5 seconds which is the default txg sync timeout.
ZFS Tunings

Due to slow msync(2) performance the number of iterations for the
following tests has been reduced.  The default values may be restored
once msync(2) performance is comperable to other filesystems.