Back to bug 2134431

Who When What Removed Added
RHEL Program Management 2022-10-13 12:17:31 UTC Keywords FutureFeature
Red Hat One Jira (issues.redhat.com) 2022-10-13 12:28:45 UTC Link ID Red Hat Issue Tracker RHCEPH-5439
Veera Raghava Reddy 2022-10-15 08:06:55 UTC CC vereddy
Severity unspecified high
Ilya Dryomov 2022-10-17 10:21:15 UTC Status ASSIGNED POST
errata-xmlrpc 2022-10-20 04:33:16 UTC CC tserlin
Status POST MODIFIED
Fixed In Version ceph-17.2.3-51.el9cp
Fixed In Version ceph-17.2.3-51.el9cp ceph-17.2.3-53.el9cp
Status MODIFIED ON_QA
Eliska 2022-10-20 09:05:50 UTC Docs Contact ekristov
Flags needinfo?(idryomov)
CC ekristov
Ilya Dryomov 2022-10-20 10:40:50 UTC Doc Type If docs needed, set a value Enhancement
Flags needinfo?(idryomov)
Doc Text * RBD: The semantics of compare-and-write C++ API (`Image::compare_and_write`
and `Image::aio_compare_and_write` methods) now match those of C API. Both
compare and write steps operate only on `len` bytes even if the respective
buffers are larger. The previous behavior of comparing up to the size of
the compare buffer was prone to subtle breakage upon straddling a stripe
unit boundary.
* RBD: compare-and-write operation is no longer limited to 512-byte sectors.
Assuming proper alignment, it now allows operating on stripe units (4M by
default).
* RBD: New `rbd_aio_compare_and_writev` API method to support scatter/gather
on both compare and write buffers. This compliments existing `rbd_aio_readv`
and `rbd_aio_writev` methods.
Eliska 2022-10-27 07:28:07 UTC Flags needinfo?(idryomov)
Doc Text * RBD: The semantics of compare-and-write C++ API (`Image::compare_and_write`
and `Image::aio_compare_and_write` methods) now match those of C API. Both
compare and write steps operate only on `len` bytes even if the respective
buffers are larger. The previous behavior of comparing up to the size of
the compare buffer was prone to subtle breakage upon straddling a stripe
unit boundary.
* RBD: compare-and-write operation is no longer limited to 512-byte sectors.
Assuming proper alignment, it now allows operating on stripe units (4M by
default).
* RBD: New `rbd_aio_compare_and_writev` API method to support scatter/gather
on both compare and write buffers. This compliments existing `rbd_aio_readv`
and `rbd_aio_writev` methods.
.The librbd compare-and-write operation is improved and new `rbd_aio_compare_and_writev` API method is introduced

* *The semantics of compare-and-write C++ API now match those of C API.*
+
Previously, the compare-and-write C++ API, that is `Image::compare_and_write` and `Image::aio_compare_and_write` methods, would compare up to the size of the compare buffer. This would cause breakage after straddling a stripe unit boundary.
+
With this release, the compare-and-write C++ API matches the semantics of C API and both compare and write steps operate only on `len` bytes even if the respective buffers are larger.

* *The compare-and-write operation is no longer limited to 512-byte sectors.*
+
With this release, the compare-and-write operates on stripe units, if the access is aligned properly. The stripe units are 4 MB by default.

* *New `rbd_aio_compare_and_writev` API method is now available.*
+
With this release, the `rbd_aio_compare_and_writev` API method is included to support scatter/gather invariants on both, compare and write buffers, which complements existing `rbd_aio_readv` and `rbd_aio_writev` methods.
Eliska 2022-10-27 07:29:09 UTC Blocks 2126050
Ilya Dryomov 2022-10-27 08:22:21 UTC Flags needinfo?(idryomov)
Doc Text .The librbd compare-and-write operation is improved and new `rbd_aio_compare_and_writev` API method is introduced

* *The semantics of compare-and-write C++ API now match those of C API.*
+
Previously, the compare-and-write C++ API, that is `Image::compare_and_write` and `Image::aio_compare_and_write` methods, would compare up to the size of the compare buffer. This would cause breakage after straddling a stripe unit boundary.
+
With this release, the compare-and-write C++ API matches the semantics of C API and both compare and write steps operate only on `len` bytes even if the respective buffers are larger.

* *The compare-and-write operation is no longer limited to 512-byte sectors.*
+
With this release, the compare-and-write operates on stripe units, if the access is aligned properly. The stripe units are 4 MB by default.

* *New `rbd_aio_compare_and_writev` API method is now available.*
+
With this release, the `rbd_aio_compare_and_writev` API method is included to support scatter/gather invariants on both, compare and write buffers, which complements existing `rbd_aio_readv` and `rbd_aio_writev` methods.
.The librbd compare-and-write operation is improved and new `rbd_aio_compare_and_writev` API method is introduced

* *The semantics of compare-and-write C++ API now match those of C API.*
+
Previously, the compare-and-write C++ API, that is `Image::compare_and_write` and `Image::aio_compare_and_write` methods, would compare up to the size of the compare buffer. This would cause breakage after straddling a stripe unit boundary.
+
With this release, the compare-and-write C++ API matches the semantics of C API and both compare and write steps operate only on `len` bytes even if the respective buffers are larger.

* *The compare-and-write operation is no longer limited to 512-byte sectors.*
+
With this release, the compare-and-write can operate on stripe units, if the access is aligned properly. The stripe units are 4 MB by default.

* *New `rbd_aio_compare_and_writev` API method is now available.*
+
With this release, the `rbd_aio_compare_and_writev` API method is included to support scatter/gather on both compare and write buffers, which complements existing `rbd_aio_readv` and `rbd_aio_writev` methods.
Pasi Karkkainen 2022-10-27 08:45:13 UTC CC pasik
Preethi 2022-11-15 03:55:09 UTC Status ON_QA VERIFIED
Red Hat Bugzilla 2022-12-31 19:24:17 UTC QA Contact pnataraj
Red Hat Bugzilla 2022-12-31 23:39:39 UTC Assignee idryomov nobody
Red Hat Bugzilla 2023-01-01 05:39:58 UTC CC tserlin
Red Hat Bugzilla 2023-01-01 08:47:52 UTC CC vereddy
Alasdair Kergon 2023-01-04 04:41:16 UTC Assignee nobody idryomov
Alasdair Kergon 2023-01-04 04:46:22 UTC QA Contact pnataraj
Alasdair Kergon 2023-01-04 06:29:04 UTC CC vereddy
Red Hat Bugzilla 2023-01-09 08:30:30 UTC CC ceph-eng-bugs
Alasdair Kergon 2023-01-09 19:43:36 UTC CC ceph-eng-bugs
errata-xmlrpc 2023-03-20 18:58:58 UTC Resolution --- ERRATA
Status VERIFIED CLOSED
Last Closed 2023-03-20 18:58:58 UTC
errata-xmlrpc 2023-03-20 18:59:34 UTC Link ID Red Hat Product Errata RHBA-2023:1360

Back to bug 2134431