librbd: properly handle potential object map failures
Remove the "ceph_assert" statements and instead bubble any potential
error code up to the caller. The object map state machines should
attempt to return a 0 upon failure unless it was unable to flag the
object map as invalid.
Fixes: http://tracker.ceph.com/issues/36074
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
765f8ce2536b315a046d0aceff234e9e3c66271f)
Conflicts:
src/librbd/DeepCopyRequest.cc: trivial resolution
src/librbd/deep_copy/ObjectCopyRequest.cc: trivial resolution
src/librbd/deep_copy/SnapshotCopyRequest.cc: trivial resolution
src/librbd/exclusive_lock/PostAcquireRequest.cc: trivial resolution
src/librbd/exclusive_lock/PreReleaseRequest.cc: trivial resolution
src/librbd/image/RefreshRequest.cc: trivial resolution
src/librbd/io/CopyupRequest.cc: trivial resolution
src/librbd/io/ObjectRequest.cc: trivial resolution
src/librbd/object_map/InvalidateRequest.cc: trivial resolution
src/librbd/object_map/RefreshRequest.cc: trivial resolution
src/librbd/object_map/SnapshotRemoveRequest.cc: trivial resolution
src/librbd/operation/ResizeRequest.cc: trivial resolution
src/librbd/operation/SnapshotCreateRequest.cc: trivial resolution
src/librbd/operation/SnapshotRollbackRequest.cc: trivial resolution