Release Notes

v11.1.0 (release candidate)

This is a release candidate for Kraken, the next stable release series.

Major Changes from Jewel

  • RADOS:
    • The new BlueStore backend now has a stable disk format and is passing our failure and stress testing. Although the backend is still flagged as experimental, we encourage users to try it out for non-production clusters and non-critical data sets.
    • RADOS now has experimental support for overwrites on erasure-coded pools. Because the disk format and implementation are not yet finalized, there is a special pool option that must be enabled to test the new feature.  Enabling this option on a cluster will permanently bar that cluster from being upgraded to future versions.
    • We now default to the AsyncMessenger (ms type = async) instead of the legacy SimpleMessenger.  The most noticeable difference is that we now use a fixed sized thread pool for network connections (instead of two threads per socket with SimpleMessenger).
    • Some OSD failures are now detected almost immediately, whereas previously the heartbeat timeout (which defaults to 20 seconds) had to expire.  This prevents IO from blocking for an extended period for failures where the host remains up but the ceph-osd process is no longer running.
    • There is a new ceph-mgr daemon.  It is currently collocated with the monitors by default, and is not yet used for much, but the basic infrastructure is now in place.
    • The size of encoded OSDMaps has been reduced.
    • The OSDs now quiesce scrubbing when recovery or rebalancing is in progress.
  • RGW:
    • RGW now supports a new zone type that can be used for metadata indexing via Elasticseasrch.
    • RGW now supports the S3 multipart object copy-part API.
    • It is possible now to reshard an existing bucket. Note that bucket resharding currently requires that all IO (especially writes) to the specific bucket is quiesced.
    • RGW now supports data compression for objects.
    • Civetweb version has been upgraded to 1.8
    • The Swift static website API is now supported (S3 support has been added previously).
    • S3 bucket lifecycle API has been added. Note that currently it only supports object expiration.
    • Support for custom search filters has been added to the LDAP auth implementation.
    • Support for NFS version 3 has been added to the RGW NFS gateway.
    • A Python binding has been created for librgw.
  • RBD:
    • RBD now supports images stored in an erasure-coded RADOS pool using the new (experimental) overwrite support. Images must be created using the new rbd CLI “–data-pool <ec pool>” option to specify the EC pool where the backing data objects are stored. Attempting to create an image directly on an EC pool will not be successful since the image’s backing metadata is only supported on a replicated pool.
    • The rbd-mirror daemon now supports replicating dynamic image feature updates and image metadata key/value pairs from the primary image to the non-primary image.
    • The number of image snapshots can be optionally restricted to a configurable maximum.
    • The rbd Python API now supports asynchronous IO operations.
  • CephFS:
    • libcephfs function definitions have been changed to enable proper uid/gid control. The library version has been increased to reflect the interface change.
    • Standby replay MDS daemons now consume less memory on workloads doing deletions.
    • Scrub now repairs backtrace, and populates damage ls with discovered errors.
    • A new pg_files subcommand to cephfs-data-scan can identify files affected by a damaged or lost RADOS PG.
    • The false-positive “failing to respond to cache pressure” warnings have been fixed.

Upgrading from Jewel

  • All clusters must first be upgraded to Jewel 10.2.z before upgrading to Kraken 11.2.z (or, eventually, Luminous 12.2.z).
  • The sortbitwise flag must be set on the Jewel cluster before upgrading to Kraken. The latest Jewel (10.2.4+) releases issue a health warning if the flag is not set, so this is probably already set. If it is not, Kraken OSDs will refuse to start and will print and error message in their log.

Upgrading

  • The list of monitor hosts/addresses for building the monmap can now be obtained from DNS SRV records. The service name used in when querying the DNS is defined in the “mon_dns_srv_name” config option, which defaults to “ceph-mon”.

  • The ‘osd class load list’ config option is a list of object class names that the OSD is permitted to load (or ‘*’ for all classes). By default it contains all existing in-tree classes for backwards compatibility.

  • The ‘osd class default list’ config option is a list of object class names (or ‘*’ for all classes) that clients may invoke having only the ‘*’, ‘x’, ‘class-read’, or ‘class-write’ capabilities. By default it contains all existing in-tree classes for backwards compatibility. Invoking classes not listed in ‘osd class default list’ requires a capability naming the class (e.g. ‘allow class foo’).

  • The ‘rgw rest getusage op compat’ config option allows you to dump (or not dump) the description of user stats in the S3 GetUsage API. This option defaults to false. If the value is true, the reponse data for GetUsage looks like:

    "stats": {
                "TotalBytes": 516,
                "TotalBytesRounded": 1024,
                "TotalEntries": 1
             }

    If the value is false, the reponse for GetUsage looks as it did before:

    {
         516,
         1024,
         1
    }
    
  • The ‘osd out ...’ and ‘osd in ...’ commands now preserve the OSD weight. That is, after marking an OSD out and then in, the weight will be the same as before (instead of being reset to 1.0). Previously the mons would only preserve the weight if the mon automatically marked and OSD out and then in, but not when an admin did so explicitly.

  • The ‘ceph osd perf’ command will display ‘commit_latency(ms)’ and ‘apply_latency(ms)’. Previously, the names of these two columns are ‘fs_commit_latency(ms)’ and ‘fs_apply_latency(ms)’. We remove the prefix ‘fs_‘, because they are not filestore specific.

  • Monitors will no longer allow pools to be removed by default. The setting mon_allow_pool_delete has to be set to true (defaults to false) before they allow pools to be removed. This is a additional safeguard against pools being removed by accident.

  • If you have manually specified the monitor user rocksdb via the mon keyvaluedb = rocksdb option, you will need to manually add a file to the mon data directory to preserve this option:

    echo rocksdb > /var/lib/ceph/mon/ceph-`hostname`/kv_backend

    New monitors will now use rocksdb by default, but if that file is not present, existing monitors will use leveldb. The mon keyvaluedb option now only affects the backend chosen when a monitor is created.

  • The ‘osd crush initial weight’ option allows you to specify a CRUSH weight for a newly added OSD. Previously a value of 0 (the default) meant that we should use the size of the OSD’s store to weight the new OSD. Now, a value of 0 means it should have a weight of 0, and a negative value (the new default) means we should automatically weight the OSD based on its size. If your configuration file explicitly specifies a value of 0 for this option you will need to change it to a negative value (e.g., -1) to preserve the current behavior.

  • The osd crush location config option is no longer supported. Please update your ceph.conf to use the crush location option instead.

  • The static libraries are no longer included by the debian development packages (lib*-dev) as it is not required per debian packaging policy. The shared (.so) versions are packaged as before.

  • The libtool pseudo-libraries (.la files) are no longer included by the debian development packages (lib*-dev) as they are not required per https://wiki.debian.org/ReleaseGoals/LAFileRemoval and https://www.debian.org/doc/manuals/maint-guide/advanced.en.html.

  • The jerasure and shec plugins can now detect SIMD instruction at runtime and no longer need to be explicitly configured for different processors. The following plugins are now deprecated: jerasure_generic, jerasure_sse3, jerasure_sse4, jerasure_neon, shec_generic, shec_sse3, shec_sse4, and shec_neon. If you use any of these plugins directly you will see a warning in the mon log file. Please switch to using just ‘jerasure’ or ‘shec’.

  • The librados omap get_keys and get_vals operations include a start key and a limit on the number of keys to return. The OSD now imposes a configurable limit on the number of keys and number of total bytes it will respond with, which means that a librados user might get fewer keys than they asked for. This is necessary to prevent careless users from requesting an unreasonable amount of data from the cluster in a single operation. The new limits are configured with osd_max_omap_entries_per_request, defaulting to 131,072, and ‘osd_max_omap_bytes_per_request’, defaulting to 4MB.

Notable Changes:

  • bluestore: ceph_test_objectstore: smaller device (pr#11591, Sage Weil)
  • bluestore: compressor/ZLibCompressor: fix broken isal-l (pr#11445, Igor Fedotov)
  • bluestore: kv/rocksdb: enable rocksdb write path breakdown (pr#11696, Haodong Tang)
  • bluestore: kv: dump rocksdb stats (pr#12287, Varada Kari, Jianpeng Ma, Sage Weil)
  • bluestore: mempool: changes for bitmap allocator (pr#11922, Ramesh Chander)
  • bluestore: KernelDevice: fix race in aio_thread vs aio_wait (issue#17824, pr#12204, Sage Weil)
  • bluestore: Fix invalid compression statfs caused by clone op (pr#11351, Igor Fedotov)
  • bluestore: GC infra refactor, more UTs and GC range calculation fixes (pr#11482, Igor Fedotov)
  • bluestore: a few more cleanups (pr#11780, xie xingguo)
  • bluestore: add counter to trace blob splitting (pr#11718, xie xingguo)
  • bluestore: avoid polluting shard info if need resharding (pr#11439, xie xingguo)
  • bluestore: avoid unnecessary call to init_csum() (pr#12015, xie xingguo)
  • bluestore: clean up Allocator::dump (issue#18054, pr#12282, Sage Weil)
  • bluestore: clear extent map on object removal (pr#11603, Sage Weil)
  • bluestore: dedup if space overlap truly exists (pr#11986, xie xingguo)
  • bluestore: dedup omap_head, reuse nid instead (pr#12275, xie xingguo)
  • bluestore: deep fsck (pr#11724, Sage Weil)
  • bluestore: default bluestore_clone_cow=true (pr#11540, Sage Weil)
  • bluestore: drop inline_dirty from struct ExtentMap (pr#11377, xie xingguo)
  • bluestore: drop member “space” from Onode (pr#12185, xie xingguo)
  • bluestore: fix _split_collections race with osr_reap (pr#11748, Sage Weil)
  • bluestore: fix alloc release timing on sync submits (pr#11983, Sage Weil)
  • bluestore: fix bufferspace stats leak due to blob splitting (pr#12039, xie xingguo)
  • bluestore: fix collection_list end bound off-by-one (pr#11771, Sage Weil)
  • bluestore: fix compiler warnings (pr#11905, xie xingguo)
  • bluestore: fix escaping of chars > 0x80 (pr#11502, Sage Weil)
  • bluestore: fix extent shard span check (pr#11725, Sage Weil)
  • bluestore: fix has_aios (pr#11317, Sage Weil)
  • bluestore: fix lack of resharding (pr#11597, Igor Fedotov)
  • bluestore: fix latency calculation (pr#12040, Pan Liu)
  • bluestore: fix onode vs extent key suffix (pr#11452, Sage Weil)
  • bluestore: fix potential memory leak (pr#11893, xie xingguo)
  • bluestore: fix race condtion during blob spliting (pr#11422, xiexingguo, xie xingguo)
  • bluestore: fix remove_collection to properly detect collection e… (pr#11398, Igor Fedotov)
  • bluestore: fix up compression tests and debug output (pr#11350, Sage Weil)
  • bluestore: fix writes that span existing shard boundaries (pr#11451, Sage Weil)
  • bluestore: fixes and cleanups (pr#11761, xie xingguo)
  • bluestore: formatting nits (pr#11514, xie xingguo)
  • bluestore: fsck: fix omap_head check (pr#11726, Sage Weil)
  • bluestore: less code redundancy (pr#11740, xie xingguo)
  • bluestore: make 2q cache kin/kout size tunable (pr#11599, Haodong Tang)
  • bluestore: mark ops that can’t tolerate ENOENT (pr#12114, Sage Weil)
  • bluestore: misc. fixes and cleanups (pr#11964, xie xingguo)
  • bluestore: move bluefs into its own mempool (pr#11834, Sage Weil)
  • bluestore: no garbage collection for uncompressed blobs (pr#11539, Roushan Ali, Sage Weil)
  • bluestore: optional debug mode to identify aio stalls (pr#11818, Sage Weil)
  • bluestore: readability improvements and doxygen fix (pr#11895, xie xingguo)
  • bluestore: reap collection after all pending ios done (pr#11797, Haomai Wang)
  • bluestore: reap ioc when stopping aio_thread. (pr#11811, Haodong Tang)
  • bluestore: refactor _do_write(); move initializaiton of csum out of loop (pr#11823, xie xingguo)
  • bluestore: remove duplicated namespace of tx state (pr#11845, xie xingguo)
  • bluestore: remove garbage collector staff (pr#12042, Igor Fedotov)
  • bluestore: simplify blob status checking for small writes (pr#11366, xie xingguo)
  • bluestore: some more cleanups (pr#11910, xie xingguo)
  • bluestore: speed up omap-key generation for same onode (pr#11807, xie xingguo)
  • bluestore: traverse buffer_map in reverse order when spliting BufferSpace (pr#11468, xie xingguo)
  • bluestore: update cache logger after ‘trim_cache’ operation (pr#11695, Haodong Tang)
  • bluestore: use bitmap allocator for bluefs (pr#12285, Sage Weil)
  • bluestore: use std::unordered_map for SharedBlob lookup (pr#11394, Sage Weil)
  • bluestore: os/kstore: rmcoll fix to satisfy store_test (pr#11533, Igor Fedotov)
  • bluestore: os: make filestore_blackhole -> objectstore_blackhole (pr#11788, Sage Weil)
  • bluestore: os: move_ranges_destroy_src (pr#11237, Manali Kulkarni, Sage Weil)
  • bluestore: set next object as ghobject_t::get_max() when start.hobj.i… (pr#11495, Xinze Chi, Haomai Wang)
  • bluestore: spdk: a few fixes (pr#11882, Yehuda Sadeh)
  • bluestore: kv/RocksDBStore: rename option (pr#11769, Sage Weil)
  • bluestore: os/bluestore: a few cleanups (pr#11483, Sage Weil)
  • bluestore: os/bluestore: cleanup around Blob::ref_map (pr#11896, Igor Fedotov)
  • bluestore: os/bluestore: kill dead gc-related counters (pr#12065, xie xingguo)
  • bluestore: os/bluestore: kill overlay related options (pr#11557, xie xingguo)
  • bluestore: os/bluestore: misc coverity fixes/cleanups (pr#12202, Sage Weil)
  • bluestore: os/bluestore: simplify can_split_at() (pr#11607, xie xingguo)
  • bluestore: os/bluestore: use iterator for erase() method directly (pr#11490, xie xingguo)
  • build/ops: install-deps.sh: allow building on SLES systems (pr#11708, Nitin A Kamble)
  • build/ops: Merging before make check because it clearly breaks the build and the build part is done (pr#11924, Sage Weil)
  • build/ops: rocksdb: do not build with –march=native (pr#11677, Kefu Chai)
  • build/ops,cleanup,bluestore: os/bluestore: remove build warning in a better way (pr#11920, Igor Fedotov)
  • build/ops,core: xio: fix build (pr#11768, Matt Benjamin)
  • build/ops: AArch64: Detect crc32 extension support from assembler (issue#17516, pr#11391, Alexander Graf)
  • build/ops: CMakeLists.txt: enable LTTNG by default (pr#11500, Sage Weil)
  • build/ops: FreeBSD: do_freebsd.sh (pr#12090, Willem Jan Withagen)
  • build/ops: FreeBSD: update require packages (pr#11512, Willem Jan Withagen)
  • build/ops: FreeBSD:test/encoding/readable.sh”: fix nproc and ls -v calls (pr#11522, Willem Jan Withagen)
  • build/ops: Log: Replace namespace log with logging (pr#11650, Willem Jan Withagen)
  • build/ops: boost: embedded (pr#11817, Sage Weil, Matt Benjamin)
  • build/ops: build: dump env during build (issue#18084, pr#12284, Sage Weil)
  • build/ops: ceph-detect-init: FreeBSD introduction of bsdrc (pr#11906, Willem Jan Withagen, Kefu Chai)
  • build/ops: ceph-disk: enable –runtime ceph-osd systemd units (issue#17889, pr#12241, Loic Dachary)
  • build/ops: ceph.spec: add pybind rgwfile (pr#11847, Haomai Wang)
  • build/ops: common/buffer.cc: raw_pipe depends on splice(2) (pr#11967, Willem Jan Withagen)
  • build/ops: deb: add python dependencies where needed (issue#17579, pr#11507, Nathan Cutler, Kefu Chai)
  • build/ops: deb: add python-rgw packages (pr#11832, Sage Weil)
  • build/ops: deb: update python-rgw dependencies to librgw2 (pr#11885, Casey Bodley)
  • build/ops: debian: apply dh_python to python-rgw also (pr#12260, Kefu Chai)
  • build/ops: do_freebsd.sh: Build with SYSTEM Boost on FreeBSD (pr#11942, Willem Jan Withagen)
  • build/ops: do_freebsd.sh: Do not use LTTNG on FreeBSD (pr#11551, Willem Jan Withagen)
  • build/ops: do_freebsd.sh: Set options for debug building. (pr#11443, Willem Jan Withagen)
  • build/ops: git-archive-all.sh: use an actually unique tmp dir (pr#12011, Dan Mick)
  • build/ops: include/enc: make clang happy (pr#11638, Kefu Chai, Sage Weil)
  • build/ops: install-deps.sh: JQ is needed in one script (pr#12080, Willem Jan Withagen)
  • build/ops: ok, w/upstream acks, merging–jenkins build did succeed (this is a build-only change) (pr#12008, Matt Benjamin)
  • build/ops: qa: Add ceph-ansible installer. (issue#16770, pr#10402, Warren Usui)
  • build/ops: rocksdb: update to latest (pr#12100, Kefu Chai)
  • build/ops: rpm: Remove trailing whitespace in usermod command (SUSE) (pr#10707, Tim Serong)
  • build/ops: scripts/release-notes: allow title guesses from gh tags & description update (pr#11399, Abhishek Lekshmanan)
  • build/ops: tracing/objectstore.tp: add missing move_ranges_... tp (pr#11484, Sage Weil)
  • build/ops: upstart: start ceph-all after static-network-up (issue#17689, pr#11631, Billy Olsen)
  • cephfs: client: remove unnecessary bufferptr[] for writev (pr#11836, Patrick Donnelly)
  • cephfs: MDS: reduce usage of context wrapper (pr#11560, Yan, Zheng)
  • cephfs: Partial organization of mds/ header sections (pr#11959, Patrick Donnelly)
  • cephfs: Small pile of random cephfs fixes and cleanup (pr#11421, Jeff Layton)
  • cephfs: client: get gid from MonClient (pr#11486, Patrick Donnelly)
  • cephfs: client: improve failure messages/debugging (pr#12110, Patrick Donnelly)
  • cephfs: client: put CapSnap not ptr in cap_snaps map (pr#12111, Patrick Donnelly)
  • cephfs: client: remove redundant initialization (pr#12028, Patrick Donnelly)
  • cephfs: client: remove unneeded layout on MClientCaps (pr#11790, John Spray)
  • cephfs: client: use unique_ptr (pr#11837, Patrick Donnelly)
  • cephfs: lua: use simpler lua_next traversal structure (pr#11958, Patrick Donnelly)
  • cephfs: mds/Beacon: move C_MDS_BeaconSender class to .cc (pr#10940, Michal Jarzabek)
  • cephfs: mds/CDir.cc: remove unneeded use of count (pr#11613, Michal Jarzabek)
  • cephfs: mds/CInode.h: remove unneeded use of count (pr#11371, Michal Jarzabek)
  • cephfs: mds/DamageTable.cc: move shared ptrs (pr#11435, Michal Jarzabek)
  • cephfs: mds/DamageTable.cc: remove unneeded use of count (pr#11625, Michal Jarzabek)
  • cephfs: mds/DamageTable: move classes to .cc file (pr#11450, Michal Jarzabek)
  • cephfs: mds/FSMap.cc: remove unneeded use of count (pr#11402, Michal Jarzabek)
  • cephfs: mds/FSMapUser.h: remove copy ctr and assign op (pr#11509, Michal Jarzabek)
  • cephfs: mds/InoTable.h: add override to virtual functs (pr#11604, Michal Jarzabek)
  • cephfs: mds/MDCache.h: remove unneeded call to clear func (pr#11954, Michal Jarzabek)
  • cephfs: mds/MDCache.h: remove unused functions (pr#11908, Michal Jarzabek)
  • cephfs: mds/MDSMap.h: add const to member functions (pr#11511, Michal Jarzabek)
  • cephfs: mds/MDSRank.h: add override to virtual function (pr#11727, Michal Jarzabek)
  • cephfs: mds/MDSRank.h: make destructor protected (pr#11651, Michal Jarzabek)
  • cephfs: mds/MDSRank: add const to member functions (pr#11752, Michal Jarzabek)
  • cephfs: mds/MDSTableClient.h: add const to member funct (pr#11681, Michal Jarzabek)
  • cephfs: mds/Mantle.h: include correct header files (pr#11886, Michal Jarzabek)
  • cephfs: mds/Mantle: pass parameters by const ref (pr#11713, Michal Jarzabek)
  • cephfs: mds/Migrator.cc: remove unneeded use of count (pr#11523, Michal Jarzabek)
  • cephfs: mds/Migrator.h: remove unneeded use of count (pr#11833, Michal Jarzabek)
  • cephfs: mds/Mutation.h: simplify constructors (pr#11455, Michal Jarzabek)
  • cephfs: mds/ScrubHeader.h: pass string by const reference (pr#11904, Michal Jarzabek)
  • cephfs: mds/SessionMap.cc: avoid copying and add const (pr#11297, Michal Jarzabek)
  • cephfs: mds/SessionMap.cc: remove unneeded use of count (pr#11338, Michal Jarzabek)
  • cephfs: mds/SessionMap.cc:put classes in unnamed namespace (pr#11316, Michal Jarzabek)
  • cephfs: mds/SessionMap.h: remove unneeded function (pr#11565, Michal Jarzabek)
  • cephfs: mds/SessionMap.h: remove unneeded use of count (pr#11358, Michal Jarzabek)
  • cephfs: mds/SessionMap: add const to member functions (pr#11541, Michal Jarzabek)
  • cephfs: mds/SnapRealm: remove unneeded use of count (pr#11609, Michal Jarzabek)
  • cephfs: mds/SnapServer.h: add override to virtual functs (pr#11380, Michal Jarzabek)
  • cephfs: mds/flock: add const to member functions (pr#11692, Michal Jarzabek)
  • cephfs: Revert “osdc: After write try merge bh.” (issue#17270, pr#11262, John Spray)
  • cephfs: osdc: After write try merge bh. (issue#17270, pr#11545, Jianpeng Ma)
  • cephfs: client: Client.cc: remove duplicated op type checking against CEPH_MD… (pr#11608, Weibing Zhang)
  • cephfs: API cleanup for libcephfs interfaces (issue#17911, pr#12106, Jeff Layton)
  • cephfs: Fix #17562 (backtrace check fails when scrubbing directory created by fsstress) (issue#17562, pr#11517, Yan, Zheng)
  • cephfs: add gid to asok status (pr#11487, Patrick Donnelly)
  • cephfs: client: add pid to metadata (issue#17276, pr#11359, Patrick Donnelly)
  • cephfs: client: don’t take extra target inode reference in ll_link (pr#11440, Jeff Layton)
  • cephfs: client: get caller’s uid/gid on every libcephfs operation (issue#17591, pr#11526, Yan, Zheng)
  • cephfs: client: trim_caps() do not dereference cap if it’s removed (pr#12145, Kefu Chai)
  • cephfs: common/ceph_string: add ceph string constants for CEPH_SESSION_FORCE_RO (pr#11516, Zhi Zhang)
  • cephfs: fix missing ll_get for ll_walk (issue#18086, pr#12061, Gui Hecheng)
  • cephfs: libcephfs and test suite fixes (issue#18013, issue#17982, pr#12228, Jeff Layton)
  • cephfs: libcephfs client API overhaul and update (pr#11647, Jeff Layton)
  • cephfs: libcephfs: add ceph_fsetattr&&ceph_lchmod&&ceph_lutime (pr#11191, huanwen ren)
  • cephfs: mds/server: merge the snapshot request judgment (pr#11150, huanwen ren)
  • cephfs: multimds: fix state check in Migrator::find_stale_export_freeze() (pr#12098, Yan, Zheng)
  • cephfs: src/mds: fix MDSMap upgrade decoding (issue#17837, pr#12097, John Spray)
  • cephfs: test: temporarily remove fork()ing flock tests (issue#16556, pr#11211, John Spray)
  • cephfs: tool/cephfs: displaying “list” in journal event mode (pr#11236, huanwen ren)
  • cephfs: tools/cephfs: add pg_files command (issue#17249, pr#11026, John Spray)
  • cephfs: tools/cephfs: add scan_links command which fixes linkages errors (pr#11446, Yan, Zheng)
  • cephfs: mds/InfoTable.h: add override to virtual functs (pr#11496, Michal Jarzabek)
  • cephfs: mds/MDLog: add const to member functions (pr#11663, Michal Jarzabek)
  • cephfs: mds/Migrator.h: add const to member functions (pr#11819, Michal Jarzabek)
  • cephfs: mds/Mutation.h: add const to member functions (pr#11670, Michal Jarzabek)
  • cephfs: mds/SnapServer.h: add override to virtual functs (pr#11583, Michal Jarzabek)
  • cleanup,common: common/throttle: simplify Throttle::_wait() (pr#11165, xie xingguo)
  • cleanup,common: src/common: remove nonused config option (pr#12311, Wei Jin)
  • cleanup,rbd: cls_rbd: silence compiler warnings (pr#11363, xiexingguo)
  • cleanup,rbd: librbd/ImageCtx: no need for virtual dtor (pr#12220, Sage Weil)
  • cleanup,rbd: rbd-mirror: configuration overrides for hard coded timers (pr#11840, Dongsheng Yang)
  • cleanup,rbd: rbd-mirror: set SEQUENTIAL and NOCACHE advise flags on image sync (issue#17127, pr#12280, Mykola Golub)
  • cleanup,rgw: rgw multisite: move lease up to RunBucketSync instead of child crs (pr#11598, Casey Bodley)
  • cleanup,rgw: rgw/rest: don’t print empty x-amz-request-id (pr#10674, Marcus Watts)
  • cleanup,rgw: verified: f23 (pr#12103, Radoslaw Zarzynski)
  • cleanup: build: The Light Clangtastic (pr#11921, Adam C. Emerson)
  • cleanup: deprecate readdir_r() with readdir() (pr#11805, Kefu Chai)
  • cleanup: erasure-code: fix gf-complete warning (pr#12150, Kefu Chai)
  • cleanup: mds/FSMap.cc: prevent unneeded copy of map entry (pr#11798, Michal Jarzabek)
  • cleanup: mds/FSMap.h: add const and reference (pr#11802, Michal Jarzabek)
  • cleanup: mds/FSMap: pass shared_ptr by const ref (pr#11383, Michal Jarzabek)
  • cleanup: mds/SnapServer: add const to member function (pr#11688, Michal Jarzabek)
  • cleanup: mon/MonCap.h: add std::move for std::string (pr#10722, Michal Jarzabek)
  • cleanup: msg/AsyncMessenger: remove unneeded include (pr#9846, Michal Jarzabek)
  • cleanup: msg/Pipe: move DelayedDelivery class to cc file (pr#10447, Michal Jarzabek)
  • cleanup: msg/async/rdma: fix disconnect log line (pr#12254, Adir Lev)
  • cleanup: msg/test: fix the guided compile-command to ceph_test_msgr (pr#10490, Yan Jun)
  • cleanup: msg: fix format specifier for unsigned value id (pr#11145, Weibing Zhang)
  • cleanup: os/filestore: clean filestore perfcounters (pr#11524, Wei Jin)
  • cleanup: os/fs/FS.cc: condition on WITH_AIO for FreeBSD (pr#11913, Willem Jan Withagen)
  • cleanup: osd/PG.h: change PGRecoveryStats struct to class (pr#11178, Michal Jarzabek)
  • cleanup: osd/PG.h: remove unneeded forward declaration (pr#12135, Li Wang)
  • cleanup: osd/PGBackend: build_push_op segment fault (pr#9357, Zengran Zhang)
  • cleanup: osd/ReplicatedPG: remove unneeded use of count (pr#11251, Michal Jarzabek)
  • cleanup: src/common/perf_counters.h: fix wrong word (pr#11690, zhang.zezhu)
  • cleanup: xio: provide dout_prefix for XioConnection (pr#9444, Avner BenHanoch)
  • cleanup: yasm-wrapper: translate “-isystem $1” to “-i $1” (pr#12093, Kefu Chai)
  • cleanup: coverity fix: fixing few coverity issue (pr#9624, Gaurav Kumar Garg)
  • cmake: Fix for cross compiling (pr#11404, Bassam Tabbara)
  • cmake: Support for embedding Ceph Daemons (pr#11764, Bassam Tabbara)
  • cmake: add -Wno-unknown-pragmas to CMAKE_CXX_FLAGS (pr#12128, Kefu Chai)
  • cmake: check WITH_RADOSGW for fcgi and expat dependencies (pr#11481, David Disseldorp)
  • cmake: do not link erasure tests again libosd (pr#11738, Kefu Chai)
  • cmake: find gperftools package for tcmalloc_minimal too (pr#11403, Bassam Tabbara)
  • cmake: fix boost build on ubuntu 16.10 yakkety (pr#12143, Bassam Tabbara)
  • cmake: fix git version string, cleanup (pr#11661, Sage Weil)
  • cmake: librbd cleanup (pr#11842, Kefu Chai)
  • cmake: link tests against static librados (issue#17260, pr#11575, Kefu Chai)
  • cmake: pass CMAKE_BUILD_TYPE down to rocksdb (pr#11767, Kefu Chai)
  • cmake: remove include/Makefile.am (pr#11666, Kefu Chai)
  • cmake: replace civetweb symlink w/file copy (pr#11900, Matt Benjamin)
  • cmake: should link against ${ALLOC_LIBS} (pr#11978, Kefu Chai)
  • cmake: use external project for rocksdb (pr#11385, Bassam Tabbara)
  • common,bluestore: compressor: fixes and tests; disable zlib isal (it’s broken) (pr#11349, Sage Weil)
  • common,bluestore: mempool: mempool infrastructure, bluestore changes to use it (pr#11331, Allen Samuels, Sage Weil)
  • common: auth: fix NULL pointer access when trying to delete CryptoAESKeyHandler instance (pr#11614, runsisi)
  • common: Add throttle_get_started perf counter (pr#12163, Bartłomiej Święcki)
  • common: FreeBSD/EventKqueue.{h,cc} Added code to restore events on (thread)fork (pr#11430, Willem Jan Withagen)
  • common: Remove the runtime dependency on lsb_release (issue#17425, pr#11365, Brad Hubbard)
  • common: assert(0) -> ceph_abort() (pr#12031, Sage Weil)
  • common: buffer: add advance(unsigned) back (issue#17809, pr#11993, Kefu Chai)
  • common: buffer: add copy(unsigned, ptr) back (issue#17809, pr#12246, Kefu Chai)
  • common: common/strtol.cc: Get error testing also to work on FreeBSD (pr#12034, Willem Jan Withagen)
  • common: log/LogClient: fill seq & who for syslog and graylog (issue#16609, pr#10196, Xiaoxi Chen)
  • common: make l_finisher_complete_lat more accurate (pr#11637, Pan Liu)
  • common: msg/simple/Accepter.cc: replace shutdown() with selfpipe event in poll() (FreeBSD) (pr#10720, Willem Jan Withagen)
  • common: osdc/Objecter: fix relock race (issue#17942, pr#12234, Sage Weil)
  • common: osdc/Objecter: handle race between calc_target and handle_osd_map (issue#17942, pr#12055, Sage Weil)
  • common: release g_ceph_context before returns (issue#17762, pr#11733, Kefu Chai)
  • common: test/fio: fix global CephContext life cycle (pr#12245, Igor Fedotov)
  • core,bluestore: os/bluestore: fix warning and uninit variable (pr#12032, Sage Weil)
  • core,bluestore: os: fix offsets for move_ranges operation (pr#11595, Sage Weil)
  • core,bluestore: os: remove move_ranges_destroy_src (pr#11791, Sage Weil)
  • core,cephfs: osdc/ObjectCacher: wake up dirty stat waiters after removing buffers (issue#17275, pr#11593, Yan, Zheng)
  • core,cleanup,common: common/TrackedOp: remove unused ‘now’ in _dump() (pr#12007, John Spray)
  • core,cleanup: FileStore: Only verify split when it has been really done and done correctly (pr#11731, Li Wang)
  • core,cleanup: Wip scrub misc (pr#11397, David Zafman)
  • core,cleanup: kv: remove snapshot iterator (pr#12049, Sage Weil)
  • core,cleanup: mon/MonClient.h: remove repeated searching of map (pr#10601, Michal Jarzabek)
  • core,cleanup: msg: Fix typos in socket creation error message (pr#11907, Brad Hubbard)
  • core,cleanup: os/ObjectStore: remove legacy tbl support (pr#11770, Jianpeng Ma)
  • core,cleanup: os/filestore: handle EINTR returned by io_getevents() (pr#11890, Pan Liu)
  • core,cleanup: osd/OSDMap.cc: fix duplicated assignment for new_blacklist_entries (pr#11799, Ker Liu)
  • core,cleanup: osd/PG.cc: prevent repeated searching of map/set (pr#11203, Michal Jarzabek)
  • core,cleanup: osd/ReplicatedPG: remove unneeded use of count (pr#11242, Michal Jarzabek)
  • core,cleanup: osd/command tell: check pgid at the right time (pr#11547, Javeme)
  • core,cleanup: scan build fixes (pr#12148, Kefu Chai)
  • core,common: buffer: put buffers in buffer_{data,meta} mempools (pr#11839, Sage Weil)
  • core,common: msg/simple/Pipe: handle addr decode error (issue#18072, pr#12221, Sage Weil)
  • core,common: msg: add entity_addr_t types; add new entity_addrvec_t type (pr#9825, Zhao Junwang, Sage Weil)
  • core,mgr: messages: fix out of range assertion (pr#11345, John Spray)
  • core,performance: msg/async: ibverbs/rdma support (pr#11531, Haomai Wang, Zhi Wang)
  • core,performance: os/fs/FS: optimize aio::pwritev which make caller provide length. (pr#9062, Jianpeng Ma)
  • core,performance: osd/OSDMap.cc: remove unneeded use of count (pr#11221, Michal Jarzabek)
  • core,pybind,common: python-rados: implement new aio_execute (pr#12140, Iain Buclaw)
  • core,rbd,bluestore,rgw,performance,cephfs: fast denc encoding (pr#11027, Sage Weil)
  • core,tests: ceph_test_rados_api_tier: dump hitset that we fail to decode (issue#17945, pr#12057, Sage Weil)
  • core,tests: common osd: Improve scrub analysis, list-inconsistent-obj output and osd-scrub-repair test (issue#18114, pr#9613, Kefu Chai, David Zafman)
  • core,tests: test,cmake: turn unit.h into unit.cc to speed up compilation (pr#12194, Kefu Chai)
  • core,tests: workunits/ceph-helpers.sh: Fixes for FreeBSD (pr#12085, Willem Jan Withagen)
  • core,tools: Added append functionality to rados tool. (pr#11036, Tomy Cheru)
  • core,tools: Tested-by: Huawen Ren <ren.huanwen@zte.com.cn> (issue#17400, pr#11276, Kefu Chai)
  • core,tools: vstart: decrease pool size if <3 OSDs (pr#11528, John Spray)
  • core: compress: Fix compilation failure from missing header (pr#12108, Adam C. Emerson)
  • core: mon: print the num_pools and num_objects in ‘ceph -s -f json/json-p… (issue#17703, pr#11654, huangjun)
  • core: os/filestore: avoid to get the wrong hardlink number. (pr#11841, huangjun)
  • core: OSDMonitor: only reject MOSDBoot based on up_from if inst matches (issue#17899, pr#12003, Samuel Just)
  • core: ReplicatedPG::failed_push: release read lock on failure (issue#17857, pr#11914, Kefu Chai)
  • core: auth: tolerate missing MGR keys during upgrade (pr#11401, Sage Weil)
  • core: ceph-disk: allow using a regular file as a journal (issue#17662, pr#11619, Jayashree Candadai, Loic Dachary)
  • core: ceph-disk: resolve race conditions (issue#17889, issue#17813, pr#12136, Loic Dachary)
  • core: denc: don’t pass null instances into encoder fns (issue#17636, pr#11577, John Spray)
  • core: include/object: pass “snapid_t&” to bound_encode() (pr#11552, Kefu Chai)
  • core: kv/RocksDBStore: Don’t update rocksdb perf_context if rocksdb_perf di… (pr#12064, Jianpeng Ma)
  • core: librados-dev: install inline_memory.h (issue#17654, pr#11730, Josh Durgin)
  • core: messages/MForward: reencode forwarded message if target has differing features (pr#11610, Sage Weil)
  • core: mon,ceph-disk: add lockbox permissions to bootstrap-osd (issue#17849, pr#11996, Loic Dachary)
  • core: mon/OSDMonitor: encode OSDMap::Incremental with same features as OSDMap (pr#11596, Sage Weil)
  • core: mon/OSDMonitor: encode full osdmaps with features all OSDs can understand (pr#11284, Sage Weil)
  • core: mon/OSDMonitor: newly created osd should not be wrongly marked in (pr#11795, runsisi)
  • core: mon/OSDMonitor: remove duplicate jewel/kraken flag warning (pr#11775, Josh Durgin)
  • core: mon/PGMap: PGs can be stuck more than one thing (issue#17515, pr#11339, Sage Weil)
  • core: msg/async/AsyncConnection: dispatch write handler on keepalive2 (issue#17664, pr#11601, Ilya Dryomov)
  • core: msg/async/rdma: don’t use more buffers than what device capabilities … (pr#12263, Avner BenHanoch)
  • core: msg/async/rdma: ensure CephContext existed (pr#12068, Haomai Wang)
  • core: msg/async/rdma: event polling thread can block on event (pr#12270, Haomai Wang)
  • core: msg/async/rdma: fixup memory free (pr#12236, gongchuang)
  • core: msg/async: DPDKStack as AsyncMessenger backend (pr#10748, Haomai Wang)
  • core: msg/simple/Pipe::stop_and_wait: unlock pipe_lock for stop_fast_dispatching() (issue#18042, pr#12307, Samuel Just)
  • core: msg/simple: save the errno in case being changed by subsequent codes (pr#10297, Yan Jun)
  • core: msg: make loopback Connection feature accurate all the time (pr#11183, Sage Weil)
  • core: msg/async/rdma: set correct value to memory manager (pr#12299, Adir Lev)
  • core: msg: seed random engine used for ms_type=”random” (pr#11880, Casey Bodley)
  • core: os/FileStore: fix fiemap issue in xfs when #extents > 1364 (pr#11554, Ning Yao)
  • core: os/ObjectStore: properly clear object map when replaying OP_REMOVE (issue#17177, pr#11388, Yan, Zheng)
  • core: os/filestore/HashIndex: fix list_by_hash_* termination on reaching end (issue#17859, pr#11898, Sage Weil)
  • core: os/filestore: Fix erroneous WARNING: max attr too small (issue#17420, pr#11246, Brad Hubbard)
  • core: os/filestore: fix journal logger (pr#12099, Wei Jin)
  • core: os/filestore: fix potential result code overwriting (pr#11491, xie xingguo)
  • core: osd,mon: require sortbitwise flag to upgrade beyond jewel (pr#11772, Sage Weil)
  • core: osd/ECTransaction: only write out the hinfo if not delete (issue#17983, pr#12141, Samuel Just)
  • core: osd/ReplicatedPG: do_update_log_missing: take the pg lock in the callback (issue#17789, pr#11754, Samuel Just)
  • core: osd/osd_types: fix the osd_stat_t::decode() (pr#12235, Kefu Chai)
  • core: rocksdb: update to latest, and make it the default for the mons (pr#11354, Sage Weil)
  • core: set dumpable flag after setuid (issue#17650, pr#11582, Patrick Donnelly)
  • core: systemd/ceph-disk: reduce ceph-disk flock contention (issue#18049, issue#13160, pr#12200, David Disseldorp)
  • core: tchaikov (issue#17713, pr#11382, Haomai Wang)
  • crush: make counting of choose_tries consistent (issue#17229, pr#10993, Vicente Cheng)
  • crush: remove the crush_lock (pr#11830, Adam C. Emerson)
  • doc: README: hint at where to look to diagnose test failures (pr#11903, Dan Mick)
  • doc: mds: fixup “mds bal mode” Description (pr#12127, huanwen ren)
  • doc: change the osd_max_backfills default to 1 (issue#17701, pr#11658, huangjun)
  • doc: Add MON docs about pool flags and pool removal config settings (pr#10853, Wido den Hollander)
  • doc: Add doc about osd scrub {during recovery|chunk {min|max}| sleep} (pr#12176, Paweł Sadowski)
  • doc: Add docs about looking up Monitors through DNS (issue#14527, pr#10852, Wido den Hollander)
  • doc: Add documentation about mon_allow_pool_delete before pool remove (pr#11943, Wido den Hollander)
  • doc: Correcting the sample python tempurl generation script. (issue#15258, pr#8712, Diwakar Goel)
  • doc: Coverity and SCA fixes (pr#7784, Danny Al-Gaaf)
  • doc: Documentation syntax cleanup (pr#11784, John Spray)
  • doc: Fix broken link for caps (issue#17587, pr#11546, Uday Mullangi)
  • doc: Fixed mapping error in legacy mds command (pr#11668, Malte Fiala)
  • doc: Fixing the broken hyperlinks by pointing to correct documentation. (pr#11617, Uday Mullangi)
  • doc: Flag deprecated mds commands and omit deprecated mon commands in help output (pr#11434, Patrick Donnelly)
  • doc: README.FreeBSD: update to match the bimonthly FreeBSD status report (pr#11442, Willem Jan Withagen)
  • doc: Remove duplicate command for Ubuntu (pr#12186, chrone)
  • doc: Small styling fix to mirror documentation (pr#9714, Wido den Hollander)
  • doc: Update crush-map.rst, fix a typo mistake (pr#11785, whu_liuchang)
  • doc: Update filestore xattr config documentation. (pr#11826, Bartłomiej Święcki)
  • doc: Update install-ceph-gateway.rst (pr#11432, Hans van den Bogert)
  • doc: Update keystone doc about v3 options (pr#11392, Proskurin Kirill)
  • doc: Update layout.rst, move commands to CODE block (pr#11987, liuchang0812)
  • doc: add docs for raw compression (pr#12244, Casey Bodley)
  • doc: add infernalis EOL date (pr#11925, Ken Dreyer)
  • doc: add python-rgw doc (pr#11859, Kefu Chai)
  • doc: clarify file deletion from OSD restricted pool behaviour (issue#17937, pr#12054, David Disseldorp)
  • doc: clarify mds deactivate purpose (pr#11957, Patrick Donnelly)
  • doc: common/Throttle: fix typo for BackoffThrottle (pr#12129, Wei Jin)
  • doc: doc/dev/perf: a few notes on perf (pr#12168, Sage Weil)
  • doc: doc/dev/perf: fix dittography (pr#12317, xie xingguo)
  • doc: doc/man: avoid file builtin to solve build error (pr#11984, Patrick Donnelly)
  • doc: doc/rados/configuration/ms-ref.rst: document a few async msgr options (pr#12126, Piotr Dałek)
  • doc: doc/rados/configuration/osd-config-ref.rst: document the fast mark down (pr#12124, Piotr Dałek)
  • doc: doc/start/hardware-recommentdations: cosmetic (pr#10585, Zhao Junwang)
  • doc: drop –journal-check from ceph-mds man page (issue#17747, pr#11912, Nathan Cutler)
  • doc: fix broken links (issue#17587, pr#11518, Uday Mullangi)
  • doc: fix dead link “Hardware Recommendations” (pr#11379, Leo Zhang)
  • doc: fix dead link of “os-recommendations” in troubleshooting-osd (pr#11454, Leo Zhang)
  • doc: fix librados example programs (pr#11302, Alexey Sheplyakov)
  • doc: fix mgr literal block rST syntax (pr#11652, Ken Dreyer)
  • doc: fix start development cluster operation in index.rst (pr#11233, Leo Zhang)
  • doc: fix the script for rebuild monitor db (pr#11962, Kefu Chai)
  • doc: fix typos (pr#8751, Li Peng)
  • doc: mailmap updates sept (pr#10955, Yann Dupont)
  • doc: mailmap: change personal info (pr#12310, Wei Jin)
  • doc: openstack glance mitaka uses show_multiple_locations (pr#12020, Sébastien Han)
  • doc: reformat SubmittingPatches with more rst syntax (pr#11570, Kefu Chai)
  • doc: reviewed-by: John Wilkins <jowilkin@redhat.com> (issue#17665, pr#11602, Jason Dillaman)
  • doc: reviewed-by: John Wilkins <jowilkin@redhat.com> (issue#17526, pr#11352, Loic Dachary)
  • doc: rgw: fix a typo in S3 java api example (pr#11762, Weibing Zhang)
  • doc: rm “type=rpm-md” from yum repositories (pr#10248, Ken Dreyer)
  • doc: src/doc: fix class names in exports.txt (pr#12000, John Spray)
  • doc: standardize EPEL instructions (pr#11653, Ken Dreyer)
  • doc: we can now run multiple MDS, so qualify warning (issue#18040, pr#12184, Nathan Cutler)
  • fs: Mantle: A Programmable Metadata Load Balancer (pr#10887, Michael Sevilla)
  • librados: For C-API, expose LIBRADOS_OPERATION_FULL_FORCE flag (pr#9172, Jianpeng Ma)
  • librados: Add rados_aio_exec to the C API (pr#11709, Iain Buclaw)
  • librados: add timeout to watch/notify (pr#11378, Ryne Li)
  • librados: do not request osd ack if no completed completion is set (pr#11204, Sage Weil)
  • librados: improvements async IO in librados and libradosstriper (pr#10049, Sebastien Ponce)
  • librados: postpone cct deletion (pr#11659, Kefu Chai)
  • librados: remove new setxattr overload to avoid breaking the C++ ABI (issue#18058, pr#12206, Josh Durgin)
  • librados: remove unused bufferlist from rados_write_op_rmxattr (pr#12030, Piotr Dałek)
  • librbd: API changes to support separate data pool (pr#11353, Jason Dillaman)
  • librbd: add support for snapshot namespaces (pr#11160, Victor Denisov)
  • librbd: batch object map updates during trim (issue#17356, pr#11510, Venky Shankar)
  • librbd: bug fixes for optional data pool support (pr#11960, Venky Shankar)
  • librbd: cannot access non-primary image when mirroring force disabled (issue#16740, issue#17588, pr#11568, Jason Dillaman)
  • librbd: cls_rbd updates for separate data pool (issue#17422, pr#11327, Jason Dillaman)
  • librbd: default features should be negotiated with the OSD (issue#17010, pr#11808, Mykola Golub)
  • librbd: diffs to clone’s first snapshot should include parent diffs (issue#18068, pr#12218, Jason Dillaman)
  • librbd: do not create empty object map object on image creation (issue#17752, pr#11704, Jason Dillaman)
  • librbd: enabling/disabling rbd feature should report missing dependency (issue#16985, pr#12238, Gaurav Kumar Garg)
  • librbd: ensure consistency groups will gracefully fail on older OSDs (pr#11623, Jason Dillaman)
  • librbd: exclusive lock incorrectly initialized when switching to head revision (issue#17618, pr#11559, Jason Dillaman)
  • librbd: fix rollback if failed to disable mirroring for image (pr#11260, runsisi)
  • librbd: ignore notify errors on missing image header (issue#17549, pr#11395, Jason Dillaman)
  • librbd: mark request as finished after failed refresh (issue#17973, pr#12160, Venky Shankar)
  • librbd: minor cleanup (pr#12078, Dongsheng Yang)
  • librbd: parse rbd_default_features config option as a string (pr#11175, Alyona Kiseleva, Alexey Sheplyakov)
  • librbd: possible assert failure creating image when using data pool (pr#11641, Venky Shankar)
  • librbd: proper check for get_data_pool compatibility (issue#17791, pr#11755, Mykola Golub)
  • librbd: release lock after demote (issue#17880, pr#11940, Mykola Golub)
  • librbd: silence the unused variable warning (pr#11678, Kefu Chai)
  • librbd: snap_get_limit compatibility check (pr#11766, Mykola Golub)
  • librbd: update internals to use optional separate data pool (pr#11356, Jason Dillaman)
  • log: optimize header file dependency (pr#9768, Xiaowei Chen)
  • mds: add debug assertion for issue #17636 (pr#11576, Yan, Zheng)
  • mds: check if down mds is known (issue#17670, pr#11611, Patrick Donnelly)
  • mds: enable rmxattr on pool_namespace attrs (issue#17797, pr#11783, John Spray)
  • mds: fix EMetaBlob::fullbit xattr dump (pr#11536, Sage Weil)
  • mds: fix false “failing to respond to cache pressure” warning (pr#11373, Yan, Zheng)
  • mds: force client flush snap data before truncating objects (issue#17193, pr#11994, Yan, Zheng)
  • mds: handle bad standby_for_fscids in fsmap (issue#17466, pr#11281, John Spray)
  • mds: ignore ‘session evict’ when mds is replaying log (issue#17801, pr#11813, Yan, Zheng)
  • mds: include legacy client fsid in FSMap print (pr#11283, John Spray)
  • mds: more deterministic timing on frag split/join (issue#17853, pr#12022, John Spray)
  • mds: more unique_pointer changes (pr#11635, Patrick Donnelly)
  • mds: remove “–journal-check” help text (issue#17747, pr#11739, Nathan Cutler)
  • mds: remove duplicated log in handle_client_readdir (pr#11806, Zhi Zhang)
  • mds: remove unused EFragment::OP_ONESHOT (pr#11887, John Spray)
  • mds: repair backtraces during scrub (issue#17639, pr#11578, John Spray)
  • mds: require MAY_SET_POOL to set pool_ns (issue#17798, pr#11789, John Spray)
  • mds: respawn using /proc/self/exe (issue#17531, pr#11362, Patrick Donnelly)
  • mds: revert “mds/Mutation: remove redundant _dump method” (issue#17906, pr#11985, Patrick Donnelly)
  • mds: use parse_filesystem in parse_role to handle exceptions and reuse parsing code (issue#17518, pr#11357, Patrick Donnelly)
  • mds: use projected path construction for access (issue#17858, pr#12063, Patrick Donnelly)
  • mds: use unique_ptr to simplify resource mgmt (pr#11543, Patrick Donnelly)
  • mgr: PyModules.cc: remove duplicated if condition for fs_map (pr#11639, Weibing Zhang)
  • mgr: doc/mgr: fix mgr how long to wait to failover (pr#11550, huanwen ren)
  • mgr: init() return when connection daemons failed && add some err info (pr#11424, huanwen ren)
  • mgr: misc minor changes (issue#17455, pr#11386, xie xingguo)
  • mgr: remove unnecessary C_StdFunction (pr#11883, John Spray)
  • mon: paxos add the timeout function when peon recovery (pr#10359, song baisen)
  • mon: remove the redudant jugement in LogMonitor tick function (pr#10474, song baisen)
  • mon: Do not allow pools to be deleted by default (pr#11665, Wido den Hollander)
  • mon: Forbidden copy and assignment function in monoprequest (pr#9513, song baisen)
  • mon: MonmapMonitor: return success when monitor will be removed (issue#17725, pr#11747, Joao Eduardo Luis)
  • mon: OSDMonitor: fix the check error of pg creating (issue#17169, pr#10916, DesmondS)
  • mon: add missing space in warning message (pr#11361, Patrick Donnelly)
  • mon: clean legacy code (pr#9643, Wei Jin)
  • mon: clear duplicated logic in MDSMonitor (pr#11209, Zhi Zhang)
  • mon: fix “OSDs marked OUT wrongly after monitor failover” (issue#17719, pr#11664, Dong Wu)
  • mon: have mon-specific features & rework internal monmap structures (pr#10907, Joao Eduardo Luis)
  • mon: if crushtool config is empty use internal crush test (pr#11765, Bassam Tabbara)
  • mon: make MDSMonitor tolerant of slow mon elections (issue#17308, pr#11167, John Spray)
  • mon: move case CEPH_MSG_POOLOP to OSDs group (pr#11848, Javeme)
  • mon: osdmap’s epoch should be more than 0 (pr#9859, Na Xie)
  • mon: preserve osd weight when marking osd out, then in (pr#11293, Sage Weil)
  • mon: prevent post-jewel OSDs from booting if require_jewel_osds is not set (pr#11498, Sage Weil)
  • mon: remove ceph-create-keys from mon startup (issue#16036, pr#9345, Owen Synge)
  • mon: remove utime_t param in _dump (pr#12029, Patrick Donnelly)
  • mon: send updated monmap to its subscribers (issue#17558, pr#11456, Kefu Chai)
  • mon: small change on the HealthMonitor start_epoch function (pr#10296, songbaisen)
  • mon: support for building without leveldb + mon mkfs bug fix (pr#11800, Bassam Tabbara)
  • osd: osdc: pass a string reference type to “osdmap->lookup_pg_pool_name” (pr#12219, Leo Zhang)
  • osd: remove the redundant clear method in consume_map function (pr#10553, song baisen)
  • osd: Add config option to disable new scrubs during recovery (issue#17866, pr#11874, Wido den Hollander)
  • osd: EC Overwrites (issue#17668, pr#11701, Tomy Cheru, Samuel Just)
  • osd: Fix read error propogation in ECBackend (issue#17966, pr#12142, Samuel Just)
  • osd: Fix typos in PG::find_best_info (pr#11515, Brad Hubbard)
  • osd: Flush Journal on shutdown (pr#11249, Wido den Hollander)
  • osd: Remove extra call to reg_next_scrub() during splits (issue#16474, pr#11206, David Zafman)
  • osd: Remove unused ‘_lsb_release_’ declarations (pr#11364, Brad Hubbard)
  • osd: a few fast dispatch optimizations (pr#12052, Sage Weil)
  • osd: add a pg _fastinfo attribute to reduce per-io metadata updates (pr#11213, Sage Weil)
  • osd: clean up PeeringWQ::_dequeue(), remove unnecessary variable (pr#12117, Jie Wang)
  • osd: clean up process_peering_events (pr#12009, Jie Wang)
  • osd: cleanup C_CompleteSplits::finish() (pr#12094, Jie Wang)
  • osd: condition OSDMap encoding on features (pr#12166, Sage Weil)
  • osd: do not open pgs when the pg is not in pg_map (issue#17806, pr#11803, Xinze Chi)
  • osd: drop stray debug message (pr#11296, Sage Weil)
  • osd: fix duplicated id of incompat feature “fastinfo” (pr#11588, xie xingguo)
  • osd: fix ec scrub errors (issue#17999, pr#12306, Samuel Just)
  • osd: fix memory leak from EC write workload (issue#18093, pr#12256, Sage Weil)
  • osd: fix rados write op hang (pr#11143, Yunchuan Wen)
  • osd: fix scrub boundary to not include a SnapSet (pr#11255, Samuel Just)
  • osd: fix typo in PG::clear_primary_state (pr#11513, Brad Hubbard)
  • osd: fixes to make rbd on ec work (pr#12305, Samuel Just)
  • osd: handle EC recovery read errors (issue#13937, pr#9304, David Zafman)
  • osd: heartbeat peers need to be updated when a new OSD added into an existed cluster (issue#18004, pr#12069, Pan Liu)
  • osd: kill PG_STATE_SPLITTING (pr#11824, xie xingguo)
  • osd: print log when osd want to kill self (pr#9288, Haomai Wang)
  • osd: remove redudant call of heartbeat_check (pr#12130, Pan Liu)
  • osd: replace hb_out and hb_in with a single hb_peers (issue#18057, pr#12178, Pan Liu)
  • osd: set server-side limits on omap get operations (pr#12059, Sage Weil)
  • performance,bluestore: kv/MemDB: making memdb code adapt to generic maps (pr#11436, Ramesh Chander)
  • performance,bluestore: os/bluestore: allow default to buffered write (pr#11301, Sage Weil)
  • performance,bluestore: os/bluestore: bluestore_cache_meta_ratio = .5 (pr#11919, Sage Weil)
  • performance,bluestore: os/bluestore: refactor bluestore_sync_submit_transaction (pr#11537, Sage Weil)
  • performance,bluestore: os/bluestore: speed up omap-key generation for same onode(the read paths) (pr#11894, xie xingguo)
  • performance,bluestore: os/bluestore: speedup the performance of multi-replication flow by switc… (pr#11844, Pan Liu)
  • performance,cephfs: Fix long stalls when calling ceph_fsync() (issue#17563, pr#11710, Jeff Layton)
  • performance,cleanup: Context: std::move the callback param in FunctionContext’s ctor (pr#11892, Kefu Chai)
  • performance,cleanup: osd/PG.h: move shared ptr instead of copying it (pr#11154, Michal Jarzabek)
  • performance,common: common/config_opts.h: Optimized RocksDB WAL settings. (pr#11530, Mark Nelson)
  • performance,tools: rados: add hints to rados bench (pr#12169, Sage Weil)
  • performance: msg/async: set ms_async_send_inline to false to improve small randread iops (pr#11521, Mark Nelson)
  • pybind,cephfs: ceph_volume_client: fix recovery from partial auth update (issue#17216, pr#11304, Ramana Raja)
  • pybind,cephfs: ceph_volume_client: set an existing auth ID’s default mon caps (issue#17800, pr#11917, Ramana Raja)
  • pybind: avoid “exception ‘int’ object is not iterable” (pr#11532, Javeme)
  • pybind: ceph-rest-api: understand the new style entity_addr_t representation (issue#17742, pr#11686, Kefu Chai)
  • pybind: clean up mgr stuff for flake8 (pr#11314, John Spray)
  • pybind: fix build failure of rgwfile binding (pr#11825, Kefu Chai)
  • rbd: add support for separate image data pool (issue#17424, pr#11355, Jason Dillaman)
  • rbd: expose rbd unmap options (issue#17554, pr#11370, Ilya Dryomov)
  • rbd: fix parsing of group and image specific pools (pr#11632, Victor Denisov)
  • rbd: journal: do not prematurely flag object recorder as closed (issue#17590, pr#11520, Jason Dillaman)
  • rbd: krbd: kernel client expects ip[:port], not an entity_addr_t (pr#11902, Ilya Dryomov)
  • rbd: rbd-mirror HA: move librbd::image_watcher::Notifier to librbd::object_watcher (issue#17017, pr#11290, Mykola Golub)
  • rbd: rbd-mirror: recovering after split-brain (issue#16991, issue#18051, pr#12212, Mykola Golub)
  • rbd: rbd-mirror: snap protect of non-layered image results in split-brain (issue#16962, pr#11744, Mykola Golub)
  • rbd: rbd-nbd: disallow mapping images >2TB in size (issue#17219, pr#11741, Mykola Golub)
  • rbd: rbd-nbd: restart parent process logger after forking (issue#18070, pr#12222, Jason Dillaman)
  • rbd: rbd-nbd: support disabling auto-exclusive lock transition logic (issue#17488, pr#11438, Mykola Golub)
  • rbd: use snap_remove implementation from internal (pr#12035, Victor Denisov)
  • rgw: Anonymous users shouldn’t be able to access requester pays buckets. (issue#17175, pr#11719, Zhang Shaowen)
  • rgw: Class member cookie is not initialized correctly in some coroutine’s constructor. (pr#11673, Zhang Shaowen)
  • rgw: Don’t loop forever when reading data from 0 sized segment. (issue#17692, pr#11567, Marcus Watts)
  • rgw: RGW Python bindings - use explicit array (pr#11831, Daniel Gryniewicz)
  • rgw: RGWBucketSyncStatusManager uses existing async_rados (issue#18083, pr#12229, Casey Bodley)
  • rgw: RGWHTTPArgs::get_str() - return argument string that was set. (pr#10672, Marcus Watts)
  • rgw: RGWSimpleRadosReadCR tolerates empty reads (issue#17568, pr#11504, Casey Bodley)
  • rgw: Replacing ‘+’ with “%20” in canonical uri for s3 v4 auth. (issue#17076, pr#10919, Pritha Srivastava)
  • rgw: Update version of civetweb to 1.8 (pr#11343, Marcus Watts)
  • rgw: Wip rgwfile pybind (pr#11624, Haomai Wang)
  • rgw: [RGW] Wip rgw compression (pr#11494, Alyona Kiseleva, Adam Kupczyk, Casey Bodley)
  • rgw: add documentation for upgrading with rgw_region_root_pool (pr#12138, Orit Wasserman)
  • rgw: add recovery procedure for upgrade to older version of jewel (issue#17820, pr#11827, Orit Wasserman)
  • rgw: add rgw_compression_type=random for teuthology testing (pr#11901, Casey Bodley)
  • rgw: add suport for creating S3 type subuser of admin rest api (issue#16682, pr#10325, snakeAngel2015)
  • rgw: add support for the prefix parameter in account listing of Swift API (issue#17931, pr#12047, Radoslaw Zarzynski)
  • rgw: also approve, passed teuthology (many false positives in several classes) (issue#17985, pr#12224, Yehuda Sadeh, Sage Weil)
  • rgw: bucket resharding (issue#17550, pr#11230, Yehuda Sadeh)
  • rgw: clean up RGWShardedOmapCRManager on early return (issue#17571, pr#11505, Casey Bodley)
  • rgw: clear data_sync_cr if RGWDataSyncControlCR fails (issue#17569, pr#11506, Casey Bodley)
  • rgw: compilation of the ASIO front-end is enabled by default. (pr#12073, Radoslaw Zarzynski)
  • rgw: compression uses optional::emplace instead of in-place factories (pr#12021, Radoslaw Zarzynski)
  • rgw: conform to the standard usage of string::find (pr#10086, Yan Jun)
  • rgw: delete entries_index in RGWFetchAllMetaCR (issue#17812, pr#11816, Casey Bodley)
  • rgw: don’t store empty chains in gc (issue#17897, pr#11969, Yehuda Sadeh)
  • rgw: dont set CURLOPT_UPLOAD for GET requests (issue#17822, pr#12105, Casey Bodley)
  • rgw: dump objects in RGWBucket::check_object_index() (issue#14589, pr#11324, Yehuda Sadeh)
  • rgw: dump remaining coroutines when cr deadlock is detected (pr#11580, Casey Bodley)
  • rgw: extract host name from host:port string (issue#17788, pr#11751, Yehuda Sadeh)
  • rgw: fix RGWSimpleRadosLockCR set_description() (pr#11961, Tianshan Qu)
  • rgw: fix for bucket delete racing with mdlog sync (issue#17698, pr#11648, Casey Bodley)
  • rgw: fix for passing temporary in InitBucketSyncStatus (issue#17661, pr#11594, Casey Bodley)
  • rgw: fix for unsafe change of rgw_zonegroup (issue#17962, pr#12075, Casey Bodley)
  • rgw: fix missing master zone for a single zone zonegroup (issue#17364, pr#11965, Orit Wasserman)
  • rgw: fix osd crashes when execute “radosgw-admin bi list –max-entries=1” command (issue#17745, pr#11697, weiqiaomiao)
  • rgw: fix put_acls for objects starting and ending with underscore (issue#17625, pr#11566, Orit Wasserman)
  • rgw: fix the field ‘total_time’ of log entry in log show opt (issue#17598, pr#11425, weiqiaomiao)
  • rgw: fix uncompressed object size deduction in RGWRados::copy_obj_data. (issue#17803, pr#11794, Radoslaw Zarzynski)
  • rgw: fixes for virtual hosting of buckets (issue#17440, issue#15975, issue#17136, pr#11280, Casey Bodley, Robin H. Johnson)
  • rgw: ftw (issue#17888, pr#12262, Casey Bodley)
  • rgw: get_system_obj does not use result of get_system_obj_state (issue#17580, pr#11444, Casey Bodley)
  • rgw: get_zonegroup() uses “default” zonegroup if empty (issue#17372, pr#11207, Yehuda Sadeh)
  • rgw: handle Swift auth errors in a way compatible with new Tempests. (issue#16590, pr#10021, Radoslaw Zarzynski)
  • rgw: handle empty POST condition (issue#17635, pr#11581, Yehuda Sadeh)
  • rgw: json encode/decode index_type, allow modification (issue#17755, pr#11707, Yehuda Sadeh)
  • rgw: loses realm/period/zonegroup/zone data: period overwritten if somewhere in the cluster is still running Hammer (issue#17371, pr#11426, Orit Wasserman)
  • rgw: metadata sync info should be shown at master zone of slave zoneg… (issue#18091, pr#12187, Jing Wenjun)
  • rgw: minor cleanup (pr#10057, Yan Jun)
  • rgw: move compression config into zone placement (pr#12113, Casey Bodley)
  • rgw: multipart upload copy (issue#12790, pr#11269, Yehuda Sadeh, Javier M. Mellid)
  • rgw: need to close_section in lc list op (pr#12232, weiqiaomiao)
  • rgw: radosgw-admin: more on placement configuration (issue#18078, pr#12242, Casey Bodley)
  • rgw: region conversion respects pre-existing rgw_region_root_pool (issue#17963, pr#12076, Casey Bodley)
  • rgw: remove a redundant judgement when listng objects. (pr#10849, zhangshaowen)
  • rgw: remove circular reference in RGWAsyncRadosRequest (issue#17793, issue#17792, pr#11815, Casey Bodley)
  • rgw: remove suggestion to upgrade libcurl (pr#11630, Casey Bodley)
  • rgw: remove unused variable “ostr” in rgw_b64.h and fix the comment (pr#11329, Weibing Zhang)
  • rgw: revert unintentional change to civetweb (pr#12004, Bassam Tabbara)
  • rgw: rgw multisite: fix the increamtal bucket sync init (issue#17624, pr#11553, Zengran Zhang)
  • rgw: rgw multisite: use a rados lock to coordinate data log trimming (pr#10546, Casey Bodley)
  • rgw: rgw-admin: new commands to control placement (issue#18078, pr#12230, Yehuda Sadeh)
  • rgw: rgw_file: apply missed base64 try-catch (issue#17663, pr#11671, Matt Benjamin)
  • rgw: rgw_rados.cc fix shard_num format for snprintf (pr#11493, Weibing Zhang)
  • rgw: set duration for lifecycle lease (issue#17965, pr#12231, Yehuda Sadeh)
  • rgw: should assign ‘olh_bl” to state.attrset[RGW_ATTR_OLH_ID_TAG] instead of ‘bl’ (pr#10239, weiqiaomiao)
  • rgw: skip empty http args in method parse() to avoid extra effort (pr#11989, Guo Zhandong)
  • rgw: support for x-robots-tag header (issue#17790, pr#11753, Yehuda Sadeh)
  • rgw: sync modules, metadata search (pr#10731, Yehuda Sadeh)
  • rgw: verified that failed check is in osd-scrub-repair.sh (issue#17850, pr#11881, Matt Benjamin)
  • rgw:bugfix for deleting objects name beginning and ending with underscores of one bucket using POST method of AWS’s js sdk. (issue#17888, pr#11982, root)
  • rgw: frontend subsystem rework (pr#10767, Radoslaw Zarzynski, Casey Bodley, Matt Benjamin)
  • tests,bluestore: os/test/store_test: fix legacy bluestore cache settings application (pr#11915, Igor Fedotov)
  • tests,cleanup,rbd: test/librbd: in test_notify set object-map and fast-diff features by default (pr#11821, Mykola Golub)
  • tests,cleanup: test/osd-scrub-repair.sh: use repair() instead of “ceph pg repair” (pr#12036, Kefu Chai)
  • tests,cleanup: test/osd/osd-fast-mark-down.sh: remove unnecessary teardown() calls (pr#12101, Kefu Chai)
  • tests,cleanup: test/rados: remove unused bufferlist variable (pr#10221, Yan Jun)
  • tests,cleanup: test_bloom_filter.cc: Fix a mismatch for the random_seed parameter (pr#11774, Willem Jan Withagen)
  • tests,common: test: add perf-reset test in test/perf_counters.cc (pr#8948, wangsongbo)
  • tests,rbd: qa/workunits/rbd: simplify running nbd test under build env (pr#11781, Mykola Golub)
  • tests,rbd: qa/workunits/rbd: use image id when probing for image presence (issue#18048, pr#12195, Mykola Golub)
  • tests,rbd: rbd-mirror: improve resiliency of stress test case (issue#17416, pr#11326, Jason Dillaman)
  • tests,rbd: test: TestJournalReplay test cases need to wait for event commit (issue#17566, pr#11480, Jason Dillaman)
  • tests,rbd: test: new librbd discard after write test case (pr#11645, Jason Dillaman)
  • tests,rbd: test: skip TestLibRBD.DiscardAfterWrite if skip partial discard enabled (issue#17750, pr#11703, Jason Dillaman)
  • tests: Fix racey test by setting noout flag (tracker 17757) (issue#17757, pr#11715, David Zafman)
  • tests: Minor clean-ups (pr#12048, David Zafman)
  • tests: TestErasureCodePluginJerasure must stop the log thread (issue#17561, pr#11721, Loic Dachary)
  • tests: The default changed to disallow pool delete as of #11665; the tests assume it’s allowed. (pr#11897, Sage Weil)
  • tests: Turn off tests again due to Jenkins failures (pr#12217, David Zafman)
  • tests: ceph-disk: force debug monc = 0 (issue#17607, pr#11534, Loic Dachary)
  • tests: ceph_objectstore_tool.py: Don’t use btrfs on FreeBSD (pr#10507, Willem Jan Withagen)
  • tests: ceph_test_objectstore: fix Rename test (pr#12261, Sage Weil)
  • tests: check hostname –fqdn sanity before running make check (issue#18134, pr#12297, Nathan Cutler)
  • tests: disable failing tests (issue#17561, issue#17757, pr#11714, Loic Dachary)
  • tests: disable the echo when running get_timeout_delays() (pr#12180, Kefu Chai)
  • tests: facilitate background process debug in ceph-helpers.sh (issue#17830, pr#12183, Loic Dachary)
  • tests: fix ceph-helpers.sh wait_for_clean delays (issue#17830, pr#12095, Loic Dachary)
  • tests: fix osd-scrub-repair.sh (pr#12072, David Zafman)
  • tests: minor make check cleanup (pr#12146, David Zafman)
  • tests: no python3 tests for ceph-disk (issue#17923, pr#12025, Loic Dachary)
  • tests: os/memstore, os/filestore: fix store_test’s to satisfy rm_coll behavi… (pr#11558, Igor Fedotov)
  • tests: os/memstore: fix a mem leak in MemStore::Collection::create_object() (pr#12201, Kefu Chai)
  • tests: osd-crush.sh must retry crush dump (issue#17919, pr#12016, Loic Dachary)
  • tests: osd-scrub-repair.sh abort if add_something fails (pr#12172, Loic Dachary)
  • tests: pin flake8 to avoid behavior changes (issue#17898, pr#11971, Loic Dachary)
  • tests: qa/workunits/rados/test_envlibrados_for_rocksdb: force librados-dev install (pr#11941, Sage Weil)
  • tests: save 9 characters for asok paths (issue#16014, pr#12066, Loic Dachary)
  • tests: sync ceph-erasure-code-corpus for using ‘arch’ not ‘uname -p’ (pr#12024, Kefu Chai)
  • tests: test/ceph_crypto: do not read ceph.conf in global_init() (issue#18128, pr#12318, Kefu Chai)
  • tests: test/ceph_test_msgr: do not use Message::middle for holding transient… (issue#17728, pr#11680, Kefu Chai)
  • tests: test/encoding/readable.sh: fix shell script warning (pr#11527, Willem Jan Withagen)
  • tests: test/osd-fast-mark-down.sh: wrong assumption on first subtest (pr#12123, Piotr Dałek)
  • tests: test/osd-scrub-repair.sh: Use test case specific object names to help… (pr#11449, David Zafman)
  • tests: test/osd/osd-fast-mark-down.sh: introduce large timeout (issue#17918, pr#12019, Piotr Dałek)
  • tests: test: ceph-objectstore-tool: should import platform before using it (pr#12038, Kefu Chai)
  • tests: test: disable osd-scrub-repair and test-erasure-eio (issue#17830, pr#12058, Loic Dachary, Dan Mick)
  • tests: test: disable osd-scrub-repair and test-erasure-eio (pr#11979, Dan Mick)
  • tests: test: enable unittest_dns_resolve (pr#12209, Kefu Chai)
  • tests: test: fix test-erasure-eio and osd-scrub-repair races (17830) (pr#11926, David Zafman)
  • tests: test: test-erasure-eio.sh fix recovery testing and enable it (pr#12170, David Zafman)
  • tests: test_subman.sh: Don’t use –tmpdir (pr#11384, Willem Jan Withagen)
  • tests: use shorter directories for tests (issue#16014, pr#12046, Loic Dachary)
  • tests: vstart.sh: fix bashism in the script (pr#11889, Mykola Golub)
  • tests: workunits/ceph-helpers.sh: FreeBSD returns a different errorstring. (pr#12005, Willem Jan Withagen)
  • tests: qa/workunits/cephtool/test.sh: FreeBSD has no distro. (pr#11702, Willem Jan Withagen)
  • tests: test/store_test: fix errors on the whole test suite run caused by the… (pr#11427, Igor Fedotov)
  • tools: ceph-disk: fix flake8 errors (issue#17898, pr#11973, Ken Dreyer)
  • tools: Adding ceph-lazy tool (pr#11055, gcharot)
  • tools: ceph_detect_init: add support for Alpine (pr#8316, John Coyle)
  • tools: rados: fix segfaults when run without –pool (issue#17684, pr#11633, David Disseldorp)
  • tools: script/run-coverity: update (pr#12162, Sage Weil)
  • tools: script/sepia_bt.sh: a script to prepare for debugging on teuthology@sepia (pr#12012, Kefu Chai)
  • tools: src/vstart.sh: Only execute btrfs if it is available (pr#11683, Willem Jan Withagen)
  • tools: tools/ceph-monstore-update-crush.sh: FreeBSD getopt is not compatible… (pr#11525, Willem Jan Withagen)
  • tools: ceph-create-keys should not try forever to do things (issue#17753, issue#12649, issue#16255, pr#11749, Alfredo Deza)

v11.0.2

This development checkpoint release includes a lot of changes and improvements to Kraken. This is the first release introducing ceph-mgr, a new daemon which provides additional monitoring & interfaces to external monitoring/management systems. There are also many improvements to bluestore, RGW introduces sync modules, copy part for multipart uploads and metadata search via elastic search as a tech preview.

Notable Changes

  • bluestore: os/bluestore: misc fixes (pr#10953, Sage Weil)
  • bluestore: os/bluestore/BlueFS: do not op_file_update deleted files (pr#10686, Sage Weil)
  • bluestore: bluestore/BitAllocator: Fix deadlock with musl libc (pr#10634, John Coyle)
  • bluestore: bluestore/BlueFS: revert direct IO for WRITER_WAL (pr#11059, Mark Nelson)
  • bluestore: ceph-disk: support creating block.db and block.wal with customized size for bluestore (pr#10135, Zhi Zhang)
  • bluestore: compressor/zlib: switch to raw deflate (pr#11122, Piotr Dałek)
  • bluestore: do not use freelist to track bluefs_extents (pr#10698, Sage Weil)
  • bluestore: initialize csum_order properly (pr#10728, xie xingguo)
  • bluestore: kv/rocksdb: dump transactions on error (pr#11042, Somnath Roy)
  • bluestore: kv: In memory keyvalue db implementation (pr#9933, Ramesh Chander)
  • bluestore: os/bluestore/BitAllocator: batch is_allocated bit checks (pr#10704, Ramesh Chander)
  • bluestore: os/bluestore/BlueFS: For logs of rocksdb & bluefs only use directio. (pr#11012, Jianpeng Ma)
  • bluestore: os/bluestore/BlueFS: async compaction (pr#10717, Varada Kari, Sage Weil)
  • bluestore: os/bluestore/BlueFS: do not hold internal lock while waiting for IO (pr#9898, Varada Kari, Sage Weil)
  • bluestore: os/bluestore/BlueFS: do not start racing async compaction (pr#11010, Sage Weil)
  • bluestore: os/bluestore/BlueFS: don’t inc l_bluefs_files_written_wal if overwrite. (pr#10143, Jianpeng Ma)
  • bluestore: os/bluestore/BlueFS: factor unflushed log into runway calculation (pr#10966, Sage Weil)
  • bluestore: os/bluestore/BlueFS: fix async compaction logging bug (pr#10964, Sage Weil)
  • bluestore: os/bluestore/BlueFS: log dirty files at sync time (pr#11108, Sage Weil)
  • bluestore: os/bluestore/BlueFS: only extend extent on same bdev (pr#11023, Sage Weil)
  • bluestore: os/bluestore/BlueFS: prevent concurrent async compaction (pr#11095, Sage Weil)
  • bluestore: os/bluestore/BlueFS: release completed aios (pr#11268, Sage Weil)
  • bluestore: os/bluestore/BlueFS: use StupidAllocator; fix async compaction bug (pr#11087, Sage Weil)
  • bluestore: os/bluestore/bluefs: add file refs check (pr#10863, xie xingguo)
  • bluestore: os/bluestore/bluefs: use map to track dirty files (pr#10923, xie xingguo)
  • bluestore: os/bluestore/bluefs_types: fix extent operator<< (pr#10685, Sage Weil)
  • bluestore: os/bluestore/bluestore_types: uint64_t for ref_map (pr#11267, Sage Weil)
  • bluestore: os/bluestore: Hint based allocation in bitmap Allocator (pr#10978, Ramesh Chander)
  • bluestore: os/bluestore: Remove bit alloc Woverloaded-virtual warnings (pr#10082, Ramesh Chander)
  • bluestore: os/bluestore: a few cleanups (pr#11192, xie xingguo)
  • bluestore: os/bluestore: a few fixes about the global csum setting (pr#11195, xie xingguo)
  • bluestore: os/bluestore: add assert to compress_extent_map (pr#11240, Sage Weil)
  • bluestore: os/bluestore: add cache-related stats (pr#10961, xie xingguo)
  • bluestore: os/bluestore: add checks and kill unreachable code (pr#11077, xie xingguo)
  • bluestore: os/bluestore: add error injection (pr#11151, Sage Weil)
  • bluestore: os/bluestore: add max blob size; fix compressed min blob size logic (pr#11239, Sage Weil)
  • bluestore: os/bluestore: add multiple finishers to bluestore (pr#10780, Ilsoo Byun)
  • bluestore: os/bluestore: add perf counters for compression effectiveness and space utilization measurements (pr#10449, Igor Fedotov)
  • bluestore: os/bluestore: apply “small encoding” for onode_t::extents map (pr#10018, Igor Fedotov)
  • bluestore: os/bluestore: avoid blob_t reencode when unchanged (pr#10768, Sage Weil)
  • bluestore: os/bluestore: binary search specified shard (pr#11245, xie xingguo)
  • bluestore: os/bluestore: change algorithm of compression header from string to int (pr#10137, xie xingguo)
  • bluestore: os/bluestore: compaction fixes (pr#11279, Sage Weil)
  • bluestore: os/bluestore: drop redundant call of get_blob (pr#11275, xie xingguo)
  • bluestore: os/bluestore: drop unreferenced spanning blobs (pr#11212, Sage Weil)
  • bluestore: os/bluestore: fix a few leaks (pr#11068, Sage Weil)
  • bluestore: os/bluestore: fix a few memory utilization leaks and wasters (pr#11011, Sage Weil)
  • bluestore: os/bluestore: fix crash in decode_some() (pr#11312, Sage Weil)
  • bluestore: os/bluestore: fix decoding hash of bnode (pr#10773, xie xingguo)
  • bluestore: os/bluestore: fix fsck() won’t catch stray shard sometimes (pr#11219, xie xingguo)
  • bluestore: os/bluestore: fix gc when blob extends past eof (pr#11282, Sage Weil)
  • bluestore: os/bluestore: fix improper local var variable in collection_list meth… (pr#10680, Igor Fedotov)
  • bluestore: os/bluestore: fix incorrect pool decoding of bnode (pr#10117, xie xingguo)
  • bluestore: os/bluestore: fix leak of result-checking of _fsck_check_extents (pr#11040, xie xingguo)
  • bluestore: os/bluestore: fix leaks in our use of rocksdb (pr#11250, Sage Weil)
  • bluestore: os/bluestore: fix memory leak during bit_alloc testing (pr#9935, xie xingguo)
  • bluestore: os/bluestore: fix offset bug in _do_write_small. (pr#11030, amoxic)
  • bluestore: os/bluestore: fix onode cache addition race (pr#11300, Sage Weil)
  • bluestore: os/bluestore: fix potential access violation (pr#10362, xie xingguo)
  • bluestore: os/bluestore: fix potential access violation during rename (pr#11033, xie xingguo)
  • bluestore: os/bluestore: fix shard_info::dump() (pr#11061, xie xingguo)
  • bluestore: os/bluestore: fix spanning blob leak from ~ExtentMap (pr#11223, Somnath Roy)
  • bluestore: os/bluestore: fix statfs tests (pr#10910, Sage Weil)
  • bluestore: os/bluestore: fix when block device is not a multiple of the block size (pr#10844, Sage Weil)
  • bluestore: os/bluestore: fix write_big counter and some more cleanups (pr#11344, xie xingguo)
  • bluestore: os/bluestore: fix/improve csum error message (pr#10938, Sage Weil)
  • bluestore: os/bluestore: garbage collect partially overlapped blobs (pr#11232, Roushan Ali)
  • bluestore: os/bluestore: get rid off “isa-l” type in ZLibCompressor ctor (pr#10931, xie xingguo)
  • bluestore: os/bluestore: gifting bluefs more carefully (pr#10950, xie xingguo)
  • bluestore: os/bluestore: honour allow-eio flag; use global compressor if possible (pr#10970, xie xingguo)
  • bluestore: os/bluestore: improve required compression threshold (pr#10080, xie xingguo)
  • bluestore: os/bluestore: include bluefs space in statfs result (pr#10795, Sage Weil)
  • bluestore: os/bluestore: introduce power 2 macros for block alignment and rounding (pr#10128, xie xingguo)
  • bluestore: os/bluestore: make assert conditional with macro for allocator (pr#11014, Ramesh Chander)
  • bluestore: os/bluestore: make cache settings process-wide (pr#11295, Sage Weil)
  • bluestore: os/bluestore: make clone_range copy-on-write (pr#11106, Sage Weil)
  • bluestore: os/bluestore: make onode keys more efficient (and sort correctly) (pr#11009, xie xingguo, Sage Weil)
  • bluestore: os/bluestore: make trim() of 2Q cache more fine-grained (pr#9946, xie xingguo)
  • bluestore: os/bluestore: make zone/span size of bitmap-allocator configurable (pr#10040, xie xingguo)
  • bluestore: os/bluestore: misc cleanup and test fixes (pr#11346, Igor Fedotov)
  • bluestore: os/bluestore: misc cleanups (pr#10201, xie xingguo)
  • bluestore: os/bluestore: misc cleanups (pr#11197, Haomai Wang)
  • bluestore: os/bluestore: misc fixes (pr#9999, xie xingguo)
  • bluestore: os/bluestore: misc fixes (pr#10771, xie xingguo)
  • bluestore: os/bluestore: misc. fixes (pr#11129, xie xingguo)
  • bluestore: os/bluestore: more cleanups (pr#11235, xie xingguo)
  • bluestore: os/bluestore: more cleanups and fixes (pr#11210, xie xingguo)
  • bluestore: os/bluestore: narrow condition of sanity check when get_object_key() (pr#11149, xie xingguo)
  • bluestore: os/bluestore: narrow lock scope for cache trim() (pr#10410, xie xingguo)
  • bluestore: os/bluestore: optimize intrusive sets for size. (pr#11319, Mark Nelson)
  • bluestore: os/bluestore: pack a few more in-memory types (pr#11328, Sage Weil)
  • bluestore: os/bluestore: precondition rocksdb/bluefs during mkfs (pr#10814, Sage Weil)
  • bluestore: os/bluestore: prevent extent merging across shard boundaries (pr#11216, Sage Weil)
  • bluestore: os/bluestore: print bluefs_extents in hex (pr#10689, Sage Weil)
  • bluestore: os/bluestore: proper handling for csum enable/disable settings (pr#10431, Igor Fedotov)
  • bluestore: os/bluestore: refactor dirty blob tracking along with some related fixes (pr#10215, Igor Fedotov)
  • bluestore: os/bluestore: remove cmake warning from extent alloc functions (issue#16766, pr#10492, Ramesh Chander)
  • bluestore: os/bluestore: remove deferred_csum machinery (pr#11243, Sage Weil)
  • bluestore: os/bluestore: remove some copy-pastes (pr#11017, Igor Fedotov)
  • bluestore: os/bluestore: replace store with logger in Cache (pr#10969, xie xingguo)
  • bluestore: os/bluestore: shard extent map (pr#10963, Sage Weil)
  • bluestore: os/bluestore: simplify LRUCache::trim() (pr#10109, xie xingguo)
  • bluestore: os/bluestore: simplify calculation of collection key range (pr#11166, xie xingguo)
  • bluestore: os/bluestore: sloppy reshard boundaries to avoid spanning blobs (pr#11263, Sage Weil)
  • bluestore: os/bluestore: still more cleanups (pr#11274, xie xingguo)
  • bluestore: os/bluestore: switch spanning_blob_map to std::map (pr#11336, Sage Weil)
  • bluestore: os/bluestore: trim cache on reads (pr#10095, Sage Weil)
  • bluestore: os/bluestore: try to split blobs instead of spanning them (pr#11264, Sage Weil)
  • bluestore: os/bluestore: upgrade compression settings to atomics (pr#11244, xie xingguo)
  • bluestore: os/bluestore: use small encoding for bluefs extent and fnode (pr#10375, xie xingguo)
  • bluestore: os/bluestore: yet another statfs test fix (pr#10926, Igor Fedotov)
  • bluestore: os/bluestore:Fix size calculation in bitallocator (pr#10377, Ramesh Chander)
  • bluestore: os/bluestore: fix error handling of posix_fallocate() (pr#10277, xie xingguo)
  • bluestore: os/bluestore: use BE for gifting and reclaiming from bluefs (pr#10294, xie xingguo)
  • bluestore: os/bluestore: get rid off blob’s ref_map for non-shared objects (pr#9988, Igor Fedotov)
  • bluestore: kv/MemDB: fix wrong output target and add sanity checks (pr#10358, xie xingguo)
  • bluestore: os/bluestore: add a boundary check of cache read (pr#10349, xie xingguo)
  • bluestore: os/bluestore: fix bitmap allocating failure if max_alloc_size is 0 (pr#10379, xie xingguo)
  • bluestore: os/bluestore: misc fixes (pr#10327, xie xingguo)
  • bluestore: kv/MemDB: misc fixes and cleanups (pr#10295, xie xingguo)
  • bluestore: rocksdb: pull up to master (4.12 + a few patches) (pr#11069, Sage Weil)
  • bluestore: test/store_test: extend Bluestore compression test to verify compress… (pr#11080, Igor Fedotov)
  • bluestore: test/store_test: fix statfs results check to consider SSD min_alloc_size (pr#11096, Igor Fedotov)
  • bluestore: unittest_bluestore_types: a few more types for sizeof (pr#11323, Sage Weil)
  • bluestore: ceph_test_objectstore: test clone_range and fix a few bugs (pr#11103, Sage Weil)
  • bluestore: kv: fix some bugs in memdb (pr#10550, Haodong Tang)
  • bluestore: os/bluestore/BlueFS: disable buffered io (pr#10766, Sage Weil)
  • build/ops,bluestore: test/objectstore/CMakeLists.txt: fix libaio conditional (pr#11008, Sage Weil)
  • build/ops,cephfs: client: added def for ACCESSPERMS when undefined (pr#9835, John Coyle)
  • build/ops,cephfs: deb: merge ceph-fs-common into ceph-common (issue#16808, pr#10433, Nathan Cutler)
  • build/ops,cephfs: man/Makefile-client.am: drop legacy cephfs tool (pr#10444, Nathan Cutler)
  • build/ops,cephfs: test: break out librados-using cephfs test (issue#16556, pr#10452, John Spray)
  • build/ops,common: common/dns_resolve: use ns_name_uncompress instead of ns_name_ntop (pr#9755, John Coyle)
  • build/ops,common: msg/async/net_handler.cc: make it more compatible with BSDs (pr#10029, Willem Jan Withagen)
  • build/ops,pybind: Include Python 3 bindings into the cmake build and make packages for them (pr#10208, Oleh Prypin)
  • build/ops,rbd: systemd: add install section to rbdmap.service file (pr#10942, Jelle vd Kooij)
  • build/ops,rbd: test: fix rbd-mirror workunit test cases for cmake (pr#10076, Jason Dillaman)
  • build/ops,rgw: rgw-ldap: add ldap lib to rgw lib deps based on build config (pr#9852, John Coyle)
  • build/ops: .gitignore: Add .pyc files globally (pr#11076, Brad Hubbard)
  • build/ops: Allow compressor build without YASM (pr#10937, Daniel Gryniewicz)
  • build/ops: CMake - stop pip checking for updates (pr#10161, Daniel Gryniewicz)
  • build/ops: CMakeList.txt: link ceph_objectstore_tool against fuse only if WITH_FUSE (pr#10149, Willem Jan Withagen)
  • build/ops: Cmake: fix using CMAKE_DL_LIBS instead of dl (pr#10317, Willem Jan Withagen)
  • build/ops: CmakeLists.txt: use LIB_RESOLV instead of resolv. (pr#10972, Willem Jan Withagen)
  • build/ops: Enable builds without ceph-test subpackage (issue#16776, pr#10872, Ricardo Dias)
  • build/ops: Fix libatomic_ops-devel in SUSE and specfile cleanup (issue#16645, pr#10363, Nathan Cutler)
  • build/ops: FreeBSD: Define CLOCK_REALTIME_COARSE in compat.h (pr#10506, Willem Jan Withagen)
  • build/ops: Gentoo support for ceph-disk / ceph-detect-init; pip speedup (pr#8317, Robin H. Johnson)
  • build/ops: LTTng-UST disabled for openSUSE (issue#16937, pr#10592, Michel Normand)
  • build/ops: Port ceph-brag to Python 3 (+ small fixes) (pr#10064, Oleh Prypin)
  • build/ops: Removes remaining reference to WITH_MDS (pr#10286, J. Eric Ivancich)
  • build/ops: Stop hiding errors from run-tox.sh (issue#17267, pr#11071, Dan Mick)
  • build/ops: Wip kill warnings (pr#10881, Kefu Chai)
  • build/ops: autogen: Fix rocksdb error when make dist (pr#10988, tianqing)
  • build/ops: autotools: remove a few other remaining traces (pr#11019, Sage Weil)
  • build/ops: build scripts: Enable dnf for Fedora >= 22 (pr#11105, Brad Hubbard)
  • build/ops: build: drop dryrun of autogen.sh from run-cmake-check.sh script (pr#11013, xie xingguo)
  • build/ops: ceph-disk tests: Let missing python interpreters be non-fatal (pr#11072, Dan Mick)
  • build/ops: ceph-disk: Compatibility fixes for Python 3 (pr#9936, Anirudha Bose)
  • build/ops: ceph-disk: do not activate device that is not ready (issue#15990, pr#9943, Boris Ranto)
  • build/ops: ceph-osd-prestart.sh: check existence of OSD data directory (issue#17091, pr#10809, Nathan Cutler)
  • build/ops: ceph-osd-prestart.sh: drop Upstart-specific code (issue#15984, pr#9667, Nathan Cutler)
  • build/ops: ceph-post-file replace DSA with RSA ssh key (issue#14267, pr#10800, David Galloway)
  • build/ops: ceph.spec.in: don’t try to package __pycache__ for SUSE (issue#17106, pr#10805, Tim Serong)
  • build/ops: ceph.spec.in: fix rpm package building error (pr#10115, runsisi)
  • build/ops: changes for Clang and yasm (pr#10417, Willem Jan Withagen)
  • build/ops: cmake changes (pr#10351, Kefu Chai)
  • build/ops: cmake changes (pr#10059, Kefu Chai)
  • build/ops: cmake changes (pr#10279, Kefu Chai)
  • build/ops: cmake changes (issue#16804, pr#10391, Kefu Chai)
  • build/ops: cmake changes (pr#10361, Kefu Chai)
  • build/ops: cmake changes (pr#10112, Kefu Chai)
  • build/ops: cmake changes (pr#10489, Kefu Chai)
  • build/ops: cmake changes (pr#10283, Kefu Chai)
  • build/ops: cmake changes (issue#16504, pr#9995, Kefu Chai, Sage Weil, Dan Mick)
  • build/ops: cmake changes (pr#9975, Kefu Chai)
  • build/ops: cmake changes related to LTTng-UST (pr#10917, Kefu Chai)
  • build/ops: common/compressor: add libcommon as a dependency for zlib and snappy p… (pr#11083, Igor Fedotov)
  • build/ops: compat: add abstractions for non portable pthread name funcs (pr#9763, John Coyle)
  • build/ops: configure.ac: Use uname instead of arch. (pr#9766, John Coyle)
  • build/ops: configure.ac: add _LIBS variables for boost_system and boost_iostreams (pr#9848, John Coyle)
  • build/ops: configure.ac: fix res_query detection (pr#9820, John Coyle)
  • build/ops: debian and cmake cleanups (pr#10788, Kefu Chai)
  • build/ops: debian: bump compat to 9 (issue#16744, pr#10366, Kefu Chai)
  • build/ops: debian: python related changes (pr#10322, Kefu Chai)
  • build/ops: debian: replace SysV rbdmap with systemd service (pr#10435, Ken Dreyer)
  • build/ops: debian: set libexec dir to correct value as autotools did (pr#10096, Daniel Gryniewicz)
  • build/ops: do_cmake.sh: set up initial plugin dir (pr#10067, Sage Weil)
  • build/ops: fix /etc/os-release parsing in install-deps.sh (pr#10981, Nathan Cutler)
  • build/ops: fix the rpm build for centos (pr#10289, Oleh Prypin, Josh Durgin)
  • build/ops: force Python 3 packages to build in SUSE (issue#17106, pr#10894, Dominique Leuenberger, Nathan Cutler)
  • build/ops: install-deps.sh based on /etc/os-release (issue#16522, pr#10017, Jan Fajerski)
  • build/ops: install-deps: exit non-zero when we cannot match distro (pr#10941, Gregory Meno)
  • build/ops: isa-l: add isa-l library as a submodule (pr#10066, Alyona Kiseleva)
  • build/ops: jerasure: include generic objects in neon jerasure lib (like sse3/4) (pr#10879, Dan Mick)
  • build/ops: logrotate: Run as root/ceph (pr#10587, Boris Ranto)
  • build/ops: lttng: build the tracepoint provider lib from .c files in repo (pr#11196, Kefu Chai)
  • build/ops: make-dist: generate ceph.spec (issue#16501, pr#9986, Sage Weil)
  • build/ops: make-dist: set rpm_release correctly for release builds (pr#11334, Dan Mick)
  • build/ops: make-srpm.sh: A simple script to make the srpm for ceph. (pr#11064, Ira Cooper)
  • build/ops: makefile: change librgw_file_* as check_PROGRAMS (issue#16646, pr#10229, Brad Hubbard)
  • build/ops: remove autotools (pr#11007, Sage Weil)
  • build/ops: rpm: Do not start targets on update (pr#9968, Nathan Cutler, Boris Ranto)
  • build/ops: rpm: ExclusiveArch for suse_version (issue#16936, pr#10594, Michel Normand)
  • build/ops: rpm: Fix creation of mount.ceph symbolic link for SUSE distros (pr#10353, Ricardo Dias)
  • build/ops: rpm: add udev BuildRequires to provide /usr/lib/udev directory (issue#16949, pr#10608, Nathan Cutler)
  • build/ops: rpm: build rpm with cmake (pr#10016, Kefu Chai)
  • build/ops: rpm: drop obsolete libs-compat and python-ceph-compat metapackages (issue#16353, pr#9757, Nathan Cutler)
  • build/ops: rpm: fix permissions for /etc/ceph/rbdmap (issue#17395, pr#11217, Ken Dreyer)
  • build/ops: rpm: fix shared library devel package names and dependencies (issue#16345, issue#16346, pr#9744, Nathan Cutler, Ken Dreyer)
  • build/ops: rpm: move mount.ceph from ceph-base to ceph-common and add symlink in /sbin for SUSE (issue#16598, pr#10147, Nathan Cutler)
  • build/ops: run-cmake-check.sh: Remove redundant calls (pr#11116, Brad Hubbard)
  • build/ops: script: improve ceph-release-notes regex (pr#10729, Nathan Cutler)
  • build/ops: src/CMakeLists.txt: remove double flag -Wno-invalid-offsetof (pr#10443, Willem Jan Withagen)
  • build/ops: src/CMakeLists.txt: remove unneeded libraries from ceph-dencoder target (pr#10478, Willem Jan Withagen)
  • build/ops: src/global/pidfile.cc: Assign elements in structures individually (pr#10516, Willem Jan Withagen)
  • build/ops: src/kv/CMakeLists.txt: force rocksdb/include to first include directory (pr#11194, Willem Jan Withagen)
  • build/ops: test/common/test_util.cc: FreeBSD does not have distro information (pr#10547, Willem Jan Withagen)
  • build/ops: test: make check using cmake (pr#10116, Kefu Chai, Sage Weil)
  • build/ops: verfied f23 (pr#10222, Kefu Chai)
  • build/ops: yasm-wrapper: dont echo the yasm command line (pr#10819, Casey Bodley)
  • build/ops: .gitignore: exclude coredumps, logfiles and temporary testresults (pr#8150, Willem Jan Withagen)
  • build/ops: this fixes the broken build (pr#9992, Haomai Wang)
  • build/ops: mrgw: search for cmake build dir. (pr#10180, Abhishek Lekshmanan)
  • build/ops: mrun, mstart.sh, mstop.sh: search for cmake build directory (pr#10097, Yehuda Sadeh)
  • build/ops: arm64 fixes(pr#10438, Dan Mick)
  • build/ops: Wip kill warnings (pr#10934, Kefu Chai)
  • build/ops: systemd: add osd id to service description (pr#10091, Ruben Kerkhof)
  • build/ops: fix wrong indent caused compile warning (pr#10014, Wanlong Gao)
  • build/ops: ceph-detect-init: fix the py3 test (pr#10266, Kefu Chai)
  • build/ops: ceph.spec: fix ceph-mgr version requirement (pr#11285, Sage Weil)
  • build/ops: make-dist/ceph.spec.in: Fix srpm build breakage. (pr#10404, Ira Cooper)
  • build/ops: master: remove SYSTEMD_RUN from initscript (issue#16440, issue#7627, pr#9871, Vladislav Odintsov)
  • build/ops: rocksdb: revert the change introduced by dc41731 (pr#10595, Kefu Chai)
  • build/ops: do_freebsd*.sh: rename do_freebsd-cmake.sh to do_freebsd.sh (pr#11088, Kefu Chai)
  • build/ops: gcc 6.1.1 complains about missing include: <random>. 4.8.3 does not c… (pr#10747, Daniel Oliveira)
  • build/ops: selinux: Allow ceph to manage tmp files (issue#17436, pr#11259, Boris Ranto)
  • build/ops: selinux: allow read /proc/<pid>/cmdline (issue#16675, pr#10339, Kefu Chai)
  • cephfs,common: osdc/Journaler: move C_DelayFlush class to .cc (pr#10744, Michal Jarzabek)
  • cephfs,core,rbd: ObjectCacher: fix bh_read_finish offset logic (issue#16002, pr#9606, Greg Farnum)
  • cephfs,core,rbd: osdc/ObjectCacher: move C_ReadFinish, C_RetryRead (pr#10781, Michal Jarzabek)
  • cephfs: Add ceph_ll_setlk and ceph_ll_getlk (pr#9566, Frank S. Filz)
  • cephfs: CephFS: misc. cleanups and remove legacy cephfs tool (issue#16195, issue#16035, issue#15923, pr#10243, John Spray)
  • cephfs: Clean up handling of “/..” in ceph client (pr#10691, Jeff Layton)
  • cephfs: Client: fixup param type and return value (pr#10463, gongchuang)
  • cephfs: Client: pass “UserPerm” struct everywhere for security checks (issue#16367, issue#17368, pr#11218, Greg Farnum)
  • cephfs: First pile of statx patches (pr#10922, Sage Weil, Jeff Layton)
  • cephfs: Fix attribute handling at lookup time (issue#16668, pr#10386, Jeff Layton)
  • cephfs: Inotable repair during forward scrub (pr#10281, Vishal Kanaujia)
  • cephfs: Server: drop locks and auth pins if wait for pending truncate (pr#9716, xie xingguo)
  • cephfs: Small interface cleanups for struct ceph_statx (pr#11093, Jeff Layton)
  • cephfs: build ceph-fuse on OSX (pr#9371, Yan, Zheng)
  • cephfs: ceph-fuse: link to libtcmalloc or jemalloc (issue#16655, pr#10258, Yan, Zheng)
  • cephfs: ceph_volume_client: store authentication metadata (issue#15406, issue#15615, pr#9864, John Spray, Ramana Raja)
  • cephfs: client/barrier: move C_Block_Sync class to .cc (pr#11001, Michal Jarzabek)
  • cephfs: client/filer: cleanup the redundant judgments of _write&&_fallocate (pr#10062, huanwen ren)
  • cephfs: client: add missing client_lock for get_root (pr#10027, Patrick Donnelly)
  • cephfs: client: discard mds map if it is identical to ours (pr#9774, xie xingguo)
  • cephfs: client: fast abort if underlying statsf() call failed; end scope of std::hex properly (pr#9803, xie xingguo)
  • cephfs: client: fix access violation (pr#9793, xie xingguo)
  • cephfs: client: fix readdir vs fragmentation race (issue#17286, pr#11147, Yan, Zheng)
  • cephfs: client: fix segment fault in Client::_invalidate_kernel_dcache(). (issue#17253, pr#11170, Yan, Zheng)
  • cephfs: client: fix shutdown with open inodes (issue#16764, pr#10419, John Spray)
  • cephfs: client: include COMPLETE and ORDERED states in cache dump (pr#10485, Greg Farnum)
  • cephfs: client: kill compiling warning (pr#9994, xie xingguo)
  • cephfs: client: misc fixes (pr#9838, xie xingguo)
  • cephfs: client: move Inode specific cleanup to destructor (pr#10168, Patrick Donnelly)
  • cephfs: client: note order of member init in cons (pr#10169, Patrick Donnelly)
  • cephfs: client: properly set inode number of created inode in replay request (issue#17172, pr#10957, Yan, Zheng)
  • cephfs: client: protect InodeRef with client_lock (issue#17392, pr#11225, Yan, Zheng)
  • cephfs: doc/mds: fixup mds doc (pr#10573, huanwen ren)
  • cephfs: fuse_ll: fix incorrect error settings of fuse_ll_mkdir() (pr#9809, xie xingguo)
  • cephfs: include/ceph_fs.h: guard #define CEPH_SETATTR_* with #ifndef (pr#10265, Kefu Chai)
  • cephfs: libcephfs: Fix the incorrect integer conversion in libcephfs_jni.cc (pr#10640, wenjunhuang)
  • cephfs: libcephfs: add unmount function in cephfs.pyx (pr#10774, huanwen ren)
  • cephfs: libcephfs: fix portability-related error settings (pr#9794, xie xingguo)
  • cephfs: libcephfs: kill compiling warning (pr#10622, xie xingguo)
  • cephfs: mds/CDir: remove the part of judgment for _next_dentry_on_set (pr#10476, zhang.zezhu)
  • cephfs: mds/CInode: fix potential fin hanging (pr#9773, xie xingguo)
  • cephfs: mds/MDBalancer: cleanup (pr#10512, huanwen ren)
  • cephfs: mds/MDCache: kill a comipler warning (pr#11254, xie xingguo)
  • cephfs: mds/MDSMap default metadata pool to -1 (was: output None instead of 0 when no fs present.) (issue#16588, pr#10202, Xiaoxi Chen)
  • cephfs: mds/MDSTable: add const to member functions (pr#10846, Michal Jarzabek)
  • cephfs: mds/SessionMap.h: change statement to assertion (pr#11289, Michal Jarzabek)
  • cephfs: mds/SnapRealm.h: add const to member functions (pr#10878, Michal Jarzabek)
  • cephfs: mds/server: clean up handle_client_open() (pr#11120, huanwen ren)
  • cephfs: mon/MDSMonitor: move C_Updated class to .cc file (pr#10668, Michal Jarzabek)
  • cephfs: osdc/mds: fixup pos parameter in the journaler (pr#10200, huanwen ren)
  • cephfs: reduce unnecessary mds log flush (pr#10393, Yan, Zheng)
  • cephfs: tools/cephfs: Remove cephfs-data-scan tmap_upgrade (issue#16144, pr#10100, Douglas Fuller)
  • cephfs: ceph_fuse: use sizeof get the buf length (pr#11176, LeoZhang)
  • cli: retry when the mon is not configured (issue#16477, pr#11089, Loic Dachary)
  • cmake: Add -pie to CMAKE_EXE_LINKER_FLAGS (pr#10755, Tim Serong)
  • cmake: Fix FCGI include directory (pr#9983, Tim Serong)
  • cmake: Fix mismatched librgw VERSION / SOVERSION (pr#10754, Tim Serong)
  • cmake: FreeBSD specific excludes in CMakeLists.txt (pr#10973, Willem Jan Withagen)
  • cmake: FreeBSD specific excludes in CMakeLists.txt files (pr#10517, Willem Jan Withagen)
  • cmake: Really add FCGI_INCLUDE_DIR to include_directories for rgw (pr#10139, Tim Serong)
  • cmake: Removed README.cmake.md, edited README.md (pr#10028, Ali Maredia)
  • cmake: Support tcmalloc_minimal allocator (pr#11111, Bassam Tabbara)
  • cmake: add dependency from ceph_smalliobenchrbd to cls libraries (pr#10870, J. Eric Ivancich)
  • cmake: add_subdirectory(include) (pr#10360, Kefu Chai)
  • cmake: ceph_test_rbd_mirror does not require librados_test_stub (pr#10164, Jason Dillaman)
  • cmake: cleanup Findgperftools.cmake (pr#10670, Kefu Chai)
  • cmake: correct ceph_test_librbd/ceph_test_rbd_mirror linkage (issue#16882, pr#10598, Jason Dillaman)
  • cmake: disable -fvar-tracking-assignments for ceph_dencoder.cc (pr#10275, Kefu Chai)
  • cmake: disable unittest_async_compressor (pr#10394, Kefu Chai)
  • cmake: do not link against unused objects or libraries (pr#10837, Kefu Chai)
  • cmake: enable ccache for rocksdb too (pr#11100, Bassam Tabbara)
  • cmake: exclude non-public symbols in shared libraries (issue#16556, pr#10472, Kefu Chai)
  • cmake: fix incorrect dependencies to librados (pr#10145, Jason Dillaman)
  • cmake: fix the FTBFS introduced by dc8b3ba (pr#10282, Kefu Chai)
  • cmake: fix the build of unittest_async_compressor (pr#10400, Kefu Chai)
  • cmake: fix the tracing header dependencies (pr#10906, Kefu Chai)
  • cmake: fix unittest_rbd_mirror failures under non-optimized builds (pr#9990, Jason Dillaman)
  • cmake: fix wrong path introduced by bb163e9 (pr#10643, Kefu Chai)
  • cmake: fixes (pr#10092, Daniel Gryniewicz)
  • cmake: fixes for pypi changes (pr#10204, Kefu Chai)
  • cmake: include(SIMDExt) in src/CMakeLists.txt (pr#11003, Kefu Chai)
  • cmake: install ceph_test_cls_rgw (pr#10025, Kefu Chai)
  • cmake: install ceph_test_rados_striper_api_* (pr#10541, Kefu Chai)
  • cmake: install platlib into a subdir of build-base dir (pr#10666, Kefu Chai)
  • cmake: make py3 a nice-to-have (issue#17103, pr#11015, Kefu Chai)
  • cmake: pass -DINTEL* to gf-complete cflags (pr#10956, tone.zhang, Kefu Chai)
  • cmake: pass cmake’s compiler and flags to compile RocksDB into build (pr#10418, Willem Jan Withagen)
  • cmake: recompile erasure src for different variants (pr#10772, Kefu Chai)
  • cmake: remove WITH_MDS option (pr#10186, Ali Maredia)
  • cmake: remove more autotools hacks (pr#11229, Sage Weil)
  • cmake: remove unnecessary linked libs from libcephfs (issue#16556, pr#10081, Kefu Chai)
  • cmake: rework NSS and SSL (pr#9831, Matt Benjamin)
  • cmake: set ARM_CRC_FLAGS from the CRC test rather than ARM_NEON_FLAGS (issue#17250, pr#11028, Dan Mick)
  • cmake: specify distutils build path explicitly (pr#10568, Kefu Chai)
  • cmake: supress more warnings (pr#10469, Willem Jan Withagen)
  • cmake: use PERF_LOCAL_FLAGS only if defined (issue#17104, pr#10828, Michel Normand)
  • cmake: use stock Find* modules. (pr#10178, Kefu Chai)
  • cmake: work to get inital FreeBSD stuff (pr#10352, Willem Jan Withagen)
  • cmake: find GIT_VER variables if there is no .git dir (pr#11499, Ali Maredia)
  • common,bluestore: Isa-l extention for zlib compression plugin (pr#10158, Alyona Kiseleva, Dan Mick)
  • common,bluestore: compressor/zlib: zlib wrapper fix (pr#11079, Igor Fedotov)
  • common: auth/cephx: misc fixes (pr#9679, xie xingguo)
  • common: common/PluginRegistry: improve error output for shared library load fa… (pr#11081, Igor Fedotov)
  • common: common/Throttle.h: remove unneeded class (pr#10902, Michal Jarzabek)
  • common: common/Timer.h: delete copy constr and assign op (pr#11046, Michal Jarzabek)
  • common: common/WorkQueue: add std move (pr#9729, Michal Jarzabek)
  • common: compressor: zlib compressor plugin cleanup (pr#9782, Alyona Kiseleva)
  • common: erasure-code: Runtime detection of SIMD for jerasure and shec (pr#11086, Bassam Tabbara)
  • common: global: log which process/command sent a signal (pr#8964, song baisen)
  • common: include/assert: clean up ceph assertion macros (pr#9969, Sage Weil)
  • common: instantiate strict_si_cast<long> not strict_si_cast<int64_t> (issue#16398, pr#9934, Kefu Chai)
  • common: lockdep: verbose even if no logging is set (pr#10576, Willem Jan Withagen)
  • common: messages/MOSDMap: mark as enlighten OSDMap encoder (pr#10843, Sage Weil)
  • common: mon/Monitor.cc:replce lock/unlock with Mutex:Lockr (pr#9792, Michal Jarzabek)
  • common: msg/AsyncMessenger.cc: remove code duplication (pr#10030, Michal Jarzabek)
  • common: msg/async: less verbose debug messages at debug_ms=1 (pr#11205, Sage Weil)
  • common: msg/async: remove static member variable (issue#16686, pr#10440, Kefu Chai)
  • common: only call crypto::init once per CephContext (issue#17205, pr#10965, Casey Bodley)
  • common: osdc/ObjectCacher: change iterator to const_iterator and add const to member functions (pr#9644, Michal Jarzabek)
  • common: preforker: prevent call to ‘write’ on an fd that was already closed (pr#10949, Avner BenHanoch)
  • common: remove basename() dependency (pr#9845, John Coyle)
  • common: src/common/buffer.cc fix judgment for lseek (pr#10130, zhang.zezhu)
  • common: unknown hash type of judgment modification (pr#9510, huanwen ren)
  • common: Timer.cc: replace long types with auto (pr#11067, Michal Jarzabek)
  • common: TrackedOp: move ShardedTrackingData to .cc (pr#10639, Michal Jarzabek)
  • common: config_opts: fix comment(radio -> ratio) (pr#10783, xie xingguo)
  • common: src/common/dns_resolve.cc: reorder the includes (pr#10505, Willem Jan Withagen)
  • common: global/signal_handler: use sig_str instead of sys_siglist (pr#10633, John Coyle)
  • core,cephfs: Revert “osd/ReplicatedPG: for sync-read it don’t cacl l_osd_op_r_prep… (issue#16908, pr#10875, Samuel Just)
  • core,cephfs: mon/mds: add err info when load_metadata is abnormal (pr#10176, huanwen ren)
  • core,common: osd/OSD.cc: remove unneeded returns (pr#11043, Michal Jarzabek)
  • core,pybind: python-rados: extends ReadOp/WriteOp API (pr#9944, Mehdi Abaakouk)
  • core,pybind: python-rados: implement new aio_stat. (pr#11006, Iain Buclaw)
  • core,pybind: qa/workunits/rados/test_python.sh: Allow specifying Python executable (pr#10782, Oleh Prypin)
  • core: os/filestore/LFNIndex: remove unused variable ‘subdir_path’ (pr#8959, huangjun)
  • core: Create ceph-mgr (pr#10328, John Spray, Tim Serong)
  • core: FileJournal: Remove obsolete _check_disk_write_cache function (pr#11073, Brad Hubbard)
  • core: Lua object class support (pr#7338, Noah Watkins)
  • core: OSD crash with Hammer to Jewel Upgrade: void FileStore::init_temp_collections() (issue#16672, pr#10565, David Zafman)
  • core: OSD.cc: remove unneeded return (pr#9701, Michal Jarzabek)
  • core: OSD: avoid FileStore finisher deadlock in osd_lock when shutdown OSD (pr#11052, Haomai Wang)
  • core: ObjectCacher: fix last_write check in bh_write_adjacencies() (issue#16610, pr#10304, Yan, Zheng)
  • core: ReplicatedPG: call op_applied for submit_log_entries based repops (pr#9489, Samuel Just)
  • core: Wip 16998 (issue#16998, pr#10688, Samuel Just)
  • core: ceph-create-keys: add missing argument comma (pr#11123, Patrick Donnelly)
  • core: ceph-create-keys: fix existing-but-different case (issue#16255, pr#10415, John Spray)
  • core: ceph-disk: partprobe should block udev induced BLKRRPART (issue#15176, pr#9330, Marius Vollmer, Loic Dachary)
  • core: ceph-disk: timeout ceph-disk to avoid blocking forever (issue#16580, pr#10262, Loic Dachary)
  • core: ceph-objectstore-tool: add a way to split filestore directories offline (issue#17220, pr#10776, Josh Durgin)
  • core: ceph.in: python 3 compatibility of the ceph CLI (pr#9702, Oleh Prypin)
  • core: ceph_mon: use readdir() as readdir_r() is deprecated (pr#11047, Kefu Chai)
  • core: cephx: Fix multiple segfaults due to attempts to encrypt or decrypt (issue#16266, pr#9703, Brad Hubbard)
  • core: https://github.com/ceph/ceph/pull/11052 (pr#10371, Yan Jun)
  • core: include write error codes in the pg log (issue#14468, pr#10170, Josh Durgin)
  • core: kv/MemDB: fix assert triggerred by m_total_bytes underflow (pr#10471, xie xingguo)
  • core: kv/RocksDB: add perfcounter for submit_transaction_sync operation (pr#9770, Haodong Tang)
  • core: logmon: check is_leader() before doing any work on get_trim_to() (pr#10342, song baisen)
  • core: memstore: clone zero-fills holes from source range (pr#11157, Casey Bodley)
  • core: message: optimization for message priority strategy (pr#8687, yaoning)
  • core: messages/MForward: fix encoding features (issue#17365, pr#11180, Sage Weil)
  • core: mgr/MgrClient: fix ms_handle_reset (pr#11298, Sage Weil)
  • core: mgr/MgrMap: initialize all fields (issue#17492, pr#11308, Sage Weil)
  • core: mon/ConfigKeyService: pass strings by const ref (pr#10618, Michal Jarzabek)
  • core: mon/LogMonitor: move C_Log struct to cc file (pr#10721, Michal Jarzabek)
  • core: mon/MonClient.h: pass strings by const reference (pr#10605, Michal Jarzabek)
  • core: mon/MonDBStore: fix assert which never fires (pr#10706, xie xingguo)
  • core: mon/MonitorDBStore: do not use snapshot iterator; close on close (pr#10102, Sage Weil)
  • core: mon/OSDMonitor.cc: remove use of boost assign (pr#11060, Michal Jarzabek)
  • core: mon/PGMonitor: batch filter pg states; add sanity check (pr#9394, xie xingguo)
  • core: mon/PGMonitor: calc the %USED of pool using used/(used+avail) (issue#16933, pr#10584, Kefu Chai)
  • core: mon/PGMonitor: move C_Stats struct to cc file (pr#10719, Michal Jarzabek)
  • core: mon/PaxosService: make the return value type inconsistent (pr#10231, zhang.zezhu)
  • core: mon/osdmonitor: fix incorrect output of “osd df” due to osd out (issue#16706, pr#10308, xie xingguo)
  • core: msg/AsyncMessenger: change return type to void (pr#10230, Michal Jarzabek)
  • core: msg/Messenger: add const and override to function (pr#10183, Michal Jarzabek)
  • core: msg/async/AsyncConnection: replace Mutex with std::mutex for peformance (issue#16714, issue#16715, pr#10340, Haomai Wang)
  • core: msg/async/Event: ensure not refer to member variable which may destroyed (issue#16714, pr#10369, Haomai Wang)
  • core: msg/async/kqueue: avoid remove nonexist kqueue event (pr#9869, Haomai Wang)
  • core: msg/async: Support close idle connection feature (issue#16366, pr#9783, Haomai Wang)
  • core: msg/async: allow other async backend implementations (pr#10264, Haomai Wang)
  • core: msg/async: avoid set out of range ms_async_op_threads option (pr#11200, Haomai Wang)
  • core: msg/async: connect authorizer fix + recv_buf size (pr#9784, Ilya Dryomov)
  • core: msg/async: harden error logic handle (pr#9781, Haomai Wang)
  • core: msg/async: remove fd output in log prefix (pr#11199, Haomai Wang)
  • core: msg/async: remove file event lock (issue#16554, issue#16552, pr#10090, Haomai Wang)
  • core: msg/simple/Pipe: eliminating casts for the comparing of len and recv_max_prefetch (pr#10273, zhang.zezhu)
  • core: msg/simple: fix wrong condition checking of writing TAG_CLOSE on closing (pr#10343, xie xingguo)
  • core: msg/simple: wait dispatch_queue until all pipes closed (issue#16472, pr#9930, Haomai Wang)
  • core: msg: make async backend default (pr#10746, Haomai Wang)
  • core: msg: mark daemons down on RST + ECONNREFUSED (pr#8558, Piotr Dałek)
  • core: os/FuseStore: fix several FuseStore issues (pr#10723, Sage Weil)
  • core: os/MemStore: move BufferlistObject to .cc file (pr#10833, Michal Jarzabek)
  • core: os/ObjectStore: fix return code of collection_empty() method (pr#11050, xie xingguo)
  • core: os/RocksDBStore: use effective Get API instead of iterator api (pr#9411, Jianjian Huo, Haomai Wang, Mark Nelson)
  • core: os/filestore/FDCache: fix bug when filestore_fd_cache_shards = 0 (pr#11048, jimifm)
  • core: os/filestore/FileJournal: error out if FileJournal is not a file (issue#17307, pr#11146, Kefu Chai)
  • core: os/filestore: add sanity checks and cleanups for mount() process (pr#9734, xie xingguo)
  • core: os/filestore: disable use of splice by default (pr#11113, Haomai Wang)
  • core: osd/OSD.cc: remove repeated searching of map (pr#10986, Michal Jarzabek)
  • core: osd/OSD.cc: remove unneeded searching of maps (pr#11039, Michal Jarzabek)
  • core: osd/OSD.h: add const to member functions (pr#11114, Michal Jarzabek)
  • core: osd/OSD.h: move some members under private (pr#11121, Michal Jarzabek)
  • core: osd/OSD.h: remove unneeded line (pr#8980, Michal Jarzabek)
  • core: osd/OSDMonitor: misc. cleanups (pr#10739, xie xingguo)
  • core: osd/OSDMonitor: misc. fixes (pr#10491, xie xingguo)
  • core: osd/ReplicatedBackend: add sanity check during build_push_op() (pr#9491, Yan Jun)
  • core: osd/ReplicatedPG: for sync-read it don’t cacl l_osd_op_r_prepare_lat. (pr#10365, Jianpeng Ma)
  • core: osd/ReplicatedPG: remove class redeclaration (pr#11041, Michal Jarzabek)
  • core: osd/ReplicatedPG: remove unused param “op” from generate_subop() (pr#10811, jimifm)
  • core: osd/Watch: add consts to member functions (pr#10251, Michal Jarzabek)
  • core: osd/osd_type: check if pool is gone during check_new_interval() (pr#10859, xie xingguo)
  • core: osd/osdmonitor: pool of objects and bytes beyond quota should all be warn (pr#9085, huanwen ren)
  • core: osdc/objecter: misc fixes (pr#10826, xie xingguo)
  • core: pass string by const ref and add override to virtual function (pr#9082, Michal Jarzabek)
  • core: qa/workunits/objectstore/test_fuse.sh: make test_fuse.sh work with filestore (pr#11057, Sage Weil)
  • core: rados: add option to include clones when doing flush or evict (pr#9698, Mingxin Liu)
  • core: subman: use replace instead of format (issue#16961, pr#10620, Loic Dachary)
  • core: test/common/Throttle.cc: fix race in shutdown (pr#10094, Samuel Just)
  • core: test: add the necessary judgment (pr#9694, huanwen ren)
  • core: tox.ini: remove extraneous coverage –omit option (pr#10943, Josh Durgin)
  • core: udev: always populate /dev/disk/by-parttypeuuid (issue#16351, pr#9885, Loic Dachary)
  • core: os/FuseStore: remove unneeded header file (pr#10799, Michal Jarzabek)
  • core: os/MemStore: move OmapIteratorImpl to cc file (pr#10803, Michal Jarzabek)
  • core: os/Memstore.h: add override to virtual functions (pr#10801, Michal Jarzabek)
  • core: os/Memstore: move PageSetObject class to .cc file (pr#10817, Michal Jarzabek)
  • core: os/bluestore: remove unused head file. (pr#11186, Jianpeng Ma)
  • core: safe_io: Improve portability by replacing loff_t type usage with off_t. (pr#9767, John Coyle)
  • core: src/kv/MemDB.cc: the type of the parameter of push_back() does not match the ops’s value_type (pr#10455, Willem Jan Withagen)
  • core: msg/simple: apply prefetch policy more precisely (pr#10344, xie xingguo)
  • core: CompatSet.h: remove unneeded inline (pr#10071, Michal Jarzabek)
  • core: Objclass perm feedback (pr#10313, Noah Watkins)
  • core: arch/arm.c: remove unnecessary variable read for simplicity (pr#10821, Weibing Zhang)
  • crush: don’t normalize input of crush_ln iteratively (pr#10935, Piotr Dałek)
  • crush: reset bucket->h.items[i] when removing tree item (issue#16525, pr#10093, Kefu Chai)
  • crush: CrushCompiler.cc:884 (pr#10952, xu biao)
  • crush: CrushCompiler: error out as long as parse fails (issue#17306, pr#11144, Kefu Chai)
  • doc: Add documentation about snapshots (pr#10436, Greg Farnum)
  • doc: Add two options to radosgw-admin.rst manpage (issue#17281, pr#11134, Thomas Serlin)
  • doc: Changed config parameter “rgw keystone make new tenants” in radosgw multitenancy (issue#17293, pr#11127, SirishaGuduru)
  • doc: Modification for “TEST S3 ACCESS” section in “INSTALL CEPH OBJECT GATEWAY” page (pr#9089, la-sguduru)
  • doc: Update developer docs for cmake paths (pr#11163, John Spray)
  • doc: add “–orphan-stale-secs” to radosgw-admin(8) (issue#17280, pr#11097, Ken Dreyer)
  • doc: add $pid metavar conf doc (pr#11172, Patrick Donnelly)
  • doc: add Backporting section to Essentials chapter (issue#15497, pr#10457, Nathan Cutler)
  • doc: add Prepare tenant section to Testing in the cloud chapter (pr#10413, Nathan Cutler)
  • doc: add Upload logs to archive server section... (pr#10414, Nathan Cutler)
  • doc: add client config ref (issue#16743, pr#10434, Patrick Donnelly)
  • doc: add graphic for cap bit field (pr#10897, Patrick Donnelly)
  • doc: add missing PR to hammer 0.94.8 release notes (pr#10900, Nathan Cutler)
  • doc: add openSUSE instructions to quick-start-preflight (pr#10454, Nathan Cutler)
  • doc: add rgw_enable_usage_log option in Rados Gateway admin guide (issue#16604, pr#10159, Mike Hackett)
  • doc: add troubleshooting steps for ceph-fuse (pr#10374, Ken Dreyer)
  • doc: admin/build-doc: bypass sanity check if building doc (issue#16940, pr#10623, Kefu Chai)
  • doc: ceph-authtool man page option is –print-key not –print (pr#9731, Brad Hubbard)
  • doc: ceph-deploy mon add doesn’t take multiple nodes (pr#10085, Chengwei Yang)
  • doc: clarify rbd size units (pr#11303, Ilya Dryomov)
  • doc: cleanup outdated radosgw description (pr#11248, Jiaying Ren)
  • doc: describe libvirt client logging (pr#10542, Ken Dreyer)
  • doc: do not list all major versions in get-packages.rst (pr#10899, Nathan Cutler)
  • doc: doc/cephfs: explain the various health messages (pr#10244, John Spray)
  • doc: doc/dev: Fix missing code section due to no lexer for “none” (pr#9083, Brad Hubbard)
  • doc: doc/radosgw: fix description of response elements ‘Part’ (pr#10641, weiqiaomiao)
  • doc: doc/radosgw: rename config.rst to config-fcgi.rst (pr#10381, Nathan Cutler)
  • doc: extend the CephFS troubleshooting guide (pr#10458, Greg Farnum)
  • doc: fix broken link in SHEC erasure code plugin (issue#16996, pr#10675, Albert Tu)
  • doc: fix description for rsize and rasize (pr#11101, Andreas Gerstmayr)
  • doc: fix rados/configuration/osd-config-ref.rst (pr#10619, Chengwei Yang)
  • doc: fix singleton example in Developer Guide (pr#10830, Nathan Cutler)
  • doc: fix some nits in release notes and releases table (pr#10903, Nathan Cutler)
  • doc: fix standby replay config (issue#16664, pr#10268, Patrick Donnelly)
  • doc: fix wrong osdkeepalive name in mount.ceph manpage (pr#10840, Zhi Zhang)
  • doc: fix/add changelog for 10.2.2, 0.94.7, 0.94.8 (pr#10895, Sage Weil)
  • doc: format 2 now is the default image format (pr#10705, Chengwei Yang)
  • doc: lgtm (build verified f23) (pr#9745, weiqiaomiao)
  • doc: mailmap updates for upcoming 11.0.0 (pr#9301, Yann Dupont)
  • doc: manual instructions to set up mds daemon (pr#11115, Peter Maloney)
  • doc: missing “make vstart” in quick_guide.rst (pr#11226, Leo Zhang)
  • doc: more details for pool deletion (pr#10190, Ken Dreyer)
  • doc: peering.rst, fix typo (pr#10131, Brad Hubbard)
  • doc: perf_counters.rst fix trivial typo (pr#10292, Brad Hubbard)
  • doc: rbdmap: specify bash shell interpreter (issue#16608, pr#10733, Jason Dillaman)
  • doc: release-notes.rst: draft 0.94.8 release notes (pr#10730, Nathan Cutler)
  • doc: remove btrfs contradiction (pr#9758, Nathan Cutler)
  • doc: remove i386 from minimal hardware recommendations (pr#10276, Kefu Chai)
  • doc: remove old references to inktank premium support (pr#11182, Alfredo Deza)
  • doc: remove the description of deleted options (issue#17041, pr#10741, MinSheng Lin)
  • doc: rgw, doc: fix formatting around Keystone-related options. (pr#10331, Radoslaw Zarzynski)
  • doc: rgw/doc: fix indent (pr#10676, Yan Jun)
  • doc: rm SysV instructions, add systemd (pr#10184, Ken Dreyer)
  • doc: silence sphinx warnings (pr#10621, Kefu Chai)
  • doc: small standby doc edits (pr#10479, Patrick Donnelly)
  • doc: update CephFS “early adopters” info (pr#10068, John Spray)
  • doc: update canonical tarballs URL (pr#9695, Ken Dreyer)
  • doc: update rbd glance configuration notes (pr#10629, Jason Dillaman)
  • doc: update s3 static webiste feature support status (pr#10223, Jiaying Ren)
  • doc: changelog: add v10.2.3 (pr#11238, Abhishek Lekshmanan)
  • doc: install: Use https:// for download.ceph.com (pr#10709, Colin Walters)
  • doc: release-notes: v0.94.9 (pr#10927, Sage Weil)
  • doc: release-notes: v10.2.3 jewel (pr#11234, Abhishek Lekshmanan)
  • doc: Add UK mirror and update copyright (pr#10531, Patrick McGarry)
  • doc: README.md: replace package build instructions with tarball instructions (pr#10829, Sage Weil)
  • doc: Removed reference about pool ownership based on BZ#1368528 (pr#11063, Bara Ancincova)
  • librados: use bufferlist instead of buffer::list in public header (pr#10632, Ryne Li)
  • librados: Rados-stripper: Flexible string matching for not found attributes (pr#10577, Willem Jan Withagen)
  • librados: librados examples: link and include from current source tree by default. (issue#15100, pr#8189, Jesse Williamson)
  • librbd: API methods to directly acquire and release the exclusive lock (issue#15632, pr#9592, Mykola Golub)
  • librbd: add consistency groups operations with images (pr#10034, Victor Denisov)
  • librbd: add explicit shrink check while resizing images (pr#9878, Vaibhav Bhembre)
  • librbd: asynchronous v2 image creation (issue#15321, pr#9585, Venky Shankar)
  • librbd: backward/forward compatibility for update_features (issue#17330, pr#11155, Jason Dillaman)
  • librbd: block name prefix might overflow fixed size C-string (issue#17310, pr#11148, Jason Dillaman)
  • librbd: cache was not switching to writeback after first flush (issue#16654, pr#10762, Jason Dillaman)
  • librbd: corrected use-after-free in ImageWatcher (issue#17289, pr#11112, Jason Dillaman)
  • librbd: deadlock when replaying journal during image open (issue#17188, pr#10945, Jason Dillaman)
  • librbd: delay acquiring lock if image watch has failed (issue#16923, pr#10574, Jason Dillaman)
  • librbd: discard hangs when ‘rbd_skip_partial_discard’ is enabled (issue#16386, pr#10060, Mykola Golub)
  • librbd: extract group module from librbd/internal (pr#11070, Victor Denisov)
  • librbd: failed assertion after shrinking a clone image twice (issue#16561, pr#10072, Jason Dillaman)
  • librbd: fix missing return statement if failed to get mirror image state (pr#10136, runsisi)
  • librbd: fix possible inconsistent state when disabling mirroring fails (issue#16984, pr#10711, Jason Dillaman)
  • librbd: ignore partial refresh error when acquiring exclusive lock (issue#17227, pr#11044, Jason Dillaman)
  • librbd: initial hooks for client-side, image-extent cache in IO path (pr#9121, Jason Dillaman)
  • librbd: interlock image refresh and exclusive lock operations (issue#16773, issue#17015, pr#10770, Jason Dillaman)
  • librbd: memory leak in MirroringWatcher::notify_image_updated (pr#11306, Mykola Golub)
  • librbd: optimize away unnecessary object map updates (issue#16707, issue#16689, pr#10332, Jason Dillaman)
  • librbd: optionally unregister “laggy” journal clients (issue#14738, pr#10378, Mykola Golub)
  • librbd: permit disabling journaling if in corrupt state (issue#16740, pr#10712, Jason Dillaman)
  • librbd: possible deadlock if cluster connection closed after image (issue#17254, pr#11037, Jason Dillaman)
  • librbd: potential deadlock closing image with in-flight readahead (issue#17198, pr#11152, Jason Dillaman)
  • librbd: potential double-unwatch of watch handle upon error (issue#17210, pr#10974, Jason Dillaman)
  • librbd: potential seg fault when blacklisting an image client (issue#17251, pr#11034, Jason Dillaman)
  • librbd: prevent creation of clone from non-primary mirrored image (issue#16449, pr#10123, Mykola Golub)
  • librbd: prevent creation of v2 image ids that are too large (issue#16887, pr#10581, Jason Dillaman)
  • mds: Add path filtering for dump cache (issue#11171, pr#9925, Douglas Fuller)
  • mds: Kill C_SaferCond in evict_sessions() (issue#16288, pr#9971, Douglas Fuller)
  • mds: Return “committing” rather than “committed” member in get_committing (pr#10250, Greg Farnum)
  • mds: Set mds_snap_max_uid to 4294967294 (pr#11016, Wido den Hollander)
  • mds: add assertion in handle_slave_rename_prep (issue#16807, pr#10429, John Spray)
  • mds: add assertions for standby_daemons invariant (issue#16592, pr#10316, Patrick Donnelly)
  • mds: add health warning for oversized cache (issue#16570, pr#10245, John Spray)
  • mds: add maximum fragment size constraint (issue#16164, pr#9789, Patrick Donnelly)
  • mds: add perf counters for MDLog replay and SessionMap (pr#10539, John Spray)
  • mds: catch duplicates in DamageTable (issue#17173, pr#11137, John Spray)
  • mds: fix Session::check_access() (issue#16358, pr#9769, Yan, Zheng)
  • mds: fix daemon selection when starting ranks (pr#10540, John Spray)
  • mds: fix shutting down mds timed-out due to deadlock (issue#16396, pr#9884, Zhi Zhang)
  • mds: fix up _dispatch ref-counting semantics (pr#10533, Greg Farnum)
  • mds: fixup dump Formatter’ type error; add path_ino and is_primary in the CDentry::dump() (pr#10119, huanwen ren)
  • mds: handle blacklisting during journal recovery (issue#17236, pr#11138, John Spray)
  • mds: log path with CDir damage messages (issue#16973, pr#10996, John Spray)
  • mds: move Finisher to unlocked shutdown (issue#16042, pr#10142, Patrick Donnelly)
  • mds: populate DamageTable from scrub and log more quietly (issue#16016, pr#11136, John Spray)
  • mds: remove fail-safe queueing replay request (issue#17271, pr#11078, Yan, Zheng)
  • mds: remove max_mds config option (issue#17105, pr#10914, Patrick Donnelly)
  • mds: remove unused MDSDaemon::objecter (pr#10566, Patrick Donnelly)
  • mds: snap failover fixes (pr#9955, Yan, Zheng)
  • mds: trim null dentries proactively (issue#16919, pr#10606, John Spray)
  • mds: unuse Class and cleanup (pr#10399, huanwen ren)
  • mds: use reference to avoid copy (pr#10191, Patrick Donnelly)
  • mds: MDCache.h: remove unneeded access specifier (pr#10901, Michal Jarzabek)
  • mds: MDSDaemon: move C_MDS_Tick class to .cc file (pr#11220, Michal Jarzabek)
  • mgr: implement con reset handling (pr#11299, Sage Weil)
  • mgr: squash compiler warnings (pr#11307, John Spray)
  • mon: MonClient may hang on pinging an unresponsive monitor (pr#9259, xie xingguo)
  • mon: Monitor: validate prefix on handle_command() (issue#16297, pr#9700, You Ji)
  • mon: OSDMonitor: Missing nearfull flag set (pr#11082, Igor Podoski)
  • mon: change osdmap flags set and unset messages (issue#15983, pr#9252, Vikhyat Umrao)
  • mon: clear list in better way (pr#9718, song baisen)
  • mon: do not recalculate ‘to_remove’ when it’s known (pr#9717, song baisen)
  • mon: misc cleanups (pr#10591, xie xingguo)
  • mon: remove the redundant cancel_probe_timeout function (pr#10261, song baisen)
  • mon: remove the redundant is_active judge in PaxosService (pr#9749, song baisen)
  • mon: tear down standby replays on MDS rank stop (issue#16909, pr#10628, John Spray)
  • mon: use clearer code structure (pr#10192, Patrick Donnelly)
  • mon: validate states transmitted in beacons (issue#16592, pr#10428, John Spray)
  • mon: wait 10m (not 5m) before marking down OSDs out (pr#11184, Sage Weil)
  • mon: write fsid use the right return value (pr#10197, song baisen)
  • mon: Elector:move C_ElectionExpire class to cc file (pr#10416, Michal Jarzabek)
  • mon: HealthMonitor: add override to virtual functs (pr#10549, Michal Jarzabek)
  • mon: HealthMonitor: remove unneeded include (pr#10563, Michal Jarzabek)
  • mon: MonClient.h: delete copy constr and assing op (pr#10599, Michal Jarzabek)
  • mon: MonClient: move C_CancelMonCommand to cc file (pr#10392, Michal Jarzabek)
  • mon: MonClient: move C_Tick struct to cc file (pr#10383, Michal Jarzabek)
  • mon: Monitor.h: add override to virtual functions (pr#10515, Michal Jarzabek)
  • mon: Monitor: move C_Scrub, C_ScrubTimeout to .cc (pr#10513, Michal Jarzabek)
  • mon: OSDMonitor.cc: remove unneeded casts (pr#10575, Michal Jarzabek)
  • mon: Paxos: move classes to .cc file (pr#11215, Michal Jarzabek)
  • mon: PaxosService: move classes to cc file (pr#10529, Michal Jarzabek)
  • mon: remove the redundant list swap in paxos commit_proposal (pr#10011, song baisen)
  • msgr: set close on exec flag (issue#16390, pr#9772, Kefu Chai)
  • msgr: Accepter.h: add override to virtual function (pr#10422, Michal Jarzabek)
  • msgr: Accepter: move include to cc file (pr#10441, Michal Jarzabek)
  • msgr: AsyncConnection: add const to mem functions (pr#10302, Michal Jarzabek)
  • msgr: AsyncMessenger.cc: remove unneeded cast (pr#10141, Michal Jarzabek)
  • msgr: AsyncMessenger: add const to function (pr#10114, Michal Jarzabek)
  • msgr: AsyncMessenger: move C_handle_reap class to cc (pr#10113, Michal Jarzabek)
  • msgr: AsyncMessenger: move C_processor_accept class (pr#9991, Michal Jarzabek)
  • msgr: AsyncMessenger: remove unneeded include file (pr#10195, Michal Jarzabek)
  • msgr: AsyncMessenger: remove unused function (pr#10163, Michal Jarzabek)
  • msgr: EventKqueue.h: add override to virtual func (pr#10318, Michal Jarzabek)
  • msgr: EventPoll.h: add override to virtual functions (pr#10314, Michal Jarzabek)
  • msgr: EventSelect.h: add override to virtual funct (pr#10321, Michal Jarzabek)
  • msgr: EventSelect: move includes to cc file (pr#10333, Michal Jarzabek)
  • msgr: FastStrategy.h: add override to virtual funct (pr#10482, Michal Jarzabek)
  • msgr: Message.h: add const to member function (pr#10354, Michal Jarzabek)
  • msgr: Message.h: remove code duplication (pr#10356, Michal Jarzabek)
  • msgr: QueueStrategy: add override to virtual functs (pr#10503, Michal Jarzabek)
  • msgr: Stack.h: delete copy constr and assign op (pr#11107, Michal Jarzabek)
  • msgr: async/Event.h: add const to member function (pr#10224, Michal Jarzabek)
  • msgr: async: remove unused code. (pr#11247, Jianpeng Ma)
  • osd: bail out if transaction size overflows (issue#16982, pr#10753, Kefu Chai)
  • osd: cleanup options and other redundancies (pr#10450, xie xingguo)
  • osd: drop unused variables/methods (pr#10559, xie xingguo)
  • osd: fix the mem leak of RepGather (issue#16801, pr#10423, Kefu Chai)
  • osd: fixups to explicitly persistenting missing sets (pr#10405, Samuel Just)
  • osd: increment stats on recovery pull also (issue#16277, pr#10152, Kefu Chai)
  • osd: limit omap data in push op (issue#16128, pr#9894, Wanlong Gao)
  • osd: minor performance improvements (pr#10470, xie xingguo)
  • osd: minor performance improvements and fixes (pr#10526, xie xingguo)
  • osd: misc fixes and cleanups (pr#10610, xie xingguo)
  • osd: miscellaneous fixes (pr#10572, xie xingguo)
  • osd: more cleanups (pr#10548, xie xingguo)
  • osd: object class loading and execution permissions (pr#9972, Noah Watkins)
  • osd: pass shared_ptr by const reference (pr#11266, Michal Jarzabek)
  • osd: persist the missing set explicitly (pr#10334, Samuel Just)
  • osd: remove dispatch queue check since we don’t queue hb message to this (pr#9947, Haomai Wang)
  • osd: remove duplicated function (pr#9117, Wei Jin)
  • osd: replace ceph:atomic_t with std::atomic in osd module. (pr#9138, Xiaowei Chen)
  • osd: should not look up an empty pg (issue#17380, pr#11208, Kefu Chai, Loic Dachary)
  • osd: small cleanups (pr#9980, Wanlong Gao)
  • osd: subscribe for old osdmaps when pause flag is set (issue#17023, pr#10725, Kefu Chai)
  • osd:preserve allocation hint attribute during recovery (pr#9452, yaoning)
  • osd: osd-fast-mark-down.sh: fix typo in variable assignments (pr#11224, Willem Jan Withagen)
  • osd: OSD.cc: initialise variable at definition (pr#11099, Michal Jarzabek)
  • osd: OSD.cc: remove unneeded searching of map (pr#11000, Michal Jarzabek)
  • osd: OSD.h: make some members private (pr#11085, Michal Jarzabek)
  • osd: PG.cc: remove unneeded use of count (pr#11228, Michal Jarzabek)
  • osd: PGBackend.h: move structs to .cc file (pr#10975, Michal Jarzabek)
  • osd: ReplicatedBackend: move classes to cc file (pr#10967, Michal Jarzabek)
  • osd: ReplicatedPG.h: add override to virtual funct (pr#11271, Michal Jarzabek)
  • osd: ReplicatedPG: move classes to .cc file (pr#10971, Michal Jarzabek)
  • osd: ReplicatedPG:move C_OSD_OnApplied class to cc (pr#11288, Michal Jarzabek)
  • osd: Watch.h: remove unneeded forward declaration (pr#10269, Michal Jarzabek)
  • osd: osdc/ObjectCacher.h: add const to member functions (pr#9569, Michal Jarzabek)
  • osd: osdc/ObjectCacher.h: add const to member functions (pr#9652, Michal Jarzabek)
  • osd: osdc/Objecter: move RequestStateHook class to .cc (pr#10734, Michal Jarzabek)
  • pybind: Port Python-based tests and remaining Python bindings to Python 3 (pr#10177, Oleh Prypin)
  • pybind: Rework cephfs/setup.py for PyPI (pr#10315, Anirudha Bose)
  • pybind: Rework rbd/setup.py for PyPI (issue#16940, pr#10376, Anirudha Bose)
  • pybind: global/signal_handler: dump cmdline instead of arg[0] (pr#10345, Kefu Chai)
  • pybind: make rados ready for PyPI (pr#9833, Anirudha Bose)
  • pybind: pybind/ceph_argparse: handle non ascii unicode args (issue#12287, pr#8943, Kefu Chai)
  • pybind: Python 3 compatibility for workunits (pr#10815, Anirudha Bose)
  • rbd: Allow user to remove snapshot with –force to auto flatten children (pr#10087, Dongsheng Yang)
  • rbd: Reviewed-off-by: Ilya Dryomov <idryomov@gmail.com> (issue#16171, pr#10481, Jason Dillaman)
  • rbd: Reviewed-off-by: Ilya Dryomov <idryomov@gmail.com> (issue#17030, pr#10735, Jason Dillaman)
  • rbd: bench io-size should not be larger than image size (issue#16967, pr#10708, Jason Dillaman)
  • rbd: cleanup - Proxied operations shouldn’t result in error messages if replayed (issue#16130, pr#9724, Vikhyat Umrao)
  • rbd: cls_rbd: clean up status from rbd-mirror if image removed (pr#11142, Huan Zhang)
  • rbd: cls_rbd: set omap values in batch during image creation (pr#9981, Dongsheng Yang)
  • rbd: inherit the parent image features when cloning an image (issue#15388, pr#9334, Dongsheng Yang)
  • rbd: journal: ensure in-flight ops are complete destroying journaler (issue#17446, pr#11257, Mykola Golub, Jason Dillaman)
  • rbd: journal: increase concurrency/parallelism of journal recorder (issue#15259, pr#10445, Ricardo Dias)
  • rbd: journal: move JournalTrimmer::C_RemoveSet struct (pr#10912, Michal Jarzabek)
  • rbd: qa/workunits/rbd: before removing image make sure it is not bootstrapped (issue#16555, pr#10155, Mykola Golub)
  • rbd: qa/workunits/rbd: check status also in pool dir after asok commands (pr#11291, Mykola Golub)
  • rbd: qa/workunits/rbd: set image-meta on primary image and wait it is replicated (pr#11294, Mykola Golub)
  • rbd: qa/workunits/rbd: small fixup and improvements for rbd-mirror tests (pr#10483, Mykola Golub)
  • rbd: qa/workunits/rbd: wait for image deleted before checking health (pr#10545, Mykola Golub)
  • rbd: qa/workunits: support filtering cls_rbd unit test cases (issue#16529, pr#10714, Jason Dillaman)
  • rbd: rbd-mirror: ‘wait_for_scheduled_deletion’ callback might deadlock (issue#16491, pr#9964, Jason Dillaman)
  • rbd: rbd-mirror: Add sparse read for sync image (issue#16780, pr#11005, tianqing)
  • rbd: rbd-mirror: add additional test scenarios (pr#10488, lande1234)
  • rbd: rbd-mirror: concurrent access of event might result in heap corruption (issue#17283, pr#11104, Jason Dillaman)
  • rbd: rbd-mirror: force-promoted image will remain R/O until rbd-mirror daemon restarted (issue#16974, pr#11090, Jason Dillaman)
  • rbd: rbd-mirror: gracefully fail if object map is unavailable (issue#16558, pr#10065, Jason Dillaman)
  • rbd: rbd-mirror: gracefully handle being blacklisted (issue#16349, pr#9970, Jason Dillaman)
  • rbd: rbd-mirror: image deleter should use pool id + global image uuid for key (issue#16538, issue#16227, pr#10484, Jason Dillaman)
  • rbd: rbd-mirror: improve split-brain detection logic (issue#16855, pr#10703, Jason Dillaman)
  • rbd: rbd-mirror: include local pool id in resync throttle unique key (issue#16536, pr#10254, Jason Dillaman)
  • rbd: rbd-mirror: non-primary image is recording journal events during image sync (pr#10462, Jason Dillaman)
  • rbd: rbd-mirror: potential IO stall when using asok flush request (issue#16708, pr#10432, Jason Dillaman)
  • rbd: rbd-mirror: potential assertion failure during error-induced shutdown (issue#16956, pr#10613, Jason Dillaman)
  • rbd: rbd-mirror: potential race condition during failure shutdown (issue#16980, pr#10667, Jason Dillaman)
  • rbd: rbd-mirror: quiesce in-flight event commits before shut down (issue#17355, pr#11185, Jason Dillaman)
  • rbd: rbd-mirror: reduce memory footprint during journal replay (issue#16223, pr#10341, Jason Dillaman)
  • rbd: rbd-mirror: remove ceph_test_rbd_mirror_image_replay test case (issue#16539, pr#10083, Mykola Golub)
  • rbd: rbd-mirror: replaying state should include flush action (issue#16970, pr#10627, Jason Dillaman)
  • rbd: rbd-mirror: replicate dynamic feature updates (issue#16213, pr#10980, Mykola Golub)
  • rbd: rbd-mirror: replicate image metadata settings (issue#16212, pr#11168, Mykola Golub)
  • rbd: rbd-mirror: snap rename does not properly replicate to peers (issue#16622, pr#10249, Jason Dillaman)
  • rbd: rbd-nbd does not properly handle resize notifications (issue#15715, pr#9291, Mykola Golub)
  • rbd: rbd-nbd: fix kernel deadlock during teuthology testing (issue#16921, pr#10985, Jason Dillaman)
  • rbd: recognize lock_on_read option (pr#11313, Ilya Dryomov)
  • rbd: return error if we specified a wrong image name for rbd du (issue#16987, pr#11031, Dongsheng Yang)
  • rbd: test/librbd/fsx: enable exclusive-lock feature in krbd mode (pr#10984, Ilya Dryomov)
  • rbd: test/rbd: fix possible mock journal race conditions (issue#17317, pr#11153, Jason Dillaman)
  • rbd: test: cmake related fixups for rbd tests (pr#10124, Mykola Golub)
  • rbd: test: run-rbd-tests test cmake fixup (pr#10134, Mykola Golub)
  • rbd: test: use wrapper that respects RBD_FEATURES when creating rbd image (issue#16717, pr#10348, Mykola Golub)
  • rbd: udev: add krbd readahead placeholder (pr#10841, Nick Fisk)
  • rbd: rbd_mirror/ImageSynceThrottler: move struct to .cc (pr#10928, Michal Jarzabek)
  • rgw: (build verified, provably unused/not aliased) (pr#9993, weiqiaomiao)
  • rgw: Add documentation for the Multi-tenancy feature (pr#9570, Pete Zaitcev)
  • rgw: Clean up lifecycle thread (pr#10480, Daniel Gryniewicz)
  • rgw: Do not archive metadata by default (issue#17256, pr#11051, Pavan Rallabhandi)
  • rgw: Fix Host->bucket fallback logic inversion (issue#15975, issue#17136, pr#10873, Robin H. Johnson)
  • rgw: Fix for using port 443 with pre-signed urls. (issue#16548, pr#10088, Pritha Srivastava)
  • rgw: Fix incorrect content length and range for zero sized objects during range requests (issue#16388, pr#10207, Pavan Rallabhandi)
  • rgw: Got rid of recursive mutex. (pr#10562, Adam Kupczyk)
  • rgw: RGW : setting socket backlog for via ceph.conf (issue#16406, pr#9891, Feng Guo)
  • rgw: RGWMetaSyncCR holds refs to stacks instead of crs (issue#16666, pr#10301, Casey Bodley)
  • rgw: Reviewed by: Pritha Srivastava <prsrivas@redhat.com> (issue#16188, pr#9584, Albert Tu)
  • rgw: Rgw lifecycle testing (pr#11131, Daniel Gryniewicz)
  • rgw: Rgw nfs 28 (pr#10611, Matt Benjamin)
  • rgw: add configurables for {data,meta} sync error injection (pr#10388, Yehuda Sadeh)
  • rgw: add deadlock detection to RGWCoroutinesManager::run() (pr#10032, Casey Bodley)
  • rgw: add lc_pool when decode or encode struct RGWZoneParams (pr#10439, weiqiaomiao)
  • rgw: add missing master_zone when running with old default region config (issue#16627, pr#10205, Orit Wasserman)
  • rgw: add pg_ver to tombstone_cache (pr#9851, Casey Bodley)
  • rgw: add reinit/rebind logic (ldap) (pr#10532, Matt Benjamin)
  • rgw: add return value checking to avoid possible subsequent parse exception (pr#10241, Yan Jun)
  • rgw: add suport for Swift-at-root dependent features of Swift API (issue#16673, pr#10280, Pritha Srivastava, Radoslaw Zarzynski)
  • rgw: add support for Static Website of Swift API (pr#9844, Radoslaw Zarzynski)
  • rgw: add tenant support to multisite sync (issue#16469, pr#10075, Casey Bodley)
  • rgw: back off bucket sync on failures, don’t store marker (issue#16742, pr#10355, Yehuda Sadeh)
  • rgw: better error message when user has no bucket created yet (issue#16444, pr#10162, Gaurav Kumar Garg)
  • rgw: clean-up in the authentication infrastructure (pr#10212, Radoslaw Zarzynski)
  • rgw: clear realm watch on failed watch_restart (issue#16817, pr#10446, Casey Bodley)
  • rgw: collect skips a specific coroutine stack (issue#16665, pr#10274, Yehuda Sadeh)
  • rgw: cosmetic changes only–build verified, f23 (pr#9931, Yan Jun)
  • rgw: delete region map after upgrade to zonegroup map (issue#17051, pr#10831, Casey Bodley)
  • rgw: do not try to encode or decode time_t and fix compiling warnings (pr#10751, Kefu Chai)
  • rgw: don’t fail if lost race when setting acls (issue#16930, pr#11286, Yehuda Sadeh)
  • rgw: drop create_bucket in fwd_request log message (pr#10214, Abhishek Lekshmanan)
  • rgw: eradicate dynamic memory allocation in RGWPostObj. (pr#11054, Radoslaw Zarzynski)
  • rgw: file setattr (pr#8618, Matt Benjamin)
  • rgw: finish error_repo cr in stop_spawned_services() (issue#16530, pr#10031, Yehuda Sadeh)
  • rgw: fix RGWAccessControlPolicy_SWIFT::create return value check error (issue#17090, pr#10727, weiqiaomiao)
  • rgw: fix compilation (pr#10252, Josh Durgin)
  • rgw: fix decoding of creation_time and last_update. (issue#17167, pr#11132, Orit Wasserman)
  • rgw: fix error_repo segfault in data sync (issue#16603, pr#10157, Casey Bodley)
  • rgw: fix failed to create bucket if a non-master zonegroup has a single zone (pr#10991, weiqiaomiao)
  • rgw: fix flush_read_list() error msg (pr#10749, Jiaying Ren)
  • rgw: fix for issue 16494 (issue#16494, pr#10077, Yehuda Sadeh)
  • rgw: fix for s3tests failure when ldap auth is not applied (pr#10669, Casey Bodley)
  • rgw: fix get object instance returned NoSuchKey error (issue#17111, pr#10820, Yang Honggang)
  • rgw: fix is_admin handling in RGWLDAPAuthEngine and introduce acct_privilege_t (pr#10687, Radoslaw Zarzynski)
  • rgw: fix issue 16435 (issue#16435, pr#10193, Yehuda Sadeh)
  • rgw: fix multi-delete query param parsing. (issue#16618, pr#10187, Robin H. Johnson)
  • rgw: fix period update –commit return error (issue#17110, pr#10836, weiqiaomiao)
  • rgw: fix radosgw daemon core when reopen logs (issue#17036, pr#10737, weiqiaomiao)
  • rgw: fix regression with handling double underscore (issue#16856, pr#10939, Orit Wasserman)
  • rgw: fix rgw_bucket_dir_entry decode v (pr#10918, Tianshan Qu)
  • rgw: fix the error return variable in log message and cleanups (pr#10138, Yan Jun)
  • rgw: fix the missing return value (pr#10122, Yan Jun)
  • rgw: fix upgrade from old multisite to new multisite configuration (issue#16751, pr#10368, Orit Wasserman)
  • rgw: fix wrong variable definition in cls_version_check func (pr#10233, weiqiaomiao)
  • rgw: fix wrong variable definition in rgw_cls_lc_set_entry function (pr#10408, weiqiaomiao)
  • rgw: for the create_bucket api, if the input creation_time is zero, we should set it to ‘now” (issue#16597, pr#10118, weiqiaomiao)
  • rgw: kill a compile warning for rgw_sync (pr#10425, Casey Bodley, Abhishek Lekshmanan)
  • rgw: lgtm (pr#9941, weiqiaomiao)
  • rgw: lgtm (build verified, f23) (pr#9754, John Coyle)
  • rgw: lgtm, build verified f23 (pr#10035, Yan Jun)
  • rgw: lgtm–build verified, f23 (pr#10002, Yan Jun)
  • rgw: lgtm–build verified, f23 (pr#9985, Yan Jun)
  • rgw: lgtm–should backport (pr#9979, Yan Jun)
  • rgw: log mp upload failures due to parts mismatch (pr#10424, Abhishek Lekshmanan)
  • rgw: merge setting flags operation together and cleanups (pr#10203, Yan Jun)
  • rgw: miscellaneous cleanups (pr#10299, Yan Jun)
  • rgw: multiple fixes for Swift’s object expiration (issue#16705, issue#16684, pr#10330, Radoslaw Zarzynski)
  • rgw: need to ‘open_object_section’ before dump stats in ‘RGWGetUsage_… (issue#17499, pr#11325, weiqiaomiao)
  • rgw: obsolete ‘radosgw-admin period prepare’ command (issue#17387, pr#11278, Gaurav Kumar Garg)
  • rgw: radosgw-admin: add “–orphan-stale-secs” to –help (issue#17280, pr#11098, Ken Dreyer)
  • rgw: radosgw-admin: zone[group] modify can change realm id (issue#16839, pr#10477, Casey Bodley)
  • rgw: raise log levels for common radosgw-admin errors (issue#16935, pr#10602, Shilpa Jagannath)
  • rgw: register the correct handler for cls_user_complete_stats (issue#16624, pr#10151, Orit Wasserman)
  • rgw: remove bucket index objects when deleting the bucket (issue#16412, pr#10120, Orit Wasserman)
  • rgw: remove possible duplicate setting (pr#10110, Yan Jun)
  • rgw: remove the field ret from class RGWPutLC (pr#10726, weiqiaomiao)
  • rgw: remove unused bufferlist variable (pr#10194, Yan Jun)
  • rgw: remove unused realm from radosgw-admin zone modify (issue#16632, pr#10211, Orit Wasserman)
  • rgw: remove unused variables (pr#10589, Yan Jun)
  • rgw: return “NoSuchLifecycleConfiguration” if lifecycle config does not exist (pr#10442, weiqiaomiao)
  • rgw: revert a commit that broke s3 signature validation (issue#17279, pr#11102, Casey Bodley)
  • rgw: rgw file: remove busy-wait in RGWLibFS::gc() (pr#10638, Matt Benjamin)
  • rgw: rgw ldap: protect rgw::from_base64 from non-base64 input (pr#10777, Matt Benjamin)
  • rgw: rgw ldap: enforce simple_bind w/LDAPv3 (pr#10593, Matt Benjamin)
  • rgw: rgw multisite: RGWCoroutinesManager::run returns status of last cr (issue#17047, pr#10778, Casey Bodley)
  • rgw: rgw multisite: RGWDataSyncCR fails on errors from RGWListBucketIndexesCR (issue#17073, pr#10779, Casey Bodley)
  • rgw: rgw multisite: fix for assertion in RGWMetaSyncCR (issue#17044, pr#10743, Casey Bodley)
  • rgw: rgw multisite: fixes for period puller (issue#16939, pr#10596, Casey Bodley)
  • rgw: rgw multisite: trim data logs as peer zones catch up (pr#10372, Casey Bodley)
  • rgw: rgw nfs v3 completions (pr#10745, Matt Benjamin)
  • rgw: rgw-admin: allow unsetting user’s email (issue#13286, pr#11340, Yehuda Sadeh, Weijun Duan)
  • rgw: rgw/admin: fix some return values and indents (pr#9170, Yan Jun)
  • rgw: rgw/rados: remove confused error printout (pr#9351, Yan Jun)
  • rgw: rgw/rgw_common.cc: modify the end check in RGWHTTPArgs::sys_get (pr#9136, zhao kun)
  • rgw: rgw/rgw_lc.cc: fix sleep time according to the error message (pr#10930, Weibing Zhang)
  • rgw: rgw/rgw_main: fix unnecessary variables defined (pr#10475, zhang.zezhu)
  • rgw: rgw/swift: remove redundant assignment operation (pr#11292, Yan Jun)
  • rgw: rgw_file: pre-assign times (issue#17367, pr#11181, Matt Benjamin)
  • rgw: rgw_file: fix rename cases and unify unlink (pr#10271, Matt Benjamin)
  • rgw: rgw_file: fix set_attrs operation (pr#11159, Matt Benjamin)
  • rgw: rgw_file: refuse partial, out-of-order writes (pr#10284, Matt Benjamin)
  • rgw: rgw_file: restore local definition of RGWLibFS gc interval (pr#10756, Matt Benjamin)
  • rgw: rgw_file: unlock() must precede out label (pr#10635, Matt Benjamin)
  • rgw: right parenthesis is missing in radosgw-admin help message on caps (pr#10947, Weibing Zhang)
  • rgw: set correct instance on the object (issue#17443, pr#11270, Yehuda Sadeh)
  • rgw: store oldest mdlog period in rados (issue#16894, pr#10558, Casey Bodley)
  • rgw: test/multi.py add a destructive attr to tests (pr#10401, Abhishek Lekshmanan)
  • rgw: test/rgw: add –gateways-per-zone to test_multi.py (pr#10742, Casey Bodley)
  • rgw: test_multi.py avoid creating mds (pr#10174, Abhishek Lekshmanan)
  • rgw: test_rgw_bencode: null terminate strings before checking (issue#16861, pr#10510, Yehuda Sadeh)
  • rgw: use endpoints from master zone instead of zonegroup (issue#16834, pr#10456, Casey Bodley)
  • rgw: use the standard usage of string.find (pr#10226, Yan Jun)
  • rgw: verfied: f23, subset of s3tests (pr#10448, Pritha Srivastava)
  • rgw: verified (pr#10000, weiqiaomiao)
  • rgw: verified non-regression (MS AD) (pr#10597, Pritha Srivastava)
  • rgw: verified: autobuild (issue#16928, pr#10579, Robin H. Johnson)
  • rgw: verified: MS AD (pr#10307, Pritha Srivastava)
  • rgw: verified: f23 (pr#10882, Michal Jarzabek)
  • rgw: verified: f23 (pr#10858, Weibing Zhang)
  • rgw: verified: f23 (pr#10822, Yan Jun)
  • rgw: verified: f23 (pr#10929, Weibing Zhang)
  • rgw: wip: rgw multisite: preserve zone’s extra pool (issue#16712, pr#10397, Abhishek Lekshmanan)
  • rgw: work around curl_multi_wait bug with non-blocking reads (issue#15915, issue#16695, pr#10998, Casey Bodley)
  • rgw:add a s3 API of make torrent for a object (pr#10396, zhouruisong)
  • rgw:add a s3 API of make torrent for a object (pr#9589, zhouruisong)
  • rgw:bucket check remove _multipart_ prefix (pr#6501, Weijun Duan)
  • rgw:clean unuse bufferlist (pr#10232, weiqiaomiao)
  • rgw:fix rgw boot failed after upgrade to master latest version (pr#10409, weiqiaomiao)
  • rgw:lifecycle feature [rebased] (pr#9737, Ji Chen, Daniel Gryniewicz)
  • rgw: rgw/rgw_rados.h: remove unneeded class C_Tick (pr#10954, Michal Jarzabek)
  • rgw: ext_mime_map_init add string describing for error number (pr#9807, Yan Jun)
  • tests: Add test for global static non-POD segfault (pr#10486, Brad Hubbard)
  • tests: populate /dev/disk/by-partuuid for scsi_debug (issue#17100, pr#10824, Loic Dachary)
  • tests: use a fixture for memstore clone testing (pr#11190, Kefu Chai)
  • tests: run-*make-check.sh: Make DRY_RUN actually mean a dry run (pr#11074, Brad Hubbard)
  • tests: run-cmake-check.sh: Actually run the tests (pr#11075, Brad Hubbard)
  • tests: run-cmake-check.sh: Init submodules (pr#11091, Brad Hubbard)
  • tests: run-make-check.sh: Make DRY_RUN actually do a dry run (pr#11092, Brad Hubbard)
  • tests: run-make-check.sh: pass args to do_cmake.sh (pr#10701, John Coyle)
  • tests: unittest_chain_xattr: account for existing xattrs (issue#16025, pr#11109, Dan Mick)
  • tests: src/test/cli/* tests: POSIX Convert grep -P to grep -E (pr#10319, Willem Jan Withagen)
  • test: ceph_test_msgr: fix circular locking dependency (issue#16955, pr#10612, Kefu Chai)
  • test: cli/crushtool: fix the test of compile-decompile-recompile.t (issue#17306, pr#11173, Kefu Chai)
  • test: libcephfs: fix gcc sys/fcntl.h warnings (pr#10126, John Coyle)
  • test: librados: rados_connect() should succeed (issue#17087, pr#10806, Kefu Chai)
  • test: mds: add fs dump in test_ceph_argparse.py (pr#10347, huanwen ren)
  • test: simple_dispatcher.cc: remove unused variable (pr#9932, Michal Jarzabek)
  • test: store_test: tidy-up SyntheticWorkloadState class (pr#10775, xie xingguo)
  • test: More portable use of mmap(MAP_ANON) (pr#10557, Willem Jan Withagen)
  • test: Removeall merged after print_function commit needs a fix (pr#10535, David Zafman)
  • test: ceph-disk.sh do not kill all daemons (issue#16729, pr#10346, Kefu Chai)
  • test: cephtool/test.sh: fix expect_false() calls (pr#10133, Kefu Chai)
  • test: fix usage info of omapbench (pr#10089, Wanlong Gao)
  • test: remove ceph_test_rados_api_tmap_migrate (issue#16144, pr#10256, Kefu Chai)
  • test: test_{compression_plugin,async_compressor}: do not copy plugins (pr#10153, Kefu Chai)
  • test: test_rados_tool.sh: Make script work under ctest (pr#10166, Willem Jan Withagen)
  • test: qa/workunits/cephtool/test.sh: fix omission of ceph-command (pr#10979, Willem Jan Withagen)
  • test: qa/workunits/cephtool/test.sh: s/TMPDIR/TEMP_DIR/ (pr#10306, Kefu Chai)
  • test: qa/workunits/cephtool/test.sh: use absolute path for TEMP_DIR (pr#10430, Kefu Chai)
  • tools: New “removeall” used to remove head with snapshots (pr#10098, David Zafman)
  • tools: do not closed stdout ; fix overload of “<” operator (pr#9290, xie xingguo)
  • tools: fix the core dump when get the crushmap do not exist (pr#10451, song baisen)
  • tools: rebuild monstore (issue#17179, pr#10933, Kefu Chai)
  • tools: use TextTable for “rados df” plain output (pr#9362, xie xingguo)
  • tools: fio engine for objectstore (pr#10267, Casey Bodley, Igor Fedotov, Daniel Gollub)
  • tools: rados/client: fix typo (pr#10493, Yan Jun)
  • tools: rados/client: fix waiting on the condition variable more efficient. (pr#9939, Yan Jun)
  • tools: tools/rebuild_mondb: kill comipling warning and other fixes (pr#11117, xie xingguo)
  • tools: authtool: Enhance argument combinations validation (issue#2904, pr#9704, Brad Hubbard)
  • tools: ceph-disk: change ownership of initfile to ceph:ceph (issue#16280, pr#9688, Shylesh Kumar)
  • test: ceph_test_rados_api_tmap_migrate: remove test for tmap_upgrade (pr#10234, Kefu Chai)

v10.2.4 Jewel

This point release fixes several important bugs in RBD mirroring, RGW multi-site, CephFS, and RADOS.

We recommend that all v10.2.x users upgrade. Also note the following when upgrading from hammer

Upgrading from hammer

When the last hammer OSD in a cluster containing jewel MONs is upgraded to jewel, as of 10.2.4 the jewel MONs will issue this warning: “all OSDs are running jewel or later but the ‘require_jewel_osds’ osdmap flag is not set” and change the cluster health status to HEALTH_WARN.

This is a signal for the admin to do “ceph osd set require_jewel_osds” - by doing this, the upgrade path is complete and no more pre-Jewel OSDs may be added to the cluster.

Notable Changes

For more detailed information, see the complete changelog.

v10.2.3 Jewel

This point release fixes several important bugs in RBD mirroring, RGW multi-site, CephFS, and RADOS.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

v10.2.2 Jewel

This point release fixes several important bugs in RBD mirroring, RGW multi-site, CephFS, and RADOS.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

v10.2.1 Jewel

This is the first bugfix release for Jewel. It contains several annoying packaging and init system fixes and a range of important bugfixes across RBD, RGW, and CephFS.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

  • cephfs: CephFSVolumeClient should isolate volumes by RADOS namespace (issue#15400, pr#8787, Xiaoxi Chen)
  • cephfs: handle standby-replay nodes properly in upgrades (issue#15591, pr#8971, John Spray)
  • ceph-{mds,mon,osd} packages need scriptlets with systemd code (issue#14941, pr#8801, Boris Ranto, Nathan Cutler)
  • ceph_test_keyvaluedb: fix (issue#15435, pr#9051, Allen Samuels, Sage Weil)
  • cmake: add missing source file to rbd_mirror/image_replayer (pr#9052, Casey Bodley)
  • cmake: fix rbd compile errors (pr#9076, runsisi, Jason Dillaman)
  • journal: incorrectly computed object offset within set (issue#15765, pr#9038, Jason Dillaman)
  • librbd: client-side handling for incompatible object map sizes (issue#15642, pr#9039, Jason Dillaman)
  • librbd: constrain size of AioWriteEvent journal entries (issue#15750, pr#9048, Jason Dillaman)
  • librbd: does not crash if image header is too short (pr#9044, Kefu Chai)
  • librbd: Errors encountered disabling object-map while flatten is in-progress (issue#15572, pr#8869, Jason Dillaman)
  • librbd: fix get/list mirror image status API (issue#15771, pr#9036, Mykola Golub)
  • librbd: Parent image is closed twice if error encountered while opening (issue#15574, pr#8867, Jason Dillaman)
  • librbd: possible double-free of object map invalidation request upon error (issue#15643, pr#8865, runsisi)
  • librbd: possible race condition leads to use-after-free (issue#15690, pr#9009, Jason Dillaman)
  • librbd: potential concurrent event processing during journal replay (issue#15755, pr#9040, Jason Dillaman)
  • librbd: Potential double free of SetSnapRequest instance (issue#15571, pr#8803, runsisi)
  • librbd: put the validation of image snap context earlier (pr#9046, runsisi)
  • librbd: reduce log level for image format 1 warning (issue#15577, pr#9003, Jason Dillaman)
  • mds/MDSAuthCap parse no longer fails on paths with hyphens (issue#15465, pr#8969, John Spray)
  • mds: MDS incarnation no longer gets lost after remove filesystem (issue#15399, pr#8970, John Spray)
  • mon/OSDMonitor: avoid underflow in reweight-by-utilization if max_change=1 (issue#15655, pr#9006, Samuel Just)
  • python: clone operation will fail if config overridden with “rbd default format = 1” (issue#15685, pr#8972, Jason Dillaman)
  • radosgw-admin: add missing –zonegroup-id to usage (issue#15650, pr#9019, Casey Bodley)
  • radosgw-admin: update usage for zone[group] modify (issue#15651, pr#9016, Casey Bodley)
  • radosgw-admin: zonegroup remove command (issue#15684, pr#9015, Casey Bodley)
  • rbd CLI to retrieve rbd mirror state for a pool / specific image (issue#15144, issue#14420, pr#8868, Mykola Golub)
  • rbd disk-usage CLI command should support calculating full image usage (issue#14540, pr#8870, Jason Dillaman)
  • rbd: helpful error message on map failure (issue#15721, pr#9041, Venky Shankar)
  • rbd: help message distinction between commands and aliases (issue#15521, pr#9004, Yongqiang He)
  • rbd-mirror: admin socket commands to start/stop/restart mirroring (issue#15718, pr#9010, Mykola Golub, Josh Durgin)
  • rbd-mirror can crash if start up is interrupted (issue#15630, pr#8866, Jason Dillaman)
  • rbd-mirror: image sync needs to handle snapshot size and protection status (issue#15110, pr#9050, Jason Dillaman)
  • rbd-mirror: lockdep error during bootstrap (issue#15664, pr#9008, Jason Dillaman)
  • rbd-nbd: fix rbd-nbd aio callback error handling (issue#15604, pr#9005, Chang-Yi Lee)
  • rgw: add AWS4 completion support for RGW_OP_SET_BUCKET_WEBSITE (issue#15626, pr#9018, Javier M. Mellid)
  • rgw admin output (issue#15747, pr#9054, Casey Bodley)
  • rgw: fix issue #15597 (issue#15597, pr#9020, Yehuda Sadeh)
  • rgw: fix printing wrong X-Storage-Url in Swift’s TempAuth. (issue#15667, pr#9021, Radoslaw Zarzynski)
  • rgw: handle stripe transition when flushing final pending_data_bl (issue#15745, pr#9053, Yehuda Sadeh)
  • rgw: leak fixes (issue#15792, pr#9022, Yehuda Sadeh)
  • rgw: multisite: Issues with Deleting Buckets (issue#15540, pr#8930, Abhishek Lekshmanan)
  • rgw: period commit fix (issue#15828, pr#9081, Casey Bodley)
  • rgw: period delete fixes (issue#15469, pr#9047, Casey Bodley)
  • rgw: radosgw-admin zone set cuts pool names short if name starts with a period (issue#15598, pr#9029, Yehuda Sadeh)
  • rgw: segfault at RGWAsyncGetSystemObj (issue#15565, issue#15625, pr#9017, Yehuda Sadeh)
  • several backports (issue#15588, issue#15655, pr#8853, Alexandre Derumier, xie xingguo, Alfredo Deza)
  • systemd: fix typo in preset file (pr#8843, Nathan Cutler)
  • tests: make check fails on ext4 (issue#15837, pr#9063, Loic Dachary, Sage Weil)

v10.2.0 Jewel

This major release of Ceph is the foundation for the next long-term stable release series. There have been many major changes since the Infernalis (9.2.x) and Hammer (0.94.x) releases, and the upgrade process is non-trivial. Please read these release notes carefully.

Major Changes from Infernalis

  • CephFS:
    • This is the first release in which CephFS is declared stable! Several features are disabled by default, including snapshots and multiple active MDS servers.
    • The repair and disaster recovery tools are now feature-complete.
    • A new cephfs-volume-manager module is included that provides a high-level interface for creating “shares” for OpenStack Manila and similar projects.
    • There is now experimental support for multiple CephFS file systems within a single cluster.
  • RGW:
    • The multisite feature has been almost completely rearchitected and rewritten to support any number of clusters/sites, bidirectional fail-over, and active/active configurations.
    • You can now access radosgw buckets via NFS (experimental).
    • The AWS4 authentication protocol is now supported.
    • There is now support for S3 request payer buckets.
    • The new multitenancy infrastructure improves compatibility with Swift, which provides a separate container namespace for each user/tenant.
    • The OpenStack Keystone v3 API is now supported. There are a range of other small Swift API features and compatibility improvements as well, including bulk delete and SLO (static large objects).
  • RBD:
    • There is new support for mirroring (asynchronous replication) of RBD images across clusters. This is implemented as a per-RBD image journal that can be streamed across a WAN to another site, and a new rbd-mirror daemon that performs the cross-cluster replication.
    • The exclusive-lock, object-map, fast-diff, and journaling features can be enabled or disabled dynamically. The deep-flatten features can be disabled dynamically but not re-enabled.
    • The RBD CLI has been rewritten to provide command-specific help and full bash completion support.
    • RBD snapshots can now be renamed.
  • RADOS:
    • BlueStore, a new OSD backend, is included as an experimental feature. The plan is for it to become the default backend in the K or L release.
    • The OSD now persists scrub results and provides a librados API to query results in detail.
    • We have revised our documentation to recommend against using ext4 as the underlying filesystem for Ceph OSD daemons due to problems supporting our long object name handling.

Major Changes from Hammer

  • General:
    • Ceph daemons are now managed via systemd (with the exception of Ubuntu Trusty, which still uses upstart).
    • Ceph daemons run as ‘ceph’ user instead of ‘root’.
    • On Red Hat distros, there is also an SELinux policy.
  • RADOS:
    • The RADOS cache tier can now proxy write operations to the base tier, allowing writes to be handled without forcing migration of an object into the cache.
    • The SHEC erasure coding support is no longer flagged as experimental. SHEC trades some additional storage space for faster repair.
    • There is now a unified queue (and thus prioritization) of client IO, recovery, scrubbing, and snapshot trimming.
    • There have been many improvements to low-level repair tooling (ceph-objectstore-tool).
    • The internal ObjectStore API has been significantly cleaned up in order to faciliate new storage backends like BlueStore.
  • RGW:
    • The Swift API now supports object expiration.
    • There are many Swift API compatibility improvements.
  • RBD:
    • The rbd du command shows actual usage (quickly, when object-map is enabled).
    • The object-map feature has seen many stability improvements.
    • The object-map and exclusive-lock features can be enabled or disabled dynamically.
    • You can now store user metadata and set persistent librbd options associated with individual images.
    • The new deep-flatten features allow flattening of a clone and all of its snapshots. (Previously snapshots could not be flattened.)
    • The export-diff command is now faster (it uses aio). There is also a new fast-diff feature.
    • The –size argument can be specified with a suffix for units (e.g., --size 64G).
    • There is a new rbd status command that, for now, shows who has the image open/mapped.
  • CephFS:
    • You can now rename snapshots.
    • There have been ongoing improvements around administration, diagnostics, and the check and repair tools.
    • The caching and revocation of client cache state due to unused inodes has been dramatically improved.
    • The ceph-fuse client behaves better on 32-bit hosts.

Distro compatibility

Starting with Infernalis, we have dropped support for many older distributions so that we can move to a newer compiler toolchain (e.g., C++11). Although it is still possible to build Ceph on older distributions by installing backported development tools, we are not building and publishing release packages for ceph.com.

We now build packages for the following distributions and architectures:

  • x86_64:
    • CentOS 7.x. We have dropped support for CentOS 6 (and other RHEL 6 derivatives, like Scientific Linux 6).
    • Debian Jessie 8.x. Debian Wheezy 7.x’s g++ has incomplete support for C++11 (and no systemd).
    • Ubuntu Xenial 16.04 and Trusty 14.04. Ubuntu Precise 12.04 is no longer supported.
    • Fedora 22 or later.
  • aarch64 / arm64:
    • Ubuntu Xenial 16.04.

Upgrading from Infernalis or Hammer

  • We now recommend against using ext4 as the underlying file system for Ceph OSDs, especially when RGW or other users of long RADOS object names are used. For more information about why, please see Filesystem Recommendations.

    If you have an existing cluster that uses ext4 for the OSDs but uses only RBD and/or CephFS, then the ext4 limitations will not affect you. Before upgrading, be sure add the following to ceph.conf to allow the OSDs to start:

    osd max object name len = 256
    osd max object namespace len = 64

    Keep in mind that if you set these lower object name limits and later decide to use RGW on this cluster, it will have problems storing S3/Swift objects with long names. This startup check can also be disabled via the below option, although this is not recommended:

    osd check max object name len on startup = false
  • There are no major compatibility changes since Infernalis. Simply upgrading the daemons on each host and restarting all daemons is sufficient.

  • The rbd CLI no longer accepts the deprecated ‘–image-features’ option during create, import, and clone operations. The ‘–image-feature’ option should be used instead.

  • The rbd legacy image format (version 1) is deprecated with the Jewel release. Attempting to create a new version 1 RBD image will result in a warning. Future releases of Ceph will remove support for version 1 RBD images.

  • The ‘send_pg_creates’ and ‘map_pg_creates’ mon CLI commands are obsolete and no longer supported.

  • A new configure option ‘mon_election_timeout’ is added to specifically limit max waiting time of monitor election process, which was previously restricted by ‘mon_lease’.

  • CephFS filesystems created using versions older than Firefly (0.80) must use the new ‘cephfs-data-scan tmap_upgrade’ command after upgrading to Jewel. See ‘Upgrading’ in the CephFS documentation for more information.

  • The ‘ceph mds setmap’ command has been removed.

  • The default RBD image features for new images have been updated to enable the following: exclusive lock, object map, fast-diff, and deep-flatten. These features are not currently supported by the RBD kernel driver nor older RBD clients. They can be disabled on a per-image basis via the RBD CLI, or the default features can be updated to the pre-Jewel setting by adding the following to the client section of the Ceph configuration file:

    rbd default features = 1
  • The rbd legacy image format (version 1) is deprecated with the Jewel release.

  • After upgrading, users should set the ‘sortbitwise’ flag to enable the new internal object sort order:

    ceph osd set sortbitwise

    This flag is important for the new object enumeration API and for new backends like BlueStore.

  • The rbd CLI no longer permits creating images and snapshots with potentially ambiguous names (e.g. the ‘/’ and ‘@’ characters are disallowed). The validation can be temporarily disabled by adding “–rbd-validate-names=false” to the rbd CLI when creating an image or snapshot. It can also be disabled by adding the following to the client section of the Ceph configuration file:

    rbd validate names = false

Upgrading from Hammer

  • All cluster nodes must first upgrade to Hammer v0.94.4 or a later v0.94.z release; only then is it possible to upgrade to Jewel 10.2.z.

  • For all distributions that support systemd (CentOS 7, Fedora, Debian Jessie 8.x, OpenSUSE), ceph daemons are now managed using native systemd files instead of the legacy sysvinit scripts. For example,:

    systemctl start ceph.target       # start all daemons
    systemctl status ceph-osd@12      # check status of osd.12

    The main notable distro that is not yet using systemd is Ubuntu trusty 14.04. (The next Ubuntu LTS, 16.04, will use systemd instead of upstart.)

  • Ceph daemons now run as user and group ceph by default. The ceph user has a static UID assigned by Fedora and Debian (also used by derivative distributions like RHEL/CentOS and Ubuntu). On SUSE the same UID/GID as in Fedora and Debian will be used, provided it is not already assigned. In the unlikely event the preferred UID or GID is assigned to a different user/group, ceph will get a dynamically assigned UID/GID.

    If your systems already have a ceph user, upgrading the package will cause problems. We suggest you first remove or rename the existing ‘ceph’ user and ‘ceph’ group before upgrading.

    When upgrading, administrators have two options:

    1. Add the following line to ceph.conf on all hosts:

      setuser match path = /var/lib/ceph/$type/$cluster-$id

      This will make the Ceph daemons run as root (i.e., not drop privileges and switch to user ceph) if the daemon’s data directory is still owned by root. Newly deployed daemons will be created with data owned by user ceph and will run with reduced privileges, but upgraded daemons will continue to run as root.

    2. Fix the data ownership during the upgrade. This is the preferred option, but it is more work and can be very time consuming. The process for each host is to:

      1. Upgrade the ceph package. This creates the ceph user and group. For example:

        ceph-deploy install --stable jewel HOST
      2. Stop the daemon(s).:

        service ceph stop           # fedora, centos, rhel, debian
        stop ceph-all               # ubuntu
      3. Fix the ownership:

        chown -R ceph:ceph /var/lib/ceph
        chown -R ceph:ceph /var/log/ceph
      4. Restart the daemon(s).:

        start ceph-all                # ubuntu
        systemctl start ceph.target   # debian, centos, fedora, rhel

      Alternatively, the same process can be done with a single daemon type, for example by stopping only monitors and chowning only /var/lib/ceph/mon.

  • The on-disk format for the experimental KeyValueStore OSD backend has changed. You will need to remove any OSDs using that backend before you upgrade any test clusters that use it.

  • When a pool quota is reached, librados operations now block indefinitely, the same way they do when the cluster fills up. (Previously they would return -ENOSPC.) By default, a full cluster or pool will now block. If your librados application can handle ENOSPC or EDQUOT errors gracefully, you can get error returns instead by using the new librados OPERATION_FULL_TRY flag.

  • The return code for librbd’s rbd_aio_read and Image::aio_read API methods no longer returns the number of bytes read upon success. Instead, it returns 0 upon success and a negative value upon failure.

  • ‘ceph scrub’, ‘ceph compact’ and ‘ceph sync force’ are now DEPRECATED. Users should instead use ‘ceph mon scrub’, ‘ceph mon compact’ and ‘ceph mon sync force’.

  • ‘ceph mon_metadata’ should now be used as ‘ceph mon metadata’. There is no need to deprecate this command (same major release since it was first introduced).

  • The –dump-json option of “osdmaptool” is replaced by –dump json.

  • The commands of “pg ls-by-{pool,primary,osd}” and “pg ls” now take “recovering” instead of “recovery”, to include the recovering pgs in the listed pgs.

Upgrading from Firefly

Upgrading directly from Firefly v0.80.z is not recommended. It is possible to do a direct upgrade, but not without downtime, as all OSDs must be stopped, upgraded, and then restarted. We recommend that clusters be first upgraded to Hammer v0.94.6 or a later v0.94.z release; only then is it possible to upgrade to Jewel 10.2.z for an online upgrade (see below).

To do an offline upgrade directly from Firefly, all Firefly OSDs must be stopped and marked down before any Jewel OSDs will be allowed to start up. This fencing is enforced by the Jewel monitor, so you should use an upgrade procedure like:

  1. Upgrade Ceph on monitor hosts
  2. Restart all ceph-mon daemons
  3. Set noout::
    ceph osd set noout
  4. Upgrade Ceph on all OSD hosts
  5. Stop all ceph-osd daemons
  6. Mark all OSDs down with something like::
    ceph osd down seq 0 1000
  7. Start all ceph-osd daemons
  8. Let the cluster settle and then unset noout::
    ceph osd unset noout
  9. Upgrade and restart any remaining daemons (ceph-mds, radosgw)

Notable Changes since Infernalis

  • admin/build-doc: depend on zlib1g-dev and graphviz (pr#7522, Ken Dreyer)
  • auth: fail if rotating key is missing (do not spam log) (pr#6473, Qiankun Zheng)
  • auth: fix crash when bad keyring is passed (pr#6698, Dunrong Huang)
  • auth: make keyring without mon entity type return -EACCES (pr#5734, Xiaowei Chen)
  • AUTHORS: update email (pr#7854, Yehuda Sadeh)
  • authtool: update –help and manpage to match code. (pr#8456, Robin H. Johnson)
  • bluestore: latest and greatest (issue#14210, issue#13801, pr#6896, xie.xingguo, Jianpeng Ma, YiQiang Chen, Sage Weil, Ning Yao)
  • buffer: add symmetry operator==() and operator!=() (pr#7974, Kefu Chai)
  • buffer: fix internal iterator invalidation on rebuild, get_contiguous (pr#6962, Sage Weil)
  • buffer: hide iterator_impl symbols (issue#14788, pr#7688, Kefu Chai)
  • buffer: increment history alloc as well in raw_combined (issue#14955, pr#7910, Samuel Just)
  • buffer: make usable outside of ceph source again (pr#6863, Josh Durgin)
  • buffer: raw_combined allocations buffer and ref count together (pr#7612, Sage Weil)
  • buffer: use move construct to append/push_back/push_front (pr#7455, Haomai Wang)
  • build: Adding build requires (pr#7742, Erwan Velu)
  • build: a few armhf (32-bit build) fixes (pr#7999, Eric Lee, Sage Weil)
  • build: allow jemalloc with rocksdb-static (pr#7368, Somnath Roy)
  • build: build internal plugins and classes as modules (pr#6462, James Page)
  • build: cmake check fixes (pr#6787, Orit Wasserman)
  • build: cmake tweaks (pr#6254, John Spray)
  • build: fix a few warnings (pr#6847, Orit Wasserman)
  • build: fix bz2-dev dependency (pr#6948, Samuel Just)
  • build: fix compiling warnings (pr#8366, Dongsheng Yang)
  • build: Fixing BTRFS issue at ‘make check’ (pr#7805, Erwan Velu)
  • build: fix Jenkins make check errors due to deep-scrub randomization (pr#6671, David Zafman)
  • build: fix the autotools and cmake build (the new fusestore needs libfuse) (pr#7393, Kefu Chai)
  • build: fix warnings (pr#7197, Kefu Chai, xie xingguo)
  • build: fix warnings (pr#7315, Kefu Chai)
  • build: FreeBSD related fixes (pr#7170, Mykola Golub)
  • build: Gentoo: _FORTIFY_SOURCE fix. (issue#13920, pr#6739, Robin H. Johnson)
  • build: kill warnings (pr#7397, Kefu Chai)
  • build: misc make check fixes (pr#7153, Sage Weil)
  • build: more CMake package check fixes (pr#6108, Daniel Gryniewicz)
  • build: move libexec scripts to standardize across distros (issue#14687, issue#14705, issue#14723, pr#7636, Nathan Cutler, Kefu Chai)
  • build/ops: enable CR in CentOS 7 (issue#13997, pr#6844, Loic Dachary)
  • build/ops: rbd-replay moved from ceph-test-dbg to ceph-common-dbg (issue#13785, pr#6578, Loic Dachary)
  • build/ops: systemd ceph-disk unit must not assume /bin/flock (issue#13975, pr#6803, Loic Dachary)
  • build: Refrain from versioning and packaging EC testing plugins (issue#14756, issue#14723, pr#7637, Nathan Cutler, Kefu Chai)
  • build: Respect TMPDIR for virtualenv. (pr#8457, Robin H. Johnson)
  • build: spdk submodule; cmake (pr#7503, Kefu Chai)
  • build: workaround an automake bug for “make check” (issue#14723, pr#7626, Kefu Chai)
  • ceph: bash auto complete for CLI based on mon command descriptions (pr#7693, Adam Kupczyk)
  • ceph_daemon.py: Resolved ImportError to work with python3 (pr#7937, Sarthak Munshi)
  • ceph-detect-init: add debian/jessie test (pr#8074, Kefu Chai)
  • ceph-detect-init: add missing test case (pr#8105, Nathan Cutler)
  • ceph-detect-init: fix py3 test (pr#7025, Kefu Chai)
  • ceph-detect-init: fix py3 test (pr#7243, Kefu Chai)
  • ceph_detect_init/__init__.py: remove shebang (pr#7731, Nathan Cutler)
  • ceph-detect-init: return correct value on recent SUSE distros (issue#14770, pr#7909, Nathan Cutler)
  • ceph-detect-init/run-tox.sh: FreeBSD: No init detect (pr#8373, Willem Jan Withagen)
  • ceph-detect-init: Ubuntu >= 15.04 uses systemd (pr#6873, James Page)
  • ceph-disk: Add destroy and deactivate option (issue#7454, pr#5867, Vicente Cheng)
  • ceph-disk: add -f flag for btrfs mkfs (pr#7222, Darrell Enns)
  • ceph-disk: Add –setuser and –setgroup options for ceph-disk (pr#7351, Mike Shuey)
  • ceph-disk: ceph-disk list fails on /dev/cciss!c0d0 (issue#13970, issue#14233, issue#14230, pr#6879, Loic Dachary)
  • ceph-disk: compare parted output with the dereferenced path (issue#13438, pr#6219, Joe Julian)
  • ceph-disk: deactivate / destroy PATH arg are optional (pr#7756, Loic Dachary)
  • ceph-disk: do not always fail when re-using a partition (pr#8508, You Ji)
  • ceph-disk: fix failures when preparing disks with udev > 214 (issue#14080, issue#14094, pr#6926, Loic Dachary, Ilya Dryomov)
  • ceph-disk: fix prepare –help (pr#7758, Loic Dachary)
  • ceph-disk: Fix trivial typo (pr#7472, Brad Hubbard)
  • ceph-disk: flake8 fixes (pr#7646, Loic Dachary)
  • ceph-disk: get Nonetype when ceph-disk list with –format plain on single device. (pr#6410, Vicente Cheng)
  • ceph-disk: Improving ‘make check’ for ceph-disk (pr#7762, Erwan Velu)
  • ceph-disk: key management support (issue#14669, pr#7552, Loic Dachary)
  • ceph-disk: make some arguments as required if necessary (pr#7687, Dongsheng Yang)
  • ceph-disk: s/dmcrpyt/dmcrypt/ (issue#14838, pr#7744, Loic Dachary, Frode Sandholtbraaten)
  • ceph-disk: support bluestore (issue#13422, pr#7218, Loic Dachary, Sage Weil)
  • ceph-disk/test: fix test_prepare.py::TestPrepare tests (pr#7549, Kefu Chai)
  • ceph-disk: warn for prepare partitions with bad GUIDs (issue#13943, pr#6760, David Disseldorp)
  • ceph: fix tell behavior (pr#6329, David Zafman)
  • cephfs-data-scan: scan_frags (pr#5941, John Spray)
  • cephfs-data-scan: scrub tag filtering (#12133 and #12145) (issue#12133, issue#12145, pr#5685, John Spray)
  • ceph-fuse: add process to ceph-fuse –help (pr#6821, Wei Feng)
  • ceph-fuse: fix double decreasing the count to trim caps (issue#14319, pr#7229, Zhi Zhang)
  • ceph-fuse: fix double free of args (pr#7015, Ilya Shipitsin)
  • ceph-fuse: fix fsync() (pr#6388, Yan, Zheng)
  • ceph-fuse: Fix potential filehandle ref leak at umount (issue#14800, pr#7686, Zhi Zhang)
  • ceph-fuse,libcephfs: Fix client handling of “lost” open directories on shutdown (issue#14996, pr#7994, Yan, Zheng)
  • ceph-fuse,libcephfs: fix free fds being exhausted eventually because freed fds are never put back (issue#14798, pr#7685, Zhi Zhang)
  • ceph-fuse:print usage information when no parameter specified (pr#6868, Bo Cai)
  • ceph-fuse: rotate log file (pr#8485, Sage Weil)
  • ceph-fuse: While starting ceph-fuse, start the log thread first (issue#13443, pr#6224, Wenjun Huang)
  • ceph: improve the error message (issue#11101, pr#7106, Kefu Chai)
  • ceph.in: avoid a broken pipe error when use ceph command (issue#14354, pr#7212, Bo Cai)
  • ceph.in: correct dev python path for automake builds (pr#8360, Josh Durgin)
  • ceph.in: fix python libpath for automake as well (pr#8362, Josh Durgin)
  • ceph.in: Minor python3 specific changes (pr#7947, Sarthak Munshi)
  • ceph-kvstore-tool: handle bad out file on command line (pr#6093, Kefu Chai)
  • ceph-mds:add –help/-h (pr#6850, Cilang Zhao)
  • ceph_objectstore_bench: fix race condition, bugs (issue#13516, pr#6681, Igor Fedotov)
  • ceph-objectstore-tool: fix –dry-run for many ceph-objectstore-tool operations (pr#6545, David Zafman)
  • ceph-rest-api: fix fs/flag/set (pr#8428, Sage Weil)
  • ceph.spec.in: add BuildRequires: systemd (issue#13860, pr#6692, Nathan Cutler)
  • ceph.spec.in: add copyright notice (issue#14694, pr#7569, Nathan Cutler)
  • ceph.spec.in: add license declaration (pr#7574, Nathan Cutler)
  • ceph.spec.in: disable lttng and babeltrace explicitly (issue#14844, pr#7857, Kefu Chai)
  • ceph.spec.in: do not install Ceph RA on systemd platforms (issue#14828, pr#7894, Nathan Cutler)
  • ceph.spec.in: fix openldap and openssl build dependencies for SUSE (issue#15138, pr#8120, Nathan Cutler)
  • ceph.spec.in: limit _smp_mflags when lowmem_builder is set in SUSE’s OBS (issue#13858, pr#6691, Nathan Cutler)
  • ceph.spec.in: terminate if statement in %pre scriptlet (pr#8628, Nathan Cutler)
  • ceph_test_libcephfs: tolerate duplicated entries in readdir (issue#14377, pr#7246, Yan, Zheng)
  • ceph_test_msgr: reduce test size to fix memory size (pr#8127, Haomai Wang)
  • ceph_test_msgr: Use send_message instead of keepalive to wakeup connection (pr#6605, Haomai Wang)
  • ceph_test_rados: make long name ~300 chars, (not ~800) (pr#8600, Sage Weil)
  • ceph_test_rados_misc: shorten mount timeout (pr#8209, Sage Weil)
  • check-generated.sh: can’t source bash from sh (pr#8521, Michal Jarzabek)
  • cleanup (pr#8058, Yehuda Sadeh, Orit Wasserman)
  • cleanup: remove misc dead code (pr#7201, Erwan Velu)
  • client: a better check for MDS availability (pr#6253, John Spray)
  • client: add option to control how directory size is calculated (pr#7323, Yan, Zheng)
  • client: avoid creating orphan object in Client::check_pool_perm() (issue#13782, pr#6603, Yan, Zheng)
  • client: check if Fh is readable when processing a read (issue#11517, pr#7209, Yan, Zheng)
  • client: close mds sessions in shutdown() (pr#6269, John Spray)
  • client: don’t invalidate page cache when inode is no longer used (pr#6380, Yan, Zheng)
  • client: don’t mark_down on command reply (pr#6204, John Spray)
  • client: drop prefix from ints (pr#6275, John Coyle)
  • client: flush kernel pagecache before creating snapshot (issue#10436, pr#7495, Yan, Zheng)
  • client: modify a word in log (pr#6906, YongQiang He)
  • client: properly trim unlinked inode (issue#13903, pr#7297, Yan, Zheng)
  • client: removed unused Mutex from MetaRequest (pr#7655, Greg Farnum)
  • client: sys/file.h includes for flock operations (pr#6282, John Coyle)
  • client: use null snapc to check pool permission (issue#13714, pr#6497, Yan, Zheng)
  • cls/cls_rbd.cc: fix misused metadata_name_from_key (issue#13922, pr#6661, Xiaoxi Chen)
  • cls/cls_rbd: pass string by reference (pr#7232, Jeffrey Lu)
  • cls_hello: Fix grammatical error in description comment (pr#7951, Brad Hubbard)
  • cls_journal: fix -EEXIST checking (pr#8413, runsisi)
  • cls_rbd: add guards for error cases (issue#14316, issue#14317, pr#7165, xie xingguo)
  • cls_rbd: change object_map_update to return 0 on success, add logging (pr#6467, Douglas Fuller)
  • cls_rbd: enable object map checksums for object_map_save (issue#14280, pr#7149, Douglas Fuller)
  • cls_rbd: fix -EEXIST checking in cls::rbd::image_set (pr#8371, runsisi)
  • cls_rbd: fix the test for ceph-dencoder (pr#7793, Kefu Chai)
  • cls_rbd: mirror_image_list should return global image id (pr#8297, Jason Dillaman)
  • cls_rbd: mirroring directory (issue#14419, pr#7620, Josh Durgin)
  • cls_rbd: pass WILLNEED fadvise flags during object map update (issue#15332, pr#8380, Jason Dillaman)
  • cls_rbd: protect against excessively large object maps (issue#15121, pr#8099, Jason Dillaman)
  • cls_rbd: read_peers: update last_read on next cls_cxx_map_get_vals (pr#8374, Mykola Golub)
  • cls/rgw: fix FTBFS (pr#8142, Kefu Chai)
  • cls/rgw: fix use of timespan (issue#15181, pr#8212, Yehuda Sadeh)
  • cmake: add common/fs_types.cc to libcommon (pr#7898, Orit Wasserman)
  • cmake: Add common/PluginRegistry.cc to CMakeLists.txt (pr#6805, Pete Zaitcev)
  • cmake: Added new unittests to make check (pr#7572, Ali Maredia)
  • cmake: Add ENABLE_GIT_VERSION to avoid rebuilding (pr#7171, Kefu Chai)
  • cmake: add ErasureCode.cc to jerasure plugins (pr#7808, Casey Bodley)
  • cmake: add FindOpenSSL.cmake (pr#8106, Marcus Watts, Matt Benjamin)
  • cmake: add KernelDevice.cc to libos_srcs (pr#7507, Kefu Chai)
  • cmake: add missing check for HAVE_EXECINFO_H (pr#7270, Casey Bodley)
  • cmake: add missing librbd image_watcher sources (issue#14823, pr#7717, Casey Bodley)
  • cmake: add missing librbd/MirrorWatcher.cc and librd/ObjectWatcher.cc (pr#8399, Orit Wasserman)
  • cmake: add nss as a suffix for pk11pub.h (pr#6556, Samuel Just)
  • cmake: add rgw_basic_types.cc to librgw.a (pr#6786, Orit Wasserman)
  • cmake: add StandardPolicy.cc to librbd (pr#8368, Kefu Chai)
  • cmake: add TracepointProvider.cc to libcommon (pr#6823, Orit Wasserman)
  • cmake: avoid false-positive LDAP header detect (pr#8100, Matt Benjamin)
  • cmake: Build cython modules and change paths to bin/, lib/ (pr#8351, John Spray, Ali Maredia)
  • cmake: check for libsnappy in default path also (pr#7366, Kefu Chai)
  • cmake: cleanups and more features from automake (pr#7103, Casey Bodley, Ali Maredia)
  • cmake: define STRERROR_R_CHAR_P for GNU-specific strerror_r (pr#6751, Ilya Dryomov)
  • cmake: detect bzip2 and lz4 (pr#7126, Kefu Chai)
  • cmake: feb5 (pr#7541, Matt Benjamin)
  • cmake: fix build with bluestore (pr#7099, John Spray)
  • cmake: fix files list (pr#6539, Yehuda Sadeh)
  • cmake: fix mrun to handle cmake build structure (pr#8237, Orit Wasserman)
  • cmake: fix paths to various EC source files (pr#7748, Ali Maredia, Matt Benjamin)
  • cmake: fix the build of test_rados_api_list (pr#8438, Kefu Chai)
  • cmake: fix the build of tests (pr#7523, Kefu Chai)
  • cmake: fix the build on trusty (pr#7249, Kefu Chai)
  • cmake: For CMake version <= 2.8.11, use LINK_PRIVATE and LINK_PUBLIC (pr#7474, Tao Chang)
  • cmake: For CMake version <= 2.8.11, use LINK_PRIVATE (pr#8422, Haomai Wang)
  • cmake: let ceph-client-debug link with tcmalloc (pr#7314, Kefu Chai)
  • cmake: librbd and libjournal build fixes (pr#6557, Ilya Dryomov)
  • cmake: made rocksdb an imported library (pr#7131, Ali Maredia)
  • cmake: make check (pr#7912, Kefu Chai, Ali Maredia)
  • cmake: no need to run configure from run-cmake-check.sh (pr#6959, Orit Wasserman)
  • cmake (pr#7849, Ali Maredia)
  • cmake/pybind: fix include paths for cephfs (pr#8381, Josh Durgin)
  • cmake: Remove duplicate find_package libcurl line. (pr#7972, Brad Hubbard)
  • cmake: support ccache via a WITH_CCACHE build option (pr#6875, John Coyle)
  • cmake: test_build_libcephfs needs ${ALLOC_LIBS} (pr#7300, Ali Maredia)
  • cmake: update for recent librbd changes (pr#6715, John Spray)
  • cmake: update for recent rbd changes (pr#6818, Mykola Golub)
  • cmake: Use uname instead of arch. (pr#6358, John Coyle)
  • coc: fix typo in the apt-get command (pr#6659, Chris Holcombe)
  • common: add generic plugin infrastructure (pr#6696, Sage Weil)
  • common: add latency perf counter for finisher (pr#6175, Xinze Chi)
  • common/address_help.cc: fix the leak in entity_addr_from_url() (issue#14132, pr#6987, Qiankun Zheng)
  • common: add thread names (pr#5882, Igor Podoski)
  • common: add zlib compression plugin (pr#7437, Alyona Kiseleva, Kiseleva Alyona)
  • common: admin socket commands for tcmalloc heap get/set operations (pr#7512, Samuel Just)
  • common: ake ceph_time clocks work under BSD (pr#7340, Adam C. Emerson)
  • common: allow enable/disable of optracker at runtime (pr#5168, Jianpeng Ma)
  • common: Allow OPT_INT settings with negative values (issue#13829, pr#7390, Brad Hubbard, Kefu Chai)
  • common: assert: abort() rather than throw (pr#6804, Adam C. Emerson)
  • common: assert: __STRING macro is not defined by musl libc. (pr#6210, John Coyle)
  • common/bit_vector: use hard-coded value for block size (issue#14747, pr#7610, Jason Dillaman)
  • common: buffer: add cached_crc and cached_crc_adjust counts to perf dump (pr#6535, Ning Yao)
  • common: buffer/assert minor fixes (pr#6990, Matt Benjamin)
  • common: buffer: put a guard for stat() syscall during read_file (pr#7956, xie xingguo)
  • common: buffer: remove unneeded list destructor (pr#6456, Michal Jarzabek)
  • common/buffer: replace RWLock with spinlocks (pr#7294, Piotr Dałek)
  • common/ceph_context.cc:fix order of initialisers (pr#6838, Michal Jarzabek)
  • common: change the type of counter total/unhealthy_workers (pr#7254, Guang Yang)
  • common: default cluster name to config file prefix (pr#7364, Javen Wu)
  • common: Deprecate or free up a bunch of feature bits (pr#8214, Samuel Just)
  • common: Do not use non-portable constants in mutex_debug (pr#7766, Adam C. Emerson)
  • common: don’t reverse hobject_t hash bits when zero (pr#6653, Piotr Dałek)
  • common: fix OpTracker age histogram calculation (pr#5065, Zhiqiang Wang)
  • common: fix race during optracker switches between enabled/disabled mode (pr#8330, xie xingguo)
  • common: fix reset max in Throttle using perf reset command (issue#13517, pr#6300, Xinze Chi)
  • common: fix time_t cast in decode (issue#15330, pr#8419, Adam C. Emerson)
  • common/Formatter: avoid newline if there is no output (pr#5351, Aran85)
  • common: improve shared_cache and simple_cache efficiency with hash table (pr#6909, Ning Yao)
  • common/lockdep: increase max lock names (pr#6961, Sage Weil)
  • common: log: Assign LOG_DEBUG priority to syslog calls (issue#13993, pr#6815, Brad Hubbard)
  • common: log: predict log message buffer allocation size (pr#6641, Adam Kupczyk)
  • common/MemoryModel: Added explicit feature check for mallinfo(). (pr#6252, John Coyle)
  • common: new timekeeping common code, and Objecter conversion (pr#5782, Adam C. Emerson)
  • common/obj_bencher.cc: bump the precision of bandwidth field (pr#8021, Piotr Dałek)
  • common/obj_bencher.cc: faster object name generation (pr#7863, Piotr Dałek)
  • common/obj_bencher.cc: fix verification crashing when there’s no objects (pr#5853, Piotr Dałek)
  • common/obj_bencher.cc: make verify error fatal (issue#14971, pr#7897, Piotr Dałek)
  • common: optimize debug logging code (pr#6441, Adam Kupczyk)
  • common: optimize debug logging (pr#6307, Adam Kupczyk)
  • common/page.cc: _page_mask has too many bits (pr#7588, Dan Mick)
  • common: perf counter for bufferlist history total alloc (pr#6198, Xinze Chi)
  • common: reduce CPU usage by making stringstream in stringify function thread local (pr#6543, Evgeniy Firsov)
  • common: re-enable backtrace support (pr#6771, Jason Dillaman)
  • common: set thread name from correct thread (pr#7845, Igor Podoski)
  • common: signal_handler: added support for using reentrant strsignal() implementations vs. sys_siglist[] (pr#6796, John Coyle)
  • common: snappy decompressor may assert when handling segmented input bufferlist (issue#14400, pr#7268, Igor Fedotov)
  • common: string.h: return type from str_len(...) need not be const (pr#7679, Matt Benjamin)
  • common/str_map: cleanup: replaced get_str_map() function overloading by using default parameters for delimiters (pr#7266, Sahithi R V)
  • common/strtol.cc: fix the coverity warnings (pr#7967, Kefu Chai)
  • common: SubProcess: Avoid buffer corruption when calling err() (issue#15011, pr#8054, Erwan Velu)
  • common: SubProcess: fix multiple definition bug (pr#6790, Yunchuan Wen)
  • common: Thread: move copy constructor and assignment op (pr#5133, Michal Jarzabek)
  • common: time: have skewing-now call non-skewing now (pr#7466, Adam C. Emerson)
  • common/TrackedOp: fix inaccurate counting for slow requests (issue#14804, pr#7690, xie xingguo)
  • common: unit test for interval_set implementations (pr#6, Igor Fedotov)
  • common: use namespace instead of subclasses for buffer (pr#6686, Michal Jarzabek)
  • common: various fixes from SCA runs (pr#7680, Danny Al-Gaaf)
  • common: WeightedPriorityQueue Re-Add Round Robin for Classes (pr#7984, Robert LeBlanc)
  • common: WorkQueue: new PointerWQ base class for ContextWQ (issue#13636, pr#6525, Jason Dillaman)
  • compat: use prefixed typeof extension (pr#6216, John Coyle)
  • config: add $data_dir/config to config search path (pr#7377, Sage Weil)
  • config: complains when a setting is not tracked (issue#11692, pr#7085, Kefu Chai)
  • config: fix osd_crush_initial_weight (pr#7975, You Ji)
  • config: increase default async op threads (pr#7802, Piotr Dałek)
  • config_opts: disable filestore throttle soft backoff by default (pr#8265, Samuel Just)
  • configure.ac: boost_iostreams is required, not optional (pr#7816, Hector Martin)
  • configure.ac: macro fix (pr#6769, Igor Podoski)
  • configure.ac: make “–with-librocksdb-static” default to ‘check’ (issue#14463, pr#7317, Dan Mick)
  • configure.ac: update help strings for cython (pr#7856, Josh Durgin)
  • configure: Add -D_LARGEFILE64_SOURCE to Linux build. (pr#8402, Ira Cooper)
  • configure: detect bz2 and lz4 (issue#13850, issue#13981, pr#7030, Kefu Chai)
  • correct radosgw-admin command (pr#7006, YankunLi)
  • crush: add chooseleaf_stable tunable (pr#6572, Sangdi Xu, Sage Weil)
  • crush: add safety assert (issue#14496, pr#7344, songbaisen)
  • crush: clean up whitespace removal (issue#14302, pr#7157, songbaisen)
  • crush/CrushTester: check for overlapped rules (pr#7139, Kefu Chai)
  • crush/CrushTester: workaround a bug in boost::icl (pr#7560, Kefu Chai)
  • crush: fix cli tests for new crush tunables (pr#8107, Sage Weil)
  • crush: fix error log (pr#8430, Wei Jin)
  • crush: fix typo (pr#8518, Wei Jin)
  • crush: reply quickly from get_immediate_parent (issue#14334, pr#7181, song baisen)
  • crushtool: Don’t crash when called on a file that isn’t a crushmap (issue#8286, pr#8038, Brad Hubbard)
  • crushtool: improve usage/tip messages (pr#7142, xie xingguo)
  • crushtool: set type 0 name “device” for –build option (pr#6824, Sangdi Xu)
  • crush: update tunable docs. change default profile to jewel (pr#7964, Sage Weil)
  • crush: validate bucket id before indexing buckets array (issue#13477, pr#6246, Sage Weil)
  • debian/changelog: Remove stray ‘v’ in version (pr#7936, Dan Mick)
  • debian/changelog: Remove stray ‘v’ in version (pr#7938, Dan Mick)
  • debian: include cpio in build-requiers (pr#7533, Rémi BUISSON)
  • debian: package librgw_file* tests (pr#7930, Ken Dreyer)
  • debian: packaging fixes for jewel (pr#7807, Ken Dreyer, Ali Maredia)
  • debian/rpm split servers (issue#10587, pr#7746, Ken Dreyer)
  • debian/rules: put init-ceph in /etc/init.d/ceph, not ceph-base (issue#15329, pr#8406, Dan Mick)
  • debian: start ceph-mon-all and ceph-osd-all on package install (issue#15098, pr#8617, Sage Weil)
  • doc: add ceph-detect-init(8) source to dist tarball (pr#7933, Ken Dreyer)
  • doc: add cinder backend section to rbd-openstack.rst (pr#7923, RustShen)
  • doc: adding “–allow-shrink” in decreasing the size of the rbd block to distinguish from the increasing option (pr#7020, Yehua)
  • doc: Adding documentation on how to use new dynamic throttle scheme (pr#8069, Somnath Roy)
  • doc: add orphans commands to radosgw-admin(8) (issue#14637, pr#7518, Ken Dreyer)
  • doc: add v0.80.11 to the release timeline (pr#6658, Loic Dachary)
  • doc: admin/build-doc: add lxml dependencies on debian (pr#6610, Ken Dreyer)
  • doc: admin/build-doc: make paths absolute (pr#7119, Dan Mick)
  • doc: amend Fixes instructions in SubmittingPatches (pr#8312, Nathan Cutler)
  • doc: amend the rados.8 (pr#7251, Kefu Chai)
  • doc/architecture.rst: remove redundant word “across” (pr#8179, Zhao Junwang)
  • doc/cephfs/posix: update (pr#6922, Sage Weil)
  • doc: Clarify usage on starting single osd/mds/mon. (pr#7641, Patrick Donnelly)
  • doc: CodingStyle: fix broken URLs (pr#6733, Kefu Chai)
  • doc: correct typo ‘restared’ to ‘restarted’ (pr#6734, Yilong Zhao)
  • doc: detailed description of bugfixing workflow (pr#7941, Nathan Cutler)
  • doc/dev: add “Deploy a cluster for manual testing” section (issue#15218, pr#8228, Nathan Cutler)
  • doc/dev: add section on interrupting a running suite (pr#8116, Nathan Cutler)
  • doc/dev: continue writing Testing in the cloud chapter (pr#7960, Nathan Cutler)
  • doc: dev: document ceph-qa-suite (pr#6955, Loic Dachary)
  • doc/dev/index: refactor/reorg (pr#6792, Nathan Cutler)
  • doc/dev/index.rst: begin writing Contributing to Ceph (pr#6727, Nathan Cutler)
  • doc/dev/index.rst: fix headings (pr#6780, Nathan Cutler)
  • doc/dev: integrate testing into the narrative (pr#7946, Nathan Cutler)
  • doc: dev: introduction to tests (pr#6910, Loic Dachary)
  • doc/dev: various refinements (pr#7954, Nathan Cutler)
  • doc: document “readforward” and “readproxy” cache mode (pr#7023, Kefu Chai)
  • doc: download GPG key from download.ceph.com (issue#13603, pr#6384, Ken Dreyer)
  • doc: draft notes for jewel (pr#8211, Loic Dachary, Sage Weil)
  • doc: file must be empty when writing layout fields of file use “setfattr” (pr#6848, Cilang Zhao)
  • doc: fix 0.94.4 and 0.94.5 ordering (pr#7763, Loic Dachary)
  • doc: fix dependencies (pr#8587, Etienne Menguy)
  • doc: Fixed incorrect name of a “List Multipart Upload Parts” Response Entity (issue#14003, pr#6829, Lenz Grimmer)
  • doc: Fixes a CRUSH map step take argument (pr#7327, Ivan Grcic)
  • doc: Fixes a spelling error (pr#6705, Jeremy Qian)
  • doc: Fixes headline different font size and type (pr#8328, scienceluo)
  • doc: fixing image in section ERASURE CODING (pr#7298, Rachana Patel)
  • doc: fix misleading configuration guide on cache tiering (pr#7000, Yuan Zhou)
  • doc: fix “mon osd down out subtree limit” option name (pr#7164, François Lafont)
  • doc: fix outdated content in cache tier (pr#6272, Yuan Zhou)
  • doc: fix S3 C# example (pr#7027, Dunrong Huang)
  • doc: fix typo, duplicated content etc. for Jewel release notes (pr#8342, xie xingguo)
  • doc: fix typo in cephfs/quota (pr#6745, Drunkard Zhang)
  • doc: fix typo, indention etc. (pr#7829, xie xingguo)
  • doc: fix typo in developer guide (pr#6943, Nathan Cutler)
  • doc: fix typo (pr#7004, tianqing)
  • doc: fix wrong type of hyphen (pr#8252, xie xingguo)
  • doc: initial draft of RBD mirroring admin documentation (issue#15041, pr#8169, Jason Dillaman)
  • doc: INSTALL redirect to online documentation (pr#6749, Loic Dachary)
  • doc: little improvements for troubleshooting scrub issues (pr#6827, Mykola Golub)
  • doc: Modified a note section in rbd-snapshot doc. (pr#6908, Nilamdyuti Goswami)
  • doc: note that cephfs auth stuff is new in jewel (pr#6858, John Spray)
  • doc: osd-config Add Configuration Options for op queue. (pr#7837, Robert LeBlanc)
  • doc: osd: s/schedued/scheduled/ (pr#6872, Loic Dachary)
  • doc/rados/api/librados-intro.rst: fix typo (pr#7879, xie xingguo)
  • doc/rados/operations/crush: fix the formatting (pr#8306, Kefu Chai)
  • doc: recommend against ext4 (pr#8556, Sage Weil)
  • doc: reinstate accidentally removed section header (pr#8569, Josh Durgin)
  • doc: release-notes: draft v0.80.11 release notes (pr#6374, Loic Dachary)
  • doc: release-notes: draft v10.0.0 release notes (pr#6666, Loic Dachary)
  • doc/release-notes: fix indents (pr#8345, Kefu Chai)
  • doc/release-notes: jewel updates (pr#8590, Nathan Cutler, Sage Weil)
  • doc/release-notes: v9.1.0 (pr#6281, Loic Dachary)
  • doc/releases-notes: fix build error (pr#6483, Kefu Chai)
  • doc: Remove Ceph Monitors do lots of fsync() (issue#15288, pr#8327, Vikhyat Umrao)
  • doc: remove redundant space in ceph-authtool/monmaptool doc (pr#7244, Jiaying Ren)
  • doc: remove toctree items under Create CephFS (pr#6241, Jevon Qiao)
  • doc: remove unnecessary period in headline (pr#6775, Marc Koderer)
  • doc: rename the “Create a Ceph User” section and add verbage about… (issue#13502, pr#6297, ritz303)
  • doc: revise SubmittingPatches (pr#7292, Kefu Chai)
  • doc: rgw adding a very basic multisite doc (issue#15247, pr#8281, Abhishek Lekshmanan)
  • doc: rgw admin uses “region list” not “regions list” (pr#8517, Kris Jurka)
  • doc: rgw explain keystone’s verify ssl switch (pr#7862, Abhishek Lekshmanan)
  • doc: rgw multisite, add pools section & minor cosmetic improvements (pr#8653, Abhishek Lekshmanan)
  • doc: rgw: port changes from downstream to upstream (pr#7264, Bara Ancincova)
  • doc: rgw_region_root_pool option should be in [global] (issue#15244, pr#8271, Vikhyat Umrao)
  • doc: rst style fix for pools document (pr#6816, Drunkard Zhang)
  • doc: script and guidelines for mirroring Ceph (pr#7384, Wido den Hollander)
  • docs: Fix styling of newly added mirror docs (pr#6127, Wido den Hollander)
  • doc: small fixes (pr#7813, xiexingguo)
  • doc: standardize @param (not @parma, @parmam, @params) (pr#7714, Nathan Cutler)
  • doc: SubmittingPatches: there is no next; only jewel (pr#6811, Nathan Cutler)
  • doc, tests: update all http://ceph.com/ to download.ceph.com (pr#6435, Alfredo Deza)
  • doc: Update ceph-disk manual page with new feature deactivate/destroy. (pr#6637, Vicente Cheng)
  • doc: Updated CloudStack RBD documentation (pr#8308, Wido den Hollander)
  • doc: update doc for with new pool settings (pr#5951, Guang Yang)
  • doc: Updated the rados command man page to include the –run-name opt… (issue#12899, pr#5900, ritz303)
  • doc: update infernalis release notes (pr#6575, vasukulkarni)
  • doc: Update list of admin/build-doc dependencies (issue#14070, pr#6934, Nathan Cutler)
  • doc: update radosgw-admin example (pr#6256, YankunLi)
  • doc: update the OS recommendations for newer Ceph releases (pr#6355, ritz303)
  • doc: use ‘ceph auth get-or-create’ for creating RGW keyring (pr#6930, Wido den Hollander)
  • doc: very basic doc on mstart (pr#8207, Abhishek Lekshmanan)
  • drop envz.h includes (pr#6285, John Coyle)
  • fix FTBFS introduced by d0af316 (pr#7792, Kefu Chai)
  • fix: use right init_flags to finish CephContext (pr#6549, Yunchuan Wen)
  • fs: be more careful about the “mds setmap” command to prevent breakage (issue#14380, pr#7262, Yan, Zheng)
  • ghobject_t: use # instead of ! as a separator (pr#8055, Sage Weil)
  • global: do not start two daemons with a single pid-file (issue#13422, pr#7075, shun song)
  • global: do not start two daemons with a single pid-file (part 2) (issue#13422, pr#7463, Loic Dachary)
  • global/global_init: expand metavariables in setuser_match_path (issue#15365, pr#8433, Sage Weil)
  • global/signal_handler: print thread name in signal handler (pr#8177, Jianpeng Ma)
  • helgrind: additional race conditionslibrbd: journal replay should honor inter-event dependencies (pr#7274, Jason Dillaman)
  • helgrind: fix real (and imaginary) race conditions (issue#14163, pr#7208, Jason Dillaman)
  • include/encoding: do not try to be clever with list encoding (pr#7913, Sage Weil)
  • init-ceph: do umount when the path exists. (pr#6866, Xiaoxi Chen)
  • init-ceph.in: allow case-insensitive true in osd crush update on start’ (`pr#7943, Eric Cook)
  • init-ceph.in: skip ceph-disk if it is not present (issue#10587, pr#7286, Ken Dreyer)
  • init-ceph: use getopt to make option processing more flexible (issue#3015, pr#6089, Nathan Cutler)
  • journal: async methods to (un)register and update client (pr#7832, Mykola Golub)
  • journal: disconnect watch after watch error (issue#14168, pr#7113, Jason Dillaman)
  • journal: fire replay complete event after reading last object (issue#13924, pr#6762, Jason Dillaman)
  • journal: fix final result for JournalTrimmer::C_RemoveSet (pr#8516, runsisi)
  • journal: fix race condition between Future and journal shutdown (issue#15364, pr#8477, Jason Dillaman)
  • journal: flush commit position on metadata shutdown (pr#7385, Mykola Golub)
  • journal: improve commit position tracking (pr#7776, Jason Dillaman)
  • journal: incremental improvements and fixes (pr#6552, Mykola Golub)
  • journal: possible race condition during live replay (issue#15352, pr#8494, Jason Dillaman)
  • journal: prevent race injecting new records into overflowed object (issue#15202, pr#8220, Jason Dillaman)
  • journal: reset commit_position_task_ctx pointer after task complete (pr#7480, Mykola Golub)
  • journal: re-use common threads between journalers (pr#7906, Jason Dillaman)
  • journal: support replaying beyond skipped splay objects (pr#6687, Jason Dillaman)
  • krbd: remove deprecated –quiet param from udevadm (issue#13560, pr#6394, Jason Dillaman)
  • kv: fix bug in kv key optimization (pr#6511, Sage Weil)
  • kv: implement value_as_ptr() and use it in .get() (pr#7052, Piotr Dałek)
  • kv/KineticStore: fix broken split_key (pr#6574, Haomai Wang)
  • kv: optimize and clean up internal key/value interface (pr#6312, Piotr Dałek, Sage Weil)
  • libcephfs: fix python tests and fix getcwd on missing dir (pr#7901, John Spray)
  • libcephfs: Improve portability by replacing loff_t type usage with off_t (pr#6301, John Coyle)
  • libcephfs: only check file offset on glibc platforms (pr#6288, John Coyle)
  • libcephfs: update LIBCEPHFS_VERSION to indicate the interface was changed (pr#7551, Jevon Qiao)
  • librados: add c++ style osd/pg command interface (pr#6893, Yunchuan Wen)
  • librados: aix gcc librados port (pr#6675, Rohan Mars)
  • librados: avoid malloc(0) (which can return NULL on some platforms) (issue#13944, pr#6779, Dan Mick)
  • librados: cancel aio notification linger op upon completion (pr#8102, Jason Dillaman)
  • librados: check connection state in rados_monitor_log (issue#14499, pr#7350, David Disseldorp)
  • librados: clean up Objecter.h (pr#6731, Jie Wang)
  • librados: detect laggy ops with objecter_timeout, not osd_timeout (pr#7629, Greg Farnum)
  • librados: do cleanup (pr#6488, xie xingguo)
  • librados: do not clear handle for aio_watch() (pr#7771, xie xingguo)
  • librados: fix examples/librados/Makefile error. (pr#6320, You Ji)
  • librados: fix pool alignment API overflow issue (issue#13715, pr#6489, xie xingguo)
  • librados: fix potential null pointer access when do pool_snap_list (issue#13639, pr#6422, xie xingguo)
  • librados: fix PromoteOn2ndRead test for EC (pr#6373, Sage Weil)
  • librados: fix rare race where pool op callback may hang forever (issue#13642, pr#6426, xie xingguo)
  • librados: fix several flaws introduced by the enumeration_objects API (issue#14299, issue#14301, issue#14300, pr#7156, xie xingguo)
  • librados: fix test failure with new aio watch/unwatch API (pr#7824, Jason Dillaman)
  • librados: implement async watch/unwatch (pr#7649, Haomai Wang)
  • librados: include/rados/librados.h: fix typo (pr#6741, Nathan Cutler)
  • librados: init crush_location from config file. (issue#13473, pr#6243, Wei Luo)
  • librados: mix lock cycle (un)registering asok commands (pr#7581, John Spray)
  • librados: move to c++11 concurrency types (pr#5931, Adam C. Emerson)
  • librados: new style (sharded) object listing (pr#6405, John Spray, Sage Weil)
  • librados: potential null pointer access in list_(n)objects (issue#13822, pr#6639, xie xingguo)
  • librados: race condition on aio_notify completion handling (pr#7864, Jason Dillaman)
  • librados: remove duplicate definitions for rados pool_stat_t and cluster_stat_t (pr#7330, Igor Fedotov)
  • librados: Revert “rados: Add new field flags for ceph_osd_op.copy_get.” (pr#8486, Sage Weil)
  • librados: shutdown finisher in a more graceful way (pr#7519, xie xingguo)
  • librados: Solaris port (pr#6416, Rohan Mars)
  • librados: stat2 with higher time precision (pr#7915, Yehuda Sadeh, Matt Benjamin)
  • librados: Striper: Fix incorrect push_front -> append_zero change (pr#7578, Haomai Wang)
  • librados_test_stub: protect against notify/unwatch race (pr#7540, Jason Dillaman)
  • librados: wrongly passed in argument for stat command (issue#13703, pr#6476, xie xingguo)
  • librbd: allocate new journal tag after acquiring exclusive lock (pr#7884, Jason Dillaman)
  • librbd: API: async open and close (issue#14264, pr#7259, Mykola Golub)
  • librbd: automatically flush IO after blocking write operations (issue#13913, pr#6742, Jason Dillaman)
  • librbd: Avoid create two threads per image (pr#7400, Haomai Wang)
  • librbd: avoid throwing error if mirroring is unsupported (pr#8417, Jason Dillaman)
  • librbd: better handling of exclusive lock transition period (pr#7204, Jason Dillaman)
  • librbd: block maintenance ops until after journal is ready (issue#14510, pr#7382, Jason Dillaman)
  • librbd: block read requests until journal replayed (pr#7627, Jason Dillaman)
  • librbd: check for presence of journal before attempting to remove (issue#13912, pr#6737, Jason Dillaman)
  • librbd: clear error when older OSD doesn’t support image flags (issue#14122, pr#7035, Jason Dillaman)
  • librbd: correct include guard in RenameRequest.h (pr#7143, Jason Dillaman)
  • librbd: correct issues discovered during teuthology testing (issue#14108, issue#14107, pr#6974, Jason Dillaman)
  • librbd: correct issues discovered via valgrind memcheck (pr#8132, Jason Dillaman)
  • librbd: correct issues discovered when cache is disabled (issue#14123, pr#6979, Jason Dillaman)
  • librbd: correct race conditions discovered during unit testing (issue#14060, pr#6923, Jason Dillaman)
  • librbd: deadlock while attempting to flush AIO requests (issue#13726, pr#6508, Jason Dillaman)
  • librbd: differentiate journal replay flush vs shut down (pr#7698, Jason Dillaman)
  • librbd: disable copy-on-read when not exclusive lock owner (issue#14167, pr#7129, Jason Dillaman)
  • librbd: disable image mirroring when image is removed (issue#15265, pr#8375, Ricardo Dias)
  • librbd: disallow unsafe rbd_op_threads values (issue#15034, pr#8459, Josh Durgin)
  • librbd: do not ignore self-managed snapshot release result (issue#14170, pr#7043, Jason Dillaman)
  • librbd: enable/disable image mirroring automatically for pool mode (issue#15143, pr#8204, Ricardo Dias)
  • librbd: ensure copy-on-read requests are complete prior to closing parent image (pr#6740, Jason Dillaman)
  • librbd: ensure librados callbacks are flushed prior to destroying (issue#14092, pr#7040, Jason Dillaman)
  • librbd: exit if parent’s snap is gone during clone (issue#14118, pr#6968, xie xingguo)
  • librbd: fix enable objectmap feature issue (issue#13558, pr#6339, xinxin shu)
  • librbd: fix handling of proxied maintenance operations during shut down (issue#15471, issue#15456, pr#8565, Jason Dillaman)
  • librbd: fix internal handling of dynamic feature updates (pr#7299, Jason Dillaman)
  • librbd: fix journal iohint (pr#6917, Jianpeng Ma)
  • librbd: fix known test case race condition failures (issue#13969, pr#6800, Jason Dillaman)
  • librbd: fix merge-diff for >2GB diff-files (issue#14030, pr#6889, Yunchuan Wen)
  • librbd: fix potential memory leak (issue#14332, issue#14333, pr#7174, xie xingguo)
  • librbd: fix snap_exists API return code overflow (issue#14129, pr#6986, xie xingguo)
  • librbd: fix state machine race conditions during shut down (pr#7761, Jason Dillaman)
  • librbd: fix test case race condition for journaling ops (pr#6877, Jason Dillaman)
  • librbd: fix tracepoint parameter in diff_iterate (pr#6892, Yunchuan Wen)
  • librbd: flush and invalidate cache via admin socket (issue#2468, pr#6453, Mykola Golub)
  • librbd: handle unregistering the image watcher when disconnected (pr#8094, Jason Dillaman)
  • librbd: image refresh code paths converted to async state machines (pr#6859, Jason Dillaman)
  • librbd: include missing header for bool type (pr#6798, Mykola Golub)
  • librbd: initial collection of state machine unit tests (pr#6703, Jason Dillaman)
  • librbd: integrate journaling for maintenance operations (pr#6625, Jason Dillaman)
  • librbd: integrate journaling support for IO operations (pr#6541, Jason Dillaman)
  • librbd: integrate journal replay with fsx testing (pr#7583, Jason Dillaman)
  • librbd: IO deadlock when dynamically enabling/disabling features (issue#15102, pr#8511, Jason Dillaman)
  • librbd: journal framework for tracking exclusive lock transitions (issue#13298, pr#7529, Jason Dillaman)
  • librbd: journaling-related lock dependency cleanup (pr#6777, Jason Dillaman)
  • librbd: journal replay needs to support re-executing maintenance ops (issue#14822, pr#7785, Jason Dillaman)
  • librbd: journal replay should honor inter-event dependencies (pr#7019, Jason Dillaman)
  • librbd: journal shut down flush race condition (issue#14434, pr#7302, Jason Dillaman)
  • librbd: not necessary to hold owner_lock while releasing snap id (issue#13914, pr#6736, Jason Dillaman)
  • librbd: only send signal when AIO completions queue empty (pr#6729, Jianpeng Ma)
  • librbd: optionally validate new RBD pools for snapshot support (issue#13633, pr#6925, Jason Dillaman)
  • librbd: partial revert of commit 9b0e359 (issue#13969, pr#6789, Jason Dillaman)
  • librbd: perf counters might not be initialized on error (issue#13740, pr#6523, Jason Dillaman)
  • librbd: perf section name: use hyphen to separate components (issue#13719, pr#6516, Mykola Golub)
  • librbd: properly handle replay of snap remove RPC message (issue#14164, pr#7042, Jason Dillaman)
  • librbd: reduce mem copies to user-buffer during read (pr#7548, Jianpeng Ma)
  • librbd: reduce verbosity of common error condition logging (issue#14234, pr#7114, Jason Dillaman)
  • librbd: refresh image if required before replaying journal ops (issue#14908, pr#7978, Jason Dillaman)
  • librbd: remove canceled tasks from timer thread (issue#14476, pr#7329, Douglas Fuller)
  • librbd: remove duplicate read_only test in librbd::async_flatten (pr#5856, runsisi)
  • librbd: remove last synchronous librados calls from open/close state machine (pr#7839, Jason Dillaman)
  • librbd: replaying a journal op post-refresh requires locking (pr#8028, Jason Dillaman)
  • librbd: resize should only update image size within header (issue#13674, pr#6447, Jason Dillaman)
  • librbd: retrieve image name when opening by id (pr#7736, Mykola Golub)
  • librbd: return error if we fail to delete object_map head object (issue#14098, pr#6958, xie xingguo)
  • librbd: Revert “librbd: use task finisher per CephContext” (issue#14780, pr#7667, Josh Durgin)
  • librbd: send notifications for mirroring status updates (pr#8355, Jason Dillaman)
  • librbd: several race conditions discovered under single CPU environment (pr#7653, Jason Dillaman)
  • librbd: simplify IO method signatures for 32bit environments (pr#6700, Jason Dillaman)
  • librbd: small fixes for error messages and readahead counter (issue#14127, pr#6983, xie xingguo)
  • librbd: start perf counters after id is initialized (issue#13720, pr#6494, Mykola Golub)
  • librbd: support eventfd for AIO completion notifications (pr#5465, Haomai Wang)
  • librbd: truncate does not need to mark the object as existing in the object map (issue#14789, pr#7772, xinxin shu)
  • librbd: uninitialized state in snap remove state machine (pr#6982, Jason Dillaman)
  • librbd: update of mirror pool mode and mirror peer handling (pr#7718, Jason Dillaman)
  • librbd: use async librados notifications (pr#7668, Jason Dillaman)
  • log: do not repeat errors to stderr (issue#14616, pr#7983, Sage Weil)
  • log: fix stack overflow when flushing large log lines (issue#14707, pr#7599, Igor Fedotov)
  • log: segv in a portable way (issue#14856, pr#7790, Kefu Chai)
  • log: use delete[] (pr#7904, Sage Weil)
  • mailmap: Abhishek Lekshmanan affiliation (pr#8615, Abhishek Lekshmanan)
  • mailmap: add UMCloud affiliation (pr#6820, Jiaying Ren)
  • mailmap for 10.0.4 (pr#7932, Abhishek Lekshmanan)
  • mailmap: hange organization for Dongmao Zhang (pr#7173, Dongmao Zhang)
  • mailmap: Igor Podoski affiliation (pr#7219, Igor Podoski)
  • mailmap: Jewel updates (pr#6750, Abhishek Lekshmanan)
  • mailmap: modify member info (pr#6468, Xiaowei Chen)
  • mailmap: revise organization (pr#6519, Li Wang)
  • mailmap: Ubuntu Kylin name changed to Kylin Cloud (pr#6532, Loic Dachary)
  • mailmap: update .organizationmap (pr#6565, chenji-kael)
  • mailmap update (pr#7210, M Ranga Swami Reddy)
  • mailmap update (pr#8522, M Ranga Swami Reddy)
  • mailmap update (pr#8608, M Ranga Swami Reddy)
  • mailmap: updates for infernalis. (pr#6495, Yann Dupont)
  • mailmap: updates (pr#6258, M Ranga Swami Reddy)
  • mailmap: updates (pr#6594, chenji-kael)
  • mailmap updates (pr#6992, Loic Dachary)
  • mailmap updates (pr#7189, Loic Dachary)
  • mailmap updates (pr#7528, Yann Dupont)
  • mailmap updates (pr#8256, Loic Dachary)
  • mailmap: Xie Xingguo affiliation (pr#6409, Loic Dachary)
  • Makefile-env.am: set a default for CEPH_BUILD_VIRTUALENV (part 2) (pr#8320, Loic Dachary)
  • makefile: fix rbdmap manpage (pr#8310, Kefu Chai)
  • makefile: remove libedit from libclient.la (pr#7284, Kefu Chai)
  • makefiles: remove bz2-dev from dependencies (issue#13981, pr#6939, Piotr Dałek)
  • man/8/ceph-disk: fix formatting issue (pr#8003, Sage Weil)
  • man/8/ceph-disk: fix formatting issue (pr#8012, Sage Weil)
  • man: document listwatchers cmd in “rados” manpage (pr#7021, Kefu Chai)
  • mdsa: A few more snapshot fixes, mostly around snapshotted inode/dentry tracking (pr#7798, Yan, Zheng)
  • mds: Add cmapv to ESessions default constructor initializer list (pr#8403, John Coyle)
  • mds: add ‘p’ flag in auth caps to control setting pool in layout (pr#6567, John Spray)
  • mds: advance clientreplay when replying (issue#14357, pr#7216, John Spray)
  • mds: allow client to request caps when opening file (issue#14360, pr#7952, Yan, Zheng)
  • mds: Be more careful about directory fragmentation and scrubbing (issue#15167, pr#8180, Yan, Zheng)
  • mds, client: add namespace to file_layout_t (previously ceph_file_layout) (pr#7098, Yan, Zheng, Sage Weil)
  • mds, client: fix locking around handle_conf_change (issue#14365, issue#14374, pr#7312, John Spray)
  • mds: don’t double-shutdown the timer when suiciding (issue#14697, pr#7616, Greg Farnum)
  • mds: expose state of recovery to status ASOK command (issue#14146, pr#7068, Yan, Zheng)
  • mds: filelock deadlock (pr#7713, Yan, Zheng)
  • mds: fix client capabilities during reconnect (client.XXXX isn’t responding to mclientcaps(revoke)) (issue#11482, pr#6432, Yan, Zheng)
  • mds: fix client cap/message replay order on restart (issue#14254, issue#13546, pr#7199, Yan, Zheng)
  • mds: fix file_layout_t legacy encoding snafu (pr#8455, Sage Weil)
  • mds: fix fsmap decode (pr#8063, Greg Farnum)
  • mds: fix FSMap upgrade with daemons in the map (pr#8073, John Spray, Greg Farnum)
  • mds: fix inode_t::compare() (issue#15038, pr#8014, Yan, Zheng)
  • mds: fix scrub_path (pr#6684, John Spray)
  • mds: fix setvxattr (broken in a536d114) (issue#14029, pr#6941, John Spray)
  • mds: fix standby replay thread creation (issue#14144, pr#7132, John Spray)
  • mds: fix stray purging in ‘stripe_count > 1’ case (issue#15050, pr#8040, Yan, Zheng)
  • mds: FSmap decode fix (pr#8604, Greg Farnum)
  • mds/FSMap: use _ in key name (pr#8614, Sage Weil)
  • mds: function parameter ‘df’ should be passed by reference (pr#7490, Na Xie)
  • mds: implement snapshot rename (pr#5645, xinxin shu)
  • mds: judgment added to avoid the risk of visiting the NULL pointer (pr#7358, Kongming Wu)
  • mds: messages/MOSDOp: cast in assert to eliminate warnings (issue#13625, pr#6414, David Zafman)
  • mds: Minor fixes around data scan in some scenarios (pr#8115, Yan, Zheng)
  • mds: Multi-filesystem support (issue#14952, pr#6953, John Spray, Sage Weil)
  • mds: new filtered MDS tell commands for sessions (pr#6180, John Spray)
  • mds: properly set STATE_STRAY/STATE_ORPHAN for stray dentry/inode (issue#13777, pr#6553, Yan, Zheng)
  • mds: repair the command option “–hot-standby” (pr#6454, Wei Feng)
  • mds: ScrubStack and “tag path” command (pr#5662, Yan, Zheng, John Spray, Greg Farnum)
  • mds/Session: use projected parent for auth path check (issue#13364, pr#6200, Sage Weil)
  • mds: tear down connections from tell commands (issue#14048, pr#6933, John Spray)
  • mds: we should wait messenger when MDSDaemon suicide (pr#6996, Wei Feng)
  • messages/MOSDOp: clear reqid inc for v6 encoding (issue#15230, pr#8299, Sage Weil)
  • mirrors: Change contact e-mail address for se.ceph.com (pr#8007, Wido den Hollander)
  • mirrors: Updated scripts and documentation for mirrors (pr#7847, Wido den Hollander)
  • misc: use make_shared while creating shared_ptr (pr#7769, Somnath Roy)
  • mon: add an independent option for max election time (pr#7245, Sangdi Xu)
  • mon: add osd blacklist clear (pr#6945, John Spray)
  • mon: add RAW USED column to ceph df detail (pr#7087, Ruifeng Yang)
  • mon: block ‘ceph osd pg-temp ...’ if pg_temp update is already pending (pr#6704, Sage Weil)
  • mon: cleanup set-quota error msg (pr#7371, Abhishek Lekshmanan)
  • monclient: avoid key renew storm on clock skew (issue#12065, pr#8258, Alexey Sheplyakov)
  • mon: compact full epochs also (issue#14537, pr#7396, Kefu Chai)
  • mon: consider pool size when creating pool (issue#14509, pr#7359, songbaisen)
  • mon: consider the pool size when setting pool crush rule (issue#14495, pr#7341, song baisen)
  • mon: degrade a log message to level 2 (pr#6929, Kongming Wu)
  • mon: do not send useless pg_create messages for split pgs (pr#8247, Sage Weil)
  • mon: don’t require OSD W for MRemoveSnaps (issue#13777, pr#6601, John Spray)
  • mon: drop useless rank init assignment (issue#14508, pr#7321, huanwen ren)
  • mon: enable ‘mon osd prime pg temp’ by default (pr#7838, Robert LeBlanc)
  • mon: fix calculation of %USED (pr#7881, Adam Kupczyk)
  • mon: fix ceph df pool available calculation for 0-weighted OSDs (pr#6660, Chengyuan Li)
  • mon: fix coding-style on PG related Monitor files (pr#6881, Wido den Hollander)
  • mon: fixes related to mondbstore->get() changes (pr#6564, Piotr Dałek)
  • mon: fix keyring permissions (issue#14950, pr#7880, Owen Synge)
  • mon: fix locking in preinit error paths (issue#14473, pr#7353, huanwen ren)
  • mon: fix monmap creation stamp (pr#7459, duanweijun)
  • mon: fix reuse of osd ids (clear osd info on osd deletion) (issue#13988, pr#6900, Loic Dachary, Sage Weil)
  • mon: fix routed_request_tids leak (pr#6102, Ning Yao)
  • mon: fix sync of config-key data (pr#7363, Xiaowei Chen)
  • mon: fix the can’t change subscribe level bug in monitoring log (pr#7031, Zhiqiang Wang)
  • mon: go into ERR state if multiple PGs are stuck inactive (issue#13923, pr#7253, Wido den Hollander)
  • mon: initialize last_* timestamps on new pgs to creation time (issue#14952, pr#7980, Sage Weil)
  • mon: initialize recorded election epoch properly even when standalone (issue#13627, pr#6407, huanwen ren)
  • mon: make clock skew checks sane (issue#14175, pr#7141, Joao Eduardo Luis)
  • mon: mark_down_pgs in lockstep with pg_map’s osdmap epoch (pr#8208, Sage Weil)
  • mon/MDSMonitor: add confirmation to “ceph mds rmfailed” (issue#14379, pr#7248, Yan, Zheng)
  • mon/MDSMonitor.cc: properly note beacon when health metrics changes (issue#14684, pr#7757, Yan, Zheng)
  • mon: modify a dout level in OSDMonitor.cc (pr#6928, Yongqiang He)
  • mon/MonClient: avoid null pointer error when configured incorrectly (issue#14405, pr#7276, Bo Cai)
  • mon/MonClient: fix shutdown race (issue#13992, pr#8335, Sage Weil)
  • mon/monitor: some clean up (pr#7520, huanwen ren)
  • mon: MonmapMonitor: don’t expose uncommitted state to client (pr#6854, Joao Eduardo Luis)
  • mon/OSDMonitor: osdmap laggy set a maximum limit for interval (pr#7109, Zengran Zhang)
  • mon: osd [test-]reweight-by-{pg,utilization} command updates (pr#7890, Dan van der Ster, Sage Weil)
  • mon: paxos is_recovering calc error (pr#7227, Weijun Duan)
  • mon/PGMap: show rd/wr iops separately in status reports (pr#7072, Cilang Zhao)
  • mon: PGMonitor: acting primary diff with cur_stat, should not set pg to stale (pr#7083, Xiaowei Chen)
  • mon/PGMonitor: reliably mark PGs state (pr#8089, Sage Weil)
  • mon: PG Monitor should report waiting for backfill (issue#12744, pr#7398, Abhishek Lekshmanan)
  • mon/pgmonitor: use appropriate forced conversions in get_rule_avail (pr#7705, huanwen ren)
  • mon: reduce CPU and memory manager pressure of pg health check (pr#7482, Piotr Dałek)
  • mon: remove ‘mds setmap’ (issue#15136, pr#8121, Sage Weil)
  • mon: remove remove_legacy_versions() (pr#8324, Kefu Chai)
  • mon: remove unnecessary comment for update_from_paxos (pr#8400, Qinghua Jin)
  • mon: remove unused variable (issue#15292, pr#8337, Javier M. Mellid)
  • mon: revert MonitorDBStore’s WholeStoreIteratorImpl::get (issue#13742, pr#6522, Piotr Dałek)
  • mon: should not set isvalid = true when cephx_verify_authorizer return false (issue#13525, pr#6306, Ruifeng Yang)
  • mon: show the pool quota info on ceph df detail command (issue#14216, pr#7094, song baisen)
  • mon: some cleanup in MonmapMonitor.cc (pr#7418, huanwen ren)
  • mon: standardize Ceph removal commands (pr#7939, Dongsheng Yang)
  • mon: support min_down_reporter by subtree level (default by host) (pr#6709, Xiaoxi Chen)
  • mon: unconfuse object count skew message (pr#7882, Piotr Dałek)
  • mon: unregister command on shutdown (pr#7504, huanwen ren)
  • mon: warn if pg(s) not scrubbed (issue#13142, pr#6440, Michal Jarzabek)
  • mount.ceph: memory leaks (pr#6905, Qiankun Zheng)
  • mount.fuse.ceph: better parsing of arguments passed to mount.fuse.ceph by mount command (issue#14735, pr#7607, Florent Bautista)
  • mrun: update path to cmake binaries (pr#8447, Casey Bodley)
  • msg: add override to virutal methods (pr#6977, Michal Jarzabek)
  • msg: add thread safety for “random” Messenger + fix wrong usage of random functions (pr#7650, Avner BenHanoch)
  • msg/async: AsyncConnection: avoid debug log in cleanup_handler (pr#7547, Haomai Wang)
  • msg/async: AsyncConnection: avoid is_connected require connection’s lock (issue#15440, pr#8520, Haomai Wang)
  • msg/async: AsyncMessenger: fix several bugs (pr#7831, Haomai Wang)
  • msg/async: AsyncMessenger: fix valgrind leak (pr#7725, Haomai Wang)
  • msg/async: avoid log spam on throttle (issue#15031, pr#8263, Kefu Chai)
  • msg/async: bunch of fixes (pr#7379, Piotr Dałek)
  • msg/async: cleanup dead connection and misc things (pr#7158, Haomai Wang)
  • msg/async: don’t calculate msg header crc when not needed (pr#7815, Piotr Dałek)
  • msg/async: don’t use shared_ptr to manage EventCallback (pr#7028, Haomai Wang)
  • msg/async: Event: fix clock skew problem (pr#7949, Wei Jin)
  • msg/async: fix array boundary (pr#7451, Wei Jin)
  • msg: async: fix perf counter description and simplify _send_keepalive_or_ack (pr#8046, xie xingguo)
  • msg/async: fix potential race condition (pr#7453, Haomai Wang)
  • msg/async: fix send closed local_connection message problem (pr#7255, Haomai Wang)
  • msg/async: let receiver ack message ASAP (pr#6478, Haomai Wang)
  • msg/async: reduce extra tcp packet for message ack (pr#7380, Haomai Wang)
  • msg/async: remove experiment feature (pr#7820, Haomai Wang)
  • msg: async: small cleanups (pr#7871, xie xingguo)
  • msg/async: smarter MSG_MORE (pr#7625, Piotr Dałek)
  • msg: async: start over after failing to bind a port in specified range (issue#14928, issue#13002, pr#7852, xie xingguo)
  • msg/async: support of non-block connect in async messenger (issue#12802, pr#5848, Jianhui Yuan)
  • msg/async: _try_send trim already sent for outcoming_bl more efficient (pr#7970, Yan Jun)
  • msg/async: will crash if enabling async msg because of an assertion (pr#6640, Zhi Zhang)
  • msg: filter out lo addr when bind osd addr (pr#7012, Ji Chen)
  • msg: removed unneeded includes from Dispatcher (pr#6814, Michal Jarzabek)
  • msg: remove duplicated code - local_delivery will now call ‘enqueue’ (pr#7948, Avner BenHanoch)
  • msg: remove unneeded inline (pr#6989, Michal Jarzabek)
  • msgr: fix large message data content length causing overflow (pr#6809, Jun Huang, Haomai Wang)
  • msg: significantly reduce minimal memory usage of connections (pr#7567, Piotr Dałek)
  • msg/simple: pipe: memory leak when signature check failed (pr#7096, Ruifeng Yang)
  • msg/simple: remove unneeded friend declarations (pr#6924, Michal Jarzabek)
  • msg/xio: fix compilation (pr#7479, Roi Dayan)
  • msg/xio: fixes (pr#7603, Roi Dayan)
  • msg/xio: simple fixes (pr#8555, Avner BenHanoch)
  • mstart: start rgw on different ports as well (pr#8167, Abhishek Lekshmanan)
  • nfs for rgw (Matt Benjamin, Orit Wasserman) (pr#7634, Yehuda Sadeh, Matt Benjamin)
  • objecter: avoid recursive lock of Objecter::rwlock (pr#7343, Yan, Zheng)
  • organizationmap: modify org mail info. (pr#7240, Xiaowei Chen)
  • os/bluestore: a few fixes (pr#8193, Sage Weil)
  • os/bluestore/BlueFS: Before reap ioct, it should wait io complete (pr#8178, Jianpeng Ma)
  • os/bluestore/BlueStore: Don’t leak trim overlay data before write. (pr#7895, Jianpeng Ma)
  • os/bluestore: ceph-bluefs-tool fixes (issue#15261, pr#8292, Venky Shankar)
  • os/bluestore: clone overlay data (pr#7860, Jianpeng Ma)
  • os/bluestore: fix assert (issue#14436, pr#7293, xie xingguo)
  • os/bluestore: fix a typo in SPDK path parsing (pr#7601, Jianjian Huo)
  • os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7342, Kefu Chai)
  • os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7419, Kefu Chai, Brad Hubbard)
  • os/bluestore: fix shortened bluefs paths in env mirror case (pr#8498, Sage Weil)
  • os/bluestore: insert new onode to the front position of onode LRU (pr#7492, Jianjian Huo)
  • os/bluestore/KernelDevice: force block size (pr#8006, Sage Weil)
  • os/bluestore: make bluestore_sync_transaction = true can work. (pr#7674, Jianpeng Ma)
  • os/bluestore/NVMEDevice: make IO thread using dpdk launch (pr#8160, Haomai Wang)
  • os/bluestore/NVMEDevice: refactor probe/attach codes and support zero command (pr#7647, Haomai Wang)
  • os/bluestore: revamp BlueFS bdev management and add perfcounters (issue#15376, pr#8431, Sage Weil)
  • os/bluestore: small fixes in bluestore StupidAllocator (pr#8101, Jianjian Huo)
  • os/bluestore: use intrusive_ptr for Dir (pr#7247, Igor Fedotov)
  • osd: add cache hint when pushing raw clone during recovery (pr#7069, Zhiqiang Wang)
  • osd: Add config option osd_read_ec_check_for_errors for testing (pr#5865, David Zafman)
  • osd: add missing newline to usage message (pr#7613, Willem Jan Withagen)
  • osd: add osd op queue latency perfcounter (pr#5793, Haomai Wang)
  • osd: add pin/unpin support to cache tier (11066) (pr#6326, Zhiqiang Wang)
  • osd: add ‘proxy’ cache mode (issue#12814, pr#8210, Sage Weil)
  • osd: add scrub persist/query API (issue#13505, pr#6898, Kefu Chai, Samuel Just)
  • osd: add the support of per pool scrub priority (pr#7062, Zhiqiang Wang)
  • osd: a fix for HeartbeatDispatcher and cleanups (pr#7550, Kefu Chai)
  • osd: Allow repair of history.last_epoch_started using config (pr#6793, David Zafman)
  • osd: auto repair EC pool (issue#12754, pr#6196, Guang Yang)
  • osd: avoid calculating crush mapping for most ops (pr#6371, Sage Weil)
  • osd: avoid debug std::string initialization in PG::get/put (pr#7117, Evgeniy Firsov)
  • osd: avoid double-check for replaying and can_checkpoint() in FileStore::_check_replay_guard (pr#6471, Ning Yao)
  • osd: avoid duplicate op->mark_started in ReplicatedBackend (pr#6689, Jacek J. Łakis)
  • osd: avoid FORCE updating digest been overwritten by MAYBE when comparing scrub map (pr#7051, Zhiqiang Wang)
  • osd: avoid osd_op_thread suicide because osd_scrub_sleep (pr#7009, Jianpeng Ma)
  • osd: bail out of _committed_osd_maps if we are shutting down (pr#8267, Samuel Just)
  • osd: blockdevice: avoid implicit cast and add guard (pr#7460, xie xingguo)
  • osd: bluefs: fix alignment for odd page sizes (pr#7900, Dan Mick)
  • osd: bluestore: add ‘override’ to virtual functions (pr#7886, Michal Jarzabek)
  • osd: bluestore: allow _dump_onode dynamic accept log level (pr#7995, Jianpeng Ma)
  • osd: bluestore/blockdevice: use std::mutex et al (pr#7568, Sage Weil)
  • osd: bluestore: bluefs: fix several small bugs (issue#14344, issue#14343, pr#7200, xie xingguo)
  • osd: bluestore/BlueFS: initialize super block_size earlier in mkfs (pr#7535, Sage Weil)
  • osd: bluestore: don’t include when building without libaio (issue#14207, pr#7169, Mykola Golub)
  • osd: bluestore: fix bluestore onode_t attr leak (pr#7125, Ning Yao)
  • osd: bluestore: fix bluestore_wal_transaction_t encoding test (pr#7168, Kefu Chai)
  • osd: bluestore: fix check for write falling within the same extent (issue#14954, pr#7892, Jianpeng Ma)
  • osd: BlueStore: fix fsck and blockdevice read-relevant issue (pr#7362, xie xingguo)
  • osd: BlueStore: fix null pointer access (issue#14561, pr#7435, xie xingguo)
  • osd: bluestore: fix several bugs (issue#14259, issue#14353, issue#14260, issue#14261, pr#7122, xie xingguo)
  • osd: bluestore: fix space rebalancing, collection split, buffered reads (pr#7196, Sage Weil)
  • osd: bluestore: for overwrite a extent, allocate new extent on min_alloc_size write (pr#7996, Jianpeng Ma)
  • osd: bluestore: improve fs-type verification and tidy up (pr#7651, xie xingguo)
  • osd: bluestore, kstore: fix nid overwritten logic (issue#14407, issue#14433, pr#7283, xie xingguo)
  • osd: bluestore: misc fixes (pr#7658, Jianpeng Ma)
  • osd: bluestore: more fixes (pr#7130, Sage Weil)
  • osd: BlueStore/NVMEDevice: fix compiling and fd leak (pr#7496, xie xingguo)
  • osd: bluestore: NVMEDevice: fix error handling (pr#7799, xie xingguo)
  • osd: bluestore: remove unneeded includes (pr#7870, Michal Jarzabek)
  • osd: bluestore: Revert NVMEDevice task cstor and refresh interface changes (pr#7729, Haomai Wang)
  • osd: bluestore updates, scrub fixes (pr#8035, Sage Weil)
  • osd: bluestore: use btree_map for allocator (pr#7269, Igor Fedotov, Sage Weil)
  • osd: cache tier: add config option for eviction check list size (pr#6997, Yuan Zhou)
  • osd: call on_new_interval on newly split child PG (issue#13962, pr#6778, Sage Weil)
  • osd: cancel failure reports if we fail to rebind network (pr#6278, Xinze Chi)
  • osdc: Fix race condition with tick_event and shutdown (issue#14256, pr#7151, Adam C. Emerson)
  • osd: change mutex to spinlock to optimize thread context switch. (pr#6492, Xiaowei Chen)
  • osd: check do_shutdown before do_restart (pr#6547, Xiaoxi Chen)
  • osd: check health state before pre_booting (issue#14181, pr#7053, Xiaoxi Chen)
  • osd: clarify the scrub result report (pr#6534, Li Wang)
  • osd/ClassHandler: only dlclose() the classes not missing (pr#8354, Kefu Chai)
  • osd: clean up CMPXATTR checks (pr#5961, Jianpeng Ma)
  • osd: clean up temp object if copy-from fails (pr#8487, Sage Weil)
  • osd: clear pg_stat_queue after stopping pgs (issue#14212, pr#7091, Sage Weil)
  • osd: clear requeue_scrub_on_unblock flag after requeue scrub (pr#8570, xie xingguo)
  • osdc/Objecter: dout log after assign tid (pr#8202, Xinze Chi)
  • osdc/Objecter: fix narrow race with tid assignment (issue#14364, pr#7981, Sage Weil)
  • osdc/Objecter: use full pgid hash in PGNLS ops (pr#8378, Sage Weil)
  • osd: consider high/low mode when putting agent to sleep (issue#14752, pr#7631, Sage Weil)
  • osd: correctly handle small osd_scrub_interval_randomize_ratio (pr#7147, Samuel Just)
  • osdc/Striper: reduce assemble_result log level (pr#8426, Jason Dillaman)
  • osd: defer decoding of MOSDRepOp/MOSDRepOpReply (pr#6503, Xinze Chi)
  • osd: delay populating in-memory PG log hashmaps (pr#6425, Piotr Dałek)
  • osd: disable filestore_xfs_extsize by default (issue#14397, pr#7265, Ken Dreyer)
  • osd: do not keep ref of old osdmap in pg (issue#13990, pr#7007, Kefu Chai)
  • osd: don’t do random deep scrubs for user initiated scrubs (pr#6673, David Zafman)
  • osd: don’t update epoch and rollback_info objects attrs if there is no need (pr#6555, Ning Yao)
  • osd: drop deprecated removal pg type (pr#6970, Igor Podoski)
  • osd: drop fiemap len=0 logic (pr#7267, Sage Weil)
  • osd: drop the interim set from load_pgs() (pr#6277, Piotr Dałek)
  • osd: dump number of missing objects for each peer with pg query (pr#6058, Guang Yang)
  • osd: duplicated clear for peer_missing (pr#8315, Ning Yao)
  • osd: enable perfcounters on sharded work queue mutexes (pr#6455, Jacek J. Łakis)
  • osd: ensure new osdmaps commit before publishing them to pgs (issue#15073, pr#8096, Sage Weil)
  • osd: FileJournal: _fdump wrongly returns if journal is currently unreadable. (issue#13626, pr#6406, xie xingguo)
  • osd: FileJournal: fix return code of create method (issue#14134, pr#6988, xie xingguo)
  • osd: FileJournal: reduce locking scope in write_aio_bl (issue#12789, pr#5670, Zhi Zhang)
  • osd: filejournal: report journal entry count (pr#7643, tianqing)
  • osd: FileJournal: support batch peak and pop from writeq (pr#6701, Xinze Chi)
  • osd: FileStore: add a field indicate xattr only one chunk for set xattr. (pr#6244, Jianpeng Ma)
  • osd: FileStore: Added O_DSYNC write scheme (pr#7752, Somnath Roy)
  • osd: FileStore: add error check for object_map->sync() (pr#7281, Chendi Xue)
  • osd: FileStore: cleanup: remove obsolete option “filestore_xattr_use_omap” (issue#14356, pr#7217, Vikhyat Umrao)
  • osd: FileStore: conditional collection of drive metadata (pr#6956, Somnath Roy)
  • osd: filestore: FALLOC_FL_PUNCH_HOLE must be used with FALLOC_FL_KEEP_SIZE (pr#7768, xinxin shu)
  • osd: filestore: fast abort if statfs encounters ENOENT (pr#7703, xie xingguo)
  • osd: FileStore: fix initialization order for m_disable_wbthrottle (pr#8067, Samuel Just)
  • osd: filestore: fix race condition with split vs collection_move_rename and long object names (issue#14766, pr#8136, Samuel Just)
  • osd: filestore: fix result code overwritten for clone (issue#14817, issue#14827, pr#7711, xie xingguo)
  • osd: filestore: fix wrong scope of result code for error cases during mkfs (issue#14814, pr#7704, xie xingguo)
  • osd: filestore: fix wrong scope of result code for error cases during mount (issue#14815, pr#7707, xie xingguo)
  • osd: FileStore: LFNIndex: remove redundant local variable ‘obj’. (issue#13552, pr#6333, xiexingguo)
  • osd: FileStore: modify the format of colon (pr#7333, Donghai Xu)
  • osd: FileStore:: optimize lfn_unlink (pr#6649, Jianpeng Ma)
  • osd: FileStore: potential memory leak if _fgetattrs fails (issue#13597, pr#6377, xie xingguo)
  • osd: FileStore: print file name before osd assert if read file failed (pr#7111, Ji Chen)
  • osd: FileStore: remove __SWORD_TYPE dependency (pr#6263, John Coyle)
  • osd: FileStore: remove unused local variable ‘handle’ (pr#6381, xie xingguo)
  • osd: filestore: restructure journal and op queue throttling (pr#7767, Samuel Just)
  • osd: FileStore: support multiple ondisk finish and apply finishers (pr#6486, Xinze Chi, Haomai Wang)
  • osd: FileStore: use pwritev instead of lseek+writev (pr#7349, Haomai Wang, Tao Chang)
  • osd: fix bogus scrub results when missing a clone (issue#12738, issue#12740, pr#5783, David Zafman)
  • osd: fix broken balance / localized read handling (issue#13491, pr#6364, Jason Dillaman)
  • osd: fix bug in last_* PG state timestamps (pr#6517, Li Wang)
  • osd: fix bugs for omap ops (pr#8230, Jianpeng Ma)
  • osd: fix ClassHandler::ClassData::get_filter() (pr#6747, Yan, Zheng)
  • osd: fix/clean up full map request handling (pr#8446, Sage Weil)
  • osd: fix debug message in OSD::is_healthy (pr#6226, Xiaoxi Chen)
  • osd: fix dirtying info without correctly setting drity_info field (pr#8275, xie xingguo)
  • osd: fix dump_ops_in_flight races (issue#8885, pr#8044, David Zafman)
  • osd: fix epoch check in handle_pg_create (pr#8382, Samuel Just)
  • osd: fixes for several cases where op result code was not checked or set (issue#13566, pr#6347, xie xingguo)
  • osd: fix failure report handling during ms_handle_connect() (pr#8348, xie xingguo)
  • osd: fix FileStore::_destroy_collection error return code (pr#6612, Ruifeng Yang)
  • osd: fix forced prmootion for CALL ops (issue#14745, pr#7617, Sage Weil)
  • osd: fix fusestore hanging during stop/quit (issue#14786, pr#7677, xie xingguo)
  • osd: fix inaccurate counter and skip over queueing an empty transaction (pr#7754, xie xingguo)
  • osd: fix incorrect throttle in WBThrottle (pr#6713, Zhang Huan)
  • osd: fix invalid list traversal in process_copy_chunk (pr#7511, Samuel Just)
  • osd: fix lack of object unblock when flush fails (issue#14511, pr#7584, Igor Fedotov)
  • osd: fix log info (pr#8273, Wei Jin)
  • osd: fix MOSDOp encoding (pr#6174, Sage Weil)
  • osd: fix MOSDRepScrub reference counter in replica_scrub (pr#6730, Jie Wang)
  • osd: fix null pointer access and race condition (issue#14072, pr#6916, xie xingguo)
  • osd: fix overload of ‘==’ operator for pg_stat_t (issue#14921, pr#7842, xie xingguo)
  • osd: fix race condition for heartbeat_need_update (issue#14387, pr#7739, xie xingguo)
  • osd: fix reactivate (check OSDSuperblock in mkfs() when we already have the superblock) (issue#13586, pr#6385, Vicente Cheng)
  • osd: fix reference count, rare race condition etc. (pr#8254, xie xingguo)
  • osd: fix return value from maybe_handle_cache_detail() (pr#7593, Igor Fedotov)
  • osd: fix rollback_info_trimmed_to before index() (issue#13965, pr#6801, Samuel Just)
  • osd: fix scrub start hobject (pr#7467, Sage Weil)
  • osd: fix sparse-read result code checking logic (issue#14151, pr#7016, xie xingguo)
  • osd: fix temp object removal after upgrade (issue#13862, pr#6976, David Zafman)
  • osd: fix tick relevant issues (pr#8369, xie xingguo)
  • osd: fix trivial scrub bug (pr#6533, Li Wang)
  • osd: fix two scrub relevant issues (pr#8462, xie xingguo)
  • osd: fix unnecessary object promotion when deleting from cache pool (issue#13894, pr#7537, Igor Fedotov)
  • osd: fix watch reconnect race (issue#15441, pr#8586, Sage Weil)
  • osd: fix wip (l_osd_op_wip) perf counter and remove repop_map (pr#7077, Xinze Chi)
  • osd: fix wrongly placed assert and some cleanups (pr#6766, xiexingguo, xie xingguo)
  • osd: fix wrong return type of find_osd_on_ip() (issue#14872, pr#7812, xie xingguo)
  • osd: fix wrong use of right parenthesis in localized read logic (pr#6566, Jie Wang)
  • osd: ghobject_t: use ! instead of @ as a separator (pr#7595, Sage Weil)
  • osd: handle dup pg_create that races with pg deletion (pr#8033, Sage Weil)
  • osd: improve temperature calculation for cache tier agent (pr#4737, MingXin Liu)
  • osd: initialize last_recalibrate field at construction (pr#8071, xie xingguo)
  • osd: init started to 0 (issue#13206, pr#6107, Sage Weil)
  • osd: KeyValueStore: don’t queue NULL context (pr#6783, Haomai Wang)
  • osd: KeyValueStore: fix return code of mkfs (pr#7036, xie xingguo)
  • osd: KeyValueStore: fix the name’s typo of keyvaluestore_default_strip_size (pr#6375, Zhi Zhang)
  • osd: KeyValueStore: fix wrongly placed assert (issue#14176, issue#14178, pr#7047, xie xingguo)
  • osd: kstore: fix a race condition in _txc_finish() (pr#7804, Jianjian Huo)
  • osd: kstore: latency breakdown (pr#7850, James Liu)
  • osd: kstore: several small fixes (issue#14351, issue#14352, pr#7213, xie xingguo)
  • osd: kstore: small fixes to kstore (issue#14204, pr#7095, xie xingguo)
  • osd: kstore: sync up kstore with recent bluestore updates (pr#7681, Jianjian Huo)
  • osd: make backend and block device code a bit more generic (pr#6759, Sage Weil)
  • osd: make list_missing query missing_loc.needs_recovery_map (pr#6298, Guang Yang)
  • osdmap: remove unused local variables (pr#6864, luo kexue)
  • osdmap: rm nonused variable (pr#8423, Wei Jin)
  • osd: memstore: fix alignment of Page for test_pageset (pr#7587, Casey Bodley)
  • osd: memstore: fix two bugs (pr#6963, Casey Bodley, Sage Weil)
  • osd: merge local_t and op_t txn to single one (pr#6439, Xinze Chi)
  • osd: min_write_recency_for_promote & min_read_recency_for_promote are tiering only (pr#8081, huanwen ren)
  • osd: misc FileStore fixes (issue#14192, issue#14188, issue#14194, issue#14187, issue#14186, pr#7059, xie xingguo)
  • osd: misc optimization for map utilization (pr#6950, Ning Yao)
  • osd, mon: fix exit issue (pr#7420, Jiaying Ren)
  • osd,mon: log leveldb and rocksdb to ceph log (pr#6921, Sage Weil)
  • osd: more fixes for incorrectly dirtying info; resend reply for duplicated scrub-reserve req (pr#8291, xie xingguo)
  • osd: move newest decode version of MOSDOp and MOSDOpReply to the front (pr#6642, Jacek J. Łakis)
  • osd: new and delete ObjectStore::Transaction in a function is not necessary (pr#6299, Ruifeng Yang)
  • osd: newstore: misc updates (including kv and os/fs stuff) (pr#6609, Sage Weil)
  • osd: note down the number of missing clones (pr#6654, Kefu Chai)
  • osd: Omap small bugs adapted (pr#6669, Jianpeng Ma, David Zafman)
  • osd: optimize clone write path if object-map is enabled (pr#6403, xinxin shu)
  • osd: optimize get_object_context (pr#6305, Jianpeng Ma)
  • osd: optimize MOSDOp/do_op/handle_op (pr#5211, Jacek J. Lakis)
  • osd: optimize scrub subset_last_update calculation (pr#6518, Li Wang)
  • osd: optimize the session_handle_reset function (issue#14182, pr#7054, songbaisen)
  • osd: os/chain_xattr: On linux use linux/limits.h for XATTR_NAME_MAX. (pr#6343, John Coyle)
  • osd/OSD.cc: finish full_map_request every MOSDMap message. (issue#15130, pr#8147, Xiaoxi Chen)
  • osd/OSD: fix build_past_intervals_parallel (pr#8215, David Zafman)
  • osd/OSDMap: fix typo in summarize_mapping_stats (pr#8088, Sage Weil)
  • osd: OSDMap: reset osd_primary_affinity shared_ptr when deepish_copy_from (issue#14686, pr#7553, Xinze Chi)
  • osd: OSDService: Fix typo in osdmap comment (pr#7275, Brad Hubbard)
  • osd: os: skip checking pg_meta object existance in FileStore (pr#6870, Ning Yao)
  • osd: partial revert of “ReplicatedPG: result code not correctly set in some cases.” (issue#13796, pr#6622, Sage Weil)
  • osd: PG::activate(): handle unexpected cached_removed_snaps more gracefully (issue#14428, pr#7309, Alexey Sheplyakov)
  • osd/PG: indicate in pg query output whether ignore_history_les would help (pr#8156, Sage Weil)
  • osd: PGLog: clean up read_log (pr#7092, Jie Wang)
  • osd/PGLog: fix warning (pr#8057, Sage Weil)
  • osd/PG: pg down state blocked by osd.x, lost osd.x cannot solve peering stuck (issue#13531, pr#6317, Xiaowei Chen)
  • osd: pg_pool_t: add dictionary for pool options (issue#13077, pr#6081, Mykola Golub)
  • osd: PG: set epoch_created and parent_split_bits for child pg (issue#15426, pr#8552, Kefu Chai)
  • osd: prevent osd_recovery_sleep from causing recovery-thread suicide (pr#7065, Jianpeng Ma)
  • osd: probabilistic cache tier promotion throttling (pr#7465, Sage Weil)
  • osd: randomize deep scrubbing (pr#6550, Dan van der Ster, Herve Rousseau)
  • osd: reduce memory consumption of some structs (pr#6475, Piotr Dałek)
  • osd: reduce string use in coll_t::calc_str() (pr#6505, Igor Podoski)
  • osd: refuse to start if object name limits are not possible (pr#8560, Sage Weil)
  • osd: release related sources when scrub is interrupted (pr#6744, Jianpeng Ma)
  • osd: release the message throttle when OpRequest unregistered (issue#14248, pr#7148, Samuel Just)
  • osd: remove __SWORD_TYPE dependency (pr#6262, John Coyle)
  • osd: remove unused OSDMap::set_weightf() (issue#14369, pr#7231, huanwen ren)
  • osd: remove up_thru_pending field, which is never used (pr#7991, xie xingguo)
  • osd: reorder bool fields in PGLog struct (pr#6279, Piotr Dałek)
  • osd: Replace snprintf with faster implementation in eversion_t::get_key_name (pr#7121, Evgeniy Firsov)
  • osd/ReplicatedPG: be more careful about calling publish_stats_to_osd() (issue#14962, pr#8039, Greg Farnum)
  • osd: replicatedpg: break out loop if we encounter fatal error during do_pg_op() (issue#14922, pr#7844, xie xingguo)
  • osd: ReplicatedPG: clean up unused function (pr#7211, Xiaowei Chen)
  • osd/ReplicatedPG: clear watches on change after applying repops (issue#15151, pr#8163, Sage Weil)
  • osd/ReplicatedPG: fix implementation of register_on_success() (pr#8612, xie xingguo)
  • osd/ReplicatedPG: fix promotion recency logic (issue#14320, pr#6702, Sage Weil)
  • osd/ReplicatedPG: make handle_watch_timeout no-op if !active (issue#15391, pr#8505, Sage Weil)
  • osd: ReplicatedPG: remove unused local variables (issue#13575, pr#6360, xiexingguo)
  • osd/ReplicatedPG::_rollback_to: update the OMAP flag (issue#14777, pr#8495, Samuel Just)
  • osd: repop and lost-unfound overhaul (pr#7765, Samuel Just)
  • osd: reset primary and up_primary when building a new past_interval. (issue#13471, pr#6240, xiexingguo)
  • osd: resolve boot vs NOUP set + clear race (pr#7483, Sage Weil)
  • osd: scrub: do not assign value if read error (pr#6568, Li Wang)
  • osd/ScrubStore: remove unused function (pr#8045, Kefu Chai)
  • osd: several small cleanups (pr#7055, xie xingguo)
  • osd: shut down if we flap too many times in a short period (pr#6708, Xiaoxi Chen)
  • osd: skip promote for writefull w/ FADVISE_DONTNEED/NOCACHE (pr#7010, Jianpeng Ma)
  • osd: slightly reduce actual size of pg_log_entry_t (pr#6690, Piotr Dałek)
  • osd: small fixes to memstore (issue#14228, issue#14229, issue#14227, pr#7107, xie xingguo)
  • osd: some debug output for old osdmap trimming (pr#8613, Sage Weil)
  • osd: support pool level recovery_priority and recovery_op_priority (pr#5953, Guang Yang)
  • osd: try evicting after flushing is done (pr#5630, Zhiqiang Wang)
  • osd: use atomic to generate ceph_tid (pr#7017, Evgeniy Firsov)
  • osd: use optimized is_zero in object_stat_sum_t.is_zero() (pr#7203, Piotr Dałek)
  • osd: use pg id (without shard) when referring the PG (pr#6236, Guang Yang)
  • osd: utime_t, eversion_t, osd_stat_sum_t encoding optimization (pr#6902, Xinze Chi)
  • osd: WeightedPriorityQueue: move to intrusive containers (pr#7654, Robert LeBlanc)
  • osd: write file journal optimization (pr#6484, Xinze Chi)
  • os/filestore/FileJournal: set block size via config option (pr#7628, Sage Weil)
  • os/filestore: fix punch hole usage in _zero (pr#8050, Sage Weil)
  • os/filestore: fix result handling logic of destroy_collection (pr#7721, xie xingguo)
  • os/filestore: fix return type mismatch for lfn parse (pr#8545, xie xingguo)
  • os/filestore: force lfn attrs to be written atomically, restructure name length limits (pr#8496, Samuel Just)
  • os/filestore: require offset == length == 0 for full object read; add test (pr#7957, Jianpeng Ma)
  • os/fs: fix io_getevents argument (pr#7355, Jingkai Yuan)
  • os/fusestore: add error handling (pr#7395, xie xingguo)
  • os/keyvaluestore: kill KeyValueStore (pr#7320, Haomai Wang)
  • os/kstore: insert new onode to the front position of onode LRU (pr#7505, xie xingguo)
  • os/ObjectStore: add custom move operations for ObjectStore::Transaction (pr#7303, Casey Bodley)
  • os/ObjectStore: add noexcept to ensure move ctor is used (pr#8421, Kefu Chai)
  • os/ObjectStore: fix _update_op for split dest_cid (pr#8364, Sage Weil)
  • os/ObjectStore: implement more efficient get_encoded_bytes() (pr#7775, Piotr Dałek)
  • os/ObjectStore: make device uuid probe output something friendly (pr#8418, Sage Weil)
  • os/ObjectStore: try_move_rename in transaction append and add coverage to store_test (issue#15205, pr#8359, Samuel Just)
  • packaging: add build dependency on python devel package (pr#7205, Josh Durgin)
  • packaging: make infernalis -> jewel upgrade work (issue#15047, pr#8034, Nathan Cutler)
  • packaging: move cephfs repair tools to ceph-common (issue#15145, pr#8133, Boris Ranto, Ken Dreyer)
  • pybind: add ceph_volume_client interface for Manila and similar frameworks (pr#6205, John Spray)
  • pybind: add flock to libcephfs python bindings (pr#7902, John Spray)
  • pybind/cephfs: add symlink and its unit test (pr#6323, Shang Ding)
  • pybind: decode empty string in conf_parse_argv() correctly (pr#6711, Josh Durgin)
  • pybind: Ensure correct python flags are passed (pr#7663, James Page)
  • pybind: fix build failure, remove extraneous semicolon in method (issue#14371, pr#7235, Abhishek Lekshmanan)
  • pybind: flag an RBD image as closed regardless of result code (pr#8005, Jason Dillaman)
  • pybind: Implementation of rados_ioctx_snapshot_rollback (pr#6878, Florent Manens)
  • pybind/Makefile.am: Prevent race creating CYTHON_BUILD_DIR (issue#15276, pr#8356, Dan Mick)
  • pybind: move cephfs to Cython (pr#7745, John Spray, Mehdi Abaakouk)
  • pybind: port the rbd bindings to Cython (issue#13115, pr#6768, Hector Martin)
  • pybind/rados: fix object lifetime issues and other bugs in aio (pr#7778, Hector Martin)
  • pybind/rados: fix omap method return values (pr#8603, Roland Mechler)
  • pybind/rados: python3 fix (pr#8331, Mehdi Abaakouk)
  • pybind/rados: use __dealloc__ since __del__ is ignored by cython (pr#7692, Mehdi Abaakouk)
  • pybind: remove next() on iterators (pr#7706, Mehdi Abaakouk)
  • pybind: replace __del__ with __dealloc__ for rbd (pr#7708, Josh Durgin)
  • pybind: support ioctx:exec (pr#6795, Noah Watkins)
  • pybind/test_rbd: fix test_create_defaults (issue#14279, pr#7155, Josh Durgin)
  • pybind: use correct subdir for rados install-exec rule (pr#7684, Josh Durgin)
  • python binding of librados with cython (pr#7621, Mehdi Abaakouk)
  • python: use pip instead of python setup.py (pr#7605, Loic Dachary)
  • qa: add workunit to run ceph_test_rbd_mirror (pr#8221, Josh Durgin)
  • qa: disable rbd/qemu-iotests test case 055 on RHEL/CentOSlibrbd: journal replay should honor inter-event dependencies (issue#14385, pr#7272, Jason Dillaman)
  • qa: erasure-code benchmark plugin selection (pr#6685, Loic Dachary)
  • qa/krbd: Expunge generic/247 (pr#6831, Douglas Fuller)
  • qa: update rest test cephfs calls (issue#15309, pr#8372, John Spray)
  • qa: update rest test cephfs calls (part 2) (issue#15309, pr#8393, John Spray)
  • qa/workunits/cephtool/test.sh: false positive fail on /tmp/obj1. (pr#6837, Robin H. Johnson)
  • qa/workunits/cephtool/test.sh: no ./ (pr#6748, Sage Weil)
  • qa/workunits/cephtool/test.sh: wait longer in ceph_watch_start() (issue#14910, pr#7861, Kefu Chai)
  • qa/workunits: merge_diff shouldn’t attempt to use striping (issue#14165, pr#7041, Jason Dillaman)
  • qa/workunits/rados: Test exit values on test.sh, fix tier.cc (issue#15165, pr#8266, Samuel Just)
  • qa/workunits/rados/test.sh: capture stderr too (pr#8004, Sage Weil)
  • qa/workunits/rados/test.sh: test tmap_migrate (pr#8114, Sage Weil)
  • qa/workunits/rbd: do not use object map during read flag testing (pr#8104, Jason Dillaman)
  • qa/workunits/rbd: new online maintenance op tests (pr#8216, Jason Dillaman)
  • qa/workunits/rbd: rbd-nbd test should use sudo for map/unmap ops (issue#14221, pr#7101, Jason Dillaman)
  • qa/workunits/rbd: use POSIX function definition (issue#15104, pr#8068, Nathan Cutler)
  • qa/workunits/rest/test.py: add confirmation to ‘mds setmap’ (issue#14606, pr#7982, Sage Weil)
  • qa/workunits/rest/test.py: don’t use newfs (pr#8191, Sage Weil)
  • qa/workunits/snaps: move snap tests into fs sub-directory (pr#6496, Yan, Zheng)
  • rados: add ceph:: namespace to bufferlist type (pr#8059, Noah Watkins)
  • rados: bench: fix off-by-one to avoid writing past object_size (pr#6677, Tao Chang)
  • rados: fix bug for write bench (pr#7851, James Liu)
  • radosgw-admin: allow ‘period pull –url’ without full multisite config (pr#8567, Casey Bodley)
  • radosgw-admin: allow (pr#8529, Orit Wasserman)
  • radosgw-admin: Checking the legality of the parameters (issue#13018, pr#5879, Qiankun Zheng)
  • radosgw-admin: Create –secret-key alias for –secret (issue#5821, pr#5335, Yuan Zhou)
  • radosgw-admin: fix for ‘realm pull’ (pr#8404, Casey Bodley)
  • radosgw-admin: metadata list user should return an empty list when user pool is empty (issue#13596, pr#6465, Orit Wasserman)
  • radosgw-admin: ‘period commit’ supplies user-readable error messages (pr#8264, Casey Bodley)
  • rados: implement rm –force option to force remove when full (pr#6202, Xiaowei Chen)
  • rados: new options for write benchmark (pr#6340, Joaquim Rocha)
  • rbd: accept –user, refuse -i command-line optionals (pr#6590, Ilya Dryomov)
  • rbd: additional validation for striping parameters (pr#6914, Na Xie)
  • rbd: add missing command aliases to refactored CLI (issue#13806, pr#6606, Jason Dillaman)
  • rbd: add –object-size option, deprecate –order (issue#12112, pr#6830, Vikhyat Umrao)
  • rbd: add pool name to disambiguate rbd admin socket commands (pr#6904, wuxiangwei)
  • rbd: add RBD pool mirroring configuration API + CLI (pr#6129, Jason Dillaman)
  • rbd: add support for mirror image promotion/demotion/resync (pr#8138, Jason Dillaman)
  • rbd: allow librados to prune the command-line for config overrides (issue#15250, pr#8282, Jason Dillaman)
  • rbd: clone operation should default to image format 2 (pr#8119, Jason Dillaman)
  • rbd: correct an output string for merge-diff (pr#7046, Kongming Wu)
  • rbd: deprecate image format 1 (pr#7841, Jason Dillaman)
  • rbd: dynamically generated bash completion (issue#13494, pr#6316, Jason Dillaman)
  • rbd: fix build with “–without-rbd” (issue#14058, pr#6899, Piotr Dałek)
  • rbd: fix clone isssue (issue#13553, pr#6334, xinxin shu)
  • rbd: fixes for refactored CLI and related tests (pr#6738, Ilya Dryomov)
  • rbd: fix init-rbdmap CMDPARAMS (issue#13214, pr#6109, Sage Weil)
  • rbd: fix static initialization ordering issues (pr#6978, Mykola Golub)
  • rbd-fuse: image name can not include snap name (pr#7044, Yongqiang He)
  • rbd-fuse: implement mv operation (pr#6938, wuxiangwei)
  • rbd: journal: configuration via conf, cli, api and some fixes (pr#6665, Mykola Golub)
  • rbd: journal reset should disable/re-enable journaling feature (issue#15097, pr#8490, Jason Dillaman)
  • rbd: loosen image spec validation requirements (pr#8606, Jason Dillaman)
  • rbd: make config changes actually apply (pr#6520, Mykola Golub)
  • rbdmap: add manpage (issue#15212, pr#8224, Nathan Cutler)
  • rbdmap: systemd support (issue#13374, pr#6479, Boris Ranto)
  • rbd: merge_diff test should use new –object-size parameter instead of –order (issue#14106, pr#6972, Na Xie, Jason Dillaman)
  • rbd-mirror: asok commands to get status and flush on Mirror and Replayer level (pr#8235, Mykola Golub)
  • rbd-mirror: enabling/disabling pool mirroring should update the mirroring directory (issue#15217, pr#8261, Ricardo Dias)
  • rbd-mirror: fix image replay test failures (pr#8158, Jason Dillaman)
  • rbd-mirror: fix long termination due to 30sec wait in main loop (pr#8185, Mykola Golub)
  • rbd-mirror: fix missing increment for iterators (pr#8352, runsisi)
  • rbd-mirror: ImageReplayer async start/stop (pr#7944, Mykola Golub)
  • rbd-mirror: ImageReplayer improvements (pr#7759, Mykola Golub)
  • rbd-mirror: implement ImageReplayer (pr#7614, Mykola Golub)
  • rbd-mirror: initial failover / failback support (pr#8287, Jason Dillaman)
  • rbd-mirror: integrate with image sync state machine (pr#8079, Jason Dillaman)
  • rbd-mirror: make remote context respect env and argv config params (pr#8182, Mykola Golub)
  • rbd-mirror: minor fix-ups for initial skeleton implementation (pr#7958, Mykola Golub)
  • rbd-mirror: prevent enabling/disabling an image’s mirroring when not in image mode (issue#15267, pr#8332, Ricardo Dias)
  • rbd-mirror: remote to local cluster image sync (pr#7979, Jason Dillaman)
  • rbd-mirror: switch fsid over to mirror uuid (issue#15238, pr#8280, Ricardo Dias)
  • rbd-mirror: use pool/image names in asok commands (pr#8159, Mykola Golub)
  • rbd-mirror: use the mirroring directory to detect candidate images (issue#15142, pr#8162, Ricardo Dias)
  • rbd-mirror: workaround for intermingled lockdep singletons (pr#8476, Jason Dillaman)
  • rbd: must specify both of stripe-unit and stripe-count when specifying stripingv2 feature (pr#7026, Donghai Xu)
  • rbd-nbd: add copyright (pr#7166, Li Wang)
  • rbd-nbd: fix up return code handling (pr#7215, Mykola Golub)
  • rbd-nbd: network block device (NBD) support for RBD (pr#6657, Yunchuan Wen, Li Wang)
  • rbd-nbd: small improvements in logging and forking (pr#7127, Mykola Golub)
  • rbd: output formatter may not be closed upon error (issue#13711, pr#6706, xie xingguo)
  • rbd: rbdmap improvements (pr#6445, Boris Ranto)
  • rbd: rbd order will be place in 22, when set to 0 in the config_opt (issue#14139, issue#14047, pr#6886, huanwen ren)
  • rbd: refactor cli command handling (pr#5987, Jason Dillaman)
  • rbd/run_cli_tests.sh: Reflect test failures (issue#14825, pr#7781, Zack Cerza)
  • rbd: stripe unit/count set incorrectly from config (pr#6593, Mykola Golub)
  • rbd: striping parameters should support 64bit integers (pr#6942, Na Xie)
  • rbd: support for enabling/disabling mirroring on specific images (issue#13296, pr#8056, Ricardo Dias)
  • rbd: support negative boolean command-line optionals (issue#13784, pr#6607, Jason Dillaman)
  • rbd: unbreak rbd map + cephx_sign_messages option (pr#6583, Ilya Dryomov)
  • rbd: update default image features (pr#7846, Jason Dillaman)
  • rbd: use default order from configuration when not specified (pr#6965, Yunchuan Wen)
  • release-notes: draft v0.94.4 release notes (pr#5907, Loic Dachary)
  • release-notes: draft v0.94.4 release notes (pr#6195, Loic Dachary)
  • release-notes: draft v0.94.4 release notes (pr#6238, Loic Dachary)
  • release-notes: draft v0.94.6 release notes (issue#13356, pr#7689, Abhishek Varshney, Loic Dachary)
  • release-notes: draft v10.0.3 release notes (pr#7592, Loic Dachary)
  • release-notes: draft v10.0.4 release notes (pr#7966, Loic Dachary)
  • release-notes: draft v9.2.1 release notes (issue#13750, pr#7694, Abhishek Varshney)
  • release-notes: v10.1.2 release notes (pr#8594, Loic Dachary)
  • releases: what is merged where and when ? (pr#8358, Loic Dachary)
  • rgw: accept data only at the first time in response to a request (pr#8084, sunspot)
  • rgw: add a few more help options in admin interface (pr#8410, Abhishek Lekshmanan)
  • rgw: add a method to purge all associate keys when removing a subuser (issue#12890, pr#6002, Sangdi Xu)
  • rgw: add a missing cap type (pr#6774, Yehuda Sadeh)
  • rgw: add an inspection to the field of type when assigning user caps (pr#6051, Kongming Wu)
  • rgw: Add a test for multi-tenancy (pr#8592, Pete Zaitcev)
  • rgw: add bucket request payment feature usage statistics integration (issue#13834, pr#6656, Javier M. Mellid)
  • rgw: add compat header for TEMP_FAILURE_RETRY (pr#6294, John Coyle)
  • rgw: add default quota config (pr#6400, Daniel Gryniewicz)
  • rgw: add LifeCycle feature (pr#6331, Ji Chen)
  • rgw: add missing error code for admin op API (pr#7037, Dunrong Huang)
  • rgw: adds the radosgw-admin sync status command that gives a human readable status of the sync process at a specific zone (pr#8030, Yehuda Sadeh)
  • rgw: add support for caching of Keystone admin token. (pr#7630, Radoslaw Zarzynski)
  • rgw: add support for “end_marker” parameter for GET on Swift account. (issue#10682, pr#4216, Radoslaw Zarzynski)
  • rgw: add support for getting Swift’s DLO without manifest handling (pr#6206, Radoslaw Zarzynski)
  • rgw: add support for metadata upload during PUT on Swift container. (pr#8002, Radoslaw Zarzynski)
  • rgw: add support for Static Large Objects of Swift API (issue#12886, issue#13452, pr#6643, Yehuda Sadeh, Radoslaw Zarzynski)
  • rgw: add support for system requests over Swift API (pr#7666, Radoslaw Zarzynski)
  • rgw: add zone delete to rgw-admin help (pr#8184, Abhishek Lekshmanan)
  • rgw: adjust error code when bucket does not exist in copy operation (issue#14975, pr#7916, Yehuda Sadeh)
  • rgw: adjust the request_uri to support absoluteURI of http request (issue#12917, pr#7675, Wenjun Huang)
  • rgw: admin api for retrieving usage info (Ji Chen) (pr#8031, Yehuda Sadeh, Ji Chen)
  • rgw_admin: improve period update errors (issue#15251, pr#8564, Abhishek Lekshmanan)
  • rgw_admin: orphans finish segfaults (pr#6652, Igor Fedotov)
  • rgw-admin: remove unused iterator and fix error message (pr#8507, Karol Mroz)
  • rgw_admin: remove unused parent_period arg (pr#8411, Abhishek Lekshmanan)
  • rgw: Allow an implicit tenant in case of Keystone (pr#8139, Pete Zaitcev)
  • rgw: allow authentication keystone with self signed certs (issue#14853, issue#13422, pr#7777, Abhishek Lekshmanan)
  • rgw: approximate AmazonS3 HostId error field. (pr#7444, Robin H. Johnson)
  • rgw: aws4: handle UNSIGNED-PAYLOAD under header auth (issue#15499, pr#8601, Javier M. Mellid)
  • rgw: aws4 subdomain calling bugfix (issue#15369, pr#8472, Javier M. Mellid)
  • rgw: bucket link now set the bucket.instance acl (bug fix) (issue#11076, pr#8037, Zengran Zhang)
  • rgw: bucket request payment support (issue#13427, pr#6214, Javier M. Mellid)
  • rgw: Bug fix for mtime anomalies in RadosGW and other places (pr#7328, Adam C. Emerson, Casey Bodley)
  • rgw: build-related fixes (pr#8076, Yehuda Sadeh, Matt Benjamin)
  • rgw: calculate payload hash in RGWPutObj_ObjStore only when necessary. (pr#7869, Radoslaw Zarzynski)
  • rgw: call rgw_log_usage_finalize() on reconfiguration (pr#8585, Casey Bodley)
  • rgw: Check return code in RGWFileHandle::write (pr#7875, Brad Hubbard)
  • rgw: check the return value when call fe->run() (issue#14585, pr#7457, wei qiaomiao)
  • rgw: clarify the error message when trying to create an existed user (pr#5938, Zeqiang Zhuang)
  • rgw: cleanups to comments and messages (pr#7633, Pete Zaitcev)
  • rgw: content length (issue#13582, pr#6975, Yehuda Sadeh)
  • rgw: convert plain object to versioned (with null version) when removing (issue#15243, pr#8268, Yehuda Sadeh)
  • rgw: delete default zone (pr#7005, YankunLi)
  • rgw: do not abort radowgw server when using admin op API with bad parameters (issue#14190, issue#14191, pr#7063, Dunrong Huang)
  • rgw: Do not send a Content-Type on a ‘304 Not Modified’ response (issue#15119, pr#8253, Wido den Hollander)
  • rgw: don’t use s->bucket for metadata api path entry (issue#14549, pr#7408, Yehuda Sadeh)
  • rgw: Drop a debugging message (pr#7280, Pete Zaitcev)
  • rgw: drop permissions of rgw/civetweb after startup (issue#13600, pr#8019, Karol Mroz)
  • rgw: Drop unused usage_exit from rgw_admin.cc (pr#7632, Pete Zaitcev)
  • rgw: Ensure xmlns is consistent on S3 responses. (pr#8526, Robin H. Johnson)
  • rgw: extend rgw_extended_http_attrs to affect Swift accounts and containers as well (pr#5969, Radoslaw Zarzynski)
  • rgw: fcgi should include acconfig (pr#7760, Abhishek Lekshmanan)
  • rgw_file: set owner uid, gid, and Unix mode on new objects (pr#8321, Matt Benjamin)
  • rgw: file unix (pr#8563, Matt Benjamin)
  • rgw: fix a glaring syntax error (pr#6888, Pavan Rallabhandi)
  • rgw: fix a typo in error message (pr#8434, Abhishek Lekshmanan)
  • rgw: fix a typo in init-radosgw (pr#6817, Zhi Zhang)
  • rgw: fix binfo_cache, RGWShardCollectCR (pr#8619, Yehuda Sadeh)
  • rgw: fix compilation warning (pr#7160, Yehuda Sadeh)
  • rgw: fix compiling error (pr#8394, xie xingguo)
  • rgw: fixes for per-period metadata logs (pr#7827, Casey Bodley)
  • rgw: fix lockdep false positive (pr#8284, Yehuda Sadeh)
  • rgw: fix mdlog (pr#8183, Orit Wasserman)
  • rgw: fix objects can not be displayed which object name does not cont… (issue#12963, pr#5738, Weijun Duan)
  • rgw: fix openssl linkage (pr#6513, Yehuda Sadeh)
  • rgw: fix partial read issue in rgw_admin and rgw_tools (pr#6761, Jiaying Ren)
  • rgw: fix problem deleting objects begining with double underscores (issue#15318, pr#8488, Orit Wasserman)
  • rgw: fix reload on non Debian systems. (pr#6482, Hervé Rousseau)
  • rgw: fix response of delete expired objects (issue#13469, pr#6228, Yuan Zhou)
  • rgw: Fix subuser harder with tenants (pr#7618, Pete Zaitcev)
  • rgw: fix swift API returning incorrect account metadata (issue#13140, pr#6047, Sangdi Xu)
  • rgw: fix the build failure (pr#6927, Kefu Chai)
  • rgw: fix typo in RGWHTTPClient::process error message (pr#6424, Brad Hubbard)
  • rgw: fix unsafe c_str() usage (issue#15463, pr#8559, Sage Weil)
  • rgw: fix wrong check for parse() return (pr#6797, Dunrong Huang)
  • rgw: fix wrong etag calculation during POST on S3 bucket. (issue#11241, pr#6030, Radoslaw Zarzynski)
  • rgw: fix wrong handling of limit=0 during listing of Swift account. (issue#14903, pr#7821, Radoslaw Zarzynski)
  • rgw: handle no current_period in is_syncing_bucket_meta (pr#8597, Orit Wasserman)
  • rgw: highres time stamps (pr#8108, Yehuda Sadeh, Adam C. Emerson, Matt Benjamin)
  • rgw: improve error handling in S3/Keystone integration (pr#7597, Radoslaw Zarzynski)
  • rgw: increase verbosity level on RGWObjManifest line (pr#7285, magicrobotmonkey)
  • rgw: indexless (pr#7786, Yehuda Sadeh)
  • rgw: jewel nfs fixes (pr#8460, Matt Benjamin)
  • rgw: keystone v3 (pr#7719, Mark Barnes, Radoslaw Zarzynski)
  • rgw: ldap fixes (pr#8168, Matt Benjamin)
  • rgw_ldap: make ldap.h inclusion conditional (pr#8500, Matt Benjamin)
  • rgw: ldap (Matt Benjamin) (pr#7985, Matt Benjamin)
  • rgw leaks fixes (pr#8636, Yehuda Sadeh)
  • rgw: let radosgw-admin bucket stats return a standard josn (pr#7029, Ruifeng Yang)
  • rgw: link against system openssl (instead of dlopen at runtime) (pr#6419, Sage Weil)
  • rgw: link civetweb with openssl (Sage, Marcus Watts) (pr#7825, Marcus Watts, Sage Weil)
  • rgw: link payer info to usage logging (pr#7918, Yehuda Sadeh, Javier M. Mellid)
  • rgw: mdlog trim add usage prompt (pr#6059, Weijun Duan)
  • rgw: modify command stucking when operating radosgw-admin metadata list user (pr#7032, Peiyang Liu)
  • rgw: modify documents and help infos’ descriptions to the usage of option date when executing command “log show” (pr#6080, Kongming Wu)
  • rgw: modify the conditional statement in parse_metadata_key method. (pr#5875, Zengran Zhang)
  • rgw: move signal.h dependency from rgw_front.h (pr#7678, Matt Benjamin)
  • rgw: Multipart ListPartsResult ETag quotes (issue#15334, pr#8387, Robin H. Johnson)
  • rgw: multiple improvements regarding etag calculation for SLO/DLO of Swift API. (pr#7764, Radoslaw Zarzynski)
  • rgw: multiple Swift API compliance improvements for TempURL (Radoslaw Zarzynsk) (issue#14806, issue#11163, pr#7891, Radoslaw Zarzynski)
  • rgw: multisite fixes (pr#8013, Yehuda Sadeh)
  • rgw: multitenancy support (pr#6784, Yehuda Sadeh, Pete Zaitcev)
  • rgw: new multisite merge (issue#14549, pr#7709, Yehuda Sadeh, Orit Wasserman, Casey Bodley, Daniel Gryniewicz)
  • rgw: Parse –subuser better (pr#7279, Pete Zaitcev)
  • rgw: prevent anonymous user from reading bucket with authenticated read ACL (issue#13207, pr#6057, root)
  • rgw: radosgw-admin bucket check –fix not work (pr#7093, Weijun Duan)
  • rgw-rados: return RGWSystemMetaObj init directly (pr#8534, Karol Mroz)
  • rgw: refuse to calculate digest when the s3 secret key is empty (issue#13133, pr#6045, Sangdi Xu)
  • rgw : region to zonegroup related fixes (pr#8620, Yehuda Sadeh)
  • rgw: remove duplicated code in RGWRados::get_bucket_info() (pr#7413, liyankun)
  • rgw: remove extra check in RGWGetObj::execute (issue#12352, pr#5262, Javier M. Mellid)
  • rgw: Remove unused code in PutMetadataAccount:execute (pr#6668, Pete Zaitcev)
  • rgw: remove unused variable in RGWPutMetadataBucket::execute (pr#6735, Radoslaw Zarzynski)
  • rgw: remove unused vector (pr#7990, Na Xie)
  • rgw: reset return code in when iterating over the bucket the objects (issue#14826, pr#7803, Orit Wasserman)
  • rgw: retry RGWRemoteMetaLog::read_log_info() while master is down (pr#8453, Casey Bodley)
  • rgw: Revert “rgw ldap” (pr#8075, Yehuda Sadeh)
  • rgw/rgw_admin:fix bug about list and stats command (pr#8200, Qiankun Zheng)
  • rgw/rgw_common.h: fix the RGWBucketInfo decoding (pr#8154, Kefu Chai)
  • rgw/rgw_common.h: fix the RGWBucketInfo decoding (pr#8165, Kefu Chai)
  • rgw: RGWLib::env is not used so remove it (pr#7874, Brad Hubbard)
  • rgw/rgw_orphan: check the return value of save_state (pr#7544, Boris Ranto)
  • rgw: RGWPeriod::reflect() sets master zonegroup as default (pr#8566, Casey Bodley)
  • rgw/rgw_resolve: fallback to res_query when res_nquery not implemented (pr#6292, John Coyle)
  • rgw: RGWZoneParams::create should not handle -EEXIST error (pr#7927, Orit Wasserman)
  • rgw: S3: set EncodingType in ListBucketResult (pr#7712, Victor Makarov)
  • rgw: signature mismatch with escaped characters in url query portion (issue#15358, pr#8445, Javier M. Mellid)
  • rgw: static large objects (Radoslaw Zarzynski, Yehuda Sadeh)
  • rgw: store system object meta in cache when creating it (issue#14678, pr#7615, Yehuda Sadeh)
  • rgw: support core file limit for radosgw daemon (pr#6346, Guang Yang)
  • rgw: support for aws authentication v4 (Javier M. Mellid) (issue#10333, pr#7720, Yehuda Sadeh, Javier M. Mellid)
  • rgw: support json format for admin policy API (Dunrong Huang) (issue#14090, pr#8036, Yehuda Sadeh, Dunrong Huang)
  • rgw: swift bulk delete (Radoslaw Zarzynski)
  • rgw: swift use Civetweb ssl can not get right url (issue#13628, pr#6408, Weijun Duan)
  • rgw: swift versioning disabled (pr#8066, Yehuda Sadeh, Radoslaw Zarzynski)
  • rgw: sync fixes 3 (pr#8170, Yehuda Sadeh)
  • rgw: sync fixes 4 (pr#8190, Yehuda Sadeh)
  • rgw sync fixes (pr#8095, Yehuda Sadeh)
  • rgw: the map ‘headers’ is assigned a wrong value (pr#8481, weiqiaomiao)
  • rgw: try to parse Keystone token in order appropriate to configuration. (pr#7822, Radoslaw Zarzynski)
  • rgw: try to use current period id in a few more cases (pr#8588, Yehuda Sadeh)
  • rgw:Use count fn in RGWUserBuckets for quota check (pr#8294, Abhishek Lekshmanan)
  • rgw: use pimpl pattern for RGWPeriodHistory (pr#7809, Casey Bodley)
  • rgw: user quota may not adjust on bucket removal (issue#14507, pr#7586, root)
  • rgw: use smart pointer for C_Reinitwatch (pr#6767, Orit Wasserman)
  • rgw: warn on suspicious civetweb frontend parameters (pr#6944, Matt Benjamin)
  • rocksdb: build with PORTABLE=1 (pr#6311, Sage Weil)
  • rocksdb: remove rdb source files from dist tarball (issue#13554, pr#6379, Kefu Chai)
  • rocksdb: remove rdb sources from dist tarball (issue#13554, pr#7105, Venky Shankar)
  • rocksdb: use native rocksdb makefile (and our autotools) (pr#6290, Sage Weil)
  • rpm: ceph.spec.in: correctly declare systemd dependency for SLE/openSUSE (pr#6114, Nathan Cutler)
  • rpm: ceph.spec.in: fix libs-compat / devel-compat conditional (issue#12315, pr#5219, Ken Dreyer)
  • rpm,deb: remove conditional BuildRequires for btrfs-progs (issue#15042, pr#8016, Erwan Velu)
  • rpm: move %post(un) ldconfig calls to ceph-base (issue#14940, pr#7867, Nathan Cutler)
  • rpm: move runtime dependencies to ceph-base and fix other packaging issues (issue#14864, pr#7826, Nathan Cutler)
  • rpm: prefer UID/GID 167 when creating ceph user/group (issue#15246, pr#8277, Nathan Cutler)
  • rpm: remove sub-package dependencies on “ceph” (issue#15146, pr#8137, Ken Dreyer)
  • rpm: rhel 5.9 librados compile fix, moved blkid to RBD check/compilation (issue#13177, pr#5954, Rohan Mars)
  • script: add missing stop_rgw variable to stop.sh script (pr#7959, Karol Mroz)
  • scripts: adjust mstart and mstop script to run with cmake build (pr#6920, Orit Wasserman)
  • scripts: release_notes can track original issue (pr#6009, Abhishek Lekshmanan)
  • script: subscription-manager support (issue#14972, pr#7907, Loic Dachary)
  • selinux: allow log files to be located in /var/log/radosgw (pr#7604, Boris Ranto)
  • selinux: Update policy to grant additional access (issue#14870, pr#7971, Boris Ranto)
  • set 128MB tcmalloc cache size by bytes (pr#8427, Star Guo)
  • stringify outputted error code and fix unmatched parentheses. (pr#6998, xie.xingguo, xie xingguo)
  • submodules: revert an accidental change (pr#7929, Yehuda Sadeh)
  • systemd: correctly escape block device paths (issue#14706, pr#7579, James Page)
  • systemd: drop any systemd imposed process/thread limits (pr#8450, James Page)
  • systemd: fix typos (pr#6679, Tobias Suckow)
  • systemd: set up environment in rbdmap unit file (issue#14984, pr#8222, Nathan Cutler)
  • systemd: start/stop/restart ceph services by daemon type (issue#13497, pr#6276, Zhi Zhang)
  • systemd: Use the same restart limits as upstart (pr#8188, Boris Ranto)
  • sysvinit: allow custom cluster names (pr#6732, Richard Chan)
  • test: add missing shut_down mock method (pr#8125, Jason Dillaman)
  • test/bufferlist: Avoid false-positive tests (pr#7955, Erwan Velu)
  • test: ceph_test_rados: use less CPU (pr#7513, Samuel Just)
  • test/cli-integration/rbd: disable progress output (issue#14931, pr#7858, Josh Durgin)
  • test: correct librbd errors discovered with unoptimized cmake build (pr#7914, Jason Dillaman)
  • test: create pools for rbd tests with different prefix (pr#7738, Mykola Golub)
  • test: enable test for bug #2339 which has been resolved. (pr#7743, You Ji)
  • test/encoding/readable.sh fix (pr#6714, Igor Podoski)
  • test/encoding/readable: use [ for “test” not (( (pr#8574, Kefu Chai)
  • test: fix issues discovered via the rbd permissions test case (pr#8129, Jason Dillaman)
  • test: fix osd-scrub-snaps.sh (pr#6697, Xinze Chi)
  • test: Fix test to run with btrfs which has snap_### dirs (issue#15347, pr#8420, David Zafman)
  • test: fixup and improvements for rbd-mirror test (pr#8090, Mykola Golub)
  • test: fix ut test failure caused by lfn change (issue#15464, pr#8544, xie xingguo)
  • test: fix valgrind memcheck issues for rbd-mirror test cases (issue#15354, pr#8493, Jason Dillaman)
  • test: handle exception thrown from close during rbd lock test (pr#8124, Jason Dillaman)
  • test: image replayer needs dummy remote mirror peer uuid (pr#8584, Jason Dillaman)
  • test/libcephfs/flock: add sys/file.h include for flock operations (pr#6310, John Coyle)
  • test/librados/test.cc: clean up EC pools’ crush rules too (issue#13878, pr#6788, Loic Dachary, Dan Mick)
  • test/librbd/fsx: Use c++11 std::mt19937 generator instead of random_r() (pr#6332, John Coyle)
  • test/mon/osd-erasure-code-profile: pick new mon port (pr#7161, Sage Weil)
  • test: more debug logging for TestWatchNotify (pr#7737, Mykola Golub)
  • test: new librbd flatten test case (pr#7609, Jason Dillaman)
  • test/osd: Relax the timing intervals in osd-markdown.sh (pr#7899, Dan Mick)
  • test_pool_create.sh: put test files in the test dir so they are cleaned up (pr#8219, Josh Durgin)
  • test/pybind/test_ceph_argparse: fix reweight-by-utilization tests (pr#8027, Kefu Chai, Sage Weil)
  • test/radosgw-admin: update the expected usage outputs (pr#7723, Kefu Chai)
  • test: rbd-mirror: add “switch to the next tag” test (pr#8149, Mykola Golub)
  • test: rbd-mirror: compare positions using all fields (pr#8172, Mykola Golub)
  • test: rbd-mirror: script improvements for manual testing (pr#8325, Mykola Golub)
  • test: reproducer for writeback CoW deadlock (pr#8009, Jason Dillaman)
  • test/rgw: add multisite test for meta sync across periods (pr#7887, Casey Bodley)
  • test_rgw_admin: use freopen for output redirection. (pr#6303, John Coyle)
  • tests: add const for ec test (pr#6911, Michal Jarzabek)
  • tests: add Ubuntu 16.04 xenial dockerfile (pr#8519, Loic Dachary)
  • tests: allow docker-test.sh to run under root (issue#13355, pr#6173, Loic Dachary)
  • tests: allow object corpus readable test to skip specific incompat instances (pr#6932, Igor Podoski)
  • tests: centos7 needs the Continuous Release (CR) Repository enabled for (issue#13997, pr#6842, Brad Hubbard)
  • tests: ceph-disk.sh: should use “readlink -f” instead (pr#7594, Kefu Chai)
  • tests: ceph-disk.sh: use “readlink -f” instead for fullpath (pr#7606, Kefu Chai)
  • tests: ceph-disk workunit uses configobj (pr#6342, Loic Dachary)
  • tests: ceph-helpers assert success getting backfills (pr#6699, Loic Dachary)
  • tests: ceph_test_keyvaluedb_iterators: fix broken test (pr#6597, Haomai Wang)
  • tests: concatenate test_rados_test_tool from src and qa (issue#13691, pr#6464, Loic Dachary)
  • tests: configure with rocksdb by default (issue#14220, pr#7100, Loic Dachary)
  • tests: destroy testprofile before creating one (issue#13664, pr#6446, Loic Dachary)
  • test: set a default $CEPH_ROOT env variable (pr#8645, Kefu Chai)
  • tests: fix a few build warnings (pr#7608, Sage Weil)
  • tests: fix failure for osd-scrub-snap.sh (issue#13986, pr#6890, Loic Dachary, Ning Yao)
  • tests: Fix for make check. (pr#7102, David Zafman)
  • tests: Fixing broken test/cephtool-test-mon.sh test (pr#8429, Erwan Velu)
  • tests: fix race condition testing auto scrub (issue#13592, pr#6724, Xinze Chi, Loic Dachary)
  • tests: fix test_rados_tools.sh rados lookup (issue#13691, pr#6502, Loic Dachary)
  • tests: fix typo in TestClsRbd.snapshots test case (issue#13727, pr#6504, Jason Dillaman)
  • tests: flush op work queue prior to destroying MockImageCtx (issue#14092, pr#7002, Jason Dillaman)
  • tests: ignore test-suite.log (pr#6584, Loic Dachary)
  • tests: Improving ‘make check’ execution time (pr#8131, Erwan Velu)
  • tests: notification slave needs to wait for master (issue#13810, pr#7220, Jason Dillaman)
  • tests: –osd-scrub-load-threshold=2000 for more consistency (issue#14027, pr#6871, Loic Dachary)
  • tests: osd-scrub-snaps.sh to display full osd logs on error (issue#13986, pr#6857, Loic Dachary)
  • tests: port uniqueness reminder (pr#6387, Loic Dachary)
  • tests: restore run-cli-tests (pr#6571, Loic Dachary, Sage Weil, Jason Dillaman)
  • tests: snap rename and rebuild object map in client update test (pr#7224, Jason Dillaman)
  • tests: sync ceph-erasure-code-corpus for mktemp -d (pr#7596, Loic Dachary)
  • tests: test/librados/test.cc must create profile (issue#13664, pr#6452, Loic Dachary)
  • tests: test_pidfile.sh lingering processes (issue#14834, pr#7734, Loic Dachary)
  • tests: unittest_bufferlist: fix hexdump test (pr#7152, Sage Weil)
  • tests: unittest_ipaddr: fix segv (pr#7154, Sage Weil)
  • test/system/rados_list_parallel: print oid if rados_write fails (issue#15240, pr#8309, Kefu Chai)
  • test/system/*: use dynamically generated pool name (issue#15240, pr#8318, Kefu Chai)
  • test/test-erasure-code.sh: disable pg_temp priming (issue#15211, pr#8260, Sage Weil)
  • test: TestMirroringWatcher test cases were not closing images (pr#8435, Jason Dillaman)
  • test/TestPGLog: fix the FTBFS (issue#14930, pr#7855, Kefu Chai)
  • test/test_pool_create.sh: fix port (pr#8361, Sage Weil)
  • test/time: no need to abs(uint64_t) for comparing (pr#7726, Kefu Chai)
  • test: update rbd integration cram tests for new default features (pr#8001, Jason Dillaman)
  • test: use sequential journal_tid for object cacher test (issue#13877, pr#6710, Josh Durgin)
  • tools: add cephfs-table-tool ‘take_inos’ (pr#6655, John Spray)
  • tools/cephfs: add tmap_upgrade (pr#7003, John Spray)
  • tools/cephfs: fix overflow writing header to fixed size buffer (#13816) (pr#6617, John Spray)
  • tools/cephfs: fix overflow writing header to fixed size buffer (#13816) (pr#6617, John Spray)
  • tools/cephfs: fix tmap_upgrade (issue#15135, pr#8128, John Spray)
  • tools: ceph_monstore_tool: add inflate-pgmap command (issue#14217, pr#7097, Kefu Chai)
  • tools: ceph-monstore-update-crush: add “–test” when testing crushmap (pr#6418, Kefu Chai)
  • tools: Fix layout handing in cephfs-data-scan (#13898) (pr#6719, John Spray)
  • tools: monstore: add ‘show-versions’ command. (pr#7073, Cilang Zhao)
  • tools/rados: reduce “rados put” memory usage by op_size (pr#7928, Piotr Dałek)
  • tools:remove duplicate references (pr#5917, Bo Cai)
  • tools: support printing part cluster map in readable fashion (issue#13079, pr#5921, Bo Cai)
  • unittest_compression_zlib: do not assume buffer will be null terminated (pr#8064, Sage Weil)
  • unittest_erasure_code_plugin: fix deadlock (Alpine) (pr#8314, John Coyle)
  • unittest_osdmap: default crush tunables now firefly (pr#8098, Sage Weil)
  • vstart: fix up cmake paths when VSTART_DEST is given (pr#8363, Casey Bodley)
  • vstart: grant full access to Swift testing account (pr#6239, Yuan Zhou)
  • vstart: make -k with optional mon_num. (pr#8251, Jianpeng Ma)
  • vstart: set cephfs root uid/gid to caller (pr#6255, John Spray)
  • vstart.sh: add mstart, mstop, mrun wrappers for running multiple vstart-style test clusters out of src tree (pr#6901, Yehuda Sadeh)
  • vstart.sh: avoid race condition starting rgw via vstart.sh (issue#14829, pr#7727, Javier M. Mellid)
  • vstart.sh: silence a harmless msg where btrfs is not found (pr#7640, Patrick Donnelly)
  • xio: add prefix to xio msgr logs (pr#8148, Roi Dayan)
  • xio: fix compilation against latest accelio (pr#8022, Roi Dayan)
  • xio: fix incorrect ip being assigned in case of multiple RDMA ports (pr#7747, Subramanyam Varanasi)
  • xio: remove duplicate assignment of peer addr (pr#8025, Roi Dayan)
  • xio: remove redundant magic methods (pr#7773, Roi Dayan)
  • xio: remove unused variable (pr#8023, Roi Dayan)
  • xio: xio_init needs to be called before any other xio function (pr#8227, Roi Dayan)
  • xxhash: use clone of xxhash.git; add .gitignore (pr#7986, Sage Weil)

Notable Changes since Hammer

  • aarch64: add optimized version of crc32c (Yazen Ghannam, Steve Capper)
  • auth: cache/reuse crypto lib key objects, optimize msg signature check (Sage Weil)
  • auth: reinit NSS after fork() (#11128 Yan, Zheng)
  • autotools: fix out of tree build (Krxysztof Kosinski)
  • autotools: improve make check output (Loic Dachary)
  • buffer: add invalidate_crc() (Piotr Dalek)
  • buffer: fix zero bug (#12252 Haomai Wang)
  • buffer: some cleanup (Michal Jarzabek)
  • build: allow tcmalloc-minimal (Thorsten Behrens)
  • build: C++11 now supported
  • build: cmake: fix nss linking (Danny Al-Gaaf)
  • build: cmake: misc fixes (Orit Wasserman, Casey Bodley)
  • build: disable LTTNG by default (#11333 Josh Durgin)
  • build: do not build ceph-dencoder with tcmalloc (#10691 Boris Ranto)
  • build: fix junit detection on Fedora 22 (Ira Cooper)
  • build: fix pg ref disabling (William A. Kennington III)
  • build: fix ppc build (James Page)
  • build: install-deps: misc fixes (Loic Dachary)
  • build: install-deps.sh improvements (Loic Dachary)
  • build: install-deps: support OpenSUSE (Loic Dachary)
  • build: make_dist_tarball.sh (Sage Weil)
  • build: many cmake improvements
  • build: misc cmake fixes (Matt Benjamin)
  • build: misc fixes (Boris Ranto, Ken Dreyer, Owen Synge)
  • build: OSX build fixes (Yan, Zheng)
  • build: remove rest-bench
  • ceph-authtool: fix return code on error (Gerhard Muntingh)
  • ceph-detect-init: added Linux Mint (Michal Jarzabek)
  • ceph-detect-init: robust init system detection (Owen Synge)
  • ceph-disk: ensure ‘zap’ only operates on a full disk (#11272 Loic Dachary)
  • ceph-disk: fix zap sgdisk invocation (Owen Synge, Thorsten Behrens)
  • ceph-disk: follow ceph-osd hints when creating journal (#9580 Sage Weil)
  • ceph-disk: handle re-using existing partition (#10987 Loic Dachary)
  • ceph-disk: improve parted output parsing (#10983 Loic Dachary)
  • ceph-disk: install pip > 6.1 (#11952 Loic Dachary)
  • ceph-disk: make suppression work for activate-all and activate-journal (Dan van der Ster)
  • ceph-disk: many fixes (Loic Dachary, Alfredo Deza)
  • ceph-disk: fixes to respect init system (Loic Dachary, Owen Synge)
  • ceph-disk: pass –cluster arg on prepare subcommand (Kefu Chai)
  • ceph-disk: support for multipath devices (Loic Dachary)
  • ceph-disk: support NVMe device partitions (#11612 Ilja Slepnev)
  • ceph: fix ‘df’ units (Zhe Zhang)
  • ceph: fix parsing in interactive cli mode (#11279 Kefu Chai)
  • cephfs-data-scan: many additions, improvements (John Spray)
  • ceph-fuse: do not require successful remount when unmounting (#10982 Greg Farnum)
  • ceph-fuse, libcephfs: don’t clear COMPLETE when trimming null (Yan, Zheng)
  • ceph-fuse, libcephfs: drop inode when rmdir finishes (#11339 Yan, Zheng)
  • ceph-fuse,libcephfs: fix uninline (#11356 Yan, Zheng)
  • ceph-fuse, libcephfs: hold exclusive caps on dirs we “own” (#11226 Greg Farnum)
  • ceph-fuse: mostly behave on 32-bit hosts (Yan, Zheng)
  • ceph: improve error output for ‘tell’ (#11101 Kefu Chai)
  • ceph-monstore-tool: fix store-copy (Huangjun)
  • ceph: new ‘ceph daemonperf’ command (John Spray, Mykola Golub)
  • ceph-objectstore-tool: many many improvements (David Zafman)
  • ceph-objectstore-tool: refactoring and cleanup (John Spray)
  • ceph-post-file: misc fixes (Joey McDonald, Sage Weil)
  • ceph_test_rados: test pipelined reads (Zhiqiang Wang)
  • client: avoid sending unnecessary FLUSHSNAP messages (Yan, Zheng)
  • client: exclude setfilelock when calculating oldest tid (Yan, Zheng)
  • client: fix error handling in check_pool_perm (John Spray)
  • client: fsync waits only for inode’s caps to flush (Yan, Zheng)
  • client: invalidate kernel dcache when cache size exceeds limits (Yan, Zheng)
  • client: make fsync wait for unsafe dir operations (Yan, Zheng)
  • client: pin lookup dentry to avoid inode being freed (Yan, Zheng)
  • common: add descriptions to perfcounters (Kiseleva Alyona)
  • common: add perf counter descriptions (Alyona Kiseleva)
  • common: bufferlist performance tuning (Piotr Dalek, Sage Weil)
  • common: detect overflow of int config values (#11484 Kefu Chai)
  • common: fix bit_vector extent calc (#12611 Jason Dillaman)
  • common: fix json parsing of utf8 (#7387 Tim Serong)
  • common: fix leak of pthread_mutexattr (#11762 Ketor Meng)
  • common: fix LTTNG vs fork issue (Josh Durgin)
  • common: fix throttle max change (Henry Chang)
  • common: make mutex more efficient
  • common: make work queue addition/removal thread safe (#12662 Jason Dillaman)
  • common: optracker improvements (Zhiqiang Wang, Jianpeng Ma)
  • common: PriorityQueue tests (Kefu Chai)
  • common: some async compression infrastructure (Haomai Wang)
  • crush: add –check to validate dangling names, max osd id (Kefu Chai)
  • crush: cleanup, sync with kernel (Ilya Dryomov)
  • crush: fix crash from invalid ‘take’ argument (#11602 Shiva Rkreddy, Sage Weil)
  • crush: fix divide-by-2 in straw2 (#11357 Yann Dupont, Sage Weil)
  • crush: fix has_v4_buckets (#11364 Sage Weil)
  • crush: fix subtree base weight on adjust_subtree_weight (#11855 Sage Weil)
  • crush: respect default replicated ruleset config on map creation (Ilya Dryomov)
  • crushtool: fix order of operations, usage (Sage Weil)
  • crypto: fix NSS leak (Jason Dillaman)
  • crypto: fix unbalanced init/shutdown (#12598 Zheng Yan)
  • deb: fix rest-bench-dbg and ceph-test-dbg dependendies (Ken Dreyer)
  • debian: minor package reorg (Ken Dreyer)
  • deb, rpm: move ceph-objectstore-tool to ceph (Ken Dreyer)
  • doc: docuemnt object corpus generation (#11099 Alexis Normand)
  • doc: document region hostnames (Robin H. Johnson)
  • doc: fix gender neutrality (Alexandre Maragone)
  • doc: fix install doc (#10957 Kefu Chai)
  • doc: fix sphinx issues (Kefu Chai)
  • doc: man page updates (Kefu Chai)
  • doc: mds data structure docs (Yan, Zheng)
  • doc: misc updates (Fracois Lafont, Ken Dreyer, Kefu Chai, Owen Synge, Gael Fenet-Garde, Loic Dachary, Yannick Atchy-Dalama, Jiaying Ren, Kevin Caradant, Robert Maxime, Nicolas Yong, Germain Chipaux, Arthur Gorjux, Gabriel Sentucq, Clement Lebrun, Jean-Remi Deveaux, Clair Massot, Robin Tang, Thomas Laumondais, Jordan Dorne, Yuan Zhou, Valentin Thomas, Pierre Chaumont, Benjamin Troquereau, Benjamin Sesia, Vikhyat Umrao, Nilamdyuti Goswami, Vartika Rai, Florian Haas, Loic Dachary, Simon Guinot, Andy Allan, Alistair Israel, Ken Dreyer, Robin Rehu, Lee Revell, Florian Marsylle, Thomas Johnson, Bosse Klykken, Travis Rhoden, Ian Kelling)
  • doc: swift tempurls (#10184 Abhishek Lekshmanan)
  • doc: switch doxygen integration back to breathe (#6115 Kefu Chai)
  • doc: update release schedule docs (Loic Dachary)
  • erasure-code: cleanup (Kefu Chai)
  • erasure-code: improve tests (Loic Dachary)
  • erasure-code: shec: fix recovery bugs (Takanori Nakao, Shotaro Kawaguchi)
  • erasure-code: update ISA-L to 2.13 (Yuan Zhou)
  • gmock: switch to submodule (Danny Al-Gaaf, Loic Dachary)
  • hadoop: add terasort test (Noah Watkins)
  • init-radosgw: merge with sysv version; fix enumeration (Sage Weil)
  • java: fix libcephfs bindings (Noah Watkins)
  • libcephfs: add pread, pwrite (Jevon Qiao)
  • libcephfs,ceph-fuse: cache cleanup (Zheng Yan)
  • libcephfs,ceph-fuse: fix request resend on cap reconnect (#10912 Yan, Zheng)
  • librados: add config observer (Alistair Strachan)
  • librados: add FULL_TRY and FULL_FORCE flags for dealing with full clusters or pools (Sage Weil)
  • librados: add src_fadvise_flags for copy-from (Jianpeng Ma)
  • librados: define C++ flags from C constants (Josh Durgin)
  • librados: fadvise flags per op (Jianpeng Ma)
  • librados: fix last_force_resent handling (#11026 Jianpeng Ma)
  • librados: fix memory leak from C_TwoContexts (Xiong Yiliang)
  • librados: fix notify completion race (#13114 Sage Weil)
  • librados: fix striper when stripe_count = 1 and stripe_unit != object_size (#11120 Yan, Zheng)
  • librados, libcephfs: randomize client nonces (Josh Durgin)
  • librados: op perf counters (John Spray)
  • librados: pybind: fix binary omap values (Robin H. Johnson)
  • librados: pybind: fix write() method return code (Javier Guerra)
  • librados: respect default_crush_ruleset on pool_create (#11640 Yuan Zhou)
  • libradosstriper: fix leak (Danny Al-Gaaf)
  • librbd: add const for single-client-only features (Josh Durgin)
  • librbd: add deep-flatten operation (Jason Dillaman)
  • librbd: add purge_on_error cache behavior (Jianpeng Ma)
  • librbd: allow additional metadata to be stored with the image (Haomai Wang)
  • librbd: avoid blocking aio API methods (#11056 Jason Dillaman)
  • librbd: better handling for dup flatten requests (#11370 Jason Dillaman)
  • librbd: cancel in-flight ops on watch error (#11363 Jason Dillaman)
  • librbd: default new images to format 2 (#11348 Jason Dillaman)
  • librbd: fadvise for copy, export, import (Jianpeng Ma)
  • librbd: fast diff implementation that leverages object map (Jason Dillaman)
  • librbd: fix fast diff bugs (#11553 Jason Dillaman)
  • librbd: fix image format detection (Zhiqiang Wang)
  • librbd: fix lock ordering issue (#11577 Jason Dillaman)
  • librbd: fix reads larger than the cache size (Lu Shi)
  • librbd: fix snapshot creation when other snap is active (#11475 Jason Dillaman)
  • librbd: flatten/copyup fixes (Jason Dillaman)
  • librbd: handle NOCACHE fadvise flag (Jinapeng Ma)
  • librbd: lockdep, helgrind validation (Jason Dillaman, Josh Durgin)
  • librbd: metadata filter fixes (Haomai Wang)
  • librbd: misc aio fixes (#5488 Jason Dillaman)
  • librbd: misc rbd fixes (#11478 #11113 #11342 #11380 Jason Dillaman, Zhiqiang Wang)
  • librbd: new diff_iterate2 API (Jason Dillaman)
  • librbd: object map rebuild support (Jason Dillaman)
  • librbd: only update image flags while hold exclusive lock (#11791 Jason Dillaman)
  • librbd: optionally disable allocation hint (Haomai Wang)
  • librbd: prevent race between resize requests (#12664 Jason Dillaman)
  • librbd: readahead fixes (Zhiqiang Wang)
  • librbd: return result code from close (#12069 Jason Dillaman)
  • librbd: store metadata, including config options, in image (Haomai Wang)
  • librbd: tolerate old osds when getting image metadata (#11549 Jason Dillaman)
  • librbd: use write_full when possible (Zhiqiang Wang)
  • log: fix data corruption race resulting from log rotation (#12465 Samuel Just)
  • logrotate.d: prefer service over invoke-rc.d (#11330 Win Hierman, Sage Weil)
  • mds: add ‘damaged’ state to MDSMap (John Spray)
  • mds: add nicknames for perfcounters (John Spray)
  • mds: avoid emitting cap warnigns before evicting session (John Spray)
  • mds: avoid getting stuck in XLOCKDONE (#11254 Yan, Zheng)
  • mds: disable problematic rstat propagation into snap parents (Yan, Zheng)
  • mds: do not add snapped items to bloom filter (Yan, Zheng)
  • mds: expose frags via asok (John Spray)
  • mds: fix expected holes in journal objects (#13167 Yan, Zheng)
  • mds: fix handling for missing mydir dirfrag (#11641 John Spray)
  • mds: fix integer truncateion on large client ids (Henry Chang)
  • mds: fix mydir replica issue with shutdown (#10743 John Spray)
  • mds: fix out-of-order messages (#11258 Yan, Zheng)
  • mds: fix rejoin (Yan, Zheng)
  • mds: fix setting entire file layout in one setxattr (John Spray)
  • mds: fix shutdown (John Spray)
  • mds: fix shutdown with strays (#10744 John Spray)
  • mds: fix SnapServer crash on deleted pool (John Spray)
  • mds: fix snapshot bugs (Yan, Zheng)
  • mds: fix stray reintegration (Yan, Zheng)
  • mds: fix stray handling (John Spray)
  • mds: fix suicide beacon (John Spray)
  • mds: flush immediately in do_open_truncate (#11011 John Spray)
  • mds: handle misc corruption issues (John Spray)
  • mds: improve dump methods (John Spray)
  • mds: many fixes (Yan, Zheng, John Spray, Greg Farnum)
  • mds: many snapshot and stray fixes (Yan, Zheng)
  • mds: misc fixes (Jianpeng Ma, Dan van der Ster, Zhang Zhi)
  • mds: misc journal cleanups and fixes (#10368 John Spray)
  • mds: misc repair improvements (John Spray)
  • mds: misc snap fixes (Zheng Yan)
  • mds: misc snapshot fixes (Yan, Zheng)
  • mds: new SessionMap storage using omap (#10649 John Spray)
  • mds: persist completed_requests reliably (#11048 John Spray)
  • mds: reduce memory consumption (Yan, Zheng)
  • mds: respawn instead of suicide on blacklist (John Spray)
  • mds: separate safe_pos in Journaler (#10368 John Spray)
  • mds: snapshot rename support (#3645 Yan, Zheng)
  • mds: store layout on header object (#4161 John Spray)
  • mds: throttle purge stray operations (#10390 John Spray)
  • mds: tolerate clock jumping backwards (#11053 Yan, Zheng)
  • mds: warn when clients fail to advance oldest_client_tid (#10657 Yan, Zheng)
  • misc cleanups and fixes (Danny Al-Gaaf)
  • misc coverity fixes (Danny Al-Gaaf)
  • misc performance and cleanup (Nathan Cutler, Xinxin Shu)
  • mon: add cache over MonitorDBStore (Kefu Chai)
  • mon: add ‘mon_metadata <id>’ command (Kefu Chai)
  • mon: add ‘node ls ...’ command (Kefu Chai)
  • mon: add NOFORWARD, OBSOLETE, DEPRECATE flags for mon commands (Joao Eduardo Luis)
  • mon: add PG count to ‘ceph osd df’ output (Michal Jarzabek)
  • mon: ‘ceph osd metadata’ can dump all osds (Haomai Wang)
  • mon: clean up, reorg some mon commands (Joao Eduardo Luis)
  • monclient: flush_log (John Spray)
  • mon: detect kv backend failures (Sage Weil)
  • mon: disallow >2 tiers (#11840 Kefu Chai)
  • mon: disallow ec pools as tiers (#11650 Samuel Just)
  • mon: do not deactivate last mds (#10862 John Spray)
  • mon: fix average utilization calc for ‘osd df’ (Mykola Golub)
  • mon: fix CRUSH map test for new pools (Sage Weil)
  • mon: fix log dump crash when debugging (Mykola Golub)
  • mon: fix mds beacon replies (#11590 Kefu Chai)
  • mon: fix metadata update race (Mykola Golub)
  • mon: fix min_last_epoch_clean tracking (Kefu Chai)
  • mon: fix ‘pg ls’ sort order, state names (#11569 Kefu Chai)
  • mon: fix refresh (#11470 Joao Eduardo Luis)
  • mon: fix variance calc in ‘osd df’ (Sage Weil)
  • mon: improve callout to crushtool (Mykola Golub)
  • mon: make blocked op messages more readable (Jianpeng Ma)
  • mon: make osd get pool ‘all’ only return applicable fields (#10891 Michal Jarzabek)
  • mon: misc scaling fixes (Sage Weil)
  • mon: normalize erasure-code profile for storage and comparison (Loic Dachary)
  • mon: only send mon metadata to supporting peers (Sage Weil)
  • mon: optionally specify osd id on ‘osd create’ (Mykola Golub)
  • mon: ‘osd tree’ fixes (Kefu Chai)
  • mon: periodic background scrub (Joao Eduardo Luis)
  • mon: prevent bucket deletion when referenced by a crush rule (#11602 Sage Weil)
  • mon: prevent pgp_num > pg_num (#12025 Xinxin Shu)
  • mon: prevent pool with snapshot state from being used as a tier (#11493 Sage Weil)
  • mon: prime pg_temp when CRUSH map changes (Sage Weil)
  • mon: refine check_remove_tier checks (#11504 John Spray)
  • mon: reject large max_mds values (#12222 John Spray)
  • mon: remove spurious who arg from ‘mds rm ...’ (John Spray)
  • mon: streamline session handling, fix memory leaks (Sage Weil)
  • mon: upgrades must pass through hammer (Sage Weil)
  • mon: warn on bogus cache tier config (Jianpeng Ma)
  • msgr: add ceph_perf_msgr tool (Hoamai Wang)
  • msgr: async: fix seq handling (Haomai Wang)
  • msgr: async: many many fixes (Haomai Wang)
  • msgr: simple: fix clear_pipe (#11381 Haomai Wang)
  • msgr: simple: fix connect_seq assert (Haomai Wang)
  • msgr: xio: fastpath improvements (Raju Kurunkad)
  • msgr: xio: fix ip and nonce (Raju Kurunkad)
  • msgr: xio: improve lane assignment (Vu Pham)
  • msgr: xio: sync with accellio v1.4 (Vu Pham)
  • msgr: xio: misc fixes (#10735 Matt Benjamin, Kefu Chai, Danny Al-Gaaf, Raju Kurunkad, Vu Pham, Casey Bodley)
  • msg: unit tests (Haomai Wang)
  • objectcacher: misc bug fixes (Jianpeng Ma)
  • osd: add latency perf counters for tier operations (Xinze Chi)
  • osd: add misc perfcounters (Xinze Chi)
  • osd: add simple sleep injection in recovery (Sage Weil)
  • osd: allow SEEK_HOLE/SEEK_DATA for sparse read (Zhiqiang Wang)
  • osd: avoid dup omap sets for in pg metadata (Sage Weil)
  • osd: avoid multiple hit set insertions (Zhiqiang Wang)
  • osd: avoid transaction append in some cases (Sage Weil)
  • osd: break PG removal into multiple iterations (#10198 Guang Yang)
  • osd: cache proxy-write support (Zhiqiang Wang, Samuel Just)
  • osd: check scrub state when handling map (Jianpeng Ma)
  • osd: clean up some constness, privateness (Kefu Chai)
  • osd: clean up temp object if promotion fails (Jianpeng Ma)
  • osd: configure promotion based on write recency (Zhiqiang Wang)
  • osd: constrain collections to meta and PGs (normal and temp) (Sage Weil)
  • osd: don’t send dup MMonGetOSDMap requests (Sage Weil, Kefu Chai)
  • osd: EIO injection (David Zhang)
  • osd: elminiate txn apend, ECSubWrite copy (Samuel Just)
  • osd: erasure-code: drop entries according to LRU (Andreas-Joachim Peters)
  • osd: erasure-code: fix SHEC floating point bug (#12936 Loic Dachary)
  • osd: erasure-code: update to ISA-L 2.14 (Yuan Zhou)
  • osd: filejournal: cleanup (David Zafman)
  • osd: filestore: clone using splice (Jianpeng Ma)
  • osd: filestore: fix recursive lock (Xinxin Shu)
  • osd: fix check_for_full (Henry Chang)
  • osd: fix dirty accounting in make_writeable (Zhiqiang Wang)
  • osd: fix dup promotion lost op bug (Zhiqiang Wang)
  • osd: fix endless repair when object is unrecoverable (Jianpeng Ma, Kefu Chai)
  • osd: fix hitset object naming to use GMT (Kefu Chai)
  • osd: fix misc memory leaks (Sage Weil)
  • osd: fix negative degraded stats during backfill (Guang Yang)
  • osd: fix osdmap dump of blacklist items (John Spray)
  • osd: fix peek_queue locking in FileStore (Xinze Chi)
  • osd: fix pg resurrection (#11429 Samuel Just)
  • osd: fix promotion vs full cache tier (Samuel Just)
  • osd: fix replay requeue when pg is still activating (#13116 Samuel Just)
  • osd: fix scrub stat bugs (Sage Weil, Samuel Just)
  • osd: fix snap flushing from cache tier (again) (#11787 Samuel Just)
  • osd: fix snap handling on promotion (#11296 Sam Just)
  • osd: fix temp-clearing (David Zafman)
  • osd: force promotion for ops EC can’t handle (Zhiqiang Wang)
  • osd: handle log split with overlapping entries (#11358 Samuel Just)
  • osd: ignore non-existent osds in unfound calc (#10976 Mykola Golub)
  • osd: improve behavior on machines with large memory pages (Steve Capper)
  • osd: include a temp namespace within each collection/pgid (Sage Weil)
  • osd: increase default max open files (Owen Synge)
  • osd: keyvaluestore: misc fixes (Varada Kari)
  • osd: low and high speed flush modes (Mingxin Liu)
  • osd: make suicide timeouts individually configurable (Samuel Just)
  • osd: merge multiple setattr calls into a setattrs call (Xinxin Shu)
  • osd: misc fixes (Ning Yao, Kefu Chai, Xinze Chi, Zhiqiang Wang, Jianpeng Ma)
  • osd: move scrub in OpWQ (Samuel Just)
  • osd: newstore prototype (Sage Weil)
  • osd: ObjectStore internal API refactor (Sage Weil)
  • osd: peer_features includes self (David Zafman)
  • osd: pool size change triggers new interval (#11771 Samuel Just)
  • osd: prepopulate needs_recovery_map when only one peer has missing (#9558 Guang Yang)
  • osd: randomize scrub times (#10973 Kefu Chai)
  • osd: recovery, peering fixes (#11687 Samuel Just)
  • osd: refactor scrub and digest recording (Sage Weil)
  • osd: refuse first write to EC object at non-zero offset (Jianpeng Ma)
  • osd: relax reply order on proxy read (#11211 Zhiqiang Wang)
  • osd: require firefly features (David Zafman)
  • osd: set initial crush weight with more precision (Sage Weil)
  • osd: SHEC no longer experimental
  • osd: skip promotion for flush/evict op (Zhiqiang Wang)
  • osd: stripe over small xattrs to fit in XFS’s 255 byte inline limit (Sage Weil, Ning Yao)
  • osd: sync object_map on syncfs (Samuel Just)
  • osd: take excl lock of op is rw (Samuel Just)
  • osd: throttle evict ops (Yunchuan Wen)
  • osd: upgrades must pass through hammer (Sage Weil)
  • osd: use a temp object for recovery (Sage Weil)
  • osd: use blkid to collection partition information (Joseph Handzik)
  • osd: use SEEK_HOLE / SEEK_DATA for sparse copy (Xinxin Shu)
  • osd: WBThrottle cleanups (Jianpeng Ma)
  • osd: write journal header on clean shutdown (Xinze Chi)
  • osdc/Objecter: allow per-pool calls to op_cancel_writes (John Spray)
  • os/filestore: enlarge getxattr buffer size (Jianpeng Ma)
  • pybind: pep8 cleanups (Danny Al-Gaaf)
  • pycephfs: many fixes for bindings (Haomai Wang)
  • qa: fix filelock_interrupt.py test (Yan, Zheng)
  • qa: improve ceph-disk tests (Loic Dachary)
  • qa: improve docker build layers (Loic Dachary)
  • qa: run-make-check.sh script (Loic Dachary)
  • rados: add –striper option to use libradosstriper (#10759 Sebastien Ponce)
  • rados: bench: add –no-verify option to improve performance (Piotr Dalek)
  • rados bench: misc fixes (Dmitry Yatsushkevich)
  • rados: fix error message on failed pool removal (Wido den Hollander)
  • radosgw-admin: add ‘bucket check’ function to repair bucket index (Yehuda Sadeh)
  • radosgw-admin: fix subuser modify output (#12286 Guce)
  • rados: handle –snapid arg properly (Abhishek Lekshmanan)
  • rados: improve bench buffer handling, performance (Piotr Dalek)
  • rados: misc bench fixes (Dmitry Yatsushkevich)
  • rados: new pool import implementation (John Spray)
  • rados: translate errno to string in CLI (#10877 Kefu Chai)
  • rbd: accept map options config option (Ilya Dryomov)
  • rbd: add disk usage tool (#7746 Jason Dillaman)
  • rbd: allow unmapping by spec (Ilya Dryomov)
  • rbd: cli: fix arg parsing with –io-pattern (Dmitry Yatsushkevich)
  • rbd: deprecate –new-format option (Jason Dillman)
  • rbd: fix error messages (#2862 Rajesh Nambiar)
  • rbd: fix link issues (Jason Dillaman)
  • rbd: improve CLI arg parsing, usage (Ilya Dryomov)
  • rbd: rbd-replay-prep and rbd-replay improvements (Jason Dillaman)
  • rbd: recognize queue_depth kernel option (Ilya Dryomov)
  • rbd: support G and T units for CLI (Abhishek Lekshmanan)
  • rbd: update rbd man page (Ilya Dryomov)
  • rbd: update xfstests tests (Douglas Fuller)
  • rbd: use image-spec and snap-spec in help (Vikhyat Umrao, Ilya Dryomov)
  • rest-bench: misc fixes (Shawn Chen)
  • rest-bench: support https (#3968 Yuan Zhou)
  • rgw: add max multipart upload parts (#12146 Abshishek Dixit)
  • rgw: add missing headers to Swift container details (#10666 Ahmad Faheem, Dmytro Iurchenko)
  • rgw: add stats to headers for account GET (#10684 Yuan Zhou)
  • rgw: add Trasnaction-Id to response (Abhishek Dixit)
  • rgw: add X-Timestamp for Swift containers (#10938 Radoslaw Zarzynski)
  • rgw: always check if token is expired (#11367 Anton Aksola, Riku Lehto)
  • rgw: conversion tool to repair broken multipart objects (#12079 Yehuda Sadeh)
  • rgw: document layout of pools and objects (Pete Zaitcev)
  • rgw: do not enclose bucket header in quotes (#11860 Wido den Hollander)
  • rgw: do not prefetch data for HEAD requests (Guang Yang)
  • rgw: do not preserve ACLs when copying object (#12370 Yehuda Sadeh)
  • rgw: do not set content-type if length is 0 (#11091 Orit Wasserman)
  • rgw: don’t clobber bucket/object owner when setting ACLs (#10978 Yehuda Sadeh)
  • rgw: don’t use end_marker for namespaced object listing (#11437 Yehuda Sadeh)
  • rgw: don’t use rgw_socket_path if frontend is configured (#11160 Yehuda Sadeh)
  • rgw: enforce Content-Length for POST on Swift cont/obj (#10661 Radoslaw Zarzynski)
  • rgw: error out if frontend did not send all data (#11851 Yehuda Sadeh)
  • rgw: expose the number of unhealthy workers through admin socket (Guang Yang)
  • rgw: fail if parts not specified on multipart upload (#11435 Yehuda Sadeh)
  • rgw: fix assignment of copy obj attributes (#11563 Yehuda Sadeh)
  • rgw: fix broken stats in container listing (#11285 Radoslaw Zarzynski)
  • rgw: fix bug in domain/subdomain splitting (Robin H. Johnson)
  • rgw: fix casing of Content-Type header (Robin H. Johnson)
  • rgw: fix civetweb max threads (#10243 Yehuda Sadeh)
  • rgw: fix Connection: header handling (#12298 Wido den Hollander)
  • rgw: fix copy metadata, support X-Copied-From for swift (#10663 Radoslaw Zarzynski)
  • rgw: fix data corruptions race condition (#11749 Wuxingyi)
  • rgw: fix decoding of X-Object-Manifest from GET on Swift DLO (Radslow Rzarzynski)
  • rgw: fix GET on swift account when limit == 0 (#10683 Radoslaw Zarzynski)
  • rgw: fix handling empty metadata items on Swift container (#11088 Radoslaw Zarzynski)
  • rgw: fix JSON response when getting user quota (#12117 Wuxingyi)
  • rgw: fix locator for objects starting with _ (#11442 Yehuda Sadeh)
  • rgw: fix log rotation (Wuxingyi)
  • rgw: fix mulitipart upload in retry path (#11604 Yehuda Sadeh)
  • rgw: fix quota enforcement on POST (#11323 Sergey Arkhipov)
  • rgw: fix reset_loc (#11974 Yehuda Sadeh)
  • rgw: fix return code on missing upload (#11436 Yehuda Sadeh)
  • rgw: fix sysvinit script
  • rgw: fix sysvinit script w/ multiple instances (Sage Weil, Pavan Rallabhandi)
  • rgw: force content_type for swift bucket stats requests (#12095 Orit Wasserman)
  • rgw: force content type header on responses with no body (#11438 Orit Wasserman)
  • rgw: generate Date header for civetweb (#10873 Radoslaw Zarzynski)
  • rgw: generate new object tag when setting attrs (#11256 Yehuda Sadeh)
  • rgw: improve content-length env var handling (#11419 Robin H. Johnson)
  • rgw: improved support for swift account metadata (Radoslaw Zarzynski)
  • rgw: improve handling of already removed buckets in expirer (Radoslaw Rzarzynski)
  • rgw: issue aio for first chunk before flush cached data (#11322 Guang Yang)
  • rgw: log to /var/log/ceph instead of /var/log/radosgw
  • rgw: make init script wait for radosgw to stop (#11140 Dmitry Yatsushkevich)
  • rgw: make max put size configurable (#6999 Yuan Zhou)
  • rgw: make quota/gc threads configurable (#11047 Guang Yang)
  • rgw: make read user buckets backward compat (#10683 Radoslaw Zarzynski)
  • rgw: merge manifests properly with prefix override (#11622 Yehuda Sadeh)
  • rgw: only scan for objects not in a namespace (#11984 Yehuda Sadeh)
  • rgw: orphan detection tool (Yehuda Sadeh)
  • rgw: pass in civetweb configurables (#10907 Yehuda Sadeh)
  • rgw: rectify 202 Accepted in PUT response (#11148 Radoslaw Zarzynski)
  • rgw: remove meta file after deleting bucket (#11149 Orit Wasserman)
  • rgw: remove trailing :port from HTTP_HOST header (Sage Weil)
  • rgw: return 412 on bad limit when listing buckets (#11613 Yehuda Sadeh)
  • rgw: rework X-Trans-Id header to conform with Swift API (Radoslaw Rzarzynski)
  • rgw: s3 encoding-type for get bucket (Jeff Weber)
  • rgw: send ETag, Last-Modified for swift (#11087 Radoslaw Zarzynski)
  • rgw: set content length on container GET, PUT, DELETE, HEAD (#10971, #11036 Radoslaw Zarzynski)
  • rgw: set max buckets per user in ceph.conf (Vikhyat Umrao)
  • rgw: shard work over multiple librados instances (Pavan Rallabhandi)
  • rgw: support end marker on swift container GET (#10682 Radoslaw Zarzynski)
  • rgw: support for Swift expiration API (Radoslaw Rzarzynski, Yehuda Sadeh)
  • rgw: swift: allow setting attributes with COPY (#10662 Ahmad Faheem, Dmytro Iurchenko)
  • rgw: swift: do not override sent content type (#12363 Orit Wasserman)
  • rgw: swift: enforce Content-Type in response (#12157 Radoslaw Zarzynski)
  • rgw: swift: fix account listing (#11501 Radoslaw Zarzynski)
  • rgw: swift: fix metadata handling on copy (#10645 Radoslaw Zarzynski)
  • rgw: swift: send Last-Modified header (#10650 Radoslaw Zarzynski)
  • rgw: swift: set Content-Length for account GET (#12158 Radoslav Zarzynski)
  • rgw: swift: set content-length on keystone tokens (#11473 Herv Rousseau)
  • rgw: update keystone cache with token info (#11125 Yehuda Sadeh)
  • rgw: update to latest civetweb, enable config for IPv6 (#10965 Yehuda Sadeh)
  • rgw: use attrs from source bucket on copy (#11639 Javier M. Mellid)
  • rgw: use correct oid for gc chains (#11447 Yehuda Sadeh)
  • rgw: user rm is idempotent (Orit Wasserman)
  • rgw: use unique request id for civetweb (#10295 Orit Wasserman)
  • rocksdb: add perf counters for get/put latency (Xinxin Shu)
  • rocksdb, leveldb: fix compact_on_mount (Xiaoxi Chen)
  • rocksdb: pass options as single string (Xiaoxi Chen)
  • rocksdb: update to latest (Xiaoxi Chen)
  • rpm: add suse firewall files (Tim Serong)
  • rpm: always rebuild and install man pages for rpm (Owen Synge)
  • rpm: loosen ceph-test dependencies (Ken Dreyer)
  • rpm: many spec file fixes (Owen Synge, Ken Dreyer)
  • rpm: misc fixes (Boris Ranto, Owen Synge, Ken Dreyer, Ira Cooper)
  • rpm: misc systemd and SUSE fixes (Owen Synge, Nathan Cutler)
  • selinux policy (Boris Ranto, Milan Broz)
  • systemd: logrotate fixes (Tim Serong, Lars Marowsky-Bree, Nathan Cutler)
  • systemd: many fixes (Sage Weil, Owen Synge, Boris Ranto, Dan van der Ster)
  • systemd: run daemons as user ceph
  • sysvinit compat: misc fixes (Owen Synge)
  • test: misc fs test improvements (John Spray, Loic Dachary)
  • test: python tests, linter cleanup (Alfredo Deza)
  • tests: fixes for rbd xstests (Douglas Fuller)
  • tests: fix tiering health checks (Loic Dachary)
  • tests for low-level performance (Haomai Wang)
  • tests: many ec non-regression improvements (Loic Dachary)
  • tests: many many ec test improvements (Loic Dachary)
  • upstart: throttle restarts (#11798 Sage Weil, Greg Farnum)

v10.1.2 Jewel (release candidate)

This is the third (and likely final) release candidate for Jewel.

Notable Changes since v10.1.1

  • rgw: Jewel nfs fixes 3 (pr#8460, Matt Benjamin)
  • osd/PG: set epoch_created and parent_split_bits for child pg (issue#15426, pr#8552, Kefu Chai)
  • rgw: signature mismatch with escaped characters in url query portion (issue#15358, pr#8445, Javier M. Mellid)
  • authtool: update –help and manpage to match code. (pr#8456, Robin H. Johnson)
  • build: Respect TMPDIR for virtualenv. (pr#8457, Robin H. Johnson)
  • ceph-disk: do not always fail when re-using a partition (pr#8508, You Ji)
  • ceph-fuse: rotate log file (pr#8485, Sage Weil)
  • ceph-rest-api: fix fs/flag/set (pr#8428, Sage Weil)
  • check-generated.sh: can’t source bash from sh (pr#8521, Michal Jarzabek)
  • common: buffer: put a guard for stat() syscall during read_file (pr#7956, xie xingguo)
  • common: fix time_t cast in decode (issue#15330, pr#8419, Adam C. Emerson)
  • crush: fix typo (pr#8518, Wei Jin)
  • doc: rgw admin uses “region list” not “regions list” (pr#8517, Kris Jurka)
  • journal: fix final result for JournalTrimmer::C_RemoveSet (pr#8516, runsisi)
  • journal: fix race condition between Future and journal shutdown (issue#15364, pr#8477, Jason Dillaman)
  • librados: Revert “rados: Add new field flags for ceph_osd_op.copy_get.” (pr#8486, Sage Weil)
  • librbd: disallow unsafe rbd_op_threads values (issue#15034, pr#8459, Josh Durgin)
  • mailmap update (pr#8522, M Ranga Swami Reddy)
  • mds: Add cmapv to ESessions default constructor initializer list (pr#8403, John Coyle)
  • mds: fix file_layout_t legacy encoding snafu (pr#8455, Sage Weil)
  • mds: Protect a number of unstable/experimental features behind durable flags (pr#8383, Greg Farnum)
  • mds: Extend the existing pool access checking to include specific RADOS namespacse. (pr#8444, Yan, Zheng)
  • os/ObjectStore: make device uuid probe output something friendly (pr#8418, Sage Weil)
  • os/bluestore: revamp BlueFS bdev management and add perfcounters (issue#15376, pr#8431, Sage Weil)
  • os/filestore: force lfn attrs to be written atomically, restructure name length limits (pr#8496, Samuel Just)
  • osd/ReplicatedPG::_rollback_to: update the OMAP flag (issue#14777, pr#8495, Samuel Just)
  • osd: clean up temp object if copy-from fails (pr#8487, Sage Weil)
  • osd: fix two scrub relevant issues (pr#8462, xie xingguo)
  • osd: fix/clean up full map request handling (pr#8446, Sage Weil)
  • osdc/Objecter: fix narrow race with tid assignment (issue#14364, pr#7981, Sage Weil)
  • radosgw-admin: allow (pr#8529, Orit Wasserman)
  • rbd-mirror: workaround for intermingled lockdep singletons (pr#8476, Jason Dillaman)
  • rbd: journal reset should disable/re-enable journaling feature (issue#15097, pr#8490, Jason Dillaman)
  • rgw-admin: remove unused iterator and fix error message (pr#8507, Karol Mroz)
  • rgw: aws4 subdomain calling bugfix (issue#15369, pr#8472, Javier M. Mellid)
  • rgw: fix a typo in error message (pr#8434, Abhishek Lekshmanan)
  • rgw: fix problem deleting objects begining with double underscores (issue#15318, pr#8488, Orit Wasserman)
  • rgw: retry RGWRemoteMetaLog::read_log_info() while master is down (pr#8453, Casey Bodley)
  • rgw: the map ‘headers’ is assigned a wrong value (pr#8481, weiqiaomiao)
  • rgw_ldap: make ldap.h inclusion conditional (pr#8500, Matt Benjamin)
  • systemd: drop any systemd imposed process/thread limits (pr#8450, James Page)
  • test: fix ut test failure caused by lfn change (issue#15464, pr#8544, xie xingguo)
  • test: fix valgrind memcheck issues for rbd-mirror test cases (issue#15354, pr#8493, Jason Dillaman)
  • tests: add Ubuntu 16.04 xenial dockerfile (pr#8519, Loic Dachary)

v10.1.1 Jewel (release candidate)

This is the first release build that includes arm64/aarch64 packages for Ubuntu Xenial 16.04.

Know issues with this release candidate

There are a few known issues to watch out for:

  • Old CephFS clusters will mangle the layouts with this release; the fix was committed just after it was cut. Wait for the next RC or the release if you’re upgrading a cluster that has a CephFS data pool as pool 0.
  • The upstart ceph-mds-all.conf file is missing.

Notable Changes since v10.1.0

  • Adding documentation on how to use new dynamic throttle scheme (pr#8069, Somnath Roy)
  • Be more careful about directory fragmentation and scrubbing (issue#15167, pr#8180, Yan, Zheng)
  • CMake: For CMake version <= 2.8.11, use LINK_PRIVATE (pr#8422, Haomai Wang)
  • Makefile-env.am: set a default for CEPH_BUILD_VIRTUALENV (part 2) (pr#8320, Loic Dachary)
  • Minor fixes around data scan in some scenarios (pr#8115, Yan, Zheng)
  • PG: pg down state blocked by osd.x, lost osd.x cannot solve peering stuck (issue#13531, pr#6317, Xiaowei Chen)
  • osd/PG: indicate in pg query output whether ignore_history_les would help (pr#8156, Sage Weil)
  • Striper: reduce assemble_result log level (pr#8426, Jason Dillaman)
  • Test exit values on test.sh, fix tier.cc (issue#15165, pr#8266, Samuel Just)
  • ceph.in: correct dev python path for automake builds (pr#8360, Josh Durgin)
  • osd/OSD: fix build_past_intervals_parallel (pr#8215, David Zafman)
  • rgw: sync fixes 4 (pr#8190, Yehuda Sadeh)
  • [rgw] Check return code in RGWFileHandle::write (pr#7875, Brad Hubbard)
  • build: fix compiling warnings (pr#8366, Dongsheng Yang)
  • ceph-detect-init/run-tox.sh: FreeBSD: No init detect (pr#8373, Willem Jan Withagen)
  • ceph.in: fix python libpath for automake as well (pr#8362, Josh Durgin)
  • ceph: bash auto complete for CLI based on mon command descriptions (pr#7693, Adam Kupczyk)
  • cls_journal: fix -EEXIST checking (pr#8413, runsisi)
  • cls_rbd: fix -EEXIST checking in cls::rbd::image_set (pr#8371, runsisi)
  • cls_rbd: mirror_image_list should return global image id (pr#8297, Jason Dillaman)
  • cls_rbd: pass WILLNEED fadvise flags during object map update (issue#15332, pr#8380, Jason Dillaman)
  • cls_rbd: read_peers: update last_read on next cls_cxx_map_get_vals (pr#8374, Mykola Golub)
  • cmake: Build cython modules and change paths to bin/, lib/ (pr#8351, John Spray, Ali Maredia)
  • cmake: add FindOpenSSL.cmake (pr#8106, Marcus Watts, Matt Benjamin)
  • cmake: add StandardPolicy.cc to librbd (pr#8368, Kefu Chai)
  • cmake: add missing librbd/MirrorWatcher.cc and librd/ObjectWatcher.cc (pr#8399, Orit Wasserman)
  • cmake: fix mrun to handle cmake build structure (pr#8237, Orit Wasserman)
  • cmake: fix the build of test_rados_api_list (pr#8438, Kefu Chai)
  • common: fix race during optracker switches between enabled/disabled mode (pr#8330, xie xingguo)
  • config_opts: disable filestore throttle soft backoff by default (pr#8265, Samuel Just)
  • configure: Add -D_LARGEFILE64_SOURCE to Linux build. (pr#8402, Ira Cooper)
  • crush: fix error log (pr#8430, Wei Jin)
  • crushtool: Don’t crash when called on a file that isn’t a crushmap (issue#8286, pr#8038, Brad Hubbard)
  • debian/rules: put init-ceph in /etc/init.d/ceph, not ceph-base (issue#15329, pr#8406, Dan Mick)
  • doc/dev: add “Deploy a cluster for manual testing” section (issue#15218, pr#8228, Nathan Cutler)
  • doc/rados/operations/crush: fix the formatting (pr#8306, Kefu Chai)
  • doc/release-notes: fix indents (pr#8345, Kefu Chai)
  • doc: Fixes headline different font size and type (pr#8328, scienceluo)
  • doc: Remove Ceph Monitors do lots of fsync() (issue#15288, pr#8327, Vikhyat Umrao)
  • doc: Updated CloudStack RBD documentation (pr#8308, Wido den Hollander)
  • doc: amend Fixes instructions in SubmittingPatches (pr#8312, Nathan Cutler)
  • doc: draft notes for jewel (pr#8211, Loic Dachary, Sage Weil)
  • doc: fix typo, duplicated content etc. for Jewel release notes (pr#8342, xie xingguo)
  • doc: fix wrong type of hyphen (pr#8252, xie xingguo)
  • doc: rgw_region_root_pool option should be in [global] (issue#15244, pr#8271, Vikhyat Umrao)
  • doc: very basic doc on mstart (pr#8207, Abhishek Lekshmanan)
  • global/global_init: expand metavariables in setuser_match_path (issue#15365, pr#8433, Sage Weil)
  • global/signal_handler: print thread name in signal handler (pr#8177, Jianpeng Ma)
  • libcephfs: fix python tests and fix getcwd on missing dir (pr#7901, John Spray)
  • librbd: avoid throwing error if mirroring is unsupported (pr#8417, Jason Dillaman)
  • librbd: disable image mirroring when image is removed (issue#15265, pr#8375, Ricardo Dias)
  • librbd: send notifications for mirroring status updates (pr#8355, Jason Dillaman)
  • mailmap updates (pr#8256, Loic Dachary)
  • makefile: fix rbdmap manpage (pr#8310, Kefu Chai)
  • mds: allow client to request caps when opening file (issue#14360, pr#7952, Yan, Zheng)
  • messages/MOSDOp: clear reqid inc for v6 encoding (issue#15230, pr#8299, Sage Weil)
  • mon/MonClient: fix shutdown race (issue#13992, pr#8335, Sage Weil)
  • mon: do not send useless pg_create messages for split pgs (pr#8247, Sage Weil)
  • mon: mark_down_pgs in lockstep with pg_map’s osdmap epoch (pr#8208, Sage Weil)
  • mon: remove remove_legacy_versions() (pr#8324, Kefu Chai)
  • mon: remove unnecessary comment for update_from_paxos (pr#8400, Qinghua Jin)
  • mon: remove unused variable (issue#15292, pr#8337, Javier M. Mellid)
  • mon: show the pool quota info on ceph df detail command (issue#14216, pr#7094, song baisen)
  • monclient: avoid key renew storm on clock skew (issue#12065, pr#8258, Alexey Sheplyakov)
  • mrun: update path to cmake binaries (pr#8447, Casey Bodley)
  • msg/async: avoid log spam on throttle (issue#15031, pr#8263, Kefu Chai)
  • msg/async: remove experiment feature (pr#7820, Haomai Wang)
  • os/ObjectStore: add noexcept to ensure move ctor is used (pr#8421, Kefu Chai)
  • os/ObjectStore: fix _update_op for split dest_cid (pr#8364, Sage Weil)
  • os/ObjectStore: try_move_rename in transaction append and add coverage to store_test (issue#15205, pr#8359, Samuel Just)
  • os/bluestore: a few fixes (pr#8193, Sage Weil)
  • os/bluestore: ceph-bluefs-tool fixes (issue#15261, pr#8292, Venky Shankar)
  • osd/ClassHandler: only dlclose() the classes not missing (pr#8354, Kefu Chai)
  • osd/OSD.cc: finish full_map_request every MOSDMap message. (issue#15130, pr#8147, Xiaoxi Chen)
  • osd: add ‘proxy’ cache mode (issue#12814, pr#8210, Sage Weil)
  • osd: add the support of per pool scrub priority (pr#7062, Zhiqiang Wang)
  • osd: bail out of _committed_osd_maps if we are shutting down (pr#8267, Samuel Just)
  • osd: duplicated clear for peer_missing (pr#8315, Ning Yao)
  • osd: fix bugs for omap ops (pr#8230, Jianpeng Ma)
  • osd: fix dirtying info without correctly setting drity_info field (pr#8275, xie xingguo)
  • osd: fix dump_ops_in_flight races (issue#8885, pr#8044, David Zafman)
  • osd: fix epoch check in handle_pg_create (pr#8382, Samuel Just)
  • osd: fix failure report handling during ms_handle_connect() (pr#8348, xie xingguo)
  • osd: fix log info (pr#8273, Wei Jin)
  • osd: fix reference count, rare race condition etc. (pr#8254, xie xingguo)
  • osd: fix tick relevant issues (pr#8369, xie xingguo)
  • osd: more fixes for incorrectly dirtying info; resend reply for duplicated scrub-reserve req (pr#8291, xie xingguo)
  • osdc/Objecter: dout log after assign tid (pr#8202, Xinze Chi)
  • osdc/Objecter: use full pgid hash in PGNLS ops (pr#8378, Sage Weil)
  • osdmap: rm nonused variable (pr#8423, Wei Jin)
  • pybind/Makefile.am: Prevent race creating CYTHON_BUILD_DIR (issue#15276, pr#8356, Dan Mick)
  • pybind/rados: python3 fix (pr#8331, Mehdi Abaakouk)
  • pybind: add flock to libcephfs python bindings (pr#7902, John Spray)
  • qa: update rest test cephfs calls (issue#15309, pr#8372, John Spray)
  • qa: update rest test cephfs calls (part 2) (issue#15309, pr#8393, John Spray)
  • radosgw-admin: ‘period commit’ supplies user-readable error messages (pr#8264, Casey Bodley)
  • radosgw-admin: fix for ‘realm pull’ (pr#8404, Casey Bodley)
  • rbd-mirror: asok commands to get status and flush on Mirror and Replayer level (pr#8235, Mykola Golub)
  • rbd-mirror: enabling/disabling pool mirroring should update the mirroring directory (issue#15217, pr#8261, Ricardo Dias)
  • rbd-mirror: fix missing increment for iterators (pr#8352, runsisi)
  • rbd-mirror: initial failover / failback support (pr#8287, Jason Dillaman)
  • rbd-mirror: prevent enabling/disabling an image’s mirroring when not in image mode (issue#15267, pr#8332, Ricardo Dias)
  • rbd-mirror: switch fsid over to mirror uuid (issue#15238, pr#8280, Ricardo Dias)
  • rbd: allow librados to prune the command-line for config overrides (issue#15250, pr#8282, Jason Dillaman)
  • rbdmap: add manpage (issue#15212, pr#8224, Nathan Cutler)
  • releases: what is merged where and when ? (pr#8358, Loic Dachary)
  • rgw/rgw_admin:fix bug about list and stats command (pr#8200, Qiankun Zheng)
  • rgw: Do not send a Content-Type on a ‘304 Not Modified’ response (issue#15119, pr#8253, Wido den Hollander)
  • rgw: Multipart ListPartsResult ETag quotes (issue#15334, pr#8387, Robin H. Johnson)
  • rgw: S3: set EncodingType in ListBucketResult (pr#7712, Victor Makarov)
  • rgw: accept data only at the first time in response to a request (pr#8084, sunspot)
  • rgw: add a few more help options in admin interface (pr#8410, Abhishek Lekshmanan)
  • rgw: add zone delete to rgw-admin help (pr#8184, Abhishek Lekshmanan)
  • rgw: convert plain object to versioned (with null version) when removing (issue#15243, pr#8268, Yehuda Sadeh)
  • rgw: fix compiling error (pr#8394, xie xingguo)
  • rgw: fix lockdep false positive (pr#8284, Yehuda Sadeh)
  • rgw:Use count fn in RGWUserBuckets for quota check (pr#8294, Abhishek Lekshmanan)
  • rgw_admin: remove unused parent_period arg (pr#8411, Abhishek Lekshmanan)
  • rgw_file: set owner uid, gid, and Unix mode on new objects (pr#8321, Matt Benjamin)
  • rpm: prefer UID/GID 167 when creating ceph user/group (issue#15246, pr#8277, Nathan Cutler)
  • script: subscription-manager support (issue#14972, pr#7907, Loic Dachary)
  • set 128MB tcmalloc cache size by bytes (pr#8427, Star Guo)
  • systemd: set up environment in rbdmap unit file (issue#14984, pr#8222, Nathan Cutler)
  • test/system/*: use dynamically generated pool name (issue#15240, pr#8318, Kefu Chai)
  • test/system/rados_list_parallel: print oid if rados_write fails (issue#15240, pr#8309, Kefu Chai)
  • test/test-erasure-code.sh: disable pg_temp priming (issue#15211, pr#8260, Sage Weil)
  • test/test_pool_create.sh: fix port (pr#8361, Sage Weil)
  • test: Fix test to run with btrfs which has snap_### dirs (issue#15347, pr#8420, David Zafman)
  • test: TestMirroringWatcher test cases were not closing images (pr#8435, Jason Dillaman)
  • test: rbd-mirror: script improvements for manual testing (pr#8325, Mykola Golub)
  • tests: Fixing broken test/cephtool-test-mon.sh test (pr#8429, Erwan Velu)
  • tests: Improving ‘make check’ execution time (pr#8131, Erwan Velu)
  • unittest_erasure_code_plugin: fix deadlock (Alpine) (pr#8314, John Coyle)
  • vstart: fix up cmake paths when VSTART_DEST is given (pr#8363, Casey Bodley)
  • vstart: make -k with optional mon_num. (pr#8251, Jianpeng Ma)
  • xio: add prefix to xio msgr logs (pr#8148, Roi Dayan)
  • xio: fix compilation against latest accelio (pr#8022, Roi Dayan)
  • xio: xio_init needs to be called before any other xio function (pr#8227, Roi Dayan)
  • ceph.spec.in: disable lttng and babeltrace explicitly (issue#14844, pr#7857, Kefu Chai)

v10.1.0 Jewel (release candidate)

There are a few known issues with this release candidate; see below.

Known Issues with v10.1.0

  • While running a mixed version cluster of jewel and infernalis or hammer monitors, any MDSMap updates will cause the pre-jewel monitors to crash. Workaround is to simply upgrde all monitors. There is a fix but it is still being tested.
  • Some of the rbd-mirror functionality for switching between active and replica images is not yet merged.

Notable Changes since v10.0.4

  • ceph.spec.in: do not install Ceph RA on systemd platforms (issue#14828, pr#7894, Nathan Cutler)
  • mdsa: A few more snapshot fixes, mostly around snapshotted inode/dentry tracking (pr#7798, Yan, Zheng)
  • AUTHORS: update email (pr#7854, Yehuda Sadeh)
  • ceph-disk: Add –setuser and –setgroup options for ceph-disk (pr#7351, Mike Shuey)
  • build: Adding build requires (pr#7742, Erwan Velu)
  • msg/async: AsyncMessenger: fix several bugs (pr#7831, Haomai Wang)
  • msg/async: AsyncMessenger: fix valgrind leak (pr#7725, Haomai Wang)
  • doc: Clarify usage on starting single osd/mds/mon. (pr#7641, Patrick Donnelly)
  • common: Deprecate or free up a bunch of feature bits (pr#8214, Samuel Just)
  • msg/async: Event: fix clock skew problem (pr#7949, Wei Jin)
  • osd: FileStore: Added O_DSYNC write scheme (pr#7752, Somnath Roy)
  • osd: FileStore: fix initialization order for m_disable_wbthrottle (pr#8067, Samuel Just)
  • build: Fixing BTRFS issue at ‘make check’ (pr#7805, Erwan Velu)
  • build: FreeBSD related fixes (pr#7170, Mykola Golub)
  • ceph-disk: Improving ‘make check’ for ceph-disk (pr#7762, Erwan Velu)
  • rgw: increase verbosity level on RGWObjManifest line (pr#7285, magicrobotmonkey)
  • build: workaround an automake bug for “make check” (issue#14723, pr#7626, Kefu Chai)
  • ceph-fuse,libcephfs: Fix client handling of “lost” open directories on shutdown (issue#14996, pr#7994, Yan, Zheng)
  • mds: Multi-filesystem support (issue#14952, pr#6953, John Spray, Sage Weil)
  • os/bluestore/NVMEDevice: refactor probe/attach codes and support zero command (pr#7647, Haomai Wang)
  • librados: detect laggy ops with objecter_timeout, not osd_timeout (pr#7629, Greg Farnum)
  • ceph.spec.in: fix openldap and openssl build dependencies for SUSE (issue#15138, pr#8120, Nathan Cutler)
  • osd: repop and lost-unfound overhaul (pr#7765, Samuel Just)
  • librbd: Revert “librbd: use task finisher per CephContext” (issue#14780, pr#7667, Josh Durgin)
  • rgw: Fix subuser harder with tenants (pr#7618, Pete Zaitcev)
  • rgw: ldap fixes (pr#8168, Matt Benjamin)
  • rgw: check the return value when call fe->run() (issue#14585, pr#7457, wei qiaomiao)
  • rgw: Revert “rgw ldap” (pr#8075, Yehuda Sadeh)
  • librados: Striper: Fix incorrect push_front -> append_zero change (pr#7578, Haomai Wang)
  • rgw: build-related fixes (pr#8076, Yehuda Sadeh, Matt Benjamin)
  • mirrors: Updated scripts and documentation for mirrors (pr#7847, Wido den Hollander)
  • misc: use make_shared while creating shared_ptr (pr#7769, Somnath Roy)
  • cmake (pr#7849, Ali Maredia)
  • mds: filelock deadlock (pr#7713, Yan, Zheng)
  • mds: fix fsmap decode (pr#8063, Greg Farnum)
  • rgw: fix mdlog (pr#8183, Orit Wasserman)
  • rgw: highres time stamps (pr#8108, Yehuda Sadeh, Adam C. Emerson, Matt Benjamin)
  • rgw: swift versioning disabled (pr#8066, Yehuda Sadeh, Radoslaw Zarzynski)
  • rgw: sync fixes 3 (pr#8170, Yehuda Sadeh)
  • msg/xio: fixes (pr#7603, Roi Dayan)
  • ceph-fuse,libcephfs: fix free fds being exhausted eventually because freed fds are never put back (issue#14798, pr#7685, Zhi Zhang)
  • rgw: RGWLib::env is not used so remove it (pr#7874, Brad Hubbard)
  • build: a few armhf (32-bit build) fixes (pr#7999, Eric Lee, Sage Weil)
  • osd: add scrub persist/query API (issue#13505, pr#6898, Kefu Chai, Samuel Just)
  • rgw: adds the radosgw-admin sync status command that gives a human readable status of the sync process at a specific zone (pr#8030, Yehuda Sadeh)
  • scripts: adjust mstart and mstop script to run with cmake build (pr#6920, Orit Wasserman)
  • buffer: add symmetry operator==() and operator!=() (pr#7974, Kefu Chai)
  • buffer: hide iterator_impl symbols (issue#14788, pr#7688, Kefu Chai)
  • buffer: increment history alloc as well in raw_combined (issue#14955, pr#7910, Samuel Just)
  • buffer: raw_combined allocations buffer and ref count together (pr#7612, Sage Weil)
  • ceph-detect-init: add debian/jessie test (pr#8074, Kefu Chai)
  • ceph-detect-init: add missing test case (pr#8105, Nathan Cutler)
  • ceph-detect-init: fix py3 test (pr#7243, Kefu Chai)
  • ceph-detect-init: return correct value on recent SUSE distros (issue#14770, pr#7909, Nathan Cutler)
  • ceph-disk: deactivate / destroy PATH arg are optional (pr#7756, Loic Dachary)
  • ceph-disk: fix prepare –help (pr#7758, Loic Dachary)
  • ceph-disk: flake8 fixes (pr#7646, Loic Dachary)
  • ceph-disk: key management support (issue#14669, pr#7552, Loic Dachary)
  • ceph-disk: make some arguments as required if necessary (pr#7687, Dongsheng Yang)
  • ceph-disk: s/dmcrpyt/dmcrypt/ (issue#14838, pr#7744, Loic Dachary, Frode Sandholtbraaten)
  • ceph-fuse: Fix potential filehandle ref leak at umount (issue#14800, pr#7686, Zhi Zhang)
  • ceph.in: Minor python3 specific changes (pr#7947, Sarthak Munshi)
  • ceph_daemon.py: Resolved ImportError to work with python3 (pr#7937, Sarthak Munshi)
  • ceph_detect_init/__init__.py: remove shebang (pr#7731, Nathan Cutler)
  • ceph_test_msgr: reduce test size to fix memory size (pr#8127, Haomai Wang)
  • ceph_test_rados_misc: shorten mount timeout (pr#8209, Sage Weil)
  • cleanup (pr#8058, Yehuda Sadeh, Orit Wasserman)
  • client: flush kernel pagecache before creating snapshot (issue#10436, pr#7495, Yan, Zheng)
  • client: removed unused Mutex from MetaRequest (pr#7655, Greg Farnum)
  • cls/rgw: fix FTBFS (pr#8142, Kefu Chai)
  • cls/rgw: fix use of timespan (issue#15181, pr#8212, Yehuda Sadeh)
  • cls_hello: Fix grammatical error in description comment (pr#7951, Brad Hubbard)
  • cls_rbd: fix the test for ceph-dencoder (pr#7793, Kefu Chai)
  • cls_rbd: mirroring directory (issue#14419, pr#7620, Josh Durgin)
  • cls_rbd: protect against excessively large object maps (issue#15121, pr#8099, Jason Dillaman)
  • cmake: Remove duplicate find_package libcurl line. (pr#7972, Brad Hubbard)
  • cmake: add ErasureCode.cc to jerasure plugins (pr#7808, Casey Bodley)
  • cmake: add common/fs_types.cc to libcommon (pr#7898, Orit Wasserman)
  • cmake: add missing librbd image_watcher sources (issue#14823, pr#7717, Casey Bodley)
  • cmake: avoid false-positive LDAP header detect (pr#8100, Matt Benjamin)
  • cmake: fix paths to various EC source files (pr#7748, Ali Maredia, Matt Benjamin)
  • cmake: fix the build of tests (pr#7523, Kefu Chai)
  • common/TrackedOp: fix inaccurate counting for slow requests (issue#14804, pr#7690, xie xingguo)
  • common/bit_vector: use hard-coded value for block size (issue#14747, pr#7610, Jason Dillaman)
  • common/obj_bencher.cc: bump the precision of bandwidth field (pr#8021, Piotr Dałek)
  • common/obj_bencher.cc: faster object name generation (pr#7863, Piotr Dałek)
  • common/obj_bencher.cc: make verify error fatal (issue#14971, pr#7897, Piotr Dałek)
  • common/page.cc: _page_mask has too many bits (pr#7588, Dan Mick)
  • common/strtol.cc: fix the coverity warnings (pr#7967, Kefu Chai)
  • common: Do not use non-portable constants in mutex_debug (pr#7766, Adam C. Emerson)
  • common: SubProcess: Avoid buffer corruption when calling err() (issue#15011, pr#8054, Erwan Velu)
  • common: default cluster name to config file prefix (pr#7364, Javen Wu)
  • common: set thread name from correct thread (pr#7845, Igor Podoski)
  • common: various fixes from SCA runs (pr#7680, Danny Al-Gaaf)
  • config: fix osd_crush_initial_weight (pr#7975, You Ji)
  • config: increase default async op threads (pr#7802, Piotr Dałek)
  • configure.ac: boost_iostreams is required, not optional (pr#7816, Hector Martin)
  • configure.ac: update help strings for cython (pr#7856, Josh Durgin)
  • crush/CrushTester: workaround a bug in boost::icl (pr#7560, Kefu Chai)
  • crush: fix cli tests for new crush tunables (pr#8107, Sage Weil)
  • crush: update tunable docs. change default profile to jewel (pr#7964, Sage Weil)
  • debian/changelog: Remove stray ‘v’ in version (pr#7936, Dan Mick)
  • debian/changelog: Remove stray ‘v’ in version (pr#7938, Dan Mick)
  • debian: include cpio in build-requiers (pr#7533, Rémi BUISSON)
  • debian: package librgw_file* tests (pr#7930, Ken Dreyer)
  • doc/architecture.rst: remove redundant word “across” (pr#8179, Zhao Junwang)
  • doc/dev: add section on interrupting a running suite (pr#8116, Nathan Cutler)
  • doc/dev: continue writing Testing in the cloud chapter (pr#7960, Nathan Cutler)
  • doc/dev: integrate testing into the narrative (pr#7946, Nathan Cutler)
  • doc/dev: various refinements (pr#7954, Nathan Cutler)
  • doc/rados/api/librados-intro.rst: fix typo (pr#7879, xie xingguo)
  • doc: add ceph-detect-init(8) source to dist tarball (pr#7933, Ken Dreyer)
  • doc: add cinder backend section to rbd-openstack.rst (pr#7923, RustShen)
  • doc: detailed description of bugfixing workflow (pr#7941, Nathan Cutler)
  • doc: fix 0.94.4 and 0.94.5 ordering (pr#7763, Loic Dachary)
  • doc: fix typo, indention etc. (pr#7829, xie xingguo)
  • doc: initial draft of RBD mirroring admin documentation (issue#15041, pr#8169, Jason Dillaman)
  • doc: osd-config Add Configuration Options for op queue. (pr#7837, Robert LeBlanc)
  • doc: rgw explain keystone’s verify ssl switch (pr#7862, Abhishek Lekshmanan)
  • doc: small fixes (pr#7813, xiexingguo)
  • doc: standardize @param (not @parma, @parmam, @params) (pr#7714, Nathan Cutler)
  • fix FTBFS introduced by d0af316 (pr#7792, Kefu Chai)
  • ghobject_t: use # instead of ! as a separator (pr#8055, Sage Weil)
  • include/encoding: do not try to be clever with list encoding (pr#7913, Sage Weil)
  • init-ceph.in: allow case-insensitive true in osd crush update on start’ (`pr#7943, Eric Cook)
  • init-ceph.in: skip ceph-disk if it is not present (issue#10587, pr#7286, Ken Dreyer)
  • journal: async methods to (un)register and update client (pr#7832, Mykola Golub)
  • journal: improve commit position tracking (pr#7776, Jason Dillaman)
  • journal: prevent race injecting new records into overflowed object (issue#15202, pr#8220, Jason Dillaman)
  • librados: cancel aio notification linger op upon completion (pr#8102, Jason Dillaman)
  • librados: check connection state in rados_monitor_log (issue#14499, pr#7350, David Disseldorp)
  • librados: do not clear handle for aio_watch() (pr#7771, xie xingguo)
  • librados: fix test failure with new aio watch/unwatch API (pr#7824, Jason Dillaman)
  • librados: implement async watch/unwatch (pr#7649, Haomai Wang)
  • librados: mix lock cycle (un)registering asok commands (pr#7581, John Spray)
  • librados: race condition on aio_notify completion handling (pr#7864, Jason Dillaman)
  • librados: stat2 with higher time precision (pr#7915, Yehuda Sadeh, Matt Benjamin)
  • librbd: allocate new journal tag after acquiring exclusive lock (pr#7884, Jason Dillaman)
  • librbd: block read requests until journal replayed (pr#7627, Jason Dillaman)
  • librbd: correct issues discovered via valgrind memcheck (pr#8132, Jason Dillaman)
  • librbd: differentiate journal replay flush vs shut down (pr#7698, Jason Dillaman)
  • librbd: enable/disable image mirroring automatically for pool mode (issue#15143, pr#8204, Ricardo Dias)
  • librbd: fix state machine race conditions during shut down (pr#7761, Jason Dillaman)
  • librbd: handle unregistering the image watcher when disconnected (pr#8094, Jason Dillaman)
  • librbd: integrate journal replay with fsx testing (pr#7583, Jason Dillaman)
  • librbd: journal replay needs to support re-executing maintenance ops (issue#14822, pr#7785, Jason Dillaman)
  • librbd: reduce mem copies to user-buffer during read (pr#7548, Jianpeng Ma)
  • librbd: refresh image if required before replaying journal ops (issue#14908, pr#7978, Jason Dillaman)
  • librbd: remove last synchronous librados calls from open/close state machine (pr#7839, Jason Dillaman)
  • librbd: replaying a journal op post-refresh requires locking (pr#8028, Jason Dillaman)
  • librbd: retrieve image name when opening by id (pr#7736, Mykola Golub)
  • librbd: several race conditions discovered under single CPU environment (pr#7653, Jason Dillaman)
  • librbd: truncate does not need to mark the object as existing in the object map (issue#14789, pr#7772, xinxin shu)
  • librbd: update of mirror pool mode and mirror peer handling (pr#7718, Jason Dillaman)
  • librbd: use async librados notifications (pr#7668, Jason Dillaman)
  • log: do not repeat errors to stderr (issue#14616, pr#7983, Sage Weil)
  • log: fix stack overflow when flushing large log lines (issue#14707, pr#7599, Igor Fedotov)
  • log: segv in a portable way (issue#14856, pr#7790, Kefu Chai)
  • log: use delete[] (pr#7904, Sage Weil)
  • mailmap for 10.0.4 (pr#7932, Abhishek Lekshmanan)
  • mailmap updates (pr#7528, Yann Dupont)
  • man/8/ceph-disk: fix formatting issue (pr#8012, Sage Weil)
  • man/8/ceph-disk: fix formatting issue (pr#8003, Sage Weil)
  • mds, client: add namespace to file_layout_t (previously ceph_file_layout) (pr#7098, Yan, Zheng, Sage Weil)
  • mds: don’t double-shutdown the timer when suiciding (issue#14697, pr#7616, Greg Farnum)
  • mds: fix FSMap upgrade with daemons in the map (pr#8073, John Spray, Greg Farnum)
  • mds: fix inode_t::compare() (issue#15038, pr#8014, Yan, Zheng)
  • mds: fix stray purging in ‘stripe_count > 1’ case (issue#15050, pr#8040, Yan, Zheng)
  • mds: function parameter ‘df’ should be passed by reference (pr#7490, Na Xie)
  • mirrors: Change contact e-mail address for se.ceph.com (pr#8007, Wido den Hollander)
  • mon/PGMonitor: reliably mark PGs state (pr#8089, Sage Weil)
  • mon/monitor: some clean up (pr#7520, huanwen ren)
  • mon/pgmonitor: use appropriate forced conversions in get_rule_avail (pr#7705, huanwen ren)
  • mon: cleanup set-quota error msg (pr#7371, Abhishek Lekshmanan)
  • mon: consider pool size when creating pool (issue#14509, pr#7359, songbaisen)
  • mon: enable ‘mon osd prime pg temp’ by default (pr#7838, Robert LeBlanc)
  • mon: fix calculation of %USED (pr#7881, Adam Kupczyk)
  • mon: fix keyring permissions (issue#14950, pr#7880, Owen Synge)
  • mon: initialize last_* timestamps on new pgs to creation time (issue#14952, pr#7980, Sage Weil)
  • mon: make clock skew checks sane (issue#14175, pr#7141, Joao Eduardo Luis)
  • mon: osd [test-]reweight-by-{pg,utilization} command updates (pr#7890, Dan van der Ster, Sage Weil)
  • mon: remove ‘mds setmap’ (issue#15136, pr#8121, Sage Weil)
  • mon: standardize Ceph removal commands (pr#7939, Dongsheng Yang)
  • mon: unconfuse object count skew message (pr#7882, Piotr Dałek)
  • mon: unregister command on shutdown (pr#7504, huanwen ren)
  • mount.fuse.ceph: better parsing of arguments passed to mount.fuse.ceph by mount command (issue#14735, pr#7607, Florent Bautista)
  • msg/async: _try_send trim already sent for outcoming_bl more efficient (pr#7970, Yan Jun)
  • msg/async: don’t calculate msg header crc when not needed (pr#7815, Piotr Dałek)
  • msg/async: smarter MSG_MORE (pr#7625, Piotr Dałek)
  • msg: add thread safety for “random” Messenger + fix wrong usage of random functions (pr#7650, Avner BenHanoch)
  • msg: async: fix perf counter description and simplify _send_keepalive_or_ack (pr#8046, xie xingguo)
  • msg: async: small cleanups (pr#7871, xie xingguo)
  • msg: async: start over after failing to bind a port in specified range (issue#14928, issue#13002, pr#7852, xie xingguo)
  • msg: remove duplicated code - local_delivery will now call ‘enqueue’ (pr#7948, Avner BenHanoch)
  • msg: significantly reduce minimal memory usage of connections (pr#7567, Piotr Dałek)
  • mstart: start rgw on different ports as well (pr#8167, Abhishek Lekshmanan)
  • nfs for rgw (Matt Benjamin, Orit Wasserman) (pr#7634, Yehuda Sadeh, Matt Benjamin)
  • os/ObjectStore: implement more efficient get_encoded_bytes() (pr#7775, Piotr Dałek)
  • os/bluestore/BlueFS: Before reap ioct, it should wait io complete (pr#8178, Jianpeng Ma)
  • os/bluestore/BlueStore: Don’t leak trim overlay data before write. (pr#7895, Jianpeng Ma)
  • os/bluestore/KernelDevice: force block size (pr#8006, Sage Weil)
  • os/bluestore/NVMEDevice: make IO thread using dpdk launch (pr#8160, Haomai Wang)
  • os/bluestore: clone overlay data (pr#7860, Jianpeng Ma)
  • os/bluestore: fix a typo in SPDK path parsing (pr#7601, Jianjian Huo)
  • os/bluestore: make bluestore_sync_transaction = true can work. (pr#7674, Jianpeng Ma)
  • os/bluestore: small fixes in bluestore StupidAllocator (pr#8101, Jianjian Huo)
  • os/filestore/FileJournal: set block size via config option (pr#7628, Sage Weil)
  • os/filestore: fix punch hole usage in _zero (pr#8050, Sage Weil)
  • os/filestore: fix result handling logic of destroy_collection (pr#7721, xie xingguo)
  • os/filestore: require offset == length == 0 for full object read; add test (pr#7957, Jianpeng Ma)
  • osd/OSDMap: fix typo in summarize_mapping_stats (pr#8088, Sage Weil)
  • osd/PGLog: fix warning (pr#8057, Sage Weil)
  • osd/ReplicatedPG: be more careful about calling publish_stats_to_osd() (issue#14962, pr#8039, Greg Farnum)
  • osd/ReplicatedPG: clear watches on change after applying repops (issue#15151, pr#8163, Sage Weil)
  • osd/ScrubStore: remove unused function (pr#8045, Kefu Chai)
  • osd: BlueStore/NVMEDevice: fix compiling and fd leak (pr#7496, xie xingguo)
  • osd: FileStore: use pwritev instead of lseek+writev (pr#7349, Haomai Wang, Tao Chang)
  • osd: OSDMap: reset osd_primary_affinity shared_ptr when deepish_copy_from (issue#14686, pr#7553, Xinze Chi)
  • osd: Replace snprintf with faster implementation in eversion_t::get_key_name (pr#7121, Evgeniy Firsov)
  • osd: WeightedPriorityQueue: move to intrusive containers (pr#7654, Robert LeBlanc)
  • osd: a fix for HeartbeatDispatcher and cleanups (pr#7550, Kefu Chai)
  • osd: add missing newline to usage message (pr#7613, Willem Jan Withagen)
  • osd: avoid FORCE updating digest been overwritten by MAYBE when comparing scrub map (pr#7051, Zhiqiang Wang)
  • osd: bluefs: fix alignment for odd page sizes (pr#7900, Dan Mick)
  • osd: bluestore updates, scrub fixes (pr#8035, Sage Weil)
  • osd: bluestore/blockdevice: use std::mutex et al (pr#7568, Sage Weil)
  • osd: bluestore: NVMEDevice: fix error handling (pr#7799, xie xingguo)
  • osd: bluestore: Revert NVMEDevice task cstor and refresh interface changes (pr#7729, Haomai Wang)
  • osd: bluestore: add ‘override’ to virtual functions (pr#7886, Michal Jarzabek)
  • osd: bluestore: allow _dump_onode dynamic accept log level (pr#7995, Jianpeng Ma)
  • osd: bluestore: fix check for write falling within the same extent (issue#14954, pr#7892, Jianpeng Ma)
  • osd: bluestore: for overwrite a extent, allocate new extent on min_alloc_size write (pr#7996, Jianpeng Ma)
  • osd: bluestore: improve fs-type verification and tidy up (pr#7651, xie xingguo)
  • osd: bluestore: misc fixes (pr#7658, Jianpeng Ma)
  • osd: bluestore: remove unneeded includes (pr#7870, Michal Jarzabek)
  • osd: clean up CMPXATTR checks (pr#5961, Jianpeng Ma)
  • osd: consider high/low mode when putting agent to sleep (issue#14752, pr#7631, Sage Weil)
  • osd: ensure new osdmaps commit before publishing them to pgs (issue#15073, pr#8096, Sage Weil)
  • osd: filejournal: report journal entry count (pr#7643, tianqing)
  • osd: filestore: FALLOC_FL_PUNCH_HOLE must be used with FALLOC_FL_KEEP_SIZE (pr#7768, xinxin shu)
  • osd: filestore: fast abort if statfs encounters ENOENT (pr#7703, xie xingguo)
  • osd: filestore: fix race condition with split vs collection_move_rename and long object names (issue#14766, pr#8136, Samuel Just)
  • osd: filestore: fix result code overwritten for clone (issue#14817, issue#14827, pr#7711, xie xingguo)
  • osd: filestore: fix wrong scope of result code for error cases during mkfs (issue#14814, pr#7704, xie xingguo)
  • osd: filestore: fix wrong scope of result code for error cases during mount (issue#14815, pr#7707, xie xingguo)
  • osd: filestore: restructure journal and op queue throttling (pr#7767, Samuel Just)
  • osd: fix forced prmootion for CALL ops (issue#14745, pr#7617, Sage Weil)
  • osd: fix fusestore hanging during stop/quit (issue#14786, pr#7677, xie xingguo)
  • osd: fix inaccurate counter and skip over queueing an empty transaction (pr#7754, xie xingguo)
  • osd: fix lack of object unblock when flush fails (issue#14511, pr#7584, Igor Fedotov)
  • osd: fix overload of ‘==’ operator for pg_stat_t (issue#14921, pr#7842, xie xingguo)
  • osd: fix race condition for heartbeat_need_update (issue#14387, pr#7739, xie xingguo)
  • osd: fix return value from maybe_handle_cache_detail() (pr#7593, Igor Fedotov)
  • osd: fix unnecessary object promotion when deleting from cache pool (issue#13894, pr#7537, Igor Fedotov)
  • osd: fix wrong return type of find_osd_on_ip() (issue#14872, pr#7812, xie xingguo)
  • osd: ghobject_t: use ! instead of @ as a separator (pr#7595, Sage Weil)
  • osd: handle dup pg_create that races with pg deletion (pr#8033, Sage Weil)
  • osd: initialize last_recalibrate field at construction (pr#8071, xie xingguo)
  • osd: kstore: fix a race condition in _txc_finish() (pr#7804, Jianjian Huo)
  • osd: kstore: latency breakdown (pr#7850, James Liu)
  • osd: kstore: sync up kstore with recent bluestore updates (pr#7681, Jianjian Huo)
  • osd: memstore: fix alignment of Page for test_pageset (pr#7587, Casey Bodley)
  • osd: min_write_recency_for_promote & min_read_recency_for_promote are tiering only (pr#8081, huanwen ren)
  • osd: probabilistic cache tier promotion throttling (pr#7465, Sage Weil)
  • osd: remove up_thru_pending field, which is never used (pr#7991, xie xingguo)
  • osd: replicatedpg: break out loop if we encounter fatal error during do_pg_op() (issue#14922, pr#7844, xie xingguo)
  • osd: resolve boot vs NOUP set + clear race (pr#7483, Sage Weil)
  • packaging: make infernalis -> jewel upgrade work (issue#15047, pr#8034, Nathan Cutler)
  • packaging: move cephfs repair tools to ceph-common (issue#15145, pr#8133, Boris Ranto, Ken Dreyer)
  • pybind/rados: fix object lifetime issues and other bugs in aio (pr#7778, Hector Martin)
  • pybind/rados: use __dealloc__ since __del__ is ignored by cython (pr#7692, Mehdi Abaakouk)
  • pybind: Ensure correct python flags are passed (pr#7663, James Page)
  • pybind: flag an RBD image as closed regardless of result code (pr#8005, Jason Dillaman)
  • pybind: move cephfs to Cython (pr#7745, John Spray, Mehdi Abaakouk)
  • pybind: remove next() on iterators (pr#7706, Mehdi Abaakouk)
  • pybind: replace __del__ with __dealloc__ for rbd (pr#7708, Josh Durgin)
  • pybind: use correct subdir for rados install-exec rule (pr#7684, Josh Durgin)
  • python binding of librados with cython (pr#7621, Mehdi Abaakouk)
  • python: use pip instead of python setup.py (pr#7605, Loic Dachary)
  • qa/workunits/cephtool/test.sh: wait longer in ceph_watch_start() (issue#14910, pr#7861, Kefu Chai)
  • qa/workunits/rados/test.sh: capture stderr too (pr#8004, Sage Weil)
  • qa/workunits/rados/test.sh: test tmap_migrate (pr#8114, Sage Weil)
  • qa/workunits/rbd: do not use object map during read flag testing (pr#8104, Jason Dillaman)
  • qa/workunits/rbd: new online maintenance op tests (pr#8216, Jason Dillaman)
  • qa/workunits/rbd: use POSIX function definition (issue#15104, pr#8068, Nathan Cutler)
  • qa/workunits/rest/test.py: add confirmation to ‘mds setmap’ (issue#14606, pr#7982, Sage Weil)
  • qa/workunits/rest/test.py: don’t use newfs (pr#8191, Sage Weil)
  • qa: add workunit to run ceph_test_rbd_mirror (pr#8221, Josh Durgin)
  • rados: add ceph:: namespace to bufferlist type (pr#8059, Noah Watkins)
  • rados: fix bug for write bench (pr#7851, James Liu)
  • rbd-mirror: ImageReplayer async start/stop (pr#7944, Mykola Golub)
  • rbd-mirror: ImageReplayer improvements (pr#7759, Mykola Golub)
  • rbd-mirror: fix image replay test failures (pr#8158, Jason Dillaman)
  • rbd-mirror: fix long termination due to 30sec wait in main loop (pr#8185, Mykola Golub)
  • rbd-mirror: implement ImageReplayer (pr#7614, Mykola Golub)
  • rbd-mirror: integrate with image sync state machine (pr#8079, Jason Dillaman)
  • rbd-mirror: minor fix-ups for initial skeleton implementation (pr#7958, Mykola Golub)
  • rbd-mirror: remote to local cluster image sync (pr#7979, Jason Dillaman)
  • rbd-mirror: use pool/image names in asok commands (pr#8159, Mykola Golub)
  • rbd-mirror: use the mirroring directory to detect candidate images (issue#15142, pr#8162, Ricardo Dias)
  • rbd/run_cli_tests.sh: Reflect test failures (issue#14825, pr#7781, Zack Cerza)
  • rbd: add support for mirror image promotion/demotion/resync (pr#8138, Jason Dillaman)
  • rbd: clone operation should default to image format 2 (pr#8119, Jason Dillaman)
  • rbd: deprecate image format 1 (pr#7841, Jason Dillaman)
  • rbd: support for enabling/disabling mirroring on specific images (issue#13296, pr#8056, Ricardo Dias)
  • release-notes: draft v0.94.6 release notes (issue#13356, pr#7689, Abhishek Varshney, Loic Dachary)
  • release-notes: draft v10.0.3 release notes (pr#7592, Loic Dachary)
  • release-notes: draft v10.0.4 release notes (pr#7966, Loic Dachary)
  • release-notes: draft v9.2.1 release notes (issue#13750, pr#7694, Abhishek Varshney)
  • rgw: ldap (Matt Benjamin) (pr#7985, Matt Benjamin)
  • rgw: multisite fixes (pr#8013, Yehuda Sadeh)
  • rgw: support for aws authentication v4 (Javier M. Mellid) (issue#10333, pr#7720, Yehuda Sadeh, Javier M. Mellid)
  • rgw sync fixes (pr#8095, Yehuda Sadeh)
  • rgw/rgw_common.h: fix the RGWBucketInfo decoding (pr#8165, Kefu Chai)
  • rgw/rgw_common.h: fix the RGWBucketInfo decoding (pr#8154, Kefu Chai)
  • rgw/rgw_orphan: check the return value of save_state (pr#7544, Boris Ranto)
  • rgw: Allow an implicit tenant in case of Keystone (pr#8139, Pete Zaitcev)
  • rgw: Drop unused usage_exit from rgw_admin.cc (pr#7632, Pete Zaitcev)
  • rgw: RGWZoneParams::create should not handle -EEXIST error (pr#7927, Orit Wasserman)
  • rgw: add bucket request payment feature usage statistics integration (issue#13834, pr#6656, Javier M. Mellid)
  • rgw: add support for caching of Keystone admin token. (pr#7630, Radoslaw Zarzynski)
  • rgw: add support for metadata upload during PUT on Swift container. (pr#8002, Radoslaw Zarzynski)
  • rgw: add support for system requests over Swift API (pr#7666, Radoslaw Zarzynski)
  • rgw: adjust the request_uri to support absoluteURI of http request (issue#12917, pr#7675, Wenjun Huang)
  • rgw: admin api for retrieving usage info (Ji Chen) (pr#8031, Yehuda Sadeh, Ji Chen)
  • rgw: allow authentication keystone with self signed certs (issue#14853, issue#13422, pr#7777, Abhishek Lekshmanan)
  • rgw: approximate AmazonS3 HostId error field. (pr#7444, Robin H. Johnson)
  • rgw: calculate payload hash in RGWPutObj_ObjStore only when necessary. (pr#7869, Radoslaw Zarzynski)
  • rgw: cleanups to comments and messages (pr#7633, Pete Zaitcev)
  • rgw: don’t use s->bucket for metadata api path entry (issue#14549, pr#7408, Yehuda Sadeh)
  • rgw: drop permissions of rgw/civetweb after startup (issue#13600, pr#8019, Karol Mroz)
  • rgw: fcgi should include acconfig (pr#7760, Abhishek Lekshmanan)
  • rgw: fix wrong handling of limit=0 during listing of Swift account. (issue#14903, pr#7821, Radoslaw Zarzynski)
  • rgw: fixes for per-period metadata logs (pr#7827, Casey Bodley)
  • rgw: improve error handling in S3/Keystone integration (pr#7597, Radoslaw Zarzynski)
  • rgw: link civetweb with openssl (Sage, Marcus Watts) (pr#7825, Marcus Watts, Sage Weil)
  • rgw: link payer info to usage logging (pr#7918, Yehuda Sadeh, Javier M. Mellid)
  • rgw: move signal.h dependency from rgw_front.h (pr#7678, Matt Benjamin)
  • rgw: multiple Swift API compliance improvements for TempURL (Radoslaw Zarzynsk) (issue#14806, issue#11163, pr#7891, Radoslaw Zarzynski)
  • rgw: multiple improvements regarding etag calculation for SLO/DLO of Swift API. (pr#7764, Radoslaw Zarzynski)
  • rgw: remove duplicated code in RGWRados::get_bucket_info() (pr#7413, liyankun)
  • rgw: remove unused vector (pr#7990, Na Xie)
  • rgw: reset return code in when iterating over the bucket the objects (issue#14826, pr#7803, Orit Wasserman)
  • rgw: store system object meta in cache when creating it (issue#14678, pr#7615, Yehuda Sadeh)
  • rgw: support json format for admin policy API (Dunrong Huang) (issue#14090, pr#8036, Yehuda Sadeh, Dunrong Huang)
  • rgw: try to parse Keystone token in order appropriate to configuration. (pr#7822, Radoslaw Zarzynski)
  • rgw: use pimpl pattern for RGWPeriodHistory (pr#7809, Casey Bodley)
  • rgw: user quota may not adjust on bucket removal (issue#14507, pr#7586, root)
  • rgw:bucket link now set the bucket.instance acl (bug fix) (issue#11076, pr#8037, Zengran Zhang)
  • rpm,deb: remove conditional BuildRequires for btrfs-progs (issue#15042, pr#8016, Erwan Velu)
  • rpm: remove sub-package dependencies on “ceph” (issue#15146, pr#8137, Ken Dreyer)
  • script: add missing stop_rgw variable to stop.sh script (pr#7959, Karol Mroz)
  • selinux: Update policy to grant additional access (issue#14870, pr#7971, Boris Ranto)
  • selinux: allow log files to be located in /var/log/radosgw (pr#7604, Boris Ranto)
  • sstring.hh: return type from str_len(...) need not be const (pr#7679, Matt Benjamin)
  • submodules: revert an accidental change (pr#7929, Yehuda Sadeh)
  • systemd: correctly escape block device paths (issue#14706, pr#7579, James Page)
  • test/TestPGLog: fix the FTBFS (issue#14930, pr#7855, Kefu Chai)
  • test/bufferlist: Avoid false-positive tests (pr#7955, Erwan Velu)
  • test/cli-integration/rbd: disable progress output (issue#14931, pr#7858, Josh Durgin)
  • test/osd: Relax the timing intervals in osd-markdown.sh (pr#7899, Dan Mick)
  • test/pybind/test_ceph_argparse: fix reweight-by-utilization tests (pr#8027, Kefu Chai, Sage Weil)
  • test/radosgw-admin: update the expected usage outputs (pr#7723, Kefu Chai)
  • test/rgw: add multisite test for meta sync across periods (pr#7887, Casey Bodley)
  • test/time: no need to abs(uint64_t) for comparing (pr#7726, Kefu Chai)
  • test: add missing shut_down mock method (pr#8125, Jason Dillaman)
  • test: correct librbd errors discovered with unoptimized cmake build (pr#7914, Jason Dillaman)
  • test: create pools for rbd tests with different prefix (pr#7738, Mykola Golub)
  • test: enable test for bug #2339 which has been resolved. (pr#7743, You Ji)
  • test: fix issues discovered via the rbd permissions test case (pr#8129, Jason Dillaman)
  • test: fixup and improvements for rbd-mirror test (pr#8090, Mykola Golub)
  • test: handle exception thrown from close during rbd lock test (pr#8124, Jason Dillaman)
  • test: more debug logging for TestWatchNotify (pr#7737, Mykola Golub)
  • test: new librbd flatten test case (pr#7609, Jason Dillaman)
  • test: rbd-mirror: add “switch to the next tag” test (pr#8149, Mykola Golub)
  • test: rbd-mirror: compare positions using all fields (pr#8172, Mykola Golub)
  • test: reproducer for writeback CoW deadlock (pr#8009, Jason Dillaman)
  • test: update rbd integration cram tests for new default features (pr#8001, Jason Dillaman)
  • test_pool_create.sh: put test files in the test dir so they are cleaned up (pr#8219, Josh Durgin)
  • tests: ceph-disk.sh: should use “readlink -f” instead (pr#7594, Kefu Chai)
  • tests: ceph-disk.sh: use “readlink -f” instead for fullpath (pr#7606, Kefu Chai)
  • tests: fix a few build warnings (pr#7608, Sage Weil)
  • tests: sync ceph-erasure-code-corpus for mktemp -d (pr#7596, Loic Dachary)
  • tests: test_pidfile.sh lingering processes (issue#14834, pr#7734, Loic Dachary)
  • tools/cephfs: add tmap_upgrade (pr#7003, John Spray)
  • tools/cephfs: fix tmap_upgrade (issue#15135, pr#8128, John Spray)
  • tools/rados: reduce “rados put” memory usage by op_size (pr#7928, Piotr Dałek)
  • unittest_compression_zlib: do not assume buffer will be null terminated (pr#8064, Sage Weil)
  • unittest_osdmap: default crush tunables now firefly (pr#8098, Sage Weil)
  • vstart.sh: avoid race condition starting rgw via vstart.sh (issue#14829, pr#7727, Javier M. Mellid)
  • vstart.sh: silence a harmless msg where btrfs is not found (pr#7640, Patrick Donnelly)
  • xio: fix incorrect ip being assigned in case of multiple RDMA ports (pr#7747, Subramanyam Varanasi)
  • xio: remove duplicate assignment of peer addr (pr#8025, Roi Dayan)
  • xio: remove redundant magic methods (pr#7773, Roi Dayan)
  • xio: remove unused variable (pr#8023, Roi Dayan)
  • xxhash: use clone of xxhash.git; add .gitignore (pr#7986, Sage Weil)
  • rbd: update default image features (pr#7846, Jason Dillaman)
  • rbd-mirror: make remote context respect env and argv config params (pr#8182, Mykola Golub)
  • journal: re-use common threads between journalers (pr#7906, Jason Dillaman)
  • client: add option to control how directory size is calculated (pr#7323, Yan, Zheng)
  • rgw: keystone v3 (pr#7719, Mark Barnes, Radoslaw Zarzynski)
  • rgw: new multisite merge (issue#14549, pr#7709, Yehuda Sadeh, Orit Wasserman, Casey Bodley, Daniel Gryniewicz)
  • rgw: adjust error code when bucket does not exist in copy operation (issue#14975, pr#7916, Yehuda Sadeh)
  • rgw: indexless (pr#7786, Yehuda Sadeh)

v10.0.5

This is identical to v10.0.4 and was only created because of a git tagging mistake.

v10.0.4

This is the fifth and last development release before Jewel. The next release will be a release candidate with the final set of features. Big items include RGW static website support, librbd journal framework, fixed mon sync of config-key data, C++11 updates, and bluestore/kstore.

Notable Changes

  • admin/build-doc: depend on zlib1g-dev and graphviz (pr#7522, Ken Dreyer)
  • buffer: use move construct to append/push_back/push_front (pr#7455, Haomai Wang)
  • build: allow jemalloc with rocksdb-static (pr#7368, Somnath Roy)
  • build: fix the autotools and cmake build (the new fusestore needs libfuse) (pr#7393, Kefu Chai)
  • build: fix warnings (pr#7197, Kefu Chai, xie xingguo)
  • build: fix warnings (pr#7315, Kefu Chai)
  • build: kill warnings (pr#7397, Kefu Chai)
  • build: move libexec scripts to standardize across distros (issue#14687, issue#14705, issue#14723, pr#7636, Nathan Cutler, Kefu Chai)
  • build: Refrain from versioning and packaging EC testing plugins (issue#14756, issue#14723, pr#7637, Nathan Cutler, Kefu Chai)
  • build: spdk submodule; cmake (pr#7503, Kefu Chai)
  • ceph-disk: support bluestore (issue#13422, pr#7218, Loic Dachary, Sage Weil)
  • ceph-disk/test: fix test_prepare.py::TestPrepare tests (pr#7549, Kefu Chai)
  • cleanup: remove misc dead code (pr#7201, Erwan Velu)
  • cls/cls_rbd: pass string by reference (pr#7232, Jeffrey Lu)
  • cmake: Added new unittests to make check (pr#7572, Ali Maredia)
  • cmake: add KernelDevice.cc to libos_srcs (pr#7507, Kefu Chai)
  • cmake: check for libsnappy in default path also (pr#7366, Kefu Chai)
  • cmake: feb5 (pr#7541, Matt Benjamin)
  • cmake: For CMake version <= 2.8.11, use LINK_PRIVATE and LINK_PUBLIC (pr#7474, Tao Chang)
  • cmake: let ceph-client-debug link with tcmalloc (pr#7314, Kefu Chai)
  • cmake: support ccache via a WITH_CCACHE build option (pr#6875, John Coyle)
  • common: add zlib compression plugin (pr#7437, Alyona Kiseleva, Kiseleva Alyona)
  • common: admin socket commands for tcmalloc heap get/set operations (pr#7512, Samuel Just)
  • common: ake ceph_time clocks work under BSD (pr#7340, Adam C. Emerson)
  • common: Allow OPT_INT settings with negative values (issue#13829, pr#7390, Brad Hubbard, Kefu Chai)
  • common/buffer: replace RWLock with spinlocks (pr#7294, Piotr Dałek)
  • common: change the type of counter total/unhealthy_workers (pr#7254, Guang Yang)
  • common: snappy decompressor may assert when handling segmented input bufferlist (issue#14400, pr#7268, Igor Fedotov)
  • common/str_map: cleanup: replaced get_str_map() function overloading by using default parameters for delimiters (pr#7266, Sahithi R V)
  • common: time: have skewing-now call non-skewing now (pr#7466, Adam C. Emerson)
  • common: unit test for interval_set implementations (pr#6, Igor Fedotov)
  • config: add $data_dir/config to config search path (pr#7377, Sage Weil)
  • configure.ac: make “–with-librocksdb-static” default to ‘check’ (issue#14463, pr#7317, Dan Mick)
  • crush: add safety assert (issue#14496, pr#7344, songbaisen)
  • crush: reply quickly from get_immediate_parent (issue#14334, pr#7181, song baisen)
  • debian: packaging fixes for jewel (pr#7807, Ken Dreyer, Ali Maredia)
  • debian/rpm split servers (issue#10587, pr#7746, Ken Dreyer)
  • doc: add orphans commands to radosgw-admin(8) (issue#14637, pr#7518, Ken Dreyer)
  • doc: amend the rados.8 (pr#7251, Kefu Chai)
  • doc: Fixes a CRUSH map step take argument (pr#7327, Ivan Grcic)
  • doc: fixing image in section ERASURE CODING (pr#7298, Rachana Patel)
  • doc: fix misleading configuration guide on cache tiering (pr#7000, Yuan Zhou)
  • doc: fix S3 C# example (pr#7027, Dunrong Huang)
  • doc: remove redundant space in ceph-authtool/monmaptool doc (pr#7244, Jiaying Ren)
  • doc: revise SubmittingPatches (pr#7292, Kefu Chai)
  • doc: rgw: port changes from downstream to upstream (pr#7264, Bara Ancincova)
  • doc: script and guidelines for mirroring Ceph (pr#7384, Wido den Hollander)
  • doc: use ‘ceph auth get-or-create’ for creating RGW keyring (pr#6930, Wido den Hollander)
  • global: do not start two daemons with a single pid-file (issue#13422, pr#7075, shun song)
  • global: do not start two daemons with a single pid-file (part 2) (issue#13422, pr#7463, Loic Dachary)
  • journal: flush commit position on metadata shutdown (pr#7385, Mykola Golub)
  • journal: reset commit_position_task_ctx pointer after task complete (pr#7480, Mykola Golub)
  • libcephfs: update LIBCEPHFS_VERSION to indicate the interface was changed (pr#7551, Jevon Qiao)
  • librados: move to c++11 concurrency types (pr#5931, Adam C. Emerson)
  • librados: remove duplicate definitions for rados pool_stat_t and cluster_stat_t (pr#7330, Igor Fedotov)
  • librados: shutdown finisher in a more graceful way (pr#7519, xie xingguo)
  • librados_test_stub: protect against notify/unwatch race (pr#7540, Jason Dillaman)
  • librbd: API: async open and close (issue#14264, pr#7259, Mykola Golub)
  • librbd: Avoid create two threads per image (pr#7400, Haomai Wang)
  • librbd: block maintenance ops until after journal is ready (issue#14510, pr#7382, Jason Dillaman)
  • librbd: fix internal handling of dynamic feature updates (pr#7299, Jason Dillaman)
  • librbd: journal framework for tracking exclusive lock transitions (issue#13298, pr#7529, Jason Dillaman)
  • librbd: journal shut down flush race condition (issue#14434, pr#7302, Jason Dillaman)
  • librbd: remove canceled tasks from timer thread (issue#14476, pr#7329, Douglas Fuller)
  • makefile: remove libedit from libclient.la (pr#7284, Kefu Chai)
  • mds, client: fix locking around handle_conf_change (issue#14365, issue#14374, pr#7312, John Spray)
  • mds: judgment added to avoid the risk of visiting the NULL pointer (pr#7358, Kongming Wu)
  • mon: add an independent option for max election time (pr#7245, Sangdi Xu)
  • mon: compact full epochs also (issue#14537, pr#7396, Kefu Chai)
  • mon: consider the pool size when setting pool crush rule (issue#14495, pr#7341, song baisen)
  • mon: drop useless rank init assignment (issue#14508, pr#7321, huanwen ren)
  • mon: fix locking in preinit error paths (issue#14473, pr#7353, huanwen ren)
  • mon: fix monmap creation stamp (pr#7459, duanweijun)
  • mon: fix sync of config-key data (pr#7363, Xiaowei Chen)
  • mon: go into ERR state if multiple PGs are stuck inactive (issue#13923, pr#7253, Wido den Hollander)
  • mon/MDSMonitor.cc: properly note beacon when health metrics changes (issue#14684, pr#7757, Yan, Zheng)
  • mon/MonClient: avoid null pointer error when configured incorrectly (issue#14405, pr#7276, Bo Cai)
  • mon: PG Monitor should report waiting for backfill (issue#12744, pr#7398, Abhishek Lekshmanan)
  • mon: reduce CPU and memory manager pressure of pg health check (pr#7482, Piotr Dałek)
  • mon: some cleanup in MonmapMonitor.cc (pr#7418, huanwen ren)
  • mon: warn if pg(s) not scrubbed (issue#13142, pr#6440, Michal Jarzabek)
  • msg/async: AsyncConnection: avoid debug log in cleanup_handler (pr#7547, Haomai Wang)
  • msg/async: bunch of fixes (pr#7379, Piotr Dałek)
  • msg/async: fix array boundary (pr#7451, Wei Jin)
  • msg/async: fix potential race condition (pr#7453, Haomai Wang)
  • msg/async: fix send closed local_connection message problem (pr#7255, Haomai Wang)
  • msg/async: reduce extra tcp packet for message ack (pr#7380, Haomai Wang)
  • msg/xio: fix compilation (pr#7479, Roi Dayan)
  • organizationmap: modify org mail info. (pr#7240, Xiaowei Chen)
  • os/bluestore: fix assert (issue#14436, pr#7293, xie xingguo)
  • os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7342, Kefu Chai)
  • os/bluestore: insert new onode to the front position of onode LRU (pr#7492, Jianjian Huo)
  • os/bluestore: use intrusive_ptr for Dir (pr#7247, Igor Fedotov)
  • osd: blockdevice: avoid implicit cast and add guard (pr#7460, xie xingguo)
  • osd: bluestore/BlueFS: initialize super block_size earlier in mkfs (pr#7535, Sage Weil)
  • osd: BlueStore: fix fsck and blockdevice read-relevant issue (pr#7362, xie xingguo)
  • osd: BlueStore: fix null pointer access (issue#14561, pr#7435, xie xingguo)
  • osd: bluestore, kstore: fix nid overwritten logic (issue#14407, issue#14433, pr#7283, xie xingguo)
  • osd: bluestore: use btree_map for allocator (pr#7269, Igor Fedotov, Sage Weil)
  • osd: drop fiemap len=0 logic (pr#7267, Sage Weil)
  • osd: FileStore: add error check for object_map->sync() (pr#7281, Chendi Xue)
  • osd: FileStore: cleanup: remove obsolete option “filestore_xattr_use_omap” (issue#14356, pr#7217, Vikhyat Umrao)
  • osd: FileStore: modify the format of colon (pr#7333, Donghai Xu)
  • osd: FileStore: print file name before osd assert if read file failed (pr#7111, Ji Chen)
  • osd: fix invalid list traversal in process_copy_chunk (pr#7511, Samuel Just)
  • osd, mon: fix exit issue (pr#7420, Jiaying Ren)
  • osd: PG::activate(): handle unexpected cached_removed_snaps more gracefully (issue#14428, pr#7309, Alexey Sheplyakov)
  • os/fs: fix io_getevents argument (pr#7355, Jingkai Yuan)
  • os/fusestore: add error handling (pr#7395, xie xingguo)
  • os/keyvaluestore: kill KeyValueStore (pr#7320, Haomai Wang)
  • os/kstore: insert new onode to the front position of onode LRU (pr#7505, xie xingguo)
  • os/ObjectStore: add custom move operations for ObjectStore::Transaction (pr#7303, Casey Bodley)
  • rgw: Bug fix for mtime anomalies in RadosGW and other places (pr#7328, Adam C. Emerson, Casey Bodley)
  • rpm: move %post(un) ldconfig calls to ceph-base (issue#14940, pr#7867, Nathan Cutler)
  • rpm: move runtime dependencies to ceph-base and fix other packaging issues (issue#14864, pr#7826, Nathan Cutler)
  • test: ceph_test_rados: use less CPU (pr#7513, Samuel Just)

v10.0.3

This is the fourth development release for Jewel. Several big pieces have been added this release, including BlueStore (a new backend for OSD to replace FileStore), many ceph-disk fixes, a new CRUSH tunable that improves mapping stability, a new librados object enumeration API, and a whole slew of OSD and RADOS optimizations.

Note that, due to general developer busyness, we aren’t building official release packages for this dev release. You can fetch autobuilt gitbuilder packages from the usual location (gitbuilder.ceph.com).

Notable Changes

  • bluestore: latest and greatest (issue#14210, issue#13801, pr#6896, xie.xingguo, Jianpeng Ma, YiQiang Chen, Sage Weil, Ning Yao)
  • buffer: fix internal iterator invalidation on rebuild, get_contiguous (pr#6962, Sage Weil)
  • build: fix a few warnings (pr#6847, Orit Wasserman)
  • build: misc make check fixes (pr#7153, Sage Weil)
  • ceph-detect-init: fix py3 test (pr#7025, Kefu Chai)
  • ceph-disk: add -f flag for btrfs mkfs (pr#7222, Darrell Enns)
  • ceph-disk: ceph-disk list fails on /dev/cciss!c0d0 (issue#13970, issue#14233, issue#14230, pr#6879, Loic Dachary)
  • ceph-disk: fix failures when preparing disks with udev > 214 (issue#14080, issue#14094, pr#6926, Loic Dachary, Ilya Dryomov)
  • ceph-disk: Fix trivial typo (pr#7472, Brad Hubbard)
  • ceph-disk: warn for prepare partitions with bad GUIDs (issue#13943, pr#6760, David Disseldorp)
  • ceph-fuse: fix double decreasing the count to trim caps (issue#14319, pr#7229, Zhi Zhang)
  • ceph-fuse: fix double free of args (pr#7015, Ilya Shipitsin)
  • ceph-fuse: fix fsync() (pr#6388, Yan, Zheng)
  • ceph-fuse:print usage information when no parameter specified (pr#6868, Bo Cai)
  • ceph: improve the error message (issue#11101, pr#7106, Kefu Chai)
  • ceph.in: avoid a broken pipe error when use ceph command (issue#14354, pr#7212, Bo Cai)
  • ceph.spec.in: add copyright notice (issue#14694, pr#7569, Nathan Cutler)
  • ceph.spec.in: add license declaration (pr#7574, Nathan Cutler)
  • ceph_test_libcephfs: tolerate duplicated entries in readdir (issue#14377, pr#7246, Yan, Zheng)
  • client: check if Fh is readable when processing a read (issue#11517, pr#7209, Yan, Zheng)
  • client: properly trim unlinked inode (issue#13903, pr#7297, Yan, Zheng)
  • cls_rbd: add guards for error cases (issue#14316, issue#14317, pr#7165, xie xingguo)
  • cls_rbd: enable object map checksums for object_map_save (issue#14280, pr#7149, Douglas Fuller)
  • cmake: Add ENABLE_GIT_VERSION to avoid rebuilding (pr#7171, Kefu Chai)
  • cmake: add missing check for HAVE_EXECINFO_H (pr#7270, Casey Bodley)
  • cmake: cleanups and more features from automake (pr#7103, Casey Bodley, Ali Maredia)
  • cmake: detect bzip2 and lz4 (pr#7126, Kefu Chai)
  • cmake: fix build with bluestore (pr#7099, John Spray)
  • cmake: fix the build on trusty (pr#7249, Kefu Chai)
  • cmake: made rocksdb an imported library (pr#7131, Ali Maredia)
  • cmake: no need to run configure from run-cmake-check.sh (pr#6959, Orit Wasserman)
  • cmake: test_build_libcephfs needs ${ALLOC_LIBS} (pr#7300, Ali Maredia)
  • common/address_help.cc: fix the leak in entity_addr_from_url() (issue#14132, pr#6987, Qiankun Zheng)
  • common: add thread names (pr#5882, Igor Podoski)
  • common: assert: abort() rather than throw (pr#6804, Adam C. Emerson)
  • common: buffer/assert minor fixes (pr#6990, Matt Benjamin)
  • common/Formatter: avoid newline if there is no output (pr#5351, Aran85)
  • common: improve shared_cache and simple_cache efficiency with hash table (pr#6909, Ning Yao)
  • common/lockdep: increase max lock names (pr#6961, Sage Weil)
  • common: new timekeeping common code, and Objecter conversion (pr#5782, Adam C. Emerson)
  • common: signal_handler: added support for using reentrant strsignal() implementations vs. sys_siglist[] (pr#6796, John Coyle)
  • config: complains when a setting is not tracked (issue#11692, pr#7085, Kefu Chai)
  • configure: detect bz2 and lz4 (issue#13850, issue#13981, pr#7030, Kefu Chai)
  • correct radosgw-admin command (pr#7006, YankunLi)
  • crush: add chooseleaf_stable tunable (pr#6572, Sangdi Xu, Sage Weil)
  • crush: clean up whitespace removal (issue#14302, pr#7157, songbaisen)
  • crush/CrushTester: check for overlapped rules (pr#7139, Kefu Chai)
  • crushtool: improve usage/tip messages (pr#7142, xie xingguo)
  • crushtool: set type 0 name “device” for –build option (pr#6824, Sangdi Xu)
  • doc: adding “–allow-shrink” in decreasing the size of the rbd block to distinguish from the increasing option (pr#7020, Yehua)
  • doc: admin/build-doc: make paths absolute (pr#7119, Dan Mick)
  • doc: dev: document ceph-qa-suite (pr#6955, Loic Dachary)
  • doc: document “readforward” and “readproxy” cache mode (pr#7023, Kefu Chai)
  • doc: fix “mon osd down out subtree limit” option name (pr#7164, François Lafont)
  • doc: fix typo (pr#7004, tianqing)
  • doc: Updated the rados command man page to include the –run-name opt… (issue#12899, pr#5900, ritz303)
  • fs: be more careful about the “mds setmap” command to prevent breakage (issue#14380, pr#7262, Yan, Zheng)
  • helgrind: additional race conditionslibrbd: journal replay should honor inter-event dependencies (pr#7274, Jason Dillaman)
  • helgrind: fix real (and imaginary) race conditions (issue#14163, pr#7208, Jason Dillaman)
  • kv: implement value_as_ptr() and use it in .get() (pr#7052, Piotr Dałek)
  • librados: add c++ style osd/pg command interface (pr#6893, Yunchuan Wen)
  • librados: fix several flaws introduced by the enumeration_objects API (issue#14299, issue#14301, issue#14300, pr#7156, xie xingguo)
  • librados: new style (sharded) object listing (pr#6405, John Spray, Sage Weil)
  • librados: potential null pointer access in list_(n)objects (issue#13822, pr#6639, xie xingguo)
  • librbd: exit if parent’s snap is gone during clone (issue#14118, pr#6968, xie xingguo)
  • librbd: fix potential memory leak (issue#14332, issue#14333, pr#7174, xie xingguo)
  • librbd: fix snap_exists API return code overflow (issue#14129, pr#6986, xie xingguo)
  • librbd: journal replay should honor inter-event dependencies (pr#7019, Jason Dillaman)
  • librbd: return error if we fail to delete object_map head object (issue#14098, pr#6958, xie xingguo)
  • librbd: small fixes for error messages and readahead counter (issue#14127, pr#6983, xie xingguo)
  • librbd: uninitialized state in snap remove state machine (pr#6982, Jason Dillaman)
  • mailmap: hange organization for Dongmao Zhang (pr#7173, Dongmao Zhang)
  • mailmap: Igor Podoski affiliation (pr#7219, Igor Podoski)
  • mailmap update (pr#7210, M Ranga Swami Reddy)
  • mailmap updates (pr#6992, Loic Dachary)
  • mailmap updates (pr#7189, Loic Dachary)
  • man: document listwatchers cmd in “rados” manpage (pr#7021, Kefu Chai)
  • mds: advance clientreplay when replying (issue#14357, pr#7216, John Spray)
  • mds: expose state of recovery to status ASOK command (issue#14146, pr#7068, Yan, Zheng)
  • mds: fix client cap/message replay order on restart (issue#14254, issue#13546, pr#7199, Yan, Zheng)
  • mds: fix standby replay thread creation (issue#14144, pr#7132, John Spray)
  • mds: we should wait messenger when MDSDaemon suicide (pr#6996, Wei Feng)
  • mon: add osd blacklist clear (pr#6945, John Spray)
  • mon: add RAW USED column to ceph df detail (pr#7087, Ruifeng Yang)
  • mon: degrade a log message to level 2 (pr#6929, Kongming Wu)
  • mon: fix coding-style on PG related Monitor files (pr#6881, Wido den Hollander)
  • mon: fixes related to mondbstore->get() changes (pr#6564, Piotr Dałek)
  • mon: fix reuse of osd ids (clear osd info on osd deletion) (issue#13988, pr#6900, Loic Dachary, Sage Weil)
  • mon: fix the can’t change subscribe level bug in monitoring log (pr#7031, Zhiqiang Wang)
  • mon/MDSMonitor: add confirmation to “ceph mds rmfailed” (issue#14379, pr#7248, Yan, Zheng)
  • mon: modify a dout level in OSDMonitor.cc (pr#6928, Yongqiang He)
  • mon: MonmapMonitor: don’t expose uncommitted state to client (pr#6854, Joao Eduardo Luis)
  • mon/OSDMonitor: osdmap laggy set a maximum limit for interval (pr#7109, Zengran Zhang)
  • mon: paxos is_recovering calc error (pr#7227, Weijun Duan)
  • mon/PGMap: show rd/wr iops separately in status reports (pr#7072, Cilang Zhao)
  • mon: PGMonitor: acting primary diff with cur_stat, should not set pg to stale (pr#7083, Xiaowei Chen)
  • msg: add override to virutal methods (pr#6977, Michal Jarzabek)
  • msg/async: cleanup dead connection and misc things (pr#7158, Haomai Wang)
  • msg/async: don’t use shared_ptr to manage EventCallback (pr#7028, Haomai Wang)
  • msg: filter out lo addr when bind osd addr (pr#7012, Ji Chen)
  • msg: removed unneeded includes from Dispatcher (pr#6814, Michal Jarzabek)
  • msg: remove unneeded inline (pr#6989, Michal Jarzabek)
  • msgr: fix large message data content length causing overflow (pr#6809, Jun Huang, Haomai Wang)
  • msg/simple: pipe: memory leak when signature check failed (pr#7096, Ruifeng Yang)
  • msg/simple: remove unneeded friend declarations (pr#6924, Michal Jarzabek)
  • objecter: avoid recursive lock of Objecter::rwlock (pr#7343, Yan, Zheng)
  • os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7419, Kefu Chai, Brad Hubbard)
  • osd: add cache hint when pushing raw clone during recovery (pr#7069, Zhiqiang Wang)
  • osd: avoid debug std::string initialization in PG::get/put (pr#7117, Evgeniy Firsov)
  • osd: avoid osd_op_thread suicide because osd_scrub_sleep (pr#7009, Jianpeng Ma)
  • osd: bluestore: bluefs: fix several small bugs (issue#14344, issue#14343, pr#7200, xie xingguo)
  • osd: bluestore: don’t include when building without libaio (issue#14207, pr#7169, Mykola Golub)
  • osd: bluestore: fix bluestore onode_t attr leak (pr#7125, Ning Yao)
  • osd: bluestore: fix bluestore_wal_transaction_t encoding test (pr#7168, Kefu Chai)
  • osd: bluestore: fix several bugs (issue#14259, issue#14353, issue#14260, issue#14261, pr#7122, xie xingguo)
  • osd: bluestore: fix space rebalancing, collection split, buffered reads (pr#7196, Sage Weil)
  • osd: bluestore: more fixes (pr#7130, Sage Weil)
  • osd: cache tier: add config option for eviction check list size (pr#6997, Yuan Zhou)
  • osdc: Fix race condition with tick_event and shutdown (issue#14256, pr#7151, Adam C. Emerson)
  • osd: check health state before pre_booting (issue#14181, pr#7053, Xiaoxi Chen)
  • osd: clear pg_stat_queue after stopping pgs (issue#14212, pr#7091, Sage Weil)
  • osd: delay populating in-memory PG log hashmaps (pr#6425, Piotr Dałek)
  • osd: disable filestore_xfs_extsize by default (issue#14397, pr#7265, Ken Dreyer)
  • osd: do not keep ref of old osdmap in pg (issue#13990, pr#7007, Kefu Chai)
  • osd: drop deprecated removal pg type (pr#6970, Igor Podoski)
  • osd: FileJournal: fix return code of create method (issue#14134, pr#6988, xie xingguo)
  • osd: FileJournal: support batch peak and pop from writeq (pr#6701, Xinze Chi)
  • osd: FileStore: conditional collection of drive metadata (pr#6956, Somnath Roy)
  • osd: FileStore:: optimize lfn_unlink (pr#6649, Jianpeng Ma)
  • osd: fix null pointer access and race condition (issue#14072, pr#6916, xie xingguo)
  • osd: fix scrub start hobject (pr#7467, Sage Weil)
  • osd: fix sparse-read result code checking logic (issue#14151, pr#7016, xie xingguo)
  • osd: fix temp object removal after upgrade (issue#13862, pr#6976, David Zafman)
  • osd: fix wip (l_osd_op_wip) perf counter and remove repop_map (pr#7077, Xinze Chi)
  • osd: fix wrongly placed assert and some cleanups (pr#6766, xiexingguo, xie xingguo)
  • osd: KeyValueStore: fix return code of mkfs (pr#7036, xie xingguo)
  • osd: KeyValueStore: fix wrongly placed assert (issue#14176, issue#14178, pr#7047, xie xingguo)
  • osd: kstore: several small fixes (issue#14351, issue#14352, pr#7213, xie xingguo)
  • osd: kstore: small fixes to kstore (issue#14204, pr#7095, xie xingguo)
  • osd: make list_missing query missing_loc.needs_recovery_map (pr#6298, Guang Yang)
  • osdmap: remove unused local variables (pr#6864, luo kexue)
  • osd: memstore: fix two bugs (pr#6963, Casey Bodley, Sage Weil)
  • osd: misc FileStore fixes (issue#14192, issue#14188, issue#14194, issue#14187, issue#14186, pr#7059, xie xingguo)
  • osd: misc optimization for map utilization (pr#6950, Ning Yao)
  • osd,mon: log leveldb and rocksdb to ceph log (pr#6921, Sage Weil)
  • osd: Omap small bugs adapted (pr#6669, Jianpeng Ma, David Zafman)
  • osd: optimize the session_handle_reset function (issue#14182, pr#7054, songbaisen)
  • osd: OSDService: Fix typo in osdmap comment (pr#7275, Brad Hubbard)
  • osd: os: skip checking pg_meta object existance in FileStore (pr#6870, Ning Yao)
  • osd: PGLog: clean up read_log (pr#7092, Jie Wang)
  • osd: prevent osd_recovery_sleep from causing recovery-thread suicide (pr#7065, Jianpeng Ma)
  • osd: reduce string use in coll_t::calc_str() (pr#6505, Igor Podoski)
  • osd: release related sources when scrub is interrupted (pr#6744, Jianpeng Ma)
  • osd: remove unused OSDMap::set_weightf() (issue#14369, pr#7231, huanwen ren)
  • osd: ReplicatedPG: clean up unused function (pr#7211, Xiaowei Chen)
  • osd/ReplicatedPG: fix promotion recency logic (issue#14320, pr#6702, Sage Weil)
  • osd: several small cleanups (pr#7055, xie xingguo)
  • osd: shut down if we flap too many times in a short period (pr#6708, Xiaoxi Chen)
  • osd: skip promote for writefull w/ FADVISE_DONTNEED/NOCACHE (pr#7010, Jianpeng Ma)
  • osd: small fixes to memstore (issue#14228, issue#14229, issue#14227, pr#7107, xie xingguo)
  • osd: try evicting after flushing is done (pr#5630, Zhiqiang Wang)
  • osd: use atomic to generate ceph_tid (pr#7017, Evgeniy Firsov)
  • osd: use optimized is_zero in object_stat_sum_t.is_zero() (pr#7203, Piotr Dałek)
  • osd: utime_t, eversion_t, osd_stat_sum_t encoding optimization (pr#6902, Xinze Chi)
  • pybind: add ceph_volume_client interface for Manila and similar frameworks (pr#6205, John Spray)
  • pybind: fix build failure, remove extraneous semicolon in method (issue#14371, pr#7235, Abhishek Lekshmanan)
  • pybind/test_rbd: fix test_create_defaults (issue#14279, pr#7155, Josh Durgin)
  • qa: disable rbd/qemu-iotests test case 055 on RHEL/CentOSlibrbd: journal replay should honor inter-event dependencies (issue#14385, pr#7272, Jason Dillaman)
  • qa/workunits: merge_diff shouldn’t attempt to use striping (issue#14165, pr#7041, Jason Dillaman)
  • qa/workunits/snaps: move snap tests into fs sub-directory (pr#6496, Yan, Zheng)
  • rados: implement rm –force option to force remove when full (pr#6202, Xiaowei Chen)
  • rbd: additional validation for striping parameters (pr#6914, Na Xie)
  • rbd: add pool name to disambiguate rbd admin socket commands (pr#6904, wuxiangwei)
  • rbd: correct an output string for merge-diff (pr#7046, Kongming Wu)
  • rbd: fix static initialization ordering issues (pr#6978, Mykola Golub)
  • rbd-fuse: image name can not include snap name (pr#7044, Yongqiang He)
  • rbd-fuse: implement mv operation (pr#6938, wuxiangwei)
  • rbd: must specify both of stripe-unit and stripe-count when specifying stripingv2 feature (pr#7026, Donghai Xu)
  • rbd-nbd: add copyright (pr#7166, Li Wang)
  • rbd-nbd: fix up return code handling (pr#7215, Mykola Golub)
  • rbd-nbd: small improvements in logging and forking (pr#7127, Mykola Golub)
  • rbd: rbd order will be place in 22, when set to 0 in the config_opt (issue#14139, issue#14047, pr#6886, huanwen ren)
  • rbd: striping parameters should support 64bit integers (pr#6942, Na Xie)
  • rbd: use default order from configuration when not specified (pr#6965, Yunchuan Wen)
  • rgw: add a method to purge all associate keys when removing a subuser (issue#12890, pr#6002, Sangdi Xu)
  • rgw: add missing error code for admin op API (pr#7037, Dunrong Huang)
  • rgw: add support for “end_marker” parameter for GET on Swift account. (issue#10682, pr#4216, Radoslaw Zarzynski)
  • rgw_admin: orphans finish segfaults (pr#6652, Igor Fedotov)
  • rgw: content length (issue#13582, pr#6975, Yehuda Sadeh)
  • rgw: delete default zone (pr#7005, YankunLi)
  • rgw: do not abort radowgw server when using admin op API with bad parameters (issue#14190, issue#14191, pr#7063, Dunrong Huang)
  • rgw: Drop a debugging message (pr#7280, Pete Zaitcev)
  • rgw: fix a typo in init-radosgw (pr#6817, Zhi Zhang)
  • rgw: fix compilation warning (pr#7160, Yehuda Sadeh)
  • rgw: fix wrong check for parse() return (pr#6797, Dunrong Huang)
  • rgw: let radosgw-admin bucket stats return a standard josn (pr#7029, Ruifeng Yang)
  • rgw: modify command stucking when operating radosgw-admin metadata list user (pr#7032, Peiyang Liu)
  • rgw: modify documents and help infos’ descriptions to the usage of option date when executing command “log show” (pr#6080, Kongming Wu)
  • rgw: Parse –subuser better (pr#7279, Pete Zaitcev)
  • rgw: radosgw-admin bucket check –fix not work (pr#7093, Weijun Duan)
  • rgw: warn on suspicious civetweb frontend parameters (pr#6944, Matt Benjamin)
  • rocksdb: remove rdb sources from dist tarball (issue#13554, pr#7105, Venky Shankar)
  • stringify outputted error code and fix unmatched parentheses. (pr#6998, xie.xingguo, xie xingguo)
  • test/librbd/fsx: Use c++11 std::mt19937 generator instead of random_r() (pr#6332, John Coyle)
  • test/mon/osd-erasure-code-profile: pick new mon port (pr#7161, Sage Weil)
  • tests: add const for ec test (pr#6911, Michal Jarzabek)
  • tests: configure with rocksdb by default (issue#14220, pr#7100, Loic Dachary)
  • tests: Fix for make check. (pr#7102, David Zafman)
  • tests: notification slave needs to wait for master (issue#13810, pr#7220, Jason Dillaman)
  • tests: snap rename and rebuild object map in client update test (pr#7224, Jason Dillaman)
  • tests: unittest_bufferlist: fix hexdump test (pr#7152, Sage Weil)
  • tests: unittest_ipaddr: fix segv (pr#7154, Sage Weil)
  • tools: ceph_monstore_tool: add inflate-pgmap command (issue#14217, pr#7097, Kefu Chai)
  • tools: monstore: add ‘show-versions’ command. (pr#7073, Cilang Zhao)

v10.0.2

This development release includes a raft of changes and improvements for Jewel. Key additions include CephFS scrub/repair improvements, an AIX and Solaris port of librados, many librbd journaling additions and fixes, extended per-pool options, and NBD driver for RBD (rbd-nbd) that allows librbd to present a kernel-level block device on Linux, multitenancy support for RGW, RGW bucket lifecycle support, RGW support for Swift static large objects (SLO), and RGW support for Swift bulk delete.

There are also lots of smaller optimizations and performance fixes going in all over the tree, particular in the OSD and common code.

Notable Changes

  • auth: fail if rotating key is missing (do not spam log) (pr#6473, Qiankun Zheng)
  • auth: fix crash when bad keyring is passed (pr#6698, Dunrong Huang)
  • auth: make keyring without mon entity type return -EACCES (pr#5734, Xiaowei Chen)
  • buffer: make usable outside of ceph source again (pr#6863, Josh Durgin)
  • build: cmake check fixes (pr#6787, Orit Wasserman)
  • build: fix bz2-dev dependency (pr#6948, Samuel Just)
  • build: Gentoo: _FORTIFY_SOURCE fix. (issue#13920, pr#6739, Robin H. Johnson)
  • build/ops: systemd ceph-disk unit must not assume /bin/flock (issue#13975, pr#6803, Loic Dachary)
  • ceph-detect-init: Ubuntu >= 15.04 uses systemd (pr#6873, James Page)
  • cephfs-data-scan: scan_frags (pr#5941, John Spray)
  • cephfs-data-scan: scrub tag filtering (#12133 and #12145) (issue#12133, issue#12145, pr#5685, John Spray)
  • ceph-fuse: add process to ceph-fuse –help (pr#6821, Wei Feng)
  • ceph-kvstore-tool: handle bad out file on command line (pr#6093, Kefu Chai)
  • ceph-mds:add –help/-h (pr#6850, Cilang Zhao)
  • ceph_objectstore_bench: fix race condition, bugs (issue#13516, pr#6681, Igor Fedotov)
  • ceph.spec.in: add BuildRequires: systemd (issue#13860, pr#6692, Nathan Cutler)
  • client: a better check for MDS availability (pr#6253, John Spray)
  • client: close mds sessions in shutdown() (pr#6269, John Spray)
  • client: don’t invalidate page cache when inode is no longer used (pr#6380, Yan, Zheng)
  • client: modify a word in log (pr#6906, YongQiang He)
  • cls/cls_rbd.cc: fix misused metadata_name_from_key (issue#13922, pr#6661, Xiaoxi Chen)
  • cmake: Add common/PluginRegistry.cc to CMakeLists.txt (pr#6805, Pete Zaitcev)
  • cmake: add rgw_basic_types.cc to librgw.a (pr#6786, Orit Wasserman)
  • cmake: add TracepointProvider.cc to libcommon (pr#6823, Orit Wasserman)
  • cmake: define STRERROR_R_CHAR_P for GNU-specific strerror_r (pr#6751, Ilya Dryomov)
  • cmake: update for recent librbd changes (pr#6715, John Spray)
  • cmake: update for recent rbd changes (pr#6818, Mykola Golub)
  • common: add generic plugin infrastructure (pr#6696, Sage Weil)
  • common: add latency perf counter for finisher (pr#6175, Xinze Chi)
  • common: buffer: add cached_crc and cached_crc_adjust counts to perf dump (pr#6535, Ning Yao)
  • common: buffer: remove unneeded list destructor (pr#6456, Michal Jarzabek)
  • common/ceph_context.cc:fix order of initialisers (pr#6838, Michal Jarzabek)
  • common: don’t reverse hobject_t hash bits when zero (pr#6653, Piotr Dałek)
  • common: log: Assign LOG_DEBUG priority to syslog calls (issue#13993, pr#6815, Brad Hubbard)
  • common: log: predict log message buffer allocation size (pr#6641, Adam Kupczyk)
  • common: optimize debug logging code (pr#6441, Adam Kupczyk)
  • common: perf counter for bufferlist history total alloc (pr#6198, Xinze Chi)
  • common: reduce CPU usage by making stringstream in stringify function thread local (pr#6543, Evgeniy Firsov)
  • common: re-enable backtrace support (pr#6771, Jason Dillaman)
  • common: SubProcess: fix multiple definition bug (pr#6790, Yunchuan Wen)
  • common: use namespace instead of subclasses for buffer (pr#6686, Michal Jarzabek)
  • configure.ac: macro fix (pr#6769, Igor Podoski)
  • doc: admin/build-doc: add lxml dependencies on debian (pr#6610, Ken Dreyer)
  • doc/cephfs/posix: update (pr#6922, Sage Weil)
  • doc: CodingStyle: fix broken URLs (pr#6733, Kefu Chai)
  • doc: correct typo ‘restared’ to ‘restarted’ (pr#6734, Yilong Zhao)
  • doc/dev/index: refactor/reorg (pr#6792, Nathan Cutler)
  • doc/dev/index.rst: begin writing Contributing to Ceph (pr#6727, Nathan Cutler)
  • doc/dev/index.rst: fix headings (pr#6780, Nathan Cutler)
  • doc: dev: introduction to tests (pr#6910, Loic Dachary)
  • doc: file must be empty when writing layout fields of file use “setfattr” (pr#6848, Cilang Zhao)
  • doc: Fixed incorrect name of a “List Multipart Upload Parts” Response Entity (issue#14003, pr#6829, Lenz Grimmer)
  • doc: Fixes a spelling error (pr#6705, Jeremy Qian)
  • doc: fix typo in cephfs/quota (pr#6745, Drunkard Zhang)
  • doc: fix typo in developer guide (pr#6943, Nathan Cutler)
  • doc: INSTALL redirect to online documentation (pr#6749, Loic Dachary)
  • doc: little improvements for troubleshooting scrub issues (pr#6827, Mykola Golub)
  • doc: Modified a note section in rbd-snapshot doc. (pr#6908, Nilamdyuti Goswami)
  • doc: note that cephfs auth stuff is new in jewel (pr#6858, John Spray)
  • doc: osd: s/schedued/scheduled/ (pr#6872, Loic Dachary)
  • doc: remove unnecessary period in headline (pr#6775, Marc Koderer)
  • doc: rst style fix for pools document (pr#6816, Drunkard Zhang)
  • doc: Update list of admin/build-doc dependencies (issue#14070, pr#6934, Nathan Cutler)
  • init-ceph: do umount when the path exists. (pr#6866, Xiaoxi Chen)
  • journal: disconnect watch after watch error (issue#14168, pr#7113, Jason Dillaman)
  • journal: fire replay complete event after reading last object (issue#13924, pr#6762, Jason Dillaman)
  • journal: support replaying beyond skipped splay objects (pr#6687, Jason Dillaman)
  • librados: aix gcc librados port (pr#6675, Rohan Mars)
  • librados: avoid malloc(0) (which can return NULL on some platforms) (issue#13944, pr#6779, Dan Mick)
  • librados: clean up Objecter.h (pr#6731, Jie Wang)
  • librados: include/rados/librados.h: fix typo (pr#6741, Nathan Cutler)
  • librbd: automatically flush IO after blocking write operations (issue#13913, pr#6742, Jason Dillaman)
  • librbd: better handling of exclusive lock transition period (pr#7204, Jason Dillaman)
  • librbd: check for presence of journal before attempting to remove (issue#13912, pr#6737, Jason Dillaman)
  • librbd: clear error when older OSD doesn’t support image flags (issue#14122, pr#7035, Jason Dillaman)
  • librbd: correct include guard in RenameRequest.h (pr#7143, Jason Dillaman)
  • librbd: correct issues discovered during teuthology testing (issue#14108, issue#14107, pr#6974, Jason Dillaman)
  • librbd: correct issues discovered when cache is disabled (issue#14123, pr#6979, Jason Dillaman)
  • librbd: correct race conditions discovered during unit testing (issue#14060, pr#6923, Jason Dillaman)
  • librbd: disable copy-on-read when not exclusive lock owner (issue#14167, pr#7129, Jason Dillaman)
  • librbd: do not ignore self-managed snapshot release result (issue#14170, pr#7043, Jason Dillaman)
  • librbd: ensure copy-on-read requests are complete prior to closing parent image (pr#6740, Jason Dillaman)
  • librbd: ensure librados callbacks are flushed prior to destroying (issue#14092, pr#7040, Jason Dillaman)
  • librbd: fix journal iohint (pr#6917, Jianpeng Ma)
  • librbd: fix known test case race condition failures (issue#13969, pr#6800, Jason Dillaman)
  • librbd: fix merge-diff for >2GB diff-files (issue#14030, pr#6889, Yunchuan Wen)
  • librbd: fix test case race condition for journaling ops (pr#6877, Jason Dillaman)
  • librbd: fix tracepoint parameter in diff_iterate (pr#6892, Yunchuan Wen)
  • librbd: image refresh code paths converted to async state machines (pr#6859, Jason Dillaman)
  • librbd: include missing header for bool type (pr#6798, Mykola Golub)
  • librbd: initial collection of state machine unit tests (pr#6703, Jason Dillaman)
  • librbd: integrate journaling for maintenance operations (pr#6625, Jason Dillaman)
  • librbd: journaling-related lock dependency cleanup (pr#6777, Jason Dillaman)
  • librbd: not necessary to hold owner_lock while releasing snap id (issue#13914, pr#6736, Jason Dillaman)
  • librbd: only send signal when AIO completions queue empty (pr#6729, Jianpeng Ma)
  • librbd: optionally validate new RBD pools for snapshot support (issue#13633, pr#6925, Jason Dillaman)
  • librbd: partial revert of commit 9b0e359 (issue#13969, pr#6789, Jason Dillaman)
  • librbd: properly handle replay of snap remove RPC message (issue#14164, pr#7042, Jason Dillaman)
  • librbd: reduce verbosity of common error condition logging (issue#14234, pr#7114, Jason Dillaman)
  • librbd: simplify IO method signatures for 32bit environments (pr#6700, Jason Dillaman)
  • librbd: support eventfd for AIO completion notifications (pr#5465, Haomai Wang)
  • mailmap: add UMCloud affiliation (pr#6820, Jiaying Ren)
  • mailmap: Jewel updates (pr#6750, Abhishek Lekshmanan)
  • makefiles: remove bz2-dev from dependencies (issue#13981, pr#6939, Piotr Dałek)
  • mds: add ‘p’ flag in auth caps to control setting pool in layout (pr#6567, John Spray)
  • mds: fix client capabilities during reconnect (client.XXXX isn’t responding to mclientcaps(revoke)) (issue#11482, pr#6432, Yan, Zheng)
  • mds: fix setvxattr (broken in a536d114) (issue#14029, pr#6941, John Spray)
  • mds: repair the command option “–hot-standby” (pr#6454, Wei Feng)
  • mds: tear down connections from tell commands (issue#14048, pr#6933, John Spray)
  • mon: fix ceph df pool available calculation for 0-weighted OSDs (pr#6660, Chengyuan Li)
  • mon: fix routed_request_tids leak (pr#6102, Ning Yao)
  • mon: support min_down_reporter by subtree level (default by host) (pr#6709, Xiaoxi Chen)
  • mount.ceph: memory leaks (pr#6905, Qiankun Zheng)
  • osd: add osd op queue latency perfcounter (pr#5793, Haomai Wang)
  • osd: Allow repair of history.last_epoch_started using config (pr#6793, David Zafman)
  • osd: avoid duplicate op->mark_started in ReplicatedBackend (pr#6689, Jacek J. Łakis)
  • osd: cancel failure reports if we fail to rebind network (pr#6278, Xinze Chi)
  • osd: correctly handle small osd_scrub_interval_randomize_ratio (pr#7147, Samuel Just)
  • osd: defer decoding of MOSDRepOp/MOSDRepOpReply (pr#6503, Xinze Chi)
  • osd: don’t update epoch and rollback_info objects attrs if there is no need (pr#6555, Ning Yao)
  • osd: dump number of missing objects for each peer with pg query (pr#6058, Guang Yang)
  • osd: enable perfcounters on sharded work queue mutexes (pr#6455, Jacek J. Łakis)
  • osd: FileJournal: reduce locking scope in write_aio_bl (issue#12789, pr#5670, Zhi Zhang)
  • osd: FileStore: remove __SWORD_TYPE dependency (pr#6263, John Coyle)
  • osd: fix FileStore::_destroy_collection error return code (pr#6612, Ruifeng Yang)
  • osd: fix incorrect throttle in WBThrottle (pr#6713, Zhang Huan)
  • osd: fix MOSDRepScrub reference counter in replica_scrub (pr#6730, Jie Wang)
  • osd: fix rollback_info_trimmed_to before index() (issue#13965, pr#6801, Samuel Just)
  • osd: fix trivial scrub bug (pr#6533, Li Wang)
  • osd: KeyValueStore: don’t queue NULL context (pr#6783, Haomai Wang)
  • osd: make backend and block device code a bit more generic (pr#6759, Sage Weil)
  • osd: move newest decode version of MOSDOp and MOSDOpReply to the front (pr#6642, Jacek J. Łakis)
  • osd: pg_pool_t: add dictionary for pool options (issue#13077, pr#6081, Mykola Golub)
  • osd: reduce memory consumption of some structs (pr#6475, Piotr Dałek)
  • osd: release the message throttle when OpRequest unregistered (issue#14248, pr#7148, Samuel Just)
  • osd: remove __SWORD_TYPE dependency (pr#6262, John Coyle)
  • osd: slightly reduce actual size of pg_log_entry_t (pr#6690, Piotr Dałek)
  • osd: support pool level recovery_priority and recovery_op_priority (pr#5953, Guang Yang)
  • osd: use pg id (without shard) when referring the PG (pr#6236, Guang Yang)
  • packaging: add build dependency on python devel package (pr#7205, Josh Durgin)
  • pybind/cephfs: add symlink and its unit test (pr#6323, Shang Ding)
  • pybind: decode empty string in conf_parse_argv() correctly (pr#6711, Josh Durgin)
  • pybind: Implementation of rados_ioctx_snapshot_rollback (pr#6878, Florent Manens)
  • pybind: port the rbd bindings to Cython (issue#13115, pr#6768, Hector Martin)
  • pybind: support ioctx:exec (pr#6795, Noah Watkins)
  • qa: erasure-code benchmark plugin selection (pr#6685, Loic Dachary)
  • qa/krbd: Expunge generic/247 (pr#6831, Douglas Fuller)
  • qa/workunits/cephtool/test.sh: false positive fail on /tmp/obj1. (pr#6837, Robin H. Johnson)
  • qa/workunits/cephtool/test.sh: no ./ (pr#6748, Sage Weil)
  • qa/workunits/rbd: rbd-nbd test should use sudo for map/unmap ops (issue#14221, pr#7101, Jason Dillaman)
  • rados: bench: fix off-by-one to avoid writing past object_size (pr#6677, Tao Chang)
  • rbd: add –object-size option, deprecate –order (issue#12112, pr#6830, Vikhyat Umrao)
  • rbd: add RBD pool mirroring configuration API + CLI (pr#6129, Jason Dillaman)
  • rbd: fix build with “–without-rbd” (issue#14058, pr#6899, Piotr Dałek)
  • rbd: journal: configuration via conf, cli, api and some fixes (pr#6665, Mykola Golub)
  • rbd: merge_diff test should use new –object-size parameter instead of –order (issue#14106, pr#6972, Na Xie, Jason Dillaman)
  • rbd-nbd: network block device (NBD) support for RBD (pr#6657, Yunchuan Wen, Li Wang)
  • rbd: output formatter may not be closed upon error (issue#13711, pr#6706, xie xingguo)
  • rgw: add a missing cap type (pr#6774, Yehuda Sadeh)
  • rgw: add an inspection to the field of type when assigning user caps (pr#6051, Kongming Wu)
  • rgw: add LifeCycle feature (pr#6331, Ji Chen)
  • rgw: add support for Static Large Objects of Swift API (issue#12886, issue#13452, pr#6643, Yehuda Sadeh, Radoslaw Zarzynski)
  • rgw: fix a glaring syntax error (pr#6888, Pavan Rallabhandi)
  • rgw: fix the build failure (pr#6927, Kefu Chai)
  • rgw: multitenancy support (pr#6784, Yehuda Sadeh, Pete Zaitcev)
  • rgw: Remove unused code in PutMetadataAccount:execute (pr#6668, Pete Zaitcev)
  • rgw: remove unused variable in RGWPutMetadataBucket::execute (pr#6735, Radoslaw Zarzynski)
  • rgw/rgw_resolve: fallback to res_query when res_nquery not implemented (pr#6292, John Coyle)
  • rgw: static large objects (Radoslaw Zarzynski, Yehuda Sadeh)
  • rgw: swift bulk delete (Radoslaw Zarzynski)
  • systemd: start/stop/restart ceph services by daemon type (issue#13497, pr#6276, Zhi Zhang)
  • sysvinit: allow custom cluster names (pr#6732, Richard Chan)
  • test/encoding/readable.sh fix (pr#6714, Igor Podoski)
  • test: fix osd-scrub-snaps.sh (pr#6697, Xinze Chi)
  • test/librados/test.cc: clean up EC pools’ crush rules too (issue#13878, pr#6788, Loic Dachary, Dan Mick)
  • tests: allow object corpus readable test to skip specific incompat instances (pr#6932, Igor Podoski)
  • tests: ceph-helpers assert success getting backfills (pr#6699, Loic Dachary)
  • tests: ceph_test_keyvaluedb_iterators: fix broken test (pr#6597, Haomai Wang)
  • tests: fix failure for osd-scrub-snap.sh (issue#13986, pr#6890, Loic Dachary, Ning Yao)
  • tests: fix race condition testing auto scrub (issue#13592, pr#6724, Xinze Chi, Loic Dachary)
  • tests: flush op work queue prior to destroying MockImageCtx (issue#14092, pr#7002, Jason Dillaman)
  • tests: –osd-scrub-load-threshold=2000 for more consistency (issue#14027, pr#6871, Loic Dachary)
  • tests: osd-scrub-snaps.sh to display full osd logs on error (issue#13986, pr#6857, Loic Dachary)
  • test: use sequential journal_tid for object cacher test (issue#13877, pr#6710, Josh Durgin)
  • tools: add cephfs-table-tool ‘take_inos’ (pr#6655, John Spray)
  • tools: Fix layout handing in cephfs-data-scan (#13898) (pr#6719, John Spray)
  • tools: support printing part cluster map in readable fashion (issue#13079, pr#5921, Bo Cai)
  • vstart.sh: add mstart, mstop, mrun wrappers for running multiple vstart-style test clusters out of src tree (pr#6901, Yehuda Sadeh)

v10.0.1

This is the second development release for the Jewel cycle. Highlights include some KeyValueDB interface optimizations, initial journaling support in librbd, MDS scrubbing progress, and a bunch of OSD optimizations and improvements (removal of an unnecessary CRUSH calculation in the IO path, sharding for FileStore completions, improved temperature calculation for cache tiering, fixed randomization of scrub times, and various optimizations).

Notable Changes

  • build: build internal plugins and classes as modules (pr#6462, James Page)
  • build: fix Jenkins make check errors due to deep-scrub randomization (pr#6671, David Zafman)
  • build/ops: enable CR in CentOS 7 (issue#13997, pr#6844, Loic Dachary)
  • build/ops: rbd-replay moved from ceph-test-dbg to ceph-common-dbg (issue#13785, pr#6578, Loic Dachary)
  • ceph-disk: Add destroy and deactivate option (issue#7454, pr#5867, Vicente Cheng)
  • ceph-disk: compare parted output with the dereferenced path (issue#13438, pr#6219, Joe Julian)
  • ceph-objectstore-tool: fix –dry-run for many ceph-objectstore-tool operations (pr#6545, David Zafman)
  • ceph.spec.in: limit _smp_mflags when lowmem_builder is set in SUSE’s OBS (issue#13858, pr#6691, Nathan Cutler)
  • ceph_test_msgr: Use send_message instead of keepalive to wakeup connection (pr#6605, Haomai Wang)
  • client: avoid creating orphan object in Client::check_pool_perm() (issue#13782, pr#6603, Yan, Zheng)
  • client: use null snapc to check pool permission (issue#13714, pr#6497, Yan, Zheng)
  • cmake: add nss as a suffix for pk11pub.h (pr#6556, Samuel Just)
  • cmake: fix files list (pr#6539, Yehuda Sadeh)
  • cmake: librbd and libjournal build fixes (pr#6557, Ilya Dryomov)
  • coc: fix typo in the apt-get command (pr#6659, Chris Holcombe)
  • common: allow enable/disable of optracker at runtime (pr#5168, Jianpeng Ma)
  • common: fix reset max in Throttle using perf reset command (issue#13517, pr#6300, Xinze Chi)
  • doc: add v0.80.11 to the release timeline (pr#6658, Loic Dachary)
  • doc: release-notes: draft v0.80.11 release notes (pr#6374, Loic Dachary)
  • doc: release-notes: draft v10.0.0 release notes (pr#6666, Loic Dachary)
  • doc: SubmittingPatches: there is no next; only jewel (pr#6811, Nathan Cutler)
  • doc: Update ceph-disk manual page with new feature deactivate/destroy. (pr#6637, Vicente Cheng)
  • doc: update infernalis release notes (pr#6575, vasukulkarni)
  • fix: use right init_flags to finish CephContext (pr#6549, Yunchuan Wen)
  • init-ceph: use getopt to make option processing more flexible (issue#3015, pr#6089, Nathan Cutler)
  • journal: incremental improvements and fixes (pr#6552, Mykola Golub)
  • krbd: remove deprecated –quiet param from udevadm (issue#13560, pr#6394, Jason Dillaman)
  • kv: fix bug in kv key optimization (pr#6511, Sage Weil)
  • kv/KineticStore: fix broken split_key (pr#6574, Haomai Wang)
  • kv: optimize and clean up internal key/value interface (pr#6312, Piotr Dałek, Sage Weil)
  • librados: do cleanup (pr#6488, xie xingguo)
  • librados: fix pool alignment API overflow issue (issue#13715, pr#6489, xie xingguo)
  • librados: fix potential null pointer access when do pool_snap_list (issue#13639, pr#6422, xie xingguo)
  • librados: fix PromoteOn2ndRead test for EC (pr#6373, Sage Weil)
  • librados: fix rare race where pool op callback may hang forever (issue#13642, pr#6426, xie xingguo)
  • librados: Solaris port (pr#6416, Rohan Mars)
  • librbd: flush and invalidate cache via admin socket (issue#2468, pr#6453, Mykola Golub)
  • librbd: integrate journaling support for IO operations (pr#6541, Jason Dillaman)
  • librbd: perf counters might not be initialized on error (issue#13740, pr#6523, Jason Dillaman)
  • librbd: perf section name: use hyphen to separate components (issue#13719, pr#6516, Mykola Golub)
  • librbd: resize should only update image size within header (issue#13674, pr#6447, Jason Dillaman)
  • librbd: start perf counters after id is initialized (issue#13720, pr#6494, Mykola Golub)
  • mailmap: revise organization (pr#6519, Li Wang)
  • mailmap: Ubuntu Kylin name changed to Kylin Cloud (pr#6532, Loic Dachary)
  • mailmap: update .organizationmap (pr#6565, chenji-kael)
  • mailmap: updates for infernalis. (pr#6495, Yann Dupont)
  • mailmap: updates (pr#6594, chenji-kael)
  • mds: fix scrub_path (pr#6684, John Spray)
  • mds: properly set STATE_STRAY/STATE_ORPHAN for stray dentry/inode (issue#13777, pr#6553, Yan, Zheng)
  • mds: ScrubStack and “tag path” command (pr#5662, Yan, Zheng, John Spray, Greg Farnum)
  • mon: block ‘ceph osd pg-temp ...’ if pg_temp update is already pending (pr#6704, Sage Weil)
  • mon: don’t require OSD W for MRemoveSnaps (issue#13777, pr#6601, John Spray)
  • mon: initialize recorded election epoch properly even when standalone (issue#13627, pr#6407, huanwen ren)
  • mon: revert MonitorDBStore’s WholeStoreIteratorImpl::get (issue#13742, pr#6522, Piotr Dałek)
  • msg/async: let receiver ack message ASAP (pr#6478, Haomai Wang)
  • msg/async: support of non-block connect in async messenger (issue#12802, pr#5848, Jianhui Yuan)
  • msg/async: will crash if enabling async msg because of an assertion (pr#6640, Zhi Zhang)
  • osd: avoid calculating crush mapping for most ops (pr#6371, Sage Weil)
  • osd: avoid double-check for replaying and can_checkpoint() in FileStore::_check_replay_guard (pr#6471, Ning Yao)
  • osd: call on_new_interval on newly split child PG (issue#13962, pr#6778, Sage Weil)
  • osd: change mutex to spinlock to optimize thread context switch. (pr#6492, Xiaowei Chen)
  • osd: check do_shutdown before do_restart (pr#6547, Xiaoxi Chen)
  • osd: clarify the scrub result report (pr#6534, Li Wang)
  • osd: don’t do random deep scrubs for user initiated scrubs (pr#6673, David Zafman)
  • osd: FileStore: support multiple ondisk finish and apply finishers (pr#6486, Xinze Chi, Haomai Wang)
  • osd: fix broken balance / localized read handling (issue#13491, pr#6364, Jason Dillaman)
  • osd: fix bug in last_* PG state timestamps (pr#6517, Li Wang)
  • osd: fix ClassHandler::ClassData::get_filter() (pr#6747, Yan, Zheng)
  • osd: fixes for several cases where op result code was not checked or set (issue#13566, pr#6347, xie xingguo)
  • osd: fix reactivate (check OSDSuperblock in mkfs() when we already have the superblock) (issue#13586, pr#6385, Vicente Cheng)
  • osd: fix wrong use of right parenthesis in localized read logic (pr#6566, Jie Wang)
  • osd: improve temperature calculation for cache tier agent (pr#4737, MingXin Liu)
  • osd: merge local_t and op_t txn to single one (pr#6439, Xinze Chi)
  • osd: newstore: misc updates (including kv and os/fs stuff) (pr#6609, Sage Weil)
  • osd: note down the number of missing clones (pr#6654, Kefu Chai)
  • osd: optimize clone write path if object-map is enabled (pr#6403, xinxin shu)
  • osd: optimize scrub subset_last_update calculation (pr#6518, Li Wang)
  • osd: partial revert of “ReplicatedPG: result code not correctly set in some cases.” (issue#13796, pr#6622, Sage Weil)
  • osd: randomize deep scrubbing (pr#6550, Dan van der Ster, Herve Rousseau)
  • osd: scrub: do not assign value if read error (pr#6568, Li Wang)
  • osd: write file journal optimization (pr#6484, Xinze Chi)
  • rbd: accept –user, refuse -i command-line optionals (pr#6590, Ilya Dryomov)
  • rbd: add missing command aliases to refactored CLI (issue#13806, pr#6606, Jason Dillaman)
  • rbd: dynamically generated bash completion (issue#13494, pr#6316, Jason Dillaman)
  • rbd: fixes for refactored CLI and related tests (pr#6738, Ilya Dryomov)
  • rbd: make config changes actually apply (pr#6520, Mykola Golub)
  • rbd: refactor cli command handling (pr#5987, Jason Dillaman)
  • rbd: stripe unit/count set incorrectly from config (pr#6593, Mykola Golub)
  • rbd: support negative boolean command-line optionals (issue#13784, pr#6607, Jason Dillaman)
  • rbd: unbreak rbd map + cephx_sign_messages option (pr#6583, Ilya Dryomov)
  • rgw: bucket request payment support (issue#13427, pr#6214, Javier M. Mellid)
  • rgw: extend rgw_extended_http_attrs to affect Swift accounts and containers as well (pr#5969, Radoslaw Zarzynski)
  • rgw: fix openssl linkage (pr#6513, Yehuda Sadeh)
  • rgw: fix partial read issue in rgw_admin and rgw_tools (pr#6761, Jiaying Ren)
  • rgw: fix reload on non Debian systems. (pr#6482, Hervé Rousseau)
  • rgw: fix response of delete expired objects (issue#13469, pr#6228, Yuan Zhou)
  • rgw: fix swift API returning incorrect account metadata (issue#13140, pr#6047, Sangdi Xu)
  • rgw: link against system openssl (instead of dlopen at runtime) (pr#6419, Sage Weil)
  • rgw: prevent anonymous user from reading bucket with authenticated read ACL (issue#13207, pr#6057, root)
  • rgw: use smart pointer for C_Reinitwatch (pr#6767, Orit Wasserman)
  • systemd: fix typos (pr#6679, Tobias Suckow)
  • tests: centos7 needs the Continuous Release (CR) Repository enabled for (issue#13997, pr#6842, Brad Hubbard)
  • tests: concatenate test_rados_test_tool from src and qa (issue#13691, pr#6464, Loic Dachary)
  • tests: fix test_rados_tools.sh rados lookup (issue#13691, pr#6502, Loic Dachary)
  • tests: fix typo in TestClsRbd.snapshots test case (issue#13727, pr#6504, Jason Dillaman)
  • tests: ignore test-suite.log (pr#6584, Loic Dachary)
  • tests: restore run-cli-tests (pr#6571, Loic Dachary, Sage Weil, Jason Dillaman)
  • tools/cephfs: fix overflow writing header to fixed size buffer (#13816) (pr#6617, John Spray)

v10.0.0

This is the first development release for the Jewel cycle.

Notable Changes

  • build: cmake tweaks (pr#6254, John Spray)
  • build: more CMake package check fixes (pr#6108, Daniel Gryniewicz)
  • ceph-disk: get Nonetype when ceph-disk list with –format plain on single device. (pr#6410, Vicente Cheng)
  • ceph: fix tell behavior (pr#6329, David Zafman)
  • ceph-fuse: While starting ceph-fuse, start the log thread first (issue#13443, pr#6224, Wenjun Huang)
  • client: don’t mark_down on command reply (pr#6204, John Spray)
  • client: drop prefix from ints (pr#6275, John Coyle)
  • client: sys/file.h includes for flock operations (pr#6282, John Coyle)
  • cls_rbd: change object_map_update to return 0 on success, add logging (pr#6467, Douglas Fuller)
  • cmake: Use uname instead of arch. (pr#6358, John Coyle)
  • common: assert: __STRING macro is not defined by musl libc. (pr#6210, John Coyle)
  • common: fix OpTracker age histogram calculation (pr#5065, Zhiqiang Wang)
  • common/MemoryModel: Added explicit feature check for mallinfo(). (pr#6252, John Coyle)
  • common/obj_bencher.cc: fix verification crashing when there’s no objects (pr#5853, Piotr Dałek)
  • common: optimize debug logging (pr#6307, Adam Kupczyk)
  • common: Thread: move copy constructor and assignment op (pr#5133, Michal Jarzabek)
  • common: WorkQueue: new PointerWQ base class for ContextWQ (issue#13636, pr#6525, Jason Dillaman)
  • compat: use prefixed typeof extension (pr#6216, John Coyle)
  • crush: validate bucket id before indexing buckets array (issue#13477, pr#6246, Sage Weil)
  • doc: download GPG key from download.ceph.com (issue#13603, pr#6384, Ken Dreyer)
  • doc: fix outdated content in cache tier (pr#6272, Yuan Zhou)
  • doc/release-notes: v9.1.0 (pr#6281, Loic Dachary)
  • doc/releases-notes: fix build error (pr#6483, Kefu Chai)
  • doc: remove toctree items under Create CephFS (pr#6241, Jevon Qiao)
  • doc: rename the “Create a Ceph User” section and add verbage about… (issue#13502, pr#6297, ritz303)
  • docs: Fix styling of newly added mirror docs (pr#6127, Wido den Hollander)
  • doc, tests: update all http://ceph.com/ to download.ceph.com (pr#6435, Alfredo Deza)
  • doc: update doc for with new pool settings (pr#5951, Guang Yang)
  • doc: update radosgw-admin example (pr#6256, YankunLi)
  • doc: update the OS recommendations for newer Ceph releases (pr#6355, ritz303)
  • drop envz.h includes (pr#6285, John Coyle)
  • libcephfs: Improve portability by replacing loff_t type usage with off_t (pr#6301, John Coyle)
  • libcephfs: only check file offset on glibc platforms (pr#6288, John Coyle)
  • librados: fix examples/librados/Makefile error. (pr#6320, You Ji)
  • librados: init crush_location from config file. (issue#13473, pr#6243, Wei Luo)
  • librados: wrongly passed in argument for stat command (issue#13703, pr#6476, xie xingguo)
  • librbd: deadlock while attempting to flush AIO requests (issue#13726, pr#6508, Jason Dillaman)
  • librbd: fix enable objectmap feature issue (issue#13558, pr#6339, xinxin shu)
  • librbd: remove duplicate read_only test in librbd::async_flatten (pr#5856, runsisi)
  • mailmap: modify member info (pr#6468, Xiaowei Chen)
  • mailmap: updates (pr#6258, M Ranga Swami Reddy)
  • mailmap: Xie Xingguo affiliation (pr#6409, Loic Dachary)
  • mds: implement snapshot rename (pr#5645, xinxin shu)
  • mds: messages/MOSDOp: cast in assert to eliminate warnings (issue#13625, pr#6414, David Zafman)
  • mds: new filtered MDS tell commands for sessions (pr#6180, John Spray)
  • mds/Session: use projected parent for auth path check (issue#13364, pr#6200, Sage Weil)
  • mon: should not set isvalid = true when cephx_verify_authorizer return false (issue#13525, pr#6306, Ruifeng Yang)
  • osd: Add config option osd_read_ec_check_for_errors for testing (pr#5865, David Zafman)
  • osd: add pin/unpin support to cache tier (11066) (pr#6326, Zhiqiang Wang)
  • osd: auto repair EC pool (issue#12754, pr#6196, Guang Yang)
  • osd: drop the interim set from load_pgs() (pr#6277, Piotr Dałek)
  • osd: FileJournal: _fdump wrongly returns if journal is currently unreadable. (issue#13626, pr#6406, xie xingguo)
  • osd: FileStore: add a field indicate xattr only one chunk for set xattr. (pr#6244, Jianpeng Ma)
  • osd: FileStore: LFNIndex: remove redundant local variable ‘obj’. (issue#13552, pr#6333, xiexingguo)
  • osd: FileStore: potential memory leak if _fgetattrs fails (issue#13597, pr#6377, xie xingguo)
  • osd: FileStore: remove unused local variable ‘handle’ (pr#6381, xie xingguo)
  • osd: fix bogus scrub results when missing a clone (issue#12738, issue#12740, pr#5783, David Zafman)
  • osd: fix debug message in OSD::is_healthy (pr#6226, Xiaoxi Chen)
  • osd: fix MOSDOp encoding (pr#6174, Sage Weil)
  • osd: init started to 0 (issue#13206, pr#6107, Sage Weil)
  • osd: KeyValueStore: fix the name’s typo of keyvaluestore_default_strip_size (pr#6375, Zhi Zhang)
  • osd: new and delete ObjectStore::Transaction in a function is not necessary (pr#6299, Ruifeng Yang)
  • osd: optimize get_object_context (pr#6305, Jianpeng Ma)
  • osd: optimize MOSDOp/do_op/handle_op (pr#5211, Jacek J. Lakis)
  • osd: os/chain_xattr: On linux use linux/limits.h for XATTR_NAME_MAX. (pr#6343, John Coyle)
  • osd: reorder bool fields in PGLog struct (pr#6279, Piotr Dałek)
  • osd: ReplicatedPG: remove unused local variables (issue#13575, pr#6360, xiexingguo)
  • osd: reset primary and up_primary when building a new past_interval. (issue#13471, pr#6240, xiexingguo)
  • radosgw-admin: Checking the legality of the parameters (issue#13018, pr#5879, Qiankun Zheng)
  • radosgw-admin: Create –secret-key alias for –secret (issue#5821, pr#5335, Yuan Zhou)
  • radosgw-admin: metadata list user should return an empty list when user pool is empty (issue#13596, pr#6465, Orit Wasserman)
  • rados: new options for write benchmark (pr#6340, Joaquim Rocha)
  • rbd: fix clone isssue (issue#13553, pr#6334, xinxin shu)
  • rbd: fix init-rbdmap CMDPARAMS (issue#13214, pr#6109, Sage Weil)
  • rbdmap: systemd support (issue#13374, pr#6479, Boris Ranto)
  • rbd: rbdmap improvements (pr#6445, Boris Ranto)
  • release-notes: draft v0.94.4 release notes (pr#5907, Loic Dachary)
  • release-notes: draft v0.94.4 release notes (pr#6195, Loic Dachary)
  • release-notes: draft v0.94.4 release notes (pr#6238, Loic Dachary)
  • rgw: add compat header for TEMP_FAILURE_RETRY (pr#6294, John Coyle)
  • rgw: add default quota config (pr#6400, Daniel Gryniewicz)
  • rgw: add support for getting Swift’s DLO without manifest handling (pr#6206, Radoslaw Zarzynski)
  • rgw: clarify the error message when trying to create an existed user (pr#5938, Zeqiang Zhuang)
  • rgw: fix objects can not be displayed which object name does not cont… (issue#12963, pr#5738, Weijun Duan)
  • rgw: fix typo in RGWHTTPClient::process error message (pr#6424, Brad Hubbard)
  • rgw: fix wrong etag calculation during POST on S3 bucket. (issue#11241, pr#6030, Radoslaw Zarzynski)
  • rgw: mdlog trim add usage prompt (pr#6059, Weijun Duan)
  • rgw: modify the conditional statement in parse_metadata_key method. (pr#5875, Zengran Zhang)
  • rgw: refuse to calculate digest when the s3 secret key is empty (issue#13133, pr#6045, Sangdi Xu)
  • rgw: remove extra check in RGWGetObj::execute (issue#12352, pr#5262, Javier M. Mellid)
  • rgw: support core file limit for radosgw daemon (pr#6346, Guang Yang)
  • rgw: swift use Civetweb ssl can not get right url (issue#13628, pr#6408, Weijun Duan)
  • rocksdb: build with PORTABLE=1 (pr#6311, Sage Weil)
  • rocksdb: remove rdb source files from dist tarball (issue#13554, pr#6379, Kefu Chai)
  • rocksdb: use native rocksdb makefile (and our autotools) (pr#6290, Sage Weil)
  • rpm: ceph.spec.in: correctly declare systemd dependency for SLE/openSUSE (pr#6114, Nathan Cutler)
  • rpm: ceph.spec.in: fix libs-compat / devel-compat conditional (issue#12315, pr#5219, Ken Dreyer)
  • rpm: rhel 5.9 librados compile fix, moved blkid to RBD check/compilation (issue#13177, pr#5954, Rohan Mars)
  • scripts: release_notes can track original issue (pr#6009, Abhishek Lekshmanan)
  • test/libcephfs/flock: add sys/file.h include for flock operations (pr#6310, John Coyle)
  • test_rgw_admin: use freopen for output redirection. (pr#6303, John Coyle)
  • tests: allow docker-test.sh to run under root (issue#13355, pr#6173, Loic Dachary)
  • tests: ceph-disk workunit uses configobj (pr#6342, Loic Dachary)
  • tests: destroy testprofile before creating one (issue#13664, pr#6446, Loic Dachary)
  • tests: port uniqueness reminder (pr#6387, Loic Dachary)
  • tests: test/librados/test.cc must create profile (issue#13664, pr#6452, Loic Dachary)
  • tools/cephfs: fix overflow writing header to fixed size buffer (#13816) (pr#6617, John Spray)
  • tools: ceph-monstore-update-crush: add “–test” when testing crushmap (pr#6418, Kefu Chai)
  • tools:remove duplicate references (pr#5917, Bo Cai)
  • vstart: grant full access to Swift testing account (pr#6239, Yuan Zhou)
  • vstart: set cephfs root uid/gid to caller (pr#6255, John Spray)

v9.2.1 Infernalis

This Infernalis point release fixes several packagins and init script issues, enables the librbd objectmap feature by default, a few librbd bugs, and a range of miscellaneous bug fixes across the system.

We recommend that all infernalis v9.2.0 users upgrade.

For more detailed information, see the complete changelog.

Upgrading

  • Some symbols wrongly exposed by the C++ interface for librados in v9.1.0 and v9.2.0 were removed. If you compiled your own application against librados shipped with these releases, it is very likely referencing these removed symbols. So you will need to recompile it.

Notable Changes

  • build/ops: Ceph daemon failed to start, because the service name was already used. (issue#13474, pr#6833, Chuanhong Wang)
  • build/ops: ceph upstart script rbdmap.conf incorrectly processes parameters (issue#13214, pr#6396, Sage Weil)
  • build/ops: libunwind package missing on CentOS 7 (issue#13997, pr#6845, Loic Dachary)
  • build/ops: rbd-replay-* moved from ceph-test-dbg to ceph-common-dbg as well (issue#13785, pr#6628, Loic Dachary)
  • build/ops: systemd/ceph-disk@.service assumes /bin/flock (issue#13975, pr#6852, Loic Dachary)
  • build/ops: systemd: no rbdmap systemd unit file (issue#13374, pr#6500, Boris Ranto)
  • common: auth/cephx: large amounts of log are produced by osd (issue#13610, pr#6836, Qiankun Zheng)
  • common: log: Log.cc: Assign LOG_DEBUG priority to syslog calls (issue#13993, pr#6993, Brad Hubbard)
  • crush: crash if we see CRUSH_ITEM_NONE in early rule step (issue#13477, pr#6626, Sage Weil)
  • fs: Ceph file system is not freeing space (issue#13777, pr#7431, Yan, Zheng, John Spray)
  • fs: Ceph-fuse won’t start correctly when the option log_max_new in ceph.conf set to zero (issue#13443, pr#6395, Wenjun Huang)
  • fs: Segmentation fault accessing file using fuse mount (issue#13714, pr#6853, Yan, Zheng)
  • librbd: Avoid re-writing old-format image header on resize (issue#13674, pr#6630, Jason Dillaman)
  • librbd: ImageWatcher shouldn’t block the notification thread (issue#14373, pr#7406, Jason Dillaman)
  • librbd: QEMU hangs after creating snapshot and stopping VM (issue#13726, pr#6632, Jason Dillaman)
  • librbd: Verify self-managed snapshot functionality on image create (issue#13633, pr#7080, Jason Dillaman)
  • librbd: [ FAILED ] TestLibRBD.SnapRemoveViaLockOwner (issue#14164, pr#7079, Jason Dillaman)
  • librbd: enable feature objectmap (issue#13558, pr#6477, xinxin shu)
  • librbd: fix merge-diff for >2GB diff-files (issue#14030, pr#6981, Jason Dillaman)
  • librbd: flattening an rbd image with active IO can lead to hang (issue#14092, issue#14483, pr#7484, Jason Dillaman)
  • mds: fix client capabilities during reconnect (client.XXXX isn’t responding to mclientcaps warning) (issue#11482, pr#6752, Yan, Zheng)
  • mon: Ceph Pools’ MAX AVAIL is 0 if some OSDs’ weight is 0 (issue#13840, pr#6907, Chengyuan Li)
  • mon: should not set isvalid = true when cephx_verify_authorizer retur... (issue#13525, pr#6392, Ruifeng Yang)
  • objecter: pool op callback may hang forever. (issue#13642, pr#6627, xie xingguo)
  • objecter: potential null pointer access when do pool_snap_list. (issue#13639, pr#6840, xie xingguo)
  • osd: FileStore: potential memory leak if getattrs fails. (issue#13597, pr#6846, xie xingguo)
  • osd: OSD::build_past_intervals_parallel() shall reset primary and up_primary when begin a new past_interval. (issue#13471, pr#6397, xiexingguo)
  • osd: call on_new_interval on newly split child PG (issue#13962, pr#6849, Sage Weil)
  • osd: ceph-disk list fails on /dev/cciss!c0d0 (issue#13970, issue#14230, pr#6880, Loic Dachary)
  • osd: ceph-disk: use blkid instead of sgdisk -i (issue#14080, pr#7001, Loic Dachary, Ilya Dryomov)
  • osd: fix race condition during send_failures (issue#13821, pr#6694, Sage Weil)
  • osd: osd/PG.cc: 288: FAILED assert(info.last_epoch_started >= info.history.last_epoch_started) (issue#14015, pr#6851, David Zafman)
  • osd: pgs stuck inconsistent after infernalis upgrade (issue#13862, pr#7421, David Zafman)
  • rbd: TaskFinisher::cancel should remove event from SafeTimer (issue#14476, pr#7426, Douglas Fuller)
  • rbd: cls_rbd: object_map_save should enable checksums (issue#14280, pr#7428, Douglas Fuller)
  • rbd: misdirected op in rbd balance-reads test (issue#13491, pr#6629, Jason Dillaman)
  • rbd: pure virtual method called (issue#13636, pr#6633, Jason Dillaman)
  • rbd: rbd clone issue (issue#13553, pr#6474, xinxin shu)
  • rbd: rbd-replay does not check for EOF and goes to endless loop (issue#14452, pr#7427, Mykola Golub)
  • rbd: unknown argument –quiet in udevadm settle (issue#13560, pr#6634, Jason Dillaman)
  • rgw: init script reload doesn’t work on EL7 (issue#13709, pr#6650, Hervé Rousseau)
  • rgw: radosgw-admin –help doesn’t show the orphans find command (issue#14516, pr#7543, Yehuda Sadeh)
  • tests: ceph-disk workunit uses configobj (issue#14004, pr#6828, Loic Dachary)
  • tests: fsx failed to compile (issue#14384, pr#7429, Greg Farnum)
  • tests: notification slave needs to wait for master (issue#13810, pr#7225, Jason Dillaman)
  • tests: rebuild exclusive lock test should acquire exclusive lock (issue#14121, pr#7038, Jason Dillaman)
  • tests: testprofile must be removed before it is re-created (issue#13664, pr#6449, Loic Dachary)
  • tests: verify it is possible to reuse an OSD id (issue#13988, pr#6882, Loic Dachary)

v9.2.0 Infernalis

This major release will be the foundation for the next stable series. There have been some major changes since v0.94.x Hammer, and the upgrade process is non-trivial. Please read these release notes carefully.

Major Changes from Hammer

  • General:
    • Ceph daemons are now managed via systemd (with the exception of Ubuntu Trusty, which still uses upstart).
    • Ceph daemons run as ‘ceph’ user instead root.
    • On Red Hat distros, there is also an SELinux policy.
  • RADOS:
    • The RADOS cache tier can now proxy write operations to the base tier, allowing writes to be handled without forcing migration of an object into the cache.
    • The SHEC erasure coding support is no longer flagged as experimental. SHEC trades some additional storage space for faster repair.
    • There is now a unified queue (and thus prioritization) of client IO, recovery, scrubbing, and snapshot trimming.
    • There have been many improvements to low-level repair tooling (ceph-objectstore-tool).
    • The internal ObjectStore API has been significantly cleaned up in order to faciliate new storage backends like NewStore.
  • RGW:
    • The Swift API now supports object expiration.
    • There are many Swift API compatibility improvements.
  • RBD:
    • The rbd du command shows actual usage (quickly, when object-map is enabled).
    • The object-map feature has seen many stability improvements.
    • Object-map and exclusive-lock features can be enabled or disabled dynamically.
    • You can now store user metadata and set persistent librbd options associated with individual images.
    • The new deep-flatten features allows flattening of a clone and all of its snapshots. (Previously snapshots could not be flattened.)
    • The export-diff command command is now faster (it uses aio). There is also a new fast-diff feature.
    • The –size argument can be specified with a suffix for units (e.g., --size 64G).
    • There is a new rbd status command that, for now, shows who has the image open/mapped.
  • CephFS:
    • You can now rename snapshots.
    • There have been ongoing improvements around administration, diagnostics, and the check and repair tools.
    • The caching and revocation of client cache state due to unused inodes has been dramatically improved.
    • The ceph-fuse client behaves better on 32-bit hosts.

Distro compatibility

We have decided to drop support for many older distributions so that we can move to a newer compiler toolchain (e.g., C++11). Although it is still possible to build Ceph on older distributions by installing backported development tools, we are not building and publishing release packages for ceph.com.

We now build packages for:

  • CentOS 7 or later. We have dropped support for CentOS 6 (and other RHEL 6 derivatives, like Scientific Linux 6).
  • Debian Jessie 8.x or later. Debian Wheezy 7.x’s g++ has incomplete support for C++11 (and no systemd).
  • Ubuntu Trusty 14.04 or later. Ubuntu Precise 12.04 is no longer supported.
  • Fedora 22 or later.

Upgrading from Firefly

Upgrading directly from Firefly v0.80.z is not recommended. It is possible to do a direct upgrade, but not without downtime. We recommend that clusters are first upgraded to Hammer v0.94.4 or a later v0.94.z release; only then is it possible to upgrade to Infernalis 9.2.z for an online upgrade (see below).

To do an offline upgrade directly from Firefly, all Firefly OSDs must be stopped and marked down before any Infernalis OSDs will be allowed to start up. This fencing is enforced by the Infernalis monitor, so use an upgrade procedure like:

  1. Upgrade Ceph on monitor hosts

  2. Restart all ceph-mon daemons

  3. Upgrade Ceph on all OSD hosts

  4. Stop all ceph-osd daemons

  5. Mark all OSDs down with something like:

    ceph osd down `seq 0 1000`
  6. Start all ceph-osd daemons

  7. Upgrade and restart remaining daemons (ceph-mds, radosgw)

Upgrading from Hammer

  • All cluster nodes must first upgrade to Hammer v0.94.4 or a later v0.94.z release; only then is it possible to upgrade to Infernalis 9.2.z.

  • For all distributions that support systemd (CentOS 7, Fedora, Debian Jessie 8.x, OpenSUSE), ceph daemons are now managed using native systemd files instead of the legacy sysvinit scripts. For example,:

    systemctl start ceph.target       # start all daemons
    systemctl status ceph-osd@12      # check status of osd.12

    The main notable distro that is not yet using systemd is Ubuntu trusty 14.04. (The next Ubuntu LTS, 16.04, will use systemd instead of upstart.)

  • Ceph daemons now run as user and group ceph by default. The ceph user has a static UID assigned by Fedora and Debian (also used by derivative distributions like RHEL/CentOS and Ubuntu). On SUSE the ceph user will currently get a dynamically assigned UID when the user is created.

    If your systems already have a ceph user, upgrading the package will cause problems. We suggest you first remove or rename the existing ‘ceph’ user and ‘ceph’ group before upgrading.

    When upgrading, administrators have two options:

    1. Add the following line to ceph.conf on all hosts:

      setuser match path = /var/lib/ceph/$type/$cluster-$id

      This will make the Ceph daemons run as root (i.e., not drop privileges and switch to user ceph) if the daemon’s data directory is still owned by root. Newly deployed daemons will be created with data owned by user ceph and will run with reduced privileges, but upgraded daemons will continue to run as root.

    2. Fix the data ownership during the upgrade. This is the preferred option, but it is more work and can be very time consuming. The process for each host is to:

      1. Upgrade the ceph package. This creates the ceph user and group. For example:

        ceph-deploy install --stable infernalis HOST
      2. Stop the daemon(s).:

        service ceph stop           # fedora, centos, rhel, debian
        stop ceph-all               # ubuntu
      3. Fix the ownership:

        chown -R ceph:ceph /var/lib/ceph
        chown -R ceph:ceph /var/log/ceph
      4. Restart the daemon(s).:

        start ceph-all                # ubuntu
        systemctl start ceph.target   # debian, centos, fedora, rhel

      Alternatively, the same process can be done with a single daemon type, for example by stopping only monitors and chowning only /var/lib/ceph/mon.

  • The on-disk format for the experimental KeyValueStore OSD backend has changed. You will need to remove any OSDs using that backend before you upgrade any test clusters that use it.

  • When a pool quota is reached, librados operations now block indefinitely, the same way they do when the cluster fills up. (Previously they would return -ENOSPC). By default, a full cluster or pool will now block. If your librados application can handle ENOSPC or EDQUOT errors gracefully, you can get error returns instead by using the new librados OPERATION_FULL_TRY flag.

  • The return code for librbd’s rbd_aio_read and Image::aio_read API methods no longer returns the number of bytes read upon success. Instead, it returns 0 upon success and a negative value upon failure.

  • ‘ceph scrub’, ‘ceph compact’ and ‘ceph sync force are now DEPRECATED. Users should instead use ‘ceph mon scrub’, ‘ceph mon compact’ and ‘ceph mon sync force’.

  • ‘ceph mon_metadata’ should now be used as ‘ceph mon metadata’. There is no need to deprecate this command (same major release since it was first introduced).

  • The –dump-json option of “osdmaptool” is replaced by –dump json.

  • The commands of “pg ls-by-{pool,primary,osd}” and “pg ls” now take “recovering” instead of “recovery”, to include the recovering pgs in the listed pgs.

Notable Changes since Hammer

  • aarch64: add optimized version of crc32c (Yazen Ghannam, Steve Capper)
  • auth: cache/reuse crypto lib key objects, optimize msg signature check (Sage Weil)
  • auth: reinit NSS after fork() (#11128 Yan, Zheng)
  • autotools: fix out of tree build (Krxysztof Kosinski)
  • autotools: improve make check output (Loic Dachary)
  • buffer: add invalidate_crc() (Piotr Dalek)
  • buffer: fix zero bug (#12252 Haomai Wang)
  • buffer: some cleanup (Michal Jarzabek)
  • build: allow tcmalloc-minimal (Thorsten Behrens)
  • build: C++11 now supported
  • build: cmake: fix nss linking (Danny Al-Gaaf)
  • build: cmake: misc fixes (Orit Wasserman, Casey Bodley)
  • build: disable LTTNG by default (#11333 Josh Durgin)
  • build: do not build ceph-dencoder with tcmalloc (#10691 Boris Ranto)
  • build: fix junit detection on Fedora 22 (Ira Cooper)
  • build: fix pg ref disabling (William A. Kennington III)
  • build: fix ppc build (James Page)
  • build: install-deps: misc fixes (Loic Dachary)
  • build: install-deps.sh improvements (Loic Dachary)
  • build: install-deps: support OpenSUSE (Loic Dachary)
  • build: make_dist_tarball.sh (Sage Weil)
  • build: many cmake improvements
  • build: misc cmake fixes (Matt Benjamin)
  • build: misc fixes (Boris Ranto, Ken Dreyer, Owen Synge)
  • build: OSX build fixes (Yan, Zheng)
  • build: remove rest-bench
  • ceph-authtool: fix return code on error (Gerhard Muntingh)
  • ceph-detect-init: added Linux Mint (Michal Jarzabek)
  • ceph-detect-init: robust init system detection (Owen Synge)
  • ceph-disk: ensure ‘zap’ only operates on a full disk (#11272 Loic Dachary)
  • ceph-disk: fix zap sgdisk invocation (Owen Synge, Thorsten Behrens)
  • ceph-disk: follow ceph-osd hints when creating journal (#9580 Sage Weil)
  • ceph-disk: handle re-using existing partition (#10987 Loic Dachary)
  • ceph-disk: improve parted output parsing (#10983 Loic Dachary)
  • ceph-disk: install pip > 6.1 (#11952 Loic Dachary)
  • ceph-disk: make suppression work for activate-all and activate-journal (Dan van der Ster)
  • ceph-disk: many fixes (Loic Dachary, Alfredo Deza)
  • ceph-disk: fixes to respect init system (Loic Dachary, Owen Synge)
  • ceph-disk: pass –cluster arg on prepare subcommand (Kefu Chai)
  • ceph-disk: support for multipath devices (Loic Dachary)
  • ceph-disk: support NVMe device partitions (#11612 Ilja Slepnev)
  • ceph: fix ‘df’ units (Zhe Zhang)
  • ceph: fix parsing in interactive cli mode (#11279 Kefu Chai)
  • cephfs-data-scan: many additions, improvements (John Spray)
  • ceph-fuse: do not require successful remount when unmounting (#10982 Greg Farnum)
  • ceph-fuse, libcephfs: don’t clear COMPLETE when trimming null (Yan, Zheng)
  • ceph-fuse, libcephfs: drop inode when rmdir finishes (#11339 Yan, Zheng)
  • ceph-fuse,libcephfs: fix uninline (#11356 Yan, Zheng)
  • ceph-fuse, libcephfs: hold exclusive caps on dirs we “own” (#11226 Greg Farnum)
  • ceph-fuse: mostly behave on 32-bit hosts (Yan, Zheng)
  • ceph: improve error output for ‘tell’ (#11101 Kefu Chai)
  • ceph-monstore-tool: fix store-copy (Huangjun)
  • ceph: new ‘ceph daemonperf’ command (John Spray, Mykola Golub)
  • ceph-objectstore-tool: many many improvements (David Zafman)
  • ceph-objectstore-tool: refactoring and cleanup (John Spray)
  • ceph-post-file: misc fixes (Joey McDonald, Sage Weil)
  • ceph_test_rados: test pipelined reads (Zhiqiang Wang)
  • client: avoid sending unnecessary FLUSHSNAP messages (Yan, Zheng)
  • client: exclude setfilelock when calculating oldest tid (Yan, Zheng)
  • client: fix error handling in check_pool_perm (John Spray)
  • client: fsync waits only for inode’s caps to flush (Yan, Zheng)
  • client: invalidate kernel dcache when cache size exceeds limits (Yan, Zheng)
  • client: make fsync wait for unsafe dir operations (Yan, Zheng)
  • client: pin lookup dentry to avoid inode being freed (Yan, Zheng)
  • common: add descriptions to perfcounters (Kiseleva Alyona)
  • common: add perf counter descriptions (Alyona Kiseleva)
  • common: bufferlist performance tuning (Piotr Dalek, Sage Weil)
  • common: detect overflow of int config values (#11484 Kefu Chai)
  • common: fix bit_vector extent calc (#12611 Jason Dillaman)
  • common: fix json parsing of utf8 (#7387 Tim Serong)
  • common: fix leak of pthread_mutexattr (#11762 Ketor Meng)
  • common: fix LTTNG vs fork issue (Josh Durgin)
  • common: fix throttle max change (Henry Chang)
  • common: make mutex more efficient
  • common: make work queue addition/removal thread safe (#12662 Jason Dillaman)
  • common: optracker improvements (Zhiqiang Wang, Jianpeng Ma)
  • common: PriorityQueue tests (Kefu Chai)
  • common: some async compression infrastructure (Haomai Wang)
  • crush: add –check to validate dangling names, max osd id (Kefu Chai)
  • crush: cleanup, sync with kernel (Ilya Dryomov)
  • crush: fix crash from invalid ‘take’ argument (#11602 Shiva Rkreddy, Sage Weil)
  • crush: fix divide-by-2 in straw2 (#11357 Yann Dupont, Sage Weil)
  • crush: fix has_v4_buckets (#11364 Sage Weil)
  • crush: fix subtree base weight on adjust_subtree_weight (#11855 Sage Weil)
  • crush: respect default replicated ruleset config on map creation (Ilya Dryomov)
  • crushtool: fix order of operations, usage (Sage Weil)
  • crypto: fix NSS leak (Jason Dillaman)
  • crypto: fix unbalanced init/shutdown (#12598 Zheng Yan)
  • deb: fix rest-bench-dbg and ceph-test-dbg dependendies (Ken Dreyer)
  • debian: minor package reorg (Ken Dreyer)
  • deb, rpm: move ceph-objectstore-tool to ceph (Ken Dreyer)
  • doc: docuemnt object corpus generation (#11099 Alexis Normand)
  • doc: document region hostnames (Robin H. Johnson)
  • doc: fix gender neutrality (Alexandre Maragone)
  • doc: fix install doc (#10957 Kefu Chai)
  • doc: fix sphinx issues (Kefu Chai)
  • doc: man page updates (Kefu Chai)
  • doc: mds data structure docs (Yan, Zheng)
  • doc: misc updates (Fracois Lafont, Ken Dreyer, Kefu Chai, Owen Synge, Gael Fenet-Garde, Loic Dachary, Yannick Atchy-Dalama, Jiaying Ren, Kevin Caradant, Robert Maxime, Nicolas Yong, Germain Chipaux, Arthur Gorjux, Gabriel Sentucq, Clement Lebrun, Jean-Remi Deveaux, Clair Massot, Robin Tang, Thomas Laumondais, Jordan Dorne, Yuan Zhou, Valentin Thomas, Pierre Chaumont, Benjamin Troquereau, Benjamin Sesia, Vikhyat Umrao, Nilamdyuti Goswami, Vartika Rai, Florian Haas, Loic Dachary, Simon Guinot, Andy Allan, Alistair Israel, Ken Dreyer, Robin Rehu, Lee Revell, Florian Marsylle, Thomas Johnson, Bosse Klykken, Travis Rhoden, Ian Kelling)
  • doc: swift tempurls (#10184 Abhishek Lekshmanan)
  • doc: switch doxygen integration back to breathe (#6115 Kefu Chai)
  • doc: update release schedule docs (Loic Dachary)
  • erasure-code: cleanup (Kefu Chai)
  • erasure-code: improve tests (Loic Dachary)
  • erasure-code: shec: fix recovery bugs (Takanori Nakao, Shotaro Kawaguchi)
  • erasure-code: update ISA-L to 2.13 (Yuan Zhou)
  • gmock: switch to submodule (Danny Al-Gaaf, Loic Dachary)
  • hadoop: add terasort test (Noah Watkins)
  • init-radosgw: merge with sysv version; fix enumeration (Sage Weil)
  • java: fix libcephfs bindings (Noah Watkins)
  • libcephfs: add pread, pwrite (Jevon Qiao)
  • libcephfs,ceph-fuse: cache cleanup (Zheng Yan)
  • libcephfs,ceph-fuse: fix request resend on cap reconnect (#10912 Yan, Zheng)
  • librados: add config observer (Alistair Strachan)
  • librados: add FULL_TRY and FULL_FORCE flags for dealing with full clusters or pools (Sage Weil)
  • librados: add src_fadvise_flags for copy-from (Jianpeng Ma)
  • librados: define C++ flags from C constants (Josh Durgin)
  • librados: fadvise flags per op (Jianpeng Ma)
  • librados: fix last_force_resent handling (#11026 Jianpeng Ma)
  • librados: fix memory leak from C_TwoContexts (Xiong Yiliang)
  • librados: fix notify completion race (#13114 Sage Weil)
  • librados: fix striper when stripe_count = 1 and stripe_unit != object_size (#11120 Yan, Zheng)
  • librados, libcephfs: randomize client nonces (Josh Durgin)
  • librados: op perf counters (John Spray)
  • librados: pybind: fix binary omap values (Robin H. Johnson)
  • librados: pybind: fix write() method return code (Javier Guerra)
  • librados: respect default_crush_ruleset on pool_create (#11640 Yuan Zhou)
  • libradosstriper: fix leak (Danny Al-Gaaf)
  • librbd: add const for single-client-only features (Josh Durgin)
  • librbd: add deep-flatten operation (Jason Dillaman)
  • librbd: add purge_on_error cache behavior (Jianpeng Ma)
  • librbd: allow additional metadata to be stored with the image (Haomai Wang)
  • librbd: avoid blocking aio API methods (#11056 Jason Dillaman)
  • librbd: better handling for dup flatten requests (#11370 Jason Dillaman)
  • librbd: cancel in-flight ops on watch error (#11363 Jason Dillaman)
  • librbd: default new images to format 2 (#11348 Jason Dillaman)
  • librbd: fadvise for copy, export, import (Jianpeng Ma)
  • librbd: fast diff implementation that leverages object map (Jason Dillaman)
  • librbd: fix fast diff bugs (#11553 Jason Dillaman)
  • librbd: fix image format detection (Zhiqiang Wang)
  • librbd: fix lock ordering issue (#11577 Jason Dillaman)
  • librbd: fix reads larger than the cache size (Lu Shi)
  • librbd: fix snapshot creation when other snap is active (#11475 Jason Dillaman)
  • librbd: flatten/copyup fixes (Jason Dillaman)
  • librbd: handle NOCACHE fadvise flag (Jinapeng Ma)
  • librbd: lockdep, helgrind validation (Jason Dillaman, Josh Durgin)
  • librbd: metadata filter fixes (Haomai Wang)
  • librbd: misc aio fixes (#5488 Jason Dillaman)
  • librbd: misc rbd fixes (#11478 #11113 #11342 #11380 Jason Dillaman, Zhiqiang Wang)
  • librbd: new diff_iterate2 API (Jason Dillaman)
  • librbd: object map rebuild support (Jason Dillaman)
  • librbd: only update image flags while hold exclusive lock (#11791 Jason Dillaman)
  • librbd: optionally disable allocation hint (Haomai Wang)
  • librbd: prevent race between resize requests (#12664 Jason Dillaman)
  • librbd: readahead fixes (Zhiqiang Wang)
  • librbd: return result code from close (#12069 Jason Dillaman)
  • librbd: store metadata, including config options, in image (Haomai Wang)
  • librbd: tolerate old osds when getting image metadata (#11549 Jason Dillaman)
  • librbd: use write_full when possible (Zhiqiang Wang)
  • log: fix data corruption race resulting from log rotation (#12465 Samuel Just)
  • logrotate.d: prefer service over invoke-rc.d (#11330 Win Hierman, Sage Weil)
  • mds: add ‘damaged’ state to MDSMap (John Spray)
  • mds: add nicknames for perfcounters (John Spray)
  • mds: avoid emitting cap warnigns before evicting session (John Spray)
  • mds: avoid getting stuck in XLOCKDONE (#11254 Yan, Zheng)
  • mds: disable problematic rstat propagation into snap parents (Yan, Zheng)
  • mds: do not add snapped items to bloom filter (Yan, Zheng)
  • mds: expose frags via asok (John Spray)
  • mds: fix expected holes in journal objects (#13167 Yan, Zheng)
  • mds: fix handling for missing mydir dirfrag (#11641 John Spray)
  • mds: fix integer truncateion on large client ids (Henry Chang)
  • mds: fix mydir replica issue with shutdown (#10743 John Spray)
  • mds: fix out-of-order messages (#11258 Yan, Zheng)
  • mds: fix rejoin (Yan, Zheng)
  • mds: fix setting entire file layout in one setxattr (John Spray)
  • mds: fix shutdown (John Spray)
  • mds: fix shutdown with strays (#10744 John Spray)
  • mds: fix SnapServer crash on deleted pool (John Spray)
  • mds: fix snapshot bugs (Yan, Zheng)
  • mds: fix stray reintegration (Yan, Zheng)
  • mds: fix stray handling (John Spray)
  • mds: fix suicide beacon (John Spray)
  • mds: flush immediately in do_open_truncate (#11011 John Spray)
  • mds: handle misc corruption issues (John Spray)
  • mds: improve dump methods (John Spray)
  • mds: many fixes (Yan, Zheng, John Spray, Greg Farnum)
  • mds: many snapshot and stray fixes (Yan, Zheng)
  • mds: misc fixes (Jianpeng Ma, Dan van der Ster, Zhang Zhi)
  • mds: misc journal cleanups and fixes (#10368 John Spray)
  • mds: misc repair improvements (John Spray)
  • mds: misc snap fixes (Zheng Yan)
  • mds: misc snapshot fixes (Yan, Zheng)
  • mds: new SessionMap storage using omap (#10649 John Spray)
  • mds: persist completed_requests reliably (#11048 John Spray)
  • mds: reduce memory consumption (Yan, Zheng)
  • mds: respawn instead of suicide on blacklist (John Spray)
  • mds: separate safe_pos in Journaler (#10368 John Spray)
  • mds: snapshot rename support (#3645 Yan, Zheng)
  • mds: store layout on header object (#4161 John Spray)
  • mds: throttle purge stray operations (#10390 John Spray)
  • mds: tolerate clock jumping backwards (#11053 Yan, Zheng)
  • mds: warn when clients fail to advance oldest_client_tid (#10657 Yan, Zheng)
  • misc cleanups and fixes (Danny Al-Gaaf)
  • misc coverity fixes (Danny Al-Gaaf)
  • misc performance and cleanup (Nathan Cutler, Xinxin Shu)
  • mon: add cache over MonitorDBStore (Kefu Chai)
  • mon: add ‘mon_metadata <id>’ command (Kefu Chai)
  • mon: add ‘node ls ...’ command (Kefu Chai)
  • mon: add NOFORWARD, OBSOLETE, DEPRECATE flags for mon commands (Joao Eduardo Luis)
  • mon: add PG count to ‘ceph osd df’ output (Michal Jarzabek)
  • mon: ‘ceph osd metadata’ can dump all osds (Haomai Wang)
  • mon: clean up, reorg some mon commands (Joao Eduardo Luis)
  • monclient: flush_log (John Spray)
  • mon: detect kv backend failures (Sage Weil)
  • mon: disallow >2 tiers (#11840 Kefu Chai)
  • mon: disallow ec pools as tiers (#11650 Samuel Just)
  • mon: do not deactivate last mds (#10862 John Spray)
  • mon: fix average utilization calc for ‘osd df’ (Mykola Golub)
  • mon: fix CRUSH map test for new pools (Sage Weil)
  • mon: fix log dump crash when debugging (Mykola Golub)
  • mon: fix mds beacon replies (#11590 Kefu Chai)
  • mon: fix metadata update race (Mykola Golub)
  • mon: fix min_last_epoch_clean tracking (Kefu Chai)
  • mon: fix ‘pg ls’ sort order, state names (#11569 Kefu Chai)
  • mon: fix refresh (#11470 Joao Eduardo Luis)
  • mon: fix variance calc in ‘osd df’ (Sage Weil)
  • mon: improve callout to crushtool (Mykola Golub)
  • mon: make blocked op messages more readable (Jianpeng Ma)
  • mon: make osd get pool ‘all’ only return applicable fields (#10891 Michal Jarzabek)
  • mon: misc scaling fixes (Sage Weil)
  • mon: normalize erasure-code profile for storage and comparison (Loic Dachary)
  • mon: only send mon metadata to supporting peers (Sage Weil)
  • mon: optionally specify osd id on ‘osd create’ (Mykola Golub)
  • mon: ‘osd tree’ fixes (Kefu Chai)
  • mon: periodic background scrub (Joao Eduardo Luis)
  • mon: prevent bucket deletion when referenced by a crush rule (#11602 Sage Weil)
  • mon: prevent pgp_num > pg_num (#12025 Xinxin Shu)
  • mon: prevent pool with snapshot state from being used as a tier (#11493 Sage Weil)
  • mon: prime pg_temp when CRUSH map changes (Sage Weil)
  • mon: refine check_remove_tier checks (#11504 John Spray)
  • mon: reject large max_mds values (#12222 John Spray)
  • mon: remove spurious who arg from ‘mds rm ...’ (John Spray)
  • mon: streamline session handling, fix memory leaks (Sage Weil)
  • mon: upgrades must pass through hammer (Sage Weil)
  • mon: warn on bogus cache tier config (Jianpeng Ma)
  • msgr: add ceph_perf_msgr tool (Hoamai Wang)
  • msgr: async: fix seq handling (Haomai Wang)
  • msgr: async: many many fixes (Haomai Wang)
  • msgr: simple: fix clear_pipe (#11381 Haomai Wang)
  • msgr: simple: fix connect_seq assert (Haomai Wang)
  • msgr: xio: fastpath improvements (Raju Kurunkad)
  • msgr: xio: fix ip and nonce (Raju Kurunkad)
  • msgr: xio: improve lane assignment (Vu Pham)
  • msgr: xio: sync with accellio v1.4 (Vu Pham)
  • msgr: xio: misc fixes (#10735 Matt Benjamin, Kefu Chai, Danny Al-Gaaf, Raju Kurunkad, Vu Pham, Casey Bodley)
  • msg: unit tests (Haomai Wang)
  • objectcacher: misc bug fixes (Jianpeng Ma)
  • osd: add latency perf counters for tier operations (Xinze Chi)
  • osd: add misc perfcounters (Xinze Chi)
  • osd: add simple sleep injection in recovery (Sage Weil)
  • osd: allow SEEK_HOLE/SEEK_DATA for sparse read (Zhiqiang Wang)
  • osd: avoid dup omap sets for in pg metadata (Sage Weil)
  • osd: avoid multiple hit set insertions (Zhiqiang Wang)
  • osd: avoid transaction append in some cases (Sage Weil)
  • osd