diff options
Diffstat (limited to 'doc/releases/cuttlefish.rst')
-rw-r--r-- | doc/releases/cuttlefish.rst | 720 |
1 files changed, 0 insertions, 720 deletions
diff --git a/doc/releases/cuttlefish.rst b/doc/releases/cuttlefish.rst deleted file mode 100644 index a7ebaa3d8..000000000 --- a/doc/releases/cuttlefish.rst +++ /dev/null @@ -1,720 +0,0 @@ -========== -Cuttlefish -========== - -Cuttlefish is the 3rd stable release of Ceph. It is named after a type -of cephalopod (order Sepiida) characterized by a unique internal shell, the -cuttlebone, which is used for control of buoyancy. - -v0.61.9 "Cuttlefish" -==================== - -This point release resolves several low to medium-impact bugs across -the code base, and fixes a performance problem (CPU utilization) with -radosgw. We recommend that all production cuttlefish users upgrade. - -Notable Changes ---------------- - -* ceph, ceph-authtool: fix help (Danny Al-Gaaf) -* ceph-disk: partprobe after creating journal partition -* ceph-disk: specific fs type when mounting (Alfredo Deza) -* ceph-fuse: fix bug when compiled against old versions -* ceph-fuse: fix use-after-free in caching code (Yan, Zheng) -* ceph-fuse: misc caching bugs -* ceph.spec: remove incorrect mod_fcgi dependency (Gary Lowell) -* crush: fix name caching -* librbd: fix bug when unpausing cluster (Josh Durgin) -* mds: fix LAZYIO lock hang -* mds: fix bug in file size recovery (after client crash) -* mon: fix paxos recovery corner case -* osd: fix exponential backoff for slow request warnings (Loic Dachary) -* osd: fix readdir_r usage -* osd: fix startup for long-stopped OSDs -* rgw: avoid std::list::size() to avoid wasting CPU cycles (Yehuda Sadeh) -* rgw: drain pending requests during write (fixes data safety issue) (Yehuda Sadeh) -* rgw: fix authenticated users group ACL check (Yehuda Sadeh) -* rgw: fix bug in POST (Yehuda Sadeh) -* rgw: fix sysvinit script 'status' command, return value (Danny Al-Gaaf) -* rgw: reduce default log level (Yehuda Sadeh) - -For more detailed information, see :download:`the complete changelog <../changelog/v0.61.9.txt>`. - -v0.61.8 "Cuttlefish" -==================== - -This release includes a number of important issues, including rare -race conditions in the OSD, a few monitor bugs, and fixes for RBD -flush behavior. We recommend that production users upgrade at their -convenience. - -Notable Changes ---------------- - -* librados: fix async aio completion wakeup -* librados: fix aio completion locking -* librados: fix rare deadlock during shutdown -* osd: fix race when queueing recovery operations -* osd: fix possible race during recovery -* osd: optionally preload rados classes on startup (disabled by default) -* osd: fix journal replay corner condition -* osd: limit size of peering work queue batch (to speed up peering) -* mon: fix paxos recovery corner case -* mon: fix rare hang when monmap updates during an election -* mon: make 'osd pool mksnap ...' avoid exposing uncommitted state -* mon: make 'osd pool rmsnap ...' not racy, avoid exposing uncommitted state -* mon: fix bug during mon cluster expansion -* rgw: fix crash during multi delete operation -* msgr: fix race conditions during osd network reinitialization -* ceph-disk: apply mount options when remounting - -For more detailed information, see :download:`the complete changelog <../changelog/v0.61.8.txt>`. - - -v0.61.7 "Cuttlefish" -==================== - -This release fixes another regression preventing monitors to start after -undergoing certain upgrade sequences, as well as some corner cases with -Paxos and support for unusual device names in ceph-disk/ceph-deploy. - -Notable Changes ---------------- - -* mon: fix regression in latest full osdmap retrieval -* mon: fix a long-standing bug in a paxos corner case -* ceph-disk: improved support for unusual device names (e.g., /dev/cciss/c0d0) - -For more detailed information, see :download:`the complete changelog <../changelog/v0.61.7.txt>`. - - -v0.61.6 "Cuttlefish" -==================== - -This release fixes a regression in v0.61.5 that could prevent monitors -from restarting. This affects any cluster that was upgraded from a -previous version of Ceph (and not freshly created with v0.61.5). - -All users are strongly recommended to upgrade. - -Notable Changes ---------------- - -* mon: record latest full osdmap -* mon: work around previous bug in which latest full osdmap is not recorded -* mon: avoid scrub while updating - -For more detailed information, see :download:`the complete changelog <../changelog/v0.61.6.txt>`. - - -v0.61.5 "Cuttlefish" -==================== - -This release most improves stability of the monitor and fixes a few -bugs with the ceph-disk utility (used by ceph-deploy). We recommend -that all v0.61.x users upgrade. - -Upgrading ---------- - -* This release fixes a 32-bit vs 64-bit arithmetic bug with the - feature bits. An unfortunate consequence of the fix is that 0.61.4 - (or earlier) ceph-mon daemons can't form a quorum with 0.61.5 (or - later) monitors. To avoid the possibility of service disruption, we - recommend you upgrade all monitors at once. - -Notable Changes ---------------- - -* mon: misc sync improvements (faster, more reliable, better tuning) -* mon: enable leveldb cache by default (big performance improvement) -* mon: new scrub feature (primarily for diagnostic, testing purposes) -* mon: fix occasional leveldb assertion on startup -* mon: prevent reads until initial state is committed -* mon: improved logic for trimming old osdmaps -* mon: fix pick_addresses bug when expanding mon cluster -* mon: several small paxos fixes, improvements -* mon: fix bug osdmap trim behavior -* osd: fix several bugs with PG stat reporting -* osd: limit number of maps shared with peers (which could cause domino failures) -* rgw: fix radosgw-admin buckets list (for all buckets) -* mds: fix occasional client failure to reconnect -* mds: fix bad list traversal after unlink -* mds: fix underwater dentry cleanup (occasional crash after mds restart) -* libcephfs, ceph-fuse: fix occasional hangs on umount -* libcephfs, ceph-fuse: fix old bug with O_LAZY vs O_NOATIME confusion -* ceph-disk: more robust journal device detection on RHEL/CentOS -* ceph-disk: better, simpler locking -* ceph-disk: do not inadvertantely mount over existing osd mounts -* ceph-disk: better handling for unusual device names -* sysvinit, upstart: handle symlinks in /var/lib/ceph/* - -For more detailed information, see :download:`the complete changelog <../changelog/v0.61.5.txt>`. - - -v0.61.4 "Cuttlefish" -==================== - -This release resolves a possible data corruption on power-cycle when -using XFS, a few outstanding problems with monitor sync, several -problems with ceph-disk and ceph-deploy operation, and a problem with -OSD memory usage during scrub. - -Upgrading ---------- - -* No issues. - -Notable Changes ---------------- - -* mon: fix daemon exit behavior when error is encountered on startup -* mon: more robust sync behavior -* osd: do not use sync_file_range(2), posix_fadvise(...DONTNEED) (can cause data corruption on power loss on XFS) -* osd: avoid unnecessary log rewrite (improves peering speed) -* osd: fix scrub efficiency bug (problematic on old clusters) -* rgw: fix listing objects that start with underscore -* rgw: fix deep URI resource, CORS bugs -* librados python binding: fix truncate on 32-bit architectures -* ceph-disk: fix udev rules -* rpm: install sysvinit script on package install -* ceph-disk: fix OSD start on machine reboot on Debian wheezy -* ceph-disk: activate OSD when journal device appears second -* ceph-disk: fix various bugs on RHEL/CentOS 6.3 -* ceph-disk: add 'zap' command -* ceph-disk: add '[un]suppress-activate' command for preparing spare disks -* upstart: start on runlevel [2345] (instead of after the first network interface starts) -* ceph-fuse, libcephfs: handle mds session reset during session open -* ceph-fuse, libcephfs: fix two capability revocation bugs -* ceph-fuse: fix thread creation on startup -* all daemons: create /var/run/ceph directory on startup if missing - -For more detailed information, see :download:`the complete changelog <../changelog/v0.61.4.txt>`. - - -v0.61.3 "Cuttlefish" -==================== - -This release resolves a number of problems with the monitors and leveldb that users have -been seeing. Please upgrade. - -Upgrading ---------- - -* There is one known problem with mon upgrades from bobtail. If the - ceph-mon conversion on startup is aborted or fails for some reason, we - do not correctly error out, but instead continue with (in certain cases) - odd results. Please be careful if you have to restart the mons during - the upgrade. A 0.61.4 release with a fix will be out shortly. - -* In the meantime, for current cuttlefish users, v0.61.3 is safe to use. - - -Notable Changes ---------------- - -* mon: paxos state trimming fix (resolves runaway disk usage) -* mon: finer-grained compaction on trim -* mon: discard messages from disconnected clients (lowers load) -* mon: leveldb compaction and other stats available via admin socket -* mon: async compaction (lower overhead) -* mon: fix bug incorrectly marking osds down with insufficient failure reports -* osd: fixed small bug in pg request map -* osd: avoid rewriting pg info on every osdmap -* osd: avoid internal heartbeta timeouts when scrubbing very large objects -* osd: fix narrow race with journal replay -* mon: fixed narrow pg split race -* rgw: fix leaked space when copying object -* rgw: fix iteration over large/untrimmed usage logs -* rgw: fix locking issue with ops log socket -* rgw: require matching version of librados -* librbd: make image creation defaults configurable (e.g., create format 2 images via qemu-img) -* fix units in 'ceph df' output -* debian: fix prerm/postinst hooks to start/stop daemons appropriately -* upstart: allow uppercase daemons names (and thus hostnames) -* sysvinit: fix enumeration of local daemons by type -* sysvinit: fix osd weight calcuation when using -a -* fix build on unsigned char platforms (e.g., arm) - -For more detailed information, see :download:`the complete changelog <../changelog/v0.61.3.txt>`. - - -v0.61.2 "Cuttlefish" -==================== - -This release disables a monitor debug log that consumes disk space and -fixes a bug when upgrade some monitors from bobtail to cuttlefish. - -Notable Changes ---------------- - -* mon: fix conversion of stores with duplicated GV values -* mon: disable 'mon debug dump transactions' by default - -For more detailed information, see :download:`the complete changelog <../changelog/v0.61.2.txt>`. - - -v0.61.1 "Cuttlefish" -==================== - -This release fixes a problem when upgrading a bobtail cluster that had -snapshots to cuttlefish. - -Notable Changes ---------------- - -* osd: handle upgrade when legacy snap collections are present; repair from previous failed restart -* ceph-create-keys: fix race with ceph-mon startup (which broke 'ceph-deploy gatherkeys ...') -* ceph-create-keys: gracefully handle bad response from ceph-osd -* sysvinit: do not assume default osd_data when automatically weighting OSD -* osd: avoid crash from ill-behaved classes using getomapvals -* debian: fix squeeze dependency -* mon: debug options to log or dump leveldb transactions - -For more detailed information, see :download:`the complete changelog <../changelog/v0.61.1.txt>`. - -v0.61 "Cuttlefish" -================== - -Upgrading from v0.60 --------------------- - -* The ceph-deploy tool is now the preferred method of provisioning - new clusters. For existing clusters created via mkcephfs that - would like to transition to the new tool, there is a migration - path, documented at `Transitioning to ceph-deploy`_. - - -* The sysvinit script (/etc/init.d/ceph) will now verify (and, if - necessary, update) the OSD's position in the CRUSH map on startup. - (The upstart script has always worked this way.) By default, this - ensures that the OSD is under a 'host' with a name that matches the - hostname (``hostname -s``). Legacy clusters create with mkcephfs do - this by default, so this should not cause any problems, but legacy - clusters with customized CRUSH maps with an alternate structure - should set ``osd crush update on start = false``. - -* radosgw-admin now uses the term zone instead of cluster to describe - each instance of the radosgw data store (and corresponding - collection of radosgw daemons). The usage for the radosgw-admin - command and the 'rgw zone root pool' config options have changed - accordingly. - -* rbd progress indicators now go to standard error instead of standard - out. (You can disable progress with --no-progress.) - -* The 'rbd resize ...' command now requires the --allow-shrink option - when resizing to a smaller size. Expanding images to a larger size - is unchanged. - -* Please review the changes going back to 0.56.4 if you are upgrading - all the way from bobtail. - -* The old 'ceph stop_cluster' command has been removed. - -* The sysvinit script now uses the ceph.conf file on the remote host - when starting remote daemons via the '-a' option. Note that if '-a' - is used in conjunction with '-c path', the path must also be present - on the remote host (it is not copied to a temporary file, as it was - previously). - - -Upgrading from v0.56.4 "Bobtail" --------------------------------- - -Please see `Upgrading from Bobtail to Cuttlefish`_ for details. - -.. _Upgrading from Bobtail to Cuttlefish: ../install/upgrading-ceph/#upgrading-from-bobtail-to-cuttlefish - -* The ceph-deploy tool is now the preferred method of provisioning - new clusters. For existing clusters created via mkcephfs that - would like to transition to the new tool, there is a migration - path, documented at `Transitioning to ceph-deploy`_. - -.. _Transitioning to ceph-deploy: ../rados/deployment/ceph-deploy-transition - -* The sysvinit script (/etc/init.d/ceph) will now verify (and, if - necessary, update) the OSD's position in the CRUSH map on startup. - (The upstart script has always worked this way.) By default, this - ensures that the OSD is under a 'host' with a name that matches the - hostname (``hostname -s``). Legacy clusters create with mkcephfs do - this by default, so this should not cause any problems, but legacy - clusters with customized CRUSH maps with an alternate structure - should set ``osd crush update on start = false``. - -* radosgw-admin now uses the term zone instead of cluster to describe - each instance of the radosgw data store (and corresponding - collection of radosgw daemons). The usage for the radosgw-admin - command and the 'rgw zone root pool' config options have changed - accordingly. - -* rbd progress indicators now go to standard error instead of standard - out. (You can disable progress with --no-progress.) - -* The 'rbd resize ...' command now requires the --allow-shrink option - when resizing to a smaller size. Expanding images to a larger size - is unchanged. - -* Please review the changes going back to 0.56.4 if you are upgrading - all the way from bobtail. - -* The old 'ceph stop_cluster' command has been removed. - -* The sysvinit script now uses the ceph.conf file on the remote host - when starting remote daemons via the '-a' option. Note that if '-a' - is used in conjunction with '-c path', the path must also be present - on the remote host (it is not copied to a temporary file, as it was - previously). - -* The monitor is using a completely new storage strategy and - intra-cluster protocol. This means that cuttlefish and bobtail - monitors do not talk to each other. When you upgrade each one, it - will convert its local data store to the new format. Once you - upgrade a majority, the quorum will be formed using the new protocol - and the old monitors will be blocked out until they too get - upgraded. For this reason, we recommend not running a mixed-version - cluster for very long. - -* ceph-mon now requires the creation of its data directory prior to - --mkfs, similarly to what happens on ceph-osd. This directory is no - longer automatically created, and custom scripts should be adjusted to - reflect just that. - -* The monitor now enforces that MDS names be unique. If you have - multiple daemons start with the same id (e.g., ``mds.a``) the - second one will implicitly mark the first as failed. This makes - things less confusing and makes a daemon restart faster (we no - longer wait for the stopped daemon to time out) but existing - multi-mds configurations may need to be adjusted accordingly to give - daemons unique names. - -* The 'ceph osd pool delete <poolname>' and 'rados rmpool <poolname>' - now have safety interlocks with loud warnings that make you confirm - pool removal. Any scripts currently rely on these functions zapping - data without confirmation need to be adjusted accordingly. - - -Notable Changes from v0.60 --------------------------- - -* rbd: incremental backups -* rbd: only set STRIPINGV2 feature if striping parameters are incompatible with old versions -* rbd: require --allow-shrink for resizing images down -* librbd: many bug fixes -* rgw: management REST API -* rgw: fix object corruption on COPY to self -* rgw: new sysvinit script for rpm-based systems -* rgw: allow buckets with '_' -* rgw: CORS support -* mon: many fixes -* mon: improved trimming behavior -* mon: fix data conversion/upgrade problem (from bobtail) -* mon: ability to tune leveldb -* mon: config-keys service to store arbitrary data on monitor -* mon: 'osd crush add|link|unlink|add-bucket ...' commands -* mon: trigger leveldb compaction on trim -* osd: per-rados pool quotas (objects, bytes) -* osd: tool to export, import, and delete PGs from an individual OSD data store -* osd: notify mon on clean shutdown to avoid IO stall -* osd: improved detection of corrupted journals -* osd: ability to tune leveldb -* osd: improve client request throttling -* osd, librados: fixes to the LIST_SNAPS operation -* osd: improvements to scrub error repair -* osd: better prevention of wedging OSDs with ENOSPC -* osd: many small fixes -* mds: fix xattr handling on root inode -* mds: fixed bugs in journal replay -* mds: many fixes -* librados: clean up snapshot constant definitions -* libcephfs: calls to query CRUSH topology (used by Hadoop) -* ceph-fuse, libcephfs: misc fixes to mds session management -* ceph-fuse: disabled cache invalidation (again) due to potential deadlock with kernel -* sysvinit: try to start all daemons despite early failures -* ceph-disk: new 'list' command -* ceph-disk: hotplug fixes for RHEL/CentOS -* ceph-disk: fix creation of OSD data partitions on >2TB disks -* osd: fix udev rules for RHEL/CentOS systems -* fix daemon logging during initial startup - -Notable changes from v0.56 "Bobtail" ------------------------------------- -* always use installed system leveldb (Gary Lowell) -* auth: ability to require new cephx signatures on messages (still off by default) -* buffer unit testing (Loic Dachary) -* ceph tool: some CLI interface cleanups -* ceph-disk: improve multicluster support, error handling (Sage Weil) -* ceph-disk: support for dm-crypt (Alexandre Marangone) -* ceph-disk: support for sysvinit, directories or partitions (not full disks) -* ceph-disk: fix mkfs args on old distros (Alexandre Marangone) -* ceph-disk: fix creation of OSD data partitions on >2TB disks -* ceph-disk: hotplug fixes for RHEL/CentOS -* ceph-disk: new 'list' command -* ceph-fuse, libcephfs: misc fixes to mds session management -* ceph-fuse: disabled cache invalidation (again) due to potential deadlock with kernel -* ceph-fuse: enable kernel cache invalidation (Sam Lang) -* ceph-fuse: fix statfs(2) reporting -* ceph-fuse: session handling cleanup, bug fixes (Sage Weil) -* crush: ability to create, remove rules via CLI -* crush: update weights for all instances of an item, not just the first (Sage Weil) -* fix daemon logging during initial startup -* fixed log rotation (Gary Lowell) -* init-ceph, mkcephfs: close a few security holes with -a (Sage Weil) -* libcephfs: calls to query CRUSH topology (used by Hadoop) -* libcephfs: many fixes, cleanups with the Java bindings -* libcephfs: new topo API requests for Hadoop (Noah Watkins) -* librados: clean up snapshot constant definitions -* librados: fix linger bugs (Josh Durgin) -* librbd: fixed flatten deadlock (Josh Durgin) -* librbd: fixed some locking issues with flatten (Josh Durgin) -* librbd: many bug fixes -* librbd: optionally wait for flush before enabling writeback (Josh Durgin) -* many many cleanups (Danny Al-Gaaf) -* mds, ceph-fuse: fix bugs with replayed requests after MDS restart (Sage Weil) -* mds, ceph-fuse: manage layouts via xattrs -* mds: allow xattrs on root -* mds: fast failover between MDSs (enforce unique mds names) -* mds: fix xattr handling on root inode -* mds: fixed bugs in journal replay -* mds: improve session cleanup (Sage Weil) -* mds: many fixes (Yan Zheng) -* mds: misc bug fixes with clustered MDSs and failure recovery -* mds: misc bug fixes with readdir -* mds: new encoding for all data types (to allow forward/backward compatibility) (Greg Farnum) -* mds: store and update backpointers/traces on directory, file objects (Sam Lang) -* mon: 'osd crush add|link|unlink|add-bucket ...' commands -* mon: ability to tune leveldb -* mon: approximate recovery, IO workload stats -* mon: avoid marking entire CRUSH subtrees out (e.g., if an entire rack goes offline) -* mon: config-keys service to store arbitrary data on monitor -* mon: easy adjustment of crush tunables via 'ceph osd crush tunables ...' -* mon: easy creation of crush rules vai 'ceph osd rule ...' -* mon: fix data conversion/upgrade problem (from bobtail) -* mon: improved trimming behavior -* mon: many fixes -* mon: new 'ceph df [detail]' command -* mon: new checks for identifying and reporting clock drift -* mon: rearchitected to utilize single instance of paxos and a key/value store (Joao Luis) -* mon: safety check for pool deletion -* mon: shut down safely if disk approaches full (Joao Luis) -* mon: trigger leveldb compaction on trim -* msgr: fix comparison of IPv6 addresses (fixes monitor bringup via ceph-deploy, chef) -* msgr: fixed race in connection reset -* msgr: optionally tune TCP buffer size to avoid throughput collapse (Jim Schutt) -* much code cleanup and optimization (Danny Al-Gaaf) -* osd, librados: ability to list watchers (David Zafman) -* osd, librados: fixes to the LIST_SNAPS operation -* osd, librados: new listsnaps command (David Zafman) -* osd: a few journaling bug fixes -* osd: ability to tune leveldb -* osd: add 'noscrub', 'nodeepscrub' osdmap flags (David Zafman) -* osd: better prevention of wedging OSDs with ENOSPC -* osd: ceph-filestore-dump tool for debugging -* osd: connection handling bug fixes -* osd: deep-scrub omap keys/values -* osd: default to libaio for the journal (some performance boost) -* osd: fix hang in 'journal aio = true' mode (Sage Weil) -* osd: fix pg log trimming (avoids memory bloat on degraded clusters) -* osd: fix udev rules for RHEL/CentOS systems -* osd: fixed bug in journal checksums (Sam Just) -* osd: improved client request throttling -* osd: improved handling when disk fills up (David Zafman) -* osd: improved journal corruption detection (Sam Just) -* osd: improved detection of corrupted journals -* osd: improvements to scrub error repair -* osd: make tracking of object snapshot metadata more efficient (Sam Just) -* osd: many small fixes -* osd: misc fixes to PG split (Sam Just) -* osd: move pg info, log into leveldb (== better performance) (David Zafman) -* osd: notify mon on clean shutdown to avoid IO stall -* osd: per-rados pool quotas (objects, bytes) -* osd: refactored watch/notify infrastructure (fixes protocol, removes many bugs) (Sam Just) -* osd: support for improved hashing of PGs across OSDs via HASHPSPOOL pool flag and feature -* osd: tool to export, import, and delete PGs from an individual OSD data store -* osd: trim log more aggressively, avoid appearance of leak memory -* osd: validate snap collections on startup -* osd: verify snap collections on startup (Sam Just) -* radosgw: ACL grants in headers (Caleb Miles) -* radosgw: ability to listen to fastcgi via a port (Guilhem Lettron) -* radosgw: fix object copy onto self (Yehuda Sadeh) -* radosgw: misc fixes -* rbd-fuse: new tool, package -* rbd: avoid FIEMAP when importing from file (it can be buggy) -* rbd: incremental backups -* rbd: only set STRIPINGV2 feature if striping parameters are incompatible with old versions -* rbd: require --allow-shrink for resizing images down -* rbd: udevadm settle on map/unmap to avoid various races (Dan Mick) -* rbd: wait for udev to settle in strategic places (avoid spurious errors, failures) -* rgw: CORS support -* rgw: allow buckets with '_' -* rgw: fix Content-Length on 32-bit machines (Jan Harkes) -* rgw: fix log rotation -* rgw: fix object corruption on COPY to self -* rgw: fixed >4MB range requests (Jan Harkes) -* rgw: new sysvinit script for rpm-based systems -* rpm/deb: do not remove /var/lib/ceph on purge (v0.59 was the only release to do so) -* sysvinit: try to start all daemons despite early failures -* upstart: automatically set osd weight based on df (Guilhem Lettron) -* use less memory for logging by default - - -v0.60 -===== - -Upgrading ---------- - -* Please note that the recently added librados 'list_snaps' function - call is in a state of flux and is changing slightly in v0.61. You - are advised not to make use of it in v0.59 or v0.60. - -Notable Changes ---------------- - -* osd: make tracking of object snapshot metadata more efficient (Sam Just) -* osd: misc fixes to PG split (Sam Just) -* osd: improve journal corruption detection (Sam Just) -* osd: improve handling when disk fills up (David Zafman) -* osd: add 'noscrub', 'nodeepscrub' osdmap flags (David Zafman) -* osd: fix hang in 'journal aio = true' mode (Sage Weil) -* ceph-disk-prepare: fix mkfs args on old distros (Alexandre Marangone) -* ceph-disk-activate: improve multicluster support, error handling (Sage Weil) -* librbd: optionally wait for flush before enabling writeback (Josh Durgin) -* crush: update weights for all instances of an item, not just the first (Sage Weil) -* mon: shut down safely if disk approaches full (Joao Luis) -* rgw: fix Content-Length on 32-bit machines (Jan Harkes) -* mds: store and update backpointers/traces on directory, file objects (Sam Lang) -* mds: improve session cleanup (Sage Weil) -* mds, ceph-fuse: fix bugs with replayed requests after MDS restart (Sage Weil) -* ceph-fuse: enable kernel cache invalidation (Sam Lang) -* libcephfs: new topo API requests for Hadoop (Noah Watkins) -* ceph-fuse: session handling cleanup, bug fixes (Sage Weil) -* much code cleanup and optimization (Danny Al-Gaaf) -* use less memory for logging by default -* upstart: automatically set osd weight based on df (Guilhem Lettron) -* init-ceph, mkcephfs: close a few security holes with -a (Sage Weil) -* rpm/deb: do not remove /var/lib/ceph on purge (v0.59 was the only release to do so) - - -v0.59 -===== - -Upgrading ---------- - -* The monitor is using a completely new storage strategy and - intra-cluster protocol. This means that v0.59 and pre-v0.59 - monitors do not talk to each other. When you upgrade each one, it - will convert its local data store to the new format. Once you - upgrade a majority, the quorum will be formed using the new protocol - and the old monitors will be blocked out until they too get - upgraded. For this reason, we recommend not running a mixed-version - cluster for very long. - -* ceph-mon now requires the creation of its data directory prior to - --mkfs, similarly to what happens on ceph-osd. This directory is no - longer automatically created, and custom scripts should be adjusted to - reflect just that. - - -Notable Changes ---------------- - - * mon: rearchitected to utilize single instance of paxos and a key/value store (Joao Luis) - * mon: new 'ceph df [detail]' command - * osd: support for improved hashing of PGs across OSDs via HASHPSPOOL pool flag and feature - * osd: refactored watch/notify infrastructure (fixes protocol, removes many bugs) (Sam Just) - * osd, librados: ability to list watchers (David Zafman) - * osd, librados: new listsnaps command (David Zafman) - * osd: trim log more aggressively, avoid appearance of leak memory - * osd: misc split fixes - * osd: a few journaling bug fixes - * osd: connection handling bug fixes - * rbd: avoid FIEMAP when importing from file (it can be buggy) - * librados: fix linger bugs (Josh Durgin) - * librbd: fixed flatten deadlock (Josh Durgin) - * rgw: fixed >4MB range requests (Jan Harkes) - * rgw: fix log rotation - * mds: allow xattrs on root - * ceph-fuse: fix statfs(2) reporting - * msgr: optionally tune TCP buffer size to avoid throughput collapse (Jim Schutt) - * consume less memory for logging by default - * always use system leveldb (Gary Lowell) - - - -v0.58 -===== - -Upgrading ---------- - -* The monitor now enforces that MDS names be unique. If you have - multiple daemons start with the same id (e.g., ``mds.a``) the - second one will implicitly mark the first as failed. This makes - things less confusing and makes a daemon restart faster (we no - longer wait for the stopped daemon to time out) but existing - multi-mds configurations may need to be adjusted accordingly to give - daemons unique names. - -Notable Changes ---------------- - - * librbd: fixed some locking issues with flatten (Josh Durgin) - * rbd: udevadm settle on map/unmap to avoid various races (Dan Mick) - * osd: move pg info, log into leveldb (== better performance) (David Zafman) - * osd: fix pg log trimming (avoids memory bloat on degraded clusters) - * osd: fixed bug in journal checksums (Sam Just) - * osd: verify snap collections on startup (Sam Just) - * ceph-disk-prepare/activate: support for dm-crypt (Alexandre Marangone) - * ceph-disk-prepare/activate: support for sysvinit, directories or partitions (not full disks) - * msgr: fixed race in connection reset - * msgr: fix comparison of IPv6 addresses (fixes monitor bringup via ceph-deploy, chef) - * radosgw: fix object copy onto self (Yehuda Sadeh) - * radosgw: ACL grants in headers (Caleb Miles) - * radosgw: ability to listen to fastcgi via a port (Guilhem Lettron) - * mds: new encoding for all data types (to allow forward/backward compatibility) (Greg Farnum) - * mds: fast failover between MDSs (enforce unique mds names) - * crush: ability to create, remove rules via CLI - * many many cleanups (Danny Al-Gaaf) - * buffer unit testing (Loic Dachary) - * fixed log rotation (Gary Lowell) - -v0.57 -===== - -This development release has a lot of additional functionality -accumulated over the last couple months. Most of the bug fixes (with -the notable exception of the MDS related work) has already been -backported to v0.56.x, and is not mentioned here. - -Upgrading ---------- - -* The 'ceph osd pool delete <poolname>' and 'rados rmpool <poolname>' - now have safety interlocks with loud warnings that make you confirm - pool removal. Any scripts currently rely on these functions zapping - data without confirmation need to be adjusted accordingly. - -Notable Changes ---------------- - -* osd: default to libaio for the journal (some performance boost) -* osd: validate snap collections on startup -* osd: ceph-filestore-dump tool for debugging -* osd: deep-scrub omap keys/values -* ceph tool: some CLI interface cleanups -* mon: easy adjustment of crush tunables via 'ceph osd crush tunables ...' -* mon: easy creation of crush rules vai 'ceph osd rule ...' -* mon: approximate recovery, IO workload stats -* mon: avoid marking entire CRUSH subtrees out (e.g., if an entire rack goes offline) -* mon: safety check for pool deletion -* mon: new checks for identifying and reporting clock drift -* radosgw: misc fixes -* rbd: wait for udev to settle in strategic places (avoid spurious errors, failures) -* rbd-fuse: new tool, package -* mds, ceph-fuse: manage layouts via xattrs -* mds: misc bug fixes with clustered MDSs and failure recovery -* mds: misc bug fixes with readdir -* libcephfs: many fixes, cleanups with the Java bindings -* auth: ability to require new cephx signatures on messages (still off by default) |