mirror of
https://github.com/ceph/ceph
synced 2025-01-21 18:45:23 +00:00
a9e5323586
This is incomplete and unfortunately unusable in its current state: - it would only set USES_TMAP for old encoded object_info_t and tmapput, but would NOT set it for tmapup - a config option turned that off by default. That means that the mds conversion from tmap -> omap won't be able to use this because any existing cluster has tmap objects without the USES_TMAP flag set. And we don't want to unconditionally try a tmap->omap conversion on omap operations because there are lots of existing librados users out there that will be negatively impacted by this. Instead, the MDS will need to handle this conversion on the client side by reading either tmap or omap objects and explicitly rewriting the content with omap (while truncating the tmap data away). The auto-conversion function was added in v0.44. Signed-off-by: Sage Weil <sage@inktank.com>
54 lines
2.4 KiB
Plaintext
54 lines
2.4 KiB
Plaintext
v0.70
|
|
~~~~~
|
|
|
|
* librados::Rados::pool_create_async() and librados::Rados::pool_delete_async()
|
|
don't drop a reference to the completion object on error, caller needs to take
|
|
care of that. This has never really worked correctly and we were leaking an
|
|
object
|
|
|
|
* 'ceph osd crush set <id> <weight> <loc..>' no longer adds the osd to the
|
|
specified location, as that's a job for 'ceph osd crush add'. It will
|
|
however continue to work just the same as long as the osd already exists
|
|
in the crush map.
|
|
|
|
* The OSD now enforces that class write methods cannot both mutate an
|
|
object and return data. The rbd.assign_bid method, the lone
|
|
offender, has been removed. This breaks compatibility with
|
|
pre-bobtail librbd clients by preventing them from creating new
|
|
images.
|
|
|
|
* librados now returns on commit instead of ack for synchronous calls.
|
|
This is a bit safer in the case where both OSDs and the client crash, and
|
|
is probably how it should have been acting from the beginning. Users are
|
|
unlikely to notice but it could result in lower performance in some
|
|
circumstances. Those who care should switch to using the async interfaces,
|
|
which let you specify safety semantics precisely.
|
|
|
|
* The C++ librados AioComplete::get_version() method was incorrectly
|
|
returning an int (usually 32-bits). To avoid breaking library
|
|
compatibility, a get_version64() method is added that returns the
|
|
full-width value. The old method is deprecated and will be removed
|
|
in a future release. Users of the C++ librados API that make use of
|
|
the get_version() method should modify their code to avoid getting a
|
|
value that is truncated from 64 to to 32 bits.
|
|
|
|
v0.71
|
|
~~~~~
|
|
|
|
* The MDS now disallows snapshots by default as they are not
|
|
considered stable. The command 'ceph mds set allow_snaps' will
|
|
enable them.
|
|
|
|
* For clusters that were created before v0.44 (pre-argonaut, Spring
|
|
2012) and store radosgw data, the auto-upgrade from TMAP to OMAP
|
|
objects has been disabled. Before upgrading, make sure that any
|
|
buckets created on pre-argonaut releases have been modified (e.g.,
|
|
by PUTing and then DELETEing an object from each bucket). Any
|
|
cluster created with argonaut (v0.48) or a later release or not
|
|
using radosgw never relied on the automatic conversion and is not
|
|
affected by this change.
|
|
|
|
* Any direct users of the 'tmap' portion of the librados API should be
|
|
aware that the automatic tmap -> omap conversion functionality has
|
|
been removed.
|