fd_file: don't report failure when trying to flush a pipe.

At least one user of FdFile (SignalCatcher) will attempt to create an
FdFile with either a real file or a pipe. When it does so with a pipe,
fdatasync fails in Flush(), causing a bunch of spurious logging to be
emitted. Check to see if the file we're flushing is actually a file
before calling fdatasync.

Bug: http://b/67327501
Test: fd_file_test on host
Change-Id: I70103fb20f4fceb36a806c4fd530a0a77c328a96
3 files changed