#7317 ENOSPC and OSD epoch barrier handling


Related:
https://github.com/ceph/ceph-qa-suite/pull/225
https://github.com/ceph/ceph-client/pull/7
From my reading, the "all or nothing" principle with reads and writes is that readers see the entire *result* of a write atomically, rather than that the write itself is atomic.  So after returning ENOSPC, the write may be partially done, but that partial result will be atomically visible to readers (because they will wait for osd epoch barrier before using the a capability on the file)