Fix fsyncing on OSX on SMB file-systems
Fix fsyncing on OSX on SMB file-systems

Fixes the error:

    Traceback (most recent call last):
      File "/usr/local/Cellar/bup/0.28.1/lib/bup/cmd/bup-server", line 209, in <module>
	cmd(conn, rest)
      File "/usr/local/Cellar/bup/0.28.1/lib/bup/cmd/bup-server", line 91, in receive_objects_v2
	fullpath = w.close(run_midx=not dumb_server_mode)
      File "/usr/local/Cellar/bup/0.28.1/lib/bup/bup/git.py", line 790, in close
	return self._end(run_midx=run_midx)
      File "/usr/local/Cellar/bup/0.28.1/lib/bup/bup/git.py", line 764, in _end
	fdatasync(f.fileno())
      File "/usr/local/Cellar/bup/0.28.1/lib/bup/bup/helpers.py", line 47, in <lambda>
	fdatasync = lambda fd : fcntl.fcntl(fd, fcntl.F_FULLFSYNC)
    IOError: [Errno 45] Operation not supported
    Traceback (most recent call last):
      File "/usr/local/Cellar/bup/0.28.1/lib/bup/cmd/bup-save", line 460, in <module>
	w.close()  # must close before we can update the ref
      File "/usr/local/Cellar/bup/0.28.1/lib/bup/bup/client.py", line 317, in close
	id = self._end()
      File "/usr/local/Cellar/bup/0.28.1/lib/bup/bup/client.py", line 314, in _end
	return self.suggest_packs() # Returns last idx received
      File "/usr/local/Cellar/bup/0.28.1/lib/bup/bup/client.py", line 229, in _suggest_packs
	self.check_ok()
      File "/usr/local/Cellar/bup/0.28.1/lib/bup/bup/client.py", line 134, in check_ok
	% rv)

Signed-off-by: Jonathan Wright <add1e28c475e6f3e35d7c75ac19c5d70472c8fc7@gmail.com>
Reviewed-by: Rob Browning <1dc5917c2adeeba13d1ef33dbb40691a1b67cc65@defaultvalue.org>
Tested-by: Rob Browning <1dc5917c2adeeba13d1ef33dbb40691a1b67cc65@defaultvalue.org>

ToxicFrog/bup,ToxicFrog/bup,ToxicFrog/bup,ToxicFrog/bup,ToxicFrog/bup