===== Jewel ===== Jewel is the 10th stable release of Ceph. It is named after the jewel squid (Histioteuthis reversa). v10.2.11 Jewel ============== This point releases brings a number of important bugfixes and has a few important security fixes. This is expected to be the last Jewel release. We recommend all Jewel 10.2.x users to upgrade. Notable Changes --------------- * CVE 2018-1128: auth: cephx authorizer subject to replay attack (`issue#24836 `_, Sage Weil) * CVE 2018-1129: auth: cephx signature check is weak (`issue#24837 `_, Sage Weil) * CVE 2018-10861: mon: auth checks not correct for pool ops (`issue#24838 `_, Jason Dillaman) * The RBD C API's rbd_discard method and the C++ API's Image::discard method now enforce a maximum length of 2GB. This restriction prevents overflow of the result code. * New OSDs will now use rocksdb for omap data by default, rather than leveldb. omap is used by RGW bucket indexes and CephFS directories, and when a single leveldb grows to 10s of GB with a high write or delete workload, it can lead to high latency when leveldb's single-threaded compaction cannot keep up. rocksdb supports multiple threads for compaction, which avoids this problem. * The CephFS client now catches failures to clear dentries during startup and refuses to start as consistency and untrimmable cache issues may develop. The new option client_die_on_failed_dentry_invalidate (default: true) may be turned off to allow the client to proceed (dangerous!). * In 10.2.10 and earlier releases, keyring caps were not checked for validity, so the caps string could be anything. As of 10.2.11, caps strings are validated and providing a keyring with an invalid caps string to, e.g., "ceph auth add" will result in an error. Changelog --------- * admin: bump sphinx to 1.6 (`issue#21717 `_, `pr#18166 `_, Kefu Chai, Alfredo Deza) * auth: ceph auth add does not sanity-check caps (`issue#22525 `_, `pr#21367 `_, Jing Li, Nathan Cutler, Kefu Chai, Sage Weil) * build/ops: rpm: bump epoch ahead of ceph-common in RHEL base (`issue#20508 `_, `pr#21190 `_, Ken Dreyer) * build/ops: upstart: radosgw-all does not start on boot if ceph-base is not installed (`issue#18313 `_, `pr#16294 `_, Ken Dreyer) * ceph_authtool: add mode option (`issue#23513 `_, `pr#21197 `_, Sébastien Han) * ceph-disk: factor out the retry logic into a decorator (`issue#21728 `_, `pr#18169 `_, Kefu Chai) * ceph-disk: fix --runtime omission when enabling ceph-osd@$ID.service units for device-backed OSDs (`issue#21498 `_, `pr#17942 `_, Carl Xiong) * ceph-disk flake8 test fails on very old, and very new, versions of flake8 (`issue#22207 `_, `pr#19153 `_, Nathan Cutler) * cephfs: ceph.in: pass RADOS inst to LibCephFS (`issue#21406 `_, `issue#21967 `_, `pr#19907 `_, Patrick Donnelly) * cephfs: client::mkdirs not handle well when two clients send mkdir request for a same dir (`issue#20592 `_, `pr#20271 `_, dongdong tao) * cephfs: client: prevent fallback to remount when dentry_invalidate_cb is true but root->dir is NULL (`issue#23211 `_, `pr#21189 `_, Zhi Zhang) * cephfs: fix tmap_upgrade crash (`issue#23529 `_, `pr#21208 `_, "Yan, Zheng") * cephfs: fuse client: ::rmdir() uses a deleted memory structure of dentry leads … (`issue#22536 `_, `pr#19993 `_, YunfeiGuan) * cephfs-journal-tool: add "set pool_id" option (`issue#22631 `_, `pr#20111 `_, dongdong tao) * cephfs-journal-tool: move shutdown to the deconstructor of MDSUtility (`issue#22734 `_, `pr#20333 `_, dongdong tao) * cephfs: osdc: "FAILED assert(bh->last_write_tid > tid)" in powercycle-wip-yuri-master-1.19.18-distro-basic-smithi (`issue#22741 `_, `pr#20312 `_, "Yan, Zheng") * cephfs: osdc/Journaler: make sure flush() writes enough data (`issue#22824 `_, `pr#20435 `_, "Yan, Zheng") * cephfs: Processes stuck waiting for write with ceph-fuse (`issue#22008 `_, `issue#22207 `_, `pr#19141 `_, "Yan, Zheng") * ceph-fuse: failure to remount in startup test does not handle client_die_on_failed_remount properly (`issue#22269 `_, `pr#21162 `_, Patrick Donnelly) * ceph.in: bypass codec when writing raw binary data (`issue#23185 `_, `pr#20763 `_, Oleh Prypin) * ceph-objectstore-tool command to trim the pg log (`issue#23242 `_, `pr#20882 `_, Josh Durgin, David Zafman) * ceph-objectstore-tool: "$OBJ get-omaphdr" and "$OBJ list-omap" scan all pgs instead of using specific pg (`issue#21327 `_, `pr#20284 `_, David Zafman) * ceph.restart + ceph_manager.wait_for_clean is racy (`issue#15778 `_, `pr#20508 `_, Warren Usui, Sage Weil) * ceph_volume_client: fix setting caps for IDs (`issue#21501 `_, `pr#18084 `_, Ramana Raja) * class rbd.Image discard----OSError: [errno 2147483648] error discarding region (`issue#16465 `_, `issue#21966 `_, `pr#20287 `_, Nathan Cutler, Huan Zhang, Jason Dillaman) * cli/crushtools/build.t sometimes fails in jenkins' make check run (`issue#21758 `_, `pr#21158 `_, Kefu Chai) * client reconnect gather race (`issue#22263 `_, `pr#21163 `_, "Yan, Zheng") * client: release revoking Fc after invalidate cache (`issue#22652 `_, `pr#19975 `_, "Yan, Zheng") * client: set client_try_dentry_invalidate to false by default (`issue#21423 `_, `pr#17925 `_, "Yan, Zheng") * [cli] rename of non-existent image results in seg fault (`issue#21248 `_, `pr#20280 `_, Jason Dillaman) * CLI unit formatting tests are broken (`issue#24733 `_, `pr#22913 `_, Jason Dillaman) * common: compute SimpleLRU's size with contents.size() instead of lru.… (`issue#22613 `_, `pr#19978 `_, Xuehan Xu) * common/config: set rocksdb_cache_size to OPT_U64 (`issue#22104 `_, `pr#18850 `_, Vikhyat Umrao, liuhongtong) * common: fix typo in rados bench write JSON output (`issue#24199 `_, `pr#22407 `_, Sandor Zeestraten) * config: lower default omap entries recovered at once (`issue#21897 `_, `pr#19927 `_, Josh Durgin) * core: Addition of online osd 'omap'compaction command (`issue#19592 `_, `pr#17101 `_, liuchang0812, Sage Weil) * core: global/signal_handler.cc: fix typo (`issue#21432 `_, `pr#17883 `_, Kefu Chai) * core: librados: Double free in rados_getxattrs_next (`issue#22042 `_, `pr#20381 `_, Gu Zhongyan) * core: Objecter::C_ObjectOperation_sparse_read throws/catches exceptions on -ENOENT (`issue#21844 `_, `pr#18743 `_, Jason Dillaman) * Deleting a pool with active notify linger ops can result in seg fault (`issue#23966 `_, `pr#22188 `_, Kefu Chai, Jason Dillaman) * doc: clarify Path Restriction instructions (`issue#16906 `_, `pr#19795 `_, huanwen ren) * doc: clarify Path Restriction instructions (`issue#16906 `_, `pr#19840 `_, Drunkard Zhang) * doc: remove region from INSTALL CEPH OBJECT GATEWAY (`issue#21610 `_, `pr#18303 `_, Orit Wasserman) * Filestore rocksdb compaction readahead option not set by default (`issue#21505 `_, `pr#20446 `_, Mark Nelson) * follow-on: osd: be_select_auth_object() sanity check oi soid (`issue#20471 `_, `pr#20622 `_, David Zafman) * HashIndex: randomize split threshold by a configurable amount (`issue#15835 `_, `pr#19906 `_, Josh Durgin) * include/fs_types: fix unsigned integer overflow (`issue#22494 `_, `pr#19611 `_, runsisi) * install-deps.sh: point gcc to the one shipped by distro (`issue#22220 `_, `pr#19461 `_, Kefu Chai) * install-deps.sh: readlink /usr/bin/gcc not /usr/bin/x86_64-linux-gnu-gcc (`issue#22220 `_, `pr#19521 `_, Kefu Chai) * install-deps.sh: update g++ symlink also (`issue#22220 `_, `pr#19656 `_, Kefu Chai) * journal: Message too long error when appending journal (`issue#23526 `_, `pr#21215 `_, Mykola Golub) * [journal] tags are not being expired if no other clients are registered (`issue#21960 `_, `pr#20282 `_, Jason Dillaman) * legal: remove doc license ambiguity (`issue#23336 `_, `pr#20999 `_, Nathan Cutler) * librados: copy out data to users' buffer for xio (`issue#20616 `_, `pr#17594 `_, Vu Pham) * librbd: cannot clone all image-metas if we have more than 64 key/value pairs (`issue#21814 `_, `pr#21228 `_, PCzhangPC) * librbd: cannot copy all image-metas if we have more than 64 key/value pairs (`issue#21815 `_, `pr#21203 `_, PCzhangPC) * librbd: create+truncate for whole-object layered discards (`issue#23285 `_, `pr#21219 `_, Jason Dillaman) * librbd: list_children should not attempt to refresh image (`issue#21670 `_, `pr#21224 `_, Jason Dillaman) * librbd: object map batch update might cause OSD suicide timeout (`issue#22716 `_, `issue#21797 `_, `pr#21220 `_, Song Shun, Jason Dillaman) * librbd: set deleted parent pointer to null (`issue#22158 `_, `pr#19098 `_, Jason Dillaman) * log: Fix AddressSanitizer: new-delete-type-mismatch (`issue#23324 `_, `pr#21084 `_, Brad Hubbard) * mds: FAILED assert(get_version() < pv) in CDir::mark_dirty (`issue#21584 `_, `pr#21156 `_, Yan, Zheng, "Yan, Zheng") * mds: fix dump last_sent (`issue#22562 `_, `pr#19961 `_, dongdong tao) * mds: fix integer overflow (`issue#21067 `_, `pr#17188 `_, Henry Chang) * mds: fix scrub crash (`issue#22730 `_, `pr#20335 `_, dongdong tao) * mds: session reference leak (`issue#22821 `_, `pr#21175 `_, Nathan Cutler, "Yan, Zheng") * mds: unbalanced auth_pin/auth_unpin in RecoveryQueue code (`issue#22647 `_, `pr#20067 `_, "Yan, Zheng") * mds: underwater dentry check in CDir::_omap_fetched is racy (`issue#23032 `_, `pr#21185 `_, Yan, Zheng) * mon/LogMonitor: call no_reply() on ignored log message (`issue#24180 `_, `pr#22431 `_, Sage Weil) * mon/MDSMonitor: no_reply on MMDSLoadTargets (`issue#23769 `_, `pr#22189 `_, Sage Weil) * mon/OSDMonitor.cc: fix expected_num_objects interpret error (`issue#22530 `_, `pr#22050 `_, Yang Honggang) * mon/OSDMonitor: fix dividing by zero in OSDUtilizationDumper (`issue#22662 `_, `pr#20344 `_, Mingxin Liu) * ObjectStore/StoreTest.FiemapHoles/3 fails with kstore (`issue#21716 `_, `pr#20143 `_, Kefu Chai, Ning Yao) * osd: also check the exsistence of clone obc for "CEPH_SNAPDIR" requests (`issue#17445 `_, `pr#17707 `_, Xuehan Xu) * osdc/Objecter: prevent double-invocation of linger op callback (`issue#23872 `_, `pr#21754 `_, Jason Dillaman) * osd: objecter sends out of sync with pg epochs for proxied ops (`issue#22123 `_, `pr#20518 `_, Sage Weil) * osd ops (sent and?) arrive at osd out of order (`issue#19133 `_, `issue#19139 `_, `pr#17893 `_, Jianpeng Ma, Sage Weil) * osd: OSDMap cache assert on shutdown (`issue#21737 `_, `pr#21184 `_, Greg Farnum) * osd: osd_scrub_during_recovery only considers primary, not replicas (`issue#18206 `_, `pr#17815 `_, David Zafman) * osd/PrimaryLogPG: dump snap_trimq size (`issue#22448 `_, `pr#21200 `_, Piotr Dałek) * osd: recover_replicas: object added to missing set for backfill, but is not in recovering, error! (`issue#18162 `_, `issue#14513 `_, `pr#18690 `_, huangjun, Adam C. Emerson, David Zafman) * osd: replica read can trigger cache promotion (`issue#20919 `_, `pr#21199 `_, Sage Weil) * osd: update heartbeat peers when a new OSD is added (`issue#18004 `_, `pr#20108 `_, Pan Liu) * performance: Only scan for omap corruption once (`issue#21328 `_, `pr#18951 `_, David Zafman) * qa: failures from pjd fstest (`issue#21383 `_, `pr#21152 `_, "Yan, Zheng") * qa: src/test/libcephfs/test.cc:376: Expected: (len) > (0), actual: -34 vs 0 (`issue#22221 `_, `pr#21172 `_, Patrick Donnelly) * qa: use xfs instead of btrfs w/ filestore (`issue#20169 `_, `issue#20911 `_, `pr#18165 `_, Sage Weil) * qa: use xfs instead of btrfs w/ filestore (`issue#21481 `_, `pr#17847 `_, Patrick Donnelly) * radosgw: fix awsv4 header line sort order (`issue#21607 `_, `pr#18080 `_, Marcus Watts) * rbd: clean up warnings when mirror commands used on non-setup pool (`issue#21319 `_, `pr#21227 `_, Jason Dillaman) * rbd: disk usage on empty pool no longer returns an error message (`issue#22200 `_, `pr#19186 `_, Jason Dillaman) * [rbd] image-meta list does not return all entries (`issue#21179 `_, `pr#20281 `_, Jason Dillaman) * rbd: is_qemu_running in qemu_rebuild_object_map.sh and qemu_dynamic_features.sh may return false positive (`issue#23502 `_, `pr#21207 `_, Mykola Golub) * rbd: [journal] allocating a new tag after acquiring the lock should use on-disk committed position (`issue#22945 `_, `pr#21206 `_, Jason Dillaman) * rbd: librbd: filter out potential race with image rename (`issue#18435 `_, `pr#19855 `_, Jason Dillaman) * rbd ls -l crashes with SIGABRT (`issue#21558 `_, `pr#19801 `_, Jason Dillaman) * rbd-mirror: cluster watcher should ensure it has latest OSD map (`issue#22461 `_, `pr#19644 `_, Jason Dillaman) * rbd-mirror: fix potential infinite loop when formatting status message (`issue#22932 `_, `pr#20418 `_, Mykola Golub) * rbd-mirror: ignore permission errors on rbd_mirroring object (`issue#20571 `_, `pr#21225 `_, Jason Dillaman) * rbd-mirror: strip environment/CLI overrides for remote cluster (`issue#21894 `_, `pr#21223 `_, Jason Dillaman) * [rbd-nbd] Fedora does not register resize events (`issue#22131 `_, `pr#19115 `_, Jason Dillaman) * rbd-nbd: fix ebusy when do map (`issue#23528 `_, `pr#21232 `_, Li Wang) * rbd: possible deadlock in various maintenance operations (`issue#22120 `_, `pr#20285 `_, Jason Dillaman) * rbd: rbd crashes during map (`issue#21808 `_, `pr#18843 `_, Peter Keresztes Schmidt) * rbd: rbd-mirror split brain test case can have a false-positive failure until teuthology (`issue#22485 `_, `pr#21205 `_, Jason Dillaman) * rbd: TestLibRBD.RenameViaLockOwner may still fail with -ENOENT (`issue#23068 `_, `pr#20627 `_, Mykola Golub) * repair_test fails due to race with osd start (`issue#20705 `_, `pr#20146 `_, Sage Weil) * rgw: 15912 15673 (Fix duplicate tag removal during GC, cls/refcount: store and use list of retired tags) (`issue#20107 `_, `pr#16708 `_, Jens Rosenboom) * rgw: abort in listing mapped nbd devices when running in a container (`issue#22012 `_, `issue#22011 `_, `pr#20286 `_, Li Wang, Pan Liu) * rgw: add ability to sync user stats from admin api (`issue#21301 `_, `pr#20179 `_, Nathan Johnson) * rgw: add cors header rule check in cors option request (`issue#22002 `_, `pr#19057 `_, yuliyang) * rgw: add radosgw-admin sync error trim to trim sync error log (`issue#23287 `_, `pr#21210 `_, fang yuxiang) * rgw: add xml output header in RGWCopyObj_ObjStore_S3 response msg (`issue#22416 `_, `pr#19887 `_, Enming Zhang) * rgw: automated trimming of datalog and mdlog (`issue#18227 `_, `pr#20061 `_, Casey Bodley) * rgw: bi list entry count incremented on error, distorting error code (`issue#21205 `_, `pr#18207 `_, Nathan Cutler) * rgw: boto3 v4 SignatureDoesNotMatch failure due to sorting of sse-kms headers (`issue#21832 `_, `pr#18772 `_, Nathan Cutler) * rgw: bucket resharding should not update bucket ACL or user stats (`issue#22124 `_, `pr#20421 `_, Orit Wasserman) * rgw: copying part without http header x-amz-copy-source-range will be mistaken for copying object (`issue#22729 `_, `pr#21294 `_, Malcolm Lee) * rgw: core dump, recursive lock of RGWKeystoneTokenCache (`issue#23171 `_, `pr#20639 `_, Mark Kogan, Adam Kupczyk) * rgw: data sync of versioned objects, note updating bi marker (`issue#18885 `_, `pr#21213 `_, Yehuda Sadeh) * rgw: dont log EBUSY errors in 'sync error list' (`issue#22473 `_, `pr#19908 `_, Casey Bodley) * rgw: ECANCELED in rgw_get_system_obj() leads to infinite loop (`issue#17996 `_, `pr#20561 `_, Yehuda Sadeh) * rgw: file deadlock on lru evicting (`issue#22736 `_, `pr#20076 `_, Matt Benjamin) * rgw: file write error (`issue#21455 `_, `pr#18304 `_, Yao Zongyou) * rgw: fix chained cache invalidation to prevent cache size growth (`issue#22410 `_, `pr#19469 `_, Mark Kogan) * rgw: fix doubled underscore with s3/swift server-side copy (`issue#22529 `_, `pr#19747 `_, Matt Benjamin) * rgw: fix GET website response error code (`issue#22272 `_, `pr#19488 `_, Dmitry Plyakin) * rgw: fix index update in dir_suggest_changes (`issue#24280 `_, `pr#22677 `_, Tianshan Qu) * rgw: fix marker encoding problem (`issue#20463 `_, `pr#17731 `_, Orit Wasserman, Marcus Watts) * rgw: fix swift anonymous access (`issue#22259 `_, `pr#19194 `_, Marcus Watts) * rgw: Fix swift object expiry not deleting objects (`issue#22084 `_, `pr#18925 `_, Pavan Rallabhandi) * rgw: fix the bug that part's index can't be removed after completing (`issue#19604 `_, `pr#16763 `_, Zhang Shaowen, Matt Benjamin) * rgw: fix the max-uploads parameter not work (`issue#22825 `_, `pr#20479 `_, Xin Liao) * rgw: inefficient buffer usage for PUTs (`issue#23207 `_, `pr#21098 `_, Marcus Watts) * rgw: libcurl & ssl fixes (`issue#22951 `_, `issue#23203 `_, `issue#23162 `_, `pr#20749 `_, Marcus Watts, Abhishek Lekshmanan, Jesse Williamson) * rgw: list bucket which enable versioning get wrong result when user marker (`issue#21500 `_, `pr#20291 `_, yuliyang) * rgw: log includes zero byte sometimes (`issue#20037 `_, `pr#17151 `_, Abhishek Lekshmanan) * rgw: make init env methods return an error (`issue#23039 `_, `pr#20800 `_, Abhishek Lekshmanan) * RGW: Multipart upload may double the quota (`issue#21586 `_, `pr#18121 `_, Sibei Gao, Matt Benjamin) * rgw: multisite: data sync status advances despite failure in RGWListBucketIndexesCR (`issue#21735 `_, `pr#20269 `_, Casey Bodley) * rgw: multisite: Get bucket location which is located in another zonegroup, will return 301 Moved Permanently (`issue#21125 `_, `pr#18305 `_, Shasha Lu, lvshuhua, Jiaying Ren) * rgw: null instance mtime incorrect when enable versioning (`issue#21743 `_, `pr#20262 `_, Shasha Lu) * rgw: radosgw-admin: add an option to reset user stats (`issue#23335 `_, `issue#23322 `_, `pr#20877 `_, Abhishek Lekshmanan) * rgw: release cls lock if taken in RGWCompleteMultipart (`issue#21596 `_, `issue#22368 `_, `pr#18116 `_, Casey Bodley, Matt Benjamin) * rgw: resharding needs to set back the bucket ACL after link (`issue#22742 `_, `pr#20039 `_, Orit Wasserman) * rgw: resolve Random 500 errors in Swift PutObject (22517) (`issue#22517 `_, `issue#21560 `_, `pr#19769 `_, Adam C. Emerson, Matt Benjamin) * rgw: rgw_file: recursive lane lock can occur in LRU drain (`issue#20374 `_, `pr#17149 `_, Matt Benjamin) * rgw: S3 POST policy should not require Content-Type (`issue#20201 `_, `pr#19635 `_, Matt Benjamin) * rgw: s3website error handler uses original object name (`issue#23201 `_, `issue#20307 `_, `pr#21100 `_, liuhong, Casey Bodley) * rgw: segfaults after running radosgw-admin data sync init (`issue#22083 `_, `pr#19783 `_, Casey Bodley, Abhishek Lekshmanan) * rgw: segmentation fault when starting radosgw after reverting .rgw.root (`issue#21996 `_, `pr#20292 `_, Orit Wasserman, Casey Bodley) * rgw: stale bucket index entry remains after object deletion (`issue#22555 `_, `pr#20293 `_, J. Eric Ivancich) * rgw: system user can't delete bucket completely (`issue#22248 `_, `pr#21212 `_, Casey Bodley) * rgw: tcmalloc (`issue#23469 `_, `pr#21073 `_, Matt Benjamin) * rgw: upldate the max-buckets when the quota is uploaded (`issue#22745 `_, `pr#20496 `_, zhaokun) * rgw: user creation can overwrite existing user even if different uid is given (`issue#21685 `_, `pr#20074 `_, Casey Bodley) * RHEL 7.3 Selinux denials at OSD start (`issue#19200 `_, `pr#18780 `_, Boris Ranto) * scrub errors not cleared on replicas can cause inconsistent pg state when replica takes over primary (`issue#23267 `_, `pr#21194 `_, David Zafman) * snapset xattr corruption propagated from primary to other shards (`issue#20186 `_, `issue#18409 `_, `issue#21907 `_, `pr#20331 `_, David Zafman) * systemd: Add explicit Before=ceph.target (`issue#21477 `_, `pr#17841 `_, Tim Serong) * table of contents doesn't render for luminous/jewel docs (`issue#23780 `_, `pr#21503 `_, Alfredo Deza) * test: Adjust for Jewel quirk caused of differences with master (`issue#23006 `_, `pr#20463 `_, David Zafman) * test/CMakeLists: disable test_pidfile.sh (`issue#20975 `_, `pr#20557 `_, Sage Weil) * test_health_warnings.sh can fail (`issue#21121 `_, `pr#20289 `_, Sage Weil) * test/librbd: fixed metadata tests under upgrade scenarios (`issue#21911 `_, `pr#18548 `_, Jason Dillaman) * test/librbd: utilize unique pool for cache tier testing (`issue#11502 `_, `pr#20524 `_, Jason Dillaman) * tests: rbd_mirror_helpers.sh request_resync_image function saves image id to wrong variable (`issue#21663 `_, `pr#19804 `_, Jason Dillaman) * tests: test_admin_socket.sh may fail on wait_for_clean (`issue#23499 `_, `pr#21125 `_, Mykola Golub) * tests: tests/librbd: updated test_notify to handle new release lock semantics (`issue#21912 `_, `pr#18560 `_, Jason Dillaman) * tests: unittest_pglog timeout (`issue#23504 `_, `issue#18030 `_, `pr#21135 `_, Nathan Cutler, Loic Dachary) * tools: ceph-objectstore-tool set-size should clear data-digest (`issue#22112 `_, `pr#20070 `_, David Zafman) * Ubuntu amd64 client can not discover the ubuntu arm64 ceph cluster (`issue#19705 `_, `pr#18294 `_, Kefu Chai) v10.2.10 Jewel ============== This point release brings a number of important bugfixes in all major components of Ceph, we recommend all Jewel 10.2.x users to upgrade. For a detailed list of changes refer to :download: `the complete changelog <../changelog/v10.2.10txt>` Notable Changes ----------------- * build/ops: Add fix subcommand to ceph-disk, fix SELinux denials, and speed up upgrade from non-SELinux enabled ceph to an SELinux enabled one (`issue#20077 `_, `issue#20184 `_, `issue#19545 `_, `pr#14346 `_, Boris Ranto) * build/ops: deb: Fix logrotate packaging (`issue#19938 `_, `pr#15428 `_, Nathan Cutler) * build/ops: extended, customizable systemd ceph-disk timeout (`issue#18740 `_, `pr#15051 `_, Alexey Sheplyakov) * build/ops: rpm: fix python-Sphinx package name for SUSE (`issue#19924 `_, `pr#15196 `_, Nathan Cutler, Jan Matejek) * build/ops: rpm: set subman cron attributes in spec file (`issue#20074 `_, `pr#15473 `_, Thomas Serlin) * cephfs: ceph-fuse segfaults at mount time, assert in ceph::log::Log::stop (`issue#18157 `_, `pr#16963 `_, Greg Farnum) * cephfs: df reports negative disk "used" value when quota exceed (`issue#20178 `_, `pr#16151 `_, John Spray) * cephfs: get_quota_root sends lookupname op for every buffered write (`issue#20945 `_, `pr#17396 `_, Dan van der Ster) * cephfs: osdc/Filer: truncate large file party by party (`issue#19755 `_, `pr#15442 `_, "Yan, Zheng") * core: an OSD was seen getting ENOSPC even with osd_failsafe_full_ratio passed (`issue#20544 `_, `issue#16878 `_, `issue#19733 `_, `issue#15912 `_, `pr#15050 `_, Sage Weil, David Zafman) * core: disable skewed utilization warning by default (`issue#20730 `_, `pr#17210 `_, David Zafman) * core: interval_set: optimize intersect_of insert operations (`issue#21229 `_, `pr#17514 `_, Zac Medico) * core: kv: let ceph_logger destructed after db reset (`issue#21336 `_, `pr#17626 `_, wumingqiao) * core: test_envlibrados_for_rocksdb.yaml fails on crypto restart (`issue#19741 `_, `pr#16293 `_, Kefu Chai) * libradosstriper silently fails to delete empty objects in jewel (`issue#20325 `_, `pr#15760 `_, Stan K) * librbd: fail IO request when exclusive lock cannot be obtained (`issue#20168 `_, `issue#21251 `_, `pr#17402 `_, Jason Dillaman) * librbd: prevent self-blacklisting during break lock (`issue#18666 `_, `pr#17412 `_, Jason Dillaman) * librbd: reacquire lock should update lock owner client id (`issue#19929 `_, `pr#17385 `_, Jason Dillaman) * mds: damage reporting by ino number is useless (`issue#18509 `_, `issue#16016 `_, `pr#14699 `_, John Spray, Michal Jarzabek) * mds: log rotation doesn't work if mds has respawned (`issue#19291 `_, `pr#14673 `_, Patrick Donnelly) * mds: save projected path into inode_t::stray_prior_path (`issue#20340 `_, `pr#16150 `_, "Yan, Zheng") * mon: crash on shutdown, lease_ack_timeout event (`issue#19825 `_, `pr#15083 `_, Kefu Chai, Michal Jarzabek, Alexey Sheplyakov) * mon: Disallow enabling 'hashpspool' option to a pool without some kind of --i-understand-this-will-remap-all-pgs flag (`issue#18468 `_, `pr#13507 `_, Vikhyat Umrao) * mon: factor mon_osd_full_ratio into MAX AVAIL calc (`issue#18522 `_, `pr#15236 `_, Sage Weil) * mon: fail to form large quorum; msg/async busy loop (`issue#20230 `_, `pr#15726 `_, Haomai Wang, Michal Jarzabek) * mon: fix force_pg_create pg stuck in creating bug (`issue#18298 `_, `pr#17008 `_, Alexey Sheplyakov) * mon: osd crush set crushmap need sanity check (`issue#19302 `_, `pr#16144 `_, Loic Dachary) * osd: Add heartbeat message for Jumbo Frames (MTU 9000) (`issue#20087 `_, `issue#20323 `_, `pr#16059 `_, Piotr Dałek, Sage Weil, Greg Farnum) * osd: fix infinite loops in fiemap (`issue#19996 `_, `pr#15189 `_, Sage Weil, Ning Yao) * osd: leaked MOSDMap (`issue#18293 `_, `pr#14943 `_, Sage Weil) * osd: objecter full_try behavior not consistent with osd (`issue#19430 `_, `pr#15474 `_, Sage Weil) * osd: omap threadpool heartbeat is only reset every 100 values (`issue#20375 `_, `pr#16167 `_, Josh Durgin) * osd: osd_internal_types: wake snaptrimmer on put_read lock, too (`issue#19131 `_, `pr#16015 `_, Sage Weil) * osd: PrimaryLogPG: do not call on_shutdown() if (pg.deleting) (`issue#19902 `_, `pr#15065 `_, Kefu Chai) * osd: rados ls on pool with no access returns no error (`issue#20043 `_, `issue#19790 `_, `pr#16473 `_, Nathan Cutler, Kefu Chai, John Spray, Sage Weil, Brad Hubbard) * osd: ReplicatedPG: solve cache tier osd high memory consumption (`issue#20464 `_, `pr#16169 `_, Peng Xie) * osd: Reset() snaptrimmer on shutdown and do not default-abort on leaked pg refs (`issue#19931 `_, `pr#15322 `_, Greg Farnum) * osd: scrub_to specifies clone ver, but transaction include head write ver (`issue#20041 `_, `pr#16405 `_, David Zafman) * osd: unlock sdata_op_ordering_lock with sdata_lock hold to avoid missing wakeup signal (`issue#20427 `_, `pr#15947 `_, Alexey Sheplyakov) * qa: add a sleep after restarting osd before "tell"ing it (`issue#16239 `_, `pr#15475 `_, Kefu Chai) * rbd: api: is_exclusive_lock_owner shouldn't return -EBUSY (`issue#20182 `_, `pr#16296 `_, Jason Dillaman) * rbd: cli: ensure positional arguments exist before casting (`issue#20185 `_, `pr#16295 `_, Jason Dillaman) * rbd: cli: map with cephx disabled results in error message (`issue#19035 `_, `pr#16297 `_, Jason Dillaman) * rbd: default features should be negotiated with the OSD (`issue#17010 `_, `pr#14874 `_, Mykola Golub, Jason Dillaman) * rbd: Enabling mirroring for a pool with clones may fail (`issue#19798 `_, `issue#19130 `_, `pr#14663 `_, Mykola Golub, Jason Dillaman) * rbd-mirror: image sync should send NOCACHE advise flag (`issue#17127 `_, `pr#16285 `_, Mykola Golub) * rbd: object-map: batch updates during trim operation (`issue#17356 `_, `pr#15460 `_, Mykola Golub, Venky Shankar, Nathan Cutler) * rbd: Potential IO hang if image is flattened while read request is in-flight (`issue#19832 `_, `pr#15464 `_, Jason Dillaman) * rbd: rbd_clone_copy_on_read ineffective with exclusive-lock (`issue#18888 `_, `pr#16124 `_, Nathan Cutler, Venky Shankar, Jason Dillaman) * rbd: rbd-mirror: ensure missing images are re-synced when detected (`issue#19811 `_, `pr#15488 `_, Jason Dillaman) * rbd: rbd-mirror: failover and failback of unmodified image results in split-brain (`issue#19858 `_, `pr#14977 `_, Jason Dillaman) * rbd: rbd-nbd: kernel reported invalid device size (0, expected 1073741824) (`issue#19871 `_, `pr#15463 `_, Mykola Golub) * rgw: add the remove-x-delete feature to cancel swift object expiration (`issue#19074 `_, `pr#14659 `_, Jing Wenjun) * rgw: aws4: add rgw_s3_auth_aws4_force_boto2_compat conf option (`issue#16463 `_, `pr#17009 `_, Javier M. Mellid) * rgw: bucket index check in radosgw-admin removes valid index (`issue#18470 `_, `pr#16856 `_, Zhang Shaowen, Pavan Rallabhandi) * rgw: cls: ceph::timespan tag_timeout wrong units (`issue#20380 `_, `pr#16289 `_, Matt Benjamin) * rgw: Custom data header support (`issue#19644 `_, `pr#15966 `_, Pavan Rallabhandi) * rgw: datalog trim can't work as expected (`issue#20190 `_, `pr#16299 `_, Zhang Shaowen) * rgw: Delete non-empty bucket in slave zonegroup (`issue#19313 `_, `pr#15477 `_, Zhang Shaowen) * rgw: Do not decrement stats cache when the cache values are zero (`issue#20661 `_, `issue#20934 `_, `pr#16720 `_, Aleksei Gutikov, Pavan Rallabhandi) * rgw: fix crash caused by shard id out of range when listing data log (`issue#19732 `_, `pr#15465 `_, redickwang) * rgw: fix hangs in RGWRealmReloader::reload on SIGHUP (`issue#20686 `_, `pr#17281 `_, fang.yuxiang) * rgw: fix infinite loop in rest api for log list (`issue#20386 `_, `pr#15988 `_, xierui, Casey Bodley) * rgw: fix race in RGWCompleteMultipart (`issue#20861 `_, `pr#16767 `_, Abhishek Varshney, Matt Benjamin) * rgw: Fix up to 1000 entries at a time in check_bad_index_multipart (`issue#20772 `_, `pr#16880 `_, Orit Wasserman, Matt Benjamin) * rgw: folders starting with _ underscore are not in bucket index (`issue#19432 `_, `pr#16276 `_, Giovani Rinaldi, Orit Wasserman) * rgw: 'gc list --include-all' command infinite loop the first 1000 items (`issue#19978 `_, `pr#15719 `_, Shasha Lu, fang yuxiang) * rgw: meta sync thread crash at RGWMetaSyncShardCR (`issue#20251 `_, `pr#16711 `_, fang yuxiang, Nathan Cutler) * rgw: multipart copy-part remove '/' for s3 java sdk request header (`issue#20075 `_, `pr#16266 `_, donglingpeng) * rgw: multipart parts on versioned bucket create versioned bucket index entries (`issue#19604 `_, `issue#17964 `_, `pr#17278 `_, Zhang Shaowen) * rgw: multisite: after CreateBucket is forwarded to master, local bucket may use different value for bucket index shards (`issue#19745 `_, `pr#15450 `_, Shasha Lu) * rgw: multisite: bucket zonegroup redirect not working (`issue#19488 `_, `pr#15448 `_, Casey Bodley) * rgw: multisite: fixes for meta sync across periods (`issue#18639 `_, `pr#15556 `_, Casey Bodley) * rgw: multisite: lock is not released when RGWMetaSyncShardCR::full_sync() fails to write marker (`issue#18077 `_, `pr#17155 `_, Zhang Shaowen) * rgw: multisite: log_meta on secondary zone causes continuous loop of metadata sync (`issue#20357 `_, `issue#20244 `_, `pr#17148 `_, Orit Wasserman, Casey Bodley) * rgw: multisite: memory leak on failed lease in RGWDataSyncShardCR (`issue#19861 `_, `issue#19834 `_, `issue#19446 `_, `pr#15457 `_, Casey Bodley, weiqiaomiao) * rgw: multisite: operating bucket's acl&cors is not restricted on slave zone (`issue#16888 `_, `pr#15453 `_, Casey Bodley, Shasha Lu, Guo Zhandong) * rgw: multisite: realm rename does not propagate to other clusters (`issue#19746 `_, `pr#15454 `_, Casey Bodley) * rgw: multisite: rest api fails to decode large period on "period commit" (`issue#19505 `_, `pr#15447 `_, Casey Bodley) * rgw: multisite: RGWPeriodPuller does not call RGWPeriod::reflect() on new period (`issue#19816 `_, `issue#19817 `_, `pr#17167 `_, Casey Bodley) * rgw: multisite: RGWRadosRemoveOmapKeysCR::request_complete return val is wrong (`issue#20539 `_, `pr#17156 `_, Shasha Lu) * rgw: not initialized pointer cause rgw crash with ec data pool (`issue#20542 `_, `pr#17164 `_, Aleksei Gutikov, fang yuxiang) * rgw: radosgw-admin: bucket rm with --bypass-gc and without --purge-data doesn't throw error message (`issue#20688 `_, `pr#17159 `_, Abhishek Varshney) * rgw: radosgw-admin data sync run crash (`issue#20423 `_, `pr#17165 `_, Shasha Lu) * rgw: radosgw-admin: fix bucket limit check argparse, div(0) (`issue#20966 `_, `pr#16952 `_, Matt Benjamin) * rgw: reduce log level of 'storing entry at' in cls_log (`issue#19835 `_, `pr#15455 `_, Willem Jan Withagen) * rgw: remove unnecessary 'error in read_id for object name: default' (`issue#19922 `_, `pr#15197 `_, weiqiaomiao) * rgw: replace '+' with "%20" in canonical query string for s3 v4 auth (`issue#20501 `_, `pr#16951 `_, Zhang Shaowen, Matt Benjamin) * rgw: rgw_common.cc: modify the end check in RGWHTTPArgs::sys_get (`issue#16072 `_, `pr#16268 `_, zhao kun) * rgw: rgw_file: cannot delete bucket w/uxattrs (`issue#20061 `_, `issue#20047 `_, `issue#19214 `_, `issue#20045 `_, `pr#15459 `_, Matt Benjamin) * rgw: rgw_file: fix size and (c|m)time unix attrs in write_finish (`issue#19653 `_, `pr#15449 `_, Matt Benjamin) * rgw: rgw_file: incorrect lane lock behavior in evict_block() (`issue#21141 `_, `pr#17597 `_, Matt Benjamin) * rgw: rgw_file: prevent conflict of mkdir between restarts (`issue#20275 `_, `pr#17147 `_, Gui Hecheng) * rgw: rgw_file: v3 write timer does not close open handles (`issue#19932 `_, `pr#15456 `_, Matt Benjamin) * rgw: Segmentation fault when exporting rgw bucket in nfs-ganesha (`issue#20663 `_, `pr#17285 `_, Matt Benjamin) * rgw: send data-log list infinitely (`issue#20951 `_, `pr#17287 `_, fang.yuxiang) * rgw: set latest object's acl failed (`issue#18649 `_, `pr#15451 `_, Zhang Shaowen) * rgw: Truncated objects (`issue#20107 `_, `pr#17166 `_, Yehuda Sadeh) * rgw: uninitialized memory is accessed during creation of bucket's metadata (`issue#20774 `_, `pr#17280 `_, Radoslaw Zarzynski) * rgw: usage logging on tenated buckets causes invalid memory reads (`issue#20779 `_, `pr#17279 `_, Radoslaw Zarzynski) * rgw: user quota did not work well on multipart upload (`issue#19285 `_, `issue#19602 `_, `pr#17277 `_, Zhang Shaowen) * rgw: VersionIdMarker and NextVersionIdMarker are not returned when listing object versions (`issue#19886 `_, `pr#16316 `_, Zhang Shaowen) * rgw: when uploading objects continuously into a versioned bucket, some objects will not sync (`issue#18208 `_, `pr#15452 `_, lvshuhua) * tools: ceph cli: Rados object in state configuring race (`issue#16477 `_, `pr#15762 `_, Loic Dachary) * tools: ceph-disk: dmcrypt cluster must default to ceph (`issue#20893 `_, `pr#16870 `_, Loic Dachary) * tools: ceph-disk: don't activate suppressed journal devices (`issue#19489 `_, `pr#16703 `_, David Disseldorp) * tools: ceph-disk: separate ceph-osd --check-needs-\* logs (`issue#19888 `_, `pr#15503 `_, Loic Dachary) * tools: ceph-disk: systemd unit timesout too quickly (`issue#20229 `_, `pr#17133 `_, Loic Dachary) * tools: ceph-disk: Use stdin for 'config-key put' command (`issue#21059 `_, `pr#17084 `_, Brad Hubbard, Loic Dachary, Sage Weil) * tools: libradosstriper processes arbitrary printf placeholders in user input (`issue#20240 `_, `pr#17574 `_, Stan K) v10.2.9 Jewel ============= This point release fixes a regression introduced in v10.2.8. We recommend that all Jewel users upgrade. For more detailed information, see :download:`the complete changelog <../changelog/v10.2.9.txt>`. Notable Changes --------------- * cephfs: Damaged MDS with 10.2.8 (`issue#20599 `_, `pr#16282 `_, Nathan Cutler) v10.2.8 Jewel ============= This point release brought a number of important bugfixes in all major components of Ceph. However, it also introduced a regression that could cause MDS damage, and a new release, v10.2.9, was published to address this. Therefore, Jewel users should *not* upgrade to this version - instead, we recommend upgrading directly to v10.2.9. For more detailed information, see :download:`the complete changelog <../changelog/v10.2.8.txt>`. OSD Removal Caveat ------------------ There was a bug introduced in Jewel (#19119) that broke the mapping behavior when an "out" OSD that still existed in the CRUSH map was removed with 'osd rm'. This could result in 'misdirected op' and other errors. The bug is now fixed, but the fix itself introduces the same risk because the behavior may vary between clients and OSDs. To avoid problems, please ensure that all OSDs are removed from the CRUSH map before deleting them. That is, be sure to do:: ceph osd crush rm osd.123 before:: ceph osd rm osd.123 Snap Trimmer Improvements ------------------------- This release greatly improves control and throttling of the snap trimmer. It introduces the "osd max trimming pgs" option (defaulting to 2), which limits how many PGs on an OSD can be trimming snapshots at a time. And it restores the safe use of the "osd snap trim sleep" option, which defaults to 0 but otherwise adds the given number of seconds in delay between every dispatch of trim operations to the underlying system. Other Notable Changes --------------------- * build/ops: "osd marked itself down" will not recognised if host runs mon + osd on shutdown/reboot (`issue#18516 `_, `pr#13492 `_, Boris Ranto) * build/ops: ceph-base package missing dependency for psmisc (`issue#19129 `_, `pr#13786 `_, Nathan Cutler) * build/ops: enable build of ceph-resource-agents package on rpm-based os (`issue#17613 `_, `issue#19546 `_, `pr#13606 `_, Nathan Cutler) * build/ops: rbdmap.service not included in debian packaging (jewel-only) (`issue#19547 `_, `pr#14383 `_, Ken Dreyer) * cephfs: Journaler may execute on_safe contexts prematurely (`issue#20055 `_, `pr#15468 `_, "Yan, Zheng") * cephfs: MDS assert failed when shutting down (`issue#19204 `_, `pr#14683 `_, John Spray) * cephfs: MDS goes readonly writing backtrace for a file whose data pool has been removed (`issue#19401 `_, `pr#14682 `_, John Spray) * cephfs: MDS server crashes due to inconsistent metadata (`issue#19406 `_, `pr#14676 `_, John Spray) * cephfs: No output for ceph mds rmfailed 0 --yes-i-really-mean-it command (`issue#16709 `_, `pr#14674 `_, John Spray) * cephfs: Test failure: test_data_isolated (tasks.cephfs.test_volume_client.TestVolumeClient) (`issue#18914 `_, `pr#14685 `_, "Yan, Zheng") * cephfs: Test failure: test_open_inode (`issue#18661 `_, `pr#14669 `_, John Spray) * cephfs: The mount point break off when mds switch hanppened (`issue#19437 `_, `pr#14679 `_, Guan yunfei) * cephfs: ceph-fuse does not recover after lost connection to MDS (`issue#16743 `_, `issue#18757 `_, `pr#14698 `_, Kefu Chai, Henrik Korkuc, Patrick Donnelly) * cephfs: client: fix the cross-quota rename boundary check conditions (`issue#18699 `_, `pr#14667 `_, Greg Farnum) * cephfs: mds is crushed, after I set about 400 64KB xattr kv pairs to a file (`issue#19033 `_, `pr#14684 `_, Yang Honggang) * cephfs: non-local quota changes not visible until some IO is done (`issue#17939 `_, `pr#15466 `_, John Spray, Nathan Cutler) * cephfs: normalize file open flags internally used by cephfs (`issue#18872 `_, `issue#19890 `_, `pr#15000 `_, Jan Fajerski, "Yan, Zheng") * common: monitor creation with IPv6 public network segfaults (`issue#19371 `_, `pr#14324 `_, Fabian Grünbichler) * common: radosstriper: protect aio_write API from calls with 0 bytes (`issue#14609 `_, `pr#13254 `_, Sebastien Ponce) * core: Objecter::epoch_barrier isn't respected in _op_submit() (`issue#19396 `_, `pr#14332 `_, Ilya Dryomov) * core: clear divergent_priors set off disk (`issue#17916 `_, `pr#14596 `_, Greg Farnum) * core: improve snap trimming, enable restriction of parallelism (`issue#19241 `_, `pr#14492 `_, Samuel Just, Greg Farnum) * core: os/filestore/HashIndex: be loud about splits (`issue#18235 `_, `pr#13788 `_, Dan van der Ster) * core: os/filestore: fix clang static check warn use-after-free (`issue#19311 `_, `pr#14044 `_, liuchang0812, yaoning) * core: transient jerasure unit test failures (`issue#18070 `_, `issue#17762 `_, `issue#18128 `_, `issue#17951 `_, `pr#14701 `_, Kefu Chai, Pan Liu, Loic Dachary, Jason Dillaman) * core: two instances of omap_digest mismatch (`issue#18533 `_, `pr#14204 `_, Samuel Just, David Zafman) * doc: Improvements to crushtool manpage (`issue#19649 `_, `pr#14635 `_, Loic Dachary, Nathan Cutler) * doc: PendingReleaseNotes: note about 19119 (`issue#19119 `_, `pr#13732 `_, Sage Weil) * doc: admin ops: fix the quota section (`issue#19397 `_, `pr#14654 `_, Chu, Hua-Rong) * doc: radosgw-admin: add the 'object stat' command to usage (`issue#19013 `_, `pr#13872 `_, Pavan Rallabhandi) * doc: rgw S3 create bucket should not do response in json (`issue#18889 `_, `pr#13874 `_, Abhishek Lekshmanan) * fs: Invalid error code returned by MDS is causing a kernel client WARNING (`issue#19205 `_, `pr#13831 `_, Jan Fajerski, xie xingguo) * librbd: Incomplete declaration for ContextWQ in librbd/Journal.h (`issue#18862 `_, `pr#14152 `_, Boris Ranto) * librbd: Issues with C API image metadata retrieval functions (`issue#19588 `_, `pr#14666 `_, Mykola Golub) * librbd: Possible deadlock performing a synchronous API action while refresh in-progress (`issue#18419 `_, `pr#13154 `_, Jason Dillaman) * librbd: is_exclusive_lock_owner API should ping OSD (`issue#19287 `_, `pr#14481 `_, Jason Dillaman) * librbd: remove image header lock assertions (`issue#18244 `_, `pr#13809 `_, Jason Dillaman) * mds: C_MDSInternalNoop::complete doesn't free itself (`issue#19501 `_, `pr#14677 `_, "Yan, Zheng") * mds: Too many stat ops when trying to probe a large file (`issue#19955 `_, `pr#15472 `_, "Yan, Zheng") * mds: avoid reusing deleted inode in StrayManager::_purge_stray_logged (`issue#18877 `_, `pr#14670 `_, Zhi Zhang) * mds: enable start when session ino info is corrupt (`issue#19708 `_, `issue#16842 `_, `pr#14700 `_, John Spray) * mds: fragment space check can cause replayed request fail (`issue#18660 `_, `pr#14668 `_, "Yan, Zheng") * mds: heartbeat timeout during rejoin, when working with large amount of caps/inodes (`issue#19118 `_, `pr#14672 `_, John Spray) * mds: issue new caps when sending reply to client (`issue#19635 `_, `pr#15438 `_, "Yan, Zheng") * mon: OSDMonitor: make 'osd crush move ...' work on osds (`issue#18587 `_, `pr#13261 `_, Sage Weil) * mon: fix 'sortbitwise' warning on jewel (`issue#20578 `_, `pr#15208 `_, huanwen ren, Sage Weil) * mon: make get_mon_log_message() atomic (`issue#19427 `_, `pr#14587 `_, Kefu Chai) * mon: remove bad rocksdb option (`issue#19392 `_, `pr#14236 `_, Sage Weil) * msg: IPv6 Heartbeat packets are not marked with DSCP QoS - simple messenger (`issue#18887 `_, `pr#13450 `_, Yan Jun, Robin H. Johnson) * msg: set close on exec flag (`issue#16390 `_, `pr#13585 `_, Kefu Chai) * osd: --flush-journal: sporadic segfaults on exit (`issue#18820 `_, `pr#13477 `_, Alexey Sheplyakov) * osd: Give requested scrubs a higher priority (`issue#15789 `_, `pr#14686 `_, David Zafman) * osd: Implement asynchronous scrub sleep (`issue#19986 `_, `issue#19497 `_, `pr#15529 `_, Brad Hubbard) * osd: Object level shard errors are tracked and used if no auth available (`issue#20089 `_, `pr#15416 `_, David Zafman) * osd: ReplicatedPG: try with pool's use-gmt setting if hitset archive not found (`issue#19185 `_, `pr#13827 `_, Kefu Chai) * osd: allow client throttler to be adjusted on-fly, without restart (`issue#18791 `_, `pr#13214 `_, Piotr Dałek) * osd: bypass readonly ops when osd full (`issue#19394 `_, `pr#14181 `_, Jianpeng Ma, yaoning) * osd: degraded and misplaced status output inaccurate (`issue#18619 `_, `pr#14325 `_, David Zafman) * osd: new added OSD always down when full flag is set (`issue#15025 `_, `pr#14326 `_, Mingxin Liu) * osd: pg_pool_t::encode(): be compatible with Hammer <= 0.94.6 (`issue#19508 `_, `pr#14392 `_, Alexey Sheplyakov) * osd: pre-jewel "osd rm" incrementals are misinterpreted (`issue#19119 `_, `pr#13884 `_, Ilya Dryomov) * osd: preserve allocation hint attribute during recovery (`issue#19083 `_, `pr#13647 `_, yaoning) * osd: promote throttle parameters are reversed (`issue#19773 `_, `pr#14791 `_, Mark Nelson) * osd: reindex properly on pg log split (`issue#18975 `_, `pr#14047 `_, Alexey Sheplyakov) * osd: restrict want_acting to up+acting on recovery completion (`issue#18929 `_, `pr#13541 `_, Sage Weil) * rbd-nbd: check /sys/block/nbdX/size to ensure kernel mapped correctly (`issue#18335 `_, `pr#13932 `_, Mykola Golub, Alexey Sheplyakov) * rbd: [api] temporarily restrict (rbd\_)mirror_peer_add from adding multiple peers (`issue#19256 `_, `pr#14664 `_, Jason Dillaman) * rbd: qemu crash triggered by network issues (`issue#18436 `_, `pr#13244 `_, Jason Dillaman) * rbd: rbd --pool=x rename y z does not work (`issue#18326 `_, `pr#14148 `_, Gaurav Kumar Garg) * rbd: systemctl stop rbdmap unmaps all rbds and not just the ones in /etc/ceph/rbdmap (`issue#18884 `_, `issue#18262 `_, `pr#14083 `_, David Disseldorp, Nathan Cutler) * rgw: "cluster [WRN] bad locator @X on object @X...." in cluster log (`issue#18980 `_, `pr#14064 `_, Casey Bodley) * rgw: 'radosgw-admin sync status' on master zone of non-master zonegroup (`issue#18091 `_, `pr#13779 `_, Jing Wenjun) * rgw: Change loglevel to 20 for 'System already converted' message (`issue#18919 `_, `pr#13834 `_, Vikhyat Umrao) * rgw: Use decoded URI when verifying TempURL (`issue#18590 `_, `pr#13724 `_, Alexey Sheplyakov) * rgw: a few cases where rgw_obj is incorrectly initialized (`issue#19096 `_, `pr#13842 `_, Yehuda Sadeh) * rgw: add apis to support ragweed suite (`issue#19804 `_, `pr#14851 `_, Yehuda Sadeh) * rgw: add bucket size limit check to radosgw-admin (`issue#17925 `_, `pr#14787 `_, Matt Benjamin) * rgw: allow system users to read SLO parts (`issue#19027 `_, `pr#14752 `_, Casey Bodley) * rgw: don't return skew time in pre-signed url (`issue#18828 `_, `issue#18829 `_, `pr#14605 `_, liuchang0812) * rgw: failure to create s3 type subuser from admin rest api (`issue#16682 `_, `pr#14815 `_, snakeAngel2015) * rgw: fix break inside of yield in RGWFetchAllMetaCR (`issue#17655 `_, `pr#14066 `_, Casey Bodley) * rgw: fix failed to create bucket if a non-master zonegroup has a single zone (`issue#19756 `_, `pr#14766 `_, weiqiaomiao) * rgw: health check errors out incorrectly (`issue#19025 `_, `pr#13865 `_, Pavan Rallabhandi) * rgw: list_plain_entries() stops before bi_log entries (`issue#19876 `_, `pr#15383 `_, Casey Bodley) * rgw: multisite: fetch_remote_obj() gets wrong version when copying from remote (`issue#19599 `_, `pr#14607 `_, Zhang Shaowen, Casey Bodley) * rgw: multisite: some yields in RGWMetaSyncShardCR::full_sync() resume in incremental_sync() (`issue#18076 `_, `pr#13837 `_, Casey Bodley, Abhishek Lekshmanan) * rgw: only append zonegroups to rest params if not empty (`issue#20078 `_, `pr#15312 `_, Yehuda Sadeh, Karol Mroz) * rgw: pullup civet chunked (`issue#19736 `_, `pr#14776 `_, Matt Benjamin) * rgw: rgw_file: fix event expire check, don't expire directories being read (`issue#19623 `_, `issue#19270 `_, `issue#19625 `_, `issue#19624 `_, `issue#19634 `_, `issue#19435 `_, `pr#14653 `_, Gui Hecheng, Matt Benjamin) * rgw: swift: disable revocation thread under certain circumstances (`issue#19499 `_, `issue#9493 `_, `pr#14789 `_, Marcus Watts) * rgw: the swift container acl does not support field .ref (`issue#18484 `_, `pr#13833 `_, Jing Wenjun) * rgw: typo in rgw_admin.cc (`issue#19026 `_, `pr#13863 `_, Ronak Jain) * rgw: unsafe access in RGWListBucket_ObjStore_SWIFT::send_response() (`issue#19249 `_, `pr#14661 `_, Yehuda Sadeh) * rgw: upgrade to multisite v2 fails if there is a zone without zone info (`issue#19231 `_, `pr#14136 `_, Danny Al-Gaaf, Orit Wasserman) * rgw: use separate http_manager for read_sync_status (`issue#19236 `_, `pr#14195 `_, Casey Bodley, Shasha Lu) * rgw: when converting region_map we need to use rgw_zone_root_pool (`issue#19195 `_, `pr#14143 `_, Orit Wasserman) * rgw: zonegroupmap set does not work (`issue#19498 `_, `issue#18725 `_, `pr#14660 `_, Orit Wasserman, Casey Bodley) * rgw:fix memory leaks in data/md sync (`issue#20088 `_, `pr#15382 `_, weiqiaomiao) * tests: 'ceph auth import -i' overwrites caps, should alert user before overwrite (`issue#18932 `_, `pr#13544 `_, Vikhyat Umrao) * tests: New upgrade test for #19508 (`issue#19829 `_, `issue#19508 `_, `pr#14930 `_, Nathan Cutler) * tests: [ FAILED ] TestLibRBD.ImagePollIO in upgrade:client-upgrade-kraken-distro-basic-smithi (`issue#18617 `_, `pr#13107 `_, Jason Dillaman) * tests: [librados_test_stub] cls_cxx_map_get_XYZ methods don't return correct value (`issue#19597 `_, `pr#14665 `_, Jason Dillaman) * tests: additional rbd-mirror test stability improvements (`issue#18935 `_, `pr#14154 `_, Jason Dillaman) * tests: api_misc: [ FAILED ] LibRadosMiscConnectFailure.ConnectFailure (`issue#15368 `_, `pr#14763 `_, Sage Weil) * tests: buffer overflow in test LibCephFS.DirLs (`issue#18941 `_, `pr#14671 `_, "Yan, Zheng") * tests: clone workunit using the branch specified by task (`issue#19429 `_, `pr#14371 `_, Kefu Chai, Dan Mick) * tests: drop upgrade/hammer-jewel-x (`issue#20574 `_, `pr#15933 `_, Nathan Cutler) * tests: dummy suite fails in OpenStack (`issue#18259 `_, `pr#14070 `_, Nathan Cutler) * tests: eliminate race condition in Thrasher constructor (`issue#18799 `_, `pr#13608 `_, Nathan Cutler) * tests: enable quotas for pre-luminous quota tests (`issue#20412 `_, `pr#15936 `_, Patrick Donnelly) * tests: fix oversight in yaml comment (`issue#20581 `_, `pr#14449 `_, Nathan Cutler) * tests: move swift.py task from teuthology to ceph, phase one (jewel) (`issue#20392 `_, `pr#15870 `_, Nathan Cutler, Sage Weil, Warren Usui, Greg Farnum, Ali Maredia, Tommi Virtanen, Zack Cerza, Sam Lang, Yehuda Sadeh, Joe Buck, Josh Durgin) * tests: qa/Fixed upgrade sequence to 10.2.0 -> 10.2.7 -> latest -x (10.2.8) (`issue#20572 `_, `pr#16089 `_, Yuri Weinstein) * tests: qa/suites/upgrade/hammer-x: set "sortbitwise" for jewel clusters (`issue#20342 `_, `pr#15842 `_, Nathan Cutler) * tests: qa/workunits/rados/test-upgrade-\*: whitelist tests for master (part 1) (`issue#20577 `_, `pr#15360 `_, Sage Weil) * tests: qa/workunits/rados/test-upgrade-\*: whitelist tests for master (part 2) (`issue#20576 `_, `pr#15778 `_, Kefu Chai) * tests: qa/workunits/rados/test-upgrade-\*: whitelist tests the right way (`issue#20575 `_, `pr#15824 `_, Kefu Chai) * tests: rados: sleep before ceph tell osd.0 flush_pg_stats after restart (`issue#16239 `_, `issue#20489 `_, `pr#14710 `_, Kefu Chai, Nathan Cutler) * tests: run upgrade/client-upgrade on latest CentOS 7.3 (`issue#20573 `_, `pr#16088 `_, Nathan Cutler) * tests: run-rbd-unit-tests.sh assert in lockdep_will_lock, TestLibRBD.ObjectMapConsistentSnap (`issue#17447 `_, `pr#14150 `_, Jason Dillaman) * tests: systemd test backport to jewel (`issue#19717 `_, `pr#14694 `_, Vasu Kulkarni) * tests: test/librados/tmap_migrate: g_ceph_context->put() upon return (`issue#20579 `_, `pr#14809 `_, Kefu Chai) * tests: test_notify.py: rbd.InvalidArgument: error updating features for image test_notify_clone2 (`issue#19692 `_, `pr#14680 `_, Jason Dillaman) * tests: upgrade/hammer-x failing with OSD has the store locked when Thrasher runs ceph-objectstore-tool on down PG (`issue#19556 `_, `pr#14416 `_, Nathan Cutler) * tests: upgrade:hammer-x/stress-split-erasure-code-x86_64 fails in 10.2.8 integration testing (`issue#20413 `_, `pr#15904 `_, Nathan Cutler) * tools: brag fails to count "in" mds (`issue#19192 `_, `pr#14112 `_, Oleh Prypin, Peng Zhang) * tools: ceph-disk does not support cluster names different than 'ceph' (`issue#17821 `_, `pr#14765 `_, Loic Dachary) * tools: ceph-disk: Racing between partition creation and device node creation (`issue#19428 `_, `pr#14329 `_, Erwan Velu) * tools: ceph-disk: bluestore --setgroup incorrectly set with user (`issue#18955 `_, `pr#13489 `_, craigchi) * tools: ceph-disk: ceph-disk list reports mount error for OSD having mount options with SELinux context (`issue#17331 `_, `pr#14402 `_, Brad Hubbard) * tools: ceph-disk: do not setup_statedir on trigger (`issue#19941 `_, `pr#15504 `_, Loic Dachary) * tools: ceph-disk: enable directory backed OSD at boot time (`issue#19628 `_, `pr#14602 `_, Loic Dachary) * tools: rados: RadosImport::import should return an error if Rados::connect fails (`issue#19319 `_, `pr#14113 `_, Brad Hubbard) v10.2.7 Jewel ============= This point release fixes several important bugs in RBD mirroring, librbd & RGW. We recommend that all v10.2.x users upgrade. For more detailed information, see :download:`the complete changelog <../changelog/v10.2.7.txt>`. Notable Changes --------------- * librbd: possible race in ExclusiveLock handle_peer_notification (`issue#19368 `_, `pr#14233 `_, Mykola Golub) * osd: Increase priority for inactive PGs backfill (`issue#18350 `_, `pr#13232 `_, Bartłomiej Święcki) * osd: Scrub improvements and other fixes (`issue#17857 `_, `issue#18114 `_, `issue#13937 `_, `issue#18113 `_, `pr#13146 `_, Kefu Chai, David Zafman) * osd: fix OSD network address in OSD heartbeat_check log message (`issue#18657 `_, `pr#13108 `_, Vikhyat Umrao) * rbd-mirror: deleting a snapshot during sync can result in read errors (`issue#18990 `_, `pr#13596 `_, Jason Dillaman) * rgw: 'period update' does not remove short_zone_ids of deleted zones (`issue#15618 `_, `pr#14140 `_, Casey Bodley) * rgw: DUMPABLE flag is cleared by setuid preventing coredumps (`issue#19089 `_, `pr#13844 `_, Brad Hubbard) * rgw: clear data_sync_cr if RGWDataSyncControlCR fails (`issue#17569 `_, `pr#13886 `_, Casey Bodley) * rgw: fix openssl (`issue#11239 `_, `issue#19098 `_, `issue#16535 `_, `pr#14215 `_, Marcus Watts) * rgw: fix swift cannot disable object versioning with empty X-Versions-Location (`issue#18852 `_, `pr#13823 `_, Jing Wenjun) * rgw: librgw: RGWLibFS::setattr fails on directories (`issue#18808 `_, `pr#13778 `_, Matt Benjamin) * rgw: make sending Content-Length in 204 and 304 controllable (`issue#16602 `_, `pr#13503 `_, Radoslaw Zarzynski, Matt Benjamin) * rgw: multipart uploads copy part support (`issue#12790 `_, `pr#13219 `_, Yehuda Sadeh, Javier M. Mellid, Matt Benjamin) * rgw: multisite: RGWMetaSyncShardControlCR gives up on EIO (`issue#19019 `_, `pr#13867 `_, Casey Bodley) * rgw: radosgw/swift: clean up flush / newline behavior (`issue#18473 `_, `pr#14100 `_, Nathan Cutler, Marcus Watts, Matt Benjamin) * rgw: radosgw/swift: clean up flush / newline behavior. (`issue#18473 `_, `pr#13143 `_, Marcus Watts, Matt Benjamin) * rgw: rgw_fh: RGWFileHandle dtor must also cond-unlink from FHCache (`issue#19112 `_, `pr#14231 `_, Matt Benjamin) * rgw: rgw_file: avoid interning .. in FHCache table and don't ref for them (`issue#19036 `_, `pr#13848 `_, Matt Benjamin) * rgw: rgw_file: interned RGWFileHandle objects need parent refs (`issue#18650 `_, `pr#13583 `_, Matt Benjamin) * rgw: rgw_file: restore (corrected) fix for dir partial match (return of FLAG_EXACT_MATCH) (`issue#19060 `_, `issue#18992 `_, `issue#19059 `_, `pr#13858 `_, Matt Benjamin) * rgw: rgw_file: FHCache residence check should be exhaustive (`issue#19111 `_, `pr#14169 `_, Matt Benjamin) * rgw: rgw_file: ensure valid_s3_object_name for directories, too (`issue#19066 `_, `pr#13717 `_, Matt Benjamin) * rgw: rgw_file: fix marker computation (`issue#19018 `_, `issue#18989 `_, `issue#18992 `_, `issue#18991 `_, `pr#13869 `_, Matt Benjamin) * rgw: rgw_file: wip dir orphan (`issue#18992 `_, `issue#18989 `_, `issue#19018 `_, `issue#18991 `_, `pr#14205 `_, Gui Hecheng, Matt Benjamin) * rgw: rgw_file: various fixes (`pr#14206 `_, Matt Benjamin) * rgw: rgw_file: expand argv (`pr#14230 `_, Matt Benjamin) v10.2.6 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 :download:`the complete changelog <../changelog/v10.2.6.txt>`. OSDs No Longer Send ENXIO by Default ------------------------------------ In previous versions, if a client sent an op to the wrong OSD, the OSD would reply with ENXIO. The rationale here is that the client or OSD is clearly buggy and we want to surface the error as clearly as possible. We now only send the ENXIO reply if the osd_enxio_on_misdirected_op option is enabled (it's off by default). This means that a VM using librbd that previously would have gotten an EIO and gone read-only will now see a blocked/hung IO instead. Other Notable Changes --------------------- * build/ops: add hostname sanity check to run-{c}make-check.sh (`issue#18134 `_, `pr#12302 `_, Nathan Cutler) * build/ops: add ldap lib to rgw lib deps based on build config (`issue#17313 `_, `pr#13183 `_, Nathan Cutler) * build/ops: ceph-create-keys loops forever (`issue#17753 `_, `pr#11884 `_, Alfredo Deza) * build/ops: ceph daemons DUMPABLE flag is cleared by setuid preventing coredumps (`issue#17650 `_, `pr#11736 `_, Patrick Donnelly) * build/ops: fixed compilation error when --with-radowsgw=no (`issue#18512 `_, `pr#12729 `_, Pan Liu) * build/ops: fixed the issue when --disable-server, compilation fails. (`issue#18120 `_, `pr#12239 `_, Pan Liu) * build/ops: fix undefined crypto references with --with-xio (`issue#18133 `_, `pr#12296 `_, Nathan Cutler) * build/ops: install-deps.sh based on /etc/os-release (`issue#18466 `_, `issue#18198 `_, `pr#12405 `_, Jan Fajerski, Nitin A Kamble, Nathan Cutler) * build/ops: Remove the runtime dependency on lsb_release (`issue#17425 `_, `pr#11875 `_, John Coyle, Brad Hubbard) * build/ops: rpm: /etc/ceph/rbdmap is packaged with executable access rights (`issue#17395 `_, `pr#11855 `_, Ken Dreyer) * build/ops: selinux: Allow ceph to manage tmp files (`issue#17436 `_, `pr#13048 `_, Boris Ranto) * build/ops: systemd: Restart Mon after 10s in case of failure (`issue#18635 `_, `pr#13058 `_, Wido den Hollander) * build/ops: systemd restarts Ceph Mon to quickly after failing to start (`issue#18635 `_, `pr#13184 `_, Wido den Hollander) * ceph-disk: fix flake8 errors (`issue#17898 `_, `pr#11976 `_, Ken Dreyer) * cephfs: fuse client crash when adding a new osd (`issue#17270 `_, `pr#11860 `_, John Spray) * cli: ceph-disk: convert none str to str before printing it (`issue#18371 `_, `pr#13187 `_, Kefu Chai) * client: Fix lookup of "/.." in jewel (`issue#18408 `_, `pr#12766 `_, Jeff Layton) * client: fix stale entries in command table (`issue#17974 `_, `pr#12137 `_, John Spray) * client: populate metadata during mount (`issue#18361 `_, `pr#13085 `_, John Spray) * cli: implement functionality for adding, editing and removing omap values with binary keys (`issue#18123 `_, `pr#12755 `_, Jason Dillaman) * common: Improve linux dcache hash algorithm (`issue#17599 `_, `pr#11529 `_, Yibo Cai) * common: utime.h: fix timezone issue in round_to_* funcs. (`issue#14862 `_, `pr#11508 `_, Zhao Chao) * doc: Python Swift client commands in Quick Developer Guide don't match configuration in vstart.sh (`issue#17746 `_, `pr#13043 `_, Ronak Jain) * librbd: allow to open an image without opening parent image (`issue#18325 `_, `pr#13130 `_, Ricardo Dias) * librbd: metadata_set API operation should not change global config setting (`issue#18465 `_, `pr#13168 `_, Mykola Golub) * librbd: new API method to force break a peer's exclusive lock (`issue#15632 `_, `issue#16773 `_, `issue#17188 `_, `issue#16988 `_, `issue#17210 `_, `issue#17251 `_, `issue#18429 `_, `issue#17227 `_, `issue#18327 `_, `issue#17015 `_, `pr#12890 `_, Danny Al-Gaaf, Mykola Golub, Jason Dillaman) * librbd: properly order concurrent updates to the object map (`issue#16176 `_, `pr#12909 `_, Jason Dillaman) * librbd: restore journal access when force disabling mirroring (`issue#17588 `_, `pr#11916 `_, Mykola Golub) * mds: Cannot create deep directories when caps contain path=/somepath (`issue#17858 `_, `pr#12154 `_, Patrick Donnelly) * mds: cephfs metadata pool: deep-scrub error omap_digest != best guess omap_digest (`issue#17177 `_, `pr#12380 `_, Yan, Zheng) * mds: cephfs test failures (ceph.com/qa is broken, should be download.ceph.com/qa) (`issue#18574 `_, `pr#13023 `_, John Spray) * mds: ceph-fuse crash during snapshot tests (`issue#18460 `_, `pr#13120 `_, Yan, Zheng) * mds: ceph_volume_client: fix recovery from partial auth update (`issue#17216 `_, `pr#11656 `_, Ramana Raja) * mds: ceph_volume_client.py : Error: Can't handle arrays of non-strings (`issue#17800 `_, `pr#12325 `_, Ramana Raja) * mds: Cleanly reject session evict command when in replay (`issue#17801 `_, `pr#12153 `_, Yan, Zheng) * mds: client segfault on ceph_rmdir path / (`issue#9935 `_, `pr#13029 `_, Michal Jarzabek) * mds: Clients without pool-changing caps shouldn't be allowed to change pool_namespace (`issue#17798 `_, `pr#12155 `_, John Spray) * mds: Decode errors on backtrace will crash MDS (`issue#18311 `_, `pr#12836 `_, Nathan Cutler, John Spray) * mds: false failing to respond to cache pressure warning (`issue#17611 `_, `pr#11861 `_, Yan, Zheng) * mds: finish clientreplay requests before requesting active state (`issue#18461 `_, `pr#13113 `_, Yan, Zheng) * mds: fix incorrect assertion in Server::_dir_is_nonempty() (`issue#18578 `_, `pr#13459 `_, Yan, Zheng) * mds: fix MDSMap upgrade decoding (`issue#17837 `_, `pr#13139 `_, John Spray, Patrick Donnelly) * mds: fix missing ll_get for ll_walk (`issue#18086 `_, `pr#13125 `_, Gui Hecheng) * mds: Fix mount root for ceph_mount users and change tarball format (`issue#18312 `_, `issue#18254 `_, `pr#12592 `_, Jeff Layton) * mds: fix null pointer dereference in Locker::handle_client_caps (`issue#18306 `_, `pr#13060 `_, Yan, Zheng) * mds: lookup of /.. in returns -ENOENT (`issue#18408 `_, `pr#12783 `_, Jeff Layton) * mds: MDS crashes on missing metadata object (`issue#18179 `_, `pr#13119 `_, Yan, Zheng) * mds: mds fails to respawn if executable has changed (`issue#17531 `_, `pr#11873 `_, Patrick Donnelly) * mds: MDS: false failing to respond to cache pressure warning (`issue#17716 `_, `pr#11856 `_, Yan, Zheng) * mds: MDS goes damaged on blacklist (failed to read JournalPointer: -108 ((108) Cannot send after transport endpoint shutdown) (`issue#17236 `_, `pr#11413 `_, John Spray) * mds: MDS long-time blocked ops. ceph-fuse locks up with getattr of file (`issue#17275 `_, `pr#11858 `_, Yan, Zheng) * mds: speed up readdir by skipping unwanted dn (`issue#18519 `_, `pr#12921 `_, Xiaoxi Chen) * mds: standby-replay daemons can sometimes miss events (`issue#17954 `_, `pr#13126 `_, John Spray) * mon: cache tiering: base pool last_force_resend not respected (racing read got wrong version) (`issue#18366 `_, `pr#13115 `_, Sage Weil) * mon: ceph osd down detection behaviour (`issue#18104 `_, `pr#12677 `_, xie xingguo) * mon: Error EINVAL: removing mon.a at 172.21.15.16:6789/0, there will be 1 monitors (`issue#17725 `_, `pr#11999 `_, Joao Eduardo Luis) * mon: health does not report pgs stuck in more than one state (`issue#17515 `_, `pr#11660 `_, Sage Weil) * mon: monitor assertion failure when deactivating mds in (invalid) fscid 0 (`issue#17518 `_, `pr#11862 `_, Patrick Donnelly) * mon: monitor cannot start because of FAILED assert(info.state == MDSMap::STATE_STANDBY) (`issue#18166 `_, `pr#13123 `_, John Spray, Patrick Donnelly) * mon: osd flag health message is misleading (`issue#18175 `_, `pr#13117 `_, Sage Weil) * mon: OSDMonitor: clear jewel+ feature bits when talking to Hammer OSD (`issue#18582 `_, `pr#13131 `_, Piotr Dałek) * mon: OSDs marked OUT wrongly after monitor failover (`issue#17719 `_, `pr#11947 `_, Dong Wu) * mon: peon wrongly delete routed pg stats op before receive pg stats ack (`issue#18458 `_, `pr#13045 `_, Mingxin Liu) * mon: send updated monmap to its subscribers (`issue#17558 `_, `pr#11743 `_, Kefu Chai) * msgr: don't truncate message sequence to 32-bits (`issue#16122 `_, `pr#12416 `_, Yan, Zheng) * msgr: msg/simple: clear_pipe when wait() is mopping up pipes (`issue#15784 `_, `pr#13062 `_, Sage Weil) * msgr: msg/simple/Pipe: error decoding addr (`issue#18072 `_, `pr#12291 `_, Sage Weil) * osd: Add config option to disable new scrubs during recovery (`issue#17866 `_, `pr#11944 `_, Wido den Hollander) * osd: collection_list shadow return value # (`issue#17713 `_, `pr#11737 `_, Haomai Wang) * osd: do not send ENXIO on misdirected op by default (`issue#18751 `_, `pr#13255 `_, Sage Weil) * osd: FileStore: fiemap cannot be totally retrieved in xfs when the number of extents > 1364 (`issue#17610 `_, `pr#11998 `_, Kefu Chai, Ning Yao) * osd: leveldb corruption leads to Operation not permitted not handled and assert (`issue#18037 `_, `pr#12789 `_, Nathan Cutler) * osd: limit omap data in push op (`issue#16128 `_, `pr#11991 `_, Wanlong Gao) * osd: osd crashes when radosgw-admin bi list --max-entries=1 command runing (`issue#17745 `_, `pr#11758 `_, weiqiaomiao) * osd: osd_max_backfills default has changed, documentation should reflect that. (`issue#17701 `_, `pr#11735 `_, huangjun) * osd: OSDMonitor: only reject MOSDBoot based on up_from if inst matches (`issue#17899 `_, `pr#12868 `_, Samuel Just) * osd: osd/PG: publish PG stats when backfill-related states change (`issue#18369 `_, `pr#12875 `_, Alexey Sheplyakov, Sage Weil) * osd: Remove extra call to reg_next_scrub() during splits (`issue#16474 `_, `pr#11606 `_, David Zafman) * osd: Revert "Merge pull request #12978 from asheplyakov/jewel-18581" (`issue#18809 `_, `pr#13280 `_, Samuel Just) * osd: update_log_missing does not order correctly with osd_ops (`issue#17789 `_, `pr#11997 `_, Samuel Just) * qa/tasks: backport rbd_fio fixes to jewel (`issue#13512 `_, `pr#13104 `_, Ilya Dryomov) * qa/tasks/workunits: backport misc fixes to jewel (`issue#18336 `_, `pr#12912 `_, Sage Weil) * rados: crash adding snap to purged_snaps in ReplicatedPG::WaitingOnReplicas (part 2) (`issue#15943 `_, `issue#18504 `_, `pr#12791 `_, Samuel Just) * rados: Memory leaks in object_list_begin and object_list_end (`issue#18252 `_, `pr#13118 `_, Brad Hubbard) * rados: The request lock RPC message might be incorrectly ignored (`issue#17030 `_, `pr#10865 `_, Jason Dillaman) * rbd: add image id block name prefix APIs (`issue#18270 `_, `pr#12529 `_, Jason Dillaman) * rbd: add max_part and nbds_max options in rbd nbd map, in order to keep consistent with (`issue#18186 `_, `pr#12426 `_, Pan Liu) * rbd: Attempting to remove an image w/ incompatible features results in partial removal (`issue#18315 `_, `pr#13156 `_, Dongsheng Yang) * rbd: bench-write will crash if --io-size is 4G (`issue#18422 `_, `pr#13129 `_, Gaurav Kumar Garg) * rbd: diff calculate can hide parent extents when examining first snapshot in clone (`issue#18068 `_, `pr#12322 `_, Jason Dillaman) * rbd: Exclusive lock improperly initialized on read-only image when using snap_set API (`issue#17618 `_, `pr#11852 `_, Jason Dillaman) * rbd: FAILED assert(m_processing == 0) while running test_lock_fence.sh (`issue#17973 `_, `pr#12323 `_, Venky Shankar) * rbd: Improve error reporting from rbd feature enable/disable (`issue#16985 `_, `pr#13157 `_, Gaurav Kumar Garg) * rbd: JournalMetadata flooding with errors when being blacklisted (`issue#18243 `_, `pr#12739 `_, Jason Dillaman) * rbd: librbd: use proper snapshot when computing diff parent overlap (`issue#18200 `_, `pr#12649 `_, Xiaoxi Chen) * rbd: partition func should be enabled When load nbd.ko for rbd-nbd (`issue#18115 `_, `pr#12754 `_, Pan Liu) * rbd: Potential race when removing two-way mirroring image (`issue#18447 `_, `pr#13233 `_, Mykola Golub) * rbd: [qa] crash in journal-enabled fsx run (`issue#18618 `_, `pr#13128 `_, Jason Dillaman) * rbd: 'rbd du' of missing image does not return error (`issue#16987 `_, `pr#11854 `_, Dongsheng Yang) * rbd: rbd-mirror: gmock warnings in bootstrap request unit tests (`issue#18048 `_, `issue#18012 `_, `issue#18156 `_, `issue#16991 `_, `issue#18051 `_, `pr#12425 `_, Mykola Golub) * rbd: rbd-mirror: image sync object map reload logs message (`issue#16179 `_, `pr#12753 `_, runsisi) * rbd: rbd-mirror: snap protect of non-layered image results in split-brain (`issue#16962 `_, `pr#11869 `_, Mykola Golub) * rbd: [rbd-mirror] sporadic image replayer shut down failure (`issue#18441 `_, `pr#13155 `_, Jason Dillaman) * rbd: rbd-nbd: disallow mapping images >2TB in size (`issue#17219 `_, `pr#11870 `_, Mykola Golub) * rbd: rbd-nbd: invalid error code for "failed to read nbd request" messages (`issue#18242 `_, `pr#12756 `_, Mykola Golub) * rbd: status json format has duplicated/overwritten key (`issue#18261 `_, `pr#12741 `_, Mykola Golub) * rbd: TestLibRBD.DiscardAfterWrite doesn't handle rbd_skip_partial_discard = true (`issue#17750 `_, `pr#11853 `_, Jason Dillaman) * rbd: truncate can cause unflushed snapshot data lose (`issue#17193 `_, `pr#12324 `_, Yan, Zheng) * : ReplicatedBackend: take read locks for clone sources during recovery (`issue#17831 `_, `issue#18583 `_, `pr#12978 `_, Samuel Just) * rgw: add option to log custom HTTP headers (rgw_log_http_headers) (`issue#18891 `_, `pr#12490 `_, Matt Benjamin) * rgw: add suport for Swift-at-root dependent features of Swift API (`issue#18526 `_, `issue#16673 `_, `pr#11497 `_, Pritha Srivastava, Radoslaw Zarzynski, Pete Zaitcev, Abhishek Lekshmanan) * rgw: add support for the prefix parameter in account listing of Swift API (`issue#17931 `_, `pr#12258 `_, Radoslaw Zarzynski) * rgw: Add workaround for upgrade issues for older jewel versions (`issue#17820 `_, `pr#12316 `_, Orit Wasserman) * rgw: be aware abount tenants on cls_user_bucket -> rgw_bucket conversion (`issue#18364 `_, `issue#16355 `_, `pr#13276 `_, Radoslaw Zarzynski) * rgw: bucket check remove _multipart_ prefix (`issue#13724 `_, `pr#11470 `_, Weijun Duan) * rgw: bucket resharding (`issue#17549 `_, `issue#17550 `_, `pr#13341 `_, Yehuda Sadeh, Robin H. Johnson) * rgw: disable virtual hosting of buckets when no hostnames are configured (`issue#17440 `_, `issue#15975 `_, `issue#17136 `_, `pr#11760 `_, Casey Bodley, Robin H. Johnson) * rgw: do not abort when accept a CORS request with short origin (`issue#18187 `_, `pr#12397 `_, LiuYang) * rgw: don't store empty chains in gc (`issue#17897 `_, `pr#12174 `_, Yehuda Sadeh) * rgw:fix for deleting objects name beginning and ending with underscores of one bucket using POST method of js sdk. (`issue#17888 `_, `pr#12320 `_, Casey Bodley) * rgw: fix period update crash (`issue#18631 `_, `pr#13273 `_, Orit Wasserman) * rgw: fix put_acls for objects starting and ending with underscore (`issue#17625 `_, `pr#11675 `_, Orit Wasserman) * rgw: fix use of marker in List::list_objects() (`issue#18331 `_, `pr#13358 `_, Yehuda Sadeh) * rgw: for the create_bucket api, if the input creation_time is zero, we … (`issue#16597 `_, `pr#11990 `_, weiqiaomiao) * rgw: Have a flavor of bucket deletion in radosgw-admin to bypass garbage collection (`issue#15557 `_, `pr#10661 `_, Pavan Rallabhandi) * rgw: json encode/decode of RGWBucketInfo missing index_type field (`issue#17755 `_, `pr#11759 `_, Yehuda Sadeh) * rgw: ldap: enforce simple_bind w/LDAPv3 redux (`issue#18339 `_, `pr#12678 `_, Weibing Zhang) * rgw: leak from RGWMetaSyncShardCR::incremental_sync (`issue#18412 `_, `issue#18300 `_, `pr#13004 `_, Casey Bodley, Sage Weil) * rgw: leak in RGWFetchAllMetaCR (`issue#17812 `_, `pr#11872 `_, Casey Bodley) * rgw: librgw: objects created from s3 apis are not visible from nfs mount point (`issue#18651 `_, `pr#13177 `_, Matt Benjamin) * rgw: log name instead of id for SystemMetaObj on failure (`issue#15776 `_, `pr#12622 `_, Wido den Hollander, Abhishek Lekshmanan) * rgw: multimds: mds entering up:replay and processing down mds aborts (`issue#17670 `_, `pr#11857 `_, Patrick Donnelly) * rgw: multipart upload copy (`issue#12790 `_, `pr#13068 `_, Yehuda Sadeh, Javier M. Mellid, Matt Benjamin) * rgw: multisite: after finishing full sync on a bucket, incremental sync starts over from the beginning (`issue#17661 `_, `issue#17624 `_, `pr#11864 `_, Zengran Zhang, Casey Bodley) * rgw: multisite: assert(next) failed in RGWMetaSyncCR (`issue#17044 `_, `pr#11477 `_, Casey Bodley) * rgw: multisite: coroutine deadlock assertion on error in FetchAllMetaCR (`issue#17571 `_, `pr#11866 `_, Casey Bodley) * rgw: multisite: coroutine deadlock in RGWMetaSyncCR after ECANCELED errors (`issue#17465 `_, `pr#12738 `_, Casey Bodley) * rgw: multisite doesn't retry RGWFetchAllMetaCR on failed lease (`issue#17047 `_, `pr#11476 `_, Casey Bodley) * rgw: multisite: ECANCELED & 500 error on bucket delete (`issue#17698 `_, `pr#12044 `_, Casey Bodley) * rgw: multisite: failed assertion in 'radosgw-admin bucket sync status' (`issue#18083 `_, `pr#12314 `_, Casey Bodley) * rgw: multisite: fix ref counting of completions (`issue#17792 `_, `issue#18414 `_, `issue#17793 `_, `issue#18407 `_, `pr#13001 `_, Casey Bodley) * rgw: multisite: metadata master can get the wrong value for 'oldest_log_period' (`issue#16894 `_, `pr#11868 `_, Casey Bodley) * rgw: multisite: obsolete 'radosgw-admin period prepare' command (`issue#17387 `_, `pr#11574 `_, Gaurav Kumar Garg) * rgw: multisite: race between ReadSyncStatus and InitSyncStatus leads to EIO errors (`issue#17568 `_, `pr#11865 `_, Casey Bodley) * rgw: multisite requests failing with '400 Bad Request' with civetweb 1.8 (`issue#17822 `_, `pr#12313 `_, Casey Bodley) * rgw: multisite: segfault after changing value of rgw_data_log_num_shards (`issue#18488 `_, `pr#13180 `_, Casey Bodley) * rgw: multisite: sync status reports master is on a different period (`issue#18064 `_, `pr#13175 `_, Abhishek Lekshmanan) * rgw: multisite upgrade from hammer -> jewel ignores rgw_region_root_pool (`issue#17963 `_, `pr#12156 `_, Casey Bodley) * rgw: radosgw-admin period update reverts deleted zonegroup (`issue#17239 `_, `pr#13171 `_, Orit Wasserman) * rgw: Realm set does not create a new period (`issue#18333 `_, `pr#13182 `_, Orit Wasserman) * rgw: remove spurious mount entries for RGW buckets (`issue#17850 `_, `pr#12045 `_, Matt Benjamin) * rgw: Replacing '+' with "%20" in canonical uri for s3 v4 auth. (`issue#17076 `_, `pr#12542 `_, Pritha Srivastava) * rgw: rgw-admin: missing command to modify placement targets (`issue#18078 `_, `pr#12428 `_, Yehuda Sadeh, Casey Bodley) * rgw: RGWRados::get_system_obj() sends unnecessary stat request before read (`issue#17580 `_, `pr#11867 `_, Casey Bodley) * rgw: rgw_rest_s3: apply missed base64 try-catch (`issue#17663 `_, `pr#11672 `_, Matt Benjamin) * rgw: RGW will not list Argonaut-era bucket via HTTP (but radosgw-admin works) (`issue#17372 `_, `pr#11863 `_, Yehuda Sadeh) * rgw: sends omap_getvals with (u64)-1 limit (`issue#17985 `_, `pr#12419 `_, Yehuda Sadeh, Sage Weil) * rgw: slave zonegroup cannot enable the bucket versioning (`issue#18003 `_, `pr#13173 `_, Orit Wasserman) * rgw: TempURL properly handles accounts created with the implicit tenant (`issue#17961 `_, `pr#12079 `_, Radoslaw Zarzynski) * rgw: the value of total_time is wrong in the result of 'radosgw-admin log show' opt (`issue#17598 `_, `pr#11876 `_, weiqiaomiao) * rgw: Unable to commit period zonegroup change (`issue#17364 `_, `pr#12315 `_, Orit Wasserman) * rgw: valgrind "invalid read size 4" RGWGetObj (`issue#18071 `_, `pr#12997 `_, Matt Benjamin) * rgw: work around curl_multi_wait bug with non-blocking reads (`issue#15915 `_, `issue#16368 `_, `issue#16695 `_, `pr#11627 `_, John Coyle, Casey Bodley) * tests: add require_jewel_osds before upgrading last hammer node (`issue#18719 `_, `pr#13161 `_, Nathan Cutler) * tests: add require_jewel_osds to upgrade/hammer-x/tiering (`issue#18920 `_, `pr#13404 `_, Nathan Cutler) * tests: assertion failure in a radosgw-admin related task (`issue#17167 `_, `pr#12764 `_, Orit Wasserman) * tests: Cannot reserve CentOS 7.2 smithi machines (`issue#18416 `_, `issue#18401 `_, `pr#13050 `_, Nathan Cutler, Sage Weil, Yuri Weinstein) * tests: ignore bogus ceph-objectstore-tool error in ceph_manager (`issue#16263 `_, `pr#13240 `_, Nathan Cutler, Kefu Chai) * tests: objecter_requests workunit fails on wip branches (`issue#18393 `_, `pr#12761 `_, Sage Weil) * tests: qa/suites/upgrade/hammer-x: break stress split ec symlinks (`issue#19006 `_, `pr#13533 `_, Nathan Cutler) * tests: qa/suites/upgrade/hammer-x/stress-split: finish thrashing before final upgrade (`issue#19004 `_, `pr#13222 `_, Sage Weil) * tests: qa/tasks/ceph_deploy.py: use dev option (`issue#18736 `_, `pr#13106 `_, Vasu Kulkarni) * tests: qa/workunits/rbd: use more recent qemu-iotests that support Xenial (`issue#18149 `_, `issue#10773 `_, `pr#13103 `_, Jason Dillaman) * tests: remove qa/suites/buildpackages (`issue#18846 `_, `pr#13299 `_, Loic Dachary) * tests: SUSE yaml facets in qa/distros/all are out of date (`issue#18856 `_, `issue#18846 `_, `pr#13331 `_, Nathan Cutler) * tests: update rbd/singleton/all/formatted-output.yaml to support ceph-ci (`issue#18440 `_, `pr#12822 `_, Nathan Cutler, Venky Shankar) * tests: update Ubuntu image url after ceph.com refactor (`issue#18542 `_, `pr#12959 `_, Jason Dillaman) * tests: upgrade:hammer-x: install firefly only on Ubuntu 14.04 (`issue#18089 `_, `pr#13153 `_, Nathan Cutler) * tests: use ceph-jewel branch for s3tests (`issue#18384 `_, `pr#12745 `_, Nathan Cutler) * tests: Workunits needlessly wget from git.ceph.com (`issue#18336 `_, `issue#18271 `_, `issue#18388 `_, `pr#12686 `_, Nathan Cutler, Sage Weil) * test: temporarily disable fork()'ing tests (`issue#16556 `_, `issue#17832 `_, `pr#11953 `_, John Spray) * test: test fails due to The UNIX domain socket path (`issue#16014 `_, `pr#12151 `_, Loic Dachary) * tools: ceph-disk: ceph-disk@.service races with ceph-osd@.service (`issue#17889 `_, `issue#17813 `_, `pr#12147 `_, Loic Dachary) * tools: ceph-disk --dmcrypt create must not require admin key (`issue#17849 `_, `pr#12033 `_, Loic Dachary) * tools: ceph-disk prepare writes osd log 0 with root owner (`issue#18538 `_, `pr#13025 `_, Samuel Matzek) * tools: crushtool --compile is create output despite of missing item (`issue#17306 `_, `pr#11410 `_, Kefu Chai) * tools: rados bench seq must verify the hostname (`issue#17526 `_, `pr#13049 `_, Loic Dachary) * tools: snapshotted RBD extent objects can't be manually evicted from a cache tier (`issue#17896 `_, `pr#11968 `_, Mingxin Liu) * tools: systemd/ceph-disk: reduce ceph-disk flock contention (`issue#18049 `_, `issue#13160 `_, `pr#12210 `_, David Disseldorp) v10.2.5 Jewel ============= This point release fixes an important `regression introduced in v10.2.4 `_. We recommend that all v10.2.x users upgrade. Notable Changes --------------- For more detailed information, see :download:`the complete changelog <../changelog/v10.2.5.txt>`. * msg/simple/Pipe: avoid returning 0 on poll timeout (`issue#18185 `_, `pr#12376 `_, Sage Weil) 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 :download:`the complete changelog <../changelog/v10.2.4.txt>`. * build/ops: aarch64: Compiler-based detection of crc32 extended CPU type is broken (`issue#17516 `_, `pr#11492 `_, Alexander Graf) * build/ops: allow building RGW with LDAP disabled (`issue#17312 `_, `pr#11478 `_, Daniel Gryniewicz) * build/ops: backport 'logrotate: Run as root/ceph' (`issue#17381 `_, `pr#11201 `_, Boris Ranto) * build/ops: ceph installs stuff in %_udevrulesdir but does not own that directory (`issue#16949 `_, `pr#10862 `_, Nathan Cutler) * build/ops: ceph-osd-prestart.sh fails confusingly when data directory does not exist (`issue#17091 `_, `pr#10812 `_, Nathan Cutler) * build/ops: disable LTTng-UST in openSUSE builds (`issue#16937 `_, `pr#10794 `_, Michel Normand) * build/ops: i386 tarball gitbuilder failure on master (`issue#16398 `_, `pr#10855 `_, Vikhyat Umrao, Kefu Chai) * build/ops: include more files in "make dist" tarball (`issue#17560 `_, `pr#11431 `_, Ken Dreyer) * build/ops: incorrect value of CINIT_FLAG_DEFER_DROP_PRIVILEGES (`issue#16663 `_, `pr#10278 `_, Casey Bodley) * build/ops: remove SYSTEMD_RUN from initscript (`issue#7627 `_, `issue#16441 `_, `issue#16440 `_, `pr#9872 `_, Vladislav Odintsov) * build/ops: systemd: add install section to rbdmap.service file (`issue#17541 `_, `pr#11158 `_, Jelle vd Kooij) * common: Enable/Disable of features is allowed even the features are already enabled/disabled (`issue#16079 `_, `pr#11460 `_, Lu Shi) * common: Log.cc: Assign LOG_INFO priority to syslog calls (`issue#15808 `_, `pr#11231 `_, Brad Hubbard) * common: Proxied operations shouldn't result in error messages if replayed (`issue#16130 `_, `pr#11461 `_, Vikhyat Umrao) * common: Request exclusive lock if owner sends -ENOTSUPP for proxied maintenance op (`issue#16171 `_, `pr#10784 `_, Jason Dillaman) * common: msgr/async: Messenger thread long time lock hold risk (`issue#15758 `_, `pr#10761 `_, Wei Jin) * doc: fix description for rsize and rasize (`issue#17357 `_, `pr#11171 `_, Andreas Gerstmayr) * filestore: can get stuck in an unbounded loop during scrub (`issue#17859 `_, `pr#12001 `_, Sage Weil) * fs: Failure in snaptest-git-ceph.sh (`issue#17172 `_, `pr#11419 `_, Yan, Zheng) * fs: Log path as well as ino when detecting metadata damage (`issue#16973 `_, `pr#11418 `_, John Spray) * fs: client: FAILED assert(root_ancestor->qtree == __null) (`issue#16066 `_, `issue#16067 `_, `pr#10107 `_, Yan, Zheng) * fs: client: add missing client_lock for get_root (`issue#17197 `_, `pr#10921 `_, Patrick Donnelly) * fs: client: fix shutdown with open inodes (`issue#16764 `_, `pr#10958 `_, John Spray) * fs: client: nlink count is not maintained correctly (`issue#16668 `_, `pr#10877 `_, Jeff Layton) * fs: multimds: allow_multimds not required when max_mds is set in ceph.conf at startup (`issue#17105 `_, `pr#10997 `_, Patrick Donnelly) * librados: memory leaks from ceph::crypto (WITH_NSS) (`issue#17205 `_, `pr#11409 `_, Casey Bodley) * librados: modify Pipe::connect() to return the error code (`issue#15308 `_, `pr#11193 `_, Vikhyat Umrao) * librados: remove new setxattr overload to avoid breaking the C++ ABI (`issue#18058 `_, `pr#12207 `_, Josh Durgin) * librbd: cannot disable journaling or remove non-mirrored, non-primary image (`issue#16740 `_, `pr#11337 `_, Jason Dillaman) * librbd: discard after write can result in assertion failure (`issue#17695 `_, `pr#11644 `_, Jason Dillaman) * librbd::Operations: update notification failed: (2) No such file or directory (`issue#17549 `_, `pr#11420 `_, Jason Dillaman) * mds: Crash in Client::_invalidate_kernel_dcache when reconnecting during unmount (`issue#17253 `_, `pr#11414 `_, Yan, Zheng) * mds: Duplicate damage table entries (`issue#17173 `_, `pr#11412 `_, John Spray) * mds: Failure in dirfrag.sh (`issue#17286 `_, `pr#11416 `_, Yan, Zheng) * mds: Failure in snaptest-git-ceph.sh (`issue#17271 `_, `pr#11415 `_, Yan, Zheng) * mon: Ceph Status - Segmentation Fault (`issue#16266 `_, `pr#11408 `_, Brad Hubbard) * mon: Display full flag in ceph status if full flag is set (`issue#15809 `_, `pr#9388 `_, Vikhyat Umrao) * mon: Error EINVAL: removing mon.a at 172.21.15.16:6789/0, there will be 1 monitors (`issue#17725 `_, `pr#12267 `_, Joao Eduardo Luis) * mon: OSDMonitor: only reject MOSDBoot based on up_from if inst matches (`issue#17899 `_, `pr#12067 `_, Samuel Just) * mon: OSDMonitor: Missing nearfull flag set (`issue#17390 `_, `pr#11272 `_, Igor Podoski) * mon: Upgrading 0.94.6 -> 0.94.9 saturating mon node networking (`issue#17365 `_, `issue#17386 `_, `pr#11679 `_, Sage Weil, xie xingguo) * mon: ceph mon Segmentation fault after set crush_ruleset ceph 10.2.2 (`issue#16653 `_, `pr#10861 `_, song baisen) * mon: crash: crush/CrushWrapper.h: 940: FAILED assert(successful_detach) (`issue#16525 `_, `pr#10496 `_, Kefu Chai) * mon: don't crash on invalid standby_for_fscid (`issue#17466 `_, `pr#11389 `_, John Spray) * mon: fix missing osd metadata (again) (`issue#17685 `_, `pr#11642 `_, John Spray) * mon: osdmonitor: decouple adjust_heartbeat_grace and min_down_reporters (`issue#17055 `_, `pr#10757 `_, Zengran Zhang) * mon: the %USED of ceph df is wrong (`issue#16933 `_, `pr#10860 `_, Kefu Chai) * osd: condition OSDMap encoding on features (`issue#18015 `_, `pr#12167 `_, Sage Weil) * osd: PG::_update_calc_stats wrong for CRUSH_ITEM_NONE up set items (`issue#16998 `_, `pr#10883 `_, Samuel Just) * osd: PG::choose_acting valgrind error or ./common/hobject.h: 182: FAILED assert(!max || (\*this == hobject_t(hobject_t::get_max()))) (`issue#13967 `_, `pr#10885 `_, Tao Chang) * osd: Potential crash during journal::Replay shut down (`issue#16433 `_, `pr#10645 `_, Jason Dillaman) * osd: add peer_addr in heartbeat_check log message (`issue#15762 `_, `pr#9739 `_, Vikhyat Umrao, Sage Weil) * osd: adjust scrub boundary to object without SnapSet (`issue#17470 `_, `pr#11311 `_, Samuel Just) * osd: ceph osd df does not show summarized info correctly if one or more OSDs are out (`issue#16706 `_, `pr#10759 `_, xie xingguo) * osd: journal: do not prematurely flag object recorder as closed (`issue#17590 `_, `pr#11634 `_, Jason Dillaman) * osd: mark_all_unfound_lost() leaves unapplied changes (`issue#16156 `_, `pr#10886 `_, Samuel Just) * osd: segfault in ObjectCacher::FlusherThread (`issue#16610 `_, `pr#10864 `_, Yan, Zheng) * qa: remove EnumerateObjects from librados upgrade tests (`pr#11728 `_, Josh Durgin) * rbd: Disabling pool mirror mode with registered peers results orphaned mirrored images (`issue#16984 `_, `pr#10857 `_, Jason Dillaman) * rbd: ImageWatcher: use after free within C_UnwatchAndFlush (`issue#17289 `_, `issue#17254 `_, `pr#11466 `_, Jason Dillaman) * rbd: Prevent the creation of a clone from a non-primary mirrored image (`issue#16449 `_, `pr#10650 `_, Mykola Golub) * rbd: RBD should restrict mirror enable/disable actions on parents/clones (`issue#16056 `_, `pr#11459 `_, zhuangzeqiang) * rbd: TestJournalReplay: sporadic assert(m_state == STATE_READY || m_state == STATE_STOPPING) failure (`issue#17566 `_, `pr#11590 `_, Jason Dillaman) * rbd: bench io-size should not be larger than image size (`issue#16967 `_, `pr#10796 `_, Jason Dillaman) * rbd: ceph 10.2.2 rbd status on image format 2 returns (2) No such file or directory (`issue#16887 `_, `pr#10652 `_, Jason Dillaman) * rbd: helgrind: TestLibRBD.TestIOPP potential deadlock closing an image with read-ahead enabled (`issue#17198 `_, `pr#11463 `_, Jason Dillaman) * rbd: image.stat() call in librbdpy fails sometimes (`issue#17310 `_, `pr#11464 `_, Jason Dillaman) * rbd: krbd qa scripts and concurrent.sh test fix (`issue#17223 `_, `pr#11018 `_, Ilya Dryomov) * rbd: krbd-related CLI patches (`issue#17554 `_, `pr#11400 `_, Ilya Dryomov) * rbd: mirror: improve resiliency of stress test case (`issue#16855 `_, `issue#16555 `_, `issue#14738 `_, `issue#15259 `_, `issue#17446 `_, `issue#17355 `_, `issue#16538 `_, `issue#16974 `_, `issue#17283 `_, `issue#17317 `_, `issue#17416 `_, `issue#16227 `_, `pr#11433 `_, Mykola Golub, Ricardo Dias, Jason Dillaman) * rbd: rbd-nbd IO hang (`issue#16921 `_, `pr#11467 `_, Jason Dillaman) * rbd: update_features API needs to support backwards/forward compatibility (`issue#17330 `_, `pr#11462 `_, Jason Dillaman) * rgw: COPY broke multipart files uploaded under dumpling (`issue#16435 `_, `pr#10866 `_, Yehuda Sadeh) * rgw: Config parameter rgw keystone make new tenants in radosgw multitenancy does not work (`issue#17293 `_, `pr#11473 `_, SirishaGuduru) * rgw: Do not archive metadata by default (`issue#17256 `_, `pr#11321 `_, Pavan Rallabhandi, Matt Benjamin) * rgw: ERROR: got unexpected error when trying to read object: -2 (`issue#17111 `_, `pr#11472 `_, Yang Honggang) * rgw: Modification for TEST S3 ACCESS section in INSTALL CEPH OBJECT GATEWAY page (`issue#15603 `_, `pr#11475 `_, la-sguduru) * rgw: RGW loses realm/period/zonegroup/zone data: period overwritten if somewhere in the cluster is still running Hammer (`issue#17371 `_, `pr#11519 `_, Orit Wasserman) * rgw: RGWDataSyncCR fails on errors from RGWListBucketIndexesCR (`issue#17073 `_, `pr#11330 `_, Casey Bodley) * rgw: S3 object versioning fails when applied on a non-master zone (`issue#16494 `_, `pr#11367 `_, Yehuda Sadeh) * rgw: add orphan options to radosgw-admin --help and man page (`issue#17281 `_, `issue#17280 `_, `pr#11139 `_, Ken Dreyer, Thomas Serlin) * rgw: back off bucket sync on failures, don't store marker (`issue#16742 `_, `pr#11021 `_, Yehuda Sadeh) * rgw: combined LDAP backports (`issue#17544 `_, `issue#17185 `_, `pr#11332 `_, Harald Klein, Matt Benjamin) * rgw: cors auto memleak (`issue#16564 `_, `pr#10656 `_, Yan Jun) * rgw: default quota fixes (`issue#16410 `_, `pr#10832 `_, Pavan Rallabhandi, Daniel Gryniewicz) * rgw: doc: description of multipart part entity is wrong (`issue#17504 `_, `pr#11342 `_, weiqiaomiao) * rgw: don't loop forever when reading data from 0 sized segment. (`issue#17692 `_, `pr#11626 `_, Marcus Watts) * rgw: fix put_acls for objects starting and ending with underscore (`issue#17625 `_, `pr#11669 `_, Orit Wasserman) * rgw: fix regression with handling double underscore (`issue#17443 `_, `issue#16856 `_, `pr#11563 `_, Yehuda Sadeh, Orit Wasserman) * rgw: handle empty POST condition (`issue#17635 `_, `pr#11662 `_, Yehuda Sadeh) * rgw: metadata sync can skip markers for failed/incomplete entries (`issue#16759 `_, `pr#10657 `_, Yehuda Sadeh) * rgw: nfs backports (`issue#17393 `_, `issue#17311 `_, `issue#17367 `_, `issue#17319 `_, `issue#17321 `_, `issue#17322 `_, `issue#17323 `_, `issue#17325 `_, `issue#17326 `_, `issue#17327 `_, `pr#11335 `_, Min Chen, Yan Jun, Weibing Zhang, Matt Benjamin) * rgw: period commit loses zonegroup changes: region_map converted repeatedly (`issue#17051 `_, `pr#10890 `_, Casey Bodley) * rgw: period commit return error when the current period has a zonegroup which doesn't have a master zone (`issue#17110 `_, `pr#10867 `_, weiqiaomiao) * rgw: radosgw daemon core when reopen logs (`issue#17036 `_, `pr#10868 `_, weiqiaomiao) * rgw: rgw file uses too much CPU in gc/idle thread (`issue#16976 `_, `pr#10889 `_, Matt Benjamin) * rgw: s3tests-test-readwrite failing with 500 (`issue#16930 `_, `pr#11471 `_, Yehuda Sadeh) * rgw: upgrade from old multisite to new multisite fails (`issue#16751 `_, `pr#10891 `_, Orit Wasserman) * rgw:response information is error when geting token of swift account (`issue#15195 `_, `pr#11474 `_, Qiankun Zheng) * rgw:user email can modify to empty when it has values (`issue#13286 `_, `pr#11469 `_, Yehuda Sadeh, Weijun Duan) * tests: ceph-disk must ignore debug monc (`issue#17607 `_, `pr#11548 `_, Loic Dachary) * tests: fix TestClsRbd.mirror_image failure in upgrade:jewel-x-master-distro-basic-vps (`issue#16529 `_, `pr#10888 `_, Jason Dillaman) * tests: scsi_debug fails /dev/disk/by-partuuid (`issue#17100 `_, `pr#11411 `_, Loic Dachary) * tests: test/ceph_test_msgr: do not use Message::middle for holding transient… (`issue#17365 `_, `issue#17728 `_, `issue#16955 `_, `pr#11742 `_, Haomai Wang, Kefu Chai, Michal Jarzabek, Sage Weil) * tools: Missing comma in ceph-create-keys causes concatenation of arguments (`issue#17815 `_, `pr#11822 `_, Patrick Donnelly) * tools: add a tool to rebuild mon store from OSD (`issue#17179 `_, `issue#17400 `_, `pr#11126 `_, Kefu Chai, xie xingguo) * tools: ceph-create-keys: sometimes blocks forever if mds allow is set (`issue#16255 `_, `pr#11417 `_, John Spray) * tools: ceph-disk should timeout when a lock cannot be acquired (`issue#16580 `_, `pr#10758 `_, Loic Dachary) * tools: ceph-disk: expected systemd unit failures are confusing (`issue#15990 `_, `pr#10884 `_, Boris Ranto) * tools: ceph-disk: using a regular file as a journal fails (`issue#16280 `_, `issue#17662 `_, `pr#11657 `_, Jayashree Candadai, Anirudha Bose, Loic Dachary, Shylesh Kumar) * tools: ceph-objectstore-tool crashes if --journal-path (`issue#17307 `_, `pr#11407 `_, Kefu Chai) * tools: ceph-objectstore-tool: add a way to split filestore directories offline (`issue#17220 `_, `pr#11252 `_, Josh Durgin) * tools: ceph-post-file: use new ssh key (`issue#14267 `_, `pr#11746 `_, David Galloway) 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 :download:`the complete changelog <../changelog/v10.2.3.txt>`. Notable Changes --------------- * build/ops: 60-ceph-partuuid-workaround-rules still needed by debian jessie (udev 215-17) (`issue#16351 `_, `pr#10653 `_, runsisi, Loic Dachary) * build/ops: ceph Resource Agent does not work with systemd (`issue#14828 `_, `pr#9917 `_, Nathan Cutler) * build/ops: ceph-base requires parted (`issue#16095 `_, `pr#10008 `_, Ken Dreyer) * build/ops: ceph-osd-prestart.sh contains Upstart-specific code (`issue#15984 `_, `pr#10364 `_, Nathan Cutler) * build/ops: mount.ceph: move from ceph-base to ceph-common and add symlink in /sbin for SUSE (`issue#16598 `_, `issue#16645 `_, `pr#10357 `_, Nathan Cutler, Dan Horák, Ricardo Dias, Kefu Chai) * build/ops: need rocksdb commit 7ca731b12ce for ppc64le build (`issue#17092 `_, `pr#10816 `_, Nathan Cutler) * build/ops: rpm: OBS needs ExclusiveArch (`issue#16936 `_, `pr#10614 `_, Michel Normand) * cli: ceph command line tool chokes on ceph –w (the dash is unicode 'en dash' &ndash, copy-paste to reproduce) (`issue#12287 `_, `pr#10420 `_, Oleh Prypin, Kefu Chai) * common: expose buffer const_iterator symbols (`issue#16899 `_, `pr#10552 `_, Noah Watkins) * common: global-init: fixup chown of the run directory along with log and asok files (`issue#15607 `_, `pr#8754 `_, Karol Mroz) * fs: ceph-fuse: link to libtcmalloc or jemalloc (`issue#16655 `_, `pr#10303 `_, Yan, Zheng) * fs: client: crash in unmount when fuse_use_invalidate_cb is enabled (`issue#16137 `_, `pr#10106 `_, Yan, Zheng) * fs: client: fstat cap release (`issue#15723 `_, `pr#9562 `_, Yan, Zheng, Noah Watkins) * fs: essential backports for OpenStack Manila (`issue#15406 `_, `issue#15614 `_, `issue#15615 `_, `pr#10453 `_, John Spray, Ramana Raja, Xiaoxi Chen) * fs: fix double-unlock on shutdown (`issue#17126 `_, `pr#10847 `_, Greg Farnum) * fs: fix mdsmap print_summary with standby replays (`issue#15705 `_, `pr#9547 `_, John Spray) * fs: fuse mounted file systems fails SAMBA CTDB ping_pong rw test with v9.0.2 (`issue#12653 `_, `issue#15634 `_, `pr#10108 `_, Yan, Zheng) * librados: Missing export for rados_aio_get_version in src/include/rados/librados.h (`issue#15535 `_, `pr#9574 `_, Jim Wright) * librados: osd: bad flags can crash the osd (`issue#16012 `_, `pr#9997 `_, Sage Weil) * librbd: Close journal and object map before flagging exclusive lock as released (`issue#16450 `_, `pr#10053 `_, Jason Dillaman) * librbd: Crash when utilizing advisory locking API functions (`issue#16364 `_, `pr#10051 `_, Jason Dillaman) * librbd: ExclusiveLock object leaked when switching to snapshot (`issue#16446 `_, `pr#10054 `_, Jason Dillaman) * librbd: FAILED assert(object_no < m_object_map.size()) (`issue#16561 `_, `pr#10647 `_, Jason Dillaman) * librbd: Image removal doesn't necessarily clean up all rbd_mirroring entries (`issue#16471 `_, `pr#10009 `_, Jason Dillaman) * librbd: Object map/fast-diff invalidated if journal replays the same snap remove event (`issue#16350 `_, `pr#10010 `_, Jason Dillaman) * librbd: Timeout sending mirroring notification shouldn't result in failure (`issue#16470 `_, `pr#10052 `_, Jason Dillaman) * librbd: Whitelist EBUSY error from snap unprotect for journal replay (`issue#16445 `_, `pr#10055 `_, Jason Dillaman) * librbd: cancel all tasks should wait until finisher is done (`issue#16517 `_, `pr#9752 `_, Haomai Wang) * librbd: delay acquiring lock if image watch has failed (`issue#16923 `_, `pr#10827 `_, Jason Dillaman) * librbd: fix missing return statement if failed to get mirror image state (`issue#16600 `_, `pr#10144 `_, runsisi) * librbd: flag image as updated after proxying maintenance op (`issue#16404 `_, `pr#9883 `_, Jason Dillaman) * librbd: mkfs.xfs slow performance with discards and object map (`issue#16707 `_, `issue#16689 `_, `pr#10649 `_, Jason Dillaman) * librbd: potential use after free on refresh error (`issue#16519 `_, `pr#9952 `_, Mykola Golub) * librbd: rbd-nbd does not properly handle resize notifications (`issue#15715 `_, `pr#10679 `_, Mykola Golub) * librbd: the option 'rbd_cache_writethrough_until_flush=true' dosn't work (`issue#16740 `_, `issue#16386 `_, `issue#16708 `_, `issue#16654 `_, `issue#16478 `_, `pr#10797 `_, Mykola Golub, xinxin shu, Xiaowei Chen, Jason Dillaman) * mds: tell command blocks forever with async messenger (TestVolumeClient.test_evict_client failure) (`issue#16288 `_, `pr#10501 `_, Douglas Fuller) * mds: Confusing MDS log message when shut down with stalled journaler reads (`issue#15689 `_, `pr#9557 `_, John Spray) * mds: Deadlock on shutdown active rank while busy with metadata IO (`issue#16042 `_, `pr#10502 `_, Patrick Donnelly) * mds: Failing file operations on kernel based cephfs mount point leaves unaccessible file behind on hammer 0.94.7 (`issue#16013 `_, `pr#10199 `_, Yan, Zheng) * mds: Fix shutting down mds timed-out due to deadlock (`issue#16396 `_, `pr#10500 `_, Zhi Zhang) * mds: MDSMonitor fixes (`issue#16136 `_, `pr#9561 `_, xie xingguo) * mds: MDSMonitor::check_subs() is very buggy (`issue#16022 `_, `pr#10103 `_, Yan, Zheng) * mds: Session::check_access() is buggy (`issue#16358 `_, `pr#10105 `_, Yan, Zheng) * mds: StrayManager.cc: 520: FAILED assert(dnl->is_primary()) (`issue#15920 `_, `pr#9559 `_, Yan, Zheng) * mds: enforce a dirfrag limit on entries (`issue#16164 `_, `pr#10104 `_, Patrick Donnelly) * mds: fix SnapRealm::have_past_parents_open() (`issue#16299 `_, `pr#10499 `_, Yan, Zheng) * mds: fix getattr starve setattr (`issue#16154 `_, `pr#9560 `_, Yan, Zheng) * mds: wrongly treat symlink inode as normal file/dir when symlink inode is stale on kcephfs (`issue#15702 `_, `pr#9405 `_, Zhi Zhang) * mon: "mon metadata" fails when only one monitor exists (`issue#15866 `_, `pr#10654 `_, John Spray, Kefu Chai) * mon: Monitor: validate prefix on handle_command() (`issue#16297 `_, `pr#10036 `_, You Ji) * mon: OSDMonitor: drop pg temps from not the current primary (`issue#16127 `_, `pr#9998 `_, Samuel Just) * mon: prepare_pgtemp needs to only update up_thru if newer than the existing one (`issue#16185 `_, `pr#10001 `_, Samuel Just) * msgr: AsyncConnection::lockmsg/async lockdep cycle: AsyncMessenger::lock, MDSDaemon::mds_lock, AsyncConnection::lock (`issue#16237 `_, `pr#10004 `_, Haomai Wang) * msgr: async messenger mon crash (`issue#16378 `_, `issue#16418 `_, `pr#9996 `_, Haomai Wang) * msgr: backports of all asyncmsgr fixes to jewel (`issue#15503 `_, `issue#15372 `_, `pr#9633 `_, Yan Jun, Haomai Wang, Piotr Dałek) * msgr: msg/async: connection race hang (`issue#15849 `_, `pr#10003 `_, Haomai Wang) * osd: FileStore: umount hang because sync thread doesn't exit (`issue#15695 `_, `pr#9105 `_, Kefu Chai) * osd: Fixes for list-inconsistent-* (`issue#15766 `_, `issue#16192 `_, `issue#15719 `_, `pr#9565 `_, David Zafman) * osd: New pools have bogus stuck inactive/unclean HEALTH_ERR messages until they are first active and clean (`issue#14952 `_, `pr#10007 `_, Sage Weil) * osd: OSD crash with Hammer to Jewel Upgrade: void FileStore::init_temp_collections() (`issue#16672 `_, `pr#10561 `_, David Zafman) * osd: OSD failed to subscribe skipped osdmaps after ceph osd pause (`issue#17023 `_, `pr#10804 `_, Kefu Chai) * osd: ObjectCacher split BufferHead read fix (`issue#16002 `_, `pr#10074 `_, Greg Farnum) * osd: ReplicatedBackend doesn't increment stats on pull, only push (`issue#16277 `_, `pr#10421 `_, Kefu Chai) * osd: Scrub error: 0/1 pinned (`issue#15952 `_, `pr#9576 `_, Samuel Just) * osd: crash adding snap to purged_snaps in ReplicatedPG::WaitingOnReplicas (`issue#15943 `_, `pr#9575 `_, Samuel Just) * osd: partprobe intermittent issues during ceph-disk prepare (`issue#15176 `_, `pr#10497 `_, Marius Vollmer, Loic Dachary) * osd: saw valgrind issues in ReplicatedPG::new_repop (`issue#16801 `_, `pr#10760 `_, Kefu Chai) * osd: sparse_read on ec pool should return extends with correct offset (`issue#16138 `_, `pr#10006 `_, kofiliu) * osd:sched_time not actually randomized (`issue#15890 `_, `pr#9578 `_, xie xingguo) * rbd: ImageReplayer::is_replaying does not include flush state (`issue#16970 `_, `pr#10790 `_, Jason Dillaman) * rbd: Journal duplicate op detection can cause lockdep error (`issue#16363 `_, `pr#10044 `_, Jason Dillaman) * rbd: Journal needs to handle duplicate maintenance op tids (`issue#16362 `_, `pr#10045 `_, Jason Dillaman) * rbd: Unable to disable journaling feature if in unexpected mirror state (`issue#16348 `_, `pr#10042 `_, Jason Dillaman) * rbd: bashism in src/rbdmap (`issue#16608 `_, `pr#10786 `_, Jason Dillaman) * rbd: doc: format 2 now is the default image format (`issue#17026 `_, `pr#10732 `_, Chengwei Yang) * rbd: hen journaling is enabled, a flush request shouldn't flush the cache (`issue#15761 `_, `pr#10041 `_, Yuan Zhou) * rbd: possible race condition during journal transition from replay to ready (`issue#16198 `_, `pr#10047 `_, Jason Dillaman) * rbd: qa/workunits/rbd: respect RBD_CREATE_ARGS environment variable (`issue#16289 `_, `pr#9721 `_, Mykola Golub) * rbd: rbd-mirror should disable proxied maintenance ops for non-primary image (`issue#16411 `_, `pr#10050 `_, Jason Dillaman) * rbd: rbd-mirror: FAILED assert(m_local_image_ctx->object_map != nullptr) (`issue#16558 `_, `pr#10646 `_, Jason Dillaman) * rbd: rbd-mirror: FAILED assert(m_on_update_status_finish == nullptr) (`issue#16956 `_, `pr#10792 `_, Jason Dillaman) * rbd: rbd-mirror: FAILED assert(m_state == STATE_STOPPING) (`issue#16980 `_, `pr#10791 `_, Jason Dillaman) * rbd: rbd-mirror: ensure replay status formatter has completed before stopping replay (`issue#16352 `_, `pr#10043 `_, Jason Dillaman) * rbd: rbd-mirror: include local pool id in resync throttle unique key (`issue#16536 `_, `issue#15239 `_, `issue#16488 `_, `issue#16491 `_, `issue#16329 `_, `issue#15108 `_, `issue#15670 `_, `pr#10678 `_, Ricardo Dias, Jason Dillaman) * rbd: rbd-mirror: potential race condition accessing local image journal (`issue#16230 `_, `pr#10046 `_, Jason Dillaman) * rbd: rbd-mirror: reduce memory footprint during journal replay (`issue#16321 `_, `issue#16489 `_, `issue#16622 `_, `issue#16539 `_, `issue#16223 `_, `issue#16349 `_, `pr#10684 `_, Mykola Golub, Jason Dillaman) * rgw: A query on a static large object fails with 404 error (`issue#16015 `_, `pr#9544 `_, Radoslaw Zarzynski) * rgw: Add zone rename to radosgw_admin (`issue#16934 `_, `pr#10663 `_, Shilpa Jagannath) * rgw: Bucket index shards orphaned after bucket delete (`issue#16412 `_, `pr#10525 `_, Orit Wasserman) * rgw: Bug when using port 443s in rgw. (`issue#16548 `_, `pr#10664 `_, Pritha Srivastava) * rgw: Fallback to Host header for bucket name. (`issue#15975 `_, `pr#10693 `_, Robin H. Johnson) * rgw: Fix civetweb IPv6 (`issue#16928 `_, `pr#10580 `_, Robin H. Johnson) * rgw: Increase log level for messages occuring while running rgw admin command (`issue#16935 `_, `pr#10765 `_, Shilpa Jagannath) * rgw: No Last-Modified, Content-Size and X-Object-Manifest headers if no segments in DLO manifest (`issue#15812 `_, `pr#9265 `_, Radoslaw Zarzynski) * rgw: RGWPeriodPuller tries to pull from itself (`issue#16939 `_, `pr#10764 `_, Casey Bodley) * rgw: Set Access-Control-Allow-Origin to a Asterisk if allowed in a rule (`issue#15348 `_, `pr#9453 `_, Wido den Hollander) * rgw: Swift API returns double space usage and objects of account metadata (`issue#16188 `_, `pr#10148 `_, Albert Tu) * rgw: account/container metadata not actually present in a request are deleted during POST through Swift API (`issue#15977 `_, `issue#15779 `_, `pr#9542 `_, Radoslaw Zarzynski) * rgw: add socket backlog setting for via ceph.conf (`issue#16406 `_, `pr#10216 `_, Feng Guo) * rgw: add tenant support to multisite sync (`issue#16469 `_, `issue#16121 `_, `issue#16665 `_, `pr#10845 `_, Yehuda Sadeh, Josh Durgin, Casey Bodley, Pritha Srivastava) * rgw: add_zone only clears master_zone if --master=false (`issue#15901 `_, `pr#9327 `_, Casey Bodley) * rgw: aws4 parsing issue (`issue#15940 `_, `issue#15939 `_, `pr#9545 `_, Yehuda Sadeh) * rgw: aws4: add STREAMING-AWS4-HMAC-SHA256-PAYLOAD support (`issue#16146 `_, `pr#10167 `_, Radoslaw Zarzynski, Javier M. Mellid) * rgw: backport merge of static sites fixes (`issue#15555 `_, `issue#15532 `_, `issue#15531 `_, `pr#9568 `_, Robin H. Johnson) * rgw: can set negative max_buckets on RGWUserInfo (`issue#14534 `_, `pr#10655 `_, Yehuda Sadeh) * rgw: cleanup radosgw-admin temp command as it was deprecated (`issue#16023 `_, `pr#9390 `_, Vikhyat Umrao) * rgw: comparing return code to ERR_NOT_MODIFIED in rgw_rest_s3.cc (needs minus sign) (`issue#16327 `_, `pr#9790 `_, Nathan Cutler) * rgw: custom metadata aren't camelcased in Swift's responses (`issue#15902 `_, `pr#9267 `_, Radoslaw Zarzynski) * rgw: data sync stops after getting error in all data log sync shards (`issue#16530 `_, `pr#10073 `_, Yehuda Sadeh) * rgw: default zone and zonegroup cannot be added to a realm (`issue#16839 `_, `pr#10658 `_, Casey Bodley) * rgw: document multi tenancy (`issue#16635 `_, `pr#10217 `_, Pete Zaitcev) * rgw: don't unregister request if request is not connected to manager (`issue#15911 `_, `pr#9242 `_, Yehuda Sadeh) * rgw: failed to create bucket after upgrade from hammer to jewel (`issue#16627 `_, `pr#10524 `_, Orit Wasserman) * rgw: fix ldap bindpw parsing (`issue#16286 `_, `pr#10518 `_, Matt Benjamin) * rgw: fix multi-delete query param parsing. (`issue#16618 `_, `pr#10188 `_, Robin H. Johnson) * rgw: improve support for Swift's object versioning. (`issue#15925 `_, `pr#10710 `_, Radoslaw Zarzynski) * rgw: initial slashes are not properly handled in Swift's BulkDelete (`issue#15948 `_, `pr#9316 `_, Radoslaw Zarzynski) * rgw: master: build failures with boost > 1.58 (`issue#16392 `_, `issue#16391 `_, `pr#10026 `_, Abhishek Lekshmanan) * rgw: multisite segfault on ~RGWRealmWatcher if realm was deleted (`issue#16817 `_, `pr#10660 `_, Casey Bodley) * rgw: multisite sync races with deletes (`issue#16222 `_, `issue#16464 `_, `issue#16220 `_, `issue#16143 `_, `pr#10293 `_, Yehuda Sadeh, Casey Bodley) * rgw: multisite: preserve zone's extra pool (`issue#16712 `_, `pr#10537 `_, Abhishek Lekshmanan) * rgw: object expirer's hints might be trimmed without processing in some circumstances (`issue#16705 `_, `issue#16684 `_, `pr#10763 `_, Radoslaw Zarzynski) * rgw: radosgw-admin failure for user create after upgrade from hammer to jewel (`issue#15937 `_, `pr#9294 `_, Orit Wasserman, Abhishek Lekshmanan) * rgw: radosgw-admin: EEXIST messages for create operations (`issue#15720 `_, `pr#9268 `_, Abhishek Lekshmanan) * rgw: radosgw-admin: inconsistency in uid/email handling (`issue#13598 `_, `pr#10520 `_, Matt Benjamin) * rgw: realm pull fails when using apache frontend (`issue#15846 `_, `pr#9266 `_, Orit Wasserman) * rgw: retry on bucket sync errors (`issue#16108 `_, `pr#9425 `_, Yehuda Sadeh) * rgw: s3website: x-amz-website-redirect-location header returns malformed HTTP response (`issue#15531 `_, `pr#9099 `_, Robin H. Johnson) * rgw: segfault in RGWOp_MDLog_Notify (`issue#16666 `_, `pr#10662 `_, Casey Bodley) * rgw: segmentation fault on error_repo in data sync (`issue#16603 `_, `pr#10523 `_, Casey Bodley) * rgw: selinux denials in RGW (`issue#16126 `_, `pr#10519 `_, Boris Ranto) * rgw: support size suffixes for --max-size in radosgw-admin command (`issue#16004 `_, `pr#9743 `_, Vikhyat Umrao) * rgw: updating CORS/ACLs might not work in some circumstances (`issue#15976 `_, `pr#9543 `_, Radoslaw Zarzynski) * rgw: use zone endpoints instead of zonegroup endpoints (`issue#16834 `_, `pr#10659 `_, Casey Bodley) * tests: improve rbd-mirror test case coverage (`issue#16197 `_, `pr#9631 `_, Mykola Golub, Jason Dillaman) * tests: rados/test.sh workunit timesout on OpenStack (`issue#15403 `_, `pr#8904 `_, Loic Dachary) * tools: ceph-disk: Accept bcache devices as data disks (`issue#13278 `_, `pr#8497 `_, Peter Sabaini) * tools: rados: Add cleanup message with time to rados bench output (`issue#15704 `_, `pr#9740 `_, Vikhyat Umrao) * tools: src/script/subman fails with KeyError: 'nband' (`issue#16961 `_, `pr#10625 `_, Loic Dachary, Ali Maredia) 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 :download:`the complete changelog <../changelog/v10.2.2.txt>`. Notable Changes --------------- * ceph: cli: exception when pool name has non-ascii characters (`issue#15913 `_, `pr#9320 `_, Ricardo Dias) * ceph-disk: workaround gperftool hang (`issue#13522 `_, `issue#16103 `_, `pr#9427 `_, Loic Dachary) * cephfs: backports needed for Manila (`issue#15599 `_, `issue#15417 `_, `issue#15045 `_, `pr#9430 `_, John Spray, Ramana Raja, Xiaoxi Chen) * ceph.spec.in: drop support for RHEL<7 and SUSE<1210 in jewel and above (`issue#15725 `_, `issue#15627 `_, `issue#13445 `_, `issue#15822 `_, `issue#15472 `_, `issue#15987 `_, `issue#15516 `_, `issue#15549 `_, `pr#8938 `_, Boris Ranto, Sage Weil, Nathan Cutler, Lars Marowsky-Bree) * ceph_test_librbd_fsx crashes during journal replay shut down (`issue#16123 `_, `pr#9556 `_, Jason Dillaman) * client: fix bugs accidentally disabling readahead (`issue#16024 `_, `pr#9656 `_, Patrick Donnelly, Greg Farnum) * cls_journal: initialize empty commit position upon client register (`issue#15757 `_, `pr#9376 `_, runsisi, Venky Shankar) * cls::rbd: mirror_image_status_list returned max 64 items (`pr#9069 `_, Mykola Golub) * cls_rbd: mirror image status summary should read full directory (`issue#16178 `_, `pr#9608 `_, Jason Dillaman) * common: BackoffThrottle spins unnecessarily with very small backoff while the throttle is full (`issue#15953 `_, `pr#9579 `_, Samuel Just) * common: Do not link lttng into libglobal (`pr#9194 `_, Karol Mroz) * debian: install systemd target files (`issue#15573 `_, `pr#8815 `_, Kefu Chai, Sage Weil) * doc: update mirroring guide to include pool/image status commands (`issue#15746 `_, `pr#9180 `_, Mykola Golub) * librbd: Disabling journaling feature results in "Transport endpoint is not connected" error (`issue#15863 `_, `pr#9548 `_, Yuan Zhou) * librbd: do not shut down exclusive lock while acquiring' (`issue#16291 `_, `issue#16260 `_, `pr#9691 `_, Jason Dillaman) * librbd: Initial python APIs to support mirroring (`issue#15656 `_, `pr#9550 `_, Mykola Golub) * librbd: journal IO error results in failed assertion in AioCompletion (`issue#16077 `_, `issue#15034 `_, `issue#15791 `_, `pr#9611 `_, Hector Martin, Jason Dillaman) * librbd: journal: live replay might skip entries from previous object set (`issue#15864 `_, `issue#15665 `_, `pr#9217 `_, Jason Dillaman) * librbd: journal: support asynchronous shutdown (`issue#15949 `_, `issue#14530 `_, `issue#15993 `_, `pr#9373 `_, Jason Dillaman) * librbd: Metadata config overrides are applied synchronously (`issue#15928 `_, `pr#9318 `_, Jason Dillaman) * librbd: Object Map is showing as invalid, even when Object Map is disabled for that Image. (`issue#16076 `_, `pr#9555 `_, xinxin shu) * librbd: prevent error messages when journal externally disabled (`issue#16114 `_, `pr#9610 `_, Zhiqiang Wang, Jason Dillaman) * librbd: recursive lock possible when disabling journaling (`issue#16235 `_, `pr#9654 `_, Jason Dillaman) * librbd: refresh image if needed in mirror functions (`issue#16096 `_, `pr#9609 `_, Jon Bernard) * librbd: remove should ignore mirror errors from older OSDs (`issue#16268 `_, `pr#9692 `_, Jason Dillaman) * librbd: reuse ImageCtx::finisher and SafeTimer for lots of images case (`issue#13938 `_, `pr#9580 `_, Haomai Wang) * librbd: validate image metadata configuration overrides (`issue#15522 `_, `pr#9554 `_, zhuangzeqiang) * mds: order directories by hash and fix simultaneous readdir races (`issue#15508 `_, `pr#9655 `_, Yan, Zheng, Greg Farnum) * mon: Hammer (0.94.3) OSD does not delete old OSD Maps in a timely fashion (maybe at all?) (`issue#13990 `_, `pr#9100 `_, Kefu Chai) * mon/Monitor: memory leak on Monitor::handle_ping() (`issue#15793 `_, `pr#9270 `_, xie xingguo) * osd: acting_primary not updated on split (`issue#15523 `_, `pr#8968 `_, Sage Weil) * osd: boot race with noup being set (`issue#15678 `_, `pr#9101 `_, Sage Weil) * osd: deadlock in OSD::_committed_osd_maps (`issue#15701 `_, `pr#9103 `_, Xinze Chi) * osd: hobject_t::get_max() vs is_max() discrepancy (`issue#16113 `_, `pr#9614 `_, Samuel Just) * osd: LibRadosWatchNotifyPPTests/LibRadosWatchNotifyPP.WatchNotify2Timeout/1 segv (`issue#15760 `_, `pr#9104 `_, Sage Weil) * osd: remove reliance on FLAG_OMAP for reads (`pr#9638 `_, Samuel Just) * osd valgrind invalid reads/writes (`issue#15870 `_, `pr#9237 `_, Samuel Just) * pybind: rbd API should default features parameter to None (`issue#15982 `_, `pr#9553 `_, Mykola Golub) * qa: dynamic_features.sh races with image deletion (`issue#15500 `_, `pr#9552 `_, Mykola Golub) * qa/workunits: ensure replay has started before checking position (`issue#16248 `_, `pr#9674 `_, Jason Dillaman) * qa/workunits/rbd: fixed rbd_mirror teuthology runtime errors (`pr#9232 `_, Jason Dillaman) * radosgw-admin: fix 'period push' handling of --url (`issue#15926 `_, `pr#9210 `_, Casey Bodley) * rbd-mirror: Delete local image mirror when remote image mirroring is disabled (`issue#15916 `_, `issue#14421 `_, `pr#9372 `_, runsisi, Mykola Golub, Ricardo Dias) * rbd-mirror: do not propagate deletions when pool unavailable (`issue#16229 `_, `pr#9630 `_, Jason Dillaman) * rbd-mirror: do not re-use image id from mirror directory if creating image (`issue#16253 `_, `pr#9673 `_, Jason Dillaman) * rbd-mirror: FAILED assert(!m_status_watcher) (`issue#16245 `_, `issue#16290 `_, `pr#9690 `_, Mykola Golub) * rbd-mirror: fix deletion propagation edge cases (`issue#16226 `_, `pr#9629 `_, Jason Dillaman) * rbd-mirror: fix journal shut down ordering (`issue#16165 `_, `pr#9628 `_, Jason Dillaman) * rbd-mirror: potential crash during image status update (`issue#15909 `_, `pr#9226 `_, Mykola Golub, Jason Dillaman) * rbd-mirror: refresh image after creating sync point (`issue#16196 `_, `pr#9627 `_, Jason Dillaman) * rbd-mirror: replicate cloned images (`issue#14937 `_, `pr#9423 `_, Jason Dillaman) * rbd-mirror should disable the rbd cache for local images (`issue#15930 `_, `pr#9317 `_, Jason Dillaman) * rbd-mirror: support bootstrap canceling (`issue#16201 `_, `pr#9612 `_, Mykola Golub) * rbd-mirror: support multiple replicated pools (`issue#16045 `_, `pr#9409 `_, Jason Dillaman) * rgw: fix manager selection when APIs customized (`issue#15974 `_, `issue#15973 `_, `pr#9245 `_, Robin H. Johnson) * rgw: keep track of written_objs correctly (`issue#15886 `_, `pr#9239 `_, Yehuda Sadeh) * rpm: ceph gid mismatch on upgrade from hammer with pre-existing ceph user (SUSE) (`issue#15869 `_, `pr#9424 `_, Nathan Cutler) * systemd: ceph-{mds,mon,osd,radosgw} systemd unit files need wants=time-sync.target (`issue#15419 `_, `pr#8802 `_, Nathan Cutler) * test: failure in journal.sh workunit test (`issue#16011 `_, `pr#9377 `_, Mykola Golub) * tests: rm -fr /tmp/*virtualenv* (`issue#16087 `_, `pr#9403 `_, Loic Dachary) 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 :download:`the complete changelog <../changelog/v10.2.1.txt>`. 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 facilitate 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 .. _Filesystem Recommendations: ../configuration/filesystem-recommendations * 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: #. 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. #. 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: #. Upgrade the ceph package. This creates the ceph user and group. For example:: ceph-deploy install --stable jewel HOST #. Stop the daemon(s):: service ceph stop # fedora, centos, rhel, debian stop ceph-all # ubuntu #. Fix the ownership:: chown -R ceph:ceph /var/lib/ceph chown -R ceph:ceph /var/log/ceph #. 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: #. Upgrade Ceph on monitor hosts #. Restart all ceph-mon daemons #. Set noout:: ceph osd set noout #. Upgrade Ceph on all OSD hosts #. Stop all ceph-osd daemons #. Mark all OSDs down with something like:: ceph osd down `seq 0 1000` #. Start all ceph-osd daemons #. Let the cluster settle and then unset noout:: ceph osd unset noout #. Upgrade and restart any remaining daemons (ceph-mds, radosgw) Notable Changes since Infernalis -------------------------------- * aarch64: add optimized version of crc32c (Yazen Ghannam, Steve Capper) * Adding documentation on how to use new dynamic throttle scheme (`pr#8069 `_, Somnath Roy) * admin/build-doc: depend on zlib1g-dev and graphviz (`pr#7522 `_, Ken Dreyer) * auth: cache/reuse crypto lib key objects, optimize msg signature check (Sage Weil) * 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) * auth: reinit NSS after fork() (#11128 Yan, Zheng) * authtool: update --help and manpage to match code. (`pr#8456 `_, Robin H. Johnson) * autotools: fix out of tree build (Krxysztof Kosinski) * autotools: improve make check output (Loic Dachary) * Be more careful about directory fragmentation and scrubbing (`issue#15167 `_, `pr#8180 `_, Yan, Zheng) * bluestore: latest and greatest (`issue#14210 `_, `issue#13801 `_, `pr#6896 `_, xie.xingguo, Jianpeng Ma, YiQiang Chen, Sage Weil, Ning Yao) * buffer: add invalidate_crc() (Piotr Dalek) * buffer: add symmetry operator==() and operator!=() (`pr#7974 `_, Kefu Chai) * buffer: fix internal iterator invalidation on rebuild, get_contiguous (`pr#6962 `_, Sage Weil) * buffer: fix zero bug (#12252 Haomai Wang) * 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: some cleanup (Michal Jarzabek) * 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: allow tcmalloc-minimal (Thorsten Behrens) * build: build internal plugins and classes as modules (`pr#6462 `_, James Page) * build: C++11 now supported * build: cmake check fixes (`pr#6787 `_, Orit Wasserman) * build: cmake: fix nss linking (Danny Al-Gaaf) * build: cmake: misc fixes (Orit Wasserman, Casey Bodley) * build: cmake tweaks (`pr#6254 `_, John Spray) * build: disable LTTNG by default (#11333 Josh Durgin) * build: do not build ceph-dencoder with tcmalloc (#10691 Boris Ranto) * 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 junit detection on Fedora 22 (Ira Cooper) * build: fix pg ref disabling (William A. Kennington III) * build: fix ppc build (James Page) * 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: install-deps: misc fixes (Loic Dachary) * build: install-deps.sh improvements (Loic Dachary) * build: install-deps: support OpenSUSE (Loic Dachary) * build: kill warnings (`pr#7397 `_, Kefu Chai) * 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: 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: OSX build fixes (Yan, Zheng) * build: Refrain from versioning and packaging EC testing plugins (`issue#14756 `_, `issue#14723 `_, `pr#7637 `_, Nathan Cutler, Kefu Chai) * build: remove rest-bench * 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-authtool: fix return code on error (Gerhard Muntingh) * 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: added Linux Mint (Michal Jarzabek) * 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: robust init system detection (Owen Synge) * 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: ensure 'zap' only operates on a full disk (#11272 Loic Dachary) * ceph-disk: fixes to respect init system (Loic Dachary, Owen Synge) * 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: fix zap sgdisk invocation (Owen Synge, Thorsten Behrens) * ceph-disk: flake8 fixes (`pr#7646 `_, Loic Dachary) * ceph-disk: follow ceph-osd hints when creating journal (#9580 Sage Weil) * ceph-disk: get Nonetype when ceph-disk list with --format plain on single device. (`pr#6410 `_, Vicente Cheng) * ceph-disk: handle re-using existing partition (#10987 Loic Dachary) * ceph-disk: improve parted output parsing (#10983 Loic Dachary) * ceph-disk: Improving 'make check' for ceph-disk (`pr#7762 `_, Erwan Velu) * ceph-disk: install pip > 6.1 (#11952 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: make suppression work for activate-all and activate-journal (Dan van der Ster) * ceph-disk: many fixes (Loic Dachary, Alfredo Deza) * ceph-disk: pass --cluster arg on prepare subcommand (Kefu Chai) * 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: support for multipath devices (Loic Dachary) * ceph-disk: support NVMe device partitions (#11612 Ilja Slepnev) * 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 'df' units (Zhe Zhang) * ceph: fix parsing in interactive cli mode (#11279 Kefu Chai) * ceph: fix tell behavior (`pr#6329 `_, David Zafman) * cephfs-data-scan: many additions, improvements (John Spray) * 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: do not require successful remount when unmounting (#10982 Greg Farnum) * 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: don't clear COMPLETE when trimming null (Yan, Zheng) * ceph-fuse, libcephfs: drop inode when rmdir finishes (#11339 Yan, Zheng) * 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,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-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 error output for 'tell' (#11101 Kefu Chai) * 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-monstore-tool: fix store-copy (Huangjun) * ceph: new 'ceph daemonperf' command (John Spray, Mykola Golub) * 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-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-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_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_misc: shorten mount timeout (`pr#8209 `_, Sage Weil) * ceph_test_rados: test pipelined reads (Zhiqiang Wang) * 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: avoid sending unnecessary FLUSHSNAP messages (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: exclude setfilelock when calculating oldest tid (Yan, Zheng) * client: fix error handling in check_pool_perm (John Spray) * client: flush kernel pagecache before creating snapshot (`issue#10436 `_, `pr#7495 `_, Yan, Zheng) * 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: modify a word in log (`pr#6906 `_, YongQiang He) * client: pin lookup dentry to avoid inode being freed (Yan, Zheng) * 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: no need to run configure from run-cmake-check.sh (`pr#6959 `_, Orit Wasserman) * cmake (`pr#7849 `_, Ali Maredia) * 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 descriptions to perfcounters (Kiseleva Alyona) * common: add generic plugin infrastructure (`pr#6696 `_, Sage Weil) * common: add latency perf counter for finisher (`pr#6175 `_, Xinze Chi) * common: add perf counter descriptions (Alyona Kiseleva) * 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: bufferlist performance tuning (Piotr Dalek, Sage Weil) * 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: detect overflow of int config values (#11484 Kefu Chai) * 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 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 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 throttle max change (Henry Chang) * 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: make mutex more efficient * common: make work queue addition/removal thread safe (#12662 Jason Dillaman) * 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: optracker improvements (Zhiqiang Wang, Jianpeng Ma) * 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: PriorityQueue tests (Kefu Chai) * 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: some async compression infrastructure (Haomai Wang) * 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: 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 --check to validate dangling names, max osd id (Kefu Chai) * crush: add chooseleaf_stable tunable (`pr#6572 `_, Sangdi Xu, Sage Weil) * crush: add safety assert (`issue#14496 `_, `pr#7344 `_, songbaisen) * crush: cleanup, sync with kernel (Ilya Dryomov) * 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 crash from invalid 'take' argument (#11602 Shiva Rkreddy, Sage Weil) * crush: fix divide-by-2 in straw2 (#11357 Yann Dupont, Sage Weil) * crush: fix error log (`pr#8430 `_, Wei Jin) * crush: fix has_v4_buckets (#11364 Sage Weil) * crush: fix subtree base weight on adjust_subtree_weight (#11855 Sage Weil) * crush: fix typo (`pr#8518 `_, Wei Jin) * crush: reply quickly from get_immediate_parent (`issue#14334 `_, `pr#7181 `_, song baisen) * crush: respect default replicated ruleset config on map creation (Ilya Dryomov) * crushtool: Don't crash when called on a file that isn't a crushmap (`issue#8286 `_, `pr#8038 `_, Brad Hubbard) * crushtool: fix order of operations, usage (Sage Weil) * 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) * 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/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: minor package reorg (Ken Dreyer) * 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) * deb, rpm: move ceph-objectstore-tool to ceph (Ken Dreyer) * 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: 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: docuemnt object corpus generation (#11099 Alexis Normand) * doc: document "readforward" and "readproxy" cache mode (`pr#7023 `_, Kefu Chai) * doc: document region hostnames (Robin H. Johnson) * 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: 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: fix gender neutrality (Alexandre Maragone) * doc: fixing image in section ERASURE CODING (`pr#7298 `_, Rachana Patel) * doc: fix install doc (#10957 Kefu Chai) * 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 sphinx issues (Kefu Chai) * 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: man page updates (Kefu Chai) * doc: mds data structure docs (Yan, Zheng) * doc: misc updates (Francois 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: 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: 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: 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 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: 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: swift tempurls (#10184 Abhishek Lekshmanan) * doc: switch doxygen integration back to breathe (#6115 Kefu Chai) * 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 release schedule docs (Loic Dachary) * 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) * 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) * 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) * gmock: switch to submodule (Danny Al-Gaaf, Loic Dachary) * hadoop: add terasort test (Noah Watkins) * 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) * init-radosgw: merge with sysv version; fix enumeration (Sage Weil) * java: fix libcephfs bindings (Noah Watkins) * 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: 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: add pread, pwrite (Jevon Qiao) * libcephfs,ceph-fuse: cache cleanup (Zheng Yan) * libcephfs,ceph-fuse: fix request resend on cap reconnect (#10912 Yan, Zheng) * 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 config observer (Alistair Strachan) * librados: add c++ style osd/pg command interface (`pr#6893 `_, Yunchuan Wen) * 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: 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: define C++ flags from C constants (Josh Durgin) * 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: fadvise flags per op (Jianpeng Ma) * librados: fix examples/librados/Makefile error. (`pr#6320 `_, You Ji) * 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 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 striper when stripe_count = 1 and stripe_unit != object_size (#11120 Yan, Zheng) * 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, libcephfs: randomize client nonces (Josh Durgin) * 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: op perf counters (John Spray) * librados: potential null pointer access in list_(n)objects (`issue#13822 `_, `pr#6639 `_, xie xingguo) * librados: pybind: fix binary omap values (Robin H. Johnson) * librados: pybind: fix write() method return code (Javier Guerra) * 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: respect default_crush_ruleset on pool_create (#11640 Yuan Zhou) * 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) * libradosstriper: fix leak (Danny Al-Gaaf) * 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: 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: allocate new journal tag after acquiring exclusive lock (`pr#7884 `_, Jason Dillaman) * librbd: allow additional metadata to be stored with the image (Haomai Wang) * 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 blocking aio API methods (#11056 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 for dup flatten requests (#11370 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: cancel in-flight ops on watch error (#11363 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: default new images to format 2 (#11348 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: fadvise for copy, export, import (Jianpeng Ma) * librbd: fast diff implementation that leverages object map (Jason Dillaman) * librbd: fix enable objectmap feature issue (`issue#13558 `_, `pr#6339 `_, xinxin shu) * librbd: fix fast diff bugs (#11553 Jason Dillaman) * librbd: fix image format detection (Zhiqiang Wang) * 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 lock ordering issue (#11577 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 reads larger than the cache size (Lu Shi) * librbd: fix snap_exists API return code overflow (`issue#14129 `_, `pr#6986 `_, xie xingguo) * librbd: fix snapshot creation when other snap is active (#11475 Jason Dillaman) * 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: flatten/copyup fixes (Jason Dillaman) * librbd: flush and invalidate cache via admin socket (`issue#2468 `_, `pr#6453 `_, Mykola Golub) * librbd: handle NOCACHE fadvise flag (Jinapeng Ma) * 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: 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: 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: not necessary to hold owner_lock while releasing snap id (`issue#13914 `_, `pr#6736 `_, Jason Dillaman) * librbd: object map rebuild support (Jason Dillaman) * librbd: only send signal when AIO completions queue empty (`pr#6729 `_, Jianpeng Ma) * librbd: only update image flags while hold exclusive lock (#11791 Jason Dillaman) * librbd: optionally disable allocation hint (Haomai Wang) * 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: prevent race between resize requests (#12664 Jason Dillaman) * librbd: properly handle replay of snap remove RPC message (`issue#14164 `_, `pr#7042 `_, Jason Dillaman) * librbd: readahead fixes (Zhiqiang Wang) * 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: return result code from close (#12069 Jason Dillaman) * 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: store metadata, including config options, in image (Haomai Wang) * librbd: support eventfd for AIO completion notifications (`pr#5465 `_, Haomai Wang) * librbd: tolerate old osds when getting image metadata (#11549 Jason Dillaman) * 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) * librbd: use write_full when possible (Zhiqiang Wang) * log: do not repeat errors to stderr (`issue#14616 `_, `pr#7983 `_, Sage Weil) * log: fix data corruption race resulting from log rotation (#12465 Samuel Just) * log: fix stack overflow when flushing large log lines (`issue#14707 `_, `pr#7599 `_, Igor Fedotov) * logrotate.d: prefer service over invoke-rc.d (#11330 Win Hierman, Sage Weil) * log: segv in a portable way (`issue#14856 `_, `pr#7790 `_, Kefu Chai) * log: use delete[] (`pr#7904 `_, Sage Weil) * 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: 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 'damaged' state to MDSMap (John Spray) * mds: add nicknames for perfcounters (John Spray) * 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: avoid emitting cap warnigns before evicting session (John Spray) * mds: avoid getting stuck in XLOCKDONE (#11254 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: disable problematic rstat propagation into snap parents (Yan, Zheng) * mds: do not add snapped items to bloom filter (Yan, Zheng) * mds: don't double-shutdown the timer when suiciding (`issue#14697 `_, `pr#7616 `_, Greg Farnum) * mds: expose frags via asok (John Spray) * mds: expose state of recovery to status ASOK command (`issue#14146 `_, `pr#7068 `_, Yan, Zheng) * mds: Extend the existing pool access checking to include specific RADOS namespacse. (`pr#8444 `_, 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 expected holes in journal objects (#13167 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 handling for missing mydir dirfrag (#11641 John Spray) * mds: fix inode_t::compare() (`issue#15038 `_, `pr#8014 `_, Yan, Zheng) * 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 scrub_path (`pr#6684 `_, John Spray) * mds: fix setting entire file layout in one setxattr (John Spray) * mds: fix setvxattr (broken in a536d114) (`issue#14029 `_, `pr#6941 `_, 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 standby replay thread creation (`issue#14144 `_, `pr#7132 `_, John Spray) * mds: fix stray handling (John Spray) * mds: fix stray purging in 'stripe_count > 1' case (`issue#15050 `_, `pr#8040 `_, Yan, Zheng) * mds: fix stray reintegration (Yan, Zheng) * mds: fix suicide beacon (John Spray) * mds: flush immediately in do_open_truncate (#11011 John Spray) * mds: function parameter 'df' should be passed by reference (`pr#7490 `_, Na Xie) * mds: handle misc corruption issues (John Spray) * mds: implement snapshot rename (`pr#5645 `_, xinxin shu) * mds: improve dump methods (John Spray) * mds: judgment added to avoid the risk of visiting the NULL pointer (`pr#7358 `_, Kongming Wu) * mds: many fixes (Yan, Zheng, John Spray, Greg Farnum) * mds: many snapshot and stray fixes (Yan, Zheng) * mds: messages/MOSDOp: cast in assert to eliminate warnings (`issue#13625 `_, `pr#6414 `_, David Zafman) * 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: Multi-filesystem support (`issue#14952 `_, `pr#6953 `_, John Spray, Sage Weil) * mds: new filtered MDS tell commands for sessions (`pr#6180 `_, John Spray) * mds: new SessionMap storage using omap (#10649 John Spray) * mds: persist completed_requests reliably (#11048 John Spray) * mds: properly set STATE_STRAY/STATE_ORPHAN for stray dentry/inode (`issue#13777 `_, `pr#6553 `_, Yan, Zheng) * mds: Protect a number of unstable/experimental features behind durable flags (`pr#8383 `_, Greg Farnum) * mds: reduce memory consumption (Yan, Zheng) * mds: repair the command option "--hot-standby" (`pr#6454 `_, Wei Feng) * mds: respawn instead of suicide on blacklist (John Spray) * mds: ScrubStack and "tag path" command (`pr#5662 `_, Yan, Zheng, John Spray, Greg Farnum) * mds: separate safe_pos in Journaler (#10368 John Spray) * mds/Session: use projected parent for auth path check (`issue#13364 `_, `pr#6200 `_, Sage Weil) * mds: snapshot rename support (#3645 Yan, Zheng) * mds: store layout on header object (#4161 John Spray) * mds: tear down connections from `tell` commands (`issue#14048 `_, `pr#6933 `_, 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) * 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) * Minor fixes around data scan in some scenarios (`pr#8115 `_, Yan, Zheng) * 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 cleanups and fixes (Danny Al-Gaaf) * misc coverity fixes (Danny Al-Gaaf) * misc performance and cleanup (Nathan Cutler, Xinxin Shu) * 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 cache over MonitorDBStore (Kefu Chai) * mon: add 'mon_metadata ' command (Kefu Chai) * mon: add 'node ls ...' command (Kefu Chai) * mon: add NOFORWARD, OBSOLETE, DEPRECATE flags for mon commands (Joao Eduardo Luis) * mon: add `osd blacklist clear` (`pr#6945 `_, John Spray) * mon: add PG count to 'ceph osd df' output (Michal Jarzabek) * 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: 'ceph osd metadata' can dump all osds (Haomai Wang) * mon: clean up, reorg some mon commands (Joao Eduardo Luis) * mon: cleanup set-quota error msg (`pr#7371 `_, Abhishek Lekshmanan) * monclient: avoid key renew storm on clock skew (`issue#12065 `_, `pr#8258 `_, Alexey Sheplyakov) * monclient: flush_log (John Spray) * 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: 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: 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 average utilization calc for 'osd df' (Mykola Golub) * 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: fix CRUSH map test for new pools (Sage Weil) * 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 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 monmap creation stamp (`pr#7459 `_, duanweijun) * mon: fix 'pg ls' sort order, state names (#11569 Kefu Chai) * mon: fix refresh (#11470 Joao Eduardo Luis) * 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: fix variance calc in 'osd df' (Sage Weil) * mon: go into ERR state if multiple PGs are stuck inactive (`issue#13923 `_, `pr#7253 `_, Wido den Hollander) * mon: improve callout to crushtool (Mykola Golub) * 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 blocked op messages more readable (Jianpeng Ma) * mon: make clock skew checks sane (`issue#14175 `_, `pr#7141 `_, Joao Eduardo Luis) * mon: make osd get pool 'all' only return applicable fields (#10891 Michal Jarzabek) * 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: misc scaling fixes (Sage Weil) * 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: 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/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: 'osd tree' fixes (Kefu Chai) * mon: paxos is_recovering calc error (`pr#7227 `_, Weijun Duan) * mon: periodic background scrub (Joao Eduardo Luis) * 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: 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: reduce CPU and memory manager pressure of pg health check (`pr#7482 `_, Piotr Dałek) * mon: refine check_remove_tier checks (#11504 John Spray) * mon: reject large max_mds values (#12222 John Spray) * mon: remove 'mds setmap' (`issue#15136 `_, `pr#8121 `_, Sage Weil) * mon: remove remove_legacy_versions() (`pr#8324 `_, Kefu Chai) * mon: remove spurious who arg from 'mds rm ...' (John Spray) * 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: streamline session handling, fix memory leaks (Sage Weil) * 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: upgrades must pass through hammer (Sage Weil) * mon: warn if pg(s) not scrubbed (`issue#13142 `_, `pr#6440 `_, Michal Jarzabek) * mon: warn on bogus cache tier config (Jianpeng Ma) * 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: 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) * msgr: add ceph_perf_msgr tool (Hoamai Wang) * msgr: async: fix seq handling (Haomai Wang) * msgr: async: many many fixes (Haomai Wang) * 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) * 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: misc fixes (#10735 Matt Benjamin, Kefu Chai, Danny Al-Gaaf, Raju Kurunkad, Vu Pham, Casey Bodley) * msgr: xio: sync with accellio v1.4 (Vu Pham) * 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: unit tests (Haomai Wang) * msg/xio: fix compilation (`pr#7479 `_, Roi Dayan) * msg/xio: fixes (`pr#7603 `_, Roi Dayan) * 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) * objectcacher: misc bug fixes (Jianpeng Ma) * 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: 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 latency perf counters for tier operations (Xinze Chi) * osd: add misc perfcounters (Xinze Chi) * 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 simple sleep injection in recovery (Sage Weil) * 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: allow SEEK_HOLE/SEEK_DATA for sparse read (Zhiqiang Wang) * 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 dup omap sets for in pg metadata (Sage Weil) * osd: avoid FORCE updating digest been overwritten by MAYBE when comparing scrub map (`pr#7051 `_, Zhiqiang Wang) * osd: avoid multiple hit set insertions (Zhiqiang Wang) * osd: avoid osd_op_thread suicide because osd_scrub_sleep (`pr#7009 `_, Jianpeng Ma) * osd: avoid transaction append in some cases (Sage Weil) * 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: break PG removal into multiple iterations (#10198 Guang Yang) * osd: cache proxy-write support (Zhiqiang Wang, Samuel Just) * 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: check scrub state when handling map (Jianpeng Ma) * 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 some constness, privateness (Kefu Chai) * osd: clean up temp object if copy-from fails (`pr#8487 `_, Sage Weil) * osd: clean up temp object if promotion fails (Jianpeng Ma) * osd: clear pg_stat_queue after stopping pgs (`issue#14212 `_, `pr#7091 `_, Sage Weil) * osdc/Objecter: allow per-pool calls to op_cancel_writes (John Spray) * 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: configure promotion based on write recency (Zhiqiang Wang) * osd: consider high/low mode when putting agent to sleep (`issue#14752 `_, `pr#7631 `_, Sage Weil) * osd: constrain collections to meta and PGs (normal and temp) (Sage Weil) * osd: correctly handle small osd_scrub_interval_randomize_ratio (`pr#7147 `_, Samuel Just) * 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 send dup MMonGetOSDMap requests (Sage Weil, Kefu Chai) * 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: EIO injection (David Zhang) * osd: elminiate txn apend, ECSubWrite copy (Samuel Just) * 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: 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: 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: clone using splice (Jianpeng Ma) * 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 recursive lock (Xinxin Shu) * 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 check_for_full (Henry Chang) * 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 dirty accounting in make_writeable (Zhiqiang Wang) * 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 dup promotion lost op bug (Zhiqiang Wang) * osd: fix endless repair when object is unrecoverable (Jianpeng Ma, Kefu Chai) * 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 hitset object naming to use GMT (Kefu Chai) * 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 misc memory leaks (Sage Weil) * osd: fix MOSDOp encoding (`pr#6174 `_, Sage Weil) * osd: fix MOSDRepScrub reference counter in replica_scrub (`pr#6730 `_, Jie Wang) * osd: fix negative degraded stats during backfill (Guang Yang) * osd: fix null pointer access and race condition (`issue#14072 `_, `pr#6916 `_, xie xingguo) * osd: fix osdmap dump of blacklist items (John Spray) * osd: fix overload of '==' operator for pg_stat_t (`issue#14921 `_, `pr#7842 `_, xie xingguo) * 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 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 replay requeue when pg is still activating (#13116 Samuel Just) * 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 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 sparse-read result code checking logic (`issue#14151 `_, `pr#7016 `_, xie xingguo) * osd: fix temp-clearing (David Zafman) * 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 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: force promotion for ops EC can't handle (Zhiqiang 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: 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: improve temperature calculation for cache tier agent (`pr#4737 `_, MingXin Liu) * osd: include a temp namespace within each collection/pgid (Sage Weil) * osd: increase default max open files (Owen Synge) * 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: keyvaluestore: misc fixes (Varada Kari) * 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: low and high speed flush modes (Mingxin Liu) * 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) * osd: make suicide timeouts individually configurable (Samuel Just) * 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: merge multiple setattr calls into a setattrs call (Xinxin Shu) * 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 fixes (Ning Yao, Kefu Chai, Xinze Chi, Zhiqiang Wang, Jianpeng Ma) * 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: move scrub in OpWQ (Samuel Just) * 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: newstore prototype (Sage Weil) * osd: note down the number of missing clones (`pr#6654 `_, Kefu Chai) * osd: ObjectStore internal API refactor (Sage Weil) * 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: peer_features includes self (David Zafman) * 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_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: pool size change triggers new interval (#11771 Samuel Just) * osd: prepopulate needs_recovery_map when only one peer has missing (#9558 Guang Yang) * 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: randomize scrub times (#10973 Kefu Chai) * osd: recovery, peering fixes (#11687 Samuel Just) * 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: 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: 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 promotion recency logic (`issue#14320 `_, `pr#6702 `_, 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: require firefly features (David Zafman) * 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: set initial crush weight with more precision (Sage Weil) * osd: several small cleanups (`pr#7055 `_, xie xingguo) * osd: SHEC no longer experimental * 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: skip promotion for flush/evict op (Zhiqiang Wang) * 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: stripe over small xattrs to fit in XFS's 255 byte inline limit (Sage Weil, Ning Yao) * osd: support pool level recovery_priority and recovery_op_priority (`pr#5953 `_, Guang Yang) * 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: try evicting after flushing is done (`pr#5630 `_, Zhiqiang Wang) * osd: upgrades must pass through hammer (Sage Weil) * osd: use a temp object for recovery (Sage Weil) * osd: use atomic to generate ceph_tid (`pr#7017 `_, Evgeniy Firsov) * osd: use blkid to collection partition information (Joseph Handzik) * 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: use SEEK_HOLE / SEEK_DATA for sparse copy (Xinxin Shu) * osd: utime_t, eversion_t, osd_stat_sum_t encoding optimization (`pr#6902 `_, Xinze Chi) * osd: WBThrottle cleanups (Jianpeng Ma) * osd: WeightedPriorityQueue: move to intrusive containers (`pr#7654 `_, Robert LeBlanc) * osd: write file journal optimization (`pr#6484 `_, Xinze Chi) * osd: write journal header on clean shutdown (Xinze Chi) * os/filestore: enlarge getxattr buffer size (Jianpeng Ma) * 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: 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) * PG: pg down state blocked by osd.x, lost osd.x cannot solve peering stuck (`issue#13531 `_, `pr#6317 `_, Xiaowei Chen) * 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: pep8 cleanups (Danny Al-Gaaf) * 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: 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) * pycephfs: many fixes for bindings (Haomai Wang) * 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: fix filelock_interrupt.py test (Yan, Zheng) * qa: improve ceph-disk tests (Loic Dachary) * qa: improve docker build layers (Loic Dachary) * qa/krbd: Expunge generic/247 (`pr#6831 `_, Douglas Fuller) * qa: run-make-check.sh script (Loic Dachary) * 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.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: add --striper option to use libradosstriper (#10759 Sebastien Ponce) * rados: bench: add --no-verify option to improve performance (Piotr Dalek) * rados: bench: fix off-by-one to avoid writing past object_size (`pr#6677 `_, Tao Chang) * rados bench: misc fixes (Dmitry Yatsushkevich) * rados: fix bug for write bench (`pr#7851 `_, James Liu) * 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: 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: fix subuser modify output (#12286 Guce) * 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: handle --snapid arg properly (Abhishek Lekshmanan) * rados: implement rm --force option to force remove when full (`pr#6202 `_, Xiaowei Chen) * rados: improve bench buffer handling, performance (Piotr Dalek) * rados: misc bench fixes (Dmitry Yatsushkevich) * rados: new options for write benchmark (`pr#6340 `_, Joaquim Rocha) * 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: accept --user, refuse -i command-line optionals (`pr#6590 `_, Ilya Dryomov) * rbd: add disk usage tool (#7746 Jason Dillaman) * 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: allow unmapping by spec (Ilya Dryomov) * rbd: cli: fix arg parsing with --io-pattern (Dmitry Yatsushkevich) * 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: deprecate --new-format option (Jason Dillman) * 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: fix error messages (#2862 Rajesh Nambiar) * 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 link issues (Jason Dillaman) * 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: improve CLI arg parsing, usage (Ilya Dryomov) * 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: 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: rbd-replay-prep and rbd-replay improvements (Jason Dillaman) * rbd: recognize queue_depth kernel option (Ilya Dryomov) * 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 G and T units for CLI (Abhishek Lekshmanan) * 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: update rbd man page (Ilya Dryomov) * rbd: update xfstests tests (Douglas Fuller) * rbd: use default order from configuration when not specified (`pr#6965 `_, Yunchuan Wen) * rbd: use image-spec and snap-spec in help (Vikhyat Umrao, Ilya Dryomov) * 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) * releases: what is merged where and when ? (`pr#8358 `_, Loic Dachary) * rest-bench: misc fixes (Shawn Chen) * rest-bench: support https (#3968 Yuan Zhou) * 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 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 max multipart upload parts (#12146 Abshishek Dixit) * rgw: add missing error code for admin op API (`pr#7037 `_, Dunrong Huang) * 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: 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 Trasnaction-Id to response (Abhishek Dixit) * rgw: add X-Timestamp for Swift containers (#10938 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: 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: always check if token is expired (#11367 Anton Aksola, Riku Lehto) * rgw: approximate AmazonS3 HostId error field. (`pr#7444 `_, Robin H. Johnson) * 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] 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: conversion tool to repair broken multipart objects (#12079 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: document layout of pools and objects (Pete Zaitcev) * 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 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 send a Content-Type on a '304 Not Modified' response (`issue#15119 `_, `pr#8253 `_, Wido den Hollander) * 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: 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: 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: extend rgw_extended_http_attrs to affect Swift accounts and containers as well (`pr#5969 `_, Radoslaw Zarzynski) * rgw: fail if parts not specified on multipart upload (#11435 Yehuda Sadeh) * 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: fix a glaring syntax error (`pr#6888 `_, Pavan Rallabhandi) * rgw: fix assignment of copy obj attributes (#11563 Yehuda Sadeh) * rgw: fix a typo in error message (`pr#8434 `_, Abhishek Lekshmanan) * rgw: fix a typo in init-radosgw (`pr#6817 `_, Zhi Zhang) * 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 compilation warning (`pr#7160 `_, Yehuda Sadeh) * rgw: fix compiling error (`pr#8394 `_, xie xingguo) * 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: fixes for per-period metadata logs (`pr#7827 `_, Casey Bodley) * 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 lockdep false positive (`pr#8284 `_, Yehuda Sadeh) * rgw: fix log rotation (Wuxingyi) * rgw: fix mdlog (`pr#8183 `_, Orit Wasserman) * rgw: fix mulitipart upload in retry path (#11604 Yehuda Sadeh) * 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 quota enforcement on POST (#11323 Sergey Arkhipov) * rgw: fix reload on non Debian systems. (`pr#6482 `_, Hervé Rousseau) * rgw: fix reset_loc (#11974 Yehuda Sadeh) * rgw: fix response of delete expired objects (`issue#13469 `_, `pr#6228 `_, Yuan Zhou) * rgw: fix return code on missing upload (#11436 Yehuda Sadeh) * 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 sysvinit script * rgw: fix sysvinit script w/ multiple instances (Sage Weil, Pavan Rallabhandi) * rgw: fix the build failure (`pr#6927 `_, Kefu Chai) * rgw: fix typo in RGWHTTPClient::process error message (`pr#6424 `_, Brad Hubbard) * 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: 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: highres time stamps (`pr#8108 `_, Yehuda Sadeh, Adam C. Emerson, Matt Benjamin) * rgw: improve content-length env var handling (#11419 Robin H. Johnson) * rgw: improved support for swift account metadata (Radoslaw Zarzynski) * rgw: improve error handling in S3/Keystone integration (`pr#7597 `_, Radoslaw Zarzynski) * rgw: improve handling of already removed buckets in expirer (Radoslaw Rzarzynski) * rgw: increase verbosity level on RGWObjManifest line (`pr#7285 `_, magicrobotmonkey) * rgw: indexless (`pr#7786 `_, Yehuda Sadeh) * rgw: issue aio for first chunk before flush cached data (#11322 Guang Yang) * rgw: Jewel nfs fixes 3 (`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: 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: 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: mdlog trim add usage prompt (`pr#6059 `_, Weijun Duan) * rgw: merge manifests properly with prefix override (#11622 Yehuda Sadeh) * 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: only scan for objects not in a namespace (#11984 Yehuda Sadeh) * rgw: orphan detection tool (Yehuda Sadeh) * rgw: Parse --subuser better (`pr#7279 `_, Pete Zaitcev) * rgw: pass in civetweb configurables (#10907 Yehuda Sadeh) * 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: rectify 202 Accepted in PUT response (#11148 Radoslaw Zarzynski) * rgw: refuse to calculate digest when the s3 secret key is empty (`issue#13133 `_, `pr#6045 `_, Sangdi Xu) * 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 meta file after deleting bucket (#11149 Orit Wasserman) * rgw: remove trailing :port from HTTP_HOST header (Sage Weil) * 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: return 412 on bad limit when listing buckets (#11613 Yehuda Sadeh) * rgw: Revert "rgw ldap" (`pr#8075 `_, Yehuda Sadeh) * rgw: rework X-Trans-Id header to conform with Swift API (Radoslaw Rzarzynski) * 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/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 encoding-type for get bucket (Jeff Weber) * rgw: S3: set EncodingType in ListBucketResult (`pr#7712 `_, Victor Makarov) * 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: 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 end marker on swift container GET (#10682 Radoslaw Zarzynski) * rgw: support for aws authentication v4 (Javier M. Mellid) (`issue#10333 `_, `pr#7720 `_, Yehuda Sadeh, Javier M. Mellid) * rgw: support for Swift expiration API (Radoslaw Rzarzynski, Yehuda Sadeh) * rgw: support json format for admin policy API (Dunrong Huang) (`issue#14090 `_, `pr#8036 `_, Yehuda Sadeh, Dunrong Huang) * rgw: swift: allow setting attributes with COPY (#10662 Ahmad Faheem, Dmytro Iurchenko) * rgw: swift bulk delete (Radoslaw Zarzynski) * 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: 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: 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: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: user rm is idempotent (Orit Wasserman) * rgw: use smart pointer for C_Reinitwatch (`pr#6767 `_, Orit Wasserman) * rgw: use unique request id for civetweb (#10295 Orit Wasserman) * rgw: warn on suspicious civetweb frontend parameters (`pr#6944 `_, Matt Benjamin) * rocksdb: add perf counters for get/put latency (Xinxin Shu) * rocksdb: build with PORTABLE=1 (`pr#6311 `_, Sage Weil) * rocksdb, leveldb: fix compact_on_mount (Xiaoxi Chen) * rocksdb: pass options as single string (Xiaoxi Chen) * 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: update to latest (Xiaoxi Chen) * rocksdb: use native rocksdb makefile (and our autotools) (`pr#6290 `_, Sage Weil) * rpm: add suse firewall files (Tim Serong) * rpm: always rebuild and install man pages for rpm (Owen Synge) * 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: 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) * 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 policy (Boris Ranto, Milan Broz) * selinux: Update policy to grant additional access (`issue#14870 `_, `pr#7971 `_, Boris Ranto) * set 128MB tcmalloc cache size by bytes (`pr#8427 `_, Star Guo) * sstring.hh: return type from str_len(...) need not be const (`pr#7679 `_, Matt Benjamin) * stringify outputted error code and fix unmatched parentheses. (`pr#6998 `_, xie.xingguo, xie xingguo) * Striper: reduce assemble_result log level (`pr#8426 `_, Jason Dillaman) * 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: 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 * 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) * sysvinit: allow custom cluster names (`pr#6732 `_, Richard Chan) * sysvinit compat: misc fixes (Owen Synge) * 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 exit values on test.sh, fix tier.cc (`issue#15165 `_, `pr#8266 `_, Samuel Just) * 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/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: misc fs test improvements (John Spray, Loic Dachary) * 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: python tests, linter cleanup (Alfredo Deza) * 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) * tests: fix a few build warnings (`pr#7608 `_, Sage Weil) * tests: fixes for rbd xstests (Douglas Fuller) * 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 tiering health checks (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 for low-level performance (Haomai Wang) * tests: ignore test-suite.log (`pr#6584 `_, Loic Dachary) * tests: Improving 'make check' execution time (`pr#8131 `_, Erwan Velu) * tests: many ec non-regression improvements (Loic Dachary) * tests: many many ec test improvements (Loic Dachary) * 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 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) * upstart: throttle restarts (#11798 Sage Weil, Greg Farnum) * 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)