librbd:
  copy-on-read:
    Flush the copy-up queue in snap_set as well when transitioning.
librbd:
   copy-on-read: No CoR for snapshot reads.
librbd:
  copy-on-read:
    move m_snaps from AbstractWrite to AioRequst, and initialize m_snaps in
    AioRequest() to avoid duplicating code for both AioRead and AbstractWrite.
librbd:
  copy-on-read: refactoring COR on read path:
  1). If there is a valid buffer in copyup queue, extract content directly;
  2). If there is no copyup request for the oid, issue copyup request;
  3). Otherwise, forward to parent to read content.
librbd:
  copy-on-read: Use RAII style for large block for copyup_queue_lock.
Merge branch 'wip-copy-on-read-review' into wip-copy-on-read