# vim: set noexpandtab ts=8 sw=8 : # Patch0001: 0001-rgw-change-the-rgw-admin-status-nun_shards-output-to.patch Patch0002: 0002-rgw-send-x-amz-version-id-header-when-upload-files.patch Patch0003: 0003-rgw_lc-support-for-object-tagging-in-LC-policies.patch Patch0004: 0004-rgw_tag-implement-emplace-empty-clear-methods.patch Patch0005: 0005-rgw-rgw_tag_s3-make-dump_xml-a-const-member-function.patch Patch0006: 0006-rgw-lifcycle-don-t-reject-compound-rules-with-empty-.patch Patch0007: 0007-rgw-lifecycle-alternate-solution-to-prefix_map-confl.patch Patch0008: 0008-rgw-admin-add-a-new-lc-get-command.patch Patch0009: 0009-ceph-dencoder-add-support-for-RGWLifecycleConfigurat.patch Patch0010: 0010-RGWLC-debug-tags-in-rgwlc_s3_expiration_header.patch Patch0011: 0011-rgw-complete-expiration-header-object-tags.patch Patch0012: 0012-rgw-lifecycle-backport-add-fmt-format-format-inl-cor.patch Patch0013: 0013-rgw-lifecycle-fix-RGWLifecycleConfiguration-valid.patch Patch0014: 0014-rgw-lifecycle-fix-object-iteration-for-1-same-prefix.patch Patch0015: 0015-rgw-lc-return-error-if-expiration_date-is-not-midnig.patch Patch0016: 0016-rgw-lc-using-midnight-time-to-check-obj-expiration.patch Patch0017: 0017-rgw-RGWLC-handle-versioning-case.patch Patch0018: 0018-rgw-lifecycle-code-cleanup.patch Patch0019: 0019-rgw-admin-implement-a-lc-fix-option.patch Patch0020: 0020-cls_rgw-alias-the-LC-entries-as-rgw_lc_entry_t.patch Patch0021: 0021-cls-rgw-implement-a-method-to-get-a-single-LC-entry.patch Patch0022: 0022-cls_rgw-implement-a-read_omap_entry-method.patch Patch0023: 0023-rgw-add-a-fix_lc_shards-AdminOp-that-can-fix-lc-shar.patch Patch0024: 0024-rgw-admin-use-the-new-AdminOp-to-fix-lc-shards.patch Patch0025: 0025-rgw-lc-fix-protect-list_keys-and-formatter-with-a-sc.patch Patch0026: 0026-doc-add-troubleshooting-notes-on-reshard-admin-clis.patch Patch0027: 0027-cls_rgw-fix-issue-with-gc-code-using-the-wrong-name.patch Patch0028: 0028-rgw-backport-remove-c-17isms.patch Patch0029: 0029-rgw-lc-fix-starts_with-result-flip-not-upstream.patch Patch0030: 0030-rgw-drop-entries-only-if-the-markers-do-not-match.patch Patch0031: 0031-rgw-fix-header-timestamp.patch Patch0032: 0032-rgw_lc-use-a-new-bl-while-encoding-RGW_ATTR_LC.patch Patch0033: 0033-rgw-Cache-notify-fault-injection.patch Patch0034: 0034-rgw-Robustly-notify.patch Patch0035: 0035-rgw-admin-support-for-processing-all-gc-objects-incl.patch Patch0036: 0036-rgw-use-aio-for-gc-processing.patch Patch0037: 0037-rgw-use-a-single-gc-io-manager-for-all-shards.patch Patch0038: 0038-rgw-trim-gc-index-using-aio.patch Patch0039: 0039-rgw-make-gc-concurrenct-io-size-configurable.patch Patch0040: 0040-rgw-gc-aio-replace-lists-with-other-types.patch Patch0041: 0041-rgw-use-vector-for-remove_tags-in-gc-aio.patch Patch0042: 0042-rgw-add-option-for-relaxed-region-enforcement.patch Patch0043: 0043-rgw-enable-override-of-tcmalloc-linkage.patch Patch0044: 0044-rgw-RGWBucket-link-supports-tenant.patch Patch0045: 0045-Add-several-types-to-ceph-dencoder.patch Patch0046: 0046-Add-bucket-new-name-option-to-radosgw-admin.patch Patch0047: 0047-rgw-bucket-link-Add-ability-to-name-bucket-w-differe.patch Patch0048: 0048-rgw-bucket-link-simplify-use-of-get-bucket-info.patch Patch0049: 0049-rgw-bucket-link-use-data-from-bucket_info-to-rewrite.patch Patch0050: 0050-rearrange-simplify-RGWBucket-link-logic-start-bucket.patch Patch0051: 0051-rgw-bucket-link-base-bucket-move-tenant-id-only.patch Patch0052: 0052-rgw-bucket-link-bucket-move-handle-bucket-names-too.patch Patch0053: 0053-rgw-bucket-link-bucket-move-documentation-changes.patch Patch0054: 0054-rgw-policy-refactor-has_conditional.patch Patch0055: 0055-rgw-Added-code-for-STS-AssumeRole.patch Patch0056: 0056-rgw-Adding-manager-handler-etc-for-STS.patch Patch0057: 0057-rgw-Added-max_session_duration-and-policy-parsing-to.patch Patch0058: 0058-sts-qualify-encode-decode-as.patch Patch0059: 0059-rgw-Added-code-to-determine-token-expiration-time-us.patch Patch0060: 0060-rgw-Minor-Fixes.patch Patch0061: 0061-rgw-Added-code-to-store-arn-and-policy-passed-as-par.patch Patch0062: 0062-rgw-Renamed-STS-related-files.patch Patch0063: 0063-rgw-Incorporating-review-comments.patch Patch0064: 0064-rgw-Changed-session-token-format.patch Patch0065: 0065-rgw-Code-for-making-STS-Key-configurable.patch Patch0066: 0066-rgw-Added-code-for-auth-using-temp-credentials-retur.patch Patch0067: 0067-rgw-STS-authentication-correction.patch Patch0068: 0068-rgw-Perm-mask.patch Patch0069: 0069-rgw-Code-for-GetSessionToken-REST-API.patch Patch0070: 0070-rgw-STS-auth-changes-to-make-sure-that-other-engines.patch Patch0071: 0071-rgw-STS-auth-failures-will-return-reject.patch Patch0072: 0072-rgw-Proper-result-for-XML-formatting.patch Patch0073: 0073-rgw-Adding-ops-for-V4-authentication.patch Patch0074: 0074-rgw-Adding-documentation-for-STS-Lite.patch Patch0075: 0075-rgw-Code-to-make-S3-and-STS-co-exist-in-same-namespa.patch Patch0076: 0076-rgw-POST-request-handling-for-boto-compliance.patch Patch0077: 0077-rgw-Check-for-Access-Key-during-STS-Auth.patch Patch0078: 0078-STS-remove-c-17-isms.patch Patch0079: 0079-rgw-Correcting-the-default-value-of-sts-max-session-.patch Patch0080: 0080-rgw-Changing-default-s3-auth-order.patch Patch0081: 0081-rgw-Correct-permission-evaluation-to-allow-only-admi.patch Patch0082: 0082-rgw-Fix-for-buffer-overflow-in-STS-op_post.patch Patch0083: 0083-rgw-Fixes-to-STS-Lite-documentation.patch Patch0084: 0084-rgw-Minor-fixes-to-AssumeRole-for-boto-compliance.patch Patch0085: 0085-rgw-Minor-fixes-to-radosgw-admin-commands-for-a-role.patch Patch0086: 0086-rgw-Adding-documentation-for-Roles.patch Patch0087: 0087-rgw-move-keystone-secrets-from-ceph.conf-to-files.patch Patch0088: 0088-rgw-move-keystone-secrets-from-ceph.conf-to-files.patch Patch0089: 0089-rgw-Initial-commit-for-User-Policy-REST-APIs.patch Patch0090: 0090-rgw-User-Policy-evaluation-for-bucket-object-user-pe.patch Patch0091: 0091-rgw-Permission-evaluation-for-User-Policies.patch Patch0092: 0092-rgw-Permission-evaluation-for-Roles.patch Patch0093: 0093-rgw-Using-bitset-for-Actions-to-allow-for-more-actio.patch Patch0094: 0094-rgw-Fixing-error-codes-while-user-policy-is-parsed.patch Patch0095: 0095-rgw-Adding-unittests-for-User-policies.patch Patch0096: 0096-rgw-Corrected-code-for-ARNs-for-entities-that-have-a.patch Patch0097: 0097-rgw-Policy-code-for-STS.patch Patch0098: 0098-rgw-Fixes-to-User-Policy-code-for-CreateBucket-and-L.patch Patch0099: 0099-rgw-Fixing-user-perm-evaluation-when-no-policy-is-su.patch Patch0100: 0100-rgw-Fix-verify_user_permission-for-user-policy-evalu.patch Patch0101: 0101-rgw-Correcting-permission-evaluation-for-Roles.patch Patch0102: 0102-rgw-Correcting-perm-evaluation-when-a-bucket-policy-.patch Patch0103: 0103-rgw-Don-t-check-for-Principal-in-User-Policies.patch Patch0104: 0104-STS-remove-c-17-isms.patch Patch0105: 0105-rgw-properly-avoid-accessing-null-user_acl.patch Patch0106: 0106-rgw-Replacing-std-regex-with-boost-regex.patch Patch0107: 0107-rgw-Fix-for-permission-evaluation-for-anonymous-user.patch Patch0108: 0108-rgw-Fix-for-role-permission-evaluation-based-on-TYPE.patch Patch0109: 0109-rgw-fix-bad-versioned-bucket-stats-after-reshard.patch Patch0110: 0110-rgw-minor-clean-up-convert-enum-BIIndexType-to-enum-.patch Patch0111: 0111-rgw-reshard-improvements.patch Patch0112: 0112-rgw-move-all-reshard-config-options-out-of-legacy_co.patch Patch0113: 0113-rgw-fix-bad-user-stats-on-versioned-bucket-after-res.patch Patch0114: 0114-rgw-resolve-bug-where-marker-was-not-advanced-during.patch Patch0115: 0115-rgw-resolve-bugs-and-clean-up-garbage-collection-cod.patch Patch0116: 0116-rgw-update-civetweb-to-1.1.patch Patch0117: 0117-cls-rgw-mtime-in-rgw_bucket_dir_entry_meta-not-reall.patch Patch0118: 0118-rgw-code-cleanup-add-const-when-possible-and-helpful.patch Patch0119: 0119-rgw-fix-unordered-bucket-listing-when-object-names-a.patch Patch0120: 0120-rgw-the-error-code-returned-by-rgw-is-different-from.patch Patch0121: 0121-rgw-admin-fix-data-sync-report-for-master-zone.patch Patch0122: 0122-rgw-prefix-delimiter-listing-support-1-character-del.patch Patch0123: 0123-rgw-fix-signed-char-truncation-in-delimiter-check.patch Patch0124: 0124-rgw-use-boost-string_view.patch Patch0125: 0125-rgw-fix-log-messages-using-proceeding-to-processing.patch Patch0126: 0126-rgw-correct-comment-describing-function-try_refresh_.patch Patch0127: 0127-rgw-fix-race-b-w-bucket-reshard-and-ops-waiting-on-r.patch Patch0128: 0128-rgw-Evaluating-bucket-policies-also-while-reading-pe.patch Patch0129: 0129-Initial-work-for-OPA-Ceph-integration.patch Patch0130: 0130-Set-object-ACLS-to-reflect-bucket-owner-supporting-b.patch Patch0131: 0131-In-addition-to-changing-the-ACLOwner-on-objects-the-.patch Patch0132: 0132-Added-the-command-to-cli-test.patch Patch0133: 0133-cls-rgw-expose-cls_rgw_bucket_list_op-for-single-sha.patch Patch0134: 0134-rgw-cls_bucket_list_unordered-lists-a-single-shard.patch Patch0135: 0135-rgw-crypto-throw-DigestException-from-Digest-and-HMA.patch Patch0136: 0136-rgw-Added-caching-for-tokens-retrieved-from-keystone.patch Patch0137: 0137-rgw-Removed-duplicate-signing-method-from-S3-credent.patch Patch0138: 0138-rgw-optimize-function-abort_bucket_multiparts.patch Patch0139: 0139-rgw-limit-entries-in-remove_olh_pending_entries.patch Patch0140: 0140-rgw-zone-service-tracks-source-zones-in-a-vector.patch Patch0141: 0141-rgw-add-perf-counter-definitions-for-multisite-sync.patch Patch0142: 0142-rgw-add-sync-perf-counters-to-each-RGWDataSyncProces.patch Patch0143: 0143-rgw-add-perf-counters-to-fetch_remote_obj.patch Patch0144: 0144-rgw-add-perf-counter-to-RGWReadRemoteDataLogShardCR.patch Patch0145: 0145-rgw-add-perf-counter-to-RGWListBucketIndexLogCR.patch Patch0146: 0146-rgw-multisite-log-trimming-only-checks-peers-that-sy.patch Patch0147: 0147-rgw-fix-end-condition-in-AsyncMetadataList-for-bilog.patch Patch0148: 0148-rgw-bilog-trim-uses-bucket_info.num_shards-to-size-m.patch Patch0149: 0149-rgw-datalog-trimming-tracks-min-markers-as-strings.patch Patch0150: 0150-rgw-data-bilogs-are-trimmed-when-no-peers-are-readin.patch Patch0151: 0151-rgw-RGWSyncLogTrimCR-wont-set-last_trim-max_marker.patch Patch0152: 0152-cls-user-cls_user_set_buckets_info-overwrites-creati.patch Patch0153: 0153-test-rgw-add-multisite-test_bucket_creation_time.patch Patch0154: 0154-restful-Expose-perf-counters.patch Patch0155: 0155-rgw-use-chunked-encoding-to-get-partial-results-out-.patch Patch0156: 0156-rgw_file-include-tenant-when-hashing-bucket-names.patch Patch0157: 0157-rgw_file-include-tenant-in-hashes-of-object.patch Patch0158: 0158-rgw_file-pretty-print-fh_key.patch Patch0159: 0159-rgw_file-permit-lookup_handle-to-lookup-root_fh.patch Patch0160: 0160-rgw_file-all-directories-are-virtual-with-respect-to.patch Patch0161: 0161-rgw-permit-rgw-admin-to-populate-user-info-by-access.patch Patch0162: 0162-rgw-conditionally-allow-non-unique-email-addresses.patch Patch0163: 0163-rgw_file-allocate-new-id-for-continued-request.patch Patch0164: 0164-osd-OSDMap-Replace-get_out_osds-with-get_out_existin.patch Patch0165: 0165-msg-output-peer-address-when-detecting-bad-CRCs.patch Patch0166: 0166-mds-fix-corner-case-of-replaying-open-sessions.patch Patch0167: 0167-mds-ignore-sessionmap-version-mismatch-if-mds_wipe_s.patch Patch0168: 0168-mds-resolve-memory-leak-of-recall-gather.patch Patch0169: 0169-mds-output-full-details-for-recall-threshold.patch Patch0170: 0170-mds-avoid-gather-assertion-when-subs-exist.patch Patch0171: 0171-mds-drive-log-flush-and-cache-trim-during-recall.patch Patch0172: 0172-mds-add-2nd-order-recall-throttle.patch Patch0173: 0173-qa-check-cache-dump-works-without-timeout.patch Patch0174: 0174-qa-config-recall-settings-to-test-cache-drop.patch Patch0175: 0175-mds-initialize-cap_revoke_eviction_timeout-with-conf.patch Patch0176: 0176-mds-server-check-directory-split-after-rename.patch Patch0177: 0177-mds-drop-reconnect-message-from-non-existent-session.patch Patch0178: 0178-client-clean-up-error-checking-and-return-of-_lookup.patch Patch0179: 0179-mds-avoid-sending-too-many-osd-requests-at-once-afte.patch Patch0180: 0180-mds-there-is-an-assertion-when-calling-Beacon-shutdo.patch Patch0181: 0181-mount.ceph.c-do-not-pass-nofail-to-the-kernel.patch Patch0182: 0182-mds-remove-superfluous-error-in-StrayManager-advance.patch Patch0183: 0183-mds-open-import-bounding-dirfrags-in-batch.patch Patch0184: 0184-mds-reset-heartbeat-inside-big-loop.patch Patch0185: 0185-rgw_file-fix-readdir-eof-calc-caller-stop-implies-eo.patch Patch0186: 0186-mds-don-t-carry-ref-in-MDSRankDispatcher-ms_dispatch.patch Patch0187: 0187-ceph-volume-use-the-Device.rotational-property-inste.patch Patch0188: 0188-common-options-add-osd_map_message_max_bytes.patch Patch0189: 0189-mon-OSDMonitor-limit-MOSDMap-message-size-by-bytes.patch Patch0190: 0190-rgw_file-advance_mtime-should-consider-namespace-exp.patch Patch0191: 0191-rgw_file-introduce-fast-S3-Unix-stats-immutable.patch Patch0192: 0192-rgw-update-the-radosgw-admin-reshard-status.patch Patch0193: 0193-rgw-return-ERR_NO_SUCH_BUCKET-early-while-evaluating.patch Patch0194: 0194-rgw-delete_obj_index-takes-mtime-for-bilog.patch Patch0195: 0195-rgw-fix-header-timestamp.patch Patch0196: 0196-cls-rgw-keep-issuing-bilog-trim-ops-after-reset.patch Patch0197: 0197-rgw-object-expirer-handle-resharded-buckets.patch Patch0198: 0198-rgw_common-introduce-a-decode_bl-function-to-decode-.patch Patch0199: 0199-rgw-admin-introduce-objects-expire-stale-list-and-rm.patch Patch0200: 0200-rgw-rgw_bucket-set-BucketInfo-as-const-in-rgw_remove.patch Patch0201: 0201-rgw-OutputDataSocket-actually-discard-data-on-full-b.patch Patch0202: 0202-rgw-fix-list-bucket-with-start-maker-and-delimiter-w.patch Patch0203: 0203-rgw-always-generate-after-delimiter-char-to-skip-dir.patch Patch0204: 0204-rgw-allow-multipart-upload-abort-to-proceed.patch Patch0205: 0205-rgw-sync-counters-drop-spaces-from-counter-names.patch Patch0206: 0206-bluestore-print-aio-in-batch.patch Patch0207: 0207-os-bluestore-fix-aio-pwritev-lost-data-problem.patch Patch0208: 0208-ceph_test_objectstore-add-very_large_write-test.patch Patch0209: 0209-RGWLC-fix-expiration-header-tag-match.patch Patch0210: 0210-rgw_file-dont-deadlock-in-advance_mtime.patch Patch0211: 0211-rgw_file-readdir-do-not-construct-markers-w-leading.patch Patch0212: 0212-rgw-asio-check-the-remote-endpoint-before-processing.patch Patch0213: 0213-librbd-improve-object-map-performance-under-high-IOP.patch Patch0214: 0214-rgw-beast-frontend-no-longer-experimental.patch Patch0215: 0215-rgw-fix-cls_bucket_list_unordered-partial-results.patch Patch0216: 0216-rgw-fix-memory-growth-while-deleteing-objects-with.patch Patch0217: 0217-Client-unlink-dentry-for-inode-with-llref-0.patch Patch0218: 0218-ceph_volume_client-remove-use-of-obsolete-mds-cmd.patch Patch0219: 0219-ceph_volume_client-fix-usage-of-get_mds_map.patch Patch0220: 0220-qa-use-fs-rm_data_pool.patch Patch0221: 0221-ceph-volume-client-fix-command-argument-order.patch Patch0222: 0222-qa-fix-mdsmap-lookup.patch Patch0223: 0223-mds-check-dir-fragment-to-split-dir-if-mkdir-makes-i.patch Patch0224: 0224-common-secret.c-fix-key-parsing-when-doing-a-remount.patch Patch0225: 0225-client-fix-ceph.dir.rctime-vxattr-value.patch Patch0226: 0226-common-options-Set-concurrent-bluestore-rocksdb-comp.patch Patch0227: 0227-common-options.cc-Lower-the-default-value-of-osd_dee.patch Patch0228: 0228-os-bluestore-fix-out-of-bound-access-in-bmap-allocat.patch Patch0229: 0229-os-bluestore-call-fault_range-properly-prior-to-look.patch Patch0230: 0230-os-bluestore-BitmapFreelistManager-disable-bluestore.patch Patch0231: 0231-os-bluestore-fix-length-overflow.patch Patch0232: 0232-os-bluestore-fix-duplicate-allocations-in-bmap-alloc.patch Patch0233: 0233-os-bluestore-distinguis-request-and-results-in-bitma.patch Patch0234: 0234-os-bluestore-BitmapAllocator-allocate-log-new-extent.patch Patch0235: 0235-os-bluestore-default-to-bitmap-allocator-for-bluesto.patch Patch0236: 0236-BlueStore-allocator-Improved-but-slower-method-of-ca.patch Patch0237: 0237-BlueStore-allocator-Give-allocator-names-so-they-can.patch Patch0238: 0238-BlueStore-allocator-Add-ability-to-dump-free-allocat.patch Patch0239: 0239-common-admin_socket-Adapted-old-protocol-to-use-new-.patch Patch0240: 0240-common-admin_socket-Add-execute_command-that-allows-.patch Patch0241: 0241-tools-ceph-bluestore-tool-add-commands-free-dump-and.patch Patch0242: 0242-os-bluestore-Import-necessary-functions-to-fix-rebas.patch Patch0243: 0243-BlueStore-allocator-Add-command-to-inspect-how-much-.patch Patch0244: 0244-test-objectstore-Allocator_test.-Add-test-for-dumpin.patch Patch0245: 0245-doc-rados-operations-health-checks-document-BlueStor.patch Patch0246: 0246-os-bluestore-BlueStore.cc-_open_fm-expects-a-bool.patch Patch0247: 0247-os-bluestore-cleanup-around-allocator-calls.patch Patch0248: 0248-os-bluestore-BlueFS-add-bluefs_shared_alloc_size.patch Patch0249: 0249-os-bluestore-BlueFS-apply-shared_alloc_size-to-share.patch Patch0250: 0250-os-bluestore-gift-freespace-to-bluefs-based-on-share.patch Patch0251: 0251-os-bluestore-try-to-gift-large-extents-then-fall-bac.patch Patch0252: 0252-os-bluestore-record-gifts-expected-size-in-superbloc.patch Patch0253: 0253-os-bluestore-BlueFS-Move-bluefs-alloc-size-initializ.patch Patch0254: 0254-osd-osd_types-separate-accounting-for-data-omap-and-.patch Patch0255: 0255-osd-drop-useless-OSDService-update_osd_stat.patch Patch0256: 0256-osd-decouple-statfs-update-from-hb-peers-pg-count.patch Patch0257: 0257-kv-add-per-prefix-space-estimation.patch Patch0258: 0258-os-bluestore-BlueFS-drop-get_fs_usage-add-get_used.patch Patch0259: 0259-os-bluestore-report-omap-and-internal-metadata-usage.patch Patch0260: 0260-osd-OSDMap-include-data-omap-in-osd-df-output.patch Patch0261: 0261-os-ObjectMap-add-get_db-accessor.patch Patch0262: 0262-os-filestore-estimate-omap_allocated.patch Patch0263: 0263-luminous-osd-Implement-lazy-omap-usage-statistics.patch Patch0264: 0264-luminous-tests-Add-test-for-lazy-omap-stat-collectio.patch Patch0265: 0265-luminous-osd-Modify-lazy-omap-stats-to-only-show-one.patch Patch0266: 0266-luminous-tests-Convert-to-boost-regex-and-add-blocki.patch Patch0267: 0267-rgw-set-api_name-to-default_zonegroup_name-for-defau.patch Patch0268: 0268-rgw-fix-issue-for-CreateBucket-with-BucketLocation-p.patch Patch0269: 0269-qa-fix-for-s3tests.functional.test_s3.test_bucket_ge.patch Patch0270: 0270-rgw-Fix-expiration-header-does-not-return-the-earlie.patch Patch0271: 0271-rgw-ldap-auth-S3-auth-failure-should-return-InvalidA.patch Patch0272: 0272-rgw-don-t-throw-when-accept-errors-are-happening-on-.patch Patch0273: 0273-rgw-make-sure-object-s-idtag-is-updated-when-availab.patch Patch0274: 0274-rgw-make-rollback-refcount-tag-match.patch Patch0275: 0275-rgw-sanitize-the-HTTP_-http-header-elements.patch Patch0276: 0276-Set-object-ACLS-to-reflect-bucket-owner-supporting-b.patch Patch0277: 0277-Documentation-for-bucket-chown.patch Patch0278: 0278-This-commit-deals-with-renaming-user.-Under-the-hood.patch Patch0279: 0279-Create-new-user-before-deleting-existing-user.-Migra.patch Patch0280: 0280-Modified-rgw_store_user_info-checks-to-suit-user-ren.patch Patch0281: 0281-Minor-fixes.patch Patch0282: 0282-Added-user-rename-test.patch Patch0283: 0283-Updated-help.t-with-user-rename-command.patch Patch0284: 0284-Fixed-line-wrap.patch Patch0285: 0285-On-new-uid-check-return-EEXIST.patch Patch0286: 0286-Added-test-to-verify-user-rename-failure.patch Patch0287: 0287-rgw-fix-version-tracking-across-bucket-link-steps.patch Patch0288: 0288-rgw-simplify-bucket-chown.patch Patch0289: 0289-rgw-add-rgw_remove_user_buckets_index.patch Patch0290: 0290-rgw-user-rename-operates-on-stub-user.patch Patch0291: 0291-rgw-user-rename-overwrites-new-user-with-yes-i-reall.patch Patch0292: 0292-rgw-user-rename-calls-update-to-write-final-user.patch Patch0293: 0293-rgw-consolidate-RGWUser-execute_rename.patch Patch0294: 0294-rgw-add-rename_swift_keys-for-user-rename.patch Patch0295: 0295-rgw-fix-if-case-for-bucket-rename.patch Patch0296: 0296-rgw-define-rgw_bucket-full_equal-.-method.patch Patch0297: 0297-rgw-RGWCoroutine-call-nullptr-sets-retcode-0.patch Patch0298: 0298-radosgw-admin-datalog-trim-takes-shard-id-and-loops-.patch Patch0299: 0299-radosgw-admin-mdlog-trim-loops-until-done.patch Patch0300: 0300-ceph-volume-lvm.zap-fix-cleanup-for-db-partitions.patch Patch0301: 0301-ceph-volume-lvm.zap-retry-wipefs-several-times-to-pr.patch Patch0302: 0302-ceph-volume-tests-verify-that-wipefs-tries-several-t.patch Patch0303: 0303-ceph-volume-lvm.activate-Return-an-error-if-WAL-DB-d.patch Patch0304: 0304-rgw-rgw_link_bucket-uses-local-objv-in-absense-of-pi.patch Patch0305: 0305-mgr-drop-GIL-in-StandbyPyModule-get_config.patch Patch0306: 0306-rgw-when-resharding-store-progress-json.patch Patch0307: 0307-rgw-adjust-allowable-bucket-index-shard-counts-for-d.patch Patch0308: 0308-rgw-reduce-per-shard-entry-count-during-ordered-buck.patch Patch0309: 0309-rgw-mismatched-indices-in-parallel-vectors-in-RGWRad.patch Patch0310: 0310-common-config-hold-lock-while-accessing-mutable-cont.patch Patch0311: 0311-osd-PG-Add-PG-to-large-omap-log-message.patch Patch0312: 0312-tools-rados-allow-list-objects-in-a-pg.patch Patch0313: 0313-tools-rados-call-pool_lookup-after-rados-is-connecte.patch Patch0314: 0314-tools-rados-add-pgid-in-help.patch Patch0315: 0315-tools-rados-always-call-rados.shutdown-before-exit.patch Patch0316: 0316-rgw-crypt-permit-RGW-AUTO-default-with-SSE-S3-header.patch Patch0317: 0317-Bucket-link-using-bucket-new-name-should-consider-ca.patch Patch0318: 0318-rgw-allow-reshard-log-entries-for-non-existent-bucke.patch Patch0319: 0319-restful-Query-nodes_by_id-for-items.patch Patch0320: 0320-restful-Use-node_id-for-_gather_leaf_ids.patch Patch0321: 0321-rgw-Fix-crash-caused-by-bad-content-length-header.patch Patch0322: 0322-rgw-fix-rgw-crash-when-token-is-not-base64-encode.patch Patch0323: 0323-rgw-s3-don-t-require-a-body-in-S3-put-object-acl.patch Patch0324: 0324-test-rgw-add-test_concurrent_versioned_object_increm.patch Patch0325: 0325-cls-rgw-only-promote-instance-entries-if-they-sort-a.patch Patch0326: 0326-rgw-factor-out-decode_olh_info.patch Patch0327: 0327-rgw-apply_olh_log-filters-out-older-instances-of-sam.patch Patch0328: 0328-rgw-allow-apply_olh_log-to-rewrite-the-same-olh-vers.patch Patch0329: 0329-rgw-apply_olh_log-ignores-RGW_ATTR_OLH_VER-decode-er.patch Patch0330: 0330-ceph-volume-tests-check-success-message-when-zapping.patch Patch0331: 0331-ceph-volume-devices.lvm-zap-use-the-identifier-to-re.patch Patch0332: 0332-rbd-use-the-ordered-throttle-for-the-export-action.patch Patch0333: 0333-mds-allow-client-to-specify-its-session-timeout.patch Patch0334: 0334-mds-add-command-that-config-individual-client-sessio.patch Patch0335: 0335-qa-cephfs-test-case-for-timeout-config-of-individual.patch Patch0336: 0336-client-_readdir_cache_cb-may-use-the-readdir_cache-a.patch Patch0337: 0337-client-nfs-ganesha-with-cephfs-client-removing-dir-r.patch Patch0338: 0338-client-return-eio-when-sync-file-which-unsafe-reqs-h.patch Patch0339: 0339-client-fix-a-bug-in-lseek.patch Patch0340: 0340-client-add-procession-of-SEEK_HOLE-and-SEEK_DATA-in-.patch Patch0341: 0341-common-ceph_time-Use-fixed-floating-point-notation-f.patch Patch0342: 0342-osdc-Objecter-Add-age-to-the-ops.patch Patch0343: 0343-client-MetaRequest-Add-age-to-MetaRequest-dump.patch Patch0344: 0344-rgw-admin-add-tenant-argument-to-reshard-cancel.patch Patch0345: 0345-radosgw-admin-fix-syncs_from-in-bucket-sync-status.patch Patch0346: 0346-rgw-address-0-length-listing-results-when-non-vis-en.patch Patch0347: 0347-rgw-fix-bug-with-un-ordered-bucket-listing-and-marke.patch Patch0348: 0348-rgw-add-radosgw-admin-subcommand-bucket-radoslist.patch Patch0349: 0349-rgw-fix-bugs-with-radosgw-admin-bucket-radoslist.patch Patch0350: 0350-rgw-clean-up-RGWOrphansSearch-return-values.patch Patch0351: 0351-rgw-add-support-for-swift-dlo-slo-with-radosgw-admin.patch Patch0352: 0352-rgw-fix-bug-with-output-on-copied-multipart-objects.patch Patch0353: 0353-rgw-prevent-slo-and-dlo-loops-in-listing.patch Patch0354: 0354-rgw-add-logging-for-looping-checks.patch Patch0355: 0355-rgw-radosgw-admin-radoslist-subcommand-doesn-t-list-.patch Patch0356: 0356-rgw-updates-and-fixes-to-radsogw-admin-radoslist-sub.patch Patch0357: 0357-rgw-add-tooling-to-support-rgw-orphan-list.patch Patch0358: 0358-rgw-rgw-orphan-list-script-does-not-work-correctly-o.patch Patch0359: 0359-rgw-the-bucket-radoslist-admin-subcommand-should-use.patch Patch0360: 0360-rgw-add-l-logging-to-ordered-bucket-listing.patch Patch0361: 0361-test-osd-add-performance-test-case-for-maybe_remove_.patch Patch0362: 0362-osd-OSDMap-maybe_remove_pg_upmaps-s-pg_to_raw_up-pg_.patch Patch0363: 0363-osd-OSDMap-maybe_remove_pg_upmaps-avoid-do_crush-twi.patch Patch0364: 0364-osd-maybe_remove_pg_upmaps-clean_pg_upmaps.patch Patch0365: 0365-osd-OSDMapMapping-make-ParallelPGMapper-can-accept-i.patch Patch0366: 0366-osd-OSDMap-split-clean_pg_upmaps-into-smaller-helper.patch Patch0367: 0367-mon-OSDMonitor-do-clean_pg_upmaps-the-parallel-way-i.patch Patch0368: 0368-test-add-parallel-clean_pg_upmaps-test.patch Patch0369: 0369-mgr-Release-GIL-before-calling-OSDMap-calc_pg_upmaps.patch Patch0370: 0370-test-Test-balancer-module-commands.patch Patch0371: 0371-mgr-Improve-balancer-module-status.patch Patch0372: 0372-tools-odsmaptool-truncate-target-upmap-file.patch Patch0373: 0373-osdmaptool-Match-default-max-value-of-10.patch Patch0374: 0374-osd-For-balancer-crush-needs-the-rule-passed-to-get_.patch Patch0375: 0375-tools-osdmaptool-Perform-upmap-calculation-as-ceph-m.patch Patch0376: 0376-osd-ceph_pg_upmaps-use-max_deviation-to-determine-pe.patch Patch0377: 0377-osd-calc_pg_upmaps-pick-most-overfull-remap-from-try.patch Patch0378: 0378-osd-Create-more_underfull-with-below-target-that-are.patch Patch0379: 0379-osd-ceph_pg_upmaps-use-any-overfull-when-there-are-s.patch Patch0380: 0380-test-Add-test-case-based-on-Xie-script-in-commit-com.patch Patch0381: 0381-tools-osdmaptool.cc-do-not-use-deprecated-std-random.patch Patch0382: 0382-test-Luminous-specific-change-required-due-to-output.patch Patch0383: 0383-qa-standalone-ceph-helpers.sh-fix-mgr-module-path.patch Patch0384: 0384-test-balancer-Backport-specific-fixes.patch Patch0385: 0385-test-Fix-test-to-use-gt-instead-of-creating-an-empty.patch Patch0386: 0386-release-note-Add-pending-release-notes-for-already-m.patch Patch0387: 0387-tools-osdmaptool-document-non-upmap-options-that-wer.patch Patch0388: 0388-doc-Add-upmap-options-to-osdmaptool-man-page-and-giv.patch Patch0389: 0389-osdmaptool-Add-upmap-active-to-simulate-active-upmap.patch Patch0390: 0390-mgr-Change-default-upmap_max_deviation-to-5.patch Patch0391: 0391-test-use-hex-string-literals.patch Patch0392: 0392-test-EscapeJson.Utf8-uses-json-instead-of-xml.patch Patch0393: 0393-common-add-streaming-interfaces-for-json-xml-escapin.patch Patch0394: 0394-rgw-rework-json-xml-escape-usage-follow-19806.patch Patch0395: 0395-common-Formatter-fix-string_view-usage-for-json-xml-.patch Patch0396: 0396-rgw-update-the-hash-source-for-multipart-entries-dur.patch Patch0397: 0397-radosgw-admin-sync-status-displays-id-of-shard-furth.patch Patch0398: 0398-rgw-data-sync-markers-include-timestamp-from-datalog.patch Patch0399: 0399-rgw-remove-spawned_keys-filter-from-incremental-data.patch Patch0400: 0400-rgw-clear-ent_list-for-each-loop-of-bucket-list.patch Patch0401: 0401-rgw-reject-unauthenticated-response-header-actions.patch Patch0402: 0402-rgw-reject-response-headers-w-illegal-characters.patch Patch0403: 0403-rgw-Fix-dynamic-resharding-not-working-for-empty-zon.patch Patch0404: 0404-rgwlc-enable-thread-parallelism-in-RGWLC.patch Patch0405: 0405-rgwlc-make-rgwlc-entries-extensible-and-extend.patch Patch0406: 0406-rgwlc-permit-per-bucket-thread-parallelism.patch Patch0407: 0407-rgwlc-revisions.patch Patch0408: 0408-rgw-lc-continue-past-decode-tagset-and-get_obj_state.patch Patch0409: 0409-rgwlc-compile-fixes-for-L.patch Patch0410: 0410-Update-ceph.te.patch Patch0411: 0411-selinux-add-type-http_cache_port_t-in-require-sectio.patch Patch0412: 0412-rgwlc-re-hook-RGWRados-process_lc.patch Patch0413: 0413-rgw-multisite-encode-space-in-meta-sync.patch Patch0414: 0414-rgw-fix-bilog-to-handle-buckets-with-tenant-name.patch Patch0415: 0415-rgw-fix-loop-problem-with-swift-stat-on-account.patch Patch0416: 0416-rgw-allow-enforcing-of-maximum-requested-in-listing-.patch Patch0417: 0417-rgw-allow-protocol-bucket-listing-default-max-to-ove.patch Patch0418: 0418-rgw-sanitize-header-attributes.patch Patch0419: 0419-rgw-lc-cls_rgw_lc_list_entries_op-struc_v-off-by-one.patch Patch0420: 0420-rgwlc-properly-accumulate-in-RGWLC-list_lc_progress.patch Patch0421: 0421-rgw-nfs-disable-gc-lc-quota-and-sync-threads-by-defa.patch Patch0422: 0422-rgw-find-oldest-period-and-update-RGWMetadataLogHist.patch Patch0423: 0423-rgwlc-make-invalid-lc_op-accesses-impossible.patch Patch0424: 0424-rgw-fix-nullptr-deref-at-debug-rgw-10.patch Patch0425: 0425-rgwlc-wait-for-WorkQ-threads-on-shutdown.patch Patch0426: 0426-rgw-auto-clean-reshard-queue-entries-for-non-existen.patch Patch0427: 0427-mon-MgrMonitor-fix-null-deref-when-invalid-formatter.patch Patch0428: 0428-rgw-attempt-retries-after-write-race-for-bucket-resh.patch Patch0429: 0429-rgw-fix-shutdown-crash-in-RGWAsyncReadMDLogEntries.patch Patch0430: 0430-rgw-radoslist-incomplete-multipart-uploads-fix-marke.patch Patch0431: 0431-mds-take-xlock-in-the-order-requests-start-locking.patch Patch0432: 0432-rgw-sanitize-newlines-in-s3-CORSConfiguration-s-Expo.patch Patch0433: 0433-os-bluestore-BlueFS-compact-log-even-when-sync_metad.patch Patch0434: 0434-os-bluestore-Added-rescue-procedure-for-bluefs-log-r.patch Patch0435: 0435-os-bluestore-Add-ability-to-disable-compaction.patch Patch0436: 0436-os-bluestore-Add-documentation-for-large-bluefs-log-.patch Patch0437: 0437-rgw-clean-up-attempt-loop-in-ordered-listing.patch Patch0438: 0438-rgw-change-rgw-orphan-list-script-to-plain-script-to.patch Patch0439: 0439-rgw-sync-rgw-orphan-list-with-upstream-version.patch Patch0440: 0440-rgw-orphan-list-timestamp-fix.patch Patch0441: 0441-rgw-rgw-orphan-list-fix-interaction-quoting-and-perc.patch Patch0442: 0442-rgwlc-fix-error-return-from-backward-compat-decode.patch Patch0443: 0443-rgw-fix-segfault-from-empty-etag-buffer-list.patch Patch0444: 0444-ceph-volume-remove-unneeded-call-to-get_devices.patch # spec file for package ceph # # Copyright (C) 2004-2017 The Ceph Project Developers. See COPYING file # at the top-level directory of this distribution and at # https://github.com/ceph/ceph/blob/master/COPYING # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. # # This file is under the GNU Lesser General Public License, version 2.1 # # Please submit bugfixes or comments via http://tracker.ceph.com/ # # `rdopkg update-patches` will automatically update this macro: %global commit 149c9c8a16ac33a42231ce4145067d3ceec16ac7 %bcond_without ocf %bcond_without cephfs_java %if 0%{?suse_version} %bcond_with ceph_test_package %else %bcond_without ceph_test_package %endif %bcond_with make_check %ifarch s390 s390x %bcond_with tcmalloc %else %bcond_without tcmalloc %endif %bcond_with lowmem_builder %if 0%{?fedora} || 0%{?rhel} %bcond_without selinux %endif %if 0%{?suse_version} %bcond_with selinux %endif # LTTng-UST enabled on Fedora, RHEL 6+, and SLE (not openSUSE) %if 0%{?fedora} || 0%{?rhel} >= 6 || 0%{?suse_version} %if ! 0%{?is_opensuse} %bcond_without lttng %endif %endif %if %{with selinux} # get selinux policy version %{!?_selinux_policy_version: %global _selinux_policy_version %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp 2>/dev/null || echo 0.0.0)} %endif %global _hardened_build 1 %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} %{!?python3_pkgversion: %global python3_pkgversion 3} # unify libexec for all targets %global _libexecdir %{_exec_prefix}/lib ################################################################################# # main package definition ################################################################################# Name: ceph Version: 12.2.12 Release: 127%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 %endif # define _epoch_prefix macro which will expand to the empty string if epoch is # undefined %global _epoch_prefix %{?epoch:%{epoch}:} Summary: User space components of the Ceph file system License: LGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT %if 0%{?suse_version} Group: System/Filesystems %endif URL: http://ceph.com/ Source0: https://download.ceph.com/tarballs/%{name}-%{version}.tar.gz # patches_base=12.2.12 # patches_ignore=DROP-IN-RPM # Update civetweb submodule Source101: civetweb.patch %if 0%{?suse_version} %if 0%{?is_opensuse} ExclusiveArch: x86_64 aarch64 ppc64 ppc64le %else ExclusiveArch: x86_64 aarch64 ppc64le s390x %endif %endif ################################################################################# # dependencies that apply across all distro families ################################################################################# Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mds = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mon = %{_epoch_prefix}%{version}-%{release} Requires(post): binutils %if 0%{with cephfs_java} BuildRequires: java-devel BuildRequires: sharutils %endif %if 0%{with selinux} BuildRequires: checkpolicy BuildRequires: selinux-policy-devel BuildRequires: /usr/share/selinux/devel/policyhelp %endif %if 0%{with make_check} %if 0%{?fedora} || 0%{?rhel} BuildRequires: python-cherrypy BuildRequires: python-werkzeug %endif %if 0%{?suse_version} BuildRequires: python-CherryPy BuildRequires: python-Werkzeug BuildRequires: python-numpy-devel %endif BuildRequires: python-coverage BuildRequires: python-pecan BuildRequires: socat %endif BuildRequires: bc BuildRequires: gperf BuildRequires: cmake BuildRequires: cryptsetup BuildRequires: fuse-devel BuildRequires: gcc-c++ BuildRequires: gdbm %if 0%{with tcmalloc} BuildRequires: gperftools-devel >= 2.4 %endif BuildRequires: jq BuildRequires: leveldb-devel > 1.2 BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel BuildRequires: libudev-devel BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: make BuildRequires: parted BuildRequires: perl BuildRequires: pkgconfig BuildRequires: python BuildRequires: python-devel BuildRequires: python-nose BuildRequires: python-requests BuildRequires: python-six BuildRequires: python-virtualenv BuildRequires: snappy-devel BuildRequires: udev BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: which BuildRequires: xfsprogs BuildRequires: xfsprogs-devel BuildRequires: xmlstarlet BuildRequires: yasm ################################################################################# # distro-conditional dependencies ################################################################################# %if 0%{?suse_version} BuildRequires: pkgconfig(systemd) BuildRequires: systemd-rpm-macros BuildRequires: systemd %{?systemd_requires} PreReq: %fillup_prereq BuildRequires: net-tools BuildRequires: libbz2-devel BuildRequires: btrfsprogs BuildRequires: mozilla-nss-devel BuildRequires: keyutils-devel BuildRequires: libopenssl-devel BuildRequires: lsb-release BuildRequires: openldap2-devel BuildRequires: python-Cython BuildRequires: python-PrettyTable BuildRequires: python-Sphinx BuildRequires: rdma-core-devel %endif %if 0%{?fedora} || 0%{?rhel} Requires: systemd BuildRequires: boost-random BuildRequires: btrfs-progs BuildRequires: nss-devel BuildRequires: keyutils-libs-devel BuildRequires: libibverbs-devel BuildRequires: openldap-devel BuildRequires: openssl-devel BuildRequires: redhat-lsb-core BuildRequires: Cython BuildRequires: python-prettytable BuildRequires: python-sphinx %endif # python34-... for RHEL, python3-... for all other supported distros # no py3 in RH Ceph Storage %if 0%{?rhel} #BuildRequires: python34-devel #BuildRequires: python34-setuptools #BuildRequires: python34-Cython %else BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-Cython %endif # lttng and babeltrace for rbd-replay-prep %if %{with lttng} %if 0%{?fedora} || 0%{?rhel} BuildRequires: lttng-ust-devel BuildRequires: libbabeltrace-devel %endif %if 0%{?suse_version} BuildRequires: lttng-ust-devel BuildRequires: babeltrace-devel %endif %endif %if 0%{?suse_version} BuildRequires: libexpat-devel %endif %if 0%{?rhel} || 0%{?fedora} BuildRequires: expat-devel %endif #hardened-cc1 %if 0%{?fedora} || 0%{?rhel} BuildRequires: redhat-rpm-config %endif %description Ceph is a massively scalable, open-source, distributed storage system that runs on commodity hardware and delivers object, block and file system storage. ################################################################################# # subpackages ################################################################################# %package base Summary: Ceph Base Package %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{with selinux} Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} %endif Requires: python Requires: python-requests Requires: python-setuptools Requires: grep Requires: xfsprogs Requires: logrotate Requires: util-linux Requires: cryptsetup Requires: findutils Requires: psmisc Requires: which %if 0%{?suse_version} Recommends: ntp-daemon %endif %description base Base is the package that includes all the files shared amongst ceph servers %package -n ceph-common Summary: Ceph Common %if 0%{?suse_version} Group: System/Filesystems %endif Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python-rbd = %{_epoch_prefix}%{version}-%{release} Requires: python-cephfs = %{_epoch_prefix}%{version}-%{release} Requires: python-rgw = %{_epoch_prefix}%{version}-%{release} %if 0%{?fedora} || 0%{?rhel} Requires: python-prettytable %endif %if 0%{?suse_version} Requires: python-PrettyTable %endif Requires: python-requests %if 0%{with tcmalloc} Requires: gperftools-libs >= 2.4-8.el7 %endif %{?systemd_requires} %if 0%{?suse_version} Requires(pre): pwdutils %endif %description -n ceph-common Common utilities to mount and interact with a ceph storage cluster. Comprised of files that are common to Ceph clients and servers. %package mds Summary: Ceph Metadata Server Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} %description mds ceph-mds is the metadata server daemon for the Ceph distributed file system. One or more instances of ceph-mds collectively manage the file system namespace, coordinating access to the shared OSD cluster. %package mon Summary: Ceph Monitor Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} # For ceph-rest-api %if 0%{?fedora} || 0%{?rhel} Requires: python-flask %endif %if 0%{?suse_version} Requires: python-Flask %endif %description mon ceph-mon is the cluster monitor daemon for the Ceph distributed file system. One or more instances of ceph-mon form a Paxos part-time parliament cluster that provides extremely reliable and durable storage of cluster membership, configuration, and state. %package mgr Summary: Ceph Manager Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: python-six %if 0%{?fedora} || 0%{?rhel} Requires: python-cherrypy Requires: python-jinja2 Requires: python-werkzeug Requires: pyOpenSSL %endif %if 0%{?suse_version} Requires: python-CherryPy Requires: python-Jinja2 Requires: python-Werkzeug Requires: python-pyOpenSSL %endif Requires: python-pecan %description mgr ceph-mgr enables python modules that provide services (such as the REST module derived from Calamari) and expose CLI hooks. ceph-mgr gathers the cluster maps, the daemon metadata, and performance counters, and exposes all these to the python modules. %package fuse Summary: Ceph fuse-based client %if 0%{?suse_version} Group: System/Filesystems %endif Requires: fuse %description fuse FUSE based client for Ceph distributed network file system %package -n rbd-fuse Summary: Ceph fuse-based client %if 0%{?suse_version} Group: System/Filesystems %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-fuse FUSE based client to map Ceph rbd images to files %package -n rbd-mirror Summary: Ceph daemon for mirroring RBD images %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-mirror Daemon for mirroring RBD images between Ceph clusters, streaming changes asynchronously. %package -n rbd-nbd Summary: Ceph RBD client base on NBD %if 0%{?suse_version} Group: System/Filesystems %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-nbd NBD based client to map Ceph rbd images to local device %package radosgw Summary: Rados REST gateway %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} %if 0%{with selinux} Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?rhel} || 0%{?fedora} Requires: mailcap %endif %description radosgw RADOS is a distributed object store used by the Ceph distributed storage system. This package provides a REST gateway to the object store that aims to implement a superset of Amazon's S3 service as well as the OpenStack Object Storage ("Swift") API. %if %{with ocf} %package resource-agents Summary: OCF-compliant resource agents for Ceph daemons %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version} Requires: resource-agents %description resource-agents Resource agents for monitoring and managing Ceph daemons under Open Cluster Framework (OCF) compliant resource managers such as Pacemaker. %endif %package osd Summary: Ceph Object Storage Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} # for sgdisk, used by ceph-disk %if 0%{?fedora} || 0%{?rhel} Requires: gdisk %endif %if 0%{?suse_version} Requires: gptfdisk %endif Requires: parted >= 3.1-26 Requires: lvm2 %description osd ceph-osd is the object storage daemon for the Ceph distributed file system. It is responsible for storing objects on a local file system and providing access to them over the network. %package -n librados2 Summary: RADOS distributed object store client library %if 0%{?suse_version} Group: System/Libraries %endif %if 0%{?rhel} || 0%{?fedora} Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} %endif %description -n librados2 RADOS is a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to access the distributed object store using a simple file-like interface. %package -n librados-devel Summary: RADOS headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: librados2-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: librados2-devel < %{_epoch_prefix}%{version}-%{release} %description -n librados-devel This package contains libraries and headers needed to develop programs that use RADOS object store. %package -n librgw2 Summary: RADOS gateway client library %if 0%{?suse_version} Group: System/Libraries %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n librgw2 This package provides a library implementation of the RADOS gateway (distributed object store with S3 and Swift personalities). %package -n librgw-devel Summary: RADOS gateway client library %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Provides: librgw2-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: librgw2-devel < %{_epoch_prefix}%{version}-%{release} %description -n librgw-devel This package contains libraries and headers needed to develop programs that use RADOS gateway client library. %package -n python-rgw Summary: Python 2 libraries for the RADOS gateway %if 0%{?suse_version} Group: Development/Languages/Python %endif Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rgw This package contains Python 2 libraries for interacting with Cephs RADOS gateway. %package -n python-rados Summary: Python 2 libraries for the RADOS object store %if 0%{?suse_version} Group: Development/Languages/Python %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rados This package contains Python 2 libraries for interacting with Cephs RADOS object store. %package -n libradosstriper1 Summary: RADOS striping interface %if 0%{?suse_version} Group: System/Libraries %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n libradosstriper1 Striping interface built on top of the rados library, allowing to stripe bigger objects onto several standard rados objects using an interface very similar to the rados one. %package -n libradosstriper-devel Summary: RADOS striping interface headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: libradosstriper1 = %{_epoch_prefix}%{version}-%{release} Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: libradosstriper1-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: libradosstriper1-devel < %{_epoch_prefix}%{version}-%{release} %description -n libradosstriper-devel This package contains libraries and headers needed to develop programs that use RADOS striping interface. %package -n librbd1 Summary: RADOS block device client library %if 0%{?suse_version} Group: System/Libraries %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Requires(post): coreutils %endif %if 0%{?rhel} || 0%{?fedora} Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} %endif %description -n librbd1 RBD is a block device striped across multiple distributed objects in RADOS, a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to manage these block devices. %package -n librbd-devel Summary: RADOS block device headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: librbd1-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: librbd1-devel < %{_epoch_prefix}%{version}-%{release} %description -n librbd-devel This package contains libraries and headers needed to develop programs that use RADOS block device. %package -n python-rbd Summary: Python 2 libraries for the RADOS block device %if 0%{?suse_version} Group: Development/Languages/Python %endif Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rbd This package contains Python 2 libraries for interacting with Cephs RADOS block device. %package -n libcephfs2 Summary: Ceph distributed file system client library %if 0%{?suse_version} Group: System/Libraries %endif Obsoletes: libcephfs1 %if 0%{?rhel} || 0%{?fedora} Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-libcephfs %endif %description -n libcephfs2 Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a shared library allowing applications to access a Ceph distributed file system via a POSIX-like interface. %package -n libcephfs-devel Summary: Ceph distributed file system headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: libcephfs2-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release} %description -n libcephfs-devel This package contains libraries and headers needed to develop programs that use Cephs distributed file system. %package -n python-cephfs Summary: Python 2 libraries for Ceph distributed file system %if 0%{?suse_version} Group: Development/Languages/Python %endif Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Recommends: python-rados = %{_epoch_prefix}%{version}-%{release} %endif Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-cephfs This package contains Python 2 libraries for interacting with Cephs distributed file system. %if 0%{with ceph_test_package} %package -n ceph-test Summary: Ceph benchmarks and test tools %if 0%{?suse_version} Group: System/Benchmark %endif Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} Requires: xmlstarlet Requires: jq Requires: socat %description -n ceph-test This package contains Ceph benchmarks and test tools. %endif %if 0%{with cephfs_java} %package -n libcephfs_jni1 Summary: Java Native Interface library for CephFS Java bindings %if 0%{?suse_version} Group: System/Libraries %endif Requires: java Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} %description -n libcephfs_jni1 This package contains the Java Native Interface library for CephFS Java bindings. %package -n libcephfs_jni-devel Summary: Development files for CephFS Java Native Interface library %if 0%{?suse_version} Group: Development/Libraries/Java %endif Requires: java Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: libcephfs_jni1-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: libcephfs_jni1-devel < %{_epoch_prefix}%{version}-%{release} %description -n libcephfs_jni-devel This package contains the development files for CephFS Java Native Interface library. %package -n cephfs-java Summary: Java libraries for the Ceph File System %if 0%{?suse_version} Group: System/Libraries %endif Requires: java Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} Requires: junit BuildRequires: junit %description -n cephfs-java This package contains the Java libraries for the Ceph File System. %endif %package -n rados-objclass-devel Summary: RADOS object class development kit Group: Development/Libraries Requires: librados2-devel = %{_epoch_prefix}%{version}-%{release} %description -n rados-objclass-devel This package contains libraries and headers needed to develop RADOS object class plugins. %if 0%{with selinux} %package selinux Summary: SELinux support for Ceph MON, OSD and MDS %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: policycoreutils, libselinux-utils Requires(post): ceph-base = %{_epoch_prefix}%{version}-%{release} Requires(post): selinux-policy-base >= %{_selinux_policy_version}, policycoreutils, gawk Requires(postun): policycoreutils %description selinux This package contains SELinux support for Ceph MON, OSD and MDS. The package also performs file-system relabelling which can take a long time on heavily populated file-systems. %endif %package -n python-ceph-compat Summary: Compatibility package for Cephs python libraries %if 0%{?suse_version} Group: Development/Languages/Python %endif Obsoletes: python-ceph Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python-rbd = %{_epoch_prefix}%{version}-%{release} Requires: python-cephfs = %{_epoch_prefix}%{version}-%{release} Requires: python-rgw = %{_epoch_prefix}%{version}-%{release} Provides: python-ceph %description -n python-ceph-compat This is a compatibility package to accommodate python-ceph split into python-rados, python-rbd, python-rgw and python-cephfs. Packages still depending on python-ceph should be fixed to depend on python-rados, python-rbd, python-rgw or python-cephfs instead. ################################################################################# # common ################################################################################# %prep %autosetup -p1 # Rewrite .git_version file. echo %{commit} > src/.git_version echo v%{version}-%{release} >> src/.git_version # submodule patches must be handled separately # https://github.com/redhat-openstack/rdopkg/issues/16 pushd src/civetweb patch -p1 --fuzz=0 -i %{SOURCE101} popd %build %if 0%{with cephfs_java} # Find jni.h for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do [ -d $i ] && java_inc="$java_inc -I$i" done %endif %if %{with lowmem_builder} RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768" %endif export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'` export CPPFLAGS="$java_inc" export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS" env | sort %if %{with lowmem_builder} %if 0%{?jobs} > 8 %define _smp_mflags -j8 %endif %endif # unlimit _smp_mflags in system macro if not set above # Brew cannot handle -j24 here %define _smp_ncpus_max 16 # extract the number of processors for use with cmake %define _smp_ncpus %(echo %{_smp_mflags} | sed 's/-j//') mkdir build cd build cmake .. \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ -DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir} \ -DCMAKE_INSTALL_LOCALSTATEDIR=%{_localstatedir} \ -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \ -DCMAKE_INSTALL_MANDIR=%{_mandir} \ -DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \ -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \ -DWITH_MANPAGE=ON \ -DWITH_PYTHON3=OFF \ -DWITH_SYSTEMD=ON \ %if 0%{?rhel} && ! 0%{?centos} -DWITH_SUBMAN=ON \ %endif %if 0%{without ceph_test_package} -DWITH_TESTS=OFF \ %endif %if 0%{with cephfs_java} -DWITH_CEPHFS_JAVA=ON \ %endif %if 0%{with selinux} -DWITH_SELINUX=ON \ %endif %if %{with lttng} -DWITH_LTTNG=ON \ -DWITH_BABELTRACE=ON \ %else -DWITH_LTTNG=OFF \ -DWITH_BABELTRACE=OFF \ %endif $CEPH_EXTRA_CMAKE_ARGS \ %if 0%{with ocf} -DWITH_OCF=ON \ %endif %ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64 -DWITH_BOOST_CONTEXT=ON \ %else -DWITH_BOOST_CONTEXT=OFF \ %endif -DBOOST_J=%{_smp_ncpus} make %{?_smp_mflags} %if 0%{with make_check} %check # run in-tree unittests cd build ctest %{?_smp_mflags} %endif %install pushd build make DESTDIR=%{buildroot} install # we have dropped sysvinit bits rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph popd install -m 0644 -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap %if 0%{?fedora} || 0%{?rhel} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph %endif %if 0%{?suse_version} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name} %endif install -m 0644 -D systemd/ceph.tmpfiles.d %{buildroot}%{_tmpfilesdir}/ceph-common.conf install -m 0755 -D systemd/ceph %{buildroot}%{_sbindir}/rcceph install -m 0644 -D systemd/50-ceph.preset %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset mkdir -p %{buildroot}%{_sbindir} install -m 0644 -D src/logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ceph chmod 0644 %{buildroot}%{_docdir}/ceph/sample.ceph.conf install -m 0644 -D COPYING %{buildroot}%{_docdir}/ceph/COPYING install -m 0644 -D etc/sysctl/90-ceph-osd.conf %{buildroot}%{_sysctldir}/90-ceph-osd.conf # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} install -m 0644 -D etc/sysconfig/SuSEfirewall2.d/services/ceph-mon %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon install -m 0644 -D etc/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds mkdir -p %{buildroot}/sbin ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph %endif # udev rules install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules install -m 0644 -D udev/60-ceph-by-parttypeuuid.rules %{buildroot}%{_udevrulesdir}/60-ceph-by-parttypeuuid.rules install -m 0644 -D udev/95-ceph-osd.rules %{buildroot}%{_udevrulesdir}/95-ceph-osd.rules #set up placeholder directories mkdir -p %{buildroot}%{_sysconfdir}/ceph mkdir -p %{buildroot}%{_localstatedir}/run/ceph mkdir -p %{buildroot}%{_localstatedir}/log/ceph mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/tmp mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mon mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mgr mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/radosgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mgr mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd %if 0%{?suse_version} # create __pycache__ directories and their contents %py3_compile %{buildroot}%{python3_sitelib} %endif %clean rm -rf %{buildroot} ################################################################################# # files and systemd scriptlets ################################################################################# %files %files base %{_bindir}/crushtool %{_bindir}/monmaptool %{_bindir}/osdmaptool %{_bindir}/ceph-kvstore-tool %{_bindir}/ceph-run %{_bindir}/ceph-detect-init %{_libexecdir}/systemd/system-preset/50-ceph.preset %{_sbindir}/ceph-create-keys %{_sbindir}/ceph-disk %{_sbindir}/rcceph %dir %{_libexecdir}/ceph %{_libexecdir}/ceph/ceph_common.sh %dir %{_libdir}/rados-classes %{_libdir}/rados-classes/* %dir %{_libdir}/ceph %dir %{_libdir}/ceph/erasure-code %{_libdir}/ceph/erasure-code/libec_*.so* %dir %{_libdir}/ceph/compressor %{_libdir}/ceph/compressor/libceph_*.so* %ifarch x86_64 %dir %{_libdir}/ceph/crypto %{_libdir}/ceph/crypto/libceph_*.so* %endif %if %{with lttng} %{_libdir}/libos_tp.so* %{_libdir}/libosd_tp.so* %endif %config(noreplace) %{_sysconfdir}/logrotate.d/ceph %if 0%{?fedora} || 0%{?rhel} %config(noreplace) %{_sysconfdir}/sysconfig/ceph %endif %if 0%{?suse_version} %{_localstatedir}/adm/fillup-templates/sysconfig.* %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds %endif %{_unitdir}/ceph-disk@.service %{_unitdir}/ceph.target %{python_sitelib}/ceph_detect_init* %{python_sitelib}/ceph_disk* %dir %{python_sitelib}/ceph_volume %{python_sitelib}/ceph_volume/* %{python_sitelib}/ceph_volume-* %{_mandir}/man8/ceph-deploy.8* %{_mandir}/man8/ceph-detect-init.8* %{_mandir}/man8/ceph-create-keys.8* %{_mandir}/man8/ceph-disk.8* %{_mandir}/man8/ceph-run.8* %{_mandir}/man8/crushtool.8* %{_mandir}/man8/osdmaptool.8* %{_mandir}/man8/monmaptool.8* %{_mandir}/man8/ceph-kvstore-tool.8* #set up placeholder directories %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/tmp %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-osd %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-mds %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-rgw %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-mgr %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-rbd %post base /sbin/ldconfig %if 0%{?suse_version} %fillup_only if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-disk@\*.service ceph.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-disk@\*.service ceph.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph.target >/dev/null 2>&1 || : fi %preun base %if 0%{?suse_version} %service_del_preun ceph-disk@\*.service ceph.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-disk@\*.service ceph.target %endif %postun base /sbin/ldconfig test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-disk@\*.service ceph.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-disk@\*.service ceph.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-disk@\*.service > /dev/null 2>&1 || : fi fi %files common %dir %{_docdir}/ceph %doc %{_docdir}/ceph/sample.ceph.conf %doc %{_docdir}/ceph/COPYING %{_bindir}/ceph %{_bindir}/ceph-authtool %{_bindir}/ceph-conf %{_bindir}/ceph-dencoder %{_bindir}/ceph-rbdnamer %{_bindir}/ceph-syn %{_bindir}/ceph-crush-location %{_bindir}/cephfs-data-scan %{_bindir}/cephfs-journal-tool %{_bindir}/cephfs-table-tool %{_bindir}/rados %{_bindir}/radosgw-admin %{_bindir}/rbd %{_bindir}/rbd-replay %{_bindir}/rbd-replay-many %{_bindir}/rbdmap %{_sbindir}/mount.ceph %if 0%{?suse_version} /sbin/mount.ceph %endif %if %{with lttng} %{_bindir}/rbd-replay-prep %endif %{_bindir}/ceph-post-file %{_bindir}/ceph-brag %{_tmpfilesdir}/ceph-common.conf %{_mandir}/man8/ceph-authtool.8* %{_mandir}/man8/ceph-conf.8* %{_mandir}/man8/ceph-dencoder.8* %{_mandir}/man8/ceph-rbdnamer.8* %{_mandir}/man8/ceph-syn.8* %{_mandir}/man8/ceph-post-file.8* %{_mandir}/man8/ceph.8* %{_mandir}/man8/mount.ceph.8* %{_mandir}/man8/rados.8* %{_mandir}/man8/radosgw-admin.8* %{_mandir}/man8/rbd.8* %{_mandir}/man8/rbdmap.8* %{_mandir}/man8/rbd-replay.8* %{_mandir}/man8/rbd-replay-many.8* %{_mandir}/man8/rbd-replay-prep.8* %dir %{_datadir}/ceph/ %{_datadir}/ceph/known_hosts_drop.ceph.com %{_datadir}/ceph/id_rsa_drop.ceph.com %{_datadir}/ceph/id_rsa_drop.ceph.com.pub %dir %{_sysconfdir}/ceph/ %config %{_sysconfdir}/bash_completion.d/ceph %config %{_sysconfdir}/bash_completion.d/rados %config %{_sysconfdir}/bash_completion.d/rbd %config %{_sysconfdir}/bash_completion.d/radosgw-admin %config(noreplace) %{_sysconfdir}/ceph/rbdmap %{_unitdir}/rbdmap.service %{python_sitelib}/ceph_argparse.py* %{python_sitelib}/ceph_daemon.py* %dir %{_udevrulesdir} %{_udevrulesdir}/50-rbd.rules %attr(3770,ceph,ceph) %dir %{_localstatedir}/log/ceph/ %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/ %pre common CEPH_GROUP_ID=167 CEPH_USER_ID=167 %if 0%{?rhel} || 0%{?fedora} /usr/sbin/groupadd ceph -g $CEPH_GROUP_ID -o -r 2>/dev/null || : /usr/sbin/useradd ceph -u $CEPH_USER_ID -o -r -g ceph -s /sbin/nologin -c "Ceph daemons" -d %{_localstatedir}/lib/ceph 2>/dev/null || : %endif %if 0%{?suse_version} if ! getent group ceph >/dev/null ; then CEPH_GROUP_ID_OPTION="" getent group $CEPH_GROUP_ID >/dev/null || CEPH_GROUP_ID_OPTION="-g $CEPH_GROUP_ID" groupadd ceph $CEPH_GROUP_ID_OPTION -r 2>/dev/null || : fi if ! getent passwd ceph >/dev/null ; then CEPH_USER_ID_OPTION="" getent passwd $CEPH_USER_ID >/dev/null || CEPH_USER_ID_OPTION="-u $CEPH_USER_ID" useradd ceph $CEPH_USER_ID_OPTION -r -g ceph -s /sbin/nologin 2>/dev/null || : fi usermod -c "Ceph storage service" \ -d %{_localstatedir}/lib/ceph \ -g ceph \ -s /sbin/nologin \ ceph %endif exit 0 %post common %tmpfiles_create %{_tmpfilesdir}/ceph-common.conf %postun common # Package removal cleanup if [ "$1" -eq "0" ] ; then rm -rf %{_localstatedir}/log/ceph rm -rf %{_sysconfdir}/ceph fi %files mds %{_bindir}/ceph-mds %{_mandir}/man8/ceph-mds.8* %{_unitdir}/ceph-mds@.service %{_unitdir}/ceph-mds.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mds %post mds %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-mds@\*.service ceph-mds.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-mds@\*.service ceph-mds.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-mds.target >/dev/null 2>&1 || : fi %preun mds %if 0%{?suse_version} %service_del_preun ceph-mds@\*.service ceph-mds.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-mds@\*.service ceph-mds.target %endif %postun mds test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-mds@\*.service ceph-mds.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-mds@\*.service ceph-mds.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-mds@\*.service > /dev/null 2>&1 || : fi fi %files mgr %{_bindir}/ceph-mgr %{_libdir}/ceph/mgr %{_unitdir}/ceph-mgr@.service %{_unitdir}/ceph-mgr.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr %post mgr %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-mgr@\*.service ceph-mgr.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-mgr@\*.service ceph-mgr.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-mgr.target >/dev/null 2>&1 || : fi %preun mgr %if 0%{?suse_version} %service_del_preun ceph-mgr@\*.service ceph-mgr.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-mgr@\*.service ceph-mgr.target %endif %postun mgr test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-mgr@\*.service ceph-mgr.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-mgr@\*.service ceph-mgr.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-mgr@\*.service > /dev/null 2>&1 || : fi fi %files mon %{_bindir}/ceph-mon %{_bindir}/ceph-rest-api %{_bindir}/ceph-monstore-tool %{_mandir}/man8/ceph-mon.8* %{_mandir}/man8/ceph-rest-api.8* %{python_sitelib}/ceph_rest_api.py* %{_unitdir}/ceph-mon@.service %{_unitdir}/ceph-mon.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mon %post mon %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-mon@\*.service ceph-mon.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-mon@\*.service ceph-mon.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-mon.target >/dev/null 2>&1 || : fi %preun mon %if 0%{?suse_version} %service_del_preun ceph-mon@\*.service ceph-mon.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-mon@\*.service ceph-mon.target %endif %postun mon test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-mon@\*.service ceph-mon.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-mon@\*.service ceph-mon.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-mon@\*.service > /dev/null 2>&1 || : fi fi %files fuse %{_bindir}/ceph-fuse %{_mandir}/man8/ceph-fuse.8* %{_sbindir}/mount.fuse.ceph %{_unitdir}/ceph-fuse@.service %{_unitdir}/ceph-fuse.target %files -n rbd-fuse %{_bindir}/rbd-fuse %{_mandir}/man8/rbd-fuse.8* %files -n rbd-mirror %{_bindir}/rbd-mirror %{_mandir}/man8/rbd-mirror.8* %{_unitdir}/ceph-rbd-mirror@.service %{_unitdir}/ceph-rbd-mirror.target %post -n rbd-mirror %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-rbd-mirror@\*.service ceph-rbd-mirror.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-rbd-mirror.target >/dev/null 2>&1 || : fi %preun -n rbd-mirror %if 0%{?suse_version} %service_del_preun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif %postun -n rbd-mirror test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-rbd-mirror@\*.service > /dev/null 2>&1 || : fi fi %files -n rbd-nbd %{_bindir}/rbd-nbd %{_mandir}/man8/rbd-nbd.8* %files radosgw %{_bindir}/ceph-diff-sorted %{_bindir}/radosgw %{_bindir}/radosgw-token %{_bindir}/radosgw-es %{_bindir}/radosgw-object-expirer %{_bindir}/rgw-orphan-list %{_mandir}/man8/radosgw.8* %dir %{_localstatedir}/lib/ceph/radosgw %{_unitdir}/ceph-radosgw@.service %{_unitdir}/ceph-radosgw.target %post radosgw %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-radosgw@\*.service ceph-radosgw.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-radosgw@\*.service ceph-radosgw.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-radosgw.target >/dev/null 2>&1 || : fi %preun radosgw %if 0%{?suse_version} %service_del_preun ceph-radosgw@\*.service ceph-radosgw.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-radosgw@\*.service ceph-radosgw.target %endif %postun radosgw test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-radosgw@\*.service ceph-radosgw.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-radosgw@\*.service ceph-radosgw.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-radosgw@\*.service > /dev/null 2>&1 || : fi fi %files osd %{_bindir}/ceph-clsinfo %{_bindir}/ceph-bluestore-tool %{_bindir}/ceph-objectstore-tool %{_bindir}/ceph-osdomap-tool %{_bindir}/ceph-osd %{_libexecdir}/ceph/ceph-osd-prestart.sh %{_sbindir}/ceph-volume %{_sbindir}/ceph-volume-systemd %dir %{_udevrulesdir} %{_udevrulesdir}/60-ceph-by-parttypeuuid.rules %{_udevrulesdir}/95-ceph-osd.rules %{_mandir}/man8/ceph-clsinfo.8* %{_mandir}/man8/ceph-osd.8* %{_mandir}/man8/ceph-bluestore-tool.8* %{_mandir}/man8/ceph-volume.8* %{_mandir}/man8/ceph-volume-systemd.8* %if 0%{?rhel} && ! 0%{?centos} %attr(0755,-,-) %{_sysconfdir}/cron.hourly/subman %endif %{_unitdir}/ceph-osd@.service %{_unitdir}/ceph-osd.target %{_unitdir}/ceph-volume@.service %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd %config(noreplace) %{_sysctldir}/90-ceph-osd.conf %post osd %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} %systemd_post ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-osd.target >/dev/null 2>&1 || : fi %if 0%{?sysctl_apply} %sysctl_apply 90-ceph-osd.conf %else /usr/lib/systemd/systemd-sysctl %{_sysctldir}/90-ceph-osd.conf > /dev/null 2>&1 || : %endif # work around https://tracker.ceph.com/issues/24903 chown -f -h ceph:ceph /var/lib/ceph/osd/*/block* 2>&1 > /dev/null || : %preun osd %if 0%{?suse_version} %service_del_preun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_preun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target %endif %postun osd test -n "$FIRST_ARG" || FIRST_ARG=$1 %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target %endif %if 0%{?fedora} || 0%{?rhel} %systemd_postun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target %endif if [ $FIRST_ARG -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-osd@\*.service ceph-volume@\*.service > /dev/null 2>&1 || : fi fi %if %{with ocf} %files resource-agents %dir %{_prefix}/lib/ocf %dir %{_prefix}/lib/ocf/resource.d %dir %{_prefix}/lib/ocf/resource.d/ceph %attr(0755,-,-) %{_prefix}/lib/ocf/resource.d/ceph/rbd %endif %files -n librados2 %{_libdir}/librados.so.* %dir %{_libdir}/ceph %{_libdir}/ceph/libceph-common.so* %if %{with lttng} %{_libdir}/librados_tp.so.* %endif %post -n librados2 -p /sbin/ldconfig %postun -n librados2 -p /sbin/ldconfig %files -n librados-devel %dir %{_includedir}/rados %{_includedir}/rados/librados.h %{_includedir}/rados/librados.hpp %{_includedir}/rados/buffer.h %{_includedir}/rados/buffer_fwd.h %{_includedir}/rados/inline_memory.h %{_includedir}/rados/page.h %{_includedir}/rados/crc32c.h %{_includedir}/rados/rados_types.h %{_includedir}/rados/rados_types.hpp %{_includedir}/rados/memory.h %{_libdir}/librados.so %if %{with lttng} %{_libdir}/librados_tp.so %endif %{_bindir}/librados-config %{_mandir}/man8/librados-config.8* %files -n python-rados %{python_sitearch}/rados.so %{python_sitearch}/rados-*.egg-info %files -n libradosstriper1 %{_libdir}/libradosstriper.so.* %post -n libradosstriper1 -p /sbin/ldconfig %postun -n libradosstriper1 -p /sbin/ldconfig %files -n libradosstriper-devel %dir %{_includedir}/radosstriper %{_includedir}/radosstriper/libradosstriper.h %{_includedir}/radosstriper/libradosstriper.hpp %{_libdir}/libradosstriper.so %files -n librbd1 %{_libdir}/librbd.so.* %if %{with lttng} %{_libdir}/librbd_tp.so.* %endif %post -n librbd1 -p /sbin/ldconfig %postun -n librbd1 -p /sbin/ldconfig %files -n librbd-devel %dir %{_includedir}/rbd %{_includedir}/rbd/librbd.h %{_includedir}/rbd/librbd.hpp %{_includedir}/rbd/features.h %{_libdir}/librbd.so %if %{with lttng} %{_libdir}/librbd_tp.so %endif %files -n librgw2 %{_libdir}/librgw.so.* %post -n librgw2 -p /sbin/ldconfig %postun -n librgw2 -p /sbin/ldconfig %files -n librgw-devel %dir %{_includedir}/rados %{_includedir}/rados/librgw.h %{_includedir}/rados/rgw_file.h %{_libdir}/librgw.so %files -n python-rgw %{python_sitearch}/rgw.so %{python_sitearch}/rgw-*.egg-info %files -n python-rbd %{python_sitearch}/rbd.so %{python_sitearch}/rbd-*.egg-info %files -n libcephfs2 %{_libdir}/libcephfs.so.* %post -n libcephfs2 -p /sbin/ldconfig %postun -n libcephfs2 -p /sbin/ldconfig %files -n libcephfs-devel %dir %{_includedir}/cephfs %{_includedir}/cephfs/libcephfs.h %{_includedir}/cephfs/ceph_statx.h %{_libdir}/libcephfs.so %files -n python-cephfs %{python_sitearch}/cephfs.so %{python_sitearch}/cephfs-*.egg-info %{python_sitelib}/ceph_volume_client.py* %if 0%{with ceph_test_package} %files -n ceph-test %{_bindir}/ceph-client-debug %{_bindir}/ceph_bench_log %{_bindir}/ceph_kvstorebench %{_bindir}/ceph_multi_stress_watch %{_bindir}/ceph_erasure_code %{_bindir}/ceph_erasure_code_benchmark %{_bindir}/ceph_omapbench %{_bindir}/ceph_objectstore_bench %{_bindir}/ceph_perf_objectstore %{_bindir}/ceph_perf_local %{_bindir}/ceph_perf_msgr_client %{_bindir}/ceph_perf_msgr_server %{_bindir}/ceph_psim %{_bindir}/ceph_radosacl %{_bindir}/ceph_rgw_jsonparser %{_bindir}/ceph_rgw_multiparser %{_bindir}/ceph_scratchtool %{_bindir}/ceph_scratchtoolpp %{_bindir}/ceph_smalliobench %{_bindir}/ceph_smalliobenchdumb %{_bindir}/ceph_smalliobenchfs %{_bindir}/ceph_smalliobenchrbd %{_bindir}/ceph_test_* %{_bindir}/ceph_tpbench %{_bindir}/ceph_xattr_bench %{_bindir}/ceph-coverage %{_bindir}/ceph-debugpack %{_mandir}/man8/ceph-debugpack.8* %dir %{_libdir}/ceph %{_libdir}/ceph/ceph-monstore-update-crush.sh %endif %if 0%{with cephfs_java} %files -n libcephfs_jni1 %{_libdir}/libcephfs_jni.so.* %post -n libcephfs_jni1 -p /sbin/ldconfig %postun -n libcephfs_jni1 -p /sbin/ldconfig %files -n libcephfs_jni-devel %{_libdir}/libcephfs_jni.so %files -n cephfs-java %{_javadir}/libcephfs.jar %{_javadir}/libcephfs-test.jar %endif %files -n rados-objclass-devel %dir %{_includedir}/rados %{_includedir}/rados/objclass.h %if 0%{with selinux} %files selinux %attr(0600,root,root) %{_datadir}/selinux/packages/ceph.pp %{_datadir}/selinux/devel/include/contrib/ceph.if %{_mandir}/man8/ceph_selinux.8* %post selinux # backup file_contexts before update . /etc/selinux/config FILE_CONTEXT=/etc/selinux/${SELINUXTYPE}/contexts/files/file_contexts cp ${FILE_CONTEXT} ${FILE_CONTEXT}.pre # Install the policy /usr/sbin/semodule -i %{_datadir}/selinux/packages/ceph.pp # Load the policy if SELinux is enabled if ! /usr/sbin/selinuxenabled; then # Do not relabel if selinux is not enabled exit 0 fi if diff ${FILE_CONTEXT} ${FILE_CONTEXT}.pre > /dev/null 2>&1; then # Do not relabel if file contexts did not change exit 0 fi # Check whether the daemons are running /usr/bin/systemctl status ceph.target > /dev/null 2>&1 STATUS=$? # Stop the daemons if they were running if test $STATUS -eq 0; then /usr/bin/systemctl stop ceph.target > /dev/null 2>&1 fi # Relabel the files # Use ceph-disk fix for first package install and fixfiles otherwise if [ "$1" = "1" ]; then /usr/sbin/ceph-disk fix --selinux else /usr/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null fi rm -f ${FILE_CONTEXT}.pre # The fixfiles command won't fix label for /var/run/ceph /usr/sbin/restorecon -R /var/run/ceph > /dev/null 2>&1 # Start the daemons iff they were running before if test $STATUS -eq 0; then /usr/bin/systemctl start ceph.target > /dev/null 2>&1 || : fi exit 0 %postun selinux if [ $1 -eq 0 ]; then # backup file_contexts before update . /etc/selinux/config FILE_CONTEXT=/etc/selinux/${SELINUXTYPE}/contexts/files/file_contexts cp ${FILE_CONTEXT} ${FILE_CONTEXT}.pre # Remove the module /usr/sbin/semodule -n -r ceph > /dev/null 2>&1 # Reload the policy if SELinux is enabled if ! /usr/sbin/selinuxenabled ; then # Do not relabel if SELinux is not enabled exit 0 fi # Check whether the daemons are running /usr/bin/systemctl status ceph.target > /dev/null 2>&1 STATUS=$? # Stop the daemons if they were running if test $STATUS -eq 0; then /usr/bin/systemctl stop ceph.target > /dev/null 2>&1 fi /usr/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null rm -f ${FILE_CONTEXT}.pre # The fixfiles command won't fix label for /var/run/ceph /usr/sbin/restorecon -R /var/run/ceph > /dev/null 2>&1 # Start the daemons if they were running before if test $STATUS -eq 0; then /usr/bin/systemctl start ceph.target > /dev/null 2>&1 || : fi fi exit 0 %endif # with selinux %files -n python-ceph-compat # We need an empty %%files list for python-ceph-compat, to tell rpmbuild to # actually build this meta package. %changelog * Wed Oct 28 2020 Ceph Jenkins 2:12.2.12-127 - Update patches * Wed Oct 28 2020 Ceph Jenkins 2:12.2.12-126 - ceph-volume: remove unneeded call to get_devices() (rhbz#1878500) * Tue Oct 13 2020 Ceph Jenkins 2:12.2.12-125 - rgw: fix segfault from empty 'etag' buffer list (rhbz#1884699) * Wed Jul 22 2020 Ceph Jenkins 2:12.2.12-124 - Update patches * Wed Jul 22 2020 Ceph Jenkins 2:12.2.12-123 - rgwlc: fix error return from backward-compat decode (rhbz#1858733) * Thu Jul 16 2020 Ceph Jenkins 2:12.2.12-122 - rgw: rgw-orphan-list -- fix interaction, quoting, and percentage calc (rhbz#1855384) - rgw: orphan-list timestamp fix (rhbz#1855384) - rgw: sync rgw-orphan-list with upstream version (rhbz#1855384) - rgw: change rgw-orphan-list script to plain script to match upstream (rhbz#1855384) - rgw: clean up attempt loop in ordered listing (rhbz#1853057) * Wed Jul 15 2020 Ceph Jenkins 2:12.2.12-121 - os/bluestore: Add documentation for large bluefs log recovery (rhbz#1821133) - os/bluestore: Add ability to disable compaction (rhbz#1821133) - os/bluestore: Added rescue procedure for bluefs log replay (rhbz#1821133) * Wed Jul 15 2020 Ceph Jenkins 2:12.2.12-120 - os/bluestore/BlueFS: compact log even when sync_metadata sees no work (rhbz#1849478) - rgw: sanitize newlines in s3 CORSConfiguration's ExposeHeader (rhbz#1841205) * Mon Jul 13 2020 Ceph Jenkins 2:12.2.12-119 - mds: take xlock in the order requests start locking (rhbz#1855881) * Fri Jul 10 2020 Ceph Jenkins 2:12.2.12-118 - Update patches * Fri Jul 10 2020 Ceph Jenkins 2:12.2.12-117 - mds: take xlock in the order requests start locking (rhbz#1855881) * Tue Jun 23 2020 Ceph Jenkins 2:12.2.12-116 - rgw: radoslist incomplete multipart uploads fix marker progression (rhbz#1831740) - rgw: fix shutdown crash in RGWAsyncReadMDLogEntries (rhbz#1840858) * Tue Jun 02 2020 Ceph Jenkins 2:12.2.12-115 - rgw: attempt retries after write race for bucket reshard bucketinfo update (rhbz#1840075) * Fri May 22 2020 Ceph Jenkins 2:12.2.12-114 - mon/MgrMonitor: fix null deref when invalid formatter is specified (rhbz#1836557) * Wed May 20 2020 Ceph Jenkins 2:12.2.12-113 - rgw: auto-clean reshard queue entries for non-existent buckets (rhbz#1833497) * Mon May 18 2020 Ceph Jenkins 2:12.2.12-112 - rgwlc: wait for WorkQ threads on shutdown (rhbz#1835846) * Thu Apr 30 2020 Ceph Jenkins 2:12.2.12-111 - rgw: fix nullptr deref at debug-rgw==10 (rhbz#1778217) - rgwlc: make invalid lc_op accesses impossible (rhbz#1775438) * Thu Apr 30 2020 Ceph Jenkins 2:12.2.12-110 - rgw: find oldest period and update RGWMetadataLogHistory() (rhbz#1552567) * Thu Apr 30 2020 Ceph Jenkins 2:12.2.12-109 - Update patches * Thu Apr 30 2020 Ceph Jenkins 2:12.2.12-108 - rgw: allow protocol bucket listing default max to override config max (rhbz#1811162) - rgw: allow enforcing of maximum requested in listing when possible (rhbz#1811162) - rgw: lc: continue past decode-tagset and get_obj_state() failure (rhbz#1775438) * Thu Apr 30 2020 Ceph Jenkins 2:12.2.12-107 - rgw: nfs: disable gc, lc, quota, and sync threads by default (rhbz#1794715) - rgwlc: properly accumulate in RGWLC::list_lc_progress() (rhbz#1794715) - rgw: lc: cls_rgw_lc_list_entries_op struc_v off-by-one (rhbz#1794715) * Wed Apr 29 2020 Ceph Jenkins 2:12.2.12-106 - rgw: sanitize header attributes (rhbz#1827320) * Fri Apr 24 2020 Ceph Jenkins 2:12.2.12-105 - rgw: allow protocol bucket listing default max to override config max (rhbz#1811162) - rgw: allow enforcing of maximum requested in listing when possible (rhbz#1811162) - rgw: fix loop problem with swift stat on account. (rhbz#1811465) - rgw: fix bilog to handle buckets with tenant name (rhbz#1808193) * Wed Apr 22 2020 Ceph Jenkins 2:12.2.12-104 - rgw/multisite: encode space in meta sync. (rhbz#1781907) * Tue Apr 21 2020 Ceph Jenkins 2:12.2.12-103 - rgwlc: re-hook RGWRados::process_lc() (rhbz#1794715) - selinux: add "type http_cache_port_t" in require section - Update ceph.te - rgwlc: compile fixes for L (rhbz#1794715) - rgw: lc: continue past decode-tagset and get_obj_state() failure (rhbz#1775438) - rgwlc: revisions (rhbz#1794715) - rgwlc: permit per-bucket thread parallelism (rhbz#1794715) - rgwlc: make rgwlc entries extensible and extend (rhbz#1794715) - rgwlc: enable thread-parallelism in RGWLC (rhbz#1794715) - rgw: Fix dynamic resharding not working for empty zonegroup in period (rhbz#1780934) * Fri Mar 27 2020 Ceph Jenkins 2:12.2.12-102 - rgw: reject response headers w/illegal characters - rgw: reject unauthenticated response-header actions * Thu Mar 12 2020 Ceph Jenkins 2:12.2.12-101 - rgw: clear ent_list for each loop of bucket list (rhbz#1810779) * Wed Mar 11 2020 Ceph Jenkins 2:12.2.12-100 - rgw: remove spawned_keys filter from incremental data sync (rhbz#1782508) - rgw: data sync markers include timestamp from datalog entry (rhbz#1782508) - radosgw-admin: sync status displays id of shard furthest behind (rhbz#1782508) * Fri Feb 28 2020 Ceph Jenkins 2:12.2.12-99 - rgw: update the hash source for multipart entries during resharding Fixes: https://tracker.ceph.com/issues/43583 (rhbz#1766731) * Thu Feb 27 2020 Ceph Jenkins 2:12.2.12-98 - common/Formatter: fix string_view usage for {json,xml}_stream_escaper (rhbz#1807816) - rgw: rework json/xml escape usage follow #19806 (rhbz#1807816) - common: add streaming interfaces for json/xml escaping (rhbz#1807816) - test: EscapeJson.Utf8 uses json instead of xml (rhbz#1807816) - test: use hex string literals (rhbz#1807816) * Tue Feb 25 2020 Ceph Jenkins 2:12.2.12-97 - mgr: Change default upmap_max_deviation to 5 (rhbz#1784099) - osdmaptool: Add --upmap-active to simulate active upmap balancing (rhbz#1784099) - doc: Add upmap options to osdmaptool man page and give example (rhbz#1784099) - tools: osdmaptool document non-upmap options that were missing (rhbz#1784099) - release note: Add pending release notes for already merged code (rhbz#1761839) - test: Fix test to use -gt instead of creating an empty file "0" (rhbz#1761839) - test balancer: Backport specific fixes (rhbz#1761839) - qa/standalone/ceph-helpers.sh: fix mgr module path (rhbz#1761839) - test: Luminous specific change required due to output difference (rhbz#1761839) - tools/osdmaptool.cc: do not use deprecated std::random_shuffle() the use of `std::random_shuffle()` was introduced by b946308 . (rhbz#1761839) - test: Add test case based on Xie script in commit comment (rhbz#1761839) - osd: ceph_pg_upmaps() use any overfull when there are still underfull (rhbz#1761839) - osd: Create more_underfull with below target that aren't in underfull (rhbz#1761839) - osd: calc_pg_upmaps() pick most overfull remap from try_pg_upmap() (rhbz#1761839) - osd: ceph_pg_upmaps() use max_deviation to determine perfect distribution (rhbz#1761839) - tools: osdmaptool: Perform upmap calculation as ceph-mgr does (rhbz#1761839) - osd: For balancer crush needs the rule passed to get_parent_of_type() (rhbz#1761839) - osdmaptool: Match default max value of 10 (rhbz#1761839) - tools: odsmaptool truncate target upmap file (rhbz#1761839) - mgr: Improve balancer module status (rhbz#1761839) - test: Test balancer module commands (rhbz#1761839) - mgr: Release GIL before calling OSDMap::calc_pg_upmaps() (rhbz#1761839) - test: add parallel clean_pg_upmaps test (rhbz#1761839) - mon/OSDMonitor: do clean_pg_upmaps the parallel way if necessary (rhbz#1761839) - osd/OSDMap: split clean_pg_upmaps into smaller helpers (rhbz#1761839) - osd/OSDMapMapping: make ParallelPGMapper can accept input pgs (rhbz#1761839) - osd: maybe_remove_pg_upmaps -> clean_pg_upmaps (rhbz#1761839) - osd/OSDMap: maybe_remove_pg_upmaps - avoid do_crush twice (rhbz#1761839) - osd/OSDMap: maybe_remove_pg_upmaps - s/pg_to_raw_up/pg_to_raw_upmap/ (rhbz#1761839) - test/osd: add performance test case for maybe_remove_pg_upmap (rhbz#1761839) * Fri Feb 21 2020 Ceph Jenkins 2:12.2.12-96 - rgw: add'l logging to ordered bucket listing (rhbz#1778217) - rgw: the 'bucket radoslist' admin subcommand should use ordered bucket listing (rhbz#1752130) - rgw: rgw-orphan-list script does not work correctly on all linux dists (rhbz#1752130) - rgw: add tooling to support rgw-orphan-list (rhbz#1752130) - rgw: updates and fixes to `radsogw-admin radoslist` subcommand (rhbz#1752130) - rgw: radosgw-admin radoslist subcommand doesn't list empty objects (rhbz#1752130) - rgw: add logging for looping checks (rhbz#1752130) - rgw: prevent slo and dlo loops in listing (rhbz#1752130) - rgw: fix bug with output on copied multipart objects (rhbz#1752130) - rgw: add support for swift dlo/slo with `radosgw-admin bucket radoslist` (rhbz#1752130) - rgw: clean up RGWOrphansSearch return values (rhbz#1752130) - rgw: fix bugs with `radosgw-admin bucket radoslist` (rhbz#1752130) - rgw: add radosgw-admin subcommand "bucket radoslist" (rhbz#1752130) * Fri Feb 21 2020 Ceph Jenkins 2:12.2.12-95 - rgw: fix bug with (un)ordered bucket listing and marker w/ namespace (rhbz#1805376) * Thu Feb 20 2020 Ceph Jenkins 2:12.2.12-94 - rgw: address 0-length listing results when non-vis entries dominate (rhbz#1778217) * Wed Feb 19 2020 Ceph Jenkins 2:12.2.12-93 - rgw: address 0-length listing results when non-vis entries dominate (rhbz#1778217) * Wed Feb 19 2020 Ceph Jenkins 2:12.2.12-92 - radosgw-admin: fix syncs_from in 'bucket sync status' (rhbz#1713798) * Wed Feb 19 2020 Ceph Jenkins 2:12.2.12-91 - TESTFIX: radosgw-admin: remove lock from 'reshard cancel' (rhbz#1756149) - rgw admin: add tenant argument to reshard cancel (rhbz#1756149) * Fri Feb 14 2020 Ceph Jenkins 2:12.2.12-90 - common/ceph_time: Use fixed floating-point notation for mono_clock (rhbz#1759699) * Thu Feb 13 2020 Ceph Jenkins 2:12.2.12-89 - client/MetaRequest: Add age to MetaRequest dump (rhbz#1759699) - osdc/Objecter: Add age to the ops (rhbz#1759699) - common/ceph_time: Use fixed floating-point notation for mono_clock (rhbz#1759699) - client: add procession of SEEK_HOLE and SEEK_DATA in lseek. (rhbz#1759696) - client:fix a bug in lseek If offset less than 0,the lseek may cause f->pos less than 0. So read or write may error. (rhbz#1759696) * Thu Feb 13 2020 Ceph Jenkins 2:12.2.12-88 - client: return -eio when sync file which unsafe reqs has been dropped Fixes:http://tracker.ceph.com/issues/40877 (rhbz#1752164) - client: nfs-ganesha with cephfs client, removing dir reports not empty (rhbz#1754745) - client: _readdir_cache_cb() may use the readdir_cache already clear (rhbz#1758163) * Thu Feb 13 2020 Ceph Jenkins 2:12.2.12-87 - qa/cephfs: test case for timeout config of individual session (rhbz#1729353) - mds: add command that config individual client session (rhbz#1729353) - mds: allow client to specify its session timeout (rhbz#1729353) * Wed Jan 29 2020 Ceph Jenkins 2:12.2.12-86 - rbd: use the ordered throttle for the export action (rhbz#1794704) - ceph-volume devices.lvm zap use the identifier to report success (rhbz#1783412) - ceph-volume tests check success message when zapping (rhbz#1783412) * Fri Dec 06 2019 Ceph Jenkins 2:12.2.12-85 - rgw: apply_olh_log ignores RGW_ATTR_OLH_VER decode error (rhbz#1779334) - rgw: allow apply_olh_log to rewrite the same olh version (rhbz#1779334) - rgw: apply_olh_log filters out older instances of same epoch (rhbz#1779334) - rgw: factor out decode_olh_info() (rhbz#1779334) - cls/rgw: only promote instance entries if they sort after current instance (rhbz#1779334) - test/rgw: add test_concurrent_versioned_object_incremental_sync (rhbz#1779334) * Thu Dec 05 2019 Ceph Jenkins 2:12.2.12-84 - rgw: s3: don't require a body in S3 put-object-acl (rhbz#1779158) * Wed Nov 27 2019 Ceph Jenkins 2:12.2.12-83 - rgw: fix rgw crash when token is not base64 encode (rhbz#1777050) - rgw: Fix crash caused by bad content length header (rhbz#1471626) * Mon Nov 11 2019 Ceph Jenkins 2:12.2.12-82 - restful: Use node_id for _gather_leaf_ids (rhbz#1764919) - restful: Query nodes_by_id for items (rhbz#1764919) * Sun Nov 10 2019 Ceph Jenkins 2:12.2.12-81 - rgw: allow reshard log entries for non-existent buckets to be cancelled (rhbz#1749124) * Fri Nov 08 2019 Ceph Jenkins 2:12.2.12-80 - Bucket link using '--bucket-new-name' should consider cases when a bucket is renamed under the same tenanted/non-tenanted namespace. Change the condition such that a full comparison of the buckets is done while deleting old bucket instance. (rhbz#1757298) - rgw: crypt: permit RGW-AUTO/default with SSE-S3 headers (rhbz#1749489) - tools/rados: always call rados.shutdown() before exit() (rhbz#1752163) - tools/rados: add --pgid in help (rhbz#1752163) - tools/rados: call pool_lookup() after rados is connected This commit fixes a segmentation fault when using --pgid option in rados ls command in combination with --pool/-p option. The reason for the crash was that we can not use the rados object before connecting it with the cluster using rados.init_with_context(). (rhbz#1752163) - tools/rados: allow list objects in a pg (rhbz#1752163) - osd/PG: Add PG to large omap log message (rhbz#1749874) - common/config: hold lock while accessing mutable container (rhbz#1744529) * Fri Nov 01 2019 Ceph Jenkins 2:12.2.12-79 - rgw: mismatched indices in parallel vectors in RGWRados::cls_bucket_list_ordered (rhbz#1766448) * Wed Oct 30 2019 Ceph Jenkins 2:12.2.12-78 - Bucket link using '--bucket-new-name' should consider cases when a bucket is renamed under the same tenanted/non-tenanted namespace. Change the condition such that a full comparison of the buckets is done while deleting old bucket instance. (rhbz#1757298) - rgw: crypt: permit RGW-AUTO/default with SSE-S3 headers (rhbz#1749489) * Thu Oct 24 2019 Ceph Jenkins 2:12.2.12-77 - tools/rados: always call rados.shutdown() before exit() (rhbz#1752163) - tools/rados: add --pgid in help (rhbz#1752163) - tools/rados: call pool_lookup() after rados is connected This commit fixes a segmentation fault when using --pgid option in rados ls command in combination with --pool/-p option. The reason for the crash was that we can not use the rados object before connecting it with the cluster using rados.init_with_context(). (rhbz#1752163) - tools/rados: allow list objects in a pg (rhbz#1752163) * Thu Oct 24 2019 Ceph Jenkins 2:12.2.12-76 - osd/PG: Add PG to large omap log message (rhbz#1749874) * Mon Oct 21 2019 Ceph Jenkins 2:12.2.12-75 - common/config: hold lock while accessing mutable container (rhbz#1744529) * Tue Oct 15 2019 Ceph Jenkins 2:12.2.12-74 - rgw: reduce per-shard entry count during ordered bucket listing (rhbz#1753588) - rgw: adjust allowable bucket index shard counts for dynamic resharding (rhbz#1753588) - rgw: when resharding store progress json only when both verbose and out are specified. (rhbz#1753588) * Fri Sep 27 2019 Ceph Jenkins 2:12.2.12-73 - mgr: drop GIL in StandbyPyModule::get_config (rhbz#1753178) * Fri Sep 27 2019 Ceph Jenkins 2:12.2.12-72 - mgr/BaseMgrStandbyModule: drop GIL in ceph_config_get() (rhbz#1753178) * Wed Sep 18 2019 Ceph Jenkins 2:12.2.12-71 - rgw: rgw_link_bucket() uses local objv in absense of pinfo (rhbz#1753000) * Mon Sep 16 2019 Ceph Jenkins 2:12.2.12-70 - ceph-volume: lvm.activate: Return an error if WAL/DB devices absent (rhbz#1719971) * Thu Sep 12 2019 Ceph Jenkins 2:12.2.12-69 - ceph-volume tests: verify that wipefs tries several times (rhbz#1728710) - ceph-volume lvm.zap: retry wipefs several times to prevent race condition failures (rhbz#1728710) - ceph-volume lvm.zap fix cleanup for db partitions (rhbz#1728710) * Wed Sep 11 2019 Ceph Jenkins 2:12.2.12-68 - radosgw-admin: 'mdlog trim' loops until done (rhbz#1732101) - radosgw-admin: 'datalog trim' takes shard-id and loops until done (rhbz#1732101) * Wed Sep 11 2019 Ceph Jenkins 2:12.2.12-67 - rgw: RGWCoroutine::call(nullptr) sets retcode=0 (rhbz#1746127) * Wed Sep 11 2019 Ceph Jenkins 2:12.2.12-66 - rgw: define rgw_bucket::full_equal(...) method (rhbz#1747207) - rgw: fix if case for bucket rename (rhbz#1747207) - rgw: add rename_swift_keys for user rename (rhbz#1704901) - rgw: consolidate RGWUser::execute_rename (rhbz#1704901) - rgw: user rename calls update() to write final user (rhbz#1704901) - rgw: user rename overwrites new user with --yes-i-really-mean-it (rhbz#1704901) - rgw: user rename operates on 'stub' user (rhbz#1704901) - rgw: add rgw_remove_user_buckets_index (rhbz#1704901) - rgw: simplify bucket chown (rhbz#1704901) - rgw: fix version tracking across bucket link steps (rhbz#1744777) - Added test to verify user rename failure. (rhbz#1704901) - On new uid check, return EEXIST. (rhbz#1704901) - Fixed line wrap (rhbz#1704901) - Updated help.t with user rename command (rhbz#1704901) - Added user rename test (rhbz#1704901) - Minor fixes. (rhbz#1704901) - Modified rgw_store_user_info() checks to suit user rename. Added a helper function to modify bucket acl. Rebased onto master. (rhbz#1704901) - Create new user before deleting existing user. Migrate buckets one at a time. (rhbz#1704901) - This commit deals with renaming user. Under the hood, the attributes of an existing user are moved under the new user namespace specified by "--new-uid". It calls bucket link and bucket chown to link the buckets and objects to the new user namespace. Access and secret keys of the user(and the subusers) are preserved. (rhbz#1704901) - Documentation for 'bucket chown' (rhbz#1704901) - Set object ACLS to reflect bucket owner supporting bucket unlink/link. (rhbz#1704901) * Wed Sep 11 2019 Ceph Jenkins 2:12.2.12-65 - rgw: sanitize the HTTP_* http header elements * Wed Sep 11 2019 Ceph Jenkins 2:12.2.12-64 - rgw: make rollback refcount tag match (rhbz#1567949) - rgw: make sure object's idtag is updated when available (rhbz#1567949) * Wed Sep 11 2019 Ceph Jenkins 2:12.2.12-63 - rgw: don't throw when accept errors are happening on frontend (rhbz#1740668) * Wed Sep 11 2019 Ceph Jenkins 2:12.2.12-62 - rgw: ldap auth: S3 auth failure should return InvalidAccessKeyId (rhbz#1721033) * Wed Sep 11 2019 Ceph Jenkins 2:12.2.12-61 - rgw: Fix expiration header does not return the earliest rule that will be applied (rhbz#1731486) * Wed Sep 11 2019 Ceph Jenkins 2:12.2.12-60 - qa: fix for s3tests.functional.test_s3.test_bucket_get_location failed (rhbz#1744766) - rgw: fix issue for CreateBucket with BucketLocation param under default zonegroup (rhbz#1744766) - rgw: set "api_name" to default_zonegroup_name for default zonegroup (rhbz#1744766) * Wed Sep 11 2019 Ceph Jenkins 2:12.2.12-59 - luminous: tests: Convert to boost::regex and add blocking scrub (rhbz#1671585) - luminous: osd: Modify lazy omap stats to only show one copy (rhbz#1671585) - luminous: tests: Add test for lazy omap stat collection (rhbz#1671585) - luminous: osd: Implement lazy omap usage statistics (rhbz#1671585) - os/filestore: estimate omap_allocated (rhbz#1671585) - os/ObjectMap: add get_db() accessor (rhbz#1671585) - osd/OSDMap: include data, omap in 'osd df' output (rhbz#1671585) - os/bluestore: report omap and internal metadata usage (rhbz#1671585) - os/bluestore/BlueFS: drop get_fs_usage(); add get_used() (rhbz#1671585) - kv: add per-prefix space estimation (rhbz#1671585) - osd: decouple statfs update from hb peers, pg count (rhbz#1671585) - osd: drop useless OSDService::update_osd_stat() (rhbz#1671585) - osd/osd_types: separate accounting for data, omap, and metadata (rhbz#1671585) * Mon Sep 09 2019 Ceph Jenkins 2:12.2.12-58 - os/bluestore/BlueFS: Move bluefs alloc size initialization log message to log level 1 Fixes: https://tracker.ceph.com/issues/41399 (rhbz#1728069) - os/bluestore: record gifts < expected size in superblock (rhbz#1728069) - os/bluestore: try to gift large extents, then fall back to small extents (rhbz#1728069) - os/bluestore: gift freespace to bluefs based on shared_alloc_size (rhbz#1728069) - os/bluestore/BlueFS: apply shared_alloc_size to shared device (rhbz#1728069) - os/bluestore/BlueFS: add bluefs_shared_alloc_size (rhbz#1728069) - os/bluestore: cleanup around allocator calls (rhbz#1728069) - os/bluestore/BlueStore.cc: _open_fm() expects a bool (rhbz#1728357) - doc/rados/operations/health-checks: document BlueStore fragmentation and BlueFS space available features (rhbz#1728357) - test/objectstore: Allocator_test. Add test for dumping free regions and fragmentation_score. (rhbz#1728357) - BlueStore/allocator: Add command to inspect how much BlueStore's block can go to BlueFS. Moved reduced BlueFSDeviceExpander interface. Signed-off-by: Adam Kupczyk (cherry picked from commit 16a9dac1678613b45fab9576b8bc4368a58c7434) (rhbz#1728357) - os/bluestore: Import necessary functions to fix rebase. (rhbz#1728357) - tools/ceph-bluestore-tool: add commands free-dump and free-score (rhbz#1728357) - common/admin_socket: Add 'execute_command' that allows for self-reflection. (rhbz#1728357) - common/admin_socket: Adapted old protocol to use new protocol, simplifies handle path. (rhbz#1728357) - BlueStore/allocator: Add ability to dump free allocations via admin socket interface. (rhbz#1728357) - BlueStore/allocator: Give allocator names, so they can be distinguished. (rhbz#1728357) - BlueStore/allocator: Improved (but slower) method of calculating fragmentation. (rhbz#1728357) - os/bluestore: default to bitmap allocator for bluestore/bluefs (rhbz#1728069) - os/bluestore: BitmapAllocator::allocate: log new extents only (rhbz#1728069) - os/bluestore: distinguis request and results in bitmap alloc log (rhbz#1728069) - os/bluestore: fix duplicate allocations in bmap allocator (rhbz#1728069) - os/bluestore: fix length overflow. (rhbz#1728069) - os/bluestore/BitmapFreelistManager: disable bluestore_debug_freelist (rhbz#1728069) - os/bluestore: call fault_range properly prior to looking for blob to reuse (rhbz#1728069) - os/bluestore: fix out-of-bound access in bmap allocator. (rhbz#1728069) * Mon Sep 09 2019 Ceph Jenkins 2:12.2.12-57 - common/options.cc: Lower the default value of osd_deep_scrub_large_omap_object_key_threshold (rhbz#1725163) * Mon Sep 09 2019 Ceph Jenkins 2:12.2.12-56 - common/options: Set concurrent bluestore rocksdb compactions to 2 (rhbz#1735355) * Mon Sep 09 2019 Ceph Jenkins 2:12.2.12-55 - client: fix "ceph.dir.rctime" vxattr value (rhbz#1720004) - common/secret.c: fix key parsing when doing a remount (rhbz#1720000) - mds: check dir fragment to split dir if mkdir makes it oversized. In handle_client_mkdir we hit_dir (via hit_inode) in mkdir finish callback, but by then we might have overshot the split size (multiple mkdir in flight), so check dir fragment for an early chance to split the dir if mkdir makes it oversized. (rhbz#1716589) - qa: fix mdsmap lookup (rhbz#1724366) - ceph-volume-client: fix command argument order (rhbz#1724366) - qa: use fs rm_data_pool (rhbz#1724366) - ceph_volume_client: fix usage of get_mds_map() (rhbz#1724366) - ceph_volume_client: remove use of obsolete mds cmd (rhbz#1724366) * Mon Sep 09 2019 Ceph Jenkins 2:12.2.12-54 - Client: unlink dentry for inode with llref=0 (rhbz#1737504) * Mon Sep 09 2019 Ceph Jenkins 2:12.2.12-53 - rgw: fix memory growth while deleteing objects with radosgw-admin bucket rm --bucket=$BIG_BUCKET --bypass-gc --purge-objects by freeing map elements allocated at https://github.com/ceph/ceph/blob/master/src/rgw/rgw_rados.cc#L236 result = &objs_state[obj]; (rhbz#1750119) * Sun Sep 08 2019 Ceph Jenkins 2:12.2.12-52 - rgw: fix memory growth while deleteing objects with radosgw-admin bucket rm --bucket=$BIG_BUCKET --bypass-gc --purge-objects by freeing map elements allocated at https://github.com/ceph/ceph/blob/master/src/rgw/rgw_rados.cc#L236 result = &objs_state[obj]; (rhbz#1750119) * Sun Sep 08 2019 Ceph Jenkins 2:12.2.12-51 - rgw: fix cls_bucket_list_unordered() partial results returnied after -ENOENT dirent is encountered (rhbz#1750115) * Fri Sep 06 2019 Ceph Jenkins 2:12.2.12-50 - rgw: beast frontend no longer experimental (rhbz#1749754) * Wed Sep 04 2019 Ceph Jenkins 2:12.2.12-49 - librbd: improve object map performance under high IOPS workloads (rhbz#1683751) * Fri Aug 23 2019 Ken Dreyer 2:12.2.12-48 - rgw: asio: check the remote endpoint before processing requests (rhbz#1739515) * Thu Aug 22 2019 Ken Dreyer 2:12.2.12-47 - Update patches * Thu Aug 22 2019 Ken Dreyer 2:12.2.12-46 - client: fix "ceph.dir.rctime" vxattr value (rhbz#1720004) - common/secret.c: fix key parsing when doing a remount (rhbz#1720000) * Wed Aug 14 2019 Ken Dreyer 2:12.2.12-45 - rgw_file: readdir: do not construct markers w/leading '/' (rhbz#1729574) * Thu Aug 08 2019 Ken Dreyer 2:12.2.12-44 - Update patches * Thu Aug 08 2019 Ken Dreyer 2:12.2.12-43 - rgw_file: dont deadlock in advance_mtime() (rhbz#1732706) * Thu Aug 01 2019 Ken Dreyer 2:12.2.12-42 - Update patches * Thu Aug 01 2019 Ken Dreyer 2:12.2.12-41 - RGWLC: fix expiration header tag match (rhbz#1666910) * Thu Jul 11 2019 Ken Dreyer 2:12.2.12-40 - ceph_test_objectstore: add very_large_write test (rhbz#1725536) - os/bluestore: fix aio pwritev lost data problem. (rhbz#1725536) - bluestore: print aio in batch (rhbz#1725536) * Fri Jun 28 2019 Ken Dreyer 2:12.2.12-39 - rgw: sync counters: drop spaces from counter names (rhbz#1684642) * Thu Jun 27 2019 Ken Dreyer 2:12.2.12-38 - rgw: allow multipart upload abort to proceed * Thu Jun 27 2019 Ken Dreyer 2:12.2.12-37 - rgw: always generate after delimiter char to skip directory (rhbz#1720741) - rgw: fix list bucket with start maker and delimiter '/' will miss next object with char '0' (rhbz#1720741) * Thu Jun 27 2019 Ken Dreyer 2:12.2.12-36 - Update patches * Thu Jun 27 2019 Ken Dreyer 2:12.2.12-35 - rgw/OutputDataSocket: actually discard data on full buffer (rhbz#1708346) * Mon Jun 24 2019 Ken Dreyer 2:12.2.12-34 - rgw: rgw_bucket: set BucketInfo as const in rgw_remove_object (rhbz#1703557) - rgw: admin: introduce objects expire-stale list and rm (rhbz#1703557) - rgw_common: introduce a decode_bl function to decode a bl to type (rhbz#1703557) - rgw: object expirer: handle resharded buckets (rhbz#1703557) * Mon Jun 24 2019 Ken Dreyer 2:12.2.12-33 - cls/rgw: keep issuing bilog trim ops after reset (rhbz#1713779) * Fri Jun 21 2019 Ken Dreyer 2:12.2.12-32 - rgw: delete_obj_index() takes mtime for bilog (rhbz#1599852) * Fri Jun 21 2019 Ken Dreyer 2:12.2.12-31 - rgw: return ERR_NO_SUCH_BUCKET early while evaluating bucket policy (rhbz#1705922) * Thu Jun 20 2019 Ken Dreyer 2:12.2.12-30 - rgw: update the "radosgw-admin reshard status" provide admin friendly reshard status output and command documentation with expected output examples (rhbz#1639712) * Thu Jun 20 2019 Ken Dreyer 2:12.2.12-29 - rgw: update the "radosgw-admin reshard status" provide admin friendly reshard status output and command documentation with expected output examples (rhbz#1639712) * Thu Jun 20 2019 Ken Dreyer 2:12.2.12-28 - rgw_file: introduce fast S3 Unix stats (immutable) (rhbz#1708587) - rgw_file: advance_mtime() should consider namespace expiration * Wed Jun 19 2019 Ken Dreyer 2:12.2.12-27 - mon/OSDMonitor: limit MOSDMap message size by bytes (rhbz#1720205) - common/options: add osd_map_message_max_bytes (rhbz#1720205) * Tue Jun 18 2019 Ken Dreyer 2:12.2.12-26 - ceph-volume: use the Device.rotational property instead of sys_api (rhbz#1666822) * Mon Jun 17 2019 Ken Dreyer 2:12.2.12-25 - mds: don't carry ref in MDSRankDispatcher::ms_dispatch (rhbz#1721165) * Fri Jun 14 2019 Ken Dreyer 2:12.2.12-24 - rgw_file: fix readdir eof() calc--caller stop implies !eof (rhbz#1708587) * Fri Jun 14 2019 Ken Dreyer 2:12.2.12-23 - mds: reset heartbeat inside big loop (rhbz#1714810) * Thu Jun 13 2019 Ken Dreyer 2:12.2.12-22 - mds: open import bounding dirfrags in batch (rhbz#1702092) - mds: remove superfluous error in StrayManager::advance_delayed() (rhbz#1702092) - mount.ceph.c: do not pass nofail to the kernel (rhbz#1702091) - mds: there is an assertion when calling Beacon::shutdown() (rhbz#1702093) * Thu Jun 13 2019 Ken Dreyer 2:12.2.12-21 - mds: avoid sending too many osd requests at once after mds restarts Fixes: http://tracker.ceph.com/issues/40028 (rhbz#1714814) - client: clean up error checking and return of _lookup_parent (rhbz#1715086) * Thu Jun 13 2019 Ken Dreyer 2:12.2.12-20 - mds: drop reconnect message from non-existent session (rhbz#1702100) - mds/server: check directory split after rename. fixes: http://tracker.ceph.com/issues/38994 Signed-off-by: Shen Hang (rhbz#1702099) - mds: initialize cap_revoke_eviction_timeout with conf (rhbz#1702097) * Thu Jun 13 2019 Ken Dreyer 2:12.2.12-19 - qa: config recall settings to test cache drop (rhbz#1685734) - qa: check cache dump works without timeout (rhbz#1685734) - mds: add 2nd order recall throttle (rhbz#1685734) - mds: drive log flush and cache trim during recall (rhbz#1685734) - mds: avoid gather assertion when subs exist (rhbz#1685734) - mds: output full details for recall threshold (rhbz#1685734) - mds: resolve memory leak of recall gather (rhbz#1685734) * Thu Jun 13 2019 Ken Dreyer 2:12.2.12-18 - mds: ignore sessionmap version mismatch if mds_wipe_sessions is set (rhbz#1718135) - mds: fix corner case of replaying open sessions (rhbz#1718135) * Wed Jun 12 2019 Ken Dreyer 2:12.2.12-17 - pybind/rados: fixed Python3 string conversion issue on get_fsid (rhbz#1717940) * Mon Jun 10 2019 Ken Dreyer 2:12.2.12-16 - msg: output peer address when detecting bad CRCs (rhbz#1696227) - osd/OSDMap: Replace get_out_osds with get_out_existing_osds (rhbz#1696691) * Fri Jun 07 2019 Ken Dreyer 2:12.2.12-15 - rgw_file: allocate new id for continued request (rhbz#1715946) - rgw: conditionally allow non-unique email addresses (rhbz#1668897) - rgw: permit rgw-admin to populate user info by access-key (rhbz#1668896) * Fri Jun 07 2019 Ken Dreyer 2:12.2.12-14 - rgw_file: all directories are virtual with respect to contents (rhbz#1715954) - rgw_file: permit lookup_handle to lookup root_fh (rhbz#1715954) * Wed Jun 05 2019 Ken Dreyer 2:12.2.12-13 - rgw_file: pretty-print fh_key (rhbz#1708587) - rgw_file: include tenant in hashes of object (rhbz#1708587) - rgw_file: include tenant when hashing bucket names (rhbz#1708587) * Tue Jun 04 2019 Ken Dreyer 2:12.2.12-12 - rgw: use chunked encoding to get partial results out faster (rhbz#1717135) * Tue Jun 04 2019 Ken Dreyer 2:12.2.12-11 - restful: Expose perf counters (rhbz#1669838) * Fri May 31 2019 Ken Dreyer 2:12.2.12-10 - rgw_file: allocate new id for continued request Fixed: http://tracker.ceph.com/issues/37734 (rhbz#1715946) * Thu May 30 2019 Ken Dreyer 2:12.2.12-9 - rgw: conditionally allow non-unique email addresses (rhbz#1668897) - rgw: permit rgw-admin to populate user info by access-key (rhbz#1668896) * Tue May 14 2019 Thomas Serlin 2:12.2.12-8 - Update patches * Tue May 14 2019 Thomas Serlin - 2:12.2.12-7 - update spec file for civetweb submodule patch * Mon May 13 2019 Ken Dreyer 2:12.2.12-6 - test/rgw: add multisite test_bucket_creation_time() (rhbz#1702288) - cls/user: cls_user_set_buckets_info overwrites creation_time (rhbz#1702288) - DROP-IN-RPM rgw: bump mimic civetweb with ssl & abs url fixes (rhbz#1670321) - DROP-IN-RPM mimic: rgw: civetweb: use poll instead of select while waiting on sockets (rhbz#1670321) - DROP-IN-RPM civetweb: update for url validation fixes (rhbz#1670321) - DROP-IN-RPM rgw: update civetweb submodule sha1 to track ceph-master (rhbz#1670321) * Mon May 13 2019 Ken Dreyer 2:12.2.12-5 - rgw: RGWSyncLogTrimCR wont set last_trim=max_marker (rhbz#1699478) - rgw: data/bilogs are trimmed when no peers are reading them (rhbz#1699478) - rgw: datalog trimming tracks min markers as strings (rhbz#1699478) - rgw: bilog trim uses bucket_info.num_shards to size marker array (rhbz#1699478) - rgw: fix end condition in AsyncMetadataList for bilog trim (rhbz#1699478) - rgw: multisite log trimming only checks peers that sync from us (rhbz#1699478) - rgw: add perf counter to RGWListBucketIndexLogCR (rhbz#1684642) - rgw: add perf counter to RGWReadRemoteDataLogShardCR (rhbz#1684642) - rgw: add perf counters to fetch_remote_obj() (rhbz#1684642) - rgw: add sync perf counters to each RGWDataSyncProcessorThread (rhbz#1684642) - rgw: add perf counter definitions for multisite sync (rhbz#1684642) - rgw: zone service tracks source zones in a vector (rhbz#1684642) - rgw: limit entries in remove_olh_pending_entries() (rhbz#1693445) - rgw: optimize function abort_bucket_multiparts (rhbz#1628055) - DROP-IN-RPM rgw: bump mimic civetweb with ssl & abs url fixes (rhbz#1670321) - DROP-IN-RPM mimic: rgw: civetweb: use poll instead of select while waiting on sockets (rhbz#1670321) - DROP-IN-RPM civetweb: update for url validation fixes (rhbz#1670321) - DROP-IN-RPM rgw: update civetweb submodule sha1 to track ceph-master (rhbz#1670321) * Fri May 10 2019 Ken Dreyer 2:12.2.12-4 - rgw: Removed duplicate signing method from S3 credentials caching (rhbz#1708798) - rgw: Added caching for tokens retrieved from keystone using S3 credentials (rhbz#1708798) - DROP-IN-RPM rgw: bump mimic civetweb with ssl & abs url fixes (rhbz#1670321) - DROP-IN-RPM mimic: rgw: civetweb: use poll instead of select while waiting on sockets (rhbz#1670321) - DROP-IN-RPM civetweb: update for url validation fixes (rhbz#1670321) - DROP-IN-RPM rgw: update civetweb submodule sha1 to track ceph-master (rhbz#1670321) * Fri May 10 2019 Ken Dreyer 2:12.2.12-3 - rgw: crypto: throw DigestException from Digest and HMAC (rhbz#1687567) - rgw: cls_bucket_list_unordered lists a single shard (rhbz#1701970) - cls/rgw: expose cls_rgw_bucket_list_op for single shard (rhbz#1701970) - Added the command to cli test (rhbz#1669901) - In addition to changing the ACLOwner on objects, the RGWAccessControlList has to be updated as well. Without this commit, proper acl permissions are not set on object(they will still point to acl with old user) and operations like get_object etc. with the new owner will fail. This commit includes the following: - remove grant that is set to old owner - create a grant and add grant - add the ACL back to policy (rhbz#1669901) - Set object ACLS to reflect bucket owner supporting bucket unlink/link. (rhbz#1669901) - Initial work for OPA-Ceph integration (rhbz#1668050) - rgw: Evaluating bucket policies also while reading permissions for an object that is non-existent. (rhbz#1695174) - DROP-IN-RPM rgw: bump mimic civetweb with ssl & abs url fixes (rhbz#1670321) - DROP-IN-RPM mimic: rgw: civetweb: use poll instead of select while waiting on sockets (rhbz#1670321) - DROP-IN-RPM civetweb: update for url validation fixes (rhbz#1670321) - DROP-IN-RPM rgw: update civetweb submodule sha1 to track ceph-master (rhbz#1670321) - rgw: fix race b/w bucket reshard and ops waiting on reshard completion (rhbz#1688378) - rgw: correct comment describing function try_refresh_bucket_info (rhbz#1688378) - rgw: fix log messages using "proceeding" to "processing" (rhbz#1688378) - rgw: use boost::string_view (rhbz#1660962) - rgw: fix signed char truncation in delimiter check (rhbz#1660962) - rgw: prefix-delimiter listing: support >1 character delimiter (rhbz#1660962) - rgw-admin: fix data sync report for master zone (rhbz#1692555) - rgw: the error code returned by rgw is different from amz s3 when getting cors from the bucket without cors configuration (rhbz#1689410) - rgw: fix unordered bucket listing when object names are adorned (rhbz#1689266) - rgw: code-cleanup -- add const when possible and helpful (rhbz#1689266) - cls/rgw: mtime in rgw_bucket_dir_entry_meta not really decoded (rhbz#1688541) - rgw: update civetweb to 1.1 (rhbz#1670321) - rgw: resolve bugs and clean up garbage collection code (rhbz#1674436 rhbz#1674436) - rgw: resolve bug where marker was not advanced during garbage collection (rhbz#1674436) - rgw: fix bad user stats on versioned bucket after reshard (rhbz#1653314 rhbz#1655842) - rgw: move all reshard config options out of legacy_config_options (rhbz#1655705) - rgw: reshard improvements (rhbz#1655705) - rgw: minor clean-up -- convert enum BIIndexType to enum class (rhbz#1653314) - rgw: fix bad versioned bucket stats after reshard (rhbz#1653314) - rgw: Fix for role permission evaluation based on TYPE_ROLE. (rhbz#1653580) - rgw: Fix for permission evaluation for anonymous users. (rhbz#1653580) - rgw: Replacing std::regex with boost::regex. (rhbz#1650405) - rgw: properly avoid accessing null user_acl (rhbz#1653580) - STS: remove c++17 isms (rhbz#1471626) - rgw: Don't check for Principal in User Policies. (rhbz#1471626) - rgw: Correcting perm evaluation when a bucket policy is not attached, but a user policy is. (rhbz#1471626) - rgw: Correcting permission evaluation for Roles. (rhbz#1471626) - rgw: Fix verify_user_permission for user policy evaluation. (rhbz#1471626) - rgw: Fixing user perm evaluation when no policy is supplied to a role. (rhbz#1471626) - rgw: Fixes to User Policy code for CreateBucket and ListAllBuckets. (rhbz#1471626) - rgw: Policy code for STS. (rhbz#1471626) - rgw: Corrected code for ARNs for entities that have a path. (rhbz#1471626) - rgw: Adding unittests for User policies. (rhbz#1471626) - rgw: Fixing error codes while user policy is parsed. (rhbz#1471626) - rgw: Using bitset for Actions to allow for more action op codes. (rhbz#1471626) - rgw: Permission evaluation for Roles. (rhbz#1471626) - rgw: Permission evaluation for User Policies. (rhbz#1471626) - rgw: User Policy evaluation for bucket/object/user permission. (rhbz#1471626) - rgw: Initial commit for User Policy REST APIs. (rhbz#1471626) - rgw: move keystone secrets from ceph.conf to files (rhbz#1637529) - rgw: move keystone secrets from ceph.conf to files (rhbz#1637529) - rgw: Adding documentation for Roles. (rhbz#1471626) - rgw: Minor fixes to radosgw-admin commands for a role. (rhbz#1471626) - rgw: Minor fixes to AssumeRole for boto compliance. (rhbz#1471626) - rgw: Fixes to STS Lite documentation. (rhbz#1471626) - rgw: Fix for buffer overflow in STS op_post(). (rhbz#1471626) - rgw: Correct permission evaluation to allow only admin users to work with Roles. (rhbz#1638219) - rgw: Changing default s3 auth order. (rhbz#1471626) - rgw: Correcting the default value of sts max session duration. (rhbz#1471626) - STS: remove c++17 isms (rhbz#1471626) - rgw: Check for Access Key during STS Auth. (rhbz#1471626) - rgw: POST request handling for boto compliance. (rhbz#1471626) - rgw: Code to make S3 and STS co-exist in same namespace. (rhbz#1471626) - rgw: Adding documentation for STS Lite. (rhbz#1471626) - rgw: Adding ops for V4 authentication. (rhbz#1471626) - rgw: Proper result for XML formatting. (rhbz#1471626) - rgw: STS auth failures will return reject. (rhbz#1471626) - rgw: STS auth changes to make sure that other engines are not aware of session token. (rhbz#1471626) - rgw: Code for GetSessionToken REST API. (rhbz#1471626) - rgw: Perm mask. (rhbz#1471626) - rgw: STS authentication correction. (rhbz#1471626) - rgw: Added code for auth using temp credentials returned by STS. (rhbz#1471626) - rgw: Code for making STS Key configurable. (rhbz#1471626) - rgw: Changed session token format. (rhbz#1471626) - rgw: Incorporating review comments (rhbz#1471626) - rgw: Renamed STS related files. (rhbz#1471626) - rgw: Added code to store arn and policy passed as part of assume role. (rhbz#1471626) - rgw: Minor Fixes. (rhbz#1471626) - rgw: Added code to determine token expiration time using role. (rhbz#1471626) - sts: qualify encode/decode as :: (rhbz#1471626) - rgw: Added max_session_duration and policy parsing to RGW Roles. (rhbz#1471626) - rgw: Adding manager, handler etc for STS. (rhbz#1471626) - rgw: Added code for STS AssumeRole. (rhbz#1471626) - rgw: policy: refactor has_conditional (rhbz#1471626) - rgw: bucket link: "bucket move" documentation changes (rhbz#1595379) - rgw: bucket link: "bucket move"; handle bucket names too. (rhbz#1595379) - rgw: bucket link: base "bucket move" (tenant id only) (rhbz#1595379) - rearrange / simplify RGWBucket::link logic - start bucket move support (rhbz#1595379) - rgw: bucket link: use data from bucket_info to rewrite bucket_endpoint. (rhbz#1595379) - rgw: bucket link: simplify use of get bucket info. (rhbz#1595379) - rgw: bucket link: Add ability to name bucket w/ different tenant. (rhbz#1595379) - Add "--bucket-new-name" option to radosgw-admin. (rhbz#1595379) - Add several types to ceph-dencoder. (rhbz#1595379) - rgw: RGWBucket::link supports tenant (rhbz#1595379) - rgw: enable override of tcmalloc linkage (rhbz#1635805) - rgw: add option for relaxed region enforcement (rhbz#1585307) - rgw: use vector for remove_tags in gc aio (rhbz#1548564) - rgw: gc aio, replace lists with other types (rhbz#1548564) - rgw: make gc concurrenct io size configurable (rhbz#1548564) - rgw: trim gc index using aio (rhbz#1548564) - rgw: use a single gc io manager for all shards (rhbz#1548564) - rgw: use aio for gc processing (rhbz#1548564) - rgw-admin: support for processing all gc objects including unexpired. (rhbz#1548564) - rgw: Robustly notify (rhbz#1522881) - rgw: Cache notify fault injection (rhbz#1522881) - rgw_lc: use a new bl while encoding RGW_ATTR_LC (rhbz#1708650) - rgw: fix header timestamp (rhbz#1666910) - rgw: drop entries only if the markers do not match. (rhbz#1688869) - rgw: lc: fix starts_with result flip (not upstream) (rhbz#1666910 rhbz#1666910) - rgw: backport: remove c++17isms (rhbz#1688869) - cls_rgw: fix issue with gc code using the wrong name (rhbz#1688869) - doc: add troubleshooting notes on reshard admin clis (rhbz#1688869) - rgw: lc fix: protect list_keys and formatter with a scope_guard (rhbz#1688869) - rgw admin: use the new AdminOp to fix lc shards (rhbz#1688869) - rgw: add a fix_lc_shards AdminOp that can fix lc shards for all the buckets (rhbz#1688869) - cls_rgw: implement a read_omap_entry method (rhbz#1688869) - cls rgw: implement a method to get a single LC entry (rhbz#1688869) - cls_rgw: alias the LC entries as rgw_lc_entry_t (rhbz#1688869) - rgw admin: implement a lc fix option (rhbz#1688869) - rgw: lifecycle code cleanup (rhbz#1688869) - rgw: RGWLC: handle versioning case (rhbz#1684435) - rgw:lc: using midnight time to check obj expiration (rhbz#1688330) - rgw:lc return error if expiration_date is not midnight in Lifecycleconfiguration xml (rhbz#1688330) - rgw: lifecycle: fix object iteration for >1 same-prefix rules (rhbz#1666910) - rgw: lifecycle: fix RGWLifecycleConfiguration::valid() (rhbz#1654588) - rgw: lifecycle: backport: add fmt/{format,format-inl,core}.h (rhbz#1666910) - rgw: complete expiration header (object tags) (rhbz#1666910) - RGWLC: debug tags in rgwlc_s3_expiration_header (rhbz#1666910) - ceph-dencoder: add support for RGWLifecycleConfiguration (rhbz#1654588) - rgw-admin: add a new lc get command (rhbz#1654588) - rgw: lifecycle: alternate solution to prefix_map conflict (rhbz#1666910) - rgw: lifcycle: don't reject compound rules with empty prefix (rhbz#1654588) - rgw: rgw_tag_s3: make dump_xml a const member function (rhbz#1654588) - rgw_tag: implement emplace, empty & clear methods (rhbz#1654588) - rgw_lc: support for object tagging in LC policies (rhbz#1654588) * Fri May 03 2019 Ken Dreyer 2:12.2.12-2 - rgw:send x-amz-version-id header when upload files (rhbz#1661504) * Wed May 01 2019 Thomas Serlin 2:12.2.12-1 - Update to 12.2.12 * Thu Apr 25 2019 Ken Dreyer 2:12.2.8-128 - rgw: RGWSyncLogTrimCR wont set last_trim=max_marker (rhbz#1699478) - rgw: data/bilogs are trimmed when no peers are reading them (rhbz#1699478) - rgw: datalog trimming tracks min markers as strings (rhbz#1699478) - rgw: bilog trim uses bucket_info.num_shards to size marker array (rhbz#1699478) - rgw: fix end condition in AsyncMetadataList for bilog trim (rhbz#1699478) * Thu Apr 25 2019 Ken Dreyer 2:12.2.8-127 - Updated patches * Thu Apr 25 2019 Ken Dreyer 2:12.2.8-126 - fixup * Thu Apr 25 2019 Ken Dreyer 2:12.2.8-125 - Updated patches * Thu Apr 25 2019 Ken Dreyer 2:12.2.8-124 - rgw: drop entries only if the markers do not match. (rhbz#1688869) * Thu Apr 25 2019 Ken Dreyer 2:12.2.8-123 - Updated patches * Thu Apr 25 2019 Ken Dreyer 2:12.2.8-122 - rgw: crypto: throw DigestException from Digest and HMAC (rhbz#1687567) * Tue Apr 23 2019 Ken Dreyer 2:12.2.8-121 - rgw: lc: fix starts_with result flip (not upstream) (rhbz#1666910 rhbz#1666910) * Tue Apr 23 2019 Ken Dreyer 2:12.2.8-120 - rgw: cls_bucket_list_unordered lists a single shard (rhbz#1701970) - cls/rgw: expose cls_rgw_bucket_list_op for single shard (rhbz#1701970) * Tue Apr 23 2019 Ken Dreyer 2:12.2.8-119 - rgw: sync counters: drop spaces from counter names (rhbz#1684642) * Tue Apr 23 2019 Ken Dreyer 2:12.2.8-118 - rgw: change the 'rgw admin status" nun_shards output to signed int (trivial) (rhbz#1552567) * Wed Apr 17 2019 Ken Dreyer 2:12.2.8-117 - rgw: multisite log trimming only checks peers that sync from us (rhbz#1699478) * Fri Apr 12 2019 Thomas Serlin 2:12.2.8-116 - Added the command to cli test (rhbz#1669901) - In addition to changing the ACLOwner on objects, the RGWAccessControlList has to be updated as well. Without this commit, proper acl permissions are not set on object(they will still point to acl with old user) and operations like get_object etc. with the new owner will fail. This commit includes the following: - remove grant that is set to old owner - create a grant and add grant - add the ACL back to policy (rhbz#1669901) - Set object ACLS to reflect bucket owner supporting bucket unlink/link. (rhbz#1669901) - rgw: backport: remove c++17isms (rhbz#1688869) - cls_rgw: fix issue with gc code using the wrong name (rhbz#1688869) - doc: add troubleshooting notes on reshard admin clis (rhbz#1688869) - rgw: lc fix: protect list_keys and formatter with a scope_guard (rhbz#1688869) - rgw admin: use the new AdminOp to fix lc shards (rhbz#1688869) - rgw: add a fix_lc_shards AdminOp that can fix lc shards for all the buckets (rhbz#1688869) - cls_rgw: implement a read_omap_entry method (rhbz#1688869) - cls rgw: implement a method to get a single LC entry (rhbz#1688869) - cls_rgw: alias the LC entries as rgw_lc_entry_t (rhbz#1688869) - rgw admin: implement a lc fix option (rhbz#1688869) - rgw: lifecycle code cleanup (rhbz#1688869) * Thu Apr 11 2019 Ken Dreyer 2:12.2.8-115 - rgw: RGWLC: handle versioning case (rhbz#1684435) * Sun Apr 07 2019 Thomas Serlin 2:12.2.8-114 - Initial work for OPA-Ceph integration (rhbz#1668050) - rgw: ldap: fix LDAPAuthEngine::init() when uri !empty() (rhbz#1687800) * Sat Apr 06 2019 Thomas Serlin 2:12.2.8-113 - rgw: add perf counter to RGWListBucketIndexLogCR (rhbz#1684642) - rgw: add perf counter to RGWReadRemoteDataLogShardCR (rhbz#1684642) - rgw: add perf counters to fetch_remote_obj() (rhbz#1684642) - rgw: add sync perf counters to each RGWDataSyncProcessorThread (rhbz#1684642) - rgw: add perf counter definitions for multisite sync (rhbz#1684642) - rgw: zone service tracks source zones in a vector (rhbz#1684642) - rgw: limit entries in remove_olh_pending_entries() (rhbz#1693445) - rgw:lc: using midnight time to check obj expiration (rhbz#1688330) - rgw:lc return error if expiration_date is not midnight in Lifecycleconfiguration xml (rhbz#1688330) - mgr: drop GIL in get_config (rhbz#1674549) - TestOSDMap: Test with negative upmap values (rhbz#1593110) - osd/OSDMap: Disallow negative values in _apply_upmap (rhbz#1593110) - rgw: Evaluating bucket policies also while reading permissions for an object that is non-existent. (rhbz#1695174) - os/bluestore: KernelDevice::read() does the EIO mapping now. (rhbz#1678470) - crushtool: implement --rebuild-class-roots command (rhbz#1639833) - crushtool: make --reweight re-sum choose_args weight-sets too (rhbz#1639833) - crushtool: --reweight should only reweight nonshadow roots (rhbz#1639833) - crush/CrushWrapper: reclassify: use default parent for created buckets (rhbz#1639833) - crush/CrushWrapper: reclassify: handle to-be-created buckets that we need twice (rhbz#1639833) - test/cli/crushtool/reclassify: add second gabe test case (rhbz#1639833) - crushtool: add --set-subtree-class; do not set class via --reclassify-root (rhbz#1639833) - test/cli/crushtool/reclassify: add reclassify test cases (rhbz#1639833) - doc/rados/operations/crush*: document reclassify (rhbz#1639833) - doc/rados/operations/crush: remove instructions for separate crush trees for ssd (rhbz#1639833) - crushtool: add --compare command (rhbz#1639833) - crushtool: implement --reclassify (rhbz#1639833) - crush/CrushCompiler: fix id scan to include class ids (rhbz#1639833) - osd: Add OSD_BACKFILL_PRIORITY_FORCED with lower priority than OSD_RECOVERY_PRIORITY_FORCED (rhbz#1668362) - test: Add scripts to test backfill/recovery priority handling (rhbz#1668362) - osd AsyncReserver: Update priority in AsyncReserver for force and cancel-force (rhbz#1668362) - test: Add option to wait_for_clean() to execute at every sleep (rhbz#1668362) - osd/PG: fix misused FORCE_RECOVERY[BACKFILL] flags (rhbz#1668362) - osd: print summary for forced backfill/recovery to debug (rhbz#1668362) - osd/PG: clean up set_force_{recovery,backfill} interface (rhbz#1668362) - mon/OSDMonitor: do not populate void pg_temp into nextmap (rhbz#1687041) - osd/PG.cc: account for missing set irrespective of last_complete (rhbz#1687039) - os/filestore: ceph_abort() on fsync(2) or fdatasync(2) failure (rhbz#1687038) - osd/PrimaryLogPG: fix the extent length error of the sync read (rhbz#1682966) * Thu Apr 04 2019 Thomas Serlin - 2:12.2.8-112 - spec: drop four 0-byte civetweb submodule patches (rhbz#1670321) - spec: update ceph.spec to handle DROP-IN-RPM in commit titles for rdopkg (rhbz#1670321) * Wed Apr 03 2019 Thomas Serlin - 2:12.2.8-111 - civetweb: update submodule (rhbz#1670321) * Wed Apr 03 2019 Ken Dreyer 2:12.2.8-110 - rgw: bump mimic civetweb with ssl & abs url fixes (rhbz#1670321) - mimic: rgw: civetweb: use poll instead of select while waiting on sockets (rhbz#1670321) - civetweb: update for url validation fixes (rhbz#1670321) - rgw: update civetweb submodule sha1 to track ceph-master (rhbz#1670321) * Wed Apr 03 2019 Ken Dreyer 2:12.2.8-109 - mon: A PG with PG_STATE_REPAIR doesn't mean damaged data, PG_STATE_INCONSISTENT does (rhbz#1506782) * Wed Apr 03 2019 Ken Dreyer 2:12.2.8-108 - os/bluestore: Fix problem with bluefs's freespace not being balanced when kv_sync_thread is sleeping. (rhbz#1600138) * Wed Apr 03 2019 Ken Dreyer 2:12.2.8-107 - mds: optimize resuming stale caps (rhbz#1672333) - client: avoid unnecessary wakeup when handling RENEWCAPS (rhbz#1672333) - client: set cap->wanted when adding new cap (rhbz#1672333) - client: don't wakeup cap waiters twice when mds recovered (rhbz#1672333) - mds: optimize revoking stale caps (rhbz#1672333) - mds: put notable caps at the front of session's caps list (rhbz#1672333) - mds: track if client has writeable range in Capability (rhbz#1672333) - mds: add session pointer to Capability (rhbz#1672333) - client: skip updating 'wanted' caps if caps are already issued (rhbz#1672333) - client: sync 'retain caps' logical from kernel client (rhbz#1672333) * Tue Apr 02 2019 Ken Dreyer 2:12.2.8-106 - rgw: fix race b/w bucket reshard and ops waiting on reshard completion (rhbz#1688378) - rgw: correct comment describing function try_refresh_bucket_info (rhbz#1688378) - rgw: fix log messages using "proceeding" to "processing" (rhbz#1688378) * Tue Apr 02 2019 Ken Dreyer 2:12.2.8-105 - rgw: bucket limit check misbehaves for > max-entries buckets (usually 1000) (rhbz#1679263) * Tue Apr 02 2019 Ken Dreyer 2:12.2.8-104 - rgw: use boost::string_view (rhbz#1660962) - rgw: fix signed char truncation in delimiter check (rhbz#1660962) - rgw: prefix-delimiter listing: support >1 character delimiter (rhbz#1660962) * Tue Apr 02 2019 Ken Dreyer 2:12.2.8-103 - radosgw-admin: translate reshard status codes (trivial) (rhbz#1552567) * Mon Apr 01 2019 Ken Dreyer 2:12.2.8-102 - rgw: fixup_range() clamps offsets to valid part range (rhbz#1690941) - test_rgw_crypto: add invalid ranges beyond obj boundary (rhbz#1690941) - tests: rgw crypto tests with partlen vector (rhbz#1690941) - test_rgw_crypt: BlockCryptNone takes a block_size param (rhbz#1690941) - rgw_crypt: make decrypt's parts_len protected (rhbz#1690941) - rgw_crypt: take care of start & end boundaries when parsing range (rhbz#1690941) - rgw: decrypt filter does not cross multipart boundaries (rhbz#1690941) * Thu Mar 28 2019 Thomas Serlin 2:12.2.8-101 - Update patches * Tue Mar 26 2019 Ken Dreyer 2:12.2.8-100 - auth, rgw, common: switch to PK11_ImportSymKey_FIPS wrapper. (rhbz#1636251) - crypto: bring PK11_ImportSymKey_FIPS doing PK11_UnwrapSymKey. (rhbz#1687567) * Mon Mar 25 2019 Ken Dreyer 2:12.2.8-99 - rgw-admin: fix data sync report for master zone (rhbz#1692555) * Mon Mar 18 2019 Ken Dreyer 2:12.2.8-98 - rgw: the error code returned by rgw is different from amz s3 when getting cors from the bucket without cors configuration (rhbz#1689410) * Fri Mar 15 2019 Ken Dreyer 2:12.2.8-97 - rgw: fix unordered bucket listing when object names are adorned (rhbz#1689266) - rgw: code-cleanup -- add const when possible and helpful (rhbz#1689266) * Thu Mar 14 2019 Ken Dreyer 2:12.2.8-96 - rgw: nfs: skip empty (non-POSIX) path segments (rhbz#1687970) * Thu Mar 14 2019 Ken Dreyer 2:12.2.8-95 - cls/rgw: mtime in rgw_bucket_dir_entry_meta not really decoded (rhbz#1688541) * Wed Mar 13 2019 Ken Dreyer 2:12.2.8-94 - rgw: update civetweb to 1.1 (rhbz#1670321) * Fri Mar 08 2019 Ken Dreyer 2:12.2.8-93 - mds: allow boot on read-only (rhbz#1666407) - mds: setup readonly mode for PurgeQueue (rhbz#1666407) - mds: add missing locks for PurgeQueue methods (rhbz#1666407) - mds: delete on_error context on des (rhbz#1666407) * Fri Mar 08 2019 Ken Dreyer 2:12.2.8-92 - client: fix fuse client hang because its pipe to mds is not ok (rhbz#1666408) * Fri Mar 08 2019 Ken Dreyer 2:12.2.8-91 - mds: create heartbeat grace config option (rhbz#1666409) - MDSMonitor: do not assign standby-replay when degraded (rhbz#1685735) * Fri Mar 08 2019 Ken Dreyer 2:12.2.8-90 - mds: fix potential re-evaluate stray dentry in _unlink_local_finish (rhbz#1685733) * Thu Feb 28 2019 Thomas Serlin 2:12.2.8-89 - Update patches * Wed Feb 27 2019 Ken Dreyer 2:12.2.8-88 - rgw: lifecycle: fix object iteration for >1 same-prefix rules (rhbz#1666910) * Tue Feb 26 2019 Ken Dreyer 2:12.2.8-87 - rgw: data sync drains lease stack on lease failure (rhbz#1657392) * Mon Feb 25 2019 Ken Dreyer 2:12.2.8-86 - rgw: lifecycle: fix RGWLifecycleConfiguration::valid() (rhbz#1654588) * Mon Feb 25 2019 Ken Dreyer 2:12.2.8-85 - rgw: resolve bugs and clean up garbage collection code (rhbz#1674436 rhbz#1674436) * Thu Feb 21 2019 Ken Dreyer 2:12.2.8-84 - rgw: lifecycle: backport: add fmt/{format,format-inl,core}.h (rhbz#1666910) * Wed Feb 20 2019 Thomas Serlin 2:12.2.8-83 - Update patches * Wed Feb 20 2019 Ken Dreyer 2:12.2.8-82 - test/rgw_multi: add test_datalog_autotrim() (rhbz#1662353) - rgw: add 'datalog autotrim' admin command (rhbz#1662353) - rgw: fix rgw_data_sync_info::json_decode() (rhbz#1662353) * Wed Feb 20 2019 Ken Dreyer 2:12.2.8-81 - rgw: complete expiration header (object tags) (rhbz#1666910) - RGWLC: debug tags in rgwlc_s3_expiration_header (rhbz#1666910) - ceph-dencoder: add support for RGWLifecycleConfiguration (rhbz#1654588) - rgw-admin: add a new lc get command (rhbz#1654588) - rgw: lifecycle: alternate solution to prefix_map conflict (rhbz#1654588 rhbz#1666910) * Wed Feb 20 2019 Ken Dreyer 2:12.2.8-80 - rgw: resolve bug where marker was not advanced during garbage collection (rhbz#1674436) * Wed Feb 20 2019 Ken Dreyer 2:12.2.8-79 - rgw: bug in versioning concurrent, list and get have consistency issue (rhbz#1678871) * Wed Feb 20 2019 Ken Dreyer 2:12.2.8-78 - rgw: fix cls_bucket_head result order consistency (rhbz#1664897) * Thu Feb 14 2019 Ken Dreyer 2:12.2.8-77 - restful: Fix regression when traversing leaf nodes (rhbz#1594746) * Tue Feb 05 2019 Ken Dreyer 2:12.2.8-76 - rgw: Don't treat colons specially in resource part of ARN (rhbz#1650674) * Tue Feb 05 2019 Ken Dreyer 2:12.2.8-75 - rgw ldap: move conditional LDAPEngine init into it's ctor (rhbz#1663566) * Tue Feb 05 2019 Ken Dreyer 2:12.2.8-74 - rgw: fix obj can still be deleted even if deleteobject policy is set (rhbz#1654694) - rgw: cleanup for RGWDeleteObj::verify_permission() (rhbz#1654694) * Mon Feb 04 2019 Ken Dreyer 2:12.2.8-73 - mgr/DaemonServer: log pgmap usage to cluster log (rhbz#1664440) * Mon Feb 04 2019 Ken Dreyer 2:12.2.8-72 - mds: handle negative decay counter (rhbz#1664468) - test/mds: fix Session cons call (rhbz#1664468) - mds: simplify recall warnings (rhbz#1664468) - mds: add extra details for cache drop output (rhbz#1664468) - qa: test mds_max_caps_per_client conf (rhbz#1669628) - mds: limit maximum number of caps held by session (rhbz#1669628) - mds: adapt drop cache for incremental recall (rhbz#1664468) - mds: recall caps incrementally (rhbz#1664468) - mds: adapt drop cache for incremental trim (rhbz#1664468) - mds: add throttle for trimming MDCache (rhbz#1664468) - mds: cleanup SessionMap init (rhbz#1664468) - mds: cleanup Session init (rhbz#1664468) - client: flush cap release on session flush (rhbz#1664468) - mds: trim cache after journal flush (rhbz#1664468) * Sun Feb 03 2019 Ken Dreyer 2:12.2.8-71 - mds: do not log internal journal error (rhbz#1645693) - mds: clean up log level 2 messages (rhbz#1645693) - mds: log session open stats (rhbz#1645693) * Fri Feb 01 2019 Ken Dreyer 2:12.2.8-70 - librbd: use the correct error code when the exclusive lock isn't locked (rhbz#1624093) - librbd: helper to retrieve the correct error code for read-only op (rhbz#1624093) - librbd: reacquire lock should properly handle failed watcher (rhbz#1624093) - librbd: assume lock is unlocked if blacklisted or object deleted (rhbz#1624093) - librbd: watcher should internally track blacklisted state (rhbz#1624093) - librbd: attempt to recover lost image watcher upon all failures (rhbz#1624093) - rbd-mirror: attempt to re-acquire leader lock if watcher recovered (rhbz#1624093) - librbd: ensure managed lock can shut down if stuck waiting for register (rhbz#1624093) - librbd: fix rbd close race with rewatch (rhbz#1624093) - librbd: potential race in RewatchRequest when resetting watch_handle (rhbz#1624093) - librbd: journaling unable request can not be sent to remote lock owner (rhbz#1624093) * Fri Feb 01 2019 Ken Dreyer 2:12.2.8-69 - librbd: reset snaps in rbd_snap_list() (rhbz#1655681) * Fri Feb 01 2019 Ken Dreyer 2:12.2.8-68 - pybind/rbd: added missing RBD_FLAG_FAST_DIFF_INVALID constant (rhbz#1639724) * Fri Feb 01 2019 Ken Dreyer 2:12.2.8-67 - rgw: `radosgw-admin bucket rm ... --purge-objects` can hang... (rhbz#1658308) * Thu Jan 31 2019 Ken Dreyer 2:12.2.8-66 - doc: pglog_hardlimit flag recommendations (rhbz#1608060) - qa/suites/upgrade/jewel-x/stress-split*: require-osd-release luminous after upgrade (rhbz#1608060) - include/rados.h: hide CEPH_OSDMAP_PGLOG_HARDLIMIT from ceph -s (rhbz#1608060) - qa/suites/upgrade/luminous-p2p-stress-split: add split scenario (rhbz#1608060) - qa/suites/upgrade/jewel-x: add pg log settings (rhbz#1608060) - mon/OSDMonitor.cc: make a note about reusing jewel feature bit (rhbz#1608060) - mon: add and use OSD_PGLOG_HARDLIMIT feature bit (rhbz#1608060) - osd/mon: fix upgrades for pg log hard limit (rhbz#1608060) - osd: bring back old calc_trim_to and rename new method (rhbz#1608060) - osd/PGLog: allow pg log trim when complete_to is less than trim_to (rhbz#1608060) - osd: make calc_trim_to() independent of min_last_complete_ondisk (rhbz#1608060) - osd/OSD.cc: log slow requests in OSD logs (rhbz#1659156) - osd/PrimaryLogPG.cc: reassign size only when object size > truncate_size (rhbz#1667619) - osd: print offset and length to track trimtrunc (rhbz#1667619) - mon/MDSMonitor: no_reply on MMDSLoadTargets (rhbz#1667605) - rgw: only update last_trim marker on ENODATA (rhbz#1662353) * Thu Jan 31 2019 Ken Dreyer 2:12.2.8-65 - rgw: bucket full sync handles delete markers (rhbz#1658308) - test/rgw: add multisite test_suspended_delete_marker_full_sync() (rhbz#1658308) - test/rgw: add multisite test_delete_marker_full_sync() (rhbz#1658308) - test/rgw: check_bucket_eq() uses bucket.list_versions() (rhbz#1658308) - test/rgw: check_bucket_eq() supports delete markers (rhbz#1658308) - rgw: add RGWRados::repair_olh() to reconstruct olh attrs (rhbz#1663570) - rgw: add RGWRados::bi_get_olh() to read/decode olh entry (rhbz#1663570) - rgw: bi_get() takes bucket_info (rhbz#1663570) - rgw: add BucketShard::init overload for bucket_info,obj (rhbz#1663570) - test/rgw: add multisite test_version_suspended_incremental_sync (rhbz#1663570) - rgw: fetch_remote_obj filters out olh attrs (rhbz#1663570) * Wed Jan 30 2019 Ken Dreyer 2:12.2.8-64 - rgw: Fix log level of gc_iterate_entries (rhbz#1671169) * Wed Jan 30 2019 Ken Dreyer 2:12.2.8-63 - rgw: check for non-existent bucket in RGWGetACLs (rhbz#1667142) * Wed Jan 30 2019 Ken Dreyer 2:12.2.8-62 - mgr: fix crash due to multiple sessions from daemons with same name (rhbz#1670781) - mgr/restful: fix py got exception when get osd info (rhbz#1594746) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-61 - mds: extend reconnect period when mds is busy (rhbz#1656969) - mds: renew client session when receiving any message (rhbz#1656969) - mds: use mono_clock for reconnect timeout (rhbz#1656969) - osd: unlock osd_lock when tweaking osd settings (rhbz#1651777) - osd: use unlock_guard for unlock osd temporarily (rhbz#1651777) - wherever: guard handle_conf_change() from concurrent execution (rhbz#1651777) - config: drop config_proxy::lock when invoking config observer (rhbz#1651777) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-60 - mds: bump mds protocol version (rhbz#1659206) - mds: handle fragment notify race (rhbz#1659206) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-59 - mds: flush dirty dirfrags that weren't logged when deactivating mds (rhbz#1659207) - mds: use MDlog::trim_all() to trim log when deactivating mds (rhbz#1659207) - mds: don't cap log when there are replicated objects (rhbz#1659207) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-58 - mds: handle state change race (rhbz#1663342) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-57 - mds: log evicted clients to clog/dbg (rhbz#1643995) - msg: lower verbosity on normal event (rhbz#1665591) - mds: fix infinite loop in OpTracker::check_ops_in_flight (rhbz#1667829) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-56 - mds: make timeout parameter optional for "cache drop" (rhbz#1646949) - client: don't update importing caps' mseq when handing cap export (rhbz#1660205) - mds: don't exclude disallowed caps when recording wanted caps (rhbz#1660205) - mds: queue inodes into MDCache::export_pin_queue after setattr is journaled (rhbz#1660206) - libcephfs: expose CEPH_SETATTR_MTIME_NOW and CEPH_SETATTR_ATIME_NOW (rhbz#1636628) - mds: obsolete MDSMap option configs (rhbz#1657022) - PendingReleaseNotes: add release notes for cephfs-journal-tool changes (rhbz#1636627) - test: make rank argument mandatory when running journal_tool (rhbz#1636627) - cephfs-journal-tool: make "--rank" argument mandatory (rhbz#1636627) - cephfs-journal-tool: pass local arg vector for Journal actions (rhbz#1636627) - cephfs-journal-tool: dump to per rank output file wherever necessary (rhbz#1636627) - osdc/Journaler: make try_read_entry store data in contiguous memory (rhbz#1659213) - osdc: reduce ObjectCacher's memory fragments (rhbz#1659210) - mds: fix mds damaged due to unexpected journal length (rhbz#1636629) - client: update ctime when modifying file content (rhbz#1632509) - client:two ceph-fuse client, one can not list out files created by another. (rhbz#1630023) - mds: prevent rctime from going back (rhbz#1632506) - mds: disallow dumping huge caches to formatter (rhbz#1636037) - mds: use uniform write handler for PQ (rhbz#1652464) - MDSMonitor: allow beacons from stopping MDS that was laggy (rhbz#1663344) * Tue Jan 29 2019 Ken Dreyer 2:12.2.8-55 - rgw_file: deep stat handling (rhbz#1670516) * Tue Jan 15 2019 Ken Dreyer 2:12.2.8-54 - librgw: export multitenancy support (rhbz#1661882) * Fri Jan 11 2019 Ken Dreyer 2:12.2.8-53 - rgw: rgw_tag_s3: make dump_xml a const member function (rhbz#1654588) - rgw_tag: implement emplace, empty & clear methods (rhbz#1654588) - rgw: lifcycle: don't reject compound rules with empty prefix (rhbz#1654588) - rgw_lc: support for object tagging in LC policies (rhbz#1654588) * Wed Dec 12 2018 Ken Dreyer 2:12.2.8-52 - rgw: feature -- log successful bucket resharding events (rhbz#1658760) * Tue Dec 11 2018 Ken Dreyer 2:12.2.8-51 - ceph-volume-client: allow setting mode of CephFS volumes (rhbz#1644421) * Thu Dec 06 2018 Ken Dreyer 2:12.2.8-50 - rgw: fix bad user stats on versioned bucket after reshard (rhbz#1653314 rhbz#1655842) * Mon Dec 03 2018 Ken Dreyer 2:12.2.8-49 - rgw: move all reshard config options out of legacy_config_options (rhbz#1655705) - rgw: reshard improvements (rhbz#1655705) * Fri Nov 30 2018 Ken Dreyer 2:12.2.8-48 - ceph-volume lvm skip empty vg_name removals (rhbz#1655171) * Fri Nov 30 2018 Ken Dreyer 2:12.2.8-47 - rgw: minor clean-up -- convert enum BIIndexType to enum class (rhbz#1653314) - rgw: fix bad versioned bucket stats after reshard (rhbz#1653314) * Fri Nov 30 2018 Ken Dreyer 2:12.2.8-46 - rgw: Fix for role permission evaluation based on TYPE_ROLE. (rhbz#1653580) * Fri Nov 30 2018 Ken Dreyer 2:12.2.8-45 - rgw: data sync accepts ERR_PRECONDITION_FAILED on remove_object() (rhbz#1642144) * Thu Nov 29 2018 Ken Dreyer 2:12.2.8-44 - rgw: Fix for permission evaluation for anonymous users. (rhbz#1653580) - rgw: Replacing std::regex with boost::regex. (rhbz#1650405) * Tue Nov 27 2018 Ken Dreyer 2:12.2.8-43 - rgw: batch and process bucket instances (rhbz#1653830) - cli: use rgw-admin reshard stale-instances list/delete (rhbz#1653830) - rgw: implement listing stale instances from a reshard (rhbz#1653830) * Tue Nov 27 2018 Ken Dreyer 2:12.2.8-42 - librados_cxx: document which nobjects interfaces throw (rhbz#1649484) - rgw: bucket trim restarts if list_keys_init() returns EINVAL (rhbz#1649484) - rgw: list_buckets_* catches NObjectIterator exceptions (rhbz#1649484) - rgw: pool_iterate[_begin] catches NObjectIterator exceptions (rhbz#1649484) - librados: NObjectIteratorImpl::get_next() throws std::system_error (rhbz#1649484) * Tue Nov 27 2018 Ken Dreyer 2:12.2.8-41 - rgw: properly avoid accessing null user_acl (rhbz#1653580) * Mon Nov 26 2018 Ken Dreyer 2:12.2.8-40 - rgw: perf -- remove bucket shards asynchronously rather than synchronously (rhbz#1627562) - rgw: Correcting perm evaluation when a bucket policy is not attached, but a user policy is. (rhbz#1471626) - rgw: Fixing user perm evaluation when no policy is supplied to a role. (rhbz#1471626) - rgw: Fixes to User Policy code for CreateBucket and ListAllBuckets. (rhbz#1471626) - rgw: Using bitset for Actions to allow for more action op codes. (rhbz#1471626) - rgw: User Policy evaluation for bucket/object/user permission. (rhbz#1471626) - ceph-volume tests update tests to handle new SystemExit exceptions in main (rhbz#1644828) - ceph-volume tests.api verify that Volume object can be removed (rhbz#1644828) - ceph-volume api.lvm allow passing a Volume object to remove_lv (rhbz#1644828) - ceph-volume simple.activate factor out systemd interactions for easier testing (rhbz#1644610) - ceph-volume tests ensure activate behavior with systemd disabling (rhbz#1644610) - ceph-volume simple.activate allow a --no-systemd flag to skip systemctl actions (rhbz#1644610) - ceph-volume simple.trigger replace systemd with from_trigger keyword argument (rhbz#1644610) - ceph-volume util.encryption robust blkid+lsblk detection of lockbox (rhbz#1644265) - doc: make note of pg log hard limit upgrade bug in PendingReleaseNotes (rhbz#1608060) - Revert "osd: make calc_trim_to() independent of min_last_complete_ondisk" (rhbz#1608060) - Revert "osd: allow trim() to proceed when there are missing items" (rhbz#1608060) - Revert "osd/PGLog: allow pg log trim when complete_to is less than trim_to" (rhbz#1608060) - Revert "osd/PGLog.cc: use lgeneric_subdout instead of generic_dout" (rhbz#1608060) - Revert "osd/PGLog.cc: check if complete_to points to log.end()" (rhbz#1608060) - Revert "osd/PrimaryLogPG.cc: limit trimming at can_rollback_to" (rhbz#1608060) - Revert "osd/PrimaryLogPG: avoid dereferencing invalid complete_to" (rhbz#1608060) - rgw: failed resharding clears resharding status from shard heads (rhbz#1611763) - cls: add semantics for cls locks to require renewal without expiring (rhbz#1611763) - ceph-volume: when --prepare is added to batch the OSDs are only prepared (rhbz#1541415) - ceph-volume api.lvm: do not spit out errors on the terminal from LVM (rhbz#1640086) - ceph-volume: extracts batch.filter_devices from Batch._get_strategy (rhbz#1640086) - ceph-volume: failing to get block db size from conf logs an exception (rhbz#1640086) - ceph-volume: add info about filtered devices to batch pretty reports (rhbz#1640086) - ceph-volume: ignore failure to load ceph configuration for block.db size (rhbz#1640086) - ceph-volume: raise a non zero exit code if strategy changes with batch (rhbz#1640086) - ceph-volume: add functional tests to ensure lvm batch is idempotent (rhbz#1640086) - ceph-volume: update tests to account for filtered_devices in batch (rhbz#1640086) - ceph-volume: add filtered_devices and used_by_ceph to all batch reports (rhbz#1640086) - ceph-volume: pick strategy for batch with only the unused devices (rhbz#1640086) - ceph-volume: adds used_by_ceph to filestore singletype batch report (rhbz#1640086) - doc/man/ceph-volume update batch command with new sizing flags (rhbz#1640086) - ceph-volume tests.devices update fixture to include new size flags for strategies (rhbz#1640086) - ceph-volume lvm.batch add sizing flags for journal and block.db LVs (rhbz#1640086) - ceph-volume lvm.prepare update help to remove old basic usage example (rhbz#1640086) - ceph-volume lvm.prepare update help to indicate partitions are needed, not devices (rhbz#1640086) - ceph-volume lvm.prepare simplify help menu with bluestore default flags (rhbz#1640086) - ceph-volume lvm.create simplify help menu with bluestore default flags (rhbz#1640086) - ceph-volume util.disk when there are no devices mapped, skip to the next one (rhbz#1640086) - ceph-volume tests.util verify devices that don't exist don't break get_devices (rhbz#1640086) - ceph-volume lvm.activate pass no_systemd args when detecting objectstore (rhbz#1640086) - ceph-volume tests.lvm verify activate works with --auto-detect-objectstore (rhbz#1640086) - ceph-volume simple.scan better detection for ceph-disk data devices (rhbz#1640086) - ceph-volume tests.conftest add blkid patching to device_info fixture (rhbz#1640086) - ceph-volume util.device add a ceph-disk device object to detect types (rhbz#1640086) - ceph-volume: when using batch --report return journal/data size as ints (rhbz#1640086) - rbd-mirror: always attempt to restart canceled status update task (rhbz#1640262) - rbd-mirror: instantiate the status formatter before changing state (rhbz#1640262) - ceph-volume tests/functional update dmcrypt test playbooks to use --cluster (rhbz#1621901) - ceph-volume tests/functional/batch update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional/lvm update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional update playbooks to use --cluster (rhbz#1621901) - ceph-volume main move out the load_ceph_conf_path to the configuration module (rhbz#1621901) - ceph-volume tests.devices patch configuration.load to avoid raising non-existing ceph.conf (rhbz#1621901) - ceph-volume tests reset the cluster name after every unit test (rhbz#1621901) - ceph-volume tests.functional add custom cluster name to centos7-filestore-create (rhbz#1621901) - ceph-volume lvm.activate load the config always by reading the cluster name from the LV (rhbz#1621901) - rgw: RemoteApplier::create_account() applies default quota config (rhbz#1630870) - rgw: Correct permission evaluation to allow only admin users to work with Roles. (rhbz#1638219) - mds: implement journal flush as asynchronous context execution (rhbz#1589967) - packages.yaml: install py3 compatible cephfs and rados bindings... (rhbz#1579247) - mds: allow request load average decay rate configurable via admin socket (rhbz#1618523) - mds:improve mds perf counters can statistics filesystem operations number and latency (rhbz#1618523) - rgw: Correcting the default value of sts max session duration. (rhbz#1471626) - rgw: STS auth changes to make sure that other engines are not aware of session token. (rhbz#1471626) - rgw: Added code for auth using temp credentials returned by STS. (rhbz#1471626) - rgw: Added code to store arn and policy passed as part of assume role. (rhbz#1471626) - rgw: Added code to determine token expiration time using role. (rhbz#1471626) - rgw: Added max_session_duration and policy parsing to RGW Roles. (rhbz#1471626) - rearrange / simplify RGWBucket::link logic - start bucket move support (rhbz#1595379) - rgw: bucket link: use data from bucket_info to rewrite bucket_endpoint. (rhbz#1595379) - rgw: bucket link: Add ability to name bucket w/ different tenant. (rhbz#1595379) - rgw: abort_bucket_multiparts() ignores individual NoSuchUpload errors (rhbz#1628055) - librbd: fix refuse to release lock when cookie is the same at rewatch (rhbz#1622697) - client: check for unmounted condition before printing debug output (rhbz#1615394) - os/bluestore: limit OSD memory usage by tuning the cache size. (rhbz#1611850) - kv/rocksdb_cache/BinnedLRUCache: Don't promote data to the high pri pool. (rhbz#1611850) - tools: ceph-objectstore-tool: Allow target level as first positional param (rhbz#1599442) - osd/PGLog: allow pg log trim when complete_to is less than trim_to (rhbz#1608060) - osd: make calc_trim_to() independent of min_last_complete_ondisk (rhbz#1608060) - ceph-volume tests.functional comment why not use --destroy when zapping lvs in filestore (rhbz#1628734) - ceph-volume tests.functional use --destroy when zapping lvs in bluestore (rhbz#1628734) - ceph-volume lvm.batch.validators account for osds per device, include collocation (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with MixedType (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with SingleType (rhbz#1541415) - ceph-volume lvm.batch add --osds-per-device flag, defaulting to 1 (rhbz#1541415) - ceph-volume tests.util verify Disk objects don't change state with divisions (rhbz#1619812) - ceph-volume util.disk fix an issue where Disk objects would mutate on div operations (rhbz#1619812) - ceph-volume util.prepare add a helper to get block.db sizes from ceph.conf (rhbz#1619812) - ceph-volume lvm.batch.bluestore add TODOs for custom fast/slow devices (rhbz#1619812) - -f ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch fix error reporting, Device objects aren't strings (rhbz#1619812) - ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch make sure data devices don't have existing LVs on bluestore (rhbz#1619812) - ceph-volume lvm.batch use 'ceph' as the cluster name with filestore (rhbz#1619812) - ceph-volume tests/functional single (test) playbook to zap and redeploy batch operations (rhbz#1619812) - ceph-volume tests/functional create a noop playbook to allow symlinking always to setup.yml (rhbz#1619812) - ceph-volume tests/functional add mixed-type scenarios to tox.ini (rhbz#1619812) - ceph-volume tests/functional add CentOS7 bluestore mixed-type scenarios (rhbz#1619812) - ceph-volume tests/functional add CentOS7 filestore mixed-type scenarios (rhbz#1619812) - mon/OSDMonitor: Warn when expected_num_objects will have no effect (rhbz#1592497) * Wed Nov 21 2018 Thomas Serlin 2:12.2.8-39 - Update patches * Wed Nov 21 2018 Ken Dreyer 2:12.2.8-38 - rgw: perf -- remove bucket shards asynchronously rather than synchronously (rhbz#1627562) - rgw: clean up unused bucket index shards (rhbz#1627562) - rgw: a little code clean-up by adding const (rhbz#1627562) - rgw: remove never-called RGWRados member function (rhbz#1627562) - rgw: rename function for clarity (rhbz#1627562) - rgw: fix bug in error codes returned (rhbz#1627562) * Wed Nov 21 2018 Ken Dreyer 2:12.2.8-37 - rgw: Don't check for Principal in User Policies. (rhbz#1471626) - rgw: Correcting perm evaluation when a bucket policy is not attached, but a user policy is. (rhbz#1471626) - rgw: Correcting permission evaluation for Roles. (rhbz#1471626) - rgw: Fix verify_user_permission for user policy evaluation. (rhbz#1471626) - rgw: Fixing user perm evaluation when no policy is supplied to a role. (rhbz#1471626) - rgw: Fixes to User Policy code for CreateBucket and ListAllBuckets. (rhbz#1471626) - rgw: Policy code for STS. (rhbz#1471626) - rgw: Corrected code for ARNs for entities that have a path. (rhbz#1471626) - rgw: Adding unittests for User policies. (rhbz#1471626) - rgw: Fixing error codes while user policy is parsed. (rhbz#1471626) - rgw: Using bitset for Actions to allow for more action op codes. (rhbz#1471626) - rgw: Permission evaluation for Roles. (rhbz#1471626) - rgw: Permission evaluation for User Policies. (rhbz#1471626) - rgw: User Policy evaluation for bucket/object/user permission. (rhbz#1471626) - rgw: Initial commit for User Policy REST APIs. (rhbz#1471626) * Thu Nov 15 2018 Ken Dreyer 2:12.2.8-36 - ceph-volume lvm.zap remove vgs|lvs when --destroy is used (rhbz#1644828) - ceph-volume tests update tests to handle new SystemExit exceptions in main (rhbz#1644828) - ceph-volume tests.api verify that Volume object can be removed (rhbz#1644828) - ceph-volume tests.functional.lvm test full removal of LVs (rhbz#1644828) - ceph-volume api.lvm allow passing a Volume object to remove_lv (rhbz#1644828) - ceph-volume main raise sys.exit to prevent garbage in help (rhbz#1644828) * Wed Nov 14 2018 Ken Dreyer 2:12.2.8-35 - ceph-volume simple.activate factor out systemd interactions for easier testing (rhbz#1644610) - ceph-volume tests ensure activate behavior with systemd disabling (rhbz#1644610) - ceph-volume simple.activate allow a --no-systemd flag to skip systemctl actions (rhbz#1644610) - ceph-volume simple.trigger replace systemd with from_trigger keyword argument (rhbz#1644610) * Thu Nov 08 2018 Ken Dreyer 2:12.2.8-34 - rgw: aws:SecureTransport uses rgw_transport_is_secure() (rhbz#1641808) - rgw: SSE operations check rgw_transport_is_secure() (rhbz#1641808) - rgw: add helper function rgw_transport_is_secure() (rhbz#1641808) - common: add config option rgw_trust_forwarded_https (rhbz#1641808) * Thu Nov 08 2018 Ken Dreyer 2:12.2.8-33 - rgw: beast frontend parses ipv6 addrs (rhbz#1644840) - rgw: beast frontend uses default port 443 for ssl_endpoint (rhbz#1644840) * Thu Nov 08 2018 Ken Dreyer 2:12.2.8-32 - ceph-volume util.encryption robust blkid+lsblk detection of lockbox (rhbz#1644265) - rgw: move keystone secrets from ceph.conf to files (rhbz#1637529) - rgw: move keystone secrets from ceph.conf to files (rhbz#1637529) * Wed Nov 07 2018 Ken Dreyer 2:12.2.8-31 - rgw: Adding documentation for Roles. (rhbz#1471626) - rgw: Minor fixes to radosgw-admin commands for a role. (rhbz#1471626) - rgw: Minor fixes to AssumeRole for boto compliance. (rhbz#1471626) - rgw: Fixes to STS Lite documentation. (rhbz#1471626) - rgw: Fix for buffer overflow in STS op_post(). (rhbz#1471626) * Wed Nov 07 2018 Ken Dreyer 2:12.2.8-30 - mgr/restful: Fix deep-scrub typo (rhbz#1641681) * Mon Nov 05 2018 Ken Dreyer 2:12.2.8-29 - doc: make note of pg log hard limit upgrade bug in PendingReleaseNotes (rhbz#1608060) - Revert "osd: make calc_trim_to() independent of min_last_complete_ondisk" (rhbz#1608060) - Revert "osd: print pg log length and trim_to" (rhbz#1608060) - Revert "osd: handle trim() during backfill" (rhbz#1608060) - Revert "osd: allow trim() to proceed when there are missing items" (rhbz#1608060) - Revert "osd: reset complete_to when trimming the log past it" (rhbz#1608060) - Revert "osd/PGLog: allow pg log trim when complete_to is less than trim_to" (rhbz#1608060) - Revert "osd/PGLog.cc: use lgeneric_subdout instead of generic_dout" (rhbz#1608060) - Revert "src/osd/PG.cc: remove redundant call to trim_log()" (rhbz#1608060) - Revert "osd/PGLog.cc: check if complete_to points to log.end()" (rhbz#1608060) - Revert "osd/PrimaryLogPG.cc: limit trimming at can_rollback_to" (rhbz#1608060) - Revert "osd/PrimaryLogPG: avoid dereferencing invalid complete_to" (rhbz#1608060) - Revert "osd/PrimaryLogPG: fix potential pg-log overtrimming" (rhbz#1608060) * Mon Nov 05 2018 Ken Dreyer 2:12.2.8-28 - osd: New configuration option osd_delete_sleep (rhbz#1636267) - osd: Separate removal and recovery thread pools (rhbz#1636267) * Thu Nov 01 2018 Ken Dreyer 2:12.2.8-27 - rbd-mirror: update mirror status when stopping (rhbz#1640262) * Wed Oct 31 2018 Ken Dreyer 2:12.2.8-26 - rgw: recover from incomplete reshard attempt (rhbz#1611763) - rgw: move RGWReshardBucket lock to its own separate class (rhbz#1611763) - rgw: failed resharding clears resharding status from shard heads (rhbz#1611763) - rgw: change the bucket reshard lock to exclusive-ephemeral (rhbz#1611763) - cls: add exclusive ephemeral locks that auto-clean (rhbz#1611763) - rgw: renew resharding locks to prevent expiration (rhbz#1611763) - cls: add semantics for cls locks to require renewal without expiring (rhbz#1611763) - rgw: use the same lock when resharding (rhbz#1611763) - rgw: renew resharding lock during bucket resharding (rhbz#1611763) * Wed Oct 31 2018 Ken Dreyer 2:12.2.8-25 - cls/user: cls_user_remove_bucket writes modified header (rhbz#1639368) - rgw: cls_user_set_buckets_info can update bucket id (rhbz#1639368) - rgw: rgw_user_sync_all_stats uses bucket entrypoint (rhbz#1639368) * Tue Oct 30 2018 Ken Dreyer 2:12.2.8-24 - rgw/beast: drop privileges after binding ports (rhbz#1644394) * Fri Oct 26 2018 Ken Dreyer 2:12.2.8-23 - ceph-volume: update man page for batch --prepare (rhbz#1541415) - ceph-volume: docs for --prepare flag of lvm batch (rhbz#1541415) - ceph-volume: when --prepare is added to batch the OSDs are only prepared (rhbz#1541415) - ceph-volume: adds a --prepare flag to ceph-volume lvm batch (rhbz#1541415) * Wed Oct 24 2018 Ken Dreyer 2:12.2.8-22 - ceph-volume api.lvm: do not spit out errors on the terminal from LVM (rhbz#1640086) - ceph-volume: extracts batch.filter_devices from Batch._get_strategy (rhbz#1640086) - ceph-volume: failing to get block db size from conf logs an exception (rhbz#1640086) - ceph-volume: add info about filtered devices to batch pretty reports (rhbz#1640086) - ceph-volume: ignore failure to load ceph configuration for block.db size (rhbz#1640086) - ceph-volume: raise a non zero exit code if strategy changes with batch (rhbz#1640086) - ceph-volume: add functional tests to ensure lvm batch is idempotent (rhbz#1640086) - ceph-volume: update tests to account for filtered_devices in batch (rhbz#1640086) - ceph-volume: add filtered_devices and used_by_ceph to all batch reports (rhbz#1640086) - ceph-volume: pick strategy for batch with only the unused devices (rhbz#1640086) - ceph-volume: adds used_by_ceph to filestore singletype batch report (rhbz#1640086) - doc/man/ceph-volume update batch command with new sizing flags (rhbz#1640086) - ceph-volume tests.devices update fixture to include new size flags for strategies (rhbz#1640086) - ceph-volume lvm.batch add sizing flags for journal and block.db LVs (rhbz#1640086) - ceph-volume lvm.prepare update help to remove old basic usage example (rhbz#1640086) - ceph-volume lvm.prepare update help to indicate partitions are needed, not devices (rhbz#1640086) - ceph-volume lvm.prepare simplify help menu with bluestore default flags (rhbz#1640086) - ceph-volume lvm.create simplify help menu with bluestore default flags (rhbz#1640086) - ceph-volume util.disk when there are no devices mapped, skip to the next one (rhbz#1640086) - ceph-volume tests.util verify devices that don't exist don't break get_devices (rhbz#1640086) - ceph-volume lvm.activate pass no_systemd args when detecting objectstore (rhbz#1640086) - ceph-volume tests.lvm verify activate works with --auto-detect-objectstore (rhbz#1640086) - ceph-volume simple.scan better detection for ceph-disk data devices (rhbz#1640086) - ceph-volume tests.conftest add blkid patching to device_info fixture (rhbz#1640086) - ceph-volume util.device add a ceph-disk device object to detect types (rhbz#1640086) - ceph-volume: when using batch --report return journal/data size as ints (rhbz#1640086) - rbd-mirror: always attempt to restart canceled status update task (rhbz#1640262) - rbd-mirror: instantiate the status formatter before changing state (rhbz#1640262) - ceph-volume tests/functional update dmcrypt test playbooks to use --cluster (rhbz#1621901) - ceph-volume tests/functional/batch update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional/lvm update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional update playbooks to use --cluster (rhbz#1621901) - ceph-volume main move out the load_ceph_conf_path to the configuration module (rhbz#1621901) - ceph-volume tests.devices patch configuration.load to avoid raising non-existing ceph.conf (rhbz#1621901) - ceph-volume tests reset the cluster name after every unit test (rhbz#1621901) - ceph-volume tests.functional add custom cluster name to centos7-filestore-create (rhbz#1621901) - ceph-volume lvm.activate load the config always by reading the cluster name from the LV (rhbz#1621901) - rgw: RemoteApplier::create_account() applies default quota config (rhbz#1630870) - rgw: Correct permission evaluation to allow only admin users to work with Roles. (rhbz#1638219) - mds: implement journal flush as asynchronous context execution (rhbz#1589967) - packages.yaml: install py3 compatible cephfs and rados bindings... (rhbz#1579247) - mds: allow request load average decay rate configurable via admin socket (rhbz#1618523) - mds:improve mds perf counters can statistics filesystem operations number and latency (rhbz#1618523) - rgw: Correcting the default value of sts max session duration. (rhbz#1471626) - rgw: STS auth changes to make sure that other engines are not aware of session token. (rhbz#1471626) - rgw: Added code for auth using temp credentials returned by STS. (rhbz#1471626) - rgw: Added code to store arn and policy passed as part of assume role. (rhbz#1471626) - rgw: Added code to determine token expiration time using role. (rhbz#1471626) - rgw: Added max_session_duration and policy parsing to RGW Roles. (rhbz#1471626) - rearrange / simplify RGWBucket::link logic - start bucket move support (rhbz#1595379) - rgw: bucket link: use data from bucket_info to rewrite bucket_endpoint. (rhbz#1595379) - rgw: bucket link: Add ability to name bucket w/ different tenant. (rhbz#1595379) - rgw: abort_bucket_multiparts() ignores individual NoSuchUpload errors (rhbz#1628055) - librbd: fix refuse to release lock when cookie is the same at rewatch (rhbz#1622697) - client: check for unmounted condition before printing debug output (rhbz#1615394) - os/bluestore: limit OSD memory usage by tuning the cache size. (rhbz#1611850) - kv/rocksdb_cache/BinnedLRUCache: Don't promote data to the high pri pool. (rhbz#1611850) - tools: ceph-objectstore-tool: Allow target level as first positional param (rhbz#1599442) - osd/PGLog: allow pg log trim when complete_to is less than trim_to (rhbz#1608060) - osd: make calc_trim_to() independent of min_last_complete_ondisk (rhbz#1608060) - ceph-volume tests.functional comment why not use --destroy when zapping lvs in filestore (rhbz#1628734) - ceph-volume tests.functional use --destroy when zapping lvs in bluestore (rhbz#1628734) - ceph-volume lvm.batch.validators account for osds per device, include collocation (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with MixedType (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with SingleType (rhbz#1541415) - ceph-volume lvm.batch add --osds-per-device flag, defaulting to 1 (rhbz#1541415) - ceph-volume tests.util verify Disk objects don't change state with divisions (rhbz#1619812) - ceph-volume util.disk fix an issue where Disk objects would mutate on div operations (rhbz#1619812) - ceph-volume util.prepare add a helper to get block.db sizes from ceph.conf (rhbz#1619812) - ceph-volume lvm.batch.bluestore add TODOs for custom fast/slow devices (rhbz#1619812) - -f ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch fix error reporting, Device objects aren't strings (rhbz#1619812) - ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch make sure data devices don't have existing LVs on bluestore (rhbz#1619812) - ceph-volume lvm.batch use 'ceph' as the cluster name with filestore (rhbz#1619812) - ceph-volume tests/functional single (test) playbook to zap and redeploy batch operations (rhbz#1619812) - ceph-volume tests/functional create a noop playbook to allow symlinking always to setup.yml (rhbz#1619812) - ceph-volume tests/functional add mixed-type scenarios to tox.ini (rhbz#1619812) - ceph-volume tests/functional add CentOS7 bluestore mixed-type scenarios (rhbz#1619812) - ceph-volume tests/functional add CentOS7 filestore mixed-type scenarios (rhbz#1619812) - mon/OSDMonitor: Warn when expected_num_objects will have no effect (rhbz#1592497) - rgw-admin: support for processing all gc objects including unexpired. (rhbz#1548564) * Wed Oct 24 2018 Ken Dreyer 2:12.2.8-21 - ceph-volume tests.api update monkeypatching to use **kw (rhbz#1640086) - ceph-volume tests allow **kw when monkeypatching (rhbz#1640086) - ceph-volume api.lvm: do not spit out errors on the terminal from LVM (rhbz#1640086) * Tue Oct 23 2018 Ken Dreyer 2:12.2.8-20 - ceph-volume: extracts batch.filter_devices from Batch._get_strategy (rhbz#1640086) - ceph-volume: failing to get block db size from conf logs an exception (rhbz#1640086) - ceph-volume: when all devices are filtered exit gracefully (rhbz#1640086) - ceph-volume: filter devices used by journals/block.db (rhbz#1640086) - ceph-volume: add rotational property to Device class (rhbz#1640086) - ceph-volume: add info about filtered devices to batch pretty reports (rhbz#1640086) - ceph-volume: remove the used_by_ceph key in the json output (rhbz#1640086) - ceph-volume: fix idempotency checks for lvm batch tests (rhbz#1640086) - ceph-volume: fix bluestore strategy json reporting and type (rhbz#1640086) - ceph-volume: ignore failure to load ceph configuration for block.db size (rhbz#1640086) - ceph-volume: fix strategy comparison in 'lvm batch' (rhbz#1640086) - ceph-volume: raise a non zero exit code if strategy changes with batch (rhbz#1640086) - ceph-volume: add functional tests to ensure lvm batch is idempotent (rhbz#1640086) - ceph-volume: add tests for util.device.Device.used_by_ceph (rhbz#1640086) - ceph-volume: update tests to account for filtered_devices in batch (rhbz#1640086) - ceph-volume: consider block and data devices used_by_ceph (rhbz#1640086) - ceph-volume: add filtered_devices and used_by_ceph to all batch reports (rhbz#1640086) - ceph-volume: pick strategy for batch with only the unused devices (rhbz#1640086) - ceph-volume: adds a 'changed' key to lvm batch --report (rhbz#1640086) - ceph-volume: adds used_by_ceph to filestore singletype batch report (rhbz#1640086) - ceph-volume: adds a used_by_ceph property to the Device class (rhbz#1640086) - ceph-volume: adds a lvs property to the Device class (rhbz#1640086) - ceph-volume: add vg_name to the Device class (rhbz#1640086) - doc/man/ceph-volume update batch command with new sizing flags (rhbz#1640086) - ceph-volume tests.devices update fixture to include new size flags for strategies (rhbz#1640086) - ceph-volume lvm.batch.filestore consume --journal-size (rhbz#1640086) - ceph-volume lvm.batch.bluestore consume --block-db-size (rhbz#1640086) - ceph-volume lvm.batch add sizing flags for journal and block.db LVs (rhbz#1640086) - ceph-volume lvm.prepare update help to remove old basic usage example (rhbz#1640086) - ceph-volume lvm.prepare update help to indicate partitions are needed, not devices (rhbz#1640086) - fix typo in ceph-volume lvm prepare help (rhbz#1640086) - ceph-volume lvm.prepare simplify help menu with bluestore default flags (rhbz#1640086) - ceph-volume lvm.create simplify help menu with bluestore default flags (rhbz#1640086) - doc/ceph-volume document multipath support (rhbz#1640086) - ceph-volume util.disk when there are no devices mapped, skip to the next one (rhbz#1640086) - ceph-volume tests.util verify devices that don't exist don't break get_devices (rhbz#1640086) - ceph-volume lvm.activate pass no_systemd args when detecting objectstore (rhbz#1640086) - ceph-volume tests.lvm verify activate works with --auto-detect-objectstore (rhbz#1640086) - ceph-volume simple.scan better detection for ceph-disk data devices (rhbz#1640086) - ceph-volume tests.util verify CephDiskDevice behavior (rhbz#1640086) - ceph-volume tests.conftest add blkid patching to device_info fixture (rhbz#1640086) - ceph-volume util.device add a ceph-disk device object to detect types (rhbz#1640086) - ceph-volume tests.util verify new blkid API calls (rhbz#1640086) - ceph-volume util.disk expand blkid's API calls (rhbz#1640086) - ceph-volume: only run ceph-common once during tests (rhbz#1640086) - ceph-volume: fail fast during tests (rhbz#1640086) - ceph-volume: when using batch --report return journal/data size as ints (rhbz#1640086) * Thu Oct 18 2018 Ken Dreyer 2:12.2.8-19 - rbd-mirror: always attempt to restart canceled status update task (rhbz#1640262) - rbd-mirror: instantiate the status formatter before changing state (rhbz#1640262) * Wed Oct 17 2018 Ken Dreyer 2:12.2.8-18 - rgw: beast frontend calls shutdown before closing connections (rhbz#1639968) - rgw: add ssl support to beast frontend (rhbz#1639968) - rgw: factor the tcp::socket out of ClientIO (rhbz#1639968) - rgw: switch beast frontend back to stackful coroutine (rhbz#1639968) - rgw: fix radosgw linkage with WITH_RADOSGW_BEAST_FRONTEND=OFF (rhbz#1639968) * Wed Oct 17 2018 Ken Dreyer 2:12.2.8-17 - ceph-volume tests/functional update dmcrypt test playbooks to use --cluster (rhbz#1621901) - ceph-volume tests/functional/batch update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional/lvm update tests to use 'test' cluster name (rhbz#1621901) - ceph-volume tests/functional update playbooks to use --cluster (rhbz#1621901) - ceph-volume main move out the load_ceph_conf_path to the configuration module (rhbz#1621901) - ceph-volume tests.devices patch configuration.load to avoid raising non-existing ceph.conf (rhbz#1621901) - ceph-volume tests reset the cluster name after every unit test (rhbz#1621901) - ceph-volume tests.functional add custom cluster name to centos7-filestore-create (rhbz#1621901) - ceph-volume lvm.activate load the config always by reading the cluster name from the LV (rhbz#1621901) - ceph-volume configuration be able to set conf.ceph (rhbz#1621901) * Fri Oct 12 2018 Ken Dreyer 2:12.2.8-16 - rgw: RemoteApplier::create_account() applies default quota config (rhbz#1630870) - rgw: add helper functions to apply configured default quotas (rhbz#1630870) - rgw: remove redundant quota logic from admin/user api (rhbz#1630870) * Thu Oct 11 2018 Ken Dreyer 2:12.2.8-15 - rgw: Correct permission evaluation to allow only admin users to work with Roles. (rhbz#1638219) * Mon Oct 08 2018 Ken Dreyer 2:12.2.8-14 - test: add test for mds drop cache command (rhbz#1589967) - mds: command to trim mds cache and client caps (rhbz#1589967) - mds: implement journal flush as asynchronous context execution (rhbz#1589967) - mds: cleanup some asok commands (rhbz#1589967) * Fri Oct 05 2018 Ken Dreyer 2:12.2.8-13 - qa/ceph-volume: add a test for put_object_versioned() (rhbz#1600068) - ceph-volume-client: allow atomic updates for RADOS objects (rhbz#1600068) * Fri Oct 05 2018 Ken Dreyer 2:12.2.8-12 - ceph_volume_client: use integer division for pg_num (rhbz#1579247) - packages.yaml: install py3 compatible cephfs and rados bindings... (rhbz#1579247) - qa: test py2 and py3 for volume client (rhbz#1579247) - qa: make test_volume_client.py py3 compatible (rhbz#1579247) - qa/ceph-volume: allow executing python pyloads using python3 (rhbz#1579247) - cephfs.pyx: add py3 compatibility (rhbz#1579247) - ceph-volume-client: add py3 compatibility (rhbz#1579247) - qa: remove check using method from master (rhbz#1602165) - qa: add qa helper methods from master (rhbz#1602165) - qa: whitelist cap revoke warning (rhbz#1602165) - doc: document cap revoke non-responders client eviction (rhbz#1602165) - test: validate client eviction for cap revoke non-responders (rhbz#1602165) - mds: add counter for tracking cap non-responding clients (rhbz#1602165) - mds: evict clients that do not respond to cap revoke by MDS (rhbz#1602165) - mds: pass timeout argument for fetching late clients (rhbz#1602165) - ceph-fuse: add to selinux profile (rhbz#1631493) - mds: reorganize and curate perf log counters (rhbz#1618523) - mds: show session load average in dump session (rhbz#1618523) - mds: allow request load average decay rate configurable via admin socket (rhbz#1618523) - mds: decay counter for tracking request load average (rhbz#1618523) - mds: add perf counters to track current open/stale sessions (rhbz#1618523) - mds:improve mds perf counters can statistics filesystem operations number and latency (rhbz#1618523) - mds: use monotonic waits in Beacon (rhbz#1628307) - mds: use monotonic clock in beacon (rhbz#1628307) - mds: simplify beacon init (rhbz#1628307) * Fri Oct 05 2018 Ken Dreyer 2:12.2.8-11 - rgw: copy actual stats from the source shards during reshard (rhbz#1636562) * Fri Oct 05 2018 Ken Dreyer 2:12.2.8-10 - rgw: Changing default s3 auth order. (rhbz#1471626) - rgw: Correcting the default value of sts max session duration. (rhbz#1471626) - STS: remove c++17 isms (rhbz#1471626) - rgw: Check for Access Key during STS Auth. (rhbz#1471626) - rgw: POST request handling for boto compliance. (rhbz#1471626) - rgw: Code to make S3 and STS co-exist in same namespace. (rhbz#1471626) - rgw: Adding documentation for STS Lite. (rhbz#1471626) - rgw: Adding ops for V4 authentication. (rhbz#1471626) - rgw: Proper result for XML formatting. (rhbz#1471626) - rgw: STS auth failures will return reject. (rhbz#1471626) - rgw: STS auth changes to make sure that other engines are not aware of session token. (rhbz#1471626) - rgw: Code for GetSessionToken REST API. (rhbz#1471626) - rgw: Perm mask. (rhbz#1471626) - rgw: STS authentication correction. (rhbz#1471626) - rgw: Added code for auth using temp credentials returned by STS. (rhbz#1471626) - rgw: Code for making STS Key configurable. (rhbz#1471626) - rgw: Changed session token format. (rhbz#1471626) - rgw: Incorporating review comments (rhbz#1471626) - rgw: Renamed STS related files. (rhbz#1471626) - rgw: Added code to store arn and policy passed as part of assume role. (rhbz#1471626) - rgw: Minor Fixes. (rhbz#1471626) - rgw: Added code to determine token expiration time using role. (rhbz#1471626) - sts: qualify encode/decode as :: (rhbz#1471626) - rgw: Added max_session_duration and policy parsing to RGW Roles. (rhbz#1471626) - rgw: Adding manager, handler etc for STS. (rhbz#1471626) - rgw: Added code for STS AssumeRole. (rhbz#1471626) - rgw: policy: refactor has_conditional (rhbz#1471626) * Thu Oct 04 2018 Ken Dreyer 2:12.2.8-9 - osd/PrimaryLogPG: fix potential pg-log overtrimming (rhbz#1608060) * Wed Oct 03 2018 Ken Dreyer 2:12.2.8-8 - rgw: bucket link: "bucket move" documentation changes (rhbz#1595379) - rgw: bucket link: "bucket move"; handle bucket names too. (rhbz#1595379) - rgw: bucket link: base "bucket move" (tenant id only) (rhbz#1595379) - rearrange / simplify RGWBucket::link logic - start bucket move support (rhbz#1595379) - rgw: bucket link: use data from bucket_info to rewrite bucket_endpoint. (rhbz#1595379) - rgw: bucket link: simplify use of get bucket info. (rhbz#1595379) - rgw: bucket link: Add ability to name bucket w/ different tenant. (rhbz#1595379) - Add "--bucket-new-name" option to radosgw-admin. (rhbz#1595379) - Add several types to ceph-dencoder. (rhbz#1595379) - rgw: RGWBucket::link supports tenant (rhbz#1595379) * Wed Oct 03 2018 Ken Dreyer 2:12.2.8-7 - rgw: enable override of tcmalloc linkage (rhbz#1635805) * Wed Oct 03 2018 Ken Dreyer 2:12.2.8-6 - rgw: fix chunked-encoding for chunks >1MiB (rhbz#1635259) * Tue Oct 02 2018 Ken Dreyer 2:12.2.8-5 - client: retry remount on dcache invalidation failure (rhbz#1614780) - *: set missing CLOEXEC on opened fds (rhbz#1627553) - msg: set O_NONBLOCK on file status flags (rhbz#1627553) * Tue Oct 02 2018 Ken Dreyer 2:12.2.8-4 - rgw: abort_bucket_multiparts() ignores individual NoSuchUpload errors (rhbz#1628055) - rgw: optimize function abort_bucket_multiparts (rhbz#1628055) - rgw: raise debug level on redundant data sync error messages (rhbz#1626239) * Mon Oct 01 2018 Ken Dreyer 2:12.2.8-3 - librbd: fix refuse to release lock when cookie is the same at rewatch (rhbz#1622697) - mds: cleanup MDSRank::evict_client (rhbz#1623264) - mds: health warning for slow metadata IO (rhbz#1607590) - mds: avoid using g_conf->get_val<...>(...) in hot path (rhbz#1607595) - ceph_volume_client: add delay for MDSMap to be distributed (rhbz#1612378) - client: check for unmounted condition before printing debug output (rhbz#1615394) - mds: more description for failed authpin (rhbz#1628312) - mds: cleanup CDir freezing/frozen tree check (rhbz#1628312) - mds: don't modify filepath when printing (rhbz#1628314) - mds: hold slave request refernce when dumping MDRequestImpl (rhbz#1628314) - osd,mon: increase mon_max_pg_per_osd to 250 (rhbz#1633426) - mds: print is_laggy message once (rhbz#1624527) - mon: test if gid exists in pending for prepare_beacon (rhbz#1624527) - mds: report lagginess at lower debug (rhbz#1614526) - MDSMonitor: note beacons and cluster changes at low dbg level (rhbz#1614526) - mds: use fast dispatch to handle MDSBeacon (rhbz#1614526) - mds: mark beacons as high priority (rhbz#1614526) * Fri Sep 21 2018 Ken Dreyer 2:12.2.8-2 - os/bluestore: limit OSD memory usage by tuning the cache size. (rhbz#1611850) - kv/RocksDBStore: Handle nullptr if clock cache is chosen. (rhbz#1611850) - kv/rocksdb_cache/BinnedLRUCache: Don't promote data to the high pri pool. (rhbz#1611850) - src/kv: Initial import of a custom RocksDB cache. (rhbz#1611850) - os/bluestore: Fix potential uint64_t to int conversion issue. (rhbz#1611850) - common/PriorityCache: First pass at prototype. (rhbz#1611850) - tools: ceph-objectstore-tool: Allow target level as first positional param (rhbz#1599442) - osd/PrimaryLogPG: avoid dereferencing invalid complete_to (rhbz#1608060) - osd/PrimaryLogPG.cc: limit trimming at can_rollback_to (rhbz#1608060) - osd/PGLog.cc: check if complete_to points to log.end() (rhbz#1608060) - src/osd/PG.cc: remove redundant call to trim_log() (rhbz#1608060) - osd/PGLog.cc: use lgeneric_subdout instead of generic_dout (rhbz#1608060) - osd/PGLog: allow pg log trim when complete_to is less than trim_to (rhbz#1608060) - osd: reset complete_to when trimming the log past it (rhbz#1608060) - osd: allow trim() to proceed when there are missing items (rhbz#1608060) - osd: handle trim() during backfill (rhbz#1608060) - osd: print pg log length and trim_to (rhbz#1608060) - osd: make calc_trim_to() independent of min_last_complete_ondisk (rhbz#1608060) - ceph-volume tests.functional comment why not use --destroy when zapping lvs in filestore (rhbz#1628734) - ceph-volume tests.functional use --destroy when zapping lvs in bluestore (rhbz#1628734) - ceph-volume lvm.zap use remove_pv only for physical devices (rhbz#1628734) - ceph-volume tests.lvm.strategies initial filestore validation (rhbz#1541415) - ceph-volume lvm.tests conftest fixtures for custom vgs (rhbz#1541415) - ceph-volume tests.devices.lvm add bluestore strategy cases (rhbz#1541415) - ceph-volume tests verify strategy validators for minimum size (rhbz#1541415) - ceph-volume lvm.batch.filestore allow osds-per-device (rhbz#1541415) - ceph-volume lvm.batch.validators account for osds per device, include collocation (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with MixedType (rhbz#1541415) - ceph-volume lvm.batch.bluestore allow osds-per-device with SingleType (rhbz#1541415) - ceph-volume lvm.batch add --osds-per-device flag, defaulting to 1 (rhbz#1541415) - ceph-volume tests.util verify Disk objects don't change state with divisions (rhbz#1619812) - ceph-volume util.disk fix an issue where Disk objects would mutate on div operations (rhbz#1619812) - ceph-volume util.prepare add a helper to get block.db sizes from ceph.conf (rhbz#1619812) - ceph-volume lvm.batch.bluestore add TODOs for custom fast/slow devices (rhbz#1619812) - -f ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch fix error reporting, Device objects aren't strings (rhbz#1619812) - ceph-volume lvm.batch.bluestore validation and reporting with VG reuse (rhbz#1619812) - ceph-volume lvm.batch.filestore capture SizeAllocationErrors (rhbz#1619812) - ceph-volume lvm.batch make sure data devices don't have existing LVs on bluestore (rhbz#1619812) - ceph-volume lvm.batch use 'ceph' as the cluster name with filestore (rhbz#1619812) - ceph-volume tests/functional update filestore xenial test vars (rhbz#1619812) - ceph-volume tests/functional update bluestore xenial test vars (rhbz#1619812) - ceph-volume tests/functional update filestore centos7 test vars (rhbz#1619812) - ceph-volume tests/functional update bluestore centos7 test vars (rhbz#1619812) - ceph-volume lvm.api use double -f flags when calling pvremove (rhbz#1619812) - ceph-volume tests/functional remove duplicate test playbooks (rhbz#1619812) - ceph-volume tests/functional setup playbook for nvme devices (rhbz#1619812) - ceph-volume tests/functional single (test) playbook to zap and redeploy batch operations (rhbz#1619812) - ceph-volume tests/functional create a noop playbook to allow symlinking always to setup.yml (rhbz#1619812) - ceph-volume tests/functional add mixed-type scenarios to tox.ini (rhbz#1619812) - ceph-volume tests/functional add CentOS7 bluestore mixed-type scenarios (rhbz#1619812) - ceph-volume tests/functional add CentOS7 filestore mixed-type scenarios (rhbz#1619812) * Mon Sep 10 2018 Ken Dreyer - 2:12.2.8-1 - Update to v12.2.8 (rhbz#1595879) * Thu Aug 30 2018 Ken Dreyer 2:12.2.5-42 - rgw: fix injectargs for objecter_inflight_ops (rhbz#1591877) * Tue Aug 28 2018 Ken Dreyer 2:12.2.5-41 - rgw: raise default rgw_curl_low_speed_time to 300 seconds (rhbz#1619189) * Thu Aug 23 2018 Ken Dreyer 2:12.2.5-40 - luminous: mgr/MgrClient: Protect daemon_health_metrics (rhbz#1580300) * Mon Aug 13 2018 Ken Dreyer 2:12.2.5-39 - mds: update MDSRank::cluster_degraded before handling mds failure (rhbz#1611056) - qa/tasks/cephfs: add test for discontinuous mdsmap (rhbz#1601138) - mds: handle discontinuous mdsmap (rhbz#1601138) - mds: introduce MDSMap::get_mds_set_lower_bound() (rhbz#1601138) - mds: avoid traversing all dirfrags when trying to get wrlocks (rhbz#1607583) - mds: increase debug level for dropped client cap msg (rhbz#1607596) - mds: dump recent events on respawn (rhbz#1607601) - mds: print mdsmap processed at low debug level (rhbz#1607606) * Tue Jul 31 2018 Ken Dreyer 2:12.2.5-38 - mon/OSDMonitor: Warn if missing expected_num_objects (rhbz#1592497) - mon/OSDMonitor: Warn when expected_num_objects will have no effect (rhbz#1592497) * Fri Jul 27 2018 Ken Dreyer 2:12.2.5-37 - ceph-volume: Restore SELinux context (rhbz#1609427) * Fri Jul 27 2018 Ken Dreyer 2:12.2.5-36 - rgw: continue enoent index in dir_suggest (rhbz#1609030) - rgw: fix index update in dir_suggest_changes (rhbz#1609030) * Wed Jul 25 2018 Ken Dreyer 2:12.2.5-35 - rgw: set default objecter_inflight_ops = 24576 (rhbz#1591877) - rgw: fix gc may cause a large number of read traffic (rhbz#1601068) - rgw: add curl_low_speed_limit and curl_low_speed_time config to avoid the thread hangs in data sync. (rhbz#1589545) - radosgw-admin: 'sync error trim' loops until complete (rhbz#1600702) - rgw: do not ignore EEXIST in RGWPutObj::execute (rhbz#1537737) - rgw: change default rgw_thread_pool_size to 512 (rhbz#1591822) - rgw: add option for relaxed region enforcement (rhbz#1585307) * Mon Jul 23 2018 Ken Dreyer 2:12.2.5-34 - prometheus: Set the response header for cached response (rhbz#1537505) - prometheus: Reset the time the data was captured (rhbz#1537505) - prometheus: Format metrics in the collect function (rhbz#1537505) - prometheus: Remove the Metrics class (rhbz#1537505) - prometheus: Optimize metrics formatting (rhbz#1537505) - prometheus: Use instance instead of inst variable (rhbz#1537505) - prometheus: Make the cache timeout configurable (rhbz#1537505) - prometheus: Fix metric resets (rhbz#1537505) * Wed Jul 18 2018 Ken Dreyer 2:12.2.5-33 - Allow swift acls to be deleted. (rhbz#1590450) * Thu Jul 12 2018 Ken Dreyer 2:12.2.5-32 - ceph-disk: revise the help message for "prepare" command (rhbz#1572722) * Wed Jul 11 2018 Ken Dreyer 2:12.2.5-31 - client: update inode fields according to issued caps (rhbz#1594283) - mds: fix occasional dir rstat inconsistency between multi-MDSes (rhbz#1594283) - mds: don't report slow request for blocked filelock request (rhbz#1594674) - mds: send cap export message when exporting non-auth caps to auth mds (rhbz#1594457) - common/DecayCounter: set last_decay to current time when decoding decay counter (rhbz#1593322) - mds: include nfiles/nsubdirs of directory inode in MClientCaps (rhbz#1594741) - mds: fix leak of MDSCacheObject::waiting (rhbz#1594307) - mds: fix some memory leak (rhbz#1594307) - mds: properly trim log segments after scrub repairs something (rhbz#1593093) * Wed Jul 11 2018 Ken Dreyer 2:12.2.5-30 - client: fix issue of revoking non-auth caps (rhbz#1594868) - qa/tasks/cephfs: add timeout parameter to kclient umount_wait (rhbz#1594323) - mds: reply session reject for open request from blacklisted client (rhbz#1594323) - mds: set could_consume to false when no purge queue item actually executed (rhbz#1593311) - qa/tasks/cephfs: add test for renewing stale session (rhbz#1593123) - client: invalidate caps and leases when session becomes stale (rhbz#1593123) - client: fix race in concurrent readdir (rhbz#1593123) - mds: properly reconnect client caps after loading inodes (rhbz#1593100) - mds: filter out blacklisted clients when importing caps (rhbz#1593100) - mds: don't add blacklisted clients to reconnect gather set (rhbz#1593100) - mds: combine MDCache::{cap_exports,cap_export_targets} (rhbz#1593100) - mon/MDSMonitor: do not send redundant MDS health messages to cluster log (rhbz#1593031) * Wed Jul 11 2018 Ken Dreyer 2:12.2.5-29 - osd/PrimaryLogPG: rebuild attrs from clients (rhbz#1599859) * Wed Jul 11 2018 Ken Dreyer 2:12.2.5-28 - osd/filestore: Change default filestore_merge_threshold to -10 (rhbz#1591873) * Thu Jun 28 2018 Ken Dreyer 2:12.2.5-27 - qa/workunits/rados: test pool op permissions (rhbz#1593594) - qa/workunits/rbd: test self-managed snapshot create/remove permissions (rhbz#1593594) - pybind/rados: new methods for manipulating self-managed snapshots (rhbz#1593594) - mon/OSDMonitor: enforce caps for all remaining pool ops (rhbz#1593594) - mon/OSDMonitor: enforce caps when creating/deleting unmanaged snapshots (rhbz#1593594) * Tue Jun 26 2018 Ken Dreyer 2:12.2.5-26 - rgw: Silence maybe-uninitialized false positives (rhbz#1580497) - rgw: bucket sync only allows one olh op at a time (rhbz#1580497) - rgw: bucket sync updates high marker for squashed entries (rhbz#1580497) - rgw: CompleteMultipart applies its olh_epoch (rhbz#1580497) - rgw: bucket sync allows OP_ADD on versioned objects (rhbz#1580497) - rgw: bucket sync doesn't squash over olh entries (rhbz#1580497) - rgw: bucket sync only provides an epoch for olh operations (rhbz#1580497) - rgw: SyncModule::sync_object() takes optional olh epoch (rhbz#1580497) - rgw: fetch_remote_obj() applies olh even if object is current (rhbz#1580497) - rgw: fetch_remote_obj() takes optional olh epoch (rhbz#1580497) - rgw: Object::Write::_do_write_meta() takes optional olh epoch (rhbz#1580497) - test/rgw: test incremental sync of acls on versioned object (rhbz#1580497) * Tue Jun 05 2018 Ken Dreyer 2:12.2.5-25 - mgr: expose avg data for long running avgs (rhbz#1554281) * Tue Jun 05 2018 Ken Dreyer 2:12.2.5-24 - rgw: aws4 auth supports PutBucketRequestPayment (rhbz#1569694) * Mon Jun 04 2018 Ken Dreyer 2:12.2.5-23 - rgw: update ObjectCacheInfo::time_added on overwrite (rhbz#1585750) - rgw: ObjectCache::put avoids separate find + insert (rhbz#1585750) * Fri Jun 01 2018 Ken Dreyer 2:12.2.5-22 - librbd: commit IO as safe when complete if writeback cache is disabled (rhbz#1585192) * Fri Jun 01 2018 Ken Dreyer 2:12.2.5-21 - librbd: commit IO as safe when complete if writeback cache is disabled (rhbz#1585192) * Fri Jun 01 2018 Ken Dreyer 2:12.2.5-20 - client: delay dentry trimming until after cap traversal (rhbz#1585031) - qa: test for trim_caps segfault for trimmed dentries (rhbz#1585031) - client: avoid freeing inode when it contains TX buffer heads (rhbz#1585029) - osdc/ObjectCacher: allow discard to complete in-flight writeback (rhbz#1585029) - mds: tighten conditions of calling rejoin_gather_finish() (rhbz#1585023) - mds: avoid calling rejoin_gather_finish() two times successively (rhbz#1585023) * Wed May 30 2018 Ken Dreyer 2:12.2.5-19 - Modified mgr_module-Deal-with-long-running-avgs-properly.patch (rhbz#1554281) * Wed May 30 2018 Ken Dreyer 2:12.2.5-18 - doc/prometheus: Mention the long running avg types (rhbz#1554281) - prometheus: Expose sum/count pairs for avgs (rhbz#1554281) - mgr_module: Deal with long running avgs properly (rhbz#1554281) - mgr: Expose avgcount for long running avgs (rhbz#1554281) - filestore: Raise the priority of two counters (rhbz#1554281) - rgw: add configurable AWS-compat invalid range get behavior (rhbz#1583835) * Wed May 30 2018 Ken Dreyer 2:12.2.5-17 - auth/cephx/CephxProtocol: better random - cephx: update docs - auth/cephx: add authorizer challenge (CVE-2018-1128) - mon,msg: implement cephx_*_require_version options - auth/cephx/CephxSessionHandler: implement CEPHX_V2 calculation mode (CVE-2018-1129) - include/ceph_features: define CEPHX2 feature - msg/async,simple: include MGR as service when applying cephx settings * Fri May 25 2018 Ken Dreyer 2:12.2.5-16 - osd/osd_types: fix object_stat_sum_t decode (rhbz#1581564) * Wed May 23 2018 Ken Dreyer 2:12.2.5-15 - rgw: require --yes-i-really-mean-it to run radosgw-admin orphans find (rhbz#1573657) - mds: properly check auth subtree count in MDCache::shutdown_pass() (rhbz#1578142) - mds: don't discover inode/dirfrag when mds is in 'starting' state (rhbz#1578142) * Wed May 23 2018 Ken Dreyer 2:12.2.5-14 - rgw: require --yes-i-really-mean-it to run radosgw-admin orphans find (rhbz#1573657) - mds: properly check auth subtree count in MDCache::shutdown_pass() (rhbz#1566016) - mds: don't discover inode/dirfrag when mds is in 'starting' state (rhbz#1566016) * Tue May 22 2018 Ken Dreyer 2:12.2.5-13 - selinux: Allow ceph to block suspend (rhbz#1565416) - selinux: Allow ceph to execute ldconfig (rhbz#1565416) - prometheus: Fix order of occupation values (rhbz#1554281) * Mon May 21 2018 Ken Dreyer 2:12.2.5-12 - rgw: require --yes-i-really-mean-it to run radosgw-admin orphans find (rhbz#1573657) * Mon May 21 2018 Ken Dreyer 2:12.2.5-11 - rgw: require --yes-i-really-mean-it to run radosgw-admin orphans find (rhbz#1573656) * Tue May 15 2018 Ken Dreyer 2:12.2.5-10 - qa/cephfs: test if evicted client unmounts without hanging (rhbz#1576861) - qa/tasks: allow custom timeout for umount_wait() (rhbz#1576861) - client: don't hang when MDS sessions are evicted (rhbz#1576861) * Tue May 15 2018 Ken Dreyer 2:12.2.5-9 - mds: kick rdlock if waiting for dirfragtreelock (rhbz#1566016) - mds: properly check auth subtree count in MDCache::shutdown_pass() (rhbz#1566016) - mds: don't discover inode/dirfrag when mds is in 'starting' state (rhbz#1566016) - qa: get status to handle older api (rhbz#1572555) - qa: backport helper functions (rhbz#1572555) - mds: handle imported session race (rhbz#1572555) - mds: check for session import race (rhbz#1572555) * Mon May 14 2018 Ken Dreyer 2:12.2.5-8 - doc/mgr/prometheus: add instructions to correlate metrics (rhbz#1554281) - pybind/mgr/prometheus: unify label names, move away from "id" (rhbz#1554281) - prometheus: Expose number of degraded/misplaced/unfound objects (rhbz#1554281) - mgr: Expose pg_sum in pg_summary (rhbz#1554281) - prometheus: Handle the TIME perf counter type metrics (rhbz#1554281) - prometheus: Fix prometheus shutdown/restart (rhbz#1554281) * Fri May 11 2018 Ken Dreyer 2:12.2.5-7 - rgw-admin: support for processing all gc objects including unexpired. (rhbz#1548564) - radosgw-admin: rename 'bucket sync status' to 'bucket sync markers' (rhbz#1466956) - doc: update radosgw-admin.rst and help.t about data sync status (rhbz#1466956) - rgw: display data sync recovering shards in radosgw-admin sync status (rhbz#1466956) - rgw: add RGWReadDataSyncRecoveringShardsCR to read recovering shards (rhbz#1466956) - qa/workunits/rados/test_large_omap_detection: Scrub pgs instead of OSDs (rhbz#1569192) * Thu May 10 2018 Ken Dreyer 2:12.2.5-6 - rgw-admin: support for processing all gc objects including unexpired. (rhbz#1548564) - radosgw-admin: rename 'bucket sync status' to 'bucket sync markers' (rhbz#1466956) - doc: update radosgw-admin.rst and help.t about data sync status (rhbz#1466956) * Thu May 10 2018 Ken Dreyer 2:12.2.5-5 - restful: Fix jsonification (rhbz#1506102) - restful: Set the value of the argument (rhbz#1506102) - restful: Support auid pool argument (rhbz#1506102) - qa/restful: Test pg_num/pgp_num modifications (rhbz#1506102) * Wed May 09 2018 Ken Dreyer 2:12.2.5-4 - rgw: use vector for remove_tags in gc aio (rhbz#1548564) - rgw: gc aio, replace lists with other types (rhbz#1548564) - rgw: make gc concurrenct io size configurable (rhbz#1548564) - rgw: trim gc index using aio (rhbz#1548564) - rgw: use a single gc io manager for all shards (rhbz#1548564) - rgw: use aio for gc processing (rhbz#1548564) - rgw-admin: support for processing all gc objects including unexpired. (rhbz#1548564) * Wed May 09 2018 Ken Dreyer 2:12.2.5-3 - radosgw-admin: add pretty 'bucket sync status' command (rhbz#1466956) - rgw: expose struct bucket_index_marker_info in header (rhbz#1466956) - rgw: rgw_bucket_sync_status takes bucket info (rhbz#1466956) - radosgw-admin: rename 'bucket sync status' to 'bucket sync markers' (rhbz#1466956) - rgw: translate the state in rgw_data_sync_marker (rhbz#1466956) - doc: update radosgw-admin.rst and help.t about data sync status (rhbz#1466956) - rgw: add --shard-id for data sync status (rhbz#1466956) - rgw: read behind bucket shards of a specified data log shard (rhbz#1466956) - rgw: display data sync recovering shards in radosgw-admin sync status (rhbz#1466956) - rgw: add RGWReadDataSyncRecoveringShardsCR to read recovering shards (rhbz#1466956) - rgw: display errors of object sync failed in sync error list (rhbz#1466956) - rgw: add lagging shard ids in rgw sync status (rhbz#1466956) - rgw: RGWRadosGetOmapKeysCR uses omap_get_keys2 (rhbz#1466956) - rgw: RGWRadosGetOmapKeysCR uses completion return code (rhbz#1466956) - qa: ignore version in auth metadata comp (rhbz#1566194) - ceph_volume_client: allow volumes without namespace isolation (rhbz#1566194) - mon/PGMap: Summarise OSDs in blocked/stuck requests (rhbz#1576204) - qa/workunits/rados/test_large_omap_detection: Scrub pgs instead of OSDs (rhbz#1569192) - osd: Add a flag to ScrubMap to signal check needed (rhbz#1569192) - osd: Warn about objects with too many omap entries (rhbz#1569192) - osd: Move creation of 'master_set' to scrub_compare_maps (rhbz#1569192) * Wed May 09 2018 Ken Dreyer - 2:12.2.5-2 - Drop ExclusiveArch x86_64 (rhbz#1563510) * Tue May 08 2018 Ken Dreyer 2:12.2.5-1 - Update to v12.2.5 (rhbz#1571353) - rgw: ability to list bucket contents in unsorted order for efficiency (rhbz#1548563) - rgw: consolidate code that implements hashing algorithms (rhbz#1548563) - rgw: add buffering filter to compression for fetch_remote_obj (rhbz#1501380) - ceph-disk: default to --filestore (rhbz#1572722) * Wed May 02 2018 Ken Dreyer 2:12.2.4-10 - rgw: raise log level on coroutine shutdown errors (rhbz#1499324) - rgw: fix bi_list to reset is_truncated flag if it skips entires (rhbz#1554221) - rgw: fix use of libcurl with empty header values (rhbz#1561531) * Thu Apr 26 2018 Ken Dreyer 2:12.2.4-9 - fuse: wire up fuse_ll_access (rhbz#1560575) - client: remove getgroups_cb (rhbz#1560575) - client: remove _getgrouplist (rhbz#1560575) - client: have init_gids just set alloced_gids to true (rhbz#1560575) - client: remove init_groups (rhbz#1560575) - fuse: handle errors appropriately when getting group list (rhbz#1560575) * Thu Apr 26 2018 Ken Dreyer 2:12.2.4-8 - client: flush the mdlog in _fsync before waiting on unstable reqs (rhbz#1566467) - mds: don't try exporting subdir if dirfrag is already being exported (rhbz#1554593) - mds: always pass current time to MDBalancer::{hit_inode,hit_dir} (rhbz#1554593) - Make MDS evaluates the overload situation with the same criterion (rhbz#1554593) - discard the mdsload clear after prep_rebalance in case we want to export it for debugging (rhbz#1554593) - make sure that MDBalancer uses heartbeat info from the same epoch (rhbz#1554593) - mds: don't cleanup request that has pending remote authpin/wrlock/xlock (rhbz#1559749) * Thu Apr 26 2018 Ken Dreyer 2:12.2.4-7 - client: flush the mdlog in _fsync before waiting on unstable reqs (rhbz#1566467) - client: add ceph_ll_sync_inode (rhbz#1566467) - mds: limit run time of load balancer (rhbz#1554593) - mds: add list to track recently used sub-directories (rhbz#1554593) - mds: calculate other mds' last_epoch_under locally (rhbz#1554593) - mds: cleanup mds_load map access/update (rhbz#1554593) - mds: check export pin when choosing dirfrags for exporting (rhbz#1554593) - mds: optimize MDBalancer::find_exports() (rhbz#1554593) - mds: avoid creating unnecessary subtrees during load balance (rhbz#1554593) - mds: mds: optimize MDBalancer::try_rebalance() (rhbz#1554593) - mds: don't try exporting subdir if dirfrag is already being exported (rhbz#1554593) - mds: don't try exporting dirfrags under mds's own mdsdir (rhbz#1554593) - mds: cleanup MDBalancer::try_rebalance() (rhbz#1554593) - mds: always pass current time to MDBalancer::{hit_inode,hit_dir} (rhbz#1554593) - mds: remove unused MDBalancer::export_empties() (rhbz#1554593) - mds: adjust subtree popularity after rename (rhbz#1554593) - mds: fix request rate calculation (rhbz#1554593) - simplify mds overload judgement logic (rhbz#1554593) - Make MDS evaluates the overload situation with the same criterion (rhbz#1554593) - mds: add asok command that dumps metadata popularity (rhbz#1554593) - discard the mdsload clear after prep_rebalance in case we want to export it for debugging (rhbz#1554593) - make sure that MDBalancer uses heartbeat info from the same epoch (rhbz#1554593) - make popular counter decay at proper rate (rhbz#1554593) - mds: various fixes for backport (rhbz#1531679) - mds: convert to boost::string_view (rhbz#1531679) - test/encoding: refactor to avoid escaping shell magic (rhbz#1531679) - mds: minor refactor of SimpleLock (rhbz#1531679) - mds: track Capability in mempool (rhbz#1531679) - mds: move CInode container members to mempool (rhbz#1531679) - mds: move CDentry container members to mempool (rhbz#1531679) - mds: move CDir container members to mempool (rhbz#1531679) - mds: put MDSCacheObject compact_map in mempool (rhbz#1531679) - common: use size_t for object size (rhbz#1531679) - mds: convert to allocator agnostic string_view (rhbz#1531679) - mds: simplify initialization (rhbz#1531679) - compact_*: support mempool allocated containers (rhbz#1531679) - mds: always handle SESSION_REQUEST_RENEWCAPS messages (rhbz#1559749) - mds: don't cleanup request that has pending remote authpin/wrlock/xlock (rhbz#1559749) - mds: reset connection's priv when marking down connection (rhbz#1559749) - mds: fix session reference leak (rhbz#1559749) - fuse: wire up fuse_ll_access (rhbz#1560575) * Thu Apr 05 2018 Ken Dreyer 2:12.2.4-6 - Drop patch that reverted PR #18782 (rhbz#1550026) * Thu Apr 05 2018 Ken Dreyer 2:12.2.4-5 - mds: bump mds_log_max_segments for trim buffer (rhbz#1507629) * Mon Mar 19 2018 Ken Dreyer 2:12.2.4-4 - qa: ignore bad backtrace cluster wrn (rhbz#1518730) - qa/cephfs: Add tests to validate scrub functionality (rhbz#1518730) - cephfs: Add option to load invalid metadata from disk (rhbz#1518730) - cephfs: Reset scrub data when inodes move (rhbz#1518730) * Thu Mar 15 2018 Ken Dreyer 2:12.2.4-3 - Revert "Merge pull request #18782 from ukernel/luminous-21985" (rhbz#1550026) * Wed Mar 14 2018 Ken Dreyer 2:12.2.4-2 - PrimaryLogPG: only trim up to osd_pg_log_trim_max entries at once (rhbz#1554544) - PG, PrimaryLogPG: trim log and rollback info for error log entries (rhbz#1554544) - tools: Add pg log trim command to ceph-objectstore-tool (rhbz#1552094) * Mon Mar 12 2018 Ken Dreyer 2:12.2.4-1 - Update to v12.2.4 (rhbz#1548067 rhbz#1325322 rhbz#1489866 rhbz#1493418 rhbz#1506438 rhbz#1507136 rhbz#1507629 rhbz#1538317 rhbz#1541424 rhbz#1543879 rhbz#1544680) * Thu Mar 08 2018 Ken Dreyer 2:12.2.1-46 - rgw: make init env methods return an error (rhbz#1547673) * Tue Feb 27 2018 Ken Dreyer 2:12.2.1-45 - osd: Only scan for omap corruption once (rhbz#1549293) - tools: Add --backend option to ceph-osdomap-tool default to rocksdb (rhbz#1549293) - osd, mds, tools: drop the invalid comment and some unused variables (rhbz#1549293) - tools: Add the ability to reset state to v2 (rhbz#1549293) - tools: Show DB state information (rhbz#1549293) * Wed Jan 24 2018 Ken Dreyer 2:12.2.1-44 - rgw: Fix swift object expiry not deleting objects (rhbz#1530673) * Thu Jan 11 2018 Ken Dreyer 2:12.2.1-43 - config: lower default omap entries recovered at once (rhbz#1505559) * Wed Jan 10 2018 Ken Dreyer 2:12.2.1-42 - rgw: dont log EBUSY errors in 'sync error list' (rhbz#1530665) * Mon Jan 08 2018 Ken Dreyer 2:12.2.1-41 - rgw: put bucket policy panics RGW process (rhbz#1531673) - rgw: Plumb refresh logic into object cache (rhbz#1530801) - rgw: Add expiration in the object cache (rhbz#1530801) - rgw: retry CORS put/delete operations on ECANCELLED (rhbz#1530801) - rgw: Expire entries in bucket info cache (rhbz#1530801) - rgw: Handle stale bucket info in RGWDeleteBucketPolicy (rhbz#1530801) - rgw: Handle stale bucket info in RGWPutBucketPolicy (rhbz#1530801) - rgw: Handle stale bucket info in RGWDeleteBucketWebsite (rhbz#1530801) - rgw: Handle stale bucket info in RGWSetBucketWebsite (rhbz#1530801) - rgw: Handle stale bucket info in RGWSetBucketVersioning (rhbz#1530801) - rgw: Handle stale bucket info in RGWPutMetadataBucket (rhbz#1530801) - rgw: Add retry_raced_bucket_write (rhbz#1530801) - rgw: Add try_refresh_bucket_info function (rhbz#1530801) - rgw: fix rewrite a versioning object create a new object bug (rhbz#1531279) - rgw: fix chained cache invalidation to prevent cache size growth above the rgw_cache_lru_size limit (rhbz#1530670) - RGW: S3 POST policy should not require Content-Type (rhbz#1530775) - rgw: fix BZ 1500904, Stale bucket index entry remains after object deletion (rhbz#1530784) - ceph.in: pass RADOS inst to LibCephFS (rhbz#1491170) * Wed Nov 22 2017 Ken Dreyer 2:12.2.1-40 - rgw: set num_shards on 'radosgw-admin data sync init' (rhbz#1512092) - dencoder/rgw: expose rgw sync status types (rhbz#1512092) * Thu Nov 02 2017 Ken Dreyer 2:12.2.1-39 - Revert "rgw_file: disable FLAG_EXACT_MATCH enforcement" (rhbz#1509035) * Thu Nov 02 2017 Ken Dreyer 2:12.2.1-38 - rgw: add missing current_history initialization (rhbz#1508322) - rgw: init oldest period after setting run_sync_thread (rhbz#1508322) * Wed Nov 01 2017 Ken Dreyer 2:12.2.1-37 - rgw:fix list objects with marker when bucket is enable versioning (rhbz#1508615) * Wed Nov 01 2017 Ken Dreyer 2:12.2.1-36 - rgw: remove placement_rule from cls_user_bucket_entry (rhbz#1506239) - rgw: remove placement_rule from rgw_link_bucket() (rhbz#1506239) - rgw: take placement_rule from bucket info in update_containers_stats (rhbz#1506239) - cmake/cls: add install() for ceph_test_cls_log (rhbz#1507650) - qa: add ceph_test_cls_log to cls workunit (rhbz#1507650) - osd: add processed_subop_count for cls_cxx_subop_version() (rhbz#1507650) * Tue Oct 31 2017 Ken Dreyer 2:12.2.1-35 - rgw: fix extra_data_len handling in PutObj filters (rhbz#1505485) * Mon Oct 30 2017 Ken Dreyer 2:12.2.1-34 - rgw_file: set s->obj_size from bytes_written (rhbz#1507128) * Mon Oct 30 2017 Ken Dreyer 2:12.2.1-33 - rgw: Fix dereference of empty optional (rhbz#1503280) * Fri Oct 27 2017 Ken Dreyer 2:12.2.1-32 - Update "cls/journal: fixed possible infinite loop in expire_tags" patch (rhbz#1501374) * Fri Oct 27 2017 Ken Dreyer 2:12.2.1-31 - cls/journal: fixed possible infinite loop in expire_tags (rhbz#1501374) * Thu Oct 26 2017 Ken Dreyer 2:12.2.1-30 - rgw: include SSE-KMS headers in encrypted upload response (rhbz#1496460) * Wed Oct 25 2017 Ken Dreyer 2:12.2.1-29 - rgw: dont reuse stale RGWObjectCtx for get_bucket_info() (rhbz#1506239) * Wed Oct 25 2017 Ken Dreyer 2:12.2.1-28 - Drop "radosgw: fix awsv4 header line sort order." (rhbz#1498323) * Wed Oct 25 2017 Ken Dreyer 2:12.2.1-27 - You can find the problem do like this: (rhbz#1505504) * Tue Oct 24 2017 Ken Dreyer 2:12.2.1-26 - rbd-mirror: strip environment/CLI overrides for remote cluster (rhbz#1505496) * Mon Oct 23 2017 Ken Dreyer 2:12.2.1-25 - buffer: remove list _mempool member (rhbz#1505460) - buffer: allow mempool to be passed into raw* ctors and create methods (rhbz#1505460) - messages/MOSDMap: do compat reencode of crush map, too (rhbz#1505365) * Mon Oct 23 2017 Ken Dreyer 2:12.2.1-24 - osdc/Objecter: skip sparse-read result decode if bufferlist is empty (rhbz#1496674) - osdc/Objecter: delay initialization of hobject_t in _send_op (rhbz#1496674) - common/common_init: disable ms subsystem log gathering for clients (rhbz#1496674) * Thu Oct 19 2017 Ken Dreyer 2:12.2.1-23 - rgw_file: disable FLAG_EXACT_MATCH enforcement (rhbz#1489452) - rgw_file: implement variant offset readdir processing (rhbz#1489452) * Thu Oct 19 2017 Ken Dreyer 2:12.2.1-22 - os/bluestore: move several buffer{ptr,list}s into cache_other mempool (rhbz#1504179) - os/bluestore: put new attrs in correct mempool too (rhbz#1504179) - os/bluestore: put attrs in mempool (rhbz#1504179) - buffer: add ptr::[try_]reassign_to_mempool (rhbz#1504179) - os/bluestore: add bluestore_bluefs_min_free (rhbz#1504179) - os/bluestore/BlueFS: crash on enospc (rhbz#1504179) - os/bluestore: use normal Context for async deferred_try_submit (rhbz#1504179) - os/bluestore: wake kv thread when blocking on deferred_bytes (rhbz#1504179) - osd: make shutdown debug conditional (and off by default) (rhbz#1504179) - osd: debug_bluestore on shutdown (rhbz#1504179) - os/bluestore: dump stray cache content on shutdown (rhbz#1504179) - os/bluestore: ignore 0x2000~2000 extent oddity from luminous upgrade (rhbz#1504179) - os/bluestore: use min_alloc_size for freelist resolution (rhbz#1504179) - os/bluestore: align bluefs_extents to min_alloc_size (rhbz#1504179) - os/bluestore/FreelistManager: create: accept min alloc size (rhbz#1504179) - os/bluestore: mkfs: choose min_alloc_size earlier (rhbz#1504179) - os/bluestore: require that bluefs_alloc_size be multiple of min_alloc_size (rhbz#1504179) - os/bluestore: allocate entire write in one go (rhbz#1504179) - ceph-bluestore-tool: better default logging; --log-file and --log-level options (rhbz#1504179) - ceph-bluestore-tool: add 'bluefs-bdev-expand' to expand wal or db usage (rhbz#1504179) - ceph-bluestore-tool: add 'bluefs-bdev-sizes' command (rhbz#1504179) - os/ObjectStore: add repair interface (rhbz#1504179) - ceph-objectstore-tool: Make pg removal require --force (rhbz#1504179) - ceph-bluestore-tool: factor out bluefs mount (rhbz#1504179) - os/bluestore: repair 21089 on freelist init (rhbz#1504179) - os/bluestore: fsck: remove fsck repair for 21089 (rhbz#1504179) - os/bluestore/KernelDevice: hack to inject bad device size (rhbz#1504179) - osd: make the PG's SORTBITWISE assert a more generous shutdown (rhbz#1504177) - src/messages/MOSDMap: reencode OSDMap for older clients (rhbz#1504172) - mon/MgrMonitor: read cmd descs if empty on update_from_paxos() (rhbz#1504171) - mon/MgrMonitor: populate on-disk cmd descs if empty on upgrade (rhbz#1504171) - rbd-mirorr: does not start on reboot (rhbz#1504166) * Wed Oct 18 2017 Ken Dreyer 2:12.2.1-21 - rgw_file: explicit NFSv3 open() emulation (rhbz#1492582) * Tue Oct 17 2017 Ken Dreyer 2:12.2.1-20 - rgw: Remove assertions in IAM Policy (rhbz#1503280) * Tue Oct 17 2017 Ken Dreyer 2:12.2.1-19 - rgw: disable dynamic resharding in multisite environment (rhbz#1498474) - cls/rgw: increment header version to avoid overwriting bilog entries (rhbz#1501408) * Tue Oct 17 2017 Ken Dreyer 2:12.2.1-18 - test/rgw: add test_multipart_object_sync (rhbz#1501408) - cls/rgw: increment header version to avoid overwriting bilog entries (rhbz#1501408) * Mon Oct 16 2017 Ken Dreyer 2:12.2.1-17 - cls/journal: fixed possible infinite loop which could kill the OSD (rhbz#1501374) - test: ceph_test_cls_journal was dropped when converting to cmake (rhbz#1501374) * Mon Oct 16 2017 Ken Dreyer 2:12.2.1-16 - mds: prevent trim count from underflowing (rhbz#1502178) - common/options: enable multiple rocksdb compaction threads for filestore (rhbz#1502763) - common/options.cc: Set Filestore rocksdb compaction readahead option. (rhbz#1502763) - doc/rados/operations/health-checks: fix TOO_MANY_PGS discussion (rhbz#1489064) - mon: rename mon_pg_warn_max_per_osd -> mon_max_pg_per_osd (rhbz#1489064) - qa/standalong/mon/osd-pool-create: fewer pgs in test (rhbz#1489064) - mon/OSDMonitor: assume a minimum cluster size of 3 (rhbz#1489064) - mon/OSDMonitor: prevent pg_num from exceeding mon_pg_warn_max_per_osd (rhbz#1489064) - common/options: reduce mon_pg_warn_max_per_osd to 200 (rhbz#1489064) - rgw: calculate and print Swift's X-Account-Storage-Policy-* headers. (rhbz#1436386) - rgw: bucket linking stores also the info about a placement rule. (rhbz#1436386) - rgw: convey placement rule in RGWBucketEnt and cls_user_bucket_entry. (rhbz#1436386) - rgw: clean-up around and implement the move semantics in RGWBucketEnt. (rhbz#1436386) - rgw: enforce the std::move semantic across the path of RGWUserBuckets. (rhbz#1436386) - rgw: {end_}marker params are handled during Swift's reversed account listing. (rhbz#1436386) - rgw: add basic support for Swift's reversed account listings. (rhbz#1436386) - rgw: abstract partial data processing in RGWListBuckets. (rhbz#1436386) - rgw: rename the configurables for metadata limits to start with rgw_. (rhbz#1436386) - rgw: return proper message when deleting non-empty Swift's container. (rhbz#1436386) - rgw: seed::get_torrent_file returns errors in the usual way. (rhbz#1436386) - rgw: add support for max_meta_count of Swift API's /info. (rhbz#1436386) - rgw: Swift API returns 400 Bad Request on too long container names. (rhbz#1436386) - rgw: honor custom rgw_err::message in Swift's error handling. (rhbz#1436386) - rgw: add support for max_meta_value_length of Swift API's /info. (rhbz#1436386) - rgw: refactor rgw_get_request_metadata to reduce the number of dynallocs. (rhbz#1436386) - rgw: add support for max_meta_name_length of Swift API's /info. (rhbz#1436386) - rgw: list_objects() honors end_marker regardless of namespace. (rhbz#1436386) - osdc/ObjectCacher: limit memory usage of BufferHead (rhbz#1490814) - mds: keep CInode::STATE_QUEUEDEXPORTPIN state when exporting inode (rhbz#1500874) * Fri Oct 13 2017 Ken Dreyer 2:12.2.1-15 - rgw: 'zone placement' commands validate compression type (rhbz#1501389) * Wed Oct 11 2017 Ken Dreyer 2:12.2.1-14 - rgw: RGWUser::init no longer overwrites user_id (rhbz#1489391) * Wed Oct 11 2017 Ken Dreyer 2:12.2.1-13 - ceph-disk: retry on OSError (rhbz#1494543) - ceph-disk: factor out the retry logic into a decorator (rhbz#1494543) * Tue Oct 10 2017 Ken Dreyer 2:12.2.1-12 - rgw: encryption add exception handling for from_base64 on bad input (rhbz#1496460) - rgw: encryption fix the issue when not provide encryption mode (rhbz#1496460) - rgw: encryption SSE-KMS add the details of error msg in response (rhbz#1496460) - rgw: encryption SSE-C add the details of error msg in response (rhbz#1496460) * Tue Oct 10 2017 Ken Dreyer 2:12.2.1-11 - librbd: refresh image after applying new/removing old metadata (rhbz#1493977) * Thu Oct 05 2017 Ken Dreyer 2:12.2.1-10 - osd: additional protection for out-of-bounds EC reads (rhbz#1498611) - RGW: Multipart upload may double the quota (rhbz#1498668) - RGW: fix a bug about inconsistent unit of comparison (rhbz#1498668) - rgw: release cls lock if taken in RGWCompleteMultipart (rhbz#1497853) - librbd: avoid dynamically refreshing non-atomic configuration settings (rhbz#1493977) - librbd: notify watcher when updating image metadata (rhbz#1493977) - rbd-mirror: sync image metadata when transfering remote image (rhbz#1493977) - librbd: snapshots should be created/removed against data pool (rhbz#1497332) - radosgw: fix awsv4 header line sort order. (rhbz#1498323) * Mon Oct 02 2017 Ken Dreyer 2:12.2.1-9 - selinux: Allow getattr on lnk sysfs files (rhbz#1493750) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-8 - rbd: mirror "get" actions now have cleaner error messages (rhbz#1492785) - cls/rbd: avoid recursively listing the watchers on rbd_mirroring object (rhbz#1492785) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-7 - rbd-mirror: ensure forced-failover cannot result in sync state (rhbz#1495521) - rbd-mirror: forced-promotion should interrupt replay delay to shut down (rhbz#1495521) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-6 - rgw: Check payment operations in policy (rhbz#1490278) - rgw: Check bucket versioning operations in policy (rhbz#1490278) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-5 - rgw: Check bucket GetBucketLocation in policy (rhbz#1493934) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-4 - rgw: Check bucket Website operations in policy (rhbz#1493896) * Thu Sep 28 2017 Ken Dreyer 2:12.2.1-3 - rgw: Check bucket CORS operations in policy (rhbz#1494140) - ceph_volume_client: perform snapshot operations in (rhbz#1494980) * Wed Sep 27 2017 Ken Dreyer 2:12.2.1-2 - rgw_file: fix write error when the write offset overlaps. (rhbz#1496585) * Wed Sep 27 2017 Ken Dreyer - 2:12.2.1-1 - Update to v12.2.1 (rhbz#1472464 rhbz#1472465 rhbz#1477311 rhbz#1464976 rhbz#1492865 rhbz#1489461 rhbz#1480182 rhbz#1485783 rhbz#1468031) * Wed Sep 06 2017 Ken Dreyer 2:12.2.0-2 - ceph-volume tests add new ceph_* ansible dev variables required (centos) (rhbz#1485011) - ceph-volume tests add new ceph_* ansible dev variables required (xenial) (rhbz#1485011) - ceph-volume util create a disk utility for blkid operations (rhbz#1485011) - ceph-volume lvm.prepare store the blkid uuid of a partition journal (rhbz#1485011) - ceph-volume lvm.activate use the partuuid of a partition to link the journal (rhbz#1485011) - ceph-volume tests update the ansible version for functional/tox.ini (rhbz#1485011) - ceph-volume tests add pv* related unit tests (rhbz#1485011) - ceph-volume lvm.api include lv_uuid as output fields (rhbz#1485011) - ceph-volume lvm.activate always update the link to the journal (rhbz#1485011) - ceph-volume lvm.activate retrieve the journal uuid if journal is a device (rhbz#1485011) - ceph-volume exceptions create a specifc error for multiple pvs (rhbz#1485011) - ceph-volume lvm.prepare make a journal a pv, use uuids always (rhbz#1485011) - ceph-volume lvm.api create the PVolumes class and helpers (rhbz#1485011) - ceph-volume lvm.api create the PVolume class (rhbz#1485011) - ceph-volume lvm.api add a helper to create pvs (rhbz#1485011) * Tue Aug 29 2017 Ken Dreyer - 2:12.2.0-1 - Update to v12.2.0 (rhbz#1484002 rhbz#1478599) * Mon Aug 21 2017 Ken Dreyer - 2:12.1.4-2 - ceph-fuse depends on fuse (rhbz#1479138) * Tue Aug 15 2017 Ken Dreyer - 2:12.1.4-1 - latest luminous rc (rhbz#1479797 rhbz#1464955 rhbz#1461041 rhbz#1451936 rhbz#1455711 rhbz#1305670 rhbz#1464981 rhbz#1332083 rhbz#1470837) * Wed Aug 02 2017 Ken Dreyer - 2:12.1.2-1 - latest luminous rc (rhbz#1473386) * Thu Jul 20 2017 Ken Dreyer 2:12.1.1-2 - rgw_file: permit dirent offset computation (rhbz#1473386) * Tue Jul 18 2017 Ken Dreyer - 2:12.1.1-1 - luminous rc2 (rhbz#1470865) * Thu Jul 06 2017 Ken Dreyer - 1:12.1.0-1 - luminous rc1 * Fri May 19 2017 Ken Dreyer - 1:12.0.3-1 - initial luminous pre-release package