From 483eb2f56657e8e7f419ab1a4fab8dce9ade8609 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 20:24:20 +0200 Subject: Adding upstream version 14.2.21. Signed-off-by: Daniel Baumann --- doc/.gitignore | 2 + doc/CMakeLists.txt | 3 + doc/README.md | 0 doc/_ext/ceph_releases.py | 202 + doc/_ext/edit_on_github.py | 43 + doc/_static/js/ceph.js | 41 + doc/_templates/layout.html | 5 + doc/_templates/page.html | 21 + doc/_templates/smarttoc.html | 16 + doc/_themes/ceph/static/nature.css_t | 314 + doc/_themes/ceph/theme.conf | 4 + doc/api/index.rst | 45 + doc/api/libcephfs-java.rst | 18 + doc/architecture.rst | 1634 + doc/ceph-volume/index.rst | 83 + doc/ceph-volume/intro.rst | 84 + doc/ceph-volume/inventory.rst | 17 + doc/ceph-volume/lvm/activate.rst | 113 + doc/ceph-volume/lvm/batch.rst | 129 + doc/ceph-volume/lvm/create.rst | 24 + doc/ceph-volume/lvm/encryption.rst | 86 + doc/ceph-volume/lvm/index.rst | 28 + doc/ceph-volume/lvm/list.rst | 184 + doc/ceph-volume/lvm/prepare.rst | 332 + doc/ceph-volume/lvm/scan.rst | 9 + doc/ceph-volume/lvm/systemd.rst | 28 + doc/ceph-volume/lvm/zap.rst | 65 + doc/ceph-volume/simple/activate.rst | 80 + doc/ceph-volume/simple/index.rst | 32 + doc/ceph-volume/simple/scan.rst | 176 + doc/ceph-volume/simple/systemd.rst | 28 + doc/ceph-volume/systemd.rst | 49 + doc/ceph-volume/zfs/index.rst | 31 + doc/ceph-volume/zfs/inventory.rst | 19 + doc/cephfs/.gitignore | 1 + doc/cephfs/Makefile | 7 + doc/cephfs/add-remove-mds.rst | 106 + doc/cephfs/administration.rst | 295 + doc/cephfs/app-best-practices.rst | 86 + doc/cephfs/best-practices.rst | 88 + doc/cephfs/cache-size-limits.rst | 15 + doc/cephfs/capabilities.rst | 112 + doc/cephfs/cephfs-journal-tool.rst | 238 + doc/cephfs/cephfs-shell.rst | 348 + doc/cephfs/client-auth.rst | 148 + doc/cephfs/client-config-ref.rst | 220 + doc/cephfs/createfs.rst | 92 + doc/cephfs/dirfrags.rst | 95 + doc/cephfs/disaster-recovery-experts.rst | 254 + doc/cephfs/disaster-recovery.rst | 61 + doc/cephfs/eviction.rst | 190 + doc/cephfs/experimental-features.rst | 111 + doc/cephfs/file-layouts.rst | 230 + doc/cephfs/fs-volumes.rst | 369 + doc/cephfs/fstab.rst | 47 + doc/cephfs/full.rst | 60 + doc/cephfs/fuse.rst | 52 + doc/cephfs/hadoop.rst | 202 + doc/cephfs/health-messages.rst | 131 + doc/cephfs/index.rst | 133 + doc/cephfs/journaler.rst | 41 + doc/cephfs/kernel-features.rst | 40 + doc/cephfs/kernel.rst | 41 + doc/cephfs/lazyio.rst | 23 + doc/cephfs/mantle.rst | 263 + doc/cephfs/mds-config-ref.rst | 546 + doc/cephfs/mds-state-diagram.dot | 71 + doc/cephfs/mds-state-diagram.svg | 311 + doc/cephfs/mds-states.rst | 227 + doc/cephfs/multimds.rst | 137 + doc/cephfs/nfs.rst | 81 + doc/cephfs/posix.rst | 101 + doc/cephfs/quota.rst | 76 + doc/cephfs/scrub.rst | 136 + doc/cephfs/standby.rst | 103 + doc/cephfs/troubleshooting.rst | 160 + doc/cephfs/upgrading.rst | 92 + doc/changelog/v0.48.1argonaut.txt | 1286 + doc/changelog/v0.48.2argonaut.txt | 476 + doc/changelog/v0.48.3argonaut.txt | 895 + doc/changelog/v0.56.1.txt | 316 + doc/changelog/v0.56.2.txt | 1294 + doc/changelog/v0.56.3.txt | 562 + doc/changelog/v0.56.4.txt | 1126 + doc/changelog/v0.56.5.txt | 1972 ++ doc/changelog/v0.56.6.txt | 40 + doc/changelog/v0.56.7.txt | 454 + doc/changelog/v0.61.1.txt | 139 + doc/changelog/v0.61.2.txt | 27 + doc/changelog/v0.61.3.txt | 831 + doc/changelog/v0.61.4.txt | 823 + doc/changelog/v0.61.5.txt | 1199 + doc/changelog/v0.61.6.txt | 75 + doc/changelog/v0.61.7.txt | 220 + doc/changelog/v0.61.8.txt | 810 + doc/changelog/v0.61.9.txt | 571 + doc/changelog/v0.67.1.txt | 142 + doc/changelog/v0.67.10.txt | 669 + doc/changelog/v0.67.11.txt | 215 + doc/changelog/v0.67.2.txt | 207 + doc/changelog/v0.67.3.txt | 700 + doc/changelog/v0.67.4.txt | 550 + doc/changelog/v0.67.5.txt | 711 + doc/changelog/v0.67.6.txt | 1258 + doc/changelog/v0.67.7.txt | 110 + doc/changelog/v0.67.8.txt | 1220 + doc/changelog/v0.67.9.txt | 233 + doc/changelog/v0.72.2.txt | 189 + doc/changelog/v0.80.1.txt | 216 + doc/changelog/v0.80.10.txt | 3308 ++ doc/changelog/v0.80.11.txt | 3184 ++ doc/changelog/v0.80.2.txt | 1187 + doc/changelog/v0.80.3.txt | 19 + doc/changelog/v0.80.4.txt | 36 + doc/changelog/v0.80.5.txt | 354 + doc/changelog/v0.80.6.txt | 3266 ++ doc/changelog/v0.80.7.txt | 70 + doc/changelog/v0.80.8.txt | 2547 ++ doc/changelog/v0.80.9.txt | 1148 + doc/changelog/v0.87.1.txt | 2151 ++ doc/changelog/v0.87.2.txt | 1413 + doc/changelog/v0.94.1.txt | 74 + doc/changelog/v0.94.10.txt | 2728 ++ doc/changelog/v0.94.2.txt | 1563 + doc/changelog/v0.94.3.txt | 2660 ++ doc/changelog/v0.94.4.txt | 3576 +++ doc/changelog/v0.94.5.txt | 86 + doc/changelog/v0.94.6.txt | 4027 +++ doc/changelog/v0.94.7.txt | 3179 ++ doc/changelog/v0.94.8.txt | 2059 ++ doc/changelog/v0.94.9.txt | 72 + doc/changelog/v10.2.1.txt | 2249 ++ doc/changelog/v10.2.10.txt | 4794 +++ doc/changelog/v10.2.2.txt | 3002 ++ doc/changelog/v10.2.3.txt | 5957 ++++ doc/changelog/v10.2.4.txt | 4586 +++ doc/changelog/v10.2.5.txt | 37 + doc/changelog/v10.2.6.txt | 5165 ++++ doc/changelog/v10.2.7.txt | 1530 + doc/changelog/v10.2.8.txt | 5435 ++++ doc/changelog/v10.2.9.txt | 63 + doc/changelog/v11.2.1.txt | 8020 +++++ doc/changelog/v12.2.1.txt | 3737 +++ doc/changelog/v12.2.2.txt | 9540 ++++++ doc/changelog/v12.2.3.txt | 10247 +++++++ doc/changelog/v9.2.1.txt | 1637 + doc/conf.py | 140 + doc/dev/PlanningImplementation.txt | 43 + doc/dev/blkin.rst | 169 + doc/dev/bluestore.rst | 85 + doc/dev/cache-pool.rst | 200 + doc/dev/ceph-volume/index.rst | 14 + doc/dev/ceph-volume/lvm.rst | 179 + doc/dev/ceph-volume/plugins.rst | 65 + doc/dev/ceph-volume/systemd.rst | 37 + doc/dev/ceph-volume/zfs.rst | 176 + doc/dev/ceph_krb_auth.rst | 1094 + doc/dev/cephfs-reclaim.rst | 104 + doc/dev/cephfs-snapshots.rst | 133 + doc/dev/cephx.rst | 406 + doc/dev/cephx_protocol.rst | 341 + doc/dev/config-key.rst | 68 + doc/dev/config.rst | 166 + doc/dev/confusing.txt | 36 + doc/dev/context.rst | 20 + doc/dev/corpus.rst | 95 + doc/dev/cpu-profiler.rst | 54 + doc/dev/cxx.rst | 27 + doc/dev/delayed-delete.rst | 12 + doc/dev/dev_cluster_deployement.rst | 169 + doc/dev/development-workflow.rst | 248 + doc/dev/documenting.rst | 132 + doc/dev/encoding.rst | 95 + doc/dev/erasure-coded-pool.rst | 137 + doc/dev/file-striping.rst | 161 + doc/dev/freebsd.rst | 53 + doc/dev/generatedocs.rst | 70 + doc/dev/iana.rst | 16 + doc/dev/index.rst | 1608 + doc/dev/internals.rst | 40 + doc/dev/kernel-client-troubleshooting.rst | 21 + doc/dev/kubernetes.rst | 224 + doc/dev/libs.rst | 18 + doc/dev/logging.rst | 106 + doc/dev/logs.rst | 55 + doc/dev/macos.rst | 41 + doc/dev/mds_internals/data-structures.rst | 44 + doc/dev/mds_internals/exports.rst | 76 + doc/dev/mds_internals/index.rst | 10 + doc/dev/messenger.rst | 33 + doc/dev/mon-bootstrap.rst | 212 + doc/dev/mon-on-disk-formats.rst | 91 + doc/dev/mon-osdmap-prune.rst | 415 + doc/dev/msgr2.rst | 840 + doc/dev/network-encoding.rst | 214 + doc/dev/network-protocol.rst | 197 + doc/dev/object-store.rst | 70 + doc/dev/osd-class-path.rst | 16 + doc/dev/osd_internals/async_recovery.rst | 47 + doc/dev/osd_internals/backfill_reservation.rst | 38 + doc/dev/osd_internals/erasure_coding.rst | 82 + .../erasure_coding/developer_notes.rst | 223 + doc/dev/osd_internals/erasure_coding/ecbackend.rst | 207 + doc/dev/osd_internals/erasure_coding/jerasure.rst | 33 + doc/dev/osd_internals/erasure_coding/proposals.rst | 385 + doc/dev/osd_internals/index.rst | 10 + doc/dev/osd_internals/last_epoch_started.rst | 60 + doc/dev/osd_internals/log_based_pg.rst | 208 + doc/dev/osd_internals/map_message_handling.rst | 131 + doc/dev/osd_internals/osd_overview.rst | 106 + doc/dev/osd_internals/osd_throttles.rst | 93 + doc/dev/osd_internals/osd_throttles.txt | 21 + doc/dev/osd_internals/osdmap_versions.txt | 259 + doc/dev/osd_internals/pg.rst | 31 + doc/dev/osd_internals/pg_removal.rst | 56 + doc/dev/osd_internals/pgpool.rst | 22 + doc/dev/osd_internals/recovery_reservation.rst | 83 + doc/dev/osd_internals/scrub.rst | 41 + doc/dev/osd_internals/snaps.rst | 128 + doc/dev/osd_internals/watch_notify.rst | 81 + doc/dev/osd_internals/wbthrottle.rst | 28 + doc/dev/peering.rst | 259 + doc/dev/perf.rst | 55 + doc/dev/perf_counters.rst | 198 + doc/dev/perf_histograms.rst | 677 + doc/dev/placement-group.rst | 210 + doc/dev/quick_guide.rst | 131 + doc/dev/rados-client-protocol.rst | 117 + doc/dev/radosgw/admin/adminops_nonimplemented.rst | 495 + doc/dev/radosgw/index.rst | 13 + doc/dev/radosgw/s3_compliance.rst | 304 + doc/dev/radosgw/usage.rst | 84 + doc/dev/rbd-diff.rst | 146 + doc/dev/rbd-export.rst | 104 + doc/dev/rbd-layering.rst | 281 + doc/dev/release-process.rst | 173 + doc/dev/repo-access.rst | 36 + doc/dev/seastore.rst | 162 + doc/dev/sepia.rst | 9 + doc/dev/session_authentication.rst | 160 + doc/dev/testing.rst | 40 + doc/dev/versions.rst | 42 + doc/dev/wireshark.rst | 41 + doc/favicon.ico | Bin 0 -> 1150 bytes doc/glossary.rst | 199 + doc/governance.rst | 102 + doc/images/CRUSH.jpg | Bin 0 -> 90271 bytes doc/images/RADOS.jpg | Bin 0 -> 58212 bytes doc/images/RBD.jpg | Bin 0 -> 71953 bytes doc/images/RDBSnapshots.jpg | Bin 0 -> 43211 bytes doc/images/docreviewprocess.jpg | Bin 0 -> 26248 bytes doc/images/esx_chap.png | Bin 0 -> 191689 bytes doc/images/esx_config_iscsi_main.png | Bin 0 -> 162254 bytes doc/images/esx_iscsi_recov_timeout.png | Bin 0 -> 139270 bytes doc/images/esx_web_client_storage_main.png | Bin 0 -> 116445 bytes doc/images/region-sync.png | Bin 0 -> 68497 bytes doc/images/region-sync.svg | 30426 +++++++++++++++++++ doc/images/rgw-encryption-barbican.png | Bin 0 -> 14440 bytes doc/images/stack.png | Bin 0 -> 16414 bytes doc/images/win2016_iscsi_advanced_window.png | Bin 0 -> 21371 bytes doc/images/win2016_iscsi_connect_to_target.png | Bin 0 -> 6956 bytes doc/images/win2016_iscsi_devices_mpio.png | Bin 0 -> 10913 bytes doc/images/win2016_iscsi_discovery_tab.png | Bin 0 -> 21808 bytes doc/images/win2016_iscsi_target_tab.png | Bin 0 -> 20594 bytes doc/images/win2016_iscsi_target_tab2.png | Bin 0 -> 22340 bytes doc/images/win2016_mpclaim_output.png | Bin 0 -> 18464 bytes doc/images/win2016_mpio_set_failover_only.png | Bin 0 -> 13334 bytes doc/images/zone-sync.png | Bin 0 -> 47495 bytes doc/images/zone-sync.svg | 21935 +++++++++++++ doc/images/zone-sync2.png | Bin 0 -> 51158 bytes doc/index.rst | 111 + doc/install/build-ceph.rst | 107 + doc/install/clone-source.rst | 101 + doc/install/get-packages.rst | 315 + doc/install/get-tarballs.rst | 14 + doc/install/index.rst | 71 + doc/install/install-ceph-deploy.rst | 23 + doc/install/install-ceph-gateway.rst | 615 + doc/install/install-storage-cluster.rst | 91 + doc/install/install-vm-cloud.rst | 130 + doc/install/manual-deployment.rst | 535 + doc/install/manual-freebsd-deployment.rst | 581 + doc/install/mirrors.rst | 66 + doc/install/upgrading-ceph.rst | 235 + doc/logo.png | Bin 0 -> 3898 bytes doc/man/8/CMakeLists.txt | 84 + doc/man/8/ceph-authtool.rst | 206 + doc/man/8/ceph-bluestore-tool.rst | 182 + doc/man/8/ceph-clsinfo.rst | 49 + doc/man/8/ceph-conf.rst | 142 + doc/man/8/ceph-create-keys.rst | 67 + doc/man/8/ceph-debugpack.rst | 50 + doc/man/8/ceph-dencoder.rst | 151 + doc/man/8/ceph-deploy.rst | 529 + doc/man/8/ceph-diff-sorted.rst | 71 + doc/man/8/ceph-fuse.rst | 82 + doc/man/8/ceph-kvstore-tool.rst | 98 + doc/man/8/ceph-mds.rst | 82 + doc/man/8/ceph-mon.rst | 94 + doc/man/8/ceph-osd.rst | 134 + doc/man/8/ceph-post-file.rst | 71 + doc/man/8/ceph-rbdnamer.rst | 41 + doc/man/8/ceph-run.rst | 45 + doc/man/8/ceph-syn.rst | 99 + doc/man/8/ceph-volume-systemd.rst | 55 + doc/man/8/ceph-volume.rst | 337 + doc/man/8/ceph.rst | 1574 + doc/man/8/crushtool.rst | 292 + doc/man/8/librados-config.rst | 46 + doc/man/8/monmaptool.rst | 107 + doc/man/8/mount.ceph.rst | 185 + doc/man/8/mount.fuse.ceph.rst | 71 + doc/man/8/osdmaptool.rst | 320 + doc/man/8/rados.rst | 251 + doc/man/8/radosgw-admin.rst | 934 + doc/man/8/radosgw.rst | 253 + doc/man/8/rbd-fuse.rst | 56 + doc/man/8/rbd-ggate.rst | 79 + doc/man/8/rbd-mirror.rst | 75 + doc/man/8/rbd-nbd.rst | 72 + doc/man/8/rbd-replay-many.rst | 73 + doc/man/8/rbd-replay-prep.rst | 55 + doc/man/8/rbd-replay.rst | 78 + doc/man/8/rbd.rst | 919 + doc/man/8/rbdmap.rst | 128 + doc/man/8/rgw-orphan-list.rst | 69 + doc/man/CMakeLists.txt | 15 + doc/man_index.rst | 44 + doc/mgr/administrator.rst | 169 + doc/mgr/alerts.rst | 58 + doc/mgr/ansible.rst | 121 + doc/mgr/crash.rst | 83 + doc/mgr/dashboard.rst | 1030 + doc/mgr/dashboard_plugins/feature_toggles.inc.rst | 44 + doc/mgr/deepsea.rst | 79 + doc/mgr/diskprediction.rst | 353 + doc/mgr/hello.rst | 39 + doc/mgr/index.rst | 49 + doc/mgr/influx.rst | 165 + doc/mgr/insights.rst | 52 + doc/mgr/iostat.rst | 32 + doc/mgr/localpool.rst | 35 + doc/mgr/modules.rst | 389 + doc/mgr/orchestrator_cli.rst | 295 + doc/mgr/orchestrator_modules.rst | 285 + doc/mgr/prometheus.rst | 314 + doc/mgr/restful.rst | 156 + doc/mgr/rook.rst | 37 + doc/mgr/ssh.rst | 45 + doc/mgr/telegraf.rst | 88 + doc/mgr/telemetry.rst | 158 + doc/mgr/zabbix.rst | 144 + doc/mon/README.txt | 27 + doc/mon/paxos-call-chain.dot | 82 + doc/rados/api/index.rst | 22 + doc/rados/api/librados-intro.rst | 1005 + doc/rados/api/librados.rst | 187 + doc/rados/api/libradospp.rst | 9 + doc/rados/api/objclass-sdk.rst | 37 + doc/rados/api/python.rst | 414 + doc/rados/command/list-inconsistent-obj.json | 237 + doc/rados/command/list-inconsistent-snap.json | 86 + doc/rados/configuration/auth-config-ref.rst | 378 + doc/rados/configuration/bluestore-config-ref.rst | 498 + doc/rados/configuration/ceph-conf.rst | 496 + doc/rados/configuration/common.rst | 258 + doc/rados/configuration/demo-ceph.conf | 31 + doc/rados/configuration/filestore-config-ref.rst | 365 + doc/rados/configuration/general-config-ref.rst | 66 + doc/rados/configuration/index.rst | 52 + doc/rados/configuration/journal-ref.rst | 116 + doc/rados/configuration/mon-config-ref.rst | 1261 + doc/rados/configuration/mon-lookup-dns.rst | 51 + doc/rados/configuration/mon-osd-interaction.rst | 412 + doc/rados/configuration/ms-ref.rst | 133 + doc/rados/configuration/msgr2.rst | 224 + doc/rados/configuration/network-config-ref.rst | 415 + doc/rados/configuration/osd-config-ref.rst | 1134 + doc/rados/configuration/pool-pg-config-ref.rst | 274 + doc/rados/configuration/pool-pg.conf | 20 + doc/rados/configuration/storage-devices.rst | 83 + doc/rados/deployment/ceph-deploy-admin.rst | 38 + doc/rados/deployment/ceph-deploy-install.rst | 46 + doc/rados/deployment/ceph-deploy-keys.rst | 32 + doc/rados/deployment/ceph-deploy-mds.rst | 42 + doc/rados/deployment/ceph-deploy-mon.rst | 56 + doc/rados/deployment/ceph-deploy-new.rst | 46 + doc/rados/deployment/ceph-deploy-osd.rst | 87 + doc/rados/deployment/ceph-deploy-purge.rst | 25 + doc/rados/deployment/index.rst | 58 + doc/rados/deployment/preflight-checklist.rst | 109 + doc/rados/index.rst | 76 + doc/rados/man/index.rst | 32 + doc/rados/operations/add-or-rm-mons.rst | 375 + doc/rados/operations/add-or-rm-osds.rst | 337 + doc/rados/operations/balancer.rst | 144 + doc/rados/operations/bluestore-migration.rst | 292 + doc/rados/operations/cache-tiering.rst | 475 + doc/rados/operations/control.rst | 456 + doc/rados/operations/crush-map-edits.rst | 697 + doc/rados/operations/crush-map.rst | 969 + doc/rados/operations/data-placement.rst | 43 + doc/rados/operations/devices.rst | 133 + doc/rados/operations/erasure-code-clay.rst | 235 + doc/rados/operations/erasure-code-isa.rst | 105 + doc/rados/operations/erasure-code-jerasure.rst | 119 + doc/rados/operations/erasure-code-lrc.rst | 371 + doc/rados/operations/erasure-code-profile.rst | 124 + doc/rados/operations/erasure-code-shec.rst | 144 + doc/rados/operations/erasure-code.rst | 198 + doc/rados/operations/health-checks.rst | 1084 + doc/rados/operations/index.rst | 94 + doc/rados/operations/monitoring-osd-pg.rst | 518 + doc/rados/operations/monitoring.rst | 475 + doc/rados/operations/operating.rst | 235 + doc/rados/operations/pg-concepts.rst | 102 + doc/rados/operations/pg-repair.rst | 4 + doc/rados/operations/pg-states.rst | 112 + doc/rados/operations/placement-groups.rst | 678 + doc/rados/operations/pools.rst | 835 + doc/rados/operations/upmap.rst | 85 + doc/rados/operations/user-management.rst | 756 + doc/rados/troubleshooting/community.rst | 29 + doc/rados/troubleshooting/cpu-profiling.rst | 67 + doc/rados/troubleshooting/index.rst | 19 + doc/rados/troubleshooting/log-and-debug.rst | 591 + doc/rados/troubleshooting/memory-profiling.rst | 142 + doc/rados/troubleshooting/troubleshooting-mon.rst | 582 + doc/rados/troubleshooting/troubleshooting-osd.rst | 546 + doc/rados/troubleshooting/troubleshooting-pg.rst | 666 + doc/radosgw/STSLite.rst | 224 + doc/radosgw/admin.rst | 527 + doc/radosgw/adminops.rst | 1987 ++ doc/radosgw/api.rst | 14 + doc/radosgw/archive-sync-module.rst | 44 + doc/radosgw/barbican.rst | 120 + doc/radosgw/bucketpolicy.rst | 214 + doc/radosgw/cloud-sync-module.rst | 247 + doc/radosgw/compression.rst | 87 + doc/radosgw/config-ref.rst | 948 + doc/radosgw/dynamicresharding.rst | 220 + doc/radosgw/elastic-sync-module.rst | 181 + doc/radosgw/encryption.rst | 61 + doc/radosgw/frontends.rst | 180 + doc/radosgw/index.rst | 74 + doc/radosgw/keystone.rst | 166 + doc/radosgw/layout.rst | 208 + doc/radosgw/ldap-auth.rst | 139 + doc/radosgw/mfa.rst | 102 + doc/radosgw/multisite.rst | 1447 + doc/radosgw/multitenancy.rst | 169 + doc/radosgw/nfs.rst | 366 + doc/radosgw/notifications.rst | 325 + doc/radosgw/opa.rst | 72 + doc/radosgw/orphans.rst | 115 + doc/radosgw/placement.rst | 245 + doc/radosgw/pools.rst | 57 + doc/radosgw/pubsub-module.rst | 583 + doc/radosgw/role.rst | 412 + doc/radosgw/s3-notification-compatibility.rst | 128 + doc/radosgw/s3.rst | 101 + doc/radosgw/s3/authentication.rst | 231 + doc/radosgw/s3/bucketops.rst | 701 + doc/radosgw/s3/commons.rst | 111 + doc/radosgw/s3/cpp.rst | 337 + doc/radosgw/s3/csharp.rst | 199 + doc/radosgw/s3/java.rst | 212 + doc/radosgw/s3/objectops.rst | 558 + doc/radosgw/s3/perl.rst | 192 + doc/radosgw/s3/php.rst | 208 + doc/radosgw/s3/python.rst | 171 + doc/radosgw/s3/ruby.rst | 364 + doc/radosgw/s3/serviceops.rst | 39 + doc/radosgw/swift.rst | 77 + doc/radosgw/swift/auth.rst | 77 + doc/radosgw/swift/containerops.rst | 341 + doc/radosgw/swift/java.rst | 175 + doc/radosgw/swift/objectops.rst | 271 + doc/radosgw/swift/python.rst | 114 + doc/radosgw/swift/ruby.rst | 119 + doc/radosgw/swift/serviceops.rst | 76 + doc/radosgw/swift/tempurl.rst | 102 + doc/radosgw/swift/tutorial.rst | 62 + doc/radosgw/sync-modules.rst | 100 + doc/radosgw/troubleshooting.rst | 208 + doc/rbd/api/index.rst | 8 + doc/rbd/api/librbdpy.rst | 83 + doc/rbd/disk.conf | 8 + doc/rbd/index.rst | 73 + doc/rbd/iscsi-initiator-esx.rst | 105 + doc/rbd/iscsi-initiator-linux.rst | 91 + doc/rbd/iscsi-initiator-win.rst | 102 + doc/rbd/iscsi-initiators.rst | 23 + doc/rbd/iscsi-monitoring.rst | 85 + doc/rbd/iscsi-overview.rst | 52 + doc/rbd/iscsi-requirements.rst | 50 + doc/rbd/iscsi-target-ansible.rst | 343 + doc/rbd/iscsi-target-cli-manual-install.rst | 190 + doc/rbd/iscsi-target-cli.rst | 235 + doc/rbd/iscsi-targets.rst | 27 + doc/rbd/libvirt.rst | 321 + doc/rbd/man/index.rst | 16 + doc/rbd/qemu-rbd.rst | 220 + doc/rbd/rados-rbd-cmds.rst | 224 + doc/rbd/rbd-cloudstack.rst | 157 + doc/rbd/rbd-config-ref.rst | 354 + doc/rbd/rbd-ko.rst | 59 + doc/rbd/rbd-live-migration.rst | 157 + doc/rbd/rbd-mirroring.rst | 410 + doc/rbd/rbd-openstack.rst | 514 + doc/rbd/rbd-replay.rst | 42 + doc/rbd/rbd-snapshot.rst | 314 + doc/releases/archived-index.rst | 17 + doc/releases/argonaut.rst | 177 + doc/releases/bobtail.rst | 539 + doc/releases/cuttlefish.rst | 712 + doc/releases/dumpling.rst | 940 + doc/releases/emperor.rst | 647 + doc/releases/firefly.rst | 1780 ++ doc/releases/giant.rst | 1278 + doc/releases/hammer.rst | 2318 ++ doc/releases/index.rst | 33 + doc/releases/infernalis.rst | 1526 + doc/releases/jewel.rst | 3376 ++ doc/releases/kraken.rst | 2329 ++ doc/releases/luminous.rst | 5125 ++++ doc/releases/mimic.rst | 3645 +++ doc/releases/nautilus.rst | 727 + doc/releases/releases.yml | 333 + doc/releases/schedule.rst | 248 + doc/scripts/gen_state_diagram.py | 216 + doc/start/ceph.conf | 3 + doc/start/documenting-ceph.rst | 596 + doc/start/get-involved.rst | 92 + doc/start/hardware-recommendations.rst | 365 + doc/start/index.rst | 47 + doc/start/intro.rst | 89 + doc/start/kube-helm.rst | 357 + doc/start/os-recommendations.rst | 154 + doc/start/quick-ceph-deploy.rst | 353 + doc/start/quick-cephfs.rst | 119 + doc/start/quick-common.rst | 21 + doc/start/quick-rbd.rst | 96 + doc/start/quick-rgw-old.rst | 30 + doc/start/quick-rgw.rst | 101 + doc/start/quick-start-preflight.rst | 356 + doc/start/rgw.conf | 30 + 547 files changed, 287458 insertions(+) create mode 100644 doc/.gitignore create mode 100644 doc/CMakeLists.txt create mode 100644 doc/README.md create mode 100644 doc/_ext/ceph_releases.py create mode 100644 doc/_ext/edit_on_github.py create mode 100644 doc/_static/js/ceph.js create mode 100644 doc/_templates/layout.html create mode 100644 doc/_templates/page.html create mode 100644 doc/_templates/smarttoc.html create mode 100644 doc/_themes/ceph/static/nature.css_t create mode 100644 doc/_themes/ceph/theme.conf create mode 100644 doc/api/index.rst create mode 100644 doc/api/libcephfs-java.rst create mode 100644 doc/architecture.rst create mode 100644 doc/ceph-volume/index.rst create mode 100644 doc/ceph-volume/intro.rst create mode 100644 doc/ceph-volume/inventory.rst create mode 100644 doc/ceph-volume/lvm/activate.rst create mode 100644 doc/ceph-volume/lvm/batch.rst create mode 100644 doc/ceph-volume/lvm/create.rst create mode 100644 doc/ceph-volume/lvm/encryption.rst create mode 100644 doc/ceph-volume/lvm/index.rst create mode 100644 doc/ceph-volume/lvm/list.rst create mode 100644 doc/ceph-volume/lvm/prepare.rst create mode 100644 doc/ceph-volume/lvm/scan.rst create mode 100644 doc/ceph-volume/lvm/systemd.rst create mode 100644 doc/ceph-volume/lvm/zap.rst create mode 100644 doc/ceph-volume/simple/activate.rst create mode 100644 doc/ceph-volume/simple/index.rst create mode 100644 doc/ceph-volume/simple/scan.rst create mode 100644 doc/ceph-volume/simple/systemd.rst create mode 100644 doc/ceph-volume/systemd.rst create mode 100644 doc/ceph-volume/zfs/index.rst create mode 100644 doc/ceph-volume/zfs/inventory.rst create mode 100644 doc/cephfs/.gitignore create mode 100644 doc/cephfs/Makefile create mode 100644 doc/cephfs/add-remove-mds.rst create mode 100644 doc/cephfs/administration.rst create mode 100644 doc/cephfs/app-best-practices.rst create mode 100644 doc/cephfs/best-practices.rst create mode 100644 doc/cephfs/cache-size-limits.rst create mode 100644 doc/cephfs/capabilities.rst create mode 100644 doc/cephfs/cephfs-journal-tool.rst create mode 100644 doc/cephfs/cephfs-shell.rst create mode 100644 doc/cephfs/client-auth.rst create mode 100644 doc/cephfs/client-config-ref.rst create mode 100644 doc/cephfs/createfs.rst create mode 100644 doc/cephfs/dirfrags.rst create mode 100644 doc/cephfs/disaster-recovery-experts.rst create mode 100644 doc/cephfs/disaster-recovery.rst create mode 100644 doc/cephfs/eviction.rst create mode 100644 doc/cephfs/experimental-features.rst create mode 100644 doc/cephfs/file-layouts.rst create mode 100644 doc/cephfs/fs-volumes.rst create mode 100644 doc/cephfs/fstab.rst create mode 100644 doc/cephfs/full.rst create mode 100644 doc/cephfs/fuse.rst create mode 100644 doc/cephfs/hadoop.rst create mode 100644 doc/cephfs/health-messages.rst create mode 100644 doc/cephfs/index.rst create mode 100644 doc/cephfs/journaler.rst create mode 100644 doc/cephfs/kernel-features.rst create mode 100644 doc/cephfs/kernel.rst create mode 100644 doc/cephfs/lazyio.rst create mode 100644 doc/cephfs/mantle.rst create mode 100644 doc/cephfs/mds-config-ref.rst create mode 100644 doc/cephfs/mds-state-diagram.dot create mode 100644 doc/cephfs/mds-state-diagram.svg create mode 100644 doc/cephfs/mds-states.rst create mode 100644 doc/cephfs/multimds.rst create mode 100644 doc/cephfs/nfs.rst create mode 100644 doc/cephfs/posix.rst create mode 100644 doc/cephfs/quota.rst create mode 100644 doc/cephfs/scrub.rst create mode 100644 doc/cephfs/standby.rst create mode 100644 doc/cephfs/troubleshooting.rst create mode 100644 doc/cephfs/upgrading.rst create mode 100644 doc/changelog/v0.48.1argonaut.txt create mode 100644 doc/changelog/v0.48.2argonaut.txt create mode 100644 doc/changelog/v0.48.3argonaut.txt create mode 100644 doc/changelog/v0.56.1.txt create mode 100644 doc/changelog/v0.56.2.txt create mode 100644 doc/changelog/v0.56.3.txt create mode 100644 doc/changelog/v0.56.4.txt create mode 100644 doc/changelog/v0.56.5.txt create mode 100644 doc/changelog/v0.56.6.txt create mode 100644 doc/changelog/v0.56.7.txt create mode 100644 doc/changelog/v0.61.1.txt create mode 100644 doc/changelog/v0.61.2.txt create mode 100644 doc/changelog/v0.61.3.txt create mode 100644 doc/changelog/v0.61.4.txt create mode 100644 doc/changelog/v0.61.5.txt create mode 100644 doc/changelog/v0.61.6.txt create mode 100644 doc/changelog/v0.61.7.txt create mode 100644 doc/changelog/v0.61.8.txt create mode 100644 doc/changelog/v0.61.9.txt create mode 100644 doc/changelog/v0.67.1.txt create mode 100644 doc/changelog/v0.67.10.txt create mode 100644 doc/changelog/v0.67.11.txt create mode 100644 doc/changelog/v0.67.2.txt create mode 100644 doc/changelog/v0.67.3.txt create mode 100644 doc/changelog/v0.67.4.txt create mode 100644 doc/changelog/v0.67.5.txt create mode 100644 doc/changelog/v0.67.6.txt create mode 100644 doc/changelog/v0.67.7.txt create mode 100644 doc/changelog/v0.67.8.txt create mode 100644 doc/changelog/v0.67.9.txt create mode 100644 doc/changelog/v0.72.2.txt create mode 100644 doc/changelog/v0.80.1.txt create mode 100644 doc/changelog/v0.80.10.txt create mode 100644 doc/changelog/v0.80.11.txt create mode 100644 doc/changelog/v0.80.2.txt create mode 100644 doc/changelog/v0.80.3.txt create mode 100644 doc/changelog/v0.80.4.txt create mode 100644 doc/changelog/v0.80.5.txt create mode 100644 doc/changelog/v0.80.6.txt create mode 100644 doc/changelog/v0.80.7.txt create mode 100644 doc/changelog/v0.80.8.txt create mode 100644 doc/changelog/v0.80.9.txt create mode 100644 doc/changelog/v0.87.1.txt create mode 100644 doc/changelog/v0.87.2.txt create mode 100644 doc/changelog/v0.94.1.txt create mode 100644 doc/changelog/v0.94.10.txt create mode 100644 doc/changelog/v0.94.2.txt create mode 100644 doc/changelog/v0.94.3.txt create mode 100644 doc/changelog/v0.94.4.txt create mode 100644 doc/changelog/v0.94.5.txt create mode 100644 doc/changelog/v0.94.6.txt create mode 100644 doc/changelog/v0.94.7.txt create mode 100644 doc/changelog/v0.94.8.txt create mode 100644 doc/changelog/v0.94.9.txt create mode 100644 doc/changelog/v10.2.1.txt create mode 100644 doc/changelog/v10.2.10.txt create mode 100644 doc/changelog/v10.2.2.txt create mode 100644 doc/changelog/v10.2.3.txt create mode 100644 doc/changelog/v10.2.4.txt create mode 100644 doc/changelog/v10.2.5.txt create mode 100644 doc/changelog/v10.2.6.txt create mode 100644 doc/changelog/v10.2.7.txt create mode 100644 doc/changelog/v10.2.8.txt create mode 100644 doc/changelog/v10.2.9.txt create mode 100644 doc/changelog/v11.2.1.txt create mode 100644 doc/changelog/v12.2.1.txt create mode 100644 doc/changelog/v12.2.2.txt create mode 100644 doc/changelog/v12.2.3.txt create mode 100644 doc/changelog/v9.2.1.txt create mode 100644 doc/conf.py create mode 100644 doc/dev/PlanningImplementation.txt create mode 100644 doc/dev/blkin.rst create mode 100644 doc/dev/bluestore.rst create mode 100644 doc/dev/cache-pool.rst create mode 100644 doc/dev/ceph-volume/index.rst create mode 100644 doc/dev/ceph-volume/lvm.rst create mode 100644 doc/dev/ceph-volume/plugins.rst create mode 100644 doc/dev/ceph-volume/systemd.rst create mode 100644 doc/dev/ceph-volume/zfs.rst create mode 100644 doc/dev/ceph_krb_auth.rst create mode 100644 doc/dev/cephfs-reclaim.rst create mode 100644 doc/dev/cephfs-snapshots.rst create mode 100644 doc/dev/cephx.rst create mode 100644 doc/dev/cephx_protocol.rst create mode 100644 doc/dev/config-key.rst create mode 100644 doc/dev/config.rst create mode 100644 doc/dev/confusing.txt create mode 100644 doc/dev/context.rst create mode 100644 doc/dev/corpus.rst create mode 100644 doc/dev/cpu-profiler.rst create mode 100644 doc/dev/cxx.rst create mode 100644 doc/dev/delayed-delete.rst create mode 100644 doc/dev/dev_cluster_deployement.rst create mode 100644 doc/dev/development-workflow.rst create mode 100644 doc/dev/documenting.rst create mode 100644 doc/dev/encoding.rst create mode 100644 doc/dev/erasure-coded-pool.rst create mode 100644 doc/dev/file-striping.rst create mode 100644 doc/dev/freebsd.rst create mode 100644 doc/dev/generatedocs.rst create mode 100644 doc/dev/iana.rst create mode 100644 doc/dev/index.rst create mode 100644 doc/dev/internals.rst create mode 100644 doc/dev/kernel-client-troubleshooting.rst create mode 100644 doc/dev/kubernetes.rst create mode 100644 doc/dev/libs.rst create mode 100644 doc/dev/logging.rst create mode 100644 doc/dev/logs.rst create mode 100644 doc/dev/macos.rst create mode 100644 doc/dev/mds_internals/data-structures.rst create mode 100644 doc/dev/mds_internals/exports.rst create mode 100644 doc/dev/mds_internals/index.rst create mode 100644 doc/dev/messenger.rst create mode 100644 doc/dev/mon-bootstrap.rst create mode 100644 doc/dev/mon-on-disk-formats.rst create mode 100644 doc/dev/mon-osdmap-prune.rst create mode 100644 doc/dev/msgr2.rst create mode 100644 doc/dev/network-encoding.rst create mode 100644 doc/dev/network-protocol.rst create mode 100644 doc/dev/object-store.rst create mode 100644 doc/dev/osd-class-path.rst create mode 100644 doc/dev/osd_internals/async_recovery.rst create mode 100644 doc/dev/osd_internals/backfill_reservation.rst create mode 100644 doc/dev/osd_internals/erasure_coding.rst create mode 100644 doc/dev/osd_internals/erasure_coding/developer_notes.rst create mode 100644 doc/dev/osd_internals/erasure_coding/ecbackend.rst create mode 100644 doc/dev/osd_internals/erasure_coding/jerasure.rst create mode 100644 doc/dev/osd_internals/erasure_coding/proposals.rst create mode 100644 doc/dev/osd_internals/index.rst create mode 100644 doc/dev/osd_internals/last_epoch_started.rst create mode 100644 doc/dev/osd_internals/log_based_pg.rst create mode 100644 doc/dev/osd_internals/map_message_handling.rst create mode 100644 doc/dev/osd_internals/osd_overview.rst create mode 100644 doc/dev/osd_internals/osd_throttles.rst create mode 100644 doc/dev/osd_internals/osd_throttles.txt create mode 100644 doc/dev/osd_internals/osdmap_versions.txt create mode 100644 doc/dev/osd_internals/pg.rst create mode 100644 doc/dev/osd_internals/pg_removal.rst create mode 100644 doc/dev/osd_internals/pgpool.rst create mode 100644 doc/dev/osd_internals/recovery_reservation.rst create mode 100644 doc/dev/osd_internals/scrub.rst create mode 100644 doc/dev/osd_internals/snaps.rst create mode 100644 doc/dev/osd_internals/watch_notify.rst create mode 100644 doc/dev/osd_internals/wbthrottle.rst create mode 100644 doc/dev/peering.rst create mode 100644 doc/dev/perf.rst create mode 100644 doc/dev/perf_counters.rst create mode 100644 doc/dev/perf_histograms.rst create mode 100644 doc/dev/placement-group.rst create mode 100644 doc/dev/quick_guide.rst create mode 100644 doc/dev/rados-client-protocol.rst create mode 100644 doc/dev/radosgw/admin/adminops_nonimplemented.rst create mode 100644 doc/dev/radosgw/index.rst create mode 100644 doc/dev/radosgw/s3_compliance.rst create mode 100644 doc/dev/radosgw/usage.rst create mode 100644 doc/dev/rbd-diff.rst create mode 100644 doc/dev/rbd-export.rst create mode 100644 doc/dev/rbd-layering.rst create mode 100644 doc/dev/release-process.rst create mode 100644 doc/dev/repo-access.rst create mode 100644 doc/dev/seastore.rst create mode 100644 doc/dev/sepia.rst create mode 100644 doc/dev/session_authentication.rst create mode 100644 doc/dev/testing.rst create mode 100644 doc/dev/versions.rst create mode 100644 doc/dev/wireshark.rst create mode 100644 doc/favicon.ico create mode 100644 doc/glossary.rst create mode 100644 doc/governance.rst create mode 100644 doc/images/CRUSH.jpg create mode 100644 doc/images/RADOS.jpg create mode 100644 doc/images/RBD.jpg create mode 100644 doc/images/RDBSnapshots.jpg create mode 100644 doc/images/docreviewprocess.jpg create mode 100644 doc/images/esx_chap.png create mode 100644 doc/images/esx_config_iscsi_main.png create mode 100644 doc/images/esx_iscsi_recov_timeout.png create mode 100644 doc/images/esx_web_client_storage_main.png create mode 100644 doc/images/region-sync.png create mode 100644 doc/images/region-sync.svg create mode 100644 doc/images/rgw-encryption-barbican.png create mode 100644 doc/images/stack.png create mode 100755 doc/images/win2016_iscsi_advanced_window.png create mode 100755 doc/images/win2016_iscsi_connect_to_target.png create mode 100755 doc/images/win2016_iscsi_devices_mpio.png create mode 100755 doc/images/win2016_iscsi_discovery_tab.png create mode 100755 doc/images/win2016_iscsi_target_tab.png create mode 100755 doc/images/win2016_iscsi_target_tab2.png create mode 100644 doc/images/win2016_mpclaim_output.png create mode 100755 doc/images/win2016_mpio_set_failover_only.png create mode 100644 doc/images/zone-sync.png create mode 100644 doc/images/zone-sync.svg create mode 100644 doc/images/zone-sync2.png create mode 100644 doc/index.rst create mode 100644 doc/install/build-ceph.rst create mode 100644 doc/install/clone-source.rst create mode 100644 doc/install/get-packages.rst create mode 100644 doc/install/get-tarballs.rst create mode 100644 doc/install/index.rst create mode 100644 doc/install/install-ceph-deploy.rst create mode 100644 doc/install/install-ceph-gateway.rst create mode 100644 doc/install/install-storage-cluster.rst create mode 100644 doc/install/install-vm-cloud.rst create mode 100644 doc/install/manual-deployment.rst create mode 100644 doc/install/manual-freebsd-deployment.rst create mode 100644 doc/install/mirrors.rst create mode 100644 doc/install/upgrading-ceph.rst create mode 100644 doc/logo.png create mode 100644 doc/man/8/CMakeLists.txt create mode 100644 doc/man/8/ceph-authtool.rst create mode 100644 doc/man/8/ceph-bluestore-tool.rst create mode 100644 doc/man/8/ceph-clsinfo.rst create mode 100644 doc/man/8/ceph-conf.rst create mode 100644 doc/man/8/ceph-create-keys.rst create mode 100644 doc/man/8/ceph-debugpack.rst create mode 100644 doc/man/8/ceph-dencoder.rst create mode 100644 doc/man/8/ceph-deploy.rst create mode 100644 doc/man/8/ceph-diff-sorted.rst create mode 100644 doc/man/8/ceph-fuse.rst create mode 100644 doc/man/8/ceph-kvstore-tool.rst create mode 100644 doc/man/8/ceph-mds.rst create mode 100644 doc/man/8/ceph-mon.rst create mode 100644 doc/man/8/ceph-osd.rst create mode 100644 doc/man/8/ceph-post-file.rst create mode 100644 doc/man/8/ceph-rbdnamer.rst create mode 100644 doc/man/8/ceph-run.rst create mode 100644 doc/man/8/ceph-syn.rst create mode 100644 doc/man/8/ceph-volume-systemd.rst create mode 100644 doc/man/8/ceph-volume.rst create mode 100644 doc/man/8/ceph.rst create mode 100644 doc/man/8/crushtool.rst create mode 100644 doc/man/8/librados-config.rst create mode 100644 doc/man/8/monmaptool.rst create mode 100644 doc/man/8/mount.ceph.rst create mode 100644 doc/man/8/mount.fuse.ceph.rst create mode 100644 doc/man/8/osdmaptool.rst create mode 100644 doc/man/8/rados.rst create mode 100644 doc/man/8/radosgw-admin.rst create mode 100644 doc/man/8/radosgw.rst create mode 100644 doc/man/8/rbd-fuse.rst create mode 100644 doc/man/8/rbd-ggate.rst create mode 100644 doc/man/8/rbd-mirror.rst create mode 100644 doc/man/8/rbd-nbd.rst create mode 100644 doc/man/8/rbd-replay-many.rst create mode 100644 doc/man/8/rbd-replay-prep.rst create mode 100644 doc/man/8/rbd-replay.rst create mode 100644 doc/man/8/rbd.rst create mode 100644 doc/man/8/rbdmap.rst create mode 100644 doc/man/8/rgw-orphan-list.rst create mode 100644 doc/man/CMakeLists.txt create mode 100644 doc/man_index.rst create mode 100644 doc/mgr/administrator.rst create mode 100644 doc/mgr/alerts.rst create mode 100644 doc/mgr/ansible.rst create mode 100644 doc/mgr/crash.rst create mode 100644 doc/mgr/dashboard.rst create mode 100644 doc/mgr/dashboard_plugins/feature_toggles.inc.rst create mode 100644 doc/mgr/deepsea.rst create mode 100644 doc/mgr/diskprediction.rst create mode 100644 doc/mgr/hello.rst create mode 100644 doc/mgr/index.rst create mode 100644 doc/mgr/influx.rst create mode 100644 doc/mgr/insights.rst create mode 100644 doc/mgr/iostat.rst create mode 100644 doc/mgr/localpool.rst create mode 100644 doc/mgr/modules.rst create mode 100644 doc/mgr/orchestrator_cli.rst create mode 100644 doc/mgr/orchestrator_modules.rst create mode 100644 doc/mgr/prometheus.rst create mode 100644 doc/mgr/restful.rst create mode 100644 doc/mgr/rook.rst create mode 100644 doc/mgr/ssh.rst create mode 100644 doc/mgr/telegraf.rst create mode 100644 doc/mgr/telemetry.rst create mode 100644 doc/mgr/zabbix.rst create mode 100644 doc/mon/README.txt create mode 100644 doc/mon/paxos-call-chain.dot create mode 100644 doc/rados/api/index.rst create mode 100644 doc/rados/api/librados-intro.rst create mode 100644 doc/rados/api/librados.rst create mode 100644 doc/rados/api/libradospp.rst create mode 100644 doc/rados/api/objclass-sdk.rst create mode 100644 doc/rados/api/python.rst create mode 100644 doc/rados/command/list-inconsistent-obj.json create mode 100644 doc/rados/command/list-inconsistent-snap.json create mode 100644 doc/rados/configuration/auth-config-ref.rst create mode 100644 doc/rados/configuration/bluestore-config-ref.rst create mode 100644 doc/rados/configuration/ceph-conf.rst create mode 100644 doc/rados/configuration/common.rst create mode 100644 doc/rados/configuration/demo-ceph.conf create mode 100644 doc/rados/configuration/filestore-config-ref.rst create mode 100644 doc/rados/configuration/general-config-ref.rst create mode 100644 doc/rados/configuration/index.rst create mode 100644 doc/rados/configuration/journal-ref.rst create mode 100644 doc/rados/configuration/mon-config-ref.rst create mode 100644 doc/rados/configuration/mon-lookup-dns.rst create mode 100644 doc/rados/configuration/mon-osd-interaction.rst create mode 100644 doc/rados/configuration/ms-ref.rst create mode 100644 doc/rados/configuration/msgr2.rst create mode 100644 doc/rados/configuration/network-config-ref.rst create mode 100644 doc/rados/configuration/osd-config-ref.rst create mode 100644 doc/rados/configuration/pool-pg-config-ref.rst create mode 100644 doc/rados/configuration/pool-pg.conf create mode 100644 doc/rados/configuration/storage-devices.rst create mode 100644 doc/rados/deployment/ceph-deploy-admin.rst create mode 100644 doc/rados/deployment/ceph-deploy-install.rst create mode 100644 doc/rados/deployment/ceph-deploy-keys.rst create mode 100644 doc/rados/deployment/ceph-deploy-mds.rst create mode 100644 doc/rados/deployment/ceph-deploy-mon.rst create mode 100644 doc/rados/deployment/ceph-deploy-new.rst create mode 100644 doc/rados/deployment/ceph-deploy-osd.rst create mode 100644 doc/rados/deployment/ceph-deploy-purge.rst create mode 100644 doc/rados/deployment/index.rst create mode 100644 doc/rados/deployment/preflight-checklist.rst create mode 100644 doc/rados/index.rst create mode 100644 doc/rados/man/index.rst create mode 100644 doc/rados/operations/add-or-rm-mons.rst create mode 100644 doc/rados/operations/add-or-rm-osds.rst create mode 100644 doc/rados/operations/balancer.rst create mode 100644 doc/rados/operations/bluestore-migration.rst create mode 100644 doc/rados/operations/cache-tiering.rst create mode 100644 doc/rados/operations/control.rst create mode 100644 doc/rados/operations/crush-map-edits.rst create mode 100644 doc/rados/operations/crush-map.rst create mode 100644 doc/rados/operations/data-placement.rst create mode 100644 doc/rados/operations/devices.rst create mode 100644 doc/rados/operations/erasure-code-clay.rst create mode 100644 doc/rados/operations/erasure-code-isa.rst create mode 100644 doc/rados/operations/erasure-code-jerasure.rst create mode 100644 doc/rados/operations/erasure-code-lrc.rst create mode 100644 doc/rados/operations/erasure-code-profile.rst create mode 100644 doc/rados/operations/erasure-code-shec.rst create mode 100644 doc/rados/operations/erasure-code.rst create mode 100644 doc/rados/operations/health-checks.rst create mode 100644 doc/rados/operations/index.rst create mode 100644 doc/rados/operations/monitoring-osd-pg.rst create mode 100644 doc/rados/operations/monitoring.rst create mode 100644 doc/rados/operations/operating.rst create mode 100644 doc/rados/operations/pg-concepts.rst create mode 100644 doc/rados/operations/pg-repair.rst create mode 100644 doc/rados/operations/pg-states.rst create mode 100644 doc/rados/operations/placement-groups.rst create mode 100644 doc/rados/operations/pools.rst create mode 100644 doc/rados/operations/upmap.rst create mode 100644 doc/rados/operations/user-management.rst create mode 100644 doc/rados/troubleshooting/community.rst create mode 100644 doc/rados/troubleshooting/cpu-profiling.rst create mode 100644 doc/rados/troubleshooting/index.rst create mode 100644 doc/rados/troubleshooting/log-and-debug.rst create mode 100644 doc/rados/troubleshooting/memory-profiling.rst create mode 100644 doc/rados/troubleshooting/troubleshooting-mon.rst create mode 100644 doc/rados/troubleshooting/troubleshooting-osd.rst create mode 100644 doc/rados/troubleshooting/troubleshooting-pg.rst create mode 100644 doc/radosgw/STSLite.rst create mode 100644 doc/radosgw/admin.rst create mode 100644 doc/radosgw/adminops.rst create mode 100644 doc/radosgw/api.rst create mode 100644 doc/radosgw/archive-sync-module.rst create mode 100644 doc/radosgw/barbican.rst create mode 100644 doc/radosgw/bucketpolicy.rst create mode 100644 doc/radosgw/cloud-sync-module.rst create mode 100644 doc/radosgw/compression.rst create mode 100644 doc/radosgw/config-ref.rst create mode 100644 doc/radosgw/dynamicresharding.rst create mode 100644 doc/radosgw/elastic-sync-module.rst create mode 100644 doc/radosgw/encryption.rst create mode 100644 doc/radosgw/frontends.rst create mode 100644 doc/radosgw/index.rst create mode 100644 doc/radosgw/keystone.rst create mode 100644 doc/radosgw/layout.rst create mode 100644 doc/radosgw/ldap-auth.rst create mode 100644 doc/radosgw/mfa.rst create mode 100644 doc/radosgw/multisite.rst create mode 100644 doc/radosgw/multitenancy.rst create mode 100644 doc/radosgw/nfs.rst create mode 100644 doc/radosgw/notifications.rst create mode 100644 doc/radosgw/opa.rst create mode 100644 doc/radosgw/orphans.rst create mode 100644 doc/radosgw/placement.rst create mode 100644 doc/radosgw/pools.rst create mode 100644 doc/radosgw/pubsub-module.rst create mode 100644 doc/radosgw/role.rst create mode 100644 doc/radosgw/s3-notification-compatibility.rst create mode 100644 doc/radosgw/s3.rst create mode 100644 doc/radosgw/s3/authentication.rst create mode 100644 doc/radosgw/s3/bucketops.rst create mode 100644 doc/radosgw/s3/commons.rst create mode 100644 doc/radosgw/s3/cpp.rst create mode 100644 doc/radosgw/s3/csharp.rst create mode 100644 doc/radosgw/s3/java.rst create mode 100644 doc/radosgw/s3/objectops.rst create mode 100644 doc/radosgw/s3/perl.rst create mode 100644 doc/radosgw/s3/php.rst create mode 100644 doc/radosgw/s3/python.rst create mode 100644 doc/radosgw/s3/ruby.rst create mode 100644 doc/radosgw/s3/serviceops.rst create mode 100644 doc/radosgw/swift.rst create mode 100644 doc/radosgw/swift/auth.rst create mode 100644 doc/radosgw/swift/containerops.rst create mode 100644 doc/radosgw/swift/java.rst create mode 100644 doc/radosgw/swift/objectops.rst create mode 100644 doc/radosgw/swift/python.rst create mode 100644 doc/radosgw/swift/ruby.rst create mode 100644 doc/radosgw/swift/serviceops.rst create mode 100644 doc/radosgw/swift/tempurl.rst create mode 100644 doc/radosgw/swift/tutorial.rst create mode 100644 doc/radosgw/sync-modules.rst create mode 100644 doc/radosgw/troubleshooting.rst create mode 100644 doc/rbd/api/index.rst create mode 100644 doc/rbd/api/librbdpy.rst create mode 100644 doc/rbd/disk.conf create mode 100644 doc/rbd/index.rst create mode 100644 doc/rbd/iscsi-initiator-esx.rst create mode 100644 doc/rbd/iscsi-initiator-linux.rst create mode 100644 doc/rbd/iscsi-initiator-win.rst create mode 100644 doc/rbd/iscsi-initiators.rst create mode 100644 doc/rbd/iscsi-monitoring.rst create mode 100644 doc/rbd/iscsi-overview.rst create mode 100644 doc/rbd/iscsi-requirements.rst create mode 100644 doc/rbd/iscsi-target-ansible.rst create mode 100644 doc/rbd/iscsi-target-cli-manual-install.rst create mode 100644 doc/rbd/iscsi-target-cli.rst create mode 100644 doc/rbd/iscsi-targets.rst create mode 100644 doc/rbd/libvirt.rst create mode 100644 doc/rbd/man/index.rst create mode 100644 doc/rbd/qemu-rbd.rst create mode 100644 doc/rbd/rados-rbd-cmds.rst create mode 100644 doc/rbd/rbd-cloudstack.rst create mode 100644 doc/rbd/rbd-config-ref.rst create mode 100644 doc/rbd/rbd-ko.rst create mode 100644 doc/rbd/rbd-live-migration.rst create mode 100644 doc/rbd/rbd-mirroring.rst create mode 100644 doc/rbd/rbd-openstack.rst create mode 100644 doc/rbd/rbd-replay.rst create mode 100644 doc/rbd/rbd-snapshot.rst create mode 100644 doc/releases/archived-index.rst create mode 100644 doc/releases/argonaut.rst create mode 100644 doc/releases/bobtail.rst create mode 100644 doc/releases/cuttlefish.rst create mode 100644 doc/releases/dumpling.rst create mode 100644 doc/releases/emperor.rst create mode 100644 doc/releases/firefly.rst create mode 100644 doc/releases/giant.rst create mode 100644 doc/releases/hammer.rst create mode 100644 doc/releases/index.rst create mode 100644 doc/releases/infernalis.rst create mode 100644 doc/releases/jewel.rst create mode 100644 doc/releases/kraken.rst create mode 100644 doc/releases/luminous.rst create mode 100644 doc/releases/mimic.rst create mode 100644 doc/releases/nautilus.rst create mode 100644 doc/releases/releases.yml create mode 100644 doc/releases/schedule.rst create mode 100755 doc/scripts/gen_state_diagram.py create mode 100644 doc/start/ceph.conf create mode 100644 doc/start/documenting-ceph.rst create mode 100644 doc/start/get-involved.rst create mode 100644 doc/start/hardware-recommendations.rst create mode 100644 doc/start/index.rst create mode 100644 doc/start/intro.rst create mode 100644 doc/start/kube-helm.rst create mode 100644 doc/start/os-recommendations.rst create mode 100644 doc/start/quick-ceph-deploy.rst create mode 100644 doc/start/quick-cephfs.rst create mode 100644 doc/start/quick-common.rst create mode 100644 doc/start/quick-rbd.rst create mode 100644 doc/start/quick-rgw-old.rst create mode 100644 doc/start/quick-rgw.rst create mode 100644 doc/start/quick-start-preflight.rst create mode 100644 doc/start/rgw.conf (limited to 'doc') diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 00000000..0c7c7474 --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1,2 @@ +/overview.png +/object_store.png diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt new file mode 100644 index 00000000..e0c30d17 --- /dev/null +++ b/doc/CMakeLists.txt @@ -0,0 +1,3 @@ +if(WITH_MANPAGE) + add_subdirectory(man) +endif(WITH_MANPAGE) diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 00000000..e69de29b diff --git a/doc/_ext/ceph_releases.py b/doc/_ext/ceph_releases.py new file mode 100644 index 00000000..bf6dd97f --- /dev/null +++ b/doc/_ext/ceph_releases.py @@ -0,0 +1,202 @@ +# cobbled together from: +# https://github.com/sphinx-contrib/documentedlist/blob/master/sphinxcontrib/documentedlist.py +# https://github.com/sphinx-doc/sphinx/blob/v1.6.3/sphinx/ext/graphviz.py +# https://github.com/thewtex/sphinx-contrib/blob/master/exceltable/sphinxcontrib/exceltable.py +# https://bitbucket.org/prometheus/sphinxcontrib-htsql/src/331a542c29a102eec9f8cba44797e53a49de2a49/sphinxcontrib/htsql.py?at=default&fileviewer=file-view-default +# into the glory that follows: +import json +import six +import yaml +import sphinx +import datetime +from docutils.parsers.rst import Directive +from docutils import nodes +from sphinx.util import logging + +class CephReleases(Directive): + has_content = False + required_arguments = 1 + optional_arguments = 0 + option_spec = {} + + def run(self): + filename = self.arguments[0] + document = self.state.document + env = document.settings.env + rel_filename, filename = env.relfn2path(filename) + env.note_dependency(filename) + try: + with open(filename, 'r') as fp: + releases = yaml.load(fp) + releases = releases["releases"] + except Exception as e: + return [document.reporter.warning( + "Failed to open Ceph releases file {}: {}".format(filename, e), + line=self.lineno)] + + table = nodes.table() + tgroup = nodes.tgroup(cols=3) + table += tgroup + + tgroup.extend( + nodes.colspec(colwidth=30, colname='c'+str(idx)) + for idx, _ in enumerate(range(4))) + + thead = nodes.thead() + tgroup += thead + row_node = nodes.row() + thead += row_node + row_node.extend(nodes.entry(h, nodes.paragraph(text=h)) + for h in ["Version", "Initial release", "Latest", "End of life (estimated)"]) + + releases = six.iteritems(releases) + releases = sorted(releases, key=lambda t: t[0], reverse=True) + + tbody = nodes.tbody() + tgroup += tbody + + rows = [] + for code_name, info in releases: + actual_eol = info.get("actual_eol", None) + if actual_eol and actual_eol <= datetime.datetime.now().date(): + continue + trow = nodes.row() + + entry = nodes.entry() + para = nodes.paragraph(text="`{}`_".format(code_name)) + sphinx.util.nodes.nested_parse_with_titles( + self.state, para, entry) + #entry += para + trow += entry + + sorted_releases = sorted(info["releases"], + key=lambda t: [t["released"]] + list(map(lambda v: int(v), t["version"].split(".")))) + oldest_release = sorted_releases[0] + newest_release = sorted_releases[-1] + + entry = nodes.entry() + para = nodes.paragraph(text="{}".format( + oldest_release["released"].strftime("%b %Y"))) + entry += para + trow += entry + + entry = nodes.entry() + if newest_release.get("skip_ref", False): + para = nodes.paragraph(text="{}".format( + newest_release["version"])) + else: + para = nodes.paragraph(text="`{}`_".format( + newest_release["version"])) + sphinx.util.nodes.nested_parse_with_titles( + self.state, para, entry) + #entry += para + trow += entry + + entry = nodes.entry() + para = nodes.paragraph(text="{}".format( + info.get("target_eol", "--"))) + entry += para + trow += entry + + rows.append(trow) + + tbody.extend(rows) + + return [table] + +class CephTimeline(Directive): + has_content = False + required_arguments = 12 + optional_arguments = 0 + option_spec = {} + + def run(self): + filename = self.arguments[0] + document = self.state.document + env = document.settings.env + rel_filename, filename = env.relfn2path(filename) + env.note_dependency(filename) + try: + with open(filename, 'r') as fp: + releases = yaml.load(fp) + except Exception as e: + return [document.reporter.warning( + "Failed to open Ceph releases file {}: {}".format(filename, e), + line=self.lineno)] + + display_releases = self.arguments[1:] + + timeline = [] + for code_name, info in six.iteritems(releases["releases"]): + if code_name in display_releases: + for release in info.get("releases", []): + released = release["released"] + timeline.append((released, code_name, release["version"], + release.get("skip_ref", False))) + + assert "development" not in releases["releases"] + if "development" in display_releases: + for release in releases["development"]["releases"]: + released = release["released"] + timeline.append((released, "development", release["version"], + release.get("skip_ref", False))) + + timeline = sorted(timeline, key=lambda t: t[0], reverse=True) + + table = nodes.table() + tgroup = nodes.tgroup(cols=3) + table += tgroup + + columns = ["Date"] + display_releases + tgroup.extend( + nodes.colspec(colwidth=30, colname='c'+str(idx)) + for idx, _ in enumerate(range(len(columns)))) + + thead = nodes.thead() + tgroup += thead + row_node = nodes.row() + thead += row_node + for col in columns: + entry = nodes.entry() + if col.lower() in ["date", "development"]: + para = nodes.paragraph(text=col) + else: + para = nodes.paragraph(text="`{}`_".format(col)) + sphinx.util.nodes.nested_parse_with_titles( + self.state, para, entry) + row_node += entry + + tbody = nodes.tbody() + tgroup += tbody + + rows = [] + for row_info in timeline: + trow = nodes.row() + + entry = nodes.entry() + para = nodes.paragraph(text=row_info[0].strftime("%b %Y")) + entry += para + trow += entry + + for release in display_releases: + entry = nodes.entry() + if row_info[1] == release: + if row_info[3]: # if skip ref + para = nodes.paragraph(text=row_info[2]) + else: + para = nodes.paragraph(text="`{}`_".format(row_info[2])) + sphinx.util.nodes.nested_parse_with_titles( + self.state, para, entry) + else: + para = nodes.paragraph(text="--") + entry += para + trow += entry + rows.append(trow) + + tbody.extend(rows) + + return [table] + +def setup(app): + app.add_directive('ceph_releases', CephReleases) + app.add_directive('ceph_timeline', CephTimeline) diff --git a/doc/_ext/edit_on_github.py b/doc/_ext/edit_on_github.py new file mode 100644 index 00000000..290f4b42 --- /dev/null +++ b/doc/_ext/edit_on_github.py @@ -0,0 +1,43 @@ +""" +Adapted from https://gist.github.com/mgedmin/6052926 + +Sphinx extension to add ReadTheDocs-style "Edit on GitHub" links to the +sidebar. + +Loosely based on https://github.com/astropy/astropy/pull/347 +""" + +import os +import warnings + + +__licence__ = 'BSD (3 clause)' + + +def get_github_url(app, view, path): + return 'https://github.com/{project}/{view}/{branch}/doc/{path}'.format( + project=app.config.edit_on_github_project, + view=view, + branch=app.config.edit_on_github_branch, + path=path) + + +def html_page_context(app, pagename, templatename, context, doctree): + if templatename != 'page.html': + return + + if not app.config.edit_on_github_project: + warnings.warn("edit_on_github_project not specified") + return + + path = os.path.relpath(doctree.get('source'), app.builder.srcdir) + show_url = get_github_url(app, 'blob', path) + edit_url = get_github_url(app, 'edit', path) + + context['show_on_github_url'] = show_url + context['edit_on_github_url'] = edit_url + +def setup(app): + app.add_config_value('edit_on_github_project', '', True) + app.add_config_value('edit_on_github_branch', 'master', True) + app.connect('html-page-context', html_page_context) diff --git a/doc/_static/js/ceph.js b/doc/_static/js/ceph.js new file mode 100644 index 00000000..61f95fb6 --- /dev/null +++ b/doc/_static/js/ceph.js @@ -0,0 +1,41 @@ +$(function() { + var releases_url = "http://docs.ceph.com/docs/master/releases.json"; + + function show_edit(branch, data) { + if (branch) { + if (branch === "master") { + $("#dev-warning").show(); + return true; + } + if (data && data.releases && branch in data.releases) { + var eol = ("actual_eol" in data.releases[branch]); + if (eol) { + $("#eol-warning").show(); + } + return !eol; + } + } + $("#dev-warning").show(); + return false; + } + + function get_branch() { + var url = window.location.href; + var res = url.match(/docs.ceph.com\/docs\/([a-z]+)\/?/i) + if (res) { + return res[1] + } + return null; + } + + $.getJSON(releases_url, function(data) { + var branch = get_branch(); + if (show_edit(branch, data)) { + // patch the edit-on-github URL for correct branch + var url = $("#edit-on-github").attr("href"); + url = url.replace("master", branch); + $("#edit-on-github").attr("href", url); + $("#docubetter").show(); + } + }); +}); diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html new file mode 100644 index 00000000..c6f57096 --- /dev/null +++ b/doc/_templates/layout.html @@ -0,0 +1,5 @@ +{% extends "!layout.html" %} + +{%- block extrahead %} + +{% endblock %} diff --git a/doc/_templates/page.html b/doc/_templates/page.html new file mode 100644 index 00000000..cfcf309b --- /dev/null +++ b/doc/_templates/page.html @@ -0,0 +1,21 @@ +{% extends "!page.html" %} +{% block body %} + + + + + +{%- if edit_on_github_url %} + +{%- endif %} + + {{ super() }} +{% endblock %} diff --git a/doc/_templates/smarttoc.html b/doc/_templates/smarttoc.html new file mode 100644 index 00000000..7a3fd3f2 --- /dev/null +++ b/doc/_templates/smarttoc.html @@ -0,0 +1,16 @@ +{# + Sphinx sidebar template: smart table of contents. + + Shows a sidebar ToC that gives you a more global view of the + documentation, and not the confusing cur/prev/next which is the + default sidebar. + + The ToC will open and collapse automatically to show the part of the + hierarchy you are in. Top-level items will always be visible. + +#} +

{{ _('Table Of Contents') }}

+{{ toctree(maxdepth=-1, includehidden=True) }} + + + diff --git a/doc/_themes/ceph/static/nature.css_t b/doc/_themes/ceph/static/nature.css_t new file mode 100644 index 00000000..95813cb0 --- /dev/null +++ b/doc/_themes/ceph/static/nature.css_t @@ -0,0 +1,314 @@ +/* + * nature.css_t + * ~~~~~~~~~~~~ + * + * Sphinx stylesheet -- nature theme. + * + * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +@import url('http://fonts.googleapis.com/css?family=Titillium+Web:400,300,700'); + +body { + font: 14px/1.4 Helvetica, Arial, sans-serif; + background-color: #E6E8E8; + color: #37424A; + margin: 0; + padding: 0; + border-top: 5px solid #F05C56; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 330px; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.document { + background-color: #ffffff; +} + +div.body { + background-color: #ffffff; + color: #3E4349; + padding: 0 30px 30px 30px; +} + +div.footer { + color: #222B31; + width: 100%; + padding: 13px 0; + text-align: center; + font-size: 75%; +} + +div.footer a { + color: #444; + text-decoration: underline; +} + +div.related { + background-color: #80D2DC; + line-height: 32px; + color: #37424A; + // text-shadow: 0px 1px 0 #444; + font-size: 100%; + border-top: #9C4850 5px solid; +} + +div.related a { + color: #37424A; + text-decoration: none; +} + +div.related a:hover { + color: #fff; + // text-decoration: underline; +} + +div.sphinxsidebar { + // font-size: 100%; + line-height: 1.5em; + width: 330px; +} + +div.sphinxsidebarwrapper{ + padding: 20px 0; + background-color: #efefef; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: 'Titillium Web', sans-serif; + color: #e6e8e8; + font-size: 1.2em; + font-weight: 500; + margin: 0; + padding: 5px 10px; + background-color: #5e6a71; + // text-shadow: 1px 1px 0 white; + text-transform: uppercase; +} + +div.sphinxsidebar h4{ + font-size: 1.1em; +} + +div.sphinxsidebar h3 a { + color: #e6e8e8; +} + + +div.sphinxsidebar p { + color: #888; + padding: 5px 20px; +} + +div.sphinxsidebar p.topless { +} + +div.sphinxsidebar ul { + margin: 10px 5px 10px 20px; + padding: 0; + color: #000; +} + +div.sphinxsidebar a { + color: #444; +} + +div.sphinxsidebar input { + border: 1px solid #ccc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar input[type=text]{ + margin-left: 20px; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #F05C56; + text-decoration: none; +} + +a:hover { + color: #F05C56; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + margin: 30px 0px 10px 0px; + padding: 5px 0 5px 0px; + text-transform: uppercase; +} + +div.body h1 { font: 20px/2.0 'Titillium Web'; color: #37424A; border-top: 20px solid white; margin-top: 0; } +div.body h2 { font: 18px/1.8 'Titillium Web'; background-color: #5E6A71; color: #E6E8E8; padding: 5px 10px; } +div.body h3 { font: 16px/1.6 'Titillium Web'; color: #37424A; } +div.body h4 { font: 14px/1.4 Helvetica, Arial, sans-serif; color: #37424A; } +div.body h5 { font: 12px/1.2 Helvetica, Arial, sans-serif; color: #37424A; } +div.body h6 { font-size: 100%; color: #37424A; } + +// div.body h2 { font-size: 150%; background-color: #E6E8E8; color: #37424A; } +// div.body h3 { font-size: 120%; background-color: #E6E8E8; color: #37424A; } +// div.body h4 { font-size: 110%; background-color: #E6E8E8; color: #37424A; } +// div.body h5 { font-size: 100%; background-color: #E6E8E8; color: #37424A; } +// div.body h6 { font-size: 100%; background-color: #E6E8E8; color: #37424A; } + +a.headerlink { + color: #c60f0f; + font-size: 0.8em; + padding: 0 4px 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + background-color: #c60f0f; + color: white; +} + +div.body p, div.body dd, div.body li { + line-height: 1.5em; +} + +div.admonition p.admonition-title + p { + display: inline; +} + +div.highlight { + background-color: white; +} + +div.note { + background-color: #e6e8e8; + border: 1px solid #ccc; +} + +div.seealso { + background-color: #ffc; + border: 1px solid #ff6; +} + +div.topic { + background-color: #efefef; +} + +div.warning { + background-color: #F05C56; + border: 1px solid #9C4850; + color: #fff; +} + +div.warning a { + color: black; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre { + padding: 10px; + background-color: White; + color: #222; + line-height: 1.2em; + border: 1px solid #5e6a71; + font-size: 1.1em; + margin: 1.5em; + -webkit-box-shadow: 1px 1px 1px #e6e8e8; + -moz-box-shadow: 1px 1px 1px #e6e8e8; +} + +tt { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ + font-size: 15px; + font-family: monospace; +} + +.viewcode-back { + font-family: Arial, sans-serif; +} + +div.viewcode-block:target { + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; +} + +table.docutils { + margin: 1.5em; +} + +div.sidebar { + border: 1px solid #5E6A71; + background-color: #E6E8E8; +} + +div.admonition.tip { + background-color: #80D2DC; + border: 1px solid #55AEBA; +} + +div.admonition.important { + background-color: #F05C56; + border: 1px solid #9C4850; + color: #fff; +} + +div.admonition.important a { + color: #E6E8E8; +} + +div.tip tt.literal { + background-color: #55aeba; + color: #fff; +} + +div.important tt.literal { + background-color: #9C4850; + color: #fff; +} + +h2 .literal { + color: #fff; + background-color: #37424a; +} + +dl.glossary dt { + font-size: 1.0em; + padding-top:20px; + +} + +p.breathe-sectiondef-title { + font-size: 1.3em; + font-weight: bold; + border-bottom: thin solid #5E6A71; +} diff --git a/doc/_themes/ceph/theme.conf b/doc/_themes/ceph/theme.conf new file mode 100644 index 00000000..1cc40044 --- /dev/null +++ b/doc/_themes/ceph/theme.conf @@ -0,0 +1,4 @@ +[theme] +inherit = basic +stylesheet = nature.css +pygments_style = tango diff --git a/doc/api/index.rst b/doc/api/index.rst new file mode 100644 index 00000000..4a017aa8 --- /dev/null +++ b/doc/api/index.rst @@ -0,0 +1,45 @@ +=================== + API Documentation +=================== + + +Ceph Storage Cluster APIs +========================= + +See `Ceph Storage Cluster APIs`_. + +.. _Ceph Storage Cluster APIs: ../rados/api/ + + +Ceph Filesystem APIs +==================== + +See `libcephfs (javadoc)`_. + +.. _libcephfs (javadoc): libcephfs-java + + +Ceph Block Device APIs +====================== + +See `librbdpy`_. + +.. _librbdpy: ../rbd/api/librbdpy + +Ceph RADOS Gateway APIs +======================= + +See `librgw-py`_. + +.. _librgw-py: ../radosgw/api + +Ceph Object Store APIs +====================== + +- See `S3-compatible API`_. +- See `Swift-compatible API`_. +- See `Admin Ops API`_. + +.. _S3-compatible API: ../radosgw/s3/ +.. _Swift-compatible API: ../radosgw/swift/ +.. _Admin Ops API: ../radosgw/adminops diff --git a/doc/api/libcephfs-java.rst b/doc/api/libcephfs-java.rst new file mode 100644 index 00000000..83b5a663 --- /dev/null +++ b/doc/api/libcephfs-java.rst @@ -0,0 +1,18 @@ +=================== +Libcephfs (JavaDoc) +=================== + +.. warning:: + + CephFS Java bindings are no longer tested by CI. They may not work properly + or corrupt data. + + Developers interested in reviving these bindings by fixing and writing tests + are encouraged to contribute! + +.. + The admin/build-docs script runs Ant to build the JavaDoc files, and + copies them to api/libcephfs-java/javadoc/. + + +View the auto-generated `JavaDoc pages for the CephFS Java bindings `_. diff --git a/doc/architecture.rst b/doc/architecture.rst new file mode 100644 index 00000000..84f1b34c --- /dev/null +++ b/doc/architecture.rst @@ -0,0 +1,1634 @@ +============== + Architecture +============== + +:term:`Ceph` uniquely delivers **object, block, and file storage** in one +unified system. Ceph is highly reliable, easy to manage, and free. The power of +Ceph can transform your company's IT infrastructure and your ability to manage +vast amounts of data. Ceph delivers extraordinary scalability–thousands of +clients accessing petabytes to exabytes of data. A :term:`Ceph Node` leverages +commodity hardware and intelligent daemons, and a :term:`Ceph Storage Cluster` +accommodates large numbers of nodes, which communicate with each other to +replicate and redistribute data dynamically. + +.. image:: images/stack.png + + +The Ceph Storage Cluster +======================== + +Ceph provides an infinitely scalable :term:`Ceph Storage Cluster` based upon +:abbr:`RADOS (Reliable Autonomic Distributed Object Store)`, which you can read +about in `RADOS - A Scalable, Reliable Storage Service for Petabyte-scale +Storage Clusters`_. + +A Ceph Storage Cluster consists of two types of daemons: + +- :term:`Ceph Monitor` +- :term:`Ceph OSD Daemon` + +.. ditaa:: + + +---------------+ +---------------+ + | OSDs | | Monitors | + +---------------+ +---------------+ + +A Ceph Monitor maintains a master copy of the cluster map. A cluster of Ceph +monitors ensures high availability should a monitor daemon fail. Storage cluster +clients retrieve a copy of the cluster map from the Ceph Monitor. + +A Ceph OSD Daemon checks its own state and the state of other OSDs and reports +back to monitors. + +Storage cluster clients and each :term:`Ceph OSD Daemon` use the CRUSH algorithm +to efficiently compute information about data location, instead of having to +depend on a central lookup table. Ceph's high-level features include providing a +native interface to the Ceph Storage Cluster via ``librados``, and a number of +service interfaces built on top of ``librados``. + + + +Storing Data +------------ + +The Ceph Storage Cluster receives data from :term:`Ceph Clients`--whether it +comes through a :term:`Ceph Block Device`, :term:`Ceph Object Storage`, the +:term:`Ceph Filesystem` or a custom implementation you create using +``librados``--and it stores the data as objects. Each object corresponds to a +file in a filesystem, which is stored on an :term:`Object Storage Device`. Ceph +OSD Daemons handle the read/write operations on the storage disks. + +.. ditaa:: + + /-----\ +-----+ +-----+ + | obj |------>| {d} |------>| {s} | + \-----/ +-----+ +-----+ + + Object File Disk + +Ceph OSD Daemons store all data as objects in a flat namespace (e.g., no +hierarchy of directories). An object has an identifier, binary data, and +metadata consisting of a set of name/value pairs. The semantics are completely +up to :term:`Ceph Clients`. For example, CephFS uses metadata to store file +attributes such as the file owner, created date, last modified date, and so +forth. + + +.. ditaa:: + + /------+------------------------------+----------------\ + | ID | Binary Data | Metadata | + +------+------------------------------+----------------+ + | 1234 | 0101010101010100110101010010 | name1 = value1 | + | | 0101100001010100110101010010 | name2 = value2 | + | | 0101100001010100110101010010 | nameN = valueN | + \------+------------------------------+----------------/ + +.. note:: An object ID is unique across the entire cluster, not just the local + filesystem. + + +.. index:: architecture; high availability, scalability + +Scalability and High Availability +--------------------------------- + +In traditional architectures, clients talk to a centralized component (e.g., a +gateway, broker, API, facade, etc.), which acts as a single point of entry to a +complex subsystem. This imposes a limit to both performance and scalability, +while introducing a single point of failure (i.e., if the centralized component +goes down, the whole system goes down, too). + +Ceph eliminates the centralized gateway to enable clients to interact with +Ceph OSD Daemons directly. Ceph OSD Daemons create object replicas on other +Ceph Nodes to ensure data safety and high availability. Ceph also uses a cluster +of monitors to ensure high availability. To eliminate centralization, Ceph +uses an algorithm called CRUSH. + + +.. index:: CRUSH; architecture + +CRUSH Introduction +~~~~~~~~~~~~~~~~~~ + +Ceph Clients and Ceph OSD Daemons both use the :abbr:`CRUSH (Controlled +Replication Under Scalable Hashing)` algorithm to efficiently compute +information about object location, instead of having to depend on a +central lookup table. CRUSH provides a better data management mechanism compared +to older approaches, and enables massive scale by cleanly distributing the work +to all the clients and OSD daemons in the cluster. CRUSH uses intelligent data +replication to ensure resiliency, which is better suited to hyper-scale storage. +The following sections provide additional details on how CRUSH works. For a +detailed discussion of CRUSH, see `CRUSH - Controlled, Scalable, Decentralized +Placement of Replicated Data`_. + +.. index:: architecture; cluster map + +Cluster Map +~~~~~~~~~~~ + +Ceph depends upon Ceph Clients and Ceph OSD Daemons having knowledge of the +cluster topology, which is inclusive of 5 maps collectively referred to as the +"Cluster Map": + +#. **The Monitor Map:** Contains the cluster ``fsid``, the position, name + address and port of each monitor. It also indicates the current epoch, + when the map was created, and the last time it changed. To view a monitor + map, execute ``ceph mon dump``. + +#. **The OSD Map:** Contains the cluster ``fsid``, when the map was created and + last modified, a list of pools, replica sizes, PG numbers, a list of OSDs + and their status (e.g., ``up``, ``in``). To view an OSD map, execute + ``ceph osd dump``. + +#. **The PG Map:** Contains the PG version, its time stamp, the last OSD + map epoch, the full ratios, and details on each placement group such as + the PG ID, the `Up Set`, the `Acting Set`, the state of the PG (e.g., + ``active + clean``), and data usage statistics for each pool. + +#. **The CRUSH Map:** Contains a list of storage devices, the failure domain + hierarchy (e.g., device, host, rack, row, room, etc.), and rules for + traversing the hierarchy when storing data. To view a CRUSH map, execute + ``ceph osd getcrushmap -o {filename}``; then, decompile it by executing + ``crushtool -d {comp-crushmap-filename} -o {decomp-crushmap-filename}``. + You can view the decompiled map in a text editor or with ``cat``. + +#. **The MDS Map:** Contains the current MDS map epoch, when the map was + created, and the last time it changed. It also contains the pool for + storing metadata, a list of metadata servers, and which metadata servers + are ``up`` and ``in``. To view an MDS map, execute ``ceph fs dump``. + +Each map maintains an iterative history of its operating state changes. Ceph +Monitors maintain a master copy of the cluster map including the cluster +members, state, changes, and the overall health of the Ceph Storage Cluster. + +.. index:: high availability; monitor architecture + +High Availability Monitors +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Before Ceph Clients can read or write data, they must contact a Ceph Monitor +to obtain the most recent copy of the cluster map. A Ceph Storage Cluster +can operate with a single monitor; however, this introduces a single +point of failure (i.e., if the monitor goes down, Ceph Clients cannot +read or write data). + +For added reliability and fault tolerance, Ceph supports a cluster of monitors. +In a cluster of monitors, latency and other faults can cause one or more +monitors to fall behind the current state of the cluster. For this reason, Ceph +must have agreement among various monitor instances regarding the state of the +cluster. Ceph always uses a majority of monitors (e.g., 1, 2:3, 3:5, 4:6, etc.) +and the `Paxos`_ algorithm to establish a consensus among the monitors about the +current state of the cluster. + +For details on configuring monitors, see the `Monitor Config Reference`_. + +.. index:: architecture; high availability authentication + +High Availability Authentication +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To identify users and protect against man-in-the-middle attacks, Ceph provides +its ``cephx`` authentication system to authenticate users and daemons. + +.. note:: The ``cephx`` protocol does not address data encryption in transport + (e.g., SSL/TLS) or encryption at rest. + +Cephx uses shared secret keys for authentication, meaning both the client and +the monitor cluster have a copy of the client's secret key. The authentication +protocol is such that both parties are able to prove to each other they have a +copy of the key without actually revealing it. This provides mutual +authentication, which means the cluster is sure the user possesses the secret +key, and the user is sure that the cluster has a copy of the secret key. + +A key scalability feature of Ceph is to avoid a centralized interface to the +Ceph object store, which means that Ceph clients must be able to interact with +OSDs directly. To protect data, Ceph provides its ``cephx`` authentication +system, which authenticates users operating Ceph clients. The ``cephx`` protocol +operates in a manner with behavior similar to `Kerberos`_. + +A user/actor invokes a Ceph client to contact a monitor. Unlike Kerberos, each +monitor can authenticate users and distribute keys, so there is no single point +of failure or bottleneck when using ``cephx``. The monitor returns an +authentication data structure similar to a Kerberos ticket that contains a +session key for use in obtaining Ceph services. This session key is itself +encrypted with the user's permanent secret key, so that only the user can +request services from the Ceph Monitor(s). The client then uses the session key +to request its desired services from the monitor, and the monitor provides the +client with a ticket that will authenticate the client to the OSDs that actually +handle data. Ceph Monitors and OSDs share a secret, so the client can use the +ticket provided by the monitor with any OSD or metadata server in the cluster. +Like Kerberos, ``cephx`` tickets expire, so an attacker cannot use an expired +ticket or session key obtained surreptitiously. This form of authentication will +prevent attackers with access to the communications medium from either creating +bogus messages under another user's identity or altering another user's +legitimate messages, as long as the user's secret key is not divulged before it +expires. + +To use ``cephx``, an administrator must set up users first. In the following +diagram, the ``client.admin`` user invokes ``ceph auth get-or-create-key`` from +the command line to generate a username and secret key. Ceph's ``auth`` +subsystem generates the username and key, stores a copy with the monitor(s) and +transmits the user's secret back to the ``client.admin`` user. This means that +the client and the monitor share a secret key. + +.. note:: The ``client.admin`` user must provide the user ID and + secret key to the user in a secure manner. + +.. ditaa:: + + +---------+ +---------+ + | Client | | Monitor | + +---------+ +---------+ + | request to | + | create a user | + |-------------->|----------+ create user + | | | and + |<--------------|<---------+ store key + | transmit key | + | | + + +To authenticate with the monitor, the client passes in the user name to the +monitor, and the monitor generates a session key and encrypts it with the secret +key associated to the user name. Then, the monitor transmits the encrypted +ticket back to the client. The client then decrypts the payload with the shared +secret key to retrieve the session key. The session key identifies the user for +the current session. The client then requests a ticket on behalf of the user +signed by the session key. The monitor generates a ticket, encrypts it with the +user's secret key and transmits it back to the client. The client decrypts the +ticket and uses it to sign requests to OSDs and metadata servers throughout the +cluster. + +.. ditaa:: + + +---------+ +---------+ + | Client | | Monitor | + +---------+ +---------+ + | authenticate | + |-------------->|----------+ generate and + | | | encrypt + |<--------------|<---------+ session key + | transmit | + | encrypted | + | session key | + | | + |-----+ decrypt | + | | session | + |<----+ key | + | | + | req. ticket | + |-------------->|----------+ generate and + | | | encrypt + |<--------------|<---------+ ticket + | recv. ticket | + | | + |-----+ decrypt | + | | ticket | + |<----+ | + + +The ``cephx`` protocol authenticates ongoing communications between the client +machine and the Ceph servers. Each message sent between a client and server, +subsequent to the initial authentication, is signed using a ticket that the +monitors, OSDs and metadata servers can verify with their shared secret. + +.. ditaa:: + + +---------+ +---------+ +-------+ +-------+ + | Client | | Monitor | | MDS | | OSD | + +---------+ +---------+ +-------+ +-------+ + | request to | | | + | create a user | | | + |-------------->| mon and | | + |<--------------| client share | | + | receive | a secret. | | + | shared secret | | | + | |<------------>| | + | |<-------------+------------>| + | | mon, mds, | | + | authenticate | and osd | | + |-------------->| share | | + |<--------------| a secret | | + | session key | | | + | | | | + | req. ticket | | | + |-------------->| | | + |<--------------| | | + | recv. ticket | | | + | | | | + | make request (CephFS only) | | + |----------------------------->| | + |<-----------------------------| | + | receive response (CephFS only) | + | | + | make request | + |------------------------------------------->| + |<-------------------------------------------| + receive response + +The protection offered by this authentication is between the Ceph client and the +Ceph server hosts. The authentication is not extended beyond the Ceph client. If +the user accesses the Ceph client from a remote host, Ceph authentication is not +applied to the connection between the user's host and the client host. + + +For configuration details, see `Cephx Config Guide`_. For user management +details, see `User Management`_. + + +.. index:: architecture; smart daemons and scalability + +Smart Daemons Enable Hyperscale +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In many clustered architectures, the primary purpose of cluster membership is +so that a centralized interface knows which nodes it can access. Then the +centralized interface provides services to the client through a double +dispatch--which is a **huge** bottleneck at the petabyte-to-exabyte scale. + +Ceph eliminates the bottleneck: Ceph's OSD Daemons AND Ceph Clients are cluster +aware. Like Ceph clients, each Ceph OSD Daemon knows about other Ceph OSD +Daemons in the cluster. This enables Ceph OSD Daemons to interact directly with +other Ceph OSD Daemons and Ceph Monitors. Additionally, it enables Ceph Clients +to interact directly with Ceph OSD Daemons. + +The ability of Ceph Clients, Ceph Monitors and Ceph OSD Daemons to interact with +each other means that Ceph OSD Daemons can utilize the CPU and RAM of the Ceph +nodes to easily perform tasks that would bog down a centralized server. The +ability to leverage this computing power leads to several major benefits: + +#. **OSDs Service Clients Directly:** Since any network device has a limit to + the number of concurrent connections it can support, a centralized system + has a low physical limit at high scales. By enabling Ceph Clients to contact + Ceph OSD Daemons directly, Ceph increases both performance and total system + capacity simultaneously, while removing a single point of failure. Ceph + Clients can maintain a session when they need to, and with a particular Ceph + OSD Daemon instead of a centralized server. + +#. **OSD Membership and Status**: Ceph OSD Daemons join a cluster and report + on their status. At the lowest level, the Ceph OSD Daemon status is ``up`` + or ``down`` reflecting whether or not it is running and able to service + Ceph Client requests. If a Ceph OSD Daemon is ``down`` and ``in`` the Ceph + Storage Cluster, this status may indicate the failure of the Ceph OSD + Daemon. If a Ceph OSD Daemon is not running (e.g., it crashes), the Ceph OSD + Daemon cannot notify the Ceph Monitor that it is ``down``. The OSDs + periodically send messages to the Ceph Monitor (``MPGStats`` pre-luminous, + and a new ``MOSDBeacon`` in luminous). If the Ceph Monitor doesn't see that + message after a configurable period of time then it marks the OSD down. + This mechanism is a failsafe, however. Normally, Ceph OSD Daemons will + determine if a neighboring OSD is down and report it to the Ceph Monitor(s). + This assures that Ceph Monitors are lightweight processes. See `Monitoring + OSDs`_ and `Heartbeats`_ for additional details. + +#. **Data Scrubbing:** As part of maintaining data consistency and cleanliness, + Ceph OSD Daemons can scrub objects within placement groups. That is, Ceph + OSD Daemons can compare object metadata in one placement group with its + replicas in placement groups stored on other OSDs. Scrubbing (usually + performed daily) catches bugs or filesystem errors. Ceph OSD Daemons also + perform deeper scrubbing by comparing data in objects bit-for-bit. Deep + scrubbing (usually performed weekly) finds bad sectors on a drive that + weren't apparent in a light scrub. See `Data Scrubbing`_ for details on + configuring scrubbing. + +#. **Replication:** Like Ceph Clients, Ceph OSD Daemons use the CRUSH + algorithm, but the Ceph OSD Daemon uses it to compute where replicas of + objects should be stored (and for rebalancing). In a typical write scenario, + a client uses the CRUSH algorithm to compute where to store an object, maps + the object to a pool and placement group, then looks at the CRUSH map to + identify the primary OSD for the placement group. + + The client writes the object to the identified placement group in the + primary OSD. Then, the primary OSD with its own copy of the CRUSH map + identifies the secondary and tertiary OSDs for replication purposes, and + replicates the object to the appropriate placement groups in the secondary + and tertiary OSDs (as many OSDs as additional replicas), and responds to the + client once it has confirmed the object was stored successfully. + +.. ditaa:: + + +----------+ + | Client | + | | + +----------+ + * ^ + Write (1) | | Ack (6) + | | + v * + +-------------+ + | Primary OSD | + | | + +-------------+ + * ^ ^ * + Write (2) | | | | Write (3) + +------+ | | +------+ + | +------+ +------+ | + | | Ack (4) Ack (5)| | + v * * v + +---------------+ +---------------+ + | Secondary OSD | | Tertiary OSD | + | | | | + +---------------+ +---------------+ + +With the ability to perform data replication, Ceph OSD Daemons relieve Ceph +clients from that duty, while ensuring high data availability and data safety. + + +Dynamic Cluster Management +-------------------------- + +In the `Scalability and High Availability`_ section, we explained how Ceph uses +CRUSH, cluster awareness and intelligent daemons to scale and maintain high +availability. Key to Ceph's design is the autonomous, self-healing, and +intelligent Ceph OSD Daemon. Let's take a deeper look at how CRUSH works to +enable modern cloud storage infrastructures to place data, rebalance the cluster +and recover from faults dynamically. + +.. index:: architecture; pools + +About Pools +~~~~~~~~~~~ + +The Ceph storage system supports the notion of 'Pools', which are logical +partitions for storing objects. + +Ceph Clients retrieve a `Cluster Map`_ from a Ceph Monitor, and write objects to +pools. The pool's ``size`` or number of replicas, the CRUSH rule and the +number of placement groups determine how Ceph will place the data. + +.. ditaa:: + + +--------+ Retrieves +---------------+ + | Client |------------>| Cluster Map | + +--------+ +---------------+ + | + v Writes + /-----\ + | obj | + \-----/ + | To + v + +--------+ +---------------+ + | Pool |---------->| CRUSH Rule | + +--------+ Selects +---------------+ + + +Pools set at least the following parameters: + +- Ownership/Access to Objects +- The Number of Placement Groups, and +- The CRUSH Rule to Use. + +See `Set Pool Values`_ for details. + + +.. index: architecture; placement group mapping + +Mapping PGs to OSDs +~~~~~~~~~~~~~~~~~~~ + +Each pool has a number of placement groups. CRUSH maps PGs to OSDs dynamically. +When a Ceph Client stores objects, CRUSH will map each object to a placement +group. + +Mapping objects to placement groups creates a layer of indirection between the +Ceph OSD Daemon and the Ceph Client. The Ceph Storage Cluster must be able to +grow (or shrink) and rebalance where it stores objects dynamically. If the Ceph +Client "knew" which Ceph OSD Daemon had which object, that would create a tight +coupling between the Ceph Client and the Ceph OSD Daemon. Instead, the CRUSH +algorithm maps each object to a placement group and then maps each placement +group to one or more Ceph OSD Daemons. This layer of indirection allows Ceph to +rebalance dynamically when new Ceph OSD Daemons and the underlying OSD devices +come online. The following diagram depicts how CRUSH maps objects to placement +groups, and placement groups to OSDs. + +.. ditaa:: + + /-----\ /-----\ /-----\ /-----\ /-----\ + | obj | | obj | | obj | | obj | | obj | + \-----/ \-----/ \-----/ \-----/ \-----/ + | | | | | + +--------+--------+ +---+----+ + | | + v v + +-----------------------+ +-----------------------+ + | Placement Group #1 | | Placement Group #2 | + | | | | + +-----------------------+ +-----------------------+ + | | + | +-----------------------+---+ + +------+------+-------------+ | + | | | | + v v v v + /----------\ /----------\ /----------\ /----------\ + | | | | | | | | + | OSD #1 | | OSD #2 | | OSD #3 | | OSD #4 | + | | | | | | | | + \----------/ \----------/ \----------/ \----------/ + +With a copy of the cluster map and the CRUSH algorithm, the client can compute +exactly which OSD to use when reading or writing a particular object. + +.. index:: architecture; calculating PG IDs + +Calculating PG IDs +~~~~~~~~~~~~~~~~~~ + +When a Ceph Client binds to a Ceph Monitor, it retrieves the latest copy of the +`Cluster Map`_. With the cluster map, the client knows about all of the monitors, +OSDs, and metadata servers in the cluster. **However, it doesn't know anything +about object locations.** + +.. epigraph:: + + Object locations get computed. + + +The only input required by the client is the object ID and the pool. +It's simple: Ceph stores data in named pools (e.g., "liverpool"). When a client +wants to store a named object (e.g., "john," "paul," "george," "ringo", etc.) +it calculates a placement group using the object name, a hash code, the +number of PGs in the pool and the pool name. Ceph clients use the following +steps to compute PG IDs. + +#. The client inputs the pool name and the object ID. (e.g., pool = "liverpool" + and object-id = "john") +#. Ceph takes the object ID and hashes it. +#. Ceph calculates the hash modulo the number of PGs. (e.g., ``58``) to get + a PG ID. +#. Ceph gets the pool ID given the pool name (e.g., "liverpool" = ``4``) +#. Ceph prepends the pool ID to the PG ID (e.g., ``4.58``). + +Computing object locations is much faster than performing object location query +over a chatty session. The :abbr:`CRUSH (Controlled Replication Under Scalable +Hashing)` algorithm allows a client to compute where objects *should* be stored, +and enables the client to contact the primary OSD to store or retrieve the +objects. + +.. index:: architecture; PG Peering + +Peering and Sets +~~~~~~~~~~~~~~~~ + +In previous sections, we noted that Ceph OSD Daemons check each others +heartbeats and report back to the Ceph Monitor. Another thing Ceph OSD daemons +do is called 'peering', which is the process of bringing all of the OSDs that +store a Placement Group (PG) into agreement about the state of all of the +objects (and their metadata) in that PG. In fact, Ceph OSD Daemons `Report +Peering Failure`_ to the Ceph Monitors. Peering issues usually resolve +themselves; however, if the problem persists, you may need to refer to the +`Troubleshooting Peering Failure`_ section. + +.. Note:: Agreeing on the state does not mean that the PGs have the latest contents. + +The Ceph Storage Cluster was designed to store at least two copies of an object +(i.e., ``size = 2``), which is the minimum requirement for data safety. For high +availability, a Ceph Storage Cluster should store more than two copies of an object +(e.g., ``size = 3`` and ``min size = 2``) so that it can continue to run in a +``degraded`` state while maintaining data safety. + +Referring back to the diagram in `Smart Daemons Enable Hyperscale`_, we do not +name the Ceph OSD Daemons specifically (e.g., ``osd.0``, ``osd.1``, etc.), but +rather refer to them as *Primary*, *Secondary*, and so forth. By convention, +the *Primary* is the first OSD in the *Acting Set*, and is responsible for +coordinating the peering process for each placement group where it acts as +the *Primary*, and is the **ONLY** OSD that that will accept client-initiated +writes to objects for a given placement group where it acts as the *Primary*. + +When a series of OSDs are responsible for a placement group, that series of +OSDs, we refer to them as an *Acting Set*. An *Acting Set* may refer to the Ceph +OSD Daemons that are currently responsible for the placement group, or the Ceph +OSD Daemons that were responsible for a particular placement group as of some +epoch. + +The Ceph OSD daemons that are part of an *Acting Set* may not always be ``up``. +When an OSD in the *Acting Set* is ``up``, it is part of the *Up Set*. The *Up +Set* is an important distinction, because Ceph can remap PGs to other Ceph OSD +Daemons when an OSD fails. + +.. note:: In an *Acting Set* for a PG containing ``osd.25``, ``osd.32`` and + ``osd.61``, the first OSD, ``osd.25``, is the *Primary*. If that OSD fails, + the Secondary, ``osd.32``, becomes the *Primary*, and ``osd.25`` will be + removed from the *Up Set*. + + +.. index:: architecture; Rebalancing + +Rebalancing +~~~~~~~~~~~ + +When you add a Ceph OSD Daemon to a Ceph Storage Cluster, the cluster map gets +updated with the new OSD. Referring back to `Calculating PG IDs`_, this changes +the cluster map. Consequently, it changes object placement, because it changes +an input for the calculations. The following diagram depicts the rebalancing +process (albeit rather crudely, since it is substantially less impactful with +large clusters) where some, but not all of the PGs migrate from existing OSDs +(OSD 1, and OSD 2) to the new OSD (OSD 3). Even when rebalancing, CRUSH is +stable. Many of the placement groups remain in their original configuration, +and each OSD gets some added capacity, so there are no load spikes on the +new OSD after rebalancing is complete. + + +.. ditaa:: + + +--------+ +--------+ + Before | OSD 1 | | OSD 2 | + +--------+ +--------+ + | PG #1 | | PG #6 | + | PG #2 | | PG #7 | + | PG #3 | | PG #8 | + | PG #4 | | PG #9 | + | PG #5 | | PG #10 | + +--------+ +--------+ + + +--------+ +--------+ +--------+ + After | OSD 1 | | OSD 2 | | OSD 3 | + +--------+ +--------+ +--------+ + | PG #1 | | PG #7 | | PG #3 | + | PG #2 | | PG #8 | | PG #6 | + | PG #4 | | PG #10 | | PG #9 | + | PG #5 | | | | | + | | | | | | + +--------+ +--------+ +--------+ + + +.. index:: architecture; Data Scrubbing + +Data Consistency +~~~~~~~~~~~~~~~~ + +As part of maintaining data consistency and cleanliness, Ceph OSDs can also +scrub objects within placement groups. That is, Ceph OSDs can compare object +metadata in one placement group with its replicas in placement groups stored in +other OSDs. Scrubbing (usually performed daily) catches OSD bugs or filesystem +errors. OSDs can also perform deeper scrubbing by comparing data in objects +bit-for-bit. Deep scrubbing (usually performed weekly) finds bad sectors on a +disk that weren't apparent in a light scrub. + +See `Data Scrubbing`_ for details on configuring scrubbing. + + + + + +.. index:: erasure coding + +Erasure Coding +-------------- + +An erasure coded pool stores each object as ``K+M`` chunks. It is divided into +``K`` data chunks and ``M`` coding chunks. The pool is configured to have a size +of ``K+M`` so that each chunk is stored in an OSD in the acting set. The rank of +the chunk is stored as an attribute of the object. + +For instance an erasure coded pool is created to use five OSDs (``K+M = 5``) and +sustain the loss of two of them (``M = 2``). + +Reading and Writing Encoded Chunks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When the object **NYAN** containing ``ABCDEFGHI`` is written to the pool, the erasure +encoding function splits the content into three data chunks simply by dividing +the content in three: the first contains ``ABC``, the second ``DEF`` and the +last ``GHI``. The content will be padded if the content length is not a multiple +of ``K``. The function also creates two coding chunks: the fourth with ``YXY`` +and the fifth with ``QGC``. Each chunk is stored in an OSD in the acting set. +The chunks are stored in objects that have the same name (**NYAN**) but reside +on different OSDs. The order in which the chunks were created must be preserved +and is stored as an attribute of the object (``shard_t``), in addition to its +name. Chunk 1 contains ``ABC`` and is stored on **OSD5** while chunk 4 contains +``YXY`` and is stored on **OSD3**. + + +.. ditaa:: + + +-------------------+ + name | NYAN | + +-------------------+ + content | ABCDEFGHI | + +--------+----------+ + | + | + v + +------+------+ + +---------------+ encode(3,2) +-----------+ + | +--+--+---+---+ | + | | | | | + | +-------+ | +-----+ | + | | | | | + +--v---+ +--v---+ +--v---+ +--v---+ +--v---+ + name | NYAN | | NYAN | | NYAN | | NYAN | | NYAN | + +------+ +------+ +------+ +------+ +------+ + shard | 1 | | 2 | | 3 | | 4 | | 5 | + +------+ +------+ +------+ +------+ +------+ + content | ABC | | DEF | | GHI | | YXY | | QGC | + +--+---+ +--+---+ +--+---+ +--+---+ +--+---+ + | | | | | + | | v | | + | | +--+---+ | | + | | | OSD1 | | | + | | +------+ | | + | | | | + | | +------+ | | + | +------>| OSD2 | | | + | +------+ | | + | | | + | +------+ | | + | | OSD3 |<----+ | + | +------+ | + | | + | +------+ | + | | OSD4 |<--------------+ + | +------+ + | + | +------+ + +----------------->| OSD5 | + +------+ + + +When the object **NYAN** is read from the erasure coded pool, the decoding +function reads three chunks: chunk 1 containing ``ABC``, chunk 3 containing +``GHI`` and chunk 4 containing ``YXY``. Then, it rebuilds the original content +of the object ``ABCDEFGHI``. The decoding function is informed that the chunks 2 +and 5 are missing (they are called 'erasures'). The chunk 5 could not be read +because the **OSD4** is out. The decoding function can be called as soon as +three chunks are read: **OSD2** was the slowest and its chunk was not taken into +account. + +.. ditaa:: + + +-------------------+ + name | NYAN | + +-------------------+ + content | ABCDEFGHI | + +---------+---------+ + ^ + | + | + +-------+-------+ + | decode(3,2) | + +------------->+ erasures 2,5 +<-+ + | | | | + | +-------+-------+ | + | ^ | + | | | + | | | + +--+---+ +------+ +---+--+ +---+--+ + name | NYAN | | NYAN | | NYAN | | NYAN | + +------+ +------+ +------+ +------+ + shard | 1 | | 2 | | 3 | | 4 | + +------+ +------+ +------+ +------+ + content | ABC | | DEF | | GHI | | YXY | + +--+---+ +--+---+ +--+---+ +--+---+ + ^ . ^ ^ + | TOO . | | + | SLOW . +--+---+ | + | ^ | OSD1 | | + | | +------+ | + | | | + | | +------+ | + | +-------| OSD2 | | + | +------+ | + | | + | +------+ | + | | OSD3 |------+ + | +------+ + | + | +------+ + | | OSD4 | OUT + | +------+ + | + | +------+ + +------------------| OSD5 | + +------+ + + +Interrupted Full Writes +~~~~~~~~~~~~~~~~~~~~~~~ + +In an erasure coded pool, the primary OSD in the up set receives all write +operations. It is responsible for encoding the payload into ``K+M`` chunks and +sends them to the other OSDs. It is also responsible for maintaining an +authoritative version of the placement group logs. + +In the following diagram, an erasure coded placement group has been created with +``K = 2 + M = 1`` and is supported by three OSDs, two for ``K`` and one for +``M``. The acting set of the placement group is made of **OSD 1**, **OSD 2** and +**OSD 3**. An object has been encoded and stored in the OSDs : the chunk +``D1v1`` (i.e. Data chunk number 1, version 1) is on **OSD 1**, ``D2v1`` on +**OSD 2** and ``C1v1`` (i.e. Coding chunk number 1, version 1) on **OSD 3**. The +placement group logs on each OSD are identical (i.e. ``1,1`` for epoch 1, +version 1). + + +.. ditaa:: + + Primary OSD + + +-------------+ + | OSD 1 | +-------------+ + | log | Write Full | | + | +----+ |<------------+ Ceph Client | + | |D1v1| 1,1 | v1 | | + | +----+ | +-------------+ + +------+------+ + | + | + | +-------------+ + | | OSD 2 | + | | log | + +--------->+ +----+ | + | | |D2v1| 1,1 | + | | +----+ | + | +-------------+ + | + | +-------------+ + | | OSD 3 | + | | log | + +--------->| +----+ | + | |C1v1| 1,1 | + | +----+ | + +-------------+ + +**OSD 1** is the primary and receives a **WRITE FULL** from a client, which +means the payload is to replace the object entirely instead of overwriting a +portion of it. Version 2 (v2) of the object is created to override version 1 +(v1). **OSD 1** encodes the payload into three chunks: ``D1v2`` (i.e. Data +chunk number 1 version 2) will be on **OSD 1**, ``D2v2`` on **OSD 2** and +``C1v2`` (i.e. Coding chunk number 1 version 2) on **OSD 3**. Each chunk is sent +to the target OSD, including the primary OSD which is responsible for storing +chunks in addition to handling write operations and maintaining an authoritative +version of the placement group logs. When an OSD receives the message +instructing it to write the chunk, it also creates a new entry in the placement +group logs to reflect the change. For instance, as soon as **OSD 3** stores +``C1v2``, it adds the entry ``1,2`` ( i.e. epoch 1, version 2 ) to its logs. +Because the OSDs work asynchronously, some chunks may still be in flight ( such +as ``D2v2`` ) while others are acknowledged and on disk ( such as ``C1v1`` and +``D1v1``). + +.. ditaa:: + + Primary OSD + + +-------------+ + | OSD 1 | + | log | + | +----+ | +-------------+ + | |D1v2| 1,2 | Write Full | | + | +----+ +<------------+ Ceph Client | + | | v2 | | + | +----+ | +-------------+ + | |D1v1| 1,1 | + | +----+ | + +------+------+ + | + | + | +------+------+ + | | OSD 2 | + | +------+ | log | + +->| D2v2 | | +----+ | + | +------+ | |D2v1| 1,1 | + | | +----+ | + | +-------------+ + | + | +-------------+ + | | OSD 3 | + | | log | + | | +----+ | + | | |C1v2| 1,2 | + +---------->+ +----+ | + | | + | +----+ | + | |C1v1| 1,1 | + | +----+ | + +-------------+ + + +If all goes well, the chunks are acknowledged on each OSD in the acting set and +the logs' ``last_complete`` pointer can move from ``1,1`` to ``1,2``. + +.. ditaa:: + + Primary OSD + + +-------------+ + | OSD 1 | + | log | + | +----+ | +-------------+ + | |D1v2| 1,2 | Write Full | | + | +----+ +<------------+ Ceph Client | + | | v2 | | + | +----+ | +-------------+ + | |D1v1| 1,1 | + | +----+ | + +------+------+ + | + | +-------------+ + | | OSD 2 | + | | log | + | | +----+ | + | | |D2v2| 1,2 | + +---------->+ +----+ | + | | | + | | +----+ | + | | |D2v1| 1,1 | + | | +----+ | + | +-------------+ + | + | +-------------+ + | | OSD 3 | + | | log | + | | +----+ | + | | |C1v2| 1,2 | + +---------->+ +----+ | + | | + | +----+ | + | |C1v1| 1,1 | + | +----+ | + +-------------+ + + +Finally, the files used to store the chunks of the previous version of the +object can be removed: ``D1v1`` on **OSD 1**, ``D2v1`` on **OSD 2** and ``C1v1`` +on **OSD 3**. + +.. ditaa:: + + Primary OSD + + +-------------+ + | OSD 1 | + | log | + | +----+ | + | |D1v2| 1,2 | + | +----+ | + +------+------+ + | + | + | +-------------+ + | | OSD 2 | + | | log | + +--------->+ +----+ | + | | |D2v2| 1,2 | + | | +----+ | + | +-------------+ + | + | +-------------+ + | | OSD 3 | + | | log | + +--------->| +----+ | + | |C1v2| 1,2 | + | +----+ | + +-------------+ + + +But accidents happen. If **OSD 1** goes down while ``D2v2`` is still in flight, +the object's version 2 is partially written: **OSD 3** has one chunk but that is +not enough to recover. It lost two chunks: ``D1v2`` and ``D2v2`` and the +erasure coding parameters ``K = 2``, ``M = 1`` require that at least two chunks are +available to rebuild the third. **OSD 4** becomes the new primary and finds that +the ``last_complete`` log entry (i.e., all objects before this entry were known +to be available on all OSDs in the previous acting set ) is ``1,1`` and that +will be the head of the new authoritative log. + +.. ditaa:: + + +-------------+ + | OSD 1 | + | (down) | + | c333 | + +------+------+ + | + | +-------------+ + | | OSD 2 | + | | log | + | | +----+ | + +---------->+ |D2v1| 1,1 | + | | +----+ | + | | | + | +-------------+ + | + | +-------------+ + | | OSD 3 | + | | log | + | | +----+ | + | | |C1v2| 1,2 | + +---------->+ +----+ | + | | + | +----+ | + | |C1v1| 1,1 | + | +----+ | + +-------------+ + Primary OSD + +-------------+ + | OSD 4 | + | log | + | | + | 1,1 | + | | + +------+------+ + + + +The log entry 1,2 found on **OSD 3** is divergent from the new authoritative log +provided by **OSD 4**: it is discarded and the file containing the ``C1v2`` +chunk is removed. The ``D1v1`` chunk is rebuilt with the ``decode`` function of +the erasure coding library during scrubbing and stored on the new primary +**OSD 4**. + + +.. ditaa:: + + Primary OSD + + +-------------+ + | OSD 4 | + | log | + | +----+ | + | |D1v1| 1,1 | + | +----+ | + +------+------+ + ^ + | + | +-------------+ + | | OSD 2 | + | | log | + +----------+ +----+ | + | | |D2v1| 1,1 | + | | +----+ | + | +-------------+ + | + | +-------------+ + | | OSD 3 | + | | log | + +----------| +----+ | + | |C1v1| 1,1 | + | +----+ | + +-------------+ + + +-------------+ + | OSD 1 | + | (down) | + | c333 | + +-------------+ + +See `Erasure Code Notes`_ for additional details. + + + +Cache Tiering +------------- + +A cache tier provides Ceph Clients with better I/O performance for a subset of +the data stored in a backing storage tier. Cache tiering involves creating a +pool of relatively fast/expensive storage devices (e.g., solid state drives) +configured to act as a cache tier, and a backing pool of either erasure-coded +or relatively slower/cheaper devices configured to act as an economical storage +tier. The Ceph objecter handles where to place the objects and the tiering +agent determines when to flush objects from the cache to the backing storage +tier. So the cache tier and the backing storage tier are completely transparent +to Ceph clients. + + +.. ditaa:: + + +-------------+ + | Ceph Client | + +------+------+ + ^ + Tiering is | + Transparent | Faster I/O + to Ceph | +---------------+ + Client Ops | | | + | +----->+ Cache Tier | + | | | | + | | +-----+---+-----+ + | | | ^ + v v | | Active Data in Cache Tier + +------+----+--+ | | + | Objecter | | | + +-----------+--+ | | + ^ | | Inactive Data in Storage Tier + | v | + | +-----+---+-----+ + | | | + +----->| Storage Tier | + | | + +---------------+ + Slower I/O + +See `Cache Tiering`_ for additional details. + + +.. index:: Extensibility, Ceph Classes + +Extending Ceph +-------------- + +You can extend Ceph by creating shared object classes called 'Ceph Classes'. +Ceph loads ``.so`` classes stored in the ``osd class dir`` directory dynamically +(i.e., ``$libdir/rados-classes`` by default). When you implement a class, you +can create new object methods that have the ability to call the native methods +in the Ceph Object Store, or other class methods you incorporate via libraries +or create yourself. + +On writes, Ceph Classes can call native or class methods, perform any series of +operations on the inbound data and generate a resulting write transaction that +Ceph will apply atomically. + +On reads, Ceph Classes can call native or class methods, perform any series of +operations on the outbound data and return the data to the client. + +.. topic:: Ceph Class Example + + A Ceph class for a content management system that presents pictures of a + particular size and aspect ratio could take an inbound bitmap image, crop it + to a particular aspect ratio, resize it and embed an invisible copyright or + watermark to help protect the intellectual property; then, save the + resulting bitmap image to the object store. + +See ``src/objclass/objclass.h``, ``src/fooclass.cc`` and ``src/barclass`` for +exemplary implementations. + + +Summary +------- + +Ceph Storage Clusters are dynamic--like a living organism. Whereas, many storage +appliances do not fully utilize the CPU and RAM of a typical commodity server, +Ceph does. From heartbeats, to peering, to rebalancing the cluster or +recovering from faults, Ceph offloads work from clients (and from a centralized +gateway which doesn't exist in the Ceph architecture) and uses the computing +power of the OSDs to perform the work. When referring to `Hardware +Recommendations`_ and the `Network Config Reference`_, be cognizant of the +foregoing concepts to understand how Ceph utilizes computing resources. + +.. index:: Ceph Protocol, librados + +Ceph Protocol +============= + +Ceph Clients use the native protocol for interacting with the Ceph Storage +Cluster. Ceph packages this functionality into the ``librados`` library so that +you can create your own custom Ceph Clients. The following diagram depicts the +basic architecture. + +.. ditaa:: + + +---------------------------------+ + | Ceph Storage Cluster Protocol | + | (librados) | + +---------------------------------+ + +---------------+ +---------------+ + | OSDs | | Monitors | + +---------------+ +---------------+ + + +Native Protocol and ``librados`` +-------------------------------- + +Modern applications need a simple object storage interface with asynchronous +communication capability. The Ceph Storage Cluster provides a simple object +storage interface with asynchronous communication capability. The interface +provides direct, parallel access to objects throughout the cluster. + + +- Pool Operations +- Snapshots and Copy-on-write Cloning +- Read/Write Objects + - Create or Remove + - Entire Object or Byte Range + - Append or Truncate +- Create/Set/Get/Remove XATTRs +- Create/Set/Get/Remove Key/Value Pairs +- Compound operations and dual-ack semantics +- Object Classes + + +.. index:: architecture; watch/notify + +Object Watch/Notify +------------------- + +A client can register a persistent interest with an object and keep a session to +the primary OSD open. The client can send a notification message and a payload to +all watchers and receive notification when the watchers receive the +notification. This enables a client to use any object as a +synchronization/communication channel. + + +.. ditaa:: + + +----------+ +----------+ +----------+ +---------------+ + | Client 1 | | Client 2 | | Client 3 | | OSD:Object ID | + +----------+ +----------+ +----------+ +---------------+ + | | | | + | | | | + | | Watch Object | | + |--------------------------------------------------->| + | | | | + |<---------------------------------------------------| + | | Ack/Commit | | + | | | | + | | Watch Object | | + | |---------------------------------->| + | | | | + | |<----------------------------------| + | | Ack/Commit | | + | | | Watch Object | + | | |----------------->| + | | | | + | | |<-----------------| + | | | Ack/Commit | + | | Notify | | + |--------------------------------------------------->| + | | | | + |<---------------------------------------------------| + | | Notify | | + | | | | + | |<----------------------------------| + | | Notify | | + | | |<-----------------| + | | | Notify | + | | Ack | | + |----------------+---------------------------------->| + | | | | + | | Ack | | + | +---------------------------------->| + | | | | + | | | Ack | + | | |----------------->| + | | | | + |<---------------+----------------+------------------| + | Complete + +.. index:: architecture; Striping + +Data Striping +------------- + +Storage devices have throughput limitations, which impact performance and +scalability. So storage systems often support `striping`_--storing sequential +pieces of information across multiple storage devices--to increase throughput +and performance. The most common form of data striping comes from `RAID`_. +The RAID type most similar to Ceph's striping is `RAID 0`_, or a 'striped +volume'. Ceph's striping offers the throughput of RAID 0 striping, the +reliability of n-way RAID mirroring and faster recovery. + +Ceph provides three types of clients: Ceph Block Device, Ceph Filesystem, and +Ceph Object Storage. A Ceph Client converts its data from the representation +format it provides to its users (a block device image, RESTful objects, CephFS +filesystem directories) into objects for storage in the Ceph Storage Cluster. + +.. tip:: The objects Ceph stores in the Ceph Storage Cluster are not striped. + Ceph Object Storage, Ceph Block Device, and the Ceph Filesystem stripe their + data over multiple Ceph Storage Cluster objects. Ceph Clients that write + directly to the Ceph Storage Cluster via ``librados`` must perform the + striping (and parallel I/O) for themselves to obtain these benefits. + +The simplest Ceph striping format involves a stripe count of 1 object. Ceph +Clients write stripe units to a Ceph Storage Cluster object until the object is +at its maximum capacity, and then create another object for additional stripes +of data. The simplest form of striping may be sufficient for small block device +images, S3 or Swift objects and CephFS files. However, this simple form doesn't +take maximum advantage of Ceph's ability to distribute data across placement +groups, and consequently doesn't improve performance very much. The following +diagram depicts the simplest form of striping: + +.. ditaa:: + + +---------------+ + | Client Data | + | Format | + | cCCC | + +---------------+ + | + +--------+-------+ + | | + v v + /-----------\ /-----------\ + | Begin cCCC| | Begin cCCC| + | Object 0 | | Object 1 | + +-----------+ +-----------+ + | stripe | | stripe | + | unit 1 | | unit 5 | + +-----------+ +-----------+ + | stripe | | stripe | + | unit 2 | | unit 6 | + +-----------+ +-----------+ + | stripe | | stripe | + | unit 3 | | unit 7 | + +-----------+ +-----------+ + | stripe | | stripe | + | unit 4 | | unit 8 | + +-----------+ +-----------+ + | End cCCC | | End cCCC | + | Object 0 | | Object 1 | + \-----------/ \-----------/ + + +If you anticipate large images sizes, large S3 or Swift objects (e.g., video), +or large CephFS directories, you may see considerable read/write performance +improvements by striping client data over multiple objects within an object set. +Significant write performance occurs when the client writes the stripe units to +their corresponding objects in parallel. Since objects get mapped to different +placement groups and further mapped to different OSDs, each write occurs in +parallel at the maximum write speed. A write to a single disk would be limited +by the head movement (e.g. 6ms per seek) and bandwidth of that one device (e.g. +100MB/s). By spreading that write over multiple objects (which map to different +placement groups and OSDs) Ceph can reduce the number of seeks per drive and +combine the throughput of multiple drives to achieve much faster write (or read) +speeds. + +.. note:: Striping is independent of object replicas. Since CRUSH + replicates objects across OSDs, stripes get replicated automatically. + +In the following diagram, client data gets striped across an object set +(``object set 1`` in the following diagram) consisting of 4 objects, where the +first stripe unit is ``stripe unit 0`` in ``object 0``, and the fourth stripe +unit is ``stripe unit 3`` in ``object 3``. After writing the fourth stripe, the +client determines if the object set is full. If the object set is not full, the +client begins writing a stripe to the first object again (``object 0`` in the +following diagram). If the object set is full, the client creates a new object +set (``object set 2`` in the following diagram), and begins writing to the first +stripe (``stripe unit 16``) in the first object in the new object set (``object +4`` in the diagram below). + +.. ditaa:: + + +---------------+ + | Client Data | + | Format | + | cCCC | + +---------------+ + | + +-----------------+--------+--------+-----------------+ + | | | | +--\ + v v v v | + /-----------\ /-----------\ /-----------\ /-----------\ | + | Begin cCCC| | Begin cCCC| | Begin cCCC| | Begin cCCC| | + | Object 0 | | Object 1 | | Object 2 | | Object 3 | | + +-----------+ +-----------+ +-----------+ +-----------+ | + | stripe | | stripe | | stripe | | stripe | | + | unit 0 | | unit 1 | | unit 2 | | unit 3 | | + +-----------+ +-----------+ +-----------+ +-----------+ | + | stripe | | stripe | | stripe | | stripe | +-\ + | unit 4 | | unit 5 | | unit 6 | | unit 7 | | Object + +-----------+ +-----------+ +-----------+ +-----------+ +- Set + | stripe | | stripe | | stripe | | stripe | | 1 + | unit 8 | | unit 9 | | unit 10 | | unit 11 | +-/ + +-----------+ +-----------+ +-----------+ +-----------+ | + | stripe | | stripe | | stripe | | stripe | | + | unit 12 | | unit 13 | | unit 14 | | unit 15 | | + +-----------+ +-----------+ +-----------+ +-----------+ | + | End cCCC | | End cCCC | | End cCCC | | End cCCC | | + | Object 0 | | Object 1 | | Object 2 | | Object 3 | | + \-----------/ \-----------/ \-----------/ \-----------/ | + | + +--/ + + +--\ + | + /-----------\ /-----------\ /-----------\ /-----------\ | + | Begin cCCC| | Begin cCCC| | Begin cCCC| | Begin cCCC| | + | Object 4 | | Object 5 | | Object 6 | | Object 7 | | + +-----------+ +-----------+ +-----------+ +-----------+ | + | stripe | | stripe | | stripe | | stripe | | + | unit 16 | | unit 17 | | unit 18 | | unit 19 | | + +-----------+ +-----------+ +-----------+ +-----------+ | + | stripe | | stripe | | stripe | | stripe | +-\ + | unit 20 | | unit 21 | | unit 22 | | unit 23 | | Object + +-----------+ +-----------+ +-----------+ +-----------+ +- Set + | stripe | | stripe | | stripe | | stripe | | 2 + | unit 24 | | unit 25 | | unit 26 | | unit 27 | +-/ + +-----------+ +-----------+ +-----------+ +-----------+ | + | stripe | | stripe | | stripe | | stripe | | + | unit 28 | | unit 29 | | unit 30 | | unit 31 | | + +-----------+ +-----------+ +-----------+ +-----------+ | + | End cCCC | | End cCCC | | End cCCC | | End cCCC | | + | Object 4 | | Object 5 | | Object 6 | | Object 7 | | + \-----------/ \-----------/ \-----------/ \-----------/ | + | + +--/ + +Three important variables determine how Ceph stripes data: + +- **Object Size:** Objects in the Ceph Storage Cluster have a maximum + configurable size (e.g., 2MB, 4MB, etc.). The object size should be large + enough to accommodate many stripe units, and should be a multiple of + the stripe unit. + +- **Stripe Width:** Stripes have a configurable unit size (e.g., 64kb). + The Ceph Client divides the data it will write to objects into equally + sized stripe units, except for the last stripe unit. A stripe width, + should be a fraction of the Object Size so that an object may contain + many stripe units. + +- **Stripe Count:** The Ceph Client writes a sequence of stripe units + over a series of objects determined by the stripe count. The series + of objects is called an object set. After the Ceph Client writes to + the last object in the object set, it returns to the first object in + the object set. + +.. important:: Test the performance of your striping configuration before + putting your cluster into production. You CANNOT change these striping + parameters after you stripe the data and write it to objects. + +Once the Ceph Client has striped data to stripe units and mapped the stripe +units to objects, Ceph's CRUSH algorithm maps the objects to placement groups, +and the placement groups to Ceph OSD Daemons before the objects are stored as +files on a storage disk. + +.. note:: Since a client writes to a single pool, all data striped into objects + get mapped to placement groups in the same pool. So they use the same CRUSH + map and the same access controls. + + +.. index:: architecture; Ceph Clients + +Ceph Clients +============ + +Ceph Clients include a number of service interfaces. These include: + +- **Block Devices:** The :term:`Ceph Block Device` (a.k.a., RBD) service + provides resizable, thin-provisioned block devices with snapshotting and + cloning. Ceph stripes a block device across the cluster for high + performance. Ceph supports both kernel objects (KO) and a QEMU hypervisor + that uses ``librbd`` directly--avoiding the kernel object overhead for + virtualized systems. + +- **Object Storage:** The :term:`Ceph Object Storage` (a.k.a., RGW) service + provides RESTful APIs with interfaces that are compatible with Amazon S3 + and OpenStack Swift. + +- **Filesystem**: The :term:`Ceph Filesystem` (CephFS) service provides + a POSIX compliant filesystem usable with ``mount`` or as + a filesystem in user space (FUSE). + +Ceph can run additional instances of OSDs, MDSs, and monitors for scalability +and high availability. The following diagram depicts the high-level +architecture. + +.. ditaa:: + + +--------------+ +----------------+ +-------------+ + | Block Device | | Object Storage | | CephFS | + +--------------+ +----------------+ +-------------+ + + +--------------+ +----------------+ +-------------+ + | librbd | | librgw | | libcephfs | + +--------------+ +----------------+ +-------------+ + + +---------------------------------------------------+ + | Ceph Storage Cluster Protocol (librados) | + +---------------------------------------------------+ + + +---------------+ +---------------+ +---------------+ + | OSDs | | MDSs | | Monitors | + +---------------+ +---------------+ +---------------+ + + +.. index:: architecture; Ceph Object Storage + +Ceph Object Storage +------------------- + +The Ceph Object Storage daemon, ``radosgw``, is a FastCGI service that provides +a RESTful_ HTTP API to store objects and metadata. It layers on top of the Ceph +Storage Cluster with its own data formats, and maintains its own user database, +authentication, and access control. The RADOS Gateway uses a unified namespace, +which means you can use either the OpenStack Swift-compatible API or the Amazon +S3-compatible API. For example, you can write data using the S3-compatible API +with one application and then read data using the Swift-compatible API with +another application. + +.. topic:: S3/Swift Objects and Store Cluster Objects Compared + + Ceph's Object Storage uses the term *object* to describe the data it stores. + S3 and Swift objects are not the same as the objects that Ceph writes to the + Ceph Storage Cluster. Ceph Object Storage objects are mapped to Ceph Storage + Cluster objects. The S3 and Swift objects do not necessarily + correspond in a 1:1 manner with an object stored in the storage cluster. It + is possible for an S3 or Swift object to map to multiple Ceph objects. + +See `Ceph Object Storage`_ for details. + + +.. index:: Ceph Block Device; block device; RBD; Rados Block Device + +Ceph Block Device +----------------- + +A Ceph Block Device stripes a block device image over multiple objects in the +Ceph Storage Cluster, where each object gets mapped to a placement group and +distributed, and the placement groups are spread across separate ``ceph-osd`` +daemons throughout the cluster. + +.. important:: Striping allows RBD block devices to perform better than a single + server could! + +Thin-provisioned snapshottable Ceph Block Devices are an attractive option for +virtualization and cloud computing. In virtual machine scenarios, people +typically deploy a Ceph Block Device with the ``rbd`` network storage driver in +QEMU/KVM, where the host machine uses ``librbd`` to provide a block device +service to the guest. Many cloud computing stacks use ``libvirt`` to integrate +with hypervisors. You can use thin-provisioned Ceph Block Devices with QEMU and +``libvirt`` to support OpenStack and CloudStack among other solutions. + +While we do not provide ``librbd`` support with other hypervisors at this time, +you may also use Ceph Block Device kernel objects to provide a block device to a +client. Other virtualization technologies such as Xen can access the Ceph Block +Device kernel object(s). This is done with the command-line tool ``rbd``. + + +.. index:: CephFS; Ceph Filesystem; libcephfs; MDS; metadata server; ceph-mds + +.. _arch-cephfs: + +Ceph Filesystem +--------------- + +The Ceph Filesystem (CephFS) provides a POSIX-compliant filesystem as a +service that is layered on top of the object-based Ceph Storage Cluster. +CephFS files get mapped to objects that Ceph stores in the Ceph Storage +Cluster. Ceph Clients mount a CephFS filesystem as a kernel object or as +a Filesystem in User Space (FUSE). + +.. ditaa:: + + +-----------------------+ +------------------------+ + | CephFS Kernel Object | | CephFS FUSE | + +-----------------------+ +------------------------+ + + +---------------------------------------------------+ + | CephFS Library (libcephfs) | + +---------------------------------------------------+ + + +---------------------------------------------------+ + | Ceph Storage Cluster Protocol (librados) | + +---------------------------------------------------+ + + +---------------+ +---------------+ +---------------+ + | OSDs | | MDSs | | Monitors | + +---------------+ +---------------+ +---------------+ + + +The Ceph Filesystem service includes the Ceph Metadata Server (MDS) deployed +with the Ceph Storage cluster. The purpose of the MDS is to store all the +filesystem metadata (directories, file ownership, access modes, etc) in +high-availability Ceph Metadata Servers where the metadata resides in memory. +The reason for the MDS (a daemon called ``ceph-mds``) is that simple filesystem +operations like listing a directory or changing a directory (``ls``, ``cd``) +would tax the Ceph OSD Daemons unnecessarily. So separating the metadata from +the data means that the Ceph Filesystem can provide high performance services +without taxing the Ceph Storage Cluster. + +CephFS separates the metadata from the data, storing the metadata in the MDS, +and storing the file data in one or more objects in the Ceph Storage Cluster. +The Ceph filesystem aims for POSIX compatibility. ``ceph-mds`` can run as a +single process, or it can be distributed out to multiple physical machines, +either for high availability or for scalability. + +- **High Availability**: The extra ``ceph-mds`` instances can be `standby`, + ready to take over the duties of any failed ``ceph-mds`` that was + `active`. This is easy because all the data, including the journal, is + stored on RADOS. The transition is triggered automatically by ``ceph-mon``. + +- **Scalability**: Multiple ``ceph-mds`` instances can be `active`, and they + will split the directory tree into subtrees (and shards of a single + busy directory), effectively balancing the load amongst all `active` + servers. + +Combinations of `standby` and `active` etc are possible, for example +running 3 `active` ``ceph-mds`` instances for scaling, and one `standby` +instance for high availability. + + + + +.. _RADOS - A Scalable, Reliable Storage Service for Petabyte-scale Storage Clusters: https://ceph.com/wp-content/uploads/2016/08/weil-rados-pdsw07.pdf +.. _Paxos: https://en.wikipedia.org/wiki/Paxos_(computer_science) +.. _Monitor Config Reference: ../rados/configuration/mon-config-ref +.. _Monitoring OSDs and PGs: ../rados/operations/monitoring-osd-pg +.. _Heartbeats: ../rados/configuration/mon-osd-interaction +.. _Monitoring OSDs: ../rados/operations/monitoring-osd-pg/#monitoring-osds +.. _CRUSH - Controlled, Scalable, Decentralized Placement of Replicated Data: https://ceph.com/wp-content/uploads/2016/08/weil-crush-sc06.pdf +.. _Data Scrubbing: ../rados/configuration/osd-config-ref#scrubbing +.. _Report Peering Failure: ../rados/configuration/mon-osd-interaction#osds-report-peering-failure +.. _Troubleshooting Peering Failure: ../rados/troubleshooting/troubleshooting-pg#placement-group-down-peering-failure +.. _Ceph Authentication and Authorization: ../rados/operations/auth-intro/ +.. _Hardware Recommendations: ../start/hardware-recommendations +.. _Network Config Reference: ../rados/configuration/network-config-ref +.. _Data Scrubbing: ../rados/configuration/osd-config-ref#scrubbing +.. _striping: https://en.wikipedia.org/wiki/Data_striping +.. _RAID: https://en.wikipedia.org/wiki/RAID +.. _RAID 0: https://en.wikipedia.org/wiki/RAID_0#RAID_0 +.. _Ceph Object Storage: ../radosgw/ +.. _RESTful: https://en.wikipedia.org/wiki/RESTful +.. _Erasure Code Notes: https://github.com/ceph/ceph/blob/40059e12af88267d0da67d8fd8d9cd81244d8f93/doc/dev/osd_internals/erasure_coding/developer_notes.rst +.. _Cache Tiering: ../rados/operations/cache-tiering +.. _Set Pool Values: ../rados/operations/pools#set-pool-values +.. _Kerberos: https://en.wikipedia.org/wiki/Kerberos_(protocol) +.. _Cephx Config Guide: ../rados/configuration/auth-config-ref +.. _User Management: ../rados/operations/user-management diff --git a/doc/ceph-volume/index.rst b/doc/ceph-volume/index.rst new file mode 100644 index 00000000..36ce9cc8 --- /dev/null +++ b/doc/ceph-volume/index.rst @@ -0,0 +1,83 @@ +.. _ceph-volume: + +ceph-volume +=========== +Deploy OSDs with different device technologies like lvm or physical disks using +pluggable tools (:doc:`lvm/index` itself is treated like a plugin) and trying to +follow a predictable, and robust way of preparing, activating, and starting OSDs. + +:ref:`Overview ` | +:ref:`Plugin Guide ` | + + +**Command Line Subcommands** + +There is currently support for ``lvm``, and plain disks (with GPT partitions) +that may have been deployed with ``ceph-disk``. + +``zfs`` support is available for running a FreeBSD cluster. + +* :ref:`ceph-volume-lvm` +* :ref:`ceph-volume-simple` +* :ref:`ceph-volume-zfs` + +**Node inventory** + +The :ref:`ceph-volume-inventory` subcommand provides information and metadata +about a nodes physical disk inventory. + + +Migrating +--------- +Starting on Ceph version 13.0.0, ``ceph-disk`` is deprecated. Deprecation +warnings will show up that will link to this page. It is strongly suggested +that users start consuming ``ceph-volume``. There are two paths for migrating: + +#. Keep OSDs deployed with ``ceph-disk``: The :ref:`ceph-volume-simple` command + provides a way to take over the management while disabling ``ceph-disk`` + triggers. +#. Redeploy existing OSDs with ``ceph-volume``: This is covered in depth on + :ref:`rados-replacing-an-osd` + +For details on why ``ceph-disk`` was removed please see the :ref:`Why was +ceph-disk replaced? ` section. + + +New deployments +^^^^^^^^^^^^^^^ +For new deployments, :ref:`ceph-volume-lvm` is recommended, it can use any +logical volume as input for data OSDs, or it can setup a minimal/naive logical +volume from a device. + +Existing OSDs +^^^^^^^^^^^^^ +If the cluster has OSDs that were provisioned with ``ceph-disk``, then +``ceph-volume`` can take over the management of these with +:ref:`ceph-volume-simple`. A scan is done on the data device or OSD directory, +and ``ceph-disk`` is fully disabled. Encryption is fully supported. + + +.. toctree:: + :hidden: + :maxdepth: 3 + :caption: Contents: + + intro + systemd + inventory + lvm/index + lvm/activate + lvm/batch + lvm/encryption + lvm/prepare + lvm/create + lvm/scan + lvm/systemd + lvm/list + lvm/zap + simple/index + simple/activate + simple/scan + simple/systemd + zfs/index + zfs/inventory diff --git a/doc/ceph-volume/intro.rst b/doc/ceph-volume/intro.rst new file mode 100644 index 00000000..d59dd2b6 --- /dev/null +++ b/doc/ceph-volume/intro.rst @@ -0,0 +1,84 @@ +.. _ceph-volume-overview: + +Overview +-------- +The ``ceph-volume`` tool aims to be a single purpose command line tool to deploy +logical volumes as OSDs, trying to maintain a similar API to ``ceph-disk`` when +preparing, activating, and creating OSDs. + +It deviates from ``ceph-disk`` by not interacting or relying on the udev rules +that come installed for Ceph. These rules allow automatic detection of +previously setup devices that are in turn fed into ``ceph-disk`` to activate +them. + +.. _ceph-disk-replaced: + +Replacing ``ceph-disk`` +----------------------- +The ``ceph-disk`` tool was created at a time were the project was required to +support many different types of init systems (upstart, sysvinit, etc...) while +being able to discover devices. This caused the tool to concentrate initially +(and exclusively afterwards) on GPT partitions. Specifically on GPT GUIDs, +which were used to label devices in a unique way to answer questions like: + +* is this device a Journal? +* an encrypted data partition? +* was the device left partially prepared? + +To solve these, it used ``UDEV`` rules to match the GUIDs, that would call +``ceph-disk``, and end up in a back and forth between the ``ceph-disk`` systemd +unit and the ``ceph-disk`` executable. The process was very unreliable and time +consuming (a timeout of close to three hours **per OSD** had to be put in +place), and would cause OSDs to not come up at all during the boot process of +a node. + +It was hard to debug, or even replicate these problems given the asynchronous +behavior of ``UDEV``. + +Since the world-view of ``ceph-disk`` had to be GPT partitions exclusively, it meant +that it couldn't work with other technologies like LVM, or similar device +mapper devices. It was ultimately decided to create something modular, starting +with LVM support, and the ability to expand on other technologies as needed. + + +GPT partitions are simple? +-------------------------- +Although partitions in general are simple to reason about, ``ceph-disk`` +partitions were not simple by any means. It required a tremendous amount of +special flags in order to get them to work correctly with the device discovery +workflow. Here is an example call to create a data partition:: + + /sbin/sgdisk --largest-new=1 --change-name=1:ceph data --partition-guid=1:f0fc39fd-eeb2-49f1-b922-a11939cf8a0f --typecode=1:89c57f98-2fe5-4dc0-89c1-f3ad0ceff2be --mbrtogpt -- /dev/sdb + +Not only creating these was hard, but these partitions required devices to be +exclusively owned by Ceph. For example, in some cases a special partition would +be created when devices were encrypted, which would contain unencrypted keys. +This was ``ceph-disk`` domain knowledge, which would not translate to a "GPT +partitions are simple" understanding. Here is an example of that special +partition being created:: + + /sbin/sgdisk --new=5:0:+10M --change-name=5:ceph lockbox --partition-guid=5:None --typecode=5:fb3aabf9-d25f-47cc-bf5e-721d181642be --mbrtogpt -- /dev/sdad + + +Modularity +---------- +``ceph-volume`` was designed to be a modular tool because we anticipate that +there are going to be lots of ways that people provision the hardware devices +that we need to consider. There are already two: legacy ceph-disk devices that +are still in use and have GPT partitions (handled by :ref:`ceph-volume-simple`), +and lvm. SPDK devices where we manage NVMe devices directly from userspace are +on the immediate horizon, where LVM won't work there since the kernel isn't +involved at all. + +``ceph-volume lvm`` +------------------- +By making use of :term:`LVM tags`, the :ref:`ceph-volume-lvm` sub-command is +able to store and later re-discover and query devices associated with OSDs so +that they can later be activated. + +LVM performance penalty +----------------------- +In short: we haven't been able to notice any significant performance penalties +associated with the change to LVM. By being able to work closely with LVM, the +ability to work with other device mapper technologies was a given: there is no +technical difficulty in working with anything that can sit below a Logical Volume. diff --git a/doc/ceph-volume/inventory.rst b/doc/ceph-volume/inventory.rst new file mode 100644 index 00000000..edb1fd20 --- /dev/null +++ b/doc/ceph-volume/inventory.rst @@ -0,0 +1,17 @@ +.. _ceph-volume-inventory: + +``inventory`` +============= +The ``inventory`` subcommand queries a host's disc inventory and provides +hardware information and metadata on every physical device. + +By default the command returns a short, human-readable report of all physical disks. + +For programmatic consumption of this report pass ``--format json`` to generate a +JSON formatted report. This report includes extensive information on the +physical drives such as disk metadata (like model and size), logical volumes +and whether they are used by ceph, and if the disk is usable by ceph and +reasons why not. + +A device path can be specified to report extensive information on a device in +both plain and json format. diff --git a/doc/ceph-volume/lvm/activate.rst b/doc/ceph-volume/lvm/activate.rst new file mode 100644 index 00000000..5e43d4cb --- /dev/null +++ b/doc/ceph-volume/lvm/activate.rst @@ -0,0 +1,113 @@ +.. _ceph-volume-lvm-activate: + +``activate`` +============ +Once :ref:`ceph-volume-lvm-prepare` is completed, and all the various steps +that entails are done, the volume is ready to get "activated". + +This activation process enables a systemd unit that persists the OSD ID and its +UUID (also called ``fsid`` in Ceph CLI tools), so that at boot time it can +understand what OSD is enabled and needs to be mounted. + +.. note:: The execution of this call is fully idempotent, and there is no + side-effects when running multiple times + +New OSDs +-------- +To activate newly prepared OSDs both the :term:`OSD id` and :term:`OSD uuid` +need to be supplied. For example:: + + ceph-volume lvm activate --bluestore 0 0263644D-0BF1-4D6D-BC34-28BD98AE3BC8 + +.. note:: The UUID is stored in the ``fsid`` file in the OSD path, which is + generated when :ref:`ceph-volume-lvm-prepare` is used. + +Activating all OSDs +------------------- +It is possible to activate all existing OSDs at once by using the ``--all`` +flag. For example:: + + ceph-volume lvm activate --all + +This call will inspect all the OSDs created by ceph-volume that are inactive +and will activate them one by one. If any of the OSDs are already running, it +will report them in the command output and skip them, making it safe to rerun +(idempotent). + +requiring uuids +^^^^^^^^^^^^^^^ +The :term:`OSD uuid` is being required as an extra step to ensure that the +right OSD is being activated. It is entirely possible that a previous OSD with +the same id exists and would end up activating the incorrect one. + + +dmcrypt +^^^^^^^ +If the OSD was prepared with dmcrypt by ceph-volume, there is no need to +specify ``--dmcrypt`` on the command line again (that flag is not available for +the ``activate`` subcommand). An encrypted OSD will be automatically detected. + + +Discovery +--------- +With OSDs previously created by ``ceph-volume``, a *discovery* process is +performed using :term:`LVM tags` to enable the systemd units. + +The systemd unit will capture the :term:`OSD id` and :term:`OSD uuid` and +persist it. Internally, the activation will enable it like:: + + systemctl enable ceph-volume@lvm-$id-$uuid + +For example:: + + systemctl enable ceph-volume@lvm-0-8715BEB4-15C5-49DE-BA6F-401086EC7B41 + +Would start the discovery process for the OSD with an id of ``0`` and a UUID of +``8715BEB4-15C5-49DE-BA6F-401086EC7B41``. + +.. note:: for more details on the systemd workflow see :ref:`ceph-volume-lvm-systemd` + +The systemd unit will look for the matching OSD device, and by looking at its +:term:`LVM tags` will proceed to: + +# mount the device in the corresponding location (by convention this is + ``/var/lib/ceph/osd/-/``) + +# ensure that all required devices are ready for that OSD. In the case of +a journal (when ``--filestore`` is selected) the device will be queried (with +``blkid`` for partitions, and lvm for logical volumes) to ensure that the +correct device is being linked. The symbolic link will *always* be re-done to +ensure that the correct device is linked. + +# start the ``ceph-osd@0`` systemd unit + +.. note:: The system infers the objectstore type (filestore or bluestore) by + inspecting the LVM tags applied to the OSD devices + +Existing OSDs +------------- +For existing OSDs that have been deployed with ``ceph-disk``, they need to be +scanned and activated :ref:`using the simple sub-command `. +If a different tooling was used then the only way to port them over to the new +mechanism is to prepare them again (losing data). See +:ref:`ceph-volume-lvm-existing-osds` for details on how to proceed. + +Summary +------- +To recap the ``activate`` process for :term:`bluestore`: + +#. require both :term:`OSD id` and :term:`OSD uuid` +#. enable the system unit with matching id and uuid +#. Create the ``tmpfs`` mount at the OSD directory in + ``/var/lib/ceph/osd/$cluster-$id/`` +#. Recreate all the files needed with ``ceph-bluestore-tool prime-osd-dir`` by + pointing it to the OSD ``block`` device. +#. the systemd unit will ensure all devices are ready and linked +#. the matching ``ceph-osd`` systemd unit will get started + +And for :term:`filestore`: + +#. require both :term:`OSD id` and :term:`OSD uuid` +#. enable the system unit with matching id and uuid +#. the systemd unit will ensure all devices are ready and mounted (if needed) +#. the matching ``ceph-osd`` systemd unit will get started diff --git a/doc/ceph-volume/lvm/batch.rst b/doc/ceph-volume/lvm/batch.rst new file mode 100644 index 00000000..84959fb5 --- /dev/null +++ b/doc/ceph-volume/lvm/batch.rst @@ -0,0 +1,129 @@ +.. _ceph-volume-lvm-batch: + +``batch`` +=========== +The subcommand allows to create multiple OSDs at the same time given +an input of devices. + +The subcommand is based to :ref:`ceph-volume-lvm-create`, and will use the very +same code path. All ``batch`` does is to calculate the appropriate sizes of all +volumes and skip over already created volumes. + +All the features that ``ceph-volume lvm create`` supports, like ``dmcrypt``, +avoiding ``systemd`` units from starting, defining bluestore or filestore, +are supported. + + +.. _ceph-volume-lvm-batch_auto: + +Automatic sorting of disks +-------------------------- +If ``batch`` receives only a single list of devices and the ``--no-auto`` option + is not passed, ``ceph-volume`` will auto-sort disks by its rotational + property and use non-rotating disks for ``block.db`` or ``journal`` depending + on the objectstore used. +This behavior is now DEPRECATED and will be removed in future releases. Instead + an ``auto`` option will be introduced to retain this behavior. +It is recommended to make use of the explicit device lists for ``block.db``, + ``block.wal`` and ``journal``. +For example assuming :term:`bluestore` is used and ``--no-auto`` is not passed, + the deprecated behavior would deploy the following, depending on the devices + passed: + +#. Devices are all spinning HDDs: 1 OSD is created per device +#. Devices are all SSDs: 2 OSDs are created per device +#. Devices are a mix of HDDs and SSDs: data is placed on the spinning device, + the ``block.db`` is created on the SSD, as large as possible. + +.. note:: Although operations in ``ceph-volume lvm create`` allow usage of + ``block.wal`` it isn't supported with the ``auto`` behavior. + +.. _ceph-volume-lvm-batch_bluestore: + +Reporting +========= +By default ``batch`` will print a report of the computed OSD layout and ask the +user to confirm. This can be overridden by passing ``--yes``. + +If one wants to try out several invocations with being asked to deploy +``--report`` can be passed. ``ceph-volume`` will exit after printing the report. + +Consider the following invocation:: + + $ ceph-volume lvm batch --report /dev/sdb /dev/sdc /dev/sdd --db-devices /dev/nvme0n1 + +This will deploy three OSDs with external ``db`` and ``wal`` volumes on +an NVME device. + +**pretty reporting** +The ``pretty`` report format (the default) would +look like this:: + + $ ceph-volume lvm batch --report /dev/sdb /dev/sdc /dev/sdd --db-devices /dev/nvme0n1 + + Total OSDs: 3 + + + + +**JSON reporting** +Reporting can produce a structured output with ``--format json``:: + + $ ceph-volume lvm batch --report /dev/sdb /dev/sdc /dev/sdd --db-devices /dev/nvme0n1 + +Sizing +====== +When no sizing arguments are passed, `ceph-volume` will derive the sizing from +the passed device lists (or the sorted lists when using the automatic sorting). +`ceph-volume batch` will attempt to fully utilize a devices available capacity. +Relying on automatic sizing is recommended. + +If one requires a different sizing policy for wal, db or journal devices, +`ceph-volume` offers implicit and explicit sizing rules. + +Implicit sizing +--------------- +Scenarios in which either devices are under-comitted or not all data devices are +currently ready for use (due to a broken disk for example), one can still rely +on `ceph-volume` automatic sizing. +Users can provide hints to `ceph-volume` as to how many data devices should have +their external volumes on a set of fast devices. These options are: + +* `--block-db-slots` +* `--block-wal-slots` +* `--journal-slots` + +For example consider an OSD host that is supposed to contain 5 data devices and +one device for wal/db volumes. However one data device is currently broken and +is being replaced. Instead of calculating the explicit sizes for the wal/db +volume one can simply call:: + + $ ceph-volume lvm batch --report /dev/sdb /dev/sdc /dev/sdd /dev/sde --db-devices /dev/nvme0n1 --block-db-slots 5 + +Explicit sizing +--------------- +It is also possible to provide explicit sizes to `ceph-volume` via the arguments + +* `--block-db-size` +* `--block-wal-size` +* `--journal-size` + +`ceph-volume` will try to satisfy the requested sizes given the passed disks. If +this is not possible, no OSDs will be deployed. + + +Idempotency and disk replacements +================================= +`ceph-volume lvm batch` intends to be idempotent, i.e. calling the same command +repeatedly must result in the same outcome. For example calling:: + + $ ceph-volume lvm batch --report /dev/sdb /dev/sdc /dev/sdd --db-devices /dev/nvme0n1 + +will result in three deployed OSDs (if all disks were available). Calling this +command again, you will still end up with three OSDs and ceph-volume will exit +with return code 0. + +Suppose /dev/sdc goes bad and needs to be replaced. After destroying the OSD and +replacing the hardware, you can again call the same command and `ceph-volume` +will detect that only two out of the three wanted OSDs are setup and re-create +the missing OSD. diff --git a/doc/ceph-volume/lvm/create.rst b/doc/ceph-volume/lvm/create.rst new file mode 100644 index 00000000..c90d1f6f --- /dev/null +++ b/doc/ceph-volume/lvm/create.rst @@ -0,0 +1,24 @@ +.. _ceph-volume-lvm-create: + +``create`` +=========== +This subcommand wraps the two-step process to provision a new osd (calling +``prepare`` first and then ``activate``) into a single +one. The reason to prefer ``prepare`` and then ``activate`` is to gradually +introduce new OSDs into a cluster, and avoiding large amounts of data being +rebalanced. + +The single-call process unifies exactly what :ref:`ceph-volume-lvm-prepare` and +:ref:`ceph-volume-lvm-activate` do, with the convenience of doing it all at +once. + +There is nothing different to the process except the OSD will become up and in +immediately after completion. + +The backing objectstore can be specified with: + +* :ref:`--filestore ` +* :ref:`--bluestore ` + +All command line flags and options are the same as ``ceph-volume lvm prepare``. +Please refer to :ref:`ceph-volume-lvm-prepare` for details. diff --git a/doc/ceph-volume/lvm/encryption.rst b/doc/ceph-volume/lvm/encryption.rst new file mode 100644 index 00000000..1483ef32 --- /dev/null +++ b/doc/ceph-volume/lvm/encryption.rst @@ -0,0 +1,86 @@ +.. _ceph-volume-lvm-encryption: + +Encryption +========== + +Logical volumes can be encrypted using ``dmcrypt`` by specifying the +``--dmcrypt`` flag when creating OSDs. Encryption can be done in different ways, +specially with LVM. ``ceph-volume`` is somewhat opinionated with the way it +sets up encryption with logical volumes so that the process is consistent and +robust. + +In this case, ``ceph-volume lvm`` follows these constraints: + +* only LUKS (version 1) is used +* Logical Volumes are encrypted, while their underlying PVs (physical volumes) + aren't +* Non-LVM devices like partitions are also encrypted with the same OSD key + + +LUKS +---- +There are currently two versions of LUKS, 1 and 2. Version 2 is a bit easier +to implement but not widely available in all distros Ceph supports. LUKS 1 is +not going to be deprecated in favor of LUKS 2, so in order to have as wide +support as possible, ``ceph-volume`` uses LUKS version 1. + +.. note:: Version 1 of LUKS is just referenced as "LUKS" whereas version 2 is + referred to as LUKS2 + + +LUKS on LVM +----------- +Encryption is done on top of existing logical volumes (unlike encrypting the +physical device). Any single logical volume can be encrypted while other +volumes can remain unencrypted. This method also allows for flexible logical +volume setups, since encryption will happen once the LV is created. + + +Workflow +-------- +When setting up the OSD, a secret key will be created, that will be passed +along to the monitor in JSON format as ``stdin`` to prevent the key from being +captured in the logs. + +The JSON payload looks something like:: + + { + "cephx_secret": CEPHX_SECRET, + "dmcrypt_key": DMCRYPT_KEY, + "cephx_lockbox_secret": LOCKBOX_SECRET, + } + +The naming convention for the keys is **strict**, and they are named like that +for the hardcoded (legacy) names ceph-disk used. + +* ``cephx_secret`` : The cephx key used to authenticate +* ``dmcrypt_key`` : The secret (or private) key to unlock encrypted devices +* ``cephx_lockbox_secret`` : The authentication key used to retrieve the + ``dmcrypt_key``. It is named *lockbox* because ceph-disk used to have an + unencrypted partition named after it, used to store public keys and other + OSD metadata. + +The naming convention is strict because Monitors supported the naming +convention by ceph-disk, which used these key names. In order to keep +compatibility and prevent ceph-disk from breaking, ceph-volume will use the same +naming convention *although they don't make sense for the new encryption +workflow*. + +After the common steps of setting up the OSD during the prepare stage, either +with :term:`filestore` or :term:`bluestore`, the logical volume is left ready +to be activated, regardless of the state of the device (encrypted or decrypted). + +At activation time, the logical volume will get decrypted and the OSD started +once the process completes correctly. + +Summary of the encryption workflow for creating a new OSD: + +#. OSD is created, both lockbox and dmcrypt keys are created, and sent along + with JSON to the monitors, indicating an encrypted OSD. + +#. All complementary devices (like journal, db, or wal) get created and + encrypted with the same OSD key. Key is stored in the LVM metadata of the + OSD + +#. Activation continues by ensuring devices are mounted, retrieving the dmcrypt + secret key from the monitors and decrypting before the OSD gets started. diff --git a/doc/ceph-volume/lvm/index.rst b/doc/ceph-volume/lvm/index.rst new file mode 100644 index 00000000..9a2191fb --- /dev/null +++ b/doc/ceph-volume/lvm/index.rst @@ -0,0 +1,28 @@ +.. _ceph-volume-lvm: + +``lvm`` +======= +Implements the functionality needed to deploy OSDs from the ``lvm`` subcommand: +``ceph-volume lvm`` + +**Command Line Subcommands** + +* :ref:`ceph-volume-lvm-prepare` + +* :ref:`ceph-volume-lvm-activate` + +* :ref:`ceph-volume-lvm-create` + +* :ref:`ceph-volume-lvm-list` + +.. not yet implemented +.. * :ref:`ceph-volume-lvm-scan` + +**Internal functionality** + +There are other aspects of the ``lvm`` subcommand that are internal and not +exposed to the user, these sections explain how these pieces work together, +clarifying the workflows of the tool. + +:ref:`Systemd Units ` | +:ref:`lvm ` diff --git a/doc/ceph-volume/lvm/list.rst b/doc/ceph-volume/lvm/list.rst new file mode 100644 index 00000000..718154b1 --- /dev/null +++ b/doc/ceph-volume/lvm/list.rst @@ -0,0 +1,184 @@ +.. _ceph-volume-lvm-list: + +``list`` +======== +This subcommand will list any devices (logical and physical) that may be +associated with a Ceph cluster, as long as they contain enough metadata to +allow for that discovery. + +Output is grouped by the OSD ID associated with the devices, and unlike +``ceph-disk`` it does not provide any information for devices that aren't +associated with Ceph. + +Command line options: + +* ``--format`` Allows a ``json`` or ``pretty`` value. Defaults to ``pretty`` + which will group the device information in a human-readable format. + +Full Reporting +-------------- +When no positional arguments are used, a full reporting will be presented. This +means that all devices and logical volumes found in the system will be +displayed. + +Full ``pretty`` reporting for two OSDs, one with a lv as a journal, and another +one with a physical device may look similar to:: + + # ceph-volume lvm list + + + ====== osd.1 ======= + + [journal] /dev/journals/journal1 + + journal uuid C65n7d-B1gy-cqX3-vZKY-ZoE0-IEYM-HnIJzs + osd id 1 + cluster fsid ce454d91-d748-4751-a318-ff7f7aa18ffd + type journal + osd fsid 661b24f8-e062-482b-8110-826ffe7f13fa + data uuid SlEgHe-jX1H-QBQk-Sce0-RUls-8KlY-g8HgcZ + journal device /dev/journals/journal1 + data device /dev/test_group/data-lv2 + devices /dev/sda + + [data] /dev/test_group/data-lv2 + + journal uuid C65n7d-B1gy-cqX3-vZKY-ZoE0-IEYM-HnIJzs + osd id 1 + cluster fsid ce454d91-d748-4751-a318-ff7f7aa18ffd + type data + osd fsid 661b24f8-e062-482b-8110-826ffe7f13fa + data uuid SlEgHe-jX1H-QBQk-Sce0-RUls-8KlY-g8HgcZ + journal device /dev/journals/journal1 + data device /dev/test_group/data-lv2 + devices /dev/sdb + + ====== osd.0 ======= + + [data] /dev/test_group/data-lv1 + + journal uuid cd72bd28-002a-48da-bdf6-d5b993e84f3f + osd id 0 + cluster fsid ce454d91-d748-4751-a318-ff7f7aa18ffd + type data + osd fsid 943949f0-ce37-47ca-a33c-3413d46ee9ec + data uuid TUpfel-Q5ZT-eFph-bdGW-SiNW-l0ag-f5kh00 + journal device /dev/sdd1 + data device /dev/test_group/data-lv1 + devices /dev/sdc + + [journal] /dev/sdd1 + + PARTUUID cd72bd28-002a-48da-bdf6-d5b993e84f3f + + +For logical volumes the ``devices`` key is populated with the physical devices +associated with the logical volume. Since LVM allows multiple physical devices +to be part of a logical volume, the value will be comma separated when using +``pretty``, but an array when using ``json``. + +.. note:: Tags are displayed in a readable format. The ``osd id`` key is stored + as a ``ceph.osd_id`` tag. For more information on lvm tag conventions + see :ref:`ceph-volume-lvm-tag-api` + +Single Reporting +---------------- +Single reporting can consume both devices and logical volumes as input +(positional parameters). For logical volumes, it is required to use the group +name as well as the logical volume name. + +For example the ``data-lv2`` logical volume, in the ``test_group`` volume group +can be listed in the following way:: + + # ceph-volume lvm list test_group/data-lv2 + + + ====== osd.1 ======= + + [data] /dev/test_group/data-lv2 + + journal uuid C65n7d-B1gy-cqX3-vZKY-ZoE0-IEYM-HnIJzs + osd id 1 + cluster fsid ce454d91-d748-4751-a318-ff7f7aa18ffd + type data + osd fsid 661b24f8-e062-482b-8110-826ffe7f13fa + data uuid SlEgHe-jX1H-QBQk-Sce0-RUls-8KlY-g8HgcZ + journal device /dev/journals/journal1 + data device /dev/test_group/data-lv2 + devices /dev/sdc + + +.. note:: Tags are displayed in a readable format. The ``osd id`` key is stored + as a ``ceph.osd_id`` tag. For more information on lvm tag conventions + see :ref:`ceph-volume-lvm-tag-api` + + +For plain disks, the full path to the device is required. For example, for +a device like ``/dev/sdd1`` it can look like:: + + + # ceph-volume lvm list /dev/sdd1 + + + ====== osd.0 ======= + + [journal] /dev/sdd1 + + PARTUUID cd72bd28-002a-48da-bdf6-d5b993e84f3f + + + +``json`` output +--------------- +All output using ``--format=json`` will show everything the system has stored +as metadata for the devices, including tags. + +No changes for readability are done with ``json`` reporting, and all +information is presented as-is. Full output as well as single devices can be +listed. + +For brevity, this is how a single logical volume would look with ``json`` +output (note how tags aren't modified):: + + # ceph-volume lvm list --format=json test_group/data-lv1 + { + "0": [ + { + "devices": ["/dev/sda"], + "lv_name": "data-lv1", + "lv_path": "/dev/test_group/data-lv1", + "lv_tags": "ceph.cluster_fsid=ce454d91-d748-4751-a318-ff7f7aa18ffd,ceph.data_device=/dev/test_group/data-lv1,ceph.data_uuid=TUpfel-Q5ZT-eFph-bdGW-SiNW-l0ag-f5kh00,ceph.journal_device=/dev/sdd1,ceph.journal_uuid=cd72bd28-002a-48da-bdf6-d5b993e84f3f,ceph.osd_fsid=943949f0-ce37-47ca-a33c-3413d46ee9ec,ceph.osd_id=0,ceph.type=data", + "lv_uuid": "TUpfel-Q5ZT-eFph-bdGW-SiNW-l0ag-f5kh00", + "name": "data-lv1", + "path": "/dev/test_group/data-lv1", + "tags": { + "ceph.cluster_fsid": "ce454d91-d748-4751-a318-ff7f7aa18ffd", + "ceph.data_device": "/dev/test_group/data-lv1", + "ceph.data_uuid": "TUpfel-Q5ZT-eFph-bdGW-SiNW-l0ag-f5kh00", + "ceph.journal_device": "/dev/sdd1", + "ceph.journal_uuid": "cd72bd28-002a-48da-bdf6-d5b993e84f3f", + "ceph.osd_fsid": "943949f0-ce37-47ca-a33c-3413d46ee9ec", + "ceph.osd_id": "0", + "ceph.type": "data" + }, + "type": "data", + "vg_name": "test_group" + } + ] + } + + +Synchronized information +------------------------ +Before any listing type, the lvm API is queried to ensure that physical devices +that may be in use haven't changed naming. It is possible that non-persistent +devices like ``/dev/sda1`` could change to ``/dev/sdb1``. + +The detection is possible because the ``PARTUUID`` is stored as part of the +metadata in the logical volume for the data lv. Even in the case of a journal +that is a physical device, this information is still stored on the data logical +volume associated with it. + +If the name is no longer the same (as reported by ``blkid`` when using the +``PARTUUID``), the tag will get updated and the report will use the newly +refreshed information. diff --git a/doc/ceph-volume/lvm/prepare.rst b/doc/ceph-volume/lvm/prepare.rst new file mode 100644 index 00000000..78a7c091 --- /dev/null +++ b/doc/ceph-volume/lvm/prepare.rst @@ -0,0 +1,332 @@ +.. _ceph-volume-lvm-prepare: + +``prepare`` +=========== +This subcommand allows a :term:`filestore` or :term:`bluestore` setup. It is +recommended to pre-provision a logical volume before using it with +``ceph-volume lvm``. + +Logical volumes are not altered except for adding extra metadata. + +.. note:: This is part of a two step process to deploy an OSD. If looking for + a single-call way, please see :ref:`ceph-volume-lvm-create` + +To help identify volumes, the process of preparing a volume (or volumes) to +work with Ceph, the tool will assign a few pieces of metadata information using +:term:`LVM tags`. + +:term:`LVM tags` makes volumes easy to discover later, and help identify them as +part of a Ceph system, and what role they have (journal, filestore, bluestore, +etc...) + +Although initially :term:`filestore` is supported (and supported by default) +the back end can be specified with: + + +* :ref:`--filestore ` +* :ref:`--bluestore ` + +.. _ceph-volume-lvm-prepare_bluestore: + +``bluestore`` +------------- +The :term:`bluestore` objectstore is the default for new OSDs. It offers a bit +more flexibility for devices compared to :term:`filestore`. +Bluestore supports the following configurations: + +* A block device, a block.wal, and a block.db device +* A block device and a block.wal device +* A block device and a block.db device +* A single block device + +The bluestore subcommand accepts physical block devices, partitions on +physical block devices or logical volumes as arguments for the various device parameters +If a physical device is provided, a logical volume will be created. A volume group will +either be created or reused it its name begins with ``ceph``. +This allows a simpler approach at using LVM but at the cost of flexibility: +there are no options or configurations to change how the LV is created. + +The ``block`` is specified with the ``--data`` flag, and in its simplest use +case it looks like:: + + ceph-volume lvm prepare --bluestore --data vg/lv + +A raw device can be specified in the same way:: + + ceph-volume lvm prepare --bluestore --data /path/to/device + +For enabling :ref:`encryption `, the ``--dmcrypt`` flag is required:: + + ceph-volume lvm prepare --bluestore --dmcrypt --data vg/lv + +If a ``block.db`` or a ``block.wal`` is needed (they are optional for +bluestore) they can be specified with ``--block.db`` and ``--block.wal`` +accordingly. These can be a physical device, a partition or +a logical volume. + +For both ``block.db`` and ``block.wal`` partitions aren't made logical volumes +because they can be used as-is. + +While creating the OSD directory, the process will use a ``tmpfs`` mount to +place all the files needed for the OSD. These files are initially created by +``ceph-osd --mkfs`` and are fully ephemeral. + +A symlink is always created for the ``block`` device, and optionally for +``block.db`` and ``block.wal``. For a cluster with a default name, and an OSD +id of 0, the directory could look like:: + + # ls -l /var/lib/ceph/osd/ceph-0 + lrwxrwxrwx. 1 ceph ceph 93 Oct 20 13:05 block -> /dev/ceph-be2b6fbd-bcf2-4c51-b35d-a35a162a02f0/osd-block-25cf0a05-2bc6-44ef-9137-79d65bd7ad62 + lrwxrwxrwx. 1 ceph ceph 93 Oct 20 13:05 block.db -> /dev/sda1 + lrwxrwxrwx. 1 ceph ceph 93 Oct 20 13:05 block.wal -> /dev/ceph/osd-wal-0 + -rw-------. 1 ceph ceph 37 Oct 20 13:05 ceph_fsid + -rw-------. 1 ceph ceph 37 Oct 20 13:05 fsid + -rw-------. 1 ceph ceph 55 Oct 20 13:05 keyring + -rw-------. 1 ceph ceph 6 Oct 20 13:05 ready + -rw-------. 1 ceph ceph 10 Oct 20 13:05 type + -rw-------. 1 ceph ceph 2 Oct 20 13:05 whoami + +In the above case, a device was used for ``block`` so ``ceph-volume`` create +a volume group and a logical volume using the following convention: + +* volume group name: ``ceph-{cluster fsid}`` or if the vg exists already + ``ceph-{random uuid}`` + +* logical volume name: ``osd-block-{osd_fsid}`` + + +.. _ceph-volume-lvm-prepare_filestore: + +``filestore`` +------------- +This is the OSD backend that allows preparation of logical volumes for +a :term:`filestore` objectstore OSD. + +It can use a logical volume for the OSD data and a physical device, a partition +or logical volume for the journal. A physical device will have a logical volume +created on it. A volume group will either be created or reused it its name begins +with ``ceph``. No special preparation is needed for these volumes other than +following the minimum size requirements for data and journal. + +The CLI call looks like this of a basic standalone filestore OSD:: + + ceph-volume lvm prepare --filestore --data + +To deploy file store with an external journal:: + + ceph-volume lvm prepare --filestore --data --journal + +For enabling :ref:`encryption `, the ``--dmcrypt`` flag is required:: + + ceph-volume lvm prepare --filestore --dmcrypt --data --journal + +Both the journal and data block device can take three forms: + +* a physical block device +* a partition on a physical block device +* a logical volume + +When using logical volumes the value *must* be of the format +``volume_group/logical_volume``. Since logical volume names +are not enforced for uniqueness, this prevents accidentally +choosing the wrong volume. + +When using a partition, it *must* contain a ``PARTUUID``, that can be +discovered by ``blkid``. THis ensure it can later be identified correctly +regardless of the device name (or path). + +For example: passing a logical volume for data and a partition ``/dev/sdc1`` for +the journal:: + + ceph-volume lvm prepare --filestore --data volume_group/lv_name --journal /dev/sdc1 + +Passing a bare device for data and a logical volume ias the journal:: + + ceph-volume lvm prepare --filestore --data /dev/sdc --journal volume_group/journal_lv + +A generated uuid is used to ask the cluster for a new OSD. These two pieces are +crucial for identifying an OSD and will later be used throughout the +:ref:`ceph-volume-lvm-activate` process. + +The OSD data directory is created using the following convention:: + + /var/lib/ceph/osd/- + +At this point the data volume is mounted at this location, and the journal +volume is linked:: + + ln -s /path/to/journal /var/lib/ceph/osd/-/journal + +The monmap is fetched using the bootstrap key from the OSD:: + + /usr/bin/ceph --cluster ceph --name client.bootstrap-osd + --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring + mon getmap -o /var/lib/ceph/osd/-/activate.monmap + +``ceph-osd`` will be called to populate the OSD directory, that is already +mounted, re-using all the pieces of information from the initial steps:: + + ceph-osd --cluster ceph --mkfs --mkkey -i \ + --monmap /var/lib/ceph/osd/-/activate.monmap --osd-data \ + /var/lib/ceph/osd/- --osd-journal /var/lib/ceph/osd/-/journal \ + --osd-uuid --keyring /var/lib/ceph/osd/-/keyring \ + --setuser ceph --setgroup ceph + + +.. _ceph-volume-lvm-partitions: + +Partitioning +------------ +``ceph-volume lvm`` does not currently create partitions from a whole device. +If using device partitions the only requirement is that they contain the +``PARTUUID`` and that it is discoverable by ``blkid``. Both ``fdisk`` and +``parted`` will create that automatically for a new partition. + +For example, using a new, unformatted drive (``/dev/sdd`` in this case) we can +use ``parted`` to create a new partition. First we list the device +information:: + + $ parted --script /dev/sdd print + Model: VBOX HARDDISK (scsi) + Disk /dev/sdd: 11.5GB + Sector size (logical/physical): 512B/512B + Disk Flags: + +This device is not even labeled yet, so we can use ``parted`` to create +a ``gpt`` label before we create a partition, and verify again with ``parted +print``:: + + $ parted --script /dev/sdd mklabel gpt + $ parted --script /dev/sdd print + Model: VBOX HARDDISK (scsi) + Disk /dev/sdd: 11.5GB + Sector size (logical/physical): 512B/512B + Partition Table: gpt + Disk Flags: + +Now lets create a single partition, and verify later if ``blkid`` can find +a ``PARTUUID`` that is needed by ``ceph-volume``:: + + $ parted --script /dev/sdd mkpart primary 1 100% + $ blkid /dev/sdd1 + /dev/sdd1: PARTLABEL="primary" PARTUUID="16399d72-1e1f-467d-96ee-6fe371a7d0d4" + + +.. _ceph-volume-lvm-existing-osds: + +Existing OSDs +------------- +For existing clusters that want to use this new system and have OSDs that are +already running there are a few things to take into account: + +.. warning:: this process will forcefully format the data device, destroying + existing data, if any. + +* OSD paths should follow this convention:: + + /var/lib/ceph/osd/- + +* Preferably, no other mechanisms to mount the volume should exist, and should + be removed (like fstab mount points) + +The one time process for an existing OSD, with an ID of 0 and using +a ``"ceph"`` cluster name would look like (the following command will **destroy +any data** in the OSD):: + + ceph-volume lvm prepare --filestore --osd-id 0 --osd-fsid E3D291C1-E7BF-4984-9794-B60D9FA139CB + +The command line tool will not contact the monitor to generate an OSD ID and +will format the LVM device in addition to storing the metadata on it so that it +can be started later (for detailed metadata description see +:ref:`ceph-volume-lvm-tags`). + + +Crush device class +------------------ + +To set the crush device class for the OSD, use the ``--crush-device-class`` flag. This will +work for both bluestore and filestore OSDs:: + + ceph-volume lvm prepare --bluestore --data vg/lv --crush-device-class foo + + +.. _ceph-volume-lvm-multipath: + +``multipath`` support +--------------------- +Devices that come from ``multipath`` are not supported as-is. The tool will +refuse to consume a raw multipath device and will report a message like:: + + --> RuntimeError: Cannot use device (/dev/mapper/). A vg/lv path or an existing device is needed + +The reason for not supporting multipath is that depending on the type of the +multipath setup, if using an active/passive array as the underlying physical +devices, filters are required in ``lvm.conf`` to exclude the disks that are part of +those underlying devices. + +It is unfeasible for ceph-volume to understand what type of configuration is +needed for LVM to be able to work in various different multipath scenarios. The +functionality to create the LV for you is merely a (naive) convenience, +anything that involves different settings or configuration must be provided by +a config management system which can then provide VGs and LVs for ceph-volume +to consume. + +This situation will only arise when trying to use the ceph-volume functionality +that creates a volume group and logical volume from a device. If a multipath +device is already a logical volume it *should* work, given that the LVM +configuration is done correctly to avoid issues. + + +Storing metadata +---------------- +The following tags will get applied as part of the preparation process +regardless of the type of volume (journal or data) or OSD objectstore: + +* ``cluster_fsid`` +* ``encrypted`` +* ``osd_fsid`` +* ``osd_id`` +* ``crush_device_class`` + +For :term:`filestore` these tags will be added: + +* ``journal_device`` +* ``journal_uuid`` + +For :term:`bluestore` these tags will be added: + +* ``block_device`` +* ``block_uuid`` +* ``db_device`` +* ``db_uuid`` +* ``wal_device`` +* ``wal_uuid`` + +.. note:: For the complete lvm tag conventions see :ref:`ceph-volume-lvm-tag-api` + + +Summary +------- +To recap the ``prepare`` process for :term:`bluestore`: + +#. Accepts raw physical devices, partitions on physical devices or logical volumes as arguments. +#. Creates logical volumes on any raw physical devices. +#. Generate a UUID for the OSD +#. Ask the monitor get an OSD ID reusing the generated UUID +#. OSD data directory is created on a tmpfs mount. +#. ``block``, ``block.wal``, and ``block.db`` are symlinked if defined. +#. monmap is fetched for activation +#. Data directory is populated by ``ceph-osd`` +#. Logical Volumes are assigned all the Ceph metadata using lvm tags + + +And the ``prepare`` process for :term:`filestore`: + +#. Accepts raw physical devices, partitions on physical devices or logical volumes as arguments. +#. Generate a UUID for the OSD +#. Ask the monitor get an OSD ID reusing the generated UUID +#. OSD data directory is created and data volume mounted +#. Journal is symlinked from data volume to journal location +#. monmap is fetched for activation +#. devices is mounted and data directory is populated by ``ceph-osd`` +#. data and journal volumes are assigned all the Ceph metadata using lvm tags diff --git a/doc/ceph-volume/lvm/scan.rst b/doc/ceph-volume/lvm/scan.rst new file mode 100644 index 00000000..aa9990f7 --- /dev/null +++ b/doc/ceph-volume/lvm/scan.rst @@ -0,0 +1,9 @@ +scan +==== +This sub-command will allow to discover Ceph volumes previously setup by the +tool by looking into the system's logical volumes and their tags. + +As part of the :ref:`ceph-volume-lvm-prepare` process, the logical volumes are assigned +a few tags with important pieces of information. + +.. note:: This sub-command is not yet implemented diff --git a/doc/ceph-volume/lvm/systemd.rst b/doc/ceph-volume/lvm/systemd.rst new file mode 100644 index 00000000..30260de7 --- /dev/null +++ b/doc/ceph-volume/lvm/systemd.rst @@ -0,0 +1,28 @@ +.. _ceph-volume-lvm-systemd: + +systemd +======= +Upon startup, it will identify the logical volume using :term:`LVM tags`, +finding a matching ID and later ensuring it is the right one with +the :term:`OSD uuid`. + +After identifying the correct volume it will then proceed to mount it by using +the OSD destination conventions, that is:: + + /var/lib/ceph/osd/- + +For our example OSD with an id of ``0``, that means the identified device will +be mounted at:: + + + /var/lib/ceph/osd/ceph-0 + + +Once that process is complete, a call will be made to start the OSD:: + + systemctl start ceph-osd@0 + +The systemd portion of this process is handled by the ``ceph-volume lvm +trigger`` sub-command, which is only in charge of parsing metadata coming from +systemd and startup, and then dispatching to ``ceph-volume lvm activate`` which +would proceed with activation. diff --git a/doc/ceph-volume/lvm/zap.rst b/doc/ceph-volume/lvm/zap.rst new file mode 100644 index 00000000..367d7469 --- /dev/null +++ b/doc/ceph-volume/lvm/zap.rst @@ -0,0 +1,65 @@ +.. _ceph-volume-lvm-zap: + +``zap`` +======= + +This subcommand is used to zap lvs, partitions or raw devices that have been used +by ceph OSDs so that they may be reused. If given a path to a logical +volume it must be in the format of vg/lv. Any filesystems present +on the given lv or partition will be removed and all data will be purged. + +.. note:: The lv or partition will be kept intact. + +.. note:: If the logical volume, raw device or partition is being used for any ceph related + mount points they will be unmounted. + +Zapping a logical volume:: + + ceph-volume lvm zap {vg name/lv name} + +Zapping a partition:: + + ceph-volume lvm zap /dev/sdc1 + +Removing Devices +---------------- +When zapping, and looking for full removal of the device (lv, vg, or partition) +use the ``--destroy`` flag. A common use case is to simply deploy OSDs using +a whole raw device. If you do so and then wish to reuse that device for another +OSD you must use the ``--destroy`` flag when zapping so that the vgs and lvs +that ceph-volume created on the raw device will be removed. + +.. note:: Multiple devices can be accepted at once, to zap them all + +Zapping a raw device and destroying any vgs or lvs present:: + + ceph-volume lvm zap /dev/sdc --destroy + + +This action can be performed on partitions, and logical volumes as well:: + + ceph-volume lvm zap /dev/sdc1 --destroy + ceph-volume lvm zap osd-vg/data-lv --destroy + + +Finally, multiple devices can be detected if filtering by OSD ID and/or OSD +FSID. Either identifier can be used or both can be used at the same time. This +is useful in situations where multiple devices associated with a specific ID +need to be purged. When using the FSID, the filtering is stricter, and might +not match other (possibly invalid) devices associated to an ID. + +By ID only:: + + ceph-volume lvm zap --destroy --osd-id 1 + +By FSID:: + + ceph-volume lvm zap --destroy --osd-fsid 2E8FBE58-0328-4E3B-BFB7-3CACE4E9A6CE + +By both:: + + ceph-volume lvm zap --destroy --osd-fsid 2E8FBE58-0328-4E3B-BFB7-3CACE4E9A6CE --osd-id 1 + + +.. warning:: If the systemd unit associated with the OSD ID to be zapped is + detected as running, the tool will refuse to zap until the daemon is stopped. diff --git a/doc/ceph-volume/simple/activate.rst b/doc/ceph-volume/simple/activate.rst new file mode 100644 index 00000000..edbb1e3f --- /dev/null +++ b/doc/ceph-volume/simple/activate.rst @@ -0,0 +1,80 @@ +.. _ceph-volume-simple-activate: + +``activate`` +============ +Once :ref:`ceph-volume-simple-scan` has been completed, and all the metadata +captured for an OSD has been persisted to ``/etc/ceph/osd/{id}-{uuid}.json`` +the OSD is now ready to get "activated". + +This activation process **disables** all ``ceph-disk`` systemd units by masking +them, to prevent the UDEV/ceph-disk interaction that will attempt to start them +up at boot time. + +The disabling of ``ceph-disk`` units is done only when calling ``ceph-volume +simple activate`` directly, but is is avoided when being called by systemd when +the system is booting up. + +The activation process requires using both the :term:`OSD id` and :term:`OSD uuid` +To activate parsed OSDs:: + + ceph-volume simple activate 0 6cc43680-4f6e-4feb-92ff-9c7ba204120e + +The above command will assume that a JSON configuration will be found in:: + + /etc/ceph/osd/0-6cc43680-4f6e-4feb-92ff-9c7ba204120e.json + +Alternatively, using a path to a JSON file directly is also possible:: + + ceph-volume simple activate --file /etc/ceph/osd/0-6cc43680-4f6e-4feb-92ff-9c7ba204120e.json + +requiring uuids +^^^^^^^^^^^^^^^ +The :term:`OSD uuid` is being required as an extra step to ensure that the +right OSD is being activated. It is entirely possible that a previous OSD with +the same id exists and would end up activating the incorrect one. + + +Discovery +--------- +With OSDs previously scanned by ``ceph-volume``, a *discovery* process is +performed using ``blkid`` and ``lvm``. There is currently support only for +devices with GPT partitions and LVM logical volumes. + +The GPT partitions will have a ``PARTUUID`` that can be queried by calling out +to ``blkid``, and the logical volumes will have a ``lv_uuid`` that can be +queried against ``lvs`` (the LVM tool to list logical volumes). + +This discovery process ensures that devices can be correctly detected even if +they are repurposed into another system or if their name changes (as in the +case of non-persisting names like ``/dev/sda1``) + +The JSON configuration file used to map what devices go to what OSD will then +coordinate the mounting and symlinking as part of activation. + +To ensure that the symlinks are always correct, if they exist in the OSD +directory, the symlinks will be re-done. + +A systemd unit will capture the :term:`OSD id` and :term:`OSD uuid` and +persist it. Internally, the activation will enable it like:: + + systemctl enable ceph-volume@simple-$id-$uuid + +For example:: + + systemctl enable ceph-volume@simple-0-8715BEB4-15C5-49DE-BA6F-401086EC7B41 + +Would start the discovery process for the OSD with an id of ``0`` and a UUID of +``8715BEB4-15C5-49DE-BA6F-401086EC7B41``. + + +The systemd process will call out to activate passing the information needed to +identify the OSD and its devices, and it will proceed to: + +# mount the device in the corresponding location (by convention this is + ``/var/lib/ceph/osd/-/``) + +# ensure that all required devices are ready for that OSD and properly linked, +regardless of objectstore used (filestore or bluestore). The symbolic link will +**always** be re-done to ensure that the correct device is linked. + +# start the ``ceph-osd@0`` systemd unit diff --git a/doc/ceph-volume/simple/index.rst b/doc/ceph-volume/simple/index.rst new file mode 100644 index 00000000..315dea99 --- /dev/null +++ b/doc/ceph-volume/simple/index.rst @@ -0,0 +1,32 @@ +.. _ceph-volume-simple: + +``simple`` +========== +Implements the functionality needed to manage OSDs from the ``simple`` subcommand: +``ceph-volume simple`` + +**Command Line Subcommands** + +* :ref:`ceph-volume-simple-scan` + +* :ref:`ceph-volume-simple-activate` + +* :ref:`ceph-volume-simple-systemd` + + +By *taking over* management, it disables all ``ceph-disk`` systemd units used +to trigger devices at startup, relying on basic (customizable) JSON +configuration and systemd for starting up OSDs. + +This process involves two steps: + +#. :ref:`Scan ` the running OSD or the data device +#. :ref:`Activate ` the scanned OSD + +The scanning will infer everything that ``ceph-volume`` needs to start the OSD, +so that when activation is needed, the OSD can start normally without getting +interference from ``ceph-disk``. + +As part of the activation process the systemd units for ``ceph-disk`` in charge +of reacting to ``udev`` events, are linked to ``/dev/null`` so that they are +fully inactive. diff --git a/doc/ceph-volume/simple/scan.rst b/doc/ceph-volume/simple/scan.rst new file mode 100644 index 00000000..2749b14b --- /dev/null +++ b/doc/ceph-volume/simple/scan.rst @@ -0,0 +1,176 @@ +.. _ceph-volume-simple-scan: + +``scan`` +======== +Scanning allows to capture any important details from an already-deployed OSD +so that ``ceph-volume`` can manage it without the need of any other startup +workflows or tools (like ``udev`` or ``ceph-disk``). Encryption with LUKS or +PLAIN formats is fully supported. + +The command has the ability to inspect a running OSD, by inspecting the +directory where the OSD data is stored, or by consuming the data partition. +The command can also scan all running OSDs if no path or device is provided. + +Once scanned, information will (by default) persist the metadata as JSON in +a file in ``/etc/ceph/osd``. This ``JSON`` file will use the naming convention +of: ``{OSD ID}-{OSD FSID}.json``. An OSD with an id of 1, and an FSID like +``86ebd829-1405-43d3-8fd6-4cbc9b6ecf96`` the absolute path of the file would +be:: + + /etc/ceph/osd/1-86ebd829-1405-43d3-8fd6-4cbc9b6ecf96.json + +The ``scan`` subcommand will refuse to write to this file if it already exists. +If overwriting the contents is needed, the ``--force`` flag must be used:: + + ceph-volume simple scan --force {path} + +If there is no need to persist the ``JSON`` metadata, there is support to send +the contents to ``stdout`` (no file will be written):: + + ceph-volume simple scan --stdout {path} + + +.. _ceph-volume-simple-scan-directory: + +Running OSDs scan +----------------- +Using this command without providing an OSD directory or device will scan the +directories of any currently running OSDs. If a running OSD was not created +by ceph-disk it will be ignored and not scanned. + +To scan all running ceph-disk OSDs, the command would look like:: + + ceph-volume simple scan + +Directory scan +-------------- +The directory scan will capture OSD file contents from interesting files. There +are a few files that must exist in order to have a successful scan: + +* ``ceph_fsid`` +* ``fsid`` +* ``keyring`` +* ``ready`` +* ``type`` +* ``whoami`` + +If the OSD is encrypted, it will additionally add the following keys: + +* ``encrypted`` +* ``encryption_type`` +* ``lockbox_keyring`` + +In the case of any other file, as long as it is not a binary or a directory, it +will also get captured and persisted as part of the JSON object. + +The convention for the keys in the JSON object is that any file name will be +a key, and its contents will be its value. If the contents are a single line +(like in the case of the ``whoami``) the contents are trimmed, and the newline +is dropped. For example with an OSD with an id of 1, this is how the JSON entry +would look like:: + + "whoami": "1", + +For files that may have more than one line, the contents are left as-is, except +for keyrings which are treated specially and parsed to extract the keyring. For +example, a ``keyring`` that gets read as:: + + [osd.1]\n\tkey = AQBBJ/dZp57NIBAAtnuQS9WOS0hnLVe0rZnE6Q==\n + +Would get stored as:: + + "keyring": "AQBBJ/dZp57NIBAAtnuQS9WOS0hnLVe0rZnE6Q==", + + +For a directory like ``/var/lib/ceph/osd/ceph-1``, the command could look +like:: + + ceph-volume simple scan /var/lib/ceph/osd/ceph1 + + +.. _ceph-volume-simple-scan-device: + +Device scan +----------- +When an OSD directory is not available (OSD is not running, or device is not +mounted) the ``scan`` command is able to introspect the device to capture +required data. Just like :ref:`ceph-volume-simple-scan-directory`, it would +still require a few files present. This means that the device to be scanned +**must be** the data partition of the OSD. + +As long as the data partition of the OSD is being passed in as an argument, the +sub-command can scan its contents. + +In the case where the device is already mounted, the tool can detect this +scenario and capture file contents from that directory. + +If the device is not mounted, a temporary directory will be created, and the +device will be mounted temporarily just for scanning the contents. Once +contents are scanned, the device will be unmounted. + +For a device like ``/dev/sda1`` which **must** be a data partition, the command +could look like:: + + ceph-volume simple scan /dev/sda1 + + +.. _ceph-volume-simple-scan-json: + +``JSON`` contents +----------------- +The contents of the JSON object is very simple. The scan not only will persist +information from the special OSD files and their contents, but will also +validate paths and device UUIDs. Unlike what ``ceph-disk`` would do, by storing +them in ``{device type}_uuid`` files, the tool will persist them as part of the +device type key. + +For example, a ``block.db`` device would look something like:: + + "block.db": { + "path": "/dev/disk/by-partuuid/6cc43680-4f6e-4feb-92ff-9c7ba204120e", + "uuid": "6cc43680-4f6e-4feb-92ff-9c7ba204120e" + }, + +But it will also persist the ``ceph-disk`` special file generated, like so:: + + "block.db_uuid": "6cc43680-4f6e-4feb-92ff-9c7ba204120e", + +This duplication is in place because the tool is trying to ensure the +following: + +# Support OSDs that may not have ceph-disk special files +# Check the most up-to-date information on the device, by querying against LVM +and ``blkid`` +# Support both logical volumes and GPT devices + +This is a sample ``JSON`` metadata, from an OSD that is using ``bluestore``:: + + { + "active": "ok", + "block": { + "path": "/dev/disk/by-partuuid/40fd0a64-caa5-43a3-9717-1836ac661a12", + "uuid": "40fd0a64-caa5-43a3-9717-1836ac661a12" + }, + "block.db": { + "path": "/dev/disk/by-partuuid/6cc43680-4f6e-4feb-92ff-9c7ba204120e", + "uuid": "6cc43680-4f6e-4feb-92ff-9c7ba204120e" + }, + "block.db_uuid": "6cc43680-4f6e-4feb-92ff-9c7ba204120e", + "block_uuid": "40fd0a64-caa5-43a3-9717-1836ac661a12", + "bluefs": "1", + "ceph_fsid": "c92fc9eb-0610-4363-aafc-81ddf70aaf1b", + "cluster_name": "ceph", + "data": { + "path": "/dev/sdr1", + "uuid": "86ebd829-1405-43d3-8fd6-4cbc9b6ecf96" + }, + "fsid": "86ebd829-1405-43d3-8fd6-4cbc9b6ecf96", + "keyring": "AQBBJ/dZp57NIBAAtnuQS9WOS0hnLVe0rZnE6Q==", + "kv_backend": "rocksdb", + "magic": "ceph osd volume v026", + "mkfs_done": "yes", + "ready": "ready", + "systemd": "", + "type": "bluestore", + "whoami": "3" + } diff --git a/doc/ceph-volume/simple/systemd.rst b/doc/ceph-volume/simple/systemd.rst new file mode 100644 index 00000000..aa5bebff --- /dev/null +++ b/doc/ceph-volume/simple/systemd.rst @@ -0,0 +1,28 @@ +.. _ceph-volume-simple-systemd: + +systemd +======= +Upon startup, it will identify the logical volume by loading the JSON file in +``/etc/ceph/osd/{id}-{uuid}.json`` corresponding to the instance name of the +systemd unit. + +After identifying the correct volume it will then proceed to mount it by using +the OSD destination conventions, that is:: + + /var/lib/ceph/osd/{cluster name}-{osd id} + +For our example OSD with an id of ``0``, that means the identified device will +be mounted at:: + + + /var/lib/ceph/osd/ceph-0 + + +Once that process is complete, a call will be made to start the OSD:: + + systemctl start ceph-osd@0 + +The systemd portion of this process is handled by the ``ceph-volume simple +trigger`` sub-command, which is only in charge of parsing metadata coming from +systemd and startup, and then dispatching to ``ceph-volume simple activate`` which +would proceed with activation. diff --git a/doc/ceph-volume/systemd.rst b/doc/ceph-volume/systemd.rst new file mode 100644 index 00000000..6cbc1121 --- /dev/null +++ b/doc/ceph-volume/systemd.rst @@ -0,0 +1,49 @@ +.. _ceph-volume-systemd: + +systemd +======= +As part of the activation process (either with :ref:`ceph-volume-lvm-activate` +or :ref:`ceph-volume-simple-activate`), systemd units will get enabled that +will use the OSD id and uuid as part of their name. These units will be run +when the system boots, and will proceed to activate their corresponding +volumes via their sub-command implementation. + +The API for activation is a bit loose, it only requires two parts: the +subcommand to use and any extra meta information separated by a dash. This +convention makes the units look like:: + + ceph-volume@{command}-{extra metadata} + +The *extra metadata* can be anything needed that the subcommand implementing +the processing might need. In the case of :ref:`ceph-volume-lvm` and +:ref:`ceph-volume-simple`, both look to consume the :term:`OSD id` and :term:`OSD uuid`, +but this is not a hard requirement, it is just how the sub-commands are +implemented. + +Both the command and extra metadata gets persisted by systemd as part of the +*"instance name"* of the unit. For example an OSD with an ID of 0, for the +``lvm`` sub-command would look like:: + + systemctl enable ceph-volume@lvm-0-0A3E1ED2-DA8A-4F0E-AA95-61DEC71768D6 + +The enabled unit is a :term:`systemd oneshot` service, meant to start at boot +after the local filesystem is ready to be used. + + +Failure and Retries +------------------- +It is common to have failures when a system is coming up online. The devices +are sometimes not fully available and this unpredictable behavior may cause an +OSD to not be ready to be used. + +There are two configurable environment variables used to set the retry +behavior: + +* ``CEPH_VOLUME_SYSTEMD_TRIES``: Defaults to 30 +* ``CEPH_VOLUME_SYSTEMD_INTERVAL``: Defaults to 5 + +The *"tries"* is a number that sets the maximum amount of times the unit will +attempt to activate an OSD before giving up. + +The *"interval"* is a value in seconds that determines the waiting time before +initiating another try at activating the OSD. diff --git a/doc/ceph-volume/zfs/index.rst b/doc/ceph-volume/zfs/index.rst new file mode 100644 index 00000000..c06228de --- /dev/null +++ b/doc/ceph-volume/zfs/index.rst @@ -0,0 +1,31 @@ +.. _ceph-volume-zfs: + +``zfs`` +======= +Implements the functionality needed to deploy OSDs from the ``zfs`` subcommand: +``ceph-volume zfs`` + +The current implementation only works for ZFS on FreeBSD + +**Command Line Subcommands** + +* :ref:`ceph-volume-zfs-inventory` + +.. not yet implemented +.. * :ref:`ceph-volume-zfs-prepare` + +.. * :ref:`ceph-volume-zfs-activate` + +.. * :ref:`ceph-volume-zfs-create` + +.. * :ref:`ceph-volume-zfs-list` + +.. * :ref:`ceph-volume-zfs-scan` + +**Internal functionality** + +There are other aspects of the ``zfs`` subcommand that are internal and not +exposed to the user, these sections explain how these pieces work together, +clarifying the workflows of the tool. + +:ref:`zfs ` diff --git a/doc/ceph-volume/zfs/inventory.rst b/doc/ceph-volume/zfs/inventory.rst new file mode 100644 index 00000000..fd00325b --- /dev/null +++ b/doc/ceph-volume/zfs/inventory.rst @@ -0,0 +1,19 @@ +.. _ceph-volume-zfs-inventory: + +``inventory`` +============= +The ``inventory`` subcommand queries a host's disc inventory through GEOM and provides +hardware information and metadata on every physical device. + +This only works on a FreeBSD platform. + +By default the command returns a short, human-readable report of all physical disks. + +For programmatic consumption of this report pass ``--format json`` to generate a +JSON formatted report. This report includes extensive information on the +physical drives such as disk metadata (like model and size), logical volumes +and whether they are used by ceph, and if the disk is usable by ceph and +reasons why not. + +A device path can be specified to report extensive information on a device in +both plain and json format. diff --git a/doc/cephfs/.gitignore b/doc/cephfs/.gitignore new file mode 100644 index 00000000..e8232139 --- /dev/null +++ b/doc/cephfs/.gitignore @@ -0,0 +1 @@ +mds-state-diagram.svg diff --git a/doc/cephfs/Makefile b/doc/cephfs/Makefile new file mode 100644 index 00000000..eee2fa57 --- /dev/null +++ b/doc/cephfs/Makefile @@ -0,0 +1,7 @@ +TARGETS=mds-state-diagram.svg + +%.svg: %.dot + dot -Tsvg -o $@ $^ + + +all: $(TARGETS) diff --git a/doc/cephfs/add-remove-mds.rst b/doc/cephfs/add-remove-mds.rst new file mode 100644 index 00000000..c695fbbb --- /dev/null +++ b/doc/cephfs/add-remove-mds.rst @@ -0,0 +1,106 @@ +============================ + Deploying Metadata Servers +============================ + +Each CephFS file system requires at least one MDS. The cluster operator will +generally use their automated deployment tool to launch required MDS servers as +needed. Rook and ansible (via the ceph-ansible playbooks) are recommended +tools for doing this. For clarity, we also show the systemd commands here which +may be run by the deployment technology if executed on bare-metal. + +See `MDS Config Reference`_ for details on configuring metadata servers. + + +Provisioning Hardware for an MDS +================================ + +The present version of the MDS is single-threaded and CPU-bound for most +activities, including responding to client requests. Even so, an MDS under the +most aggressive client loads still uses about 2 to 3 CPU cores. This is due to +the other miscellaneous upkeep threads working in tandem. + +Even so, it is recommended that an MDS server be well provisioned with an +advanced CPU with sufficient cores. Development is on-going to make better use +of available CPU cores in the MDS; it is expected in future versions of Ceph +that the MDS server will improve performance by taking advantage of more cores. + +The other dimension to MDS performance is the available RAM for caching. The +MDS necessarily manages a distributed and cooperative metadata cache among all +clients and other active MDSs. Therefore it is essential to provide the MDS +with sufficient RAM to enable faster metadata access and mutation. + +Generally, an MDS serving a large cluster of clients (1000 or more) will use at +least 64GB of cache (see also :doc:`/cephfs/cache-size-limits`). An MDS with a larger +cache is not well explored in the largest known community clusters; there may +be diminishing returns where management of such a large cache negatively +impacts performance in surprising ways. It would be best to do analysis with +expected workloads to determine if provisioning more RAM is worthwhile. + +In a bare-metal cluster, the best practice is to over-provision hardware for +the MDS server. Even if a single MDS daemon is unable to fully utilize the +hardware, it may be desirable later on to start more active MDS daemons on the +same node to fully utilize the available cores and memory. Additionally, it may +become clear with workloads on the cluster that performance improves with +multiple active MDS on the same node rather than over-provisioning a single +MDS. + +Finally, be aware that CephFS is a highly-available file system by supporting +standby MDS (see also :ref:`mds-standby`) for rapid failover. To get a real +benefit from deploying standbys, it is usually necessary to distribute MDS +daemons across at least two nodes in the cluster. Otherwise, a hardware failure +on a single node may result in the file system becoming unavailable. + +Co-locating the MDS with other Ceph daemons (hyperconverged) is an effective +and recommended way to accomplish this so long as all daemons are configured to +use available hardware within certain limits. For the MDS, this generally +means limiting its cache size. + + +Adding an MDS +============= + +#. Create an mds data point ``/var/lib/ceph/mds/ceph-${id}``. The daemon only uses this directory to store its keyring. + +#. Edit ``ceph.conf`` and add MDS section. :: + + [mds.${id}] + host = {hostname} + +#. Create the authentication key, if you use CephX. :: + + $ sudo ceph auth get-or-create mds.${id} mon 'profile mds' mgr 'profile mds' mds 'allow *' osd 'allow *' > /var/lib/ceph/mds/ceph-${id}/keyring + +#. Start the service. :: + + $ sudo systemctl start mds.${id} + +#. The status of the cluster should show: :: + + mds: ${id}:1 {0=${id}=up:active} 2 up:standby + +Removing an MDS +=============== + +If you have a metadata server in your cluster that you'd like to remove, you may use +the following method. + +#. (Optionally:) Create a new replacement Metadata Server. If there are no + replacement MDS to take over once the MDS is removed, the file system will + become unavailable to clients. If that is not desirable, consider adding a + metadata server before tearing down the metadata server you would like to + take offline. + +#. Stop the MDS to be removed. :: + + $ sudo systemctl stop mds.${id} + + The MDS will automatically notify the Ceph monitors that it is going down. + This enables the monitors to perform instantaneous failover to an available + standby, if one exists. It is unnecessary to use administrative commands to + effect this failover, e.g. through the use of ``ceph mds fail mds.${id}``. + +#. Remove the ``/var/lib/ceph/mds/ceph-${id}`` directory on the MDS. :: + + $ sudo rm -rf /var/lib/ceph/mds/ceph-${id} + +.. _MDS Config Reference: ../mds-config-ref diff --git a/doc/cephfs/administration.rst b/doc/cephfs/administration.rst new file mode 100644 index 00000000..8646606f --- /dev/null +++ b/doc/cephfs/administration.rst @@ -0,0 +1,295 @@ +.. _cephfs-administration: + +CephFS Administrative commands +============================== + +Filesystems +----------- + +.. note:: The names of the file systems, metadata pools, and data pools can + only have characters in the set [a-zA-Z0-9\_-.]. + +These commands operate on the CephFS filesystems in your Ceph cluster. +Note that by default only one filesystem is permitted: to enable +creation of multiple filesystems use ``ceph fs flag set enable_multiple true``. + +:: + + fs new + +This command creates a new file system. The file system name and metadata pool +name are self-explanatory. The specified data pool is the default data pool and +cannot be changed once set. Each file system has its own set of MDS daemons +assigned to ranks so ensure that you have sufficient standby daemons available +to accommodate the new file system. + +:: + + fs ls + +List all file systems by name. + +:: + + fs dump [epoch] + +This dumps the FSMap at the given epoch (default: current) which includes all +file system settings, MDS daemons and the ranks they hold, and the list of +standby MDS daemons. + + +:: + + fs rm [--yes-i-really-mean-it] + +Destroy a CephFS file system. This wipes information about the state of the +file system from the FSMap. The metadata pool and data pools are untouched and +must be destroyed separately. + +:: + + fs get + +Get information about the named file system, including settings and ranks. This +is a subset of the same information from the ``fs dump`` command. + +:: + + fs set + +Change a setting on a file system. These settings are specific to the named +file system and do not affect other file systems. + +:: + + fs add_data_pool + +Add a data pool to the file system. This pool can be used for file layouts +as an alternate location to store file data. + +:: + + fs rm_data_pool + +This command removes the specified pool from the list of data pools for the +file system. If any files have layouts for the removed data pool, the file +data will become unavailable. The default data pool (when creating the file +system) cannot be removed. + + +Settings +-------- + +:: + + fs set max_file_size + +CephFS has a configurable maximum file size, and it's 1TB by default. +You may wish to set this limit higher if you expect to store large files +in CephFS. It is a 64-bit field. + +Setting ``max_file_size`` to 0 does not disable the limit. It would +simply limit clients to only creating empty files. + + +Maximum file sizes and performance +---------------------------------- + +CephFS enforces the maximum file size limit at the point of appending to +files or setting their size. It does not affect how anything is stored. + +When users create a file of an enormous size (without necessarily +writing any data to it), some operations (such as deletes) cause the MDS +to have to do a large number of operations to check if any of the RADOS +objects within the range that could exist (according to the file size) +really existed. + +The ``max_file_size`` setting prevents users from creating files that +appear to be eg. exabytes in size, causing load on the MDS as it tries +to enumerate the objects during operations like stats or deletes. + + +Taking the cluster down +----------------------- + +Taking a CephFS cluster down is done by setting the down flag: + +:: + + fs set down true + +To bring the cluster back online: + +:: + + fs set down false + +This will also restore the previous value of max_mds. MDS daemons are brought +down in a way such that journals are flushed to the metadata pool and all +client I/O is stopped. + + +Taking the cluster down rapidly for deletion or disaster recovery +----------------------------------------------------------------- + +To allow rapidly deleting a file system (for testing) or to quickly bring the +file system and MDS daemons down, use the ``fs fail`` command: + +:: + + fs fail + +This command sets a file system flag to prevent standbys from +activating on the file system (the ``joinable`` flag). + +This process can also be done manually by doing the following: + +:: + + fs set joinable false + +Then the operator can fail all of the ranks which causes the MDS daemons to +respawn as standbys. The file system will be left in a degraded state. + +:: + + # For all ranks, 0-N: + mds fail : + +Once all ranks are inactive, the file system may also be deleted or left in +this state for other purposes (perhaps disaster recovery). + +To bring the cluster back up, simply set the joinable flag: + +:: + + fs set joinable true + + +Daemons +------- + +Most commands manipulating MDSs take a ```` argument which can take one +of three forms: + +:: + + : + : + + +Commands to manipulate MDS daemons: + +:: + + mds fail + +Mark an MDS daemon as failed. This is equivalent to what the cluster +would do if an MDS daemon had failed to send a message to the mon +for ``mds_beacon_grace`` second. If the daemon was active and a suitable +standby is available, using ``mds fail`` will force a failover to the standby. + +If the MDS daemon was in reality still running, then using ``mds fail`` +will cause the daemon to restart. If it was active and a standby was +available, then the "failed" daemon will return as a standby. + + +:: + + tell mds. command ... + +Send a command to the MDS daemon(s). Use ``mds.*`` to send a command to all +daemons. Use ``ceph tell mds.* help`` to learn available commands. + +:: + + mds metadata + +Get metadata about the given MDS known to the Monitors. + +:: + + mds repaired + +Mark the file system rank as repaired. Unlike the name suggests, this command +does not change a MDS; it manipulates the file system rank which has been +marked damaged. + + +Minimum Client Version +---------------------- + +It is sometimes desirable to set the minimum version of Ceph that a client must be +running to connect to a CephFS cluster. Older clients may sometimes still be +running with bugs that can cause locking issues between clients (due to +capability release). CephFS provides a mechanism to set the minimum +client version: + +:: + + fs set min_compat_client + +For example, to only allow Nautilus clients, use: + +:: + + fs set cephfs min_compat_client nautilus + +Clients running an older version will be automatically evicted. + + +Global settings +--------------- + + +:: + + fs flag set [] + +Sets a global CephFS flag (i.e. not specific to a particular file system). +Currently, the only flag setting is 'enable_multiple' which allows having +multiple CephFS file systems. + +Some flags require you to confirm your intentions with "--yes-i-really-mean-it" +or a similar string they will prompt you with. Consider these actions carefully +before proceeding; they are placed on especially dangerous activities. + + +Advanced +-------- + +These commands are not required in normal operation, and exist +for use in exceptional circumstances. Incorrect use of these +commands may cause serious problems, such as an inaccessible +filesystem. + +:: + + mds compat rm_compat + +Removes an compatibility feature flag. + +:: + + mds compat rm_incompat + +Removes an incompatibility feature flag. + +:: + + mds compat show + +Show MDS compatibility flags. + +:: + + mds rmfailed + +This removes a rank from the failed set. + +:: + + fs reset + +This command resets the file system state to defaults, except for the name and +pools. Non-zero ranks are saved in the stopped set. diff --git a/doc/cephfs/app-best-practices.rst b/doc/cephfs/app-best-practices.rst new file mode 100644 index 00000000..d916e184 --- /dev/null +++ b/doc/cephfs/app-best-practices.rst @@ -0,0 +1,86 @@ + +Application best practices for distributed filesystems +====================================================== + +CephFS is POSIX compatible, and therefore should work with any existing +applications that expect a POSIX filesystem. However, because it is a +network filesystem (unlike e.g. XFS) and it is highly consistent (unlike +e.g. NFS), there are some consequences that application authors may +benefit from knowing about. + +The following sections describe some areas where distributed filesystems +may have noticeably different performance behaviours compared with +local filesystems. + + +ls -l +----- + +When you run "ls -l", the ``ls`` program +is first doing a directory listing, and then calling ``stat`` on every +file in the directory. + +This is usually far in excess of what an application really needs, and +it can be slow for large directories. If you don't really need all +this metadata for each file, then use a plain ``ls``. + +ls/stat on files being extended +------------------------------- + +If another client is currently extending files in the listed directory, +then an ``ls -l`` may take an exceptionally long time to complete, as +the lister must wait for the writer to flush data in order to do a valid +read of the every file's size. So unless you *really* need to know the +exact size of every file in the directory, just don't do it! + +This would also apply to any application code that was directly +issuing ``stat`` system calls on files being appended from +another node. + +Very large directories +---------------------- + +Do you really need that 10,000,000 file directory? While directory +fragmentation enables CephFS to handle it, it is always going to be +less efficient than splitting your files into more modest-sized directories. + +Even standard userspace tools can become quite slow when operating on very +large directories. For example, the default behaviour of ``ls`` +is to give an alphabetically ordered result, but ``readdir`` system +calls do not give an ordered result (this is true in general, not just +with CephFS). So when you ``ls`` on a million file directory, it is +loading a list of a million names into memory, sorting the list, then writing +it out to the display. + +Hard links +---------- + +Hard links have an intrinsic cost in terms of the internal housekeeping +that a filesystem has to do to keep two references to the same data. In +CephFS there is a particular performance cost, because with normal files +the inode is embedded in the directory (i.e. there is no extra fetch of +the inode after looking up the path). + +Working set size +---------------- + +The MDS acts as a cache for the metadata stored in RADOS. Metadata +performance is very different for workloads whose metadata fits within +that cache. + +If your workload has more files than fit in your cache (configured using +``mds_cache_memory_limit`` or ``mds_cache_size`` settings), then +make sure you test it appropriately: don't test your system with a small +number of files and then expect equivalent performance when you move +to a much larger number of files. + +Do you need a filesystem? +------------------------- + +Remember that Ceph also includes an object storage interface. If your +application needs to store huge flat collections of files where you just +read and write whole files at once, then you might well be better off +using the :ref:`Object Gateway ` + + + diff --git a/doc/cephfs/best-practices.rst b/doc/cephfs/best-practices.rst new file mode 100644 index 00000000..06a14ec6 --- /dev/null +++ b/doc/cephfs/best-practices.rst @@ -0,0 +1,88 @@ + +CephFS best practices +===================== + +This guide provides recommendations for best results when deploying CephFS. + +For the actual configuration guide for CephFS, please see the instructions +at :doc:`/cephfs/index`. + +Which Ceph version? +------------------- + +Use at least the Jewel (v10.2.0) release of Ceph. This is the first +release to include stable CephFS code and fsck/repair tools. Make sure +you are using the latest point release to get bug fixes. + +Note that Ceph releases do not include a kernel, this is versioned +and released separately. See below for guidance of choosing an +appropriate kernel version if you are using the kernel client +for CephFS. + +Most stable configuration +------------------------- + +Some features in CephFS are still experimental. See +:doc:`/cephfs/experimental-features` for guidance on these. + +For the best chance of a happy healthy filesystem, use a **single active MDS** +and **do not use snapshots**. Both of these are the default. + +Note that creating multiple MDS daemons is fine, as these will simply be +used as standbys. However, for best stability you should avoid +adjusting ``max_mds`` upwards, as this would cause multiple MDS +daemons to be active at once. + +Which client? +------------- + +The FUSE client is the most accessible and the easiest to upgrade to the +version of Ceph used by the storage cluster, while the kernel client will +often give better performance. + +The clients do not always provide equivalent functionality, for example +the fuse client supports client-enforced quotas while the kernel client +does not. + +When encountering bugs or performance issues, it is often instructive to +try using the other client, in order to find out whether the bug was +client-specific or not (and then to let the developers know). + +Which kernel version? +--------------------- + +Because the kernel client is distributed as part of the linux kernel (not +as part of packaged ceph releases), +you will need to consider which kernel version to use on your client nodes. +Older kernels are known to include buggy ceph clients, and may not support +features that more recent Ceph clusters support. + +Remember that the "latest" kernel in a stable linux distribution is likely +to be years behind the latest upstream linux kernel where Ceph development +takes place (including bug fixes). + +As a rough guide, as of Ceph 10.x (Jewel), you should be using a least a +4.x kernel. If you absolutely have to use an older kernel, you should use +the fuse client instead of the kernel client. + +This advice does not apply if you are using a linux distribution that +includes CephFS support, as in this case the distributor will be responsible +for backporting fixes to their stable kernel: check with your vendor. + +Reporting issues +---------------- + +If you have identified a specific issue, please report it with as much +information as possible. Especially important information: + +* Ceph versions installed on client and server +* Whether you are using the kernel or fuse client +* If you are using the kernel client, what kernel version? +* How many clients are in play, doing what kind of workload? +* If a system is 'stuck', is that affecting all clients or just one? +* Any ceph health messages +* Any backtraces in the ceph logs from crashes + +If you are satisfied that you have found a bug, please file it on +`the tracker `_. For more general queries please write +to the `ceph-users mailing list `_. diff --git a/doc/cephfs/cache-size-limits.rst b/doc/cephfs/cache-size-limits.rst new file mode 100644 index 00000000..4ea41443 --- /dev/null +++ b/doc/cephfs/cache-size-limits.rst @@ -0,0 +1,15 @@ +Understanding MDS Cache Size Limits +=================================== + +This section describes ways to limit MDS cache size. + +You can limit the size of the Metadata Server (MDS) cache by: + +* *A memory limit*: A new behavior introduced in the Luminous release. Use the `mds_cache_memory_limit` parameters. We recommend to use memory limits instead of inode count limits. +* *Inode count*: Use the `mds_cache_size` parameter. By default, limiting the MDS cache by inode count is disabled. + +In addition, you can specify a cache reservation by using the `mds_cache_reservation` parameter for MDS operations. The cache reservation is limited as a percentage of the memory or inode limit and is set to 5% by default. The intent of this parameter is to have the MDS maintain an extra reserve of memory for its cache for new metadata operations to use. As a consequence, the MDS should in general operate below its memory limit because it will recall old state from clients in order to drop unused metadata in its cache. + +The `mds_cache_reservation` parameter replaces the `mds_health_cache_threshold` in all situations except when MDS nodes sends a health alert to the Monitors indicating the cache is too large. By default, `mds_health_cache_threshold` is 150% of the maximum cache size. + +Be aware that the cache limit is not a hard limit. Potential bugs in the CephFS client or MDS or misbehaving applications might cause the MDS to exceed its cache size. The `mds_health_cache_threshold` configures the cluster health warning message so that operators can investigate why the MDS cannot shrink its cache. diff --git a/doc/cephfs/capabilities.rst b/doc/cephfs/capabilities.rst new file mode 100644 index 00000000..335b053a --- /dev/null +++ b/doc/cephfs/capabilities.rst @@ -0,0 +1,112 @@ +====================== +Capabilities in CephFS +====================== +When a client wants to operate on an inode, it will query the MDS in various +ways, which will then grant the client a set of **capabilities**. These +grant the client permissions to operate on the inode in various ways. One +of the major differences from other network filesystems (e.g NFS or SMB) is +that the capabilities granted are quite granular, and it's possible that +multiple clients can hold different capabilities on the same inodes. + +Types of Capabilities +--------------------- +There are several "generic" capability bits. These denote what sort of ability +the capability grants. + +:: + + /* generic cap bits */ + #define CEPH_CAP_GSHARED 1 /* client can reads (s) */ + #define CEPH_CAP_GEXCL 2 /* client can read and update (x) */ + #define CEPH_CAP_GCACHE 4 /* (file) client can cache reads (c) */ + #define CEPH_CAP_GRD 8 /* (file) client can read (r) */ + #define CEPH_CAP_GWR 16 /* (file) client can write (w) */ + #define CEPH_CAP_GBUFFER 32 /* (file) client can buffer writes (b) */ + #define CEPH_CAP_GWREXTEND 64 /* (file) client can extend EOF (a) */ + #define CEPH_CAP_GLAZYIO 128 /* (file) client can perform lazy io (l) */ + +These are then shifted by a particular number of bits. These denote a part of +the inode's data or metadata on which the capability is being granted: + +:: + + /* per-lock shift */ + #define CEPH_CAP_SAUTH 2 /* A */ + #define CEPH_CAP_SLINK 4 /* L */ + #define CEPH_CAP_SXATTR 6 /* X */ + #define CEPH_CAP_SFILE 8 /* F */ + +Only certain generic cap types are ever granted for some of those "shifts", +however. In particular, only the FILE shift ever has more than the first two +bits. + +:: + + | AUTH | LINK | XATTR | FILE + 2 4 6 8 + +From the above, we get a number of constants, that are generated by taking +each bit value and shifting to the correct bit in the word: + +:: + + #define CEPH_CAP_AUTH_SHARED (CEPH_CAP_GSHARED << CEPH_CAP_SAUTH) + +These bits can then be or'ed together to make a bitmask denoting a set of +capabilities. + +There is one exception: + +:: + + #define CEPH_CAP_PIN 1 /* no specific capabilities beyond the pin */ + +The "pin" just pins the inode into memory, without granting any other caps. + +Graphically: + +:: + + +---+---+---+---+---+---+---+---+ + | p | _ |As x |Ls x |Xs x | + +---+---+---+---+---+---+---+---+ + |Fs x c r w b a l | + +---+---+---+---+---+---+---+---+ + +The second bit is currently unused. + +Abilities granted by each cap +----------------------------- +While that is how capabilities are granted (and communicated), the important +bit is what they actually allow the client to do: + +* PIN: this just pins the inode into memory. This is sufficient to allow the + client to get to the inode number, as well as other immutable things like + major or minor numbers in a device inode, or symlink contents. + +* AUTH: this grants the ability to get to the authentication-related metadata. + In particular, the owner, group and mode. Note that doing a full permission + check may require getting at ACLs as well, which are stored in xattrs. + +* LINK: the link count of the inode + +* XATTR: ability to access or manipulate xattrs. Note that since ACLs are + stored in xattrs, it's also sometimes necessary to access them when checking + permissions. + +* FILE: this is the big one. These allow the client to access and manipulate + file data. It also covers certain metadata relating to file data -- the + size, mtime, atime and ctime, in particular. + +Shorthand +--------- +Note that the client logging can also present a compact representation of the +capabilities. For example: + +:: + + pAsLsXsFs + +The 'p' represents the pin. Each capital letter corresponds to the shift +values, and the lowercase letters after each shift are for the actual +capabilities granted in each shift. diff --git a/doc/cephfs/cephfs-journal-tool.rst b/doc/cephfs/cephfs-journal-tool.rst new file mode 100644 index 00000000..bd70e817 --- /dev/null +++ b/doc/cephfs/cephfs-journal-tool.rst @@ -0,0 +1,238 @@ + +cephfs-journal-tool +=================== + +Purpose +------- + +If a CephFS journal has become damaged, expert intervention may be required +to restore the filesystem to a working state. + +The ``cephfs-journal-tool`` utility provides functionality to aid experts in +examining, modifying, and extracting data from journals. + +.. warning:: + + This tool is **dangerous** because it directly modifies internal + data structures of the filesystem. Make backups, be careful, and + seek expert advice. If you are unsure, do not run this tool. + +Syntax +------ + +:: + + cephfs-journal-tool journal + cephfs-journal-tool header + cephfs-journal-tool event [filter] + + +The tool operates in three modes: ``journal``, ``header`` and ``event``, +meaning the whole journal, the header, and the events within the journal +respectively. + +Journal mode +------------ + +This should be your starting point to assess the state of a journal. + +* ``inspect`` reports on the health of the journal. This will identify any + missing objects or corruption in the stored journal. Note that this does + not identify inconsistencies in the events themselves, just that events are + present and can be decoded. + +* ``import`` and ``export`` read and write binary dumps of the journal + in a sparse file format. Pass the filename as the last argument. The + export operation may not work reliably for journals which are damaged (missing + objects). + +* ``reset`` truncates a journal, discarding any information within it. + + +Example: journal inspect +~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + # cephfs-journal-tool journal inspect + Overall journal integrity: DAMAGED + Objects missing: + 0x1 + Corrupt regions: + 0x400000-ffffffffffffffff + +Example: Journal import/export +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + # cephfs-journal-tool journal export myjournal.bin + journal is 4194304~80643 + read 80643 bytes at offset 4194304 + wrote 80643 bytes at offset 4194304 to myjournal.bin + NOTE: this is a _sparse_ file; you can + $ tar cSzf myjournal.bin.tgz myjournal.bin + to efficiently compress it while preserving sparseness. + + # cephfs-journal-tool journal import myjournal.bin + undump myjournal.bin + start 4194304 len 80643 + writing header 200.00000000 + writing 4194304~80643 + done. + +.. note:: + + It is wise to use the ``journal export `` command to make a journal backup + before any further manipulation. + +Header mode +----------- + +* ``get`` outputs the current content of the journal header + +* ``set`` modifies an attribute of the header. Allowed attributes are + ``trimmed_pos``, ``expire_pos`` and ``write_pos``. + +Example: header get/set +~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + # cephfs-journal-tool header get + { "magic": "ceph fs volume v011", + "write_pos": 4274947, + "expire_pos": 4194304, + "trimmed_pos": 4194303, + "layout": { "stripe_unit": 4194304, + "stripe_count": 4194304, + "object_size": 4194304, + "cas_hash": 4194304, + "object_stripe_unit": 4194304, + "pg_pool": 4194304}} + + # cephfs-journal-tool header set trimmed_pos 4194303 + Updating trimmed_pos 0x400000 -> 0x3fffff + Successfully updated header. + + +Event mode +---------- + +Event mode allows detailed examination and manipulation of the contents of the journal. Event +mode can operate on all events in the journal, or filters may be applied. + +The arguments following ``cephfs-journal-tool event`` consist of an action, optional filter +parameters, and an output mode: + +:: + + cephfs-journal-tool event [filter] + +Actions: + +* ``get`` read the events from the log +* ``splice`` erase events or regions in the journal +* ``apply`` extract filesystem metadata from events and attempt to apply it to the metadata store. + +Filtering: + +* ``--range ..[int end]`` only include events within the range begin (inclusive) to end (exclusive) +* ``--path `` only include events referring to metadata containing the specified string +* ``--inode `` only include events referring to metadata containing the specified inode +* ``--type `` only include events of this type +* ``--frag [.frag id]`` only include events referring to this directory fragment +* ``--dname `` only include events referring to this named dentry within a directory + fragment (may only be used in conjunction with ``--frag`` +* ``--client `` only include events from this client session ID + +Filters may be combined on an AND basis (i.e. only the intersection of events from each filter). + +Output modes: + +* ``binary``: write each event as a binary file, within a folder whose name is controlled by ``--path`` +* ``json``: write all events to a single file, as a JSON serialized list of objects +* ``summary``: write a human readable summary of the events read to standard out +* ``list``: write a human readable terse listing of the type of each event, and + which file paths the event affects. + + +Example: event mode +~~~~~~~~~~~~~~~~~~~ + +:: + + # cephfs-journal-tool event get json --path output.json + Wrote output to JSON file 'output.json' + + # cephfs-journal-tool event get summary + Events by type: + NOOP: 2 + OPEN: 2 + SESSION: 2 + SUBTREEMAP: 1 + UPDATE: 43 + + # cephfs-journal-tool event get list + 0x400000 SUBTREEMAP: () + 0x400308 SESSION: () + 0x4003de UPDATE: (setattr) + / + 0x40068b UPDATE: (mkdir) + diralpha + 0x400d1b UPDATE: (mkdir) + diralpha/filealpha1 + 0x401666 UPDATE: (unlink_local) + stray0/10000000001 + diralpha/filealpha1 + 0x40228d UPDATE: (unlink_local) + diralpha + stray0/10000000000 + 0x402bf9 UPDATE: (scatter_writebehind) + stray0 + 0x403150 UPDATE: (mkdir) + dirbravo + 0x4037e0 UPDATE: (openc) + dirbravo/.filebravo1.swp + 0x404032 UPDATE: (openc) + dirbravo/.filebravo1.swpx + + # cephfs-journal-tool event get --path filebravo1 list + 0x40785a UPDATE: (openc) + dirbravo/filebravo1 + 0x4103ee UPDATE: (cap update) + dirbravo/filebravo1 + + # cephfs-journal-tool event splice --range 0x40f754..0x410bf1 summary + Events by type: + OPEN: 1 + UPDATE: 2 + + # cephfs-journal-tool event apply --range 0x410bf1.. summary + Events by type: + NOOP: 1 + SESSION: 1 + UPDATE: 9 + + # cephfs-journal-tool event get --inode=1099511627776 list + 0x40068b UPDATE: (mkdir) + diralpha + 0x400d1b UPDATE: (mkdir) + diralpha/filealpha1 + 0x401666 UPDATE: (unlink_local) + stray0/10000000001 + diralpha/filealpha1 + 0x40228d UPDATE: (unlink_local) + diralpha + stray0/10000000000 + + # cephfs-journal-tool event get --frag=1099511627776 --dname=filealpha1 list + 0x400d1b UPDATE: (mkdir) + diralpha/filealpha1 + 0x401666 UPDATE: (unlink_local) + stray0/10000000001 + diralpha/filealpha1 + + # cephfs-journal-tool event get binary --path bin_events + Wrote output to binary files in directory 'bin_events' + diff --git a/doc/cephfs/cephfs-shell.rst b/doc/cephfs/cephfs-shell.rst new file mode 100644 index 00000000..dfe8e232 --- /dev/null +++ b/doc/cephfs/cephfs-shell.rst @@ -0,0 +1,348 @@ + +============= +CephFS Shell +============= + +The File System (FS) shell includes various shell-like commands that directly interact with the :term:`Ceph Filesystem`. + +Usage : + + cephfs-shell [-options] -- [command, command,...] + +Options : + -c, --config FILE Set Configuration file. + -b, --batch FILE Process a batch file. + -t, --test FILE Test against transcript(s) in FILE + +Commands +======== + +mkdir +----- + +Create the directory(ies), if they do not already exist. + +Usage : + + mkdir [-option] ... + +* directory - name of the directory to be created. + +Options : + -m MODE Sets the access mode for the new directory. + -p, --parent Create parent directories as necessary. When this option is specified, no error is reported if a directory already exists. + +put +--- + +Copy a file/directory to Ceph Filesystem from Local Filesystem. + +Usage : + + put [options] [target_path] + +* source_path - local file/directory path to be copied to cephfs. + * if `.` copies all the file/directories in the local working directory. + * if `-` Reads the input from stdin. + +* target_path - remote directory path where the files/directories are to be copied to. + * if `.` files/directories are copied to the remote working directory. + +Options : + -f, --force Overwrites the destination if it already exists. + + +get +--- + +Copy a file from Ceph Filesystem to Local Filesystem. + +Usage : + + get [options] [target_path] + +* source_path - remote file/directory path which is to be copied to local filesystem. + * if `.` copies all the file/directories in the remote working directory. + +* target_path - local directory path where the files/directories are to be copied to. + * if `.` files/directories are copied to the local working directory. + * if `-` Writes output to stdout. + +Options: + -f, --force Overwrites the destination if it already exists. + +ls +-- + +List all the files and directories in the current working directory. + +Usage : + + ls [option] [directory]... + +* directory - name of directory whose files/directories are to be listed. + * By default current working directory's files/directories are listed. + +Options: + -l, --long list with long format - show permissions + -r, --reverse reverse sort + -H human readable + -a, -all ignore entries starting with . + -S Sort by file_size + + +cat +--- + +Concatenate files and print on the standard output + +Usage : + + cat .... + +* file - name of the file + +cd +-- + +Change current working directory. + +Usage : + + cd [directory] + +* directory - path/directory name. If no directory is mentioned it is changed to the root directory. + * If '.' moves to the parent directory of the current directory. + +cwd +--- + +Get current working directory. + +Usage : + + cwd + + +quit/Ctrl + D +------------- + +Close the shell. + +chmod +----- + +Change the permissions of file/directory. + +Usage : + + chmod + +mv +-- + +Moves files/Directory from source to destination. + +Usage : + + mv + +rmdir +----- + +Delete a directory(ies). + +Usage : + + rmdir ..... + +rm +-- + +Remove a file(es). + +Usage : + + rm ... + + +write +----- + +Create and Write a file. + +Usage : + + write + + Ctrl+D Exit. + +lls +--- + +Lists all files and directories in the specified directory.Current local directory files and directories are listed if no path is mentioned + +Usage: + + lls ..... + +lcd +--- + +Moves into the given local directory. + +Usage : + + lcd + +lpwd +---- + +Prints the absolute path of the current local directory. + +Usage : + + lpwd + + +umask +----- + +Set and get the file mode creation mask + +Usage : + + umask [mode] + +alias +----- + +Define or display aliases + +Usage: + + alias [name] | [ ] + +* name - name of the alias being looked up, added, or replaced +* value - what the alias will be resolved to (if adding or replacing) this can contain spaces and does not need to be quoted + +pyscript +-------- + +Runs a python script file inside the console + +Usage: + + pyscript [script_arguments] + +* Console commands can be executed inside this script with cmd ("your command") + However, you cannot run nested "py" or "pyscript" commands from within this script + Paths or arguments that contain spaces must be enclosed in quotes + +py +-- + +Invoke python command, shell, or script + +Usage : + + py : Executes a Python command. + py: Enters interactive Python mode. + +shortcuts +--------- + +Lists shortcuts (aliases) available + +history +------- + +View, run, edit, and save previously entered commands. + +Usage : + + history [-h] [-r | -e | -s | -o FILE | -t TRANSCRIPT] [arg] + +Options: + -h show this help message and exit + -r run selected history items + -e edit and then run selected history items + -s script format; no separation lines + -o FILE output commands to a script file + -t TRANSCRIPT output commands and results to a transcript file + +unalias +------- + +Unsets aliases + +Usage : + + unalias [-a] name [name ...] + +* name - name of the alias being unset + +Options: + -a remove all alias definitions + +set +--- + +Sets a settable parameter or shows current settings of parameters. + +Usage : + + set [-h] [-a] [-l] [settable [settable ...]] + +* Call without arguments for a list of settable parameters with their values. + + Options : + -h show this help message and exit + -a display read-only settings as well + -l describe function of parameter + +edit +---- + +Edit a file in a text editor. + +Usage: + + edit [file_path] + +* file_path - path to a file to open in editor + +load +---- + +Runs commands in script file that is encoded as either ASCII or UTF-8 text. + +Usage: + + load + +* file_path - a file path pointing to a script + +* Script should contain one command per line, just like command would betyped in console. + +shell +----- + +Execute a command as if at the OS prompt. + +Usage: + + shell [arguments] + +locate +------ + +Find an item in Filesystem + +Usage: + locate [options] + +Options : + -c Count number of items found + -i Ignore case + diff --git a/doc/cephfs/client-auth.rst b/doc/cephfs/client-auth.rst new file mode 100644 index 00000000..12876194 --- /dev/null +++ b/doc/cephfs/client-auth.rst @@ -0,0 +1,148 @@ +================================ +CephFS Client Capabilities +================================ + +Use Ceph authentication capabilities to restrict your filesystem clients +to the lowest possible level of authority needed. + +.. note:: + + Path restriction and layout modification restriction are new features + in the Jewel release of Ceph. + +Path restriction +================ + +By default, clients are not restricted in what paths they are allowed to mount. +Further, when clients mount a subdirectory, e.g., /home/user, the MDS does not +by default verify that subsequent operations +are ‘locked’ within that directory. + +To restrict clients to only mount and work within a certain directory, use +path-based MDS authentication capabilities. + +Syntax +------ + +To grant rw access to the specified directory only, we mention the specified +directory while creating key for a client using the following syntax. :: + + ceph fs authorize *filesystem_name* client.*client_name* /*specified_directory* rw + +For example, to restrict client ``foo`` to writing only in the ``bar`` directory of filesystem ``cephfs_a``, use :: + + ceph fs authorize cephfs_a client.foo / r /bar rw + + results in: + + client.foo + key: *key* + caps: [mds] allow r, allow rw path=/bar + caps: [mon] allow r + caps: [osd] allow rw tag cephfs data=cephfs_a + +To completely restrict the client to the ``bar`` directory, omit the +root directory :: + + ceph fs authorize cephfs_a client.foo /bar rw + +Note that if a client's read access is restricted to a path, they will only +be able to mount the filesystem when specifying a readable path in the +mount command (see below). + +Supplying ``all`` or ``*`` as the filesystem name will grant access to every +file system. Note that it is usually necessary to quote ``*`` to protect it from +the shell. + +See `User Management - Add a User to a Keyring`_. for additional details on user management + +To restrict a client to the specified sub-directory only, we mention the specified +directory while mounting using the following syntax. :: + + ./ceph-fuse -n client.*client_name* *mount_path* -r *directory_to_be_mounted* + +for example, to restrict client ``foo`` to ``mnt/bar`` directory, we will use. :: + + ./ceph-fuse -n client.foo mnt -r /bar + +Free space reporting +-------------------- + +By default, when a client is mounting a sub-directory, the used space (``df``) +will be calculated from the quota on that sub-directory, rather than reporting +the overall amount of space used on the cluster. + +If you would like the client to report the overall usage of the filesystem, +and not just the quota usage on the sub-directory mounted, then set the +following config option on the client: + +:: + + client quota df = false + +If quotas are not enabled, or no quota is set on the sub-directory mounted, +then the overall usage of the filesystem will be reported irrespective of +the value of this setting. + +Layout and Quota restriction (the 'p' flag) +=========================================== + +To set layouts or quotas, clients require the 'p' flag in addition to 'rw'. +This restricts all the attributes that are set by special extended attributes +with a "ceph." prefix, as well as restricting other means of setting +these fields (such as openc operations with layouts). + +For example, in the following snippet client.0 can modify layouts and quotas +on the filesystem cephfs_a, but client.1 cannot. + +:: + + client.0 + key: AQAz7EVWygILFRAAdIcuJ12opU/JKyfFmxhuaw== + caps: [mds] allow rwp + caps: [mon] allow r + caps: [osd] allow rw tag cephfs data=cephfs_a + + client.1 + key: AQAz7EVWygILFRAAdIcuJ12opU/JKyfFmxhuaw== + caps: [mds] allow rw + caps: [mon] allow r + caps: [osd] allow rw tag cephfs data=cephfs_a + + +Snapshot restriction (the 's' flag) +=========================================== + +To create or delete snapshots, clients require the 's' flag in addition to 'rw'. +Note that when capability string also contains the 'p' flag, the 's' flag must +appear after it (all flags except 'rw' must be specified in alphabetical order). + +For example, in the following snippet client.0 can create or delete snapshots +in the ``bar`` directory of filesystem ``cephfs_a``. + +:: + + client.0 + key: AQAz7EVWygILFRAAdIcuJ12opU/JKyfFmxhuaw== + caps: [mds] allow rw, allow rws path=/bar + caps: [mon] allow r + caps: [osd] allow rw tag cephfs data=cephfs_a + + +.. _User Management - Add a User to a Keyring: ../../rados/operations/user-management/#add-a-user-to-a-keyring + +Network restriction +=================== + +:: + + client.foo + key: *key* + caps: [mds] allow r network 10.0.0.0/8, allow rw path=/bar network 10.0.0.0/8 + caps: [mon] allow r network 10.0.0.0/8 + caps: [osd] allow rw tag cephfs data=cephfs_a network 10.0.0.0/8 + +The optional ``{network/prefix}`` is a standard network name and +prefix length in CIDR notation (e.g., ``10.3.0.0/16``). If present, +the use of this capability is restricted to clients connecting from +this network. diff --git a/doc/cephfs/client-config-ref.rst b/doc/cephfs/client-config-ref.rst new file mode 100644 index 00000000..93175644 --- /dev/null +++ b/doc/cephfs/client-config-ref.rst @@ -0,0 +1,220 @@ +======================== + Client Config Reference +======================== + +``client acl type`` + +:Description: Set the ACL type. Currently, only possible value is ``"posix_acl"`` to enable POSIX ACL, or an empty string. This option only takes effect when the ``fuse_default_permissions`` is set to ``false``. + +:Type: String +:Default: ``""`` (no ACL enforcement) + +``client cache mid`` + +:Description: Set client cache midpoint. The midpoint splits the least recently used lists into a hot and warm list. +:Type: Float +:Default: ``0.75`` + +``client cache size`` + +:Description: Set the number of inodes that the client keeps in the metadata cache. +:Type: Integer +:Default: ``16384`` + +``client caps release delay`` + +:Description: Set the delay between capability releases in seconds. The delay sets how many seconds a client waits to release capabilities that it no longer needs in case the capabilities are needed for another user space operation. +:Type: Integer +:Default: ``5`` (seconds) + +``client debug force sync read`` + +:Description: If set to ``true``, clients read data directly from OSDs instead of using a local page cache. +:Type: Boolean +:Default: ``false`` + +``client dirsize rbytes`` + +:Description: If set to ``true``, use the recursive size of a directory (that is, total of all descendants). +:Type: Boolean +:Default: ``true`` + +``client max inline size`` + +:Description: Set the maximum size of inlined data stored in a file inode rather than in a separate data object in RADOS. This setting only applies if the ``inline_data`` flag is set on the MDS map. +:Type: Integer +:Default: ``4096`` + +``client metadata`` + +:Description: Comma-delimited strings for client metadata sent to each MDS, in addition to the automatically generated version, host name, and other metadata. +:Type: String +:Default: ``""`` (no additional metadata) + +``client mount gid`` + +:Description: Set the group ID of CephFS mount. +:Type: Integer +:Default: ``-1`` + +``client mount timeout`` + +:Description: Set the timeout for CephFS mount in seconds. +:Type: Float +:Default: ``300.0`` + +``client mount uid`` + +:Description: Set the user ID of CephFS mount. +:Type: Integer +:Default: ``-1`` + +``client mountpoint`` + +:Description: Directory to mount on the CephFS file system. An alternative to the ``-r`` option of the ``ceph-fuse`` command. +:Type: String +:Default: ``"/"`` + +``client oc`` + +:Description: Enable object caching. +:Type: Boolean +:Default: ``true`` + +``client oc max dirty`` + +:Description: Set the maximum number of dirty bytes in the object cache. +:Type: Integer +:Default: ``104857600`` (100MB) + +``client oc max dirty age`` + +:Description: Set the maximum age in seconds of dirty data in the object cache before writeback. +:Type: Float +:Default: ``5.0`` (seconds) + +``client oc max objects`` + +:Description: Set the maximum number of objects in the object cache. +:Type: Integer +:Default: ``1000`` + +``client oc size`` + +:Description: Set how many bytes of data will the client cache. +:Type: Integer +:Default: ``209715200`` (200 MB) + +``client oc target dirty`` + +:Description: Set the target size of dirty data. We recommend to keep this number low. +:Type: Integer +:Default: ``8388608`` (8MB) + +``client permissions`` + +:Description: Check client permissions on all I/O operations. +:Type: Boolean +:Default: ``true`` + +``client quota`` + +:Description: Enable client quota checking if set to ``true``. +:Type: Boolean +:Default: ``true`` + +``client quota df`` + +:Description: Report root directory quota for the ``statfs`` operation. +:Type: Boolean +:Default: ``true`` + +``client readahead max bytes`` + +:Description: Set the maximum number of bytes that the client reads ahead for future read operations. Overridden by the ``client_readahead_max_periods`` setting. +:Type: Integer +:Default: ``0`` (unlimited) + +``client readahead max periods`` + +:Description: Set the number of file layout periods (object size * number of stripes) that the client reads ahead. Overrides the ``client_readahead_max_bytes`` setting. +:Type: Integer +:Default: ``4`` + +``client readahead min`` + +:Description: Set the minimum number bytes that the client reads ahead. +:Type: Integer +:Default: ``131072`` (128KB) + +``client reconnect stale`` + +:Description: Automatically reconnect stale session. +:Type: Boolean +:Default: ``false`` + +``client snapdir`` + +:Description: Set the snapshot directory name. +:Type: String +:Default: ``".snap"`` + +``client tick interval`` + +:Description: Set the interval in seconds between capability renewal and other upkeep. +:Type: Float +:Default: ``1.0`` (seconds) + +``client use random mds`` + +:Description: Choose random MDS for each request. +:Type: Boolean +:Default: ``false`` + +``fuse default permissions`` + +:Description: When set to ``false``, ``ceph-fuse`` utility checks does its own permissions checking, instead of relying on the permissions enforcement in FUSE. Set to ``false`` together with the ``client acl type=posix_acl`` option to enable POSIX ACL. +:Type: Boolean +:Default: ``true`` + +``fuse max write`` + +:Description: Set the maximum number of bytes in a single write operation. Because the FUSE default is 128kbytes, SO fuse_max_write default set to 0(The default does not take effect) +:Type: Integer +:Default: ``0`` + +Developer Options +################# + +.. important:: These options are internal. They are listed here only to complete the list of options. + +``client debug getattr caps`` + +:Description: Check if the reply from the MDS contains required capabilities. +:Type: Boolean +:Default: ``false`` + +``client debug inject tick delay`` + +:Description: Add artificial delay between client ticks. +:Type: Integer +:Default: ``0`` + +``client inject fixed oldest tid`` + +:Description: +:Type: Boolean +:Default: ``false`` + +``client inject release failure`` + +:Description: +:Type: Boolean +:Default: ``false`` + +``client trace`` + +:Description: The path to the trace file for all file operations. The output is designed to be used by the Ceph `synthetic client <../../man/8/ceph-syn>`_. +:Type: String +:Default: ``""`` (disabled) + diff --git a/doc/cephfs/createfs.rst b/doc/cephfs/createfs.rst new file mode 100644 index 00000000..cad3aa1b --- /dev/null +++ b/doc/cephfs/createfs.rst @@ -0,0 +1,92 @@ +======================== +Create a Ceph filesystem +======================== + +Creating pools +============== + +A Ceph filesystem requires at least two RADOS pools, one for data and one for metadata. +When configuring these pools, you might consider: + +- Using a higher replication level for the metadata pool, as any data loss in + this pool can render the whole filesystem inaccessible. +- Using lower-latency storage such as SSDs for the metadata pool, as this will + directly affect the observed latency of filesystem operations on clients. +- The data pool used to create the file system is the "default" data pool and + the location for storing all inode backtrace information, used for hard link + management and disaster recovery. For this reason, all inodes created in + CephFS have at least one object in the default data pool. If erasure-coded + pools are planned for the file system, it is usually better to use a + replicated pool for the default data pool to improve small-object write and + read performance for updating backtraces. Separately, another erasure-coded + data pool can be added (see also :ref:`ecpool`) that can be used on an entire + hierarchy of directories and files (see also :ref:`file-layouts`). + +Refer to :doc:`/rados/operations/pools` to learn more about managing pools. For +example, to create two pools with default settings for use with a filesystem, you +might run the following commands: + +.. code:: bash + + $ ceph osd pool create cephfs_data + $ ceph osd pool create cephfs_metadata + +Generally, the metadata pool will have at most a few gigabytes of data. For +this reason, a smaller PG count is usually recommended. 64 or 128 is commonly +used in practice for large clusters. + +.. note:: The names of the file systems, metadata pools, and data pools can + only have characters in the set [a-zA-Z0-9\_-.]. + +Creating a filesystem +===================== + +Once the pools are created, you may enable the filesystem using the ``fs new`` command: + +.. code:: bash + + $ ceph fs new + +For example: + +.. code:: bash + + $ ceph fs new cephfs cephfs_metadata cephfs_data + $ ceph fs ls + name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ] + +Once a filesystem has been created, your MDS(s) will be able to enter +an *active* state. For example, in a single MDS system: + +.. code:: bash + + $ ceph mds stat + cephfs-1/1/1 up {0=a=up:active} + +Once the filesystem is created and the MDS is active, you are ready to mount +the filesystem. If you have created more than one filesystem, you will +choose which to use when mounting. + + - `Mount CephFS`_ + - `Mount CephFS as FUSE`_ + +.. _Mount CephFS: ../../cephfs/kernel +.. _Mount CephFS as FUSE: ../../cephfs/fuse + +If you have created more than one filesystem, and a client does not +specify a filesystem when mounting, you can control which filesystem +they will see by using the `ceph fs set-default` command. + +Using Erasure Coded pools with CephFS +===================================== + +You may use Erasure Coded pools as CephFS data pools as long as they have overwrites enabled, which is done as follows: + +.. code:: bash + + ceph osd pool set my_ec_pool allow_ec_overwrites true + +Note that EC overwrites are only supported when using OSDS with the BlueStore backend. + +You may not use Erasure Coded pools as CephFS metadata pools, because CephFS metadata is stored using RADOS *OMAP* data structures, which EC pools cannot store. + diff --git a/doc/cephfs/dirfrags.rst b/doc/cephfs/dirfrags.rst new file mode 100644 index 00000000..7f421307 --- /dev/null +++ b/doc/cephfs/dirfrags.rst @@ -0,0 +1,95 @@ + +=================================== +Configuring Directory fragmentation +=================================== + +In CephFS, directories are *fragmented* when they become very large +or very busy. This splits up the metadata so that it can be shared +between multiple MDS daemons, and between multiple objects in the +metadata pool. + +In normal operation, directory fragmentation is invisible to +users and administrators, and all the configuration settings mentioned +here should be left at their default values. + +While directory fragmentation enables CephFS to handle very large +numbers of entries in a single directory, application programmers should +remain conservative about creating very large directories, as they still +have a resource cost in situations such as a CephFS client listing +the directory, where all the fragments must be loaded at once. + +All directories are initially created as a single fragment. This fragment +may be *split* to divide up the directory into more fragments, and these +fragments may be *merged* to reduce the number of fragments in the directory. + +Splitting and merging +===================== + +When an MDS identifies a directory fragment to be split, it does not +do the split immediately. Because splitting interrupts metadata IO, +a short delay is used to allow short bursts of client IO to complete +before the split begins. This delay is configured with +``mds_bal_fragment_interval``, which defaults to 5 seconds. + +When the split is done, the directory fragment is broken up into +a power of two number of new fragments. The number of new +fragments is given by two to the power ``mds_bal_split_bits``, i.e. +if ``mds_bal_split_bits`` is 2, then four new fragments will be +created. The default setting is 3, i.e. splits create 8 new fragments. + +The criteria for initiating a split or a merge are described in the +following sections. + +Size thresholds +=============== + +A directory fragment is eligible for splitting when its size exceeds +``mds_bal_split_size`` (default 10000). Ordinarily this split is +delayed by ``mds_bal_fragment_interval``, but if the fragment size +exceeds a factor of ``mds_bal_fragment_fast_factor`` the split size, +the split will happen immediately (holding up any client metadata +IO on the directory). + +``mds_bal_fragment_size_max`` is the hard limit on the size of +directory fragments. If it is reached, clients will receive +ENOSPC errors if they try to create files in the fragment. On +a properly configured system, this limit should never be reached on +ordinary directories, as they will have split long before. By default, +this is set to 10 times the split size, giving a dirfrag size limit of +100000. Increasing this limit may lead to oversized directory fragment +objects in the metadata pool, which the OSDs may not be able to handle. + +A directory fragment is eligible for merging when its size is less +than ``mds_bal_merge_size``. There is no merge equivalent of the +"fast splitting" explained above: fast splitting exists to avoid +creating oversized directory fragments, there is no equivalent issue +to avoid when merging. The default merge size is 50. + +Activity thresholds +=================== + +In addition to splitting fragments based +on their size, the MDS may split directory fragments if their +activity exceeds a threshold. + +The MDS maintains separate time-decaying load counters for read and write +operations on directory fragments. The decaying load counters have an +exponential decay based on the ``mds_decay_halflife`` setting. + +On writes, the write counter is +incremented, and compared with ``mds_bal_split_wr``, triggering a +split if the threshold is exceeded. Write operations include metadata IO +such as renames, unlinks and creations. + +The ``mds_bal_split_rd`` threshold is applied based on the read operation +load counter, which tracks readdir operations. + +By the default, the read threshold is 25000 and the write threshold is +10000, i.e. 2.5x as many reads as writes would be required to trigger +a split. + +After fragments are split due to the activity thresholds, they are only +merged based on the size threshold (``mds_bal_merge_size``), so +a spike in activity may cause a directory to stay fragmented +forever unless some entries are unlinked. + diff --git a/doc/cephfs/disaster-recovery-experts.rst b/doc/cephfs/disaster-recovery-experts.rst new file mode 100644 index 00000000..75c03f03 --- /dev/null +++ b/doc/cephfs/disaster-recovery-experts.rst @@ -0,0 +1,254 @@ + +.. _disaster-recovery-experts: + +Advanced: Metadata repair tools +=============================== + +.. warning:: + + If you do not have expert knowledge of CephFS internals, you will + need to seek assistance before using any of these tools. + + The tools mentioned here can easily cause damage as well as fixing it. + + It is essential to understand exactly what has gone wrong with your + filesystem before attempting to repair it. + + If you do not have access to professional support for your cluster, + consult the ceph-users mailing list or the #ceph IRC channel. + + +Journal export +-------------- + +Before attempting dangerous operations, make a copy of the journal like so: + +:: + + cephfs-journal-tool journal export backup.bin + +Note that this command may not always work if the journal is badly corrupted, +in which case a RADOS-level copy should be made (http://tracker.ceph.com/issues/9902). + + +Dentry recovery from journal +---------------------------- + +If a journal is damaged or for any reason an MDS is incapable of replaying it, +attempt to recover what file metadata we can like so: + +:: + + cephfs-journal-tool event recover_dentries summary + +This command by default acts on MDS rank 0, pass --rank= to operate on other ranks. + +This command will write any inodes/dentries recoverable from the journal +into the backing store, if these inodes/dentries are higher-versioned +than the previous contents of the backing store. If any regions of the journal +are missing/damaged, they will be skipped. + +Note that in addition to writing out dentries and inodes, this command will update +the InoTables of each 'in' MDS rank, to indicate that any written inodes' numbers +are now in use. In simple cases, this will result in an entirely valid backing +store state. + +.. warning:: + + The resulting state of the backing store is not guaranteed to be self-consistent, + and an online MDS scrub will be required afterwards. The journal contents + will not be modified by this command, you should truncate the journal + separately after recovering what you can. + +Journal truncation +------------------ + +If the journal is corrupt or MDSs cannot replay it for any reason, you can +truncate it like so: + +:: + + cephfs-journal-tool journal reset + +.. warning:: + + Resetting the journal *will* lose metadata unless you have extracted + it by other means such as ``recover_dentries``. It is likely to leave + some orphaned objects in the data pool. It may result in re-allocation + of already-written inodes, such that permissions rules could be violated. + +MDS table wipes +--------------- + +After the journal has been reset, it may no longer be consistent with respect +to the contents of the MDS tables (InoTable, SessionMap, SnapServer). + +To reset the SessionMap (erase all sessions), use: + +:: + + cephfs-table-tool all reset session + +This command acts on the tables of all 'in' MDS ranks. Replace 'all' with an MDS +rank to operate on that rank only. + +The session table is the table most likely to need resetting, but if you know you +also need to reset the other tables then replace 'session' with 'snap' or 'inode'. + +MDS map reset +------------- + +Once the in-RADOS state of the filesystem (i.e. contents of the metadata pool) +is somewhat recovered, it may be necessary to update the MDS map to reflect +the contents of the metadata pool. Use the following command to reset the MDS +map to a single MDS: + +:: + + ceph fs reset --yes-i-really-mean-it + +Once this is run, any in-RADOS state for MDS ranks other than 0 will be ignored: +as a result it is possible for this to result in data loss. + +One might wonder what the difference is between 'fs reset' and 'fs remove; fs new'. The +key distinction is that doing a remove/new will leave rank 0 in 'creating' state, such +that it would overwrite any existing root inode on disk and orphan any existing files. In +contrast, the 'reset' command will leave rank 0 in 'active' state such that the next MDS +daemon to claim the rank will go ahead and use the existing in-RADOS metadata. + +Recovery from missing metadata objects +-------------------------------------- + +Depending on what objects are missing or corrupt, you may need to +run various commands to regenerate default versions of the +objects. + +:: + + # Session table + cephfs-table-tool 0 reset session + # SnapServer + cephfs-table-tool 0 reset snap + # InoTable + cephfs-table-tool 0 reset inode + # Journal + cephfs-journal-tool --rank=0 journal reset + # Root inodes ("/" and MDS directory) + cephfs-data-scan init + +Finally, you can regenerate metadata objects for missing files +and directories based on the contents of a data pool. This is +a three-phase process. First, scanning *all* objects to calculate +size and mtime metadata for inodes. Second, scanning the first +object from every file to collect this metadata and inject it into +the metadata pool. Third, checking inode linkages and fixing found +errors. + +:: + + cephfs-data-scan scan_extents + cephfs-data-scan scan_inodes + cephfs-data-scan scan_links + +'scan_extents' and 'scan_inodes' commands may take a *very long* time +if there are many files or very large files in the data pool. + +To accelerate the process, run multiple instances of the tool. + +Decide on a number of workers, and pass each worker a number within +the range 0-(worker_m - 1). + +The example below shows how to run 4 workers simultaneously: + +:: + + # Worker 0 + cephfs-data-scan scan_extents --worker_n 0 --worker_m 4 + # Worker 1 + cephfs-data-scan scan_extents --worker_n 1 --worker_m 4 + # Worker 2 + cephfs-data-scan scan_extents --worker_n 2 --worker_m 4 + # Worker 3 + cephfs-data-scan scan_extents --worker_n 3 --worker_m 4 + + # Worker 0 + cephfs-data-scan scan_inodes --worker_n 0 --worker_m 4 + # Worker 1 + cephfs-data-scan scan_inodes --worker_n 1 --worker_m 4 + # Worker 2 + cephfs-data-scan scan_inodes --worker_n 2 --worker_m 4 + # Worker 3 + cephfs-data-scan scan_inodes --worker_n 3 --worker_m 4 + +It is **important** to ensure that all workers have completed the +scan_extents phase before any workers enter the scan_inodes phase. + +After completing the metadata recovery, you may want to run cleanup +operation to delete ancillary data geneated during recovery. + +:: + + cephfs-data-scan cleanup + + + +Using an alternate metadata pool for recovery +--------------------------------------------- + +.. warning:: + + There has not been extensive testing of this procedure. It should be + undertaken with great care. + +If an existing filesystem is damaged and inoperative, it is possible to create +a fresh metadata pool and attempt to reconstruct the filesystem metadata +into this new pool, leaving the old metadata in place. This could be used to +make a safer attempt at recovery since the existing metadata pool would not be +overwritten. + +.. caution:: + + During this process, multiple metadata pools will contain data referring to + the same data pool. Extreme caution must be exercised to avoid changing the + data pool contents while this is the case. Once recovery is complete, the + damaged metadata pool should be deleted. + +To begin this process, first create the fresh metadata pool and initialize +it with empty file system data structures: + +:: + + ceph fs flag set enable_multiple true --yes-i-really-mean-it + ceph osd pool create recovery replicated + ceph fs new recovery-fs recovery --allow-dangerous-metadata-overlay + cephfs-data-scan init --force-init --filesystem recovery-fs --alternate-pool recovery + ceph fs reset recovery-fs --yes-i-really-mean-it + cephfs-table-tool recovery-fs:all reset session + cephfs-table-tool recovery-fs:all reset snap + cephfs-table-tool recovery-fs:all reset inode + +Next, run the recovery toolset using the --alternate-pool argument to output +results to the alternate pool: + +:: + + cephfs-data-scan scan_extents --alternate-pool recovery --filesystem + cephfs-data-scan scan_inodes --alternate-pool recovery --filesystem --force-corrupt --force-init + cephfs-data-scan scan_links --filesystem recovery-fs + +If the damaged filesystem contains dirty journal data, it may be recovered next +with: + +:: + + cephfs-journal-tool --rank=:0 event recover_dentries list --alternate-pool recovery + cephfs-journal-tool --rank recovery-fs:0 journal reset --force + +After recovery, some recovered directories will have incorrect statistics. +Ensure the parameters mds_verify_scatter and mds_debug_scatterstat are set +to false (the default) to prevent the MDS from checking the statistics, then +run a forward scrub to repair them. Ensure you have an MDS running and issue: + +:: + + ceph tell mds.a scrub start / recursive repair diff --git a/doc/cephfs/disaster-recovery.rst b/doc/cephfs/disaster-recovery.rst new file mode 100644 index 00000000..71344e90 --- /dev/null +++ b/doc/cephfs/disaster-recovery.rst @@ -0,0 +1,61 @@ +.. _cephfs-disaster-recovery: + +Disaster recovery +================= + +Metadata damage and repair +-------------------------- + +If a filesystem has inconsistent or missing metadata, it is considered +*damaged*. You may find out about damage from a health message, or in some +unfortunate cases from an assertion in a running MDS daemon. + +Metadata damage can result either from data loss in the underlying RADOS +layer (e.g. multiple disk failures that lose all copies of a PG), or from +software bugs. + +CephFS includes some tools that may be able to recover a damaged filesystem, +but to use them safely requires a solid understanding of CephFS internals. +The documentation for these potentially dangerous operations is on a +separate page: :ref:`disaster-recovery-experts`. + +Data pool damage (files affected by lost data PGs) +-------------------------------------------------- + +If a PG is lost in a *data* pool, then the filesystem will continue +to operate normally, but some parts of some files will simply +be missing (reads will return zeros). + +Losing a data PG may affect many files. Files are split into many objects, +so identifying which files are affected by loss of particular PGs requires +a full scan over all object IDs that may exist within the size of a file. +This type of scan may be useful for identifying which files require +restoring from a backup. + +.. danger:: + + This command does not repair any metadata, so when restoring files in + this case you must *remove* the damaged file, and replace it in order + to have a fresh inode. Do not overwrite damaged files in place. + +If you know that objects have been lost from PGs, use the ``pg_files`` +subcommand to scan for files that may have been damaged as a result: + +:: + + cephfs-data-scan pg_files [...] + +For example, if you have lost data from PGs 1.4 and 4.5, and you would like +to know which files under /home/bob might have been damaged: + +:: + + cephfs-data-scan pg_files /home/bob 1.4 4.5 + +The output will be a list of paths to potentially damaged files, one +per line. + +Note that this command acts as a normal CephFS client to find all the +files in the filesystem and read their layouts, so the MDS must be +up and running. + diff --git a/doc/cephfs/eviction.rst b/doc/cephfs/eviction.rst new file mode 100644 index 00000000..c0d54f41 --- /dev/null +++ b/doc/cephfs/eviction.rst @@ -0,0 +1,190 @@ + +=============================== +Ceph filesystem client eviction +=============================== + +When a filesystem client is unresponsive or otherwise misbehaving, it +may be necessary to forcibly terminate its access to the filesystem. This +process is called *eviction*. + +Evicting a CephFS client prevents it from communicating further with MDS +daemons and OSD daemons. If a client was doing buffered IO to the filesystem, +any un-flushed data will be lost. + +Clients may either be evicted automatically (if they fail to communicate +promptly with the MDS), or manually (by the system administrator). + +The client eviction process applies to clients of all kinds, this includes +FUSE mounts, kernel mounts, nfs-ganesha gateways, and any process using +libcephfs. + +Automatic client eviction +========================= + +There are three situations in which a client may be evicted automatically. + +#. On an active MDS daemon, if a client has not communicated with the MDS for over + ``session_autoclose`` (a file system variable) seconds (300 seconds by + default), then it will be evicted automatically. + +#. On an active MDS daemon, if a client has not responded to cap revoke messages + for over ``mds_cap_revoke_eviction_timeout`` (configuration option) seconds. + This is disabled by default. + +#. During MDS startup (including on failover), the MDS passes through a + state called ``reconnect``. During this state, it waits for all the + clients to connect to the new MDS daemon. If any clients fail to do + so within the time window (``mds_reconnect_timeout``, 45 seconds by default) + then they will be evicted. + +A warning message is sent to the cluster log if either of these situations +arises. + +Manual client eviction +====================== + +Sometimes, the administrator may want to evict a client manually. This +could happen if a client has died and the administrator does not +want to wait for its session to time out, or it could happen if +a client is misbehaving and the administrator does not have access to +the client node to unmount it. + +It is useful to inspect the list of clients first: + +:: + + ceph tell mds.0 client ls + + [ + { + "id": 4305, + "num_leases": 0, + "num_caps": 3, + "state": "open", + "replay_requests": 0, + "completed_requests": 0, + "reconnecting": false, + "inst": "client.4305 172.21.9.34:0/422650892", + "client_metadata": { + "ceph_sha1": "ae81e49d369875ac8b569ff3e3c456a31b8f3af5", + "ceph_version": "ceph version 12.0.0-1934-gae81e49 (ae81e49d369875ac8b569ff3e3c456a31b8f3af5)", + "entity_id": "0", + "hostname": "senta04", + "mount_point": "/tmp/tmpcMpF1b/mnt.0", + "pid": "29377", + "root": "/" + } + } + ] + + + +Once you have identified the client you want to evict, you can +do that using its unique ID, or various other attributes to identify it: + +:: + + # These all work + ceph tell mds.0 client evict id=4305 + ceph tell mds.0 client evict client_metadata.=4305 + + +Advanced: Un-blacklisting a client +================================== + +Ordinarily, a blacklisted client may not reconnect to the servers: it +must be unmounted and then mounted anew. + +However, in some situations it may be useful to permit a client that +was evicted to attempt to reconnect. + +Because CephFS uses the RADOS OSD blacklist to control client eviction, +CephFS clients can be permitted to reconnect by removing them from +the blacklist: + +:: + + $ ceph osd blacklist ls + listed 1 entries + 127.0.0.1:0/3710147553 2018-03-19 11:32:24.716146 + $ ceph osd blacklist rm 127.0.0.1:0/3710147553 + un-blacklisting 127.0.0.1:0/3710147553 + + +Doing this may put data integrity at risk if other clients have accessed +files that the blacklisted client was doing buffered IO to. It is also not +guaranteed to result in a fully functional client -- the best way to get +a fully healthy client back after an eviction is to unmount the client +and do a fresh mount. + +If you are trying to reconnect clients in this way, you may also +find it useful to set ``client_reconnect_stale`` to true in the +FUSE client, to prompt the client to try to reconnect. + +Advanced: Configuring blacklisting +================================== + +If you are experiencing frequent client evictions, due to slow +client hosts or an unreliable network, and you cannot fix the underlying +issue, then you may want to ask the MDS to be less strict. + +It is possible to respond to slow clients by simply dropping their +MDS sessions, but permit them to re-open sessions and permit them +to continue talking to OSDs. To enable this mode, set +``mds_session_blacklist_on_timeout`` to false on your MDS nodes. + +For the equivalent behaviour on manual evictions, set +``mds_session_blacklist_on_evict`` to false. + +Note that if blacklisting is disabled, then evicting a client will +only have an effect on the MDS you send the command to. On a system +with multiple active MDS daemons, you would need to send an +eviction command to each active daemon. When blacklisting is enabled +(the default), sending an eviction command to just a single +MDS is sufficient, because the blacklist propagates it to the others. + +.. _background_blacklisting_and_osd_epoch_barrier: + +Background: Blacklisting and OSD epoch barrier +============================================== + +After a client is blacklisted, it is necessary to make sure that +other clients and MDS daemons have the latest OSDMap (including +the blacklist entry) before they try to access any data objects +that the blacklisted client might have been accessing. + +This is ensured using an internal "osdmap epoch barrier" mechanism. + +The purpose of the barrier is to ensure that when we hand out any +capabilities which might allow touching the same RADOS objects, the +clients we hand out the capabilities to must have a sufficiently recent +OSD map to not race with cancelled operations (from ENOSPC) or +blacklisted clients (from evictions). + +More specifically, the cases where an epoch barrier is set are: + + * Client eviction (where the client is blacklisted and other clients + must wait for a post-blacklist epoch to touch the same objects). + * OSD map full flag handling in the client (where the client may + cancel some OSD ops from a pre-full epoch, so other clients must + wait until the full epoch or later before touching the same objects). + * MDS startup, because we don't persist the barrier epoch, so must + assume that latest OSD map is always required after a restart. + +Note that this is a global value for simplicity. We could maintain this on +a per-inode basis. But we don't, because: + + * It would be more complicated. + * It would use an extra 4 bytes of memory for every inode. + * It would not be much more efficient as, almost always, everyone has + the latest OSD map. And, in most cases everyone will breeze through this + barrier rather than waiting. + * This barrier is done in very rare cases, so any benefit from per-inode + granularity would only very rarely be seen. + +The epoch barrier is transmitted along with all capability messages, and +instructs the receiver of the message to avoid sending any more RADOS +operations to OSDs until it has seen this OSD epoch. This mainly applies +to clients (doing their data writes directly to files), but also applies +to the MDS because things like file size probing and file deletion are +done directly from the MDS. diff --git a/doc/cephfs/experimental-features.rst b/doc/cephfs/experimental-features.rst new file mode 100644 index 00000000..3344a34d --- /dev/null +++ b/doc/cephfs/experimental-features.rst @@ -0,0 +1,111 @@ + +Experimental Features +===================== + +CephFS includes a number of experimental features which are not fully stabilized +or qualified for users to turn on in real deployments. We generally do our best +to clearly demarcate these and fence them off so they cannot be used by mistake. + +Some of these features are closer to being done than others, though. We describe +each of them with an approximation of how risky they are and briefly describe +what is required to enable them. Note that doing so will *irrevocably* flag maps +in the monitor as having once enabled this flag to improve debugging and +support processes. + +Inline data +----------- +By default, all CephFS file data is stored in RADOS objects. The inline data +feature enables small files (generally <2KB) to be stored in the inode +and served out of the MDS. This may improve small-file performance but increases +load on the MDS. It is not sufficiently tested to support at this time, although +failures within it are unlikely to make non-inlined data inaccessible + +Inline data has always been off by default and requires setting +the ``inline_data`` flag. + +Mantle: Programmable Metadata Load Balancer +------------------------------------------- + +Mantle is a programmable metadata balancer built into the MDS. The idea is to +protect the mechanisms for balancing load (migration, replication, +fragmentation) but stub out the balancing policies using Lua. For details, see +:doc:`/cephfs/mantle`. + +Snapshots +--------- +Like multiple active MDSes, CephFS is designed from the ground up to support +snapshotting of arbitrary directories. There are no known bugs at the time of +writing, but there is insufficient testing to provide stability guarantees and +every expansion of testing has generally revealed new issues. If you do enable +snapshots and experience failure, manual intervention will be needed. + +Snapshots are known not to work properly with multiple filesystems (below) in +some cases. Specifically, if you share a pool for multiple FSes and delete +a snapshot in one FS, expect to lose snapshotted file data in any other FS using +snapshots. See the :doc:`/dev/cephfs-snapshots` page for more information. + +For somewhat obscure implementation reasons, the kernel client only supports up +to 400 snapshots (http://tracker.ceph.com/issues/21420). + +Snapshotting was blocked off with the ``allow_new_snaps`` flag prior to Mimic. + +Multiple filesystems within a Ceph cluster +------------------------------------------ +Code was merged prior to the Jewel release which enables administrators +to create multiple independent CephFS filesystems within a single Ceph cluster. +These independent filesystems have their own set of active MDSes, cluster maps, +and data. But the feature required extensive changes to data structures which +are not yet fully qualified, and has security implications which are not all +apparent nor resolved. + +There are no known bugs, but any failures which do result from having multiple +active filesystems in your cluster will require manual intervention and, so far, +will not have been experienced by anybody else -- knowledgeable help will be +extremely limited. You also probably do not have the security or isolation +guarantees you want or think you have upon doing so. + +Note that snapshots and multiple filesystems are *not* tested in combination +and may not work together; see above. + +Multiple filesystems were available starting in the Jewel release candidates +but must be turned on via the ``enable_multiple`` flag until declared stable. + +LazyIO +------ +LazyIO relaxes POSIX semantics. Buffered reads/writes are allowed even when a +file is opened by multiple applications on multiple clients. Applications are +responsible for managing cache coherency themselves. + +Previously experimental features +================================ + +Directory Fragmentation +----------------------- + +Directory fragmentation was considered experimental prior to the *Luminous* +(12.2.x). It is now enabled by default on new filesystems. To enable directory +fragmentation on filesystems created with older versions of Ceph, set +the ``allow_dirfrags`` flag on the filesystem: + +:: + + ceph fs set allow_dirfrags 1 + +Multiple active metadata servers +-------------------------------- + +Prior to the *Luminous* (12.2.x) release, running multiple active metadata +servers within a single filesystem was considered experimental. Creating +multiple active metadata servers is now permitted by default on new +filesystems. + +Filesystems created with older versions of Ceph still require explicitly +enabling multiple active metadata servers as follows: + +:: + + ceph fs set allow_multimds 1 + +Note that the default size of the active mds cluster (``max_mds``) is +still set to 1 initially. + diff --git a/doc/cephfs/file-layouts.rst b/doc/cephfs/file-layouts.rst new file mode 100644 index 00000000..6ff834b0 --- /dev/null +++ b/doc/cephfs/file-layouts.rst @@ -0,0 +1,230 @@ +.. _file-layouts: + +File layouts +============ + +The layout of a file controls how its contents are mapped to Ceph RADOS objects. You can +read and write a file's layout using *virtual extended attributes* or xattrs. + +The name of the layout xattrs depends on whether a file is a regular file or a directory. Regular +files' layout xattrs are called ``ceph.file.layout``, whereas directories' layout xattrs are called +``ceph.dir.layout``. Where subsequent examples refer to ``ceph.file.layout``, substitute ``dir`` as appropriate +when dealing with directories. + +.. tip:: + + Your linux distribution may not ship with commands for manipulating xattrs by default, + the required package is usually called ``attr``. + +Layout fields +------------- + +pool + String, giving ID or name. String can only have characters in the set [a-zA-Z0-9\_-.]. Which RADOS pool a file's data objects will be stored in. + +pool_namespace + String with only characters in the set [a-zA-Z0-9\_-.]. Within the data pool, which RADOS namespace the objects will + be written to. Empty by default (i.e. default namespace). + +stripe_unit + Integer in bytes. The size (in bytes) of a block of data used in the RAID 0 distribution of a file. All stripe units for a file have equal size. The last stripe unit is typically incomplete–i.e. it represents the data at the end of the file as well as unused “space†beyond it up to the end of the fixed stripe unit size. + +stripe_count + Integer. The number of consecutive stripe units that constitute a RAID 0 “stripe†of file data. + +object_size + Integer in bytes. File data is chunked into RADOS objects of this size. + +.. tip:: + + RADOS enforces a configurable limit on object sizes: if you increase CephFS + object sizes beyond that limit then writes may not succeed. The OSD + setting is ``osd_max_object_size``, which is 128MB by default. + Very large RADOS objects may prevent smooth operation of the cluster, + so increasing the object size limit past the default is not recommended. + +Reading layouts with ``getfattr`` +--------------------------------- + +Read the layout information as a single string: + +.. code-block:: bash + + $ touch file + $ getfattr -n ceph.file.layout file + # file: file + ceph.file.layout="stripe_unit=4194304 stripe_count=1 object_size=4194304 pool=cephfs_data" + +Read individual layout fields: + +.. code-block:: bash + + $ getfattr -n ceph.file.layout.pool file + # file: file + ceph.file.layout.pool="cephfs_data" + $ getfattr -n ceph.file.layout.stripe_unit file + # file: file + ceph.file.layout.stripe_unit="4194304" + $ getfattr -n ceph.file.layout.stripe_count file + # file: file + ceph.file.layout.stripe_count="1" + $ getfattr -n ceph.file.layout.object_size file + # file: file + ceph.file.layout.object_size="4194304" + +.. note:: + + When reading layouts, the pool will usually be indicated by name. However, in + rare cases when pools have only just been created, the ID may be output instead. + +Directories do not have an explicit layout until it is customized. Attempts to read +the layout will fail if it has never been modified: this indicates that layout of the +next ancestor directory with an explicit layout will be used. + +.. code-block:: bash + + $ mkdir dir + $ getfattr -n ceph.dir.layout dir + dir: ceph.dir.layout: No such attribute + $ setfattr -n ceph.dir.layout.stripe_count -v 2 dir + $ getfattr -n ceph.dir.layout dir + # file: dir + ceph.dir.layout="stripe_unit=4194304 stripe_count=2 object_size=4194304 pool=cephfs_data" + + +Writing layouts with ``setfattr`` +--------------------------------- + +Layout fields are modified using ``setfattr``: + +.. code-block:: bash + + $ ceph osd lspools + 0 rbd + 1 cephfs_data + 2 cephfs_metadata + + $ setfattr -n ceph.file.layout.stripe_unit -v 1048576 file2 + $ setfattr -n ceph.file.layout.stripe_count -v 8 file2 + $ setfattr -n ceph.file.layout.object_size -v 10485760 file2 + $ setfattr -n ceph.file.layout.pool -v 1 file2 # Setting pool by ID + $ setfattr -n ceph.file.layout.pool -v cephfs_data file2 # Setting pool by name + +.. note:: + + When the layout fields of a file are modified using ``setfattr``, this file must be empty, otherwise an error will occur. + +.. code-block:: bash + + # touch an empty file + $ touch file1 + # modify layout field successfully + $ setfattr -n ceph.file.layout.stripe_count -v 3 file1 + + # write something to file1 + $ echo "hello world" > file1 + $ setfattr -n ceph.file.layout.stripe_count -v 4 file1 + setfattr: file1: Directory not empty + +Clearing layouts +---------------- + +If you wish to remove an explicit layout from a directory, to revert to +inheriting the layout of its ancestor, you can do so: + +.. code-block:: bash + + setfattr -x ceph.dir.layout mydir + +Similarly, if you have set the ``pool_namespace`` attribute and wish +to modify the layout to use the default namespace instead: + +.. code-block:: bash + + # Create a dir and set a namespace on it + mkdir mydir + setfattr -n ceph.dir.layout.pool_namespace -v foons mydir + getfattr -n ceph.dir.layout mydir + ceph.dir.layout="stripe_unit=4194304 stripe_count=1 object_size=4194304 pool=cephfs_data_a pool_namespace=foons" + + # Clear the namespace from the directory's layout + setfattr -x ceph.dir.layout.pool_namespace mydir + getfattr -n ceph.dir.layout mydir + ceph.dir.layout="stripe_unit=4194304 stripe_count=1 object_size=4194304 pool=cephfs_data_a" + + +Inheritance of layouts +---------------------- + +Files inherit the layout of their parent directory at creation time. However, subsequent +changes to the parent directory's layout do not affect children. + +.. code-block:: bash + + $ getfattr -n ceph.dir.layout dir + # file: dir + ceph.dir.layout="stripe_unit=4194304 stripe_count=2 object_size=4194304 pool=cephfs_data" + + # Demonstrate file1 inheriting its parent's layout + $ touch dir/file1 + $ getfattr -n ceph.file.layout dir/file1 + # file: dir/file1 + ceph.file.layout="stripe_unit=4194304 stripe_count=2 object_size=4194304 pool=cephfs_data" + + # Now update the layout of the directory before creating a second file + $ setfattr -n ceph.dir.layout.stripe_count -v 4 dir + $ touch dir/file2 + + # Demonstrate that file1's layout is unchanged + $ getfattr -n ceph.file.layout dir/file1 + # file: dir/file1 + ceph.file.layout="stripe_unit=4194304 stripe_count=2 object_size=4194304 pool=cephfs_data" + + # ...while file2 has the parent directory's new layout + $ getfattr -n ceph.file.layout dir/file2 + # file: dir/file2 + ceph.file.layout="stripe_unit=4194304 stripe_count=4 object_size=4194304 pool=cephfs_data" + + +Files created as descendents of the directory also inherit the layout, if the intermediate +directories do not have layouts set: + +.. code-block:: bash + + $ getfattr -n ceph.dir.layout dir + # file: dir + ceph.dir.layout="stripe_unit=4194304 stripe_count=4 object_size=4194304 pool=cephfs_data" + $ mkdir dir/childdir + $ getfattr -n ceph.dir.layout dir/childdir + dir/childdir: ceph.dir.layout: No such attribute + $ touch dir/childdir/grandchild + $ getfattr -n ceph.file.layout dir/childdir/grandchild + # file: dir/childdir/grandchild + ceph.file.layout="stripe_unit=4194304 stripe_count=4 object_size=4194304 pool=cephfs_data" + + +Adding a data pool to the MDS +----------------------------- + +Before you can use a pool with CephFS you have to add it to the Metadata Servers. + +.. code-block:: bash + + $ ceph fs add_data_pool cephfs cephfs_data_ssd + $ ceph fs ls # Pool should now show up + .... data pools: [cephfs_data cephfs_data_ssd ] + +Make sure that your cephx keys allows the client to access this new pool. + +You can then update the layout on a directory in CephFS to use the pool you added: + +.. code-block:: bash + + $ mkdir /mnt/cephfs/myssddir + $ setfattr -n ceph.dir.layout.pool -v cephfs_data_ssd /mnt/cephfs/myssddir + +All new files created within that directory will now inherit its layout and place their data in your newly added pool. + +You may notice that object counts in your primary data pool (the one passed to ``fs new``) continue to increase, even if files are being created in the pool you added. This is normal: the file data is stored in the pool specified by the layout, but a small amount of metadata is kept in the primary data pool for all files. + + diff --git a/doc/cephfs/fs-volumes.rst b/doc/cephfs/fs-volumes.rst new file mode 100644 index 00000000..01510d02 --- /dev/null +++ b/doc/cephfs/fs-volumes.rst @@ -0,0 +1,369 @@ +.. _fs-volumes-and-subvolumes: + +FS volumes and subvolumes +========================= + +A single source of truth for CephFS exports is implemented in the volumes +module of the :term:`Ceph Manager` daemon (ceph-mgr). The OpenStack shared +file system service (manila_), Ceph Containter Storage Interface (CSI_), +storage administrators among others can use the common CLI provided by the +ceph-mgr volumes module to manage the CephFS exports. + +The ceph-mgr volumes module implements the following file system export +abstactions: + +* FS volumes, an abstraction for CephFS file systems + +* FS subvolumes, an abstraction for independent CephFS directory trees + +* FS subvolume groups, an abstraction for a directory level higher than FS + subvolumes to effect policies (e.g., :doc:`/cephfs/file-layouts`) across a + set of subvolumes + +Some possible use-cases for the export abstractions: + +* FS subvolumes used as manila shares or CSI volumes + +* FS subvolume groups used as manila share groups + +Requirements +------------ + +* Nautilus (14.2.x) or a later version of Ceph + +* Cephx client user (see :doc:`/rados/operations/user-management`) with + the following minimum capabilities:: + + mon 'allow r' + mgr 'allow rw' + + +FS Volumes +---------- + +Create a volume using:: + + $ ceph fs volume create + +This creates a CephFS file sytem and its data and metadata pools. It also tries +to create MDSes for the filesytem using the enabled ceph-mgr orchestrator +module (see :doc:`/mgr/orchestrator_cli`) , e.g., rook. + +Remove a volume using:: + + $ ceph fs volume rm [--yes-i-really-mean-it] + +This removes a file system and its data and metadata pools. It also tries to +remove MDSes using the enabled ceph-mgr orchestrator module. + +List volumes using:: + + $ ceph fs volume ls + +FS Subvolume groups +------------------- + +Create a subvolume group using:: + + $ ceph fs subvolumegroup create [--pool_layout ] [--uid ] [--gid ] [--mode ] + +The command succeeds even if the subvolume group already exists. + +When creating a subvolume group you can specify its data pool layout (see +:doc:`/cephfs/file-layouts`), uid, gid, and file mode in octal numerals. By default, the +subvolume group is created with an octal file mode '755', uid '0', gid '0' and data pool +layout of its parent directory. + + +Remove a subvolume group using:: + + $ ceph fs subvolumegroup rm [--force] + +The removal of a subvolume group fails if it is not empty or non-existent. +'--force' flag allows the non-existent subvolume group remove command to succeed. + + +Fetch the absolute path of a subvolume group using:: + + $ ceph fs subvolumegroup getpath + +List subvolume groups using:: + + $ ceph fs subvolumegroup ls + +.. note:: Subvolume group snapshot feature is no longer supported in nautilus CephFS (existing group + snapshots can still be listed and deleted) + +Remove a snapshot of a subvolume group using:: + + $ ceph fs subvolumegroup snapshot rm [--force] + +Using the '--force' flag allows the command to succeed that would otherwise +fail if the snapshot did not exist. + +List snapshots of a subvolume group using:: + + $ ceph fs subvolumegroup snapshot ls + + +FS Subvolumes +------------- + +Create a subvolume using:: + + $ ceph fs subvolume create [--size ] [--group_name ] [--pool_layout ] [--uid ] [--gid ] [--mode ] [--namespace-isolated] + + +The command succeeds even if the subvolume already exists. + +When creating a subvolume you can specify its subvolume group, data pool layout, +uid, gid, file mode in octal numerals, and size in bytes. The size of the subvolume is +specified by setting a quota on it (see :doc:`/cephfs/quota`). The subvolume can be +created in a separate RADOS namespace by specifying --namespace-isolated option. By +default a subvolume is created within the default subvolume group, and with an octal file +mode '755', uid of its subvolume group, gid of its subvolume group, data pool layout of +its parent directory and no size limit. + +Remove a subvolume using:: + + $ ceph fs subvolume rm [--group_name ] [--force] [--retain-snapshots] + + +The command removes the subvolume and its contents. It does this in two steps. +First, it moves the subvolume to a trash folder, and then asynchronously purges +its contents. + +The removal of a subvolume fails if it has snapshots, or is non-existent. +'--force' flag allows the non-existent subvolume remove command to succeed. + +A subvolume can be removed retaining existing snapshots of the subvolume using the +'--retain-snapshots' option. If snapshots are retained, the subvolume is considered +empty for all operations not involving the retained snapshots. + +.. note:: Snapshot retained subvolumes can be recreated using 'ceph fs subvolume create' + +.. note:: Retained snapshots can be used as a clone source to recreate the subvolume, or clone to a newer subvolume. + +Resize a subvolume using:: + + $ ceph fs subvolume resize [--group_name ] [--no_shrink] + +The command resizes the subvolume quota using the size specified by 'new_size'. +'--no_shrink' flag prevents the subvolume to shrink below the current used size of the subvolume. + +The subvolume can be resized to an infinite size by passing 'inf' or 'infinite' as the new_size. + +Authorize cephx auth IDs, the read/read-write access to fs subvolumes:: + + $ ceph fs subvolume authorize [--group_name=] [--access_level=] + +The 'access_level' takes 'r' or 'rw' as value. + +Deauthorize cephx auth IDs, the read/read-write access to fs subvolumes:: + + $ ceph fs subvolume deauthorize [--group_name=] + +List cephx auth IDs authorized to access fs subvolume:: + + $ ceph fs subvolume authorized_list [--group_name=] + +Evict fs clients based on auth ID and subvolume mounted:: + + $ ceph fs subvolume evict [--group_name=] + +Fetch the absolute path of a subvolume using:: + + $ ceph fs subvolume getpath [--group_name ] + +Fetch the metadata of a subvolume using:: + + $ ceph fs subvolume info [--group_name ] + +The output format is json and contains fields as follows. + +* atime: access time of subvolume path in the format "YYYY-MM-DD HH:MM:SS" +* mtime: modification time of subvolume path in the format "YYYY-MM-DD HH:MM:SS" +* ctime: change time of subvolume path in the format "YYYY-MM-DD HH:MM:SS" +* uid: uid of subvolume path +* gid: gid of subvolume path +* mode: mode of subvolume path +* mon_addrs: list of monitor addresses +* bytes_pcent: quota used in percentage if quota is set, else displays "undefined" +* bytes_quota: quota size in bytes if quota is set, else displays "infinite" +* bytes_used: current used size of the subvolume in bytes +* created_at: time of creation of subvolume in the format "YYYY-MM-DD HH:MM:SS" +* data_pool: data pool the subvolume belongs to +* path: absolute path of a subvolume +* type: subvolume type indicating whether it's clone or subvolume +* pool_namespace: RADOS namespace of the subvolume +* features: features supported by the subvolume +* state: current state of the subvolume + +If a subvolume has been removed retaining its snapshots, the output only contains fields as follows. + +* type: subvolume type indicating whether it's clone or subvolume +* features: features supported by the subvolume +* state: current state of the subvolume + +The subvolume "features" are based on the internal version of the subvolume and is a list containing +a subset of the following features, + +* "snapshot-clone": supports cloning using a subvolumes snapshot as the source +* "snapshot-autoprotect": supports automatically protecting snapshots, that are active clone sources, from deletion +* "snapshot-retention": supports removing subvolume contents, retaining any existing snapshots + +The subvolume "state" is based on the current state of the subvolume and contains one of the following values. + +* "complete": subvolume is ready for all operations +* "snapshot-retained": subvolume is removed but its snapshots are retained + +List subvolumes using:: + + $ ceph fs subvolume ls [--group_name ] + +.. note:: subvolumes that are removed but have snapshots retained, are also listed. + +Create a snapshot of a subvolume using:: + + $ ceph fs subvolume snapshot create [--group_name ] + + +Remove a snapshot of a subvolume using:: + + $ ceph fs subvolume snapshot rm [--group_name ] [--force] + +Using the '--force' flag allows the command to succeed that would otherwise +fail if the snapshot did not exist. + +.. note:: if the last snapshot within a snapshot retained subvolume is removed, the subvolume is also removed + +List snapshots of a subvolume using:: + + $ ceph fs subvolume snapshot ls [--group_name ] + +Fetch the metadata of a snapshot using:: + + $ ceph fs subvolume snapshot info [--group_name ] + +The output format is json and contains fields as follows. + +* created_at: time of creation of snapshot in the format "YYYY-MM-DD HH:MM:SS:ffffff" +* data_pool: data pool the snapshot belongs to +* has_pending_clones: "yes" if snapshot clone is in progress otherwise "no" +* size: snapshot size in bytes + +Cloning Snapshots +----------------- + +Subvolumes can be created by cloning subvolume snapshots. Cloning is an asynchronous operation involving copying +data from a snapshot to a subvolume. Due to this bulk copy nature, cloning is currently inefficient for very huge +data sets. + +.. note:: Removing a snapshot (source subvolume) would fail if there are pending or in progress clone operations. + +Protecting snapshots prior to cloning was a pre-requisite in the Nautilus release, and the commands to protect/unprotect +snapshots were introduced for this purpose. This pre-requisite, and hence the commands to protect/unprotect, is being +deprecated in mainline CephFS, and may be removed from a future release. + +The commands being deprecated are:: + + $ ceph fs subvolume snapshot protect [--group_name ] + $ ceph fs subvolume snapshot unprotect [--group_name ] + +.. note:: Using the above commands would not result in an error, but they serve no useful function. + +.. note:: Use subvolume info command to fetch subvolume metadata regarding supported "features" to help decide if protect/unprotect of snapshots is required, based on the "snapshot-autoprotect" feature availability. + +To initiate a clone operation use:: + + $ ceph fs subvolume snapshot clone + +If a snapshot (source subvolume) is a part of non-default group, the group name needs to be specified as per:: + + $ ceph fs subvolume snapshot clone --group_name + +Cloned subvolumes can be a part of a different group than the source snapshot (by default, cloned subvolumes are created in default group). To clone to a particular group use:: + + $ ceph fs subvolume snapshot clone --target_group_name + +Similar to specifying a pool layout when creating a subvolume, pool layout can be specified when creating a cloned subvolume. To create a cloned subvolume with a specific pool layout use:: + + $ ceph fs subvolume snapshot clone --pool_layout + +Configure maximum number of concurrent clones. The default is set to 4:: + + $ ceph config set mgr mgr/volumes/max_concurrent_clones + +To check the status of a clone operation use:: + + $ ceph fs clone status [--group_name ] + +A clone can be in one of the following states: + +#. `pending` : Clone operation has not started +#. `in-progress` : Clone operation is in progress +#. `complete` : Clone operation has successfully finished +#. `failed` : Clone operation has failed + +Sample output from an `in-progress` clone operation:: + + $ ceph fs subvolume snapshot clone cephfs subvol1 snap1 clone1 + $ ceph fs clone status cephfs clone1 + { + "status": { + "state": "in-progress", + "source": { + "volume": "cephfs", + "subvolume": "subvol1", + "snapshot": "snap1" + } + } + } + +(NOTE: since `subvol1` is in default group, `source` section in `clone status` does not include group name) + +.. note:: Cloned subvolumes are accessible only after the clone operation has successfully completed. + +For a successful clone operation, `clone status` would look like so:: + + $ ceph fs clone status cephfs clone1 + { + "status": { + "state": "complete" + } + } + +or `failed` state when clone is unsuccessful. + +On failure of a clone operation, the partial clone needs to be deleted and the clone operation needs to be retriggered. +To delete a partial clone use:: + + $ ceph fs subvolume rm [--group_name ] --force + +.. note:: Cloning only synchronizes directories, regular files and symbolic links. Also, inode timestamps (access and + modification times) are synchronized upto seconds granularity. + +An `in-progress` or a `pending` clone operation can be canceled. To cancel a clone operation use the `clone cancel` command:: + + $ ceph fs clone cancel [--group_name ] + +On successful cancelation, the cloned subvolume is moved to `canceled` state:: + + $ ceph fs subvolume snapshot clone cephfs subvol1 snap1 clone1 + $ ceph fs clone cancel cephfs clone1 + $ ceph fs clone status cephfs clone1 + { + "status": { + "state": "canceled", + "source": { + "volume": "cephfs", + "subvolume": "subvol1", + "snapshot": "snap1" + } + } + } + +.. note:: The canceled cloned can be deleted by using --force option in `fs subvolume rm` command. + +.. _manila: https://github.com/openstack/manila +.. _CSI: https://github.com/ceph/ceph-csi diff --git a/doc/cephfs/fstab.rst b/doc/cephfs/fstab.rst new file mode 100644 index 00000000..344c80d9 --- /dev/null +++ b/doc/cephfs/fstab.rst @@ -0,0 +1,47 @@ +======================================== + Mount CephFS in your File Systems Table +======================================== + +If you mount CephFS in your file systems table, the Ceph file system will mount +automatically on startup. + +Kernel Driver +============= + +To mount CephFS in your file systems table as a kernel driver, add the +following to ``/etc/fstab``:: + + {ipaddress}:{port}:/ {mount}/{mountpoint} {filesystem-name} [name=username,secret=secretkey|secretfile=/path/to/secretfile],[{mount.options}] + +For example:: + + 10.10.10.10:6789:/ /mnt/ceph ceph name=admin,noatime,_netdev 0 2 + +The default for the ``name=`` parameter is ``guest``. If the ``secret`` or +``secretfile`` options are not specified then the mount helper will attempt to +find a secret for the given ``name`` in one of the configured keyrings. + +See `User Management`_ for details. + + +FUSE +==== + +To mount CephFS in your file systems table as a filesystem in user space, add the +following to ``/etc/fstab``:: + + #DEVICE PATH TYPE OPTIONS + none /mnt/ceph fuse.ceph ceph.id={user-ID}[,ceph.conf={path/to/conf.conf}],_netdev,defaults 0 0 + +For example:: + + none /mnt/ceph fuse.ceph ceph.id=myuser,_netdev,defaults 0 0 + none /mnt/ceph fuse.ceph ceph.id=myuser,ceph.conf=/etc/ceph/foo.conf,_netdev,defaults 0 0 + +Ensure you use the ID (e.g., ``admin``, not ``client.admin``). You can pass any valid +``ceph-fuse`` option to the command line this way. + +See `User Management`_ for details. + + +.. _User Management: ../../rados/operations/user-management/ diff --git a/doc/cephfs/full.rst b/doc/cephfs/full.rst new file mode 100644 index 00000000..cc9eb596 --- /dev/null +++ b/doc/cephfs/full.rst @@ -0,0 +1,60 @@ + +Handling a full Ceph filesystem +=============================== + +When a RADOS cluster reaches its ``mon_osd_full_ratio`` (default +95%) capacity, it is marked with the OSD full flag. This flag causes +most normal RADOS clients to pause all operations until it is resolved +(for example by adding more capacity to the cluster). + +The filesystem has some special handling of the full flag, explained below. + +Hammer and later +---------------- + +Since the hammer release, a full filesystem will lead to ENOSPC +results from: + + * Data writes on the client + * Metadata operations other than deletes and truncates + +Because the full condition may not be encountered until +data is flushed to disk (sometime after a ``write`` call has already +returned 0), the ENOSPC error may not be seen until the application +calls ``fsync`` or ``fclose`` (or equivalent) on the file handle. + +Calling ``fsync`` is guaranteed to reliably indicate whether the data +made it to disk, and will return an error if it doesn't. ``fclose`` will +only return an error if buffered data happened to be flushed since +the last write -- a successful ``fclose`` does not guarantee that the +data made it to disk, and in a full-space situation, buffered data +may be discarded after an ``fclose`` if no space is available to persist it. + +.. warning:: + If an application appears to be misbehaving on a full filesystem, + check that it is performing ``fsync()`` calls as necessary to ensure + data is on disk before proceeding. + +Data writes may be cancelled by the client if they are in flight at the +time the OSD full flag is sent. Clients update the ``osd_epoch_barrier`` +when releasing capabilities on files affected by cancelled operations, in +order to ensure that these cancelled operations do not interfere with +subsequent access to the data objects by the MDS or other clients. For +more on the epoch barrier mechanism, see :ref:`background_blacklisting_and_osd_epoch_barrier`. + +Legacy (pre-hammer) behavior +---------------------------- + +In versions of Ceph earlier than hammer, the MDS would ignore +the full status of the RADOS cluster, and any data writes from +clients would stall until the cluster ceased to be full. + +There are two dangerous conditions to watch for with this behaviour: + +* If a client had pending writes to a file, then it was not possible + for the client to release the file to the MDS for deletion: this could + lead to difficulty clearing space on a full filesystem +* If clients continued to create a large number of empty files, the + resulting metadata writes from the MDS could lead to total exhaustion + of space on the OSDs such that no further deletions could be performed. + diff --git a/doc/cephfs/fuse.rst b/doc/cephfs/fuse.rst new file mode 100644 index 00000000..25125370 --- /dev/null +++ b/doc/cephfs/fuse.rst @@ -0,0 +1,52 @@ +======================= +Mount CephFS using FUSE +======================= + +Before mounting a Ceph File System in User Space (FUSE), ensure that the client +host has a copy of the Ceph configuration file and a keyring with CAPS for the +Ceph metadata server. + +#. From your client host, copy the Ceph configuration file from the monitor host + to the ``/etc/ceph`` directory. :: + + sudo mkdir -p /etc/ceph + sudo scp {user}@{server-machine}:/etc/ceph/ceph.conf /etc/ceph/ceph.conf + +#. From your client host, copy the Ceph keyring from the monitor host to + to the ``/etc/ceph`` directory. :: + + sudo scp {user}@{server-machine}:/etc/ceph/ceph.keyring /etc/ceph/ceph.keyring + +#. Ensure that the Ceph configuration file and the keyring have appropriate + permissions set on your client machine (e.g., ``chmod 644``). + +For additional details on ``cephx`` configuration, see +`CEPHX Config Reference`_. + +To mount the Ceph file system as a FUSE, you may use the ``ceph-fuse`` command. +For example:: + + sudo mkdir /home/username/cephfs + sudo ceph-fuse -m 192.168.0.1:6789 /home/username/cephfs + +If you have more than one filesystem, specify which one to mount using +the ``--client_mds_namespace`` command line argument, or add a +``client_mds_namespace`` setting to your ``ceph.conf``. + +See `ceph-fuse`_ for additional details. + +To automate mounting ceph-fuse, you may add an entry to the system fstab_. +Additionally, ``ceph-fuse@.service`` and ``ceph-fuse.target`` systemd units are +available. As usual, these unit files declare the default dependencies and +recommended execution context for ``ceph-fuse``. An example ceph-fuse mount on +``/mnt`` would be:: + + sudo systemctl start ceph-fuse@/mnt.service + +A persistent mount point can be setup via:: + + sudo systemctl enable ceph-fuse@/mnt.service + +.. _ceph-fuse: ../../man/8/ceph-fuse/ +.. _fstab: ../fstab/#fuse +.. _CEPHX Config Reference: ../../rados/configuration/auth-config-ref diff --git a/doc/cephfs/hadoop.rst b/doc/cephfs/hadoop.rst new file mode 100644 index 00000000..566c6030 --- /dev/null +++ b/doc/cephfs/hadoop.rst @@ -0,0 +1,202 @@ +======================== +Using Hadoop with CephFS +======================== + +The Ceph file system can be used as a drop-in replacement for the Hadoop File +System (HDFS). This page describes the installation and configuration process +of using Ceph with Hadoop. + +Dependencies +============ + +* CephFS Java Interface +* Hadoop CephFS Plugin + +.. important:: Currently requires Hadoop 1.1.X stable series + +Installation +============ + +There are three requirements for using CephFS with Hadoop. First, a running +Ceph installation is required. The details of setting up a Ceph cluster and +the file system are beyond the scope of this document. Please refer to the +Ceph documentation for installing Ceph. + +The remaining two requirements are a Hadoop installation, and the Ceph file +system Java packages, including the Java CephFS Hadoop plugin. The high-level +steps are two add the dependencies to the Hadoop installation ``CLASSPATH``, +and configure Hadoop to use the Ceph file system. + +CephFS Java Packages +-------------------- + +* CephFS Hadoop plugin (`hadoop-cephfs.jar `_) + +Adding these dependencies to a Hadoop installation will depend on your +particular deployment. In general the dependencies must be present on each +node in the system that will be part of the Hadoop cluster, and must be in the +``CLASSPATH`` searched for by Hadoop. Typically approaches are to place the +additional ``jar`` files into the ``hadoop/lib`` directory, or to edit the +``HADOOP_CLASSPATH`` variable in ``hadoop-env.sh``. + +The native Ceph file system client must be installed on each participating +node in the Hadoop cluster. + +Hadoop Configuration +==================== + +This section describes the Hadoop configuration options used to control Ceph. +These options are intended to be set in the Hadoop configuration file +`conf/core-site.xml`. + ++---------------------+--------------------------+----------------------------+ +|Property |Value |Notes | +| | | | ++=====================+==========================+============================+ +|fs.default.name |Ceph URI |ceph://[monaddr:port]/ | +| | | | +| | | | ++---------------------+--------------------------+----------------------------+ +|ceph.conf.file |Local path to ceph.conf |/etc/ceph/ceph.conf | +| | | | +| | | | +| | | | ++---------------------+--------------------------+----------------------------+ +|ceph.conf.options |Comma separated list of |opt1=val1,opt2=val2 | +| |Ceph configuration | | +| |key/value pairs | | +| | | | ++---------------------+--------------------------+----------------------------+ +|ceph.root.dir |Mount root directory |Default value: / | +| | | | +| | | | ++---------------------+--------------------------+----------------------------+ +|ceph.mon.address |Monitor address |host:port | +| | | | +| | | | +| | | | ++---------------------+--------------------------+----------------------------+ +|ceph.auth.id |Ceph user id |Example: admin | +| | | | +| | | | +| | | | ++---------------------+--------------------------+----------------------------+ +|ceph.auth.keyfile |Ceph key file | | +| | | | +| | | | +| | | | ++---------------------+--------------------------+----------------------------+ +|ceph.auth.keyring |Ceph keyring file | | +| | | | +| | | | +| | | | ++---------------------+--------------------------+----------------------------+ +|ceph.object.size |Default file object size |Default value (64MB): | +| |in bytes |67108864 | +| | | | +| | | | ++---------------------+--------------------------+----------------------------+ +|ceph.data.pools |List of Ceph data pools |Default value: default Ceph | +| |for storing file. |pool. | +| | | | +| | | | ++---------------------+--------------------------+----------------------------+ +|ceph.localize.reads |Allow reading from file |Default value: true | +| |replica objects | | +| | | | +| | | | ++---------------------+--------------------------+----------------------------+ + +Support For Per-file Custom Replication +--------------------------------------- + +The Hadoop file system interface allows users to specify a custom replication +factor (e.g. 3 copies of each block) when creating a file. However, object +replication factors in the Ceph file system are controlled on a per-pool +basis, and by default a Ceph file system will contain only a single +pre-configured pool. Thus, in order to support per-file replication with +Hadoop over Ceph, additional storage pools with non-default replications +factors must be created, and Hadoop must be configured to choose from these +additional pools. + +Additional data pools can be specified using the ``ceph.data.pools`` +configuration option. The value of the option is a comma separated list of +pool names. The default Ceph pool will be used automatically if this +configuration option is omitted or the value is empty. For example, the +following configuration setting will consider the pools ``pool1``, ``pool2``, and +``pool5`` when selecting a target pool to store a file. :: + + + ceph.data.pools + pool1,pool2,pool5 + + +Hadoop will not create pools automatically. In order to create a new pool with +a specific replication factor use the ``ceph osd pool create`` command, and then +set the ``size`` property on the pool using the ``ceph osd pool set`` command. For +more information on creating and configuring pools see the `RADOS Pool +documentation`_. + +.. _RADOS Pool documentation: ../../rados/operations/pools + +Once a pool has been created and configured the metadata service must be told +that the new pool may be used to store file data. A pool is be made available +for storing file system data using the ``ceph fs add_data_pool`` command. + +First, create the pool. In this example we create the ``hadoop1`` pool with +replication factor 1. :: + + ceph osd pool create hadoop1 100 + ceph osd pool set hadoop1 size 1 + +Next, determine the pool id. This can be done by examining the output of the +``ceph osd dump`` command. For example, we can look for the newly created +``hadoop1`` pool. :: + + ceph osd dump | grep hadoop1 + +The output should resemble:: + + pool 3 'hadoop1' rep size 1 min_size 1 crush_rule 0... + +where ``3`` is the pool id. Next we will use the pool id reference to register +the pool as a data pool for storing file system data. :: + + ceph fs add_data_pool cephfs 3 + +The final step is to configure Hadoop to consider this data pool when +selecting the target pool for new files. :: + + + ceph.data.pools + hadoop1 + + +Pool Selection Rules +~~~~~~~~~~~~~~~~~~~~ + +The following rules describe how Hadoop chooses a pool given a desired +replication factor and the set of pools specified using the +``ceph.data.pools`` configuration option. + +1. When no custom pools are specified the default Ceph data pool is used. +2. A custom pool with the same replication factor as the default Ceph data + pool will override the default. +3. A pool with a replication factor that matches the desired replication will + be chosen if it exists. +4. Otherwise, a pool with at least the desired replication factor will be + chosen, or the maximum possible. + +Debugging Pool Selection +~~~~~~~~~~~~~~~~~~~~~~~~ + +Hadoop will produce log file entry when it cannot determine the replication +factor of a pool (e.g. it is not configured as a data pool). The log message +will appear as follows:: + + Error looking up replication of pool: + +Hadoop will also produce a log entry when it wasn't able to select an exact +match for replication. This log entry will appear as follows:: + + selectDataPool path= pool:repl=: wanted= diff --git a/doc/cephfs/health-messages.rst b/doc/cephfs/health-messages.rst new file mode 100644 index 00000000..b096e124 --- /dev/null +++ b/doc/cephfs/health-messages.rst @@ -0,0 +1,131 @@ + +.. _cephfs-health-messages: + +====================== +CephFS health messages +====================== + +Cluster health checks +===================== + +The Ceph monitor daemons will generate health messages in response +to certain states of the filesystem map structure (and the enclosed MDS maps). + +Message: mds rank(s) *ranks* have failed +Description: One or more MDS ranks are not currently assigned to +an MDS daemon; the cluster will not recover until a suitable replacement +daemon starts. + +Message: mds rank(s) *ranks* are damaged +Description: One or more MDS ranks has encountered severe damage to +its stored metadata, and cannot start again until it is repaired. + +Message: mds cluster is degraded +Description: One or more MDS ranks are not currently up and running, clients +may pause metadata IO until this situation is resolved. This includes +ranks being failed or damaged, and additionally includes ranks +which are running on an MDS but have not yet made it to the *active* +state (e.g. ranks currently in *replay* state). + +Message: mds *names* are laggy +Description: The named MDS daemons have failed to send beacon messages +to the monitor for at least ``mds_beacon_grace`` (default 15s), while +they are supposed to send beacon messages every ``mds_beacon_interval`` +(default 4s). The daemons may have crashed. The Ceph monitor will +automatically replace laggy daemons with standbys if any are available. + +Message: insufficient standby daemons available +Description: One or more file systems are configured to have a certain number +of standby daemons available (including daemons in standby-replay) but the +cluster does not have enough standby daemons. The standby daemons not in replay +count towards any file system (i.e. they may overlap). This warning can +configured by setting ``ceph fs set standby_count_wanted ``. Use +zero for ``count`` to disable. + + +Daemon-reported health checks +============================= + +MDS daemons can identify a variety of unwanted conditions, and +indicate these to the operator in the output of ``ceph status``. +This conditions have human readable messages, and additionally +a unique code starting MDS_HEALTH which appears in JSON output. + +Message: "Behind on trimming..." +Code: MDS_HEALTH_TRIM +Description: CephFS maintains a metadata journal that is divided into +*log segments*. The length of journal (in number of segments) is controlled +by the setting ``mds_log_max_segments``, and when the number of segments +exceeds that setting the MDS starts writing back metadata so that it +can remove (trim) the oldest segments. If this writeback is happening +too slowly, or a software bug is preventing trimming, then this health +message may appear. The threshold for this message to appear is controlled by +the config option ``mds_log_warn_factor``, the default is 2.0. + +Message: "Client *name* failing to respond to capability release" +Code: MDS_HEALTH_CLIENT_LATE_RELEASE, MDS_HEALTH_CLIENT_LATE_RELEASE_MANY +Description: CephFS clients are issued *capabilities* by the MDS, which +are like locks. Sometimes, for example when another client needs access, +the MDS will request clients release their capabilities. If the client +is unresponsive or buggy, it might fail to do so promptly or fail to do +so at all. This message appears if a client has taken longer than +``session_timeout`` (default 60s) to comply. + +Message: "Client *name* failing to respond to cache pressure" +Code: MDS_HEALTH_CLIENT_RECALL, MDS_HEALTH_CLIENT_RECALL_MANY +Description: Clients maintain a metadata cache. Items (such as inodes) in the +client cache are also pinned in the MDS cache, so when the MDS needs to shrink +its cache (to stay within ``mds_cache_size`` or ``mds_cache_memory_limit``), it +sends messages to clients to shrink their caches too. If the client is +unresponsive or buggy, this can prevent the MDS from properly staying within +its cache limits and it may eventually run out of memory and crash. This +message appears if a client has failed to release more than +``mds_recall_warning_threshold`` capabilities (decaying with a half-life of +``mds_recall_max_decay_rate``) within the last +``mds_recall_warning_decay_rate`` second. + +Message: "Client *name* failing to advance its oldest client/flush tid" +Code: MDS_HEALTH_CLIENT_OLDEST_TID, MDS_HEALTH_CLIENT_OLDEST_TID_MANY +Description: The CephFS client-MDS protocol uses a field called the +*oldest tid* to inform the MDS of which client requests are fully +complete and may therefore be forgotten about by the MDS. If a buggy +client is failing to advance this field, then the MDS may be prevented +from properly cleaning up resources used by client requests. This message +appears if a client appears to have more than ``max_completed_requests`` +(default 100000) requests that are complete on the MDS side but haven't +yet been accounted for in the client's *oldest tid* value. + +Message: "Metadata damage detected" +Code: MDS_HEALTH_DAMAGE, +Description: Corrupt or missing metadata was encountered when reading +from the metadata pool. This message indicates that the damage was +sufficiently isolated for the MDS to continue operating, although +client accesses to the damaged subtree will return IO errors. Use +the ``damage ls`` admin socket command to get more detail on the damage. +This message appears as soon as any damage is encountered. + +Message: "MDS in read-only mode" +Code: MDS_HEALTH_READ_ONLY, +Description: The MDS has gone into readonly mode and will return EROFS +error codes to client operations that attempt to modify any metadata. The +MDS will go into readonly mode if it encounters a write error while +writing to the metadata pool, or if forced to by an administrator using +the *force_readonly* admin socket command. + +Message: *N* slow requests are blocked" +Code: MDS_HEALTH_SLOW_REQUEST, +Description: One or more client requests have not been completed promptly, +indicating that the MDS is either running very slowly, or that the RADOS +cluster is not acknowledging journal writes promptly, or that there is a bug. +Use the ``ops`` admin socket command to list outstanding metadata operations. +This message appears if any client requests have taken longer than +``mds_op_complaint_time`` (default 30s). + +Message: "Too many inodes in cache" +Code: MDS_HEALTH_CACHE_OVERSIZED +Description: The MDS is not succeeding in trimming its cache to comply with the +limit set by the administrator. If the MDS cache becomes too large, the daemon +may exhaust available memory and crash. By default, this message appears if +the actual cache size (in inodes or memory) is at least 50% greater than +``mds_cache_size`` (default 100000) or ``mds_cache_memory_limit`` (default +1GB). Modify ``mds_health_cache_threshold`` to set the warning ratio. diff --git a/doc/cephfs/index.rst b/doc/cephfs/index.rst new file mode 100644 index 00000000..d9494a2b --- /dev/null +++ b/doc/cephfs/index.rst @@ -0,0 +1,133 @@ +.. _ceph-filesystem: + +================= + Ceph Filesystem +================= + +The Ceph Filesystem (CephFS) is a POSIX-compliant filesystem that uses +a Ceph Storage Cluster to store its data. The Ceph filesystem uses the same Ceph +Storage Cluster system as Ceph Block Devices, Ceph Object Storage with its S3 +and Swift APIs, or native bindings (librados). + +.. note:: If you are evaluating CephFS for the first time, please review + the best practices for deployment: :doc:`/cephfs/best-practices` + +.. ditaa:: + +-----------------------+ +------------------------+ + | | | CephFS FUSE | + | | +------------------------+ + | | + | | +------------------------+ + | CephFS Kernel Object | | CephFS Library | + | | +------------------------+ + | | + | | +------------------------+ + | | | librados | + +-----------------------+ +------------------------+ + + +---------------+ +---------------+ +---------------+ + | OSDs | | MDSs | | Monitors | + +---------------+ +---------------+ +---------------+ + + +Using CephFS +============ + +Using the Ceph Filesystem requires at least one :term:`Ceph Metadata Server` in +your Ceph Storage Cluster. + + + +.. raw:: html + + +

Step 1: Metadata Server

+ +To run the Ceph Filesystem, you must have a running Ceph Storage Cluster with at +least one :term:`Ceph Metadata Server` running. + + +.. toctree:: + :maxdepth: 1 + + Provision/Add/Remove MDS(s) + MDS failover and standby configuration + MDS Configuration Settings + Client Configuration Settings + Journaler Configuration + Manpage ceph-mds <../../man/8/ceph-mds> + +.. raw:: html + +

Step 2: Mount CephFS

+ +Once you have a healthy Ceph Storage Cluster with at least +one Ceph Metadata Server, you may create and mount your Ceph Filesystem. +Ensure that your client has network connectivity and the proper +authentication keyring. + +.. toctree:: + :maxdepth: 1 + + Create a CephFS file system + Mount CephFS + Mount CephFS as FUSE + Mount CephFS in fstab + Use the CephFS Shell + Supported Features of Kernel Driver + Manpage ceph-fuse <../../man/8/ceph-fuse> + Manpage mount.ceph <../../man/8/mount.ceph> + Manpage mount.fuse.ceph <../../man/8/mount.fuse.ceph> + + +.. raw:: html + +

Additional Details

+ +.. toctree:: + :maxdepth: 1 + + Deployment best practices + MDS States + Administrative commands + Understanding MDS Cache Size Limits + POSIX compatibility + Experimental Features + CephFS Quotas + Using Ceph with Hadoop + cephfs-journal-tool + File layouts + Client eviction + Handling full filesystems + Health messages + Troubleshooting + Disaster recovery + Client authentication + Upgrading old filesystems + Configuring directory fragmentation + Configuring multiple active MDS daemons + Export over NFS + Application best practices + Scrub + LazyIO + FS volume and subvolumes + +.. toctree:: + :hidden: + + Advanced: Metadata repair + +.. raw:: html + +
+ +For developers +============== + +.. toctree:: + :maxdepth: 1 + + Client's Capabilities + libcephfs <../../api/libcephfs-java/> + Mantle + diff --git a/doc/cephfs/journaler.rst b/doc/cephfs/journaler.rst new file mode 100644 index 00000000..2121532f --- /dev/null +++ b/doc/cephfs/journaler.rst @@ -0,0 +1,41 @@ +=========== + Journaler +=========== + +``journaler write head interval`` + +:Description: How frequently to update the journal head object +:Type: Integer +:Required: No +:Default: ``15`` + + +``journaler prefetch periods`` + +:Description: How many stripe periods to read-ahead on journal replay +:Type: Integer +:Required: No +:Default: ``10`` + + +``journal prezero periods`` + +:Description: How many stripe periods to zero ahead of write position +:Type: Integer +:Required: No +:Default: ``10`` + +``journaler batch interval`` + +:Description: Maximum additional latency in seconds we incur artificially. +:Type: Double +:Required: No +:Default: ``.001`` + + +``journaler batch max`` + +:Description: Maximum bytes we will delay flushing. +:Type: 64-bit Unsigned Integer +:Required: No +:Default: ``0`` diff --git a/doc/cephfs/kernel-features.rst b/doc/cephfs/kernel-features.rst new file mode 100644 index 00000000..edd27bcd --- /dev/null +++ b/doc/cephfs/kernel-features.rst @@ -0,0 +1,40 @@ + +Supported Features of Kernel Driver +======================================== + +Inline data +----------- +Inline data was introduced by the Firefly release. Linux kernel clients >= 3.19 +can read inline data, can convert existing inline data to RADOS objects when +file data is modified. At present, Linux kernel clients do not store file data +as inline data. + +See `Experimental Features`_ for more information. + +Quotas +------ +Quota was first introduced by the hammer release. Quota disk format got renewed +by the Mimic release. Linux kernel clients >= 4.17 can support the new format +quota. At present, no Linux kernel client support the old format quota. + +See `Quotas`_ for more information. + +Multiple filesystems within a Ceph cluster +------------------------------------------ +The feature was introduced by the Jewel release. Linux kernel clients >= 4.7 +can support it. + +See `Experimental Features`_ for more information. + +Multiple active metadata servers +-------------------------------- +The feature has been supported since the Luminous release. It is recommended to +use Linux kernel clients >= 4.14 when there are multiple active MDS. + +Snapshots +--------- +The feature has been supported since the Mimic release. It is recommended to +use Linux kernel clients >= 4.17 if snapshot is used. + +.. _Experimental Features: ../experimental-features +.. _Quotas: ../quota diff --git a/doc/cephfs/kernel.rst b/doc/cephfs/kernel.rst new file mode 100644 index 00000000..89f481f9 --- /dev/null +++ b/doc/cephfs/kernel.rst @@ -0,0 +1,41 @@ +==================================== + Mount CephFS with the Kernel Driver +==================================== + +To mount the Ceph file system you may use the ``mount`` command if you know the +monitor host IP address(es), or use the ``mount.ceph`` utility to resolve the +monitor host name(s) into IP address(es) for you. For example:: + + sudo mkdir /mnt/mycephfs + sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs + +To mount the Ceph file system with ``cephx`` authentication enabled, the kernel +must authenticate with the cluster. The default ``name=`` option is ``guest``. +The mount.ceph helper will automatically attempt to find a secret key in the +keyring. + +The secret can also be specified manually with the ``secret=`` option. :: + + sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs -o name=admin,secret=AQATSKdNGBnwLhAAnNDKnH65FmVKpXZJVasUeQ== + +The foregoing usage leaves the secret in the Bash history. A more secure +approach reads the secret from a file. For example:: + + sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs -o name=admin,secretfile=/etc/ceph/admin.secret + +See `User Management`_ for details on cephx. + +If you have more than one file system, specify which one to mount using +the ``mds_namespace`` option, e.g. ``-o mds_namespace=myfs``. + +To unmount the Ceph file system, you may use the ``umount`` command. For example:: + + sudo umount /mnt/mycephfs + +.. tip:: Ensure that you are not within the file system directories before + executing this command. + +See `mount.ceph`_ for details. + +.. _mount.ceph: ../../man/8/mount.ceph/ +.. _User Management: ../../rados/operations/user-management/ diff --git a/doc/cephfs/lazyio.rst b/doc/cephfs/lazyio.rst new file mode 100644 index 00000000..6737932a --- /dev/null +++ b/doc/cephfs/lazyio.rst @@ -0,0 +1,23 @@ +====== +LazyIO +====== + +LazyIO relaxes POSIX semantics. Buffered reads/writes are allowed even when a +file is opened by multiple applications on multiple clients. Applications are +responsible for managing cache coherency themselves. + +Libcephfs supports LazyIO since nautilus release. + +Enable LazyIO +============= + +LazyIO can be enabled by following ways. + +- ``client_force_lazyio`` option enables LAZY_IO globally for libcephfs and + ceph-fuse mount. + +- ``ceph_lazyio(...)`` and ``ceph_ll_lazyio(...)`` enable LAZY_IO for file handle + in libcephfs. + +- ``ioctl(fd, CEPH_IOC_LAZYIO, 1UL)`` enables LAZY_IO for file handle in + ceph-fuse mount. diff --git a/doc/cephfs/mantle.rst b/doc/cephfs/mantle.rst new file mode 100644 index 00000000..6d3d40d6 --- /dev/null +++ b/doc/cephfs/mantle.rst @@ -0,0 +1,263 @@ +Mantle +====== + +.. warning:: + + Mantle is for research and development of metadata balancer algorithms, + not for use on production CephFS clusters. + +Multiple, active MDSs can migrate directories to balance metadata load. The +policies for when, where, and how much to migrate are hard-coded into the +metadata balancing module. Mantle is a programmable metadata balancer built +into the MDS. The idea is to protect the mechanisms for balancing load +(migration, replication, fragmentation) but stub out the balancing policies +using Lua. Mantle is based on [1] but the current implementation does *NOT* +have the following features from that paper: + +1. Balancing API: in the paper, the user fills in when, where, how much, and + load calculation policies; currently, Mantle only requires that Lua policies + return a table of target loads (e.g., how much load to send to each MDS) +2. "How much" hook: in the paper, there was a hook that let the user control + the fragment selector policy; currently, Mantle does not have this hook +3. Instantaneous CPU utilization as a metric + +[1] Supercomputing '15 Paper: +http://sc15.supercomputing.org/schedule/event_detail-evid=pap168.html + +Quickstart with vstart +---------------------- + +.. warning:: + + Developing balancers with vstart is difficult because running all daemons + and clients on one node can overload the system. Let it run for a while, even + though you will likely see a bunch of lost heartbeat and laggy MDS warnings. + Most of the time this guide will work but sometimes all MDSs lock up and you + cannot actually see them spill. It is much better to run this on a cluster. + +As a prerequisite, we assume you have installed `mdtest +`_ or pulled the `Docker image +`_. We use mdtest because we +need to generate enough load to get over the MIN_OFFLOAD threshold that is +arbitrarily set in the balancer. For example, this does not create enough +metadata load: + +:: + + while true; do + touch "/cephfs/blah-`date`" + done + + +Mantle with `vstart.sh` +~~~~~~~~~~~~~~~~~~~~~~~ + +1. Start Ceph and tune the logging so we can see migrations happen: + +:: + + cd build + ../src/vstart.sh -n -l + for i in a b c; do + bin/ceph --admin-daemon out/mds.$i.asok config set debug_ms 0 + bin/ceph --admin-daemon out/mds.$i.asok config set debug_mds 2 + bin/ceph --admin-daemon out/mds.$i.asok config set mds_beacon_grace 1500 + done + + +2. Put the balancer into RADOS: + +:: + + bin/rados put --pool=cephfs_metadata_a greedyspill.lua ../src/mds/balancers/greedyspill.lua + + +3. Activate Mantle: + +:: + + bin/ceph fs set cephfs max_mds 5 + bin/ceph fs set cephfs_a balancer greedyspill.lua + + +4. Mount CephFS in another window: + +:: + + bin/ceph-fuse /cephfs -o allow_other & + tail -f out/mds.a.log + + + Note that if you look at the last MDS (which could be a, b, or c -- it's + random), you will see an an attempt to index a nil value. This is because the + last MDS tries to check the load of its neighbor, which does not exist. + +5. Run a simple benchmark. In our case, we use the Docker mdtest image to + create load: + +:: + + for i in 0 1 2; do + docker run -d \ + --name=client$i \ + -v /cephfs:/cephfs \ + michaelsevilla/mdtest \ + -F -C -n 100000 -d "/cephfs/client-test$i" + done + + +6. When you are done, you can kill all the clients with: + +:: + + for i in 0 1 2 3; do docker rm -f client$i; done + + +Output +~~~~~~ + +Looking at the log for the first MDS (could be a, b, or c), we see that +everyone has no load: + +:: + + 2016-08-21 06:44:01.763930 7fd03aaf7700 0 lua.balancer MDS0: < auth.meta_load=0.0 all.meta_load=0.0 req_rate=1.0 queue_len=0.0 cpu_load_avg=1.35 > load=0.0 + 2016-08-21 06:44:01.763966 7fd03aaf7700 0 lua.balancer MDS1: < auth.meta_load=0.0 all.meta_load=0.0 req_rate=0.0 queue_len=0.0 cpu_load_avg=1.35 > load=0.0 + 2016-08-21 06:44:01.763982 7fd03aaf7700 0 lua.balancer MDS2: < auth.meta_load=0.0 all.meta_load=0.0 req_rate=0.0 queue_len=0.0 cpu_load_avg=1.35 > load=0.0 + 2016-08-21 06:44:01.764010 7fd03aaf7700 2 lua.balancer when: not migrating! my_load=0.0 hisload=0.0 + 2016-08-21 06:44:01.764033 7fd03aaf7700 2 mds.0.bal mantle decided that new targets={} + + +After the jobs starts, MDS0 gets about 1953 units of load. The greedy spill +balancer dictates that half the load goes to your neighbor MDS, so we see that +Mantle tries to send 1953 load units to MDS1. + +:: + + 2016-08-21 06:45:21.869994 7fd03aaf7700 0 lua.balancer MDS0: < auth.meta_load=5834.188908912 all.meta_load=1953.3492228857 req_rate=12591.0 queue_len=1075.0 cpu_load_avg=3.05 > load=1953.3492228857 + 2016-08-21 06:45:21.870017 7fd03aaf7700 0 lua.balancer MDS1: < auth.meta_load=0.0 all.meta_load=0.0 req_rate=0.0 queue_len=0.0 cpu_load_avg=3.05 > load=0.0 + 2016-08-21 06:45:21.870027 7fd03aaf7700 0 lua.balancer MDS2: < auth.meta_load=0.0 all.meta_load=0.0 req_rate=0.0 queue_len=0.0 cpu_load_avg=3.05 > load=0.0 + 2016-08-21 06:45:21.870034 7fd03aaf7700 2 lua.balancer when: migrating! my_load=1953.3492228857 hisload=0.0 + 2016-08-21 06:45:21.870050 7fd03aaf7700 2 mds.0.bal mantle decided that new targets={0=0,1=976.675,2=0} + 2016-08-21 06:45:21.870094 7fd03aaf7700 0 mds.0.bal - exporting [0,0.52287 1.04574] 1030.88 to mds.1 [dir 100000006ab /client-test2/ [2,head] auth pv=33 v=32 cv=32/0 ap=2+3+4 state=1610612802|complete f(v0 m2016-08-21 06:44:20.366935 1=0+1) n(v2 rc2016-08-21 06:44:30.946816 3790=3788+2) hs=1+0,ss=0+0 dirty=1 | child=1 dirty=1 authpin=1 0x55d2762fd690] + 2016-08-21 06:45:21.870151 7fd03aaf7700 0 mds.0.migrator nicely exporting to mds.1 [dir 100000006ab /client-test2/ [2,head] auth pv=33 v=32 cv=32/0 ap=2+3+4 state=1610612802|complete f(v0 m2016-08-21 06:44:20.366935 1=0+1) n(v2 rc2016-08-21 06:44:30.946816 3790=3788+2) hs=1+0,ss=0+0 dirty=1 | child=1 dirty=1 authpin=1 0x55d2762fd690] + + +Eventually load moves around: + +:: + + 2016-08-21 06:47:10.210253 7fd03aaf7700 0 lua.balancer MDS0: < auth.meta_load=415.77414300449 all.meta_load=415.79000078186 req_rate=82813.0 queue_len=0.0 cpu_load_avg=11.97 > load=415.79000078186 + 2016-08-21 06:47:10.210277 7fd03aaf7700 0 lua.balancer MDS1: < auth.meta_load=228.72023977691 all.meta_load=186.5606496623 req_rate=28580.0 queue_len=0.0 cpu_load_avg=11.97 > load=186.5606496623 + 2016-08-21 06:47:10.210290 7fd03aaf7700 0 lua.balancer MDS2: < auth.meta_load=0.0 all.meta_load=0.0 req_rate=1.0 queue_len=0.0 cpu_load_avg=11.97 > load=0.0 + 2016-08-21 06:47:10.210298 7fd03aaf7700 2 lua.balancer when: not migrating! my_load=415.79000078186 hisload=186.5606496623 + 2016-08-21 06:47:10.210311 7fd03aaf7700 2 mds.0.bal mantle decided that new targets={} + + +Implementation Details +---------------------- + +Most of the implementation is in MDBalancer. Metrics are passed to the balancer +policies via the Lua stack and a list of loads is returned back to MDBalancer. +It sits alongside the current balancer implementation and it's enabled with a +Ceph CLI command ("ceph fs set cephfs balancer mybalancer.lua"). If the Lua policy +fails (for whatever reason), we fall back to the original metadata load +balancer. The balancer is stored in the RADOS metadata pool and a string in the +MDSMap tells the MDSs which balancer to use. + +Exposing Metrics to Lua +~~~~~~~~~~~~~~~~~~~~~~~ + +Metrics are exposed directly to the Lua code as global variables instead of +using a well-defined function signature. There is a global "mds" table, where +each index is an MDS number (e.g., 0) and each value is a dictionary of metrics +and values. The Lua code can grab metrics using something like this: + +:: + + mds[0]["queue_len"] + + +This is in contrast to cls-lua in the OSDs, which has well-defined arguments +(e.g., input/output bufferlists). Exposing the metrics directly makes it easier +to add new metrics without having to change the API on the Lua side; we want +the API to grow and shrink as we explore which metrics matter. The downside of +this approach is that the person programming Lua balancer policies has to look +at the Ceph source code to see which metrics are exposed. We figure that the +Mantle developer will be in touch with MDS internals anyways. + +The metrics exposed to the Lua policy are the same ones that are already stored +in mds_load_t: auth.meta_load(), all.meta_load(), req_rate, queue_length, +cpu_load_avg. + +Compile/Execute the Balancer +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Here we use `lua_pcall` instead of `lua_call` because we want to handle errors +in the MDBalancer. We do not want the error propagating up the call chain. The +cls_lua class wants to handle the error itself because it must fail gracefully. +For Mantle, we don't care if a Lua error crashes our balancer -- in that case, +we will fall back to the original balancer. + +The performance improvement of using `lua_call` over `lua_pcall` would not be +leveraged here because the balancer is invoked every 10 seconds by default. + +Returning Policy Decision to C++ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +We force the Lua policy engine to return a table of values, corresponding to +the amount of load to send to each MDS. These loads are inserted directly into +the MDBalancer "my_targets" vector. We do not allow the MDS to return a table +of MDSs and metrics because we want the decision to be completely made on the +Lua side. + +Iterating through tables returned by Lua is done through the stack. In Lua +jargon: a dummy value is pushed onto the stack and the next iterator replaces +the top of the stack with a (k, v) pair. After reading each value, pop that +value but keep the key for the next call to `lua_next`. + +Reading from RADOS +~~~~~~~~~~~~~~~~~~ + +All MDSs will read balancing code from RADOS when the balancer version changes +in the MDS Map. The balancer pulls the Lua code from RADOS synchronously. We do +this with a timeout: if the asynchronous read does not come back within half +the balancing tick interval the operation is cancelled and a Connection Timeout +error is returned. By default, the balancing tick interval is 10 seconds, so +Mantle will use a 5 second second timeout. This design allows Mantle to +immediately return an error if anything RADOS-related goes wrong. + +We use this implementation because we do not want to do a blocking OSD read +from inside the global MDS lock. Doing so would bring down the MDS cluster if +any of the OSDs are not responsive -- this is tested in the ceph-qa-suite by +setting all OSDs to down/out and making sure the MDS cluster stays active. + +One approach would be to asynchronously fire the read when handling the MDS Map +and fill in the Lua code in the background. We cannot do this because the MDS +does not support daemon-local fallbacks and the balancer assumes that all MDSs +come to the same decision at the same time (e.g., importers, exporters, etc.). + +Debugging +~~~~~~~~~ + +Logging in a Lua policy will appear in the MDS log. The syntax is the same as +the cls logging interface: + +:: + + BAL_LOG(0, "this is a log message") + + +It is implemented by passing a function that wraps the `dout` logging framework +(`dout_wrapper`) to Lua with the `lua_register()` primitive. The Lua code is +actually calling the `dout` function in C++. + +Warning and Info messages are centralized using the clog/Beacon. Successful +messages are only sent on version changes by the first MDS to avoid spamming +the `ceph -w` utility. These messages are used for the integration tests. + +Testing +~~~~~~~ + +Testing is done with the ceph-qa-suite (tasks.cephfs.test_mantle). We do not +test invalid balancer logging and loading the actual Lua VM. diff --git a/doc/cephfs/mds-config-ref.rst b/doc/cephfs/mds-config-ref.rst new file mode 100644 index 00000000..b91a4424 --- /dev/null +++ b/doc/cephfs/mds-config-ref.rst @@ -0,0 +1,546 @@ +====================== + MDS Config Reference +====================== + +``mds cache memory limit`` + +:Description: The memory limit the MDS should enforce for its cache. + Administrators should use this instead of ``mds cache size``. +:Type: 64-bit Integer Unsigned +:Default: ``1073741824`` + +``mds cache reservation`` + +:Description: The cache reservation (memory or inodes) for the MDS cache to maintain. + Once the MDS begins dipping into its reservation, it will recall + client state until its cache size shrinks to restore the + reservation. +:Type: Float +:Default: ``0.05`` + +``mds cache size`` + +:Description: The number of inodes to cache. A value of 0 indicates an + unlimited number. It is recommended to use + ``mds_cache_memory_limit`` to limit the amount of memory the MDS + cache uses. +:Type: 32-bit Integer +:Default: ``0`` + +``mds cache mid`` + +:Description: The insertion point for new items in the cache LRU + (from the top). + +:Type: Float +:Default: ``0.7`` + + +``mds dir commit ratio`` + +:Description: The fraction of directory that is dirty before Ceph commits using + a full update (instead of partial update). + +:Type: Float +:Default: ``0.5`` + + +``mds dir max commit size`` + +:Description: The maximum size of a directory update before Ceph breaks it into + smaller transactions) (MB). + +:Type: 32-bit Integer +:Default: ``90`` + + +``mds decay halflife`` + +:Description: The half-life of MDS cache temperature. +:Type: Float +:Default: ``5`` + +``mds beacon interval`` + +:Description: The frequency (in seconds) of beacon messages sent + to the monitor. + +:Type: Float +:Default: ``4`` + + +``mds beacon grace`` + +:Description: The interval without beacons before Ceph declares an MDS laggy + (and possibly replace it). + +:Type: Float +:Default: ``15`` + + +``mds blacklist interval`` + +:Description: The blacklist duration for failed MDSs in the OSD map. Note, + this controls how long failed MDS daemons will stay in the + OSDMap blacklist. It has no effect on how long something is + blacklisted when the administrator blacklists it manually. For + example, ``ceph osd blacklist add`` will still use the default + blacklist time. +:Type: Float +:Default: ``24.0*60.0`` + + +``mds reconnect timeout`` + +:Description: The interval (in seconds) to wait for clients to reconnect + during MDS restart. + +:Type: Float +:Default: ``45`` + + +``mds tick interval`` + +:Description: How frequently the MDS performs internal periodic tasks. +:Type: Float +:Default: ``5`` + + +``mds dirstat min interval`` + +:Description: The minimum interval (in seconds) to try to avoid propagating + recursive stats up the tree. + +:Type: Float +:Default: ``1`` + +``mds scatter nudge interval`` + +:Description: How quickly dirstat changes propagate up. +:Type: Float +:Default: ``5`` + + +``mds client prealloc inos`` + +:Description: The number of inode numbers to preallocate per client session. +:Type: 32-bit Integer +:Default: ``1000`` + + +``mds early reply`` + +:Description: Determines whether the MDS should allow clients to see request + results before they commit to the journal. + +:Type: Boolean +:Default: ``true`` + + +``mds default dir hash`` + +:Description: The function to use for hashing files across directory fragments. +:Type: 32-bit Integer +:Default: ``2`` (i.e., rjenkins) + + +``mds log skip corrupt events`` + +:Description: Determines whether the MDS should try to skip corrupt journal + events during journal replay. + +:Type: Boolean +:Default: ``false`` + + +``mds log max events`` + +:Description: The maximum events in the journal before we initiate trimming. + Set to ``-1`` to disable limits. + +:Type: 32-bit Integer +:Default: ``-1`` + + +``mds log max segments`` + +:Description: The maximum number of segments (objects) in the journal before + we initiate trimming. Set to ``-1`` to disable limits. + +:Type: 32-bit Integer +:Default: ``128`` + + +``mds bal sample interval`` + +:Description: Determines how frequently to sample directory temperature + (for fragmentation decisions). + +:Type: Float +:Default: ``3`` + + +``mds bal replicate threshold`` + +:Description: The maximum temperature before Ceph attempts to replicate + metadata to other nodes. + +:Type: Float +:Default: ``8000`` + + +``mds bal unreplicate threshold`` + +:Description: The minimum temperature before Ceph stops replicating + metadata to other nodes. + +:Type: Float +:Default: ``0`` + + +``mds bal split size`` + +:Description: The maximum directory size before the MDS will split a directory + fragment into smaller bits. + +:Type: 32-bit Integer +:Default: ``10000`` + + +``mds bal split rd`` + +:Description: The maximum directory read temperature before Ceph splits + a directory fragment. + +:Type: Float +:Default: ``25000`` + + +``mds bal split wr`` + +:Description: The maximum directory write temperature before Ceph splits + a directory fragment. + +:Type: Float +:Default: ``10000`` + + +``mds bal split bits`` + +:Description: The number of bits by which to split a directory fragment. +:Type: 32-bit Integer +:Default: ``3`` + + +``mds bal merge size`` + +:Description: The minimum directory size before Ceph tries to merge + adjacent directory fragments. + +:Type: 32-bit Integer +:Default: ``50`` + + +``mds bal interval`` + +:Description: The frequency (in seconds) of workload exchanges between MDSs. +:Type: 32-bit Integer +:Default: ``10`` + + +``mds bal fragment interval`` + +:Description: The delay (in seconds) between a fragment being eligible for split + or merge and executing the fragmentation change. +:Type: 32-bit Integer +:Default: ``5`` + + +``mds bal fragment fast factor`` + +:Description: The ratio by which frags may exceed the split size before + a split is executed immediately (skipping the fragment interval) +:Type: Float +:Default: ``1.5`` + +``mds bal fragment size max`` + +:Description: The maximum size of a fragment before any new entries + are rejected with ENOSPC. +:Type: 32-bit Integer +:Default: ``100000`` + +``mds bal idle threshold`` + +:Description: The minimum temperature before Ceph migrates a subtree + back to its parent. + +:Type: Float +:Default: ``0`` + + +``mds bal max`` + +:Description: The number of iterations to run balancer before Ceph stops. + (used for testing purposes only) + +:Type: 32-bit Integer +:Default: ``-1`` + + +``mds bal max until`` + +:Description: The number of seconds to run balancer before Ceph stops. + (used for testing purposes only) + +:Type: 32-bit Integer +:Default: ``-1`` + + +``mds bal mode`` + +:Description: The method for calculating MDS load. + + - ``0`` = Hybrid. + - ``1`` = Request rate and latency. + - ``2`` = CPU load. + +:Type: 32-bit Integer +:Default: ``0`` + + +``mds bal min rebalance`` + +:Description: The minimum subtree temperature before Ceph migrates. +:Type: Float +:Default: ``0.1`` + + +``mds bal min start`` + +:Description: The minimum subtree temperature before Ceph searches a subtree. +:Type: Float +:Default: ``0.2`` + + +``mds bal need min`` + +:Description: The minimum fraction of target subtree size to accept. +:Type: Float +:Default: ``0.8`` + + +``mds bal need max`` + +:Description: The maximum fraction of target subtree size to accept. +:Type: Float +:Default: ``1.2`` + + +``mds bal midchunk`` + +:Description: Ceph will migrate any subtree that is larger than this fraction + of the target subtree size. + +:Type: Float +:Default: ``0.3`` + + +``mds bal minchunk`` + +:Description: Ceph will ignore any subtree that is smaller than this fraction + of the target subtree size. + +:Type: Float +:Default: ``0.001`` + + +``mds bal target removal min`` + +:Description: The minimum number of balancer iterations before Ceph removes + an old MDS target from the MDS map. + +:Type: 32-bit Integer +:Default: ``5`` + + +``mds bal target removal max`` + +:Description: The maximum number of balancer iteration before Ceph removes + an old MDS target from the MDS map. + +:Type: 32-bit Integer +:Default: ``10`` + + +``mds replay interval`` + +:Description: The journal poll interval when in standby-replay mode. + ("hot standby") + +:Type: Float +:Default: ``1`` + + +``mds shutdown check`` + +:Description: The interval for polling the cache during MDS shutdown. +:Type: 32-bit Integer +:Default: ``0`` + + +``mds thrash exports`` + +:Description: Ceph will randomly export subtrees between nodes (testing only). +:Type: 32-bit Integer +:Default: ``0`` + + +``mds thrash fragments`` + +:Description: Ceph will randomly fragment or merge directories. +:Type: 32-bit Integer +:Default: ``0`` + + +``mds dump cache on map`` + +:Description: Ceph will dump the MDS cache contents to a file on each MDSMap. +:Type: Boolean +:Default: ``false`` + + +``mds dump cache after rejoin`` + +:Description: Ceph will dump MDS cache contents to a file after + rejoining the cache (during recovery). + +:Type: Boolean +:Default: ``false`` + + +``mds verify scatter`` + +:Description: Ceph will assert that various scatter/gather invariants + are ``true`` (developers only). + +:Type: Boolean +:Default: ``false`` + + +``mds debug scatterstat`` + +:Description: Ceph will assert that various recursive stat invariants + are ``true`` (for developers only). + +:Type: Boolean +:Default: ``false`` + + +``mds debug frag`` + +:Description: Ceph will verify directory fragmentation invariants + when convenient (developers only). + +:Type: Boolean +:Default: ``false`` + + +``mds debug auth pins`` + +:Description: The debug auth pin invariants (for developers only). +:Type: Boolean +:Default: ``false`` + + +``mds debug subtrees`` + +:Description: The debug subtree invariants (for developers only). +:Type: Boolean +:Default: ``false`` + + +``mds kill mdstable at`` + +:Description: Ceph will inject MDS failure in MDSTable code + (for developers only). + +:Type: 32-bit Integer +:Default: ``0`` + + +``mds kill export at`` + +:Description: Ceph will inject MDS failure in the subtree export code + (for developers only). + +:Type: 32-bit Integer +:Default: ``0`` + + +``mds kill import at`` + +:Description: Ceph will inject MDS failure in the subtree import code + (for developers only). + +:Type: 32-bit Integer +:Default: ``0`` + + +``mds kill link at`` + +:Description: Ceph will inject MDS failure in hard link code + (for developers only). + +:Type: 32-bit Integer +:Default: ``0`` + + +``mds kill rename at`` + +:Description: Ceph will inject MDS failure in the rename code + (for developers only). + +:Type: 32-bit Integer +:Default: ``0`` + + +``mds wipe sessions`` + +:Description: Ceph will delete all client sessions on startup + (for testing only). + +:Type: Boolean +:Default: ``false`` + + +``mds wipe ino prealloc`` + +:Description: Ceph will delete ino preallocation metadata on startup + (for testing only). + +:Type: Boolean +:Default: ``false`` + + +``mds skip ino`` + +:Description: The number of inode numbers to skip on startup + (for testing only). + +:Type: 32-bit Integer +:Default: ``0`` + + +``mds min caps per client`` + +:Description: Set the minimum number of capabilities a client may hold. +:Type: Integer +:Default: ``100`` + + +``mds max ratio caps per client`` + +:Description: Set the maximum ratio of current caps that may be recalled during MDS cache pressure. +:Type: Float +:Default: ``0.8`` diff --git a/doc/cephfs/mds-state-diagram.dot b/doc/cephfs/mds-state-diagram.dot new file mode 100644 index 00000000..dee82506 --- /dev/null +++ b/doc/cephfs/mds-state-diagram.dot @@ -0,0 +1,71 @@ +digraph { + +node [shape=circle,style=unfilled,fixedsize=true,width=2.0] + +node [color=blue,peripheries=1]; +N0 [label="up:boot"] + +node [color=orange,peripheries=2]; +N1 [label="up:creating"] +N0 -> N1 [color=orange,penwidth=2.0]; +N2 [label="up:starting"] +N0 -> N2 [color=orange,penwidth=2.0]; +N3 [label="up:replay"] +N0 -> N3 [color=orange,penwidth=2.0]; +N4 [label="up:resolve"] +N3 -> N4 [color=orange,penwidth=2.0]; +N5 [label="up:reconnect"] +N3 -> N5 [color=orange,penwidth=2.0]; +N4 -> N5 [color=orange,penwidth=2.0]; +N6 [label="up:rejoin"] +N5 -> N6 [color=orange,penwidth=2.0]; +N7 [label="up:clientreplay"] +N6 -> N7 [color=orange,penwidth=2.0]; + +node [color=green,peripheries=2]; +S0 [label="up:active"] +N7 -> S0 [color=green,penwidth=2.0]; +N1 -> S0 [color=green,penwidth=2.0]; +N2 -> S0 [color=green,penwidth=2.0]; +N6 -> S0 [color=green,penwidth=2.0]; +node [color=green,peripheries=1]; +S1 [label="up:standby"] +N0 -> S1 [color=green,penwidth=2.0]; +S2 [label="up:standby_replay"] +N0 -> S2 [color=green,penwidth=2.0]; + +// going down but still accessible by clients +node [color=purple,peripheries=2]; +S3 [label="up:stopping"] +S0 -> S3 [color=purple,penwidth=2.0]; + +// terminal (but "in") +node [shape=polygon,sides=6,color=red,peripheries=2]; +D0 [label="down:failed"] +N2 -> D0 [color=red,penwidth=2.0]; +N3 -> D0 [color=red,penwidth=2.0]; +N4 -> D0 [color=red,penwidth=2.0]; +N5 -> D0 [color=red,penwidth=2.0]; +N6 -> D0 [color=red,penwidth=2.0]; +N7 -> D0 [color=red,penwidth=2.0]; +S0 -> D0 [color=red,penwidth=2.0]; +S3 -> D0 [color=red,penwidth=2.0]; +D0 -> N3 [color=red,penwidth=2.0]; + +// terminal (but not "in") +node [shape=polygon,sides=6,color=black,peripheries=1]; +D1 [label="down:damaged"] +N3 -> D1 [color=black,penwidth=2.0]; +N4 -> D1 [color=black,penwidth=2.0]; +N5 -> D1 [color=black,penwidth=2.0]; +N6 -> D1 [color=black,penwidth=2.0]; +N7 -> D1 [color=black,penwidth=2.0]; +S0 -> D1 [color=black,penwidth=2.0]; +S3 -> D1 [color=black,penwidth=2.0]; +D1 -> D0 [color=red,penwidth=2.0] + +node [shape=polygon,sides=6,color=purple,peripheries=1]; +D3 [label="down:stopped"] +S3 -> D3 [color=purple,penwidth=2.0]; + +} diff --git a/doc/cephfs/mds-state-diagram.svg b/doc/cephfs/mds-state-diagram.svg new file mode 100644 index 00000000..6c3127a3 --- /dev/null +++ b/doc/cephfs/mds-state-diagram.svg @@ -0,0 +1,311 @@ + + + + + + +%3 + + + +N0 + +up:boot + + + +N1 + + +up:creating + + + +N0->N1 + + + + + +N2 + + +up:starting + + + +N0->N2 + + + + + +N3 + + +up:replay + + + +N0->N3 + + + + + +S1 + +up:standby + + + +N0->S1 + + + + + +S2 + +up:standby_replay + + + +N0->S2 + + + + + +S0 + + +up:active + + + +N1->S0 + + + + + +N2->S0 + + + + + +D0 + + +down:failed + + + +N2->D0 + + + + + +N4 + + +up:resolve + + + +N3->N4 + + + + + +N5 + + +up:reconnect + + + +N3->N5 + + + + + +N3->D0 + + + + + +D1 + +down:damaged + + + +N3->D1 + + + + + +N4->N5 + + + + + +N4->D0 + + + + + +N4->D1 + + + + + +N6 + + +up:rejoin + + + +N5->N6 + + + + + +N5->D0 + + + + + +N5->D1 + + + + + +N7 + + +up:clientreplay + + + +N6->N7 + + + + + +N6->S0 + + + + + +N6->D0 + + + + + +N6->D1 + + + + + +N7->S0 + + + + + +N7->D0 + + + + + +N7->D1 + + + + + +S3 + + +up:stopping + + + +S0->S3 + + + + + +S0->D0 + + + + + +S0->D1 + + + + + +S3->D0 + + + + + +S3->D1 + + + + + +D3 + +down:stopped + + + +S3->D3 + + + + + +D0->N3 + + + + + +D1->D0 + + + + + diff --git a/doc/cephfs/mds-states.rst b/doc/cephfs/mds-states.rst new file mode 100644 index 00000000..ecd5686c --- /dev/null +++ b/doc/cephfs/mds-states.rst @@ -0,0 +1,227 @@ + +MDS States +========== + + +The Metadata Server (MDS) goes through several states during normal operation +in CephFS. For example, some states indicate that the MDS is recovering from a +failover by a previous instance of the MDS. Here we'll document all of these +states and include a state diagram to visualize the transitions. + +State Descriptions +------------------ + +Common states +~~~~~~~~~~~~~~ + + +:: + + up:active + +This is the normal operating state of the MDS. It indicates that the MDS +and its rank in the file system is available. + + +:: + + up:standby + +The MDS is available to takeover for a failed rank (see also :ref:`mds-standby`). +The monitor will automatically assign an MDS in this state to a failed rank +once available. + + +:: + + up:standby_replay + +The MDS is following the journal of another ``up:active`` MDS. Should the +active MDS fail, having a standby MDS in replay mode is desirable as the MDS is +replaying the live journal and will more quickly takeover. A downside to having +standby replay MDSs is that they are not available to takeover for any other +MDS that fails, only the MDS they follow. + + +Less common or transitory states +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +:: + + up:boot + +This state is broadcast to the Ceph monitors during startup. This state is +never visible as the Monitor immediately assign the MDS to an available rank or +commands the MDS to operate as a standby. The state is documented here for +completeness. + + +:: + + up:creating + +The MDS is creating a new rank (perhaps rank 0) by constructing some per-rank +metadata (like the journal) and entering the MDS cluster. + + +:: + + up:starting + +The MDS is restarting a stopped rank. It opens associated per-rank metadata +and enters the MDS cluster. + + +:: + + up:stopping + +When a rank is stopped, the monitors command an active MDS to enter the +``up:stopping`` state. In this state, the MDS accepts no new client +connections, migrates all subtrees to other ranks in the file system, flush its +metadata journal, and, if the last rank (0), evict all clients and shutdown +(see also :ref:`cephfs-administration`). + + +:: + + up:replay + +The MDS taking over a failed rank. This state represents that the MDS is +recovering its journal and other metadata. + + +:: + + up:resolve + +The MDS enters this state from ``up:replay`` if the Ceph file system has +multiple ranks (including this one), i.e. it's not a single active MDS cluster. +The MDS is resolving any uncommitted inter-MDS operations. All ranks in the +file system must be in this state or later for progress to be made, i.e. no +rank can be failed/damaged or ``up:replay``. + + +:: + + up:reconnect + +An MDS enters this state from ``up:replay`` or ``up:resolve``. This state is to +solicit reconnections from clients. Any client which had a session with this +rank must reconnect during this time, configurable via +``mds_reconnect_timeout``. + + +:: + + up:rejoin + +The MDS enters this state from ``up:reconnect``. In this state, the MDS is +rejoining the MDS cluster cache. In particular, all inter-MDS locks on metadata +are reestablished. + +If there are no known client requests to be replayed, the MDS directly becomes +``up:active`` from this state. + + +:: + + up:clientreplay + +The MDS may enter this state from ``up:rejoin``. The MDS is replaying any +client requests which were replied to but not yet durable (not journaled). +Clients resend these requests during ``up:reconnect`` and the requests are +replayed once again. The MDS enters ``up:active`` after completing replay. + + +Failed states +~~~~~~~~~~~~~ + +:: + + down:failed + +No MDS actually holds this state. Instead, it is applied to the rank in the file system. For example: + +:: + + $ ceph fs dump + ... + max_mds 1 + in 0 + up {} + failed 0 + ... + +Rank 0 is part of the failed set. + + +:: + + down:damaged + +No MDS actually holds this state. Instead, it is applied to the rank in the file system. For example: + +:: + + $ ceph fs dump + ... + max_mds 1 + in 0 + up {} + failed + damaged 0 + ... + +Rank 0 has become damaged (see also :ref:`cephfs-disaster-recovery`) and placed in +the ``damaged`` set. An MDS which was running as rank 0 found metadata damage +that could not be automatically recovered. Operator intervention is required. + + +:: + + down:stopped + +No MDS actually holds this state. Instead, it is applied to the rank in the file system. For example: + +:: + + $ ceph fs dump + ... + max_mds 1 + in 0 + up {} + failed + damaged + stopped 1 + ... + +The rank has been stopped by reducing ``max_mds`` (see also :ref:`cephfs-multimds`). + +State Diagram +------------- + +This state diagram shows the possible state transitions for the MDS/rank. The legend is as follows: + +Color +~~~~~ + +- Green: MDS is active. +- Orange: MDS is in transient state trying to become active. +- Red: MDS is indicating a state that causes the rank to be marked failed. +- Purple: MDS and rank is stopping. +- Red: MDS is indicating a state that causes the rank to be marked damaged. + +Shape +~~~~~ + +- Circle: an MDS holds this state. +- Hexagon: no MDS holds this state (it is applied to the rank). + +Lines +~~~~~ + +- A double-lined shape indicates the rank is "in". + +.. image:: mds-state-diagram.svg diff --git a/doc/cephfs/multimds.rst b/doc/cephfs/multimds.rst new file mode 100644 index 00000000..8ed5bd07 --- /dev/null +++ b/doc/cephfs/multimds.rst @@ -0,0 +1,137 @@ +.. _cephfs-multimds: + +Configuring multiple active MDS daemons +--------------------------------------- + +*Also known as: multi-mds, active-active MDS* + +Each CephFS filesystem is configured for a single active MDS daemon +by default. To scale metadata performance for large scale systems, you +may enable multiple active MDS daemons, which will share the metadata +workload with one another. + +When should I use multiple active MDS daemons? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You should configure multiple active MDS daemons when your metadata performance +is bottlenecked on the single MDS that runs by default. + +Adding more daemons may not increase performance on all workloads. Typically, +a single application running on a single client will not benefit from an +increased number of MDS daemons unless the application is doing a lot of +metadata operations in parallel. + +Workloads that typically benefit from a larger number of active MDS daemons +are those with many clients, perhaps working on many separate directories. + + +Increasing the MDS active cluster size +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Each CephFS filesystem has a *max_mds* setting, which controls how many ranks +will be created. The actual number of ranks in the filesystem will only be +increased if a spare daemon is available to take on the new rank. For example, +if there is only one MDS daemon running, and max_mds is set to two, no second +rank will be created. (Note that such a configuration is not Highly Available +(HA) because no standby is available to take over for a failed rank. The +cluster will complain via health warnings when configured this way.) + +Set ``max_mds`` to the desired number of ranks. In the following examples +the "fsmap" line of "ceph status" is shown to illustrate the expected +result of commands. + +:: + + # fsmap e5: 1/1/1 up {0=a=up:active}, 2 up:standby + + ceph fs set max_mds 2 + + # fsmap e8: 2/2/2 up {0=a=up:active,1=c=up:creating}, 1 up:standby + # fsmap e9: 2/2/2 up {0=a=up:active,1=c=up:active}, 1 up:standby + +The newly created rank (1) will pass through the 'creating' state +and then enter this 'active state'. + +Standby daemons +~~~~~~~~~~~~~~~ + +Even with multiple active MDS daemons, a highly available system **still +requires standby daemons** to take over if any of the servers running +an active daemon fail. + +Consequently, the practical maximum of ``max_mds`` for highly available systems +is at most one less than the total number of MDS servers in your system. + +To remain available in the event of multiple server failures, increase the +number of standby daemons in the system to match the number of server failures +you wish to withstand. + +Decreasing the number of ranks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Reducing the number of ranks is as simple as reducing ``max_mds``: + +:: + + # fsmap e9: 2/2/2 up {0=a=up:active,1=c=up:active}, 1 up:standby + ceph fs set max_mds 1 + # fsmap e10: 2/2/1 up {0=a=up:active,1=c=up:stopping}, 1 up:standby + # fsmap e10: 2/2/1 up {0=a=up:active,1=c=up:stopping}, 1 up:standby + ... + # fsmap e10: 1/1/1 up {0=a=up:active}, 2 up:standby + +The cluster will automatically stop extra ranks incrementally until ``max_mds`` +is reached. + +See :doc:`/cephfs/administration` for more details which forms ```` can +take. + +Note: stopped ranks will first enter the stopping state for a period of +time while it hands off its share of the metadata to the remaining active +daemons. This phase can take from seconds to minutes. If the MDS appears to +be stuck in the stopping state then that should be investigated as a possible +bug. + +If an MDS daemon crashes or is killed while in the ``up:stopping`` state, a +standby will take over and the cluster monitors will against try to stop +the daemon. + +When a daemon finishes stopping, it will respawn itself and go back to being a +standby. + + +Manually pinning directory trees to a particular rank +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In multiple active metadata server configurations, a balancer runs which works +to spread metadata load evenly across the cluster. This usually works well +enough for most users but sometimes it is desirable to override the dynamic +balancer with explicit mappings of metadata to particular ranks. This can allow +the administrator or users to evenly spread application load or limit impact of +users' metadata requests on the entire cluster. + +The mechanism provided for this purpose is called an ``export pin``, an +extended attribute of directories. The name of this extended attribute is +``ceph.dir.pin``. Users can set this attribute using standard commands: + +:: + + setfattr -n ceph.dir.pin -v 2 path/to/dir + +The value of the extended attribute is the rank to assign the directory subtree +to. A default value of ``-1`` indicates the directory is not pinned. + +A directory's export pin is inherited from its closest parent with a set export +pin. In this way, setting the export pin on a directory affects all of its +children. However, the parents pin can be overridden by setting the child +directory's export pin. For example: + +:: + + mkdir -p a/b + # "a" and "a/b" both start without an export pin set + setfattr -n ceph.dir.pin -v 1 a/ + # a and b are now pinned to rank 1 + setfattr -n ceph.dir.pin -v 0 a/b + # a/b is now pinned to rank 0 and a/ and the rest of its children are still pinned to rank 1 + diff --git a/doc/cephfs/nfs.rst b/doc/cephfs/nfs.rst new file mode 100644 index 00000000..3485d33d --- /dev/null +++ b/doc/cephfs/nfs.rst @@ -0,0 +1,81 @@ +=== +NFS +=== + +CephFS namespaces can be exported over NFS protocol using the +`NFS-Ganesha NFS server `_. + +Requirements +============ + +- Ceph filesystem (preferably latest stable luminous or higher versions) +- In the NFS server host machine, 'libcephfs2' (preferably latest stable + luminous or higher), 'nfs-ganesha' and 'nfs-ganesha-ceph' packages (latest + ganesha v2.5 stable or higher versions) +- NFS-Ganesha server host connected to the Ceph public network + +Configuring NFS-Ganesha to export CephFS +======================================== + +NFS-Ganesha provides a File System Abstraction Layer (FSAL) to plug in different +storage backends. `FSAL_CEPH `_ +is the plugin FSAL for CephFS. For each NFS-Ganesha export, FSAL_CEPH uses a +libcephfs client, user-space CephFS client, to mount the CephFS path that +NFS-Ganesha exports. + +Setting up NFS-Ganesha with CephFS, involves setting up NFS-Ganesha's +configuration file, and also setting up a Ceph configuration file and cephx +access credentials for the Ceph clients created by NFS-Ganesha to access +CephFS. + +NFS-Ganesha configuration +------------------------- + +A sample ganesha.conf configured with FSAL_CEPH can be found here, +``_. +It is suitable for a standalone NFS-Ganesha server, or an active/passive +configuration of NFS-Ganesha servers managed by some sort of clustering +software (e.g., Pacemaker). Important details about the options are +added as comments in the sample conf. There are options to do the following: + +- minimize Ganesha caching wherever possible since the libcephfs clients + (of FSAL_CEPH) also cache aggressively + +- read from Ganesha config files stored in RADOS objects + +- store client recovery data in RADOS OMAP key-value interface + +- mandate NFSv4.1+ access + +- enable read delegations (need at least v13.0.1 'libcephfs2' package + and v2.6.0 stable 'nfs-ganesha' and 'nfs-ganesha-ceph' packages) + +Configuration for libcephfs clients +----------------------------------- + +Required ceph.conf for libcephfs clients includes: + +* a [client] section with ``mon_host`` option set to let the clients connect + to the Ceph cluster's monitors, e.g., :: + + [client] + mon host = 192.168.1.7:6789, 192.168.1.8:6789, 192.168.1.9:6789 + +Mount using NFSv4 clients +========================= + +It is preferred to mount the NFS-Ganesha exports using NFSv4.1+ protocols +to get the benefit of sessions. + +Conventions for mounting NFS resources are platform-specific. The +following conventions work on Linux and some Unix platforms: + +From the command line:: + + mount -t nfs -o nfsvers=4.1,proto=tcp : + +Current limitations +=================== + +- Per running ganesha daemon, FSAL_CEPH can only export one Ceph filesystem + although multiple directories in a Ceph filesystem may be exported. diff --git a/doc/cephfs/posix.rst b/doc/cephfs/posix.rst new file mode 100644 index 00000000..34c2b44a --- /dev/null +++ b/doc/cephfs/posix.rst @@ -0,0 +1,101 @@ +======================== + Differences from POSIX +======================== + +CephFS aims to adhere to POSIX semantics wherever possible. For +example, in contrast to many other common network file systems like +NFS, CephFS maintains strong cache coherency across clients. The goal +is for processes communicating via the file system to behave the same +when they are on different hosts as when they are on the same host. + +However, there are a few places where CephFS diverges from strict +POSIX semantics for various reasons: + +- If a client is writing to a file and fails, its writes are not + necessarily atomic. That is, the client may call write(2) on a file + opened with O_SYNC with an 8 MB buffer and then crash and the write + may be only partially applied. (Almost all file systems, even local + file systems, have this behavior.) +- In shared simultaneous writer situations, a write that crosses + object boundaries is not necessarily atomic. This means that you + could have writer A write "aa|aa" and writer B write "bb|bb" + simultaneously (where | is the object boundary), and end up with + "aa|bb" rather than the proper "aa|aa" or "bb|bb". +- Sparse files propagate incorrectly to the stat(2) st_blocks field. + Because CephFS does not explicitly track which parts of a file are + allocated/written, the st_blocks field is always populated by the + file size divided by the block size. This will cause tools like + du(1) to overestimate consumed space. (The recursive size field, + maintained by CephFS, also includes file "holes" in its count.) +- When a file is mapped into memory via mmap(2) on multiple hosts, + writes are not coherently propagated to other clients' caches. That + is, if a page is cached on host A, and then updated on host B, host + A's page is not coherently invalidated. (Shared writable mmap + appears to be quite rare--we have yet to here any complaints about this + behavior, and implementing cache coherency properly is complex.) +- CephFS clients present a hidden ``.snap`` directory that is used to + access, create, delete, and rename snapshots. Although the virtual + directory is excluded from readdir(2), any process that tries to + create a file or directory with the same name will get an error + code. The name of this hidden directory can be changed at mount + time with ``-o snapdirname=.somethingelse`` (Linux) or the config + option ``client_snapdir`` (libcephfs, ceph-fuse). + +Perspective +----------- + +People talk a lot about "POSIX compliance," but in reality most file +system implementations do not strictly adhere to the spec, including +local Linux file systems like ext4 and XFS. For example, for +performance reasons, the atomicity requirements for reads are relaxed: +processing reading from a file that is also being written may see torn +results. + +Similarly, NFS has extremely weak consistency semantics when multiple +clients are interacting with the same files or directories, opting +instead for "close-to-open". In the world of network attached +storage, where most environments use NFS, whether or not the server's +file system is "fully POSIX" may not be relevant, and whether client +applications notice depends on whether data is being shared between +clients or not. NFS may also "tear" the results of concurrent writers +as client data may not even be flushed to the server until the file is +closed (and more generally writes will be significantly more +time-shifted than CephFS, leading to less predictable results). + +However, all of there are very close to POSIX, and most of the time +applications don't notice too much. Many other storage systems (e.g., +HDFS) claim to be "POSIX-like" but diverge significantly from the +standard by dropping support for things like in-place file +modifications, truncate, or directory renames. + + +Bottom line +----------- + +CephFS relaxes more than local Linux kernel file systems (e.g., writes +spanning object boundaries may be torn). It relaxes strictly less +than NFS when it comes to multiclient consistency, and generally less +than NFS when it comes to write atomicity. + +In other words, when it comes to POSIX, :: + + HDFS < NFS < CephFS < {XFS, ext4} + + +fsync() and error reporting +--------------------------- + +POSIX is somewhat vague about the state of an inode after fsync reports +an error. In general, CephFS uses the standard error-reporting +mechanisms in the client's kernel, and therefore follows the same +conventions as other filesystems. + +In modern Linux kernels (v4.17 or later), writeback errors are reported +once to every file description that is open at the time of the error. In +addition, unreported errors that occured before the file description was +opened will also be returned on fsync. + +See `PostgreSQL's summary of fsync() error reporting across operating systems +`_ and `Matthew Wilcox's +presentation on Linux IO error handling +`_ for more information. diff --git a/doc/cephfs/quota.rst b/doc/cephfs/quota.rst new file mode 100644 index 00000000..951982d1 --- /dev/null +++ b/doc/cephfs/quota.rst @@ -0,0 +1,76 @@ +Quotas +====== + +CephFS allows quotas to be set on any directory in the system. The +quota can restrict the number of *bytes* or the number of *files* +stored beneath that point in the directory hierarchy. + +Limitations +----------- + +#. *Quotas are cooperative and non-adversarial.* CephFS quotas rely on + the cooperation of the client who is mounting the file system to + stop writers when a limit is reached. A modified or adversarial + client cannot be prevented from writing as much data as it needs. + Quotas should not be relied on to prevent filling the system in + environments where the clients are fully untrusted. + +#. *Quotas are imprecise.* Processes that are writing to the file + system will be stopped a short time after the quota limit is + reached. They will inevitably be allowed to write some amount of + data over the configured limit. How far over the quota they are + able to go depends primarily on the amount of time, not the amount + of data. Generally speaking writers will be stopped within 10s of + seconds of crossing the configured limit. + +#. *Quotas are implemented in the kernel client 4.17 and higher.* + Quotas are supported by the userspace client (libcephfs, ceph-fuse). + Linux kernel clients >= 4.17 support CephFS quotas but only on + mimic+ clusters. Kernel clients (even recent versions) will fail + to handle quotas on older clusters, even if they may be able to set + the quotas extended attributes. + +#. *Quotas must be configured carefully when used with path-based + mount restrictions.* The client needs to have access to the + directory inode on which quotas are configured in order to enforce + them. If the client has restricted access to a specific path + (e.g., ``/home/user``) based on the MDS capability, and a quota is + configured on an ancestor directory they do not have access to + (e.g., ``/home``), the client will not enforce it. When using + path-based access restrictions be sure to configure the quota on + the directory the client is restricted too (e.g., ``/home/user``) + or something nested beneath it. + +#. *Snapshot file data which has since been deleted or changed does not count + towards the quota.* See also: http://tracker.ceph.com/issues/24284 + +Configuration +------------- + +Like most other things in CephFS, quotas are configured using virtual +extended attributes: + + * ``ceph.quota.max_files`` -- file limit + * ``ceph.quota.max_bytes`` -- byte limit + +If the attributes appear on a directory inode that means a quota is +configured there. If they are not present then no quota is set on +that directory (although one may still be configured on a parent directory). + +To set a quota:: + + setfattr -n ceph.quota.max_bytes -v 100000000 /some/dir # 100 MB + setfattr -n ceph.quota.max_files -v 10000 /some/dir # 10,000 files + +To view quota settings:: + + getfattr -n ceph.quota.max_bytes /some/dir + getfattr -n ceph.quota.max_files /some/dir + +Note that if the value of the extended attribute is ``0`` that means +the quota is not set. + +To remove a quota:: + + setfattr -n ceph.quota.max_bytes -v 0 /some/dir + setfattr -n ceph.quota.max_files -v 0 /some/dir diff --git a/doc/cephfs/scrub.rst b/doc/cephfs/scrub.rst new file mode 100644 index 00000000..7a28311b --- /dev/null +++ b/doc/cephfs/scrub.rst @@ -0,0 +1,136 @@ +.. _mds-scrub: + +===================== +Ceph Filesystem Scrub +===================== + +CephFS provides the cluster admin (operator) to check consistency of a filesystem +via a set of scrub commands. Scrub can be classified into two parts: + +#. Forward Scrub: In which the scrub operation starts at the root of the filesystem + (or a sub directory) and looks at everything that can be touched in the hierarchy + to ensure consistency. + +#. Backward Scrub: In which the scrub operation looks at every RADOS object in the + filesystem pools and maps it back to the filesystem hierarchy. + +This document details commands to initiate and control forward scrub (referred as +scrub thereafter). + +Initiate Filesystem Scrub +========================= + +To start a scrub operation for a directory tree use the following command + +:: + + ceph tell mds.a scrub start / recursive + { + "return_code": 0, + "scrub_tag": "6f0d204c-6cfd-4300-9e02-73f382fd23c1", + "mode": "asynchronous" + } + +Recursive scrub is asynchronous (as hinted by `mode` in the output above). Scrub tag is +a random string that can used to monitor the progress of the scrub operation (explained +further in this document). + +Custom tag can also be specified when initiating the scrub operation. Custom tags get +persisted in the metadata object for every inode in the filesystem tree that is being +scrubbed. + +:: + + ceph tell mds.a scrub start /a/b/c recursive tag0 + { + "return_code": 0, + "scrub_tag": "tag0", + "mode": "asynchronous" + } + + +Monitor (ongoing) Filesystem Scrubs +=================================== + +Status of ongoing scrubs can be monitored using in `scrub status` command. This commands +lists out ongoing scrubs (identified by the tag) along with the path and options used to +initiate the scrub. + +:: + + ceph tell mds.a scrub status + { + "status": "scrub active (85 inodes in the stack)", + "scrubs": { + "6f0d204c-6cfd-4300-9e02-73f382fd23c1": { + "path": "/", + "options": "recursive" + } + } + } + +`status` shows the number of inodes that are scheduled to be scrubbed at any point in time, +hence, can change on subsequent `scrub status` invocations. Also, a high level summary of +scrub operation (which includes the operation state and paths on which scrub is triggered) +gets displayed in `ceph status`. + +:: + + ceph status + [...] + + task status: + scrub status: + mds.0: active [paths:/] + + [...] + +Control (ongoing) Filesystem Scrubs +=================================== + +- Pause: Pausing ongoing scrub operations results in no new or pending inodes being + scrubbed after in-flight RADOS ops (for the inodes that are currently being scrubbed) + finish. + +:: + + ceph tell mds.a scrub pause + { + "return_code": 0 + } + +`scrub status` after pausing reflects the paused state. At this point, initiating new scrub +operations (via `scrub start`) would just queue the inode for scrub. + +:: + + ceph tell mds.a scrub status + { + "status": "PAUSED (66 inodes in the stack)", + "scrubs": { + "6f0d204c-6cfd-4300-9e02-73f382fd23c1": { + "path": "/", + "options": "recursive" + } + } + } + +- Resume: Resuming kick starts a paused scrub operation. + +:: + + ceph tell mds.a. scrub resume + { + "return_code": 0 + } + +- Abort: Aborting ongoing scrub operations removes pending inodes from the scrub + queue (thereby aborting the scrub) after in-flight RADOS ops (for the inodes that + are currently being scrubbed) finish. + +:: + + ceph tell mds.a. scrub abort + { + "return_code": 0 + } diff --git a/doc/cephfs/standby.rst b/doc/cephfs/standby.rst new file mode 100644 index 00000000..8983415d --- /dev/null +++ b/doc/cephfs/standby.rst @@ -0,0 +1,103 @@ +.. _mds-standby: + +Terminology +----------- + +A Ceph cluster may have zero or more CephFS *filesystems*. CephFS +filesystems have a human readable name (set in ``fs new``) +and an integer ID. The ID is called the filesystem cluster ID, +or *FSCID*. + +Each CephFS filesystem has a number of *ranks*, one by default, +which start at zero. A rank may be thought of as a metadata shard. +Controlling the number of ranks in a filesystem is described +in :doc:`/cephfs/multimds` + +Each CephFS ceph-mds process (a *daemon*) initially starts up +without a rank. It may be assigned one by the monitor cluster. +A daemon may only hold one rank at a time. Daemons only give up +a rank when the ceph-mds process stops. + +If a rank is not associated with a daemon, the rank is +considered *failed*. Once a rank is assigned to a daemon, +the rank is considered *up*. + +A daemon has a *name* that is set statically by the administrator +when the daemon is first configured. Typical configurations +use the hostname where the daemon runs as the daemon name. + +Each time a daemon starts up, it is also assigned a *GID*, which +is unique to this particular process lifetime of the daemon. The +GID is an integer. + +Referring to MDS daemons +------------------------ + +Most of the administrative commands that refer to an MDS daemon +accept a flexible argument format that may contain a rank, a GID +or a name. + +Where a rank is used, this may optionally be qualified with +a leading filesystem name or ID. If a daemon is a standby (i.e. +it is not currently assigned a rank), then it may only be +referred to by GID or name. + +For example, if we had an MDS daemon which was called 'myhost', +had GID 5446, and was assigned rank 0 in the filesystem 'myfs' +which had FSCID 3, then any of the following would be suitable +forms of the 'fail' command: + +:: + + ceph mds fail 5446 # GID + ceph mds fail myhost # Daemon name + ceph mds fail 0 # Unqualified rank + ceph mds fail 3:0 # FSCID and rank + ceph mds fail myfs:0 # Filesystem name and rank + +Managing failover +----------------- + +If an MDS daemon stops communicating with the monitor, the monitor will wait +``mds_beacon_grace`` seconds (default 15 seconds) before marking the daemon as +*laggy*. If a standby is available, the monitor will immediately replace the +laggy daemon. + +Each file system may specify a number of standby daemons to be considered +healthy. This number includes daemons in standby-replay waiting for a rank to +fail (remember that a standby-replay daemon will not be assigned to take over a +failure for another rank or a failure in a another CephFS file system). The +pool of standby daemons not in replay count towards any file system count. +Each file system may set the number of standby daemons wanted using: + +:: + + ceph fs set standby_count_wanted + +Setting ``count`` to 0 will disable the health check. + + +.. _mds-standby-replay: + +Configuring standby-replay +-------------------------- + +Each CephFS file system may be configured to add standby-replay daemons. These +standby daemons follow the active MDS's metadata journal to reduce failover +time in the event the active MDS becomes unavailable. Each active MDS may have +only one standby-replay daemon following it. + +Configuring standby-replay on a file system is done using: + +:: + + ceph fs set allow_standby_replay + +Once set, the monitors will assign available standby daemons to follow the +active MDSs in that file system. + +Once an MDS has entered the standby-replay state, it will only be used as a +standby for the rank that it is following. If another rank fails, this +standby-replay daemon will not be used as a replacement, even if no other +standbys are available. For this reason, it is advised that if standby-replay +is used then every active MDS should have a standby-replay daemon. diff --git a/doc/cephfs/troubleshooting.rst b/doc/cephfs/troubleshooting.rst new file mode 100644 index 00000000..d13914a1 --- /dev/null +++ b/doc/cephfs/troubleshooting.rst @@ -0,0 +1,160 @@ +================= + Troubleshooting +================= + +Slow/stuck operations +===================== + +If you are experiencing apparent hung operations, the first task is to identify +where the problem is occurring: in the client, the MDS, or the network connecting +them. Start by looking to see if either side has stuck operations +(:ref:`slow_requests`, below), and narrow it down from there. + +RADOS Health +============ + +If part of the CephFS metadata or data pools is unavailable and CephFS is not +responding, it is probably because RADOS itself is unhealthy. Resolve those +problems first (:doc:`../../rados/troubleshooting/index`). + +The MDS +======= + +If an operation is hung inside the MDS, it will eventually show up in ``ceph health``, +identifying "slow requests are blocked". It may also identify clients as +"failing to respond" or misbehaving in other ways. If the MDS identifies +specific clients as misbehaving, you should investigate why they are doing so. +Generally it will be the result of +1) overloading the system (if you have extra RAM, increase the +"mds cache size" config from its default 100000; having a larger active file set +than your MDS cache is the #1 cause of this!) +2) running an older (misbehaving) client, or +3) underlying RADOS issues. + +Otherwise, you have probably discovered a new bug and should report it to +the developers! + +.. _slow_requests: + +Slow requests (MDS) +------------------- +You can list current operations via the admin socket by running:: + + ceph daemon mds. dump_ops_in_flight + +from the MDS host. Identify the stuck commands and examine why they are stuck. +Usually the last "event" will have been an attempt to gather locks, or sending +the operation off to the MDS log. If it is waiting on the OSDs, fix them. If +operations are stuck on a specific inode, you probably have a client holding +caps which prevent others from using it, either because the client is trying +to flush out dirty data or because you have encountered a bug in CephFS' +distributed file lock code (the file "capabilities" ["caps"] system). + +If it's a result of a bug in the capabilities code, restarting the MDS +is likely to resolve the problem. + +If there are no slow requests reported on the MDS, and it is not reporting +that clients are misbehaving, either the client has a problem or its +requests are not reaching the MDS. + +ceph-fuse debugging +=================== + +ceph-fuse also supports dump_ops_in_flight. See if it has any and where they are +stuck. + +Debug output +------------ + +To get more debugging information from ceph-fuse, try running in the foreground +with logging to the console (``-d``) and enabling client debug +(``--debug-client=20``), enabling prints for each message sent +(``--debug-ms=1``). + +If you suspect a potential monitor issue, enable monitor debugging as well +(``--debug-monc=20``). + + +Kernel mount debugging +====================== + +Slow requests +------------- + +Unfortunately the kernel client does not support the admin socket, but it has +similar (if limited) interfaces if your kernel has debugfs enabled. There +will be a folder in ``sys/kernel/debug/ceph/``, and that folder (whose name will +look something like ``28f7427e-5558-4ffd-ae1a-51ec3042759a.client25386880``) +will contain a variety of files that output interesting output when you ``cat`` +them. These files are described below; the most interesting when debugging +slow requests are probably the ``mdsc`` and ``osdc`` files. + +* bdi: BDI info about the Ceph system (blocks dirtied, written, etc) +* caps: counts of file "caps" structures in-memory and used +* client_options: dumps the options provided to the CephFS mount +* dentry_lru: Dumps the CephFS dentries currently in-memory +* mdsc: Dumps current requests to the MDS +* mdsmap: Dumps the current MDSMap epoch and MDSes +* mds_sessions: Dumps the current sessions to MDSes +* monc: Dumps the current maps from the monitor, and any "subscriptions" held +* monmap: Dumps the current monitor map epoch and monitors +* osdc: Dumps the current ops in-flight to OSDs (ie, file data IO) +* osdmap: Dumps the current OSDMap epoch, pools, and OSDs + +If there are no stuck requests but you have file IO which is not progressing, +you might have a... + +Disconnected+Remounted FS +========================= +Because CephFS has a "consistent cache", if your network connection is +disrupted for a long enough time, the client will be forcibly +disconnected from the system. At this point, the kernel client is in +a bind: it cannot safely write back dirty data, and many applications +do not handle IO errors correctly on close(). +At the moment, the kernel client will remount the FS, but outstanding filesystem +IO may or may not be satisfied. In these cases, you may need to reboot your +client system. + +You can identify you are in this situation if dmesg/kern.log report something like:: + + Jul 20 08:14:38 teuthology kernel: [3677601.123718] ceph: mds0 closed our session + Jul 20 08:14:38 teuthology kernel: [3677601.128019] ceph: mds0 reconnect start + Jul 20 08:14:39 teuthology kernel: [3677602.093378] ceph: mds0 reconnect denied + Jul 20 08:14:39 teuthology kernel: [3677602.098525] ceph: dropping dirty+flushing Fw state for ffff8802dc150518 1099935956631 + Jul 20 08:14:39 teuthology kernel: [3677602.107145] ceph: dropping dirty+flushing Fw state for ffff8801008e8518 1099935946707 + Jul 20 08:14:39 teuthology kernel: [3677602.196747] libceph: mds0 172.21.5.114:6812 socket closed (con state OPEN) + Jul 20 08:14:40 teuthology kernel: [3677603.126214] libceph: mds0 172.21.5.114:6812 connection reset + Jul 20 08:14:40 teuthology kernel: [3677603.132176] libceph: reset on mds0 + +This is an area of ongoing work to improve the behavior. Kernels will soon +be reliably issuing error codes to in-progress IO, although your application(s) +may not deal with them well. In the longer-term, we hope to allow reconnect +and reclaim of data in cases where it won't violate POSIX semantics (generally, +data which hasn't been accessed or modified by other clients). + +Mounting +======== + +Mount 5 Error +------------- + +A mount 5 error typically occurs if a MDS server is laggy or if it crashed. +Ensure at least one MDS is up and running, and the cluster is ``active + +healthy``. + +Mount 12 Error +-------------- + +A mount 12 error with ``cannot allocate memory`` usually occurs if you have a +version mismatch between the :term:`Ceph Client` version and the :term:`Ceph +Storage Cluster` version. Check the versions using:: + + ceph -v + +If the Ceph Client is behind the Ceph cluster, try to upgrade it:: + + sudo apt-get update && sudo apt-get install ceph-common + +You may need to uninstall, autoclean and autoremove ``ceph-common`` +and then reinstall it so that you have the latest version. + diff --git a/doc/cephfs/upgrading.rst b/doc/cephfs/upgrading.rst new file mode 100644 index 00000000..0a62fdb3 --- /dev/null +++ b/doc/cephfs/upgrading.rst @@ -0,0 +1,92 @@ +Upgrading the MDS Cluster +========================= + +Currently the MDS cluster does not have built-in versioning or file system +flags to support seamless upgrades of the MDSs without potentially causing +assertions or other faults due to incompatible messages or other functional +differences. For this reason, it's necessary during any cluster upgrade to +reduce the number of active MDS for a file system to one first so that two +active MDS do not communicate with different versions. Further, it's also +necessary to take standbys offline as any new CompatSet flags will propagate +via the MDSMap to all MDS and cause older MDS to suicide. + +The proper sequence for upgrading the MDS cluster is: + +1. Reduce the number of ranks to 1: + +:: + + ceph fs set max_mds 1 + +2. Wait for cluster to stop non-zero ranks where only rank 0 is active and the rest are standbys. + +:: + + ceph status # wait for MDS to finish stopping + +3. Take all standbys offline, e.g. using systemctl: + +:: + + systemctl stop ceph-mds.target + +4. Confirm only one MDS is online and is rank 0 for your FS: + +:: + + ceph status + +5. Upgrade the single active MDS, e.g. using systemctl: + +:: + + # use package manager to update cluster + systemctl restart ceph-mds.target + +6. Upgrade/start the standby daemons. + +:: + + # use package manager to update cluster + systemctl restart ceph-mds.target + +7. Restore the previous max_mds for your cluster: + +:: + + ceph fs set max_mds + + +Upgrading pre-Firefly filesystems past Jewel +============================================ + +.. tip:: + + This advice only applies to users with filesystems + created using versions of Ceph older than *Firefly* (0.80). + Users creating new filesystems may disregard this advice. + +Pre-firefly versions of Ceph used a now-deprecated format +for storing CephFS directory objects, called TMAPs. Support +for reading these in RADOS will be removed after the Jewel +release of Ceph, so for upgrading CephFS users it is important +to ensure that any old directory objects have been converted. + +After installing Jewel on all your MDS and OSD servers, and restarting +the services, run the following command: + +:: + + cephfs-data-scan tmap_upgrade + +This only needs to be run once, and it is not necessary to +stop any other services while it runs. The command may take some +time to execute, as it iterates overall objects in your metadata +pool. It is safe to continue using your filesystem as normal while +it executes. If the command aborts for any reason, it is safe +to simply run it again. + +If you are upgrading a pre-Firefly CephFS filesystem to a newer Ceph version +than Jewel, you must first upgrade to Jewel and run the ``tmap_upgrade`` +command before completing your upgrade to the latest version. + diff --git a/doc/changelog/v0.48.1argonaut.txt b/doc/changelog/v0.48.1argonaut.txt new file mode 100644 index 00000000..cdd557f9 --- /dev/null +++ b/doc/changelog/v0.48.1argonaut.txt @@ -0,0 +1,1286 @@ +commit a7ad701b9bd479f20429f19e6fea7373ca6bba7c +Author: Sage Weil +Date: Mon Aug 13 14:58:51 2012 -0700 + + v0.48.1argonaut + +commit d4849f2f8a8c213c266658467bc5f22763010bc2 +Author: Yehuda Sadeh +Date: Wed Aug 1 13:22:38 2012 -0700 + + rgw: fix usage trim call encoding + + Fixes: #2841. + Usage trim operation was encoding the wrong op structure (usage read). + Since the structures somewhat overlapped it somewhat worked, but user + info wasn't encoded. + + Backport: argonaut + Signed-off-by: Yehuda Sadeh + +commit 515952d07107d442889754ec3bd6a344fad25d58 +Author: Yehuda Sadeh +Date: Wed Aug 8 15:21:53 2012 -0700 + + cls_rgw: fix rgw_cls_usage_log_trim_op encode/decode + + It was not encoding user, adding that and reset version + compatibility. + This changes affects command interface, makes use of + radosgw-admin usage trim incompatible. Use of old + radosgw-admin usage trim should be avoided, as it may + remove more data than requested. In any case, upgraded + server code will not handle old client's trim requests. + + backport: argonaut + Signed-off-by: Yehuda Sadeh + +commit 2e77130d5c80220be1612b5499d422de620d2d0b +Author: Yehuda Sadeh +Date: Tue Jul 31 16:17:22 2012 -0700 + + rgw: expand date format support + + Relaxing the date format parsing function to allow UTC + instead of GMT. + + Signed-off-by: Yehuda Sadeh + +commit 14fa77d9277b5ef5d0c6683504b368773b39ccc4 +Author: Yehuda Sadeh +Date: Thu Aug 2 11:13:05 2012 -0700 + + rgw: complete multipart upload can handle chunked encoding + + Fixes: #2878 + We now allow complete multipart upload to use chunked encoding + when sending request data. With chunked encoding the HTTP_LENGTH + header is not required. + + Backport: argonaut + Signed-off-by: Yehuda Sadeh + +commit a06f7783fbcc02e775fc36f30e422fe0f9e0ec2d +Author: Yehuda Sadeh +Date: Wed Aug 1 11:19:32 2012 -0700 + + rgw_xml: xml_handle_data() appends data string + + Fixes: #2879. + xml_handle_data() appends data to the object instead of just + replacing it. Parsed data can arrive in pieces, specifically + when data is escaped. + + Backport: argonaut + Signed-off-by: Yehuda Sadeh + +commit a8b224b9c4877a559ce420a2e04f19f68c8c5680 +Author: Yehuda Sadeh +Date: Wed Aug 1 13:09:41 2012 -0700 + + rgw: ETag is unquoted in multipart upload complete + + Fixes #2877. + Removing quotes from ETag before comparing it to what we + have when completing a multipart upload. + + Backport: argonaut + Signed-off-by: Yehuda Sadeh + +commit 22259c6efda9a5d55221fd036c757bf123796753 +Author: Josh Durgin +Date: Wed Aug 8 15:24:57 2012 -0700 + + MonMap: return error on failure in build_initial + + If mon_host fails to parse, return an error instead of success. + This avoids failing later on an assert monmap.size() > 0 in the + monmap in MonClient. + + Fixes: #2913 + Signed-off-by: Josh Durgin + +commit 49b2c7b5a79b8fb4a3941eca2cb0dbaf22f658b7 +Author: Josh Durgin +Date: Wed Aug 8 15:10:27 2012 -0700 + + addr_parsing: report correct error message + + getaddrinfo uses its return code to report failures. + + Signed-off-by: Josh Durgin + +commit 7084f29544f431b7c6a3286356f2448ae0333eda +Author: Sage Weil +Date: Wed Aug 8 14:01:53 2012 -0700 + + mkcephfs: use default osd_data, _journal values + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + +commit 96b1a496cdfda34a5efdb6686becf0d2e7e3a1c0 +Author: Sage Weil +Date: Wed Aug 8 14:01:35 2012 -0700 + + mkcephfs: use new default keyring locations + + The ceph-conf command only parses the conf; it does not apply default + config values. This breaks mkcephfs if values are not specified in the + config. + + Let ceph-osd create its own key, fix copying, and fix creation/copying for + the mds. + + Fixes: #2845 + Reported-by: Florian Haas + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + +commit 4bd466d6ed49c7192df4a5bf0d63bda5d7d7dd9a +Author: Sage Weil +Date: Tue Jul 31 14:01:57 2012 -0700 + + osd: peering: detect when log source osd goes down + + The Peering state has a generic check based on the prior set osds that + will restart peering if one of them goes down (or one of the interesting + down ones comes up). The GetLog state, however, can pull the log from + a peer that is not in the prior set if it got a notify from them (e.g., an + osd in an old interval that was down when the prior set was calculated). + If that osd goes down, we don't detect it and will block forward. + + Fix by adding a simple check in GetLog for the newest_update_osd going + down. + + (BTW GetMissing does not suffer from this problem because + peer_missing_requested is a subset of the prior set, so the Peering check + is sufficient.) + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + +commit 87defa88a0c6d6aafaa65437a6e4ddd92418f834 +Author: Sylvain Munaut +Date: Tue Jul 31 11:55:56 2012 -0700 + + rbd: fix off-by-one error in key name + + Fixes: #2846 + Signed-off-by: Sylvain Munaut + +commit 37d5b46269c8a4227e5df61a88579d94f7b56772 +Author: Sylvain Munaut +Date: Tue Jul 31 11:54:29 2012 -0700 + + secret: return error on empty secret + + Signed-off-by: Sylvain Munaut + +commit 7b9d37c662313929b52011ddae47cc8abab99095 +Author: Sage Weil +Date: Sat Jul 28 10:05:47 2012 -0700 + + osd: set STRAY on pg load when non-primary + + The STRAY bit indicates that we should annouce ourselves to the primary, + but it is only set in start_peering_interval(). We also need to set it + initially, so that a PG that is loaded but whose role does not change + (e.g., the stray replica stays a stray) will notify the primary. + + Observed: + - osd starts up + - mapping does not change, STRAY not set + - does not announce to primary + - primary does not re-check must_have_unfound, objects appear unfound + + Fix this by initializing STRAY when pg is loaded or created whenever we + are not the primary. + + Fixes: #2866 + Signed-off-by: Sage Weil + +commit 96feca450c5505a06868bc012fe998a03371b77f +Author: Sage Weil +Date: Fri Jul 27 16:03:26 2012 -0700 + + osd: peering: make Incomplete a Peering substate + + This allows us to still catch changes in the prior set that would affect + our conclusions (that we are incomplete) and, when they happen, restart + peering. + + Consider: + - calc prior set, osd A is down + - query everyone else, no good info + - set down, go to Incomplete (previously WaitActingChange) state. + - osd A comes back up (we do nothing) + - osd A sends notify message with good info (we ignore) + + By making this a Peering substate, we catch the Peering AdvMap reaction, + which will notice a prior set down osd is now up and move to Reset. + + Fixes: #2860 + Signed-off-by: Sage Weil + +commit a71e442fe620fa3a22ad9302413d8344a3a1a969 +Author: Sage Weil +Date: Fri Jul 27 15:39:40 2012 -0700 + + osd: peering: move to Incomplete when.. incomplete + + PG::choose_acting() may return false and *not* request an acting set change + if it can't find any suitable peers with enough info to recover. In that + case, we should move to Incomplete, not WaitActingChange, just like we do + a bit lower in GetLog() if we have non-contiguous logs. The state name is + more accurate, and this is also needed to fix bug #2860. + + Signed-off-by: Sage Weil + +commit 623026d9bc8ea4c845eb3b06d79e0ca9bef50deb +Merge: 87b6e80 9db7809 +Author: Sage Weil +Date: Fri Jul 27 14:00:52 2012 -0700 + + Merge remote-tracking branch 'gh/stable' into stable-next + +commit 9db78090451e609e3520ac3e57a5f53da03f9ee2 +Author: Sage Weil +Date: Thu Jul 26 16:35:00 2012 -0700 + + osd: fixing sharing of past_intervals on backfill restart + + We need to share past_intervals whenever we instantiate the PG on a peer. + In the PG activation case, this is based on whether our peer_info[] value + for that peer is dne(). However, the backfill code was updating the + peer info (history) in the block preceeding the dne() check, which meant + we never shared past_intervals in this case and the peer would have to + chew through a potentially large number of maps if the PG has not been + clean recently. + + Fix by checking dne() prior to the backfill block. We still need to fill + in the message later because it isn't yet instantiated. + + Fixes: #2849 + Signed-off-by: Sage Weil + Reviewed-by: Yehuda Sadeh + +commit 87b6e8045a3a1ff6439d2684e960ad0dc8988b33 +Merge: 81d72e5 7dfdf4f +Author: Sage Weil +Date: Thu Jul 26 15:04:12 2012 -0700 + + Merge remote-tracking branch 'gh/wip-rbd-bid' into stable-next + +commit 81d72e5d7ba4713eb7c290878d901e21c0709028 +Author: Sage Weil +Date: Mon Jul 23 10:47:10 2012 -0700 + + mon: make 'ceph osd rm ...' wipe out all state bits, not just EXISTS + + This ensures that when a new osd reclaims that id it behaves as if it were + really new. + + Backport: argonaut + Signed-off-by: Sage Weil + +commit ad9c37f2c029f6eb372efb711b234014397057e9 +Author: Sage Weil +Date: Mon Jul 9 20:54:19 2012 -0700 + + test_stress_watch: just one librados instance + + This was creating a new cluster connection/session per iteration, and + along with it a few service threads and sockets and so forth. + + Unfortunately, librados leaks like a sieve, starting with CephContext + and ceph::crypto::init(). See #845 and #2067. + + Signed-off-by: Sage Weil + +commit c60afe1842a48dd75944822c0872fce6a7229f5a +Merge: 8833050 35b1326 +Author: Sage Weil +Date: Thu Jul 26 15:03:50 2012 -0700 + + Merge commit '35b13266923f8095650f45562d66372e618c8824' into stable-next + + First batch of msgr fixes. + +commit 88330505cc772a5528e9405d515aa2b945b0819e +Author: Samuel Just +Date: Mon Jul 9 15:53:31 2012 -0700 + + ReplicatedPG: fix replay op ordering + + After a client reconnect, the client replays outstanding ops. The + OSD then immediately responds with success if the op has already + committed (version < ReplicatedPG::get_first_in_progress). + Otherwise, we stick it in waiting_for_ondisk to be replied to when + eval_repop concludes that waitfor_disk is empty. + + Fixes #2508 + + Signed-off-by: Samuel Just + + Conflicts: + + src/osd/ReplicatedPG.cc + +commit 682609a9343d0488788b1c6b03bc437b7905e4d6 +Author: Sage Weil +Date: Wed Jul 18 12:55:35 2012 -0700 + + objecter: always resend linger registrations + + If a linger op (watch) is sent to the OSD and updates the object, and then + the client loses the reply, it will resend the request. The OSD will see + that it is a dup, however, and not set up the in-memory session state for + the watch. This in turn will break the watch (i.e., notifies won't + get delivered). + + Instead, always resend linger registration ops, so that we always have a + unique reqid and do the correct session registeration for each session. + + * track the tid of the registation op for each LingerOp + * mark registrations ops as should_resend=false; cancel as needed + * when we send a new registration op, cancel the old one to ensure we + ignore the reply. This is needed becuase we resend linger ops on any + pg change, not just a primary change. + * drop the first_send arg to send_linger(), as we can now infer that + from register_tid == 0. + + The bug was easily reproduced with ms inject socket failures = 500 and the + test_stress_watch utility. + + Fixes: #2796 + Signed-off-by: Sage Weil + Reviewed-by: Josh Durgin + +commit 4d7d3e276967d555fed8a689976047f72c96c2db +Author: Sage Weil +Date: Mon Jul 9 13:22:42 2012 -0700 + + osd: guard class call decoding + + Backport: argonaut + Signed-off-by: Sage Weil + +commit 7fbbe4652ffb2826978aa1f1cacce4456d2ef1fc +Author: Sage Weil +Date: Thu Jul 5 18:08:58 2012 -0700 + + librados: take lock when signaling notify cond + + When we are signaling the cond to indicate that a notify is complete, + take the appropriate lock. This removes the possibility of a race + that loses our signal. (That would be very difficult given that there + are network round trips involved, but this makes the lock/cond usage + "correct.") + + Signed-off-by: Sage Weil + +commit 6ed01df412b4f4745c8f427a94446987c88b6bef +Author: Sage Weil +Date: Sun Jul 22 07:46:11 2012 -0700 + + workqueue: kick -> wake or _wake, depending on locking + + Break kick() into wake() and _wake() methods, depending on whether the + lock is already held. (The rename ensures that we audit/fix all + callers.) + + Signed-off-by: Sage Weil + + Conflicts: + + src/common/WorkQueue.h + src/osd/OSD.cc + +commit d2d40dc3059d91450925534f361f2c03eec9ef88 +Author: Sage Weil +Date: Wed Jul 4 15:11:21 2012 -0700 + + client: fix locking for SafeCond users + + Need to wait on flock, not client_lock. + + Signed-off-by: Sage Weil + +commit c963a21a8620779d97d6cbb51572551bdbb50d0b +Author: Sage Weil +Date: Thu Jul 26 15:01:05 2012 -0700 + + filestore: check for EIO in read path + + Check for EIO in read methods and helpers. Try to do checks in low-level + methods (e.g., lfn_*()) to avoid duplication in higher-level methods. + + The transaction apply function already checks for EIO on writes, and will + generate a nicer error message, so we can largely ignore the write path, + as long as errors get passed up correctly. + + Signed-off-by: Sage Weil + +commit 6bd89aeb1bf3b1cbb663107ae6bcda8a84dd8601 +Author: Sage Weil +Date: Thu Jul 26 09:07:46 2012 -0700 + + filestore: add 'filestore fail eio' option, default true + + By default we will assert/fail/crash on EIO from the underlying fs. We + already do this in the write path, but not the read path, or in various + internal infrastructure. + + Signed-off-by: Sage Weil + +commit e9b5a289838f17f75efbf9d1640b949e7485d530 +Author: Sage Weil +Date: Tue Jul 24 13:53:03 2012 -0700 + + config: fix 'config set' admin socket command + + Fixes: #2832 + Backport: argonaut + Signed-off-by: Sage Weil + +commit 1a6cd9659abcdad0169fe802ed47967467c448b3 +Author: Sage Weil +Date: Wed Jul 25 16:35:09 2012 -0700 + + osd: break potentially large transaction into pieces + + We do a similar trick elsewhere. Control this via a tunable. Eventually + we'll control the others (in a non-stable branch). + + Signed-off-by: Sage Weil + +commit 15e1622959f5a46f7a98502cdbaebfda2247a35b +Author: Sage Weil +Date: Wed Jul 25 14:53:34 2012 -0700 + + osd: only commit past intervals at end of parallel build + + We don't check for gaps in the past intervals, so we should only commit + this when we are completely done. Otherwise a partial run and rsetart will + leave the gap in place, which may confuse the peering code that relies on + this information. + + Signed-off-by: Sage Weil + +commit 16302acefd8def98fc4597366d6ba2845e17fcb6 +Author: Sage Weil +Date: Wed Jul 25 10:57:35 2012 -0700 + + osd: generate past intervals in parallel on boot + + Even though we aggressively share past_intervals with notifies etc, it is + still possible for an osd to get buried behind a pile of old maps and need + to generate these if it has been out of the cluster for a while. This has + happened to us in the past but, sadly, we did not merge the work then. + On the bright side, this implementation is much much much cleaner than the + old one because of the pg_interval_t helper we've since switched to. + + On bootup, we look at the intervals each pg needs and calclate the union, + and then iterate over that map range. The inner bit of the loop is + functionally identical to PG::build_past_intervals(), keeping the per-pg + state in the pistate struct. + + Backport: argonaut + Signed-off-by: Sage Weil + Reviewed-by: Yehuda Sadeh + Reviewed-by: Josh Durgin + +commit fca65ff52a5f7d49bcac83b3b2232963a879e446 +Author: Sage Weil +Date: Wed Jul 25 10:58:07 2012 -0700 + + osd: move calculation of past_interval range into helper + + PG::generate_past_intervals() first calculates the range over which it + needs to generate past intervals. Do this in a helper function. + + Signed-off-by: Sage Weil + Reviewed-by: Yehuda Sadeh + Reviewed-by: Josh Durgin + +commit 5979351ef3d3d03bced9286f79cbc22524c4a8de +Author: Sage Weil +Date: Wed Jul 25 10:58:28 2012 -0700 + + osd: fix map epoch boot condition + + We only want to join the cluster if we can catch up to the latest + osdmap with a small number of maps, in this case a single map message. + + Backport: argonaut + Signed-off-by: Sage Weil + Reviewed-by: Yehuda Sadeh + +commit 8c7186d02627f8255273009269d50955172efb52 +Author: Sage Weil +Date: Tue Jul 24 20:18:01 2012 -0700 + + mon: ignore pgtemp messages from down osds + + Signed-off-by: Sage Weil + +commit b17f54671f350fd4247f895f7666d46860736728 +Author: Sage Weil +Date: Tue Jul 24 20:16:04 2012 -0700 + + mon: ignore osd_alive messages from down osds + + Signed-off-by: Sage Weil + +commit 7dfdf4f8de16155edd434534e161e06ba7c79d7d +Author: Josh Durgin +Date: Mon Jul 23 14:05:53 2012 -0700 + + librbd: replace assign_bid with client id and random number + + The assign_bid method has issues with replay because it is a write + that also returns data. This means that the replayed operation would + return success, but no data, and cause a create to fail. Instead, let + the client set the bid based on its global id and a random number. + + This only affects the creation of new images, since the bid is put + into an opaque string as part of the object prefix. + + Keep the server side assign_bid around in case there are old clients + still using it. + + Signed-off-by: Josh Durgin + +commit dc2d67112163bee8b111f75ae3e3ca42884b09b4 +Author: Dan Mick +Date: Mon Jul 9 14:11:23 2012 -0700 + + librados: add new constructor to form a Rados object from IoCtx + + This creates a separate reference to an existing connection, for + use when a client holding IoCtx needs to consult another (say, + for rbd cloning) + + Signed-off-by: Dan Mick + Reviewed-by: Josh Durgin + +commit c99671201de9d9cdf03bbf0f4e28e8afb70c280c +Author: Sage Weil +Date: Wed Jul 18 19:49:58 2012 -0700 + + add CRUSH_TUNABLES feature bit + + Signed-off-by: Sage Weil + +commit 0b579546cfddec35095b2aec753028d8e63f3533 +Author: Josh Durgin +Date: Wed Jul 18 10:24:58 2012 -0700 + + ObjectCacher: fix cache_bytes_hit accounting + + Misses are not hits! + + Signed-off-by: Josh Durgin + +commit 2869039b79027e530c2863ebe990662685e4bbe6 +Author: Pascal de Bruijn | Unilogic Networks B.V +Date: Wed Jul 11 15:23:16 2012 +0200 + + Robustify ceph-rbdnamer and adapt udev rules + + Below is a patch which makes the ceph-rbdnamer script more robust and + fixes a problem with the rbd udev rules. + + On our setup we encountered a symlink which was linked to the wrong rbd: + + /dev/rbd/mypool/myrbd -> /dev/rbd1 + + While that link should have gone to /dev/rbd3 (on which a + partition /dev/rbd3p1 was present). + + Now the old udev rule passes %n to the ceph-rbdnamer script, the problem + with %n is that %n results in a value of 3 (for rbd3), but in a value of + 1 (for rbd3p1), so it seems it can't be depended upon for rbdnaming. + + In the patch below the ceph-rbdnamer script is made more robust and it + now it can be called in various ways: + + /usr/bin/ceph-rbdnamer /dev/rbd3 + /usr/bin/ceph-rbdnamer /dev/rbd3p1 + /usr/bin/ceph-rbdnamer rbd3 + /usr/bin/ceph-rbdnamer rbd3p1 + /usr/bin/ceph-rbdnamer 3 + + Even with all these different styles of calling the modified script, it + should now return the same rbdname. This change "has" to be combined + with calling it from udev with %k though. + + With that fixed, we hit the second problem. We ended up with: + + /dev/rbd/mypool/myrbd -> /dev/rbd3p1 + + So the rbdname was symlinked to the partition on the rbd instead of the + rbd itself. So what probably went wrong is udev discovering the disk and + running ceph-rbdnamer which resolved it to myrbd so the following + symlink was created: + + /dev/rbd/mypool/myrbd -> /dev/rbd3 + + However partitions would be discovered next and ceph-rbdnamer would be + run with rbd3p1 (%k) as parameter, resulting in the name myrbd too, with + the previous correct symlink being overwritten with a faulty one: + + /dev/rbd/mypool/myrbd -> /dev/rbd3p1 + + The solution to the problem is in differentiating between disks and + partitions in udev and handling them slightly differently. So with the + patch below partitions now get their own symlinks in the following style + (which is fairly consistent with other udev rules): + + /dev/rbd/mypool/myrbd-part1 -> /dev/rbd3p1 + + Please let me know any feedback you have on this patch or the approach + used. + + Regards, + Pascal de Bruijn + Unilogic B.V. + + Signed-off-by: Pascal de Bruijn + Signed-off-by: Josh Durgin + +commit 426384f6beccabf9e9b9601efcb8147904ec97c2 +Author: Sage Weil +Date: Mon Jul 16 16:02:14 2012 -0700 + + log: apply log_level to stderr/syslog logic + + In non-crash situations, we want to make sure the message is both below the + syslog/stderr threshold and also below the normal log threshold. Otherwise + we get anything we gather on those channels, even when the log level is + low. + + Signed-off-by: Sage Weil + +commit 8dafcc5c1906095cb7d15d648a7c1d7524df3768 +Author: Sage Weil +Date: Mon Jul 16 15:40:53 2012 -0700 + + log: fix event gather condition + + We should gather an event if it is below the log or gather threshold. + + Previously we were only gathering if we were going to print it, which makes + the dump no more useful than what was already logged. + + Signed-off-by: Sage Weil + +commit ec5cd6def9817039704b6cc010f2797a700d8500 +Author: Samuel Just +Date: Mon Jul 16 13:11:24 2012 -0700 + + PG::RecoveryState::Stray::react(LogEvt&): reset last_pg_scrub + + We need to reset the last_pg_scrub data in the osd since we + are replacing the info. + + Probably fixes #2453 + + In cases like 2453, we hit the following backtrace: + + 0> 2012-05-19 17:24:09.113684 7fe66be3d700 -1 osd/OSD.h: In function 'void OSD::unreg_last_pg_scrub(pg_t, utime_t)' thread 7fe66be3d700 time 2012-05-19 17:24:09.095719 + osd/OSD.h: 840: FAILED assert(last_scrub_pg.count(p)) + + ceph version 0.46-313-g4277d4d (commit:4277d4d3378dde4264e2b8d211371569219c6e4b) + 1: (OSD::unreg_last_pg_scrub(pg_t, utime_t)+0x149) [0x641f49] + 2: (PG::proc_primary_info(ObjectStore::Transaction&, pg_info_t const&)+0x5e) [0x63383e] + 3: (PG::RecoveryState::ReplicaActive::react(PG::RecoveryState::MInfoRec const&)+0x4a) [0x633eda] + 4: (boost::statechart::detail::reaction_result boost::statechart::simple_state, (boost::statechart::history_mode)0>::local_react_impl_non_empty::local_react_impl, boost::statechart::custom_reaction, boost::statechart::custom_reaction >, boost::statechart::simple_state, (boost::statechart::history_mode)0> >(boost::statechart::simple_state, (boost::statechart::history_mode)0>&, boost::statechart::event_base const&, void const*)+0x130) [0x6466a0] + 5: (boost::statechart::simple_state, (boost::statechart::history_mode)0>::react_impl(boost::statechart::event_base const&, void const*)+0x81) [0x646791] + 6: (boost::statechart::state_machine, boost::statechart::null_exception_translator>::send_event(boost::statechart::event_base const&)+0x5b) [0x63dfcb] + 7: (boost::statechart::state_machine, boost::statechart::null_exception_translator>::process_event(boost::statechart::event_base const&)+0x11) [0x63e0f1] + 8: (PG::RecoveryState::handle_info(int, pg_info_t&, PG::RecoveryCtx*)+0x177) [0x616987] + 9: (OSD::handle_pg_info(std::tr1::shared_ptr)+0x665) [0x5d3d15] + 10: (OSD::dispatch_op(std::tr1::shared_ptr)+0x2a0) [0x5d7370] + 11: (OSD::_dispatch(Message*)+0x191) [0x5dd4a1] + 12: (OSD::ms_dispatch(Message*)+0x153) [0x5ddda3] + 13: (SimpleMessenger::dispatch_entry()+0x863) [0x77fbc3] + 14: (SimpleMessenger::DispatchThread::entry()+0xd) [0x746c5d] + 15: (()+0x7efc) [0x7fe679b1fefc] + 16: (clone()+0x6d) [0x7fe67815089d] + NOTE: a copy of the executable, or `objdump -rdS ` is needed to interpret this. + + Because we don't clear the scrub state before reseting info, + the last_scrub_stamp state in the info.history structure + changes without updating the osd state resulting in the + above assert failure. + + Backport: stable + + Signed-off-by: Samuel Just + +commit 248cfaddd0403c7bae8e1533a3d2e27d1a335b9b +Author: Samuel Just +Date: Mon Jul 9 17:57:03 2012 -0700 + + ReplicatedPG: don't warn if backfill peer stats don't match + + pinfo.stats might be wrong if we did log-based recovery on the + backfilled portion in addition to continuing backfill. + + bug #2750 + + Signed-off-by: Samuel Just + +commit bcb1073f9171253adc37b67ee8d302932ba1667b +Author: Sage Weil +Date: Sun Jul 15 20:30:34 2012 -0700 + + mon/MonitorStore: always O_TRUNC when writing states + + It is possible for a .new file to already exist, potentially with a + larger size. This would happen if: + + - we were proposing a different value + - we crashed (or were stopped) before it got renamed into place + - after restarting, a different value was proposed and accepted. + + This isn't so unlikely for the log state machine, where we're + aggregating random messages. O_TRUNC ensure we avoid getting the tail + end of some previous junk. + + I observed #2593 and found that a logm state value had a larger size on + one mon (after slurping) than the others, pointing to put_bl_sn_map(). + + While we are at it, O_TRUNC put_int() too; the same type of bug is + possible there, too. + + Fixes: #2593 + Signed-off-by: Sage Weil + +commit 41a570778a51fe9a36a5b67a177d173889e58363 +Author: Sage Weil +Date: Sat Jul 14 14:31:34 2012 -0700 + + osd: based misdirected op role calc on acting set + + We want to look at the acting set here, nothing else. This was causing us + to erroneously queue ops for later (wasting memory) and to erroneously + print out a 'misdrected op' message in the cluster log (confusion and + incorrect [but ignored] -ENXIO reply). + + Fixes: #2022 + Signed-off-by: Sage Weil + +commit b3d077c61e977e8ebb91288aa2294fb21c197fe7 +Author: Josh Durgin +Date: Fri Jul 13 09:42:20 2012 -0700 + + qa: download tests from specified branch + + These python tests aren't installed, so they need to be downloaded + + Signed-off-by: Josh Durgin + +commit e855cb247b5a9eda6845637e2da5b6358f69c2ed +Author: Yehuda Sadeh +Date: Mon Jun 25 09:47:37 2012 -0700 + + rgw: don't override subuser perm mask if perm not specified + + Bug #2650. We were overriding subuser perm mask whenever subuser + was modified, even if perm mask was not passed. + + Signed-off-by: Yehuda Sadeh + +commit d6c766ea425d87a2f2405c08dcec66f000a4e1a0 +Author: James Page +Date: Wed Jul 11 11:34:21 2012 -0700 + + debian: fix ceph-fs-common-dbg depends + + Signed-off-by: James Page + +commit 95e8d87bc3fb12580e4058401674b93e19df6e02 +Author: Yehuda Sadeh +Date: Wed Jul 11 11:52:24 2012 -0700 + + rados tool: remove -t param option for target pool + + Bug #2772. This fixes an issue that was introduced when we + added the 'rados cp' command. The -t param was already used + for rados bench. With this change the only way to specify + a target pool is using --target-pool. + Though this problem is post argonaut, the 'rados cp' command + has been backported, so we need this fix there too. + + Backport: argonaut + + Signed-off-by: Yehuda Sadeh + +commit 5b10778399d5bee602e57035df7d40092a649c06 +Author: Sage Weil +Date: Wed Jul 11 09:19:00 2012 -0700 + + Makefile: don't install crush headers + + This is leftover from when we built a libcrush.so. We can re-add when we + start doing that again. + + Reported-by: Laszlo Boszormenyi + Signed-off-by: Sage Weil + +commit 35b13266923f8095650f45562d66372e618c8824 +Author: Sage Weil +Date: Tue Jul 10 13:18:27 2012 -0700 + + msgr: take over existing Connection on Pipe replacement + + If a new pipe/socket is taking over an existing session, it should also + take over the Connection* associated with the existing session. Because + we cannot clear existing->connection_state, we just take another reference. + + Clean up the comments a bit while we're here. + + This affects MDS<->client sessions when reconnecting after a socket fault. + It probably also affects intra-cluster (osd/osd, mds/mds, mon/mon) + sessions as well, but I did not confirm that. + + Backport: argonaut + Signed-off-by: Sage Weil + +commit b387077b1d019ee52b28bc3bc5305bfb53dfd892 +Author: Sage Weil +Date: Sun Jul 8 20:33:12 2012 -0700 + + debian: include librados-config in librados-dev + + Reported-by: Laszlo Boszormenyi + Signed-off-by: Sage Weil + +commit 03c2dc244af11b711e2514fd5f32b9bfa34183f6 +Author: Sage Weil +Date: Tue Jul 3 13:04:28 2012 -0700 + + lockdep: increase max locks + + Hit this limit with the rados api tests. + + Signed-off-by: Sage Weil + +commit b554d112c107efe78ec64f85b5fe588f1e7137ce +Author: Sage Weil +Date: Tue Jul 3 12:07:28 2012 -0700 + + config: add unlocked version of get_my_sections; use it internally + + Signed-off-by: Sage Weil + +commit 01da287b8fdc07262be252f1a7c115734d3cc328 +Author: Sage Weil +Date: Tue Jul 3 08:20:06 2012 -0700 + + config: fix lock recursion in get_val_from_conf_file() + + Introduce a private, already-locked version. + + Signed-off-by: Sage Weil + +commit c73c64a0f722477a5b0db93da2e26e313a5f52ba +Author: Sage Weil +Date: Tue Jul 3 08:15:08 2012 -0700 + + config: fix recursive lock in parse_config_files() + + The _impl() helper is only called from parse_config_files(); don't retake + the lock. + + Signed-off-by: Sage Weil + +commit 6646e891ff0bd31c935d1ce0870367b1e086ddfd +Author: Sage Weil +Date: Tue Jul 3 18:51:02 2012 -0700 + + rgw: initialize fields of RGWObjEnt + + This fixes various valgrind warnings triggered by the s3test + test_object_create_unreadable. + + Signed-off-by: Sage Weil + +commit b33553aae63f70ccba8e3d377ad3068c6144c99a +Author: Yehuda Sadeh +Date: Fri Jul 6 13:14:53 2012 -0700 + + rgw: handle response-* params + + Handle response-* params that set response header field values. + Fixes #2734, #2735. + Backport: argonaut + + Signed-off-by: Yehuda Sadeh + +commit 74f687501a8a02ef248a76f061fbc4d862a9abc4 +Author: Sage Weil +Date: Wed Jul 4 13:59:04 2012 -0700 + + osd: add missing formatter close_section() to scrub status + + Also add braces to make the open/close matchups easier to see. Broken + by f36617392710f9b3538bfd59d45fd72265993d57. + + Signed-off-by: Sage Weil + +commit 020b29961303b12224524ddf78c0c6763a61242e +Author: Mike Ryan +Date: Wed Jun 27 14:14:30 2012 -0700 + + pg: report scrub status + + Signed-off-by: Mike Ryan + +commit db6d83b3ed51c07b361b27d2e5ce3227a51e2c60 +Author: Mike Ryan +Date: Wed Jun 27 13:30:45 2012 -0700 + + pg: track who we are waiting for maps from + + Signed-off-by: Mike Ryan + +commit e1d4855fa18b1cda85923ad9debd95768260d4eb +Author: Mike Ryan +Date: Tue Jun 26 16:25:27 2012 -0700 + + pg: reduce scrub write lock window + + Wait for all replicas to construct the base scrub map before finalizing + the scrub and locking out writes. + + Signed-off-by: Mike Ryan + +commit 27409aa1612c1512bf393de22b62bbfe79b104c1 +Author: Yehuda Sadeh +Date: Thu Jul 5 15:52:51 2012 -0700 + + rgw: don't store bucket info indexed by bucket_id + + Issue #2701. This info wasn't really used anywhere and we weren't + removing it. It was also sharing the same pool namespace as the + info indexed by bucket name, which is bad. + + Signed-off-by: Yehuda Sadeh + +commit 9814374a2b40e15c13eb03ce6b8e642b0f7f93e4 +Author: Yehuda Sadeh +Date: Thu Jul 5 14:59:22 2012 -0700 + + test_rados_tool.sh: test copy pool + + Signed-off-by: Yehuda Sadeh + +commit d75100667a539baf47c79d752b787ed5dcb51d7a +Author: Yehuda Sadeh +Date: Thu Jul 5 13:42:23 2012 -0700 + + rados tool: copy object in chunks + + Instead of reading the entire object and then writing it, + we read it in chunks. + + Signed-off-by: Yehuda Sadeh + +commit 16ea64fbdebb7a74e69e80a18d98f35d68b8d9a1 +Author: Yehuda Sadeh +Date: Fri Jun 29 14:43:00 2012 -0700 + + rados tool: copy entire pool + + A new rados tool command that copies an entire pool + into another existing pool. + + Signed-off-by: Yehuda Sadeh + +commit 960c2124804520e81086df97905a299c8dd4e08c +Author: Yehuda Sadeh +Date: Fri Jun 29 14:09:08 2012 -0700 + + rados tool: copy object + + New rados command: rados cp [dest-obj] + + Requires specifying source pool. Target pool and locator can be specified. + The new command preserves object xattrs and omap data. + + Signed-off-by: Yehuda Sadeh + +commit 23d31d3e2aa7f2b474a7b8e9d40deb245d8be9de +Author: Sage Weil +Date: Fri Jul 6 08:47:44 2012 -0700 + + ceph.spec.in: add ceph-disk-{activate,prepare} + + Reported-by: Jimmy Tang + Signed-off-by: Sage Weil + +commit ea11c7f9d8fd9795e127cfd7e8a1f28d4f5472e9 +Author: Wido den Hollander +Date: Thu Jul 5 15:29:54 2012 +0200 + + Allow URL-safe base64 cephx keys to be decoded. + + In these cases + and / are replaced by - and _ to prevent problems when using + the base64 strings in URLs. + + Signed-off-by: Wido den Hollander + Signed-off-by: Sage Weil + +commit f67fe4e368b5f250f0adfb183476f5f294e8a529 +Author: Wido den Hollander +Date: Wed Jul 4 15:46:04 2012 +0200 + + librados: Bump the version to 0.48 + + Signed-off-by: Wido den Hollander + Signed-off-by: Sage Weil + +commit 35b9ec881aecf84b3a49ec0395d7208de36dc67d +Author: Yehuda Sadeh +Date: Tue Jun 26 17:28:51 2012 -0700 + + rgw-admin: use correct modifier with strptime + + Bug #2658: used %I (12h) instead of %H (24h) + + Signed-off-by: Yehuda Sadeh + +commit da251fe88503d32b86113ee0618db7c446d34853 +Author: Yehuda Sadeh +Date: Thu Jun 21 15:40:27 2012 -0700 + + rgw: send both swift x-storage-token and x-auth-token + + older clients need x-storage-token, newer x-auth-token + + Signed-off-by: Yehuda Sadeh + +commit 4c19ecb9a34e77e71d523a0a97e17f747bd5767d +Author: Yehuda Sadeh +Date: Thu Jun 21 15:17:19 2012 -0700 + + rgw: radosgw-admin date params now also accept time + + The date format now is "YYYY-MM-DD[ hh:mm:ss]". Got rid of + the --time param for the old ops log stuff. + + Signed-off-by: Yehuda Sadeh + + Conflicts: + + src/test/cli/radosgw-admin/help.t + +commit 6958aeb898fc683159483bfbb798f069a9b5330a +Author: Yehuda Sadeh +Date: Thu Jun 21 13:14:47 2012 -0700 + + rgw-admin: fix usage help + + s/show/trim + + Signed-off-by: Yehuda Sadeh + +commit 83c043f803ab2ed74fa9a84ae9237dd7df2a0c57 +Author: Sage Weil +Date: Tue Jul 3 14:07:16 2012 -0700 + + radosgw-admin: fix clit test + + Signed-off-by: Sage Weil + +commit 5674158163e9c1d50985796931240b237676b74d +Author: Sage Weil +Date: Tue Jul 3 11:32:57 2012 -0700 + + ceph: fix cli help test + + Signed-off-by: Sage Weil + +commit 151bf0eef59acae2d1fcf3f0feb8b6aa963dc2f6 +Author: Samuel Just +Date: Tue Jul 3 11:23:16 2012 -0700 + + ReplicatedPG: remove faulty scrub assert in sub_op_modify_applied + + This assert assumed that all ops submitted before MOSDRepScrub was + submitted were processed by the time that MOSDRepScrub was + processed. In fact, MOSDRepScrub's scrub_to may refer to a + last_update yet to be seen by the replica. + + Bug #2693 + + Signed-off-by: Samuel Just + +commit 32833e88a1ad793fa4be86101ce9c22b6f677c06 +Author: Kyle Bader +Date: Tue Jul 3 11:20:38 2012 -0700 + + ceph: better usage + + Signed-off-by: Kyle Bader + +commit 67455c21879c9c117f6402259b5e2da84524e169 +Author: Sage Weil +Date: Tue Jul 3 09:20:35 2012 -0700 + + debian: strip new ceph-mds package + + Reported-by: Amon Ott + Signed-off-by: Sage Weil + +commit b53cdb97d15f9276a9b26bec9f29034149f93358 +Author: Sage Weil +Date: Tue Jul 3 06:46:10 2012 -0700 + + config: remove bad argparse_flag argument in parse_option() + + This is wrong, and thankfully valgrind picks it up. + + Signed-off-by: Sage Weil + +commit f7d4e39740fd2afe82ac40c711bd3fe7a282e816 +Author: Sage Weil +Date: Sun Jul 1 17:23:28 2012 -0700 + + msgr: restart_queue when replacing existing pipe and taking over the queue + + The queue may have been previously stopped (by discard_queue()), and needs + to be restarted. + + Fixes consistent failures from the mon_recovery.py integration tests. + + Signed-off-by: Sage Weil + +commit 5dfd2a512d309f7f641bcf7c43277f08cf650b01 +Author: Sage Weil +Date: Sun Jul 1 15:37:31 2012 -0700 + + msgr: choose incoming connection if ours is STANDBY + + If the connect_seq matches, but our existing connection is in STANDBY, take + the incoming one. Otherwise, the other end will wait indefinitely for us + to connect but we won't. + + Alternatively, we could "win" the race and trigger a connection by sending + a keepalive (or similar), but that is more work; we may as well accept the + incoming connection we have now. + + This removes STANDBY from the acceptable WAIT case states. It also keeps + responsibility squarely on the shoulders of the peer with something to + deliver. + + Without this patch, a 3-osd vstart cluster with + 'ms inject socket failures = 100' and rados bench write -b 4096 would start + generating slow request warnings after a few minutes due to the osds + failing to connect to each other. With the patch, I complete a 10 minute + run without problems. + + Signed-off-by: Sage Weil + +commit b7007a159f6d941fa8313a24af5810ce295b36ca +Author: Sage Weil +Date: Thu Jun 28 17:50:47 2012 -0700 + + msgr: preserve incoming message queue when replacing pipes + + If we replace an existing pipe with a new one, move the incoming queue + of messages that have not yet been dispatched over to the new Pipe so that + they are not lost. This prevents messages from being lost. + + Alternatively, we could set in_seq = existing->in_seq - existing->in_qlen, + but that would make the other end resend those messages, which is a waste + of bandwidth. + + Very easy to reproduce the original bug with 'ms inject socket failures'. + + Signed-off-by: Sage Weil + +commit 1f3a722e150f9f27fe7919e9579b5a88dcd15639 +Author: Sage Weil +Date: Thu Jun 28 17:45:24 2012 -0700 + + msgr: move dispatch_entry into DispatchQueue class + + A bit cleaner. + + Signed-off-by: Sage Weil + +commit 03445290dad5b1213dd138cacf46e379400201c9 +Author: Sage Weil +Date: Thu Jun 28 17:38:34 2012 -0700 + + msgr: move incoming queue to separate class + + This extricates the incoming queue and its funky relationship with + DispatchQueue from Pipe and moves it into IncomingQueue. There is now a + single IncomingQueue attached to each Pipe. DispatchQueue is now no + longer tied to Pipe. + + This modularizes the code a bit better (tho that is still a work in + progress) and (more importantly) will make it possible to move the + incoming messages from one pipe to another in accept(). + + Signed-off-by: Sage Weil + +commit 0dbc54169512da776c16161ec3b8fa0b3f08e248 +Author: Sage Weil +Date: Wed Jun 27 17:06:40 2012 -0700 + + msgr: make D_CONNECT constant non-zero, fix ms_handle_connect() callback + + A while ago we inadvertantly broke ms_handle_connect() callbacks because + of a check for m being non-zero in the dispatch_entry() thread. Adjust the + enums so that they get delivered again. + + This fixes hangs when, for example, the ceph tool sends a command, gets a + connection reset, and doesn't get the connect callback to resend after + reconnecting to a new monitor. + + Signed-off-by: Sage Weil + +commit 2429556a51e8f60b0d9bdee71ef7b34b367f2f38 +Author: Sage Weil +Date: Tue Jun 26 17:10:40 2012 -0700 + + msgr: fix pipe replacement assert + + We may replace an existing pipe in the STANDBY state if the previous + attempt failed during accept() (see previous patches). + + This might fix #1378. + + Signed-off-by: Sage Weil + +commit 204bc594be1a6046d1b362693d086b49294c2a27 +Author: Sage Weil +Date: Tue Jun 26 17:07:31 2012 -0700 + + msgr: do not try to reconnect con with CLOSED pipe + + If we have a con with a closed pipe, drop the message. For lossless + sessions, the state will be STANDBY if we should reconnect. For lossy + sessions, we will end up with CLOSED and we *should* drop the message. + + Signed-off-by: Sage Weil + +commit e6ad6d25a58b8e34a220d090d01e26293c2437b4 +Author: Sage Weil +Date: Tue Jun 26 17:06:41 2012 -0700 + + msgr: move to STANDBY if we replace during accept and then fail + + If we replace an existing pipe during accept() and then fail, move to + STANDBY so that our connection state (connect_seq, etc.) is preserved. + Otherwise, we will throw out that information and falsely trigger a + RESETSESSION on the next connection attempt. + + Signed-off-by: Sage Weil diff --git a/doc/changelog/v0.48.2argonaut.txt b/doc/changelog/v0.48.2argonaut.txt new file mode 100644 index 00000000..2884e60d --- /dev/null +++ b/doc/changelog/v0.48.2argonaut.txt @@ -0,0 +1,476 @@ +commit 3e02b2fad88c2a95d9c0c86878f10d1beb780bfe +Author: Sage Weil +Date: Tue Sep 11 13:04:50 2012 -0700 + + v0.48.2argonaut + +commit 343e607980c923324de241d2cf8396d7c4857dd8 +Author: Yehuda Sadeh +Date: Tue Sep 18 13:45:27 2012 -0700 + + cls_rgw: if stats drop below zero, set them to zero + + This complements fix for #3127. This is only a band aid + solution for argonaut, the real solution fixes the original + issue that made this possible. + + Signed-off-by: Yehuda Sadeh + +commit 92be908c7f22c0ccf2092024fd54096362032394 +Author: Yehuda Sadeh +Date: Wed Sep 12 16:41:17 2012 -0700 + + cls_rgw: change scoping of suggested changes vars + + Fixes: #3127 + Bad variable scoping made it so that specific variables + weren't initialized between suggested changes iterations. + This specifically affected a case where in a specific + change we had an updated followed by a remove, and the + remove was on a non-existent key (e.g., was already + removed earlier). We ended up re-substracting the + object stats, as the entry wasn't reset between + the iterations (and we didn't read it because the + key didn't exist). + + backport:argonaut + Signed-off-by: Yehuda Sadeh + +commit d3a8497b44296484fa18ac10e776c93701365a8b +Author: Sage Weil +Date: Tue Sep 4 11:29:21 2012 -0700 + + objecter: fix osdmap wait + + When we get a pool_op_reply, we find out which osdmap we need to wait for. + The wait_for_new_map() code was feeding that epoch into + maybe_request_map(), which was feeding it to the monitor with the subscribe + request. However, that epoch is the *start* epoch, not what we want. Fix + this code to always subscribe to what we have (+1), and ensure we keep + asking for more until we catch up to what we know we should eventually + get. + + Bug: #3075 + Signed-off-by: Sage Weil + Reviewed-by: Josh Durgin + (cherry picked from commit e09b26555c6132ffce08b565780a39e4177cbc1c) + +commit de026f31f7f31c2b79c41910b83570f052f354d5 +Author: Sage Weil +Date: Mon Aug 27 07:38:34 2012 -0700 + + objecter: send queued requests when we get first osdmap + + If we get our first osdmap and already have requests queued, send them. + + Backported from 8d1efd1b829ae50eab7f7f4c07da04e03fce7c45. + + Fixes: #3050 + Signed-off-by: Sage Weil + +commit 379aa80ac3a313025e433cefd239ddbeec45f9e7 +Author: Sage Weil +Date: Tue Aug 21 21:12:33 2012 -0700 + + objecter: use ordered map<> for tracking tids to preserve order on resend + + We are using a hash_map<> to map tids to Op*'s. In handle_osd_map(), + we will recalc_op_target() on each Op in a random (hash) order. These + will get put in a temp map to ensure they are resent in the + correct order, but their order on the session->ops list will be random. + + Then later, if we reset an OSD connection, we will resend everything for + that session in ops order, which is be incorrect. + + Fix this by explicitly reordering the requests to resend in + kick_requests(), much like we do in handle_osd_map(). This lets us + continue to use a hash_map<>, which is faster for reasonable numbers of + requests. A simpler but slower fix would be to just use map<> instead. + + This is one of many bugs contributing to #2947. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 1113a6c56739a56871f01fa13da881dab36a32c4) + +commit 54788d0da40608fb8ccf8f16039536729881d542 +Author: Dan Mick +Date: Mon Aug 20 15:02:57 2012 -0700 + + rbd: force all exiting paths through main()/return + + This properly destroys objects. In the process, remove usage_exit(); + also kill error-handling in set_conf_param (never relevant for rbd.cc, + and if you call it with both pointers NULL, well...) + Also switch to EXIT_FAILURE for consistency. + + Backported from fed8aea662bf919f35a5a72e4e2a2a685af2b2ed. + + Signed-off-by: Dan Mick + Reviewed-by: Josh Durgin + Fixes: #2948 + +commit a179ccee8848fe9bc8d622cba13fab1a99f6eb63 +Author: Josh Durgin +Date: Tue Sep 18 09:37:44 2012 -0700 + + rbd: only open the destination pool for import + + Otherwise importing into another pool when the default pool, rbd, + doesn't exist results in an error trying to open the rbd pool. + + Reported-by: Sébastien Han + Signed-off-by: Josh Durgin + +commit 16aca749989b006f4d5d2190ed1e8480c1bf0282 +Author: Tommi Virtanen +Date: Mon Sep 17 08:55:14 2012 -0700 + + ceph-disk-activate, upstart: Use "initctl emit" to start OSDs. + + This avoids an error if the daemon was running already, and is + already being done with the other services. + + Signed-off-by: Tommi Virtanen + +commit 34d8eec9e23edec174a96d16bf42a0b8df118183 +Author: Josh Durgin +Date: Fri Sep 14 17:13:57 2012 -0700 + + rbd: make --pool/--image args easier to understand for import + + There's no need to set the default pool in set_pool_image_name - this + is done later, in a way that doesn't ignore --pool if --dest-pool + is not specified. + + This means --pool and --image can be used with import, just like + the rest of the commands. Without this change, --dest and --dest-pool + had to be used, and --pool would be silently ignored for rbd import. + + Signed-off-by: Josh Durgin + +commit f390ee68233e9c6db1202aa95665adf27ba4399a +Author: Tommi Virtanen +Date: Thu Sep 13 14:06:04 2012 -0700 + + ceph-create-keys: Create a bootstrap-osd key too. + + Signed-off-by: Tommi Virtanen + +commit 9348ea0de953a4fd2eed239437d14c366c8e2cdd +Author: Tommi Virtanen +Date: Thu Sep 13 11:34:03 2012 -0700 + + ceph-create-keys: Refactor to share wait_for_quorum call. + + Signed-off-by: Tommi Virtanen + +commit c9d4c58b9d71e6d84b644376684bcb72eae7e11c +Author: Sage Weil +Date: Wed Sep 12 11:38:07 2012 -0700 + + objecter: fix skipped map handling + + If we skip a map, we want to translate NO_ACTION to NEED_RESEND, but leave + POOL_DNE alone. + + Backported from 2a3b7961c021b19a035f8a6cc4fc3cc90f88f367. + + Signed-off-by: Sage Weil + +commit d8dff93a2497bd578116eb20ed65a0595acdf341 +Author: Josh Durgin +Date: Mon Jul 30 15:19:29 2012 -0700 + + librbd, cls_rbd: close snapshot creation race with old format + + If two clients created a snapshot at the same time, the one with the + higher snapshot id might be created first, so the lower snapshot id + would be added to the snapshot context and the snaphot seq would be + set to the lower one. + + Instead of allowing this to happen, return -ESTALE if the snapshot id + is lower than the currently stored snapshot sequence number. On the + client side, get a new id and retry if this error is encountered. + + Backport: argonaut + Signed-off-by: Josh Durgin + Reviewed-by: Sage Weil + +commit 771ca71c0357bd8149677795ac934ab09945a3a3 +Author: Tommi Virtanen +Date: Tue Sep 11 16:31:57 2012 -0700 + + upstart: Give everything a stop on stanza. + + These are all tasks, and expected to exit somewhat quickly, + but e.g. ceph-create-keys has a loop where it waits for mon + to reach quorum, so it might still be in that loop when the + machine is shut down. + +commit 9f967e3ac255b0037b598061f5cbb4050db79472 +Author: Tommi Virtanen +Date: Tue Sep 11 16:28:41 2012 -0700 + + upstart: Start mds,mon,radosgw after a reboot. + + They had no "start on" stanzas, so they didn't get started earlier. + +commit ce1e7d1b0291759950abf02f5bae064994d2ec34 +Author: Tommi Virtanen +Date: Tue Sep 11 15:31:06 2012 -0700 + + upstart: Add ceph-create-keys.conf to package. + + Signed-off-by: Tommi Virtanen + +commit 0ff22ba0508d43cd78aeae6736f2db002cc8de8e +Author: Sage Weil +Date: Tue Sep 11 14:50:53 2012 -0700 + + obsync: if OrdinaryCallingFormat fails, try SubdomainCallingFormat + + This blindly tries the Subdomain calling format if the ordinary method + fails. In particular, this works around buckets that present a + PermanentRedirect message. + + See bug #3128. + + Signed-off-by: Sage Weil + Reviewed-by: Matthew Wodrich + +commit 0e58d95134dd95f33b9b1a3b1286a0719ad20707 +Author: Sage Weil +Date: Fri Aug 17 16:04:20 2012 -0700 + + librbd: add test for discard of nonexistent objects + + This verifies librbd properly handles ENOENT during discard. + + Signed-off-by: Sage Weil + +commit 97d8a734ce937ce2a683c7c36f5b72395c6456c2 +Author: Josh Durgin +Date: Mon Sep 10 13:19:53 2012 -0700 + + librbd: ignore -ENOENT during discard + + This is a backport of a3ad98a3eef062e9ed51dd2d1e58c593e12c9703 + + Signed-off-by: Josh Durgin + +commit 61d705e2d67f83c81aa7c6362ec6703e014ecb87 +Author: Sage Weil +Date: Wed Aug 15 18:42:56 2012 -0700 + + objectcacher: fix bh leak on discard + + Fixes: #2950 + Signed-off-by: Sage Weil + +commit 787a78e8b1d8e5d92ee447b970ec8b79baa46f0b +Author: Tommi Virtanen +Date: Thu Aug 30 10:16:52 2012 -0400 + + upstart, ceph-create-keys: Make client.admin key generation automatic. + + This should help simplify Chef etc deployments. Now (when using the + Upstart jobs), when a ceph-mon is started, ceph-create-admin-key is + triggered. If /etc/ceph/$cluster.client.admin.keyring already exists, + it does nothing; otherwise, it waits for ceph-mon to reach quorum, and + then does a "ceph auth get-or-create" to create the key, and writes it + atomically to disk. + + The equivalent code can be removed from the Chef cookbook once this is + in. + + Signed-off-by: Tommi Virtanen + +commit 66aecb1e410a59f3e0ed89a30212b8dc546a3d4a +Author: Tommi Virtanen +Date: Thu Aug 30 10:21:29 2012 -0400 + + config: Add a per-name default keyring to front of keyring search path. + + This lets us have e.g. /etc/ceph/ceph.client.admin.keyring that is + owned by root:admin and mode u=rw,g=r,o= without making every non-root + run of the command line tools complain and fail. + + This is what the Chef cookbook has been doing for a while already. + + Signed-off-by: Tommi Virtanen + +commit 6e34b8c109322690151b42efb745bc96a210dda4 +Author: Tommi Virtanen +Date: Thu Aug 30 10:11:09 2012 -0400 + + upstart: Make instance jobs export their cluster and id variables. + + This allows other jobs listening to Upstart "started ceph-mon" events + to see what instance started. + + Signed-off-by: Tommi Virtanen + +commit 27372dc4e99c17a7a2d5ad6646e5ae54392d5955 +Author: Tommi Virtanen +Date: Thu Jul 12 10:47:29 2012 -0700 + + upstart: Make ceph-osd always set the crush location. + + This used to be conditional on config having osd_crush_location set, + but with that, minimal configuration left the OSD completely out of + the crush map, and prevented the OSD from starting properly. + + Note: Ceph does not currently let this mechanism automatically move + hosts to another location in the CRUSH hierarchy. This means if you + let this run with defaults, setting osd_crush_location later will not + take effect. Set up your config file (or Chef environment) fully + before starting the OSDs the first time. + + Signed-off-by: Tommi Virtanen + +commit 471105a966f873aef2361b1ed48d088c490fe1aa +Author: Tommi Virtanen +Date: Tue Jul 3 15:24:26 2012 -0700 + + ceph-disk-prepare: Partition and format OSD data disks automatically. + + Uses gdisk, as it seems to be the only tool that can automate GPT uuid + changes. Needs to run as root. + + Adds Recommends: gdisk to ceph.deb. + + Closes: #2547 + Signed-off-by: Tommi Virtanen + +commit 24fe265c594308d5679e845fcfe8b0fe6a7be612 +Author: Tommi Virtanen +Date: Tue Jul 3 09:22:28 2012 -0700 + + ceph-disk-prepare: Take fsid from config file. + + Closes: #2546. + + Signed-off-by: Tommi Virtanen + +commit 1f06b490b4187055a5bfabc20746c87dfa075e0d +Author: Tommi Virtanen +Date: Mon Jun 25 15:14:33 2012 -0700 + + upstart: fix regex + + Signed-off-by: Tommi Virtanen + Signed-off-by: Greg Farnum + +commit 657ca118a7658617b9117311d9ee1cbe00103c06 +Author: Yehuda Sadeh +Date: Tue Aug 28 16:17:21 2012 -0700 + + rgw: clear usage map before reading usage + + Fixes: #3057 + Since we read usage in chunks we need to clear the + usage map before reading the next chunk, otherwise + we're going to aggregate the old data as well. + + Backport: argonaut + Signed-off-by: Yehuda Sadeh + +commit c49284c98de1df1a889e0c88e6b1157133f5e0a6 +Author: Gary Lowell +Date: Thu Aug 23 11:48:50 2012 -0700 + + Don't package crush header files. + +commit b6fb3e37a68d48434a81ee4356cde48cad187e94 +Author: Yehuda Sadeh +Date: Fri Aug 17 17:34:23 2012 -0700 + + rgw: dump content_range using 64 bit formatters + + Fixes: #2961 + Also make sure that size is 64 bit. + + backport: argonaut + Signed-off-by: Yehuda Sadeh + +commit 08d975146cbe6796799266f03361240a62acb297 +Author: Sage Weil +Date: Tue Aug 21 10:58:38 2012 -0700 + + Revert "rgw: dump content_range using 64 bit formatters" + + This reverts commit faf9fa5744b459abc2eda829a48a4e07b9c97a08. + +commit faf9fa5744b459abc2eda829a48a4e07b9c97a08 +Author: Yehuda Sadeh +Date: Fri Aug 17 17:34:23 2012 -0700 + + rgw: dump content_range using 64 bit formatters + + Fixes: #2961 + Also make sure that size is 64 bit. + + backport: argonaut + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + +commit 47b24c0562bcb44964a0b8f6c4847bb0f05924e0 +Author: Matthew Wodrich +Date: Tue Jul 31 19:13:03 2012 -0700 + + obsync: add missing package specifier to format_exc + + Fixes: #2873 + Signed-off-by: Matthew Wodrich + Reviewed-by: Dan Mick + +commit a14214dc9b7c15581a0664dbe259389867f88e72 +Author: Danny Kukawka +Date: Thu Aug 16 12:56:58 2012 +0200 + + fix keyring generation for mds and osd + + [ The following text is in the "UTF-8" character set. ] + [ Your display is set for the "ANSI_X3.4-1968" character set. ] + [ Some characters may be displayed incorrectly. ] + + Fix config keys for OSD/MDS data dirs. As in documentation and other + places of the scripts the keys are 'osd data'/'mds data' and not + 'osd_data' + + In case if MDS: if 'mds data' doesn't exist, create it. + + Signed-off-by: Danny Kukawka + +commit d1a31ce1ca2a5e1c53146c6e9063a123a1fe8cdb +Author: Danny Kukawka +Date: Thu Aug 16 12:56:32 2012 +0200 + + fix ceph osd create help + + [ The following text is in the "UTF-8" character set. ] + [ Your display is set for the "ANSI_X3.4-1968" character set. ] + [ Some characters may be displayed incorrectly. ] + + Change ceph osd create to ceph osd create , since this + is what the command is really doing. + + Signed-off-by: Danny Kukawka + +commit dc2a232bd37b7202c3d6e94396b3d85cec5225cd +Author: Sage Weil +Date: Mon Jul 9 17:24:19 2012 -0700 + + mon: simplify logmonitor check_subs; less noise + + * simple helper to translate name to id + * verify sub type is valid in caller + * assert sub type is valid in method + * simplify iterator usage + + Among other things, this gets rid of this noise in the logs: + + 2012-07-10 20:51:42.617152 7facb23f1700 1 mon.a@1(peon).log v310 check_sub sub monmap not log type + + Signed-off-by: Sage Weil diff --git a/doc/changelog/v0.48.3argonaut.txt b/doc/changelog/v0.48.3argonaut.txt new file mode 100644 index 00000000..22f0dc96 --- /dev/null +++ b/doc/changelog/v0.48.3argonaut.txt @@ -0,0 +1,895 @@ +commit 920f82e805efec2cae05b79c155c07df0f3ed5dd +Author: Gary Lowell +Date: Mon Jan 7 21:08:08 2013 -0800 + + v0.48.3argonaut + +commit 213e3559dd260a2e19324f2a671c808261249f96 +Author: Sage Weil +Date: Sun Jan 6 20:43:21 2013 -0800 + + osd: fix race in do_recovery() + + Verify that the PG is still RECOVERING or BACKFILL when we take the pg + lock in the recovery thread. This prevents a crash from an invalid + state machine event when the recovery queue races with a PG state change + (e.g., due to peering). + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + +commit e410d1a066b906cad3103a5bbfa5b4509be9ac37 +Author: Samuel Just +Date: Fri Jan 4 21:19:45 2013 -0800 + + ReplicatedPG: requeue waiting_for_ondisk in apply_and_flush_repops + + Fixes: #3722 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + +commit cd5f2bfdbb7fbf9237bef482845644cc41fa66de +Author: Josh Durgin +Date: Thu Nov 15 16:20:33 2012 -0800 + + ObjectCacher: fix off-by-one error in split + + This error left a completion that should have been attached + to the right BufferHead on the left BufferHead, which would + result in the completion never being called unless the buffers + were merged before it's original read completed. This would cause + a hang in any higher level waiting for a read to complete. + + The existing loop went backwards (using a forward iterator), + but stopped when the iterator reached the beginning of the map, + or when a waiter belonged to the left BufferHead. + + If the first list of waiters should have been moved to the right + BufferHead, it was skipped because at that point the iterator + was at the beginning of the map, which was the main condition + of the loop. + + Restructure the waiters-moving loop to go forward in the map instead, + so it's harder to make an off-by-one error. + + Possibly-fixes: #3286 + Signed-off-by: Josh Durgin + (cherry picked from commit 2e862f4d183d8b57b43b0777737886f18f68bf00) + +commit 802c486fd0913e9fe58ae7ff72df135f99712358 +Author: Sage Weil +Date: Fri Jan 4 11:07:48 2013 -0800 + + config: change default log_max_recent to 10,000 + + Commit c34e38bcdc0460219d19b21ca7a0554adf7f7f84 meant to do this but got + the wrong number of zeros. + + Signed-off-by: Sage Weil + +commit 39a734fbf34ccd121f17023bcec814e61c8bdaab +Author: Sage Weil +Date: Thu Jan 3 17:15:07 2013 -0800 + + os/FileStore: fix non-btrfs op_seq commit order + + The op_seq file is the starting point for journal replay. For stable btrfs + commit mode, which is using a snapshot as a reference, we should write this + file before we take the snap. We normally ignore current/ contents anyway. + + On non-btrfs file systems, however, we should only write this file *after* + we do a full sync, and we should then fsync(2) it before we continue + (and potentially trim anything from the journal). + + This fixes a serious bug that could cause data loss and corruption after + a power loss event. For a 'kill -9' or crash, however, there was little + risk, since the writes were still captured by the host's cache. + + Fixes: #3721 + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 28d59d374b28629a230d36b93e60a8474c902aa5) + +commit 49416619d733572368e5d2ba7f2b34150c754b23 +Author: Sage Weil +Date: Fri Dec 28 13:07:18 2012 -0800 + + log: broadcast cond signals + + We were using a single cond, and only signalling one waiter. That means + that if the flusher and several logging threads are waiting, and we hit + a limit, we the logger could signal another logger instead of the flusher, + and we could deadlock. + + Similarly, if the flusher empties the queue, it might signal only a single + logger, and that logger could re-signal the flusher, and the other logger + could wait forever. + + Intead, break the single cond into two: one for loggers, and one for the + flusher. Always signal the (one) flusher, and always broadcast to all + loggers. + + Backport: bobtail, argonaut + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 813787af3dbb99e42f481af670c4bb0e254e4432) + +commit f8bb4814d0fd7e08c9b6cdcde02940bf1b42cadd +Author: Sage Weil +Date: Wed Jan 2 13:58:44 2013 -0800 + + log: fix locking typo/stupid for dump_recent() + + We weren't locking m_flush_mutex properly, which in turn was leading to + racing threads calling dump_recent() and garbling the crash dump output. + + Backport: bobtail, argonaut + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 43cba617aa0247d714632bddf31b9271ef3a1b50) + +commit 9483a032f750572586f146c696ec6501d3df0383 +Author: Sage Weil +Date: Thu Dec 27 16:06:24 2012 -0800 + + init-ceph: fix status version check across machines + + The local state isn't propagated into the backtick shell, resulting in + 'unknown' for all remote daemons. Avoid backticks altogether. + + Signed-off-by: Sage Weil + (cherry picked from commit 6c7b667badc5e7608b69c533a119a2afc062e257) + +commit 8fef9360fe949fbf4ee6e468c36cc1c84b369b6e +Author: Travis Rhoden +Date: Mon Aug 20 13:29:11 2012 -0700 + + init-ceph: use SSH in "service ceph status -a" to get version + + When running "service ceph status -a", a version number was never + returned for remote hosts, only for the local. This was because + the command to query the version number didn't use the do_cmd + function, which is responsible for running the command over SSH + when needed. + + Modify the ceph init.d script to use do_cmd for querying the + Ceph version. + + Signed-off-by: Travis Rhoden + (cherry picked from commit 60fdb6fda6233b01dae4ed8a34427d5960840b84) + +commit c34e38bcdc0460219d19b21ca7a0554adf7f7f84 +Author: Sage Weil +Date: Wed Nov 28 13:00:36 2012 -0800 + + log: 10,000 recent log entries + + This is what we were (wrongly) doing before, so there are no memory + utilization surprises. + + Signed-off-by: Sage Weil + (cherry picked from commit 78286b1403a5e0f14f95fe6b92f2fdb163e909f1) + +commit 4daede79f578cccd340210752f912e685b1ff03d +Author: Sage Weil +Date: Wed Nov 28 12:59:43 2012 -0800 + + log: fix log_max_recent config + + + + Signed-off-by: Sage Weil + (cherry picked from commit 4de7748b72d4f90eb1197a70015c199c15203354) + +commit fdae0552a0b8b1a634775609b473aff9221904f3 +Author: Sage Weil +Date: Thu Dec 20 13:48:06 2012 -0800 + + log: fix flush/signal race + + We need to signal the cond in the same interval where we hold the lock + *and* modify the queue. Otherwise, we can have a race like: + + queue has 1 item, max is 1. + A: enter submit_entry, signal cond, wait on condition + B: enter submit_entry, signal cond, wait on condition + C: flush wakes up, flushes 1 previous item + A: retakes lock, enqueues something, exits + B: retakes lock, condition fails, waits + -> C is never woken up as there are 2 items waiting + + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 50914e7a429acddb981bc3344f51a793280704e6) + +commit bdcf6647dec05617d3da46ad00459498ede94f1d +Author: Gary Lowell +Date: Fri Dec 21 17:12:07 2012 -0800 + + .gitignore: Add ar-lib to ignore list + +commit 51a900cfd7cc009f03fdb80be028015fc34547d2 +Author: Gary Lowell +Date: Fri Dec 21 16:55:27 2012 -0800 + + autogen.sh: Create m4 directory for leveldb + + Signed-off-by: Gary Lowell + +commit 74473bb667df0ee0bb1adc6c43242733b80aa10d +Author: Gary Lowell +Date: Fri Dec 21 16:17:33 2012 -0800 + + leveldb: Update submodule + + Signed-off-by: Gary Lowell + +commit bc4f74c7b9ec4e6bbcf4ab4ab68a82a69b8eaca5 +Author: Gary Lowell +Date: Thu Dec 20 16:49:32 2012 -0800 + + ceph.spec.in: Fedora builds debuginfo by default. + + Signed-off-by: Gary Lowell + +commit 3ed2d59e98494a0da29f4bb8537471237a6f8e93 +Author: Yehuda Sadeh +Date: Wed Dec 19 17:07:18 2012 -0800 + + rgw: fix error handling with swift + + Fixes: #3649 + verify_swift_token returns a bool and not an int. + + Signed-off-by: Yehuda Sadeh + +commit dfd310368267df848f2b65cc536b4ffcb039d353 +Author: Sam Lang +Date: Mon Sep 24 09:55:25 2012 -0700 + + client: Fix for #3184 cfuse segv with no keyring + + Fixes bug #3184 where the ceph-fuse client segfaults if authx is + enabled but no keyring file is present. This was due to the + client->init() return value not getting checked. + + Signed-off-by: Sam Lang + (cherry picked from commit 47983df4cbd31f299eef896b4612d3837bd7c7bd) + +commit acebcce91448421c34a72850a380fcd1aabe9f41 +Author: Joao Eduardo Luis +Date: Tue Oct 9 21:25:54 2012 +0100 + + mon: Monitor: resolve keyring option to a file before loading keyring + + Otherwise our keyring default location, or any other similarly formatted + location, will be taken as the actual location for the keyring and fail. + + Reported-by: tziOm (at) #ceph + Fixes: 3276 + Backport: argonaut + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 7ef0df25e001bfae303feb3ae36514608767b1f2) + +commit 7ab00a796d2233c3804f52fbba16c2f3ed0c297b +Author: Gary Lowell +Date: Wed Dec 5 19:39:11 2012 -0800 + + .gitignore: Add m4 macro directories to ignore list + +commit b781ac00e16fd802b6e055dd9d453271db6efa39 +Author: Gary Lowell +Date: Thu Nov 8 12:43:24 2012 -0800 + + build: Add RPM release string generated from git describe. + + Fix for bug 3451. Use the commit count and sha1 from git describe to + construct a release string for rpm packages. + + Conflicts: + + configure.ac + +commit f60c9b6600a85b840a02e145bac77326d60fd03f +Author: Gary Lowell +Date: Fri Nov 9 13:28:13 2012 -0800 + + ceph.spec.in: Build debuginfo subpackage. + + This is a partial fix for bug 3471. Enable building of debuginfo package. + Some distributions enable this automatically by installing additional rpm + macros, on others it needs to be explicity added to the spec file. + +commit 7fbf9476cb44ce256f4bb2366f46fa20cb570eda +Author: Yehuda Sadeh +Date: Mon Dec 3 14:32:28 2012 -0800 + + rgw: fix swift auth concurrency issue + + Fixes: #3565 + Originally ops were using static structures, but that + has since changed. Switching swift auth handler to do + the same. + + Signed-off-by: Yehuda Sadeh + +commit 0639cd9c479d69b077175f0385eb569ebb839349 +Author: Yehuda Sadeh +Date: Thu Nov 29 13:39:22 2012 -0800 + + rgw: fix rgw_tools get_obj() + + The original implementation broke whenever data exceeded + the chunk size. Also don't keep cache for objects that + exceed the chunk size as cache is not designed for + it. Increased chunk size to 512k. + + Signed-off-by: Yehuda Sadeh + +commit 84983387a220a29540aca64af774bbe7bc6b5ee6 +Author: Yehuda Sadeh +Date: Thu Nov 29 12:47:59 2012 -0800 + + rgw: fix PUT acls + + This fixes a regression introduced at + 17e4c0df44781f5ff1d74f3800722452b6a0fc58. The original + patch fixed error leak, however it also removed the + operation's send_response() call. + + Signed-off-by: Yehuda Sadeh + +commit 6c1e2b663227cadff4255db3321976882df6b261 +Author: Yehuda Sadeh +Date: Mon Nov 19 17:10:11 2012 -0800 + + rgw: fix xml parser leak + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f86522cdfcd81b2d28c581ac8b8de6226bc8d1a4) + +commit 17e4c0df44781f5ff1d74f3800722452b6a0fc58 +Author: Yehuda Sadeh +Date: Mon Nov 19 16:52:38 2012 -0800 + + rgw: fix memory leaks + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 98a04d76ebffa61c3ba4b033cdd57ac57b2f29f3) + + Conflicts: + src/rgw/rgw_op.cc + src/rgw/rgw_op.h + +commit cd18b9f43cce68ac3d8f109e82a5b603f9caad9b +Author: Yehuda Sadeh +Date: Wed Nov 7 13:21:15 2012 -0800 + + rgw: don't convert object mtime to UTC + + Fixes: #3452 + When we read object info, don't try to convert mtime to + UTC, it's already in UTC. + + Signed-off-by: Yehuda Sadeh + +commit ddb40dec6e8d930fd63a71ef1c98279d6472e3e4 +Author: Yehuda Sadeh +Date: Wed Nov 14 11:30:34 2012 -0800 + + rgw: relax date format check + + Don't try to parse beyond the GMT or UTC. Some clients use + special date formatting. If we end up misparsing the date + it'll fail in the authorization, so don't need to be too + restrictive. + + Signed-off-by: Yehuda Sadeh + +commit e35e7e2bcb749e3ee00f1f93bc6b17bde8329414 +Author: Sage Weil +Date: Tue Oct 30 14:17:56 2012 -0700 + + ceph-disk-activate: avoid duplicating mounts if already activated + + If the given device is already mounted at the target location, do not + mount --move it again and create a bunch of dup entries in the /etc/mtab + and kernel mount table. + + Signed-off-by: Sage Weil + (cherry picked from commit c435d314caeb5424c1f4482ad02f8a085317ad5b) + +commit 0c9bbb3b4b4dbe6f0a12960785e35af9c748701a +Author: Sage Weil +Date: Thu Oct 25 21:21:18 2012 -0700 + + ceph-disk-prepare: poke kernel into refreshing partition tables + + Prod the kernel to refresh the partition table after we create one. The + partprobe program is packaged with parted, which we already use, so this + introduces no new dependency. + + Signed-off-by: Sage Weil + (cherry picked from commit 402e1f5319a52c309eca936081fddede1f107268) + +commit b4004806ec387915ba4e039b9bc1c563273ef08f +Author: Sage Weil +Date: Thu Oct 25 21:20:21 2012 -0700 + + ceph-disk-prepare: fix journal partition creation + + The end value needs to have + to indicate it is relative to wherever the + start is. + + Signed-off-by: Sage Weil + (cherry picked from commit 2e32a0ee2d9e2a3bf5b138f50efc5fba8d5b8660) + +commit efac1bb19f1ca3851c7b51d96cb4e82d8d142a45 +Author: Sage Weil +Date: Thu Oct 25 18:14:47 2012 -0700 + + ceph-disk-prepare: assume parted failure means no partition table + + If the disk has no valid label we get an error like + + Error: /dev/sdi: unrecognised disk label + + Assume any error we get is that and go with an id label of 1. + + Signed-off-by: Sage Weil + (cherry picked from commit 8921fc7c7bc28fb98334c06f1f0c10af58085085) + +commit 39b9da403541617fb088aa4ae03925850aa2de65 +Merge: 83ab366 8c115d3 +Author: Sage Weil +Date: Mon Nov 12 11:24:00 2012 -0800 + + Merge remote-tracking branch 'gh/wip-mds-stable' into stable + +commit 8c115d3e81543a4c723bae217ba5b9d2c0e988f7 +Author: Sage Weil +Date: Fri Nov 9 05:28:12 2012 -0800 + + mds: re-try_set_loner() after doing evals in eval(CInode*, int mask) + + Consider a case where current loner is A and wanted loner is B. + At the top of the function we try to set the loner, but that may fail + because we haven't processed the gathered caps yet for the previous + loner. In the body we do that and potentially drop the old loner, but we + do not try_set_loner() again on the desired loner. + + Try after our drop. If it succeeds, loop through the eval's one more time + so that we can issue caps approriately. + + This fixes a hang induced by a simple loop like: + + while true ; do echo asdf >> mnt.a/foo ; tail mnt.b/foo ; done & + while true ; do ls mnt.a mnt.b ; done + + (The second loop may not be necessary.) + + Signed-off-by: Sage Weil + +commit 1a23bd6981e2a308be4a905021453a6d5feac9e3 +Author: Samuel Just +Date: Fri Jul 13 14:23:27 2012 -0700 + + CompatSet: users pass bit indices rather than masks + + CompatSet users number the Feature objects rather than + providing masks. Thus, we should do + + mask |= (1 << f.id) rather than mask |= f.id. + + In order to detect old, broken encodings, the lowest + bit will be set in memory but not set in the encoding. + We can reconstruct the correct mask from the names map. + + This bug can cause an incompat bit to not be detected + since 1|2 == 1|2|3. + + fixes: #2748 + + Signed-off-by: Samuel Just + +commit 83ab36655f397b7d781a611b4d82679c8484710f +Author: Gary Lowell +Date: Wed Nov 7 12:41:10 2012 -0800 + + ceph.spec.in: Remove ceph version requirement from ceph-fuse package. + + The ceph-fuse rpm package now only requires ceph as a pre-req, not a specific + version. + +commit 578b5764d5b26d190c295da88c1be5f0c77682a7 +Author: Yehuda Sadeh +Date: Wed Oct 24 13:15:46 2012 -0700 + + rgw: fix multipart overwrite + + Fixes: #3400 + Removed a few lines of code that prematurely created the head + part of the final object (before creating the manifest). + + backport:argonaut + Signed-off-by: Yehuda Sadeh + +commit 96888ddf154231daa6c7138bb2b97674771cc610 +Author: Sage Weil +Date: Mon Nov 5 23:27:13 2012 -0800 + + mds: move to from loner -> mix if *anyone* wants rd|wr + + We were either going to MIX or SYNC depending on whether non-loners wanted + to read/write, but it may be that the loner wants to if our logic for + choosing loner vs not longer is based on anything other that just rd|wr + wanted. + + Signed-off-by: Sage Weil + +commit b940d7750d14285fc85ce63b0f0444b58ad3ad93 +Author: Sage Weil +Date: Mon Nov 5 23:26:09 2012 -0800 + + mds: base loner decision on wanted RD|WR|EXCL, not CACHE|BUFFER + + Observed instance where one client wanted the Fc cap and prevented the + loner from getting RD|WR caps. + + Signed-off-by: Sage Weil + +commit 7a82a3214a38cbc7b5750adba23b760a4f51643a +Author: Sage Weil +Date: Tue Oct 30 09:00:11 2012 -0700 + + osd: make pool_snap_info_t encoding backward compatible + + Way back in fc869dee1e8a1c90c93cb7e678563772fb1c51fb (v0.42) when we redid + the osd type encoding we forgot to make this conditionally encode the old + format for old clients. In particular, this means that kernel clients + will fail to decode the osdmap if there is a rados pool with a pool-level + snapshot defined. + + Fixes: #3290 + Signed-off-by: Sage Weil + + Conflicts: + + src/test/encoding/types.h + +commit 8d7ca76182fdc04aaf8b698afbbd2d9b22e07fdc +Author: Yan, Zheng +Date: Fri Sep 7 13:49:27 2012 +0800 + + osd/OSD.cc: Fix typo in OSD::heartbeat_check() + + The check 'p->second.last_tx > cutoff' should always be false + since last_tx is periodically updated by OSD::heartbeat() + + Signed-off-by: Yan, Zheng + Signed-off-by: Sage Weil + +commit fc2b3ced4f7ed8d6e065c159fbeb8670fcdaca2a +Author: Yehuda Sadeh +Date: Mon Oct 22 16:52:11 2012 -0700 + + rgw: dump an error message if FCGX_Accept fails + + Adding missing debug info. + + Signed-off-by: Yehuda Sadeh + +commit d9b51b3b7011f4551fe27e33301b26cd23a72378 +Author: Sage Weil +Date: Mon Oct 22 15:38:30 2012 -0700 + + workqueue: make debug output include active threads + + Include active thread count in threadpool debug output. + + Signed-off-by: Sage Weil + +commit 852e27d3e19239a696fa693e2a30c3226d27a611 +Author: Yehuda Sadeh +Date: Mon Oct 22 13:16:59 2012 -0700 + + rgw: don't continue processing of GET request on error + + Fixes #3381 + We continued processing requests long after the client + has died. This fix appliese to both s3 and swift. + + backport: argonaut + Signed-off-by: Yehuda Sadeh + +commit 5f2b9b451da5a96fdbf9cf292648feb40dc13d28 +Author: Sage Weil +Date: Fri Oct 19 08:46:19 2012 -0700 + + osd: be quiet about watches + + Useless log noise. + + Signed-off-by: Sage Weil + +commit ea42eb1f7866fed0e843257ce05e34503fd0129c +Author: Sage Weil +Date: Wed Oct 17 17:44:12 2012 -0700 + + addr_parsing: make , and ; and ' ' all delimiters + + Instead of just ,. Currently "foo.com, bar.com" will fail because of the + space after the comma. This patches fixes that, and makes all delim + chars interchangeable. + + Signed-off-by: Sage Weil + +commit b0164d9902c834c95187f6b277f58a30d26cc4d3 +Author: Tommi Virtanen +Date: Fri Oct 5 10:57:42 2012 -0700 + + ceph-disk-prepare, debian/control: Support external journals. + + Previously, ceph-disk-* would only let you use a journal that was a + file inside the OSD data directory. With this, you can do: + + ceph-disk-prepare /dev/sdb /dev/sdb + + to put the journal as a second partition on the same disk as the OSD + data (might save some file system overhead), or, more interestingly: + + ceph-disk-prepare /dev/sdb /dev/sdc + + which makes it create a new partition on /dev/sdc to use as the + journal. Size of the partition is decided by $osd_journal_size. + /dev/sdc must be a GPT-format disk. Multiple OSDs may share the same + journal disk (using separate partitions); this way, a single fast SSD + can serve as journal for multiple spinning disks. + + The second use case currently requires parted, so a Recommends: for + parted has been added to Debian packaging. + + Closes: #3078 + Closes: #3079 + Signed-off-by: Tommi Virtanen + +commit 5a3076fd51706e32bc55b734099037520299003b +Author: Yehuda Sadeh +Date: Mon Oct 15 09:43:47 2012 -0700 + + rgw: don't add port to url if already has one + + Fixes: #3296 + Specifically, is host name string already has ':', then + don't try to append theport (swift auth). + + backport: argonaut + Signed-off-by: Yehuda Sadeh + +commit d76b71caa99a39035ea6ed9db6ca0994975d38af +Author: Sage Weil +Date: Mon Oct 15 16:37:05 2012 -0700 + + admin_socket: fix '0' protocol version + + Broken by 895e24d198ced83ab7fed3725f12f75e3bc97b0b. + + Signed-off-by: Sage Weil + +commit 714254cb0522b194118eb854f90d4c3971e8c6b3 +Author: Sage Weil +Date: Mon Oct 8 17:14:22 2012 -0700 + + mon: drop command replies on paxos reset + + If paxos resets, do not send the reply for the commit we were waiting for; + let the command be reprocessed and re-proposed. + + Among other things, this could lead to nondeterministic results for + 'ceph osd create '. + + Signed-off-by: Sage Weil + +commit d9e981f4209da9a0e000d434e28686a133b25f11 +Merge: 5d84b4a 13b448b +Author: Sage Weil +Date: Mon Oct 8 21:02:51 2012 -0700 + + Merge remote-tracking branch 'gh/for-stable-fstypes-and-ext-journal' into stable + +commit 5d84b4a22b2ff975679711719f336a312a6edff3 +Author: Tommi Virtanen +Date: Thu Aug 2 13:02:04 2012 -0700 + + ceph-authtool: Fix usage, it's --print-key not --print. + + Signed-off-by: Tommi Virtanen + +commit 13b448b8ce959f31d07cd1827614c445c410aa62 +Author: Tommi Virtanen +Date: Fri Oct 5 09:22:34 2012 -0700 + + upstart: OSD journal can be a symlink; if it's dangling, don't start. + + This lets a $osd_data/journal symlink point to + /dev/disk/by-partuuid/UUID and the osd will not attempt to start until + that disk is available. + + Signed-off-by: Tommi Virtanen + +commit d9dfa2d17859ca07d735b8e35c5dc00a25995153 +Author: Sage Weil +Date: Fri Oct 5 09:10:31 2012 -0700 + + osd: Make --get-journal-fsid not really start the osd. + + This way, it won't need -i ID and it won't access the osd_data_dir. + That makes it useful for locating the right osd to use with an + external journal partition. + + Signed-off-by: Tommi Virtanen + +commit f65daf3f24830a28e85ebe7c6fce2642f5fc6dd8 +Author: Tommi Virtanen +Date: Fri Oct 5 09:08:56 2012 -0700 + + osd: Make --get-journal-fsid not attempt aio or direct_io. + + Signed-off-by: Tommi Virtanen + +commit 86546d7dec6cd5080162d1f3d7de2c579736dd65 +Author: Tommi Virtanen +Date: Thu Oct 4 16:03:40 2012 -0700 + + ceph-disk-prepare: Use the OSD uuid as the partition GUID. + + This will make locating the right data partition for a given journal + partition a lot easier. + + Signed-off-by: Tommi Virtanen + +commit fa3aa41ead0be5a27695e3c208c5af00af90bc53 +Author: Tommi Virtanen +Date: Wed Oct 3 12:38:38 2012 -0700 + + debian/control, ceph-disk-prepare: Depend on xfsprogs, use xfs by default. + + Ext4 as a default is a bad choice, as we don't perform enough QA with + it. To use XFS as the default for ceph-disk-prepare, we need to depend + on xfsprogs. + + btrfs-tools is already recommended, so no change there. If you set + osd_fs_type=btrfs, and don't have the package installed, you'll just + get an error message. + + Signed-off-by: Tommi Virtanen + +commit 4c3997dc8bbd3985a7b86d8c54b71fbe15af1591 +Author: Tommi Virtanen +Date: Wed Oct 3 10:13:17 2012 -0700 + + ceph-disk-{prepare,activate}: Default mkfs arguments and mount options. + + The values for the settings were copied from teuthology task "ceph". + + Signed-off-by: Tommi Virtanen + +commit a6229b901785ef0a88d1b1886b5b5ae339ac7fcb +Author: Tommi Virtanen +Date: Wed Oct 3 08:47:20 2012 -0700 + + ceph-disk-prepare: Avoid triggering activate before prepare is done. + + Earlier testing never saw this, but now a mount of a disk triggers a + udev blockdev-added event, causing ceph-disk-activate to run even + before ceph-disk-prepare has had a chance to write the files and + unmount the disk. + + Avoid this by using a temporary partition type uuid ("ceph 2 be"), and + only setting it to the permanent ("ceph osd"). The hotplug event won't + match the type uuid, and thus won't trigger ceph-disk-activate. + + Signed-off-by: Tommi Virtanen + +commit 03cec77e2b0b4536349880de6890ad9537da0783 +Author: Tommi Virtanen +Date: Tue Oct 2 17:06:11 2012 -0700 + + ceph-disk-activate: Add a comment about user_xattr being default now. + + Signed-off-by: Tommi Virtanen + +commit 4aa13c6d228b9256870e02a57496f00a75e17349 +Author: Tommi Virtanen +Date: Tue Oct 2 16:53:35 2012 -0700 + + ceph-disk-activate: Use mount options from ceph.conf + + Always uses default cluster name ("ceph") for now, see + http://tracker.newdream.net/issues/3253 + + Closes: #2548 + Signed-off-by: Tommi Virtanen + +commit b684ab1d1727b23f75f232123f1da947df2e5e63 +Author: Tommi Virtanen +Date: Tue Oct 2 16:43:08 2012 -0700 + + ceph-disk-activate: Refactor to extract detect_fstype call. + + This allows us to use the fstype for a config lookup. + + Signed-off-by: Tommi Virtanen + +commit ce5e1f8dfaa8675b0a1e9fa22ebf91be9652aa01 +Author: Tommi Virtanen +Date: Tue Oct 2 16:37:07 2012 -0700 + + ceph-disk-activate: Unmount on errors (if it did the mount). + + This cleans up the error handling to not leave disks mounted + in /var/lib/ceph/tmp/mnt.* when something fails, e.g. when + the ceph command line tool can't talk to mons. + + Signed-off-by: Tommi Virtanen + +commit da86e4e43676ceaf0b39635954489c297de88025 +Author: Tommi Virtanen +Date: Tue Oct 2 16:23:55 2012 -0700 + + ceph-disk-prepare: Allow setting mkfs arguments and mount options in ceph.conf + + Tested with meaningless but easy-to-verify values: + + [global] + osd_fs_type = xfs + osd_fs_mkfs_arguments_xfs = -i size=512 + osd_fs_mount_options_xfs = noikeep + + ceph-disk-activate does not respect the mount options yet. + + Closes: #2549 + Signed-off-by: Tommi Virtanen + +commit cf2e3b15cea99cc100169e7a67103676d8990aee +Author: Tommi Virtanen +Date: Tue Oct 2 16:04:15 2012 -0700 + + ceph-disk-prepare: Allow specifying fs type to use. + + Either use ceph.conf variable osd_fs_type or command line option + --fs-type= + + Default is still ext4, as currently nothing guarantees xfsprogs + or btrfs-tools are installed. + + Currently both btrfs and xfs seems to trigger a disk hotplug event at + mount time, thus triggering a useless and unwanted ceph-disk-activate + run. This will be worked around in a later commit. + + Currently mkfs and mount options cannot be configured. + + Bug: #2549 + Signed-off-by: Tommi Virtanen + +commit f031046c4d600ce0a0c2c9ad5856dc100b0901fb +Author: Yehuda Sadeh +Date: Wed Sep 26 15:43:56 2012 -0700 + + rgw: copy_object should not override ETAG implicitly + + When copying an object with new attrs, we still need to + maintain the ETAG. + + Signed-off-by: Yehuda Sadeh + +commit 2fddfb0a95288d39cee2e82376297ce43296743b +Author: Yehuda Sadeh +Date: Mon Sep 24 18:10:24 2012 -0700 + + rgw: url_decode should allocate extra byte for dest + + Was missing extra byte for null termination + + Signed-off-by: Yehuda Sadeh diff --git a/doc/changelog/v0.56.1.txt b/doc/changelog/v0.56.1.txt new file mode 100644 index 00000000..e2cfe9bb --- /dev/null +++ b/doc/changelog/v0.56.1.txt @@ -0,0 +1,316 @@ +commit e4a541624df62ef353e754391cbbb707f54b16f7 +Author: Gary Lowell +Date: Mon Jan 7 13:33:30 2013 -0800 + + v0.56.1 + +commit 9aecacda7fbf07f12b210f87cf3dbb53021b068d +Author: Sage Weil +Date: Sun Jan 6 08:38:27 2013 -0800 + + msg/Pipe: prepare Message data for wire under pipe_lock + + We cannot trust the Message bufferlists or other structures to be + stable without pipe_lock, as another Pipe may claim and modify the sent + list items while we are writing to the socket. + + Related to #3678. + + Signed-off-by: Sage Weil + (cherry picked from commit d16ad9263d7b1d3c096f56c56e9631fae8509651) + +commit 299dbad490df5e98c04f17fa8e486a718f3c121f +Author: Sage Weil +Date: Sun Jan 6 08:33:01 2013 -0800 + + msgr: update Message envelope in encode, not write_message + + Fill out the Message header, footer, and calculate CRCs during + encoding, not write_message(). This removes most modifications from + Pipe::write_message(). + + Signed-off-by: Sage Weil + (cherry picked from commit 40706afc66f485b2bd40b2b4b1cd5377244f8758) + +commit 35d2f58305eab6c9b57a92269598b9729e2d8681 +Author: Sage Weil +Date: Sun Jan 6 08:25:40 2013 -0800 + + msg/Pipe: encode message inside pipe_lock + + This modifies bufferlists in the Message struct, and it is possible + for multiple instances of the Pipe to get references on the Message; + make sure they don't modify those bufferlists concurrently. + + Signed-off-by: Sage Weil + (cherry picked from commit 4cfc4903c6fb130b6ac9105baf1f66fbda797f14) + +commit 9b23f195df43589d062da95a11abc07c79f3109b +Author: Sage Weil +Date: Sat Jan 5 10:39:08 2013 -0800 + + msg/Pipe: associate sending msgs to con inside lock + + Associate a sending message with the connection inside the pipe_lock. + This way if a racing thread tries to steal these messages it will + be sure to reset the con point *after* we do such that it the con + pointer is valid in encode_payload() (and later). + + This may be part of #3678. + + Signed-off-by: Sage Weil + (cherry picked from commit a058f16113efa8f32eb5503d5443aa139754d479) + +commit 6229b5a06f449a470d3211ea94c1c5faf7100876 +Author: Sage Weil +Date: Sat Jan 5 09:29:50 2013 -0800 + + msg/Pipe: fix msg leak in requeue_sent() + + The sent list owns a reference to each message. + + Signed-off-by: Sage Weil + (cherry picked from commit 2a1eb466d3f8e25ec8906b3ca6118a14c4e269d2) + +commit 6a00ce0dc24626fdfa210ddec6334bde3c8a20db +Author: Sage Weil +Date: Mon Jan 7 12:58:39 2013 -0800 + + osdc/Objecter: fix linger_ops iterator invalidation on pool deletion + + The call to check_linger_pool_dne() may unregister the linger request, + invalidating the iterator. To avoid this, increment the iterator at + the top of the loop. + + This mirror the fix in 4bf9078286d58c2cd4e85cb8b31411220a377092 for + regular non-linger ops. + + Fixes: #3734 + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + Reviewed-by: Greg Farnum + (cherry picked from commit 62586884afd56f2148205bdadc5a67037a750a9b) + +commit a10950f91e6ba9c1620d8fd00a84fc59f983fcee +Author: Sage Weil +Date: Sat Jan 5 20:53:49 2013 -0800 + + os/FileJournal: include limits.h + + Needed for IOV_MAX. + + Signed-off-by: Sage Weil + (cherry picked from commit ce49968938ca3636f48fe543111aa219f36914d8) + +commit cd194ef3c7082993cae0892a97494f2a917ce2a7 +Author: Sage Weil +Date: Fri Jan 4 17:43:41 2013 -0800 + + osd: special case CALL op to not have RD bit effects + + In commit 20496b8d2b2c3779a771695c6f778abbdb66d92a we treat a CALL as + different from a normal "read", but we did not adjust the behavior + determined by the RD bit in the op. We tried to fix that in + 91e941aef9f55425cc12204146f26d79c444cfae, but changing the op code breaks + compatibility, so that was reverted. + + Instead, special-case CALL in the helper--the only point in the code that + actually checks for the RD bit. (And fix one lingering user to use that + helper appropriately.) + + Fixes: #3731 + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 988a52173522e9a410ba975a4e8b7c25c7801123) + +commit 921e06decebccc913c0e4f61916d00e62e7e1635 +Author: Sage Weil +Date: Fri Jan 4 20:46:48 2013 -0800 + + Revert "OSD: remove RD flag from CALL ops" + + This reverts commit 91e941aef9f55425cc12204146f26d79c444cfae. + + We cannot change this op code without breaking compatibility + with old code (client and server). We'll have to special case + this op code instead. + + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit d3abd0fe0bb402ff403259d4b1a718a56331fc39) + +commit 7513e9719a532dc538d838f68e47c83cc51fef82 +Author: Samuel Just +Date: Fri Jan 4 12:43:52 2013 -0800 + + ReplicatedPG: remove old-head optization from push_to_replica + + This optimization allowed the primary to push a clone as a single push in the + case that the head object on the replica is old and happens to be at the same + version as the clone. In general, using head in clone_subsets is tricky since + we might be writing to head during the push. calc_clone_subsets does not + consider head (probably for this reason). Handling the clone from head case + properly would require blocking writes on head in the interim which is probably + a bad trade off anyway. + + Because the old-head optimization only comes into play if the replica's state + happens to fall on the last write to head prior to the snap that caused the + clone in question, it's not worth the complexity. + + Fixes: #3698 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit e89b6ade63cdad315ab754789de24008cfe42b37) + +commit c63c66463a567e8095711e7c853ac8feb065c5c5 +Author: Sage Weil +Date: Thu Jan 3 17:15:07 2013 -0800 + + os/FileStore: fix non-btrfs op_seq commit order + + The op_seq file is the starting point for journal replay. For stable btrfs + commit mode, which is using a snapshot as a reference, we should write this + file before we take the snap. We normally ignore current/ contents anyway. + + On non-btrfs file systems, however, we should only write this file *after* + we do a full sync, and we should then fsync(2) it before we continue + (and potentially trim anything from the journal). + + This fixes a serious bug that could cause data loss and corruption after + a power loss event. For a 'kill -9' or crash, however, there was little + risk, since the writes were still captured by the host's cache. + + Fixes: #3721 + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 28d59d374b28629a230d36b93e60a8474c902aa5) + +commit b8f061dcdb808a6fc5ec01535b37560147b537de +Author: Samuel Just +Date: Thu Jan 3 09:59:45 2013 -0800 + + OSD: for old osds, dispatch peering messages immediately + + Normally, we batch up peering messages until the end of + process_peering_events to allow us to combine many notifies, etc + to the same osd into the same message. However, old osds assume + that the actiavtion message (log or info) will be _dispatched + before the first sub_op_modify of the interval. Thus, for those + peers, we need to send the peering messages before we drop the + pg lock, lest we issue a client repop from another thread before + activation message is sent. + + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 4ae4dce5c5bb547c1ff54d07c8b70d287490cae9) + +commit 67968d115daf51762dce65af46b9b843eda592b5 +Author: Sage Weil +Date: Wed Jan 2 22:38:53 2013 -0800 + + osd: move common active vs booting code into consume_map + + Push osdmaps to PGs in separate method from activate_map() (whose name + is becoming less and less accurate). + + Signed-off-by: Sage Weil + (cherry picked from commit a32d6c5dca081dcd8266f4ab51581ed6b2755685) + +commit 34266e6bde9f36b1c46144d2341b13605eaa9abe +Author: Sage Weil +Date: Wed Jan 2 22:20:06 2013 -0800 + + osd: let pgs process map advances before booting + + The OSD deliberate consumes and processes most OSDMaps from while it + was down before it marks itself up, as this is can be slow. The new + threading code does this asynchronously in peering_wq, though, and + does not let it drain before booting the OSD. The OSD can get into + a situation where it marks itself up but is not responsive or useful + because of the backlog, and only makes the situation works by + generating more osdmaps as result. + + Fix this by calling activate_map() even when booting, and when booting + draining the peering_wq on each call. This is harmless since we are + not yet processing actual ops; we only need to be async when active. + + Fixes: #3714 + Signed-off-by: Sage Weil + (cherry picked from commit 0bfad8ef2040a0dd4a0dc1d3abf3ab5b2019d179) + +commit 4034f6c817d1efce5fb9eb8cc0a9327f9f7d7910 +Author: Sage Weil +Date: Fri Dec 28 13:07:18 2012 -0800 + + log: broadcast cond signals + + We were using a single cond, and only signalling one waiter. That means + that if the flusher and several logging threads are waiting, and we hit + a limit, we the logger could signal another logger instead of the flusher, + and we could deadlock. + + Similarly, if the flusher empties the queue, it might signal only a single + logger, and that logger could re-signal the flusher, and the other logger + could wait forever. + + Intead, break the single cond into two: one for loggers, and one for the + flusher. Always signal the (one) flusher, and always broadcast to all + loggers. + + Backport: bobtail, argonaut + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 813787af3dbb99e42f481af670c4bb0e254e4432) + +commit 2141454eee3a1727706d48f8efef92f8a2b98278 +Author: Sage Weil +Date: Wed Jan 2 13:58:44 2013 -0800 + + log: fix locking typo/stupid for dump_recent() + + We weren't locking m_flush_mutex properly, which in turn was leading to + racing threads calling dump_recent() and garbling the crash dump output. + + Backport: bobtail, argonaut + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 43cba617aa0247d714632bddf31b9271ef3a1b50) + +commit 936560137516a1fd5e55b52ccab59c408ac2c245 +Author: Sage Weil +Date: Fri Dec 28 16:48:22 2012 -0800 + + test_filejournal: optionally specify journal filename as an argument + + Signed-off-by: Sage Weil + (cherry picked from commit 483c6f76adf960017614a8641c4dcdbd7902ce33) + +commit be0473bbb1feb8705be4fa8f827704694303a930 +Author: Sage Weil +Date: Fri Dec 28 16:48:05 2012 -0800 + + test_filejournal: test journaling bl with >IOV_MAX segments + + Signed-off-by: Sage Weil + (cherry picked from commit c461e7fc1e34fdddd8ff8833693d067451df906b) + +commit de61932793c5791c770855e470e3b5b9ebb53dba +Author: Sage Weil +Date: Fri Dec 28 16:47:28 2012 -0800 + + os/FileJournal: limit size of aio submission + + Limit size of each aio submission to IOV_MAX-1 (to be safe). Take care to + only mark the last aio with the seq to signal completion. + + Signed-off-by: Sage Weil + (cherry picked from commit dda7b651895ab392db08e98bf621768fd77540f0) + +commit ded454c669171d4038b087cfdad52a57da222c1f +Author: Sage Weil +Date: Fri Dec 28 15:44:51 2012 -0800 + + os/FileJournal: logger is optional + + Signed-off-by: Sage Weil + (cherry picked from commit 076b418c7f03c5c62f811fdc566e4e2b776389b7) diff --git a/doc/changelog/v0.56.2.txt b/doc/changelog/v0.56.2.txt new file mode 100644 index 00000000..cd8e402f --- /dev/null +++ b/doc/changelog/v0.56.2.txt @@ -0,0 +1,1294 @@ +commit 586538e22afba85c59beda49789ec42024e7a061 +Author: Gary Lowell +Date: Tue Jan 29 23:54:47 2013 -0800 + + v0.56.2 + +commit bcb8dfad9cbb4c6af7ae7f9584e36449a03cd1b6 +Author: Dan Mick +Date: Tue Jan 29 23:05:49 2013 -0800 + + cls_rbd, cls_rgw: use PRI*64 when printing/logging 64-bit values + + caused segfaults in 32-bit build + + Fixes: #3961 + Signed-off-by: Dan Mick + Reviewed-by: Sage Weil + (cherry picked from commit e253830abac76af03c63239302691f7fac1af381) + +commit 5a7c5088cc8f57f75eb594a21bf5fb6661e50978 +Author: Dan Mick +Date: Tue Jan 29 15:18:53 2013 -0800 + + init-ceph: make ulimit -n be part of daemon command + + ulimit -n from 'max open files' was being set only on the machine + running /etc/init.d/ceph. It needs to be added to the commands to + start the daemons, and run both locally and remotely. + + Verified by examining /proc//limits on local and remote hosts + + Fixes: #3900 + Signed-off-by: Dan Mick + Reviewed-by: Loïc Dachary + Reviewed-by: Gary Lowell + (cherry picked from commit 84a024b647c0ac2ee5a91bacdd4b8c966e44175c) + +commit 95677fc599b9bf37ab4c2037b3675fd68f92ebcf +Author: Joao Eduardo Luis +Date: Sat Jan 12 01:06:36 2013 +0000 + + mon: OSDMonitor: only share osdmap with up OSDs + + Try to share the map with a randomly picked OSD; if the picked monitor is + not 'up', then try to find the nearest 'up' OSD in the map by doing a + backward and a forward linear search on the map -- this would be O(n) in + the worst case scenario, as we only do a single iteration starting on the + picked position, incrementing and decrementing two different iterators + until we find an appropriate OSD or we exhaust the map. + + Fixes: #3629 + Backport: bobtail + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit 3610e72e4f9117af712f34a2e12c5e9537a5746f) + +commit e4d76cb8594c0ec901f89c2f2e8cc53e00eb2a06 +Author: Danny Al-Gaaf +Date: Sun Jan 27 21:57:31 2013 +0100 + + utime: fix narrowing conversion compiler warning in sleep() + + Fix compiler warning: + ./include/utime.h: In member function 'void utime_t::sleep()': + ./include/utime.h:139:50: warning: narrowing conversion of + '((utime_t*)this)->utime_t::tv.utime_t::::tv_sec' from + '__u32 {aka unsigned int}' to '__time_t {aka long int}' inside { } is + ill-formed in C++11 [-Wnarrowing] + ./include/utime.h:139:50: warning: narrowing conversion of + '((utime_t*)this)->utime_t::tv.utime_t::::tv_nsec' from + '__u32 {aka unsigned int}' to 'long int' inside { } is + ill-formed in C++11 [-Wnarrowing] + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 014fc6d6c1c68e2e3ad0117d08c4e46e4030d49e) + +commit a8964107ddf02ac4a6707a997e1b634c1084a3b9 +Author: Yehuda Sadeh +Date: Mon Jan 28 17:13:23 2013 -0800 + + rgw: fix crash when missing content-type in POST object + + Fixes: #3941 + This fixes a crash when handling S3 POST request and content type + is not provided. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f41010c44b3a4489525d25cd35084a168dc5f537) + +commit 11e1f3acf0953e9ac38322c0423144eaabd7bb61 +Author: Samuel Just +Date: Fri Jan 11 15:00:02 2013 -0800 + + ReplicatedPG: make_snap_collection when moving snap link in snap_trimmer + + Backport: bobtail + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 88956e3186798058a1170803f8abfc0f3cf77a07) + +commit c9201d0e9de5f4766a2d9f4715eb7c69691964de +Author: Samuel Just +Date: Fri Jan 11 16:43:14 2013 -0800 + + ReplicatedPG: correctly handle new snap collections on replica + + Backport: bobtail + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 9e44fca13bf1ba39dbcad29111b29f46c49d59f7) + +commit 2efdfb41c1bc9128b76416630ee00a75de90c020 +Author: Joao Eduardo Luis +Date: Sun Jan 27 18:08:15 2013 +0000 + + mon: Elector: reset the acked leader when the election finishes and we lost + + Failure to do so will mean that we will always ack the same leader during + an election started by another monitor. This had been working so far + because we were still acking the existing leader if he was supposed to + still be the leader; or we were acking a new potentially leader; or we + would eventually fall behind on an election and start a new election + ourselves, thus resetting the previously acked leader. While this wasn't + something that mattered much until now, the timechecks code stumbled into + this tiny issue and was failing hard at completing a round because there + wouldn't be a reset before the election started -- timechecks are bound + to election epochs. + + Fixes: #3854 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit c54781618569680898e77e151dd7364f22ac4aa1) + +commit a16c6f3dc278e19e66776ffde45de3ff0db46a6c +Author: Josh Durgin +Date: Wed Dec 26 14:24:22 2012 -0800 + + rbd: fix bench-write infinite loop + + I/O was continously submitted as long as there were few enough ops in + flight. If the number of 'threads' was high, or caching was turned on, + there would never be that many ops in flight, so the loop would continue + indefinitely. Instead, submit at most io_threads ops per offset. + + Fixes: #3413 + Signed-off-by: Josh Durgin + Reviewed-by: Dan Mick + Reviewed-by: Sage Weil + (cherry picked from commit d81ac8418f9e6bbc9adcc69b2e7cb98dd4db6abb) + +commit 76f93751d3603e3fb5c4b9e14bfdac406d8d1a58 +Author: Dan Mick +Date: Fri Jan 4 18:00:24 2013 -0800 + + rbd: Don't call ProgressContext's finish() if there's an error. + + do_copy was different from the others; call pc.fail() on error and + do not call pc.finish(). + + Fixes: #3729 + Signed-off-by: Dan Mick + (cherry picked from commit 0978dc4963fe441fb67afecb074bc7b01798d59d) + +commit 10053b14623f9c19727cb4d2d3a6b62945bef5c1 +Author: Josh Durgin +Date: Wed Jan 2 14:15:24 2013 -0800 + + librbd: establish watch before reading header + + This eliminates a window in which a race could occur when we have an + image open but no watch established. The previous fix (using + assert_version) did not work well with resend operations. + + Signed-off-by: Josh Durgin + (cherry picked from commit c4370ff03f8ab655a009cfd9ba3a0827d8c58b11) + +commit f666c617f6a5f8d94ce81461942c9f94a0775fb2 +Author: Josh Durgin +Date: Wed Jan 2 12:32:33 2013 -0800 + + Revert "librbd: ensure header is up to date after initial read" + + Using assert version for linger ops doesn't work with retries, + since the version will change after the first send. + This reverts commit e1776809031c6dad441cfb2b9fac9612720b9083. + + Conflicts: + + qa/workunits/rbd/watch_correct_version.sh + (cherry picked from commit e0858fa89903cf4055889c405f17515504e917a0) + +commit 575a58666adbca83d15468899272e8c369e903e1 +Author: Sage Weil +Date: Wed Jan 23 22:16:49 2013 -0800 + + os/FileStore: only adjust up op queue for btrfs + + We only need to adjust up the op queue limits during commit for btrfs, + because the snapshot initiation (async create) is currently + high-latency and the op queue is quiesced during that period. + + This lets us revert 44dca5c, which disabled the extra allowance because + it is generally bad for non-btrfs writeahead mode. + + Signed-off-by: Sage Weil + (cherry picked from commit 38871e27eca5a34de78db23aa3663f6cb045d461) + +commit c9eb1b0a99b0e55f7d7343176dad17d1a53589a1 +Author: Sage Weil +Date: Thu Jan 24 10:52:46 2013 -0800 + + common/HeartbeatMap: fix uninitialized variable + + Introduced by me in 132045ce085e8584a3e177af552ee7a5205b13d8. Thank you, + valgrind! + + Signed-off-by: Sage Weil + (cherry picked from commit 00cfe1d3af286ffab7660933415684f18449720c) + +commit e6bceeedb0b77d23416560bd951326587470aacb +Author: Samuel Just +Date: Fri Jan 25 11:31:29 2013 -0800 + + sharedptr_registry: remove extaneous Mutex::Locker declaration + + For some reason, the lookup() retry loop (for when happened to + race with a removal and grab an invalid WeakPtr) locked + the lock again. This causes the #3836 crash since the lock + is already locked. It's rare since it requires a lookup between + invalidation of the WeakPtr and removal of the WeakPtr entry. + + Fixes: #3836 + Backport: bobtail + Signed-off-by: Samuel Just + (cherry picked from commit 037900dc7a051ce2293a4ef9d0e71911b29ec159) + +commit 60888cafdc53d6b381cd634170646c12669e1754 +Author: Samuel Just +Date: Thu Jan 24 12:02:09 2013 -0800 + + FileStore: ping TPHandle after each operation in _do_transactions + + Each completed operation in the transaction proves thread + liveness, a stuck thread should still trigger the timeouts. + + Fixes: #3928 + Backport: bobtail + Signed-off-by: Samuel Just + (cherry picked from commit 0c1cc687b6a40d3c6a26671f0652e1b51c3fd1af) + +commit 6b8a673f88cbaca2891834dd5d2137a0e076fd1e +Author: Samuel Just +Date: Thu Jan 24 11:07:37 2013 -0800 + + OSD: use TPHandle in peering_wq + + Implement _process overload with TPHandle argument and use + that to ping the hb map between pgs and between map epochs + when advancing a pg. The thread will still timeout if + genuinely stuck at any point. + + Fixes: 3905 + Backport: bobtail + Signed-off-by: Samuel Just + (cherry picked from commit e0511f4f4773766d04e845af2d079f82f3177cb6) + +commit aa6d20aac22d4c14ff059dbc28e06b7a5e5d6de1 +Author: Samuel Just +Date: Thu Jan 24 11:04:04 2013 -0800 + + WorkQueue: add TPHandle to allow _process to ping the hb map + + Backport: bobtail + Signed-off-by: Samuel Just + (cherry picked from commit 4f653d23999b24fc8c65a59f14905db6630be5b5) + +commit e66a75052a340b15693f08b05f7f9f5d975b0978 +Author: Samuel Just +Date: Wed Jan 23 12:49:04 2013 -0800 + + ReplicatedPG: handle omap > max_recovery_chunk + + span_of fails if len == 0. + + Backport: bobtail + Signed-off-by: Samuel Just + (cherry picked from commit 8a97eef1f7004988449bd7ace4c69d5796495139) + +commit 44f0407a6b259e87803539ec9e942043de0cf35d +Author: Samuel Just +Date: Wed Jan 23 12:18:31 2013 -0800 + + ReplicatedPG: correctly handle omap key larger than max chunk + + Backport: bobtail + Signed-off-by: Samuel Just + (cherry picked from commit c3dec3e30a85ecad0090c75a38f28cb83e36232e) + +commit 50fd6ac9f147a4418d64dfe08843402e7cfb4910 +Author: Samuel Just +Date: Wed Jan 23 12:15:10 2013 -0800 + + ReplicatedPG: start scanning omap at omap_recovered_to + + Previously, we started scanning omap after omap_recovered_to. + This is a problem since the break in the loop implies that + omap_recovered_to is the first key not recovered. + + Backport: bobtail + Signed-off-by: Samuel Just + (cherry picked from commit 09c71f2f5ee9929ac4574f4c35fb8c0211aad097) + +commit 4b32eecba2e2bd8e8ea17e1888e6971d31e71439 +Author: Samuel Just +Date: Wed Jan 23 11:50:13 2013 -0800 + + ReplicatedPG: don't finish_recovery_op until the transaction completes + + Signed-off-by: Samuel Just + (cherry picked from commit 62a4b96831c1726043699db86a664dc6a0af8637) + +commit da34c77b93e3f880c01329711ab8eca7776b1830 +Author: Samuel Just +Date: Wed Jan 23 11:35:47 2013 -0800 + + ReplicatedPG: ack push only after transaction has completed + + Signed-off-by: Samuel Just + (cherry picked from commit 20278c4f77b890d5b2b95d2ccbeb4fbe106667ac) + +commit f9381c74931b80294e5df60f6d2e69c946b8fe88 +Author: Samuel Just +Date: Wed Jan 23 11:13:28 2013 -0800 + + ObjectStore: add queue_transactions with oncomplete + + Signed-off-by: Samuel Just + (cherry picked from commit 4d6ba06309b80fb21de7bb5d12d5482e71de5f16) + +commit e2560554f0568c30c786632723c5ce0c86043359 +Author: Sage Weil +Date: Tue Jan 22 21:18:45 2013 -0800 + + common/HeartbeatMap: inject unhealthy heartbeat for N seconds + + This lets us test code that is triggered by an unhealthy heartbeat in a + generic way. + + Signed-off-by: Sage Weil + (cherry picked from commit 132045ce085e8584a3e177af552ee7a5205b13d8) + +commit cbe8b5bca40fd63a382b1a903087e7c34b314985 +Author: Sage Weil +Date: Tue Jan 22 18:08:22 2013 -0800 + + os/FileStore: add stall injection into filestore op queue + + Allow admin to artificially induce a stall in the op queue. Forces the + thread(s) to sleep for N seconds. We pause for 1 second increments and + recheck the value so that a previously stalled thread can be unwedged by + reinjecting a lower value (or 0). To stall indefinitely, just injust + very large number. + + Signed-off-by: Sage Weil + (cherry picked from commit 657df852e9c89bfacdbce25ea014f7830d61e6aa) + +commit beb6ca44cd0e7fc405360e6da974252cb76e7039 +Author: Sage Weil +Date: Tue Jan 22 18:03:10 2013 -0800 + + osd: do not join cluster if not healthy + + If our internal heartbeats are failing, do not send a boot message and try + to join the cluster. + + Signed-off-by: Sage Weil + (cherry picked from commit a4e78652cdd1698e8dd72dda51599348d013e5e0) + +commit 1ecdfca3a3b4985ebd182a5f399c7b15af258663 +Author: Sage Weil +Date: Tue Jan 22 18:01:07 2013 -0800 + + osd: hold lock while calling start_boot on startup + + This probably doesn't strictly matter because start_boot doesn't need the + lock (currently) and few other threads should be running, but it is + better to be consistent. + + Signed-off-by: Sage Weil + (cherry picked from commit c406476c0309792c43df512dddb2fe0f19835e71) + +commit e120bf20b3c7213fbde20907e158792dd36c8e54 +Author: Sage Weil +Date: Tue Jan 22 17:56:32 2013 -0800 + + osd: do not reply to ping if internal heartbeat is not healthy + + If we find that our internal threads are stalled, do not reply to ping + requests. If we do this long enough, peers will mark us down. If we are + only transiently unhealthy, we will reply to the next ping and they will + be satisfied. If we are unhealthy and marked down, and eventually recover, + we will mark ourselves back up. + + Signed-off-by: Sage Weil + (cherry picked from commit ad6b231127a6bfcbed600a7493ca3b66c68484d2) + +commit 5f396e2b9360401dfe4dc2afa6acc37df8580c80 +Author: Sage Weil +Date: Tue Jan 22 17:53:40 2013 -0800 + + osd: reduce op thread heartbeat default 30 -> 15 seconds + + If the thread stalls for 15 seconds, let our internal heartbeat fail. + This will let us internally respond more quickly to a stalled or failing + disk. + + Signed-off-by: Sage Weil + (cherry picked from commit 61eafffc3242357d9add48be9308222085536898) + +commit fca288b718ef4582d65ff4b9d1fc87ba53d7fd8d +Author: Sage Weil +Date: Mon Jan 21 21:02:01 2013 -0800 + + osd: improve sub_op flag points + + Signed-off-by: Sage Weil + (cherry picked from commit 73a969366c8bbd105579611320c43e2334907fef) + +commit f13ddc8a2df401c37f6dc792eb93fc0cc45705e2 +Author: Sage Weil +Date: Mon Jan 21 20:55:20 2013 -0800 + + osd: refactor ReplicatedPG::do_sub_op + + PULL is the only case where we don't wait for active. + + Signed-off-by: Sage Weil + (cherry picked from commit 23c02bce90c9725ccaf4295de3177e8146157723) + +commit d5e00f963f177745f0e0684d5977460b7ab59fbd +Author: Sage Weil +Date: Mon Jan 21 16:36:36 2013 -0800 + + osd: make last state for slow requests more informative + + Report on the last event string, and pass in important context for the + op event list, including: + + - which peers were sent sub ops and we are waiting for + - which pg queue we are delayed by + + Signed-off-by: Sage Weil + (cherry picked from commit a1137eb3e168c2d00f93789e4d565c1584790df0) + +commit ab3a110cbe16b548bb96225656b64507aa67e78f +Author: Sage Weil +Date: Mon Jan 21 15:59:07 2013 -0800 + + osd: dump op priority queue state via admin socket + + Signed-off-by: Sage Weil + (cherry picked from commit 24d0d7eb0165c8b8f923f2d8896b156bfb5e0e60) + +commit 43a65d04d8a13621a856baec85fb741971c13cb0 +Author: Sage Weil +Date: Mon Jan 21 15:50:33 2013 -0800 + + osd: simplify asok to single callback + + Signed-off-by: Sage Weil + (cherry picked from commit 33efe32151e04beaafd9435d7f86dc2eb046214d) + +commit d040798637da03e3df937181de156714fc62a550 +Author: Sage Weil +Date: Mon Jan 21 15:58:57 2013 -0800 + + common/PrioritizedQueue: dump state to Formatter + + Signed-off-by: Sage Weil + (cherry picked from commit 514af15e95604bd241d2a98a97b938889c6876db) + +commit 691fd505ad606bd8befd2b19113ee51a17a0a543 +Author: Sage Weil +Date: Mon Jan 21 15:29:28 2013 -0800 + + common/PrioritizedQueue: add min cost, max tokens per bucket + + Two problems. + + First, we need to cap the tokens per bucket. Otherwise, a stream of + items at one priority over time will indefinitely inflate the tokens + available at another priority. The cap should represent how "bursty" + we allow a given bucket to be. Start with 4MB for now. + + Second, set a floor on the item cost. Otherwise, we can have an + infinite queue of 0 cost items that start over queues. More + realistically, we need to balance the overhead of processing small items + with the cost of large items. I.e., a 4 KB item is not 1/1000th as + expensive as a 4MB item. + + Signed-off-by: Sage Weil + (cherry picked from commit 6e3363b20e590cd9df89f2caebe71867b94cc291) + +commit a2b03fe08044b5c121ea6b4c2f9d19e73e4c83d1 +Author: Sage Weil +Date: Mon Jan 21 14:52:54 2013 -0800 + + common/PrioritizedQueue: buckets -> tokens + + Signed-off-by: Sage Weil + (cherry picked from commit c549a0cf6fae78c8418a3b4b0702fd8a1e4ce482) + +commit 612d75cdee0daf9dfca97831c249e1ac3fbd59fc +Author: Sage Weil +Date: Mon Jan 21 14:31:00 2013 -0800 + + note puller's max chunk in pull requests + + this lets us calculate a cost value + (cherry picked from commit 128fcfcac7d3fb66ca2c799df521591a98b82e05) + +commit 2224e413fba11795693025fa8f11c3f1fba4bbaa +Author: Sage Weil +Date: Mon Jan 21 14:14:25 2013 -0800 + + osd: add OpRequest flag point when commit is sent + + With writeahead journaling in particular, we can get requests that + stay in the queue for a long time even after the commit is sent to the + client while we are waiting for the transaction to apply to the fs. + Instead of showing up as 'waiting for subops', make it clear that the + client has gotten its reply and it is local state that is slow. + + Signed-off-by: Sage Weil + (cherry picked from commit b685f727d4c37a26cb78bd4a04cce041428ceb52) + +commit 5b5ca5926258e4f0b5041fb2c15b1c2f904c4adb +Author: Sage Weil +Date: Mon Jan 21 13:57:59 2013 -0800 + + osd: set PULL subop cost to size of requested data + + Signed-off-by: Sage Weil + (cherry picked from commit a1bf8220e545f29b83d965f07b1abfbea06238b3) + +commit 10651e4f500d7b55d8c689a10a61d2239b3ecd26 +Author: Sage Weil +Date: Mon Jan 21 13:57:38 2013 -0800 + + osd: use Message::get_cost() function for queueing + + The data payload is a decent proxy for cost in most cases, but not all. + + Signed-off-by: Sage Weil + (cherry picked from commit e8e0da1a577e24cd4aad71fb94d8b244e2ac7300) + +commit 9735c6b163f4d226d8de6508d5c1534d18f1c300 +Author: Sage Weil +Date: Mon Jan 21 13:25:21 2013 -0800 + + osd: debug msg prio, cost, latency + + Signed-off-by: Sage Weil + (cherry picked from commit bec96a234c160bebd9fd295df5b431dc70a2cfb3) + +commit c48279da7ad98013ce97eab89c17fe9fae1ba866 +Author: Sage Weil +Date: Mon Jan 21 21:05:00 2013 -0800 + + filestore: filestore_queue_max_ops 500 -> 50 + + Having a deep queue limits the effectiveness of the priority queues + above by adding additional latency. + + Signed-off-by: Sage Weil + (cherry picked from commit 40654d6d53436c210b2f80911217b044f4d7643a) + +commit f47b2e8b607cc0d56a42ec7b1465ce6b8c0ca68c +Author: Sage Weil +Date: Mon Jan 21 20:00:26 2013 -0800 + + osd: target transaction size 300 -> 30 + + Small transactions make pg removal nicer to the op queue. It also slows + down PG deletion a bit, which may exacerbate the PG resurrection case + until #3884 is addressed. + + At least on user reported this fixed an osd that kept failing due to + an internal heartbeat failure. + + Signed-off-by: Sage Weil + (cherry picked from commit 1233e8617098766c95100aa9a6a07db1a688e290) + +commit 4947f0efadf9ef209d02fd17f5f86b9a7d6523ef +Author: Sage Weil +Date: Mon Jan 21 19:55:26 2013 -0800 + + os/FileStore: allow filestore_queue_max_{ops,bytes} to be adjusted at runtime + + The 'committing' ones too. + + Signed-off-by: Sage Weil + (cherry picked from commit cfe4b8519363f92f84f724a812aa41257402865f) + +commit ad6e6c91f61c092bfc9f88b788ccbee6438fd40b +Author: Sage Weil +Date: Sat Jan 19 22:06:27 2013 -0800 + + osd: make osd_max_backfills dynamically adjustable + + Signed-off-by: Sage Weil + (cherry picked from commit 101955a6b8bfdf91f4229f4ecb5d5b3da096e160) + +commit 939b1855245bc9cb31f5762027f2ed3f2317eb55 +Author: Sage Weil +Date: Sat Jan 19 18:28:35 2013 -0800 + + osd: make OSD a config observer + + Signed-off-by: Sage Weil + (cherry picked from commit 9230c863b3dc2bdda12c23202682a84c48f070a1) + + Conflicts: + + src/osd/OSD.cc + +commit b0f27a8f81feb401407bed784bf5d4d799998ee0 +Author: Dan Mick +Date: Tue Jan 8 11:21:22 2013 -0800 + + librbd: Allow get_lock_info to fail + + If the lock class isn't present, EOPNOTSUPP is returned for lock calls + on newer OSDs, but sadly EIO on older; we need to treat both as + acceptable failures for RBD images. rados lock list will still fail. + + Fixes #3744. + + Signed-off-by: Dan Mick + Reviewed-by: Sage Weil + (cherry picked from commit 4483285c9fb16f09986e2e48b855cd3db869e33c) + +commit 022a5254b4fac3f76220abdde2a2e81de33cb8dc +Author: Sage Weil +Date: Fri Jan 4 13:00:56 2013 -0800 + + osd: drop newlines from event descriptions + + These produce extra newlines in the log. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 9a1f574283804faa6dbba9165a40558e1a6a1f13) + +commit ebc93a878c8b0697004a619d6aa957a80b8b7e35 +Author: Samuel Just +Date: Fri Jan 18 14:35:51 2013 -0800 + + OSD: do deep_scrub for repair + + Signed-off-by: Samuel Just + Reviewed-by: David Zafman + (cherry picked from commit 0cb760f31b0cb26f022fe8b9341e41cd5351afac) + +commit 32527fa3eb48a7d7d5d67c39bfa05087dbc0e41b +Author: Samuel Just +Date: Mon Jan 14 12:52:04 2013 -0800 + + ReplicatedPG: ignore snap link info in scrub if nlinks==0 + + links==0 implies that the replica did not sent snap link information. + + Signed-off-by: Samuel Just + (cherry picked from commit 70c3512037596a42ba6eb5eb7f96238843095db9) + +commit 13e42265db150b19511a5a618c7a95ad801290c8 +Author: Sage Weil +Date: Fri Jan 11 12:25:22 2013 -0800 + + osd/PG: fix osd id in error message on snap collection errors + + Signed-off-by: Sage Weil + (cherry picked from commit 381e25870f26fad144ecc2fb99710498e3a7a1d4) + +commit e3b6191fc45c7d2c27ec75c867be822a6da17e9a +Author: Sage Weil +Date: Wed Jan 9 22:34:12 2013 -0800 + + osd/ReplicatedPG: validate ino when scrubbing snap collections + + Signed-off-by: Sage Weil + (cherry picked from commit 665577a88b98390b9db0f9991836d10ebdd8f4cf) + +commit 353b7341caff86f936a429669de52e6949a89c2b +Author: Samuel Just +Date: Wed Jan 9 16:41:40 2013 -0800 + + ReplicatedPG: compare nlinks to snapcolls + + nlinks gives us the number of hardlinks to the object. + nlinks should be 1 + snapcolls.size(). This will allow + us to detect links which remain in an erroneous snap + collection. + + Signed-off-by: Samuel Just + (cherry picked from commit e65ea70ea64025fbb0709ee8596bb2878be0bbdc) + +commit 33d5cfc8c080a270d65275f8e010a6468c77381a +Author: Samuel Just +Date: Thu Jan 10 15:35:10 2013 -0800 + + ReplicatedPG/PG: check snap collections during _scan_list + + During _scan_list check the snapcollections corresponding to the + object_info attr on the object. Report inconsistencies during + scrub_finalize. + + Signed-off-by: Samuel Just + (cherry picked from commit 57352351bb86e0ae9f64f9ba0d460c532d882de6) + +commit bea783bd722d862a5018477a637c843fe4b18a58 +Author: Samuel Just +Date: Wed Jan 9 11:53:52 2013 -0800 + + osd_types: add nlink and snapcolls fields to ScrubMap::object + + Signed-off-by: Samuel Just + (cherry picked from commit b85687475fa2ec74e5429d92ee64eda2051a256c) + +commit 0c48407bf46b39b2264a7be14e9d3caa2c1e5875 +Author: Samuel Just +Date: Thu Jan 3 20:16:50 2013 -0800 + + PG: move auth replica selection to helper in scrub + + Signed-off-by: Samuel Just + (cherry picked from commit 39bc65492af1bf1da481a8ea0a70fe7d0b4b17a3) + +commit c3433ce60ec3683217d8b4cd2b6e75fb749af2c6 +Author: Sage Weil +Date: Mon Jan 14 18:23:52 2013 -0800 + + mon: note scrub errors in health summary + + Signed-off-by: Sage Weil + (cherry picked from commit 8e33a8b9e1fef757bbd901d55893e9b84ce6f3fc) + +commit 90c6edd0155b327c48a5b178d848d9e5839bd928 +Author: Sage Weil +Date: Mon Jan 14 18:31:06 2013 -0800 + + osd: fix rescrub after repair + + We were rescrubbing if INCONSISTENT is set, but that is now persistent. + Add a new scrub_after_recovery flag that is reset on each peering interval + and set that when repair encounters errors. + + Signed-off-by: Sage Weil + (cherry picked from commit a586966a3cfb10b5ffec0e9140053a7e4ff105d2) + +commit 0696cf57283e6e9a3500c56ca5fc9f981475ca26 +Author: Sage Weil +Date: Mon Jan 14 18:22:02 2013 -0800 + + osd: note must_scrub* flags in PG operator<< + + Signed-off-by: Sage Weil + (cherry picked from commit d56af797f996ac92bf4e0886d416fd358a2aa08e) + +commit 1541ffe4bec6cce607c505271ff074fd0a292d30 +Author: Sage Weil +Date: Mon Jan 14 18:21:46 2013 -0800 + + osd: based INCONSISTENT pg state on persistent scrub errors + + This makes the state persistent across PG peering and OSD restarts. + + This has the side-effect that, on recovery, we rescrub any PGs marked + inconsistent. This is new behavior! + + Signed-off-by: Sage Weil + (cherry picked from commit 2baf1253eed630a7c4ae4cb43aab6475efd82425) + +commit 609101255c81d977072b2ab741ac47167d9b1b16 +Author: Sage Weil +Date: Mon Jan 14 18:20:29 2013 -0800 + + osd: fix scrub scheduling for 0.0 + + The initial value for pair can match pg 0.0, preventing it + from being manually scrubbed. Fix! + + Signed-off-by: Sage Weil + (cherry picked from commit 26a63df97b2a12fd1a7c1e3cc9ccd34ca2ef9834) + +commit 0961a3a85c286a31ec2e8bba23217bbd3974572c +Author: Sage Weil +Date: Sun Jan 13 23:03:01 2013 -0800 + + osd: note last_clean_scrub_stamp, last_scrub_errors + + Signed-off-by: Sage Weil + (cherry picked from commit 389bed5d338cf32ab14c9fc2abbc7bcc386b8a28) + +commit 8d823045538bf4c51506e349b5c6705fd76450f8 +Author: Sage Weil +Date: Sun Jan 13 22:59:39 2013 -0800 + + osd: add num_scrub_errors to object_stat_t + + Signed-off-by: Sage Weil + (cherry picked from commit 2475066c3247774a2ad048a2e32968e47da1b0f5) + +commit 3a1cd6e07b4e2a4714de159f69afd689495e2927 +Author: Sage Weil +Date: Sun Jan 13 22:43:35 2013 -0800 + + osd: add last_clean_scrub_stamp to pg_stat_t, pg_history_t + + Signed-off-by: Sage Weil + (cherry picked from commit d738328488de831bf090f23e3fa6d25f6fa819df) + +commit 7e5a899bdcf6c08a5f6f5c98cd2fff7fa2dacaca +Author: Sage Weil +Date: Sun Jan 13 22:56:14 2013 -0800 + + osd: fix object_stat_sum_t dump signedness + + Signed-off-by: Sage Weil + (cherry picked from commit 6f6a41937f1bd05260a8d70b4c4a58ecadb34a2f) + +commit e252a313d465006d3fe4db97939ad307ebe91c71 +Author: Sage Weil +Date: Sun Jan 13 22:04:58 2013 -0800 + + osd: change scrub min/max thresholds + + The previous 'osd scrub min interval' was mostly meaningless and useless. + Meanwhile, the 'osd scrub max interval' would only trigger a scrub if the + load was sufficiently low; if it was high, the PG might *never* scrub. + + Instead, make the 'min' what the max used to be. If it has been more than + this many seconds, and the load is low, scrub. And add an additional + condition that if it has been more than the max threshold, scrub the PG + no matter what--regardless of the load. + + Note that this does not change the default scrub interval for less-loaded + clusters, but it *does* change the meaning of existing config options. + + Fixes: #3786 + Signed-off-by: Sage Weil + (cherry picked from commit 299548024acbf8123a4e488424c06e16365fba5a) + + Conflicts: + + PendingReleaseNotes + +commit 33aa64eee34f4759f6000130de4d1306de49d087 +Author: Sage Weil +Date: Sun Jan 13 20:27:59 2013 -0800 + + osd/PG: remove useless osd_scrub_min_interval check + + This was already a no-op: we don't call PG::scrub_sched() unless it has + been osd_scrub_max_interval seconds since we last scrubbed. Unless we + explicitly requested in, in which case we don't want this check anyway. + + Signed-off-by: Sage Weil + (cherry picked from commit 16d67c798b6f752a6e03084bafe861396b86baae) + +commit fdd0c1ec3519376980a205b94e65187833634e2e +Author: Sage Weil +Date: Sun Jan 13 20:25:39 2013 -0800 + + osd: move scrub schedule random backoff to seperate helper + + Separate this from the load check, which will soon vary dependon on the + PG. + + Signed-off-by: Sage Weil + (cherry picked from commit a148120776d0930b265411332a60e93abfbf0423) + +commit 9ffbe268f785e1a74c0d893735117edb7a3ef377 +Author: Sage Weil +Date: Sat Jan 12 09:18:38 2013 -0800 + + osd/PG: trigger scrub via scrub schedule, must_ flags + + When a scrub is requested, flag it and move it to the front of the + scrub schedule instead of immediately queuing it. This avoids + bypassing the scrub reservation framework, which can lead to a heavier + impact on performance. + + Signed-off-by: Sage Weil + (cherry picked from commit 62ee6e099a8e4873287b54f9bba303ea9523d040) + +commit cffb1b22d5df7300ec411d2b620bf3c4a08351cd +Author: Sage Weil +Date: Sat Jan 12 09:15:16 2013 -0800 + + osd/PG: introduce flags to indicate explicitly requested scrubs + + Signed-off-by: Sage Weil + (cherry picked from commit 1441095d6babfacd781929e8a54ed2f8a4444467) + +commit 438e3dfc88bfdc8eb36b5b5f7b728b2610476724 +Author: Sage Weil +Date: Sat Jan 12 09:14:01 2013 -0800 + + osd/PG: move scrub schedule registration into a helper + + Simplifies callers, and will let us easily modify the decision of when + to schedule the PG for scrub. + + Signed-off-by: Sage Weil + (cherry picked from commit 796907e2159371f84a16cbd35f6caa8ac868acf6) + +commit acb47e4d7dc9682937984661a9d754131d806630 +Author: Sage Weil +Date: Fri Jan 18 12:14:48 2013 -0800 + + os/FileStore: only flush inline if write is sufficiently large + + Honor filestore_flush_min in the inline flush case. + + Backport: bobtail + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 49726dcf973c38c7313ab78743b45ccc879671ea) + +commit 15a1ced859629c361da127799b05620bee84c9a8 +Author: Sage Weil +Date: Fri Jan 18 12:14:40 2013 -0800 + + os/FileStore: fix compile when sync_file_range is missing; + + If sync_file_range is not present, we always close inline, and flush + via fdatasync(2). + + Fixes compile on ancient platforms like RHEL5.8. + + Backport: bobtail + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 8ddb55d34c72e6df1023cf427cbd41f3f98da402) + +commit 9dddb9d855e6d5fd804b54bff1f726c1d2fb566c +Author: Sage Weil +Date: Fri Jan 18 15:23:22 2013 -0800 + + osd: set pg removal transactions based on configurable + + Use the osd_target_transaction_size knob, and gracefully tolerate bogus + values (e.g., <= 0). + + Signed-off-by: Sage Weil + (cherry picked from commit 5e00af406b89c9817e9a429f92a05ca9c29b19c3) + +commit c30d231e40a17c3fb08d1db5e01133466170e90c +Author: Sage Weil +Date: Fri Jan 18 15:30:06 2013 -0800 + + osd: make pg removal thread more friendly + + For a large PG these are saturating the filestore and journal queues. Do + them synchronously to make them more friendly. They don't need to be fast. + + Signed-off-by: Sage Weil + (cherry picked from commit 4712e984d3f62cdf51ea67da8197eed18a5983dd) + +commit b2bc4b95fefaeb0cfc31ce0bc95b77062d0777c7 +Author: Sage Weil +Date: Fri Jan 18 15:27:24 2013 -0800 + + os: move apply_transactions() sync wrapper into ObjectStore + + This has nothing to do with the backend implementation. + + Signed-off-by: Sage Weil + (cherry picked from commit bc994045ad67fb70c7a0457b8cd29273dd5d1654) + +commit 6d161b57979246ddea4e6309e0e489ab729eec4b +Author: Sage Weil +Date: Fri Jan 18 15:28:24 2013 -0800 + + os: add apply_transaction() variant that takes a sequencer + + Also, move the convenience wrappers into the interface and funnel through + a single implementation. + + Signed-off-by: Sage Weil + (cherry picked from commit f6c69c3f1ac35546b90315fff625993ba5cd8c07) + +commit c5fe0965572c074a2a33660719ce3222d18c1464 +Author: Sage Weil +Date: Sun Jan 20 16:11:10 2013 -0800 + + osd: calculate initial PG mapping from PG's osdmap + + The initial values of up/acting need to be based on the PG's osdmap, not + the OSD's latest. This can cause various confusion in + pg_interval_t::check_new_interval() when calling OSDMap methods due to the + up/acting OSDs not existing yet (for example). + + Fixes: #3879 + Reported-by: Jens Kristian S?gaard + Tested-by: Jens Kristian S?gaard + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 17160843d0c523359d8fa934418ff2c1f7bffb25) + +commit 6008b1d8e4587d5a3aea60684b1d871401496942 +Author: Sage Weil +Date: Thu Jan 17 15:01:35 2013 -0800 + + osdmap: make replica separate in default crush map configurable + + Add 'osd crush chooseleaf type' option to control what the default + CRUSH rule separates replicas across. Default to 1 (host), and set it + to 0 in vstart.sh. + + Fixes: #3785 + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit c236a51a8040508ee893e4c64b206e40f9459a62) + +commit 5fb77bf1d1b241b4f9c1fe9e57288bbc84d8d97d +Author: Sage Weil +Date: Wed Jan 16 14:09:53 2013 -0800 + + ceph: adjust crush tunables via 'ceph osd crush tunables ' + + Make it easy to adjust crush tunables. Create profiles: + + legacy: the legacy values + argonaut: the argonaut defaults, and what is supported.. legacy! (*( + bobtail: best that bobtail supports + optimal: the current optimal values + default: the current default values + + * In actuality, argonaut supports some of the tunables, but it doesn't + say so via the feature bits. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + Reviewed-by: Dan Mick + (cherry picked from commit 19ee23111585f15a39ee2907fa79e2db2bf523f0) + +commit 8c0d702e6f2ba0ed0fe31c06c7a028260ae08e42 +Author: Sage Weil +Date: Fri Dec 28 17:20:43 2012 -0800 + + msg/Pipe: use state_closed atomic_t for _lookup_pipe + + We shouldn't look at Pipe::state in SimpleMessenger::_lookup_pipe() without + holding pipe_lock. Instead, use an atomic that we set to non-zero only + when transitioning to the terminal STATE_CLOSED state. + + Signed-off-by: Sage Weil + (cherry picked from commit 82f8bcddb5fa09913eb477ee26c71d6b4bb8d97c) + +commit 8e0359c3e586c0edcce769c8ed1a03444a521165 +Author: Sage Weil +Date: Sun Dec 23 13:43:15 2012 -0800 + + msgr: inject delays at inconvenient times + + Exercise some rare races by injecting delays before taking locks + via the 'ms inject internal delays' option. + + Signed-off-by: Sage Weil + (cherry picked from commit a5d692a7b9b4bec2c27993ca37aa3fec4065292b) + +commit 34e2d4024700f633c2c586265efb61537342db18 +Author: Sage Weil +Date: Sun Dec 23 09:22:18 2012 -0800 + + msgr: fix race on Pipe removal from hash + + When a pipe is faulting and shutting down, we have to drop pipe_lock to + take msgr lock and then remove the entry. The Pipe in this case will + have STATE_CLOSED. Handle this case in all places we do a lookup on + the rank_pipe hash so that we effectively ignore entries that are + CLOSED. + + This fixes a race introduced by the previous commit where we won't use + the CLOSED pipe and try to register a new one, but the old one is still + registered. + + See bug #3675. + + Signed-off-by: Sage Weil + (cherry picked from commit e99b4a307b4427945a4eb5ec50e65d6239af4337) + +commit ae1882e7efc91b770ac0ac8682ee6c5792a63a93 +Author: Sage Weil +Date: Sun Dec 23 09:19:05 2012 -0800 + + msgr: don't queue message on closed pipe + + If we have a con that refs a pipe but it is closed, don't use it. If + the ref is still there, it is only because we are racing with fault() + and it is about to (or just was) be detached. Either way, + + Signed-off-by: Sage Weil + (cherry picked from commit 6339c5d43974f4b495f15d199e01a141e74235f5) + +commit 373f1671b6cb64dba5a9172967b27177515be1fd +Author: Sage Weil +Date: Sat Dec 22 21:24:52 2012 -0800 + + msgr: atomically queue first message with connect_rank + + Atomically queue the first message on the new pipe, without dropping + and retaking pipe_lock. + + Signed-off-by: Sage Weil + (cherry picked from commit 7bf0b0854d1f2706a3a2302bcbf92dd5c8c888ef) + +commit 82f22b38c5dc0b636574679ba1fee1b36a3c0478 +Author: Samuel Just +Date: Thu Jan 10 11:06:02 2013 -0800 + + config_opts.h: default osd_recovery_delay_start to 0 + + This setting was intended to prevent recovery from overwhelming peering traffic + by delaying the recovery_wq until osd_recovery_delay_start seconds after pgs + stop being added to it. This should be less necessary now that recovery + messages are sent with strictly lower priority then peering messages. + + Signed-off-by: Samuel Just + Reviewed-by: Gregory Farnum + (cherry picked from commit 44625d4460f61effe2d63d8280752f10f159e7b4) + +commit 81e8bb55e28384048fd82116a791a65ca52ef999 +Author: Sage Weil +Date: Wed Jan 16 21:19:18 2013 -0800 + + osdmaptool: more fix cli test + + Signed-off-by: Sage Weil + (cherry picked from commit b0162fab3d927544885f2b9609b9ab3dc4aaff74) + +commit 2b5b2657579abdf5b1228f4c5c5ac8cec3706726 +Author: Sage Weil +Date: Wed Jan 16 21:10:26 2013 -0800 + + osdmaptool: fix cli test + + Signed-off-by: Sage Weil + (cherry picked from commit 5bd8765c918174aea606069124e43c480c809943) + +commit f739d1238a8a67598c037b6e2ed5d539a2d79996 +Author: Samuel Just +Date: Wed Jan 16 14:21:47 2013 -0800 + + osdmaptool: allow user to specify pool for test-map-object + + Fixes: #3820 + Backport: bobtail + Signed-off-by: Samuel Just + Reviewed-by: Gregory Farnum + (cherry picked from commit 85eb8e382a26dfc53df36ae1a473185608b282aa) + +commit 00759ee08f5dc62cbe4f237399f298472f6d8f4a +Author: David Zafman +Date: Wed Jan 16 12:41:16 2013 -0800 + + rados.cc: fix rmomapkey usage: val not needed + + Signed-off-by: David Zafman + Reviewed-by: Samuel Just + (cherry picked from commit 625c3cb9b536a0cff7249b8181b7a4f09b1b4f4f) + +commit 06b3270f679be496df41810dacf863128b0cfcaa +Author: Samuel Just +Date: Tue Jan 15 21:27:23 2013 -0800 + + librados.hpp: fix omap_get_vals and omap_get_keys comments + + We list keys greater than start_after. + + Signed-off-by: Samuel Just + Reviewed-by: David Zafman + (cherry picked from commit 3f0ad497b3c4a5e9bef61ecbae5558ae72d4ce8b) + +commit 75072965201380aa55a8e15f9db4ccaf4d34d954 +Author: Samuel Just +Date: Tue Jan 15 21:26:22 2013 -0800 + + rados.cc: use omap_get_vals_by_keys in getomapval + + Fixes: #3811 + Signed-off-by: Samuel Just + Reviewed-by: David Zafman + (cherry picked from commit cb5e2be418924cf8b2c6a6d265a7a0327f08d00a) + +commit a3c2980fccfe95b7d094a7c93945437c3911b858 +Author: Samuel Just +Date: Tue Jan 15 21:24:50 2013 -0800 + + rados.cc: fix listomapvals usage: key,val are not needed + + Fixes: #3812 + Signed-off-by: Samuel Just + Reviewed-by: David Zafman + (cherry picked from commit 44c45e520cc2e60c6c803bb245edb9330bff37e4) + +commit 20b27a1ce71c379a3b2a29d282dc0689a3a0df46 +Author: Yehuda Sadeh +Date: Wed Jan 16 15:01:47 2013 -0800 + + rgw: copy object should not copy source acls + + Fixes: #3802 + Backport: argonaut, bobtail + + When using the S3 api and x-amz-metadata-directive is + set to COPY we used to copy complete metadata of source + object. However, this shouldn't include the source ACLs. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 37dbf7d9df93dd0e92019be31eaa1a19dd9569c7) + +commit 3293b31b44c9adad2b5e37da9d5342a6e4b72ade +Author: Samuel Just +Date: Fri Jan 11 11:02:15 2013 -0800 + + OSD: only trim up to the oldest map still in use by a pg + + map_cache.cached_lb() provides us with a lower bound across + all pgs for in-use osdmaps. We cannot trim past this since + those maps are still in use. + + backport: bobtail + Fixes: #3770 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit 66eb93b83648b4561b77ee6aab5b484e6dba4771) + +commit 898a4b19ecc6fffc33feb198f37182ec0a6e77e9 +Author: Sage Weil +Date: Mon Jan 14 08:15:02 2013 -0800 + + Revert "osdmap: spread replicas across hosts with default crush map" + + This reverts commit 503917f0049d297218b1247dc0793980c39195b3. + + This breaks vstart and teuthology configs. A better fix is coming. + +commit 55b7dd3248f35929ea097525798e8667fafbf161 +Author: Joao Eduardo Luis +Date: Thu Jan 10 18:54:12 2013 +0000 + + mon: OSDMonitor: don't output to stdout in plain text if json is specified + + Fixes: #3748 + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit 410906e04936c935903526f26fb7db16c412a711) + +commit 015a454a0c046cb678991cc4f4d53fb58c41dbe4 +Author: Sage Weil +Date: Fri Jan 11 17:23:22 2013 -0800 + + osdmap: spread replicas across hosts with default crush map + + This is more often the case than not, and we don't have a good way to + magically know what size of cluster the user will be creating. Better to + err on the side of doing the right thing for more people. + + Fixes: #3785 + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit 7ea5d84fa3d0ed3db61eea7eb9fa8dbee53244b6) + +commit d882d053927c319274be38a247f2beabb4e06b64 +Author: Samuel Just +Date: Wed Jan 9 19:17:23 2013 -0800 + + ReplicatedPG: fix snapdir trimming + + The previous logic was both complicated and not correct. Consequently, + we have been tending to drop snapcollection links in some cases. This + has resulted in clones incorrectly not being trimmed. This patch + replaces the logic with something less efficient but hopefully a bit + clearer. + + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 0f42c37359d976d1fe90f2d3b877b9b0268adc0b) diff --git a/doc/changelog/v0.56.3.txt b/doc/changelog/v0.56.3.txt new file mode 100644 index 00000000..c87675a9 --- /dev/null +++ b/doc/changelog/v0.56.3.txt @@ -0,0 +1,562 @@ +commit 6eb7e15a4783b122e9b0c85ea9ba064145958aa5 +Author: Gary Lowell +Date: Wed Feb 13 10:10:20 2013 -0800 + + v0.56.3 + +commit f5eb845a0f7a2c28d3a88a37479bcb34f882f40c +Author: Yehuda Sadeh +Date: Fri Feb 8 13:14:49 2013 -0800 + + rgw: change json formatting for swift list container + + Fixes: #4048 + There is some difference in the way swift formats the + xml output and the json output for list container. In + xml the entity is named 'name' and in json it is named + 'subdir'. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 3e4d79fe42dfc3ca70dc4d5d2aff5223f62eb34b) + +commit f21543f0d88f7bacb69cef3712b0ce087f386e93 +Author: Josh Durgin +Date: Mon Feb 11 17:08:55 2013 -0800 + + librbd: unprotect any non-unprotected snapshot + + Include snapshots in the UNPROTECTING state as well, which can occur + after an unprotect is interrupted. + + Fixes: #4100 + Backport: bobtail + Signed-off-by: Josh Durgin + Reviewed-by: Dan Mick + (cherry picked from commit fe283813b44a7c45def6768ea0788a3a0635957e) + +commit 65969f8fbef02ee39f6c2365fffbcd3f633f4b37 +Author: Sage Weil +Date: Fri Feb 8 21:36:13 2013 -0800 + + java: make CephMountTest use user.* xattr names + + Changes to the xattr code in Ceph require + a few tweaks to existing test cases. + Specifically, there is now a ceph.file.layout + xattr by default and user defined xattrs + are prepended with "user." + + Signed-off-by: Sage Weil + Reviewed-by: Joe Buck + Reviewed-by: Noah Watkins + +commit 14fddc3ce85d3695aad9d3597f8f50dba5960a86 +Author: Sage Weil +Date: Fri Feb 8 09:59:25 2013 -0800 + + mon: fix typo in C_Stats + + Broken by previous commit. + + Signed-off-by: Sage Weil + (cherry picked from commit 3cf3710be0b4cccc8de152a97be50d983c35116d) + +commit 0453140d187016a61950a8836da57f54d2c34602 +Author: Sage Weil +Date: Thu Feb 7 23:13:11 2013 -0800 + + mon: retry PGStats message on EAGAIN + + If we get EAGAIN from a paxos restart/election/whatever, we should + restart the message instead of just blindly acking it. + + Signed-off-by: Sage Weil + Reviewed-by: Joao Luis + (cherry picked from commit 4837063d447afb45554f55bb6fde1c97559acd4b) + +commit e68fcec78286363935cf731015108b9ea36b50a6 +Author: Sage Weil +Date: Thu Feb 7 22:06:14 2013 -0800 + + mon: handle -EAGAIN in completion contexts + + We can get ECANCELED, EAGAIN, or success out of the completion contexts, + but in the EAGAIN case (meaning there was an election) we were sending + a success to the client. This resulted in client hangs and all-around + confusion when the monitor cluster was thrashing. + + Backport: bobtail + Signed-off-by: Sage Weil + Reviewed-by: Joao Luis + (cherry picked from commit 17827769f1fe6d7c4838253fcec3b3a4ad288f41) + +commit 20ec490555728251444833520a40b20dc8015216 +Author: Sage Weil +Date: Tue Feb 12 14:11:09 2013 -0800 + + osd: only share maps on hb connection of OSD_HBMSGS feature is set + + Back in 1bc419a7affb056540ba8f9b332b6ff9380b37af we started sharing maps + with dead osds via the heartbeat connection, but old code will crash on an + unexpected message. Only do this if the OSD_HBMSGS feature is present. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 302b26ff70ee5539da3dcb2e5614e2b7e83b9dcd) + +commit cbf63b633e7a59456f503af487fd4ad2607bbd76 +Author: Sage Weil +Date: Tue Feb 12 14:10:51 2013 -0800 + + osd: tolerate unexpected messages on the heartbeat interface + + We should note but not crash on unexpected messages. Announce this awesome + new "capability" via a feature bit. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit afda30aeaae0a65f83c6886658354ad2b57c4c43) + + Conflicts: + + src/include/ceph_features.h + +commit 102a519632f1b7a0fede9a3fbd4a5c1df0e732a5 +Merge: 2c6afa0 2ebf4d0 +Author: Sage Weil +Date: Tue Feb 12 13:39:52 2013 -0800 + + Merge remote-tracking branch 'gh/wip-bobtail-osd-msgr' into bobtail + +commit 2c6afa058e8b1738c1400392320482945834de86 +Author: Sage Weil +Date: Wed Jan 30 11:32:23 2013 -0800 + + test_libcephfs: fix xattr test + + Ignore the ceph.*.layout xattrs. + + Signed-off-by: Sage Weil + (cherry picked from commit b0d4dd21c7be86eb47728a4702a3c67ca44424ac) + +commit f11beb954976f66bfae75e847937f84958ebeaf3 +Author: Sage Weil +Date: Thu Feb 7 22:51:29 2013 -0800 + + radosgw-admin: fix cli test + + Signed-off-by: Sage Weil + (cherry picked from commit 1b05b0edbac09d1d7cf0da2e536829df05e48573) + +commit ec1085e534eb39d999775bebdcdb997f893a04ae +Merge: 66d7758 62ed62f +Author: Sage Weil +Date: Thu Feb 7 23:25:30 2013 -0800 + + Merge remote-tracking branch 'gh/wip-bobtail-vxattrs' into bobtail + +commit 66d775858004d1d4e8a138b8d33a3799e03ce26e +Author: Sage Weil +Date: Mon Feb 4 09:14:39 2013 -0800 + + mon: enforce reweight be between 0..1 + + Signed-off-by: Sage Weil + Reviewed-by: Joao Luis + (cherry picked from commit 4e29c95d6f61daa838888840cef0cceedc0fcfdd) + +commit 8bab3a1c3d0d2f619ddf885bb9050ad9a1c43517 +Author: Samuel Just +Date: Thu Feb 7 10:38:00 2013 -0800 + + PG: dirty_info on handle_activate_map + + We need to make sure the pg epoch is persisted during + activate_map. + + Backport: bobtail + Reviewed-by: Sage Weil + Signed-off-by: Samuel Just + (cherry picked from commit dbce1d0dc919e221523bd44e1d0834711da1577d) + +commit dffa386bc13370c0ef56acf740b5200b2054980f +Author: Sage Weil +Date: Thu Feb 7 10:21:49 2013 -0800 + + osd: flush peering queue (consume maps) prior to boot + + If the osd itself is behind on many maps during boot, it will get more and + (as part of that) flush the peering wq to ensure the pgs consume them. + However, it is possible for OSD to have latest/recnet maps, but pgs to be + behind, and to jump directly to boot and join. The OSD is then laggy and + unresponsive because the peering wq is way behind. + + To avoid this, call consume_map() (kick the peering wq) at the end of + init and flush it to ensure we are *internally* all caught up before we + consider joining the cluster. + + I'm pretty sure this is the root cause of #3905 and possibly #3995. + + Signed-off-by: Sage Weil + Reviewed-by: Josh Durgin + Reviewed-by: Samuel Just + (cherry picked from commit af95d934b039d65d3667fc022e2ecaebba107b01) + +commit 47c9f46aac4afac37fb6ec72f0482e61f5e0d798 +Author: Yehuda Sadeh +Date: Wed Feb 6 17:10:00 2013 -0800 + + rgw: a tool to fix clobbered bucket info in user's bucket list + + This fixes bad entries in user's bucket list that may have occured + due to issue #4039. Syntax: + + $ radosgw-admin user check --uid= [--fix] + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 9cb6c33f0e2281b66cc690a28e08459f2e62ca13) + + Conflicts: + src/rgw/rgw_admin.cc + +commit 6c8d63819fde1b6854f8fc03351465b420ff1bdc +Author: Yehuda Sadeh +Date: Wed Feb 6 16:43:48 2013 -0800 + + rgw: bucket recreation should not clobber bucket info + + Fixes: #4039 + User's list of buckets is getting modified even if bucket already + exists. This fix removes the newly created directory object, and + makes sure that user info's data points at the correct bucket. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 9d006ec40ced9d97b590ee07ca9171f0c9bec6e9) + + Conflicts: + src/rgw/rgw_op.cc + src/rgw/rgw_rados.cc + +commit cc167914ac9603f87083c63f2cbc8dac9441329f +Author: Yehuda Sadeh +Date: Tue Feb 5 14:50:54 2013 -0800 + + rgw: a tool to fix buckets with leaked multipart references + + Checks specified bucket for the #4011 symptoms, optionally fix + the issue. + + sytax: + radosgw-admin bucket check --bucket= [--fix] + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 2d8faf8e5f15e833e6b556b0f3c4ac92e4a4151e) + + Conflicts: + src/rgw/rgw_admin.cc + src/rgw/rgw_rados.h + +commit 4d6964fc7ddd23806e225c95bcb90ef93e4d23a1 +Author: Yehuda Sadeh +Date: Tue Feb 5 13:54:11 2013 -0800 + + rgw: radosgw-admin object unlink + + Add a radosgw-admin option to remove object from bucket index + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 16235a7acb9543d60470170bb2a09956364626cd) + + Conflicts: + src/rgw/rgw_admin.cc + src/rgw/rgw_rados.h + src/test/cli/radosgw-admin/help.t + +commit 2ebf4d065af3dc2e581a25b921071af3efb57f8a +Author: Sage Weil +Date: Fri Jan 25 09:30:00 2013 -0800 + + osd: kill unused addr-based send_map() + + Not used, old API, bad. + + Signed-off-by: Sage Weil + (cherry picked from commit e359a862199c8a94cb238f7271ba1b0edcc0863c) + +commit bac5b144b27f32da306161ae7018ccc337704121 +Author: Sage Weil +Date: Fri Jan 25 09:29:37 2013 -0800 + + osd: share incoming maps via Connection*, not addrs + + Kill a set of parallel methods that are using the old addr/inst-based + msgr APIs, and instead use Connection handles. This is much safer and gets + us closer to killing the old msgr API. + + Signed-off-by: Sage Weil + (cherry picked from commit 5e2fab54a4fdf2f59e2b635cbddef8a5909acb7c) + +commit 9ca3a165ded62313ba153d7bab89dadf3f73999f +Author: Sage Weil +Date: Fri Jan 25 09:27:00 2013 -0800 + + osd: pass new maps to dead osds via existing Connection + + Previously we were sending these maps to dead osds via their old addrs + using a new outgoing connection and setting the flags so that the msgr + would clean up. That mechanism is possibly buggy and fragile, and we can + avoid it entirely if we just reuse the existing heartbeat Connection. + + Signed-off-by: Sage Weil + (cherry picked from commit 1bc419a7affb056540ba8f9b332b6ff9380b37af) + +commit 4cb28b6ed5a702fdac99b8ec71233ef7f877a7a2 +Author: Sage Weil +Date: Fri Jan 25 09:25:28 2013 -0800 + + osd: requeue osdmaps on heartbeat connections for cluster connection + + If we receive an OSDMap on the cluster connection, requeue it for the + cluster messenger, and process it there where we normally do. This avoids + any concerns about locking and ordering rules. + + Signed-off-by: Sage Weil + (cherry picked from commit 76705ace2e9767939aa9acf5d9257c800f838854) + +commit e4f7ff8c288eac8a8b57382f11a4b6f93682315a +Author: Sage Weil +Date: Fri Jan 25 09:23:23 2013 -0800 + + msgr: add get_loopback_connection() method + + Return the Connection* for ourselves, so we can queue messages for + ourselves. + + Signed-off-by: Sage Weil + (cherry picked from commit a7059eb3f3922cf08c1e5bb5958acc2d45952482) + +commit 62ed62f5e2fb068cee38612d7974526aa1b3c759 +Author: Sage Weil +Date: Sat Jan 19 11:33:04 2013 -0800 + + qa: add layout_vxattrs.sh test script + + Test virtual xattrs for file and directory layouts. + + TODO: create a data pool, add it to the fs, and make sure we can use it. + + Signed-off-by: Sage Weil + (cherry picked from commit 61fbe27a52d12ecd98ddeb5fc0965c4f8ee7841a) + +commit d386622c3961a3b57eea42fdb82611cd2e904f4d +Author: Sage Weil +Date: Sat Jan 19 10:11:18 2013 -0800 + + mds: allow dir layout/policy to be removed via removexattr on ceph.dir.layout + + This lets a user remove a policy that was previously set on a dir. + + Signed-off-by: Sage Weil + (cherry picked from commit db31a1f9f27416e4d531fda716e32d42a275e84f) + +commit 6af5da7ae2c4ef95c16c6460770b6244d1aa1a6e +Author: Sage Weil +Date: Sat Jan 19 10:09:39 2013 -0800 + + mds: handle ceph.*.layout.* setxattr + + Allow individual fields of file or dir layouts to be set via setxattr. + + Signed-off-by: Sage Weil + (cherry picked from commit ebebf72f0993d028e795c78a986e1aee542ca5e0) + +commit c0af056eb9bdb62cfd8a6f9054a3a3c78c8e7447 +Author: Sage Weil +Date: Mon Feb 4 22:03:32 2013 -0800 + + mdsmap: backported is_data_pool() + + This roughly corresponds to mainline commit 99d9e1d. + + Signed-off-by: Sage Weil + +commit 0407af4641ea19697f8feb0f48a92cde8dd4fbe4 +Author: Sage Weil +Date: Sat Jan 19 10:04:05 2013 -0800 + + mds: fix client view of dir layout when layout is removed + + We weren't handling the case where the projected node has NULL for the + layout properly. Fixes the client's view when we remove the dir layout. + + Signed-off-by: Sage Weil + (cherry picked from commit 09f28541e374ffac198e4d48082b064aae93cb2c) + +commit 8ce834d3f50b00fdd59cd237f3fb5fef1d57e1dd +Author: Sage Weil +Date: Sat Jan 19 10:04:39 2013 -0800 + + client: note presence of dir layout in inode operator<< + + Signed-off-by: Sage Weil + (cherry picked from commit 84751489ca208964e617516e04556722008ddf67) + +commit 99824b93cec93daaa0d536f031eb3b6180f94e3b +Author: Sage Weil +Date: Sat Jan 19 09:05:59 2013 -0800 + + client: list only aggregate xattr, but allow setting subfield xattrs + + Signed-off-by: Sage Weil + (cherry picked from commit ba32ea9454d36072ec5ea3e6483dc3daf9199903) + +commit 809cff488ea1ffa299edd678ba6260993771bde3 +Author: Sage Weil +Date: Fri Jan 18 22:26:00 2013 -0800 + + client: implement ceph.file.* and ceph.dir.* vxattrs + + Display ceph.file.* vxattrs on any regular file, and ceph.dir.* vxattrs + on any directory that has a policy set. + + Signed-off-by: Sage Weil + (cherry picked from commit 3f82912a891536dd7e930f98e28d9a8c18fab756) + +commit 13babca354d9fbe255de8bae9608a0c158bf6c40 +Author: Sage Weil +Date: Fri Jan 18 17:21:37 2013 -0800 + + client: move xattr namespace enforcement into internal method + + This captures libcephfs users now too. + + Signed-off-by: Sage Weil + (cherry picked from commit febb96509559084357bfaabf7e4d28e494c274aa) + +commit 65ab51740175254ba3ee050f0fd97332dffe2eb7 +Author: Sage Weil +Date: Fri Jan 18 17:20:22 2013 -0800 + + client: allow ceph.* xattrs + + Signed-off-by: Sage Weil + (cherry picked from commit ad7ebad70bf810fde45067f78f316f130a243b9c) + +commit 6f3c1cd2cc07d951dfc23e523b9c6400b7c77c72 +Author: caleb miles +Date: Mon Jan 14 12:16:12 2013 -0500 + + rgw_rest: Make fallback uri configurable. + + Some HTTP servers, notabily lighttp, do not set SCRIPT_URI, make the fallback + string configurable. + + Signed-off-by: caleb miles + Reviewed-by: Yehuda Sadeh + (cherry picked from commit b3a2e7e955547a863d29566aab62bcc480e27a65) + + Conflicts: + src/rgw/rgw_rest.cc + +commit f57d1b4c8cc4d08c6147423d7881be55ed2e88d9 +Author: Yehuda Sadeh +Date: Fri Feb 1 10:56:11 2013 -0800 + + rgw: fix setting of NULL to string + + Fixes: #3777 + s->env->get() returns char * and not string and can return NULL. + Also, remove some old unused code. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 9019fbbe8f84f530b6a8700dfe99dfeb03e0ed3d) + +commit 55687240b2de20185524de07e67f42c3b1ae6592 +Author: Samuel Just +Date: Fri Jan 11 10:44:04 2013 -0800 + + OSD: check for empty command in do_command + + Fixes: #3878 + Signed-off-by: Samuel Just + Reviewed-by: David Zafman + (cherry picked from commit 8cf79f252a1bcea5713065390180a36f31d66dfd) + +commit c3468f76a5e68a6426f03e508d8ecf26950fca2a +Author: Danny Al-Gaaf +Date: Wed Jan 30 18:52:24 2013 +0100 + + PGMap: fix -Wsign-compare warning + + Fix -Wsign-compare compiler warning: + + mon/PGMap.cc: In member function 'void PGMap::apply_incremental + (CephContext*, const PGMap::Incremental&)': + mon/PGMap.cc:247:30: warning: comparison between signed and + unsigned integer expressions [-Wsign-compare] + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit b571f8ee2d22a3894120204bc5f119ff37e1de53) + +commit 5a6b9af90f00d08ef97b34ee0b5abc7b0b63e72b +Author: Sage Weil +Date: Mon Jan 28 19:46:33 2013 -0800 + + mon: smooth pg stat rates over last N pgmaps + + This smooths the recovery and throughput stats over the last N pgmaps, + defaulting to 2. + + Signed-off-by: Sage Weil + (cherry picked from commit a7d15afb529615db56bae038b18b66e60d827a96) + +commit 7fd7a5eed19d5ab508d5fe11ff8734bc2bc8c565 +Author: Sage Weil +Date: Fri Jan 25 19:51:40 2013 -0800 + + mon/PGMap: report IO rates + + This does not appear to be very accurate; probably the stat values we're + displaying are not being calculated correctly. + + Signed-off-by: Sage Weil + (cherry picked from commit 3f6837e022176ec4b530219043cf12e009d1ed6e) + +commit 7f149cf6730280f0e633d9f5ef3f0f95c5a5e430 +Author: Sage Weil +Date: Fri Jan 25 19:51:14 2013 -0800 + + mon/PGMap: report recovery rates + + Signed-off-by: Sage Weil + (cherry picked from commit 208b02a748d97378f312beaa5110d8630c853ced) + +commit 8d2d396c6d02bff72aca53920e9ac93fe91428d3 +Author: Sage Weil +Date: Fri Jan 25 19:50:45 2013 -0800 + + mon/PGMap: include timestamp + + Signed-off-by: Sage Weil + (cherry picked from commit 76e9fe5f06411eb0e96753dcd708dd6e43ab2c02) + +commit 8ab77bd4b510149f4df6b3134de0ef59272cec71 +Author: Sage Weil +Date: Fri Jan 25 19:49:16 2013 -0800 + + osd: track recovery ops in stats + + Signed-off-by: Sage Weil + (cherry picked from commit a2495f658c6d17f56ea0a2ab1043299a59a7115b) + +commit 8fd8534b4b808292a4b7c6b9f2f866c431cf9645 +Author: Sage Weil +Date: Fri Jan 25 19:06:52 2013 -0800 + + osd_types: add recovery counts to object_sum_stats_t + + Signed-off-by: Sage Weil + (cherry picked from commit 4aea19ee60fbe1106bdd71de2d172aa2941e8aab) diff --git a/doc/changelog/v0.56.4.txt b/doc/changelog/v0.56.4.txt new file mode 100644 index 00000000..f48fd834 --- /dev/null +++ b/doc/changelog/v0.56.4.txt @@ -0,0 +1,1126 @@ +commit 63b0f854d1cef490624de5d6cf9039735c7de5ca +Author: Gary Lowell +Date: Mon Mar 25 11:02:31 2013 -0700 + + v0.56.4 + +commit 90ab120a3c08f30654207c9c67fb0a4ff1476aff +Author: Yehuda Sadeh +Date: Mon Mar 25 09:50:33 2013 -0700 + + rgw: bucket index ops on system buckets shouldn't do anything + + Fixes: #4508 + Backport: bobtail + On certain bucket index operations we didn't check whether + the bucket was a system bucket, which caused the operations + to fail. This triggered an error message on bucket removal + operations. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 70e0ee8ba955322832f0c366537ddf7a0288761e) + +commit b8657fa08d0fe176c71a60c1654c53c3156a9c53 +Author: Josh Durgin +Date: Mon Feb 25 15:02:50 2013 -0800 + + systest: restrict list error acceptance + + Only ignore errors after the midway point if the midway_sem_post is + defined. + + Signed-off-by: Josh Durgin + (cherry picked from commit 5b24a68b6e7d57bac688021b822fb2f73494c3e9) + +commit 5af3d64f62b30cbaac13ccc7c23fc884ee1b7ae3 +Author: Josh Durgin +Date: Mon Feb 25 14:55:34 2013 -0800 + + systest: fix race with pool deletion + + The second test have pool deletion and object listing wait on the same + semaphore to connect and start. This led to errors sometimes when the + pool was deleted before it could be opened by the listing process. Add + another semaphore so the pool deletion happens only after the listing + has begun. + + Fixes: #4147 + Signed-off-by: Josh Durgin + (cherry picked from commit b0271e390564119e998e18189282252d54f75eb6) + +commit 3569489b541ac0643520d20b08c788c26dfaff7f +Author: Sage Weil +Date: Tue Mar 19 14:26:16 2013 -0700 + + os/FileJournal: fix aio self-throttling deadlock + + This block of code tries to limit the number of aios in flight by waiting + for the amount of data to be written to grow relative to a function of the + number of aios. Strictly speaking, the condition we are waiting for is a + function of both aio_num and the write queue, but we are only woken by + changes in aio_num, and were (in rare cases) waiting when aio_num == 0 and + there was no possibility of being woken. + + Fix this by verifying that aio_num > 0, and restructuring the loop to + recheck that condition on each wakeup. + + Fixes: #4079 + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit e5940da9a534821d0d8f872c13f9ac26fb05a0f5) + +commit 664ffa7d2178e486b00fa0706067f19b1bb9ab82 +Author: Sage Weil +Date: Fri Mar 22 13:25:49 2013 -0700 + + common/MemoryModel: remove logging to /tmp/memlog + + This was a hack for dev purposes ages ago; remove it. The predictable + filename is a security issue. + + CVE-2013-1882 + + Reported-by: Michael Scherer + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit c524e2e01da41ab5b6362c117939ea1efbd98095) + +commit 901fa435bb4be29b72cec39e5ff77570d13cbc6c +Author: Sage Weil +Date: Fri Mar 22 13:25:43 2013 -0700 + + init-ceph: clean up temp ceph.conf filename on exit + + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 6a7ad2eac1db6abca3d7edb23ca9b80751400a23) + +commit 951f7e562afb4ae91b8d037ef793a96779461e96 +Author: Sage Weil +Date: Fri Mar 22 13:25:33 2013 -0700 + + init-ceph: push temp conf file to a unique location on remote host + + The predictable file name is a security problem. + + CVE-2013-1882 + + Reported-by: Michael Scherer + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 051734522fea92878dd8139f28ec4e6b01371ede) + +commit dd670afccfd3ae58c03ea3b4c213dd8db22f618e +Author: Sage Weil +Date: Fri Mar 22 13:25:23 2013 -0700 + + mkcephfs: make remote temp directory name unique + + The predictable file name is a security problem. + + CVE-2013-1882 + + Reported-by: Michael Scherer + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit f463ef78d77b11b5ad78b31e9a3a88d0a6e62bca) + +commit 1cd51eb63a91fa0aa395c41572cfee4d53fbc7f5 +Author: Samuel Just +Date: Fri Mar 22 13:51:14 2013 -0700 + + PG::GetMissing: need to check need_up_thru in MLogRec handler + + Backport: bobtail + Fixes: #4534 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 4fe4deafbe1758a6b3570048aca57485bd562440) + +commit d866814285667c7f9cd9205dca6cf95f3634c5fc +Author: Samuel Just +Date: Fri Mar 22 13:48:49 2013 -0700 + + PG,osd_types: improve check_new_interval debugging + + Backport: bobtail + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit d611eba9caf45f2d977c627b123462a073f523a4) + +commit fc3406f395103737e5784611e2b38fd1c4f26369 +Author: Samuel Just +Date: Tue Mar 5 16:06:20 2013 -0800 + + FileStore: fix reversed collection_empty return value + + Backport: bobtail + Fixes: #4380 + Signed-off-by: Samuel Just + Reviewed-by: Greg Farnum + (cherry picked from commit 7a434d10da0f77e1b329de0b06b6645cd73cc81b) + + Conflicts: + src/os/FileStore.cc + +commit 9f7c6ad395653b1039ea957cfaa7689699f510e7 +Author: Samuel Just +Date: Mon Feb 11 12:52:07 2013 -0800 + + FileStore: set replay guard on create_collection + + This should prevent sequences like: + + rmcoll a + mkcoll a + touch a foo + + + from causing trouble by preventing the rmcoll + and mkcoll from being replayed. + + Fixes: 4064 + Backport: bobtail + Signed-off-by: Samuel Just + (cherry picked from commit 411770c45734c9827745ddc4018d86c14f2858a6) + +commit 9932c9f0a0503f1902549a3c39e5d51488fff3ef +Author: Samuel Just +Date: Mon Feb 11 12:24:14 2013 -0800 + + FileStore: _split_collection should not create the collection + + This will simplify adding a replay guard to create_collection. + + Backport: bobtail + Signed-off-by: Samuel Just + (cherry picked from commit b184ff581a08c9e6ce5b858f06ccbe9d0e2a170b) + +commit 7e7ea8266ee45d96863e1edc5a567dcc2977680c +Author: Sage Weil +Date: Fri Feb 22 15:15:27 2013 -0800 + + client: use 4MB f_bsize and f_frsize for statfs + + Old stat(1) reports: + + Block size: 1048576 Fundamental block size: 1048576 + + and the df(1) arithmetic works out. New stat(1) reports: + + Block size: 1048576 Fundamental block size: 4096 + + which is what we are shoving into statvfs, but we have the b_size and + fr_size arithmetic swapped. However, doing the *correct* reporting would + then break the old stat by making both sizes appear to be 4KB (or + whatever). + + Sidestep the issue by making *both* values 4MB.. which is both large enough + to report large FS sizes, and also the default stripe size and thus a + "reasonable" value to report for a block size. + + Perhaps in the future, when we no longer care about old userland, we can + report the page size for f_bsize, which is probably the "most correct" + thing to do. + + Fixes: #3794. See also #3793. + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit 7c94083643891c9d66a117352f312b268bdb1135) + +commit 66dca7730006dffbce12e6b27016ea5469b7691b +Author: Sage Weil +Date: Mon Feb 18 17:39:46 2013 -0800 + + os/FileStore: check replay guard on src for collection rename + + This avoids a problematic sequence like: + + - rename A/ -> B/ + - remove B/1...100 + - destroy B/ + - create A/ + - write A/101... + + - replay A/ -> B/ + - remove B/1...100 (fails but tolerated) + - destroy B/ (fails with ENOTEMPTY) + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 5fc83c8d9887d2a916af11436ccc94fcbfe59b7a) + +commit ea570591b0d9dda102bece0f4cc7d263c3e2a3b0 +Author: Samuel Just +Date: Fri Feb 22 14:12:28 2013 -0800 + + PG::proc_replica_log: oinfo.last_complete must be *before* first entry in omissing + + Fixes: #4189 + Signed-off-by: Samuel Just + (cherry picked from commit 2dae6a68ee85a20220ee940dbe33a2144d43457b) + +commit aa38d87c6237ccfb8b3b03bc7c28dcadb927237b +Author: Sage Weil +Date: Thu Feb 21 17:55:21 2013 -0800 + + osd/PG: fix typo, missing -> omissing + + From ce7ffc34408bf32c66dc07e6f42d54b7ec489d41. + + Signed-off-by: Sage Weil + (cherry picked from commit dc181224abf6fb8fc583730ae3d90acdf0b80f39) + +commit ac914834ba4fb0e4770f63c60713be7a48aa3fa1 +Author: Samuel Just +Date: Thu Feb 21 15:31:36 2013 -0800 + + PG::proc_replica_log: adjust oinfo.last_complete based on omissing + + Otherwise, search_for_missing may neglect to check the missing + set for some objects assuming that if the need version is + prior to last_complete, the replica must have it. + + Fixes: #4994 + Signed-off-by: Samuel Just + (cherry picked from commit ce7ffc34408bf32c66dc07e6f42d54b7ec489d41) + +commit 7f39704b0903fb11e3f1e102599bf0c540f93623 +Author: Sage Weil +Date: Sat Feb 9 00:05:33 2013 -0800 + + osd: fix load_pgs collection handling + + On a _TEMP pg, is_pg() would succeed, which meant we weren't actually + hitting the cleanup checks. Instead, restructure this loop as positive + checks and handle each type of collection we understand. + + This fixes _TEMP cleanup. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit b19b6dced85617d594c15631571202aab2f94ae8) + +commit 0a09be99f3e9d2b68a052ff63ea858a7c8e5626c +Author: Sage Weil +Date: Sat Feb 9 00:04:29 2013 -0800 + + osd: fix load_pgs handling of pg dirs without a head + + If there is a pgid that passes coll_t::is_pg() but there is no head, we + will populate the pgs map but then fail later when we try to do + read_state. This is a side-effect of 55f8579. + + Take explicit note of _head collections we see, and then warn when we + find stray snap collections. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 1f80a0b576c0af1931f743ad988b6293cbf2d6d9) + +commit 2dc25dfd47de8d3602bdb3699c82b8b118b0fb28 +Author: Samuel Just +Date: Thu Feb 7 13:34:47 2013 -0800 + + OSD::load_pgs: first scan colls before initing PGs + + Backport: bobtail + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 073f58ede2e473af91f76d01679631c169274af7) + +commit 2fd8db29ccf56fd5473826f20e351edfe200419d +Author: David Zafman +Date: Tue Jan 8 19:24:13 2013 -0800 + + osd: Add digest of omap for deep-scrub + + Add ScrubMap encode/decode v4 message with omap digest + Compute digest of header and key/value. Use bufferlist + to reflect structure and compute as we go, clearing + bufferlist to reduce memory usage. + + Signed-off-by: David Zafman + Reviewed-by: Samuel Just + (cherry picked from commit 509a93e89f04d7e9393090563cf7be8e0ea53891) + +commit ee59f517ccc195e591e0b1b6ddf6d1d054c4e2fd +Author: Samuel Just +Date: Fri Mar 15 15:13:46 2013 -0700 + + OSD: split temp collection as well + + Otherwise, when we eventually remove the temp collection, there might be + objects in the temp collection which were independently pulled into the child + pg collection. Thus, removing the old stale parent link from its temp + collection also blasts the omap entries and snap mappings for the real child + object. + + Backport: bobtail + Fixes: #4452 + Signed-off-by: Samuel Just + Reviewed-by: Josh Durgin + (cherry picked from commit f8d66e87a5c155b027cc6249006b83b4ac9b6c9b) + +commit 7ec68e2d45b431a3a77458939622e6ea1e396d0e +Author: Samuel Just +Date: Thu Mar 14 19:59:36 2013 -0700 + + PG: ignore non MISSING pg query in ReplicaActive + + 1) Replica sends notify + 2) Prior to processing notify, primary queues query to replica + 3) Primary processes notify and activates sending MOSDPGLog + to replica. + 4) Primary does do_notifies at end of process_peering_events + and sends to Query. + 5) Replica sees MOSDPGLog and activates + 6) Replica sees Query and asserts. + + In the above case, the Replica should simply ignore the old + Query. + + Fixes: #4050 + Backport: bobtail + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 8222cbc8f35c359a35f8381ad90ff0eed5615dac) + +commit b279b148b38c755d2dcca6524d7b8a95daf123a0 +Author: Samuel Just +Date: Wed Mar 13 16:04:23 2013 -0700 + + FileJournal: queue_pos \in [get_top(), header.max_size) + + If queue_pos == header.max_size when we create the entry + header magic, the entry will be rejected at get_top() on + replay. + + Fixes: #4436 + Backport: bobtail + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit de8edb732e3a5ce4471670e43cfe6357ae6a2758) + +commit 56e0a129b0d9ad463f4300999ed2c15173cbe603 +Author: Samuel Just +Date: Thu Mar 14 18:52:02 2013 -0700 + + OSD: expand_pg_num after pg removes + + Otherwise: + 1) expand_pg_num removes a splitting pg entry + 2) peering thread grabs pg lock and starts split + 3) OSD::consume_map grabs pg lock and starts removal + + At step 2), we run afoul of the assert(is_splitting) + check in split_pgs. This way, the would be splitting + pg is marked as removed prior to the splitting state + being updated. + + Backport: bobtail + Fixes: #4449 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit f1b031b3cf195cf6df3d3c47c7d606fba63ed4c4) + +commit d6e678a62950ccc16d010a76500705e176ba9c73 +Author: Sage Weil +Date: Mon Feb 11 06:23:54 2013 -0800 + + osd: update snap collections for sub_op_modify log records conditionaly + + The only remaining caller is sub_op_modify(). If we do have a non-empty + op transaction, we want to do this update, regardless of what we think + last_backfill is (our notion may be not completely in sync with the + primary). In particular, our last_backfill may be the same object but + a different snapid, but the primary disagrees and is pushing an op + transaction through. + + Instead, update the collections if we have a non-empty transaction. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 31e911b63d326bdd06981ec4029ad71b7479ed70) + +commit 51c2c4d7ccb25617967689d7e531eb145ee7011d +Author: Sage Weil +Date: Sun Feb 10 17:02:45 2013 -0800 + + osd: include snaps in pg_log_entry_t::dump() + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 715d8717a0e8a08fbe97a3e7d3ffd33aa9529d90) + +commit f0bf68ff500f7337103aef2a9d6d10c3597e410f +Author: Sage Weil +Date: Sun Feb 10 16:59:48 2013 -0800 + + osd: unconditionally encode snaps buffer + + Previously we would only encode the updated snaps vector for CLONE ops. + This doesn't work for MODIFY ops generated by the snap trimmer, which + may also adjust the clone collections. It is also possible that other + operations may need to populate this field in the future (e.g., + LOST_REVERT may, although it currently does not). + + Fixes: #4071, and possibly #4051. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 54b6dd924fea3af982f3d729150b6449f318daf2) + +commit aa74fabd90b776e9938f3d59ea5ed04bd4027dbb +Author: Sage Weil +Date: Sun Feb 10 10:57:12 2013 -0800 + + osd: improve debug output on snap collections + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 8b05492ca5f1479589bb19c1ce058b0d0988b74f) + +commit a30903c6adaa023587d3147179d6038ad37ca520 +Author: Samuel Just +Date: Thu Mar 7 12:53:51 2013 -0800 + + PG: check_recovery_sources must happen even if not active + + missing_loc/missing_loc_sources also must be cleaned up + if a peer goes down during peering: + + 1) pg is in GetInfo, acting is [3,1] + 2) we find object A on osd [0] in GetInfo + 3) 0 goes down, no new peering interval since it is neither up nor + acting, but peer_missing[0] is removed. + 4) pg goes active and try to pull A from 0 since missing_loc did not get + cleaned up. + + Backport: bobtail + Fixes: #4371 + Signed-off-by: Samuel Just + Reviewed-by: Greg Farnum + (cherry picked from commit de22b186c497ce151217aecf17a8d35cdbf549bb) + +commit 19f6df28337307ce6d8617524f88f222c0ffcab3 +Author: Samuel Just +Date: Tue Mar 5 15:49:26 2013 -0800 + + HashIndex: _collection_list_partial must tolerate NULL next + + Backport: bobtail + Fixes: #4379 + Signed-off-by: Samuel Just + Reviewed-by: Greg Farnum + (cherry picked from commit ce4432adc67dc2fc06dd21ea08e59d179496bcc6) + +commit 1b5c1564bad3574db257cb17d48190958d870f51 +Author: Samuel Just +Date: Tue Mar 5 14:35:39 2013 -0800 + + OSD: lock not needed in ~DeletingState() + + No further refs to the object can remain at this point. + Furthermore, the callbacks might lock mutexes of their + own. + + Backport: bobtail + Fixes: #4378 + Signed-off-by: Samuel Just + Reviewed-by: Greg Farnum + (cherry picked from commit e4bf1bcab159d7c5b720f5da01877c0f67c16d16) + +commit 50d2d4a77f339d489703c1125dc5c1159d08ca8a +Author: Samuel Just +Date: Sun Mar 10 12:50:01 2013 -0700 + + ReplicatedPG: don't leak reservation on removal + + Fixes: 4431 + Signed-off-by: Samuel Just + Reviewed-by: Greg Farnum + (cherry picked from commit 32bf131e0141faf407b5ff993f75f97516b27c12) + + Conflicts: + + src/osd/ReplicatedPG.cc + +commit c6b7c4be3fc44d065c29ea76b744b39272c2ba05 +Author: Yehuda Sadeh +Date: Tue Mar 12 12:56:01 2013 -0700 + + rgw: set up curl with CURL_NOSIGNAL + + Fixes: #4425 + Backport: bobtail + Apparently, libcurl needs that in order to be thread safe. Side + effect is that if libcurl is not compiled with c-ares support, + domain name lookups are not going to time out. + Issue affected keystone. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 88725316ddcfa02ff110e659f7a8131dc1ea2cfc) + +commit 8c16a376a9cbfd6812824fb71e2cc9935e14e667 +Author: Sage Weil +Date: Fri Mar 8 08:56:44 2013 -0800 + + osd: mark down connections from old peers + + Close out any connection with an old peer. This avoids a race like: + + - peer marked down + - we get map, mark down the con + - they reconnect and try to send us some stuff + - we share our map to tell them they are old and dead, but leave the con + open + ... + - peer marks itself up a few times, eventually reuses the same port + - sends messages on their fresh con + - we discard because of our old con + + This could cause a tight reconnect loop, but it is better than wrong + behavior. + + Other possible fixes: + - make addr nonce truly unique (augment pid in nonce) + - make a smarter 'disposable' msgr state (bleh) + + Signed-off-by: Sage Weil + (cherry picked from commit 881e9d850c6762290f8be24da9e74b9dc112f1c9) + +commit 1affc8b6e8cb82510aed524f90a6165c6edf7513 +Author: Sage Weil +Date: Fri Mar 8 08:53:40 2013 -0800 + + osd/PG: rename require_same_or_newer_map -> is_same_or_newer_map + + This avoids confusion with the OSD method of the same name, and better + matches what the function tests (and does not do). + + Signed-off-by: Sage Weil + (cherry picked from commit ba7e815a18cad110525f228db1b3fe39e011409e) + + Conflicts: + + src/osd/ReplicatedPG.cc + +commit 7ca55d36c4007be5880102fa1ed314d3d66e9d87 +Author: Sage Weil +Date: Mon Mar 11 16:25:16 2013 -0700 + + log: drop default 'log max recent' from 100k -> 10k + + Use less memory. + + Signed-off-by: Sage Weil + (cherry picked from commit c021c5ccf0c063cccd7314964420405cea6406de) + +commit 33ac786ddc14d0904f4835cbf684a51f4815d45b +Author: Jan Harkes +Date: Fri Mar 8 12:45:57 2013 -0500 + + Fix radosgw actually reloading after rotating logs. + + The --signal argument to Debian's start-stop-daemon doesn't + make it send a signal, but defines which signal should be send + when --stop is specified. + + Signed-off-by: Jan Harkes + (cherry picked from commit 44f1cc5bc42f9bb6d5a386037408d2de17dc5413) + +commit 6838b8db9a3d4ceaf121a261e2ded4af9bfeaeb9 +Author: Josh Durgin +Date: Wed Mar 6 17:42:03 2013 -0800 + + common: reduce default in-memory logs for non-daemons + + The default of 100000 can result in hundreds of MBs of extra memory + used. This was most obvious when using librbd with caching enabled, + since there was a dout(0) accidentally left in the ObjectCacher. + + refs: #4352 + backport: bobtail + Signed-off-by: Josh Durgin + (cherry picked from commit 7c208d2f8e3f28f4055a4ae51eceae892dcef1dc) + +commit f80f64cf024bd7519d5a1fb2a5698db97a003ce8 +Author: Sage Weil +Date: Fri Feb 22 17:01:53 2013 -0800 + + osd: allow (some) log trim when degraded, but not during recovery + + We allow some trim during degraded, although we keep more entries around to + improve our chances of a restarting OSD of doing log-based recovery. + + Still disallow during recovery... + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 6d89b34e5608c71b49ef33ab58340e90bd8da6e4) + +commit e502a65da1779564059e74c09ab87aca1d901bd2 +Author: Sage Weil +Date: Mon Feb 25 15:33:35 2013 -0800 + + osd: restructure calc_trim + + No functional change, except that we log more debug, yay! + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 86df164d04f6e31a0f20bbb94dbce0599c0e8b3d) + +commit 3a3123033d7d9e1574be3fb18c807eeb0f4678eb +Author: Sage Weil +Date: Fri Feb 22 16:48:02 2013 -0800 + + osd: allow pg log trim during (non-classic) scrub + + Chunky (and deep) scrub do not care about PG log trimming. Classic scrub + still does. + + Deep scrub can take a long time, so not trimming the log during that period + may eat lots of RAM; avoid that! + + Might fix: #4179 + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 0ba8db6b664205348d5499937759916eac0997bf) + +commit cde0f224dac21b2e17e06d396ac52e18034a4262 +Author: Sage Weil +Date: Thu Feb 28 12:46:00 2013 -0800 + + msgr: drop messages on cons with CLOSED Pipes + + Back in commit 6339c5d43974f4b495f15d199e01a141e74235f5, we tried to make + this deal with a race between a faulting pipe and new messages being + queued. The sequence is + + - fault starts on pipe + - fault drops pipe_lock to unregister the pipe + - user (objecter) queues new message on the con + - submit_message reopens a Pipe (due to this bug) + - the message managed to make it out over the wire + - fault finishes faulting, calls ms_reset + - user (objecter) closes the con + - user (objecter) resends everything + + It appears as though the previous patch *meant* to drop *m on the floor in + this case, which is what this patch does. And that fixes the crash I am + hitting; see #4271. + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit 0f42eddef5da6c1babe9ed51ceaa3212a42c2ec4) + +commit 2fa2546c90e7a6eab9a3de7ab4e4271f8b25bad6 +Author: Concubidated +Date: Fri Mar 8 13:44:39 2013 -0800 + + Fix output of 'ceph osd tree --format=json' + + Signed-off-by: Tyler Brekke + (cherry picked from commit 9bcba944c6586ad5f007c0a30e69c6b5a886510b) + +commit b70e2c270b9eb3fce673b7e51b527ebf88214f14 +Author: Sam Lang +Date: Tue Feb 12 11:32:29 2013 -0600 + + deb: Add ceph-coverage to ceph-test deb package + + Teuthology uses the ceph-coverage script extensively + and expects it to be installed by the ceph task. Add + the script to the ceph-test debian package so that it + gets installed for that use case. + + Signed-off-by: Sam Lang + (cherry picked from commit 376cca2d4d4f548ce6b00b4fc2928d2e6d41038f) + +commit ca9aac785eb9e2d1ee955792d2f4d1d911727fb3 +Author: Yehuda Sadeh +Date: Fri Feb 22 15:04:37 2013 -0800 + + rgw: set attrs on various list bucket xml results (swift) + + Fixes: #4247 + The list buckets operation was missing some attrs on the different + xml result entities. This fixes it. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4384e59ad046afc9ec53a2d2f1fff6a86e645505) + +commit e39660c901756d5e722308e72a9d8ee4893f70f7 +Author: Yehuda Sadeh +Date: Fri Feb 22 15:02:02 2013 -0800 + + formatter: add the ability to dump attrs in xml entities + + xml entities may have attrs assigned to them. Add the ability + to set them. A usage example: + + formatter->open_array_section_with_attrs("container", + FormatterAttrs("name", "foo", NULL)); + + This will generate the following xml entity: + + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 7cb6ee28073824591d8132a87ea09a11c44efd66) + + Conflicts: + src/common/Formatter.cc + +commit 0304b85e5c12c30459b94ec5d332dfaa04d20d5b +Author: Yehuda Sadeh +Date: Wed Mar 6 19:32:21 2013 -0800 + + rgw: don't iterate through all objects when in namespace + + Fixes: #4363 + Backport: argonaut, bobtail + When listing objects in namespace don't iterate through all the + objects, only go though the ones that starts with the namespace + prefix + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 6669e73fa50e3908ec825ee030c31a6dbede6ac0) + +commit d0dafaa77f96fa91785df0796806ea07fd93f319 +Author: Josh Durgin +Date: Thu Feb 28 12:13:45 2013 -0800 + + ObjectCacher: fix debug log level in split + + Level 0 should never be used for this kind of debugging. + + Signed-off-by: Josh Durgin + Reviewed-by: Dan Mick + (cherry picked from commit cb3ee33532fb60665f39f6ccb1d69d67279fd5e1) + +commit ff014ed26bfa4fbf40acffec4eb4805b95a9982c +Author: Dan Mick +Date: Thu Jan 24 13:38:25 2013 -0800 + + rados: remove unused "check_stdio" parameter + + Signed-off-by: Dan Mick + (cherry picked from commit bb860e49a7faeaf552538a9492ef0ba738c99760) + +commit e89884da9f76b713372a79b772ba3cc2f3b03048 +Author: Sage Weil +Date: Wed Jan 23 21:31:11 2013 -0800 + + rados: obey op_size for 'get' + + Otherwise we try to read the whole object in one go, which doesn't bode + well for large objects (either non-optimal or simply broken). + + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 234becd3447a679a919af458440bc31c8bd6b84f) + +commit ee943c8bcf36f1e2218d8e25edfa38ec5fe4bec2 +Author: Samuel Just +Date: Wed Feb 27 16:58:45 2013 -0800 + + FileJournal::wrap_read_bl: adjust pos before returning + + Otherwise, we may feed an offset past the end of the journal to + check_header in read_entry and incorrectly determine that the entry is + corrupt. + + Fixes: 4296 + Backport: bobtail + Backport: argonaut + Reviewed-by: Sage Weil + Signed-off-by: Samuel Just + (cherry picked from commit 5d54ab154ca790688a6a1a2ad5f869c17a23980a) + +commit 8c6f52215240f48b5e4d5bb99a5f2f451e7ce70a +Author: Sage Weil +Date: Wed Jan 16 13:14:00 2013 -0800 + + osd: leave osd_lock locked in shutdown() + + No callers expect the lock to be dropped. + + Fixes: #3816 + Signed-off-by: Sage Weil + (cherry picked from commit 98a763123240803741ac9f67846b8f405f1b005b) + +commit a324d999804b4648f245ee36b3bd611b3d139d5d +Author: Sage Weil +Date: Tue Feb 26 14:07:12 2013 -0800 + + msg: fix entity_addr_t::is_same_host() for IPv6 + + We weren't checking the memcmp return value properly! Aie... + + Backport: bobtail + Signed-off-by: Sage Weil + (cherry picked from commit c8dd2b67b39a8c70e48441ecd1a5cc3c6200ae97) + +commit 79d68ae8581141c3fb4cfafd76d5111ff009b762 +Author: Sage Weil +Date: Sun Feb 17 22:35:50 2013 -0800 + + osd: requeue pg waiters at the front of the finished queue + + We could have a sequence like: + + - op1 + - notify + - op2 + + in the finished queue. Op1 gets put on waiting_for_pg, the notify + creates the pg and requeues op1 (and the end), op2 is handled, and + finally op1 is handled. That breaks ordering; see #2947. + + Instead, when we wake up a pg, queue the waiting messages at the front + of the dispatch queue. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 56c5a07708d52de1699585c9560cff8b4e993d0a) + +commit 79c4e7e91becc497843d96251776bdc176706aa0 +Author: Sage Weil +Date: Sun Feb 17 20:49:52 2013 -0800 + + osd: pull requeued requests off one at a time + + Pull items off the finished queue on at a time. In certain cases, an + event may result in new items betting added to the finished queue that + will be put at the *front* instead of the back. See latest incarnation + of #2947. + + Note that this is a significant changed in behavior in that we can + theoretically starve if an event keeps resulting in new events getting + generated. Beware! + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit f1841e4189fce70ef5722d508289e516faa9af6a) + +commit 3a6ce5d0355beaa56199465e94666cae40bd8da1 +Author: Sage Weil +Date: Thu Jan 17 22:00:42 2013 -0800 + + mds: open mydir after replay + + In certain cases, we may replay the journal and not end up with the + dirfrag for mydir open. This is fine--we just need to open it up and + fetch it below. + + Signed-off-by: Sage Weil + (cherry picked from commit e51299fbce6bdc3d6ec736e949ba8643afc965ec) + +commit 36ed407e0f939a9bca57c3ffc0ee5608d50ab7ed +Author: Greg Farnum +Date: Thu Feb 21 09:21:01 2013 -0800 + + mds: use inode_t::layout for dir layout policy + + Remove the default_file_layout struct, which was just a ceph_file_layout, + and store it in the inode_t. Rip out all the annoying code that put this + on the heap. + + To aid in this usage, add a clear_layout() function to inode_t. + + Signed-off-by: Sage Weil + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + +commit b4fd196cae5ab76aeb8f82f0581d0a6a2133a3ed +Author: Sage Weil +Date: Sun Jan 20 21:53:37 2013 -0800 + + mds: parse ceph.*.layout vxattr key/value content + + Use qi to parse a strictly formatted set of key/value pairs. Be picky + about whitespace. Any subset of recognized keys is allowed. Parse the + same set of keys as the ceph.*.layout.* vxattrs. + + Signed-off-by: Sage Weil + (cherry picked from commit 5551aa5b3b5c2e9e7006476b9cd8cc181d2c9a04) + +commit 5f92adca26b509aed5655e85ad53174fa7b574b9 +Author: Yehuda Sadeh +Date: Mon Feb 18 09:10:43 2013 -0800 + + rgw: fix multipart uploads listing + + Fixes: #4177 + Backport: bobtail + Listing multipart uploads had a typo, and was requiring the + wrong resource (uploadId instead of uploads). + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit db99fb4417b87301a69cb37b00c35c838b77197e) + +commit a44df9343594099fecb3897df393249d3d1992e2 +Author: Yehuda Sadeh +Date: Fri Feb 15 10:22:54 2013 -0800 + + rgw: don't copy object when it's copied into itself + + Fixes: #4150 + Backport: bobtail + + When object copied into itself, object will not be fully copied: tail + reference count stays the same, head part is rewritten. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 34f885be536d0ac89c10fd29b1518751d2ffc547) + +commit 91d6be8353259ca30dc87062422e9ae334c3c344 +Author: Samuel Just +Date: Tue Feb 19 10:49:33 2013 -0800 + + PG: remove weirdness log for last_complete < log.tail + + In the case of a divergent object prior to log.tail, + last_complete may end up before log.tail. + + Backport: bobtail + Fixes #4174 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit dbadb3e2921297882c5836c67ca32bb8ecdc75db) + + Conflicts: + + src/osd/PG.cc + +commit 7889c5412deaab1e7ba53d66814d0f25659229c1 +Author: James Page +Date: Mon Feb 18 16:24:54 2013 +0000 + + Strip any trailing whitespace from rbd showmapped + + More recent versions of ceph append a bit of whitespace to the line + after the name of the /dev/rbdX device; this causes the monitor check + to fail as it can't find the device name due to the whitespace. + + This fix excludes any characters after the /dev/rbdN match. + (cherry picked from commit ad84ea07cac5096de38b51b8fc452c99f016b8d8) + +commit 42fba772c3c0e2396124a9d6ec39297dd9af4cc9 +Merge: 290a352 ad6655e +Author: Sage Weil +Date: Sun Feb 17 21:52:55 2013 -0800 + + Merge pull request #64 from dalgaaf/wip-bobtail-memleaks + + cherry-pick some memleak fixes from master to bobtail + +commit ad6655e976916d3b62e0c91fd469eeb49fe7da3e +Author: Danny Al-Gaaf +Date: Fri Feb 8 17:17:59 2013 +0100 + + rgw/rgw_rest.cc: fix 4K memory leak + + Fix 4K memory leak in case RGWClientIO::read() fails in + read_all_chunked_input(). + + Error from cppcheck was: + Checking src/rgw/rgw_rest.cc... + [src/rgw/rgw_rest.cc:688]: (error) Memory leak: data + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 89df090e04ef9fc5aae29122df106b0347786fab) + +commit 3de692753c28ddbeb3c86b51466be16e94c9c458 +Author: Danny Al-Gaaf +Date: Fri Feb 8 17:14:19 2013 +0100 + + SyntheticClient.cc: fix some memory leaks in the error handling + + Fix some memory leaks in case of error handling due to failed + client->open() calls. + + Error from cppcheck was: + [src/client/SyntheticClient.cc:1980]: (error) Memory leak: buf + [src/client/SyntheticClient.cc:2040]: (error) Memory leak: buf + [src/client/SyntheticClient.cc:2090]: (error) Memory leak: buf + (cherry picked from commit f0ba80756d1c3c313014ad7be18191981fb545be) + +commit f19d228c6a49222659c769099aaa4e755b80331d +Author: Danny Al-Gaaf +Date: Fri Feb 8 16:57:20 2013 +0100 + + rgw/rgw_xml.cc: fix realloc memory leak in error case + + Fix error from cppcheck: + + [src/rgw/rgw_xml.cc:212]: (error) Common realloc mistake: 'buf' + nulled but not freed upon failure + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit d48cc789ea075ba2745754035640ada4131b2119) + +commit b0c6be95b03d9f3dd2badcdcff359ae7bc9684f4 +Author: Danny Al-Gaaf +Date: Fri Feb 8 16:54:33 2013 +0100 + + os/FileStore.cc: fix realloc memory leak in error case + + Fix error from cppcheck: + + [src/os/FileStore.cc:512]: (error) Common realloc mistake: 'fiemap' + nulled but not freed upon failure + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit c92a0f552587a232f66620170660d6b2ab6fb3a5) + +commit f3e5cedbc11005701ac0a8e70909a6372cd2fe6f +Author: Danny Al-Gaaf +Date: Fri Feb 8 16:49:36 2013 +0100 + + common/fiemap.cc: fix realloc memory leak + + Fix error from cppcheck: + + [src/common/fiemap.cc:73]: (error) Common realloc mistake: 'fiemap' + nulled but not freed upon failure + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit f26f1470e7af36fa1eb8dc59c8a7c62c3c3a22ba) + +commit 290a352c3f9e241deac562e980ac8c6a74033ba6 +Author: Sage Weil +Date: Thu Feb 14 11:37:57 2013 -0800 + + osd/OSDCap: add unit test for parsing pools/objects with _ and - + + Hunting #4122, where a user saw + + 2013-02-13 19:39:25.467916 7f766fdb4700 10 osd.0 10 session 0x2c8cc60 client.libvirt has caps osdcap[grant(object_prefix rbd^@children class-read),grant(pool libvirt^@pool^@test rwx)] 'allow class-read object_prefix rbd_children, allow pool libvirt-pool-test rwx' + + Signed-off-by: Sage Weil + (cherry picked from commit 2ce28ef1d7f95e71e1043912dfa269ea3b0d1599) + (cherry picked from commit a6534bc8a0247418d5263b765772d5266f99229c) + +commit f47916353547c77a65c7b70e609a9096f09c6d28 +Author: Sage Weil +Date: Thu Feb 14 15:39:43 2013 -0800 + + osd/OSDCap: tweak unquoted_word parsing in osd caps + + Newer versions of spirit (1.49.0-3.1ubuntu1.1 in quantal, in particular) + dislike the construct with alnum and replace the - and _ with '\0' in the + resulting string. + + Fixes: #4122 + Backport: bobtail + Signed-off-by: Sage Weil + Reviewed-by: Josh Durgin + (cherry picked from commit 6c504d96c1e4fbb67578fba0666ca453b939c218) diff --git a/doc/changelog/v0.56.5.txt b/doc/changelog/v0.56.5.txt new file mode 100644 index 00000000..0e9ce5ed --- /dev/null +++ b/doc/changelog/v0.56.5.txt @@ -0,0 +1,1972 @@ +commit df884bb7b59e5796c996ab806f5ec8b8322e292f +Author: Gary Lowell +Date: Thu May 2 18:08:06 2013 -0700 + + v0.56.5 + +commit b38cbabb2a38e4476de1135c33c25c673d62cd67 +Author: Danny Al-Gaaf +Date: Thu Apr 4 18:23:40 2013 +0200 + + ceph.spec.in: fix udev rules.d files handling + + Move 50-rbd.rules into the ceph base package since the related + ceph-rbdnamer binary is part of this package. Use correct install + pattern. + + Signed-off-by: Danny Al-Gaaf + +commit d0678a062a1baf738ce96114114d99495be19478 +Author: Sage Weil +Date: Mon Apr 29 17:01:55 2013 -0700 + + debian: only start/stop upstart jobs if upstart is present + + This avoids errors on non-upstart distros (like wheezy). + + Signed-off-by: Sage Weil + (cherry picked from commit 030bf8aaa15837f898e453161eeaf1d52fc5779d) + + Conflicts: + debian/ceph-mds.postinst + +commit 209ce34a420cc5cdbe7219393f2f150ac28f612c +Author: Sage Weil +Date: Mon Mar 11 17:09:37 2013 -0700 + + debian: stop ceph-mds before uninstalling ceph-mds + + Fixes: #4384 + Signed-off-by: Sage Weil + (cherry picked from commit 9eb0d91b867ab980135d7c6ff6347d69d0a8a794) + +commit 0c91becfa6cc5f05c5b2eaa89299dbf1aa202344 +Author: Dan Mick +Date: Thu Apr 25 15:53:51 2013 -0700 + + Makefile.am: Add -lpthread to fix build on newer ld in Raring Ringtail + + Signed-off-by: Dan Mick + Reviewed-by: Sage Weil + (cherry picked from commit 98f532e8000af281fa03b24da9ad2fda81755270) + + Conflicts: + src/Makefile.am + +commit 15e6544f0892e8472f436149d15fc30257496c0b +Merge: fdc0534 418cff5 +Author: Sage Weil +Date: Wed May 1 12:57:43 2013 -0700 + + Merge remote-tracking branch 'gh/bobtail-deploy' into bobtail-next + +commit fdc05346177a60f064fe351ca81c6078cd065179 +Author: Sage Weil +Date: Thu Apr 25 11:13:33 2013 -0700 + + init-ceph: use remote config when starting daemons on remote nodes (-a) + + If you use -a to start a remote daemon, assume the remote config is present + instead of pushing the local config. This makes more sense and simplifies + things. + + Note that this means that -a in concert with -c foo means that foo must + also be present on the remote node in the same path. That, however, is a + use case that I don't particularly care about right now. :) + + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit cd7e52cc76878eed0f084f7b9a6cf7c792b716c6) + +commit 55c87e821b6acc1cd46056ca27c6e7f7030466e7 +Author: Samuel Just +Date: Wed Apr 24 12:20:17 2013 -0700 + + PG: call check_recovery_sources in remove_down_peer_info + + If we transition out of peering due to affected + prior set, we won't trigger start_peering_interval + and check_recovery_sources won't get called. This + will leave an entry in missing_loc_sources without + a matching missing set. We always want to + check_recovery_sources with remove_down_peer_info. + + Fixes: 4805 + Backport: bobtail + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 81a6165c13c533e9c1c6684ab7beac09d52ca6b5) + +commit a28c2f55bfc768a502fbc8ec35265e7f1a53e044 +Author: Samuel Just +Date: Thu Apr 25 14:08:57 2013 -0700 + + PG: clear want_acting when we leave Primary + + This is somewhat annoying actually. Intuitively we want to + clear_primary_state when we leave primary, but when we restart + peering due to a change in prior set status, we can't afford + to forget most of our peering state. want_acting, on the + other hand, should never persist across peering attempts. + In fact, in the future, want_acting should be pulled into + the Primary state structure. + + Fixes: #3904 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + Reviewed-by: David Zafman + (cherry picked from commit a5cade1fe7338602fb2bbfa867433d825f337c87) + +commit 849ed5982d4547dd651313919fb090944f568214 +Author: Greg Farnum +Date: Tue Apr 30 18:12:10 2013 -0700 + + mon: communicate the quorum_features properly when declaring victory. + + Fixes #4747. + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit fe68afe9d10bc5d49a05a8bafa644d57783447cf) + +commit ea9c76b8f457d44e63551d47b6dd30bd16a56468 +Author: Greg Farnum +Date: Tue Apr 30 11:01:54 2013 -0700 + + elector: trigger a mon reset whenever we bump the epoch + + We need to call reset during every election cycle; luckily we + can call it more than once. bump_epoch is (by definition!) only called + once per cycle, and it's called at the beginning, so we put it there. + + Fixes #4858. + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 6ae9bbb5d03cb5695a4ebb7a3c20f729de1bd67a) + + Conflicts: + + src/mon/Elector.cc + +commit 418cff585bf6fc292d260a464369d82f7cdb3b79 +Author: Alexandre Marangone +Date: Fri Apr 19 15:09:28 2013 -0700 + + Fix journal partition creation + + With OSD sharing data and journal, the previous code created the + journal partiton from the end of the device. A uint32_t is + used in sgdisk to get the last sector, with large HD, uint32_t + is too small. + The journal partition will be created backwards from the + a sector in the midlle of the disk leaving space before + and after it. The data partition will use whichever of + these spaces is greater. The remaining will not be used. + + This patch creates the journal partition from the start as a workaround. + + Signed-off-by: Alexandre Marangone + (cherry picked from commit 56619ab91732bd2eacbef388311954f4e0230a30) + +commit 1a6b87ea48c3bcd3904d888a2ad1e5774aa2de8e +Author: Sage Weil +Date: Fri Apr 26 15:37:21 2013 -0700 + + ceph.spec.in: put ceph-disk-* et al in correct sbindir + + Signed-off-by: Sage Weil + +commit 86337936059d6b17c887e82f79167324eafa083c +Author: Sage Weil +Date: Fri Apr 26 15:29:12 2013 -0700 + + debian: fix ceph.install + + This got out of sync somewhere in cherry-picking all of these patches. + + Signed-off-by: Sage Weil + +commit 0b42b1edb306a9763bcd02bd962bd284f6b7b3a3 +Author: Danny Al-Gaaf +Date: Thu Apr 4 15:54:31 2013 +0200 + + Makefile.am: install ceph-* python scripts to /usr/bin directly + + Install ceph-* scripts directly to $(prefix)$(sbindir) (which + normaly would be /usr/sbin) instead of moving it around after + installation in SPEC file or debian files. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 4d16f38f48e276497190c8bc03abc55c40e18eed) + +commit c71fb8d5b39667fc2c9f7e898ced53059d3f1eec +Author: Gary Lowell +Date: Tue Apr 2 12:11:10 2013 -0700 + + ceph-disk: CalledProcessError has no output keyword on 2.6 + + Signed-off-by: Gary Lowell + (cherry picked from commit a793853850ee135de14b9237f7023cadcdb8575c) + +commit 1b86b1c7618b1ab93e25e1abf79bbe0a992c8526 +Author: Danny Al-Gaaf +Date: Tue Apr 2 17:54:53 2013 +0200 + + ceph-disk: fix some (local) variable names + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit c4eb7e6ddd593cd45ab8343da01355be7382723e) + +commit ee452ebe6ff37087714c085dacd1ca2bcf66bd49 +Author: Danny Al-Gaaf +Date: Tue Apr 2 17:36:37 2013 +0200 + + ceph-disk: fix naming of local variable in is_mounted() + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 3dd8b461219e64bb0f7a210dba5a9ab7c644f014) + +commit 0e47d312dcec2deb26a960e6097708d8742d85cb +Author: Danny Al-Gaaf +Date: Tue Apr 2 17:33:08 2013 +0200 + + ceph-disk: merge twice defined function is_mounted(dev) + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit eaf31bf9f90ba9709a57a6870dbafa21142dae2c) + +commit 7326ea6397160607d78914444f7f0598a6ba346f +Author: Danny Al-Gaaf +Date: Tue Apr 2 17:26:12 2013 +0200 + + ceph-disk: define exception type + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 4c6d6442a89adc5b56e99cb4d2ed572f2ad192c9) + +commit 14a348dc8ea9c012b6843825fd7beb5896a6d92e +Author: Danny Al-Gaaf +Date: Tue Apr 2 17:17:38 2013 +0200 + + ceph-disk: fix Redefining name 'uuid' from outer scope + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 058eb923c5b7dab611901fdd1724ce2a7c180827) + +commit 9419dca69292146ea1fd216a1ad08b2e07bdc1a0 +Author: Danny Al-Gaaf +Date: Tue Apr 2 17:14:23 2013 +0200 + + ceph-disk: add missing space after comma + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 0080d1df7c7950e051840a543fc4bdabe6cc53e5) + +commit 7406981aa5515a3be8af0b9a0abef83a40c432b2 +Author: Sage Weil +Date: Fri Mar 29 17:30:28 2013 -0700 + + ceph-disk list: say 'unknown cluster $UUID' when cluster is unknown + + This makes it clearer that an old osd is in fact old. + + Signed-off-by: Sage Weil + (cherry picked from commit e9b3f2e6e93426d631d4f8101fb431a523b0d88a) + +commit 0182973b66d449552d17248e27cd12c470137ea9 +Author: Sage Weil +Date: Fri Mar 29 13:59:04 2013 -0700 + + ceph-disk: handle missing journal_uuid field gracefully + + Only lower if we know it's not None. + + Signed-off-by: Sage Weil + (cherry picked from commit 562e1716bd4b5372716e502a5e4dd872d381bfb7) + +commit 24d729c591430349b033992f87141e596dcd6bff +Author: Sage Weil +Date: Thu Mar 28 20:49:24 2013 -0700 + + ceph-disk: implement 'list' + + This is based on Sandon's initial patch, but much-modified. + + Mounts ceph data volumes temporarily to see what is inside. Attempts to + associated journals with osds. + + Resolves: #3120 + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 6a65b9131c444041d16b880c6a7f332776063a78) + +commit bf3f8702c580c6b9647878837355688a2a4f954c +Author: Sage Weil +Date: Wed Mar 27 18:44:32 2013 -0700 + + ceph-disk: reimplement list_all_partitions + + Use /dev/disk/by-id to list disks and their partitions. This is more + accurate and correct than the previous (as-yet unused) implementation. + + Signed-off-by: Sage Weil + (cherry picked from commit d3e49047ff405573aa41f45864cf315be23f5c50) + +commit 9da81e4e798b8e5593f3a7eda6dfa8586307121f +Author: Sage Weil +Date: Wed Mar 27 18:43:59 2013 -0700 + + ceph-disk: reimplement is_partition + + Previously we were assuming any device that ended in a digit was a + partition, but this is not at all correct (e.g., /dev/sr0, /dev/rbd1). + Instead, look in /dev/disk/by-id and see if there is a symlink that ends in + -partNN that links to our device. + + There is probably still a better way... + + Signed-off-by: Sage Weil + (cherry picked from commit 20d594a889d62110ad03b761d8703f79f8eea6ad) + +commit 0c8efc0664f068a1952fe54b8034d005cf3f9ce8 +Author: Sage Weil +Date: Wed Mar 27 12:45:29 2013 -0700 + + ceph-disk: conditionally remove mount path + + umount removes it on success; only remove it here if it is still there. + + Signed-off-by: Sage Weil + (cherry picked from commit 4362934a94c5a6f7521f06aa1255e111094e1d88) + +commit 153994cdcf9bc4a9719849d951bec5f4983340b5 +Author: Sage Weil +Date: Tue Mar 26 17:04:14 2013 -0700 + + ceph-disk: ignore udevadm settle return code + + If we time out, just continue and let the next step fail. + + Signed-off-by: Sage Weil + (cherry picked from commit 2ae297ccb812c00204ec0c4dc614821c506062b9) + +commit d714049d530dc9611cf5f2fcb9b272c355dbe9f1 +Author: Danny Al-Gaaf +Date: Mon Mar 25 17:45:32 2013 +0100 + + ceph-disk: rename some local variabels in list_*partitions + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit b7d7e6894c550a7afa8dfb5bfa2bc54b5d331178) + +commit ecb34b81b843adaf9455503eb3ecc69ea94652a3 +Author: Danny Al-Gaaf +Date: Mon Mar 25 16:24:00 2013 +0100 + + ceph-disk: fix naming of a local variable in find_cluster_by_uuid + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 0b5fcfffe6d2f69bd4318cc93ef73195d948b9c5) + +commit 63eb85072f6a61552725bd04dfb261e5cd52a60a +Author: Danny Al-Gaaf +Date: Mon Mar 25 16:18:17 2013 +0100 + + ceph-disk: rename some constants to upper case variable names + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 8a999ded088e688fd3f4a7c27127b7c06f0b2f66) + +commit d26a03422a37f16d609de12f8973f3c32ffedae0 +Author: Danny Al-Gaaf +Date: Mon Mar 25 16:15:29 2013 +0100 + + ceph-disk: add some more docstrings + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 86e55f5448c4b5b46b74d2d89b01d1e64b1ea826) + +commit bd8bb984806a1dbc3514c3a2a8980a03cfb2bc23 +Author: Danny Al-Gaaf +Date: Mon Mar 25 14:36:41 2013 +0100 + + ceph-disk: print subprocess.CalledProcessError on error + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 543327b1f2a9efe8083bb196433c4bcf83883269) + +commit 970348fc46a7e100731ffdc63d20f343dcb1b787 +Author: Danny Al-Gaaf +Date: Mon Mar 25 13:55:56 2013 +0100 + + ceph-disk: fix indention + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 2d26bcc07162a5176cdbc1748b829e3f39653697) + +commit 0113e5335e1552294bbf075cfff85c204b164e95 +Author: Gary Lowell +Date: Tue Mar 26 11:31:16 2013 -0700 + + ceph-disk: udevadm settle before partprobe + + After changing the partition table, allow the udev event to be + processed before calling partprobe. This helps prevent partprobe + from getting a resource busy error on some platforms. + + Signed-off-by: Gary Lowell + (cherry picked from commit 9eda8e5d5abf0743a2ad484806cfb2018243515f) + +commit 02d48351f73330917185d8980f8ad123b99138b5 +Author: Sage Weil +Date: Fri Mar 22 10:09:55 2013 -0700 + + ceph-disk: re-add python 2.7 dependency comment + + FIXME! + + Signed-off-by: Sage Weil + (cherry picked from commit 6d63752c8fde91cdab306d1ca689690b269fe977) + +commit e92baf5081a43ff3290eb934612a11fbed946469 +Author: Danny Al-Gaaf +Date: Wed Mar 20 14:36:58 2013 +0100 + + ceph-disk: cast output of subprocess.Popen() to str() + + Cast output of subprocess.Popen() to str() to be able to use + str.split() and str.splitlines() without warnings from pylint. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 87691dc46edfba11c370592dbb533772190be4b2) + +commit 1ffc89af1954643426708987a09291463bd7525b +Author: Danny Al-Gaaf +Date: Wed Mar 20 14:02:28 2013 +0100 + + ceph-disk: fix adjust_symlink() replace 'journal' with 'target' + + Replace 'journal' variable with 'target' since journal doesn't + exist in this function. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 3575feb7d2e5f4e35c5df193a1f8c9f08f88fcf4) + +commit 690ab6b3e284e9beed74b3e77612e804464e467d +Author: Danny Al-Gaaf +Date: Wed Mar 20 14:01:02 2013 +0100 + + ceph-disk: fix adjust_symlink() replace 'canonical' with 'path' + + Replace 'canonical' variable with 'path' since canonical doesn't + exist in this function. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit a27cb85b21610b4a9f8eb24f8f6cd04902349728) + +commit 329f279cd108c837e434ee3aae6c8ad502ba802f +Author: Danny Al-Gaaf +Date: Wed Mar 20 13:56:23 2013 +0100 + + ceph-disk: there is no os.path.lstat use os.lstat + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 6d3247b5c02c39a66666a5833106dbc23044e436) + +commit ffe024b8b5024cdac256bacb9df433b69385cc0a +Author: Danny Al-Gaaf +Date: Wed Mar 20 13:30:21 2013 +0100 + + ceph-disk: remove unused variable key from prepare_journal_dev() + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 97b4f8d66bef2328fa53f9e508eb38f8b8d49632) + +commit 9464284f3ac9737345c595847e165db48adc0a70 +Author: Danny Al-Gaaf +Date: Wed Mar 20 13:27:27 2013 +0100 + + ceph-disk: fix except to catch OSError + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 9daf6cfce2d57509d896eae28bb97146a682a306) + +commit 01152115f7bf4a307296c9126174ce09bb0ce22d +Author: Danny Al-Gaaf +Date: Wed Mar 20 13:15:36 2013 +0100 + + ceph-disk: add missing space after >> operator + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 0ada43f79d2b1f9f84367e558c6d1a3e90e5c9b2) + +commit b9f86d96f5dd6ca18eb39882caf69e76369b5e0b +Author: Danny Al-Gaaf +Date: Wed Mar 20 12:33:09 2013 +0100 + + fix: Redefining name 'uuid' from outer scope (line 14) + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit d3c60dc8cad1db1d5df1c740bc805aaf9ba606ba) + +commit 6fa6cd85b55935739e16b8ba537f7848dbb0218f +Author: Danny Al-Gaaf +Date: Wed Mar 20 12:17:45 2013 +0100 + + ceph-disk: remove unused variables from list_partitions() + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 6a8120d4b0c4cfa851d473532eb2366534f8653d) + +commit 0b4e85fe23e8aa24e8aef8548df2b508bda24752 +Author: Danny Al-Gaaf +Date: Wed Mar 20 12:10:22 2013 +0100 + + ceph-disk: fix /dev/dm-[0-9] handling list_all_partitions() + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 3af7a1ac5bf24bf832d7180002281d6b5853e85a) + +commit 3ec61f85f6a8a8af8a2b921f94e77a77be77a1d7 +Author: Danny Al-Gaaf +Date: Tue Mar 19 22:07:36 2013 +0100 + + ceph-disk: rename local variable shadowing builtin + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 9bcf5b64f45ab6c4bdedf820ed111319b2dbd778) + +commit bd1036dd83fa2ee4807047fb9c2b414ccc9375eb +Author: Danny Al-Gaaf +Date: Tue Mar 19 22:05:23 2013 +0100 + + ceph-disk: remove twice defined identical function unmount + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 4adf088107586be7b356d1e963570cdab232809e) + +commit 8dd8cbac6f88fcb9d2c6838b9f961c70cccb9288 +Author: Danny Al-Gaaf +Date: Tue Mar 19 22:02:49 2013 +0100 + + ceph-disk: remove twice defined function mount + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit ea26ea0d81a23aa76076ad5441c3b1aadfba3b44) + +commit 0da87db1c0e4b44b69c19b718d89e7a621979009 +Author: Danny Al-Gaaf +Date: Tue Mar 19 21:58:22 2013 +0100 + + ceph-disk: remove double defined function get_conf + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit c57daa3c6e03e8974e133d3a2d9bc3d6f06f4faf) + +commit 9c46dfb2512d3b55345faed1bebb9204ba07d030 +Author: Danny Al-Gaaf +Date: Tue Mar 19 21:51:54 2013 +0100 + + ceph-disk: rename local variable shadowing builtin + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 57dde5c8b18ff4ccd53a30bb94119c0ffceb52b7) + +commit b807d8ba0a0c23c7dab6893bc5297e07c0fd902f +Author: Sage Weil +Date: Mon Mar 18 14:55:24 2013 -0700 + + ceph-disk: install and package + + Signed-off-by: Sage Weil + (cherry picked from commit c2602d749023b24ac22d8cfce6e04889078f14d8) + + Conflicts: + + debian/ceph.install + +commit 8901e02db05837b12d5e1d0ec6f14f909cc03315 +Author: Sage Weil +Date: Fri Mar 15 16:50:05 2013 -0700 + + ceph-disk: simplify command dispatch + + Signed-off-by: Sage Weil + (cherry picked from commit f287c6f90af0dfdd41358846b069aa3c54b600b3) + +commit 3cbc0d0c92ad19d5022c94d9d1ac00aff4eb9b2d +Author: Sage Weil +Date: Fri Mar 15 16:40:32 2013 -0700 + + ceph-disk: consolidate exceptions + + Use a single exception type, and catch it at the top level. + + Signed-off-by: Sage Weil + (cherry picked from commit a019753bd3897ee0f5d9c3563c653c5457d5e67d) + +commit b4176bafa2b0721664332a1bb8b73da54151f685 +Author: Sage Weil +Date: Fri Mar 15 16:36:45 2013 -0700 + + ceph-disk: consolidate ceph-disk-* into a single binary + + ceph-disk prepare ... + ceph-disk activate ... + ceph-disk ... + + This let's us share code (we were already duplicating a bunch of stuff!) + and to add new commands easily. + + Signed-off-by: Sage Weil + (cherry picked from commit 20e4ba5cebb7b4989d1745932f7a412c28504ee1) + +commit 455cb32543df8036a605dc7b6c194e58b10bc4ec +Author: Sage Weil +Date: Mon Mar 18 21:13:34 2013 -0700 + + ceph-disk-prepare: 'mkfs -t' instead of 'mkfs --type=' + + Older mkfs (el6) doesn't like --type=. + + Fixes: #4495 + Reported-by: Alexandre Maragone + Signed-off-by: Sage Weil + (cherry picked from commit d47759429a6e2fdd392265e90b67046302c97644) + +commit 19a2cf58504a3305ac9afe3d6642cf68e1b0f6c1 +Author: Sage Weil +Date: Thu Mar 14 21:05:07 2013 -0700 + + ceph-disk-activate: identify cluster .conf by fsid + + Determine what cluster the disk belongs to by checking the fsid defined + in /etc/ceph/*.conf. Previously we hard-coded 'ceph'. + + Note that this has the nice side-effect that if we have a disk with a + bad/different fsid, we now fail to activate it. Previously, we would + mount and start ceph-osd, but the daemon would fail to authenticate + because it was part of the wrong cluster. + + Fixes: #3253 + Signed-off-by: Sage Weil + (cherry picked from commit 80af5fb887f30792c342ac16da9ed95d7e89e491) + +commit 568485bea8ae9f0f36571de259c7254fa4227b15 +Author: Sage Weil +Date: Thu Mar 14 16:18:26 2013 -0700 + + ceph-disk-activate: abort if target position is already mounted + + If the target position is already a mount point, fail to move our mount + over to it. This usually indicates that a different osd.N from a + different cluster instances is in that position. + + Signed-off-by: Sage Weil + (cherry picked from commit 7370b5564606474f11b9ac5afb7cc60e0ac36ed1) + +commit a6ecf9288af248656bc712c1a4de910ff107a9a2 +Author: Sage Weil +Date: Thu Mar 14 12:05:52 2013 -0700 + + Revert "ceph-disk-activate: rely on default/configured keyring path" + + This reverts commit 936b8f20af1d390976097c427b6e92da4b39b218. + + This is necessary because we mount the osd in a temporary location. + + Signed-off-by: Sage Weil + (cherry picked from commit b6102c0945a0d68b7c5ff7f2254a1a994788ca0f) + +commit 7c1edc0c927a27c07b6f1611c2cf9c48f2dc95f6 +Author: Sage Weil +Date: Thu Mar 14 12:04:44 2013 -0700 + + Revert "ceph-disk-activate: don't override default or configured osd journal path" + + This reverts commit 813e9fe2b4291a1c1922ef78f031daa9b78fe53b. + + We run --mkfs with the osd disk mounted in a temporary location, so it is + necessary to explicitly pass in these paths. + + If we want to support journals in a different location, we need to make + ceph-disk-prepare update the journal symlink accordingly.. not control it via + the config option. + + Signed-off-by: Sage Weil + (cherry picked from commit 3e628eee770508e750f64ea50179bbce52e7b8e0) + +commit 739b013cfa4b84d36750b80ce44579498e7ea4f4 +Author: Sage Weil +Date: Mon Mar 11 21:15:11 2013 -0700 + + ceph-disk-activate: rely on default/configured keyring path + + No reason to override the default or configured value here. + + Signed-off-by: Sage Weil + (cherry picked from commit 936b8f20af1d390976097c427b6e92da4b39b218) + +commit 897413f90c0e802c6824c0ee8d06bdae33979293 +Author: Sage Weil +Date: Mon Mar 11 21:14:53 2013 -0700 + + ceph-disk-activate: don't override default or configured osd journal path + + There is no reason not to rely on the default or obey any configured + value here. + + Fixes: #4031 + Signed-off-by: Sage Weil + (cherry picked from commit 813e9fe2b4291a1c1922ef78f031daa9b78fe53b) + +commit 35eac085182e569b17c287c86e1415880909be22 +Author: Sage Weil +Date: Tue Mar 5 13:08:26 2013 -0800 + + ceph-disk-prepare: move in-use checks to the top, before zap + + Move the in-use checks to the very top, before we (say) zap! + + Signed-off-by: Sage Weil + (cherry picked from commit 32407c994f309cd788bf13fe9af27e17a422309a) + +commit 5ad4120a4825d6615778a005cff990afccf30691 +Author: Sage Weil +Date: Mon Mar 4 20:57:52 2013 -0800 + + ceph-disk-prepare: verify device is not in use by device-mapper + + Be nice and tell the user which devices/mappings are consuming the device, + too. + + Signed-off-by: Sage Weil + (cherry picked from commit a6196de9e2f3ca9d67691f79d44e9a9f669443e9) + +commit e4a520029196cc76f1ec45695554ca6330bf14aa +Author: Sage Weil +Date: Mon Mar 4 16:38:57 2013 -0800 + + ceph-disk-prepare: verify device is not mounted before using + + Make sure the data and/or journal device(s) are not in use (mounted) + before using them. Make room for additional "in-use" checks in the future. + + Closes: #3256 + Signed-off-by: Sage Weil + (cherry picked from commit 3bd0ac0ab011c4cdf0121f0d9732938d085fb8bf) + +commit d05b439142a24d28f35c6a09a8ab7c9eed503cd5 +Author: Sage Weil +Date: Mon Mar 4 16:29:57 2013 -0800 + + ceph-disk-prepare: clean up stupid check for a digit + + Signed-off-by: Sage Weil + (cherry picked from commit f03f62697f170d42b4b62c53d2860ff2f24a2d73) + +commit ea07b0e1047a4ac1b4dde88c795709190bd048be +Author: Sage Weil +Date: Mon Mar 4 16:08:15 2013 -0800 + + ceph-disk-prepare: use os.path.realpath() + + My janky symlink resolution is broken in various ways. + + Signed-off-by: Sage Weil + (cherry picked from commit 59505546e52a175435881b431bd349d532ae627e) + +commit 8f7e3e7dbbb9cab869366927c1687c38c012a1ef +Author: Danny Al-Gaaf +Date: Thu Feb 28 14:16:26 2013 +0100 + + ceph.spec.in: add new Requires from ceph-disk-prepare + + Added new Requires from ceph-disk-prepare: cryptsetup, gptfdisk, + parted and util-linux. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 5c3f5c5b69a9edc99138d4f1ddb016689303dc28) + + Conflicts: + + ceph.spec.in + +commit 3441acf3749dbd99f1e00e5306e8180647085d2a +Author: Sage Weil +Date: Wed Feb 27 13:31:12 2013 -0800 + + debian: require cryptsetup-bin + + This is needed for ceph-disk-prepare's dmcrypt support. + + Signed-off-by: Sage Weil + (cherry picked from commit cfcaceac44d6b7b7c55e81d0bfb05f4893f3b1d0) + + Conflicts: + + debian/control + +commit abdac6fddd25bc71f59c1097246cfa32b33b0f5f +Author: Alexandre Marangone +Date: Mon Apr 15 15:57:00 2013 -0700 + + Fix: use absolute path with udev + + Avoids the following: udevd[61613]: failed to execute '/lib/udev/bash' + 'bash -c 'while [ ! -e /dev/mapper/.... + + Signed-off-by: Alexandre Marangone + (cherry picked from commit 785b25f53dc7f8035eeba2aae8a196e3b102d930) + +commit d1775daf68d9aa887116a357cbcaf7c44e091cce +Author: Sage Weil +Date: Sat Feb 16 20:55:03 2013 -0800 + + ceph-disk-prepare: -f for mkfs.xfs only + + Signed-off-by: Sage Weil + (cherry picked from commit fecc3c3abf1176f4c7938e161559ea2db59f1cff) + +commit 405e0ea1c692b1d62f948734e07c4f919b90d4e0 +Author: Sage Weil +Date: Sat Feb 16 16:49:50 2013 -0800 + + debian: fix start of ceph-all + + Tolerate failure, and do ceph-all, not ceph-osd-all. + + Signed-off-by: Sage Weil + (cherry picked from commit aff0bb6fdc8ca358f7ac1e941bb9cfecbefb4bb6) + +commit 632be442261cabd56da0dc897b8a47a8e5493dce +Author: Alexandre Marangone +Date: Fri Feb 15 12:24:01 2013 -0800 + + ceph-disk-prepare: always force mkfs.xfs + + Signed-off-by: Alexandre Marangone + (cherry picked from commit d950d83250db3a179c4b629fd32cd7bc8149997e) + +commit 28d1193836edee622763e308aad69c7bfe7a4971 +Author: Sage Weil +Date: Wed Feb 13 18:22:45 2013 -0800 + + udev: trigger on dmcrypted osd partitions + + Automatically map encrypted journal partitions. + + For encrypted OSD partitions, map them, wait for the mapped device to + appear, and then ceph-disk-activate. + + This is much simpler than doing the work in ceph-disk-activate. + + Signed-off-by: Sage Weil + (cherry picked from commit e090a92a20f4161f473d16bc966f7d6aacac75ee) + +commit 5c5021b43ab70a08d791020262f76879dc77effb +Author: Sage Weil +Date: Tue Feb 12 21:35:56 2013 -0800 + + ceph-disk-prepare: add initial support for dm-crypt + + Keep keys in /etc/ceph/dmcrypt-keys. + + Identify partition instances by the partition UUID. Identify encrypted + partitions by a parallel set of type UUIDs. + + Signed-off-by: Alexandre Marangone + Signed-off-by: Sage Weil + (cherry picked from commit c6ac0ddf91915ba2aeae46d21367f017e18e82cd) + +commit d7084037d7a2395acfe8181f94963c1337c0f95b +Author: Alexandre Marangone +Date: Fri Feb 15 12:22:33 2013 -0800 + + ceph-disk-activate: pull mount options from ceph.conf + + Signed-off-by: Alexandre Marangone + (cherry picked from commit e7040f55f01db3de7d5cebfc79de50c8b6ad5d45) + +commit 34fba357ca8b662c7b943d426ed37875c173003f +Author: Sage Weil +Date: Thu Feb 14 17:05:32 2013 -0800 + + ceph-disk-activate: use full paths for everything + + We are run from udev, which doesn't get a decent PATH. + + Signed-off-by: Sage Weil + (cherry picked from commit b1c0fccba42dd184a2891ee873c0d6d8f8c79d14) + +commit caad18745cd8553a012d9e7f92e59d5b4450dcf2 +Author: Sage Weil +Date: Thu Feb 14 17:04:55 2013 -0800 + + ceph-disk-prepare: do partprobe after setting final partition type + + This is necessary to kick udev into processing the updated partition and + running its rules. + + Signed-off-by: Sage Weil + (cherry picked from commit 95835de9f80712eb26652ac6b66ba9c5eeb093d6) + +commit e1624e4626b4e67909f3bb83920c99ad323ed083 +Author: Sage Weil +Date: Wed Feb 13 21:47:30 2013 -0800 + + debian: start/stop ceph-all event on install/uninstall + + This helps us avoid the confusing situation with upstart where an individual + daemon job is running (like ceph-osd id=2) but the container jobs ceph-osd-all + and ceph-all are not. + + Signed-off-by: Sage Weil + (cherry picked from commit b7b9af5c0d531dcee7ce9b10043a29b0a1b31f47) + +commit 656305f65eb33d68b95f4d29f37b031cf6cf889a +Author: Sage Weil +Date: Wed Feb 13 21:37:08 2013 -0800 + + ceph-disk-activate: catch daemon start errors + + Signed-off-by: Sage Weil + (cherry picked from commit 690ae05309db118fb3fe390a48df33355fd068a0) + +commit 8b771bf929c4a9ab3fd4eb6f40b9222a463fd1a4 +Author: Sage Weil +Date: Wed Feb 13 17:30:19 2013 -0800 + + udev: trigger ceph-disk-activate directly from udev + + There is no need to depend on upstart for this. + + Signed-off-by: Sage Weil + (cherry picked from commit 5bd85ee5aa31bfd1f4f0e434f08c2a19414358ef) + + Conflicts: + + ceph.spec.in + +commit ffb0613efaa9cf919992640322785eedf95ca25f +Author: Sage Weil +Date: Wed Feb 13 16:02:10 2013 -0800 + + ceph-disk-activate: auto detect init system + + Look for an option 'init' in ceph.conf. Otherwise, check if we're ubuntu. + If so, use upstart. Otherwise, use sysvinit. + + Signed-off-by: Sage Weil + (cherry picked from commit d1904b2a848af3c02d2065ac2a42abe0e2699d0f) + +commit 74b562703c422890c67b2a88d7b18242f64949dc +Author: Sage Weil +Date: Wed Feb 13 15:49:42 2013 -0800 + + ceph-disk-activate: specify full path for blkid, initctl, service + + /sbin apparently isn't in the path when udev runs us. + + Signed-off-by: Sage Weil + (cherry picked from commit f06b45e66315310abb0720e021da377186455048) + +commit 9ea32e5f066bee75923212d8009fb37a365ef32e +Author: Sage Weil +Date: Sat Jan 26 19:18:23 2013 -0800 + + upstart: ceph-hotplug -> ceph-osd-activate + + This is a more meaningful name. + + Signed-off-by: Sage Weil + (cherry picked from commit e011ad128e7f302cb6955d9a7171ac0ec8890ddf) + +commit 494533a55010a59a52f6dcbe64f76e677a7dfe8e +Author: Sage Weil +Date: Sat Jan 26 19:14:22 2013 -0800 + + upstart/ceph-hotplug: tell activate to start via upstart + + This will mark the OSD data dir as upstart-managed. + + Signed-off-by: Sage Weil + (cherry picked from commit 792e45c63dd7a9622fddd6e15ee4c075f995ea56) + +commit 5e0892fd8cbc2571d94cffc0b64daaa4ec6c38f8 +Author: Sage Weil +Date: Sat Jan 26 19:08:22 2013 -0800 + + ceph-disk-prepare: refactor to support DIR, DISK, or PARTITION for data or journal + + Lots of code reorganization collapsed into a single commit here. + + - detect whether the user gave us a directory, disk, or partition, and Do The + Right Thing + - allow them to force that the input was of type X, for the careful/paranoid. + - make --zap-disk an option -- no longer the default + + Signed-off-by: Sage Weil + (cherry picked from commit b2ff6e8c9d96dee2c063b126de7030a5c2ae0d02) + +commit aa428017e4aad9872a54cd87036ef2bb528aac7b +Author: Sage Weil +Date: Sat Jan 26 20:33:16 2013 -0800 + + ceph-disk-activate: detect whether PATH is mount or dir + + remove in-the-way symlinks in /var/lib/ceph/osd + + This is simpler. Just detect what the path is and Do The Right Thing. + + Closes #3341 (which wanted to make --mount the default) + + Signed-off-by: Sage Weil + (cherry picked from commit 191d5f7535f8d96d493e1b35b43a421c67c168ea) + +commit e6d5aa053dbaaf07c94e35406c23f4ca009fe2da +Author: Sage Weil +Date: Sat Jan 26 20:32:47 2013 -0800 + + ceph-disk-activate: add --mark-init INITSYSTEM option + + Do not assume we will manage via upstart; let that be passed down via the + command line. + + Signed-off-by: Sage Weil + (cherry picked from commit fd4a921085a861e4aa428376219bb39055731f2b) + +commit fa23919eae363291b4807afe3fadd34f94e9ddcb +Author: Sage Weil +Date: Sat Jan 26 14:44:26 2013 -0800 + + ceph-disk-activate: factor mounting out of activate + + The activate stuff is generic for any OSD, regardless of whether we want + to mount it or not. Pull that part out. + + Signed-off-by: Sage Weil + (cherry picked from commit 07655288281c9c6f691f87352dc26b7c11ae07e8) + +commit 181ebdee0addfe3d13c13342def94ecf9415d6d5 +Author: Sage Weil +Date: Tue Feb 12 18:17:55 2013 -0800 + + debian: put ceph-mds upstart conf in ceph-mds package + + Fixes: #3157 + Signed-off-by: Sage Weil + (cherry picked from commit 23ad3a46a0099e263f43e0f0c1df1d21cfe58b3f) + +commit 919b0aedf7286e85e6ddc23f99f80f29e1d35db6 +Author: Sage Weil +Date: Tue Feb 12 17:02:52 2013 -0800 + + debian: include /var/lib/ceph/bootstrap-mds in package + + Signed-off-by: Sage Weil + (cherry picked from commit e80675a0f333c04452d4822fd0eb3c6e92eda3df) + +commit f97f49b1e7ca8555c945b93fbc8241f5fa620dd8 +Author: Sage Weil +Date: Tue Feb 12 16:26:14 2013 -0800 + + ceph-create-keys: create mds bootstrap key + + Signed-off-by: Sage Weil + (cherry picked from commit 809143f16c70483ba5bb429dea812d31b67f2b49) + +commit f43c339d67b78e6afc3737d26cea4bc05dcea900 +Author: Sage Weil +Date: Sat Jan 26 14:45:43 2013 -0800 + + upstart/ceph-hotplug: drop -- in ceph-disk-activate args + + We would like to transition to + + ceph-disk-activate --mount DEV + + and away from a generic multi-definition PATH argument. + + Signed-off-by: Sage Weil + (cherry picked from commit 4698b6a1035dee8509ce2d4dab7b34a16b78f7cd) + +commit 39df4c81f2166b7e9ac89c591b268b60de4042e6 +Author: Sage Weil +Date: Fri Jan 25 22:53:23 2013 -0800 + + init-ceph: iterate/locate local sysvinit-tagged directories + + Search /var/lib/ceph/$type/ceph-$id and start/stop those daemons if + present and tagged with the sysvinit file. + + Signed-off-by: Sage Weil + (cherry picked from commit c8f528a4070dd3aa0b25c435c6234032aee39b21) + +commit 05efb7ab5b289472a1af05d6aa100a7385be304e +Author: Sage Weil +Date: Fri Jan 25 22:52:03 2013 -0800 + + init-ceph: consider sysvinit-tagged dirs as local + + If there is a 'sysvinit' file in the daemon directory in the default + location (/var/lib/ceph/$type/ceph-$id), consider it sysvinit-managed. + + Signed-off-by: Sage Weil + (cherry picked from commit b8aa4769a62e0d88174678cbefd89d9ee2baceea) + +commit 8c4c53abf84d30ff4a605225a22575f56d946971 +Author: Sage Weil +Date: Mon Feb 11 17:39:03 2013 -0800 + + ceph-disk-prepare: align mkfs, mount config options with mkcephfs + + 'osd mkfs ...', not 'osd fs mkfs ...'. Sigh. Support both. + + Signed-off-by: Sage Weil + (cherry picked from commit af2372ca4a702da70275edd1b1357fcff51e6ae2) + +commit a8e7e9df61a7229d9e2b4b4dedc68b5c1bf15c38 +Author: Sage Weil +Date: Tue Apr 23 10:00:38 2013 -0700 + + init-ceph: fix (and simplify) pushing ceph.conf to remote unique name + + The old code would only do the push once per remote node (due to the + list in $pushed_to) but would reset $unique on each attempt. This would + break if a remote host was processed twice. + + Fix by just skipping the $pushed_to optimization entirely. + + Fixes: #4794 + Reported-by: Andreas Friedrich + Signed-off-by: Sage Weil + (cherry picked from commit ccbc4dbc6edf09626459ca52a53a72682f541e86) + +commit 9374baccb8a71e1fe5ea2e614feac93e865dd027 +Merge: b6b4ebe aa37726 +Author: Josh Durgin +Date: Tue Apr 23 12:04:45 2013 -0700 + + Merge pull request #238 from ceph/wip-bobtail-rbd-backports-req-order + + Reviewed-by: Sage Weil + +commit aa37726b8d43d08b495d55dc2aef93854e9539c5 +Author: Josh Durgin +Date: Tue Apr 23 09:18:30 2013 -0700 + + rbd: only set STRIPINGV2 feature when needed + + Only set the STRIPINGV2 feature if the striping parameters are non-default. + Specifically, fix the case where the passed-in size and count are == 0. + + Fixes: #4710 + Signed-off-by: Sage Weil + (cherry picked from commit 5926ffa576e9477324ca00eaec731a224195e7db) + + Conflicts: + + src/rbd.cc + +commit 0e2266dba912cde2c4a86ba7055c8bec3a5bc1a5 +Author: Josh Durgin +Date: Wed Apr 10 14:16:56 2013 -0700 + + LibrbdWriteback: complete writes strictly in order + + RADOS returns writes to the same object in the same order. The + ObjectCacher relies on this assumption to make sure previous writes + are complete and maintain consistency. Reads, however, may be + reordered with respect to each other. When writing to an rbd clone, + reads to the parent must be performed when the object does not exist + in the child yet. These reads may be reordered, resulting in the + original writes being reordered. This breaks the assmuptions of the + ObjectCacher, causing an assert to fail. + + To fix this, keep a per-object queue of outstanding writes to an + object in the LibrbdWriteback handler, and finish them in the order in + which they were sent. + + Fixes: #4531 + Signed-off-by: Josh Durgin + (cherry picked from commit 06d05e5ed7e09fa873cc05021d16f21317a1f8ef) + +commit 7a11c2505a8b74babee90cca945c2a068a656ec1 +Author: Josh Durgin +Date: Wed Apr 10 12:22:02 2013 -0700 + + LibrbdWriteback: removed unused and undefined method + + Signed-off-by: Josh Durgin + (cherry picked from commit 909dfb7d183f54f7583a70c05550bec07856d4e4) + +commit 884438febaf12dc380d4a1a3c3c8d3cbefd32399 +Author: Josh Durgin +Date: Wed Apr 10 12:06:36 2013 -0700 + + LibrbdWriteback: use a tid_t for tids + + An int could be much smaller, leading to overflow and bad behavior. + + Signed-off-by: Josh Durgin + (cherry picked from commit 9d19961539b2d50d0c9edee1e3d5ac6912a37f24) + +commit 124f81cc5fa5a3ac9e7777ad49dd42d864fd7f68 +Author: Josh Durgin +Date: Wed Apr 10 12:03:04 2013 -0700 + + WritebackHandler: make read return nothing + + The tid returned by reads is ignored, and would make tracking writes + internally more difficult by using the same id-space as them. Make read + void and update all implementations. + + Signed-off-by: Josh Durgin + (cherry picked from commit 870f9cd421ca7b0094f9f89e13b1898a8302c494) + +commit 13ba07a0f3af479861c0e83e3e6441fef1bc8a99 +Author: Josh Durgin +Date: Mon Apr 1 14:51:46 2013 -0700 + + ObjectCacher: deduplicate final part of flush_set() + + Both versions of flush_set() did the same thing. Move it into a + helper called from both. + + Signed-off-by: Josh Durgin + (cherry picked from commit f5b81d8d167d1aa7f82a5776bbb1f319063ab809) + +commit 7bc8df1f3e3b60b59672a082eba374729a6866b8 +Author: Josh Durgin +Date: Wed Apr 10 11:35:46 2013 -0700 + + test_stress_watch: remove bogus asserts + + There's no reason to check the duration of a watch. The notify will + timeout after 30s on the OSD, but there's no guarantee the client will + see that in any bounded time. This test is really meant as a stress + test of the OSDs anyway, not of the clients, so just remove asserts + about operation duration. + + Fixes: #4591 + Signed-off-by: Josh Durgin + Reviewed-by: Sam Just + (cherry picked from commit 4b656730ffff21132f358c2b9a63504dfbf0998d) + +commit 4a1c27c0e6e2e70be2b58e01872e321352c8e484 +Author: Josh Durgin +Date: Mon Apr 1 11:09:52 2013 -0700 + + librados: don't use lockdep for AioCompletionImpl + + This is a quick workaround for the next branch. A more complete fix + will be done for the master branch. This does not affect correctness, + just what qa runs with lockdep enabled do. + + Signed-off-by: Josh Durgin + Reviewed-by: Sage Weil + (cherry picked from commit 267ce0d90b8f3afaaddfdc0556c9bafbf4628426) + +commit d36c5b5bd30a9d7e60403a09cedaea28bdc29e99 +Author: Josh Durgin +Date: Fri Mar 29 12:46:27 2013 -0700 + + librados: move snapc creation to caller for aio_operate + + The common case already has a snapshot context, so avoid duplicating + it (copying a potentially large vector) in IoCtxImpl::aio_operate(). + + Signed-off-by: Josh Durgin + (cherry picked from commit 4c4d5591bdb048cd9ffa25b529c6127356e7f9a7) + +commit 31a45e8e23ebf9815ce5a4e0c89ddbf384702aad +Author: Josh Durgin +Date: Thu Mar 21 16:04:10 2013 -0700 + + librbd: add an async flush + + At this point it's a simple wrapper around the ObjectCacher or + librados. + + This is needed for QEMU so that its main thread can continue while a + flush is occurring. Since this will be backported, don't update the + librbd version yet, just add a #define that QEMU and others can use to + detect the presence of aio_flush(). + + Refs: #3737 + Signed-off-by: Josh Durgin + (cherry picked from commit 302b93c478b3f4bc2c82bfb08329e3c98389dd97) + +commit f2e490cb5b1f322e637d787e788733ac4b2496f4 +Author: Josh Durgin +Date: Wed Mar 27 15:42:10 2013 -0700 + + librbd: use the same IoCtx for each request + + Before we were duplicating the IoCtx for each new request since they + could have a different snapshot context or read from a different + snapshot id. Since librados now supports setting these explicitly + for a given request, do that instead. + + Since librados tracks outstanding requests on a per-IoCtx basis, this + also fixes a bug that causes flush() without caching to ignore + all the outstanding requests, since they were to separate, + duplicate IoCtxs. + + Signed-off-by: Josh Durgin + (cherry picked from commit 860493e7ff0d87d02069b243fc1c8326ce0721f9) + +commit cbb37fb5470f22949a4dbb747f428943cce4aca7 +Author: Josh Durgin +Date: Wed Mar 27 15:37:27 2013 -0700 + + librbd: add an is_complete() method to AioCompletions + + Mainly this is useful for testing, like flushing and checking that + all pending writes are complete after the flush finishes. + + Signed-off-by: Josh Durgin + (cherry picked from commit 2ae32068dee22a0ca0698e230ead98f2eeeff3e6) + +commit f9bcffa2482220202e68d6bac70216d44ee5046b +Author: Josh Durgin +Date: Wed Mar 27 15:32:29 2013 -0700 + + librados: add versions of a couple functions taking explicit snap args + + Usually the snapid to read from or the snapcontext to send with a write + are determined implicitly by the IoCtx the operations are done on. + + This makes it difficult to have multiple ops in flight to the same + IoCtx using different snapcontexts or reading from different snapshots, + particularly when more than one operation may be needed past the initial + scheduling. + + Add versions of aio_read, aio_sparse_read, and aio_operate + that don't depend on the snap id or snapcontext stored in the IoCtx, + but get them from the caller. Specifying this information for each + operation can be a more useful interface in general, but for now just + add it for the methods used by librbd. + + Signed-off-by: Josh Durgin + (cherry picked from commit f06debef6c293750539501ec4e6103e5ae078392) + +commit fb95b800a4cc431a8bd98692fffbfc150f6f8d67 +Author: Josh Durgin +Date: Wed Mar 27 14:48:31 2013 -0700 + + librados: add async flush interface + + Sometimes you don't want flush to block, and can't modify + already scheduled aio_writes. This will be useful for a + librbd async flush interface. + + Signed-off-by: Josh Durgin + (cherry picked from commit 7cc0940f89070dadab5b9102b1e78362f762f402) + + Conflicts: + + src/include/rados/librados.h + src/include/rados/librados.hpp + +commit 3a61d17b6729b73d0bf2df106f54dafb603af646 +Author: Josh Durgin +Date: Thu Mar 28 10:34:37 2013 -0700 + + ObjectCacher: remove unneeded var from flush_set() + + The gather will only have subs if there is something to flush. Remove + the safe variable, which indicates the same thing, and convert the + conditionals that used it to an else branch. Movinig gather.activate() + inside the has_subs() check has no effect since activate() does + nothing when there are no subs. + + Signed-off-by: Josh Durgin + (cherry picked from commit 553aaac8a19e2359acf6d9d2e1bb4ef0bdba7801) + +commit ee7bf281005cce671e467ca9b9eff0ba7eb9899e +Author: Josh Durgin +Date: Fri Mar 22 12:17:43 2013 -0700 + + ObjectCacher: remove NULL checks in flush_set() + + Callers will always pass a callback, so assert this and remove the + checks for it being NULL. + + Signed-off-by: Josh Durgin + (cherry picked from commit 41568b904de6d155e5ee87c68e9c31cbb69508e5) + +commit d86f9b1dd370563170ab875c6a7de511f05acbf7 +Author: Josh Durgin +Date: Fri Mar 22 12:13:36 2013 -0700 + + ObjectCacher: always complete flush_set() callback + + This removes the last remnants of + b5e9995f59d363ba00d9cac413d9b754ee44e370. If there's nothing to flush, + immediately call the callback instead of deleting it. Callers were + assuming they were responsible for completing the callback whenever + flush_set() returned true, and always called complete(0) in this + case. Simplify the interface and just do this in flush_set(), so that + it always calls the callback. + + Since C_GatherBuilder deletes its finisher if there are no subs, + only set its finisher when subs are present. This way we can still + call ->complete() for the callback. + + Signed-off-by: Josh Durgin + (cherry picked from commit 92db06c05dc2cad8ed31648cb08866781aee2855) + + Conflicts: + + src/client/Client.cc + +commit 00dfb3f06fb6c2581a3f71126adcde0126e5e207 +Author: Josh Durgin +Date: Tue Jan 29 14:22:15 2013 -0800 + + ObjectCacher: fix flush_set when no flushing is needed + + C_GatherBuilder takes ownership of the Context we pass it. Deleting it + in flush_set after constructing the C_GatherBuilder results in a + double delete. + + Fixes: #3946 + Signed-off-by: Josh Durgin + Reviewed-by: Sam Lang + (cherry picked from commit 3bc21143552b35698c9916c67494336de8964d2a) + +commit 0f2e5d36e4dcd073174715c310fa22a835ca1259 +Author: Sam Lang +Date: Fri Jan 18 14:59:12 2013 -0600 + + objectcacher: Remove commit_set, use flush_set + + commit_set() and flush_set() are identical in functionality, + so use flush_set everywhere and remove commit_set from + the code. + + Also fixes a bug in flush_set where the finisher context was + getting freed twice if no objects needed to be flushed. + + Signed-off-by: Sam Lang + (cherry picked from commit 72147fd3a1da8ecbcb31ddf6b66a158d71933909) + +commit 3b0c565dceb41dcaf53965321ef420641bcb699b +Author: Josh Durgin +Date: Wed Mar 13 09:42:43 2013 -0700 + + librbd: make aio_writes to the cache always non-blocking by default + + When the ObjectCacher's writex blocks, it affects the thread requesting + the aio, which can cause starvation for other I/O when used by QEMU. + + Preserve the old behavior via a config option in case this has any + bad side-effects, like too much memory usage under heavy write loads. + + Fixes: #4091 + Signed-off-by: Josh Durgin + (cherry picked from commit 03ac01fa6a94fa7a66ede057e9267e0a562c3cdb) + +commit e237dfc742bba76664861a8868c502946fe53548 +Author: Josh Durgin +Date: Wed Mar 13 09:37:21 2013 -0700 + + ObjectCacher: optionally make writex always non-blocking + + Add a callback argument to writex, and a finisher to run the + callbacks. Move the check for dirty+tx > max_dirty into a helper that + can be called from a wrapper around the callbacks from writex, or from + the current place in _wait_for_write(). + + Signed-off-by: Josh Durgin + (cherry picked from commit c21250406eced8e5c467f492a2148c57978634f4) + +commit 7bc1596b90d2d5853659cb3ffbe9653b633345f4 +Author: Josh Durgin +Date: Wed Mar 27 17:30:42 2013 -0700 + + librbd: flush cache when set_snap() is called + + If there are writes pending, they should be sent while the image + is still writeable. If the image becomes read-only, flushing the + cache will just mark everything dirty again due to -EROFS. + + Fixes: #4525 + Backport: bobtail + Signed-off-by: Josh Durgin + (cherry picked from commit 613b7085bb48cde1e464b7a97c00b8751e0e917f) + +commit 9facdcac7bb8ab92f1ab486eaabee681e6b6519d +Author: Josh Durgin +Date: Fri Mar 15 17:28:13 2013 -0700 + + librbd: optionally wait for a flush before enabling writeback + + Older guests may not send flushes properly (i.e. never), so if this is + enabled, rbd_cache=true is safe for them transparently. + + Disable by default, since it will unnecessarily slow down newer guest + boot, and prevent writeback caching for things that don't need to send + flushes, like the command line tool. + + Refs: #3817 + Signed-off-by: Josh Durgin + Reviewed-by: Sage Weil + (cherry picked from commit 1597b3e3a1d776b56e05c57d7c3de396f4f2b5b2) + +commit 1c44b66fb371a5864860c067bb5f59374f43005d +Author: Josh Durgin +Date: Fri Mar 8 18:57:24 2013 -0800 + + librbd: invalidate cache when flattening + + The cache stores which objects don't exist. Flatten bypasses the cache + when doing its copyups, so when it is done the -ENOENT from the cache + is treated as zeroes instead of 'need to read from parent'. + + Clients that have the image open need to forgot about the cached + non-existent objects as well. Do this during ictx_refresh, while the + parent_lock is held exclusively so no new reads from the parent can + happen until the updated parent metadata is visible, so no new reads + from the parent will occur. + + Signed-off-by: Josh Durgin + (cherry picked from commit 46e8fc00b2dc8eb17d8777b6ef5ad1cfcc389cea) + +commit d9ca1b00a4dacb4715a69a276a644d645d0d5bc1 +Author: Josh Durgin +Date: Fri Mar 8 17:53:31 2013 -0800 + + ObjectCacher: add a method to clear -ENOENT caching + + Clear the exists and complete flags for any objects that have exists + set to false, and force any in-flight reads to retry if they get + -ENOENT instead of generating zeros. + + This is useful for getting the cache into a consistent state for rbd + after an image has been flattened, since many objects which previously + did not exist and went up to the parent to retrieve data may now exist + in the child. + + Signed-off-by: Josh Durgin + (cherry picked from commit f2a23dc0b092c5ac081893e8f28c6d4bcabd0c2e) + +commit 1e51be05b7909a676ae499ca84e4cce94bb50da4 +Author: Josh Durgin +Date: Fri Mar 8 17:49:27 2013 -0800 + + ObjectCacher: keep track of outstanding reads on an object + + Reads always use C_ReadFinish as a callback (and they are the only + user of this callback). Keep an xlist of these for each object, so + they can remove themselves as they finish. To prevent racing requests + and with discard removing objects from the cache, clear the xlist in + the object destructor, so if the Object is still valid the set_item + will still be on the list. + + Make the ObjectCacher constructor take an Object* instead of the pool + and object id, which are derived from the Object* anyway. + + Signed-off-by: Josh Durgin + (cherry picked from commit f6f876fe51e40570596c25ac84ba3689f72776c2) + +commit f2bcf241257500f5784b216b7a377ddec4669531 +Author: Josh Durgin +Date: Mon Feb 25 16:09:26 2013 -0800 + + test_rbd: move flatten tests back into TestClone + + They need the same setup, and it's easy enough to run specific + subtests. Making them a separate subclass accidentally duplicated + tests from TestClone. + + Signed-off-by: Josh Durgin + (cherry picked from commit 9c693d7e8312026f6d8d9586381b026ada35d808) + +commit cd989681823a2b8521c789f5d4fea5525ac53911 +Author: Josh Durgin +Date: Tue Feb 26 13:20:08 2013 -0800 + + librbd: fix rollback size + + The duplicate calls to get_image_size() and get_snap_size() replaced + by 5806226cf0743bb44eaf7bc815897c6846d43233 uncovered this. The first + call was using the currently set snap_id instead of the snapshot being + rolled back to. + + Signed-off-by: Josh Durgin + (cherry picked from commit d6c126e2131fefab6df676f2b9d0addf78f7a488) + +commit 796066b7a8324b12a660d9b80b927e643db7529e +Author: Josh Durgin +Date: Mon Feb 25 12:05:16 2013 -0800 + + Merge branch 'wip-4249' into wip-4249-master + + Make snap_rollback() only take a read lock on snap_lock, since + it does not modify snapshot-related fields. + Conflicts: + src/librbd/internal.cc + (cherry picked from commit db5fc2270f91aae220fc3c97b0c62e92e263527b) + +commit 34e9030e50fe15a320cbfbc9854c86deb3a9c57c +Author: Josh Durgin +Date: Thu Feb 21 11:26:45 2013 -0800 + + librbd: make sure racing flattens don't crash + + The only way for a parent to disappear is a racing flatten completing, + or possibly in the future the image being forcibly removed. In either + case, continuing to flatten makes no sense, so stop early. + + Signed-off-by: Josh Durgin + (cherry picked from commit a1ae8562877d1b902918e866a1699214090c40bd) + +commit 6e6636d50840e97022c8e4a1072f42fee15050a9 +Author: Josh Durgin +Date: Thu Feb 21 11:17:18 2013 -0800 + + librbd: use rwlocks instead of mutexes for several fields + + Image metadata like snapshots, size, and parent is frequently read, + but rarely updated. During flatten, we were depending on the parent + lock to prevent the parent ImageCtx from disappearing out from under + us while we read from it. The copy-up path also needed the parent lock + to be able to read from the parent image, which lead to a deadlock. + + Convert parent_lock, snap_lock, and md_lock to RWLocks, and change + their use to read instead of exclusive locks where appropriate. The + main place exclusive locks are needed is in ictx_refresh, so this is + pretty simple. This fixes the deadlock, since parent_lock is only + needed for read access in both flatten and the copy-up operation. + + cache_lock and refresh_lock are only really used for exclusive access, + so leave them as regular mutexes. + + One downside to this is that there's no way to assert is_locked() + for RWLocks, so we'll have to be very careful about changing code + in the future. + + Fixes: #3665 + Signed-off-by: Josh Durgin + (cherry picked from commit 995ff0e3eaa560b242da8c019a2e11e735e854f7) + +commit 9b292199ef63822462c67cb6cf1cca6a53cf9fd7 +Author: Josh Durgin +Date: Thu Feb 21 11:15:41 2013 -0800 + + common: add lockers for RWLocks + + This makes them easier to use, especially instead of existing mutexes. + + Signed-off-by: Josh Durgin + (cherry picked from commit e0f8e5a80d6d22bd4dee79a4996ea7265d11b0c1) + +commit d8ac6cbf883fce0f39d661a879ff2462479d5494 +Author: Josh Durgin +Date: Thu Feb 21 23:22:59 2013 -0800 + + objecter: initialize linger op snapid + + Since they are write ops now, it must be CEPH_NOSNAP or the OSD + returns EINVAL. + + Signed-off-by: Josh Durgin + (cherry picked from commit 15bb9ba9fbb4185708399ed6deee070d888ef6d2) + +commit 9ea4dac1db46c20cd83c5af5d29d9ce7a5768380 +Author: Sage Weil +Date: Thu Feb 21 15:44:19 2013 -0800 + + objecter: separate out linger_read() and linger_mutate() + + A watch is a mutation, while a notify is a read. The mutations need to + pass in a proper snap context to be fully correct. + + Also, make the WRITE flag implicit so the caller doesn't need to pass it + in. + + Signed-off-by: Sage Weil + (cherry picked from commit 6c08c7c1c6d354d090eb16df279d4b63ca7a355a) + +commit d9636faabfdb2c0a876f0afa092a2ab925cf8983 +Author: Sage Weil +Date: Thu Feb 21 15:31:08 2013 -0800 + + osd: make watch OSDOp print sanely + + Signed-off-by: Sage Weil + (cherry picked from commit de4fa95f03b99a55b5713911c364d7e2a4588679) + +commit 959bfe9097a2cfa48e2ab21f11bd32c1349807aa +Author: Sage Weil +Date: Thu Feb 21 13:28:47 2013 -0800 + + osdc/Objecter: unwatch is a mutation, not a read + + This was causing librados to unblock after the ACK on unwatch, which meant + that librbd users raced and tried to delete the image before the unwatch + change was committed..and got EBUSY. See #3958. + + The watch operation has a similar problem. + + Signed-off-by: Sage Weil + (cherry picked from commit fea77682a6cf9c7571573bc9791c03373d1d976d) + + Conflicts: + + src/librados/IoCtxImpl.cc + +commit b6b4ebed559db8bf74da4f482201948b5abc9225 +Author: Sage Weil +Date: Thu Feb 21 11:15:58 2013 -0800 + + osd: an interval can't go readwrite if its acting is empty + + Let's not forget that min_size can be zero. + + Fixes: #4159 + Signed-off-by: Sage Weil + (cherry picked from commit 4277265d99647c9fe950ba627e5d86234cfd70a9) + +commit 055d746c3bca0d7067b71ed1ff6d1c1cce42b5ed +Author: Sage Weil +Date: Tue Feb 19 08:29:53 2013 -0800 + + mon: restrict pool size to 1..10 + + See: #4159 + Signed-off-by: Sage Weil + (cherry picked from commit 30b8d653751acb4bc4be5ca611f154e19afe910a) + +commit c073bd25610ba556f3b30e6c583d1d74a10f09e2 +Author: Sage Weil +Date: Fri Apr 19 13:05:43 2013 -0700 + + init-ceph: do not stop start on first failure + + When starting we often loop over many daemon instances. Currently we stop + on the first error and do not try to start other daemons. + + Instead, try them all, but return a failure if anything did not start. + + Fixes: #2545 + Signed-off-by: Sage Weil + Reviewed-by: Gary Lowell + (cherry picked from commit d395aa521e8a4b295ed2b08dd7cfb7d9f995fcf7) + + Conflicts: + + src/init-ceph.in + +commit daa6ed2bfe790f83f986f51d0917d6268d3e9d78 +Merge: 1d0bf61 9fe57e2 +Author: Josh Durgin +Date: Thu Apr 11 13:00:27 2013 -0700 + + Merge pull request #210 from dalgaaf/wip-da-bobtail-pybind + + Reviewed-by: Josh Durgin + +commit 9fe57e2bea89243a0080e667f90b7d4fb15ed883 +Author: Danny Al-Gaaf +Date: Fri Apr 5 15:55:34 2013 +0200 + + rados.py: fix create_pool() + + Call rados_pool_create_with_all() only if auid and crush_rule + are set properly. In case only crush_rule is set call + rados_pool_create_with_crush_rule() on librados, not the other + way around. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 94a1f25e7230a700f06a2699c9c2b99ec1bf7144) + +commit 1d0bf61da98bec7318f44b95a49298e13b792b70 +Author: Dan Mick +Date: Mon Apr 8 13:52:32 2013 -0700 + + mon: Use _daemon version of argparse functions + + Allow argparse functions to fail if no argument given by using + special versions that avoid the default CLI behavior of "cerr/exit" + + Fixes: #4678 + Signed-off-by: Dan Mick + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit be801f6c506d9fbfb6c06afe94663abdb0037be5) + + Conflicts: + src/mon/Monitor.cc + +commit 3769250acf42a751ee8dfa95207a4ffafd25574a +Author: Dan Mick +Date: Mon Apr 8 13:49:22 2013 -0700 + + ceph_argparse: add _daemon versions of argparse calls + + mon needs to call argparse for a couple of -- options, and the + argparse_witharg routines were attempting to cerr/exit on missing + arguments. This is appropriate for the CLI usage, but not the daemon + usage. Add a 'cli' flag that can be set false for the daemon usage + (and cause the parsing routine to return false instead of exit). + + The daemon's parsing code due for a rewrite soon. + + Signed-off-by: Dan Mick + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit c76bbc2e6df16d283cac3613628a44937e38bed8) + +commit 1f3b4917cc5c4d796a96637912d2ae5ce2877861 +Author: Alexandre Oliva +Date: Wed Feb 6 15:27:13 2013 -0200 + + silence logrotate some more + + I was getting email with logrotate error output from “which invoke-rc.d†+ on systems without an invoke-rc.d. This patch silences it. + + Silence stderr from which when running logrotate + + From: Alexandre Oliva + + Signed-off-by: Alexandre Oliva + (cherry picked from commit d02340d90c9d30d44c962bea7171db3fe3bfba8e) + +commit e6eace2334d04fc9292c96a843304d1748b5bbe7 +Merge: 8cb13a1 1507443 +Author: Samuel Just +Date: Fri Mar 29 12:14:22 2013 -0700 + + Merge remote-tracking branch 'upstream/bobtail-4556' into bobtail + + Reviewed-by: Samuel Just + +commit 8cb13a195c592fd2f17889e77d717c1864f97dca +Author: Samuel Just +Date: Thu Feb 14 14:03:56 2013 -0800 + + OSD: always activate_map in advance_pgs, only send messages if up + + We should always handle_activate_map() after handle_advance_map() in + order to kick the pg into a valid peering state for processing requests + prior to dropping the lock. + + Additionally, we would prefer to avoid sending irrelevant messages + during boot, so only send if we are up according to the current service + osdmap. + + Fixes: #4572 + Backport: bobtail + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 4dfcad44431855ba7d68a1ccb41dc3cb5db6bb50) + +commit d89ab0ea6fa8d0961cad82f6a81eccbd3bbd3f55 +Author: Samuel Just +Date: Thu Mar 28 14:09:17 2013 -0700 + + PG: update PGPool::name in PGPool::update + + Fixes: #4471 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit f804892d725cfa25c242bdc577b12ee81dcc0dcc) + +commit 750626108616761512271d5a4f10dee82a54e460 +Author: Samuel Just +Date: Tue Mar 26 15:10:37 2013 -0700 + + ReplicatedPG: send entire stats on OP_BACKFILL_FINISH + + Otherwise, we update the stat.stat structure, but not the + stat.invalid_stats part. This will result in a recently + split primary propogating the invalid stats but not the + invalid marker. Sending the whole pg_stat_t structure + also mirrors MOSDSubOp. + + Fixes: #4557 + Backport: bobtail + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 76b296f01fd0d337c8fc9f79013883e62146f0c6) + +commit 1507443271fda933032ef0877aff1890d4fd5b63 +Author: Sage Weil +Date: Wed Mar 27 13:19:03 2013 -0700 + + osd: disallow classes with flags==0 + + They must be RD, WR, or something.... + + Signed-off-by: Sage Weil + (cherry picked from commit 89c69016e1dddb9f3ca40fd699e4a995ef1e3eee) + +commit 6b6e0cef99e66b46ade35ab262f071982049bc22 +Author: Sage Weil +Date: Wed Mar 27 12:59:41 2013 -0700 + + osd: EINVAL when rmw_flags is 0 + + A broken client (e.g., v0.56) can send a request that ends up with an + rmw_flags of 0. Treat this as invalid and return EINVAL. + + Fixes: #4556 + Signed-off-by: Sage Weil + (cherry picked from commit f2dda43c9ed4fda9cfa87362514985ee79e0ae15) + +commit 4bdd37495cedb1cf30a5311548492fe3f5db6e92 +Author: Sage Weil +Date: Wed Mar 27 13:08:38 2013 -0700 + + osd: fix detection of non-existent class method + + Signed-off-by: Sage Weil + (cherry picked from commit 50b831e3641c21cd5b145271688189e199f432d1) + +commit f28800f8b65e90a3b96429f07197236e6c9bf1a2 +Author: Sage Weil +Date: Wed Mar 27 13:12:38 2013 -0700 + + osd: tolerate rmw_flags==0 + + We will let OSD return a proper error instead of asserting. + + This is effectively a backport of c313423cfda55a2231e000cd5ff20729310867f8. + + Signed-off-by: Sage Weil + +commit 94321ccdff81d5d6cea1acdb54344c3d930a49eb +Author: Josh Durgin +Date: Thu Feb 21 17:39:19 2013 -0800 + + test_librbd_fsx: fix image closing + + Always close the image we opened in check_clone(), and check the + return code of the rbd_close() called before cloning. + + Refs: #3958 + Signed-off-by: Josh Durgin + (cherry picked from commit 94ae72546507799667197fd941633bb1fd2520c2) + +commit 7fbc1ab69267e6be96665b0d4e277dc4a07f9220 +Author: Josh Durgin +Date: Wed Mar 13 17:05:42 2013 -0700 + + rbd: remove fiemap use from import + + On some kernels and filesystems fiemap can be racy and provide + incorrect data even after an fsync. Later we can use SEEK_HOLE and + SEEK_DATA, but for now just detect zero runs like we do with stdin. + + Basically this adapts import from stdin to work in the case of a file + or block device, and gets rid of other cruft in the import that used + fiemap. + + Fixes: #4388 + Backport: bobtail + Signed-off-by: Josh Durgin + (cherry picked from commit 3091283895e8ffa3e4bda13399318a6e720d498f) diff --git a/doc/changelog/v0.56.6.txt b/doc/changelog/v0.56.6.txt new file mode 100644 index 00000000..17818d27 --- /dev/null +++ b/doc/changelog/v0.56.6.txt @@ -0,0 +1,40 @@ +commit 95a0bda7f007a33b0dc7adf4b330778fa1e5d70c +Author: Gary Lowell +Date: Fri May 3 12:53:00 2013 -0700 + + v0.56.6 + +commit 6dbdcf5a210febb5e0dd585e0e599ac807642210 +Author: Gary Lowell +Date: Fri May 3 12:45:24 2013 -0700 + + ceph.spec.in: Fix platform dependecies + + Picked up an incorrect dependency merging the rbd udev rules update. + + Signed-off-by: Gary Lowell + +commit 05af17e697eb95b2a807d9c05cde39106c5ecee9 +Author: Yehuda Sadeh +Date: Mon Apr 22 12:48:56 2013 -0700 + + rgw: don't send tail to gc if copying object to itself + + Fixes: #4776 + Backport: bobtail + Need to make sure that when copying an object into itself we don't + send the tail to the garbage collection. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit de5d1da810732ee48f41e8be18257053d862301b) + +commit f0eb20a7b0f7c8afadc21cc063f1f289b5092bab +Author: Sage Weil +Date: Fri May 3 12:24:21 2013 -0700 + + ceph_common.sh: re-sync get_name_list with master + + We backported various items but didn't catch all the changes! :( + + Signed-off-by: Sage Weil diff --git a/doc/changelog/v0.56.7.txt b/doc/changelog/v0.56.7.txt new file mode 100644 index 00000000..b01c0de1 --- /dev/null +++ b/doc/changelog/v0.56.7.txt @@ -0,0 +1,454 @@ +commit 14f23ab86b0058a8651895b3dc972a29459f3a33 +Author: Gary Lowell +Date: Tue Aug 27 10:44:32 2013 -0700 + + v0.56.7 + +commit 8551be345c86837e0893fdf6c9c5b0af523f50f8 +Author: Josh Durgin +Date: Wed Aug 21 14:28:49 2013 -0700 + + objecter: resend unfinished lingers when osdmap is no longer paused + + Plain Ops that haven't finished yet need to be resent if the osdmap + transitions from full or paused to unpaused. If these Ops are + triggered by LingerOps, they will be cancelled instead (since + should_resend = false), but the LingerOps that triggered them will not + be resent. + + Fix this by checking the registered flag for all linger ops, and + resending any of them that aren't paused anymore. + + Fixes: #6070 + Signed-off-by: Josh Durgin + Reviewed-by: Sage Weil + (cherry picked from commit 38a0ca66a79af4b541e6322467ae3a8a4483cc72) + +commit 1670a73b56e0b407b65334d8f03d3ebb9558ac8b +Author: Sage Weil +Date: Tue Aug 13 12:52:41 2013 -0700 + + librados: fix async aio completion wakeup + + For aio flush, we register a wait on the most recent write. The write + completion code, however, was *only* waking the waiter if they were waiting + on that write, without regard to previous writes (completed or not). + For example, we might have 6 and 7 outstanding and wait on 7. If they + finish in order all is well, but if 7 finishes first we do the flush + completion early. Similarly, if we + + - start 6 + - start 7 + - finish 7 + - flush; wait on 7 + - finish 6 + + we can hang forever. + + Fix by doing any completions that are prior to the oldest pending write in + the aio write completion handler. + + Refs: #5919 + + Signed-off-by: Sage Weil + Reviewed-by: Josh Durgin + Tested-by: Oliver Francke + (cherry picked from commit 16ed0b9af8bc08c7dabead1c1a7c1a22b1fb02fb) + +commit 6cf05375abea26d2645e3301c9082c64ddf31a55 +Author: Josh Durgin +Date: Mon Aug 12 19:17:09 2013 -0700 + + librados: fix locking for AioCompletionImpl refcounting + + Add an already-locked helper so that C_Aio{Safe,Complete} can + increment the reference count when their caller holds the + lock. C_AioCompleteAndSafe's caller is not holding the lock, so call + regular get() to ensure no racing updates can occur. + + This eliminates all direct manipulations of AioCompletionImpl->ref, + and makes the necessary locking clear. + + The only place C_AioCompleteAndSafe is used is in handling + aio_flush_async(). This could cause a missing completion. + + Refs: #5919 + Signed-off-by: Josh Durgin + Reviewed-by: Sage Weil + Tested-by: Oliver Francke + (cherry picked from commit 7a52e2ff5025754f3040eff3fc52d4893cafc389) + +commit 6a37a62b6f794026b82b88630519ec2cde4f20d6 +Author: Yehuda Sadeh +Date: Mon Aug 12 10:05:44 2013 -0700 + + rgw: fix multi delete + + Fixes: #5931 + Backport: bobtail, cuttlefish + + Fix a bad check, where we compare the wrong field. Instead of + comparing the ret code to 0, we compare the string value to 0 + which generates implicit casting, hence the crash. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Josh Durgin + (cherry picked from commit f9f1c48ad799da2b4be0077bf9d61ae116da33d7) + + Conflicts: + src/rgw/rgw_rest_s3.cc + +commit 586c68f544c95f9e379df7e4d2705a3090baca49 +Author: Sage Weil +Date: Sun Jun 2 21:21:09 2013 -0700 + + ceph-fuse: create finisher threads after fork() + + The ObjectCacher and MonClient classes both instantiate Finisher + threads. We need to make sure they are created *after* the fork(2) + or else the process will fail to join() them on shutdown, and the + threads will not exist while fuse is doing useful work. + + Put CephFuse on the heap and move all this initalization into the child + block, and make sure errors are passed back to the parent. + + Fix-proposed-by: Alexandre Marangone + Signed-off-by: Sage Weil + +commit c1198d680587928b390bb82c87442384331afd40 +Author: Sage Weil +Date: Fri Jun 21 16:22:08 2013 -0700 + + debian: update postinst, prerm hooks + + This syncs up the hooks with the latest master versions. In particular, + do not blindly stop/restart daemons on package upgrade! + + Fixes: #5414 + Signed-off-by: Sage Weil + +commit de8900dcd079207852b6ce0b51473037be9ae956 +Author: Sage Weil +Date: Tue Jun 18 21:33:09 2013 -0700 + + os/FileStore: use fdatasync(2) instead of sync_file_range(2) + + This fixes data corruption on XFS. Backported from + ffade3c85dfffa13a16edd9630a52d99eb8a413d. + + Fixes: #4976 + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + +commit cbbad5b5d917fe74d6cbc50a259f9dbaeda54ca8 +Author: Sage Weil +Date: Mon Jun 17 20:06:59 2013 -0700 + + chmod +x iogen.sh + + Signed-off-by: Sage Weil + +commit fcd65139135d907098a47427d8503ac6d6042f81 +Author: Yehuda Sadeh +Date: Fri Jun 14 14:53:54 2013 -0700 + + rgw: escape prefix correctly when listing objects + + Fixes: #5362 + When listing objects prefix needs to be escaped correctly (the + same as with the marker). Otherwise listing objects with prefix + that starts with underscore doesn't work. + Backport: bobtail, cuttlefish + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + +commit a8f9d57a15ad7a69d53aa8fc6090fd1b394b616a +Author: Yehuda Sadeh +Date: Sun Mar 31 00:02:15 2013 -0700 + + rgw: translate object marker to raw format + + Fixes: #4600 + Object marker should be treated as an object, so that name is formatted + correctly when getting the raw oid. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b083dece36a050ec15ac41a275aeef0ece1ac009) + +commit e1d41901cde97a77fc1fda2d7f6e78a7cea61c5c +Author: tamil +Date: Thu Jun 13 13:50:56 2013 -0700 + + adding iogen.sh + + Signed-off-by: tamil + +commit 32b2f11366418f9a0cc0659be22cf15fbafbe3b1 +Author: Sage Weil +Date: Thu Jun 6 16:35:54 2013 -0700 + + osd: do not include logbl in scrub map + + This is a potentially use object/file, usually prefixed by a zeroed region + on disk, that is not used by scrub at all. It dates back to + f51348dc8bdd5071b7baaf3f0e4d2e0496618f08 (2008) and the original version of + scrub. + + This *might* fix #4179. It is not a leak per se, but I observed 1GB + scrub messages going over the write. Maybe the allocations are causing + fragmentation, or the sub_op queues are growing. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 0b036ecddbfd82e651666326d6f16b3c000ade18) + +commit 5047a4ff16f556ec25b6624fe8f1a07e3ec5f864 +Author: Yehuda Sadeh +Date: Thu Jun 6 21:53:00 2013 -0700 + + rgw: handle deep uri resources + + In case of deep uri resources (ones created beyond a single level + of hierarchy, e.g. auth/v1.0) we want to create a new empty + handlers for the path if no handlers exists. E.g., for + auth/v1.0 we need to have a handler for 'auth', otherwise + the default S3 handler will be used, which we don't want. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit ad3934e335399f7844e45fcfd17f7802800d2cb3) + +commit 3ea45533c18174cb49af52024dae27533971fa01 +Author: Yehuda Sadeh +Date: Thu Jun 6 21:47:21 2013 -0700 + + rgw: fix get_resource_mgr() to correctly identify resource + + Fixes: #5262 + The original test was not comparing the correct string, ended up + with the effect of just checking the substring of the uri to match + the resource. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 8d55b87f95d59dbfcfd0799c4601ca37ebb025f5) + +commit 4ee638cc3b1d74e678a3f78b3a57baf57a5d407c +Author: Samuel Just +Date: Mon Apr 15 16:33:48 2013 -0700 + + PG: don't write out pg map epoch every handle_activate_map + + We don't actually need to write out the pg map epoch on every + activate_map as long as: + a) the osd does not trim past the oldest pg map persisted + b) the pg does update the persisted map epoch from time + to time. + + To that end, we now keep a reference to the last map persisted. + The OSD already does not trim past the oldest live OSDMapRef. + Second, handle_activate_map will trim if the difference between + the current map and the last_persisted_map is large enough. + + Fixes: #4731 + Signed-off-by: Samuel Just + Reviewed-by: Greg Farnum + +commit 8c6a912ae46c4d3aeb7c1000d221f67e158ec5c8 +Author: Yehuda Sadeh +Date: Thu May 30 12:58:11 2013 -0700 + + rgw: only append prefetched data if reading from head + + Fixes: #5209 + Backport: bobtail, cuttlefish + If the head object wrongfully contains data, but according to the + manifest we don't read from the head, we shouldn't copy the prefetched + data. Also fix the length calculation for that data. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit c5fc52ae0fc851444226abd54a202af227d7cf17) + +commit f42e84ee3148dcc59a05c8a12ce39996eb854e26 +Author: Yehuda Sadeh +Date: Thu May 30 09:34:21 2013 -0700 + + rgw: don't copy object idtag when copying object + + Fixes: #5204 + When copying object we ended up also copying the original + object idtag which overrode the newly generated one. When + refcount put is called with the wrong idtag the count + does't go down. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit b1312f94edc016e604f1d05ccfe2c788677f51d1) + +commit d86b9a852b57553448709c2b978ac3a8637cd63f +Author: Sage Weil +Date: Wed May 29 16:50:04 2013 -0700 + + osd: initialize new_state field when we use it + + If we use operator[] on a new int field its value is undefined; avoid + reading it or using |= et al until we initialize it. + + Fixes: #4967 + Backport: cuttlefish, bobtail + Signed-off-by: Sage Weil + Reviewed-by: David Zafman + (cherry picked from commit 50ac8917f175d1b107c18ecb025af1a7b103d634) + +commit fca54bfbb35f0c200fac52963cd2d1780467f59a +Author: Samuel Just +Date: Tue May 28 11:10:05 2013 -0700 + + HashIndex: sync top directory during start_split,merge,col_split + + Otherwise, the links might be ordered after the in progress + operation tag write. We need the in progress operation tag to + correctly recover from an interrupted merge, split, or col_split. + + Fixes: #5180 + Backport: cuttlefish, bobtail + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 5bca9c38ef5187c7a97916970a7fa73b342755ac) + +commit ac6c77830ad9182c7345f10943ea4f537c1629b0 +Merge: 3984b98 0b50d07 +Author: Samuel Just +Date: Thu May 23 19:29:06 2013 -0700 + + Merge remote-tracking branch 'upstream/wip_scrub_tphandle_bobtail' into bobtail + + Fixes: #5159 + Reviewed-by: Sage Weil + +commit 0b50d073fab11f64682e20fec7bb71d4e931bd3c +Author: Samuel Just +Date: Thu May 23 17:40:44 2013 -0700 + + PG: ping tphandle during omap loop as well + + Signed-off-by: Samuel Just + +commit 5979a26d521918d74fc3b62b75c9fb6afe109933 +Author: Samuel Just +Date: Thu May 23 15:24:39 2013 -0700 + + PG: reset timeout in _scan_list for each object, read chunk + + Signed-off-by: Samuel Just + +commit bde6b58baf5e78550980ee5076bbc2d72a52c0fc +Author: Samuel Just +Date: Thu May 23 15:23:05 2013 -0700 + + OSD,PG: pass tphandle down to _scan_list + + Signed-off-by: Samuel Just + +commit 3984b98804bf18711a7a4fc3940143ab599ad5b5 +Author: Yehuda Sadeh +Date: Wed May 22 21:34:52 2013 -0700 + + rgw: iterate usage entries from correct entry + + Fixes: #5152 + When iterating through usage entries, and when user id was + provided, we started at the user's first entry and not from + the entry indexed by the request start time. + This commit fixes the issue. + + Backport: bobtail + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 8b3a04dec8be13559716667d4b16cde9e9543feb) + +commit 3d7f8f840fb9fd975089af32c85093eeb1eac338 +Author: Sage Weil +Date: Wed May 22 12:45:27 2013 -0700 + + mon: be a bit more verbose about osd mark down events + + Put these in the cluster log; they are interesting. + + This is a backport of 87767fb1fb9a52d11b11f0b641cebbd9998f089e. + + Signed-off-by: Sage Weil + +commit f21a7f7bf3db61bd533e777297bff1346112a0db +Author: Yehuda Sadeh +Date: Fri May 3 12:57:00 2013 -0700 + + rgw: protect ops log socket formatter + + Fixes: #4905 + Ops log (through the unix domain socket) uses a formatter, which wasn't + protected. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d48f1edb07a4d8727ac956f70e663c1b4e33e1dd) + +commit 49c04c623466df45003ed2a18445c354c424a078 +Author: Josh Durgin +Date: Thu May 16 15:28:40 2013 -0700 + + librbd: make image creation defaults configurable + + Programs using older versions of the image creation functions can't + set newer parameters like image format and fancier striping. + + Setting these options lets them use all the new functionality without + being patched and recompiled to use e.g. rbd_create3(). + This is particularly useful for things like qemu-img, which does not + know how to create format 2 images yet. + + Refs: #5067 + backport: cuttlefish, bobtail + Signed-off-by: Josh Durgin + (cherry picked from commit aacc9adc4e9ca90bbe73ac153cc754a3a5b2c0a1) + +commit 4d7058fe2254f335969f05bef649b1a27d470aa4 +Author: Josh Durgin +Date: Thu May 16 15:21:24 2013 -0700 + + rbd.py: fix stripe_unit() and stripe_count() + + These matched older versions of the functions, but would segfault + using the current versions. + + backport: cuttlefish, bobtail + Signed-off-by: Josh Durgin + (cherry picked from commit 53ee6f965e8f06c7256848210ad3c4f89d0cb5a0) + +commit 82a16c32a37dc46e3019cedc2a5407ae34f806e2 +Author: Josh Durgin +Date: Thu May 16 15:19:46 2013 -0700 + + cls_rbd: make sure stripe_unit is not larger than object size + + Test a few other cases too. + + backport: cuttlefish, bobtail + Signed-off-by: Josh Durgin + (cherry picked from commit 810306a2a76eec1c232fd28ec9c351e827fa3031) + +commit e0de00897468a434e94790a86fc812b77a59614c +Author: Sage Weil +Date: Fri May 10 22:14:05 2013 -0700 + + mon: fix validatation of mds ids in mon commands + + Fixes: #4996 + Signed-off-by: Sage Weil + (cherry picked from commit 5c305d63043762027323052b4bb3ae3063665c6f) + + Conflicts: + + src/mon/MDSMonitor.cc diff --git a/doc/changelog/v0.61.1.txt b/doc/changelog/v0.61.1.txt new file mode 100644 index 00000000..4dbbe972 --- /dev/null +++ b/doc/changelog/v0.61.1.txt @@ -0,0 +1,139 @@ +commit 56c4847ba82a92023700e2d4920b59cdaf23428d +Author: Gary Lowell +Date: Wed May 8 17:23:47 2013 -0700 + + v0.61.1 + +commit 3b94f03ec58abe3d7a6d0359ff9b4d75826f3777 +Author: Samuel Just +Date: Thu May 2 14:13:07 2013 -0700 + + mon: dump MonitorDBStore transactions to file + + Signed-off-by: Samuel Just + (cherry picked from commit 797089ef082b99910eebfd9454c03d1f027c93bb) + +commit 9143d6d0d0ebaaee81622587dc21a3d562b05c9c +Author: Sage Weil +Date: Mon May 6 14:21:28 2013 -0700 + + osd: optionally enable leveldb logging + + Signed-off-by: Sage Weil + (cherry picked from commit 0b4c5c1a3349670d11cc3c4fb3c4b3c1a80b2502) + +commit 8f456e89ec38f37ae4b444f5cabccd9fc0e415b8 +Author: Sage Weil +Date: Mon May 6 14:13:50 2013 -0700 + + mon: allow leveldb logging + + 'mon leveldb log = filename' + + Signed-off-by: Sage Weil + (cherry picked from commit c1d5f815546b731e10bfcb81cbcd48b7d432e9c4) + +commit 306ebc6a9164feab084123f91a0fe928125f4b74 +Author: Gary Lowell +Date: Wed May 8 16:33:05 2013 -0700 + + debian/control: squeeze requres cryptsetup package + + Squeeze requires the cryptsetup package which has been renamed + cryptsetup-bin in later versions. Allow either package to + satisfy the dependency. + + Signed-off-by: Gary Lowell + (cherry picked from commit 83bbae415de16f708ca1cb24861ddbb0bd514a7f) + +commit e0c0a5c1a711263d234b70b454aca07c23e98243 +Author: Yehuda Sadeh +Date: Wed May 8 12:18:49 2013 -0700 + + osd: don't assert if get_omap_iterator() returns NULL + + Fixes: #4949 + This can happen if the object does not exist and it's + a write operation. Just return -ENOENT. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 36ec6f9bce63641f4fc2e4ab04d03d3ec1638ea0) + +commit 82b9299512537b8d921caa044107472adacbdabe +Author: Sage Weil +Date: Wed May 8 14:54:33 2013 -0700 + + ceph-create-keys: gracefully handle no data from admin socket + + Old ceph-mon (prior to 393c9372f82ef37fc6497dd46fc453507a463d42) would + return an empty string and success if the command was not registered yet. + Gracefully handle that case by retrying. + + If we still fail to parse, exit entirely with EINVAL. + + Fixes: #4952 + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit e2528ae42c455c522154c9f68b5032a3362fca8e) + +commit ee3da880fbc0488467c30b1d0b635e3c50e23cc3 +Author: Sage Weil +Date: Wed May 8 14:35:54 2013 -0700 + + init-ceph: fix osd_data location when checking df utilization + + Do not assume default osd data location. + + Fixes: #4951 + Backport: cuttlefish, bobtail + Signed-off-by: Sage Weil + Reviewed-by: Gary Lowelll + (cherry picked from commit f2a54cc9c98a9f31aef049c74ea932b2d9000d3c) + +commit 4848fac24224879bcdc4fcf202d6ab689d8d990f +Author: Samuel Just +Date: Tue May 7 16:41:22 2013 -0700 + + OSD: handle stray snap collections from upgrade bug + + Previously, we failed to clear snap_collections, which causes split to + spawn a bunch of snap collections. In load_pgs, we now clear any such + snap collections and then snap_collections field on the PG itself. + + Related: #4927 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 8e89db89cb36a217fd97cbc1f24fd643b62400dc) + +commit dc6b9e6b2e8c1b41e982430795ff41a65a5813dc +Author: Samuel Just +Date: Tue May 7 16:35:57 2013 -0700 + + PG: clear snap_collections on upgrade + + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 252d71a81ef4536830a74897c84a7015ae6ec9fe) + +commit b514941ba5f49b6465082e4906b7f4022631bfb3 +Author: Samuel Just +Date: Tue May 7 16:34:57 2013 -0700 + + OSD: snap collections can be ignored on split + + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 438d9aa152e546b2008ec355b481df71aa1c51a5) + +commit 30ffca77df006a244044604074779af538721f14 +Author: Sage Weil +Date: Wed May 8 11:05:29 2013 -0700 + + ceph: return error code when failing to get result from admin socket + + Make sure we return a non-zero result code when we fail to read something + from the admin socket. + + Backport: cuttlefish, bobtail + Signed-off-by: Sage Weil + (cherry picked from commit 393c9372f82ef37fc6497dd46fc453507a463d42) diff --git a/doc/changelog/v0.61.2.txt b/doc/changelog/v0.61.2.txt new file mode 100644 index 00000000..b57c7e63 --- /dev/null +++ b/doc/changelog/v0.61.2.txt @@ -0,0 +1,27 @@ +commit fea782543a844bb277ae94d3391788b76c5bee60 +Author: Gary Lowell +Date: Mon May 13 11:58:35 2013 -0700 + + v0.61.2 + +commit 8464c06412b72673ca9d01d35e8f68451e1982b3 +Author: Joao Eduardo Luis +Date: Mon May 13 15:36:59 2013 +0100 + + mon: Monitor: tolerate GV duplicates during conversion + + Fixes: #4974 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit ba05b16ee2b6e25141f2ab88265a1cf92dcd493c) + +commit 703bc2fd8aec512fb2b58d5ef263e37647c1f047 +Author: Dan Mick +Date: Fri May 10 20:09:34 2013 -0700 + + config_opts: default mon_debug_dump_transactions to 'false' + + otherwise, it chews mon log space at an alarming rate. + + Fixes: #5024 + Signed-off-by: Dan Mick diff --git a/doc/changelog/v0.61.3.txt b/doc/changelog/v0.61.3.txt new file mode 100644 index 00000000..c190d40e --- /dev/null +++ b/doc/changelog/v0.61.3.txt @@ -0,0 +1,831 @@ +commit 92b1e398576d55df8e5888dd1a9545ed3fd99532 +Author: Gary Lowell +Date: Wed Jun 5 11:10:05 2013 -0700 + + v0.61.3 + +commit 7d549cb82ab8ebcf1cc104fc557d601b486c7635 +Author: Sage Weil +Date: Tue Jun 4 10:42:13 2013 -0700 + + os/LevelDBStore: only remove logger if non-null + + Signed-off-by: Sage Weil + (cherry picked from commit ce67c58db7d3e259ef5a8222ef2ebb1febbf7362) + Fixes: #5255 + +commit 8544ea751884617616addc17b4467b9a86bd9d8a +Author: Josh Durgin +Date: Mon Jun 3 15:57:23 2013 -0700 + + test_librbd: use correct type for varargs snap test + + uint64_t is passed in, but int was extracted. This fails on 32-bit builds. + + Fixes: #5220 + Signed-off-by: Josh Durgin + (cherry picked from commit 17029b270dee386e12e5f42c2494a5feffd49b08) + +commit b226e117b5a72c3b04b74aec50a9198601f3730b +Author: Sage Weil +Date: Sun Jun 2 18:07:34 2013 -0700 + + os/LevelDBStore: fix merge loop + + We were double-incrementing p, both in the for statement and in the + body. While we are here, drop the unnecessary else's. + + Signed-off-by: Sage Weil + (cherry picked from commit eb6d5fcf994d2a25304827d7384eee58f40939af) + +commit d017afb5b075a1958cb19213dd95e41d54065e45 +Author: Sage Weil +Date: Sun Jun 2 17:27:10 2013 -0700 + + msgr: add get_messenger() to Connection + + This was part of commit 27381c0c6259ac89f5f9c592b4bfb585937a1cfc. + + Signed-off-by: Sage Weil + +commit ffb87918fa7b829a5199eec08804dc540a819bf2 +Author: Sage Weil +Date: Fri May 31 17:09:19 2013 -0700 + + mon: start lease timer from peon_init() + + In the scenario: + + - leader wins, peons lose + - leader sees it is too far behind on paxos and bootstraps + - leader tries to sync with someone, waits for a quorum of the others + - peons sit around forever waiting + + The problem is that they never time out because paxos never issues a lease, + which is the normal timeout that lets them detect a leader failure. + + Avoid this by starting the lease timeout as soon as we lose the election. + The timeout callback just does a bootstrap and does not rely on any other + state. + + I see one possible danger here: there may be some "normal" cases where the + leader takes a long time to issue its first lease that we currently + tolerate, but won't with this new check in place. I hope that raising + the lease interval/timeout or reducing the allowed paxos drift will make + that a non-issue. If it is problematic, we will need a separate explicit + "i am alive" from the leader while it is getting ready to issue the lease + to prevent a live-lock. + + Backport: cuttlefish, bobtail + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit f1ccb2d808453ad7ef619c2faa41a8f6e0077bd9) + +commit 38f8d850d35500e3d8751cd14c5cdaaff682c7d7 +Author: Sage Weil +Date: Thu May 30 22:52:21 2013 -0700 + + mon: discard messages from disconnected clients + + If the client is not connected, discard the message. They will + reconnect and resend anyway, so there is no point in processing it + twice (now and later). + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit fb3cd0c2a8f27a1c8d601a478fd896cc0b609011) + +commit 36d948981685114d2fe807f480c19aade7497194 +Author: Sage Weil +Date: Wed May 22 08:13:21 2013 -0700 + + msgr: add Messenger reference to Connection + + This allows us to get the messenger associated with a connection. + + Signed-off-by: Sage Weil + (cherry picked from commit 92a558bf0e5fee6d5250e1085427bff22fe4bbe4) + +commit 61135964419ecf5165366724d064b623b517fb4e +Author: Sage Weil +Date: Thu May 30 15:59:49 2013 -0700 + + mon/Paxos: adjust trimming defaults up; rename options + + - trim more at a time (by an order of magnitude) + - rename fields to paxos_trim_{min,max}; only trim when there are min items + that are trimmable, and trim at most max items at a time. + - adjust the paxos_service_trim_{min,max} values up by a factor of 2. + + Since we are compacting every time we trim, adjusting these up mean less + frequent compactions and less overall work for the monitor. + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit 6b8e74f0646a7e0d31db24eb29f3663fafed4ecc) + +commit 2dc402815f71204cfe592cfb3d6758486d84166d +Author: Sage Weil +Date: Wed May 8 16:42:24 2013 -0700 + + common/Preforker: fix warnings + + Signed-off-by: Sage Weil + (cherry picked from commit a284c9ece85f11d020d492120be66a9f4c997416) + +commit 48ee9283de288c101d3387cc48df6eb8ea889fb7 +Author: Sage Weil +Date: Thu May 30 15:53:35 2013 -0700 + + fix test users of LevelDBStore + + Need to pass in cct. + + Signed-off-by: Sage Weil + (cherry picked from commit 446e0770c77de5d72858dcf7a95c5b19f642cf98) + +commit 3372235d307172b404a48e4c4d24702a96116d00 +Author: Sage Weil +Date: Thu May 30 21:43:50 2013 -0700 + + mon: destroy MonitorDBStore before g_ceph_context + + Put it on the heap so that we can destroy it before the g_ceph_context + cct that it references. This fixes a crash like + + *** Caught signal (Segmentation fault) ** + in thread 4034a80 + ceph version 0.63-204-gcf9aa7a (cf9aa7a0037e56eada8b3c1bb59d59d0bfe7bba5) + 1: ceph-mon() [0x59932a] + 2: (()+0xfcb0) [0x4e41cb0] + 3: (Mutex::Lock(bool)+0x1b) [0x6235bb] + 4: (PerfCountersCollection::remove(PerfCounters*)+0x27) [0x6a0877] + 5: (LevelDBStore::~LevelDBStore()+0x1b) [0x582b2b] + 6: (LevelDBStore::~LevelDBStore()+0x9) [0x582da9] + 7: (main()+0x1386) [0x48db16] + 8: (__libc_start_main()+0xed) [0x658076d] + 9: ceph-mon() [0x4909ad] + + Signed-off-by: Sage Weil + (cherry picked from commit df2d06db6f3f7e858bdadcc8cd2b0ade432df413) + +commit d284eaf9ce7d2022ba62562236d5fa41c26c1eb3 +Author: Sage Weil +Date: Thu May 30 11:07:06 2013 -0700 + + mon: fix leak of health_monitor and config_key_service + + Switch to using regular pointers here. The lifecycle of these services is + very simple such that refcounting is overkill. + + Signed-off-by: Sage Weil + (cherry picked from commit c888d1d3f1b77e62d1a8796992e918d12a009b9d) + +commit cc88cdfe8de02da675f9051e95b70da11f7fbe9e +Author: Sage Weil +Date: Wed May 29 17:54:17 2013 -0700 + + mon: return instead of exit(3) via preforker + + This lets us run all the locally-scoped dtors so that leak checking will + work. + + Signed-off-by: Sage Weil + (cherry picked from commit 3c5706163b72245768958155d767abf561e6d96d) + +commit 85d629a5f8e1deef9a562d9a7b371707d90c5ba1 +Author: Sage Weil +Date: Thu May 30 14:57:42 2013 -0700 + + os/LevelDBStore: add perfcounters + + Signed-off-by: Sage Weil + (cherry picked from commit 7802292e0a49be607d7ba139b44d5ea1f98e07e6) + +commit 0109fa8ae70671c2d8ca19bcc95662d5f41cac66 +Author: Sage Weil +Date: Thu May 30 14:36:41 2013 -0700 + + mon: make compaction bounds overlap + + When we trim items N to M, compact over range (N-1) to M so that the + items in the queue will share bounds and get merged. There is no harm in + compacting over a larger range here when the lower bound is a key that + doesn't exist anyway. + + Signed-off-by: Sage Weil + (cherry picked from commit a47ca583980523ee0108774b466718b303bd3f46) + +commit 83b1edac07dd74b91ba2cdfe8b63236d7930c9b1 +Author: Sage Weil +Date: Thu May 30 14:26:42 2013 -0700 + + os/LevelDBStore: merge adjacent ranges in compactionqueue + + If we get behind and multiple adjacent ranges end up in the queue, merge + them so that we fire off compaction on larger ranges. + + Signed-off-by: Sage Weil + (cherry picked from commit f628dd0e4a5ace079568773edfab29d9f764d4f0) + +commit d14665e550d9b2dfc47684b73427042b0744127f +Author: Sage Weil +Date: Wed May 29 08:40:32 2013 -0700 + + mon: compact trimmed range, not entire prefix + + This will reduce the work that leveldb is asked to do by only triggering + compaction of the keys that were just trimmed. + + We ma want to further reduce the work by compacting less frequently, but + this is at least a step in that direction. + + Signed-off-by: Sage Weil + (cherry picked from commit 6da4b20ca53fc8161485c8a99a6b333e23ace30e) + +commit dcd9b793fb0b05976b55be029315114d6f1df0e5 +Author: Sage Weil +Date: Wed May 29 08:35:44 2013 -0700 + + mon/MonitorDBStore: allow compaction of ranges + + Allow a transaction to describe the compaction of a range of keys. Do this + in a backward compatible say, such that older code will interpret the + compaction of a prefix + range as compaction of the entire prefix. This + allows us to avoid introducing any new feature bits. + + Signed-off-by: Sage Weil + (cherry picked from commit ab09f1e5c1305a64482ebbb5a6156a0bb12a63a4) + + Conflicts: + + src/mon/MonitorDBStore.h + +commit 6543da740a12c6ad085b807c9038d5b7b5aeaba6 +Author: Sage Weil +Date: Wed May 29 08:34:13 2013 -0700 + + os/LevelDBStore: allow compaction of key ranges + + Signed-off-by: Sage Weil + (cherry picked from commit e20c9a3f79ccfeb816ed634ca25de29fc5975ea8) + +commit 87dcba2dd12a673fdc63ad64fb23e6e9f841d74f +Author: Sage Weil +Date: Tue May 28 16:35:55 2013 -0700 + + os/LevelDBStore: do compact_prefix() work asynchronously + + We generally do not want to block while compacting a range of leveldb. + Push the blocking+waiting off to a separate thread. (leveldb will do what + it can to avoid blocking internally; no reason for us to wait explicitly.) + + This addresses part of #5176. + + Signed-off-by: Sage Weil + (cherry picked from commit 4af917d4478ec07734a69447420280880d775fa2) + +commit bac5720b2a583e799c6961c733c4a9132a002440 +Author: Sage Weil +Date: Sat May 11 17:36:13 2013 -0700 + + qa: rsync test: exclude /usr/local + + Some plana have non-world-readable crap in /usr/local/samba. Avoid + /usr/local entirely for that and any similar landmines. + + Signed-off-by: Sage Weil + (cherry picked from commit 82211f2197241c4f3d3135fd5d7f0aa776eaeeb6) + +commit 9f1afe1a8e7906bdc54158a4813f011933f6a78f +Author: Sage Weil +Date: Fri May 31 21:16:54 2013 -0700 + + mon: fix uninitialized fields in MMonHealth + + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit d7e2ab1451e284cd4273cca47eec75e1d323f113) + +commit d5b67d49c87b4fe6a90cdd0bf4fac4f9d9377e81 +Author: Samuel Just +Date: Fri May 31 13:44:39 2013 -0700 + + PGLog: only add entry to caller_ops in add() if reqid_is_indexed() + + Fixes: #5216 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + +commit a5f6d8967fbbe87f34b23cfcceea84317b647f62 +Author: Samuel Just +Date: Mon Apr 15 16:33:48 2013 -0700 + + PG: don't write out pg map epoch every handle_activate_map + + We don't actually need to write out the pg map epoch on every + activate_map as long as: + a) the osd does not trim past the oldest pg map persisted + b) the pg does update the persisted map epoch from time + to time. + + To that end, we now keep a reference to the last map persisted. + The OSD already does not trim past the oldest live OSDMapRef. + Second, handle_activate_map will trim if the difference between + the current map and the last_persisted_map is large enough. + + Fixes: #4731 + Signed-off-by: Samuel Just + Reviewed-by: Greg Farnum + (cherry picked from commit 2c5a9f0e178843e7ed514708bab137def840ab89) + + Conflicts: + + src/common/config_opts.h + src/osd/PG.cc + - last_persisted_osdmap_ref gets set in the non-static + PG::write_info + +commit 9aaff1492a00e137f84af9b03e3a4608cea4b520 +Author: Alexandre Marangone +Date: Fri May 31 12:33:11 2013 -0700 + + upstart: handle upper case in cluster name and id + + Signed-off-by: Alexandre Marangone + (cherry picked from commit 851619ab6645967e5d7659d9b0eea63d5c402b15) + +commit f87a19d34f9a03493eaca654dd176992676c5812 +Author: Samuel Just +Date: Tue May 21 15:22:56 2013 -0700 + + OSDMonitor: skip new pools in update_pools_status() and get_pools_health() + + New pools won't be full. mon->pgmon()->pg_map.pg_pool_sum[poolid] will + implicitly create an entry for poolid causing register_new_pgs() to assume that + the newly created pgs in the new pool are in fact a result of a split + preventing MOSDPGCreate messages from being sent out. + + Fixes: #4813 + Backport: cuttlefish + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 0289c445be0269157fa46bbf187c92639a13db46) + +commit 34733bdc3b9da13195dfac8a25f98c6de64070d7 +Author: Yehuda Sadeh +Date: Thu May 30 12:58:11 2013 -0700 + + rgw: only append prefetched data if reading from head + + Fixes: #5209 + Backport: bobtail, cuttlefish + If the head object wrongfully contains data, but according to the + manifest we don't read from the head, we shouldn't copy the prefetched + data. Also fix the length calculation for that data. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit c5fc52ae0fc851444226abd54a202af227d7cf17) + +commit 3d91301e5d788f9f9f52ba4067006f39a89e1531 +Author: Yehuda Sadeh +Date: Thu May 30 09:34:21 2013 -0700 + + rgw: don't copy object idtag when copying object + + Fixes: #5204 + When copying object we ended up also copying the original + object idtag which overrode the newly generated one. When + refcount put is called with the wrong idtag the count + does't go down. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit b1312f94edc016e604f1d05ccfe2c788677f51d1) + +commit 131dca7d10d5b0b7dca5c5cbe9b0b54938805015 +Author: Sage Weil +Date: Thu May 30 08:53:22 2013 -0700 + + debian: sync up postinst and prerm with latest + + - do not use invoke-rc.d for upstart + - do not stop daemons on upgrade + - misc other cleanups + + This corresponds to the state of master as of cf9aa7a. + + Signed-off-by: Sage Weil + +commit 8b7ca687ded06fe0b67d98e81fa1dabbed440853 +Author: Joao Eduardo Luis +Date: Thu May 30 18:17:28 2013 +0100 + + mon: Monitor: backup monmap using all ceph features instead of quorum's + + When a monitor is freshly created and for some reason its initial sync is + aborted, it will end up with an incorrect backup monmap. This monmap is + incorrect in the sense that it will not contain the monitor's names as + it will expect on the next run. + + This results from us being using the quorum features to encode the monmap + when backing it up, instead of CEPH_FEATURES_ALL. + + Fixes: #5203 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 626de387e617db457d6d431c16327c275b0e8a34) + +commit 02ef6e918e4fe0368b02fbc700a4d921ae298dc3 +Author: Sage Weil +Date: Wed May 29 09:49:11 2013 -0700 + + osd: do not assume head obc object exists when getting snapdir + + For a list-snaps operation on the snapdir, do not assume that the obc for the + head means the object exists. This fixes a race between a head deletion and + a list-snaps that wrongly returns ENOENT, triggered by the DiffItersateStress + test when thrashing OSDs. + + Fixes: #5183 + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 29e4e7e316fe3f3028e6930bb5987cfe3a5e59ab) + +commit 85ad65e294f2b3d4bd1cfef6ae613e31d1cea635 +Author: Sage Weil +Date: Wed May 29 16:50:04 2013 -0700 + + osd: initialize new_state field when we use it + + If we use operator[] on a new int field its value is undefined; avoid + reading it or using |= et al until we initialize it. + + Fixes: #4967 + Backport: cuttlefish, bobtail + Signed-off-by: Sage Weil + Reviewed-by: David Zafman + (cherry picked from commit 50ac8917f175d1b107c18ecb025af1a7b103d634) + +commit 65236a4a2541799a0d946df7f3048d4404678f64 +Author: Samuel Just +Date: Tue May 28 11:10:05 2013 -0700 + + HashIndex: sync top directory during start_split,merge,col_split + + Otherwise, the links might be ordered after the in progress + operation tag write. We need the in progress operation tag to + correctly recover from an interrupted merge, split, or col_split. + + Fixes: #5180 + Backport: cuttlefish, bobtail + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 5bca9c38ef5187c7a97916970a7fa73b342755ac) + +commit 0e127dc4ef16d19d56a3603ca90fa6b076d905b0 +Author: Joao Eduardo Luis +Date: Wed May 22 13:59:08 2013 +0100 + + mon: Paxos: get rid of the 'prepare_bootstrap()' mechanism + + We don't need it after all. If we are in the middle of some proposal, + then we guarantee that said proposal is likely to be retried. If we + haven't yet proposed, then it's forever more likely that a client will + eventually retry the message that triggered this proposal. + + Basically, this mechanism attempted at fixing a non-problem, and was in + fact triggering some unforeseen issues that would have required increasing + the code complexity for no good reason. + + Fixes: #5102 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit e15d29094503f279d444eda246fc45c09f5535c9) + +commit f29206bdd950d1e916a1422b4826caaf4a8cef3a +Author: Joao Eduardo Luis +Date: Wed May 22 13:51:13 2013 +0100 + + mon: Paxos: finish queued proposals instead of clearing the list + + By finishing these Contexts, we make sure the Contexts they enclose (to be + called once the proposal goes through) will behave as their were initially + planned: for instance, a C_Command() may retry the command if a -EAGAIN + is passed to 'finish_contexts', while a C_Trimmed() will simply set + 'going_to_trim' to false. + + This aims at fixing at least a bug in which Paxos will stop trimming if an + election is triggered while a trim is queued but not yet finished. Such + happens because it is the C_Trimmed() context that is responsible for + resetting 'going_to_trim' back to false. By clearing all the contexts on + the proposal list instead of finishing them, we stay forever unable to + trim Paxos again as 'going_to_trim' will stay True till the end of time as + we know it. + + Fixes: #4895 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 586e8c2075f721456fbd40f738dab8ccfa657aa8) + +commit b73d7c6b7e83fe8ce29e7150f25a4cca7647cccd +Author: Joao Eduardo Luis +Date: Fri May 17 18:23:36 2013 +0100 + + mon: Paxos: finish_proposal() when we're finished recovering + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 2ff23fe784245f3b86bc98e0434b21a5318e0a7b) + +commit 79eb61c4eadd9d94b3b8087d85b7210f4ab71d54 +Merge: a460e53 8682248 +Author: Samuel Just +Date: Thu May 23 20:09:29 2013 -0700 + + Merge branch 'wip_scrub_tphandle' into cuttlefish + + Fixes: #5159 + Reviewed-by: Sage Weil + +commit 86822485e518d61d7b2c02a6ff25eb2c4b4bc307 +Author: Samuel Just +Date: Thu May 23 17:40:44 2013 -0700 + + PG: ping tphandle during omap loop as well + + Signed-off-by: Samuel Just + +commit d62716dd4ceb29032759bf84e864d214fe38a17c +Author: Samuel Just +Date: Thu May 23 15:24:39 2013 -0700 + + PG: reset timeout in _scan_list for each object, read chunk + + Signed-off-by: Samuel Just + +commit b8a25e08a638c31b9cfc2c1bf6d9bad40e921a9f +Author: Samuel Just +Date: Thu May 23 15:23:05 2013 -0700 + + OSD,PG: pass tphandle down to _scan_list + + Signed-off-by: Samuel Just + +commit a460e53ecac03e9c8f54c402a790e6d8cf75b38c +Author: Yehuda Sadeh +Date: Wed May 22 21:34:52 2013 -0700 + + rgw: iterate usage entries from correct entry + + Fixes: #5152 + When iterating through usage entries, and when user id was + provided, we started at the user's first entry and not from + the entry indexed by the request start time. + This commit fixes the issue. + + Backport: bobtail + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 8b3a04dec8be13559716667d4b16cde9e9543feb) + +commit 48e1b11bcbdbdf8661cb560c8563f91738034287 +Author: Sage Weil +Date: Thu May 16 20:37:05 2013 -0700 + + sysvinit: fix enumeration of local daemons when specifying type only + + - prepend $local to the $allconf list at the top + - remove $local special case for all case + - fix the type prefix checks to explicitly check for prefixes + + Fugly bash, but works! + + Backport: cuttlefish, bobtail + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit c80c6a032c8112eab4f80a01ea18e1fa2c7aa6ed) + +commit 6e5f0db75a2bf591bd1fc0a5c2a93051f83ebc5d +Author: Sage Weil +Date: Wed May 22 09:47:29 2013 -0700 + + sysvinit: fix osd weight calculation on remote hosts + + We need to do df on the remote host, not locally. + + Simlarly, the ceph command uses the osd key, which exists remotely; run it there. + + Signed-off-by: Sage Weil + (cherry picked from commit d81d0ea5c442699570bd93a90bea0d97a288a1e9) + +commit 674e75bc0783cd9befe9c20e36fbc2cfdac62e5a +Author: Sage Weil +Date: Wed May 22 09:47:03 2013 -0700 + + sysvinit: use known hostname $host instead of (incorrectly) recalculating + + We would need to do hostname -s on the remote node, not the local one. + But we already have $host; use it! + + Reported-by: Xiaoxi Chen + Signed-off-by: Sage Weil + (cherry picked from commit caa15a34cb5d918c0c8b052cd012ec8a12fca150) + +commit f4cd61d339419738355a26d7f4fce04eac9dedee +Author: Sage Weil +Date: Mon May 20 12:41:30 2013 -0700 + + mon: be a bit more verbose about osd mark down events + + Put these in the cluster log; they are interesting. + + Signed-off-by: Sage Weil + (cherry picked from commit 87767fb1fb9a52d11b11f0b641cebbd9998f089e) + +commit e04b1894ed7f3a6e95007e58dae5b35357e5c507 +Author: Samuel Just +Date: Mon May 13 14:23:00 2013 -0700 + + PG: subset_last_update must be at least log.tail + + Fixes: 5020 + Backport: bobtail, cuttlefish + Signed-off-by: Samuel Just + Reviewed-by: David Zafman + (cherry picked from commit 72bf5f4813c273210b5ced7f7793bc1bf813690c) + +commit 3a02e00d1d3b904b312db283faedf4dff37b0f6f +Author: Samuel Just +Date: Tue May 14 16:35:48 2013 -0700 + + FileJournal: adjust write_pos prior to unlocking write_lock + + In committed_thru, we use write_pos to reset the header.start value in cases + where seq is past the end of our journalq. It is therefore important that the + journalq be updated atomically with write_pos (that is, under the write_lock). + + The call to align_bl() is moved into do_write in order to ensure that write_pos + is adjusted correctly prior to write_bl(). + + Also, we adjust pos at the end of write_bl() such that pos \in [get_top(), + header.max_size) after write_bl(). + + Fixes: #5020 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit eaf3abf3f9a7b13b81736aa558c9084a8f07fdbe) + +commit 8a030eb0e1b61121f7b1e2b7a551bb213d1c428b +Author: Sage Weil +Date: Tue May 21 14:36:11 2013 -0700 + + mon: implement --extract-monmap + + This will make for a simpler process for + http://docs.ceph.com/docs/master/rados/operations/add-or-rm-mons/#removing-monitors-from-an-unhealthy-cluster + + Signed-off-by: Sage Weil + (cherry picked from commit c0268e27497a4d8228ef54da9d4ca12f3ac1f1bf) + +commit 4ad13c945fd29a2d183f7ea6c6ac8a51d24dabe1 +Author: Josh Durgin +Date: Thu May 16 15:28:40 2013 -0700 + + librbd: make image creation defaults configurable + + Programs using older versions of the image creation functions can't + set newer parameters like image format and fancier striping. + + Setting these options lets them use all the new functionality without + being patched and recompiled to use e.g. rbd_create3(). + This is particularly useful for things like qemu-img, which does not + know how to create format 2 images yet. + + Refs: #5067 + backport: cuttlefish, bobtail + Signed-off-by: Josh Durgin + (cherry picked from commit aacc9adc4e9ca90bbe73ac153cc754a3a5b2c0a1) + +commit 684444f88f2a7cf28f2e685c18f0771730a1d48f +Author: Josh Durgin +Date: Thu May 16 15:21:24 2013 -0700 + + rbd.py: fix stripe_unit() and stripe_count() + + These matched older versions of the functions, but would segfault + using the current versions. + + backport: cuttlefish, bobtail + Signed-off-by: Josh Durgin + (cherry picked from commit 53ee6f965e8f06c7256848210ad3c4f89d0cb5a0) + +commit 9c7faf957fffb2721ccb915b68ca90ffb0d04a9f +Author: Josh Durgin +Date: Thu May 16 15:19:46 2013 -0700 + + cls_rbd: make sure stripe_unit is not larger than object size + + Test a few other cases too. + + backport: cuttlefish, bobtail + Signed-off-by: Josh Durgin + (cherry picked from commit 810306a2a76eec1c232fd28ec9c351e827fa3031) + +commit 4071d7a79585ee2768d0a63819d99405a083369f +Author: Yehuda Sadeh +Date: Fri May 3 12:57:00 2013 -0700 + + rgw: protect ops log socket formatter + + Fixes: #4905 + Ops log (through the unix domain socket) uses a formatter, which wasn't + protected. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d48f1edb07a4d8727ac956f70e663c1b4e33e1dd) + +commit 57a6a54db4020debd826a493cccca4695934f693 +Author: Sage Weil +Date: Wed May 15 23:02:10 2013 -0700 + + Makefle: force char to be signed + + On an armv7l build, we see errors like + + warning: rgw/rgw_common.cc:626:16: comparison is always false due to limited range of data type [-Wtype-limits] + + from code + + char c1 = hex_to_num(*src++); + ... + if (c1 < 0) + + Force char to be signed (regardless of any weird architecture's default) + to avoid risk of this leading to misbehavior. + + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 769a16d6674122f3b537f03e17514ad974bf2a2f) + +commit 85fb422a084785176af3b694882964841e02195d +Author: Sage Weil +Date: Mon May 20 13:34:27 2013 -0700 + + debian: stop sysvinit on ceph.prerm + + Signed-off-by: Sage Weil + (cherry picked from commit 2f193fb931ed09d921e6fa5a985ab87aa4874589) + +commit eac3cd2d8334db7c70cbba433610136ff76e447f +Author: Mike Kelly +Date: Thu May 16 12:29:50 2013 -0400 + + ceph df: fix si units for 'global' stats + + si_t expects bytes, but it was being given kilobytes. + + Signed-off-by: Mike Kelly + (cherry picked from commit 0c2b738d8d07994fee4c73dd076ac9364a64bdb2) + +commit 7bc7c9d4bc6f5bbadbb5e6f9844a0e1f66373c90 +Author: Sage Weil +Date: Thu May 16 18:40:29 2013 -0700 + + udev: install disk/by-partuuid rules + + Wheezy's udev (175-7.2) has broken rules for the /dev/disk/by-partuuid/ + symlinks that ceph-disk relies on. Install parallel rules that work. On + new udev, this is harmless; old older udev, this will make life better. + + Fixes: #4865 + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit d8d7113c35b59902902d487738888567e3a6b933) + +commit c2acecbdab93177227a80a114ecc4ce71dbdbe49 +Author: Sage Weil +Date: Thu May 16 13:17:45 2013 -0700 + + debian: make radosgw require matching version of librados2 + + ...indirectly via ceph-common. We get bad behavior when they diverge, I + think because of libcommon.la being linked both statically and dynamically. + + Fixes: #4997 + Backport: cuttlefish, bobtail + Signed-off-by: Sage Weil + Reviewed-by: Gary Lowell + (cherry picked from commit 604c83ff18f9a40c4f44bc8483ef22ff41efc8ad) + +commit 4c0d3eb72c045c39e8b38fd5abf9ddfbb2219f9c +Author: Sage Weil +Date: Fri May 10 22:14:05 2013 -0700 + + mon: fix validatation of mds ids in mon commands + + Fixes: #4996 + Signed-off-by: Sage Weil + (cherry picked from commit 5c305d63043762027323052b4bb3ae3063665c6f) diff --git a/doc/changelog/v0.61.4.txt b/doc/changelog/v0.61.4.txt new file mode 100644 index 00000000..0964274f --- /dev/null +++ b/doc/changelog/v0.61.4.txt @@ -0,0 +1,823 @@ +commit 1669132fcfc27d0c0b5e5bb93ade59d147e23404 +Author: Gary Lowell +Date: Wed Jun 19 13:51:38 2013 -0700 + + v0.61.4 + +commit b76540f6e2db7a08dee86f84358d56c4ea0b3293 +Author: Sage Weil +Date: Wed May 22 14:29:37 2013 -0700 + + messages/MOSDMarkMeDown: fix uninit field + + Fixes valgrind warning: + ==14803== Use of uninitialised value of size 8 + ==14803== at 0x12E7614: sctp_crc32c_sb8_64_bit (sctp_crc32.c:567) + ==14803== by 0x12E76F8: update_crc32 (sctp_crc32.c:609) + ==14803== by 0x12E7720: ceph_crc32c_le (sctp_crc32.c:733) + ==14803== by 0x105085F: ceph::buffer::list::crc32c(unsigned int) (buffer.h:427) + ==14803== by 0x115D7B2: Message::calc_front_crc() (Message.h:441) + ==14803== by 0x1159BB0: Message::encode(unsigned long, bool) (Message.cc:170) + ==14803== by 0x1323934: Pipe::writer() (Pipe.cc:1524) + ==14803== by 0x13293D9: Pipe::Writer::entry() (Pipe.h:59) + ==14803== by 0x120A398: Thread::_entry_func(void*) (Thread.cc:41) + ==14803== by 0x503BE99: start_thread (pthread_create.c:308) + ==14803== by 0x6C6E4BC: clone (clone.S:112) + + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit eb91f41042fa31df2bef9140affa6eac726f6187) + +commit 2434ecca6f8e1f2af62c74cb1b7df277f4a076f7 +Merge: f8973bd 3f32ded +Author: Sage Weil +Date: Wed Jun 19 10:56:51 2013 -0700 + + Merge remote-tracking branch 'gh/wip-4976-cuttlefish' into cuttlefish + + Reviewed-by: Samuel Just + +commit f8973bda801dbb2412c4cd83869c0203930f38e9 +Author: Sage Weil +Date: Mon Jun 17 20:32:15 2013 -0700 + + common/Preforker: fix warning + + common/Preforker.h: In member function ‘int Preforker::signal_exit(int)’: + warning: common/Preforker.h:82:45: ignoring return value of ‘ssize_t safe_write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result] + + This is harder than it should be to fix. :( + http://stackoverflow.com/questions/3614691/casting-to-void-doesnt-remove-warn-unused-result-error + + Whatever, I guess we can do something useful with this return value. + + Signed-off-by: Sage Weil + Reviewed-by: David Zafman + (cherry picked from commit ce7b5ea7d5c30be32e4448ab0e7e6bb6147af548) + +commit 6427985b746b7c29f5337d87b60aab9008a8bc6e +Author: Joao Eduardo Luis +Date: Wed Jun 19 02:50:45 2013 +0100 + + mon: Monitor: make sure we backup a monmap during sync start + + First of all, we must find a monmap to backup. The newest version. + + Secondly, we must make sure we back it up before clearing the store. + + Finally, we must make sure that we don't remove said backup while + clearing the store; otherwise, we would be out of a backup monmap if the + sync happened to fail (and if the monitor happened to be killed before a + new sync had finished). + + This patch makes sure these conditions are met. + + Fixes: #5256 (partially) + Backport: cuttlefish + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit 5e6dc4ea21b452e34599678792cd36ce1ba3edb3) + +commit f8f83e78218ee5b8602cfe6758caf2ecd3e06602 +Author: Joao Eduardo Luis +Date: Wed Jun 19 02:36:44 2013 +0100 + + mon: Monitor: obtain latest monmap on sync store init + + Always use the highest version amongst all the typically available + monmaps: whatever we have in memory, whatever we have under the + MonmapMonitor's store, and whatever we have backed up from a previous + sync. This ensures we always use the newest version we came across + with. + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit 6284fdce794b73adcc757fee910e975b6b4bd054) + +commit 41e1a6beeef69136fe6ec3f31d07ea8c33d64cba +Author: Joao Eduardo Luis +Date: Wed Jun 19 02:21:58 2013 +0100 + + mon: Monitor: don't remove 'mon_sync' when clearing the store during abort + + Otherwise, we will end up losing the monmap we backed up when we started + the sync, and the monitor may be unable to start if it is killed or + crashes in-between the sync abort and finishing a new sync. + + Fixes: #5256 (partially) + Backport: cuttlefish + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit af5a9861d7c6b4527b0d2312d0efa792910bafd9) + +commit 3f32ded41818ad3c607339d723c095f166e36f7e +Author: Sage Weil +Date: Tue Jun 18 21:31:23 2013 -0700 + + os/FileStore: drop posix_fadvise(...DONTNEED) + + On XFS this call is problematic because it directly calls the filemap + writeback without vectoring through xfs. This can break the delicate + ordering of writeback and range zeroing; see #4976 and this thread + + http://oss.sgi.com/archives/xfs/2013-06/msg00066.html + + Drop this behavior for now to avoid subtle data corruption. + + Signed-off-by: Sage Weil + +commit ffade3c85dfffa13a16edd9630a52d99eb8a413d +Author: Sage Weil +Date: Tue Jun 18 21:24:16 2013 -0700 + + os/FileStore: use fdatasync(2) instead of sync_file_range(2) + + The use of sync_file_range(2) on XFS screws up XFS' delicate ordering + of writeback and range zeroing; see #4976 and this thread: + + http://oss.sgi.com/archives/xfs/2013-06/msg00066.html + + Instead, replace all sync_file_range(2) calls with fdatasync(2), which + *does* do ordered writeback and should not leak unzeroed blocks. + + Signed-off-by: Sage Weil + +commit 3383ba6326aeff6500df4792fcef65740dd6b3ea +Author: Sage Weil +Date: Wed Jun 12 21:47:09 2013 -0700 + + config: fix run_dir typo + + From 654299108bfb11e7dce45f54946d1505f71d2de8. + + Signed-off-by: Sage Weil + (cherry picked from commit e9689ac6f5f50b077a6ac874f811d204ef996c96) + +commit 41e1416c3585507db75f10ed69f65a5a80370827 +Author: Sage Weil +Date: Tue Jun 18 14:51:08 2013 -0700 + + ceph.spec: create /var/run on package install + + The %ghost %dir ... line will make this get cleaned up but won't install + it. + + Reported-by: Derek Yarnell + Signed-off-by: Sage Weil + Reviewed-by: Gary Lowell + (cherry picked from commit 64ee0148a5b7324c7df7de2d5f869b880529d452) + +commit 2df3619169d2e83617fc3005b68de395e982b39a +Author: Sage Weil +Date: Fri Jun 7 17:03:41 2013 -0700 + + global: create /var/run/ceph on daemon startup + + This handles cases where the daemon is started without the benefit of + sysvinit or upstart (as with teuthology or ceph-fuse). + + Signed-off-by: Sage Weil + (cherry picked from commit 654299108bfb11e7dce45f54946d1505f71d2de8) + +commit eace9987c19f4da5cc89ca84abec5e54035b4887 +Author: Samuel Just +Date: Wed Jun 5 11:10:34 2013 -0700 + + PG: don't dirty log unconditionally in activate() + + merge_log and friends all take care of dirtying the log + as necessary. + + Fixes: #5238 + Signed-off-by: Samuel Just + (cherry picked from commit 5deece1d034749bf72b7bd04e4e9c5d97e5ad6ce) + +commit fda618e96690b2693c7a8dd523ece7c1c5a90b67 +Author: Joao Eduardo Luis +Date: Fri Jun 14 17:11:43 2013 +0100 + + mon: OSDMonitor: don't ignore apply_incremental()'s return on UfP [1] + + apply_incremental() may return -EINVAL. Don't ignore it. + + [1] UfP = Update from Paxos + + Fixes: #5343 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit e3c33f4315cbf8718f61eb79e15dd6d44fc908b7) + +commit c14dd154584eef97075e4a260719b6cbe686d4c7 +Author: Sage Weil +Date: Mon Jun 17 16:38:26 2013 -0700 + + client: handle reset during initial mds session open + + If we get a reset during our attempt to open an MDS session, close out the + Connection* and retry to open the session, moving the waiters over. + + Fixes: #5379 + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit df8a3e5591948dfd94de2e06640cfe54d2de4322) + +commit aa8834831dbfcdebb96841686e3707e552c349f6 +Author: Sage Weil +Date: Mon Jun 17 15:43:40 2013 -0700 + + ceph-disk: add some notes on wth we are up to + + Signed-off-by: Sage Weil + (cherry picked from commit 8c6b24e9039079e897108f28d6af58cbc703a15a) + +commit 261964adc5a7efe7c0efac2d527bc10a95498e45 +Author: Sage Weil +Date: Fri Jun 14 16:29:10 2013 -0700 + + ceph-disk: clear TERM to avoid libreadline hijinx + + The weird output from libreadline users is related to the TERM variable. + + Signed-off-by: Sage Weil + (cherry picked from commit e538829f16ce19d57d63229921afa01cc687eb86) + +commit e36fb3267cdbe0ec5bb01f8a012485de1bbf1652 +Author: Sage Weil +Date: Mon Jun 17 09:49:46 2013 -0700 + + ceph-disk-udev: set up by-partuuid, -typeuuid symlinks on ancient udev + + Make the ancient-udev/blkid workaround script for RHEL/CentOS create the + symlinks for us too. + + Signed-off-by: Sage Weil + (cherry picked from commit d7f7d613512fe39ec883e11d201793c75ee05db1) + +commit c3936ebb159b419115bfdc5dc7a23f5807cff9fa +Author: Sage Weil +Date: Sat Jun 15 20:06:33 2013 -0700 + + ceph-disk: do not stop activate-all on first failure + + Keep going even if we hit one activation error. This avoids failing to + start some disks when only one of them won't start (e.g., because it + doesn't belong to the current cluster). + + Signed-off-by: Sage Weil + (cherry picked from commit c9074375bfbe1e3757b9c423a5ff60e8013afbce) + +commit 3cb783c31541cebe928b97cf27eb326bb4b54f9b +Author: Sage Weil +Date: Fri Jun 14 16:30:24 2013 -0700 + + ceph.spec: include partuuid rules in package + + Commit f3234c147e083f2904178994bc85de3d082e2836 missed this. + + Signed-off-by: Sage Weil + (cherry picked from commit 253069e04707c5bf46869f4ff5a47ea6bb0fde3e) + +commit 2d771b57082545e139086f3c5c9f79ba47101a14 +Author: Sage Weil +Date: Fri Jun 14 15:01:14 2013 -0700 + + ceph.spec: install/uninstall init script + + This was commented out almost years ago in commit 9baf5ef4 but it is not + clear to me that it was correct to do so. In any case, we are not + installing the rc.d links for ceph, which means it does not start up after + a reboot. + + Signed-off-by: Sage Weil + (cherry picked from commit cc9b83a80262d014cc37f0c974963cf7402a577a) + +commit dfe421e44cfa13178950258509a0cf71e308daa1 +Author: Sage Weil +Date: Fri Jun 14 13:39:03 2013 -0700 + + sysvinit, upstart: ceph-disk activate-all on start + + On 'service ceph start' or 'service ceph start osd' or start ceph-osd-all + we should activate any osd GPT partitions. + + Signed-off-by: Sage Weil + (cherry picked from commit 13680976ef6899cb33109f6f841e99d4d37bb168) + +commit ef47cf9c9dd7f4a1f549c14f984cd052fc95bb64 +Author: Sage Weil +Date: Fri Jun 14 13:34:40 2013 -0700 + + ceph-disk: add 'activate-all' + + Scan /dev/disk/by-parttypeuuid for ceph OSDs and activate them all. This + is useful when the event didn't trigger on the initial udev event for + some reason. + + Signed-off-by: Sage Weil + (cherry picked from commit 5c7a23687a1a21bec5cca7b302ac4ba47c78e041) + +commit 65ec1d87f96694ab08c99a7104329065c7c5ebae +Author: Sage Weil +Date: Fri Jun 14 13:23:52 2013 -0700 + + udev: /dev/disk/by-parttypeuuid/$type-$uuid + + We need this to help trigger OSD activations. + + Signed-off-by: Sage Weil + (cherry picked from commit d512dc9eddef3299167d4bf44e2018b3b6031a22) + +commit 4a739b13f420acf4f0af21b4cf133ac08c97ee18 +Author: Yehuda Sadeh +Date: Fri Jun 14 14:53:54 2013 -0700 + + rgw: escape prefix correctly when listing objects + + Fixes: #5362 + When listing objects prefix needs to be escaped correctly (the + same as with the marker). Otherwise listing objects with prefix + that starts with underscore doesn't work. + Backport: bobtail, cuttlefish + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit d582ee2438a3bd307324c5f44491f26fd6a56704) + +commit 6edba9e9ad1c115a462aeab858063fe3939a40e4 +Author: Sage Weil +Date: Mon Jun 10 17:28:22 2013 -0700 + + messages/MMonSync: initialize crc in ctor + + Signed-off-by: Sage Weil + (cherry picked from commit cd1c289b96a874ff99a83a44955d05efc9f2765a) + +commit 2ad85576850bcb61c3ac8fee38609f9cd51bfac2 +Author: Sage Weil +Date: Sat Jun 15 08:48:37 2013 -0700 + + client: fix ancient typo in caps revocation path + + If we have dropped all references to a revoked capability, send the ack + to the MDS. This typo has been there since v0.7 (early 2009)! + + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit b7143c2f84daafbe2c27d5b2a2d5dc40c3a68d15) + +commit d3d88983bceaf508f2585cc6bf8fc304a0943ffe +Author: Sage Weil +Date: Wed Jun 5 08:42:25 2013 -0700 + + messages/MMonHealth: remove unused flag field + + This was initialized in (one of) the ctor(s), but not encoded/decoded, + and not used. Remove it. This makes valgrind a happy. + + Signed-off-by: Sage Weil + (cherry picked from commit 08bb8d510b5abd64f5b9f8db150bfc8bccaf9ce8) + +commit 646d9ccc575bf91cf73fbfaf91ab4d04ed2b5981 +Author: Sage Weil +Date: Wed Jun 5 08:34:20 2013 -0700 + + messages/MMonProbe: fix uninitialized variables + + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit 4974b29e251d433101b69955091e22393172bcd8) + +commit 08304a7c46da7517319b7db0b64d1c4f54771472 +Author: Sage Weil +Date: Sat Jun 15 08:14:40 2013 -0700 + + common/Preforker: fix broken recursion on exit(3) + + If we exit via preforker, call exit(3) and not recursively back into + Preforker::exit(r). Otherwise you get a hang with the child blocked + at: + + Thread 1 (Thread 0x7fa08962e7c0 (LWP 5419)): + #0 0x000000309860e0cd in write () from /lib64/libpthread.so.0 + #1 0x00000000005cc906 in Preforker::exit(int) () + #2 0x00000000005c8dfb in main () + + and the parent at + + #0 0x000000309860eba7 in waitpid () from /lib64/libpthread.so.0 + #1 0x00000000005cc87a in Preforker::parent_wait() () + #2 0x00000000005c75ae in main () + + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit 7e7ff7532d343c473178799e37f4b83cf29c4eee) + +commit f202d332dc86844caa9076c7866cc009d87f76b6 +Author: Gary Lowell +Date: Thu Jun 13 16:38:26 2013 -0700 + + rules: Don't disable tcmalloc on ARM (and other non-intel) + + Fixes #5342 + + Signed-off-by: Gary Lowell + +commit cbca9232618e85bd15b8677c9306042caad876a6 +Author: Guilhem Lettron +Date: Mon May 27 12:41:53 2013 +0200 + + Remove mon socket in post-stop + + If ceph-mon segfault, socket file isn't removed. + + By adding a remove in post-stop, upstart clean run directory properly. + + Signed-off-by: Guilhem Lettron + (cherry picked from commit 554b41b171eab997038e83928c462027246c24f4) + +commit 3f8b3cf1d4042ae6bb64a840ff19f859e6ce6dc2 +Author: James Page +Date: Mon May 20 10:26:06 2013 +0100 + + Remove stop on from upstart tasks + + Upstart tasks don't have to concept of 'stop on' as they + are not long running. + (cherry picked from commit 17f6fccabc262b9a6d59455c524b550e77cd0fe3) + +commit 0b9b8368aec049bfdd4cf72b481f3a4aa8cb031e +Author: Dan Mick +Date: Wed Jun 12 22:22:42 2013 -0700 + + ceph-disk: extra dash in error message + + Signed-off-by: Dan Mick + (cherry picked from commit f86b4e7a4831c684033363ddd335d2f3fb9a189a) + +commit ecddd1e0062ae58e8cc75e125cc683fc04b8befe +Author: Danny Al-Gaaf +Date: Fri May 24 12:41:11 2013 +0200 + + ceph-disk: cast output of _check_output() + + Cast output of _check_output() to str() to be able to use + str.split(). + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 16ecae153d260407085aaafbad1c1c51f4486c9a) + +commit 43855e3788cc90900f1b3424c4e4e2c28e8f351e +Author: Danny Al-Gaaf +Date: Fri May 24 12:46:15 2013 +0200 + + ceph-disk: remove unnecessary semicolons + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 9785478a2aae7bf5234fbfe443603ba22b5a50d2) + +commit 53927f94f3dcf7c57b73b66159d924557d92506e +Author: Danny Al-Gaaf +Date: Fri May 24 12:33:16 2013 +0200 + + ceph-disk: fix undefined variable + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 9429ff90a06368fc98d146e065a7b9d1b68e9822) + +commit f1beeb267d6e19754a9f2f483b5849a6b900f3ce +Author: Danny Al-Gaaf +Date: Fri May 24 12:29:07 2013 +0200 + + ceph-disk: add missing spaces around operator + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit c127745cc021c8b244d721fa940319158ef9e9d4) + +commit fe23ae0042629f493792eadb88a30514c29fc1a0 +Author: Sage Weil +Date: Thu Jun 13 22:02:03 2013 -0700 + + udev: drop useless --mount argument to ceph-disk + + It doesn't mean anything anymore; drop it. + + Signed-off-by: Sage Weil + (cherry picked from commit bcfd2f31a50d27038bc02e645795f0ec99dd3b32) + +commit d99e0a8908d4feccc0a73952ee31586c83174589 +Author: Sage Weil +Date: Thu Jun 13 22:01:34 2013 -0700 + + ceph-disk-udev: activate-journal + + Trigger 'ceph-disk activate-journal' from the alt udev rules. + + Signed-off-by: Sage Weil + (cherry picked from commit b139152039bfc0d190f855910d44347c9e79b22a) + +commit dfbd20104e01ce22c7e501f748b2bf13382ee7f6 +Author: Sage Weil +Date: Thu Jun 13 21:56:23 2013 -0700 + + ceph-disk: do not use mount --move (or --bind) + + The kernel does not let you mount --move when the parent mount is + shared (see, e.g., https://bugzilla.redhat.com/show_bug.cgi?id=917008 + for another person this also confused). We can't use --bind either + since that (on RHEL at least) screws up /etc/mtab so that the final + result looks like + + /var/lib/ceph/tmp/mnt.HNHoXU /var/lib/ceph/osd/ceph-0 none rw,bind 0 0 + + Instead, mount the original dev in the final location and then umount + from the old location. + + Signed-off-by: Sage Weil + (cherry picked from commit e5ffe0d2484eb6cbcefcaeb5d52020b1130871a5) + +commit 98a990d796e71c62fa64c13230a18a4a40aedcdf +Author: Sage Weil +Date: Thu Jun 13 21:22:53 2013 -0700 + + ceph.spec: include by-partuuid udev workaround rules + + These are need for old or buggy udev. Having them for new and unbroken + udev is harmless. + + Signed-off-by: Sage Weil + (cherry picked from commit f3234c147e083f2904178994bc85de3d082e2836) + +commit 1504e23f177fff00a794c0db76db8a8c72bc8eb7 +Author: Sage Weil +Date: Fri Jun 14 12:10:49 2013 -0700 + + ceph-disk: work around buggy rhel/centos parted + + parted on RHEL/Centos prefixes the *machine readable output* with + + 1b 5b 3f 31 30 33 34 68 + + Note that the same thing happens when you 'import readline' in python. + + Work around it! + + Signed-off-by: Sage Weil + (cherry picked from commit 82ff72f827b9bd7f91d30a09d35e42b25d2a7344) + +commit 0b9482bd631aada9e2ca730b6cddd51d7954fb11 +Author: Sage Weil +Date: Thu Jun 13 15:54:58 2013 -0700 + + ceph-disk: implement 'activate-journal' + + Activate an osd via its journal device. udev populates its symlinks and + triggers events in an order that is not related to whether the device is + an osd data partition or a journal. That means that triggering + 'ceph-disk activate' can happen before the journal (or journal symlink) + is present and then fail. + + Similarly, it may be that they are on different disks that are hotplugged + with the journal second. + + This can be wired up to the journal partition type to ensure that osds are + started when the journal appears second. + + Include the udev rules to trigger this. + + Signed-off-by: Sage Weil + (cherry picked from commit a2a78e8d16db0a71b13fc15457abc5fe0091c84c) + +commit 062b9296c98a03f4f291615dce010aebc55aaa32 +Author: Sage Weil +Date: Tue Jun 11 18:35:01 2013 -0700 + + ceph-disk: call partprobe outside of the prepare lock; drop udevadm settle + + After we change the final partition type, sgdisk may or may not trigger a + udev event, depending on how well udev is behaving (it varies between + distros, it seems). The old code would often settle and wait for udev to + activate the device, and then partprobe would uselessly fail because it + was already mounted. + + Call partprobe only at the very end, after prepare is done. This ensures + that if partprobe calls udevadm settle (which is sometimes does) we do not + get stuck. + + Drop the udevadm settle. I'm not sure what this accomplishes; take it out, + at least until we determine we need it. + + Signed-off-by: Sage Weil + (cherry picked from commit 8b3b59e01432090f7ae774e971862316203ade68) + +commit 9f9dc8b85a81529deb6865ec5f1cebb45f04ddc4 +Author: Sage Weil +Date: Thu Jun 13 11:03:37 2013 -0700 + + ceph-disk: add 'zap' command + + Signed-off-by: Sage Weil + (cherry picked from commit 10ba60cd088c15d4b4ea0b86ad681aa57f1051b6) + +commit 4fab29c1c5e4dec79f089e9803adf0e855e5ec4f +Author: Sage Weil +Date: Tue May 21 12:52:03 2013 -0700 + + ceph-disk: fix stat errors with new suppress code + + Broken by 225fefe5e7c997b365f481b6c4f66312ea28ed61. + + Signed-off-by: Sage Weil + (cherry picked from commit bcc8bfdb672654c6a6b48a2aa08267a894debc32) + +commit 01ba391b079a494272a071b76f8dee89b5f5c44d +Author: Sage Weil +Date: Mon May 13 12:35:32 2013 -0700 + + ceph-disk: add '[un]suppress-activate ' command + + It is often useful to prepare but not activate a device, for example when + preparing a bunch of spare disks. This marks a device as 'do not + activate' so that it can be prepared without activating. + + Fixes: #3255 + Signed-off-by: Sage Weil + (cherry picked from commit 225fefe5e7c997b365f481b6c4f66312ea28ed61) + +commit 41a15a63349abc5f3e1c0b8de8fcc543e2567035 +Author: Sage Weil +Date: Fri Jun 14 11:21:25 2013 -0700 + + upstart: start ceph-all on runlevel [2345] + + Starting when only one network interface has started breaks machines with + multiple nics in very problematic ways. + + There may be an earlier trigger that we can use for cases where other + services on the local machine depend on ceph, but for now this is better + than the existing behavior. + + See #5248 + + Signed-off-by: Sage Weil + (cherry picked from commit 7e08ed1bf154f5556b3c4e49f937c1575bf992b8) + +commit 60e4bb0acb41febb75c866646c7102e9a25782f7 +Author: Sage Weil +Date: Sat Jun 8 17:38:07 2013 -0700 + + client: set issue_seq (not seq) in cap release + + We regularly have been observing a stall where the MDS is blocked waiting + for a cap revocation (Ls, in our case) and never gets a reply. We finally + tracked down the sequence: + + - mds issues cap seq 1 to client + - mds does revocation (seq 2) + - client replies + - much time goes by + - client trims inode from cache, sends release with seq == 2 + - mds ignores release because its issue_seq is 1 + - mds later tries to revoke other caps + - client discards message because it doesn't have the inode in cache + + The problem is simply that we are using seq instead of issue_seq in the + cap release message. Note that the other release call site in + encode_inode_release() is correct. That one is much more commonly + triggered by short tests, as compared to this case where the inode needs to + get pushed out of the client cache. + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit 9b012e234a924efd718826ab6a53b9aeb7cd6649) + +commit ae522291d2a9b994a65fed5e63e9fec74eece5be +Author: Sage Weil +Date: Wed May 22 15:03:50 2013 -0700 + + osd: skip mark-me-down message if osd is not up + + Fixes crash when the OSD has not successfully booted and gets a + SIGINT or SIGTERM. + + Signed-off-by: Sage Weil + (cherry picked from commit c2e262fc9493b4bb22c2b7b4990aa1ee7846940e) + +commit 48f8d6e3ffe9fc5bb71b362e3059ffb2da69926b +Author: Sage Weil +Date: Sun Jun 2 21:21:51 2013 -0700 + + ceph-fuse: create finisher threads after fork() + + The ObjectCacher and MonClient classes both instantiate Finisher + threads. We need to make sure they are created *after* the fork(2) + or else the process will fail to join() them on shutdown, and the + threads will not exist while fuse is doing useful work. + + Put CephFuse on the heap and move all this initalization into the child + block, and make sure errors are passed back to the parent. + + Fix-proposed-by: Alexandre Marangone + Signed-off-by: Sage Weil + (cherry picked from commit 4fa5f99a40792341d247e51488c37301da3c4e4f) + +commit 7012d192e6a31d91e57bc9f5b00af6c541ceb3e0 +Author: Sage Weil +Date: Thu Jun 6 16:35:54 2013 -0700 + + osd: do not include logbl in scrub map + + This is a potentially use object/file, usually prefixed by a zeroed region + on disk, that is not used by scrub at all. It dates back to + f51348dc8bdd5071b7baaf3f0e4d2e0496618f08 (2008) and the original version of + scrub. + + This *might* fix #4179. It is not a leak per se, but I observed 1GB + scrub messages going over the write. Maybe the allocations are causing + fragmentation, or the sub_op queues are growing. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 0b036ecddbfd82e651666326d6f16b3c000ade18) + +commit c75760e39d8df5b1971343e9f9186fd67e154af6 +Author: Yehuda Sadeh +Date: Thu Jun 6 21:53:00 2013 -0700 + + rgw: handle deep uri resources + + In case of deep uri resources (ones created beyond a single level + of hierarchy, e.g. auth/v1.0) we want to create a new empty + handlers for the path if no handlers exists. E.g., for + auth/v1.0 we need to have a handler for 'auth', otherwise + the default S3 handler will be used, which we don't want. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit ad3934e335399f7844e45fcfd17f7802800d2cb3) + +commit bd12e81e48014024171c55f5984c9183c8e363cb +Author: Yehuda Sadeh +Date: Thu Jun 6 21:47:21 2013 -0700 + + rgw: fix get_resource_mgr() to correctly identify resource + + Fixes: #5262 + The original test was not comparing the correct string, ended up + with the effect of just checking the substring of the uri to match + the resource. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 8d55b87f95d59dbfcfd0799c4601ca37ebb025f5) + +commit b1d436e752c9c20e7dbff91b769cb2ba47383571 +Author: Yehuda Sadeh +Date: Thu Jun 6 11:22:38 2013 -0700 + + rgw: add 'cors' to the list of sub-resources + + Fixes: #5261 + Backport: cuttlefish + Add 'cors' to the list of sub-resources, otherwise auth signing + is wrong. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Greg Farnum + (cherry picked from commit 9a0a9c205b8c24ca9c1e05b0cf9875768e867a9e) + +commit 4bf75015ae7539a9dbabbbfc0c784dbd58aa6004 +Author: Sage Weil +Date: Fri May 31 21:23:45 2013 -0700 + + mon: fix preforker exit behavior behavior + + In 3c5706163b72245768958155d767abf561e6d96d we made exit() not actually + exit so that the leak checking would behave for a non-forking case. + That is only needed for the normal exit case; every other case expects + exit() to actually terminate and not continue execution. + + Instead, make a signal_exit() method that signals the parent (if any) + and then lets you return. exit() goes back to it's usual behavior, + fixing the many other calls in main(). + + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 92d085f7fd6224ffe5b7651c1f83b093f964b5cd) + +commit d398a1850d5895ad409f5229f0dc06651c3d4d75 +Author: Josh Durgin +Date: Tue Jun 4 13:23:36 2013 -0700 + + rados.py: correct some C types + + trunc was getting size_t instead of uint64_t, leading to bad results + in 32-bit environments. Explicitly cast to the desired type + everywhere, so it's clear the correct type is being used. + + Fixes: #5233 + Signed-off-by: Josh Durgin + (cherry picked from commit 6dd7d469000144b499af84bda9b735710bb5cec3) diff --git a/doc/changelog/v0.61.5.txt b/doc/changelog/v0.61.5.txt new file mode 100644 index 00000000..9d99f910 --- /dev/null +++ b/doc/changelog/v0.61.5.txt @@ -0,0 +1,1199 @@ +commit 8ee10dc4bb73bdd918873f29c70eedc3c7ef1979 +Author: Gary Lowell +Date: Wed Jul 17 16:39:08 2013 -0700 + + v0.61.5 + +commit 39bffac6b6c898882d03de392f7f2218933d942b +Author: Sage Weil +Date: Tue Jul 16 13:14:50 2013 -0700 + + ceph-disk: rely on /dev/disk/by-partuuid instead of special-casing journal symlinks + + This was necessary when ceph-disk-udev didn't create the by-partuuid (and + other) symlinks for us, but now it is fragile and error-prone. (It also + appears to be broken on a certain customer RHEL VM.) See + d7f7d613512fe39ec883e11d201793c75ee05db1. + + Instead, just use the by-partuuid symlinks that we spent all that ugly + effort generating. + + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 64379e701b3ed862c05f156539506d3382f77aa8) + +commit 363d54288254b5e2311cd28fce5988d68cfd5773 +Author: Joao Eduardo Luis +Date: Tue Jul 16 16:49:48 2013 +0100 + + mon: Monitor: StoreConverter: clearer debug message on 'needs_conversion()' + + The previous debug message outputted the function's name, as often our + functions do. This was however a source of bewilderment, as users would + see those in logs and think their stores would need conversion. Changing + this message is trivial enough and it will make ceph users happier log + readers. + + Backport: cuttlefish + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit ad1392f68170b391d11df0ce5523c2d1fb57f60e) + +commit 0ea89760def73f76d8100889eca3c25b0a6eb772 +Author: Joao Eduardo Luis +Date: Tue Jul 16 16:45:39 2013 +0100 + + mon: Monitor: do not reopen MonitorDBStore during conversion + + We already open the store on ceph_mon.cc, before we start the conversion. + Given we are unable to reproduce this every time a conversion is triggered, + we are led to believe that this causes a race in leveldb that will lead + to 'store.db/LOCK' being locked upon the open this patch removes. + + Regardless, reopening the db here is pointless as we already did it when + we reach Monitor::StoreConverter::convert(). + + Fixes: #5640 + Backport: cuttlefish + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit 036e6739a4e873863bae3d7d00f310c015dfcdb3) + +commit 595c09df9134fb0d62144fe1594914c90e567dca +Author: Sage Weil +Date: Sun Jul 14 15:54:29 2013 -0700 + + messages/MClientReconnect: clear data when encoding + + The MClientReconnect puts everything in the data payload portion of + the message and nothing in the front portion. That means that if the + message is resent (socket failure or something), the messenger thinks it + hasn't been encoded yet (front empty) and reencodes, which means + everything gets added (again) to the data portion. + + Decoding keep decoding until it runs out of data, so the second copy + means we decode garbage snap realms, leading to the crash in bug + + Clearing data each time around resolves the problem, although it does + mean we do the encoding work multiple times. We could alternatively + (or also) stick some data in the front portion of the payload + (ignored), but that changes the wire protocol and I would rather not + do that. + + Fixes: #4565 + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit 314cf046b0b787ca69665e8751eab6fe7adb4037) + +commit 8c178e0d39d8d4a4820eb061f79d74f95e60199f +Author: Sage Weil +Date: Mon Jul 15 10:05:37 2013 -0700 + + mon: once sync full is chosen, make sure we don't change our mind + + It is possible for a sequence like: + + - probe + - first probe reply has paxos trim that indicates a full sync is + needed + - start sync + - clear store + - something happens that makes us abort and bootstrap (e.g., the + provider mon restarts + - probe + - first probe reply has older paxos trim bound and we call an election + - on election completion, we crash because we have no data. + + Non-determinism of the probe decision aside, we need to ensure that + the info we share during probe (fc, lc) is accurate, and that once we + clear the store we know we *must* do a full sync. + + This is a backport of aa60f940ec1994a61624345586dc70d261688456. + + Fixes: #5621 + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + +commit 6af0ed9bc4cc955f8c30ad9dc6e9095599f323d0 +Author: Sage Weil +Date: Tue Jul 9 14:12:15 2013 -0700 + + mon: do not scrub if scrub is in progress + + This prevents an assert from unexpected scrub results from the previous + scrub on the leader. + + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit 00ae543b3e32f89d906a0e934792cc5309f57696) + +commit 5642155ba5ca9b384a7af058a6538ac00c2a592d +Author: Sage Weil +Date: Wed Jul 10 10:06:20 2013 -0700 + + messages/MPGStats: do not set paxos version to osdmap epoch + + The PaxosServiceMessage version field is meant for client-coordinated + ordering of messages when switching between monitors (and is rarely + used). Do not fill it with the osdmap epoch lest it be compared to a + pgmap version, which may cause the mon to (near) indefinitely put it on + a wait queue until the pgmap version catches up. + + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit b36338be43f43b6dd4ee87c97f2eaa23b467c386) + +commit 06c65988bb0b1d1ec626fe31e9d806a1c4e24b28 +Author: Sage Weil +Date: Thu Jul 11 18:43:24 2013 -0700 + + osd/OSDmap: fix OSDMap::Incremental::dump() for new pool names + + The name is always present when pools are created, but not when they are + modified. Also, a name may be present with a new_pools entry if the pool + is just renamed. Separate it out completely in the dump. + + Backport: cuttlefish, bobtail + Signed-off-by: Sage Weil + (cherry picked from commit 3e4a29111e89588385e63f8d92ce3d67739dd679) + +commit 658240710baaf9c661b8fbf856322907a0d394ee +Author: Sage Weil +Date: Mon Jul 8 10:49:28 2013 -0700 + + mon/PaxosService: prevent reads until initial service commit is done + + Do not process reads (or, by PaxosService::dispatch() implication, writes) + until we have committed the initial service state. This avoids things like + EPERM due to missing keys when we race with mon creation, triggered by + teuthology tests doing their health check after startup. + + Fixes: #5515 + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit d08b6d6df7dba06dad73bdec2c945f24afc02717) + +commit 5c3ff33771e227b3fb5cc354323846fe8db4ecc1 +Author: Sage Weil +Date: Fri Jun 28 12:21:58 2013 -0700 + + client: send all request put's through put_request() + + Make sure all MetaRequest reference put's go through the same path that + releases inode references, including all of the error paths. + + Signed-off-by: Sage Weil + (cherry picked from commit 87217e1e3cb2785b79d0dec49bd3f23a827551f5) + +commit 1df78ad73df581bc7537688ae28bda820b089a13 +Author: Sage Weil +Date: Fri Jun 28 11:50:11 2013 -0700 + + client: fix remaining Inode::put() caller, and make method psuedo-private + + Not sure I can make this actually private and make Client::put_inode() a + friend method (making all of Client a friend would defeat the purpose). + This works well enough, though! + + Signed-off-by: Sage Weil + (cherry picked from commit 9af3b86b25574e4d2cdfd43e61028cffa19bdeb1) + +commit fea024cc3dd2c6fd9ff322d1cd15e0d75c92eca5 +Author: Sage Weil +Date: Thu Jun 27 21:39:35 2013 -0700 + + client: use put_inode on MetaRequest inode refs + + When we drop the request inode refs, we need to use put_inode() to ensure + they get cleaned up properly (removed from inode_map, caps released, etc.). + Do this explicitly here (as we do with all other inode put() paths that + matter). + + Fixes: #5381 + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit 81bee6487fb1ce9e090b030d61bda128a3cf4982) + +commit 62ae39ec8f208cb8f89e43ba844b9a20b4315c61 +Author: Sage Weil +Date: Mon Jul 8 15:57:48 2013 -0700 + + mon: be smarter about calculating last_epoch_clean lower bound + + We need to take PGs whose mapping has not changed in a long time into + account. For them, the pg state will indicate it was clean at the time of + the report, in which case we can use that as a lower-bound on their actual + latest epoch clean. If they are not currently clean (at report time), use + the last_epoch_clean value. + + Fixes: #5519 + Signed-off-by: Sage Weil + (cherry picked from commit cc0006deee3153e06ddd220bf8a40358ba830135) + +commit da725852190245d2f91b7b21e72baee70e4342bd +Author: Sage Weil +Date: Mon Jul 8 13:27:58 2013 -0700 + + osd: report pg stats to mon at least every N (=500) epochs + + The mon needs a moderately accurate last_epoch_clean value in order to trim + old osdmaps. To prevent a PG that hasn't peered or received IO in forever + from preventing this, send pg stats at some minimum frequency. This will + increase the pg stat report workload for the mon over an idle pool, but + should be no worse that a cluster that is getting actual IO and sees these + updates from normal stat updates. + + This makes the reported update a bit more aggressive/useful in that the epoch + is the last map epoch processed by this PG and not just one that is >= the + currenting interval. Note that the semantics of this field are pretty useless + at this point. + + See #5519 + + Signed-off-by: Sage Weil + (cherry picked from commit da81228cc73c95737f26c630e5c3eccf6ae1aaec) + +commit 757af91b2af0da6bbfeeb53551fa1ef4ef9118ea +Author: Sage Weil +Date: Wed Jul 10 11:32:34 2013 -0700 + + osd: fix warning + + From 653e04a79430317e275dd77a46c2b17c788b860b + + Backport: cuttlefish, bobtail + Signed-off-by: Sage Weil + (cherry picked from commit bc291d3fc3fc1cac838565cbe0f25f71d855a6e3) + +commit 65af2538329472d2fd078bb961863c40cdabda12 +Merge: e537699 804314b +Author: Sage Weil +Date: Fri Jul 12 15:21:20 2013 -0700 + + Merge remote-tracking branch 'gh/wip-mon-sync-2' into cuttlefish + + Reviewed-by: Joao Eduardo Luis + Reviewed-by: Greg Farnum + +commit e537699b33f84c14f027b56372fbcb0a99bbe88d +Author: Sandon Van Ness +Date: Wed Jul 10 14:55:52 2013 -0700 + + Get device-by-path by looking for it instead of assuming 3rd entry. + + On some systems (virtual machines so far) the device-by-path entry + from udevadm is not always in the same spot so instead actually + look for the right output instead of blindy assuming that its a + specific field in the output. + + Signed-off-by: Sandon Van Ness + Reviewed-by: Gary Lowell + +commit 804314b8bfa5ec75cc9653e2928874c457395c92 +Merge: 6ad9fe1 78f2266 +Author: Sage Weil +Date: Wed Jul 10 11:40:37 2013 -0700 + + Merge remote-tracking branch 'gh/cuttlefish' into wip-mon-sync-2 + +commit 78f226634bd80f6678b1f74ccf785bc52fcd6b62 +Author: Sage Weil +Date: Wed Jul 10 11:02:08 2013 -0700 + + osd: limit number of inc osdmaps send to peers, clients + + We should not send an unbounded number of inc maps to our peers or clients. + In particular, if a peer is not contacted for a while, we may think they + have a very old map (say, 10000 epochs ago) and send thousands of inc maps + when the distribution shifts and we need to peer. + + Note that if we do not send enough maps, the peers will make do by + requesting the map from somewhere else (currently the mon). Regardless + of the source, however, we must limit the amount that we speculatively + share as it usually is not needed. + + Backport: cuttlefish, bobtail + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 653e04a79430317e275dd77a46c2b17c788b860b) + +commit 54ee2dc80ed032c286546da51442340ec9991cdf +Author: Christophe Courtaut +Date: Mon Jul 1 14:57:17 2013 +0200 + + rgw: Fix return value for swift user not found + + http://tracker.ceph.com/issues/1779 fixes #1779 + + Adjust the return value from rgw_get_user_info_by_swift call + in RGW_SWIFT_Auth_Get::execute() to have the correct + return code in response. + (cherry picked from commit 4089001de1f22d6acd0b9f09996b71c716235551) + +commit 47852c263831707fff1570317a7446b0700c5962 +Author: Sage Weil +Date: Tue Jul 9 21:55:51 2013 -0700 + + mon/OSDMonitor: make 'osd crush rm ...' slightly more idempotent + + This is a manual backport of 18a624fd8b90d9959de51f07622cf0839e6bd9aa. + Do not return immediately if we are looking at uncommitted state.t + + Signed-off-by: Sage Weil + +commit bfc26c656d183fbcc90a352391e47f9f51c96052 +Author: Sage Weil +Date: Mon Jul 8 17:46:40 2013 -0700 + + mon/OSDMonitor: fix base case for loading full osdmap + + Right after cluster creation, first_committed is 1 and latest stashed in 0, + but we don't have the initial full map yet. Thereafter, we do (because we + write it with trim). Fixes afd6c7d8247075003e5be439ad59976c3d123218. + + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 43fa7aabf1f7e5deb844c1f52d451bab9e7d1006) + +commit 7fb3804fb860dcd0340dd3f7c39eec4315f8e4b6 +Author: Sage Weil +Date: Mon Jul 8 15:04:59 2013 -0700 + + mon: fix osdmap stash, trim to retain complete history of full maps + + The current interaction between sync and stashing full osdmaps only on + active mons means that a sync can result in an incomplete osdmap_full + history: + + - mon.c starts a full sync + - during sync, active osdmap service should_stash_full() is true and + includes a full in the txn + - mon.c sync finishes + - mon.c update_from_paxos gets "latest" stashed that it got from the + paxos txn + - mon.c does *not* walk to previous inc maps to complete it's collection + of full maps. + + To fix this, we disable the periodic/random stash of full maps by the + osdmap service. + + This introduces a new problem: we must have at least one full map (the first + one) in order for a mon that just synced to build it's full collection. + Extend the encode_trim() process to allow the osdmap service to include + the oldest full map with the trim txn. This is more complex than just + writing the full maps in the txn, but cheaper--we only write the full + map at trim time. + + This *might* be related to previous bugs where the full osdmap was + missing, or case where leveldb keys seemed to 'disappear'. + + Fixes: #5512 + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit afd6c7d8247075003e5be439ad59976c3d123218) + +commit 24f90b832c695ef13021db66a178c18369ac356d +Author: Sage Weil +Date: Mon Jul 8 15:07:57 2013 -0700 + + mon: implement simple 'scrub' command + + Compare all keys within the sync'ed prefixes across members of the quorum + and compare the key counts and CRC for inconsistencies. + + Currently this is a one-shot inefficient hammer. We'll want to make this + work in chunks before it is usable in production environments. + + Protect with a feature bit to avoid sending MMonScrub to mons who can't + decode it. + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit a9906641a1dce150203b72682da05651e4d68ff5) + + Conflicts: + + src/mon/MonCommands.h + src/mon/Monitor.cc + +commit 926f723c12428a034545c6c4ff6641e1d5e05d24 +Author: Samuel Just +Date: Wed Jul 3 11:18:33 2013 -0700 + + Elector.h: features are 64 bit + + Fixes: #5497 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + Reviewed-by: Joao Luis + (cherry picked from commit 3564e304e3f50642e4d9ff25e529d5fc60629093) + +commit c2b38291e706c9d1d4d337cee3a944f34bf66525 +Author: Samuel Just +Date: Wed Jul 3 11:18:19 2013 -0700 + + ceph_features.h: declare all features as ULL + + Otherwise, the first 32 get |'d together as ints. Then, the result + ((int)-1) is sign extended to ((long long int)-1) before being |'d + with the 1LL entries. This results in ~((uint64_t)0). + + Fixes: #5497 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + Reviewed-by: Joao Luis + (cherry picked from commit 4255b5c2fb54ae40c53284b3ab700fdfc7e61748) + +commit 95ef961d8537fc369efd0634262ffb8f288d6e9e +Author: Samuel Just +Date: Tue Jul 2 21:09:36 2013 -0700 + + Pipe: use uint64_t not unsigned when setting features + + Fixes: #5497 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + Reviewed-by: Joao Luis + (cherry picked from commit bc3e2f09f8860555d8b3b49b2eea164b4118d817) + +commit 09d258b70a28e5cea555b9d7e215fe41d6b84577 +Author: Sage Weil +Date: Mon Jul 8 11:24:48 2013 -0700 + + client: remove O_LAZY + + The once-upon-a-time unique O_LAZY value I chose forever ago is now + O_NOATIME, which means that some clients are choosing relaxed + consistency without meaning to. + + It is highly unlikely that a real O_LAZY will ever exist, and we can + select it in the ceph case with the ioctl or libcephfs call, so drop + any support for doing this via open(2) flags. + + Update doc/lazy_posix.txt file re: lazy io. + + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit 94afedf02d07ad4678222aa66289a74b87768810) + +commit c3b684932bad31fc853ad556d16e1e4a9926486e +Author: Sage Weil +Date: Mon Jul 8 12:55:20 2013 -0700 + + osd/osd_types: fix pg_stat_t::dump for last_epoch_clean + + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit 69a55445439fce0dd6a3d32ff4bf436da42f1b11) + +commit a02f2510fcc800b9f2cf2a06401a7b97d5985409 +Author: Sage Weil +Date: Fri Jul 5 16:03:49 2013 -0700 + + mon: remove bad assert about monmap version + + It is possible to start a sync when our newest monmap is 0. Usually we see + e0 from probe, but that isn't always published as part of the very first + paxos transaction due to the way PaxosService::_active generates it's + first initial commit. + + In any case, having e0 here is harmless. + + Fixes: #5509 + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 85a1d6cc5d3852c94d1287b566656c5b5024fa13) + +commit 6ad9fe17a674ba65bbeb4052cb1ac47f3113e7bf +Author: Sage Weil +Date: Thu Jul 4 19:33:06 2013 -0700 + + mon/Paxos: fix sync restart + + If we have a sync going, and an election intervenes, the client will + try to continue by sending a new start_chunks request. In order to + ensure that we get all of the paxos commits from our original starting + point (and thus properly update the keys from which they started), + only pay attention if they *also* send their current last_committed + version. Otherwise, start them at the beginning. + + Signed-off-by: Sage Weil + +commit c5812b1c893305a7d20f9eaec2695c8b1691f0c9 +Author: Sage Weil +Date: Thu Jul 4 14:57:06 2013 -0700 + + mon: uninline _trim_enable and Paxos::trim_{enable,disable} so we can debug them + + Signed-off-by: Sage Weil + +commit 6fbcbd7fddf35a5be4b38e536871903bff4f9bf1 +Author: Sage Weil +Date: Thu Jul 4 14:55:34 2013 -0700 + + mon/Paxos: increase paxos max join drift + + A value of 10 is too aggressive for large, long-running syncs. 100 is + about 2 minutes of activity at most, which should be a more forgiving + buffer. + + Signed-off-by: Sage Weil + +commit f3a51fa30e5ce1656853b40d831409f195f6e4ca +Author: Sage Weil +Date: Thu Jul 4 14:21:04 2013 -0700 + + mon/Paxos: configure minimum paxos txns separately + + We were using paxos_max_join_drift to control the minimum number of + paxos transactions to keep around. Instead, make this explicit, and + separate from the join drift. + + Signed-off-by: Sage Weil + +commit 1156721f22f5f337241eef3d0276ca74fe6352d1 +Author: Sage Weil +Date: Thu Jul 4 17:09:07 2013 -0700 + + mon: include any new paxos commits in each sync CHUNK message + + We already take note of the paxos version when we begin the sync. As + sync progresses and there are new paxos commits/txns, include those + and update last_committed, so that when sync completes we will have + a full view of everything that happened during sync. + + Note that this does not introduce any compatibility change. This change + *only* affects the provider. The key difference is that at the end + of the sync, the provide will set version to the latest version, and + not the version from the start of the sync (as was done previously). + + Signed-off-by: Sage Weil + +commit 40672219a081f0dc2dd536977290ef05cfc9f097 +Author: Sage Weil +Date: Thu Jul 4 12:17:28 2013 -0700 + + mon/MonitorDBStore: expose get_chunk_tx() + + Allow users get the transaction unencoded. + + Signed-off-by: Sage Weil + +commit db2bb270e93ed44f9252d65d1d4c9b36875d0ea5 +Author: Sage Weil +Date: Wed Jul 3 17:15:56 2013 -0700 + + mon: enable leveldb cache by default + + 256 is not as large as the upstream 512 MB, but will help signficiantly and + be less disruptive for existing cuttlefish clusters. + + Sort-of backport of e93730b7ffa48b53c8da2f439a60cb6805facf5a. + + Signed-off-by: Sage Weil + +commit 123f676e3ae8154ca94cb076c4c4ec5389d2a643 +Author: Sage Weil +Date: Wed Jul 3 16:56:06 2013 -0700 + + mon/Paxos: make 'paxos trim disabled max versions' much much larger + + 108000 is about 3 hours if paxos is going full-bore (1 proposal/second). + That ought to be pretty safe. Otherwise, we start trimming to soon and a + slow sync will just have to restart when it finishes. + + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 71ebfe7e1abe4795b46cf00dfe1b03d1893368b0) + + Conflicts: + + src/common/config_opts.h + +commit 03393c0df9f54e4f1db60e1058ca5a7cd89f44e6 +Author: Sage Weil +Date: Wed Jun 26 06:01:40 2013 -0700 + + mon: do not reopen MonitorDBStore during startup + + level doesn't seem to like this when it races with an internal compaction + attempt (see below). Instead, let the store get opened by the ceph_mon + caller, and pull a bit of the logic into the caller to make the flow a + little easier to follow. + + -2> 2013-06-25 17:49:25.184490 7f4d439f8780 10 needs_conversion + -1> 2013-06-25 17:49:25.184495 7f4d4065c700 5 asok(0x13b1460) entry start + 0> 2013-06-25 17:49:25.316908 7f4d3fe5b700 -1 *** Caught signal (Segmentation fault) ** + in thread 7f4d3fe5b700 + + ceph version 0.64-667-g089cba8 (089cba8fc0e8ae8aef9a3111cba7342ecd0f8314) + 1: ceph-mon() [0x649f0a] + 2: (()+0xfcb0) [0x7f4d435dccb0] + 3: (leveldb::Table::BlockReader(void*, leveldb::ReadOptions const&, leveldb::Slice const&)+0x154) [0x806e54] + 4: ceph-mon() [0x808840] + 5: ceph-mon() [0x808b39] + 6: ceph-mon() [0x806540] + 7: (leveldb::DBImpl::DoCompactionWork(leveldb::DBImpl::CompactionState*)+0xdd) [0x7f363d] + 8: (leveldb::DBImpl::BackgroundCompaction()+0x2c0) [0x7f4210] + 9: (leveldb::DBImpl::BackgroundCall()+0x68) [0x7f4cc8] + 10: ceph-mon() [0x80b3af] + 11: (()+0x7e9a) [0x7f4d435d4e9a] + 12: (clone()+0x6d) [0x7f4d4196bccd] + NOTE: a copy of the executable, or `objdump -rdS ` is needed to interpret this. + + Signed-off-by: Sage Weil + (cherry picked from commit ea1f316e5de21487ae034a1aa929068ba23ac525) + +commit 0143acc49bc5834836afc2c5a9d8f67030bec85f +Author: Sage Weil +Date: Tue Jul 2 14:43:17 2013 -0700 + + sysvinit, upstart: handle symlinks to dirs in /var/lib/ceph/* + + Match a symlink to a dir, not just dirs. This fixes the osd case of e.g., + creating an osd in /data/osd$id in which ceph-disk makes a symlink from + /var/lib/ceph/osd/ceph-$id. + + Fix proposed by Matt Thompson ; extended to + include the upstart users too. + + Fixes: #5490 + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 87c98e92d1375c8bc76196bbbf06f677bef95e64) + +commit 7e878bcc8c1b51538f3c05f854a9dac74c09b116 +Author: Sage Weil +Date: Mon Jul 1 17:33:11 2013 -0700 + + rgw: add RGWFormatter_Plain allocation to sidestep cranky strlen() + + Valgrind complains about an invalid read when we don't pad the allocation, + and because it is inlined we can't whitelist it for valgrind. Workaround + the warning by just padding our allocations a bit. + + Fixes: #5346 + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit 49ff63b1750789070a8c6fef830c9526ae0f6d9f) + +commit ca61402855966210ba1598239eaf454eaad0f5f2 +Author: Yan, Zheng +Date: Wed May 15 11:24:36 2013 +0800 + + mds: warn on unconnected snap realms + + When there are more than one active MDS, restarting MDS triggers + assertion "reconnected_snaprealms.empty()" quite often. If there + is no snapshot in the FS, the items left in reconnected_snaprealms + should be other MDS' mdsdir. I think it's harmless. + + If there are snapshots in the FS, the assertion probably can catch + real bugs. But at present, snapshot feature is broken, fixing it is + non-trivial. So replace the assertion with a warning. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 26effc0e583b0a3dade6ec81ef26dec1c94ac8b2) + +commit e11f258831e14dc3755e09c0fd4f9bfdf79022a7 +Author: Sage Weil +Date: Wed Jun 26 06:53:08 2013 -0700 + + mon/PGMonitor: use post_paxos_update, not init, to refresh from osdmap + + We do two things here: + - make init an one-time unconditional init method, which is what the + health service expects/needs. + - switch PGMonitor::init to be post_paxos_update() which is called after + the other services update, which is what PGMonitor really needs. + + This is a new version of the fix originally in commit + a2fe0137946541e7b3b537698e1865fbce974ca6 (and those around it). That is, + this re-fixes a problem where osds do not see pg creates from their + subscribe due to map_pg_creates() not getting called. + + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit e635c47851d185eda557e36bdc4bf3775f7b87a2) + + Conflicts: + src/mon/PGMonitor.cc + src/mon/PGMonitor.h + +commit 4d07fb014178da3c88edeb8765e1aaacb8cb8ffa +Author: Sage Weil +Date: Wed Jun 26 06:52:01 2013 -0700 + + mon/PaxosService: add post_paxos_update() hook + + Some services need to update internal state based on other service's + state, and thus need to be run after everyone has pulled their info out of + paxos. + + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit 131686980f0a930d5de7cbce8234fead5bd438b6) + +commit 90f5c448abeb127ae5a5528a79bd7bdbc74cb497 +Author: Greg Farnum +Date: Thu Jun 27 14:58:14 2013 -0700 + + ceph-disk: s/else if/elif/ + + Signed-off-by: Greg Farnum + Reviewed-by: Joao Luis + (cherry picked from commit bd8255a750de08c1b8ee5e9c9a0a1b9b16171462) + (cherry picked from commit 9e604ee6943fdb131978afbec51321050faddfc6) + +commit 5c4bb463dca5aa61ea5f02f7592d5a3cc82cf6f4 +Author: Yehuda Sadeh +Date: Wed Jun 26 11:28:57 2013 -0700 + + rgw: fix radosgw-admin buckets list + + Fixes: #5455 + Backport: cuttlefish + This commit fixes a regression, where radosgw-admin buckets list + operation wasn't returning any data. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + (cherry picked from commit e1f9fe58d2860fcbb18c92d3eb3946236b49a6ce) + +commit b2fb48762f32279e73feb83b220339fea31275e9 +Author: Sage Weil +Date: Wed Jun 19 17:27:49 2013 -0700 + + ceph-disk: use unix lock instead of lockfile class + + The lockfile class relies on file system trickery to get safe mutual + exclusion. However, the unix syscalls do this for us. More + importantly, the unix locks go away when the owning process dies, which + is behavior that we want here. + + Fixes: #5387 + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 2a4953b697a3464862fd3913336edfd7eede2487) + +commit 26e7a6fffde4abcb685f34247e8491c05ee2a68d +Author: Sage Weil +Date: Wed Jun 26 18:27:49 2013 -0700 + + ceph-disk: do not mount over an osd directly in /var/lib/ceph/osd/$cluster-$id + + If we see a 'ready' file in the target OSD dir, do not mount our device + on top of it. + + Among other things, this prevents ceph-disk activate on stray disks from + stepping on teuthology osds. + + Fixes: #5445 + Signed-off-by: Sage Weil + (cherry picked from commit 8a17f33b14d858235dfeaa42be1f4842dcfd66d2) + +commit ccb3dd5ad5533ca4e9b656b4e3df31025a5f2017 +Author: Yan, Zheng +Date: Tue Apr 2 15:46:51 2013 +0800 + + mds: fix underwater dentry cleanup + + If the underwater dentry is a remove link, we shouldn't mark the + inode clean + + Signed-off-by: Yan, Zheng + (cherry picked from commit 81d073fecb58e2294df12b71351321e6d2e69652) + +commit 3020c5ea07a91475a7261dc2b810f5b61a1ae1f2 +Author: Sage Weil +Date: Mon Jun 24 18:51:07 2013 -0700 + + mon/Elector: cancel election timer if we bootstrap + + If we short-circuit and bootstrap, cancel our timer. Otherwise it will + go off some time later when we are in who knows what state. + + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 9ae0ec83dabe37ac15e5165559debdfef7a5f91d) + +commit 305f0c50a5f0ffabc73e10bdf4590217d5d5d211 +Author: Sage Weil +Date: Mon Jun 24 18:12:11 2013 -0700 + + mon: cancel probe timeout on reset + + If we are probing and get (say) an election timeout that calls reset(), + cancel the timer. Otherwise, we assert later with a splat like + + 2013-06-24 01:09:33.675882 7fb9627e7700 4 mon.b@0(leader) e1 probe_timeout 0x307a520 + 2013-06-24 01:09:33.676956 7fb9627e7700 -1 mon/Monitor.cc: In function 'void Monitor::probe_timeout(int)' thread 7fb9627e7700 time 2013-06-24 01:09:43.675904 + mon/Monitor.cc: 1888: FAILED assert(is_probing() || is_synchronizing()) + + ceph version 0.64-613-g134d08a (134d08a9654f66634b893d493e4a92f38acc63cf) + 1: (Monitor::probe_timeout(int)+0x161) [0x56f5c1] + 2: (Context::complete(int)+0xa) [0x574a2a] + 3: (SafeTimer::timer_thread()+0x425) [0x7059a5] + 4: (SafeTimerThread::entry()+0xd) [0x7065dd] + 5: (()+0x7e9a) [0x7fb966f62e9a] + 6: (clone()+0x6d) [0x7fb9652f9ccd] + NOTE: a copy of the executable, or `objdump -rdS ` is needed to interpret this. + + Fixes: #5438 + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 03d3be3eaa96a8e72754c36abd6f355c68d52d59) + +commit a8f601d543168f4cdbddf674479d8de4b8dfc732 +Author: Alexandre Maragone +Date: Tue Jun 18 16:18:01 2013 -0700 + + ceph-disk: make list_partition behave with unusual device names + + When you get device names like sdaa you do not want to mistakenly conclude that + sdaa is a partition of sda. Use /sys/block/$device/$partition existence + instead. + + Fixes: #5211 + Backport: cuttlefish + Signed-off-by: Alexandre Maragone + Reviewed-by: Sage Weil + (cherry picked from commit 8c0daafe003935881c5192e0b6b59b949269e5ae) + +commit 1c890f5cdfc596588e54fffeb016b4a5e9e2124c +Author: Sage Weil +Date: Mon Jun 17 20:28:24 2013 -0700 + + client: fix warning + + client/Client.cc: In member function 'virtual void Client::ms_handle_remote_reset(Connection*)': + warning: client/Client.cc:7892:9: enumeration value 'STATE_NEW' not handled in switch [-Wswitch] + warning: client/Client.cc:7892:9: enumeration value 'STATE_OPEN' not handled in switch [-Wswitch] + warning: client/Client.cc:7892:9: enumeration value 'STATE_CLOSED' not handled in switch [-Wswitch] + + Signed-off-by: Sage Weil + Reviewed-by: David Zafman + (cherry picked from commit 8bd936f077530dfeb2e699164e4492b1c0973088) + +commit c3b97591fd8206825bcfe65bdb24fbc75a2a9b42 +Author: Sage Weil +Date: Mon Jun 24 17:58:48 2013 -0700 + + mon/AuthMonitor: ensure initial rotating keys get encoded when create_initial called 2x + + The create_initial() method may get called multiple times; make sure it + will unconditionally generate new/initial rotating keys. Move the block + up so that we can easily assert as much. + + Broken by commit cd98eb0c651d9ee62e19c2cc92eadae9bed678cd. + + Signed-off-by: Sage Weil + Reviewed-by: Yehuda Sadeh + (cherry picked from commit 521fdc2a4e65559b3da83283e6ca607b6e55406f) + +commit 0cc826c385edb2e327505696491d3ff1c3bfe8fd +Author: Sage Weil +Date: Mon Jun 24 17:42:04 2013 -0700 + + init-radosgw.sysv: remove -x debug mode + + Fixes: #5443 + Signed-off-by: Sage Weil + (cherry picked from commit 31d6062076fdbcd2691c07a23b381b26abc59f65) + +commit 4d57c12faceb7f591f10776c6850d98da55c667b +Author: Sage Weil +Date: Mon Jun 24 12:52:44 2013 -0700 + + common/pick_addresses: behave even after internal_safe_to_start_threads + + ceph-mon recently started using Preforker to working around forking issues. + As a result, internal_safe_to_start_threads got set sooner and calls to + pick_addresses() which try to set string config values now fail because + there are no config observers for them. + + Work around this by observing the change while we adjust the value. We + assume pick_addresses() callers are smart enough to realize that their + result will be reflected by cct->_conf and not magically handled elsewhere. + + Fixes: #5195, #5205 + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit eb86eebe1ba42f04b46f7c3e3419b83eb6fe7f9a) + +commit e1ac7c6c3ca673d08710829aa5a3c03735710486 +Author: Sage Weil +Date: Thu Jun 20 15:39:23 2013 -0700 + + mon/PaxosService: allow paxos service writes while paxos is updating + + In commit f985de28f86675e974ac7842a49922a35fe24c6c I mistakenly made + is_writeable() false while paxos was updating due to a misread of + Paxos::propose_new_value() (I didn't see that it would queue). + This is problematic because it narrows the window during which each service + is writeable for no reason. + + Allow service to be writeable both when paxos is active and updating. + + Signed-off-by: Sage Weil + (cherry picked from commit 11169693d086e67dcf168ce65ef6e13eebd1a1ab) + +commit 02b0b4a9acb439b2ee5deadc8b02492006492931 +Author: Sage Weil +Date: Fri Jun 7 11:41:21 2013 -0700 + + mon/PaxosService: not active during paxos UPDATING_PREVIOUS + + Treat this as an extension of the recovery process, e.g. + + RECOVERING -> ACTIVE + or + RECOVERING -> UPDATING_PREVIOUS -> ACTIVE + + and we are not active until we get to "the end" in both cases. + + Signed-off-by: Sage Weil + (cherry picked from commit 392a8e21f8571b410c85be2129ef62dd6fc52b54) + +commit c6d5dc4d47838c8c8f4d059b7d018dea3f9c4425 +Author: Sage Weil +Date: Fri Jun 7 11:40:22 2013 -0700 + + mon: simplify states + + - make states mutually exclusive (an enum) + - rename locked -> updating_previous + - set state prior to begin() to simplify things a bit + + Signed-off-by: Sage Weil + (cherry picked from commit ee34a219605d1943740fdae0d84cfb9020302dd6) + +commit c43b1f4dff254df96144b0b4d569cc72421a8fff +Author: Sage Weil +Date: Fri Jun 7 11:14:58 2013 -0700 + + mon/Paxos: not readable when LOCKED + + If we are re-proposing a previously accepted value from a previous quorum, + we should not consider it readable, because it is possible it was exposed + to clients as committed (2/3 accepted) but not recored to be committed, and + we do not want to expose old state as readable when new state was + previously readable. + + Signed-off-by: Sage Weil + (cherry picked from commit ec2ea86ed55e00265c2cc5ad0c94460b4c92865c) + +commit 10d41200622d76dbf276602828584e7153cb22b5 +Author: Sage Weil +Date: Fri Jun 7 11:07:38 2013 -0700 + + mon/Paxos: cleanup: drop unused PREPARING state bit + + This is never set when we block, and nobody looks at it. + + Signed-off-by: Sage Weil + (cherry picked from commit 7b7ea8e30e20704caad9a841332ecb2e39819a41) + +commit 9d7c40e3f4ea2dd969aa0264ea8a6ad74f3e678a +Author: Sage Weil +Date: Thu Jun 6 15:20:05 2013 -0700 + + mon/PaxosService: simplify is_writeable + + Recast this in terms of paxos check + our conditions, and make it + match wait_for_writeable(). + + Signed-off-by: Sage Weil + (cherry picked from commit f985de28f86675e974ac7842a49922a35fe24c6c) + +commit 35745cba8985c5f3238e3c28fd28b194fae043d9 +Author: Sage Weil +Date: Tue Jun 4 17:03:15 2013 -0700 + + mon/PaxosService: simplify readable check + + Recast this in terms of the paxos check and our additional conditions, + which match wait_for_readable(). + + Signed-off-by: Sage Weil + (cherry picked from commit 3aa61a0beb540e48bf61ceded766d6ff52c95eb2) + +commit 57c89291a48c319907fb3029746d9f5a4bd9dd61 +Author: Sage Weil +Date: Fri May 31 16:45:08 2013 -0700 + + mon: simplify Monitor::init_paxos() + + Signed-off-by: Sage Weil + (cherry picked from commit e832e76a4af04b091c806ad412bcfd0326d75a2d) + +commit fd1769cb2d61e8f2c7921a78760e8f12b28258fb +Author: Sage Weil +Date: Fri May 31 16:39:37 2013 -0700 + + mon/Paxos: go active *after* refreshing + + The update_from_paxos() methods occasionally like to trigger new activity. + As long as they check is_readable() and is_writeable(), they will defer + until we go active and that activity will happen in the normal callbacks. + + This fixes the problem where we active but is_writeable() is still false, + triggered by PGMonitor::check_osd_map(). + + Signed-off-by: Sage Weil + (cherry picked from commit e68b1bd36ed285e38a558899f83cf224d3aa60ed) + +commit cf75478d027dfd377424988745230d096dae79ac +Author: Sage Weil +Date: Fri May 31 15:32:06 2013 -0700 + + mon: safely signal bootstrap from MonmapMonitor::update_from_paxos() + + Signed-off-by: Sage Weil + (cherry picked from commit dc83430124a5fd37573202a4cc0986c3c03739ef) + +commit 6ac58cd9c1f9c80c5f3cbe97e19cfcd8427db46d +Author: Sage Weil +Date: Sun Jun 2 16:57:11 2013 -0700 + + mon/Paxos: do paxos refresh in finish_proposal; and refactor + + Do the paxos refresh inside finish_proposal, ordered *after* the leader + assertion so that MonmapMonitor::update_from_paxos() calling bootstrap() + does not kill us. + + Also, remove unnecessary finish_queued_proposal() and move the logic inline + where the bad leader assertion is obvious. + + Signed-off-by: Sage Weil + (cherry picked from commit a42d7582f816b45f5d19c393fd45447555e78fdd) + +commit 054e96d96533b1c4078402e43184f13b97329905 +Author: Joao Eduardo Luis +Date: Sun Jun 2 16:15:02 2013 -0700 + + mon/PaxosService: cache {first,last}_committed + + Refresh the in-memory values when we are told the on-disk paxos state + may have changed. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 2fccb300bdf6ffd44db3462eb05115da11322ed4) + +commit 265212a7384399bf85e15e6978bc7543824c0e92 +Author: Sage Weil +Date: Fri May 31 14:30:48 2013 -0700 + + mon: no need to refresh from _active + + The refresh is done explicitly by the monitor, independent of the more + fragile PaxosService callbacks. + + Signed-off-by: Sage Weil + (cherry picked from commit d941363d6e4249e97b64faff0e573f75e918ac0c) + +commit 1d8662504299babec22c714662cefbb86a0acb8b +Author: Sage Weil +Date: Sun Jun 2 16:10:57 2013 -0700 + + mon: remove unnecessary update_from_paxos calls + + The refresh() will do this when the state changes; no need to + opportunistically call this method all of the time. + + Signed-off-by: Sage Weil + (cherry picked from commit 03014a4ecc06cde420fad0c6c2a0177ebd7b839d) + +commit 34acc5a3161b6bcda2b9f7ce18d89a8618fff1c5 +Author: Sage Weil +Date: Sun Jun 2 16:14:01 2013 -0700 + + mon: explicitly refresh_from_paxos() when leveldb state changes + + Instead of opportunistically calling each service's update_from_paxos(), + instead explicitly refresh all in-memory state whenever we know the + paxos state may have changed. This is simpler and less fragile. + + Signed-off-by: Sage Weil + (cherry picked from commit cc339c07312006e65854207523f50542d00ecf87) + +commit 4474a0cc6c009a566ecf46efadb39d80343a7c68 +Author: Sage Weil +Date: Sun Jun 23 09:25:55 2013 -0700 + + mon/AuthMonitor: make initial auth include rotating keys + + This closes a very narrow race during mon creation where there are no + service keys. + + Fixes: #5427 + Signed-off-by: Sage Weil + (cherry picked from commit cd98eb0c651d9ee62e19c2cc92eadae9bed678cd) + +commit d572cf6f77418f217a5a8e37f1124dc566e24d0b +Author: Sage Weil +Date: Fri Jun 21 11:53:29 2013 -0700 + + mds: fix iterator invalidation for backtrace removal + + - Don't increment before we dereference! + - We need to update the iterator before we delete the item. + + This code is changed in master, so this fix is for cuttlefish only. + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + +commit 50957772c3582290331f69ba4a985b1cdf86834d +Author: Sage Weil +Date: Thu May 9 09:44:20 2013 -0700 + + osd: init test_ops_hook + + CID 1019628 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR) + 2. uninit_member: Non-static class member "test_ops_hook" is not initialized in this constructor nor in any functions that it calls. + + Signed-off-by: Sage Weil + (cherry picked from commit e30a03210c3efb768b1653df5ae58917ef26e579) + +commit 17d2745f095e7bb640dece611d7824d370ea3b81 +Author: Sage Weil +Date: Thu May 9 09:45:51 2013 -0700 + + osd: initialize OSDService::next_notif_id + + CID 1019627 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR) + 2. uninit_member: Non-static class member "next_notif_id" is not initialized in this constructor nor in any functions that it calls. + + Signed-off-by: Sage Weil + (cherry picked from commit 499edd8bfc355c2d590f5fa1ef197d1ea5680351) + +commit ffdb7236a994aa20b5f75860b9c81dac0f131f9a +Author: Sage Weil +Date: Thu Jun 20 09:46:42 2013 -0700 + + mon: more fix dout use in sync_requester_abort() + + Signed-off-by: Sage Weil + (cherry picked from commit d60534b8f59798feaeeaa17adba2a417d7777cbf) + +commit 38ddae04bb974a93f1718c509363f1afbe6b612d +Author: Sage Weil +Date: Mon Jun 10 11:48:25 2013 -0700 + + mon: fix raw use of *_dout in sync_requester_abort() + + Signed-off-by: Sage Weil + (cherry picked from commit 8a4ed58e39b287fd8667c62b45848487515bdc80) diff --git a/doc/changelog/v0.61.6.txt b/doc/changelog/v0.61.6.txt new file mode 100644 index 00000000..3a1e5bd4 --- /dev/null +++ b/doc/changelog/v0.61.6.txt @@ -0,0 +1,75 @@ +commit 59ddece17e36fef69ecf40e239aeffad33c9db35 +Author: Gary Lowell +Date: Tue Jul 23 13:52:19 2013 -0700 + + v0.61.6 + +commit 38c3271d3fc415919f0856398bd94eb87a0776b5 +Author: Sage Weil +Date: Tue Jul 23 13:32:12 2013 -0700 + + mon/OSDMonitor: fix base case for 7fb3804fb workaround + + After cluster creation, we have no full map stored and first_committed == + 1. In that case, there is no need for a full map, since we can get there + from OSDMap() and the incrementals. + + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit e807770784175b05130bba938113fdbf874f152e) + +commit f94956cb1a56ff62e01b7ae218a93c4004470ae5 +Author: Joao Eduardo Luis +Date: Tue Jul 23 17:25:13 2013 +0100 + + mon: OSDMonitor: work around a full version bug introduced in 7fb3804fb + + In 7fb3804fb860dcd0340dd3f7c39eec4315f8e4b6 we moved the full version + stashing logic to the encode_trim_extra() function. However, we forgot + to update the osdmap's 'latest_full' key that should always point to + the latest osdmap full version. This eventually degenerated in a missing + full version after a trim. This patch works around this bug by looking + for the latest available full osdmap version in the store and updating + 'latest_full' to its proper value. + + Related-to: #5704 + Backport: cuttlefish + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit 97462a3213e5e15812c79afc0f54d697b6c498b1) + +commit 10e1de45dc8ace793ecf921f884f90c9daa99c48 +Author: Joao Eduardo Luis +Date: Tue Jul 23 16:36:52 2013 +0100 + + mon: OSDMonitor: update the osdmap's latest_full with the new full version + + We used to do this on encode_full(), but since [1] we no longer rely on + PaxosService to manage the full maps for us. And we forgot to write down + the latest_full version to the store, leaving it in a truly outdated state. + + [1] - 7fb3804fb860dcd0340dd3f7c39eec4315f8e4b6 + + Fixes: #5704 + Backport: cuttlefish + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit a815547ed3e5ffdbbb96c8c0c1b8d6dd8c62bfba) + +commit a0cb40b45c4f2f921a63c2d7bb5a28572381d793 +Author: Sage Weil +Date: Thu Jul 18 14:35:19 2013 -0700 + + mon: decline to scrub when paxos is not active + + In f1ce8d7c955a2443111bf7d9e16b4c563d445712 we close a race between scrub + and paxos commit completion on the leader. The fix is nontrivial to + backport and probably not worthwhile; just avoid scrubbing at that time + for now. + + Note that the actual fix for this is in commit + f1ce8d7c955a2443111bf7d9e16b4c563d445712. + + Signed-off-by: Sage Weil diff --git a/doc/changelog/v0.61.7.txt b/doc/changelog/v0.61.7.txt new file mode 100644 index 00000000..5836c6a3 --- /dev/null +++ b/doc/changelog/v0.61.7.txt @@ -0,0 +1,220 @@ +commit 8f010aff684e820ecc837c25ac77c7a05d7191ff +Author: Gary Lowell +Date: Wed Jul 24 20:44:12 2013 -0700 + + v0.61.7 + +commit 24a56a9637afd8c64b71d264359c78a25d52be02 +Author: Sage Weil +Date: Wed Jul 24 14:46:24 2013 -0700 + + ceph-disk: use new get_dev_path helper for list + + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + Tested-by: Olivier Bonvalet + (cherry picked from commit fd1fd664d6102a2a96b27e8ca9933b54ac626ecb) + +commit 1f8e4b15eeb132fd7f389318009b19f8f13adbf5 +Author: Sage Weil +Date: Thu Jul 11 12:59:56 2013 -0700 + + ceph-disk: use /sys/block to determine partition device names + + Not all devices are basename + number; some have intervening character(s), + like /dev/cciss/c0d1p2. + + Signed-off-by: Sage Weil + (cherry picked from commit 2ea8fac441141d64ee0d26c5dd2b441f9782d840) + +commit 0a08c8226cb3e461301beade9bab2e264d1b960e +Author: Sage Weil +Date: Wed Jul 3 11:01:58 2013 -0700 + + ceph-disk: reimplement is_partition() using /sys/block + + Signed-off-by: Sage Weil + (cherry picked from commit 5b031e100b40f597752b4917cdbeebb366eb98d7) + +commit 056000346db09ea7274a22e57cf4b86a7ea4090e +Author: Sage Weil +Date: Wed Jul 3 11:01:39 2013 -0700 + + ceph-disk: use get_dev_name() helper throughout + + This is more robust than the broken split trick. + + Signed-off-by: Sage Weil + (cherry picked from commit 3359aaedde838c98d1155611e157fd2da9e8b9f5) + +commit f3ee3e690c42769229a6cd9ae8dec43f2aa22ecd +Author: Sage Weil +Date: Wed Jul 3 10:55:36 2013 -0700 + + ceph-disk: refactor list_[all_]partitions + + Make these methods work in terms of device *names*, not paths, and fix up + the only direct list_partitions() caller to do the same. + + Signed-off-by: Sage Weil + (cherry picked from commit 35d3f2d84808efda3d2ac868afe03e6959d51c03) + +commit be12811b4cb98ff1c2c691c67af7ad3586c436ff +Author: Sage Weil +Date: Wed Jul 3 10:52:29 2013 -0700 + + ceph-disk: add get_dev_name, path helpers + + Signed-off-by: Sage Weil + (cherry picked from commit e0401591e352ea9653e3276d66aebeb41801eeb3) + +commit f46dbc462f623e9ab6c00394abb4d890e5d90890 +Author: Sage Weil +Date: Tue Jun 18 16:21:48 2013 -0700 + + ceph-disk: handle /dev/foo/bar devices throughout + + Assume the last component is the unique device name, even if it appears + under a subdir of /dev. + + Signed-off-by: Sage Weil + (cherry picked from commit cb97338b1186939deecb78e9d949c38c3ef59026) + +commit f799dac7bdf7cf0824a177131473cf59ef3c5205 +Author: Sage Weil +Date: Mon Jun 17 20:54:15 2013 -0700 + + ceph-disk: make is_held() smarter about full disks + + Handle the case where the device is a full disk. Make the partition + check a bit more robust (don't make assumptions about naming aside from + the device being a prefix of the partition). + + Signed-off-by: Sage Weil + (cherry picked from commit e082f1247fb6ddfb36c4223cbfdf500d6b45c978) + +commit 27f31895664fa7f10c1617d486f2a6ece0f97091 +Author: Sage Weil +Date: Wed Jul 24 11:55:42 2013 -0700 + + mon/OSDMonitor: search for latest full osdmap if record version is missing + + In 97462a3213e5e15812c79afc0f54d697b6c498b1 we tried to search for a + recent full osdmap but were looking at the wrong key. If full_0 was + present we could record that the latest full map was last_committed even + though it wasn't present. This is fixed in 76cd7ac1c, but we need to + compensate for when get_version_latest_full() gives us a back version + number by repeating the search. + + Fixes: #5737 + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit c2131d4047156aa2964581c9dbd93846382a07e7) + +commit 5b0967f03efb1be210b52f24f095f023fe1bc539 +Author: Joao Eduardo Luis +Date: Mon Jun 17 14:43:36 2013 +0100 + + test: test_store_tool: global init before using LevelDBStore + + Fixes a segfault + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit a7a7d3fc8a2ba4a30ef136a32f2903d157b3e19a) + +commit 115468c73f121653eec2efc030d5ba998d834e43 +Author: Joao Eduardo Luis +Date: Wed Jul 24 12:00:28 2013 +0100 + + mon: OSDMonitor: fix a bug introduced on 97462a32 + + Fixes: #5737 + Backport: cuttlefish + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit 76cd7ac1c2094b34ad36bea89b2246fa90eb2f6d) + +commit 938a639e2cb6abd22c2c588e619c1aae32c6521f +Author: Sage Weil +Date: Sun Jul 21 08:48:18 2013 -0700 + + mon/Paxos: fix pn for uncommitted value during collect/last phase + + During the collect/last exchange, peers share any uncommitted values + with the leader. They are supposed to also share the pn under which + that value was accepted, but were instead using the just-accepted pn + value. This effectively meant that we *always* took the uncommitted + value; if there were multiples, which one we accepted depended on what + order the LAST messages arrived, not which pn the values were generated + under. + + The specific failure sequence I observed: + + - collect + - learned uncommitted value for 262 from myself + - send collect with pn 901 + - got last with pn 901 (incorrect) for 200 (old) from peer + - discard our own value, remember the other + - finish collect phase + - ignore old uncommitted value + + Fix this by storing a pending_v and pending_pn value whenever we accept + a value. Use this to send an appropriate pn value in the LAST reply + so that the leader can make it's decision about which uncommitted value + to accept based on accurate information. Also use it when we learn + the uncommitted value from ourselves. + + We could probably be more clever about storing less information here, + for example by omitting pending_v and clearing pending_pn at the + appropriate point, but that would be more fragile. Similarly, we could + store a pn for *every* commit if we wanted to lay some groundwork for + having multiple uncommitted proposals in flight, but I don't want to + speculate about what is necessary or sufficient for a correct solution + there. + + Fixes: #5698 + Backport: cuttlefish, bobtail + Signed-off-by: Sage Weil + (cherry picked from commit 20baf662112dd5f560bc3a2d2114b469444c3de8) + +commit 18596340f020be1f21bdc9bcc752ae1da4a93a46 +Author: Sage Weil +Date: Sun Jul 21 08:12:46 2013 -0700 + + mon/Paxos: debug ignored uncommitted values + + Signed-off-by: Sage Weil + (cherry picked from commit 19b29788966eb80ed847630090a16a3d1b810969) + +commit f598245f1355d7791162c03d90bdd97b013e56f3 +Author: Sage Weil +Date: Sun Jul 21 08:11:22 2013 -0700 + + mon/Paxos: only learn uncommitted value if it is in the future + + If an older peer sends an uncommitted value, make sure we only take it + if it is in the future, and at least as new as any current uncommitted + value. + + (Prior to the previous patch, peers could send values from long-past + rounds. The pn values are also bogus.) + + Signed-off-by: Sage Weil + (cherry picked from commit b3253a453c057914753846c77499f98d3845c58e) + +commit 732286a28cd8a643593d490a7a84a590d372f78d +Author: Sage Weil +Date: Mon Jul 22 14:13:23 2013 -0700 + + mon/Paxos: only share uncommitted value if it is next + + We may have an uncommitted value from our perspective (it is our lc + 1) + when the collector has a much larger lc (because we have been out for + the last few rounds). Only share an uncommitted value if it is in fact + the next value. + + Signed-off-by: Sage Weil + (cherry picked from commit b26b7f6e5e02ac6beb66e3e34e177e6448cf91cf) diff --git a/doc/changelog/v0.61.8.txt b/doc/changelog/v0.61.8.txt new file mode 100644 index 00000000..ef01d455 --- /dev/null +++ b/doc/changelog/v0.61.8.txt @@ -0,0 +1,810 @@ +commit d783e33b672ec324eb48d588f956da0c51ff5dac +Author: Gary Lowell +Date: Sun Aug 18 23:54:49 2013 -0700 + + v0.61.8 + +commit 21a6e2479133a3debb9ab9057ff9fae70c9eede9 +Author: Samuel Just +Date: Thu Aug 8 15:12:46 2013 -0700 + + RadosClient: shutdown monclient after dropping lock + + Otherwise, the monclient shutdown may deadlock waiting + on a context trying to take the RadosClient lock. + + Fixes: #5897 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 0aacd10e2557c55021b5be72ddf39b9cea916be4) + +commit 64bef4ae4bab28b0b82a1481381b0c68a22fe1a4 +Author: Sage Weil +Date: Sat Aug 17 09:05:32 2013 -0700 + + mon/OSDMonitor: make 'osd pool mksnap ...' not expose uncommitted state + + [This is a backport of d1501938f5d07c067d908501fc5cfe3c857d7281] + + We were returning success without waiting if the pending pool state had + the snap. + + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + +commit 411871f6bcc9a4b81140c2e98d13dc123860f6f7 +Author: Sage Weil +Date: Fri Aug 16 10:52:02 2013 -0700 + + mon/OSDMonitor: make 'osd pool rmsnap ...' not racy/crashy + + NOTE: This is a manual backport of d90683fdeda15b726dcf0a7cab7006c31e99f14. + Due to all kinds of collateral changes in the mon the original patch + doesn't cleanly apply. + + Ensure that the snap does in fact exist before we try to remove it. This + avoids a crash where a we get two dup rmsnap requests (due to thrashing, or + a reconnect, or something), the committed (p) value does have the snap, but + the uncommitted (pp) does not. This fails the old test such that we try + to remove it from pp again, and assert. + + Restructure the flow so that it is easier to distinguish the committed + short return from the uncommitted return (which must still wait for the + commit). + + 0> 2013-07-16 14:21:27.189060 7fdf301e9700 -1 osd/osd_types.cc: In function 'void pg_pool_t::remove_snap(snapid_t)' thread 7fdf301e9700 time 2013-07-16 14:21:27.187095 + osd/osd_types.cc: 662: FAILED assert(snaps.count(s)) + + ceph version 0.66-602-gcd39d8a (cd39d8a6727d81b889869e98f5869e4227b50720) + 1: (pg_pool_t::remove_snap(snapid_t)+0x6d) [0x7ad6dd] + 2: (OSDMonitor::prepare_command(MMonCommand*)+0x6407) [0x5c1517] + 3: (OSDMonitor::prepare_update(PaxosServiceMessage*)+0x1fb) [0x5c41ab] + 4: (PaxosService::dispatch(PaxosServiceMessage*)+0x937) [0x598c87] + 5: (Monitor::handle_command(MMonCommand*)+0xe56) [0x56ec36] + 6: (Monitor::_ms_dispatch(Message*)+0xd1d) [0x5719ad] + 7: (Monitor::handle_forward(MForward*)+0x821) [0x572831] + 8: (Monitor::_ms_dispatch(Message*)+0xe44) [0x571ad4] + 9: (Monitor::ms_dispatch(Message*)+0x32) [0x588c52] + 10: (DispatchQueue::entry()+0x549) [0x7cf1d9] + 11: (DispatchQueue::DispatchThread::entry()+0xd) [0x7060fd] + 12: (()+0x7e9a) [0x7fdf35165e9a] + 13: (clone()+0x6d) [0x7fdf334fcccd] + NOTE: a copy of the executable, or `objdump -rdS ` is needed to interpret this. + + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + +commit 50698d1862065c8d74338fd08c7e5af66e222490 +Author: Sage Weil +Date: Tue Aug 13 12:52:41 2013 -0700 + + librados: fix async aio completion wakeup + + For aio flush, we register a wait on the most recent write. The write + completion code, however, was *only* waking the waiter if they were waiting + on that write, without regard to previous writes (completed or not). + For example, we might have 6 and 7 outstanding and wait on 7. If they + finish in order all is well, but if 7 finishes first we do the flush + completion early. Similarly, if we + + - start 6 + - start 7 + - finish 7 + - flush; wait on 7 + - finish 6 + + we can hang forever. + + Fix by doing any completions that are prior to the oldest pending write in + the aio write completion handler. + + Refs: #5919 + + Signed-off-by: Sage Weil + Reviewed-by: Josh Durgin + Tested-by: Oliver Francke + (cherry picked from commit 16ed0b9af8bc08c7dabead1c1a7c1a22b1fb02fb) + +commit ef731dfc84a71d3c3262f5cff9a9d33a60255485 +Author: Josh Durgin +Date: Mon Aug 12 19:17:09 2013 -0700 + + librados: fix locking for AioCompletionImpl refcounting + + Add an already-locked helper so that C_Aio{Safe,Complete} can + increment the reference count when their caller holds the + lock. C_AioCompleteAndSafe's caller is not holding the lock, so call + regular get() to ensure no racing updates can occur. + + This eliminates all direct manipulations of AioCompletionImpl->ref, + and makes the necessary locking clear. + + The only place C_AioCompleteAndSafe is used is in handling + aio_flush_async(). This could cause a missing completion. + + Refs: #5919 + Signed-off-by: Josh Durgin + Reviewed-by: Sage Weil + Tested-by: Oliver Francke + (cherry picked from commit 7a52e2ff5025754f3040eff3fc52d4893cafc389) + +commit 32631685199f2e47c2ba0ed27d16eff80fa6917d +Author: Sage Weil +Date: Fri Jul 12 14:27:04 2013 -0700 + + mon/Paxos: bootstrap peon too if monmap updates + + If we get a monmap update, the leader bootstraps. Peons should do the + same. + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit efe5b67bb700ef6218d9579abf43cc9ecf25ef52) + +commit 1ea6b56170fc9e223e7c30635db02fa2ad8f4b4e +Author: Sage Weil +Date: Tue Jun 25 13:16:45 2013 -0700 + + osd: fix race when queuing recovery ops + + Previously we would sample how many ops to start under the lock, drop it, + and start that many. This is racy because multiple threads can jump in + and we start too many ops. Instead, claim as many slots as we can and + release them back later if we do not end up using them. + + Take care to re-wake the work-queue since we are releasing more resources + for wq use. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit 01d3e094823d716be0b39e15323c2506c6f0cc3b) + +commit 4433f9ad8b338b6a55e205602434b307287bfaa3 +Author: Sage Weil +Date: Mon Jun 24 16:37:29 2013 -0700 + + osd: tolerate racing threads starting recovery ops + + We sample the (max - active) recovery ops to know how many to start, but + do not hold the lock over the full duration, such that it is possible to + start too many ops. This isn't problematic except that our condition + checks for being == max but not beyond it, and we will continue to start + recovery ops when we shouldn't. Fix this by adjusting the conditional + to be <=. + + Reported-by: Stefan Priebe + Signed-off-by: Sage Weil + Reviewed-by: David Zafman + (cherry picked from commit 3791a1e55828ba541f9d3e8e3df0da8e79c375f9) + +commit 0964d53ef3e8e386e0a1635d2240aefad7b8e2c1 +Author: Sage Weil +Date: Fri Aug 9 18:02:32 2013 -0700 + + ceph-disk: fix mount options passed to move_mount + + Commit 6cbe0f021f62b3ebd5f68fcc01a12fde6f08cff5 added a mount_options but + in certain cases it may be blank. Fill in with the defaults, just as we + do in mount(). + + Backport: cuttlefish + Reviewed-by: Dan Mick + Signed-off-by: Sage Weil + (cherry picked from commit cb50b5a7f1ab2d4e7fdad623a0e7769000755a70) + +commit d6be5ed2601b8cf45570afe7ca75ce5aba3f8b4f +Author: Yehuda Sadeh +Date: Mon Aug 12 10:05:44 2013 -0700 + + rgw: fix multi delete + + Fixes: #5931 + Backport: bobtail, cuttlefish + + Fix a bad check, where we compare the wrong field. Instead of + comparing the ret code to 0, we compare the string value to 0 + which generates implicit casting, hence the crash. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Josh Durgin + (cherry picked from commit f9f1c48ad799da2b4be0077bf9d61ae116da33d7) + + Conflicts: + src/rgw/rgw_rest_s3.cc + +commit ecaa46a13837305b9382ab319d43890729c54f1e +Author: Danny Al-Gaaf +Date: Tue Jul 23 21:56:09 2013 +0200 + + ceph.spec.in: obsolete ceph-libs only on the affected distro + + The ceph-libs package existed only on Redhat based distro, + there was e.g. never such a package on SUSE. Therefore: make + sure the 'Obsoletes' is only set on these affected distros. + + Signed-off-by: Danny Al-Gaaf + +commit 81aa68c309a6d4eaecc54f8d735efde8843fed8c +Author: Gary Lowell +Date: Wed Jul 3 11:28:28 2013 -0700 + + ceph.spec.in: Obsolete ceph-libs + + Signed-off-by: Gary Lowell + Reviewed-by: Sage Weil + +commit 2a34df68bb02d14f6a25bd13dff600a4d629ad05 +Author: Joao Eduardo Luis +Date: Fri Aug 9 14:48:15 2013 -0700 + + common: pick_addresses: fix bug with observer class that triggered #5205 + + The Observer class we defined to observe conf changes and thus avoid + triggering #5205 (as fixed by eb86eebe1ba42f04b46f7c3e3419b83eb6fe7f9a), + was returning always the same const static array, which would lead us to + always populate the observer's list with an observer for 'public_addr'. + + This would of course become a problem when trying to obtain the observer + for 'cluster_add' during md_config_t::set_val() -- thus triggering the + same assert as initially reported on #5205. + + Backport: cuttlefish + Fixes: #5205 + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit 7ed6de9dd7aed59f3c5dd93e012cf080bcc36d8a) + +commit 1243c9749ed27850c5d041023780efcdf7b31a68 +Author: Alfredo Deza +Date: Thu Aug 8 16:09:26 2013 -0700 + + make sure we are using the mount options + + Signed-off-by: Alfredo Deza + (cherry picked from commit 34831d0989d4bcec4920068b6ee09ab6b3234c91) + +commit a9a370be2d8155b696ebe2866febb0571da5740f +Author: Samuel Just +Date: Fri Aug 2 11:58:52 2013 -0700 + + PG: set !flushed in Reset() + + Otherwise, we might serve a pull before we start_flush in the + ReplicaActive constructor. + + Fixes: #5799 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 9e7d6d547e0e8a6db6ba611882afa9bf74ea0195) + +commit 65bfa4941f983c988837cd010f731966ff53fd19 +Author: Sage Weil +Date: Fri Jul 26 14:02:07 2013 -0700 + + osd: make open classes on start optional + + This is cuttlefish; default to the old behavior! + + Signed-off-by: Sage Weil + (cherry picked from commit 6f996223fb34650771772b88355046746f238cf2) + +commit e8253ae5451b1c8e3d7d50199b8db7b2d4c66486 +Author: Sage Weil +Date: Fri Jul 26 13:58:46 2013 -0700 + + osd: load all classes on startup + + This avoid creating a wide window between when ceph-osd is started and + when a request arrives needing a class and it is loaded. In particular, + upgrading the packages in that window may cause linkage errors (if the + class API has changed, for example). + + Fixes: #5752 + Signed-off-by: Sage Weil + Reviewed-by: Yehuda Sadeh + (cherry picked from commit c24e652d8c5e693498814ebe38c6adbec079ea36) + + Conflicts: + src/osd/ClassHandler.cc + +commit 7a1d6d3e727fd8b6947c658e171bf7ec31cd7966 +Author: Sage Weil +Date: Sun Jul 28 15:42:08 2013 -0700 + + ceph_test_rados: print version banner on startup + + It is helpful when looking at qa run logs to see what version of the + tester is running. + + Signed-off-by: Sage Weil + (cherry picked from commit 12c1f1157c7b9513a3d9f716a8ec62fce00d28f5) + +commit 86769f05ccc54bfec403bb9ea9a3a951bbcea301 +Author: Sage Weil +Date: Thu Jun 13 22:08:36 2013 -0700 + + ceph_test_rados: add --pool arg + + Signed-off-by: Sage Weil + (cherry picked from commit bcfbd0a3ffae6947464d930f636c8b35d1331e9d) + +commit b70a9abc5e3ae01204256f414bd7e69d083ed7c6 +Author: Sage Weil +Date: Fri Jul 26 14:07:02 2013 -0700 + + upstart: stop ceph-create-keys when the monitor stops + + This avoids lingering ceph-create-keys tasks. + + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit a90a2b42db8de134b8ea5d81cab7825fb9ec50b4) + +commit 5af48dc7c7e3a0d7f7bc22af58831d58d165e657 +Author: Samuel Just +Date: Fri Jul 26 13:42:27 2013 -0700 + + FileStore: fix fd leak in _check_global_replay_guard + + Bug introduced in f3f92fe21061e21c8b259df5ef283a61782a44db. + + Fixes: #5766 + Backport: cuttlefish + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit c562b72e703f671127d0ea2173f6a6907c825cd1) + +commit 17aa2d6d16c77028bae1d2a77903cdfd81efa096 +Author: Sage Weil +Date: Thu Jul 25 11:10:53 2013 -0700 + + mon/Paxos: share uncommitted value when leader is/was behind + + If the leader has and older lc than we do, and we are sharing states to + bring them up to date, we still want to also share our uncommitted value. + This particular case was broken by b26b7f6e, which was only contemplating + the case where the leader was ahead of us or at the same point as us, but + not the case where the leader was behind. Note that the call to + share_state() a few lines up will bring them fully up to date, so + after they receive and store_state() for this message they will be at the + same lc as we are. + + Fixes: #5750 + Backport: cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 05b6c7e8645081f405c616735238ae89602d3cc6) + +commit 09a664e25391dbad9a479bae33904d28231f429d +Merge: 8f010af b0535fc +Author: Sage Weil +Date: Thu Jul 25 15:21:31 2013 -0700 + + Merge remote-tracking branch 'gh/cuttlefish-next' into cuttlefish + +commit b0535fcf854c5042d6b5ff481aabca08026d8f7f +Author: Samuel Just +Date: Tue Jul 23 18:04:40 2013 -0700 + + HashIndex: reset attr upon split or merge completion + + A replay of an in progress merge or split might make + our counts unreliable. + + Fixes: #5723 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 0dc3efdd885377a07987d868af5bb7a38245c90b) + +commit 8f73302b4e637ca8b85d68ea7503279faecb57d8 +Author: Samuel Just +Date: Tue Jul 23 17:34:25 2013 -0700 + + test/filestore/store_test: add test for 5723 + + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 37a4c4af54879512429bb114285bcb4c7c3488d5) + + Conflicts: + src/os/LFNIndex.cc + src/test/filestore/store_test.cc + +commit 6a7b9e5f0c1d2344209c69ab9992f94221a16468 +Author: Samuel Just +Date: Tue Jul 23 13:51:26 2013 -0700 + + FileStore::_collection_rename: fix global replay guard + + If the replay is being replayed, we might have already + performed the rename, skip it. Also, we must set the + collection replay guard only after we have done the + rename. + + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 870c474c5348831fcb13797d164f49682918fb30) + +commit 7d98651775265896c22bacfc4afcfccbb0128470 +Author: Samuel Just +Date: Mon Jul 22 13:46:10 2013 -0700 + + PGLog::rewind_divergent_log: unindex only works from tail, index() instead + + Fixes: #5714 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 6957dbc75cc2577652b542aa3eae69f03060cb63) + + The original patch covered the same code in PGLog.cc. + + Conflicts: + + src/osd/PGLog.cc + src/osd/PG.cc + +commit 611a06ae6c9cba468db206dfc82ec883c7a394af +Author: Sage Weil +Date: Thu Jul 18 09:55:43 2013 -0700 + + msg/Pipe: do not hold pipe_lock for verify_authorizer() + + We shouldn't hold the pipe_lock while doing the ms_verify_authorizer + upcalls. + + Fix by unlocking a bit earlier, and verifying our state is still correct + in the failure path. + + This regression was introduced by ecab4bb9513385bd765cca23e4e2fadb7ac4bac2. + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit 723d691f7a1f53888618dfc311868d1988f61f56) + + Conflicts: + + src/msg/Pipe.cc + +commit 45bda482fa8a23f4b80d115e29d6f04cb5e226d6 +Author: Sage Weil +Date: Tue Jul 16 14:17:05 2013 -0700 + + msg/Pipe: a bit of additional debug output + + Signed-off-by: Sage Weil + (cherry picked from commit 16568d9e1fb8ac0c06ebaa1e1dc1d6a432a5e4d4) + +commit 806eab59ad1a32aedb662c51de3b4a1d61fcbb62 +Author: Sage Weil +Date: Tue Jul 16 13:13:46 2013 -0700 + + msg/Pipe: hold pipe_lock during important parts of accept() + + Previously we did not bother with locking for accept() because we were + not visible to any other threads. However, we need to close accepting + Pipes from mark_down_all(), which means we need to handle interference. + + Fix up the locking so that we hold pipe_lock when looking at Pipe state + and verify that we are still in the ACCEPTING state any time we retake + the lock. + + Signed-off-by: Sage Weil + (cherry picked from commit ecab4bb9513385bd765cca23e4e2fadb7ac4bac2) + +commit ce6a0b74459996f91a0511a4a7147179bcd47876 +Author: Greg Farnum +Date: Wed Jul 17 15:23:12 2013 -0700 + + msgr: fix a typo/goto-cross from dd4addef2d + + We didn't build or review carefully enough! + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 1a84411209b13084b3edb87897d5d678937e3299) + +commit 1ed51ad535612d5c444a3cc35a331f5e6a68ce30 +Author: Sage Weil +Date: Mon Jul 15 17:16:23 2013 -0700 + + msgr: close accepting_pipes from mark_down_all() + + We need to catch these pipes too, particularly when doing a rebind(), + to avoid them leaking through. + + Signed-off-by: Sage Weil + (cherry picked from commit 687fe888b32ac9d41595348dfc82111c8dbf2fcb) + +commit 2f696f17a413015a3038d5aa76d18fe94f503f03 +Author: Sage Weil +Date: Mon Jul 15 17:14:25 2013 -0700 + + msgr: maintain list of accepting pipes + + New pipes exist in a sort of limbo before we know who the peer is and + add them to rank_pipe. Keep a list of them in accepting_pipes for that + period. + + Signed-off-by: Sage Weil + (cherry picked from commit dd4addef2d5b457cc9a58782fe42af6b13c68b81) + +commit 540a6f49d402c1990f0e0fe9f8897dd664e79501 +Author: Sage Weil +Date: Tue Jul 16 16:25:28 2013 -0700 + + msgr: adjust nonce on rebind() + + We can have a situation where: + + - we have a pipe to a peer + - pipe goes to standby (on peer) + - we rebind to a new port + - .... + - we rebind again to the same old port + - we connect to peer + + and get reattached to the ancient pipe from two instances back. Avoid that + by picking a new nonce each time we rebind. + + Add 1,000,000 each time so that the port is still legible in the printed + output. + + Signed-off-by: Sage Weil + (cherry picked from commit 994e2bf224ab7b7d5b832485ee14de05354d2ddf) + + Conflicts: + + src/msg/Accepter.cc + +commit f938a5bf604885ffba65a9b86e19258ca254e58c +Author: Sage Weil +Date: Mon Jul 15 17:10:23 2013 -0700 + + msgr: mark_down_all() after, not before, rebind + + If we are shutting down all old connections and binding to new ports, + we want to avoid a sequence like: + + - close all prevoius connections + - new connection comes in on old port + - rebind to new ports + -> connection from old port leaks through + + As a first step, close all connections after we shut down the old + accepter and before we start the new one. + + Signed-off-by: Sage Weil + (cherry picked from commit 07a0860a1899c7353bb506e33de72fdd22b857dd) + + Conflicts: + + src/msg/SimpleMessenger.cc + +commit 07b9ebf4212d53606ce332ff927a2ff68ed26978 +Author: Sage Weil +Date: Tue Jul 16 13:01:18 2013 -0700 + + msg/Pipe: unlock msgr->lock earlier in accept() + + Small cleanup. Nothing needs msgr->lock for the previously larger + window. + + Signed-off-by: Sage Weil + (cherry picked from commit ad548e72fd94b4a16717abd3b3f1d1be4a3476cf) + +commit ae85a0a101d624363fe761c06ecd52d3d38ba4a2 +Author: Sage Weil +Date: Tue Jul 16 10:09:02 2013 -0700 + + msg/Pipe: avoid creating empty out_q entry + + We need to maintain the invariant that all sub queues in out_q are never + empty. Fix discard_requeued_up_to() to avoid creating an entry unless we + know it is already present. + + This bug leads to an incorrect reconnect attempt when + + - we accept a pipe (lossless peer) + - they send some stuff, maybe + - fault + - we initiate reconnect, even tho we have nothing queued + + In particular, we shouldn't reconnect because we aren't checking for + resets, and the fact that our out_seq is 0 while the peer's might be + something else entirely will trigger asserts later. + + This fixes at least one source of #5626, and possibly #5517. + + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit 9f1c27261811733f40acf759a72958c3689c8516) + +commit 21e27262edc6f5f090ea8915517ee867e30b9066 +Author: Sage Weil +Date: Mon Jul 15 14:47:05 2013 -0700 + + msg/Pipe: assert lock is held in various helpers + + These all require that we hold pipe_lock. + + Signed-off-by: Sage Weil + (cherry picked from commit 579d858aabbe5df88543d096ef4dbddcfc023cca) + +commit 25f4786ac41869b3f135bd072000634765bb8919 +Author: Sage Weil +Date: Sun Jul 14 08:55:52 2013 -0700 + + msg/Pipe: be a bit more explicit about encoding outgoing messages + + Signed-off-by: Sage Weil + (cherry picked from commit 4282971d47b90484e681ff1a71ae29569dbd1d32) + +commit 48105a32605aa59b6970eb89fce4ecc4201e8d04 +Author: Sage Weil +Date: Fri Jul 12 16:21:24 2013 -0700 + + msg/Pipe: fix RECONNECT_SEQ behavior + + Calling handle_ack() here has no effect because we have already + spliced sent messages back into our out queue. Instead, pull them out + of there and discard. Add a few assertions along the way. + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit 495ee108dbb39d63e44cd3d4938a6ec7d11b12e3) + +commit 1eab069017ce6b71e4bc2bb9679dbe31b50ae938 +Author: Sage Weil +Date: Mon Jun 17 13:32:38 2013 -0700 + + msgr: reaper: make sure pipe has been cleared (under pipe_lock) + + All paths to pipe shutdown should have cleared the con->pipe reference + already. Assert as much. + + Also, do it under pipe_lock! + + Signed-off-by: Sage Weil + (cherry picked from commit 9586305a2317c7d6bbf31c9cf5b67dc93ccab50d) + +commit db06a5092bc45d0479fe492a5d592713a7c53494 +Author: Sage Weil +Date: Mon Jun 17 14:14:02 2013 -0700 + + msg/Pipe: goto fail_unlocked on early failures in accept() + + Instead of duplicating an incomplete cleanup sequence (that does not + clear_pipe()), goto fail_unlocked and do the cleanup in a generic way. + s/rc/r/ while we are here. + + Signed-off-by: Sage Weil + (cherry picked from commit ec612a5bda119cea52bbac9b2a49ecf1e83b08e5) + +commit 8612e50fd70bfceebd6c291e6cab10d9dfd39e8c +Author: Sage Weil +Date: Mon Jun 17 13:32:07 2013 -0700 + + msgr: clear con->pipe inside pipe_lock on mark_down + + We need to do this under protection of the pipe_lock. + + Signed-off-by: Sage Weil + (cherry picked from commit afafb87e8402242d3897069f4b94ba46ffe0c413) + +commit 8aafe131acadc22cb069f3d98bba6922ab09c749 +Author: Sage Weil +Date: Mon Jun 17 12:47:11 2013 -0700 + + msgr: clear_pipe inside pipe_lock on mark_down_all + + Observed a segfault in rebind -> mark_down_all -> clear_pipe -> put that + may have been due to a racing thread clearing the connection_state pointer. + Do the clear_pipe() call under the protection of pipe_lock, as we do in + all other contexts. + + Signed-off-by: Sage Weil + (cherry picked from commit 5fc1dabfb3b2cbffdee3214d24d7769d6e440e45) + + Conflicts: + + src/msg/SimpleMessenger.cc + +commit 2f7979d1262e9d4899be76963a1620db46b334e8 +Author: Samuel Just +Date: Thu Jul 18 19:26:02 2013 -0700 + + ReplicatedPG: track temp collection contents, clear during on_change + + We also assert in on_flushed() that the temp collection is actually + empty. + + Fixes: #5670 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 47516d9c4b7f023f3a16e166749fa7b1c7b3b24c) + + Conflicts: + + src/osd/ReplicatedPG.cc + +commit c7e2945a42541f966017180684dd969389eef3ac +Author: Samuel Just +Date: Thu Jul 18 19:25:14 2013 -0700 + + PG, ReplicatedPG: pass a transaction down to ReplicatedPG::on_change + + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 9f56a7b8bfcb63cb4fbbc0c9b8ff01de9e518c57) + +commit 7ffc65fc4d7d842954cf791c016fd2711f644a9c +Author: Samuel Just +Date: Wed Jul 17 15:04:10 2013 -0700 + + PG: start flush on primary only after we process the master log + + Once we start serving reads, stray objects must have already + been removed. Therefore, we have to flush all operations + up to the transaction writing out the authoritative log. + On replicas, we flush in Stray() if we will not eventually + be activated and in ReplicaActive if we are in the acting + set. This way a replica won't serve a replica read until + the store is consistent. + + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit b41f1ba48563d1d3fd17c2f62d10103b5d63f305) + +commit 850da0890da5df7e670df9268afe420d0c906c38 +Author: Samuel Just +Date: Wed Jul 17 12:51:19 2013 -0700 + + ReplicatedPG: replace clean_up_local with a debug check + + Stray objects should have been cleaned up in the merge_log + transactions. Only on the primary have those operations + necessarily been flushed at activate(). + + Fixes: 5084 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 278c7b59228f614addf830cb0afff4988c9bc8cb) + +commit 95b1b5da439f1b7e2fb1886aaeec2d61532183f0 +Author: Samuel Just +Date: Thu Jul 18 10:12:17 2013 -0700 + + FileStore: add global replay guard for split, collection_rename + + In the event of a split or collection rename, we need to ensure that + we don't replay any operations on objects within those collections + prior to that point. Thus, we mark a global replay guard on the + collection after doing a syncfs and make sure to check that in + _check_replay_guard() for all object operations. + + Fixes: #5154 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit f3f92fe21061e21c8b259df5ef283a61782a44db) + + Conflicts: + + src/os/FileStore.cc + +commit d92a43d8ff0123b234e47a94c2ce73fcaae7f625 +Author: Samuel Just +Date: Mon Jul 15 13:44:20 2013 -0700 + + OSD: add config option for peering_wq batch size + + Large peering_wq batch sizes may excessively delay + peering messages resulting in unreasonably long + peering. This may speed up peering. + + Backport: cuttlefish + Related: #5084 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 39e5a2a406b77fa82e9a78c267b679d49927e3c3) diff --git a/doc/changelog/v0.61.9.txt b/doc/changelog/v0.61.9.txt new file mode 100644 index 00000000..fe2a7e73 --- /dev/null +++ b/doc/changelog/v0.61.9.txt @@ -0,0 +1,571 @@ +commit 7440dcd135750839fa0f00263f80722ff6f51e90 +Author: Gary Lowell +Date: Wed Oct 16 18:57:51 2013 +0000 + + v0.61.9 + +commit fcf5f117a9111c2d88b8fa5d00c975a8e377df7e +Author: Yehuda Sadeh +Date: Tue Oct 15 10:20:48 2013 -0700 + + rgw: fix authenticated users acl group check + + Fixes: #6553 + Backport: bobtail, cuttlefish, dumpling + Authenticated users group acl bit was not working correctly. Check to + test whether user is anonymous was wrong. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit bebbd6cb7b71697b34b8f27652cabdc40c97a33b) + +commit 991ed515480114c476cd3c4d761f256d1708fb39 +Author: Yehuda Sadeh +Date: Tue Oct 15 10:55:07 2013 -0700 + + rgw: change default log level + + Fixes: #6554 + Backport: cuttlefish, dumpling + Default log level was just too high, bring it down a bit. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + (cherry picked from commit 8d7dbf85472cfca9268d81ecf057ea078cf345b3) + +commit ebb9b0cb7e4ab60fdbbc410ecfb35e51cf11434d +Author: Sage Weil +Date: Sat Jul 6 09:21:47 2013 -0700 + + mds: do not allow GLAZYIO in mix->sync state + + GLAZYIO is not allowed in SYNC, so we cannot allow it in the preceding + gather state. + + I verified the other GLAZYIO rules look ok. We should make a validater + to confirm that no gather state includes caps that its target state + does not... or at least assert as much in eval_gather(). + + Backport: cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit b88938e5a646fbf175a7135e872bcb2d1afafbb8) + +commit 33da08f683d40f33061cefa0cf145f3ff21ea089 +Author: Yan, Zheng +Date: Thu Sep 12 10:36:39 2013 +0800 + + osdc/ObjectCacher: finish contexts after dropping object reference + + The context to finish can be class C_Client_PutInode, which may drop + inode's last reference. So we should first drop object's reference, + then finish contexts. + + Signed-off-by: Yan, Zheng + (cherry picked from commit b66ac77fa7aa3ff37804918c4308a348f239af09) + +commit 346b43d80f728e6b389208ccd8054d96b76b093c +Author: Sage Weil +Date: Fri Jun 7 22:04:09 2013 -0700 + + mds: fix filelock eval_gather + + Broken by a08d62045657713bf0a5372bf14136082ec3b17e + + Reported-by: Yan, Zheng + Signed-off-by: Sage Weil + (cherry picked from commit e8300d0afb5154d4d13536abdcf47bd5cc8ce810) + Reviewed-by: Greg Farnum + +commit ffdc7fce132b3b98463b4222d2c51ccef6b94d82 +Author: Sage Weil +Date: Thu Jun 6 21:38:56 2013 -0700 + + mds: do not double-queue file recovery in eval_gather + + This fixes a specific case of double-queuing seen in #4832: + + - client goes stale, inode marked NEEDSRECOVER + - eval does sync, queued, -> RECOVERING + - client resumes + - client goes stale (again), inode marked NEEDSRECOVER + - eval_gather queues *again* + + Note that a cursory look at the recovery code makes me think this needs + a much more serious overhaul. In particular, I don't think we should + be triggering recovery when transitioning *from* a stable state, but + explicitly when we are flagged, or when gathering. We should probably + also hold a wrlock over the recovery period and remove the force_wrlock + kludge from the final size check. Opened ticket #5268. + + Signed-off-by: Sage Weil + (cherry picked from commit a08d62045657713bf0a5372bf14136082ec3b17e) + Reviewed-by: Greg Farnum + +commit 60033c31381d36cbbc6c873d7055cbe735f5deb2 +Author: Sandon Van Ness +Date: Tue Oct 8 11:58:57 2013 -0700 + + Go back to $PWD in fsstress.sh if compiling from source. + + Although fsstress was being called with a static path the directory + it was writing to was in the current directory so doing a cd to the + source directory that is made in /tmp and then removing it later + caused it to be unable to write the files in a non-existent dir. + + This change gets the current path first and cd's back into it after + it is done compiling fsstress. + + Issue #6479. + + Signed-off-by: Sandon Van Ness + Reviewed-by: Alfredo Deza + +commit eb06f3738851d27914704821897ed80104c4c29c +Author: Gary Lowell +Date: Tue Aug 27 09:53:12 2013 -0700 + + ceph.spec.in: radosgw package doesn't require mod_fcgi + + Fixes #5702 + + Signed-off-by: Gary Lowell + +commit 5a426a1f1f34d3f5a510009cc3f3b219d3cbc74b +Author: Sage Weil +Date: Tue Oct 1 15:53:42 2013 -0700 + + crush: invalidate rmap on create (and thus decode) + + If we have an existing CrushWrapper object and decode from a bufferlist, + reset build_rmaps so that they get rebuilt. + + Remove the build_rmaps() all in decode that was useless on a redecode + (because have_rmaps == true in that case and it did nothing). + + Fixes: #6442 + Backport: dumpling, maybe cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 9b7a2ae329b6a511064dd3d6e549ba61f52cfd21) + +commit 6f342872cdd211e24deb19f5e00380494514c437 +Author: Loic Dachary +Date: Tue Sep 24 19:04:23 2013 +0200 + + osd: change warn_interval_multiplier to uint32_t + + to prevent overflow in OpTracker::check_ops_in_flight when + multiplying warn_interval_multiplier *= 2 + + Backport: cuttlefish, dumpling + + http://tracker.ceph.com/issues/6370 fixes #6370 + + Signed-off-by: Loic Dachary + (cherry picked from commit 1bce1f009bffd3e28025a08775fec189907a81db) + +commit be2907ef85a31c2be8be7446fe71f5d2e1410ec0 +Author: Yehuda Sadeh +Date: Wed Sep 11 22:30:12 2013 -0700 + + rgw: don't call list::size() in ObjectCache + + Fixes: #6286 + Use an external counter instead of calling list::size() + + Reviewed-by: Sage Weil + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 31e3a51e933429d286104fe077e98ea883437ad6) + +commit bbfbb097e2f9efbf4f7ec997c70befa20c79d27c +Author: Yehuda Sadeh +Date: Tue Sep 10 12:18:55 2013 -0700 + + rgw: drain pending requests before completing write + + Fixes: #6268 + When doing aio write of objects (either regular or multipart parts) we + need to drain pending aio requests. Otherwise if gateway goes down then + object might end up corrupted. + + Reviewed-by: Josh Durgin + Signed-off-by: Yehuda Sadeh + +commit b16f812362ccb1d9bdd4900d155e248d695ef0d7 +Merge: 97a97c3 5f16ea6 +Author: Sage Weil +Date: Sat Sep 7 13:32:40 2013 -0700 + + Merge pull request #573 from dalgaaf/fix/da-cuttlefish-fixes-and-cherry-picks + + Cherry-pick some smaller changes from master to cuttlefish + + Reviewed-by: Sage Weil + +commit 5f16ea62cee4fad9be6e44f3562da31908303ae5 +Author: Danny Al-Gaaf +Date: Sat Sep 7 20:32:40 2013 +0200 + + tools/ceph.cc: add missig 'ceph osd lspools' command to help + + Signed-off-by: Danny Al-Gaaf + +commit 59f02ecf0b91a2248d8b7b75dc27b517f04ac292 +Author: Danny Al-Gaaf +Date: Sat Sep 7 11:30:15 2013 +0200 + + init-radosgw*: fix status return value if radosgw isn't running + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit b5137baf651eaaa9f67e3864509e437f9d5c3d5a) + +commit c25770c39ae006ab4ad14a5d75bf7a2dffe0279e +Author: Danny Al-Gaaf +Date: Thu Jun 6 15:34:54 2013 +0200 + + init-radosgw*: add all sections to usage output + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit a0c5095be3640e98d5541920c19387bf3764a350) + +commit 1a8347e0d1cafc38259adc1f1a6154fa0d48f1d2 +Author: Danny Al-Gaaf +Date: Thu Jun 6 15:33:23 2013 +0200 + + init-radosgw*: add status + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 385457f8d871238a896229d0c2cbb25646969f6a) + +commit b1c2aa2c4a8c0266a01903eab5539e7929ea0431 +Author: Danny Al-Gaaf +Date: Thu Jun 6 15:21:30 2013 +0200 + + fix init-radosgw* to use the same indentation + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit b4d4e92ed2deae435a24b36d086c1a73e5997855) + +commit 794ed1faec7ced23b5b46d114f5320d718c9e9fb +Author: Danny Al-Gaaf +Date: Sun Jul 28 23:25:58 2013 +0200 + + ceph_authtool.cc: update help/usage text + + Added implemented but not listed commands to the help/usage text: + * -g shortcut for --gen-key + * -a shortcut for --add-key + * -u/--set-uid to set auid + * --gen-print-key + * --import-keyring + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 9a9a0ef3f9f39909eaeb95eb99db4711a2425af5) + +commit 97a97c3c554f689dd3f987e63eaa2b9c5ec1dd0a +Author: Yehuda Sadeh +Date: Mon Aug 26 19:46:43 2013 -0700 + + rgw: check object name after rebuilding it in S3 POST + + Fixes: #6088 + Backport: bobtail, cuttlefish, dumpling + + When posting an object it is possible to provide a key + name that refers to the original filename, however we + need to verify that in the end we don't end up with an + empty object name. + + Reviewed-by: Josh Durgin + Signed-off-by: Yehuda Sadeh + (cherry picked from commit c8ec532fadc0df36e4b265fe20a2ff3e35319744) + +commit 7a0bd5bc2c6e5464f70b19154834448ac1e4c369 +Author: Gary Lowell +Date: Thu Aug 22 13:29:32 2013 -0700 + + ceph.spec.in: remove trailing paren in previous commit + + Signed-off-by: Gary Lowell + +commit f1507d23707e7929f7a55fe2ea9418dcc715d8b2 +Author: Gary Lowell +Date: Thu Aug 22 11:07:16 2013 -0700 + + ceph.spec.in: Don't invoke debug_package macro on centos. + + If the redhat-rpm-config package is installed, the debuginfo rpms will + be built by default. The build will fail when the package installed + and the specfile also invokes the macro. + + Signed-off-by: Gary Lowell + +commit 65a10862feec199d14f17627d0c42fa7c85766fa +Author: Sage Weil +Date: Sun Jul 28 08:59:21 2013 -0700 + + osd: get initial full map after a map gap + + If there is a gap in our map history, get the full range of maps that + the mon has. Make sure the first one is a full map. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit a6cd9fea50a4bd7048a222617a2bfe0680f7a969) + +commit aceef04f7fd56935e691c7deb05f25ace653bb76 +Author: Sage Weil +Date: Sun Jul 28 08:55:38 2013 -0700 + + osd: fix off-by-one in map gap logic + + If we have map 250, and monitor's first is 251, but sends 260, we can + request the intervening range. + + Fixes: #5784 + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit e24b50225c841a650d9303041bbe811e04bdd668) + +commit cdbfd66249cdf91c02a88af5df5a6517688a78df +Author: Samuel Just +Date: Mon Jul 22 16:00:07 2013 -0700 + + OSD: tolerate holes in stored maps + + We may have holes in stored maps during init_splits_between + and advance_pg. In either case, we should simply skip the + missing maps. + + Fixes: #5677 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 6951d2345a5d837c3b14103bd4d8f5ee4407c937) + + Conflicts: + + src/osd/OSD.cc + +commit 234d68c68028fcf9c2665cb9f45b9b76556241ba +Author: Sage Weil +Date: Tue Aug 20 22:39:09 2013 -0700 + + ceph-disk: partprobe after creating journal partition + + At least one user reports that a partprobe is needed after creating the + journal partition. It is not clear why sgdisk is not doing it, but this + fixes ceph-disk for them, and should be harmless for other users. + + Fixes: #5599 + Tested-by: lurbs in #ceph + Signed-off-by: Sage Weil + (cherry picked from commit 2af59d5e81c5e3e3d7cfc50d9330d7364659c5eb) + +commit cf2f31ac23b6eb43a81a1c8157907b9cae4d58a7 +Author: Sage Weil +Date: Thu Aug 15 21:48:06 2013 -0700 + + osdc/ObjectCacher: do not merge rx buffers + + We do not try to merge rx buffers currently. Make that explicit and + documented in the code that it is not supported. (Otherwise the + last_read_tid values will get lost and read results won't get applied + to the cache properly.) + + Signed-off-by: Sage Weil + (cherry picked from commit 1c50c446152ab0e571ae5508edb4ad7c7614c310) + +commit 02da55757a9fb53df4746db5dd14724e77da95b6 +Author: Sage Weil +Date: Thu Aug 15 21:47:18 2013 -0700 + + osdc/ObjectCacher: match reads with their original rx buffers + + Consider a sequence like: + + 1- start read on 100~200 + 100~200 state rx + 2- truncate to 200 + 100~100 state rx + 3- start read on 200~200 + 100~100 state rx + 200~200 state rx + 4- get 100~200 read result + + Currently this makes us crash on + + osdc/ObjectCacher.cc: 738: FAILED assert(bh->length() <= start+(loff_t)length-opos) + + when processing the second 200~200 bufferhead (it is too big). The + larger issue, though, is that we should not be looking at this data at + all; it has been truncated away. + + Fix this by marking each rx buffer with the read request that is sent to + fill it, and only fill it from that read request. Then the first reply + will fill the first 100~100 extend but not touch the other extent; the + second read will do that. + + Signed-off-by: Sage Weil + (cherry picked from commit b59f930ae147767eb4c9ff18c3821f6936a83227) + +commit 43e7ad989dcb4deb18b32ec31f76c8755354d2a6 +Author: Sage Weil +Date: Thu Aug 22 15:54:48 2013 -0700 + + mon/Paxos: fix another uncommitted value corner case + + It is possible that we begin the paxos recovery with an uncommitted + value for, say, commit 100. During last/collect we discover 100 has been + committed already. But also, another node provides an uncommitted value + for 101 with the same pn. Currently, we refuse to learn it, because the + pn is not strictly > than our current uncommitted pn... even though it is + the next last_committed+1 value that we need. + + There are two possible fixes here: + + - make this a >= as we can accept newer values from the same pn. + - discard our uncommitted value metadata when we commit the value. + + Let's do both! + + Fixes: #6090 + Signed-off-by: Sage Weil + (cherry picked from commit fe5010380a3a18ca85f39403e8032de1dddbe905) + +commit 2de1515289f49f2e388448506f4788db56d0e25a +Author: Sage Weil +Date: Fri Aug 23 11:45:35 2013 -0700 + + os: make readdir_r buffers larger + + PATH_MAX isn't quite big enough. + + Backport: dumpling, cuttlefish, bobtail + Signed-off-by: Sage Weil + (cherry picked from commit 99a2ff7da99f8cf70976f05d4fe7aa28dd7afae5) + +commit af9818c486484c7617c07f26beaded8a3bc88043 +Author: Sage Weil +Date: Fri Aug 23 11:45:08 2013 -0700 + + os: fix readdir_r buffer size + + The buffer needs to be big or else we're walk all over the stack. + + Backport: dumpling, cuttlefish, bobtail + Signed-off-by: Sage Weil + (cherry picked from commit 2df66d9fa214e90eb5141df4d5755b57e8ba9413) + + Conflicts: + + src/os/BtrfsFileStoreBackend.cc + +commit cce1d1f9cd8b034deee29d8566780763beb0155f +Author: Alfredo Deza +Date: Fri Aug 23 08:56:07 2013 -0400 + + ceph-disk: specify the filetype when mounting + + Signed-off-by: Alfredo Deza + Reviewed-by: Sage Weil + (cherry picked from commit f040020fb2a7801ebbed23439159755ff8a3edbd) + +commit c25e7da57d704d4a8db59a2e97fb687968520c69 +Author: Sandon Van Ness +Date: Thu Aug 22 19:44:40 2013 -0700 + + QA: Compile fsstress if missing on machine. + + Some distro's have a lack of ltp-kernel packages and all we need is + fstress. This just modified the shell script to download/compile + fstress from source and copy it to the right location if it doesn't + currently exist where it is expected. It is a very small/quick + compile and currently only SLES and debian do not have it already. + + Reviewed-by: Sage Weil + Signed-off-by: Sandon Van Ness + +commit c807f27c391d336a7223fcfdd3daad9bb374a3dc +Author: Sage Weil +Date: Mon Aug 5 12:52:44 2013 -0700 + + mds: fix locking, use-after-free/race in handle_accept + + We need to hold mds_lock here. + + Normally the con also holds a reference, but an ill-timed connection reset + could drop it. + + Fixes: #5883 + Backport: dumpling, cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit a0929955cb84fb8cfdeb551d6863e4955b8e2a71) + +commit bd71192eaa6f884e879b1711e5937b1e3609d86d +Author: Sage Weil +Date: Thu Aug 22 10:14:59 2013 -0700 + + .gitignore: ignore test-driver + + Signed-off-by: Sage Weil + (cherry picked from commit edf2c3449ec96d91d3d7ad01c50f7a79b7b2f7cc) + + Conflicts: + + .gitignore + +commit bc997ebea3263c2bc7df83661ae3a966470ba35e +Author: Sage Weil +Date: Fri Aug 9 12:42:49 2013 -0700 + + fuse: fix warning when compiled against old fuse versions + + client/fuse_ll.cc: In function 'void invalidate_cb(void*, vinodeno_t, int64_t, int64_t)': + warning: client/fuse_ll.cc:540: unused variable 'fino' + + Signed-off-by: Sage Weil + (cherry picked from commit 9833e9dabe010e538cb98c51d79b6df58ce28f9e) + +commit 9cb2c2eb3627b52c3413b39b45e7fb7e0e9a074c +Author: Sage Weil +Date: Fri Aug 9 12:40:34 2013 -0700 + + json_spirit: remove unused typedef + + In file included from json_spirit/json_spirit_writer.cpp:7:0: + json_spirit/json_spirit_writer_template.h: In function 'String_type json_spirit::non_printable_to_string(unsigned int)': + json_spirit/json_spirit_writer_template.h:37:50: warning: typedef 'Char_type' locally defined but not used [-Wunused-local-typedefs] + typedef typename String_type::value_type Char_type; + + (Also, ha ha, this file uses \r\n.) + + Signed-off-by: Sage Weil + (cherry picked from commit 6abae35a3952e5b513895267711fea63ff3bad09) + +commit d774559f118d26cd15ecf1a49468ce1a3d260efc +Author: Sage Weil +Date: Fri Aug 9 12:31:41 2013 -0700 + + gtest: add build-aux/test-driver to .gitignore + + Signed-off-by: Sage Weil + (cherry picked from commit c9cdd19d1cd88b84e8a867f5ab85cb51fdc6f8e4) + +commit 1a2d9edde0311b51d3d68b87c20dea3061b2395b +Author: Josh Durgin +Date: Wed Aug 21 14:28:49 2013 -0700 + + objecter: resend unfinished lingers when osdmap is no longer paused + + Plain Ops that haven't finished yet need to be resent if the osdmap + transitions from full or paused to unpaused. If these Ops are + triggered by LingerOps, they will be cancelled instead (since + should_resend = false), but the LingerOps that triggered them will not + be resent. + + Fix this by checking the registered flag for all linger ops, and + resending any of them that aren't paused anymore. + + Fixes: #6070 + Signed-off-by: Josh Durgin + Reviewed-by: Sage Weil + (cherry picked from commit 38a0ca66a79af4b541e6322467ae3a8a4483cc72) diff --git a/doc/changelog/v0.67.1.txt b/doc/changelog/v0.67.1.txt new file mode 100644 index 00000000..9b9405f8 --- /dev/null +++ b/doc/changelog/v0.67.1.txt @@ -0,0 +1,142 @@ +commit e23b817ad0cf1ea19c0a7b7c9999b30bed37d533 +Author: Gary Lowell +Date: Fri Aug 16 19:39:41 2013 -0700 + + v0.67.1 + +commit 1aa01910957e967e87e46b86f1e67844148703e3 +Author: Dan Mick +Date: Thu Aug 15 17:10:56 2013 -0700 + + ceph.in: --admin-daemon was not returning EINVAL on bad command + + Fix by restructuring code to hoist common code and have only one + place where admin_socket is actually called. + + Signed-off-by: Dan Mick + (cherry picked from commit 266460e97ec9ef9711e9eaa4bd954f3188d8da69) + +commit d290a91525c3ebc6941dae2bb55f0bfbf120cb60 +Author: Sage Weil +Date: Thu Aug 15 14:37:07 2013 -0700 + + mon: use str_join instead of std::copy + + The std::copy method leaves a trailing separator. + + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 35565ee64e41d7fddc7849c6006692c78227132c) + +commit b99921746ef2e1e15777c748a15e929c72888db1 +Author: Sage Weil +Date: Thu Aug 15 14:36:57 2013 -0700 + + config: fix stringification of config values + + The std::copy construct leaves a trailing separator character, which breaks + parsing for booleans (among other things) and probably mangles everything + else too. + + Backport: dumpling + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit fc23cfe3fe567b30413d8af0c614a32fec238939) + +commit d212bba6bd0d7d234097122988e4d973064b5645 +Author: Sage Weil +Date: Thu Aug 15 14:36:49 2013 -0700 + + common: add str_join helper + + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit ce3a0944d9b47f7b178fe7775c9d105305b238e0) + +commit a99fef9189086f5dd6ddacaecf967619dc5fe407 +Author: Josh Durgin +Date: Wed Aug 14 15:50:59 2013 -0700 + + rados.py: fix Rados() unicode checking + + Check new parameters and check that rados_id is not None again to + catch the empty string. + + Signed-off-by: Josh Durgin + Reviewed-by: Sage Weil + (cherry picked from commit 4422f21a6586467a63ce6841552d0f60aa849cf1) + +commit dd0df583e2661444287a36acc240a8ac0ec381e8 +Author: Josh Durgin +Date: Wed Aug 14 15:28:19 2013 -0700 + + rados.py: fix Rados() backwards compatibility + + Previously it had no name parameter, so the default will be used by + old clients. However, if an old client set rados_id, a new check that + both rados_id and name are set would result in an error. Fix this by + only applying the default names after the check, and add tests of this + behavior. + + This was introduced in 783b7ec847c7f987ac1814c9c41c91921cac4eba, + so it does not affect cuttlefish. + + Fixes: #5970 + Reported-by: Michael Morgan + Signed-off-by: Josh Durgin + Reviewed-by: Sage Weil + (cherry picked from commit 34da9cbc33205623cf64aee1989f53dfb2c5bddd) + +commit b9d1bf51610159a88ad257f29a81691e6b178e17 +Author: Sage Weil +Date: Tue Aug 13 12:52:41 2013 -0700 + + librados: fix async aio completion wakeup + + For aio flush, we register a wait on the most recent write. The write + completion code, however, was *only* waking the waiter if they were waiting + on that write, without regard to previous writes (completed or not). + For example, we might have 6 and 7 outstanding and wait on 7. If they + finish in order all is well, but if 7 finishes first we do the flush + completion early. Similarly, if we + + - start 6 + - start 7 + - finish 7 + - flush; wait on 7 + - finish 6 + + we can hang forever. + + Fix by doing any completions that are prior to the oldest pending write in + the aio write completion handler. + + Refs: #5919 + + Signed-off-by: Sage Weil + Reviewed-by: Josh Durgin + Tested-by: Oliver Francke + (cherry picked from commit 16ed0b9af8bc08c7dabead1c1a7c1a22b1fb02fb) + +commit 29ae033b435581a64fc92a26106b4ea1c3dfc0b1 +Author: Josh Durgin +Date: Mon Aug 12 19:17:09 2013 -0700 + + librados: fix locking for AioCompletionImpl refcounting + + Add an already-locked helper so that C_Aio{Safe,Complete} can + increment the reference count when their caller holds the + lock. C_AioCompleteAndSafe's caller is not holding the lock, so call + regular get() to ensure no racing updates can occur. + + This eliminates all direct manipulations of AioCompletionImpl->ref, + and makes the necessary locking clear. + + The only place C_AioCompleteAndSafe is used is in handling + aio_flush_async(). This could cause a missing completion. + + Refs: #5919 + Signed-off-by: Josh Durgin + Reviewed-by: Sage Weil + Tested-by: Oliver Francke + (cherry picked from commit 7a52e2ff5025754f3040eff3fc52d4893cafc389) diff --git a/doc/changelog/v0.67.10.txt b/doc/changelog/v0.67.10.txt new file mode 100644 index 00000000..165c8e0b --- /dev/null +++ b/doc/changelog/v0.67.10.txt @@ -0,0 +1,669 @@ +commit 9d446bd416c52cd785ccf048ca67737ceafcdd7f (tag: refs/tags/v0.67.10) +Author: Jenkins +Date: Mon Aug 11 05:30:10 2014 -0700 + + 0.67.10 + +commit a86e497a343b24425a1237e65ec2776398d07a95 +Author: Haomai Wang +Date: Mon Jul 14 14:27:17 2014 +0800 + + Add rbdcache max dirty object option + + Librbd will calculate max dirty object according to rbd_cache_max_size, it + doesn't suitable for every case. If user set image order 24, the calculating + result is too small for reality. It will increase the overhead of trim call + which is called each read/write op. + + Now we make it as option for tunning, by default this value is calculated. + + Signed-off-by: Haomai Wang + (cherry picked from commit 3c7229a2fea98b30627878c86b1410c8eef2b5d7) + +commit d02381316ba96746a00b2b6f8c5c665179fe7a79 +Author: Danny Al-Gaaf +Date: Wed Jun 4 23:22:18 2014 +0200 + + librbd/internal.cc: check earlier for null pointer + + Fix potential null ponter deref, move check for 'order != NULL' + to the beginning of the function to prevent a) deref in ldout() call + and b) to leave function as early as possible if check fails. + + [src/librbd/internal.cc:843] -> [src/librbd/internal.cc:865]: (warning) + Possible null pointer dereference: order - otherwise it is redundant + to check it against null. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 3ee3e66a9520a5fcafa7d8c632586642f7bdbd29) + +commit dda98b9afb5d74c8c5f101b792daca9ca344fe87 +Author: Josh Durgin +Date: Thu Apr 24 14:47:24 2014 -0700 + + librbd: add an interface to invalidate cached data + + This is useful for qemu to guarantee live migration with caching is + safe, by invalidating the cache on the destination before starting it. + + Signed-off-by: Josh Durgin + (cherry picked from commit 5d340d26dd70192eb0e4f3f240e3433fb9a24154) + +commit d93579514db74eed61580a6166c2787304a8a9fb +Author: Josh Durgin +Date: Thu Apr 24 14:43:35 2014 -0700 + + librbd: check return code and error out if invalidate_cache fails + + This will only happen when shrinking or rolling back an image is done + while other I/O is in flight to the same ImageCtx. This is unsafe, so + return an error before performing the resize or rollback. + + Signed-off-by: Josh Durgin + (cherry picked from commit e08b8b66c77be3a3d7f79d91c20b1619571149ee) + +commit 617914209694f67150264358da888c1ca9ff42e1 +Author: Haomai Wang +Date: Wed May 21 18:12:22 2014 +0800 + + Avoid extra check for clean object + + We needn't to check clean object via buffer state, skip the clean object. + + Signed-off-by: Haomai Wang + (cherry picked from commit f51e33bd9c5a8e1cfc7065b30785696dc45918bc) + +commit d474443b12b978dbe267e63cd8e34e8c835e4f6c +Author: Dan Mick +Date: Fri Mar 28 18:10:43 2014 -0700 + + rbd.cc: yes, cover formatted output as well. sigh. + + Fixes: #7577 + Reviewed-by: Josh Durgin + Signed-off-by: Dan Mick + (cherry picked from commit bd6e35c1b171e46cc3e026c59b076b73440a8502) + +commit 051d1b4e56b37b2293b54d8cdb58a974684c8464 +Author: Dan Mick +Date: Tue Mar 25 17:09:48 2014 -0700 + + rbd.cc: tolerate lack of NUL-termination on block_name_prefix + + Fixes: #7577 + Signed-off-by: Dan Mick + Reviewed-by: Sage Weil + (cherry picked from commit fd76fec589be13a4a6362ef388929d3e3d1d21f6) + +commit 61e2219dd07ebb856a61f54e8cd992dc1e16f5d9 +Author: Ilya Dryomov +Date: Wed Jan 29 16:12:01 2014 +0200 + + rbd: don't forget to call close_image() if remove_child() fails + + close_image() among other things unregisters a watcher that's been + registered by open_image(). Even though it'll timeout in 30 or so + seconds, it's not nice now that we check for watchers before starting + the removal process. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit 4ebc32f37a4860bdc676491bf8b042c18fd619cf) + +commit 2c6c23cee7ff2a8f56f3986051d43824b7bd3526 +Author: Sage Weil +Date: Sat Aug 9 13:23:06 2014 -0700 + + os/FileStore: dump open fds before asserting + + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 4e8de1792731cf30f2744ab0659d036adc0565a3) + +commit 3663233a63df3a1fb1584d9800e1c6a8feac2fe0 +Author: Yehuda Sadeh +Date: Tue Feb 18 16:43:48 2014 -0800 + + rgw: return error if accessing object in non-existent bucket + + Fixes: #7064 + Instead of trying to access the object, which is impossible as we don't + even have a proper bucket info. Up until now we ended up creating an + empty pool and eventually returning ENOENT, this fix catches the issue + earlier in the process. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 3ed68eb9fac9b3d0bf9111867d609f9ea08fb202) + +commit 0a1cea58641c4584b85165755145d8d0288f4f22 +Author: Sage Weil +Date: Wed Aug 6 17:04:02 2014 -0700 + + os/FileStore: force any new xattr into omap on E2BIG + + If we have a huge xattr (or many little ones), the _fgetattrs() for the + inline_set will fail with E2BIG. The conditions later where we decide + whether to clean up the old xattr will then also fail. Will *will* put + the xattr in omap, but the non-omap version isn't cleaned up. + + Fix this by setting a flag if we get E2BIG that the inline_set is known + to be incomplete. In that case, take the conservative step of assuming + the xattr might be present and chain_fremovexattr(). Ignore any error + because it might not be there. + + This is clearly harmless in the general case because it won't be there. If + it is, we will hopefully remove enough xattrs that the E2BIG condition + will go away (usually by removing some really big chained xattr). + + See bug #7779. + + This is a backport of 26750fcfe8d766874513e57981565adde2e6d8c7. + + Reviewed-by: Yehuda Sadeh + Reviewed-by: Samuel Just + Signed-off-by: Sage Weil + +commit 64d5c406995bedbb6a4bc9c851f5d25fe94749ee +Author: Yehuda Sadeh +Date: Fri May 23 14:58:54 2014 -0700 + + rgw: calc md5 and compare if user provided appropriate header + + Fixes: #8436 + Backport: firefly + + This was broken in ddc2e1a8e39a5c6b9b224c3eebd1c0e762ca5782. The fix + resurrects and old check that was dropped. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + (cherry picked from commit 9c56c86bdac6bcb8e76c3f04e7d393e4eaadd721) + +commit ebecd80d3a082ac87e7cd6a63cbd00259c5a8baf +Author: Yehuda Sadeh +Date: Mon Apr 21 15:07:12 2014 -0700 + + rgw: calculate user manifest + + Fixes: #8169 + Backport: firefly + We didn't calculate the user manifest's object etag at all. The etag + needs to be the md5 of the contantenation of all the parts' etags. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ddc2e1a8e39a5c6b9b224c3eebd1c0e762ca5782) + + Conflicts: + src/rgw/rgw_op.cc + +commit 1f3f2982224f68109cce8b5564d99977b22c8f60 +Author: Yehuda Sadeh +Date: Tue Jul 29 15:25:47 2014 -0700 + + rgw: fix crash in swift CORS preflight request + + Fixes: #8586 + + This fixes error handling, in accordance with commit 6af5a537 that fixed + the same issue for the S3 case. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 18ea2a869791b4894f93fdafde140285f2e4fb65) + +commit 6e4921500aeb256da0fa20da6ee47fb7d4e171f6 +Author: Yehuda Sadeh +Date: Wed Jul 30 11:53:16 2014 -0700 + + cls_rgw: fix object name of objects removed on object creation + + Fixes: #8972 + Backport: firefly, dumpling + + Reported-by: Patrycja Szabłowska + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 0f8929a68aed9bc3e50cf15765143a9c55826cd2) + +commit 4aa2b87385e94be0147401918c332d526029e481 +Author: Sage Weil +Date: Wed Jul 2 10:38:43 2014 -0700 + + qa/workunits/rest/test.py: make osd create test idempotent + + Avoid possibility that we create multiple OSDs do to retries by passing in + the optional uuid arg. (A stray osd id will make the osd tell tests a + few lines down fail.) + + Fixes: #8728 + Signed-off-by: Sage Weil + (cherry picked from commit bb3e1c92b6682ed39968dc5085b69c117f43cbb0) + +commit 935e75a850b3363536cc09b68f45f2a497da4bb4 +Author: Joao Eduardo Luis +Date: Thu Apr 10 15:14:19 2014 +0100 + + mon: Monitor: suicide on start if mon has been removed from monmap + + If the monitor has been marked as having been part of an existing quorum + and is no longer in the monmap, then it is safe to assume the monitor + was removed from the monmap. In that event, do not allow the monitor + to start, as it will try to find its way into the quorum again (and + someone clearly stated they don't really want them there), unless + 'mon force quorum join' is specified. + + Fixes: 6789 + Backport: dumpling, emperor + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 86b85947a2148c2e73886c1a7edd09093966ada0) + + Conflicts: + src/common/config_opts.h + +commit 4aca6c0d7540c2bf5fb54df2d70c4649a9b94100 +Author: Yehuda Sadeh +Date: Wed Jul 16 16:05:58 2014 -0700 + + utf8: export encode_utf8() and decode_utf8() + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 49fc68cf8c3122c878ea9503c9c74d7046bc9c6f) + +commit ffa1f5200061c48de6315b5e7bd335ab5f718a6f +Author: Yehuda Sadeh +Date: Fri Jul 18 14:52:48 2014 -0700 + + rgw: dump prefix unconditionally + + As part of issue #8858, and to be more in line with S3, dump the Prefix + field when listing bucket even if bucket is empty. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d7209c11251d42227608bc54cc69232ef62ffe80) + + Conflicts: + src/rgw/rgw_rest_s3.cc + +commit 6df17a92283da9933bf5a3fca1278b728c79b8ee +Author: Yehuda Sadeh +Date: Thu Jul 17 15:48:26 2014 -0700 + + rgw: list extra objects to set truncation flag correctly + + Otherwise we end up returning wrong truncated value, and no data on the + next iteration. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit dc417e477d4ad262885c6b5f5987cf06d63b159d) + +commit 77c20879d02c9793241da508b5ad59f8b927e9f7 +Author: Yehuda Sadeh +Date: Thu Jul 17 11:45:44 2014 -0700 + + rgw: account common prefixes for MaxKeys in bucket listing + + To be more in line with the S3 api. Beforehand we didn't account the + common prefixes towards the MaxKeys (a single common prefix counts as a + single key). Also need to adjust the marker now if it is pointing at a + common prefix. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 82d2d612e700f94a0bb2d9fb7555abf327be379b) + +commit 7068d8595ff462323dedd9b56bce28a76405585a +Author: Yehuda Sadeh +Date: Thu Jul 17 11:24:51 2014 -0700 + + rgw: add NextMarker param for bucket listing + + Partially fixes #8858. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 924686f0b6593deffcd1d4e80ab06b1e7af00dcb) + +commit 9604425b86f5839a109faa1f396b0d114e9b9391 +Author: Yehuda Sadeh +Date: Wed Jul 16 15:21:09 2014 -0700 + + rgw: improve delmited listing of bucket + + If found a prefix, calculate a string greater than that so that next + request we can skip to that. This is still not the most efficient way to + do it. It'll be better to push it down to the objclass, but that'll + require a much bigger change. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit e6cf618c257f26f97f60a4c1df1d23a14496cab0) + +commit b287c677ba1a5573e66c8a287f6a1f420c3ba46f +Author: Yehuda Sadeh +Date: Wed Jul 16 12:23:31 2014 -0700 + + rgw: don't try to wait for pending if list is empty + + Fixes: #8846 + Backport: firefly, dumpling + + This was broken at ea68b9372319fd0bab40856db26528d36359102e. We ended + up calling wait_pending_front() when pending list was empty. + This commit also moves the need_to_wait check to a different place, + where we actually throttle (and not just drain completed IOs). + + Reported-by: Sylvain Munaut + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f9f2417d7db01ecf2425039539997901615816a9) + +commit 4b13caf5be33d4644811d387d1350f2f11ac5409 +Author: Warren Usui +Date: Thu Apr 24 12:55:26 2014 -0700 + + Use new git mirror for qemu-iotests + + Fixes: 8191 + Signed-off-by: Warren Usui + (cherry picked from commit ddf37d903f826f3e153d8009c716780453b68b05) + +commit 3f251024bf056f5a8c22f29333b3a81589431424 +Author: Warren Usui +Date: Wed Apr 23 13:20:14 2014 -0700 + + Support latest qemu iotest code + + Modified qemu-iotests workunit script to check for versions + that use the latest qemu (currently only Trusty). Limit the + tests to those that are applicable to rbd. + + Fixes: 7882 + Signed-off-by: Warren Usui + (cherry picked from commit 606e725eb5204e76e602d26ffd113e40af2ee812) + +commit d06137841f9911ce4dc0d9ab9be73a131ede879d +Author: Josh Durgin +Date: Mon Mar 31 14:53:31 2014 -0700 + + librbd: skip zeroes when copying an image + + This is the simple coarse-grained solution, but it works well in + common cases like a small base image resized with a bunch of empty + space at the end. Finer-grained sparseness can be copied by using rbd + {export,import}-diff. + + Fixes: #6257 + Signed-off-by: Josh Durgin + (cherry picked from commit 824da2029613a6f4b380b6b2f16a0bd0903f7e3c) + +commit 8649cbbc96a4de9de169b0203f35e0ac6c36a2ef +Author: Greg Farnum +Date: Tue Jul 1 15:19:21 2014 -0700 + + Revert "qa/workunits/suites/fsx.sh: don't use zero range" + + This reverts commit 583e6e3ef7f28bf34fe038e8a2391f9325a69adf. + + We're using a different fsx source, which doesn't support the + same options as our git-based one does. + + Signed-off-by: Greg Farnum + +commit 583e6e3ef7f28bf34fe038e8a2391f9325a69adf +Author: Sage Weil +Date: Mon Jun 30 07:05:04 2014 -0700 + + qa/workunits/suites/fsx.sh: don't use zero range + + Zero range is not supported by cephfs. + + Fixes: #8542 + Signed-off-by: Sage Weil + (cherry picked from commit 2dec8a810060f65d022c06e82090b4aa5ccec0cb) + +commit 49c0b46153f96a94407ef2487b2bd9525dfaa1e6 +Merge: 3c63601 4ca12b4 +Author: Loic Dachary +Date: Mon Jun 30 19:19:24 2014 +0200 + + Merge pull request #2014 from ceph/wip-scrub-dumpling + + osd: scrub priority updates for dumpling + + Reviewed-by: Loic Dachary + +commit 3c63601888c5c825f33ffc6797474eb8dc6935a4 +Author: Yehuda Sadeh +Date: Mon Jun 16 11:48:24 2014 -0700 + + rgw: allocate enough space for bucket instance id + + Fixes: #8608 + Backport: dumpling, firefly + Bucket instance id is a concatenation of zone name, rados instance id, + and a running counter. We need to allocate enough space to account zone + name length. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d2e86a66ca55685e04ffbfaa58452af59f381277) + +commit 15360a900c8746c28006d6f5c8b093685ddac796 +Author: Sage Weil +Date: Thu May 8 08:52:51 2014 -0700 + + ceph-disk: partprobe before settle when preparing dev + + Two users have reported this fixes a problem with using --dmcrypt. + + Fixes: #6966 + Tested-by: Eric Eastman + Signed-off-by: Sage Weil + (cherry picked from commit 0f196265f049d432e399197a3af3f90d2e916275) + +commit ef736f530405a2c4f9a9a1b4cc98d1160524e1ab +Author: Sage Weil +Date: Tue Jun 17 13:33:14 2014 -0700 + + osd: fix filestore perf stats update + + Update the struct we are about to send, not the (unlocked!) one we will + send the next time around. + + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 4afffb4a10a0bbf7f2018ef3ed6b167c7921e46b) + +commit 4ca12b40206f64d32369a78ce443a0dbf5d2b757 +Author: Sage Weil +Date: Wed Jun 18 11:02:09 2014 -0700 + + common/WorkQueue: allow io priority to be set for wq + + Signed-off-by: Sage Weil + (cherry picked from commit 5e4b3b1f1cb870f39fc7cfb3adeae93e078d9057) + + Conflicts: + src/common/WorkQueue.cc + +commit c9b3067f9b78a65e0b9c2ce2488d8906eb73c869 +Author: Sage Weil +Date: Wed Jun 18 11:01:42 2014 -0700 + + common/Thread: allow io priority to be set for a Thread + + Ideally, set this before starting the thread. If you set it after, we + could potentially race with create() itself. + + Signed-off-by: Sage Weil + (cherry picked from commit 01533183e7455b713640e001962339907fb6f980) + +commit 0796057f1c13c467dd3eadca036e3034da20e500 +Author: Sage Weil +Date: Wed Jun 18 11:01:09 2014 -0700 + + common/io_priority: wrap ioprio_set() and gettid() + + Signed-off-by: Sage Weil + (cherry picked from commit 705713564bebd84ad31cc91698311cf2fbd51a48) + + Conflicts: + src/common/Makefile.am + +commit c46fe8e9ec54d4decd1f70256a8ab05c9b183f8a +Author: Sage Weil +Date: Tue Jun 17 10:47:24 2014 -0700 + + osd: introduce simple sleep during scrub + + This option is similar to osd_snap_trim_sleep: simply inject an optional + sleep in the thread that is doing scrub work. This is a very kludgey and + coarse knob for limiting the impact of scrub on the cluster, but can help + until we have a more robust and elegant solution. + + Only sleep if we are in the NEW_CHUNK state to avoid delaying processing of + an in-progress chunk. In this state nothing is blocked on anything. + Conveniently, chunky_scrub() requeues itself for each new chunk. + + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit c4e8451cc5b4ec5ed07e09c08fb13221e31a7ac6) + +commit 3cf01a0e56c5599731e25898c1d9f2d2b3d6a9ba +Merge: 8fd2fc1 c340085 +Author: Sage Weil +Date: Mon Jun 16 09:27:03 2014 -0700 + + Merge pull request #1963 from dachary/wip-8599-ruleset-dumpling + + mon: pool set crush_ruleset must not use rule_exists (dumpling) + + Reviewed-by: Sage Weil + +commit c34008532362c3afadff6287bc8746c141a221a3 +Author: John Spray +Date: Tue May 20 16:50:18 2014 +0100 + + mon: pool set crush_ruleset must not use rule_exists + + Implement CrushWrapper::ruleset_exists that iterates over the existing + rulesets to find the one matching the ruleset argument. + + ceph osd pool set crush_ruleset must not use + CrushWrapper::rule_exists, which checks for a *rule* existing, whereas + the value being set is a *ruleset*. (cherry picked from commit + fb504baed98d57dca8ec141bcc3fd021f99d82b0) + + A test via ceph osd pool set data crush_ruleset verifies the ruleset + argument is accepted. + + http://tracker.ceph.com/issues/8599 fixes: #8599 + + Backport: firefly, emperor, dumpling + Signed-off-by: John Spray + Signed-off-by: Loic Dachary + (cherry picked from commit d02d46e25080d5f7bb8ddd4874d9019a078b816b) + + Conflicts: + src/mon/OSDMonitor.cc + +commit 8fd2fc1aec4ba08c086a7db2208dbdebfcb4e92e +Author: Sage Weil +Date: Mon Mar 3 07:03:01 2014 -0800 + + osd: 'status' admin socket command + + Basic stuff, like what state is the OSD in, and what osdmap epoch are + we on. + + Signed-off-by: Sage Weil + (cherry picked from commit 09099c9e4c7d2aa31eb8a0b7c18e43272fae7ce2) + +commit 323492451c2d29b90c30a4e133dc8ca9780035a5 +Author: Sage Weil +Date: Sun Jun 8 20:18:49 2014 -0700 + + init-ceph: continue after failure doing osd data mount + + If we are starting many daemons and hit an error, we normally note it and + move on. Do the same when doing the pre-mount step. + + Fixes: #8554 + Signed-off-by: Sage Weil + (cherry picked from commit 6a7e20147cc39ed4689809ca7d674d3d408f2a17) + +commit 558249c519225d5e6d0784da20fe12d8f5d71cd2 +Author: Yehuda Sadeh +Date: Tue May 6 11:06:29 2014 -0700 + + rgw: cut short object read if a chunk returns error + + Fixes: #8289 + Backport: firefly, dumpling + When reading an object, if we hit an error when trying to read one of + the rados objects then we should just stop. Otherwise we're just going + to continue reading the rest of the object, and since it can't be sent + back to the client (as we have a hole in the middle), we end up + accumulating everything in memory. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 03b0d1cfb7bd30a77fedcf75eb06476b21b14e95) + +commit a948ce2f9ccf67d5ccc690b5c326af19b6e6da4d +Merge: 95a464a 7ad2fbf +Author: Sage Weil +Date: Sun Jun 8 21:12:32 2014 -0700 + + Merge pull request #1931 from ceph/wip-7068-dumpling + + Wip 7068 dumpling + + Reviewed-by: Sage Weil + +commit 95a464a443e3a249889151807065736fff44ea3a +Merge: a79a787 94e6c08 +Author: Yehuda Sadeh +Date: Fri Jun 6 08:45:58 2014 -0700 + + Merge remote-tracking branch 'origin/wip-8269-dumpling' into dumpling + + Reviewed-by: Josh Durgin + +commit a79a787b924ef7e04efb7f3c13b9559e06bebfd8 +Author: John Wilkins +Date: Thu Jun 5 11:41:41 2014 -0700 + + doc: Added requiretty comment to preflight checklist. + + Signed-off-by: John Wilkins + +commit 5c5eb21fd1a12666e1ce79718c8166eb7bdd6748 +Author: John Wilkins +Date: Thu Jun 5 11:34:46 2014 -0700 + + doc: Added Disable requiretty to quick start. + + Signed-off-by: John Wilkins + +commit 7ad2fbf3bd3208f47aa2a76d3fd16479e2c845ab +Author: Samuel Just +Date: Wed Oct 2 18:00:04 2013 -0700 + + ReplicatedPG: lock snapdir obc during write + + Otherwise, we won't block properly in prep_push_backfill_object. + + Signed-off-by: Samuel Just + (cherry picked from commit b87bc2311aa4da065477f402a869e2edc1558e2f) + + Conflicts: + src/osd/ReplicatedPG.h + +commit 94e6c0858fb07c0edb8fc4d08e02542d22823ed2 +Author: Yehuda Sadeh +Date: Fri May 2 17:06:05 2014 -0700 + + rgw: don't allow multiple writers to same multiobject part + + Fixes: #8269 + + A client might need to retry a multipart part write. The original thread + might race with the new one, trying to clean up after it, clobbering the + part's data. + The fix is to detect whether an original part already existed, and if so + use a different part name for it. + + Signed-off-by: Yehuda Sadeh diff --git a/doc/changelog/v0.67.11.txt b/doc/changelog/v0.67.11.txt new file mode 100644 index 00000000..6e581ece --- /dev/null +++ b/doc/changelog/v0.67.11.txt @@ -0,0 +1,215 @@ +commit bc8b67bef6309a32361be76cd11fb56b057ea9d2 (tag: refs/tags/v0.67.11, refs/remotes/gh/dumpling) +Author: Jenkins +Date: Wed Sep 24 06:25:55 2014 -0700 + + 0.67.11 + +commit 0e90b04d9452999d7d91305c80585782d492c91b (refs/remotes/gh/dumpling-jni) +Author: Greg Farnum +Date: Wed May 21 21:41:23 2014 -0700 + + cephfs-java: build against older jni headers + + Older versions of the JNI interface expected non-const parameters + to their memory move functions. It's unpleasant, but won't actually + change the memory in question, to do a cast_const in order to satisfy + those older headers. (And even if it *did* modify the memory, that + would be okay given our single user.) + + Signed-off-by: Greg Farnum + (cherry picked from commit 4d4b77e5b6b923507ec4a0ad9d5c7018e4542a3c) + +commit 3f020443c8d92e61d8593049147a79a6696c9c93 +Author: Josh Durgin +Date: Thu Jul 24 15:29:40 2014 -0700 + + librbd: fix crash using clone of flattened image + + The crash occurs due to ImageCtx->parent->parent being uninitialized, + since the inital open_parent() -> open_image(parent) -> + ictx_refresh(parent) occurs before ImageCtx->parent->snap_id is set, + so refresh_parent() is not called to open an ImageCtx for the parent + of the parent. This leaves the ImageCtx->parent->parent NULL, but the + rest of ImageCtx->parent updated to point at the correct parent snapshot. + + Setting the parent->snap_id earlier has some unintended side effects + currently, so for now just call refresh_parent() during + open_parent(). This is the easily backportable version of the + fix. Further patches can clean up this whole initialization process. + + Fixes: #8845 + Backport: firefly, dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit 2545e80d274b23b6715f4d8b1f4c6b96182996fb) + +commit d3e880af5f3ae71d13159514c33c6b41fc648d54 +Author: Sage Weil +Date: Wed Sep 10 08:00:50 2014 -0700 + + test/cli-integration/rbd: fix trailing space + + Newer versions of json.tool remove the trailing ' ' after the comma. Add + it back in with sed so that the .t works on both old and new versions, and + so that we don't have to remove the trailing spaces from all of the test + cases. + + Fixes: #8920 + + Backports commit 605064dc685aa25cc7d58ec18b6449a3ce476d01 + + Signed-off-by: Sage Weil + +commit 5336398618f49d10e497392ab942d43062ed772d +Author: Sage Weil +Date: Sat Aug 16 12:42:33 2014 -0700 + + os/FileStore: fix mount/remount force_sync race + + Consider: + + - mount + - sync_entry is doing some work + - umount + - set force_sync = true + - set done = true + - sync_entry exits (due to done) + - ..but does not set force_sync = false + - mount + - journal replay starts + - sync_entry sees force_sync and does a commit while op_seq == 0 + ...crash... + + Fixes: #9144 + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit dd11042f969b94f7a461d02e1475794031c79f61) + + Conflicts: + src/os/FileStore.cc + +commit f7498c47ed90db71e50a3d4ff9ce13626e863719 +Author: Sage Weil +Date: Mon Sep 8 13:44:57 2014 -0700 + + osdc/Objecter: revoke rx_buffer on op_cancel + + If we cancel a read, revoke the rx buffers to avoid a use-after-free and/or + other undefined badness by using user buffers that may no longer be + present. + + Fixes: #9362 + Backport: firefly, dumpling + Reported-by: Matthias Kiefer + Signed-off-by: Sage Weil + (cherry picked from commit 2305b2897acba38384358c33ca3bbfcae6f1c74e) + + (adjusted for op->con instead of s->con) + +commit 4dbb5010bd73ea8c7f9ed85e90e645ba1e85ea0a +Author: Sage Weil +Date: Mon Sep 8 06:58:45 2014 -0700 + + mon/Paxos: don't spam log with is_readable at dout level 1 + + Backport: firefly, dumpling + Reported-by: Aanchal Agrawal + Signed-off-by: Sage Weil + (cherry picked from commit 62ca27d0b119b597ebad40dde64c4d86599e466d) + +commit 5315cf0a47e0a21e514df0d85be170dbca7ffc92 +Author: Alfredo Deza +Date: Thu Sep 4 13:58:14 2014 -0400 + + doc: add note on soft JS dependency for navigating docs + + Signed-off-by: Alfredo Deza + (cherry picked from commit 657be818375bea2d8b5998ea1e5505eedc2f294d) + +commit 707076e3a9294169c3042afeb11b71b84727094b +Author: Alfredo Deza +Date: Wed Sep 3 21:21:45 2014 -0400 + + doc: fix missing bracket + + Signed-off-by: Alfredo Deza + (cherry picked from commit 69638dfaeb0dcd96dac4b5f5c00ed08042432487) + +commit 2ebdcfd5490462d77e32ffe3ef162f70183d53ab +Author: Alfredo Deza +Date: Wed Sep 3 20:47:54 2014 -0400 + + doc: attempt to get the ayni JS into all head tags + + Signed-off-by: Alfredo Deza + (cherry picked from commit 35663fa55ac1579a3b0c8b67028a3a8dfea87b48) + +commit c7948afa8232117c8a6e13b17774045a5e1bea6d +Author: Sage Weil +Date: Sun Aug 17 20:54:28 2014 -0700 + + qa/workunits/rbd/qemu-iotests: touch common.env + + This seems to be necessary on trusty. + + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 055be68cf8e1b84287ab3631a02e89a9f3ae6cca) + +commit aaeebceb2189336f5f957f2a797d0448c2754b15 +Author: Sage Weil +Date: Wed Aug 13 13:32:29 2014 -0700 + + mon: fix divide by zero when pg_num adjusted and no osds + + Fixes: #9052 + Backport: firefly, dumpling + Signed-off-by: Sage Weil + + Manual backport of 239401db7b51541a57c59a261b89e0f05347c32d + +commit e7c5fb58d85ed0d1be359e616137666c5e207c38 +Author: Sage Weil +Date: Tue Aug 12 07:05:34 2014 -0700 + + common/LogClient: fix sending dup log items + + We need to skip even the most recently sent item in order to get to the + ones we haven't sent yet. + + Fixes: #9080 + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 057c6808be5bc61c3f1ac2b956c1522f18411245) + +commit cbc9218edc122337fd6d9dbbdca18670e20c6169 +Author: Josh Durgin +Date: Mon Aug 11 16:41:26 2014 -0700 + + librbd: fix error path cleanup for opening an image + + If the image doesn't exist and caching is enabled, the ObjectCacher + was not being shutdown, and the ImageCtx was leaked. The IoCtx could + later be closed while the ObjectCacher was still running, resulting in + a segfault. Simply use the usual cleanup path in open_image(), which + works fine here. + + Fixes: #8912 + Backport: dumpling, firefly + Signed-off-by: Josh Durgin + (cherry picked from commit 3dfa72d5b9a1f54934dc8289592556d30430959d) + +commit b5dafe1c0f7ecf7c3a25d0be5dfddcbe3d07e69e +Author: Sage Weil +Date: Wed Jun 18 11:02:58 2014 -0700 + + osd: allow io priority to be set for the disk_tp + + The disk_tp covers scrubbing, pg deletion, and snap trimming + + Signed-off-by: Sage Weil + (cherry picked from commit 84b3003119eeb8acfb3faacf357e6c6a452950e3) + + Conflicts: + src/osd/OSD.cc + + (cherry picked from commit 987ad133415aa988061c95259f9412b05ce8ac7e) diff --git a/doc/changelog/v0.67.2.txt b/doc/changelog/v0.67.2.txt new file mode 100644 index 00000000..e5d0f3d5 --- /dev/null +++ b/doc/changelog/v0.67.2.txt @@ -0,0 +1,207 @@ +commit eb4380dd036a0b644c6283869911d615ed729ac8 +Author: Gary Lowell +Date: Thu Aug 22 19:10:55 2013 -0700 + + v0.67.2 + +commit 242e43dae5b7c935b8f92c09e8dfe4704ba13787 +Author: Sage Weil +Date: Fri Aug 9 12:49:57 2013 -0700 + + .gitignore: ignore test-driver + + Signed-off-by: Sage Weil + (cherry picked from commit edf2c3449ec96d91d3d7ad01c50f7a79b7b2f7cc) + +commit 88aef702fb77c0a176caf37646a11ef480621412 +Author: Sage Weil +Date: Fri Aug 9 12:42:49 2013 -0700 + + fuse: fix warning when compiled against old fuse versions + + client/fuse_ll.cc: In function 'void invalidate_cb(void*, vinodeno_t, int64_t, int64_t)': + warning: client/fuse_ll.cc:540: unused variable 'fino' + + Signed-off-by: Sage Weil + (cherry picked from commit 9833e9dabe010e538cb98c51d79b6df58ce28f9e) + +commit 48e104c9486f7a532455df108dbc225c00796097 +Author: Sage Weil +Date: Fri Aug 9 12:40:34 2013 -0700 + + json_spirit: remove unused typedef + + In file included from json_spirit/json_spirit_writer.cpp:7:0: + json_spirit/json_spirit_writer_template.h: In function 'String_type json_spirit::non_printable_to_string(unsigned int)': + json_spirit/json_spirit_writer_template.h:37:50: warning: typedef 'Char_type' locally defined but not used [-Wunused-local-typedefs] + typedef typename String_type::value_type Char_type; + + (Also, ha ha, this file uses \r\n.) + + Signed-off-by: Sage Weil + (cherry picked from commit 6abae35a3952e5b513895267711fea63ff3bad09) + +commit ae42619ca710d737bf4d8c63f39d1102326c903c +Author: Sage Weil +Date: Fri Aug 9 12:31:41 2013 -0700 + + gtest: add build-aux/test-driver to .gitignore + + Signed-off-by: Sage Weil + (cherry picked from commit c9cdd19d1cd88b84e8a867f5ab85cb51fdc6f8e4) + +commit 2c122be08db2f233d66214eb804734ae45646084 +Author: Josh Durgin +Date: Wed Aug 21 14:28:49 2013 -0700 + + objecter: resend unfinished lingers when osdmap is no longer paused + + Plain Ops that haven't finished yet need to be resent if the osdmap + transitions from full or paused to unpaused. If these Ops are + triggered by LingerOps, they will be cancelled instead (since + should_resend = false), but the LingerOps that triggered them will not + be resent. + + Fix this by checking the registered flag for all linger ops, and + resending any of them that aren't paused anymore. + + Fixes: #6070 + Signed-off-by: Josh Durgin + Reviewed-by: Sage Weil + (cherry picked from commit 38a0ca66a79af4b541e6322467ae3a8a4483cc72) + +commit f6fe74ff51f679e7245b02462822d9ef1e15d28c +Author: Sage Weil +Date: Tue Aug 20 11:23:46 2013 -0700 + + pybind: fix Rados.conf_parse_env test + + This happens after we connect, which means we get ENOSYS always. + Instead, parse_env inside the normal setup method, which had the added + benefit of being able to debug these tests. + + Backport: dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 6ef1970340c57d6e02f947348fb38882b51d131c) + +commit 47c89497b7f69cbf1557cd05b89837c388e2ba2f +Author: Sage Weil +Date: Tue Aug 13 13:14:59 2013 -0700 + + librados: fix MWatchNotify leak + + Do not leak the message if the watcher is not registered. Also, simplify + this block. + + Fixes (part of): #5949 + Backport: dumpling, cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Yehuda Sadeh + (cherry picked from commit 6f5d8036f3e70c5e30edf7e36fb8ff9a56197f60) + +commit b3a9a8c4e5edff5431d8da71033047eced6bf985 +Author: Samuel Just +Date: Mon Aug 19 17:23:44 2013 -0700 + + PG: remove old log when we upgrade log version + + Otherwise the log_oid will be non-empty and the next + boot will cause us to try to upgrade again. + + Fixes: #6057 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 1f851cb2489a95526de932ec6734ebf413e43490) + +commit c6005ccbaa482c62d7a6cbb387bdcf17f0e308d5 +Author: Samuel Just +Date: Mon Aug 19 00:02:24 2013 -0700 + + PGLog: add a config to disable PGLog::check() + + This is a debug check which may be causing excessive + cpu usage. + + Reviewed-by: Sage Weil + Signed-off-by: Samuel Just + (cherry picked from commit 00080d785f6695b800f71317a3048a21064e61cb) + +commit 96d719eeecceaa06078a29c2f868e50e6bc9ab31 +Author: Sage Weil +Date: Mon Aug 19 12:48:50 2013 -0700 + + ceph: parse CEPH_ARGS environment variable + + Fixes: #6052 + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 67a95b9880c9bc6e858150352318d68d64ed74ad) + +commit d348cf5d135d099fe0490c1519196cd83a04831e +Author: Sage Weil +Date: Mon Aug 19 12:48:40 2013 -0700 + + rados pybind: add conf_parse_env() + + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit eef7cacdb19313907a9367187b742db5382ee584) + +commit 290bcd8a718887eb0e28aa2d97bceeee79068ea9 +Author: Yehuda Sadeh +Date: Tue Aug 13 13:16:07 2013 -0700 + + rgw: drain requests before exiting + + Fixes: #5953 + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + (cherry picked from commit 3cbf6a7b031c2ce8072733c5c0b7ceb53fdcb090) + +commit 863df08a43dff99797453040eb1ef6071b0432f9 +Author: Sage Weil +Date: Tue Aug 13 11:16:17 2013 -0700 + + rgw: do not leak handler in get_handler() error path + + If we fail to initialize, delete the handler. + + Fixes (part of): #5949 + Signed-off-by: Sage Weil + Reviewed-by: Yehuda Sadeh + (cherry picked from commit 810c52de36719c3ee6cf2bdf59d5cde8840bbe55) + +commit 9ac003f793b6cc72059110aac44014ddf2372bee +Author: Sage Weil +Date: Fri Jul 26 23:20:54 2013 -0700 + + rgw: fix leak of RGWDataChangesLog::renew_thread + + Signed-off-by: Sage Weil + (cherry picked from commit 25948319c4d256c4aeb0137eb88947e54d14cc79) + +commit 89cd9dc403e97b4bd08920fbb5d6e2b8b9b7dac2 +Author: Sage Weil +Date: Fri Jul 26 23:17:10 2013 -0700 + + rgw: free resolver on shutdown + + Signed-off-by: Sage Weil + (cherry picked from commit a31356338b8ae55df59d829d9080ffad70b97d10) + +commit 5b26ca7fa5beb87cbbe6bbb26d70789ff2aa7661 +Author: Sage Weil +Date: Fri Jul 26 23:22:20 2013 -0700 + + rgw: fix up signal handling + + OMG libfcgi is annoying with shutdown and signals. You need to close + the fd *and* resend a signal to ensure that you kick the accept loop + hard enough to make it shut down. + + Document this, and switch to the async signal handlers. Put them + tightly around the runtime loop as we do with other daemons. + + Signed-off-by: Sage Weil + (cherry picked from commit 59b13cebee600dad2551d2c7dc3482b05eaf8b22) diff --git a/doc/changelog/v0.67.3.txt b/doc/changelog/v0.67.3.txt new file mode 100644 index 00000000..d6b1f2b2 --- /dev/null +++ b/doc/changelog/v0.67.3.txt @@ -0,0 +1,700 @@ +commit 408cd61584c72c0d97b774b3d8f95c6b1b06341a +Author: Gary Lowell +Date: Mon Sep 9 12:50:11 2013 -0700 + + v0.67.3 + +commit 17a7342b3b935c06610c58ab92a9a1d086923d32 +Merge: b4252bf 10433bb +Author: Sage Weil +Date: Sat Sep 7 13:34:45 2013 -0700 + + Merge pull request #574 from dalgaaf/fix/da-dumpling-cherry-picks + + init-radosgw*: fix status return value if radosgw isn't running + + Reviewed-by: Sage Weil + +commit 10433bbe72dbf8eae8fae836e557a043610eb54e +Author: Danny Al-Gaaf +Date: Sat Sep 7 11:30:15 2013 +0200 + + init-radosgw*: fix status return value if radosgw isn't running + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit b5137baf651eaaa9f67e3864509e437f9d5c3d5a) + +commit b4252bff79150a95e9d075dd0b5e146ba9bf2ee5 +Author: Samuel Just +Date: Thu Aug 22 11:19:37 2013 -0700 + + FileStore: add config option to disable the wbthrottle + + Backport: dumpling + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 3528100a53724e7ae20766344e467bf762a34163) + +commit 699324e0910e5e07a1ac68df8cf1108e5671ec15 +Author: Samuel Just +Date: Thu Aug 22 11:19:52 2013 -0700 + + WBThrottle: use fdatasync instead of fsync + + Backport: dumpling + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit d571825080f0bff1ed3666e95e19b78a738ecfe8) + +commit 074717b4b49ae1a55bc867e5c34d43c51edc84a5 +Author: Samuel Just +Date: Thu Aug 29 15:08:58 2013 -0700 + + PGLog: initialize writeout_from in PGLog constructor + + Fixes: 6151 + Backport: dumpling + Signed-off-by: Samuel Just + Introduced: f808c205c503f7d32518c91619f249466f84c4cf + Reviewed-by: Sage Weil + (cherry picked from commit 42d65b0a7057696f4b8094f7c686d467c075a64d) + +commit c22d980cf42e580818dc9f526327518c0ddf8ff5 +Author: Samuel Just +Date: Tue Aug 27 08:49:14 2013 -0700 + + PGLog: maintain writeout_from and trimmed + + This way, we can avoid omap_rmkeyrange in the common append + and trim cases. + + Fixes: #6040 + Backport: Dumpling + Signed-off-by: Samuel Just + (cherry picked from commit f808c205c503f7d32518c91619f249466f84c4cf) + +commit 53c7ab4db00ec7034f5aa555231f9ee167f43201 +Author: Samuel Just +Date: Tue Aug 27 07:27:26 2013 -0700 + + PGLog: don't maintain log_keys_debug if the config is disabled + + Fixes: #6040 + Backport: Dumpling + Signed-off-by: Samuel Just + (cherry picked from commit 1c0d75db1075a58d893d30494a5d7280cb308899) + +commit 40dc489351383c2e35b91c3d4e76b633309716df +Author: Samuel Just +Date: Mon Aug 26 23:19:45 2013 -0700 + + PGLog: move the log size check after the early return + + There really are stl implementations (like the one on my ubuntu 12.04 + machine) which have a list::size() which is linear in the size of the + list. That assert, therefore, is quite expensive! + + Fixes: #6040 + Backport: Dumpling + Signed-off-by: Samuel Just + (cherry picked from commit fe68b15a3d82349f8941f5b9f70fcbb5d4bc7f97) + +commit 4261eb5ec105b9c27605360910602dc367fd79f5 +Author: Sage Weil +Date: Tue Aug 13 17:16:08 2013 -0700 + + rbd.cc: relicense as LGPL2 + + All past authors for rbd.cc have consented to relicensing from GPL to + LGPL2 via email: + + --- + + Date: Sat, 27 Jul 2013 01:59:36 +0200 + From: Sylvain Munaut + Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change + + I hereby consent to the relicensing of any contribution I made to the + aforementioned rbd.cc file from GPL to LGPL2.1. + + (I hope that'll be impressive enough, I did my best :p) + + btw, tnt@246tNt.com and s.munaut@whatever-company.com are both me. + + Cheers, + + Sylvain + + --- + + Date: Fri, 26 Jul 2013 17:00:48 -0700 + From: Yehuda Sadeh + Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change + + I consent. + + --- + + Date: Fri, 26 Jul 2013 17:02:24 -0700 + From: Josh Durgin + Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change + + I consent. + + --- + + Date: Fri, 26 Jul 2013 18:17:46 -0700 + From: Stanislav Sedov + Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change + + I consent. + + Thanks for taking care of it! + + --- + + Date: Fri, 26 Jul 2013 18:24:15 -0700 + From: Colin McCabe + + I consent. + + cheers, + Colin + + --- + + Date: Sat, 27 Jul 2013 07:08:12 +0200 + From: Christian Brunner + Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change + + I consent + + Christian + + --- + + Date: Sat, 27 Jul 2013 12:17:34 +0300 + From: Stratos Psomadakis + Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change + + Hi, + + I consent with the GPL -> LGL2.1 re-licensing. + + Thanks + Stratos + + --- + + Date: Sat, 27 Jul 2013 16:13:13 +0200 + From: Wido den Hollander + Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change + + I consent! + + You have my permission to re-license the code I wrote for rbd.cc to LGPL2.1 + + --- + + Date: Sun, 11 Aug 2013 10:40:32 +0200 + From: Danny Al-Gaaf + Subject: Re: btw + + Hi Sage, + + I agree to switch the license of ceph_argparse.py and rbd.cc from GPL2 + to LGPL2. + + Regards + + Danny Al-Gaaf + + --- + + Date: Tue, 13 Aug 2013 17:15:24 -0700 + From: Dan Mick + Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change + + I consent to relicense any contributed code that I wrote under LGPL2.1 license. + + --- + + ...and I consent too. Drop the exception from COPYING and debian/copyright + files. + + Signed-off-by: Sage Weil + (cherry picked from commit 2206f55761c675b31078dea4e7dd66f2666d7d03) + +commit 211c5f13131e28b095a1f3b72426128f1db22218 +Author: Yehuda Sadeh +Date: Fri Aug 23 15:39:20 2013 -0700 + + rgw: flush pending data when completing multipart part upload + + Fixes: #6111 + Backport: dumpling + When completing the part upload we need to flush any data that we + aggregated and didn't flush yet. With earlier code didn't have to deal + with it as for multipart upload we didn't have any pending data. + What we do now is we call the regular atomic data completion + function that takes care of it. + + Reviewed-by: Josh Durgin + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 9a551296e0811f2b65972377b25bb28dbb42f575) + +commit 1a9651010aab51c9be2edeccd80e9bd11f5177ce +Author: Yehuda Sadeh +Date: Mon Aug 26 19:46:43 2013 -0700 + + rgw: check object name after rebuilding it in S3 POST + + Fixes: #6088 + Backport: bobtail, cuttlefish, dumpling + + When posting an object it is possible to provide a key + name that refers to the original filename, however we + need to verify that in the end we don't end up with an + empty object name. + + Reviewed-by: Josh Durgin + Signed-off-by: Yehuda Sadeh + (cherry picked from commit c8ec532fadc0df36e4b265fe20a2ff3e35319744) + +commit 1bd74a020b93f154b2d4129d512f6334387de7c7 +Author: Sage Weil +Date: Thu Aug 22 17:46:45 2013 -0700 + + mon/MonClient: release pending outgoing messages on shutdown + + This fixes a small memory leak when we have messages queued for the mon + when we shut down. It is harmless except for the valgrind leak check + noise that obscures real leaks. + + Backport: dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 309569a6d0b7df263654b7f3f15b910a72f2918d) + +commit 24f2669783e2eb9d9af5ecbe106efed93366ba63 +Author: Yehuda Sadeh +Date: Thu Aug 29 13:06:33 2013 -0700 + + rgw: change watch init ordering, don't distribute if can't + + Backport: dumpling + + Moving back the watch initialization after the zone init, + as the zone info holds the control pool name. Since zone + init might need to create a new system object (that needs + to distribute cache), don't try to distribute cache if + watch is not yet initialized. + + Reviewed-by: Sage Weil + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 1d1f7f18dfbdc46fdb09a96ef973475cd29feef5) + +commit a708c8ab52e5b1476405a1f817c23b8845fbaab3 +Author: Sage Weil +Date: Fri Aug 30 09:41:29 2013 -0700 + + ceph-post-file: use mktemp instead of tempfile + + tempfile is a debian thing, apparently; mktemp is present everywhere. + + Signed-off-by: Sage Weil + (cherry picked from commit e60d4e09e9f11e3c34a05cd122341e06c7c889bb) + +commit 625f13ee0d6cca48d61dfd65e00517d092552d1c +Author: Sage Weil +Date: Wed Aug 28 09:50:11 2013 -0700 + + mon: discover mon addrs, names during election state too + + Currently we only detect new mon addrs and names during the probing phase. + For non-trivial clusters, this means we can get into a sticky spot when + we discover enough peers to form an quorum, but not all of them, and the + undiscovered ones are enough to break the mon ranks and prevent an + election. + + One way to work around this is to continue addr and name discovery during + the election. We should also consider making the ranks less sensitive to + the undefined addrs; that is a separate change. + + Fixes: #4924 + Backport: dumpling + Signed-off-by: Sage Weil + Tested-by: Bernhard Glomm + (cherry picked from commit c24028570015cacf1d9e154ffad80bec06a61e7c) + +commit 83cfd4386c1fd0fa41aea345704e27f82b524ece +Author: Dan Mick +Date: Thu Aug 22 17:30:24 2013 -0700 + + ceph_rest_api.py: create own default for log_file + + common/config thinks the default log_file for non-daemons should be "". + Override that so that the default is + /var/log/ceph/{cluster}-{name}.{pid}.log + since ceph-rest-api is more of a daemon than a client. + + Fixes: #6099 + Backport: dumpling + Signed-off-by: Dan Mick + (cherry picked from commit 2031f391c3df68e0d9e381a1ef3fe58d8939f0a8) + +commit 8a1da62d9564a32f7b8963fe298e1ac3ad0ea3d9 +Author: Sage Weil +Date: Fri Aug 16 17:59:11 2013 -0700 + + ceph-post-file: single command to upload a file to cephdrop + + Use sftp to upload to a directory that only this user and ceph devs can + access. + + Distribute an ssh key to connect to the account. This will let us revoke + the key in the future if we feel the need. Also distribute a known_hosts + file so that users have some confidence that they are connecting to the + real ceph drop account and not some third party. + + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit d08e05e463f1f7106a1f719d81b849435790a3b9) + +commit 3f8663477b585dcb528fdd7047c50d9a52d24b95 +Author: Gary Lowell +Date: Thu Aug 22 13:29:32 2013 -0700 + + ceph.spec.in: remove trailing paren in previous commit + + Signed-off-by: Gary Lowell + +commit 23fb908cb3ac969c874ac12755d20ed2f636e1b9 +Author: Gary Lowell +Date: Thu Aug 22 11:07:16 2013 -0700 + + ceph.spec.in: Don't invoke debug_package macro on centos. + + If the redhat-rpm-config package is installed, the debuginfo rpms will + be built by default. The build will fail when the package installed + and the specfile also invokes the macro. + + Signed-off-by: Gary Lowell + +commit 11f5853d8178ab60ab948d373c1a1f67324ce3bd +Author: Sage Weil +Date: Sat Aug 24 14:04:09 2013 -0700 + + osd: install admin socket commands after signals + + This lets us tell by the presence of the admin socket commands whether + a signal will make us shut down cleanly. See #5924. + + Signed-off-by: Sage Weil + Reviewed-by: Samuel Just + (cherry picked from commit c5b5ce120a8ce9116be52874dbbcc39adec48b5c) + +commit 39adc0195e6016ce36828885515be1bffbc10ae1 +Author: Sage Weil +Date: Tue Aug 20 22:39:09 2013 -0700 + + ceph-disk: partprobe after creating journal partition + + At least one user reports that a partprobe is needed after creating the + journal partition. It is not clear why sgdisk is not doing it, but this + fixes ceph-disk for them, and should be harmless for other users. + + Fixes: #5599 + Tested-by: lurbs in #ceph + Signed-off-by: Sage Weil + (cherry picked from commit 2af59d5e81c5e3e3d7cfc50d9330d7364659c5eb) + (cherry picked from commit 3e42df221315679605d68b2875aab6c7eb6b3cc4) + +commit 6a4fe7b9b068ae990d6404921a46631fe9ebcd31 +Author: Sage Weil +Date: Tue Aug 20 11:27:23 2013 -0700 + + mon/Paxos: always refresh after any store_state + + If we store any new state, we need to refresh the services, even if we + are still in the midst of Paxos recovery. This is because the + subscription path will share any committed state even when paxos is + still recovering. This prevents a race like: + + - we have maps 10..20 + - we drop out of quorum + - we are elected leader, paxos recovery starts + - we get one LAST with committed states that trim maps 10..15 + - we get a subscribe for map 10..20 + - we crash because 10 is no longer on disk because the PaxosService + is out of sync with the on-disk state. + + Fixes: #6045 + Backport: dumpling + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 981eda9f7787c83dc457f061452685f499e7dd27) + +commit 13d396e46ed9200e4b9f21db2f0a8efbc5998d82 +Author: Sage Weil +Date: Tue Aug 20 11:27:09 2013 -0700 + + mon/Paxos: return whether store_state stored anything + + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 7e0848d8f88f156a05eef47a9f730b772b64fbf2) + +commit f248383bacff76203fa94716cfdf6cf766da24a7 +Author: Sage Weil +Date: Tue Aug 20 11:26:57 2013 -0700 + + mon/Paxos: cleanup: use do_refresh from handle_commit + + This avoid duplicated code by using the helper created exactly for this + purpose. + + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit b9dee2285d9fe8533fa98c940d5af7b0b81f3d33) + +commit 02608a12d4e7592784148a62a47d568efc24079d +Author: Sage Weil +Date: Thu Aug 15 21:48:06 2013 -0700 + + osdc/ObjectCacher: do not merge rx buffers + + We do not try to merge rx buffers currently. Make that explicit and + documented in the code that it is not supported. (Otherwise the + last_read_tid values will get lost and read results won't get applied + to the cache properly.) + + Signed-off-by: Sage Weil + (cherry picked from commit 1c50c446152ab0e571ae5508edb4ad7c7614c310) + +commit 0e2bfe71965eeef29b47e8032637ea820a7ce49c +Author: Sage Weil +Date: Thu Aug 15 21:47:18 2013 -0700 + + osdc/ObjectCacher: match reads with their original rx buffers + + Consider a sequence like: + + 1- start read on 100~200 + 100~200 state rx + 2- truncate to 200 + 100~100 state rx + 3- start read on 200~200 + 100~100 state rx + 200~200 state rx + 4- get 100~200 read result + + Currently this makes us crash on + + osdc/ObjectCacher.cc: 738: FAILED assert(bh->length() <= start+(loff_t)length-opos) + + when processing the second 200~200 bufferhead (it is too big). The + larger issue, though, is that we should not be looking at this data at + all; it has been truncated away. + + Fix this by marking each rx buffer with the read request that is sent to + fill it, and only fill it from that read request. Then the first reply + will fill the first 100~100 extend but not touch the other extent; the + second read will do that. + + Signed-off-by: Sage Weil + (cherry picked from commit b59f930ae147767eb4c9ff18c3821f6936a83227) + +commit 6b51c960715971a0351e8203d4896cb0c4138a3f +Author: Sage Weil +Date: Thu Aug 22 15:54:48 2013 -0700 + + mon/Paxos: fix another uncommitted value corner case + + It is possible that we begin the paxos recovery with an uncommitted + value for, say, commit 100. During last/collect we discover 100 has been + committed already. But also, another node provides an uncommitted value + for 101 with the same pn. Currently, we refuse to learn it, because the + pn is not strictly > than our current uncommitted pn... even though it is + the next last_committed+1 value that we need. + + There are two possible fixes here: + + - make this a >= as we can accept newer values from the same pn. + - discard our uncommitted value metadata when we commit the value. + + Let's do both! + + Fixes: #6090 + Signed-off-by: Sage Weil + (cherry picked from commit fe5010380a3a18ca85f39403e8032de1dddbe905) + +commit b3a280d5af9d06783d2698bd434940de94ab0fda +Author: Sage Weil +Date: Fri Aug 23 11:45:35 2013 -0700 + + os: make readdir_r buffers larger + + PATH_MAX isn't quite big enough. + + Backport: dumpling, cuttlefish, bobtail + Signed-off-by: Sage Weil + (cherry picked from commit 99a2ff7da99f8cf70976f05d4fe7aa28dd7afae5) + +commit 989a664ef0d1c716cab967f249112f595cf98c43 +Author: Sage Weil +Date: Fri Aug 23 11:45:08 2013 -0700 + + os: fix readdir_r buffer size + + The buffer needs to be big or else we're walk all over the stack. + + Backport: dumpling, cuttlefish, bobtail + Signed-off-by: Sage Weil + (cherry picked from commit 2df66d9fa214e90eb5141df4d5755b57e8ba9413) + + Conflicts: + + src/os/BtrfsFileStoreBackend.cc + +commit a4cca31c82bf0e84272e01eb1b3188dfdb5b5615 +Author: Yehuda Sadeh +Date: Thu Aug 22 10:53:12 2013 -0700 + + rgw: fix crash when creating new zone on init + + Moving the watch/notify init before the zone init, + as we might need to send a notification. + + Reviewed-by: Sage Weil + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 3d55534268de7124d29bd365ea65da8d2f63e501) + +commit 4cf6996803ef66f2b6083f73593259d45e2740a3 +Author: Yehuda Sadeh +Date: Mon Aug 19 08:40:16 2013 -0700 + + rgw: change cache / watch-notify init sequence + + Fixes: #6046 + We were initializing the watch-notify (through the cache + init) before reading the zone info which was much too + early, as we didn't have the control pool name yet. Now + simplifying init/cleanup a bit, cache doesn't call watch/notify + init and cleanup directly, but rather states its need + through a virtual callback. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + (cherry picked from commit d26ba3ab0374e77847c742dd00cb3bc9301214c2) + +commit aea6de532b0b843c3a8bb76d10bab8476f0d7c09 +Author: Alexandre Oliva +Date: Thu Aug 22 03:40:22 2013 -0300 + + enable mds rejoin with active inodes' old parent xattrs + + When the parent xattrs of active inodes that the mds attempts to open + during rejoin lack pool info (struct_v < 5), this field will be filled + in with -1, causing the mds to retry fetching a backtrace with a pool + number that matches the expected value, which fails and causes the + err==-ENOENT branch to be taken and retry pool 1, which succeeds, but + with pool -1, and so keeps on bouncing between the two retry cases + forever. + + This patch arranges for the mds to go along with pool -1 instead of + insisting that it be refetched, enabling it to complete recovery + instead of eating cpu, network bandwidth and metadata osd's resources + like there's no tomorrow, in what AFAICT is an infinite and very busy + loop. + + This is not a new problem: I've had it even before upgrading from + Cuttlefish to Dumpling, I'd just never managed to track it down, and + force-unmounting the filesystem and then restarting the mds was an + easier (if inconvenient) work-around, particularly because it always + hit when the filesystem was under active, heavy-ish use (or there + wouldn't be much reason for caps recovery ;-) + + There are two issues not addressed in this patch, however. One is + that nothing seems to proactively update the parent xattr when it is + found to be outdated, so it remains out of date forever. Not even + renaming top-level directories causes the xattrs to be recursively + rewritten. AFAICT that's a bug. + + The other is that inodes that don't have a parent xattr (created by + even older versions of ceph) are reported as non-existing in the mds + rejoin message, because the absence of the parent xattr is signaled as + a missing inode (?failed to reconnect caps for missing inodes?). I + suppose this may cause more serious recovery problems. + + I suppose a global pass over the filesystem tree updating parent + xattrs that are out-of-date would be desirable, if we find any parent + xattrs still lacking current information; it might make sense to + activate it as a background thread from the backtrace decoding + function, when it finds a parent xattr that's too out-of-date, or as a + separate client (ceph-fsck?). + + Backport: dumpling, cuttlefish + Signed-off-by: Alexandre Oliva + Reviewed-by: Zheng, Yan + (cherry picked from commit 617dc36d477fd83b2d45034fe6311413aa1866df) + +commit 0738bdf92f5e5eb93add152a4135310ac7ea1c91 +Author: David Disseldorp +Date: Mon Jul 29 17:05:44 2013 +0200 + + mds: remove waiting lock before merging with neighbours + + CephFS currently deadlocks under CTDB's ping_pong POSIX locking test + when run concurrently on multiple nodes. + The deadlock is caused by failed removal of a waiting_locks entry when + the waiting lock is merged with an existing lock, e.g: + + Initial MDS state (two clients, same file): + held_locks -- start: 0, length: 1, client: 4116, pid: 7899, type: 2 + start: 2, length: 1, client: 4110, pid: 40767, type: 2 + waiting_locks -- start: 1, length: 1, client: 4116, pid: 7899, type: 2 + + Waiting lock entry 4116@1:1 fires: + handle_client_file_setlock: start: 1, length: 1, + client: 4116, pid: 7899, type: 2 + + MDS state after lock is obtained: + held_locks -- start: 0, length: 2, client: 4116, pid: 7899, type: 2 + start: 2, length: 1, client: 4110, pid: 40767, type: 2 + waiting_locks -- start: 1, length: 1, client: 4116, pid: 7899, type: 2 + + Note that the waiting 4116@1:1 lock entry is merged with the existing + 4116@0:1 held lock to become a 4116@0:2 held lock. However, the now + handled 4116@1:1 waiting_locks entry remains. + + When handling a lock request, the MDS calls adjust_locks() to merge + the new lock with available neighbours. If the new lock is merged, + then the waiting_locks entry is not located in the subsequent + remove_waiting() call because adjust_locks changed the new lock to + include the old locks. + This fix ensures that the waiting_locks entry is removed prior to + modification during merge. + + Signed-off-by: David Disseldorp + Reviewed-by: Greg Farnum + (cherry picked from commit 476e4902907dfadb3709ba820453299ececf990b) + +commit a0ac88272511d670b5c3756dda2d02c93c2e9776 +Author: Dan Mick +Date: Tue Aug 20 11:10:42 2013 -0700 + + mon/PGMap: OSD byte counts 4x too large (conversion to bytes overzealous) + + Fixes: #6049 + Signed-off-by: Dan Mick + (cherry picked from commit eca53bbf583027397f0d5e050a76498585ecb059) + +commit 87b19c33ce29e2ca4fc49a2adeb12d3f14ca90a9 +Author: Alfredo Deza +Date: Fri Aug 23 08:56:07 2013 -0400 + + ceph-disk: specify the filetype when mounting + + Signed-off-by: Alfredo Deza + Reviewed-by: Sage Weil + (cherry picked from commit f040020fb2a7801ebbed23439159755ff8a3edbd) diff --git a/doc/changelog/v0.67.4.txt b/doc/changelog/v0.67.4.txt new file mode 100644 index 00000000..73b997ea --- /dev/null +++ b/doc/changelog/v0.67.4.txt @@ -0,0 +1,550 @@ +commit ad85b8bfafea6232d64cb7ba76a8b6e8252fa0c7 +Author: Gary Lowell +Date: Thu Oct 3 22:41:31 2013 +0000 + + v0.67.4 + +commit 5cd66d3b4bca92b402c95ab256fbc3f0329c446f +Author: Yehuda Sadeh +Date: Fri Sep 20 14:04:47 2013 -0700 + + rgw: fix keystone token expiration test + + Fixes: #6360 + The test was inverted, need expiration to be greater than + current time in order for token to be valid. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + +commit e0203c61a3f45fdd6d3d3ece26fef6152bdc036d +Author: David Zafman +Date: Wed Sep 11 16:55:06 2013 -0700 + + osd/OSD.cc: Use MIN() so that we don't exceed osd_recovery_max_active + + Caused by 944f3b73531af791c90f0f061280160003545c63 + + Fixes: #6291 + + Backport: dumpling + + Signed-off-by: David Zafman + Reviewed-by: Samuel Just + (cherry picked from commit 139a714e13aa3c7f42091270b55dde8a17b3c4b8) + + Conflicts: + + src/osd/OSD.cc + +commit c376708358cedb5561fbb43e9b9e622df3ea7a58 +Author: Joao Eduardo Luis +Date: Wed Sep 25 22:08:24 2013 +0100 + + mon: OSDMonitor: do not write full_latest during trim + + On commit 81983bab we patched OSDMonitor::update_from_paxos() such that we + write the latest full map version to 'full_latest' each time the latest + full map was built from the incremental versions. + + This change however clashed with OSDMonitor::encode_trim_extra(), which + also wrote to 'full_latest' on each trim, writing instead the version of + the *oldest* full map. This duality of behaviors could lead the store + to an inconsistent state across the monitors (although there's no sign of + it actually imposing any issues besides rebuilding already existing full + maps on some monitors). + + We now stop OSDMonitor::encode_trim_extra() from writing to 'full_latest'. + This function will still write out the oldest full map it has in the store, + but it will no longer write to full_latest, instead leaving it up to + OSDMonitor::update_from_paxos() to figure it out -- and it already does. + + Fixes: #6378 + + Backport: dumpling + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit bd0f29a2c28cca496ec830eac932477ebf3182ba) + +commit de40d0b3e35ab0124cd3c4ebfcaa435ab8abfab9 +Author: Sage Weil +Date: Tue Oct 1 15:53:42 2013 -0700 + + crush: invalidate rmap on create (and thus decode) + + If we have an existing CrushWrapper object and decode from a bufferlist, + reset build_rmaps so that they get rebuilt. + + Remove the build_rmaps() all in decode that was useless on a redecode + (because have_rmaps == true in that case and it did nothing). + + Fixes: #6442 + Backport: dumpling, maybe cuttlefish + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 9b7a2ae329b6a511064dd3d6e549ba61f52cfd21) + +commit 32f5233288c47d95b87c0a9cab5f9c2ffcf15417 +Author: Dan Mick +Date: Mon Sep 30 14:58:11 2013 -0700 + + Invoke python with /usr/bin/env python instead of directly + + Fixes: #6311 + Signed-off-by: Dan Mick + (cherry picked from commit b9000b314b9166845ff302d4a827a996775d9a14) + +commit 66aeca5a9079be398403bbff67bd5bf68c6fb111 +Author: Sage Weil +Date: Wed Sep 25 10:10:21 2013 -0700 + + qa/workunits/mon/crush_ops.sh: fix test + + Fix root. + + Fixes: #6392 + Signed-off-by: Sage Weil + (cherry picked from commit c8cae87e9e08468cc86145e0fd60c05d12826239) + +commit beb366302a125dd422c4f092b12eb541cb3bc788 +Author: Sage Weil +Date: Mon Sep 23 09:04:34 2013 -0700 + + Revert "ceph: parse CEPH_ARGS environment variable" + + This reverts commit 67a95b9880c9bc6e858150352318d68d64ed74ad. + + We now put CEPH_ARGS in the actual args we parse in python, which are passed + to rados piecemeal later. This lets you put things like --id ... in there + that need to be parsed before librados is initialized. + (cherry picked from commit 97f462be4829f0167ed3d65e6694dfc16f1f3243) + +commit b475ff9576f145d31c053213c699e13df76d2bcb +Author: Benoît Knecht +Date: Mon Sep 23 15:58:42 2013 +0200 + + Add CEPH_ARGS at the end of sys.argv + + This allows, for instance, to pass a different client name to ceph by + exporting CEPH_ARGS="--id client_id". + + Signed-off-by: Benoît Knecht + Signed-off-by: Sage Weil + (cherry picked from commit 30abe3244c86cbbe1f5b005850c29c9c0eafcad4) + +commit 94548b4b67cca37366c7d8719209a6d2e7956811 +Author: Sage Weil +Date: Tue Sep 24 15:26:03 2013 -0700 + + mon/OSDMonitor: fix 'ceph osd crush reweight ...' + + The adjust method returns a count of adjusted items. + + Add a test. + + Fixes: #6382 + Backport: dumpling + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + (cherry picked from commit 3de32562b55c6ece3a6ed783c36f8b9f21460339) + +commit 00ff7f5c20e13869d0694379739ba4e61d44b97c +Author: Joao Eduardo Luis +Date: Tue Sep 10 00:20:41 2013 +0100 + + qa: workunits: mon: crush_ops: test 'ceph osd crush move' + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 3bc618b7b46496c5110edde0da9cae5d3e68e0e1) + +commit 0ff5b4a96833681e92cc41f019a569134474f4cf +Author: Loic Dachary +Date: Tue Sep 24 19:04:23 2013 +0200 + + osd: change warn_interval_multiplier to uint32_t + + to prevent overflow in OpTracker::check_ops_in_flight when + multiplying warn_interval_multiplier *= 2 + + Backport: cuttlefish, dumpling + + http://tracker.ceph.com/issues/6370 fixes #6370 + + Signed-off-by: Loic Dachary + (cherry picked from commit 1bce1f009bffd3e28025a08775fec189907a81db) + +commit fb15040b6cec6221baa550ddfffade823f784c4a +Author: David Zafman +Date: Mon Sep 9 13:01:12 2013 -0700 + + crushtool: do not dump core with non-unique bucket IDs + + Return -EEXIST on duplicate ID + BUG FIX: crush_add_bucket() mixes error returns and IDs + Add optional argument to return generated ID + + Fixes: #6246 + + Signed-off-by: David Zafman + Reviewed-by: Sage Weil + (cherry picked from commit 8c76f3a0f9cf100ea2c941dc2b61c470aa5033d7) + +commit 410db3f30c6eb54b807908c1f251ad4026e7d446 +Author: Joao Eduardo Luis +Date: Fri Sep 20 17:06:30 2013 +0100 + + qa: workunits: cephtool: check if 'heap' commands are parseable + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit b1eeaddd5f214c1b0883b44fc8cae07c649be7c4) + +commit 062060a38bb26ff260cc51accc534413d726de49 +Author: Joao Eduardo Luis +Date: Fri Sep 20 17:50:27 2013 +0100 + + osd: OSD: add 'heap' command to known osd commands array + + Must have been forgotten during the cli rework. + + Backport: dumpling + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 296f2d0db31e9f5a59a3a62a1e95b6c440430fa3) + +commit 3f32f57b98e0224a1d30b2a81d7d260be0f53800 +Author: Joao Eduardo Luis +Date: Fri Sep 20 16:43:27 2013 +0100 + + mds: MDS: pass only heap profiler commands instead of the whole cmd vector + + The heap profiler doesn't care, nor should it, what our command name is. + It only cares about the commands it handles. + + Backport: dumpling + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 238fe272c6bdb62d4e57fd8555c0136de99c8129) + +commit 46dcc46617d8f35ab8433540b22343ddcbcc3716 +Author: Joao Eduardo Luis +Date: Fri Sep 20 16:41:14 2013 +0100 + + perfglue/heap_profiler.cc: expect args as first element on cmd vector + + We used to pass 'heap' as the first element of the cmd vector when + handling commands. We haven't been doing so for a while now, so we + needed to fix this. + + Not expecting 'heap' also makes sense, considering that what we need to + know when we reach this function is what command we should handle, and + we should not care what the caller calls us when handling his business. + + Fixes: #6361 + Backport: dumpling + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit c98b910d49bd2b46ceafdc430044a31524c29f5b) + +commit 9dc5f15fbae22244ad1f62925e17c9d81e856e55 +Author: Yehuda Sadeh +Date: Mon Sep 16 14:35:25 2013 -0700 + + rgw: destroy get_obj handle in copy_obj() + + Fixes: #6176 + Backport: dumpling + We take different code paths in copy_obj, make sure we close the handle + when we exit the function. Move the call to finish_get_obj() out of + copy_obj_data() as we don't create the handle there, so that should + makes code less confusing and less prone to errors. + Also, note that RGWRados::get_obj() also calls finish_get_obj(). For + everything to work in concert we need to pass a pointer to the handle + and not the handle itself. Therefore we needed to also change the call + to copy_obj_data(). + + Reviewed-by: Josh Durgin + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 9e98620e4325d15c88440a890b267131613e1aa1) + +commit 471233e98a9f64ad513a4a196b7661b80534cb00 +Author: Joao Eduardo Luis +Date: Mon Sep 9 23:14:11 2013 +0100 + + mon: MonCommands: expect a CephString as 1st arg for 'osd crush move' + + Fixes: #6230 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 7d3799fde19138f957f26ec6be10a8a0000fc1f0) + +commit 2908225092bd2aa1b8afcb7848c1cdac5bd9e638 +Author: Sage Weil +Date: Mon Sep 23 16:23:33 2013 -0700 + + osd: revert 'osd max xattr size' limit + + Set it to 0 (unlimited) for now. + + Backport: dumpling + + Signed-off-by: Sage Weil + Reviewed-by: Yehuda Sadeh + (cherry picked from commit abb88d70643c3a76435b7a9d5b04ff29f7502361) + +commit b3d3b3747c1eef695138dac828e5fcb435309c7b +Author: Greg Farnum +Date: Wed Sep 11 16:24:32 2013 -0700 + + mds: be more careful about decoding LogEvents + + We need to wrap the full decode section or we can abort the process + if there's an issue (which we may want to just skip by). + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 73289b34b0be5b6612e38944794d59b5e789f841) + +commit 06c58132199ed22413b509dfa751321ccdb24225 +Author: Joao Eduardo Luis +Date: Tue Sep 17 17:58:20 2013 +0100 + + mon: OSDMonitor: multiple rebuilt full maps per transaction + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 0d20cae0be701c5b6151a26ee5e4fe24d89aa20a) + +commit 65bbcaf4b68790dae4506c1f5db237077e1ff0ae +Author: Joao Eduardo Luis +Date: Sun Sep 15 21:03:50 2013 +0100 + + mon: OSDMonitor: update latest_full while rebuilding full maps + + Not doing so will make the monitor rebuild the osdmap full versions, even + though they may have been rebuilt before, every time the monitor starts. + + This mostly happens when the cluster is left in an unhealthy state for + a long period of time and incremental versions build up. Even though we + build the full maps on update_from_paxos(), not updating 'full_latest' + leads to the situation initially described. + + Fixes: #6322 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 81983bab3630520d6c7ee9b7e4a747bc17b8c5c3) + +commit 9b9edb04581cca15e67c567332529f5b3f426743 +Author: Joao Eduardo Luis +Date: Sun Sep 15 21:00:55 2013 +0100 + + mon: OSDMonitor: smaller transactions when rebuilding full versions + + Otherwise, for considerably sized rebuilds, the monitor will not only + consume vast amounts of memory, but it will also have troubles committing + the transaction. Anyway, it's also a good idea to adjust transactions to + the granularity we want, and to be fair we care that each rebuilt full map + gets to disk, even if subsequent full maps don't (those can be rebuilt + later). + + Fixes: #6323 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 4ac1570c5cdcd6556dc291cc6d7878fd92d343ae) + +commit 298811f7a15541b9ec1015c416ad2aa075be5691 +Author: Joao Eduardo Luis +Date: Wed Aug 28 15:51:01 2013 +0100 + + mon: OSDMonitor: check if pool is on unmanaged snaps mode on mk/rmsnap + + Backport: dumpling + Fixes: #6047 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit fab79543c54c2e446d3f76520d7906645c6b0075) + +commit a992664435db9dde3745eb7f354cce3fc5400a47 +Author: Yehuda Sadeh +Date: Thu Sep 12 14:32:17 2013 -0700 + + lru_map: don't use list::size() + + replace list::size() with map::size(), which should have + a constant time complexity. + + Reviewed-by: Sage Weil + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7c1d2ded8fa8061bf3f14932800998b963745dd1) + +commit 788546ea71c994ff35323747294ed9c177fe7020 +Author: Yehuda Sadeh +Date: Thu Sep 12 14:30:19 2013 -0700 + + common/lru_map: rename tokens to entries + + This code was originally used in a token cache, now + as a generic infrastructure rename token fields. + + Reviewed-by: Sage Weil + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 532e41a9985a16b35a6e49cdcba38af0ad166fa8) + +commit babeb00c42af760b3e7575166479e95365cfcc0a +Author: Yehuda Sadeh +Date: Wed Sep 18 10:37:21 2013 -0700 + + rgw: use bufferlist::append() instead of bufferlist::push_back() + + push_back() expects char *, whereas append can append a single char. + Appending a NULL char to push_back is cast as a NULL pointer which is + bad. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Josh Durgin + (cherry picked from commit 08fe028bad13096d482454a2f303158727c363ff) + +commit daf85c45dd4d158bc7c33a2fb784857bc7db35cd +Author: Yehuda Sadeh +Date: Wed Sep 11 13:46:31 2013 -0700 + + rgw: NULL terminate buffer before parsing it + + Fixes: #6175 + Backport: dumpling + We get a buffer off the remote gateway which might + not be NULL terminated. The JSON parser needs the + buffer to be NULL terminated even though we provide + a buffer length as it calls strlen(). + + Reviewed-by: Josh Durgin + Signed-off-by: Yehuda Sadeh + (cherry picked from commit e7f7483192cddca1159aba439ce62b1e78669d51) + +commit c73040a5518971813b9ebaae1624c5bacef315d0 +Author: Yehuda Sadeh +Date: Wed Sep 11 22:30:12 2013 -0700 + + rgw: don't call list::size() in ObjectCache + + Fixes: #6286 + Use an external counter instead of calling list::size() + + Reviewed-by: Sage Weil + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 31e3a51e933429d286104fe077e98ea883437ad6) + +commit a855aba9d18936e9a060119e041518790cd4b831 +Author: Yehuda Sadeh +Date: Tue Sep 10 12:18:55 2013 -0700 + + rgw: drain pending requests before completing write + + Fixes: #6268 + When doing aio write of objects (either regular or multipart parts) we + need to drain pending aio requests. Otherwise if gateway goes down then + object might end up corrupted. + + Reviewed-by: Josh Durgin + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 626669afaa333d73707553a85f5c874e99e9cbd8) + +commit 670db7e80ddc9c26c43a4f66907a5996ce207c4d +Author: Yehuda Sadeh +Date: Fri Sep 6 22:33:38 2013 -0700 + + rgw: fix get cors, delete cors + + Remove a couple of variables that overrode class member. Not + really clear how it was working before, might have been a bad + merge / rebase. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 13872785aeeddbe1b8dd97e49fd6a2d879514f8d) + +commit a304016fa01b02efd500135c00b9bf3407a9999c +Merge: 408cd61 ac0a30f +Author: Yehuda Sadeh +Date: Wed Sep 11 09:47:10 2013 -0700 + + Merge branch 'wip-6078-dumpling' into dumpling + + Reviewed-by: Josh Durgin + +commit ac0a30feb8c64a3b80d9c519a7b561213403afab +Author: Yehuda Sadeh +Date: Wed Aug 28 21:25:20 2013 -0700 + + rgw: fix certain return status cases in CORS + + Change return values in certain cases, reorder + checks, etc. + + Signed-off-by: Yehuda Sadeh + +commit 13b28cc3f1eb8ef42875b630c485ee0105cd244a +Author: Yehuda Sadeh +Date: Wed Aug 28 21:24:36 2013 -0700 + + rgw: add COPY method to be handled by CORS + + Was missing this http method. + + Signed-off-by: Yehuda Sadeh + +commit d45c87ea738807487e72c0719b0d3d459cbe19e9 +Author: Yehuda Sadeh +Date: Tue Aug 27 19:38:45 2013 -0700 + + rgw: fix CORS rule check + + Signed-off-by: Yehuda Sadeh + +commit 986fa92a7a1d88111ba28457160adfcfdaabc5d2 +Author: Yehuda Sadeh +Date: Tue Aug 27 19:38:18 2013 -0700 + + rgw: don't handle CORS if rule not found (is NULL) + + Signed-off-by: Yehuda Sadeh + +commit 71873aba6553492d3ad71596cefd7c841030a277 +Author: Yehuda Sadeh +Date: Thu Aug 22 13:38:55 2013 -0700 + + rgw: tie CORS header response to all relevant operations + + Have the CORS responses on all relevant operations. Also add headers + on failure cases. + + Signed-off-by: Yehuda Sadeh + +commit 94e7b594d85dbd26e58d823b41f418032e9f163f +Author: Yehuda Sadeh +Date: Thu Aug 22 10:00:53 2013 -0700 + + rgw: add a generic CORS response handling + + Signed-off-by: Yehuda Sadeh + +commit c3385d8a102faf5379559bb98cf89637ceda1579 +Author: Yehuda Sadeh +Date: Wed Aug 21 17:22:46 2013 -0700 + + rgw: OPTIONS request doesn't need to read object info + + This is a bucket-only operation, so we shouldn't look at the + object. Object may not exist and we might respond with Not + Exists response which is not what we want. + + Signed-off-by: Yehuda Sadeh + +commit a5fdd44e5d8ce4b8d82273d83e27aea19e63aa7c +Author: Yehuda Sadeh +Date: Wed Aug 21 14:43:28 2013 -0700 + + rgw: remove use of s->bucket_cors + + Some old code still tried to use s->bucket_cors, which was + abandoned in a cleanup work. + + Signed-off-by: Yehuda Sadeh diff --git a/doc/changelog/v0.67.5.txt b/doc/changelog/v0.67.5.txt new file mode 100644 index 00000000..2767fb85 --- /dev/null +++ b/doc/changelog/v0.67.5.txt @@ -0,0 +1,711 @@ +commit a60ac9194718083a4b6a225fc17cad6096c69bd1 +Author: Gary Lowell +Date: Thu Dec 19 20:53:10 2013 +0000 + + v0.67.5 + +commit 8745ba63533ba77b2ec9d40780cad822a577089c +Author: Yehuda Sadeh +Date: Wed Dec 18 13:11:01 2013 -0800 + + rgw: fix use-after-free when releasing completion handle + + Backport: emperor, dumpling + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + (cherry picked from commit c8890ab2d46fe8e12200a0d2f9eab31c461fb871) + +commit 7587ee52161d74a41bf89dc741e8ece9c964fb67 +Author: Yehuda Sadeh +Date: Wed Dec 18 13:10:21 2013 -0800 + + rgw: don't return data within the librados cb + + Fixes: #7030 + The callback is running within a single Finisher thread, thus we + shouldn't block there. Append read data to a list and flush it within + the iterate context. + + Reviewed-by: Sage Weil + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d6a4f6adfaa75c3140d07d6df7be03586cc16183) + +commit 9bd1ebe960aae69f6528a33809a58c13481f8df3 +Author: Christophe Courtaut +Date: Mon Jul 22 15:15:38 2013 +0200 + + rgw: Allow wildcard in supported keystone roles. + + http://tracker.ceph.com/issues/4365 fixes #4365 + + Signed-off-by: Christophe Courtaut + (cherry picked from commit 60195581273aee259e8c83d0b471af859d928342) + +commit e52b9b76844f935daf2dc060905f869248bba60b +Author: Roald J. van Loon +Date: Fri Aug 9 13:31:10 2013 +0200 + + Validate S3 tokens against Keystone + + - Added config option to allow S3 to use Keystone auth + - Implemented JSONDecoder for KeystoneToken + - RGW_Auth_S3::authorize now uses rgw_store_user_info on keystone auth + - Minor fix in get_canon_resource; dout is now after the assignment + + Reviewed-by: Yehuda Sadeh + Signed-off-by: Roald J. van Loon + (cherry picked from commit a200e184b15a03a4ca382e94caf01efb41cb9db7) + + Conflicts: + src/rgw/rgw_swift.h + +commit 5df2f35ee5797ffe85e8398b1ecf75f2eefb5031 +Author: Yehuda Sadeh +Date: Mon Oct 21 18:02:32 2013 -0700 + + rgw: init src_bucket_name, src_object in the S3 handler + + Be consistent and initialize these fields also in the S3 case. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ccaab2abf9e49ce3e50c15df793a3a3ca6b29bb8) + +commit 0edee8e9c9b140a280dc782b491c330c7f86edfc +Author: Yehuda Sadeh +Date: Mon Oct 21 14:45:59 2013 -0700 + + rgw: get rid of req_state.bucket_name + + No need for this field, as we already have req_state.bucket_name_str. + This saves us some memory allocation / freeing through every request + processing. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit db7eb771226beaa2372ef5860ce742cb3457cd89) + + Conflicts: + src/rgw/rgw_rest_s3.cc + +commit 0eae05f31e4a03e923d51521ecd0078657eda9ba +Author: Yehuda Sadeh +Date: Mon Oct 21 14:17:12 2013 -0700 + + rgw: turn swift COPY into PUT + + Fixes: #6606 + The swift COPY operation is unique in a sense that it's a write + operation that has its destination not set by the URI target, but by a + different HTTP header. This is problematic as there are some hidden + assumptions in the code that the specified bucket/object in the URI is + the operation target. E.g., certain initialization functions, quota, + etc. Instead of creating a specialized code everywhere for this case + just turn it into a regular copy operation, that is, a PUT with + a specified copy source. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit cbf8f9a51737e7d89fb0ec0832b50fd47c35b08d) + +commit 455f28a78ee22b6a535831ff70a330fa1379567c +Author: Samuel Just +Date: Tue Aug 13 20:32:14 2013 -0700 + + OSDMonitor: add 'osd perf' command to dump recent osd perf information + + Signed-off-by: Samuel Just + (cherry picked from commit 94c3f29a32cbf169d896015da6765febd3c724e0) + +commit ec086df1beccda6d5a6c12c727c84c2555b0b2cd +Author: Samuel Just +Date: Tue Aug 13 17:36:57 2013 -0700 + + ObjectStore: add ObjectStore::get_cur_stats and impl in FileStore + + Signed-off-by: Samuel Just + (cherry picked from commit ebde89d5602536b4bc651737e4280fdfb6634c32) + +commit 5bf7e7be1fa39ec39726635581e98a0e3a1df20f +Author: Samuel Just +Date: Tue Aug 13 17:21:39 2013 -0700 + + osd_types: add osd_perf_stat_t type + + Signed-off-by: Samuel Just + (cherry picked from commit 95f3353a6ab3a4dd2bf28eaca7122487942e913e) + +commit b37c5d208778ee52292757e96265d59d75f19654 +Author: Sage Weil +Date: Tue Dec 3 11:22:56 2013 -0800 + + rgw: do not use UNPRIVILEGED_DAEMON option + + This is sort of a backport for 4f403c26dc0048ad63e20d20369fa86bfb31c50e + in that we get the same behavior change, but only for rgw. + + Signed-off-by: Sage Weil + +commit a447fb7d04fbad84f9ecb57726396bb6ca29d8f6 +Author: Sage Weil +Date: Tue Dec 3 21:51:26 2013 -0800 + + osd/OSDMonitor: accept 'osd pool set ...' value as string + + Newer monitors take this as a CephString. Accept that so that if we are + mid-upgrade and get a forwarded message using the alternate schema from + a future mon we will handle it properly. + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + +commit 9875c8b1992c59cc0c40901a44573676cdff2669 +Author: Josh Durgin +Date: Mon Nov 25 13:43:43 2013 -0800 + + init, upstart: prevent daemons being started by both + + There can be only one init system starting a daemon. If there is a + host entry in ceph.conf for a daemon, sysvinit would try to start it + even if the daemon's directory did not include a sysvinit file. This + preserves backwards compatibility with older installs using sysvinit, + but if an upstart file is present in the daemon's directory, upstart + will try to start them, regardless of host entries in ceph.conf. + + If there's an upstart file in a daemon's directory and a host entry + for that daemon in ceph.conf, both sysvinit and upstart would attempt + to manage it. + + Fix this by only starting daemons if the marker file for the other + init system is not present. This maintains backwards compatibility + with older installs using neither sysvinit or upstart marker files, + and does not break any valid configurations. The only configuration + that would break is one with both sysvinit and upstart files present + for the same daemon. + + Backport: emperor, dumpling + Reported-by: Tim Spriggs + Signed-off-by: Josh Durgin + (cherry picked from commit 5e34beb61b3f5a1ed4afd8ee2fe976de40f95ace) + +commit bd08d332f5d23b6097a7e8344a6183896b2303a9 +Author: Samuel Just +Date: Sun Nov 3 21:02:36 2013 -0800 + + OSD: allow project_pg_history to handle a missing map + + If we get a peering message for an old map we don't have, we + can throwit out: the sending OSD will learn about the newer + maps and update itself accordingly, and we don't have the + information to know if the message is valid. This situation + can only happen if the sender was down for a long enough time + to create a map gap and its PGs have not yet advanced from + their boot-up maps to the current ones, so we can rely on it + + Fixes: #6712 + Signed-off-by: Samuel Just + Reviewed-by: Greg Farnum + (cherry picked from commit cd0d612e1abdf5c87082eeeccd4ca09dd14fd737) + +commit 8cd33e3a8ebf7c2aa796ec9f92d6b554c39ff705 +Author: Yehuda Sadeh +Date: Mon Aug 19 16:56:27 2013 -0700 + + rgw: bucket meta remove don't overwrite entry point first + + Fixes: #6056 + + When removing a bucket metadata entry we first unlink the bucket + and then we remove the bucket entrypoint object. Originally + when unlinking the bucket we first overwrote the bucket entrypoint + entry marking it as 'unlinked'. However, this is not really needed + as we're just about to remove it. The original version triggered + a bug, as we needed to propagate the new header version first (which + we didn't do, so the subsequent bucket removal failed). + + Reviewed-by: Greg Farnum + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 0373d749cea7d9b532069ba8ebca2f005b2c9f59) + +commit a24f1326adcdda1d387e0f4e3c18dda5ec4aa055 +Author: Yehuda Sadeh +Date: Fri Nov 22 07:04:01 2013 -0800 + + rgw: lower some debug message + + Fixes: #6084 + Backport: dumpling, emperor + + Reported-by: Ron Allred + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b35fc1bc2ec8c8376ec173eb1c3e538e02c1694e) + +commit 9e2d0d311437c1ffdd43fc8c961c60aacfea339c +Author: Josh Durgin +Date: Mon Nov 18 14:39:12 2013 -0800 + + osd: fix bench block size + + The command was declared to take 'size' in dumpling, but was trying to + read 'bsize' instead, so it always used the default of 4MiB. Change + the bench command to read 'size', so it matches what existing clients + are sending. + + Fixes: #6795 + Backport: emperor, dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit 40a76ef0d09f8ecbea13712410d9d34f25b91935) + + Conflicts: + src/osd/OSD.cc + +commit 35c91cac9a2b414ba3d52ea06cf6f71a0a1d4ba3 +Author: David Zafman +Date: Wed Sep 25 09:19:16 2013 -0700 + + os, osd, tools: Add backportable compatibility checking for sharded objects + + OSD + New CEPH_OSD_FEATURE_INCOMPAT_SHARDS + FileStore + NEW CEPH_FS_FEATURE_INCOMPAT_SHARDS + Add FSSuperblock with feature CompatSet in it + Store sharded_objects state using CompatSet + Add set_allow_sharded_objects() and get_allow_sharded_objects() to FileStore/ObjectStore + Add read_superblock()/write_superblock() internal filestore functions + ceph_filestore_dump + Add OSDsuperblock to export format + Use CompatSet from OSD code itself in filestore-dump tool + Always check compatibility of OSD features with on-disk features + On import verify compatibility of on-disk features with export data + Bump super_ver due to export format change + + Backport: dumpling, cuttlefish + + Signed-off-by: David Zafman + Reviewed-by: Samuel Just + (cherry picked from commit c6b83180f9f769de27ca7890f5f8ec507ee743ca) + + Conflicts: + + src/os/FileStore.cc + src/os/FileStore.h + src/osd/OSD.cc + + Excluded from cherry-pick: + Didn't add set_allow_sharded_objects() and get_allow_sharded_objects() to FileStore/ObjectStore + Didn't add code to check for incomplete transition to sharded objects in ceph-filestore-dump + +commit 372f62717c56d9ab883ae2942e13d6d8d37c2925 +Author: Ray Lv +Date: Tue Oct 29 19:34:51 2013 +0800 + + rgw: Wrap hex_to_num table into class HexTable + + Reviewed-by: Yehuda Sadeh + Signed-off-by: Ray Lv + (cherry picked from commit 588ed60a8ec1d8db5e096fd8f7b762f2afcf7dd3) + +commit 6917b02530103b8c86ed75592da33144b0dea168 +Merge: 7ef210a f1fa811 +Author: Yehuda Sadeh +Date: Tue Nov 5 12:27:42 2013 -0800 + + Merge pull request #805 from ceph/wip-rgw-replica-log-dumpling + + backport a bunch of rgw stuff to dumpling + + Reviewed-by: Yehuda Sadeh + +commit f1fa8116d441924d44c99624829f3daa090c821c +Author: Josh Durgin +Date: Fri Nov 1 16:12:52 2013 -0700 + + rgw: don't turn 404 into 400 for the replicalog api + + 404 is not actually a problem to clients like radosgw-agent, but 400 + implies something about the request was incorrect. + + Backport: dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit 306ec7142d699c26ce874b11dc02ccdb3cf296c7) + +commit 739e7861f6d5fde5c4a2b59170377b6147fecfa3 +Author: Yehuda Sadeh +Date: Tue Sep 3 13:27:21 2013 -0700 + + rgw: when failing read from client, return correct error + + Fixes: #6214 + When getting a failed read from client when putting an object + we returned the wrong value (always 0), which in the chunked- + upload case ended up in assuming that the write was done + successfully. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + (cherry picked from commit 0499948aad64c6c66668b43963403fb0cb1a2737) + +commit 465087e64ab2bd85d7f5e183565e3619b3aa76fc +Author: Yehuda Sadeh +Date: Mon Sep 30 14:15:19 2013 -0700 + + rgw: fix leak in RGWMetadataManager::remove() + + Backport: dumpling + Fixes: #6445 + handler->get() returns a newly allocated obj, need to delete it when + done. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 8dd7ea3fadc06b5ebb330af41d686d3da155fb5d) + +commit a4dc2694db6a7e45109f111dcdfd077da67b6030 +Author: Yehuda Sadeh +Date: Mon Aug 26 11:16:08 2013 -0700 + + rgw: quiet down warning message + + Fixes: #6123 + We don't want to know about failing to read region map info + if it's not found, only if failed on some other error. In + any case it's just a warning. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + (cherry picked from commit 055e31359ac977943f014270cc56a1b7786abee3) + +commit 7f57d9dda74a1feb2da85be3c77d61c6f81ec1b2 +Author: Yehuda Sadeh +Date: Fri Sep 13 14:43:54 2013 -0700 + + rgw: try to create log pool if doesn't exist + + When using replica log, if the log pool doesn't exist all operations are + going to fail. Try to create it if doesn't exist. + + Reviewed-by: Josh Durgin + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4216eac0f59af60f60d4ce909b9ace87a7b64ccc) + +commit 4fb233cf702957e782083d760877afa48d4f6965 +Author: Yehuda Sadeh +Date: Fri Oct 11 16:56:46 2013 -0700 + + formatter: dump_bool dumps unquoted strings + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ad409f8a6d230e9b1199226a333bb54159c2c910) + +commit de7ede925acc47a5aee84b9fe82b9cf0368aa1b2 +Author: Yehuda Sadeh +Date: Fri Sep 27 13:15:35 2013 -0700 + + Formatter: add dump_bool() + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 28949d5d43beba7cef37cb2f83e3399d978061a6) + +commit c5991f26febd86878aeb78baab33c071660fdee6 +Author: Josh Durgin +Date: Thu Oct 24 08:42:48 2013 -0700 + + rgw: escape bucket and object names in StreamReadRequests + + This fixes copy operations for objects that contain unsafe characters, + like a newline, which would return a 403 otherwise, since the GET to + the source rgw would be unable to verify the signature on a partially + valid bucket name. + + Fixes: #6604 + Backport: dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit ec45b3b88c485140781b23d2c4f582f2cc26ea43) + +commit 672679d26110dd93393bc18a681ae41175e4a299 +Author: Josh Durgin +Date: Thu Oct 24 08:37:25 2013 -0700 + + rgw: move url escaping to a common place + + This is useful outside of the s3 interface. Rename url_escape() + url_encode() for consistency with the exsting common url_decode() + function. This is in preparation for the next commit, which needs + to escape url-unsafe characters in another place. + + Backport: dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit dd308cd481b368f90a64220847b91fc233d92a59) + +commit 91997fca6ec6c06beecd63c3e2ae521319fca7c2 +Author: Josh Durgin +Date: Thu Oct 24 08:34:24 2013 -0700 + + rgw: update metadata log list to match data log list + + Send the last marker whether the log is truncated in the same format + as data log list, so clients don't have more needless complexity + handling the difference. Keep bucket index logs the same, since they + contain the marker already, and are not used in exactly the same way + metadata and data logs are. + + Backport: dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit e0e8fb1b2b4a308b2a9317e10c6fd53ad48dbfaf) + +commit 8916648521e2362a54eed0f5ebe078a269e4d703 +Author: Josh Durgin +Date: Thu Oct 24 08:26:19 2013 -0700 + + rgw: include marker and truncated flag in data log list api + + Consumers of this api need to know their position in the log. It's + readily available when fetching the log, so return it. Without the + marker in this call, a client could not easily or efficiently figure + out its position in the log, since it would require getting the global + last marker in the log, and then reading all the log entries. + + This would be slow for large logs, and would be subject to races that + would cause potentially very expensive duplicate work. + + Returning this atomically while fetching the log entries simplifies + all of this. + + Fixes: #6615 + Backport: dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit c275912509255f8bb4c854e181318b45ab0f8564) + +commit a49c064b7a1b4083818b6f950d7e0aade71c6afe +Author: Josh Durgin +Date: Thu Oct 24 08:18:19 2013 -0700 + + cls_log: always return final marker from log_list + + There's no reason to restrict returning the marker to the case where + less than the whole log is returned, since there's already a truncated + flag to tell the client what happened. + + Giving the client the last marker makes it easy to consume when the + log entries do not contain their own marker. If the last marker is not + returned, the client cannot get the last marker without racing with + updates to the log. + + Backport: dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit e74776f4176470122485a79a4c07e9c12c9fc036) + +commit 90101aea6818c2f43bf31243d912ec9143f68882 +Author: Josh Durgin +Date: Thu Oct 10 15:50:39 2013 -0700 + + rgw: skip read_policy checks for system_users + + A system user should still be able to examine suspended buckets, and + get -ENOENT instead of -EACCESS for a deleted object. + + Fixes: #6616 + Backport: dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit ea816c1c2fd47eab647d6fab96c9ca4bfeecd5bb) + +commit 7ef210adbd4645bd45e5387c9b03a122a7ca82df +Author: Sage Weil +Date: Tue Oct 29 08:39:27 2013 -0700 + + common/crc32c: fix #ifdef to be x86_64 specific + + Signed-off-by: Sage Weil + +commit 29f4eebf63bcba9ea86b9a2e4d093b782b5fbf1e +Author: Loic Dachary +Date: Tue Sep 24 08:05:38 2013 +0200 + + rgw: fix rgw test to reflect usage change + + otherwise src/test/cli/radosgw-admin/help.t fails when running make + check when run after a configure --with-radosgw + + Signed-off-by: Loic Dachary + (cherry picked from commit e50343e4423e20130035c860ba47a0edea876f7c) + +commit 0106569a88a92aa94fbc5efc6a0a142ad0de325d +Author: Josh Durgin +Date: Thu Oct 24 17:25:16 2013 -0700 + + rbd.py: increase parent name size limit + + 64 characters isn't all that long. 4096 ought to be enough for anyone. + + Fixes: #6072 + Backport: dumpling, cuttlefish + Signed-off-by: Josh Durgin + (cherry picked from commit 3c0042cde5a12de0f554a16b227ab437c6254ddd) + +commit 352d8c966c323a008362130eb979ae5dfa47494f +Author: Sage Weil +Date: Mon Sep 23 14:10:36 2013 -0700 + + common/config: include --cluster in default usage message + + Clean it up a bit too. + + Signed-off-by: Sage Weil + (cherry picked from commit 157754b3a0191c5ff534a84adbeed88025615898) + +commit 299ddd31b29e332dc5e76bc4f871e4769698665d +Author: Yan, Zheng +Date: Thu Oct 10 10:35:48 2013 +0800 + + mds: fix infinite loop of MDCache::populate_mydir(). + + make MDCache::populate_mydir() only fetch bare-bone stray dirs. + After all stray dirs are populated, call MDCache::scan_stray_dir(), + it fetches incomplete stray dirs. + + Fixes: #4405 + Signed-off-by: Yan, Zheng + Reviewed-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 007f06ec174d4ee5cfb578c8b3f1c96b2bb0c238) + + Conflicts: + + src/mds/MDCache.h + + Reviewed-by: Greg Farnum + +commit 7d99940467019bda74da83f3f1ebc2da46bd6967 +Author: Yehuda Sadeh +Date: Tue Oct 15 10:20:48 2013 -0700 + + rgw: fix authenticated users acl group check + + Fixes: #6553 + Backport: bobtail, cuttlefish, dumpling + Authenticated users group acl bit was not working correctly. Check to + test whether user is anonymous was wrong. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit bebbd6cb7b71697b34b8f27652cabdc40c97a33b) + +commit e5736de834027a281d29afcf6743347a8db97d26 +Author: Yehuda Sadeh +Date: Tue Oct 15 10:55:07 2013 -0700 + + rgw: change default log level + + Fixes: #6554 + Backport: cuttlefish, dumpling + Default log level was just too high, bring it down a bit. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + (cherry picked from commit 8d7dbf85472cfca9268d81ecf057ea078cf345b3) + +commit e6e9ee7145bcfc1774af738af607a653fe8dfe46 +Author: Yehuda Sadeh +Date: Fri Oct 4 13:00:26 2013 -0700 + + rgw: swift update obj metadata also add generic attrs + + Fixes: #6462 + We were missing the generic attributes when we updated the object + metadata (operation that only exists in the swift api). + + Reviewed-by: Josh Durgin + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f2645e1c6d7383a0ace3b239f4304e353249c4bb) + +commit cd1c3c9e00e90b19e83c1f11a48e516a7de93665 +Author: Yan, Zheng +Date: Wed Oct 2 11:43:12 2013 +0800 + + mds: return -EAGAIN if standby replay falls behind + + standby replay may fall behind and get -ENOENT when reading the + journal. return -EAGAIN in this case, it makes the MDS respawn itself. + + fixes: #5458 + + Signed-off-by: Yan, Zheng + Reviewed-by: Sage Weil + (cherry picked from commit d2cb2bf6bac83ac6db9df6cb876317d30e7493cc) + Reviewed-by: Greg Farnum + +commit bd073eeac28d8cba969e5746c5e6adcb95820fdf +Author: Yan, Zheng +Date: Thu Sep 12 09:50:51 2013 +0800 + + mon/MDSMonitor: don't reset incarnation when creating newfs + + Fixes: #6279 + + Signed-off-by: Yan, Zheng + (cherry picked from commit 40613b700b87b495d67793101ae05d6ba58b2a9a) + Reviewed-by: Greg Farnum + +commit 3a3724b782c53c92c45624ad02df9f0de77f1545 +Author: Yan, Zheng +Date: Thu Sep 12 10:36:39 2013 +0800 + + osdc/ObjectCacher: finish contexts after dropping object reference + + The context to finish can be class C_Client_PutInode, which may drop + inode's last reference. So we should first drop object's reference, + then finish contexts. + + Signed-off-by: Yan, Zheng + (cherry picked from commit b66ac77fa7aa3ff37804918c4308a348f239af09) + +commit 102f63993cacf3b3404256e62a3096c5836f2282 +Author: Sandon Van Ness +Date: Tue Oct 8 12:08:08 2013 -0700 + + Go back to $PWD in fsstress.sh if compiling from source. + + Although fsstress was being called with a static path the directory + it was writing to was in the current directory so doing a cd to the + source directory that is made in /tmp and then removing it later + caused it to be unable to write the files in a non-existent dir. + + This change gets the current path first and cd's back into it after + it is done compiling fsstress. + + Issue #6479. + + Signed-off-by: Sandon Van Ness + Reviewed-by: Alfredo Deza + +commit 62db186a19f902b0a23d14034552c83db8de7ece +Author: Gary Lowell +Date: Tue Aug 27 09:53:12 2013 -0700 + + ceph.spec.in: radosgw package doesn't require mod_fcgi + + Fixes #5702 + + Signed-off-by: Gary Lowell + +commit 42fc9b49a7bbc242096946b381aafd435ebdd530 +Merge: ad85b8b 67ac3cf +Author: Gary Lowell +Date: Fri Oct 4 19:51:32 2013 +0000 + + Merge branch 'dumpling' of jenkins:ceph/ceph into dumpling + +commit 67ac3cffa1066030ad840937958bd534e8b26272 +Author: Sage Weil +Date: Thu Oct 3 21:47:26 2013 -0700 + + ceph_test_rados: do not let rollback race with snap delete + + Note that the OSD behaves in a weird way when you rollback to a non- + existent snap, so the test probably isn't the only party at fault here. + + Fixes (test half of): #6254 + Backport: dumpling, cuttlefish + Signed-off-by: Sage Weil + (cherry picked from commit 55d279b98553ba4542219b126fc7159b20b18b1f) + + Conflicts: + + src/test/osd/RadosModel.h + src/test/osd/TestRados.cc diff --git a/doc/changelog/v0.67.6.txt b/doc/changelog/v0.67.6.txt new file mode 100644 index 00000000..510893a1 --- /dev/null +++ b/doc/changelog/v0.67.6.txt @@ -0,0 +1,1258 @@ +commit c71f8a60cf49fb3d4efb5ea75b2366cd7f167497 (tag: refs/tags/v0.67.6) +Author: Alfredo Deza +Date: Thu Feb 13 20:20:42 2014 +0000 + + release build 67.6 + + Signed-off-by: Alfredo Deza + +commit 1c42a6e34bb8e318e001384270cda003add946a7 +Merge: 3e473d4 c5e12f9 +Author: Sage Weil +Date: Thu Feb 13 06:55:37 2014 -0800 + + Merge pull request #1232 from ceph/dumpling-7334 + + backport ceph-disk improvements to dumpling + + http://pulpito.ceph.com/ubuntu-2014-02-12_16:52:33-ceph-deploy-dumpling-7334-testing-basic-plana/ + +commit 3e473d4237697872498094b41fed19b414f8d3c4 +Author: David Zafman +Date: Fri Sep 27 16:23:09 2013 -0700 + + common,os: Remove filestore_xattr_use_omap option + + Now we operate just like when this was set to true + + Fixes: #6143 + + Signed-off-by: David Zafman + (cherry picked from commit dc0dfb9e01d593afdd430ca776cf4da2c2240a20) + +commit c5e12f94efc07f0ff174c0f19494ee2e06d88dfa +Author: Alfredo Deza +Date: Wed Feb 12 16:43:59 2014 -0500 + + add support for absence of PATH + + Note that this commit is actually bisecting the changes from + Loic Dachary that touch ceph-disk only (ad515bf). As that changeset + also touches other files it causes conflicts that are not resolvable + for backporting it to dumpling. + + Signed-off-by: Alfredo Deza + +commit c531d75f7e86cee619e44c247298b50c37b81539 +Author: Sage Weil +Date: Mon Sep 9 22:27:23 2013 -0700 + + ceph-disk: make initial journal files 0 bytes + + The ceph-osd will resize journal files up and properly fallocate() them + so that the blocks are preallocated and (hopefully) contiguous. We + don't need to do it here too, and getting fallocate() to work from + python is a pain in the butt. + + Fixes: #5981 + Signed-off-by: Sage Weil + (cherry picked from commit a786ad773cd33880075f1deb3691528d1afd03ec) + +commit 836ead3e42491597c192c63d3171021c5daecbc0 +Author: Alfredo Deza +Date: Mon Feb 10 15:07:55 2014 -0500 + + alert the user about error messages from partx + + Signed-off-by: Alfredo Deza + (cherry picked from commit 9bcc42a3e6b08521694b5c0228b2c6ed7b3d312e) + +commit cff3547c60dc6d164f9a95eaa2706633e32756d0 +Author: Alfredo Deza +Date: Fri Feb 7 11:55:01 2014 -0500 + + use partx for red hat or centos instead of partprobe + + Signed-off-by: Alfredo Deza + (cherry picked from commit 42900ff9da9f5adcac239a84ebf4d2e407c29699) + +commit 5ebd7c4520a9805f985cab1a0ba9311e19efa041 +Author: Josh Durgin +Date: Tue Jan 28 17:26:58 2014 -0800 + + ceph-disk: run the right executables from udev + + When run by the udev rules, PATH is not defined. Thus, + ceph-disk-activate relies on its which() function to locate the + correct executable. The which() function used os.defpath if none was + set, and this worked for anything using it. + + ad6b4b4b08b6ef7ae8086f2be3a9ef521adaa88c added a new default value to + PATH, so only /usr/bin was checked by callers that did not use + which(). This resulted in the mount command not being found when + ceph-disk-activate was run by udev, and thus osds failing to start + after being prepared by ceph-deploy. + + Make ceph-disk consistently use the existing helpers (command() and + command_check_call()) that use which(), so lack of PATH does not + matter. Simplify _check_output() to use command(), + another wrapper around subprocess.Popen. + + Fixes: #7258 + Signed-off-by: Josh Durgin + (cherry picked from commit d7b0c7faafd37e4ae8a1680edfa60c22b419cbd8) + +commit 4a7c4e0a81753dfb811396e7bfa1df72135ee12b +Author: Loic Dachary +Date: Fri Jan 3 16:06:55 2014 +0100 + + ceph-disk: implement --sysconfdir as /etc/ceph + + Replace hardcoded /etc/ceph with the SYSCONFDIR global variable and + implement the --sysconfdir option to override the default value. + + Signed-off-by: Loic Dachary + (cherry picked from commit a71025d33621257b6fd6632516cfed2849ff1637) + +commit c8b9798a69bd1655a7131c7bce8a14c2c74aba0c +Author: Loic Dachary +Date: Fri Jan 3 16:03:09 2014 +0100 + + ceph-disk: implement --statedir as /var/lib/ceph + + Replace hardcoded /var/lib/ceph with the STATEDIR global variable and + implement the --statedir option to override the default value. + + Signed-off-by: Loic Dachary + (cherry picked from commit ca713f48ae7a1fece2869f1a1c97d23ab33fb441) + +commit 79564874be35d4414092fbb80df3214d7f282b1c +Author: Loic Dachary +Date: Wed Jan 1 22:05:03 2014 +0100 + + ceph-disk: add copyright notice + + Signed-off-by: Loic Dachary + (cherry picked from commit 51ee3c04777aaf6b9609dde9bc318b5c66c70787) + +commit c4b66bbdf09a8bb85ed14fbb643f40f87345463b +Author: Loic Dachary +Date: Wed Jan 1 22:11:30 2014 +0100 + + ceph-disk: create the data directory if it does not exist + + Instead of failing if the OSD data directory does not exist, create + it. Only do so if the data directory is not enforced to be a device via + the use of the --data-dev flag. The directory is not recursively created. + + Signed-off-by: Loic Dachary + (cherry picked from commit 306b099ab093bfac466d68fe1cb87367bc01e577) + +commit c473c65d4b6235fe20a97bd1d4741c12f86858e8 +Author: Loic Dachary +Date: Tue Dec 31 00:03:42 2013 +0100 + + ceph-disk: run ceph-osd when --mark-init=none + + Signed-off-by: Loic Dachary + (cherry picked from commit 0fcc081858fae4febbb6a613a93cfbbcedd5a320) + +commit 6ea59a3a0c38c9629036442aff652489eecce51a +Author: Loic Dachary +Date: Mon Dec 30 23:57:39 2013 +0100 + + ceph-disk: implement --mark-init=none + + It is meant to be used when preparing and activating a directory that is + not to be used with init. No file is created to identify the init + system, no symbolic link is made to the directory in /var/lib/ceph + and the init scripts are not called. + + Signed-off-by: Loic Dachary + (cherry picked from commit e773b68f4c89ac56b425c710d7dcdc3d74a92926) + +commit 3aae5b764c5698c665a708a3f6f2243dfee1a28d +Author: Loic Dachary +Date: Wed Jan 1 22:07:57 2014 +0100 + + ceph-disk: fsid is a known configuration option + + Use get_conf_with_default instead of get_conf because fsid is a known + ceph configuration option. It allows overriding via CEPH_ARGS which is + convenient for testing. Only options that are not found in config_opts.h + are fetch via get_conf. + + Signed-off-by: Loic Dachary + (cherry picked from commit b65eb377f5e93ea85644e4c0939365fd7ac36072) + +commit a33ad6d150206232806ee466f301e41f15c631e9 +Author: Loic Dachary +Date: Wed Jan 1 22:06:29 2014 +0100 + + ceph-disk: use CalledProcessError.returncode + + CalledProcessError has no errno data member + + Signed-off-by: Loic Dachary + (cherry picked from commit 97f516a1ddfb2d014e1f7e762c4155e4b9bcb90b) + +commit 6ae96d3ce757b05daeb7c1437778149b07248d47 +Author: Loic Dachary +Date: Wed Jan 1 22:13:15 2014 +0100 + + ceph-disk: display the command output on OSD creation failure + + The string form of a CalledProcessError instance does not include the + output datamember. Add it to the Error exception for debug purposes. + + Signed-off-by: Loic Dachary + (cherry picked from commit d09af0fa50f322c9e59765f3badd497f5ca184d4) + +commit deefb3a05788b308631812c652e9eccaeb999d7f +Author: Loic Dachary +Date: Mon Dec 30 23:07:27 2013 +0100 + + ceph-disk: which() uses PATH first + + Instead of relying on a hardcoded set of if paths. Although this has the + potential of changing the location of the binary being used by ceph-disk + on an existing installation, it is currently only used for sgdisk. It + could be disruptive for someone using a modified version of sgdisk but + the odds of this happening are very low. + + Signed-off-by: Loic Dachary + (cherry picked from commit 2b935bbf60bafb6dd488c0eb30f156fce1b9d197) + +commit 06bbea187293ac52aefbcf4e98c162bb3286341d +Author: Loic Dachary +Date: Mon Dec 30 22:48:46 2013 +0100 + + ceph-disk: add --prepend-to-path to control execution + + /usr/bin is hardcoded in front of some ceph programs which makes it + impossible to control where they are located via the PATH. + + The hardcoded path cannot be removed altogether because it will most + likely lead to unexpected and difficult to diagnose problems for + existing installations where the PATH finds the program elsewhere. + + The --prepend-to-path flag is added and defaults to /usr/bin : it prepends + to the PATH environment variable. The hardcoded path is removed + and the PATH will be used: since /usr/bin is searched first, the + legacy behavior will not change. + + Signed-off-by: Loic Dachary + (cherry picked from commit ad6b4b4b08b6ef7ae8086f2be3a9ef521adaa88c) + +commit ccf182241dc04c79e2377b6ba2f060dbfe6dddae +Author: Loic Dachary +Date: Mon Dec 30 17:15:29 2013 +0100 + + ceph-disk: make exception handling terse in main_activate_journal + + Signed-off-by: Loic Dachary + (cherry picked from commit 908348b8047e8577ecf9133f2683f91423694416) + +commit d60e952f3c00d0e551b04c0d6486b11d9761be35 +Author: Loic Dachary +Date: Mon Dec 30 17:13:47 2013 +0100 + + ceph-disk: do not hide main_activate() exceptions + + Signed-off-by: Loic Dachary + (cherry picked from commit 55ca7bb2da73f1be1293710a635cfea42abd7682) + +commit 827edb93e3971fc7549fe831894776c6bf163346 +Author: Loic Dachary +Date: Mon Dec 30 17:11:30 2013 +0100 + + ceph-disk: fix activate() indent + + Signed-off-by: Loic Dachary + (cherry picked from commit 324804a81c37ff89f2488e2ba106033c0e6e119e) + +commit 27988cf9ffedf3289099e51f1e7c3f5b8d79d667 +Author: Loic Dachary +Date: Mon Dec 30 17:09:35 2013 +0100 + + ceph-disk: remove noop try: + + Signed-off-by: Loic Dachary + (cherry picked from commit de0050596b5f56863c3486c1cd5e7ffea62e3d00) + +commit 75bdb5430d9403bed8bd2ccd6a9c5a30d63a189e +Author: Loic Dachary +Date: Mon Dec 30 16:57:36 2013 +0100 + + ceph-disk: fix Error() messages formatting + + Mainly using % instead of , + + Signed-off-by: Loic Dachary + (cherry picked from commit b82ccfbfa786cd5436b48ec38276c5a48028ce1d) + +commit 5df1eaa55bc7ebe68473831d06cf9819fa39baa6 +Author: Loic Dachary +Date: Mon Dec 30 12:26:20 2013 +0100 + + ceph-disk: prepare --data-dir must not override files + + ceph-disk does nothing when given a device that is already prepared. If + given a directory that already contains a successfully prepared OSD, it + will however override it. + + Instead of overriding the files in the osd data directory, return + immediately if the magic file exists. Make it so the magic file is + created last to accurately reflect the success of the OSD preparation. + + Signed-off-by: Loic Dachary + (cherry picked from commit 7dfe550ce18623cde4ae43a2416e31ef81381ab9) + +commit 2e8496a6e0b74ff351bc2a4f138ddc665d8c30ca +Author: Loic Dachary +Date: Sun Dec 15 15:34:17 2013 +0100 + + ceph-disk: zap needs at least one device + + If given no argument, ceph-disk zap should display the usage instead of + silently doing nothing. Silence can be confused with "I zapped all the + disks". + + http://tracker.ceph.com/issues/6981 fixes #6981 + + Signed-off-by: Loic Dachary + (cherry picked from commit 07888ef3fd4440332c8287d0faa9f23a32cf141c) + +commit 0fe2ac47a82d3caa9dca2a9009b68a14b577e35c +Author: Alfredo Deza +Date: Fri Dec 13 12:06:25 2013 -0500 + + use the new get_command helper in check_call + + Signed-off-by: Alfredo Deza + (cherry picked from commit 897dfc113fe3b86f3dda53172933bfd4f8089869) + +commit 8fc9f1b791248f08a311d619addc4465cac298f9 +Author: Alfredo Deza +Date: Thu Dec 12 11:16:38 2013 -0500 + + use the absolute path for executables if found + + Signed-off-by: Alfredo Deza + (cherry picked from commit a9334a1c8c6681305e76b361377864d0dd1e3d34) + +commit a2de2f718c9e341c0b6ec2ebffdf03d0f9da0fbd +Author: Alfredo Deza +Date: Thu Dec 12 10:26:05 2013 -0500 + + remove trailing semicolon + + Signed-off-by: Alfredo Deza + (cherry picked from commit 43561f791607f5fd6f03d5421e1f30a29fb4194e) + +commit 2cd22b5d39760ac4b5baad0b05c676b833ae9213 +Author: Alfredo Deza +Date: Wed Dec 11 15:41:45 2013 -0500 + + replace sgdisk subprocess calls with a helper + + Signed-off-by: Alfredo Deza + (cherry picked from commit e19e38012bc4579054f63865e682c8c3a7829c7b) + +commit e8cc27cc8eb981c71b8cafb58964317687ca5787 +Author: Jonathan Davies +Date: Tue Dec 3 21:26:43 2013 +0000 + + Call --mbrtogpt on journal run of sgdisk should the drive require a GPT table. + + Signed-off-by: Jonathan Davies + Reviewed-by: Sage Weil + Reviewed-by: Loic Dachary + (cherry picked from commit 35011e0b01d65e4c001876882d597451f2028345) + +commit 3942a93fae3331b2d08f93181eb2c9cf90b50440 +Author: Loic Dachary +Date: Thu Nov 21 13:21:22 2013 +0100 + + ceph-disk: blacklist /dev/fd0 + + blkid -s TYPE /dev/fd0 has been verified to hang forever on a + H8DMR-82 supermicro motherboard running + + 3.8.0-33-generic #48~precise1-Ubuntu SMP Thu Oct 24 16:28:06 UTC 2013 + x86_64 + + It is unlikely that ceph will ever be used on floppy disks, they + can be blacklisted. + + http://tracker.ceph.com/issues/6827 fixes: #6827 + + Signed-off-by: Loic Dachary + (cherry picked from commit 65701978715237ff5a4c68573c0696fd9d438e4f) + +commit ccc6b0c5e6d47eefef5cf1fa17bf69c47c9459c4 +Author: git-harry +Date: Thu Oct 3 10:32:50 2013 +0100 + + Make fsid comparison case-insensitive + + get_fsid and find_cluster_by_uuid are modified so ceph-disk activate and + ceph-disk activate-all will work if the fsid uses uppercase characters. + + Signed-off-by: Harry Harrington + (cherry picked from commit 22f8325dbfce7ef2e97bf015c0f8bba53e75dfe9) + +commit 367cf1bbf86233eb20ff2304e7d6caab77b84fcc +Author: Josh Durgin +Date: Tue Feb 11 10:14:36 2014 -0800 + + librbd: remove limit on number of objects in the cache + + The number of objects is not a significant indicated of when data + should be written out for rbd. Use the highest possible value for + number of objects and just rely on the dirty data limits to trigger + flushing. When the number of objects is low, and many start being + flushed before they accumulate many requests, it hurts average request + size and performance for many concurrent sequential writes. + + Fixes: #7385 + Backport: emperor, dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit 0559d31db29ea83bdb6cec72b830d16b44e3cd35) + +commit 4856fc2950442fafc208c967af5131f7874f5441 +Author: Josh Durgin +Date: Tue Feb 11 11:53:00 2014 -0800 + + ObjectCacher: use uint64_t for target and max values + + All the options are uint64_t, but the ObjectCacher was converting them + to int64_t. There's never any reason for these to be negative, so + change the type. + + Adjust a few conditionals so that they only convert known-positive + signed values to uint64_t before comparing with the target and max + values. Leave the actual stats accounting as loff_t for now, since + bugs in accounting will have bad effects if negative values wrap + around. + + Backport: emperor, dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit db034acf546a72739ff6543241543f3bd651f3ae) + +commit a572aafe178dfa3ab4d82aa5c7f4a72a63590ccf +Author: Josh Durgin +Date: Tue Feb 11 10:35:14 2014 -0800 + + ObjectCacher: remove max_bytes and max_ob arguments to trim() + + These are never passed, so replace them with the defaults. + + Backport: emperor, dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit bf8cf2d6d21a204a099347f3dcd5b48100b8c445) + +commit 4889234f80dbd95e5b2012ff9bfc2d87960034e2 +Merge: 6af657b 30a604d +Author: Sage Weil +Date: Tue Feb 11 08:32:37 2014 -0800 + + Merge pull request #1210 from dachary/dumpling + + common: admin socket fallback to json-pretty format (dumpling) + + Reviewed-by: Sage Weil + +commit 30a604d2d6a5de7bcbfa0136e9a766cb34f96c0a +Author: Loic Dachary +Date: Mon Feb 10 23:42:38 2014 +0100 + + common: admin socket fallback to json-pretty format + + If the format argument to a command sent to the admin socket is not + among the supported formats ( json, json-pretty, xml, xml-pretty ) the + new_formatter function will return null and the AdminSocketHook::call + function must fall back to a sensible default. + + The CephContextHook::call and HelpHook::call failed to do that and a + malformed format argument would cause the mon to crash. A check is added + to each of them and fallback to json-pretty if the format is not + recognized. + + To further protect AdminSocketHook::call implementations from similar + problems the format argument is checked immediately after accepting the + command in AdminSocket::do_accept and replaced with json-pretty if it is + not known. + + A test case is added for both CephContextHook::call and HelpHook::call + to demonstrate the problem exists and is fixed by the patch. + + Three other instances of unsafe calls to new_formatter were found and + a fallback to json-pretty was added. All other calls have been audited + and appear to be safe. + + http://tracker.ceph.com/issues/7378 fixes #7378 + + Signed-off-by: Loic Dachary + (cherry picked from commit 165e76d4d03ffcc490fd3c2ba60fb37372990d0a) + +commit 6af657bd4cf87f6f7afe84257941e7e2366183d9 +Author: Josh Durgin +Date: Wed Feb 5 17:26:02 2014 -0800 + + qa: add script for testing rados client timeout options + + Signed-off-by: Josh Durgin + (cherry picked from commit 9e62beb80b6c92a97ec36c0db5ea39e417661b35) + +commit 21a0b67440eaa07fa051d26321a88654ee9e8ae7 +Author: Josh Durgin +Date: Wed Feb 5 17:25:24 2014 -0800 + + rados: check return values for commands that can now fail + + A few places were not checking the return values of commands, since + they could not fail before timeouts were added. + + Signed-off-by: Josh Durgin + (cherry picked from commit 79c1874346ff55e2dc74ef860db16ce70242fd00) + +commit 2c42dd26b49d01922bd3df3ba26af70da0387a99 +Author: Josh Durgin +Date: Wed Feb 5 17:24:16 2014 -0800 + + librados: check and return on error so timeouts work + + Some functions could not previously return errors, but they had an + int return value, which can now receive ETIMEDOUT. + + Signed-off-by: Josh Durgin + (cherry picked from commit 8e9459e897b1bc2f97d52ee07701fd22069efcf3) + +commit 28fe564cc298b96c063e6cca44304046a86942cd +Author: Josh Durgin +Date: Wed Feb 5 17:22:14 2014 -0800 + + msg/Pipe: add option to restrict delay injection to specific msg type + + This makes it possible to test timeouts reliably by delaying certain + messages effectively forever, but still being able to e.g. connect and + authenticate to the monitors. + + Signed-off-by: Josh Durgin + (cherry picked from commit d389e617c1019e44848330bf9570138ac7b0e5d4) + +commit 1d2ea9efb844cb902d282c3a752acc45fefeb04c +Author: Josh Durgin +Date: Mon Feb 3 18:30:00 2014 -0800 + + MonClient: add a timeout on commands for librados + + Just use the conf option directly, since librados is the only caller. + + Signed-off-by: Josh Durgin + (cherry picked from commit 671a76d64bc50e4f15f4c2804d99887e22dcdb69) + +commit 30dafacd0b54bb98b01284851e0d5abf76324e95 +Author: Josh Durgin +Date: Mon Feb 3 17:59:21 2014 -0800 + + Objecter: implement mon and osd operation timeouts + + This captures almost all operations from librados other than mon_commands(). + + Get the values for the timeouts from the Objecter constructor, so only + librados uses them. + + Add C_Cancel_*_Op, finish_*_op(), and *_op_cancel() for each type of + operation, to mirror those for Op. Create a callback and schedule it + in the existing timer thread if the timeouts are specified. + + Fixes: #6507 + Signed-off-by: Josh Durgin + (cherry picked from commit 3e1f7bbb4217d322f4e0ece16e676cd30ee42a20) + + Conflicts: + src/osd/OSD.cc + src/osd/ReplicatedPG.cc + src/osdc/Objecter.cc + src/osdc/Objecter.h + +commit 2aa0d7589283fe5879a966601fbfe690816cc4a1 +Author: Josh Durgin +Date: Mon Feb 3 12:53:15 2014 -0800 + + librados: add timeout to wait_for_osdmap() + + This is used by several pool operations independent of the objecter, + including rados_ioctx_create() to look up the pool id in the first + osdmap. + + Unfortunately we can't just rely on WaitInterval returning ETIMEDOUT, + since it may also get interrupted by a signal, so we can't avoid + keeping track of time explicitly here. + + Signed-off-by: Josh Durgin + (cherry picked from commit 1829d2c9fd13f2cbae4e192c9feb553047dad42c) + + Conflicts: + src/librados/RadosClient.cc + +commit 55d254d5ea113d8be29afe18dc9940f14d93ebb4 +Author: Josh Durgin +Date: Mon Feb 3 12:09:34 2014 -0800 + + conf: add options for librados timeouts + + These will be implemented in subsequent patches. + + Signed-off-by: Josh Durgin + (cherry picked from commit 0dcceff1378d85ca6d81d102d201890b8a71af6b) + +commit ccd9b5eb9bcfe2360e874b306d4decd8815ecf46 +Author: Sage Weil +Date: Sun Feb 9 20:53:00 2014 -0800 + + test_striper: fix warning + + Signed-off-by: Sage Weil + +commit bb44c0d5e06c2b699c81a76373a0edde1bf90445 +Author: Sage Weil +Date: Sat Feb 8 12:21:26 2014 -0800 + + crushtool: add cli test for off-by-one tries vs retries bug + + See bug #7370. This passes on dumpling and breaks prior to the #7370 fix. + + Backport: emperor, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit ed32c4002fb5cb1dd546331651eaf7de1a017471) + +commit c301ec689caac5bbcd21e02226045d3454cc82fd +Author: Sage Weil +Date: Mon Feb 3 08:54:14 2014 -0800 + + client: use 64-bit value in sync read eof logic + + The file size can jump to a value that is very much larger than our current + position (for example, it could be a disk image file that gets a sparse + write at a large offset). Use a 64-bit value so that 'some' doesn't + overflow. + + Signed-off-by: Sage Weil + Reviewed-by: John Spray + (cherry picked from commit 7ff2b541c24d1c81c3bcfbcb347694c2097993d7) + +commit 183deb899bc6b1b7b2a1ec639425e45786e56b01 +Author: Sage Weil +Date: Sat Jan 4 22:39:35 2014 -0800 + + osd: do not send peering messages during init + + Do not send any peering messages while we are still working our way + through init(). + + Fixes: #7093 + Signed-off-by: Sage Weil + (cherry picked from commit 35da8f9d80e0c6c33fb6c6e00f0bf38f1eb87d0e) + Signed-off-by: Greg Farnum + +commit 3a1fb17401897b0717cf1d264c6e6fdf99fc703f +Author: Sage Weil +Date: Tue Jan 28 18:46:37 2014 -0800 + + OSDMap: fix deepish_copy_from + + Start with a shallow copy! + + Signed-off-by: Sage Weil + (cherry picked from commit d0f13f54146694a197535795da15b8832ef4b56f) + + Conflicts: + + src/osd/OSDMap.h + +commit f01bd8a94adc4ce8e7131f74282de5b434a7316a +Author: Yehuda Sadeh +Date: Thu Jan 23 13:48:28 2014 -0800 + + rgw: fix listing of multipart upload parts + + Fixes: #7169 + + There are two issues here. One is that we may return more entries than + we should (as specified by max_parts). Second issue is that the + NextPartNumberMarker is set incorrectly. Both of these issues mainly + affect uploads with > 1000 parts, although can be triggered with less + than that. + + Signed-off-by: Yehuda Sadeh + +commit 6b657992d2397e399eacf554357ed807fda399fa +Author: Yehuda Sadeh +Date: Thu Nov 21 06:52:48 2013 -0800 + + rgw: initialize RGWUserAdminOpState::system_specified + + Fixes: #6829 + Backport: dumpling, emperor + We didn't init this member variable, which might cause that when + modifying user info that has this flag set the 'system' flag might + inadvertently reset. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 561e7b0b287e65e90b80699e45a52ae44e94684f) + +commit 585e0e7eec1bbee60fe352166b593d53476003f8 +Author: Robin H. Johnson +Date: Sun Dec 15 12:26:19 2013 -0800 + + rgw: Fix CORS allow-headers validation + + This fix is needed because Ceph presently validates CORS headers in a + case-sensitive manner. Keeps a local cache of lowercased allowed headers + to avoid converting the allowed headers to lowercase each time. + + CORS 6.2.6: If any of the header field-names is not a ASCII + case-insensitive match for any of the values in list of headers do not + set any additional headers and terminate this set of steps. + + Signed-off-by: Robin H. Johnson + Reviewed-by: Yehuda Sadeh + (cherry picked from commit 31b60bfd9347a386ff12b4e4f1812d664bcfff01) + +commit da2267a87e37afa28385e915a566de26fd784b70 +Author: Robin H. Johnson +Date: Sun Dec 15 11:40:31 2013 -0800 + + rgw: Clarify naming of case-change functions + + It is not clear that the lowercase_http_attr & uppercase_http_attr + functions replace dashes with underscores. Rename them to match the + pattern established by the camelcase_dash_http_attr function in + preperation for more case-change functions as needed by later fixes. + + Signed-off-by: Robin H. Johnson + Reviewed-by: Yehuda Sadeh + (cherry picked from commit 6a7edab2673423c53c6a422a10cb65fe07f9b235) + +commit fdea76ef6f7d7c4ee89c30d430f5495072023957 +Author: Robin H. Johnson +Date: Sun Dec 15 11:27:49 2013 -0800 + + rgw: Look at correct header about headers for CORS + + The CORS standard dictates that preflight requests are made with the + Access-Control-Request-Headers header containing the headers of the + author request. The Access-Control-Allow-Headers header is sent in the + response. + + The present code looks for Access-Control-Allow-Headers in request, so + fix it to look at Access-Control-Request-Headers instead. + + Signed-off-by: Robin H. Johnson + Reviewed-by: Yehuda Sadeh + (cherry picked from commit 2abacd9678ae04cefac457882ba718a454948915) + +commit a5739e3903f8c30c8168199413818922b4a29bad +Author: Yehuda Sadeh +Date: Fri Dec 6 11:07:09 2013 -0800 + + rgw: fix reading bucket policy in RGWBucket::get_policy() + + Fixes: 6940 + Backport: dumpling, emperor + + We changed the way we keep the bucket policy, and we shouldn't try to + access the bucket object directly. This had changed when we added the + bucket instance object around dumpling. + + Reported-by: Gao, Wei M + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7a9a088d82d04f6105d72f6347673724ac16c9f8) + +commit ba792cdc8d0c006e260e6a02a33ca1491b35901c +Author: Yehuda Sadeh +Date: Thu Jan 16 11:45:27 2014 -0800 + + rgw: handle racing object puts when object doesn't exist + + If the object didn't exist before and now we have multiple puts coming + in concurrently, we need to make sure that we behave correctly. Only one + needs to win, the other one can fail silently. We do that by setting + exclusive flag on the object creation and handling the error correctly. + Note that we still want to return -EEXIST in some cases (when the + exclusive flag is passed to put_obj_meta(), e.g., on bucket creation). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 86c15480fc3e33b9a3b84d0af68d8398fc732bae) + +commit 1e2984ac4a4ed0508e1b5efc8b69ae4da0cac824 +Author: Yehuda Sadeh +Date: Thu Jan 16 11:33:49 2014 -0800 + + rgw: don't return -ENOENT in put_obj_meta() + + Fixes: #7168 + + An object put may race with the same object's delete. In this case just + ignore the error, same behavior as if object was created and then + removed. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5c24a7ea905587fd4077e3b0cfc0f5ad2b178c29) + +commit 5f1eea2ccf1ee4296530fc754bfd5dfc1571cd62 +Author: Robin H. Johnson +Date: Sat Jan 18 18:01:20 2014 -0800 + + rgw: Use correct secret key for POST authn + + The POST authentication by signature validation looked up a user based + on the access key, then used the first secret key for the user. If the + access key used was not the first access key, then the expected + signature would be wrong, and the POST would be rejected. + + Signed-off-by: Robin H. Johnson + (cherry picked from commit 586ad1f69e6260ef298805647911b3b49f8be7cf) + +commit 14e933eb2e8adf3e7df2aef823d863c593067928 +Author: Joao Eduardo Luis +Date: Tue Jan 28 15:54:33 2014 +0000 + + osd: OSDMonitor: ignore pgtemps from removed pool + + There's a window in-between receiving an MOSDPGTemp message from an OSD + and actually handling it that may lead to the pool the pg temps refer to + no longer existing. This may happen if the MOSDPGTemp message is queued + pending dispatching due to an on-going proposal (maybe even the pool + removal). + + This patch fixes such behavior in two steps: + + 1. Check if the pool exists in the osdmap upon preprocessing + - if pool does not exist in the osdmap, then the pool must have been + removed prior to handling the message, but after the osd sent it. + - safe to ignore the pg update + 2. If all pg updates in the message have been ignored, ignore the whole + message. Otherwise, let prepare handle the rest. + + 3. Recheck if pool exists in the osdmap upon prepare + - We may have ignored this pg back in preprocess, but other pgs in the + message may have led the message to be passed on to prepare; ignore + pg update once more. + 4. Check if pool is pending removal and ignore pg update if so. + + We delegate checking the pending value to prepare_pgtemp() because in this + case we should only ignore the update IFF the pending value is in fact + committed. Otherwise we should retry the message. prepare_pgtemp() is + the appropriate place to do so. + + Fixes: 7116 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit f513f66f48383a07c70ca18a4dba6c2449ea9860) + +commit 3672fc49bea5efcef2069673c88fd8e526eeb7e5 +Author: Sage Weil +Date: Tue Jan 28 11:00:34 2014 -0800 + + OSDMonitor: use deepish_copy_from for remove_down_pg_temp + + This is a backport of 368852f6c0a884b8fdc80a5cd6f9ab72e814d412. + + Make a deep copy of the OSDMap to avoid clobbering the in-memory copy with + the call to apply_incremental. + + Fixes: #7060 + Signed-off-by: Sage Weil + +commit e6fef68ee51a2e3be6537086246ce860819788eb +Author: Sage Weil +Date: Fri Jan 24 11:03:26 2014 -0800 + + OSDMap: deepish_copy_from() + + Make a deep(ish) copy of another OSDMap. Unfortunatley we can't make the + compiler-generated copy operator/constructors private until c++11. :( + + Signed-off-by: Sage Weil + (cherry picked from commit bd54b9841b9255406e56cdc7269bddb419453304) + +commit 2528186c0dd327607b1e76a51581df72aeea52f2 +Author: Sage Weil +Date: Tue Jan 28 10:26:12 2014 -0800 + + buffer: make 0-length splice() a no-op + + This was causing a problem in the Striper, but fixing it here will avoid + corner cases all over the tree. Note that we have to bail out before + the end-of-buffer check to avoid hitting that check when the bufferlist is + also empty. + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit ff5abfbdae07ae8a56fa83ebaa92000896f793c2) + +commit fe9539e118a830aa71bc5846ad2693543213fc59 +Author: Sage Weil +Date: Tue Jan 28 10:09:17 2014 -0800 + + osdc/Striper: test zero-length add_partial_result + + If we add a partial result that is 0-length, we used to hit an assert in + buffer::list::splice(). Add a unit test to verify the fix. + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit 28c7388d320a47657c2e12c46907f1bf40672b08) + +commit 9801718e6e7a335d1aeffb7f3d958b012d8dd79c +Author: Derek Yarnell +Date: Mon Jan 27 12:27:51 2014 -0700 + + packaging: apply udev hack rule to RHEL + + In the RPM spec file there is a test to deploy the uuid hack udev rules + for older udev operating systems. This includes CentOS and RHEL, but the + check currently only is for CentOS, causing RHEL clients to get a bogus + osd rules file. + + Adjust the conditional to apply to RHEL as well as CentOS. (The %{rhel} + macro is defined in both platforms' redhat-rpm-config package.) + + Fixes http://tracker.ceph.com/issues/7245 + + Signed-off-by: Ken Dreyer + (cherry picked from commit 64a0b4fa563795bc22753940aa3a4a2946113109) + +commit 5817078ba9b2aa38f39e1f62d8d08e943646c0bb +Merge: 9fa8d2d abf6441 +Author: Sage Weil +Date: Thu Jan 23 07:12:37 2014 -0800 + + Merge pull request #1129 from ceph/wip-dumpling-backport-6620 + + mds: MDSMap: adjust buffer size for uint64 values with more than 5 chars + +commit abf64417bbc63b006c53a07262a5774d0d40550e +Author: Joao Eduardo Luis +Date: Thu Jan 23 11:36:16 2014 +0000 + + mds: MDSMap: adjust buffer size for uint64 values with more than 5 chars + + Fixes: #6620 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 0e8182edd850f061421777988974efbaa3575b9f) + +commit 9fa8d2d1bd4a8cf56fdebae484bee35c3930fb62 +Author: Sage Weil +Date: Tue Jan 21 11:29:56 2014 -0800 + + mon/MDSMonitor: do not generate mdsmaps from already-laggy mds + + There is one path where a mds that is not sending its beacon (e.g., + because it is not running at all) will lead to proposal of new mdsmaps. + Fix it. + + Backport: emperor, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 584c2dd6bea3fe1a3c7f306874c054ce0cf0d2b5) + +commit a2e34b8d322e571600d6c0a3ff363f9910196f28 +Author: John Spray +Date: Mon Jan 20 11:08:27 2014 +0000 + + Fix #7187: Include all summary items in JSON health output + + Signed-off-by: John Spray + (cherry picked from commit fdf3b5520d150f14d90bdfc569b70c07b0579b38) + +commit ee9fc590a556354b54a174a4790c4142949d7409 +Author: Yehuda Sadeh +Date: Mon Jan 6 18:32:42 2014 -0800 + + rgw: convert bucket info if needed + + Fixes: #7110 + In dumpling, the bucket info was separated into bucket entry point and + bucket instance objects. When setting bucket attrs we only ended up + updating the bucket instance object. However, pre-dumpling buckets still + keep everything at the entry-point object, so acl changes didn't affect + anything (because we never updated the entry point). This change just + converts the bucket info into the new format. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a5f8cc7ec9ec8bef4fbc656066b4d3a08e5b215b) + +commit 69a99e6edd67aadaea77fb5ebcf46190dbfcdbc6 +Author: Sage Weil +Date: Sat Jan 4 22:40:43 2014 -0800 + + osd: ignore OSDMap messages while we are initializing + + The mon may occasionally send OSDMap messages to random OSDs, but is not + very descriminating in that we may not have authenticated yet. Ignore any + messages if that is the case; we will reqeust whatever we need during the + BOOTING state. + + Fixes: #7093 + Signed-off-by: Sage Weil + (cherry picked from commit f68de9f352d53e431b1108774e4a23adb003fe3f) + +commit 1545ddbd3b6dfac897d483bd58a4335d68b9b62a +Author: Sage Weil +Date: Sat Jan 4 22:43:26 2014 -0800 + + mon: only send messages to current OSDs + + When choosing a random OSD to send a message to, verify not only that + the OSD id is up but that the session is for the same instance of that OSD + by checking that the address matches. + + Fixes: #7093 + Backport: emperor, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 98ed9ac5fed6eddf68f163086df72faabd9edcde) + +commit 4d88dd10bfab4e5fb45632245be5f79eeba73a30 +Author: Sage Weil +Date: Mon Aug 26 13:58:47 2013 -0700 + + osd: discriminate based on connection messenger, not peer type + + Replace ->get_source().is_osd() checks and instead see if it is the + cluster_messenger so that we do not confuse ourselves when we get + legit requests from other OSDs on our public interface. + + NOTE: backporting this because a mixed cluster may send OSD requests + via the client interface, even though dumpling doesn't do this. + + Signed-off-by: Sage Weil + (cherry picked from commit a6b04c5d8ba043727a2e39a62e9d4126485bcfeb) + + Conflicts: + + src/osd/OSD.cc + +commit 2354b957b7924af3e81f559d5c975262848c3bf6 +Author: Loic Dachary +Date: Sun Dec 15 22:59:51 2013 +0100 + + qa: test for error when ceph osd rm is EBUSY + + http://tracker.ceph.com/issues/6824 fixes #6824 + + Signed-off-by: Loic Dachary + (cherry picked from commit 31507c90f0161c4569a2cc634c0b5f671179440a) + +commit 10ad2e01f832ca9293a1bda1c82f7d318e8c3589 +Author: Loic Dachary +Date: Sun Dec 15 16:27:02 2013 +0100 + + mon: set ceph osd (down|out|in|rm) error code on failure + + Instead of always returning true, the error code is set if at least one + operation fails. + + EINVAL if the OSD id is invalid (osd.foobar for instance). + EBUSY if trying to remove and OSD that is up. + + When used with the ceph command line, it looks like this: + + ceph -c ceph.conf osd rm osd.0 + Error EBUSY: osd.0 is still up; must be down before removal. + kill PID_OF_osd.0 + ceph -c ceph.conf osd down osd.0 + marked down osd.0. + ceph -c ceph.conf osd rm osd.0 osd.1 + Error EBUSY: removed osd.0, osd.1 is still up; must be down before removal. + + http://tracker.ceph.com/issues/6824 fixes #6824 + + Signed-off-by: Loic Dachary + (cherry picked from commit 15b8616b13a327701c5d48c6cb7aeab8fcc4cafc) + +commit db82bfec50349783c3bb708c65cf89bceff7b2ca +Author: Joao Eduardo Luis +Date: Tue Oct 29 20:30:37 2013 +0000 + + mon: OSDMonitor: fix some annoying whitespace + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 42c4137cbfacad5654f02c6608cc0e81b45c06be) + +commit 1abb16988727a21dff61edca48bfcb05c60d26f2 +Author: Josh Durgin +Date: Thu Dec 26 17:38:52 2013 -0800 + + librbd: call user completion after incrementing perfcounters + + The perfcounters (and the ictx) are only valid while the image is + still open. If the librbd user gets the callback for its last I/O, + then closes the image, the ictx and its perfcounters will be + invalid. If the AioCompletion object is has not run the rest of its + complete() method yet, it will access these now-invalid addresses, + possibly leading to a crash. + + The AioCompletion object is independent of the ictx and does not + access it again after incrementing perfcounters, so avoid this race by + calling the user's callback after this step. The AioCompletion object + will be cleaned up by the rest of complete_request(), independent of + the ImageCtx. + + Fixes: #5426 + Backport: dumpling, emperor + Signed-off-by: Josh Durgin + (cherry picked from commit 4cea7895da7331b84d8c6079851fdc0ff2f4afb1) + +commit 4dae50d8a0ffe3f3491eae62950fe46229aaa0e6 +Author: Josh Durgin +Date: Fri Dec 6 16:03:20 2013 -0800 + + objecter: don't take extra throttle budget for resent ops + + These ops have already taken their budget in the original op_submit(). + It will be returned via put_op_budget() when they complete. + If there were many localized reads of missing objects from replicas, + or cache pool redirects, this would cause the objecter to use up all + of its op throttle budget and hang. + + Signed-off-by: Josh Durgin + (cherry picked from commit 8d0180b1b7b48662daef199931efc7f2a6a1c431) + + Conflicts: + + src/osdc/Objecter.cc + +commit 4944618fe74e1875e37a5de9a5bfe3922f906942 +Author: Josh Durgin +Date: Thu Dec 5 17:44:37 2013 -0800 + + rbd: check write return code during bench-write + + This is allows rbd-bench to detect http://tracker.ceph.com/issues/6938 + when combined with rapidly changing the mon osd full ratio. + + Signed-off-by: Josh Durgin + (cherry picked from commit 3caf3effcb113f843b54e06099099909eb335453) + +commit 3a7a0353d7c8521a2c3c25778801d45f0ca10957 +Author: Josh Durgin +Date: Thu Dec 5 17:36:33 2013 -0800 + + objecter: resend all writes after osdmap loses the full flag + + Now that the osd does not respond if it gets a map with the full flag + set first, clients need to resend all writes. + + Clients talking to old osds are still subject to the race condition, + so both sides must be upgraded to avoid it. + + Refs: #6938 + Backport: dumpling, emperor + Signed-off-by: Josh Durgin + (cherry picked from commit e32874fc5aa6f59494766b7bbeb2b6ec3d8f190e) + + Conflicts: + + src/osdc/Objecter.h + +commit f4d0fc8afac1bcbea76f46744397a8462025f373 +Author: Josh Durgin +Date: Thu Dec 5 17:34:38 2013 -0800 + + osd: drop writes when full instead of returning an error + + There's a race between the client and osd with a newly marked full + osdmap. If the client gets the new map first, it blocks writes and + everything works as expected, with no errors from the osd. + + If the osd gets the map first, however, it will respond to any writes + with -ENOSPC. Clients will pass this up the stack, and not retry these + writes later. -ENOSPC isn't handled well by all clients. RBD, for + example, may pass it on to qemu or kernel rbd which will both + interpret it as EIO. Filesystems on top of rbd will not behave well + when they receive EIOs like this, especially if the cluster oscillates + between full and not full, so some writes succeed. + + To fix this, never return ENOSPC from the osd because of a map marked + full, and rely on the client to retry all writes when the map is no + longer marked full. + + Old clients talking to osds with this fix will hang instead of + propagating an error, but only if they run into this race + condition. ceph-fuse and rbd with caching enabled are not affected, + since the ObjectCacher will retry writes that return errors. + + Refs: #6938 + Backport: dumpling, emperor + Signed-off-by: Josh Durgin + (cherry picked from commit 4111729dda7437c23f59e7100b3c4a9ec4101dd0) + +commit 2b109803b9434d2d495e65d6a045838ee3ebf169 +Author: Yehuda Sadeh +Date: Wed Nov 6 16:55:52 2013 -0800 + + objecter: clean pause / unpause logic + + op->paused holds now whether operation should be paused or not, and it's + being updated when scanning requests. No need to do a second scan. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5fe3dc647bf936df8e1eb2892b53f44f68f19821) + +commit 7b229fca346b7ab60131b229591d35f63f64a6ad +Author: Yehuda Sadeh +Date: Wed Nov 6 16:15:47 2013 -0800 + + objecter: set op->paused in recalc_op_target(), resend in not paused + + When going through scan_requests() in handle_osd_map() we need to make + sure that if an op should not be paused anymore then set it on the op + itself, and return NEED_RESEND. Otherwise we're going to miss reset of + the full flag. + Also in handle_osd_map(), make sure that op shouldn't be paused before + sending it. There's a lot of cleanup around that area that we should + probably be doing, make the code much more tight. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 98ab7d64a191371fa39d840c5f8e91cbaaa1d7b7) + +commit a3fdfd77c953a8f9ace4991630599e60f56abc4a +Author: Josh Durgin +Date: Wed Nov 6 10:46:37 2013 +0800 + + objecter: don't resend paused ops + + Paused ops are meant to block on the client side until a new map that + unpauses them is recieved. If we send paused writes when the FULL flag + is set, we'll get -ENOSPC from the osds, which is not what Objecter + users expect. This may cause rbd without caching to produce an I/O + error instead of waiting for the cluster to have capacity. + + Fixes: #6725 + Backport: dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit c5c399d327cfc0d232d9ec7d49ababa914d0b21a) + +commit 78037886ae6ae278d8fb2db52d7767b8612313fe +Merge: a60ac91 4e47a00 +Author: Sage Weil +Date: Sun Dec 29 21:10:30 2013 -0800 + + Merge pull request #808 from ceph/wip-6152-dumpling + + rgw: Fix S3 auth when using response-* query string params + +commit 4e47a003bb3adcee690067d4037c248a93023c20 +Author: Sylvain Munaut +Date: Thu Aug 29 16:17:30 2013 +0200 + + rgw: Fix S3 auth when using response-* query string params + + Reviewed-by: Yehuda Sadeh + Signed-off-by: Sylvain Munaut + (cherry picked from commit 7a7361d7e798d94796d4985e2e4b35af22463ae2) diff --git a/doc/changelog/v0.67.7.txt b/doc/changelog/v0.67.7.txt new file mode 100644 index 00000000..71442f66 --- /dev/null +++ b/doc/changelog/v0.67.7.txt @@ -0,0 +1,110 @@ +commit d7ab4244396b57aac8b7e80812115bbd079e6b73 (tag: refs/tags/v0.67.7, refs/remotes/gh/dumpling) +Author: Ken Dreyer +Date: Wed Feb 19 18:09:39 2014 +0000 + + v0.67.7 + + Signed-off-by: Ken Dreyer + +commit c1f42770f45205c8a3eae774d09e747408130c50 +Author: Yehuda Sadeh +Date: Mon Jan 6 12:53:58 2014 -0800 + + radosgw-admin: fix object policy read op + + Fixes: #7083 + This was broken when we fixed #6940. We use the same function to both + read the bucket policy and the object policy. However, each needed to be + treated differently. Restore old behavior for objects. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b1976dd00f5b29c01791272f63a18250319f2edb) + +commit 404500811adc74c79583bbf3122dc333e0b41b51 +Merge: 3e7ea33 fec55a2 +Author: Sage Weil +Date: Sat Feb 15 22:20:45 2014 -0800 + + Merge pull request #1243 from dachary/wip-ceph-disk-dumpling + + ceph-disk: unit tests (dumpling) + + Reviewed-by: Sage Weil + +commit 3e7ea33cfc80031aed8d6c61e1bdca947b36d69b +Author: Ken Dreyer +Date: Fri Jan 3 16:38:25 2014 -0700 + + add autotools-generated files to .gitignore + + When running "make check", Automake generates test-suite.log, along with + various *.log and *.trs files in the tree. Add these files to + .gitignore. + + (It looks like this feature arrived in Automake 1.13.) + + Signed-off-by: Ken Dreyer + (cherry picked from commit bb8b7503b03fac5830fb71b9723963fdc803ca90) + +commit fec55a2174b49ef68c816755c1218f9cd69033b6 +Author: Loic Dachary +Date: Sat Feb 15 18:34:04 2014 +0100 + + ceph-disk: unit tests + + src/test/ceph-disk.sh replaces src/test/cli/ceph-disk/data-dir.t + + Signed-off-by: Loic Dachary + +commit 0679b11b4d2f7cb7bd9c1cd86854a064aaa83f8a +Author: Loic Dachary +Date: Thu Jan 2 22:42:17 2014 +0100 + + ceph-disk: cannot run unit tests + + Because ceph-disk relies on hardcoded paths. The corresponding test will + be added back when ceph-disk can run from sources. + + Fixes: #7085 + + Signed-off-by: Loic Dachary + (cherry picked from commit 2ba6930d62263a39f150ab43bf8cd860b9245188) + +commit 9dae9993e9b36e741e05804807bdb738fbe52e6f +Author: Sage Weil +Date: Fri Feb 14 23:52:06 2014 -0800 + + Revert "librbd: remove limit on number of objects in the cache" + + This reverts commit 367cf1bbf86233eb20ff2304e7d6caab77b84fcc. + + Removing the limit on objects means we leak memory, since Objects without + any buffers can exist in the cache. + +commit 2795339d3632df975486d51e69762f9f567fb43d +Author: Sage Weil +Date: Mon Oct 7 05:22:20 2013 -0700 + + os/FileStore: fix ENOENT error code for getattrs() + + In commit dc0dfb9e01d593afdd430ca776cf4da2c2240a20 the omap xattrs code + moved up a block and r was no longer local to the block. Translate + ENOENT -> 0 to compensate. + + Fix the same error in _rmattrs(). + + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + Reviewed-by: Samuel Just + (cherry picked from commit 6da4b91c07878e07f23eee563cf1d2422f348c2f) + +commit c158de232fcfb0e39f4b7eaac6dacbaaaee84b5f +Author: Sage Weil +Date: Tue Oct 15 16:00:26 2013 -0700 + + test/filestore/run_seed_to.sh: avoid obsolete --filestore-xattr-use-omap + + This option no longer exists. + + Signed-off-by: Sage Weil + (cherry picked from commit 1d4f501a015727a7ff4b2f9b20dc91f2bbd9707b) diff --git a/doc/changelog/v0.67.8.txt b/doc/changelog/v0.67.8.txt new file mode 100644 index 00000000..2f8e0c94 --- /dev/null +++ b/doc/changelog/v0.67.8.txt @@ -0,0 +1,1220 @@ +commit ffc58b4ea6a3ea10e91050aaa28d14d87dea5656 (tag: refs/tags/v0.67.8, refs/remotes/gh/dumpling) +Author: Jenkins +Date: Thu May 1 11:18:24 2014 +0000 + + 0.67.8 + +commit 4b16b70c53be83481efefcf394eca99c73bb9805 +Merge: 5a6b351 fb0944e +Author: Sage Weil +Date: Wed Apr 30 15:15:48 2014 -0700 + + Merge pull request #1743 from ceph/wip-mon-backports.dumpling + + mon: OSDMonitor: HEALTH_WARN on 'mon osd down out interval == 0' + + Reviewed-by: Sage Weil + +commit fb0944e22acf6f8b6cefb59cc4c41dc48087bfd7 +Author: Joao Eduardo Luis +Date: Wed Apr 30 17:13:30 2014 +0100 + + mon: OSDMonitor: HEALTH_WARN on 'mon osd down out interval == 0' + + A 'status' or 'health' request will return a HEALTH_WARN whenever the + monitor handling the request has the option set to zero. + + Fixes: 7784 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit b2112d5087b449d3b019678cb266ff6fa897897e) + +commit 5a6b35160417423db7c6ff892627f084ab610dfe +Author: Sandon Van Ness +Date: Tue Mar 4 16:15:15 2014 -0800 + + Make symlink of librbd to qemu's folder so it can detect it. + + Per issue #7293. + + Signed-off-by: Sandon Van Ness + (cherry picked from commit 65f3354903fdbdb81468a84b8049ff19c00f91ba) + +commit 735a90a95eea01dbcce5026758895117c2842627 +Author: Yehuda Sadeh +Date: Fri Apr 25 14:11:27 2014 -0700 + + rgw: fix url escaping + + Fixes: #8202 + This fixes the radosgw side of issue #8202. Needed to cast value + to unsigned char, otherwise it'd get padded. + + Backport: dumpling + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit bcf92c496aba0dfde432290fc2df5620a2767313) + +commit 438b57890dfce04226d769389a601d35b74e11fe +Merge: c049967 476b929 +Author: Sage Weil +Date: Fri Apr 25 16:00:24 2014 -0700 + + Merge pull request #1700 from xanpeng/patch-1 + + Fix error in mkcephfs.rst + + Signed-off-by: Xan Peng + Reviewed-by: Sage Weil + +commit 476b929ecc5b7351a5be3024817b900976a90a3e +Author: xanpeng +Date: Mon Apr 21 11:30:42 2014 +0800 + + Update mkcephfs.rst + + There should be no blank between mount options. + +commit c049967af829497f8a62e0cbbd6031f85ead8a59 +Author: Josh Durgin +Date: Tue Apr 1 17:27:01 2014 -0700 + + auth: add rwlock to AuthClientHandler to prevent races + + For cephx, build_authorizer reads a bunch of state (especially the + current session_key) which can be updated by the MonClient. With no + locks held, Pipe::connect() calls SimpleMessenger::get_authorizer() + which ends up calling RadosClient::get_authorizer() and then + AuthClientHandler::bulid_authorizer(). This unsafe usage can lead to + crashes like: + + Program terminated with signal 11, Segmentation fault. + 0x00007fa0d2ddb7cb in ceph::buffer::ptr::release (this=0x7f987a5e3070) at common/buffer.cc:370 + 370 common/buffer.cc: No such file or directory. + in common/buffer.cc + (gdb) bt + 0x00007fa0d2ddb7cb in ceph::buffer::ptr::release (this=0x7f987a5e3070) at common/buffer.cc:370 + 0x00007fa0d2ddec00 in ~ptr (this=0x7f989c03b830) at ./include/buffer.h:171 + ceph::buffer::list::rebuild (this=0x7f989c03b830) at common/buffer.cc:817 + 0x00007fa0d2ddecb9 in ceph::buffer::list::c_str (this=0x7f989c03b830) at common/buffer.cc:1045 + 0x00007fa0d2ea4dc2 in Pipe::connect (this=0x7fa0c4307340) at msg/Pipe.cc:907 + 0x00007fa0d2ea7d73 in Pipe::writer (this=0x7fa0c4307340) at msg/Pipe.cc:1518 + 0x00007fa0d2eb44dd in Pipe::Writer::entry (this=) at msg/Pipe.h:59 + 0x00007fa0e0f5f9d1 in start_thread (arg=0x7f987a5e4700) at pthread_create.c:301 + 0x00007fa0de560b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 + + and + + Error in `qemu-system-x86_64': invalid fastbin entry (free): 0x00007ff12887ff20 + *** ======= Backtrace: ========= + /lib/x86_64-linux-gnu/libc.so.6(+0x80a46)[0x7ff3dea1fa46] + /usr/lib/librados.so.2(+0x29eb03)[0x7ff3e3d43b03] + /usr/lib/librados.so.2(_ZNK9CryptoKey7encryptEP11CephContextRKN4ceph6buffer4listERS4_RSs+0x71)[0x7ff3e3d42661] + /usr/lib/librados.so.2(_Z21encode_encrypt_enc_blIN4ceph6buffer4listEEvP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xfe)[0x7ff3e3d417de] + /usr/lib/librados.so.2(_Z14encode_encryptIN4ceph6buffer4listEEiP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xa2)[0x7ff3e3d41912] + /usr/lib/librados.so.2(_ZN19CephxSessionHandler12sign_messageEP7Message+0x242)[0x7ff3e3d40de2] + /usr/lib/librados.so.2(_ZN4Pipe6writerEv+0x92b)[0x7ff3e3e61b2b] + /usr/lib/librados.so.2(_ZN4Pipe6Writer5entryEv+0xd)[0x7ff3e3e6c7fd] + /lib/x86_64-linux-gnu/libpthread.so.0(+0x7f8e)[0x7ff3ded6ff8e] + /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7ff3dea99a0d] + + Fix this by adding an rwlock to AuthClientHandler. A simpler fix would + be to move RadosClient::get_authorizer() into the MonClient() under + the MonClient lock, but this would not catch all uses of other + Authorizer, e.g. for verify_authorizer() and it would serialize + independent connection attempts. + + This mainly matters for cephx, but none and unknown can have the + global_id reset as well. + + Partially-fixes: #6480 + Backport: dumpling, emperor + Signed-off-by: Josh Durgin + (cherry picked from commit 2cc76bcd12d803160e98fa73810de2cb916ef1ff) + +commit 2b4b00b76b245b1ac6f95e4537b1d1a4656715d5 +Author: Josh Durgin +Date: Tue Apr 1 11:37:29 2014 -0700 + + pipe: only read AuthSessionHandler under pipe_lock + + session_security, the AuthSessionHandler for a Pipe, is deleted and + recreated while the pipe_lock is held. read_message() is called + without pipe_lock held, and examines session_security. To make this + safe, make session_security a shared_ptr and take a reference to it + while the pipe_lock is still held, and use that shared_ptr in + read_message(). + + This may have caused crashes like: + + *** Error in `qemu-system-x86_64': invalid fastbin entry (free): 0x00007f42a4002de0 *** + ======= Backtrace: ========= + /lib/x86_64-linux-gnu/libc.so.6(+0x80a46)[0x7f452f1f3a46] + /usr/lib/x86_64-linux-gnu/libnss3.so(PK11_FreeSymKey+0xa8)[0x7f452e72ff98] + /usr/lib/librados.so.2(+0x2a18cd)[0x7f453451a8cd] + /usr/lib/librados.so.2(_ZNK9CryptoKey7encryptEP11CephContextRKN4ceph6buffer4listERS4_RSs+0x71)[0x7f4534519421] + /usr/lib/librados.so.2(_Z21encode_encrypt_enc_blIN4ceph6buffer4listEEvP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xfe)[0x7f453451859e] + /usr/lib/librados.so.2(_Z14encode_encryptIN4ceph6buffer4listEEiP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xa2)[0x7f45345186d2] + /usr/lib/librados.so.2(_ZN19CephxSessionHandler23check_message_signatureEP7Message+0x246)[0x7f4534516866] + /usr/lib/librados.so.2(_ZN4Pipe12read_messageEPP7Message+0xdcc)[0x7f453462ecbc] + /usr/lib/librados.so.2(_ZN4Pipe6readerEv+0xa5c)[0x7f453464059c] + /usr/lib/librados.so.2(_ZN4Pipe6Reader5entryEv+0xd)[0x7f4534643ecd] + /lib/x86_64-linux-gnu/libpthread.so.0(+0x7f8e)[0x7f452f543f8e] + /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f452f26da0d] + + Partially-fixes: #6480 + Backport: dumpling, emperor + Signed-off-by: Josh Durgin + (cherry picked from commit 1d74170a4c252f35968ccfbec8e432582e92f638) + +commit 48895a46015c9d6d67543816f5a400c21aa206b1 (refs/remotes/gh/wip-objectcacher-flusher-dumpling) +Author: Sage Weil +Date: Fri Jan 3 12:51:15 2014 -0800 + + osdc/ObjectCacher: back off less during flush + + In cce990efc8f2a58c8d0fa11c234ddf2242b1b856 we added a limit to avoid + holding the lock for too long. However, if we back off, we currently + wait for a full second, which is probably a bit much--we really just want + to give other threads a chance. + + Backport: emperor + Signed-off-by: Sage Weil + (cherry picked from commit e2ee52879e9de260abbf5eacbdabbd71973a6a83) + +commit f3b5ba6f25010291a2918bdd286f1b39570bb907 +Author: Sage Weil +Date: Tue Oct 1 09:28:29 2013 -0700 + + osdc/ObjectCacher: limit writeback IOs generated while holding lock + + While analyzing a log from Mike Dawson I saw a long stall while librbd's + objectcacher was starting lots (many hundreds) of IOs. Limit the amount of + time we spend doing this at a time to allow IO replies to be processed so + that the cache remains responsive. + + I'm not sure this warrants a tunable (which we would need to add for both + libcephfs and librbd). + + Signed-off-by: Sage Weil + (cherry picked from commit cce990efc8f2a58c8d0fa11c234ddf2242b1b856) + +commit 06f27fc6446d47b853208357ec4277c5dc10d9fe +Author: Sage Weil +Date: Tue Apr 8 10:52:43 2014 -0700 + + os/FileStore: reset journal state on umount + + We observed a sequence like: + + - replay journal + - sets JournalingObjectStore applied_op_seq + - umount + - mount + - initiate commit with prevous applied_op_seq + - replay journal + - commit finishes + - on replay commit, we fail assert op > committed_seq + + Although strictly speaking the assert failure is harmless here, in general + we should not let state leak through from a previous mount into this + mount or else assertions are in general more difficult to reason about. + + Fixes: #8019 + Signed-off-by: Sage Weil + (cherry picked from commit 4de49e8676748b6ab4716ff24fd0a465548594fc) + +commit b29238729f87c73dfdcf16dddcf293577678dea2 +Author: Yehuda Sadeh +Date: Tue Nov 5 14:54:20 2013 -0800 + + rgw: deny writes to a secondary zone by non-system users + + Fixes: #6678 + We don't want to allow regular users to write to secondary zones, + otherwise we'd end up with data inconsistencies. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 6961b5254f16ac3362c3a51f5490328d23640dbf) + + Conflicts: + src/rgw/rgw_rados.h + +commit 051a17eb008d75aa6b0737873318a2e7273501ab +Author: Sage Weil +Date: Sat Apr 5 16:58:55 2014 -0700 + + mon: wait for quorum for MMonGetVersion + + We should not respond to checks for map versions when we are in the + probing or electing states or else clients will get incorrect results when + they ask what the latest map version is. + + Fixes: #7997 + Signed-off-by: Sage Weil + (cherry picked from commit 67fd4218d306c0d2c8f0a855a2e5bf18fa1d659e) + +commit 0716516da05eee967796fb71eb2f85c86afc40f1 +Author: Yehuda Sadeh +Date: Wed Feb 19 08:59:07 2014 -0800 + + rgw: fix swift range response + + Fixes: #7099 + Backport: dumpling + The range response header was broken in swift. + + Reported-by: Julien Calvet + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 0427f61544529ab4e0792b6afbb23379fe722de1) + +commit 94a1deefcfe525a7e698a1ae70a3bb561b6157de +Author: Yehuda Sadeh +Date: Fri Nov 22 15:41:49 2013 -0800 + + rgw: don't log system requests in usage log + + Fixes: 6889 + System requets should not be logged in the usage log. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 42ef8ba543c7bf13c5aa3b6b4deaaf8a0f9c58b6) + +commit 23fed8fc427e7077c61f86168a42f61a5f73867d +Author: Greg Farnum +Date: Fri Apr 4 16:06:05 2014 -0700 + + OSD: _share_map_outgoing whenever sending a message to a peer + + This ensures that they get new maps before an op which requires them (that + they would then request from the monitor). + + Signed-off-by: Greg Farnum + (cherry picked from commit 232ac1a52a322d163d8d8dbc4a7da4b6a9acb709) + +commit c45e15fd5cbe57a34c743b2835ecc30ee5a43963 +Author: Xihui He +Date: Mon Dec 30 12:04:10 2013 +0800 + + msgr: fix rebind() race + stop the accepter and mark all pipes down before rebind to avoid race + + Fixes: #6992 + + Signed-off-by: Xihui He xihuihe@gmail.com + (cherry picked from commit f8e413f9c79a3a2a12801f5f64a2f612de3f06a0) + +commit 3d31cf012a59e1fea8080b13bdc06c9021ba0656 +Author: Samuel Just +Date: Tue Nov 26 13:20:21 2013 -0800 + + PG: retry GetLog() each time we get a notify in Incomplete + + If for some reason there are no up OSDs in the history which + happen to have usable copies of the pg, it's possible that + there is a usable copy elsewhere on the cluster which will + become known to the primary if it waits. + + Fixes: #6909 + Signed-off-by: Samuel Just + Reviewed-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 964c8e978f86713e37a13b4884a6c0b9b41b5bae) + +commit 1f80bbdf45439c7224ed52e4956973fc6d007848 +Author: Sage Weil +Date: Mon Mar 17 15:37:44 2014 -0700 + + os/FileJournal: return errors on make_writeable() if reopen fails + + This is why #7738 is resulting in a crash instead of an error. + + Signed-off-by: Sage Weil + (cherry picked from commit aed074401d2834a5b04edd1b7f6b4f36336f6293) + +commit 62d942294a54208cdc82aebf8b536d164cae5dc6 +Author: Sage Weil +Date: Mon Mar 17 16:21:17 2014 -0700 + + mon/Paxos: commit only after entire quorum acks + + If a subset of the quorum accepts the proposal and we commit, we will start + sharing the new state. However, the mon that didn't yet reply with the + accept may still be sharing the old and stale value. + + The simplest way to prevent this is not to commit until the entire quorum + replies. In the general case, there are no failures and this is just fine. + In the failure case, we will call a new election and have a smaller quorum + of (live) nodes and will recommit the same value. + + A more performant solution would be to have a separate message invalidate + the old state and commit once we have all invalidations and a majority of + accepts. This will lower latency a bit in the non-failure case, but not + change the failure case significantly. Later! + + Fixes: #7736 + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + Reviewed-by: Greg Farnum + (cherry picked from commit fa1d957c115a440e162dba1b1002bc41fc1eac43) + +commit 2160c72b393893896be581e89a42c4e37b79cb23 +Author: Samuel Just +Date: Thu Mar 13 14:04:19 2014 -0700 + + PrioritizedQueue: cap costs at max_tokens_per_subqueue + + Otherwise, you can get a recovery op in the queue which has a cost + higher than the max token value. It won't get serviced until all other + queues also do not have enough tokens and higher priority queues are + empty. + + Fixes: #7706 + Signed-off-by: Samuel Just + (cherry picked from commit 2722a0a487e77ea2aa0d18caec0bdac50cb6a264) + +commit 1dd42e0f75fe1f5363f92bd5a4506812e54b8fb5 +Author: Dan Mick +Date: Thu Apr 3 13:59:59 2014 -0700 + + Fix byte-order dependency in calculation of initial challenge + + Fixes: #7977 + Signed-off-by: Dan Mick + Reviewed-by: Sage Weil + (cherry picked from commit 4dc62669ecd679bc4d0ef2b996b2f0b45b8b4dc7) + +commit c66b61f9dcad217429e4876d27881d9fb2e7666f +Author: Josh Durgin +Date: Tue Dec 31 17:00:06 2013 -0800 + + rbd: return 0 and an empty list when pool is entirely empty + + rbd_list will return -ENOENT when no rbd_directory object + exists. Handle this in the cli tool and interpret it as success with + an empty list. + + Add this to the release notes since it changes command line behavior. + + Fixes: #6693 + Signed-off-by: Josh Durgin + (cherry picked from commit ac547a5b7dc94282f079aef78e66348d99d9d5e9) + + Conflicts: + PendingReleaseNotes + src/rbd.cc + +commit 60b7aa96abfe09f7e9a263fa3f9b72c556dee8cb +Author: Josh Durgin +Date: Wed Nov 20 18:35:34 2013 -0800 + + test: use older names for module setup/teardown + + setUp and tearDown require nosetests 0.11, but 0.10.4 is the latest on + centos. Rename to use the older aliases, which still work with newer + versions of nosetests as well. + + Fixes: #6368 + Signed-off-by: Josh Durgin + Reviewed-by: Dan Mick + (cherry picked from commit f753d56a9edba6ce441520ac9b52b93bd8f1b5b4) + +commit b405bfa49ec31f0c6d8636c4bdde17ee1f81deb7 +Author: Samuel Just +Date: Sun Nov 3 11:06:10 2013 -0800 + + OSD: don't clear peering_wait_for_split in advance_map() + + I really don't know why I added this... Ops can be discarded from the + waiting_for_pg queue if we aren't primary simply because there must have + been an exchange of peering events before subops will be sent within a + particular epoch. Thus, any events in the waiting_for_pg queue must be + client ops which should only be seen by the primary. Peering events, on + the other hand, should only be discarded if we are in a new interval, + and that check might as well be performed in the peering wq. + + Fixes: #6681 + Signed-off-by: Samuel Just + Reviewed-by: Greg Farnum + (cherry picked from commit 9ab513334c7ff9544bac07bd420c6d5d200cf535) + +commit a498c940bd630cb103d17ad8532a11122439411d +Merge: 225fc97 80e0a0a +Author: Sage Weil +Date: Wed Apr 2 12:57:30 2014 -0700 + + Merge remote-tracking branch 'gh/wip-7888-dumpling' into dumpling + +commit 225fc97f228490dfc13c2e4deed8fecffdb28c5e +Author: Samuel Just +Date: Tue Nov 5 21:48:53 2013 -0800 + + PG: fix operator<<,log_wierdness log bound warning + + Split may cause holes such that head != tail and yet + log.empty(). + + Fixes: #6722 + Signed-off-by: Samuel Just + Reviewed-by: David Zafman + (cherry picked from commit c6826c1e8a301b2306530c6e5d0f4a3160c4e691) + +commit 26eeab43f3f703a25e7ba62c75d0382d15e38263 +Author: Samuel Just +Date: Tue Nov 5 17:47:48 2013 -0800 + + PGLog::rewind_divergent_log: log may not contain newhead + + Due to split, there may be a hole at newhead. + + Fixes: #6722 + Signed-off-by: Samuel Just + Reviewed-by: David Zafman + (cherry picked from commit f4648bc6fec89c870e0c47b38b2f13496742b10f) + +commit 040abd75ad45bbcc05b24c9dddbd2026dd35e659 +Author: Sage Weil +Date: Sat Mar 29 14:23:21 2014 -0700 + + qa/workunits/fs/misc/layout_vxattrs: ceph.file.layout is not listed + + As of 08a3d6bd428c5e78dd4a10e6ee97540f66f9729c. A similar change was made + in the kernel. + + Signed-off-by: Sage Weil + (cherry picked from commit 4f9f7f878953b29cd5f56a8e0834832d6e3a9cec) + +commit f5aa492a338ff711f3a45e4ebbf0d6b187b5f78e +Merge: fef70cb 84cb345 +Author: Sage Weil +Date: Fri Mar 28 18:01:08 2014 -0700 + + Merge pull request #1519 from ceph/wip-6951-dumpling + + rgw: reset objv tracker on bucket recreation + +commit fef70cbb52cf1ad12db45998b38858d9bbc3360d +Merge: 9bfbce3 f443ff3 +Author: Sage Weil +Date: Fri Mar 28 17:02:39 2014 -0700 + + Merge pull request #1559 from ceph/wip-7881-dumpling + + Wip 7881 dumpling + + Reviewed-by: Sage Weil + +commit 80e0a0a8fee2f6f903f612734b2cc72eae703eae (refs/remotes/gh/wip-7888-dumpling) +Author: Sage Weil +Date: Thu Mar 27 21:33:21 2014 -0700 + + mon/MonClient: use keepalive2 to verify the mon session is live + + Verify that the mon is responding by checking the keepalive2 reply + timestamp. We cannot rely solely on TCP timing out and returning an + error. + + Fixes: #7888 + Signed-off-by: Sage Weil + (cherry picked from commit 056151a6334c054505c54e59af40f203a0721f28) + +commit 8723218379e80725a449b0594a4b15eb1c236b05 +Author: Sage Weil +Date: Thu Mar 27 21:09:13 2014 -0700 + + msgr: add KEEPALIVE2 feature + + This is similar to KEEPALIVE, except a timestamp is also exchanged. It is + sent with the KEEPALIVE, and then returned with the ACK. The last + received stamp is stored in the Connection so that it can be queried for + liveness. Since all of the users of keepalive are already regularly + triggering a keepalive, they can check the liveness at the same time. + + See #7888. + + Signed-off-by: Sage Weil + (cherry picked from commit d747d79fd5ea8662a809c5636dfd2eaaa9bf8f5d) + + Conflicts: + + src/include/ceph_features.h + +commit a2f0974f8b3567c0385494a0b2c828ade6ca8e1c +Author: Greg Farnum +Date: Wed Mar 26 15:58:10 2014 -0700 + + Pipe: rename keepalive->send_keepalive + + Signed-off-by: Greg Farnum + (cherry picked from commit 38d4c71a456c1cc9a5044dbcae5378836a34484d) + +commit 9bfbce30678742515025ca235c4443bb3a69199f +Author: Sage Weil +Date: Wed Mar 26 21:52:00 2014 -0700 + + client: pin Inode during readahead + + Make sure the Inode does not go away while a readahead is in progress. In + particular: + + - read_async + - start a readahead + - get actual read from cache, return + - close/release + - call ObjectCacher::release_set() and get unclean > 0, assert + + Fixes: #7867 + Backport: emperor, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit f1c7b4ef0cd064a9cb86757f17118d17913850db) + +commit 232445578a2c6d0fb974e55378057fce473095f7 +Author: Sage Weil +Date: Fri Mar 28 12:34:07 2014 -0700 + + osdc/ObjectCacher: call read completion even when no target buffer + + If we do no assemble a target bl, we still want to return a valid return + code with the number of bytes read-ahead so that the C_RetryRead completion + will see this as a finish and call the caller's provided Context. + + Signed-off-by: Sage Weil + (cherry picked from commit 032d4ec53e125ad91ad27ce58da6f38dcf1da92e) + +commit f443ff3006d41a7b0a2d7b649e8def0ffef6df12 +Author: Samuel Just +Date: Wed Oct 30 16:54:39 2013 -0700 + + PGLog: remove obsolete assert in merge_log + + This assert assumes that if olog.head != log.head, olog contains + a log entry at log.head, which may not be true since pg splitting + might have left the log with arbitrary holes. + + Related: 0c2769d3321bff6e85ec57c85a08ee0b8e751bcb + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 353813b2e1a98901b876790c7c531f8a202c661d) + +commit 636e53c0f4fc43e9bfc1c8e7214cab9e0b46a359 +Author: Samuel Just +Date: Mon Sep 30 15:54:27 2013 -0700 + + PGLog: on split, leave log head alone + + This way last_update doesn't go backwards. + + Fixes: 6447 + Signed-off-by: Samuel Just + (cherry picked from commit 0c2769d3321bff6e85ec57c85a08ee0b8e751bcb) + +commit a0a560a9f04311306a9784fa3c6ea2586d637f56 +Merge: 466cd53 41d5e9a +Author: Sage Weil +Date: Wed Mar 26 17:18:24 2014 -0700 + + Merge pull request #1539 from ceph/wip-6910-dumpling + + PG: don't query unfound on empty pgs + +commit 41d5e9ab39e69c80bec1cb0627004c3fae6dc81d +Author: Samuel Just +Date: Tue Nov 26 19:17:59 2013 -0800 + + PG: don't query unfound on empty pgs + + When the replica responds, it responds with a notify + rather than a log, which the primary then ignores since + it is already in the peer_info map. Rather than fix that + we'll simply not send queries to peers we already know to + have no unfound objects. + + Fixes: #6910 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + Reviewed-by: David Zafman + (cherry picked from commit 838b6c8387087543ce50837277f7f6b52ae87d00) + +commit 466cd536ed7e541a36d88bce43683a2d9e2ca283 +Merge: 2ef0d6a c188949 +Author: Sage Weil +Date: Fri Mar 21 14:53:23 2014 -0700 + + Merge pull request #1313 from ceph/dumpling-osd-subscribe + + Dumpling backport: clean up osd subscriptions + +commit 2ef0d6a25bf8c0cfb38768c157c29ba52295f3ca +Merge: 77e46d0 bdd96c6 +Author: Sage Weil +Date: Fri Mar 21 14:52:20 2014 -0700 + + Merge pull request #1485 from ceph/wip-7212.dumpling + + backport 7212 fixes to dumpling + +commit 84cb345e4f12a9b1db5e384411492a9d88f17dd8 +Author: Yehuda Sadeh +Date: Wed Feb 19 08:11:56 2014 -0800 + + rgw: reset objv tracker on bucket recreation + + Fixes: #6951 + If we cannot create a new bucket (as it already existed), we need to + read the old bucket's info. However, this was failing as we were holding + the objv tracker that we created for the bucket creation. We need to + clear it, as subsequent read using it will fail. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 859ed33ed7f9a96f4783dfb3e130d5eb60c622dd) + +commit 77e46d0d7984f2d3ee0e15f27d2961a637c20b45 +Author: Samuel Just +Date: Wed Nov 6 14:33:03 2013 -0800 + + ReplicatedPG: don't skip missing if sentries is empty on pgls + + Formerly, if sentries is empty, we skip missing. In general, + we need to continue adding items from missing until we get + to next (returned from collection_list_partial) to avoid + missing any objects. + + Fixes: #6633 + Signed-off-by: Samuel Just + Reviewed-by: David Zafman + (cherry picked from commit c7a30b881151e08b37339bb025789921e7115288) + +commit bdd96c620f33fb8f48f30f8d543af3290e6c934a +Author: Sage Weil +Date: Sat Feb 15 08:59:51 2014 -0800 + + mon/Elector: bootstrap on timeout + + Currently if an election times out we call a new + election. If we have never joined a quorum, bootstrap + instead. This is heavier weight, but captures the case + where, during bootstrap: + + - a and b have learned each others' addresses + - everybody calls an election + - a and b form a quorum + - c loops trying to call an election, but is ignored + because a and b don't see its address in the monmap + + See logs: + ubuntu@teuthology:/var/lib/teuthworker/archive/sage-2014-02-14_13:50:04-ceph-deploy-wip-7212-sage-b-testing-basic-plana/83194 + + Signed-off-by: Sage Weil + (cherry picked from commit a4bcb1f8129a4ece97bd3419abf1ff45d260ad8e) + (cherry picked from commit 143ec0281aa8b640617a3fe19a430248ce3b514c) + +commit 68fcc63c0423a2071b7b944ea6c3448282a78a09 +Author: Sage Weil +Date: Fri Feb 14 11:25:52 2014 -0800 + + mon: tell MonmapMonitor first about winning an election + + It is important in the bootstrap case that the very first paxos round + also codify the contents of the monmap itself in order to avoid any manner + of confusing scenarios where subsequent elections are called and people + try to recover and modify paxos without agreeing on who the quorum + participants are. + + Signed-off-by: Sage Weil + (cherry picked from commit ad7f5dd481a7f45dfe6b50d27ad45abc40950510) + (cherry picked from commit e073a062d56099b5fb4311be2a418f7570e1ffd9) + +commit a3e57b7231cb28c2e0a896f747537ebdbe3a4e96 +Author: Sage Weil +Date: Fri Feb 14 11:13:26 2014 -0800 + + mon: only learn peer addresses when monmap == 0 + + It is only safe to dynamically update the address for a peer mon in our + monmap if we are in the midst of the initial quorum formation (i.e., + monmap.epoch == 0). If it is a later epoch, we have formed our initial + quorum and any and all monmap changes need to be agreed upon by the quorum + and committed via paxos. + + Fixes: #7212 + Signed-off-by: Sage Weil + (cherry picked from commit 7bd2104acfeff0c9aa5e648d82ed372f901f767f) + (cherry picked from commit 1996fd89fb3165a63449b135e05841579695aabd) + +commit 21ed54201bd4b0f02c07f6f96a63a5720057f011 +Author: Joao Eduardo Luis +Date: Mon Mar 17 14:37:09 2014 +0000 + + ceph.in: do not allow using 'tell' with interactive mode + + This avoids a lot of hassle when dealing with to whom tell each command + on interactive mode, and even more so if multiple targets are specified. + + As so, 'tell' commands should be used while on interactive mode instead. + + Backport: dumpling,emperor + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit e39c213c1d230271d23b74086664c2082caecdb9) + +commit be0205c33ccbab3b6f105bdf4da114658a981557 +Author: Danny Al-Gaaf +Date: Wed Mar 12 22:56:44 2014 +0100 + + RGWListBucketMultiparts: init max_uploads/default_max with 0 + + CID 717377 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR) + 2. uninit_member: Non-static class member "max_uploads" is not initialized + in this constructor nor in any functions that it calls. + 4. uninit_member: Non-static class member "default_max" is not initialized + in this constructor nor in any functions that it calls. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit b23a141d54ffb39958aba9da7f87544674fa0e50) + +commit 6c3d4fbeb9cc50eca6eba12cfe7fed64b34eec3d +Author: Sage Weil +Date: Thu Mar 13 14:49:30 2014 -0700 + + ceph_test_rados: wait for commit, not ack + + First, this is what we wanted in the first place + + Second, if we wait for ACK, we may look at a user_version value that is + not stable. + + Fixes: #7705 + Signed-off-by: Sage Weil + (cherry picked from commit f2124c5846f1e9cb44e66eb2e957b8c7df3e19f4) + + Conflicts: + + src/test/osd/RadosModel.h + +commit 2daed5ff99dab238b696da5aba3816c4f5d763e8 +Author: Josh Durgin +Date: Thu Mar 13 09:50:16 2014 -0700 + + test-upgrade-firefly: skip watch-notify system test + + This also fails on mixed version clusters due to watch on a + non-existent object returning ENOENT in firefly and 0 in dumpling. + + Reviewed-by: Sage Weil + Signed-off-by: Josh Durgin + +commit 90a21d8cf6df5fe14b2dc9b2c175983b6bb017ce +Author: Sage Weil +Date: Wed Mar 12 21:30:12 2014 -0700 + + qa/workunit/rados/test-upgrade-firefly: skip watch-notify test + + A watch on a non-existent object now returns ENOENT in firefly; skip this + test as it will fail on a hybrid or upgraded cluster. + + Signed-off-by: Sage Weil + +commit 32fdca6d9c2e3b923db7f21568bd315ab2c1c4ad +Merge: 6700dd0 cd7986c +Author: Sage Weil +Date: Tue Mar 11 21:33:40 2014 -0700 + + Merge pull request #1411 from ceph/wip-7076-dumpling + + dumpling backport of watchers check for rbd_remove() + +commit 6700dd068e236473343d15eee6307d44156958a3 +Author: Ray Lv +Date: Wed Feb 26 21:17:32 2014 +0800 + + rgw: off-by-one in rgw_trim_whitespace() + + Fixes: #7543 + Backport: dumpling + + Reviewed-by: Yehuda Sadeh + Signed-off-by: Ray Lv + (cherry picked from commit 195d53a7fc695ed954c85022fef6d2a18f68fe20) + +commit cd7986caf6baee5f9d6498b113b3382e66dd6f77 +Author: Ilya Dryomov +Date: Wed Jan 29 16:12:01 2014 +0200 + + rbd: check for watchers before trimming an image on 'rbd rm' + + Check for watchers before trimming image data to try to avoid getting + into the following situation: + + - user does 'rbd rm' on a mapped image with an fs mounted from it + - 'rbd rm' trims (removes) all image data, only header is left + - 'rbd rm' tries to remove a header and fails because krbd has a + watcher registered on the header + - at this point image cannot be unmapped because of the mounted fs + - fs cannot be unmounted because all its data and metadata is gone + + Unfortunately, this fix doesn't make it impossible to happen (the + required atomicity isn't there), but it's a big improvement over the + status quo. + + Fixes: http://tracker.ceph.com/issues/7076 + + Reviewed-by: Josh Durgin + Signed-off-by: Ilya Dryomov + (cherry picked from commit 0a553cfa81b06e75585ab3c39927e307ec0f4cb6) + +commit a931aaa6cc104d63b20c0cbe9e3af4006c3abfaf +Merge: b476d32 f5668b3 +Author: Sage Weil +Date: Sun Mar 9 10:56:31 2014 -0700 + + Merge pull request #1407 from dachary/wip-7188-dumpling + + common: ping existing admin socket before unlink (dumpling) + + Reviewed-by: Sage Weil + +commit f5668b363b0724f385bebded3cbc7f363893f985 +Author: Loic Dachary +Date: Sat Feb 15 11:43:13 2014 +0100 + + common: ping existing admin socket before unlink + + When a daemon initializes it tries to create an admin socket and unlinks + any pre-existing file, regardless. If such a file is in use, it causes + the existing daemon to loose its admin socket. + + The AdminSocketClient::ping is implemented to probe an existing socket, + using the "0" message. The AdminSocket::bind_and_listen function is + modified to call ping() on when it finds existing file. It unlinks the + file only if the ping fails. + + http://tracker.ceph.com/issues/7188 fixes: #7188 + + Backport: emperor, dumpling + Reviewed-by: Sage Weil + Signed-off-by: Loic Dachary + (cherry picked from commit 45600789f1ca399dddc5870254e5db883fb29b38) + +commit b476d324c69d4e6018191a7ffea8c9d6c1dfa008 +Merge: d3e13a7 5133dd6 +Author: Sage Weil +Date: Wed Mar 5 14:19:31 2014 -0800 + + Merge pull request #1366 from ceph/wip-6820.dumpling + + mon: OSDMonitor: don't crash if formatter is invalid during osd crush dump + +commit d3e13a7cdab42fa33182680f45fe21b4f9dc4b20 +Merge: c218c99 9c626e0 +Author: Josh Durgin +Date: Wed Mar 5 12:45:57 2014 -0800 + + Merge pull request #1377 from ceph/wip-7584 + + qa/workunit/rados/test-upgrade-firely.sh + + Reviewed-by: Josh Durgin + +commit 9c626e0b18f538eb60883da01713ba629220e35e +Author: Sage Weil +Date: Wed Mar 5 12:37:10 2014 -0800 + + qa/workunit/rados/test-upgrade-firely.sh + + Skip the tests that don't pass when run against firefly OSDs. + + Fixes: #7584 + Signed-off-by: Sage Weil + +commit c218c999ecebe41e6de6fde76e85cc765cad8257 +Merge: 0eabbf1 24711cd +Author: Samuel Just +Date: Tue Mar 4 07:28:44 2014 -0800 + + Merge pull request #1357 from ceph/wip-dumpling-removewq + + OSD: ping tphandle during pg removal + + Reviewed-by: Greg Farnum + +commit 5133dd60e272d3fcbaacd5662a708ee4cf0db46d +Author: Joao Eduardo Luis +Date: Fri Nov 22 02:17:16 2013 +0000 + + mon: OSDMonitor: don't crash if formatter is invalid during osd crush dump + + Code would assume a formatter would always be defined. If a 'plain' + formatter or even an invalid formatter were to be supplied, the monitor + would crash and burn in poor style. + + Fixes: 6820 + Backport: emperor + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 49d2fb71422fe4edfe5795c001104fb5bc8c98c3) + +commit 24711cd49f85dbe827d41c4bcad2700cd6c42ad7 +Author: Samuel Just +Date: Tue Oct 15 13:11:29 2013 -0700 + + OSD: ping tphandle during pg removal + + Fixes: #6528 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + + (cherry picked from commit c658258d9e2f590054a30c0dee14a579a51bda8c) + + Conflicts: + src/osd/OSD.cc + +commit 0eabbf145e1c44f4d128b192cc77b708f180c968 +Merge: fe8915a 9d5d931 +Author: Samuel Just +Date: Tue Feb 25 15:47:05 2014 -0800 + + Merge pull request #1316 from ceph/dumpling-6922 + + Dumpling: Prevent extreme PG split multipliers + + Reviewed-by: Samuel Just + +commit fe8915ae7e182340d1e22154e852895742c7da51 +Merge: 87822cc 5667566 +Author: Samuel Just +Date: Tue Feb 25 15:45:45 2014 -0800 + + Merge pull request #1315 from ceph/dumpling-hashpspool + + mon: OSDMonitor: allow (un)setting 'hashpspool' flag via 'osd pool set' + + Reviewed-by: Samuel Just + +commit 87822ccc862b533132c1fe232dfe4b7b17b816ad +Merge: 0ae3352 37fbcb9 +Author: Samuel Just +Date: Tue Feb 25 15:44:39 2014 -0800 + + Merge pull request #1314 from ceph/dumpling-osd-pgstatsack + + Dumpling osd pgstatsack + + Reviewed-by: Samuel Just + +commit 5667566313b69dca011e897b2fa752356ad8901b +Author: Joao Eduardo Luis +Date: Thu Oct 10 17:43:48 2013 -0700 + + mon: OSDMonitor: allow (un)setting 'hashpspool' flag via 'osd pool set' + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit 1c2886964a0c005545abab0cf8feae7e06ac02a8) + + Conflicts: + + src/mon/MonCommands.h + src/mon/OSDMonitor.cc + + mon: ceph hashpspool false clears the flag + instead of toggling it. + Signed-off-by: Loic Dachary + Reviewed-by: Christophe Courtaut + Reviewed-by: Sage Weil + (cherry picked from commit 589e2fa485b94244c79079f249428d4d545fca18 + + Replace some of the infrastructure required by this command that + was not present in Dumpling with single-use code. + Signed-off-by: Greg Farnum + +commit 9d5d931c60104823b3b20dcfb09480d65ffaa5ed +Author: Greg Farnum +Date: Tue Dec 3 10:57:09 2013 -0800 + + OSDMonitor: use a different approach to prevent extreme multipliers on PG splits + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit d8ccd73968fbd0753ca08916ebf1062cdb4d5ac1) + + Conflicts: + + src/mon/OSDMonitor.cc + +commit c0c4448dc7df7900a564a6745903398cd39be7f1 +Author: Greg Farnum +Date: Mon Dec 2 15:13:40 2013 -0800 + + OSDMonitor: prevent extreme multipliers on PG splits + + Fixes: #6922 + Backport: emperor + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit f57dad6461171c903e8b5255eaed300374b00e74) + + Conflicts: + + src/mon/OSDMonitor.cc + +commit c1889497b93ae9f0a946b11d9f5f6fcc7427e934 +Author: Sage Weil +Date: Sat Feb 22 08:08:37 2014 -0800 + + osd: fix off-by-one is boot subscription + + If we have osdmap N, we want to onetime subscribe + starting at N+1. Among other things, it means we + hear when the NOUP flag is cleared. + + This appears to have broken somewhere around + 3c76b81f2f96b790b72f2088164ed8e9d5efbba1. + + Fixes: #7511 + Signed-off-by: Sage Weil + Reviewed-by: Sam Just + (cherry picked from commit 70d23b9a0ad9af5ca35a627a7f93c7e610e17549) + Reviewed-by: Greg Farnum + +commit 4584f60653bee0305e85418323d80332ceecd0cf +Author: Greg Farnum +Date: Tue Feb 11 12:51:19 2014 -0800 + + OSD: use the osdmap_subscribe helper + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 3c76b81f2f96b790b72f2088164ed8e9d5efbba1) + +commit 61b2aeee7c37e03d5f6691c08c7760c48a85a2e1 +Author: Greg Farnum +Date: Tue Feb 11 13:34:39 2014 -0800 + + OSD: create a helper for handling OSDMap subscriptions, and clean them up + + We've had some trouble with not clearing out subscription requests and + overloading the monitors (though only because of other bugs). Write a + helper for handling subscription requests that we can use to centralize + safety logic. Clear out the subscription whenever we get a map that covers + it; if there are more maps available than we received, we will issue another + subscription request based on "m->newest_map" at the end of handle_osd_map(). + + Notice that the helper will no longer request old maps which we already have, + and that unless forced it will not dispatch multiple subscribe requests + to a single monitor. + Skipping old maps is safe: + 1) we only trim old maps when the monitor tells us to, + 2) we do not send messages to our peers until we have updated our maps + from the monitor. + That means only old and broken OSDs will send us messages based on maps + in our past, and we can (and should) ignore any directives from them anyway. + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 6db3ae851d1c936de045390d18b1c6ae95f2a209) + + Conflicts: + + src/osd/OSD.h + +commit d93d67d1a315d8abe8d1cd9d7ea83417a19e2406 +Author: Greg Farnum +Date: Tue Feb 11 13:31:26 2014 -0800 + + monc: new fsub_want_increment( function to make handling subscriptions easier + + Provide a subscription-modifying function which will not decrement + the start version. + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 5b9c187caf6f7847aaa4a1003d200158dd32bf63) + +commit 37fbcb958f79bbfcba57c516b4862a14c52be398 +Author: Greg Farnum +Date: Wed Feb 12 11:30:15 2014 -0800 + + OSD: disable the PGStatsAck timeout when we are reconnecting to a monitor + + Previously, the timeout counter started as soon as we issued the reopen, + but if the reconnect process itself took a while, we might time out and + issue another reopen just as we get to the point where it's possible to + get work done. Since the mon client has its own reconnect timeouts (that is, + the OSD doesn't need to trigger those), we instead disable our timeouts + while the reconnect is happening, and then turn them back on again starting + from when we get the reconnect callback. + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 64cedf6fa3ee309cc96554286bfb805e4ca89439) + + Conflicts: + + src/osd/OSD.cc + +commit 9be395e870c50d97604ef41f17667cc566fd84e1 +Author: Greg Farnum +Date: Wed Feb 12 13:51:48 2014 -0800 + + monc: backoff the timeout period when reconnecting + + If the monitors are systematically slowing down, we don't want to spam + them with reconnect attempts every three seconds. Instead, every time + we issue a reconnect, multiply our timeout period by a configurable; when + we complete the connection, reduce that multipler by 50%. This should let + us respond to monitor load. + Of course, we don't want to do that for initial startup in the case of a + couple down monitors, so don't apply the backoff until we've successfully + connected to a monitor at least once. + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 794c86fd289bd62a35ed14368fa096c46736e9a2) + +commit 8f4c20bdab153d1603cc99186d8d3e3970aa8976 +Author: Greg Farnum +Date: Wed Feb 12 13:37:50 2014 -0800 + + monc: set "hunting" to true when we reopen the mon session + + If we don't have a connecton to a monitor, we want to retry to another + monitor regardless of whether it's the first time or not. + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 60da8abe0ebf17ce818d6fcc6391401878123bb7) + +commit c6317558e0d3c8c62aecee0d95a839f93303f681 +Author: Greg Farnum +Date: Tue Feb 11 17:53:56 2014 -0800 + + monc: let users specify a callback when they reopen their monitor session + + Then the callback is triggered when a new session is established, and the + daemon can do whatever it likes. There are no guarantees about how long it + might take to trigger, though. In particular we call the provided callback + while not holding our own lock in order to avoid deadlock. This could lead + to some funny ordering from the user's perspective if they call + reopen_session() again before getting the callback, but there's no way around + that, so they just have to use it appropriately. + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + (cherry picked from commit 1a8c43474bf36bfcf2a94bf9b7e756a2a99f33fd) + +commit 0ae335298b85daba5125a3da4ad26d598c76ecab (refs/remotes/gh/multi-object-delete) +Author: Yehuda Sadeh +Date: Tue Feb 11 16:54:05 2014 -0800 + + rgw: multi object delete should be idempotent + + Fixes: #7346 + When doing a multi object delete, if an object does not exist then we + should return a success code for that object. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 8ca3d95bf633ea9616852cec74f02285a03071d5) + + Conflicts: + src/rgw/rgw_op.cc diff --git a/doc/changelog/v0.67.9.txt b/doc/changelog/v0.67.9.txt new file mode 100644 index 00000000..8ae98cd8 --- /dev/null +++ b/doc/changelog/v0.67.9.txt @@ -0,0 +1,233 @@ +commit ba340a97c3dafc9155023da8d515eecc675c619a (tag: refs/tags/v0.67.9, refs/remotes/gh/dumpling) +Author: Jenkins +Date: Wed May 21 16:57:02 2014 +0000 + + 0.67.9 + +commit b638d19d126646d2a8f6da11067c5f392a62525e +Author: Guang Yang +Date: Fri May 9 09:21:23 2014 +0000 + + msg: Fix inconsistent message sequence negotiation during connection reset + + Backport: firefly, emperor, dumpling + + Signed-off-by: Guang Yang (yguang@yahoo-inc.com) + Reviewed-by: Greg Farnum + (cherry picked from commit bdee119076dd0eb65334840d141ccdf06091e3c9) + +commit 55b1112819ed2e6fd509c09c2c1a2b434d22aac6 +Author: Sage Weil +Date: Tue May 20 10:46:34 2014 -0700 + + OSD::handle_pg_query: on dne pg, send lb=hobject_t() if deleting + + We will set lb=hobject_t() if we resurrect the pg. In that case, + we need to have sent that to the primary before hand. If we + finish the removal before the pg is recreated, we'll just end + up backfilling it, which is ok since the pg doesn't exist anyway. + + Fixes: #7740 + Signed-off-by: Samuel Just + (cherry picked from commit 04de781765dd5ac0e28dd1a43cfe85020c0854f8) + + Conflicts: + + src/osd/OSD.cc + +commit 3b8ab41e1ec86f2ab5c6b4bee3fb4030077e2c21 +Author: Sage Weil +Date: Fri May 2 14:48:35 2014 -0700 + + mon/MonClient: remove stray _finish_hunting() calls + + Callig _finish_hunting() clears out the bool hunting flag, which means we + don't retry by connection to another mon periodically. Instead, we send + keepalives every 10s. But, since we aren't yet in state HAVE_SESSION, we + don't check that the keepalives are getting responses. This means that an + ill-timed connection reset (say, after we get a MonMap, but before we + finish authenticating) can drop the monc into a black hole that does not + retry. + + Instead, we should *only* call _finish_hunting() when we complete the + authentication handshake. + + Fixes: #8278 + Backport: firefly, dumpling + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 77a6f0aefebebf057f02bfb95c088a30ed93c53f) + +commit a915350491092abcd2584d0bbb5f5d8610ed89fc +Merge: bd5d6f1 d4e67ff +Author: Sage Weil +Date: Tue May 20 10:19:00 2014 -0700 + + Merge pull request #1826 from ceph/wip-8162-dumpling + + Wip 8162 dumpling + + Reviewed-by: Sage Weil + +commit bd5d6f116416d1b410d57ce00cb3e2abf6de102b +Author: Greg Farnum +Date: Thu May 15 16:50:43 2014 -0700 + + OSD: fix an osdmap_subscribe interface misuse + + When calling osdmap_subscribe, you have to pass an epoch newer than the + current map's. _maybe_boot() was not doing this correctly -- we would + fail a check for being *in* the monitor's existing map range, and then + pass along the map prior to the monitor's range. But if we were exactly + one behind, that value would be our current epoch, and the request would + get dropped. So instead, make sure we are not *in contact* with the monitor's + existing map range. + + Signed-off-by: Greg Farnum + Reviewed-by: Samuel Just + (cherry picked from commit 290ac818696414758978b78517b137c226110bb4) + +commit c5ae8ffc281ac538dd0966a552a6cf729728e925 +Merge: fced056 8d991fa +Author: Sage Weil +Date: Mon May 19 13:45:50 2014 -0700 + + Merge pull request #1827 from ceph/wip-6565-dumpling + + Wip 6565 dumpling + + Reviewed-by: Sage Weil + +commit 8d991fa2c3fdbfd9178d93e4ca33d47504a37195 +Author: Samuel Just +Date: Wed Oct 16 10:07:37 2013 -0700 + + OSD: check for splitting when processing recover/backfill reservations + + Fixes: 6565 + Signed-off-by: Samuel Just + Reviewed-by: Sage Weil + (cherry picked from commit 15ec5332ba4154930a0447e2bcf1acec02691e97) + +commit d4e67ff3037a3cc7ae2ecc9e1d8d086c45ae515a +Author: Samuel Just +Date: Thu May 8 13:25:32 2014 -0700 + + ReplicatedPG::recover_backfill: do not update last_backfill prematurely + + Previously, we would update last_backfill on the backfill peer to + + backfills_in_flight.empty() ? backfill_pos : + backfills_in_flight.begin()->first + + which is actually the next backfill to complete. We want to update + last_backfill to the largest completed backfill instead. + + We use the pending_backfill_updates mapping to identify the most + recently completed backfill. Due to the previous patch, deletes + will also be included in that mapping. + + Related sha1s from master: + 4139e75d63b0503dbb7fea8036044eda5e8b7cf1 + 7a06a71e0f2023f66d003dfb0168f4fe51eaa058 + + We don't really want to backport those due to the changes in: + 9ec35d5ccf6a86c380865c7fc96017a1f502560a + + This patch does essentially the same thing, but using backfill_pos. + + Fixse: #8162 + Signed-off-by: Samuel Just + +commit d620b13c51fc69b509824177af32de55c89c2259 +Author: Samuel Just +Date: Mon Oct 28 16:03:25 2013 -0700 + + ReplicatedPG: add empty stat when we remove an object in recover_backfill + + Subsequent updates to that object need to have their stats added + to the backfill info stats atomically with the last_backfill + update. + + Signed-off-by: Samuel Just + (cherry picked from commit ecddd12b01be120fba87f5ac60539f98f2c69a28) + +commit fced0562f6b80035cd522cc81bdc844ccc92d9bc +Author: Yehuda Sadeh +Date: Wed Nov 27 13:34:00 2013 -0800 + + rgw: don't error out on empty owner when setting acls + + Fixes: #6892 + Backport: dumpling, emperor + s3cmd specifies empty owner field when trying to set acls on object + / bucket. We errored out as it didn't match the current owner name, but + with this change we ignore it. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 14cf4caff58cc2c535101d48c53afd54d8632104) + +commit 0e685c68aa6a500aa7fa433cd9b8246f70c5383e +Author: Yehuda Sadeh +Date: Mon Apr 21 15:34:04 2014 -0700 + + rgw: send user manifest header field + + Fixes: #8170 + Backport: firefly + If user manifest header exists (swift) send it as part of the object + header data. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5cc5686039a882ad345681133c9c5a4a2c2fd86b) + +commit 20383e359cdfbf146838742fa050ec4b6073271d +Author: Yan, Zheng +Date: Fri Apr 11 15:03:37 2014 +0800 + + client: add asok command to kick sessions that were remote reset + + Fixes: #8021 + Signed-off-by: Yan, Zheng + (cherry picked from commit 09a1bc5a4601d356b9cc69be8541e6515d763861) + +commit 4e5e41deeaf91c885773d90e6f94da60f6d4efd3 +Author: Sage Weil +Date: Fri Apr 18 13:50:11 2014 -0700 + + osd: throttle snap trimmming with simple delay + + This is not particularly smart, but it is *a* knob that lets you make + the snap trimmer slow down. It's a flow and a simple delay, so it is + adjustable at runtime. Default is 0 (no change in behavior). + + Partial solution for #6278. + + Signed-off-by: Sage Weil + (cherry picked from commit 4413670d784efc2392359f0f22bca7c9056188f4) + +commit 14650b282ecd344025714a4e743b255ae01b3ce0 +Author: Sage Weil +Date: Tue Apr 1 16:01:28 2014 -0700 + + PG: only complete replicas should count toward min_size + + Backport: emperor,dumpling,cuttlefish + Fixes: #7805 + Signed-off-by: Samuel Just + Signed-off-by: Sage Weil + (cherry picked from commit 0d5d3d1a30685e7c47173b974caa12076c43a9c4) + +commit 3f1d7f5e0a67ad646de465335fb7ee00eb07e220 +Author: Sage Weil +Date: Fri May 2 15:10:43 2014 -0700 + + mon/PGMonitor: set tid on no-op PGStatsAck + + The OSD needs to know the tid. Both generally, and specifically because + the flush_pg_stats may be blocking on it. + + Fixes: #8280 + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 5a6ae2a978dcaf96ef89de3aaa74fe951a64def6) diff --git a/doc/changelog/v0.72.2.txt b/doc/changelog/v0.72.2.txt new file mode 100644 index 00000000..66fd667e --- /dev/null +++ b/doc/changelog/v0.72.2.txt @@ -0,0 +1,189 @@ +commit a913ded2ff138aefb8cb84d347d72164099cfd60 +Author: Gary Lowell +Date: Fri Dec 20 19:28:37 2013 +0000 + + v0.72.2 + +commit b570c8014325fef590d16e6157cb33026155932c +Author: Yehuda Sadeh +Date: Wed Dec 18 13:11:01 2013 -0800 + + rgw: fix use-after-free when releasing completion handle + + Backport: emperor, dumpling + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + (cherry picked from commit c8890ab2d46fe8e12200a0d2f9eab31c461fb871) + +commit 451381b4dba9d50fbee2accf5d75562615001ef3 +Author: Yehuda Sadeh +Date: Wed Dec 18 13:10:21 2013 -0800 + + rgw: don't return data within the librados cb + + Fixes: #7030 + The callback is running within a single Finisher thread, thus we + shouldn't block there. Append read data to a list and flush it within + the iterate context. + + Reviewed-by: Sage Weil + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d6a4f6adfaa75c3140d07d6df7be03586cc16183) + +commit c044b218cb32d7ef2f2aa5db81ebf38ad0dc1049 +Author: Sage Weil +Date: Sun Dec 1 22:21:31 2013 -0800 + + Partial revert "mon: osd pool set syntax relaxed, modify unit tests" + + This reverts commit 08327fed8213a5d24cd642e12b38a171b98924cb, except + for the hashpspool bit. We switched back to an integer argument in + commit 337195f04653eed8e8f153a5b074f3bd48408998. + + Signed-off-by: Sage Weil + (cherry picked from commit e80ab94bf44e102fcd87d16dc11e38ca4c0eeadb) + Reviewed-by: Greg Farnum + +commit 1983ed8013637e9b80ca4a0e8d2800d6a36b120e +Author: Joao Eduardo Luis +Date: Tue Nov 19 23:21:11 2013 +0000 + + mon: OSDMonitor: drop cmdval_get() for unused variable + + We don't ever use any value as a float, so just drop obtaining it. This + makes it easier to partially revert 2fe0d0d9 in an upcoming patch. + + Backport: emperor + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 7191bb2b2485c7819ca7b9d9434d803d0c94db7a) + Reviewed-by: Sage Weil + Reviewed-by: Greg Farnum + +commit 1c4759cebb11ae1aa84aa3cbdb2b31e6d111f28e +Author: Joao Eduardo Luis +Date: Fri Nov 22 02:10:35 2013 +0000 + + mon: OSDMonitor: receive CephInt on 'osd pool set' instead on CephString + + This partially reverts 2fe0d0d9 in order to allow Emperor monitors to + forward mon command messages to Dumpling monitors without breaking a + cluster. + + The need for this patch became obvious after issue #6796 was triggered. + Basically, in a mixed cluster of Emperor/Dumpling monitors, if a client + happens to obtain the command descriptions from an Emperor monitor and + then issue an 'osd pool set' this can turn out in one of two ways: + + 1. client msg gets forwarded to an Emperor leader and everything's a-okay; + 2. client msg gets forwarded to a Dumpling leader and the string fails to + be interpreted without the monitor noticing, thus leaving the monitor with + an uninitialized variable leading to trouble. + + If 2 is triggered, a multitude of bad things can happen, such as thousands + of pg splits, due to a simple 'osd set pool foo pg_num 128' turning out + to be interpreted as 109120394 or some other random number. + + This patch is such that we make sure the client sends an integer instead + of a string. We also make sure to interpret anything the client sends as + possibly being a string, or an integer. + + Fixes: 6796 + Backport: emperor + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 337195f04653eed8e8f153a5b074f3bd48408998) + Reviewed-by: Sage Weil + Reviewed-by: Greg Farnum + +commit c2e467b42dfaecf082a3838b10e873f9f8bd5633 +Author: Josh Durgin +Date: Mon Nov 25 13:43:43 2013 -0800 + + init, upstart: prevent daemons being started by both + + There can be only one init system starting a daemon. If there is a + host entry in ceph.conf for a daemon, sysvinit would try to start it + even if the daemon's directory did not include a sysvinit file. This + preserves backwards compatibility with older installs using sysvinit, + but if an upstart file is present in the daemon's directory, upstart + will try to start them, regardless of host entries in ceph.conf. + + If there's an upstart file in a daemon's directory and a host entry + for that daemon in ceph.conf, both sysvinit and upstart would attempt + to manage it. + + Fix this by only starting daemons if the marker file for the other + init system is not present. This maintains backwards compatibility + with older installs using neither sysvinit or upstart marker files, + and does not break any valid configurations. The only configuration + that would break is one with both sysvinit and upstart files present + for the same daemon. + + Backport: emperor, dumpling + Reported-by: Tim Spriggs + Signed-off-by: Josh Durgin + (cherry picked from commit 5e34beb61b3f5a1ed4afd8ee2fe976de40f95ace) + +commit 8812c4e958b154ca401c7257fd48ccaffe013639 +Author: Yehuda Sadeh +Date: Wed Nov 27 13:34:00 2013 -0800 + + rgw: don't error out on empty owner when setting acls + + Fixes: #6892 + Backport: dumpling, emperor + s3cmd specifies empty owner field when trying to set acls on object + / bucket. We errored out as it didn't match the current owner name, but + with this change we ignore it. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 14cf4caff58cc2c535101d48c53afd54d8632104) + +commit 69e055f367ae37dd771c050f158d684e2a3cb246 +Author: Yehuda Sadeh +Date: Fri Nov 22 07:04:01 2013 -0800 + + rgw: lower some debug message + + Fixes: #6084 + Backport: dumpling, emperor + + Reported-by: Ron Allred + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b35fc1bc2ec8c8376ec173eb1c3e538e02c1694e) + +commit 53951fd5459d6396b6ab59b52dc33df0ebcf4414 +Author: Samuel Just +Date: Tue Nov 12 15:15:26 2013 -0800 + + ReplicatedPG: test for missing head before find_object_context + + find_object_context doesn't return EAGAIN for a missing head. + I chose not to change that behavior since it might hide bugs + in the future. All other callers check for missing on head + before calling into find_object_context because we potentially + need head or snapdir to map a snapid onto a clone. + + Backport: emperor + Fixes: 6758 + Signed-off-by: Samuel Just + Reviewed-by: Josh Durgin + Reviewed-by: David Zafman + (cherry picked from commit dd9d8b020286d5e3a69455023c3724a7b436d687) + +commit 83ee6843de6432278dc2891526691006c51eb1fa +Author: Josh Durgin +Date: Mon Nov 18 14:39:12 2013 -0800 + + osd: fix bench block size + + The command was declared to take 'size' in dumpling, but was trying to + read 'bsize' instead, so it always used the default of 4MiB. Change + the bench command to read 'size', so it matches what existing clients + are sending. + + Fixes: #6795 + Backport: emperor, dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit 40a76ef0d09f8ecbea13712410d9d34f25b91935) diff --git a/doc/changelog/v0.80.1.txt b/doc/changelog/v0.80.1.txt new file mode 100644 index 00000000..70d6fd6a --- /dev/null +++ b/doc/changelog/v0.80.1.txt @@ -0,0 +1,216 @@ +commit a38fe1169b6d2ac98b427334c12d7cf81f809b74 (tag: refs/tags/v0.80.1) +Author: Jenkins +Date: Mon May 12 15:12:54 2014 +0000 + + 0.80.1 + +commit ab873622c6d41bc8053a1d205da2e4b55e77351d +Author: Jenkins +Date: Mon May 12 15:11:33 2014 +0000 + + 0.80.1 + +commit 03e7d1d550132a55e87972123d5bc3c0bb0cc981 +Author: Jenkins +Date: Mon May 12 15:10:56 2014 +0000 + + 0.80.1 + +commit 7a4919c7fa10020643df09e012376e4b563ca17d +Author: Jenkins +Date: Mon May 12 15:09:01 2014 +0000 + + 0.80.1 + +commit ce852b29dc5cf9857a6bfeef7839293cfadf1877 (refs/remotes/gh/firefly) +Author: Samuel Just +Date: Fri May 2 16:21:26 2014 -0700 + + Revert "ReplicatedPG: block scrub on blocked object contexts" + + This reverts commit e66f2e36c06ca00c1147f922d3513f56b122a5c0. + Reviewed-by: Sage Weil + + 0f3235d46c8fd6c537bd4aa8a3faec6c00f311a8 is the firefly commit + corresponding to e66f2e36c06ca00c1147f922d3513f56b122a5c0. + + (cherry picked from commit 84728058dbb91b8ed062240b3373b18078f0c9ca) + +commit db8873b69c73b40110bf1512c114e4a0395671ab +Author: Yehuda Sadeh +Date: Tue May 6 16:55:27 2014 -0700 + + rgw: fix stripe_size calculation + + Fixes: #8299 + Backport: firefly + The stripe size calculation was broken, specifically affected cases + where we had manifest that described multiple parts. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 9968b938b5d47fdf3a67db134bd2ea6bf3a28086) + +commit e0fb2e63074d5f71679bb68656336f68e8190f39 +Author: Yehuda Sadeh +Date: Tue May 6 11:06:29 2014 -0700 + + rgw: cut short object read if a chunk returns error + + Fixes: #8289 + Backport: firefly, dumpling + When reading an object, if we hit an error when trying to read one of + the rados objects then we should just stop. Otherwise we're just going + to continue reading the rest of the object, and since it can't be sent + back to the client (as we have a hole in the middle), we end up + accumulating everything in memory. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 03b0d1cfb7bd30a77fedcf75eb06476b21b14e95) + +commit 328665db17bf87d36a3dcbf5f0d0d1a9410e2f96 +Author: Yehuda Sadeh +Date: Mon Apr 21 15:34:04 2014 -0700 + + rgw: send user manifest header field + + Fixes: #8170 + Backport: firefly + If user manifest header exists (swift) send it as part of the object + header data. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5cc5686039a882ad345681133c9c5a4a2c2fd86b) + +commit cdb0fac29693fb0250b515891804c4c7fd3045c7 +Author: Yan, Zheng +Date: Fri Apr 11 15:03:37 2014 +0800 + + client: add asok command to kick sessions that were remote reset + + Fixes: #8021 + Signed-off-by: Yan, Zheng + (cherry picked from commit 09a1bc5a4601d356b9cc69be8541e6515d763861) + +commit 4a91196bf49936471a731f9316ef904fda982b26 +Author: Sage Weil +Date: Fri Apr 18 13:50:11 2014 -0700 + + osd: throttle snap trimmming with simple delay + + This is not particularly smart, but it is *a* knob that lets you make + the snap trimmer slow down. It's a flow and a simple delay, so it is + adjustable at runtime. Default is 0 (no change in behavior). + + Partial solution for #6278. + + Signed-off-by: Sage Weil + (cherry picked from commit 4413670d784efc2392359f0f22bca7c9056188f4) + +commit 3ba2e228db1829a02f9cd31225672604fdc8adf7 +Author: Sage Weil +Date: Fri May 2 14:48:35 2014 -0700 + + mon/MonClient: remove stray _finish_hunting() calls + + Callig _finish_hunting() clears out the bool hunting flag, which means we + don't retry by connection to another mon periodically. Instead, we send + keepalives every 10s. But, since we aren't yet in state HAVE_SESSION, we + don't check that the keepalives are getting responses. This means that an + ill-timed connection reset (say, after we get a MonMap, but before we + finish authenticating) can drop the monc into a black hole that does not + retry. + + Instead, we should *only* call _finish_hunting() when we complete the + authentication handshake. + + Fixes: #8278 + Backport: firefly, dumpling + Signed-off-by: Sage Weil + Reviewed-by: Joao Eduardo Luis + (cherry picked from commit 77a6f0aefebebf057f02bfb95c088a30ed93c53f) + +commit 383f6440ce34b0d84c0dfa06f561896dad6862f4 +Author: Sage Weil +Date: Fri May 2 16:41:26 2014 -0700 + + osd/ReplicatedPG: fix trim of in-flight hit_sets + + We normally need to stat the hit_set to know how many bytes to adjust the + stats by. If the hit_set was just written, we will get ENOENT. + + Get the obc instead, which will either get the in-memory copy (because the + repop is still in flight) or load it off of disk. + + Fixes: #8283 + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 72fdd557c35cb721d4b502c5a8f68c878f11a19c) + +commit ef35448e63916102261ff6198f2c0ab4e4a57e9b +Author: Sage Weil +Date: Tue May 6 11:01:27 2014 -0700 + + osd/ReplicatedPG: fix whiteouts for other cache mode + + We were special casing WRITEBACK mode for handling whiteouts; this needs to + also include the FORWARD and READONLY modes. To avoid having to list + specific cache modes, though, just check != NONE. + + Fixes: #8296 + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 3e387d62ed95898db8a7d7163c2bacc363b8f617) + +commit e7df73dd7aaf5a0b1171f73d6695d26cd25b7b35 +Author: Sage Weil +Date: Thu May 1 16:53:17 2014 -0700 + + osd: Prevent divide by zero in agent_choose_mode() + + Fixes: #8175 + Backport: firefly + + Signed-off-by: David Zafman + Signed-off-by: Sage Weil + (cherry picked from commit f47f867952e6b2a16a296c82bb9b585b21cde6c8) + +commit 022d467b5d6b77c17b6fdaeec8369cae61e9e5a4 +Author: David Zafman +Date: Mon Apr 21 23:52:04 2014 -0700 + + osd, common: If agent_work() finds no objs to work on delay 5 (default) secs + + Add config osd_agent_delay_time of 5 seconds + Honor delay by ignoring agent_choose_mode() calls + Add tier_delay to logger + Treat restart after delay like we were previously idle + + Fixes: #8113 + Backport: firefly + + Signed-off-by: David Zafman + (cherry picked from commit b7d31e5f5952c631dd4172bcb825e77a13fc60bc) + +commit 6a55c3bc3caf46652e962fa9434900fb494d1e6c +Author: David Zafman +Date: Thu May 1 18:54:30 2014 -0700 + + osd/ReplicatedPG: agent_work() fix next if finished early due to start_max + + Backport: firefly + + Signed-off-by: David Zafman + (cherry picked from commit 9cf470cac8dd4d8f769e768f2de6b9eb67a3c3af) + +commit 1b899148a729235ab2835d368077f18e62a36a93 +Author: Haomai Wang +Date: Sat May 3 12:53:06 2014 +0800 + + Fix clone problem + + When clone happened, the origin header also will be updated in GenericObjectMap, + so the new header wraper(StripObjectHeader) should be updated too. + + Fix #8282 + Signed-off-by: Haomai Wang + (cherry picked from commit 3aee1e0ffe0583f74c02d9c9e86c7fb267f3515c) diff --git a/doc/changelog/v0.80.10.txt b/doc/changelog/v0.80.10.txt new file mode 100644 index 00000000..be82bcc9 --- /dev/null +++ b/doc/changelog/v0.80.10.txt @@ -0,0 +1,3308 @@ +commit ea6c958c38df1216bf95c927f143d8b13c4a9e70 (tag: refs/tags/v0.80.10) +Author: Jenkins +Date: Thu Jun 18 09:48:56 2015 -0700 + + 0.80.10 + +commit 9b7f09e280b4610b9f85ac34ec014018f0e2e1d3 +Author: Sage Weil +Date: Wed Jun 17 09:35:28 2015 -0700 + + qa/workunits/rados/test-upgarde-v9.0.1: fix exclude syntax + + It's -, then a list of all exclusions separated by :. There are just 2. + + Signed-off-by: Sage Weil + (cherry picked from commit 78d894a634d727a9367f809a1f57234e5e6935be) + +commit 4e28fbc52db7d808aeaede884f342beafb7fc581 +Author: Sage Weil +Date: Tue Jun 16 21:05:29 2015 -0700 + + qa/workunits/rados/test-upgrade-v9.0.1: skip one more evict test + + Signed-off-by: Sage Weil + (cherry picked from commit 3e8d60a80ce31860eac76a1f6489a35e1795a0c0) + +commit 34ba3719997fed6d0b8148f21e59b446bdf42962 +Author: Josh Durgin +Date: Mon Jun 15 15:12:43 2015 -0700 + + qa: add compatibility filtered rados api tests for upgrades + + Post-9.0.1, the evict op returns success when an object doesn't exist + in the cache tier. Skip the tests that are incompatible across + versions. + + Fixes: #11548 + Signed-off-by: Josh Durgin + (cherry picked from commit 348a3d3c9880e7d022e71a2faafe51c8f771406e) + +commit d1f478200342f422ee6e563bf7aad54ba38b3ed3 +Merge: d0f9c5f 7f1abd9 +Author: Sage Weil +Date: Wed Jun 10 15:03:48 2015 -0700 + + Merge pull request #4924 from ceph/wip-11955-firefly + + 11955: ceph.spec.in: package mkcephfs on EL6 + + Reviewed-by: Sage Weil + +commit 7f1abd9053088ded6613aeca4e7c9489c44910e4 +Author: Ken Dreyer +Date: Wed Jun 10 15:43:41 2015 -0600 + + ceph.spec.in: package mkcephfs on EL6 + + Commit efbca0465c2946e113771966df08cf7cf37b1196 added mkcephfs to the + RPM %files listing, but this /usr/sbin path is only correct for CentOS + 7. In CentOS 6, the utility is present at /sbin/mkcephfs instead. This + causes rpmbuild to fail to build the tip of the firefly branch on EL6. + + Adjust the RPM %files list so we properly package mkcephfs on both EL7 + and EL6. + + http://tracker.ceph.com/issues/11955 Refs: #11955 + + Signed-off-by: Ken Dreyer + +commit d0f9c5f47024f53b4eccea2e0fde9b7844746362 +Merge: efbca04 9930138 +Author: Orit Wasserman +Date: Thu Jun 4 19:07:03 2015 +0200 + + Merge pull request #4851 from ceph/wip-10873-firefly + + rgw: generate the "Date" HTTP header for civetweb. + +commit 99301384be96997203682679c0430ca0a53be5d3 (refs/remotes/gh/wip-10873-firefly) +Author: Radoslaw Zarzynski +Date: Wed Feb 18 15:48:43 2015 +0100 + + rgw: generate the "Date" HTTP header for civetweb. + + Fixes: #10873 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit ea384f83b601f60e135c3d3f960fdb75a919dd84) + +commit efbca0465c2946e113771966df08cf7cf37b1196 +Author: Sage Weil +Date: Wed Jun 3 13:03:50 2015 -0400 + + ceph.spec: add mkcephfs to ceph.rpm + + Signed-off-by: Sage Weil + +commit e785f1a2bb4cd77b0aaaccd78060183157ad842e +Author: Ken Dreyer +Date: Tue Dec 2 13:58:10 2014 -0700 + + packaging: package ceph-disk(8) + + The ceph-disk man page was added in + a450cab2b8148cb8a9b043d629feccf89e5aabac, but this was not added to the + RPM or DEB packaging. Add it here. + + Signed-off-by: Ken Dreyer + (cherry picked from commit b743a951114b00bbb6e14fb88f1928b504bc0f8b) + +commit 819cf6ddb986b37c5d1229c4ea330010e88bb615 +Merge: e93711a 665a857 +Author: Yehuda Sadeh +Date: Tue Jun 2 19:53:03 2015 +0300 + + Merge pull request #4780 from oritwas/wip-10295-firefly + + rgw: civetweb should use unique request id + + Reviewd-by: Yehuda Sadeh + +commit e93711a40d680230b03fe722a4da49a6f9a9b667 +Merge: 071c943 50e8579 +Author: Yehuda Sadeh +Date: Tue Jun 2 19:02:07 2015 +0300 + + Merge pull request #4829 from oritwas/wip-negative_content_length-firefly + + rgw: don't allow negative / invalid content length + + Reviewed-by: Yehuda Sadeh + +commit 50e85797507a3ba13193f368cff461c08e44a9b3 +Author: Yehuda Sadeh +Date: Fri Aug 1 16:15:36 2014 -0700 + + rgw: don't allow negative / invalid content length + + Certain frontends (e.g., civetweb) don't filter such requests. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 0e74b7a1d56733358e2f1d3df4386125a94c2966) + +commit 071c94385ee71b86c5ed8363d56cf299da1aa7b3 +Merge: 68211f6 c632ef1 +Author: Sage Weil +Date: Wed May 27 15:36:15 2015 -0700 + + Merge pull request #4766 from SUSE/wip-11673-firefly + + Debian: ceph-test and rest-bench debug packages should require their respective binary packages + + Reviewed-by: Sage Weil + +commit 665a85701177230365e43a351d7722cb2adbde93 +Author: Orit Wasserman +Date: Thu Apr 23 17:36:47 2015 +0200 + + rgw: civetweb should use unique request id + + max_req_id was moved to RGWRados and changed to atomic64_t. + + The same request id resulted in gc giving the same idtag to all objects + resulting in a leakage of rados objects. It only kept the last deleted object in + it's queue, the previous objects were never freed. + + Fixes: 10295 + Backport: Hammer, Firefly + + Signed-off-by: Orit Wasserman + (cherry picked from commit c262259) + + Conflicts: + src/rgw/rgw_main.cc + src/rgw/rgw_rados.h + +commit c632ef13e05654d0e5ddc79fc7e9553cad8cbed0 +Author: Ken Dreyer +Date: Mon May 18 10:50:58 2015 -0600 + + debian: set rest-bench-dbg ceph-test-dbg dependencies + + Debian's debug packages ought to depend on their respective binary + packages. This was the case for many of our ceph packages, but it was + not the case for ceph-test-dbg or rest-bench-dbg. + + Add the dependencies on the relevant binary packages, pinned to + "= ${binary:Version}" per convention. + + http://tracker.ceph.com/issues/11673 Fixes: #11673 + + Signed-off-by: Ken Dreyer + (cherry picked from commit f898ec1e4e3472b0202280f09653a769fc62c8d3) + +commit 68211f695941ee128eb9a7fd0d80b615c0ded6cf +Merge: 7d11b19 cd8f183 +Author: Loic Dachary +Date: Mon May 18 14:25:59 2015 +0200 + + Merge pull request #4697 from ceph/wip-11622-firefly + + Wip 11622 firefly + + Reviewed-by: Loic Dachary + +commit cd8f1830eb5d7ff75b17d7f0915ee4b3b834b149 (refs/remotes/gh/wip-11622-firefly) +Author: Yehuda Sadeh +Date: Wed May 13 17:05:22 2015 -0700 + + rgw: merge manifests correctly when there's prefix override + + Fixes: #11622 + Backport: hammer, firefly + + Prefix override happens in a manifest when a rados object does not + conform to the generic prefix set on the manifest. When merging + manifests (specifically being used in multipart objects upload), we need + to check if the rule that we try to merge has a prefix that is the same + as the previous rule. Beforehand we checked if both had the same + override_prefix setting, but that might not apply as both manifests + might have different prefixes. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 389ae6739ddc6239a4dd7c5f7f9bfc9b645b8577) + +commit eef3d2f1c400573db90936fd417769183950b6ee +Author: Yehuda Sadeh +Date: Tue May 12 16:40:10 2015 -0700 + + rgw: restore buffer of multipart upload after EEXIST + + Fixes #11604 + Backport: hammer, firefly + + When we need to restart a write of part data, we need to revert to + buffer to before the write, otherwise we're going to skip some data. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 580ccaec12daae64c38a1616d0be907bdd70a888) + +commit 7d11b19003503a9db1572d01f7a170e35b29017d +Merge: 114f2e9 9b33965 +Author: Yehuda Sadeh +Date: Fri May 15 10:27:42 2015 -0700 + + Merge pull request #4414 from xinxinsh/wip-11125-firefly + + rgw: keystone token cache does not work correctly + +commit 114f2e9bb5665760a5be9816785508f1c97662d5 +Merge: ac7d28a f33effc +Author: Loic Dachary +Date: Fri May 15 17:03:04 2015 +0200 + + Merge pull request #4415 from xinxinsh/wip-11244-firefly + + cancel_pull: requeue waiters + + Reviewed-by: Samuel Just + +commit ac7d28a6977084da0b70a3f2d0a54c8fa55b16fa +Merge: f273792 1f6b1bb +Author: Loic Dachary +Date: Fri May 15 17:02:27 2015 +0200 + + Merge pull request #4416 from xinxinsh/wip-10976-firefly + + fix PG::all_unfound_are_queried_or_lost for non-existent osds + + Reviewed-by: Samuel Just + +commit f273792c675aca95694cd36794d8a854731bf308 +Merge: 8a6632b 019b28b +Author: Loic Dachary +Date: Fri May 15 17:02:05 2015 +0200 + + Merge pull request #4556 from xinxinsh/wip-11429-firefly + + OSD::load_pgs: we need to handle the case where an upgrade from earlier versions which ignored non-existent pgs resurrects a pg with a prehistoric osdmap + + Reviewed-by: Samuel Just + +commit 8a6632b4e5ffad305f92c89656b161a521529e45 +Merge: 156c385 a71f309 +Author: Sage Weil +Date: Thu May 14 09:50:28 2015 -0700 + + Merge pull request #4638 from SUSE/wip-11453-firefly + + run RGW as root + + Reviewed-by: Ken Dreyer + Reviewed-by: Sage Weil + +commit 019b28b6397dbc3111faa6a8eb57349a48f408d8 +Author: Samuel Just +Date: Mon Apr 20 23:45:57 2015 -0700 + + OSD: handle the case where we resurrected an old, deleted pg + + Prior to giant, we would skip pgs in load_pgs which were not present in + the current osdmap. Those pgs would eventually refer to very old + osdmaps, which we no longer have causing the assertion failure in 11429 + once the osd is finally upgraded to a version which does not skip the + pgs. Instead, if we do not have the map for the pg epoch, complain to + the osd log and skip the pg. + + Fixes: 11429 + Signed-off-by: Samuel Just + (cherry picked from commit fbfd50de5b9b40d71d2e768418a8eca28b1afaca) + + Conflicts: + src/osd/OSD.cc + resolved by add a new comment line + +commit 156c385ef726e56d219c3383a4015c50aec2758a +Merge: fcd0ea3 8cc4bc1 +Author: Loic Dachary +Date: Tue May 12 13:57:36 2015 +0200 + + Merge pull request #4379 from ceph/wip-11416 + + rgw: use correct objv_tracker for bucket instance + + Reviewed-by: Josh Durgin + Reviewed-by: Loic Dachary + +commit a71f3091a4ea810c02517642fb4ab9ce5516b452 +Author: Ken Dreyer +Date: Wed Apr 22 16:36:42 2015 -0600 + + init-radosgw: run RGW as root + + The ceph-radosgw service fails to start if the httpd package is not + installed. This is because the init.d file attempts to start the RGW + process with the "apache" UID. If a user is running civetweb, there is + no reason for the httpd or apache2 package to be present on the system. + + Switch the init scripts to use "root" as is done on Ubuntu. + + http://tracker.ceph.com/issues/11453 Refs: #11453 + + Reported-by: Vickey Singh + Signed-off-by: Ken Dreyer + (cherry picked from commit 47339c5ac352d305e68a58f3d744c3ce0fd3a2ac) + +commit fcd0ea3383582e7a1dc8091e7a48e1d4bbaa76ee +Author: Greg Farnum +Date: Fri May 8 11:29:44 2015 -0700 + + workunits: remove defunct cephfs set_layout test + + Signed-off-by: Greg Farnum + +commit df053b86a89edf8f390400dad8c5e654e14df327 +Merge: aef0272 62645d3 +Author: Yehuda Sadeh +Date: Wed May 6 13:07:11 2015 -0700 + + Merge pull request #4571 from ceph/wip-11256-firefly + + Wip 11256 firefly + + Reviewed-by: Yehuda Sadeh + +commit aef0272d72afaef849b5d4acbf55626033369ee8 +Author: Noah Watkins +Date: Fri Mar 27 19:34:12 2015 -0700 + + java: libcephfs_jni.so is in /usr/lib64 on rhel + + Signed-off-by: Noah Watkins + (cherry picked from commit aed3434dc7c5161c72c7d5655faa3bc693fc9777) + +commit a551a23d36e3f30ff5b0679a98ee760166ae47ae +Author: Yan, Zheng +Date: Mon Mar 2 21:04:25 2015 +0800 + + qa/workunits/fs/misc: fix filelock_interrupt.py + + Handle the case that kernel does not support fcntl.F_OFD_SETLK. + Also fix the code that checks if fnctl fails with errno == EINTR. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 4ececa3dc4a21b98f61a592da9e2be60a0d71625) + Reviewed-by: Greg Farnum + +commit 07031b151b4ac6677b1f663ac200d09088deff64 +Merge: 83f8d43 3fb97e2 +Author: Loic Dachary +Date: Thu Apr 30 00:32:21 2015 +0200 + + Merge pull request #4385 from xinxinsh/wip-11199-firefly + + osd: ENOENT on clone + + Reviewed-by: Samuel Just + +commit 83f8d434a5c245711922ea43a962160177aa5a40 +Merge: f1425e0 29bc9e5 +Author: Loic Dachary +Date: Thu Apr 30 00:31:48 2015 +0200 + + Merge pull request #4384 from xinxinsh/wip-11197-firefly + + pg stuck stale after create with activation delay + + Reviewed-by: Samuel Just + +commit f1425e093e00343a5ae4b9ff56911bf654a5c152 +Merge: e980e00 69d9339 +Author: Loic Dachary +Date: Thu Apr 30 00:31:32 2015 +0200 + + Merge pull request #4382 from xinxinsh/wip-10718-firefly + + osd/PGLog.h: 279: FAILED assert(log.log.size() == log_keys_debug.size()) + + Reviewed-by: Samuel Just + +commit e980e0036909afc392f9bdf5532ce500af602c2f +Merge: b36229b 110c354 +Author: Loic Dachary +Date: Thu Apr 30 00:23:04 2015 +0200 + + Merge pull request #4185 from ldachary/wip-11156-firefly + + FAILED assert(soid < scrubber.start || soid >= scrubber.end) + + Reviewed-by: Samuel Just + +commit b36229b5aeec669cd1494f47120ae207a393846f +Merge: da75978 20c2175 +Author: Sage Weil +Date: Tue Apr 28 08:11:18 2015 -0700 + + Merge pull request #4475 from ceph/wip-9538.firefly + + mon: OSDMonitor: fallback to json-pretty in case of invalid formatter + + Reviewed-by: Loic Dachary + +commit 20c2175352c9d4e4d0e709d294fe6fe0695761cc +Author: Loic Dachary +Date: Fri Sep 19 15:28:36 2014 +0200 + + mon: osd find / metadata --format plain fallback + + ceph --format plain osd find 1 (and metadata) are not implemented and + must fallback to the default (json-pretty). + + http://tracker.ceph.com/issues/9538 Fixes: #9538 + + Signed-off-by: Loic Dachary + (cherry picked from commit 13780d755115387591888f94ea6c58ac0db3ecc4) + +commit da759784ebda11275106c3b280f1d32b64ade00a +Merge: 1a10a7e e1d5773 +Author: David Zafman +Date: Mon Apr 27 10:30:49 2015 -0700 + + Merge pull request #4453 from ceph/wip-11454 + + PG::actingset should be used when checking the number of acting OSDs for... + + Reviewed-by: Sage Weil + +commit 1a10a7eac190249a41b5200f0cc5e3863e76c31d +Merge: a860e2b b9da6f1 +Author: Loic Dachary +Date: Mon Apr 27 10:14:00 2015 +0200 + + Merge pull request #4245 from ceph/wip-11113-firefly + + librbd: snap_remove should ignore -ENOENT errors + + Reviewed-by: Shu, Xinxin + Reviewed-by: Loic Dachary + +commit a860e2b3c02ef4f1402b54b08a6bacd4b02cc07f +Merge: dd15e54 364563a +Author: Loic Dachary +Date: Mon Apr 27 10:12:40 2015 +0200 + + Merge pull request #4206 from ceph/wip-5488-firefly + + librbd: acquire cache_lock before refreshing parent + + Reviewed-by: Josh Durgin + +commit dd15e54b2fae134126e9795a8a973e391c628eb7 +Merge: 51ff2b6 5404fbf +Author: Loic Dachary +Date: Mon Apr 27 10:09:23 2015 +0200 + + Merge pull request #3963 from dachary/wip-10153-firefly + + Rados.shutdown() dies with Illegal instruction (core dumped) + + Reviewed-by: Yehuda Sadeh + +commit 51ff2b60dc576fb444bcfea8f6cd3e12043ed5b8 +Merge: 12143ff c0cfd6e +Author: Loic Dachary +Date: Mon Apr 27 10:08:15 2015 +0200 + + Merge pull request #4383 from xinxinsh/wip-11144-firefly + + erasure-code-profile set races with erasure-code-profile rm + + Reviewed-by: Loic Dachary + +commit 1f6b1bb51d0b40899155313165ac5e3a21dde11a +Author: Mykola Golub +Date: Tue Mar 3 08:45:58 2015 +0200 + + osd: fix PG::all_unfound_are_queried_or_lost for non-existent osds + + A common mistake upon osd loss is to remove the osd from the crush map + before marking the osd lost. This tends to make it so that the user + can no longer mark the osd lost to satisfy all_unfound_are_queried_or_lost. + + The simple solution is for all_unfound_are_queried_or_lost to ignore + the osd if it does not exist. + + Fixes: #10976 + Backports: firefly,giant + + Signed-off-by: Mykola Golub + (cherry picked from commit 5bb51320138ff714806d24312149f6275d546608) + +commit e1d57730ddfc92b17562080b10bc22fceb86539a +Author: Guang Yang +Date: Mon Sep 29 08:21:10 2014 +0000 + + PG::actingset should be used when checking the number of acting OSDs for a given PG. + Signed-off-by: Guang Yang + + (cherry picked from commit 19be358322be48fafa17b28054619a8b5e7d403b) + + Conflicts: + src/osd/PG.cc PG::get_backfill_priority() doesn't exist in firefly + Variation in code related to no "undersized" state in firefly + + Fixes: #11454 + +commit f33effccc0592fddfcd9c5c2f5c3385462aa9b84 +Author: Samuel Just +Date: Thu Mar 26 10:26:48 2015 -0700 + + ReplicatedPG::cancel_pull: requeue waiters as well + + If we are in recovery_wait, we might not recover that object as part of + recover_primary for some time. Worse, if we are waiting on a backfill + which is blocked waiting on a copy_from on the missing object in + question, it can become a dead lock. + + Fixes: 11244 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit 0b2e272430dd7433e6763be99b8a4cb127d9be19) + +commit 9b3396516c00ef931bab2d4aa6288ad974ec579d +Author: Yehuda Sadeh +Date: Tue Mar 3 11:03:35 2015 -0800 + + rgw: update keystone cache with token info + + Fixes: #11125 + Backport: hammer, firefly + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 6616294aa140ceb83cc61c6ab6f9947636f5e67d) + +commit 8cc4bc162c8c1c240e62840d968b967f5f47b682 (refs/remotes/gh/wip-11416) +Author: Yehuda Sadeh +Date: Wed Dec 17 17:12:43 2014 -0800 + + rgw: use correct objv_tracker for bucket instance + + When trying to create a bucket that already existed, use the + objv_tracker of the newly created instance, and not of the original + bucket. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit fe158ecc25feefcea8aea4133118e4a84900a8ec) + +commit c0cfd6e56ca9d17241da159295bcee7cf44c9ba3 +Author: Loic Dachary +Date: Wed Mar 18 14:17:00 2015 +0100 + + osd: erasure-code-profile incremental rm before set + + It is possible for an incremental change to have both a rm and a set for + a given erasure code profile. It only happens when a rm is followed by a + set. When a set is followed by a rm, the rm will remove the pending set + in the incremental change. + + The logic is the same for pool create and pool delete. + + We must apply the incremental erasure-code-profile removal before the + creation otherwise rm and set in the same proposal will ignore the set. + + This fix is minimal. A better change would be that erasure-code-profile + set checks if there is a pending removal and wait_for_finished_proposal + before creating. + + http://tracker.ceph.com/issues/11144 Fixes: #11144 + + Signed-off-by: Loic Dachary + (cherry picked from commit 0d52aca0d0c302983d03b0f5213ffed187e4ed63) + + Conflicts: + src/osd/OSDMap.cc + resolved by replacing i++ with ++i + +commit 3fb97e25b194e92112077385b10381801e02ddb9 +Author: Samuel Just +Date: Tue Mar 24 15:14:34 2015 -0700 + + ReplicatedPG: trim backfill intervals based on peer's last_backfill_started + + Otherwise, we fail to trim the peer's last_backfill_started and get bug 11199. + + 1) osd 4 backfills up to 31bccdb2/mira01213209-286/head (henceforth: foo) + + 2) Interval change happens + + 3) osd 0 now finds itself backfilling to 4 (lb=foo) and osd.5 + (lb=b6670ba2/mira01213209-160/snapdir//1, henceforth: bar) + + 4) recover_backfill causes both 4 and 5 to scan forward, so 4 has an interval + starting at foo, 5 has an interval starting at bar. + + 5) Once those have come back, recover_backfill attempts to trim off the + last_backfill_started, but 4's interval starts after that, so foo remains in + osd 4's interval (this is the bug) + + 7) We serve a copyfrom on foo (sent to 4 as well). + + 8) We eventually get to foo in the backfilling. Normally, they would have the + same version, but of course we don't update osd.4's interval from the log since + it should not have received writes in that interval. Thus, we end up trying to + recover foo on osd.4 anyway. + + 9) But, an interval change happens between removing foo from osd.4 and + completing the recovery, leaving osd.4 without foo, but with lb >= foo + + Fixes: #11199 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit 1388d6bd949a18e8ac0aecb0eb79ffb93d316879) + +commit 29bc9e56a978d4e18a507e71858baa21037964c4 +Author: Samuel Just +Date: Tue Mar 24 10:48:02 2015 -0700 + + PG: set/clear CREATING in Primary state entry/exit + + Previously, we did not actually set it when we got a pg creation message from + the mon. It would actually get set on the first start_peering_interval after + that point. If we don't get that far, but do send a stat update to the mon, we + can end up with 11197. Instead, let's just set it and clear it upon entry into + and exit from the Primary state. + + Fixes: 11197 + Signed-off-by: Samuel Just + (cherry picked from commit ddf0292250dfb1040d3cad96fa2cf886fd65933c) + +commit 12143ff9b25fdd96f8d1a9cecb1329c7f354d414 +Merge: 53eff01 bf1d8e8 +Author: Yehuda Sadeh +Date: Mon Apr 6 10:24:06 2015 -0700 + + Merge pull request #4275 from jeanchlopez/wip-11160-firefly + + rgw: shouldn't need to disable rgw_socket_path if frontend is configured + +commit bf1d8e888439df75feadde76bafe7d07d0e8481a +Author: Yehuda Sadeh +Date: Wed Mar 18 20:49:13 2015 -0700 + + rgw: don't use rgw_socket_path if frontend is configured + + Fixes: #11160 + Backport: hammer, firefly + + Previously if we wanted to use the tcp fcgi socket, we needed to clear + rgw_socket_path. + + Signed-off-by: Yehuda Sadeh + +commit 53eff01f1e7ecd3783bb05c47588a134d4fededc +Merge: 899738e 80afc5e +Author: Josh Durgin +Date: Wed Apr 1 16:30:23 2015 -0700 + + Merge pull request #4247 from ceph/wip-11303 + + Fix do_autogen.sh so that -L is allowed + + Reviewed-by: Josh Durgin + +commit 80afc5eca293e5e2f168f219931a2f554040cdd8 +Author: Alfredo Deza +Date: Wed Apr 1 19:10:33 2015 -0400 + + Fix do_autogen.sh so that -L is allowed + + Signed-off-by: Alfredo Deza + +commit b9da6f1025683d240baa73a9fcccbf2780035231 +Author: Jason Dillaman +Date: Mon Mar 16 18:40:49 2015 -0400 + + librbd: snap_remove should ignore -ENOENT errors + + If the attempt to deregister the snapshot from the parent + image fails with -ENOENT, ignore the error as it is safe + to assume that the child is not associated with the parent. + + Fixes: #11113 + Signed-off-by: Jason Dillaman + (cherry picked from commit cf8094942ccdba831e03e5a79451cfa5d78a135f) + +commit b250b3cfae69f4e8354027fae26fd85a792da0df +Author: Jason Dillaman +Date: Mon Mar 16 18:35:07 2015 -0400 + + librbd: get_parent_info should protect against invalid parent + + get_parent_info should return -ENOENT if the image does not + have an associated parent image. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 21afd0ef8e1fb81c5ace5fd403513c542e2413e3) + +commit 69d9339fb352342a87e1148e9b5161246b27776a +Author: Samuel Just +Date: Mon Feb 2 09:07:27 2015 -0800 + + PGLog: improve PGLog::check() debugging + + Related: 10718 + Signed-off-by: Samuel Just + (cherry picked from commit c656bcec2441c90b084ca50a17c37625d69942a1) + +commit 73cbb6f34a5a556dbbd4db2e6f81391d83447efd +Author: Samuel Just +Date: Tue Mar 17 10:07:03 2015 -0700 + + PGLog::merge_log: in tail extend case, log.log might be empty + + Even if the tail != last_update, the log might be empty due to split + moving all entries into other logs. + + Fixes: 10718 + Signed-off-by: Samuel Just + (cherry picked from commit f5a2aef3db29b99634250fd388a0c2d9b9a23d38) + +commit 62645d30b0ceee075a56bc692fd65cee85b09aa5 (refs/remotes/gh/wip-11256-firefly) +Author: Yehuda Sadeh +Date: Mon Mar 30 17:34:57 2015 -0700 + + cls_rgw: use multimap to keep pending operations in bucket index + + Fixes: #11256 + Multiple concurrent requests might be sent using the same tag, need the + entry map to be able to hold multiple entries. + + Signed-off-by: Yehuda Sadeh + +commit 7538319dd7aa80a3318c108d345dee8044cf20a8 +Author: Yehuda Sadeh +Date: Fri Mar 27 16:32:48 2015 -0700 + + rgw: generate new tag for object when setting object attrs + + Fixes: #11256 + Backport: firefly, hammer + + Beforehand we were reusing the object's tag, which is problematic as + this tag is used for bucket index updates, and we might be clobbering a + racing update (like object removal). + + Signed-off-by: Yehuda Sadeh + +commit 364563aac979fdf5ccbb6c588051d097a26bc594 +Author: Jason Dillaman +Date: Mon Mar 16 11:04:22 2015 -0400 + + librbd: acquire cache_lock before refreshing parent + + cache_lock needs to be acquired before snap_lock to avoid + the potential for deadlock. + + Fixes: #5488 + Signed-off-by: Jason Dillaman + +commit 110c35498942ea0feec395b6e7992f802dd740ce +Author: Samuel Just +Date: Fri Mar 20 15:28:15 2015 -0700 + + ReplicatedPG::promote_object: check scrubber and block if necessary + + Otherwise, we might attempt to promote into an in-progress scrub + interval causing 11156. I would have added a return value to + promote_object(), but could not find an existing user which + cared to distinguish the cases, even with a null op passed. + All existing users are in maybe_handle_cache. The ones which + pass a null op are for promoting the object in parallel + with a proxy -- a case where not actually performing the promote + does not really matter. + + Fixes: #11156 + Signed-off-by: Samuel Just + (cherry picked from commit 65bb4df599541cd2e0f195b905f24f529e255c00) + +commit 899738e10e82b50dcf7dfffe5cc83937179bf323 +Merge: 15acfe7 9437cb1 +Author: Loic Dachary +Date: Mon Mar 23 20:38:43 2015 +0100 + + Merge pull request #4126 from dzafman/wip-11176-firefly + + ceph-objectstore-tool: Output only unsupported features when incomatible + + Reviewed-by: Loic Dachary + +commit 15acfe7f226ca7bc2c942d5fbcd3a40bd41e5930 +Merge: 6c95cd2 cddbff9 +Author: Loic Dachary +Date: Sat Mar 21 11:38:28 2015 +0100 + + Merge pull request #4079 from dachary/wip-11157-firefly + + doc,tests: force checkout of submodules + + Reviewed-by: David Zafman + +commit 6c95cd24f6f4a1a933f8799754831e7a5c0a725d +Merge: ea79a3b 43053fc +Author: Yuri Weinstein +Date: Fri Mar 20 21:06:17 2015 -0700 + + Merge pull request #4129 from dzafman/wip-11139-firefly + + ceph-objectstore-tool: Use exit status 11 for incompatible import attemp... + +commit 43053fcd8969c406969fef67613aa37ad1cc86bf +Author: David Zafman +Date: Fri Mar 20 17:48:01 2015 -0700 + + ceph-objectstore-tool: Use exit status 11 for incompatible import attempt + + This is used so upgrade testing doesn't generate false failure. + Fixes: #11139 + + Signed-off-by: David Zafman + (cherry picked from commit 175aff8afe8215547ab57f8d8017ce8fdc0ff543) + +commit 9437cb1b284ec9366b51d660396c2c8a9366b31f +Author: David Zafman +Date: Fri Mar 20 16:57:40 2015 -0700 + + ceph-objectstore-tool: Output only unsupported features when incomatible + + Fixes: #11176 + Backport: firefly, giant + + Signed-off-by: David Zafman + (cherry picked from commit 5b23f5b5892b36fb7d06efc0d77e64a24ef6e8c9) + +commit ea79a3b122917ddf5dc1972bb9dc5b20f78e2f18 +Merge: c1c20d8 07fc9f6 +Author: Loic Dachary +Date: Fri Mar 20 08:44:39 2015 +0100 + + Merge pull request #3970 from ceph/firefly-11053 + + mds: fix assertion caused by system clock backwards + + Reviewed-by: John Spray + +commit c1c20d89d511499d678fdba0667581e88b9b5d95 +Merge: 2fbb9a6 63b39db +Author: Loic Dachary +Date: Fri Mar 20 08:42:58 2015 +0100 + + Merge pull request #4021 from ceph/wip-7737-firefly + + osd: fix negative degraded objects during backfilling + + Reviewed-by: Sage Weil + +commit 2fbb9a63a82ac5136b033799aec303fc151b25e5 +Merge: 3160e8d 2c7eda6 +Author: Loic Dachary +Date: Fri Mar 20 08:38:26 2015 +0100 + + Merge pull request #3952 from dachary/wip-9986-firefly + + objecter: fix map skipping + + Reviewed-by: Sage Weil + +commit 3160e8d6918a04d1fec9fdccbc30bf007c7940c6 +Author: Yehuda Sadeh +Date: Wed Mar 18 20:55:24 2015 -0700 + + init-radosgw*: don't require rgw_socket_path to be defined + + Fixes: #11159 + Backport: hammer, firefly + + Scripts required rgw_socket_path to exist in order to start radosgw. + This is not needed. + + Reported-by: Dan Mick + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 6823bcdcd0ce72cd223e809291f46d82da76115c) + +commit cddbff9a3653d6257d13e0ac411cd6e4cd71feef +Author: Loic Dachary +Date: Thu Mar 19 00:32:39 2015 +0100 + + doc,tests: force checkout of submodules + + When updating submodules, always checkout even if the HEAD is the + desired commit hash (update --force) to avoid the following: + + * a directory gmock exists in hammer + * a submodule gmock replaces the directory gmock in master + * checkout master + submodule update : gmock/.git is created + * checkout hammer : the gmock directory still contains the .git from + master because it did not exist at the time and checkout won't + remove untracked directories + * checkout master + submodule update : git rev-parse HEAD is + at the desired commit although the content of the gmock directory + is from hammer + + http://tracker.ceph.com/issues/11157 Fixes: #11157 + + Signed-off-by: Loic Dachary + +commit 63b39dbd529936e60d0fd08dffd35f82b3d1729c (refs/remotes/gh/wip-7737-firefly) +Author: Guang Yang +Date: Thu Feb 26 08:13:12 2015 +0000 + + osd: fix negative degraded objects during backfilling + + When there is deleting requests during backfilling, the reported number of degraded + objects could be negative, as the primary's num_objects is the latest (locally) but + the number for replicas might not reflect the deletings. A simple fix is to ignore + the negative subtracted value. + + Signed-off-by: Guang Yang + (cherry picked from commit 14d7e36d3c978844da73d0e1c8a3a1ec863bac15) + + Conflicts: + src/osd/PG.cc + +commit 493d285508914769cba3639b601ae6c20303af0d +Merge: 9839726 8a25a51 +Author: Loic Dachary +Date: Mon Mar 16 23:20:36 2015 +0100 + + Merge pull request #3966 from theanalyst/wip-10698-backport + + rgw: fail s3 POST auth if keystone not configured + + Reviewed-by: Yehuda Sadeh + +commit 9839726f009a3189013a23e8226d2f7618f1d56b +Merge: dab85cb 651dc55 +Author: Loic Dachary +Date: Mon Mar 16 23:19:22 2015 +0100 + + Merge pull request #3934 from dachary/wip-10665-firefly + + rgw: Swift API. Dump container's custom metadata. + + Reviewed-by: Yehuda Sadeh + +commit dab85cb7fcc5770fe4d6f075cf583a33ea335aa3 +Merge: 0e55046 d0fd417 +Author: Loic Dachary +Date: Mon Mar 16 23:18:59 2015 +0100 + + Merge pull request #3929 from dachary/wip-10475-firefly + + rgw: Swift API. Support for X-Remove-Container-Meta-{key} header. + + Reviewed-by: Yehuda Sadeh + +commit 0e550461666d6e3d32981f99c8327931a6bd6d62 +Merge: 1ca6dd9 963439f +Author: Loic Dachary +Date: Mon Mar 16 23:18:24 2015 +0100 + + Merge pull request #3938 from dachary/wip-10770-firefly + + rgw: send appropriate op to cancel bucket index pending operation + + Reviewed-by: Yehuda Sadeh + +commit 1ca6dd9676014a81983bd397e3154bf53243c7f2 +Merge: 66327d6 34d19e1 +Author: Loic Dachary +Date: Mon Mar 16 23:17:56 2015 +0100 + + Merge pull request #3961 from dachary/wip-10106-firefly + + rgw: flush xml header on get acl request + + Reviewed-by: Yehuda Sadeh + +commit 66327d69a9bfa875d58b063c180a11b2769a093e +Merge: de45d9e 9074eb7 +Author: Loic Dachary +Date: Mon Mar 16 23:16:53 2015 +0100 + + Merge pull request #3958 from dachary/wip-10062-firefly + + rgw: check for timestamp for s3 keystone auth + + + Reviewed-by: Yehuda Sadeh + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Valery Tschopp + +commit de45d9e2606d8fb6ea5533521163669e748e7d01 +Merge: 308f758 8ef14fc +Author: Loic Dachary +Date: Mon Mar 16 17:00:27 2015 +0100 + + Merge pull request #3942 from dachary/wip-10844-firefly + + mon: MonCap: take EntityName instead when expanding profiles + + Reviewed-by: Joao Eduardo Luis + +commit 308f758f49d28c012f3ba765519144e5ea5794e6 +Merge: c59a081 ca42905 +Author: Loic Dachary +Date: Mon Mar 16 16:53:48 2015 +0100 + + Merge pull request #3936 from dachary/wip-10724-firefly + + backport ceph-disk man page to Firefly + + Reviewed-by: Loic Dachary + +commit c59a08135c35072fa05104e26b500553e800cdd1 +Merge: 331acae 8ec8f11 +Author: Loic Dachary +Date: Mon Mar 16 16:50:39 2015 +0100 + + Merge pull request #3940 from dachary/wip-8753-firefly + + ReplicatedPG::on_change: clean up callbacks_for_degraded_object + + Reviewed-by: Samuel Just + +commit 331acae4d6b34bb047c914945a2d9c0d9c7b9562 +Merge: fc364a7 4e32ff2 +Author: Loic Dachary +Date: Mon Mar 16 16:49:56 2015 +0100 + + Merge pull request #3827 from dachary/wip-10259-firefly + + osd_types: op_queue_age_hist and fs_perf_stat should be in osd_stat_t::o... + + Reviewed-by: Samuel Just + +commit fc364a76f85eb5016ea460e5fd9c1603df374bcf +Merge: 31d99d2 b0d0d44 +Author: Loic Dachary +Date: Mon Mar 16 16:48:02 2015 +0100 + + Merge pull request #3962 from dachary/wip-10150-firefly + + ReplicatedPG::scan_range: an object can disappear between the list and t... + + Reviewed-by: Samuel Just + +commit 31d99d2de714eb4a8eeb4a431cbc0d40ca749f15 +Merge: 45f0870 5865411 +Author: Loic Dachary +Date: Mon Mar 16 16:45:32 2015 +0100 + + Merge pull request #3948 from dachary/wip-9891-firefly + + DBObjectMap: lock header_lock on sync() + + Reviewed-by: Samuel Just + +commit 45f087032e27c63dc459318717b05fe5f9888664 +Merge: 3050262 6207333 +Author: Loic Dachary +Date: Mon Mar 16 16:43:48 2015 +0100 + + Merge pull request #3949 from dachary/wip-9915-firefly + + osd: cache tiering: fix the atime logic of the eviction + + Reviewed-by: Samuel Just + +commit 3050262d7dcb8ac20b9f86544461bb59f4b87cf5 +Merge: c0abc4d 0f31388 +Author: Loic Dachary +Date: Mon Mar 16 16:40:12 2015 +0100 + + Merge pull request #3944 from dachary/wip-9193-firefly + + messages/MWatchNotify: include an error code in the message + + Reviewed-by: Samuel Just + +commit c0abc4d769afd00773a9f466ffd3feced9cdb17d +Merge: f9acd3a f856739 +Author: Loic Dachary +Date: Mon Mar 16 16:39:41 2015 +0100 + + Merge pull request #3943 from dachary/wip-8011-firefly + + ReplicatedPG: fail a non-blocking flush if the object is being scrubbed + + Reviewed-by: Samuel Just + +commit f9acd3ad7397ac1e745beeeaf21b55ecd95484a1 +Merge: f95d327 ca96b59 +Author: Loic Dachary +Date: Mon Mar 16 16:39:16 2015 +0100 + + Merge pull request #3941 from dachary/wip-10817-firefly + + WorkQueue: make wait timeout on empty queue configurable + + Reviewed-by: Samuel Just + +commit f95d327cbc0750cfb77114c66082ddd5fc458b94 +Merge: 32de8ab 3782b8b +Author: Loic Dachary +Date: Mon Mar 16 16:38:42 2015 +0100 + + Merge pull request #3937 from dachary/wip-10762-firefly + + mon: ignore osd failures from before up_from + + Reviewed-by: Samuel Just + +commit 32de8ab146f242f7b73aca211f059bc39d38f85c +Merge: 24a8c10 6fd3dfa +Author: Loic Dachary +Date: Mon Mar 16 16:38:22 2015 +0100 + + Merge pull request #3933 from dachary/wip-10617-firefly + + osd: do not ignore deleted pgs on startup + + Reviewed-by: Samuel Just + +commit 24a8c10a5a215c60b525f4170e45565390e02231 +Merge: f4e76c3 368a5a8 +Author: Loic Dachary +Date: Mon Mar 16 16:38:01 2015 +0100 + + Merge pull request #3932 from dachary/wip-10546-firefly + + mon: Monitor: fix timecheck rounds period + + Reviewed-by: Samuel Just + +commit f4e76c3db90bf383c02cdb8cca19a37cd187095b +Merge: fa518ff 66b13f2 +Author: Loic Dachary +Date: Mon Mar 16 16:37:36 2015 +0100 + + Merge pull request #3931 from dachary/wip-10512-firefly + + osd: requeue blocked op before flush it was blocked on + + Reviewed-by: Samuel Just + +commit fa518ffc5961785f01f0f91980c38a7e02686901 +Merge: ac9980e a22aa8f +Author: Loic Dachary +Date: Mon Mar 16 16:37:05 2015 +0100 + + Merge pull request #3930 from dachary/wip-10497-firefly + + librados: Translate operation flags from C APIs + + Reviewed-by: Samuel Just + Reviewed-by: Josh Durgin + +commit ac9980e074adf587b8b16af0bd08b3fc3233804d +Merge: ccebb5f d3de8a5 +Author: Loic Dachary +Date: Mon Mar 16 16:31:40 2015 +0100 + + Merge pull request #3955 from dachary/wip-10059-firefly + + PG: always clear_primary_state + + Reviewed-by: Samuel Just + +commit ccebb5f90bea0fd3bac1bd7ab93e5e07700f1301 +Merge: a30379d f4bab86 +Author: Loic Dachary +Date: Mon Mar 16 16:31:16 2015 +0100 + + Merge pull request #3954 from dachary/wip-10014-firefly + + ObjectStore: Don't use largest_data_off to calc data_align. + + Reviewed-by: Samuel Just + +commit a30379d9af89cffa4b3083ae14a94e3758c2b01c +Merge: e575ca8 eb03e79 +Author: Loic Dachary +Date: Mon Mar 16 16:25:59 2015 +0100 + + Merge pull request #3947 from dachary/wip-9555-firefly + + osd: check that source OSD is valid for MOSDRepScrub + + Reviewed-by: Samuel Just + +commit e575ca84419f8be5c7fae7e2ffac549956a74f82 +Merge: cd675bb c60da2f +Author: Loic Dachary +Date: Mon Mar 16 16:25:30 2015 +0100 + + Merge pull request #3964 from dachary/wip-10157-firefly + + PGLog: include rollback_info_trimmed_to in (read|write)_log + + Reviewed-by: Samuel Just + +commit cd675bba5fdfb85689880ca7ecbd284181984a63 +Merge: 2b8e476 1a0f770 +Author: Loic Dachary +Date: Mon Mar 16 16:24:55 2015 +0100 + + Merge pull request #3960 from dachary/wip-6003-firefly + + FileJournal: fix journalq population in do_read_entry() + + Reviewed-by: Samuel Just + +commit 2b8e4762edb7c35950f7e0d69bba2b5e1d83133a +Merge: d434ead a746f7e +Author: Loic Dachary +Date: Mon Mar 16 16:24:03 2015 +0100 + + Merge pull request #3950 from dachary/wip-9985-firefly + + Get the currently atime of the object in cache pool for eviction + + Reviewed-by: Samuel Just + Reviewed-by: Xinze Chi + +commit d434eadadd1df6e4df18a6914015736bc09722d1 +Merge: e79e5f8 5f1245e +Author: Loic Dachary +Date: Mon Mar 16 16:20:12 2015 +0100 + + Merge pull request #3935 from dachary/wip-10723-firefly + + Fix memory leak in python rados bindings + + Reviewed-by: Samuel Just + Reviewed-by: Josh Durgin + +commit e79e5f8fbbfba6984cf21784e20d1c46cb60a397 +Merge: a9a36de 91b2aca +Author: Loic Dachary +Date: Mon Mar 16 15:02:37 2015 +0100 + + Merge pull request #3866 from ceph/wip-cot-firefly + + Backport ceph-objectstore-tool changes to firefly + + Reviewed-by: Loic Dachary + +commit a9a36deb89ac5719787e905469fe0b1bde5d58ca +Merge: 83c571e 7e85722 +Author: Loic Dachary +Date: Mon Mar 16 15:00:56 2015 +0100 + + Merge pull request #3996 from dzafman/wip-10676 + + Fix ceph command manpage to match ceph -h + + Reviewed-by: Xinxin Shu + +commit 83c571e3067b4cad3e4567522c797d09a82d87db +Merge: baa74b8 d5c3a14 +Author: Loic Dachary +Date: Mon Mar 16 14:55:37 2015 +0100 + + Merge pull request #3927 from dachary/wip-10351-firefly + + mount.ceph: avoid spurious error message + + Reviewed-by: Yan, Zheng + +commit 7e85722fd4c89715fc2ed79697c82d65d7ebf287 +Author: David Zafman +Date: Fri Mar 13 16:50:13 2015 -0700 + + doc: Minor fixes to ceph command manpage + + Fixes: #10676 + + Signed-off-by: David Zafman + +commit 9ac488c1eb0e30511079ba05aaf11c79615b3940 +Author: David Zafman +Date: Thu Mar 12 11:39:52 2015 -0700 + + doc: Fix ceph command manpage to match ceph -h (firefly) + + Improve synopsis section + Fixes: #10676 + + Signed-off-by: David Zafman + +commit 5f1245e131e33a98572408c8223deed2c7cf7b75 +Author: Josh Durgin +Date: Mon Feb 9 20:50:23 2015 -0800 + + rados.py: keep reference to python callbacks + + If we don't keep a reference to these, the librados aio calls will + segfault since the python-level callbacks will have been garbage + collected. Passing them to aio_create_completion() does not take a + reference to them. Keep a reference in the python Completion object + associated with the request, since they need the same lifetime. + + This fixes a regression from 60b019f69aa0e39d276c669698c92fc890599f50. + + Fixes: #10775 + Backport: dumpling, firefly, giant + Signed-off-by: Josh Durgin + (cherry picked from commit 36d37aadbbbece28d70e827511f1a473d851463d) + +commit cf366fc3b21ff6f98530dbadb75a430c25672d56 +Author: Nilamdyuti Goswami +Date: Thu Dec 18 17:11:22 2014 +0530 + + doc: Changes format style in ceph to improve readability as html. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 8b796173063ac9af8c21364521fc5ee23d901196) + +commit 07fc9f66a69aa31d2cf8bf7a277d3e14ad6209be +Author: Yan, Zheng +Date: Thu Mar 12 11:01:46 2015 +0800 + + mds: fix assertion caused by system clock backwards + + Fixes: #11053 + Signed-off-by: Yan, Zheng + +commit 8a25a51e42cdaed2c66dc25a6c6d0245441123a3 +Author: Yehuda Sadeh +Date: Fri Jan 30 07:03:30 2015 -0800 + + rgw: fail s3 POST auth if keystone not configured + + Fixes: #10698 + This fixes issue introduced in 8b3dfc9472022ea45ad24e02e0aa21dfdad798f8, + where if user does not exist, we try keystone authentication. However, + if keystone is not configured we justt fall through without failing. + This would have failed later on due to bucket permissions, unless bucket + had a public write permissions. + + Backports: Firefly + Reported-by: Valery Tschopp + Signed-off-by: Yehuda Sadeh + + Conflicts: + src/rgw/rgw_rest_s3.cc + +commit eb03e792040bd22c1ae8b7dd73d94fbfd6208eec +Author: Sage Weil +Date: Sat Dec 13 08:06:31 2014 -0800 + + osd: check that source OSD is valid for MOSDRepScrub + + Make sure the message we got from the peer OSD is valid. Specifically, + this avoids a race like this: + + - A marks down B + - B sends MOSDRepScrub + - A accepts connection from B as new + - A replies to scrub + - B crashes because msgr seq 1 < expected seq 1000+ + + See #8880 for the most recent fix for requests. + + Fixes: #9555 + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit 847e5e102522d651aa9687a54aaafcebf3afc596) + + Conflicts: + src/osd/OSD.cc: require functions first argument is now a reference + +commit ae18707b3caa115dc510aff38b77f8afe8555c61 +Author: Sage Weil +Date: Sat Dec 13 07:56:39 2014 -0800 + + osd: pass Message* to most require_* helpers + + These do nothing but op->get_req(); pass the Message* explicitly so that + non-OpRequest callers can use them. + + Signed-off-by: Sage Weil + (cherry picked from commit 707a111d53efb09b3471dd3788b86d2bfee4e96f) + + Conflicts: + src/osd/OSD.cc + src/osd/OSD.h + significantly changes had to be made but in a simple way and + stays within the scope of the original commit + +commit c60da2f3c34e7325c748d2d6e55140a0a30013fd +Author: Samuel Just +Date: Thu Nov 20 15:15:08 2014 -0800 + + PGLog: include rollback_info_trimmed_to in (read|write)_log + + Fixes: #10157 + Backport: firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit 1fe8b846641486cc294fe7e1d2450132c38d2dba) + + Conflicts: + src/osd/PGLog.cc + in the context coll_t::META_COLL was replaced with META_COLL + +commit 1a0f770eea18af6b276a31157f201a93166eb038 +Author: Samuel Just +Date: Fri Feb 6 09:52:29 2015 -0800 + + FileJournal: fix journalq population in do_read_entry() + + Fixes: 6003 + Backport: dumpling, firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit bae1f3eaa09c4747b8bfc6fb5dc673aa6989b695) + + Conflicts: + src/os/FileJournal.cc + because reinterpret_cast was added near two hunks after firefly + +commit a746f7e5985198024067cb6e123569c09169b356 +Author: Sage Weil +Date: Fri Oct 31 19:33:59 2014 -0700 + + osd/ReplicatedPG: fix compile error + + From 1fef4c3d541cba360738437420ebfa2447d5802e. + + Signed-off-by: Sage Weil + (cherry picked from commit 4a9ad7dc2da6f4fa6a64235776a3f1d2799aef60) + +commit 5404fbfdd9b18cdb3fe5bed67146c769ec3acfa0 +Author: Federico Simoncelli +Date: Sat Nov 15 14:14:04 2014 +0000 + + common: do not unlock rwlock on destruction + + According to pthread_rwlock_unlock(3p): + + Results are undefined if the read-write lock rwlock is not held + by the calling thread. + + and: + + https://sourceware.org/bugzilla/show_bug.cgi?id=17561 + + Calling pthread_rwlock_unlock on an rwlock which is not locked + is undefined. + + calling pthread_rwlock_unlock on RWLock destruction could cause + an unknown behavior for two reasons: + + - the lock is acquired by another thread (undefined) + - the lock is not acquired (undefined) + + Moreover since glibc-2.20 calling pthread_rwlock_unlock on a + rwlock that is not locked results in a SIGILL that kills the + application. + + This patch removes the pthread_rwlock_unlock call on destruction + and replaces it with an assertion to check that the RWLock is + not in use. + + Any code that relied on the implicit release is now going to + break the assertion, e.g.: + + { + RWLock l; + l.get(for_write); + } // implicit release, wrong. + + Signed-off-by: Federico Simoncelli + (cherry picked from commit cf2104d4d991361c53f6e2fea93b69de10cd654b) + +commit a73a4cb3889a6da21c3cfa4ddfa16d1a7059d20c +Author: Yehuda Sadeh +Date: Sat May 3 08:32:19 2014 -0700 + + common/RWLock: track read/write locks via atomics for assertion checks + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 92615ea95a31d9fd22c3d11c860e0f502dc52c26) + +commit b0d0d44018de6289b64b6334edd4959ca4a0cc48 +Author: Samuel Just +Date: Thu Dec 11 13:05:54 2014 -0800 + + ReplicatedPG::scan_range: an object can disappear between the list and the attr get + + The first item in the range is often last_backfill, upon which writes + can be occuring. It's trimmed off on the primary side anyway. + + Fixes: 10150 + Backport: dumpling, firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit dce6f288ad541fe7f0ef8374301cd712dd3bfa39) + +commit 34d19e1501b242fd8fc7cc95656592b5982f29a6 +Author: Yehuda Sadeh +Date: Fri Jan 30 18:42:40 2015 -0800 + + rgw: flush xml header on get acl request + + Fixes: #10106 + Backport: firefly, giant + + dump_start() updates the formatter with the appropriate prefix, however, + we never flushed the formatter. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit eb45f861343162e018968b8c56693a8c6f5b2cab) + +commit 9074eb7c46589aa1e5d10a2b9a8534f22dff2154 +Author: Abhishek Lekshmanan +Date: Mon Nov 17 17:37:00 2014 +0530 + + rgw: check for timestamp for s3 keystone auth + + This commit ensures that we check for timestamp of s3 request is within + acceptable grace time of radosgw + Addresses some failures in #10062 + Fixes: #10062 + Signed-off-by: Abhishek Lekshmanan + + (cherry picked from commit 4b35ae067fef9f97b886afe112d662c61c564365) + +commit d3de8a5722a68d69023cf60c9076c2fb19058bf9 +Author: Samuel Just +Date: Wed Nov 19 08:20:16 2014 -0800 + + PG: always clear_primary_state on new interval, but only clear pg temp if not primary + + Signed-off-by: Samuel Just + (cherry picked from commit f692bfe076b8ddb679c6d1a6ea78cc47f0876326) + +commit 8b07236cd799b4752cbe620b737343a02a703a17 +Author: Samuel Just +Date: Fri Nov 14 15:44:20 2014 -0800 + + PG: always clear_primary_state when leaving Primary + + Otherwise, entries from the log collection process might leak into the next + epoch, where we might end up choosing a different authoritative log. In this + case, it resulted in us not rolling back to log entries on one of the replicas + prior to trying to recover from an affected object due to the peer_missing not + being cleared. + + Fixes: #10059 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit c87bde64dfccb5d6ee2877cc74c66fc064b1bcd7) + +commit f4bab86fe3b218d66c14d06883c297836d9ca19d +Author: Jianpeng Ma +Date: Mon Oct 27 11:22:13 2014 +0800 + + ObjectStore: Don't use largest_data_off to calc data_align. + + If largest_data_off % CEPH_PAGE_SIZE != 0, the get_data_aligment return + a erro value. This make the FileJouranl::align_bl to memcopy much data. + + Tested-by: Sage Weil + Signed-off-by: Jianpeng Ma + (cherry picked from commit a1aa70f2f21339feabfe9c1b3c9c9f97fbd53c9d) + +commit 2c7eda690ae2f71c8e8e189b8f7330196c1f385f +Author: Ding Dinghua +Date: Thu Oct 30 14:58:42 2014 +0800 + + osdc/Objecter: Fix a bug of dead looping in Objecter::handle_osd_map + + If current map epoch is less than oldest epoch, current map epoch + should step up to oldest epoch. + + Fixes: #9986 + Signed-off-by: Ding Dinghua + (cherry picked from commit e0166a23c2cf655bfb4cf873be021a14d9b9be27) + + Conflicts: + src/osdc/Objecter.cc + the debug line that follows was re-indented + +commit 11f8017cbdf94d4a8083412b96c251ee39286541 +Author: Ding Dinghua +Date: Thu Oct 30 14:58:05 2014 +0800 + + osdc/Objecter: e shouldn't be zero in Objecter::handle_osd_map + + Signed-off-by: Ding Dinghua + (cherry picked from commit 31c584c8ba022cd44fe2872d221f3026618cefab) + + Conflicts: + src/osdc/Objecter.cc + the debug line that follows was re-indented + +commit 7831582026441abbd6066dd951db4b63ffb45402 +Author: Xinze Chi +Date: Wed Oct 29 07:11:11 2014 +0000 + + Get the currently atime of the object in cache pool for eviction + + Because if there are mutiple atime in agent_state for the same object, we should use the recently one. + + Signed-off-by: Xinze Chi + (cherry picked from commit 1fef4c3d541cba360738437420ebfa2447d5802e) + +commit 620733386bd0694960cecac8f32bd1538382d5bb +Author: Zhiqiang Wang +Date: Tue Oct 28 09:37:11 2014 +0800 + + osd: cache tiering: fix the atime logic of the eviction + + Reported-by: Xinze Chi + Signed-off-by: Zhiqiang Wang + (cherry picked from commit 622c5ac41707069ef8db92cb67c9185acf125d40) + +commit 5865411360f722ec511f2df6656d4ba975bef8eb +Author: Samuel Just +Date: Fri Feb 20 13:43:46 2015 -0800 + + DBObjectMap: lock header_lock on sync() + + Otherwise, we can race with another thread updating state.seq + resulting in the old, smaller value getting persisted. If there + is a crash at that time, we will reuse a sequence number, resulting + in an inconsistent node tree and bug #9891. + + Fixes: 9891 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit 2b63dd25fc1c73fa42e52e9ea4ab5a45dd9422a0) + + Conflicts: + src/os/DBObjectMap.cc + because we have state.v = 1; instead of state.v = 2; + +commit baa74b88a4f4b6073b99b7a9774692b37405b59e +Merge: be6559a 420ea03 +Author: Loic Dachary +Date: Wed Mar 11 09:09:23 2015 +0100 + + Merge pull request #3828 from dachary/wip-10425-firefly + + librados: fix resources leakage in RadosClient::connect() + + Reviewed-by: Radoslaw Zarzynski + +commit be6559a423badde3b573b0c9055056999baae104 +Merge: f91d355 6e58732 +Author: Loic Dachary +Date: Wed Mar 11 09:06:27 2015 +0100 + + Merge pull request #3826 from dachary/wip-10257-firefly + + mon: PGMonitor: several stats output error fixes + + Reviewed-by: Joao Eduardo Luis + +commit f91d355306620cc543113ed21fddf84f4c170d6e +Merge: f5525a1 1e58bb4 +Author: Loic Dachary +Date: Wed Mar 11 09:05:13 2015 +0100 + + Merge pull request #3824 from dachary/wip-10353-firefly + + crush: set_choose_tries = 100 for erasure code rulesets + + Reviewed-by: Loic Dachary + +commit f5525a1f41c9154b48f3ad0ccd899b5203c897bd +Merge: b7e3614 27dbbb3 +Author: Loic Dachary +Date: Wed Mar 11 09:04:33 2015 +0100 + + Merge pull request #3823 from dachary/wip-10787-firefly + + mon/OSDMonitor: do not trust small values in osd epoch cache + + Reviewed-by: Joao Eduardo Luis + +commit b7e3614ff38379aeea66ba00c64bc88ffa080963 +Merge: b5a67f0 7ed92f7 +Author: Loic Dachary +Date: Wed Mar 11 09:02:16 2015 +0100 + + Merge pull request #3915 from dachary/wip-10080-firefly + + SimpleMessenger: allow RESETSESSION whenever we forget an endpoint + + Reviewed-by: Greg Farnum + +commit 8ef14fcca715a33be8c611a37628c90d7fafca43 +Author: Joao Eduardo Luis +Date: Wed Feb 11 23:36:01 2015 +0000 + + mon: MonCap: take EntityName instead when expanding profiles + + entity_name_t is tightly coupled to the messenger, while EntityName is + tied to auth. When expanding profiles we want to tie the profile + expansion to the entity that was authenticated. Otherwise we may incur + in weird behavior such as having caps validation failing because a given + client messenger inst does not match the auth entity it used. + + e.g., running + + ceph --name osd.0 config-key exists foo daemon-private/osd.X/foo + + has entity_name_t 'client.12345' and EntityName 'osd.0'. Using + entity_name_t during profile expansion would not allow the client access + to daemon-private/osd.X/foo (client.12345 != osd.X). + + Fixes: #10844 + Backport: firefly,giant + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 87544f68b88fb3dd17c519de3119a9ad9ab21dfb) + +commit 370f37f452aff3b48f9ae8a33b7ef26b572b41c8 +Author: Joao Eduardo Luis +Date: Fri Nov 14 21:03:54 2014 +0000 + + mon: Monitor: stash auth entity name in session + + Backport: giant + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit ca8e1efc0be9bffcfbdce5593526d257aa498062) + +commit 0f31388eb2bb68c09ab270f871b421a9c368af97 +Author: Sage Weil +Date: Sun Aug 10 17:51:08 2014 -0700 + + messages/MWatchNotify: include an error code in the message + + Document the fields, while we are here. + + Signed-off-by: Sage Weil + (cherry picked from commit 7c7bf5fee7be397ef141b947f532a2a0b3567b42) + +commit f856739824bc271405a6fa35bdefc2bdc42c2f02 +Author: Samuel Just +Date: Thu Nov 20 14:27:39 2014 -0800 + + ReplicatedPG: fail a non-blocking flush if the object is being scrubbed + + Fixes: #8011 + Backport: firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit 9b26de3f3653d38dcdfc5b97874089f19d2a59d7) + +commit ca96b59db529ffbba0c834795800b6e90a7e4fce +Author: Samuel Just +Date: Mon Feb 9 17:11:38 2015 -0800 + + WorkQueue: make wait timeout on empty queue configurable + + Fixes: 10817 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit 5aa6f910843e98a05bfcabe6f29d612cf335edbf) + +commit 8ec8f1175a129624dffb511782664d74966d3c42 +Author: Samuel Just +Date: Mon Feb 9 10:37:15 2015 -0800 + + ReplicatedPG::on_change: clean up callbacks_for_degraded_object + + Backport: dumpling, firefly, giant + Fixes: 8753 + Signed-off-by: Samuel Just + (cherry picked from commit a5ecaa189d47a69466a6cd55fa4180e5c3092dc2) + +commit 963439f1038000c3f28c728350a2e9d351341e0b +Author: Yehuda Sadeh +Date: Thu Feb 5 09:33:26 2015 -0800 + + rgw: send appropriate op to cancel bucket index pending operation + + Fixes: #10770 + Backport: firefly, giant + + Reported-by: baijiaruo + Signed-off-by: Yehuda Sadeh + (cherry picked from commit dfee96e3aebcaeef18c721ab73f0460eba69f1c7) + + Conflicts: + src/rgw/rgw_rados.cc + +commit 3782b8b3652c0eb3fb8f65193ecfe09e92925170 +Author: Sage Weil +Date: Thu Feb 5 03:07:50 2015 -0800 + + mon: ignore osd failures from before up_from + + If the failure was generated for an instance of the OSD prior to when + it came up, ignore it. + + This probably causes a fair bit of unnecessary flapping in the wild... + + Backport: giant, firefly + Fixes: #10762 + Reported-by: Dan van der Ster + Signed-off-by: Sage Weil + (cherry picked from commit 400ac237d35d0d1d53f240fea87e8483c0e2a7f5) + +commit ca42905a6fca8b2b404500a6f74951ae20c8a488 +Author: Nilamdyuti Goswami +Date: Wed Nov 26 22:21:32 2014 +0530 + + doc: Adds the updated man page for ceph-disk utility. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 016080d2c39919d73956e5e138ba5f079327aa44) + +commit 6602ab4581f27e066484b4c419d8206fcc20e045 +Author: Nilamdyuti Goswami +Date: Wed Nov 26 22:19:01 2014 +0530 + + doc: Updates the man page for ceph-disk utility with some changes. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 8a48847cd46d4807ca1dbd13d3a561a693cdc877) + +commit 459807021dd3bf86ce31d30a3b576e783da67e3f +Author: Nilamdyuti Goswami +Date: Tue Nov 25 21:23:08 2014 +0530 + + doc: Adds man page for ceph-disk utility. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 9a118d56d4a5b0a0456e9f092f5ae9293f7bf3f3) + +commit 430d821b7592148ad9b2656bb3031a0484763f33 +Author: Nilamdyuti Goswami +Date: Tue Nov 25 21:16:16 2014 +0530 + + doc: Removes ceph-deploy usage instances from ceph-disk man page. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 242dd1c0bbb728475a94f47740790b8a196d9804) + +commit 21c3256c851065521e34a179dc05d48fcc0a6e0f +Author: Nilamdyuti Goswami +Date: Tue Nov 25 02:06:39 2014 +0530 + + doc: Updates man page for ceph-disk utility. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 7dcc85042b0c0a26e495f7574ce144d1083d15f8) + +commit 1a6490e38d7f5fd3ff640a810c3b911699cd4884 +Author: Nilamdyuti Goswami +Date: Mon Nov 24 22:05:11 2014 +0530 + + doc: Adds man page for ceph-disk utility. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit a450cab2b8148cb8a9b043d629feccf89e5aabac) + +commit 3bab47054dc77b9a00d3f47fa73f458ede7d4ab4 +Author: Billy Olsen +Date: Mon Feb 2 16:24:59 2015 -0700 + + Fix memory leak in python rados bindings + + A circular reference was inadvertently created when using the + CFUNCTYPE binding for callbacks for the asynchronous i/o callbacks. + This commit refactors the usage of the callbacks such that the + Ioctx object does not have a class reference to the callbacks. + + Fixes: #10723 + Backport: giant, firefly, dumpling + Signed-off-by: Billy Olsen + Reviewed-by: Dan Mick + Reviewed-by: Josh Durgin + (cherry picked from commit 60b019f69aa0e39d276c669698c92fc890599f50) + +commit d0fd417e872a73033903fb36144fe7a39e90fc9a +Author: Dmytro Iurchenko +Date: Tue Feb 3 17:54:38 2015 +0200 + + rgw: Swift API. Support for X-Remove-Container-Meta-{key} header. + + Fixes: #10475 + Backport: hammer, firefly + Reported-by: Josh Durgin + Signed-off-by: Dmytro Iurchenko + (cherry picked from commit f67bfa24fd6f69c2fcc0987eba8b6b426dd78320) + + Conflicts: + src/rgw/rgw_rest.h + trivial merge: prototype of an unrelated function changed + s/is_object_op/!(s->object == NULL)/ + +commit 651dc556047aa4ee9e95fe9fc7bcd11488973872 +Author: Dmytro Iurchenko +Date: Mon Feb 2 11:27:00 2015 +0200 + + rgw: Swift API. Dump container's custom metadata. + + Fixes: #10665 + Backport: hammer, firefly + Reported-by: Ahmad Faheem + Signed-off-by: Dmytro Iurchenko + (cherry picked from commit 2f8d31e9b1c4b09506bd1b0dad635c6e820783b2) + + Conflicts: + src/rgw/rgw_rest_swift.cc + The first hunk conflicts because X-Storage-Policy was added + after firefly. The second hunk conflicts because the type of the + s->object data member changed after firefly but it is irrelevant + because the patch does not need to access s->object anymore. + +commit 6fd3dfa7224f0af3101fd1614506e8cb2fc7f6a0 +Author: Sage Weil +Date: Fri Jan 23 10:47:44 2015 -0800 + + osd: do not ignore deleted pgs on startup + + These need to get instantiated so that we can complete the removal process. + + Fixes: #10617 + Signed-off-by: Sage Weil + (cherry picked from commit 879fd0c192f5d3c6afd36c2df359806ea95827b8) + +commit 368a5a8a8739e98ffdb8ac1210d111092e31be9e +Author: Joao Eduardo Luis +Date: Fri Jan 30 11:37:28 2015 +0000 + + mon: Monitor: fix timecheck rounds period + + Fixes: #10546 + Backports: dumpling?,firefly,giant + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 2e749599ac6e1060cf553b521761a93fafbf65bb) + +commit 66b13f2beff702c3b0bcb0aaa8da4e12d594eddf +Author: Sage Weil +Date: Sun Jan 11 17:28:04 2015 -0800 + + osd: requeue blocked op before flush it was blocked on + + If we have request A (say, cache-flush) that blocks things, and then + request B that gets blocked on it, and we have an interval change, then we + need to requeue B first, then A, so that the resulting queue will keep + A before B and preserve the order. + + This was observed on this firefly run: + + ubuntu@teuthology:/a/sage-2015-01-09_21:43:43-rados-firefly-distro-basic-multi/694675 + + Backport: giant, firefly + Fixes: #10512 + Signed-off-by: Sage Weil + (cherry picked from commit 11bdfb4131ecac16d4a364d651c6cf5d1d28c702) + +commit a22aa8f3228e0baf2ba08d9e79ee4924cd341a07 +Author: Matt Richards +Date: Thu Jan 8 13:16:17 2015 -0800 + + librados: Translate operation flags from C APIs + + The operation flags in the public C API are a distinct enum + and need to be translated to Ceph OSD flags, like as happens in + the C++ API. It seems like the C enum and the C++ enum consciously + use the same values, so I reused the C++ translation function. + + Signed-off-by: Matthew Richards + (cherry picked from commit 49d114f1fff90e5c0f206725a5eb82c0ba329376) + + Conflicts: + src/librados/librados.cc + comes from lttng tracepoints introduced after firefly + +commit d5c3a14390f6bb2af45a1a4ad842777302dd0553 +Author: Yan, Zheng +Date: Sat Jan 3 15:29:29 2015 +0800 + + mount.ceph: avoid spurious error message + + /etc/mtab in most modern distributions is a symbol link to + /proc/self/mounts. + + Fixes: #10351 + Signed-off-by: Yan, Zheng + (cherry picked from commit bdd0e3c4bda97fe18487a58dd173a7dff752e1a2) + +commit 7ed92f7dc5f0f327b77b6f3835e3f821fc810708 +Author: Greg Farnum +Date: Tue Dec 2 15:17:57 2014 -0800 + + SimpleMessenger: allow RESETSESSION whenever we forget an endpoint + + In the past (e229f8451d37913225c49481b2ce2896ca6788a2) we decided to disable + reset of lossless Pipes, because lossless peers resetting caused trouble and + they can't forget about each other. But they actually can: if mark_down() + is called. + + I can't figure out how else we could forget about a remote endpoint, so I think + it's okay if we tell them we reset in order to clean up state. That's desirable + so that we don't get into strange situations with out-of-whack counters. + + Fixes: #10080 + Backport: giant, firefly, dumpling + + Signed-off-by: Greg Farnum + (cherry picked from commit 8cd1fdd7a778eb84cb4d7161f73bc621cc394261) + +commit 91b2acaadee1b62c1fcac73147908ec4477840f3 +Author: David Zafman +Date: Thu Oct 9 11:20:13 2014 -0700 + + osd: Get pgid ancestor from last_map when building past intervals + + Fixed OSD::build_past_intervals_parallel() and PG::generate_past_intervals() + + Fixes: #10430 + + Signed-off-by: David Zafman + (cherry picked from commit 0c5b66da7a9ba516340d06d9e806beb9d1040d0e) + + Conflicts: + src/osd/OSD.cc + +commit c09b6d9d64fdcdc3842c4f89acf10080125a4adc +Author: David Zafman +Date: Tue Dec 23 12:04:26 2014 -0800 + + osd: Pass oldest_map when generating past intervals + + From load_pgs() the superblock hasn't been published yet + so we need to retrieve the value of oldest_map depending on the context. + + Fixes: #10427 + + Signed-off-by: David Zafman + (cherry picked from commit 7fb721c1ceb39b38ca2e653299bcf51e109411d7) + + Conflicts: + src/osd/OSD.cc + +commit 9235d781bf860c1ecef5af600431f1619b56fbc1 +Author: David Zafman +Date: Wed Dec 17 16:59:09 2014 -0800 + + osd: build_push_op() handle short reads so recipient doesn't crash + + Fixes: #8121 + + Signed-off-by: David Zafman + (cherry picked from commit b9a04846d18e1c6621d7f2794ec1fae02875bed2) + +commit 7ce0cb8e33a281d5f675273d7bcbc570a32e5497 +Author: Kefu Chai +Date: Thu Feb 5 16:33:08 2015 +0800 + + ceph_objectstore_tool: fix check_output on python2.6 + + * backported the subprocess.check_output from python2.7 + + Fixes: #10756 + + Signed-off-by: Kefu Chai + (cherry picked from commit 15350a088d84bc6fc664f0d3f5d09b35f58b2144) + + Conflicts: + src/test/ceph_objectstore_tool.py + +commit d5d34ddd1eac688d9422ca02c859d61be8e3e56e +Author: David Zafman +Date: Tue Jan 6 15:49:50 2015 -0800 + + ceph_objectstore_tool: For import get object_info_t available for each object + + Add object_info_t to object_begin so we have at object create time + This will be useful for importing from multiple erasure coded exports + + Signed-off-by: David Zafman + (cherry picked from commit 05d916ed12f361da48ef73953bcc0cef465fcc2a) + +commit f70590b211ba28f350921b2f0c92712ed779858e +Author: David Zafman +Date: Fri Dec 12 15:16:03 2014 -0800 + + ceph_objectstore_tool: Handle import of pg which OSD has split + + Fail import if import data doesn't include OSDMap and can't find it locally + See if local map can be read for import's epoch + Jump to current epoch like a split would if local map not present + + Fixes: #9781 + + Signed-off-by: David Zafman + (cherry picked from commit afda6e4f3b98cc1773fd014583dfb5e1f214a939) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + +commit aedd324f8fbb031d5126ae158f03066c7342f4b0 +Author: David Zafman +Date: Fri Dec 12 15:38:33 2014 -0800 + + ceph_objectstore_tool: On import following a split skip objects no longer in pg + + Signed-off-by: David Zafman + (cherry picked from commit 68b27e25a3729566c3a22c0b71f70f7f3aca29a3) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + +commit c3de607c2ce16a26af7a78a4e557f321ffbcb44d +Author: David Zafman +Date: Fri Dec 5 15:12:21 2014 -0800 + + ceph_objectstore_tool: Verify that object pool and pgid pool match + + Also, earlier check for invalid --pgid with import op + + Signed-off-by: David Zafman + (cherry picked from commit da3be80497a1b1878ee5d2015f8840d202a83aa2) + +commit 5ec38e54f40431a5303cafe202c5097cc400fdb6 +Author: David Zafman +Date: Wed Nov 19 11:47:36 2014 -0800 + + ceph_objectstore_tool: Check for splits and fail import if there were splits + + Add osdmap into metadata_section + On export put metadata_section before file data + + Fixes: #9780 + + Signed-off-by: David Zafman + (cherry picked from commit 19fdeea8b67091ed044ebce25799d3237b4d734a) + +commit aa472fa4df19d826a5af72e286365fa5ce4c71fb +Author: David Zafman +Date: Mon Dec 15 10:03:53 2014 -0800 + + ceph_objectstore_tool: Add special exit code for test infrastructure + + Signed-off-by: David Zafman + (cherry picked from commit b1f12f09c0211b608178f5ca2e292ab1765ce620) + +commit 22b7c2faee8cfad1b40cef019984f4a2d112b268 +Author: David Zafman +Date: Wed Nov 19 11:41:39 2014 -0800 + + ceph_objectstore_tool: Check that pool exists before allowing import + + Signed-off-by: David Zafman + (cherry picked from commit f24f646d870703b7b79563cdbc20920248be6142) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + +commit f65db436f6eb83d7c59fdddced4d35dd9eeeb078 +Author: David Zafman +Date: Wed Oct 15 15:21:11 2014 -0700 + + ceph_objectstore_tool: Check cluster_fsid before allowing an import + + Signed-off-by: David Zafman + (cherry picked from commit 196c8112dc9a6e8780b05d6c579cd7fbd5b07589) + +commit 360f68ec69b36b172d15c6206698340a5c00aafa +Author: David Zafman +Date: Thu Oct 16 12:27:56 2014 -0700 + + ceph_objectstore_tool: Allow the metadata_section to be anywhere in the export + + Signed-off-by: David Zafman + (cherry picked from commit 62dd912f1192b28700a15b02507a8c9efd710cb5) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + +commit c3fcbe636ae1a936b9180628cff939b2b5dddf7c +Author: David Zafman +Date: Fri Dec 12 15:01:24 2014 -0800 + + ceph_objectstore_tool: import-rados shouldn't import internal namespace objects + + Signed-off-by: David Zafman + (cherry picked from commit f727d2eaf50b0351feb9f12dcd65d50fb6eff7e9) + +commit 2d69076943b9724ce1d5c9f03f2f7594a77b92d2 +Author: David Zafman +Date: Fri Dec 12 14:58:54 2014 -0800 + + ceph_objectstore_tool: Get g_ceph_context available to import-rados + + Signed-off-by: David Zafman + (cherry picked from commit ddc4613ec71752e5dccbbfe6dc078b86f0f186a9) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + +commit bbed3a728471292de625d922abeae8b39d290045 +Author: David Zafman +Date: Tue Dec 9 18:09:04 2014 -0800 + + ceph_objectstore_tool: Fix import-rados skipping of snapshots + + Signed-off-by: David Zafman + (cherry picked from commit fe936026ed87c9f95f3b7ad235b24c22e8de5f55) + +commit d962c79dc1f0f2189e25743c6d253fac412c004d +Author: David Zafman +Date: Thu Nov 20 13:00:10 2014 -0800 + + ceph_objectstore_tool: read_fd() doesn't handle ^D from tty stdin, don't allow + + Signed-off-by: David Zafman + (cherry picked from commit 5cb692528e3ac0ebea3f1714b3ac43f69d176888) + +commit 8b7f4cb232c2f1bde6f50c1f092cb622fe2c41f1 +Author: David Zafman +Date: Fri Dec 19 13:47:32 2014 -0800 + + ceph-objectstore-tool: Remove --pretty-format and use new --format options + + Call new_formatter() with --format specified argument + + Signed-off-by: David Zafman + (cherry picked from commit 22b71744bb0cb56434d5f6214ccea7d81f771860) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + +commit ee183b8e56c6f8a88ac781cf1fedb6a7a93f1005 +Author: David Zafman +Date: Wed Oct 15 15:20:03 2014 -0700 + + ceph_objectstore_tool: Describe super_ver values + + Signed-off-by: David Zafman + (cherry picked from commit 0aeba0f216a54390288b5e3d6147deb31877f744) + +commit 5f82f824c7b1bb246bdb54b11a694133a49da70a +Author: Danny Al-Gaaf +Date: Fri Jan 2 18:36:54 2015 +0100 + + ceph_objectstore_tool.cc: reduce scope of variable + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 78542f9a901c05e627b53b5306ea604be3bc82e8) + +commit 2f97c51b5ee5de7c1657bc8fee6ccaa474f6f478 +Author: Danny Al-Gaaf +Date: Fri Jan 2 15:48:08 2015 +0100 + + ceph_objectstore_tool.cc: prefer ++operator for non-primitive iterators + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 252fc03ba21c7b09922598a8d40997fc639bb994) + +commit 2a22bfedc4fa9f461dc8cfd42c659b9c55ddafca +Author: David Zafman +Date: Tue Nov 25 16:56:19 2014 -0800 + + ceph_objectstore_tool: Prevent tool from transitioning struct_v on rm-past-intervals + + Signed-off-by: David Zafman + (cherry picked from commit f056bdf93980a0a8e6157dbb124a79389a8f1a3c) + +commit 53aa04f95c43795da81a7d9f3117d7e5816aedcb +Author: David Zafman +Date: Thu Dec 4 18:53:08 2014 -0800 + + ceph_objectstore_tool: Accept json object with --pgid instead of array + + It isn't anticipated that anyone would use this but keeps backward compatible + + Signed-off-by: David Zafman + (cherry picked from commit 59b423e2e8846b098326fdec440de46b8e3d2769) + +commit 60e9a8120b292628ee4e5ef33fe933222609b861 +Author: David Zafman +Date: Thu Dec 4 18:27:50 2014 -0800 + + ceph_objectstore_tool: Improve object spec parsing error messages + + Signed-off-by: David Zafman + (cherry picked from commit de6384fda183801c16af1b61ed36eaed289bb4f6) + +commit 4f95409c0dadeed18334c00630ddc6d7c99d2819 +Author: David Zafman +Date: Thu Dec 4 17:48:28 2014 -0800 + + ceph_objectstore_tool: Fix errors messages in newer code + + Signed-off-by: David Zafman + (cherry picked from commit eae7c02fded460f6c8aaf18aa83d2730b89e0eb1) + +commit 1703867735c8f8ab1c83aa526c84b278436f38d5 +Author: David Zafman +Date: Thu Dec 4 16:00:40 2014 -0800 + + ceph_objectstore_tool: Remove extraneous endl on error throw messages + + Signed-off-by: David Zafman + (cherry picked from commit 32c832f0c62259a492d1c934c56ac165496763a0) + +commit f2d2110a8cb1a1b1216c1083b54ea6212138dc93 +Author: David Zafman +Date: Thu Dec 4 14:01:39 2014 -0800 + + ceph_objectstore_tool: Add --format and --pretty-format support + + --pretty-format defaults true + Add --format so xml output can be requested + --op list defaults to single line of json per object + To override this more human readable output use --pretty-format=false + Add testing of --op list special handling + + Signed-off-by: David Zafman + (cherry picked from commit cca85a534fe488ae314400e8faad55a758609467) + +commit a5544c12c3e982edf66f55a8edfb7fc69300520b +Author: David Zafman +Date: Wed Dec 3 17:53:11 2014 -0800 + + ceph_objectstore_tool: Strip _* (always _head) from pgid in list entry output + + Signed-off-by: David Zafman + (cherry picked from commit 5eacd3c5f39766cb8be6b3251d139d16431cf6b6) + +commit 4a0a42f3e6b9a1b7ed4df3d4b6c417acfc00050a +Author: David Zafman +Date: Wed Dec 3 16:39:04 2014 -0800 + + ceph_objectstore_tool: BUG: --op list wasn't including snapshots + + Signed-off-by: David Zafman + (cherry picked from commit b617ee2d45886ec6b3dc0db0edbf814ea5748083) + +commit 06579b9f269dc9864e920368c5bea9bcb9dd8be9 +Author: David Zafman +Date: Wed Dec 3 16:38:22 2014 -0800 + + ceph_objectstore_tool: For terminal output of list one object per line + + Instead of a parsable array make it easier to cut and paste listed objects + + Signed-off-by: David Zafman + (cherry picked from commit 5a66db9418aeed31fec98999c5053dab357d9c1e) + +commit 22c6bf410de1b0c81f131aa4d5682f5162dd1a56 +Author: David Zafman +Date: Wed Dec 3 16:35:09 2014 -0800 + + ceph_objectstore_tool: In error case umount objectstore + + Signed-off-by: David Zafman + (cherry picked from commit bc6ea9cb8a2b86c73f7f15bc46145177ccf91f4b) + +commit d802ab69a4a0f37ed9328ec385746f59643e1420 +Author: Loic Dachary +Date: Thu Nov 27 01:24:03 2014 +0100 + + objectstore_tool: test --op list variants + + Signed-off-by: Loic Dachary + (cherry picked from commit ddba2676c4c48c2a556f5d4ffd817bfe134a9153) + +commit f30e053fe7b3e5efc679b20cf1b3e2f7f8ed7e54 +Author: Loic Dachary +Date: Thu Nov 27 00:11:45 2014 +0100 + + objectstore_tool: parse new object description format + + The object format changed from + + {json object} + + to + + [pgid,{json object}] + + The parser is updated accordingly. If the --pgid is present, check that + it equals the pgid from the object description. + + Signed-off-by: Loic Dachary + (cherry picked from commit df9d5c5cfd8b0ff793647a592c7661965cef5c92) + +commit fce87c9d7dbb51989826d068d6b6657a2f3d129d +Author: Loic Dachary +Date: Wed Nov 26 23:35:21 2014 +0100 + + objectstore_tool: filter --op list and explore all PGs + + The positional object name is used to filter the output of --op list and + only show the objects with a matching name. If both the object name and + the pgid are omitted, all objects from all PGs are displayed. + + The output format is changed from + + {"oid":"GROUP","key":"","snapid":-2, + "hash":2659194943,"max":0,"pool":0,"namespace":""} + + to + + [["0.7_head",{"oid":"GROUP","key":"","snapid":-2, + "hash":2659194943,"max":0,"pool":0, + "namespace":""}]] + + where the first member is the pgid where the object is found. + + Signed-off-by: Loic Dachary + (cherry picked from commit c69aaceac7f370e5369d511bf17898adc338ae43) + +commit 2f874fd3715d216a68658e94a5c741e665c76632 +Author: Loic Dachary +Date: Wed Nov 26 23:34:22 2014 +0100 + + objectstore_tool: lookup objects by name + + If the object is not a parsable JSON string, assume an object name and + look it up in all the PGs. If multiple objects have the same name, only + apply the command to one of them. It is primarily useful in a test + environment where the names of the tests objects are known and only a + small number of objects exists. It replaces the following: + + path='--data-path dev/osd0 --journal-path dev/osd0.journal' + for pgid in $(./ceph_objectstore_tool $path --op list-pgs) ; do + object=$(./ceph_objectstore_tool $path --pgid $pgid --op list | + grep '"oid":"NAME"') + test -n "$object" && break + done + ./ceph_objectstore_tool $path --pgid $pgid "$object" remove + + with: + + ./ceph_objectstore_tool $path NAME remove + + http://tracker.ceph.com/issues/10192 Fixes: #10192 + + Signed-off-by: Loic Dachary + (cherry picked from commit 7c1165f96391821c00cca1ac04b3433dbec6bb6e) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + +commit eb48aba2119959c53ea8a103b53f0c2e07c52acb +Author: Loic Dachary +Date: Wed Nov 26 17:30:30 2014 +0100 + + objectstore_tool: refactor list-lost and fix-lost + + Abstract out the PG exploration loops and encapsulate the list-lost and + fix-lost semantic in a callable object. + + Signed-off-by: Loic Dachary + (cherry picked from commit d9e747b1bdb53d1fe543ef311e3db35fb78d8051) + +commit eab3226edc8ecc6d2d93f463e019ef4eacb9f468 +Author: Loic Dachary +Date: Wed Nov 26 17:26:54 2014 +0100 + + objectstore_tool: update usage strings + + Signed-off-by: Loic Dachary + (cherry picked from commit a90233c8b79ae6c035b5169c7f8809f853631689) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + +commit 5bbe41cb1e7faf40a9c53a9bdc01db8c35670a36 +Author: David Zafman +Date: Tue Nov 18 13:00:15 2014 -0800 + + ceph_objectstore_tool: Add feature called set-allow-sharded-objects + + Uses --op set-allow-sharded-objects option + This operation will be rejected if on the target OSD's osdmap there is + at least one OSD which does not support ERASURE CODES. + Prompt the user that they could import if sharded state allowed + Prompt the user to use new feature if sharded state found inconsistent + + Fixes: #10077 + + Signed-off-by: David Zafman + (cherry picked from commit f3dab446fc8e58b3b3d9334b8c38722e73881b9e) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + +commit 4e30d8c53c0a4952f81cc3b5680c7e92fffb1355 +Author: David Zafman +Date: Tue Nov 18 11:59:18 2014 -0800 + + ceph_objectstore_tool: Add utility routine get_osdmap() + + Signed-off-by: David Zafman + (cherry picked from commit b3021b0d3362000b5938d406ed2e032a8eb38405) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + +commit f997b126afaeadebe6b6d76954fbe2008bd2a7d8 +Author: David Zafman +Date: Wed Nov 12 21:14:11 2014 -0800 + + ceph_objectstore_tool: Clear ...INCOMPAT_SHARDS from feature if exporting replicated pg + + Don't require importing OSD to have shards feature for replicated pg + + http://tracker.ceph.com/issues/10077 Fixes: #10077 + + Signed-off-by: David Zafman + (cherry picked from commit 86baf2d38170ef19de2dd5e9ce3f280237d8474d) + +commit 3f862da57945f821ed459f5a77f8032331c9cb20 +Author: David Zafman +Date: Tue Nov 18 00:10:41 2014 -0800 + + tests: ceph_objectstore_tool.py test all variants of export/import + + Handle change of error message text + + Signed-off-by: David Zafman + (cherry picked from commit 9e53c3554c71121f2e2dd0234b5232da37ad5a1b) + +commit 2a58bdee19eb8f02a2800d728d402e76566d7f58 +Author: David Zafman +Date: Mon Nov 17 23:23:40 2014 -0800 + + ceph_objectstore_tool: Make --file option consistent by treating "-" as stdout/stdin + + Signed-off-by: David Zafman + (cherry picked from commit 8c87f3284f87d1121218cb7f41edc81b74c9df29) + +commit 70329be7be5d80e52d5424958cecd7f4d939add6 +Author: David Zafman +Date: Sat Nov 15 11:43:10 2014 -0800 + + tests: ceph_objectstore_tool.py fix list-attr for erasure code + + Adding testing of xattr for erasure coded shards + Fix error message when finding an unexpected xattr key + + Signed-off-by: David Zafman + (cherry picked from commit cbecab477a70782f2f69258f035e78fb5c829810) + + Conflicts: + src/test/ceph_objectstore_tool.py + +commit bc921c7ecbc061ccef4847d967986c9fa902111f +Author: David Zafman +Date: Sat Nov 15 11:46:15 2014 -0800 + + tests: ceph_objectstore_tool.py check for malformed JSON for erasure code objs + + Signed-off-by: David Zafman + (cherry picked from commit 40717aa4c399e87d2c3e32038f78788eb213f87d) + +commit 99ffd137f17c438e3ee9dbbc0ab73cdcd3a45a5c +Author: David Zafman +Date: Sat Nov 15 11:44:54 2014 -0800 + + tests: ceph_objectstore_tool.py fix off by 1 ATTR_OBJS handling + + Signed-off-by: David Zafman + (cherry picked from commit eaf1d1e35243566c46b478788e79e0ebf7583015) + +commit 951c951a0f164271c5e9b96ecbd510cf5c6663b6 +Author: Loic Dachary +Date: Fri Nov 14 11:00:17 2014 +0100 + + tests: ceph_objectstore_tool.py skip if /dev/tty fails + + Some environments do not have a /dev/tty. When opening /dev/tty fails, + skip the test instead of returning an error. + + Signed-off-by: Loic Dachary + (cherry picked from commit 4c94f1778fdf483e9e0b62f89f7e46e78aeeebf3) + +commit 8dc263555d7aca2befa912c78c585a43c8e7592c +Author: Loic Dachary +Date: Thu Nov 13 19:15:50 2014 +0100 + + tests: ceph_objectstore_tool.py encapsulate init-ceph stop + + Call init-ceph in kill_daemons and add a call to kill_daemon when main + returns on error so that it never leaves daemons hanging. + + Signed-off-by: Loic Dachary + (cherry picked from commit fc435ff3623d196dd7cc375302acd8dfc9eb59fd) + +commit b78d802f3e082b0762203ae37b3c3a44b7608907 +Author: Loic Dachary +Date: Thu Nov 13 19:14:49 2014 +0100 + + tests: ceph_objectstore_tool.py main returns + + Instead of calling sys.exit() the main function returns the desired exit + code. + + Signed-off-by: Loic Dachary + (cherry picked from commit 0f3d7b1315f2b5595047d8bd13949ed0d9194bfa) + +commit 04e480b09b59f5318e9b206e6c3e529d8bb22328 +Author: Loic Dachary +Date: Thu Nov 13 17:32:14 2014 +0100 + + tests: ceph_objectstore_tool.py replace stop.sh with init-ceph + + The stop.sh will stop all ceph-* processes. Use the init-ceph script + instead to selectively kill the daemons run by the vstart.sh cluster + used for ceph_objectstore_tool. + + Signed-off-by: Loic Dachary + (cherry picked from commit e8f34bd62bf282144b8851fb9764cf4429a49c25) + +commit 51855584eb970b28dfa266ee3653963fb77a2b1e +Author: Loic Dachary +Date: Thu Nov 13 17:30:29 2014 +0100 + + tests: ceph_objectstore_tool.py use a dedicated directory + + Set CEPH_DIR to a directory that is specific to ceph_objectstore_tool so + that it can run in parallel with other vstart.sh clusters. + + Signed-off-by: Loic Dachary + (cherry picked from commit e303d1afde58e68c1f587962010da9e1f1278bc3) + + Conflicts: + src/test/ceph_objectstore_tool.py + +commit 454ec85ae449cb20c2ddecade421262d9d9de615 +Author: Loic Dachary +Date: Thu Nov 13 17:27:01 2014 +0100 + + tests: ceph_objectstore_tool.py run faster by default + + By default use only a small number of objects to speed up the tests. If + the argument "big" is given, use a large number of objects as it may + help find some problems. + + Signed-off-by: Loic Dachary + (cherry picked from commit 235257c257aea98b770d9637957818c8aeb6c745) + +commit 427fe9177f90db091685b937839dcc4dfe4c8a01 +Author: Loic Dachary +Date: Thu Nov 13 17:21:48 2014 +0100 + + tests: ceph_objectstore_tool.py run mon and osd on specific port + + By default vstart.sh runs MDS but they are not needed for the tests, + only run mon and osd instead. Instead of using the default vstart.sh + port which may conflict with a already running vstart.sh, set the + CEPH_PORT=7400 which is not used by any other test run with make check. + + Signed-off-by: Loic Dachary + (cherry picked from commit f04d4e7539bc8c1b6cf94db815f9dcdecc52faa2) + +commit 28ed34a7dc32033be61cd61178eb59471de45aac +Author: Loic Dachary +Date: Thu Nov 13 17:16:41 2014 +0100 + + tests: ceph_objectstore_tool.py can use a WARN cluster + + The tests do not need HEALTH_OK exclusively, a HEALTH_WARN cluster can + also run them successfully. + + Signed-off-by: Loic Dachary + (cherry picked from commit 783378c019aaac36d542e1b12c0d64196ea21012) + +commit 8548d7c65e8743d4e743c77981acd702efab3fb2 +Author: Loic Dachary +Date: Thu Nov 13 17:12:35 2014 +0100 + + tests: ceph_objectstore_tool.py use env python + + Using #/usr/bin/env python instead of a hard coded path is more flexible + and can also be used to run from virtualenv. + + Signed-off-by: Loic Dachary + (cherry picked from commit 74506d2506d03d05935cbe342fef9dc1d9022a13) + +commit 5b4c2ee0902d94e6fa5bee67188fddcf0e0c38a2 +Author: David Zafman +Date: Wed Nov 12 15:22:04 2014 -0800 + + ceph_objectstore_tool: Fixes to make import work again + + The is_pg() call is now true even for pgs pending removal, fix broken + finish_remove_pgs() by removing is_pg() check. + Need to add create_collection() to the initial transaction on import + + Fixes: #10090 + + Signed-off-by: David Zafman + Reviewed-by: Sage Weil + (cherry picked from commit 5ce09198bf475e5c3a2df26232fa04ba9912b103) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + +commit e0dab883d29bd3a54b5707f8d3ea830f8a1ce516 +Author: David Zafman +Date: Mon Oct 6 18:26:44 2014 -0700 + + ceph_objectstore_tool: Accept CEPH_ARGS environment arguments + + Signed-off-by: David Zafman + (cherry picked from commit 10fe7cfe561f91717f2ac2e13aeecc06a903704e) + +commit 5f788eaa61054c6cb27960b5544b321078706343 +Author: David Zafman +Date: Fri Oct 3 15:12:28 2014 -0700 + + ceph_objectstore_tool: MemStore needs a CephContext + + Pass g_ceph_context to ObjectStore::create() needed by MemStore + + Fixes: #9661 + + Signed-off-by: David Zafman + (cherry picked from commit 0b155d00c542f0d8b8b5b0324dac4b3cf7ff37b5) + +commit 7470c7ca02ef6313b925be3ce4b27437a0c2e1e0 +Author: David Zafman +Date: Tue Mar 3 10:41:28 2015 -0800 + + ceph_objectstore_tool: Rename generated binary to ceph-objectstore-tool + + Signed-off-by: David Zafman + (cherry picked from commit 4f72ba545e204a24a55adead43c61cb1d4394381) + + Conflicts: + debian/ceph-test.install + src/.gitignore + src/test/ceph-helpers.sh (doesn't exist in firefly) + src/test/ceph_objectstore_tool.py + src/tools/ceph_objectstore_tool.cc + +commit 4b51645fdfe8a761f7ebc0faee1a87187d498fee +Author: Sage Weil +Date: Wed Nov 12 13:35:43 2014 -0800 + + vstart.sh: warn less + + Signed-off-by: Sage Weil + (cherry picked from commit a69b8450f642af91a352d0de4378d93828291933) + +commit 3075919c0dcee1f33a0beb299e98d8a88836c5f8 +Author: David Zafman +Date: Mon Nov 17 23:02:50 2014 -0800 + + ceph_objectstore_tool: When exporting to stdout, don't cout messages + + Fixes: #10128 + Caused by a2bd2aa7 + + Signed-off-by: David Zafman + (cherry picked from commit 0d5262ac2f69ed3996af76a72894b1722a27b37d) + (cherry picked from commit 6cb9a2499cac2645e2cc6903ab29dfd95aac26c7) + +commit ca9df2803f3200431f5f7ea99a713005f15b7f5a +Author: Danny Al-Gaaf +Date: Tue Sep 2 14:56:10 2014 +0200 + + ceph_objectstore_tool.cc: prefer ++operator for non-primitive iterators + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit a5468abe4459159e8a9f7a4f21d082bb414e1cdd) + +commit ac396f5df3c51d09b9dbf7e6be7bed1d755d2317 +Author: Zhiqiang Wang +Date: Fri Aug 29 16:39:40 2014 +0800 + + Test: fixing a compile warning in ceph_objectstore_tool.cc + + For the compiler's sake: + tools/ceph_objectstore_tool.cc:2547:15: warning: ‘r’ may be used + uninitialized in this function [-Wmaybe-uninitialized] + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit c3e1466b46076f133b62f98e2c0b712bdde0e119) + +commit b863970110e7f8e835e77864ea59b81f0b026158 +Author: David Zafman +Date: Wed Aug 20 01:33:45 2014 -0700 + + ceph_objectstore_tool: Bug fixes and test improvements + + ceph_objectgstore_tool: + Fix bugs in the way collection_list_partial() was being called + which caused objects to be seen over and over again. + + Unit test: + Fix get_objs() to walk pg tree for pg with sub-directories + Create more objects to test object listing code + Limit number of larger objects + Limit number of objects which get attributes and omaps + + Signed-off-by: David Zafman + (cherry picked from commit a03f719eb3a46f410550afce313e6720e0c27946) + +commit 4f83005bb8a615df370de7b6dfe5d926c7cfef7f +Author: David Zafman +Date: Tue Aug 5 18:26:11 2014 -0700 + + ceph_objectstore_tool, test: Implement import-rados feature and unit test code + + Fixes: #8276 + + Signed-off-by: David Zafman + (cherry picked from commit 23ec93a86140c4b271b45d87c62682288079cbba) + +commit df334617705fe862b820ef5de674ae54efad0cea +Author: David Zafman +Date: Wed Aug 6 19:53:43 2014 -0700 + + test: ceph_objectstore_tool unit test improvements + + Add namespaces to testing + Increase filesize so export will have multiple chunks + Put json for each object into the db dict + + Signed-off-by: David Zafman + +commit ecd25cf6ce1a1a34e536c7fd313225b3bdedd2e0 +Author: David Zafman +Date: Thu Aug 7 13:31:48 2014 -0700 + + ceph_objectstore_tool: Add operation "rm-past-intervals" for testing purposes + + Signed-off-by: David Zafman + (cherry picked from commit 3694068b67fd625495c4511390bc5bcbfbbd28f5) + +commit 6b50b384efc1f0735f8635a59663b50e3155de1a +Author: David Zafman +Date: Thu Aug 7 11:46:08 2014 -0700 + + ceph_objectstore_tool: Add past_intervals to export/import code + + Signed-off-by: David Zafman + (cherry picked from commit 9325ec15d4b89c5537cbcbda4c7594e25dc6e7df) + +commit 63529079b97c99cbaa863e1be865e2693e90c556 +Author: David Zafman +Date: Thu Aug 7 14:11:21 2014 -0700 + + ceph_objectstore_tool: Minor improvements + + Make all non-error non-debug output to stdout + Fix a message + + Signed-off-by: David Zafman + (cherry picked from commit a2bd2aa7babb4ad45ba21c70f9d179fda27742aa) + +commit 5e3f89ece7bdd09ed06ca4208cfa0a0b3104f109 +Author: David Zafman +Date: Tue Aug 5 12:26:42 2014 -0700 + + ceph_objectstore_tool, test: Add list-pgs operations and unit test case + + Signed-off-by: David Zafman + (cherry picked from commit f01e334c697057158354f0ce5ecff6d6ba8e2704) + +commit edc9f71efeebe5241004c669cc58089905907634 +Author: David Zafman +Date: Wed Jul 30 12:39:49 2014 -0700 + + Complete replacement of ceph_filestore_tool and ceph_filestore_dump + with unified ceph_objectstore_tool + + Move list-lost-objects and fix-lost-objects features from + ceph_filestore_tool to ceph_objectstore_tool as list-lost, fix-lost + Change --type to --op for info, log, export...operations + Add --type for the ObjectStore type (defaults to filestore) + Change --filestore-path to --data-path + Update installation, Makefile.am, and .gitignore + Fix and rename test case to match + Add some additional invalid option checks + + Signed-off-by: David Zafman + (cherry picked from commit 83fbc91e5c4e52cc1513f34908f99d2ac3b930df) + +commit a42273ecd955470105cba1cc4ac7eb782ac46833 +Author: David Zafman +Date: Wed Jul 30 11:22:29 2014 -0700 + + Renames and removal towards a unified ceph_objectstore_tool + + Rename ceph_filestore_dump.cc and ceph_filestore_dump.py + Remove ceph_filestore_tool.cc + + Signed-off-by: David Zafman + (cherry picked from commit 77864193a1162393ade783480aee39a232934377) + +commit 9ee2c27096784efceb02b06a0df4325979385f44 +Author: David Zafman +Date: Tue May 20 11:19:19 2014 -0700 + + ceph_filestore_dump: Add set-omaphdr object command + + Signed-off-by: David Zafman + (cherry picked from commit b4d95cc85af9af64d33d541cd69c5f28fd45423b) + +commit c7d261d40367ab01a577bf255da776a622f8984a +Author: David Zafman +Date: Tue May 20 10:44:37 2014 -0700 + + ceph_filestore_dump: Add get-omaphdr object command + + Signed-off-by: David Zafman + (cherry picked from commit 30c0f3114e665acdd99e64bf0d2a7399b33e8d61) + +commit 271e3ca19b9e878c6c3c26a9ec461faf06e7a19d +Author: David Zafman +Date: Mon May 19 20:55:47 2014 -0700 + + ceph_filestore_dump: Add rm-omap object command + + Signed-off-by: David Zafman + (cherry picked from commit 0fc6bd2777edf24a044f454beacf1647cc52f9fe) + +commit 20165d101a30c6beb591ca56b56bdf5505f70cf3 +Author: David Zafman +Date: Mon May 19 20:47:14 2014 -0700 + + ceph_filestore_dump: Add set-omap object command + + Signed-off-by: David Zafman + (cherry picked from commit 50cd57e902fe508f98f63fea30626780b07561d9) + +commit 7547f3d17bc89437c529aa96413b0bebb808da5e +Author: David Zafman +Date: Mon May 19 20:37:01 2014 -0700 + + ceph_filestore_dump: Add get-omap object command + + Signed-off-by: David Zafman + (cherry picked from commit b50c43ce5e52f5bbcb3684f6793d50f34ed741d1) + +commit f391feb1f50632adbe94c3e8cdc4b75091d6b8e1 +Author: David Zafman +Date: Mon May 19 18:33:24 2014 -0700 + + ceph_filestore_dump: Add rm-attr object command + + Signed-off-by: David Zafman + (cherry picked from commit 465d77733c7499fbd65bebe7141895714c625e0d) + +commit 7bd2dd3a1d022df6d3f886ad12a191d0cfcef1d6 +Author: David Zafman +Date: Mon May 19 18:17:27 2014 -0700 + + ceph_filestore_dump: Add set-attr object command + + Signed-off-by: David Zafman + (cherry picked from commit 95554e03dcb74b6d74b2f1b2891b3570abb187b8) + +commit 6724da821158ddee6ef6ee7b5bac9e97dcfc2292 +Author: David Zafman +Date: Thu May 15 15:50:48 2014 -0700 + + ceph_filestore_dump: Add get-attr object command + + Signed-off-by: David Zafman + (cherry picked from commit 55d43c0e20fc853daec134449b9954248fd7ef31) + +commit 55c21b898834d77234227d3fc14c8580ef698663 +Author: David Zafman +Date: Wed May 14 17:52:09 2014 -0700 + + ceph_filestore_dump: Add set-bytes object command + + Signed-off-by: David Zafman + (cherry picked from commit 3c24d1f46a624d0a053ad234997a1f8c8b036db5) + +commit 2f1926d2f57082666350d8223b09f61da5f95b6f +Author: David Zafman +Date: Wed May 14 17:51:29 2014 -0700 + + ceph_filestore_dump: Add get-bytes object command + + Signed-off-by: David Zafman + (cherry picked from commit 869dd92cc8ec29a3a684f88c335d359f225bba24) + +commit fcabb8133af3b90d5d9e976ce658ceccfc5b89c5 +Author: David Zafman +Date: Wed May 14 17:50:16 2014 -0700 + + ceph_filestore_dump: Add list-omap object command + + Signed-off-by: David Zafman + (cherry picked from commit 48890c7741d76cf92b5f589f49378ca57292e88b) + +commit 303e4cedd91ca3553e956eec495a05e3136b3c56 +Author: David Zafman +Date: Wed May 14 18:32:42 2014 -0700 + + ceph_filestore_dump: Add list-attrs object command + + Signed-off-by: David Zafman + (cherry picked from commit 00c6b0673288ca76fe144575b7af76eaa36f5857) + +commit aff2c995f67bdde1a592a9b24e4e96e85735d500 +Author: David Zafman +Date: Wed May 14 17:39:17 2014 -0700 + + ceph_filestore_dump: Add --type list to output objects in a pg in json + + Signed-off-by: David Zafman + (cherry picked from commit 844dabb7f311e68eba0293ae9ca4c68521745877) + +commit 7cda8b7a0b43d709b73d875088ecd169f47d59ab +Author: David Zafman +Date: Wed May 14 17:44:31 2014 -0700 + + ceph_filestore_dump: Add remove object command and usage for new commands + + Signed-off-by: David Zafman + (cherry picked from commit 605caec64b036f8ab5ae451d7e9e7515d414f28e) + +commit a4694643ae4503746d3fac8a0feac706ddc13a16 +Author: David Zafman +Date: Fri Jun 6 17:05:53 2014 -0700 + + ceph_filestore_dump: Add utility function get_fd_data() + + Signed-off-by: David Zafman + (cherry picked from commit d4a9dafe442f139562497d746f80ba49faa954e8) + +commit 62dc823fb3b969c0ad52594419e8a86a3ff1e6ef +Author: David Zafman +Date: Mon May 19 18:16:52 2014 -0700 + + ceph_filestore_dump: Fail import/export with a tty for stdin/stdout + + Signed-off-by: David Zafman + (cherry picked from commit 7520e504cf2cdd3de2f236acb2cbf8a5016e6698) + +commit 9816f872ad59bcaa1a125b297f3991b333aad39c +Author: David Zafman +Date: Tue May 20 11:56:20 2014 -0700 + + ceph_filstore_dump: Save if stdout is a tty and add routine to clean binary strings + + Signed-off-by: David Zafman + (cherry picked from commit 3a574cc78b0e3ec6d8dd0c39ee20e7a54ad64056) + +commit d4aedeb833f23bf4ce6187cb82910ab2e71d48e5 +Author: David Zafman +Date: Wed May 14 15:30:11 2014 -0700 + + common: Add missing ghobject_t::decode() for json + + Signed-off-by: David Zafman + (cherry picked from commit c05f895d15a1d0e78ff5e9ae1a83f0a5424103d0) + + Changes: + Adjusted for older shard_t + +commit dadecb1e05e528093642ba356fa7a70a0b546727 +Author: David Zafman +Date: Wed May 14 15:37:17 2014 -0700 + + ceph_filestore_dump: Add --skip-journal-replay and --skip-mount-omap + + Signed-off-by: David Zafman + (cherry picked from commit 2e9dcb256509e7c921556202052f0cc1dcd91398) + +commit c6369987b1e1e55a9d0ab0bc328f61f52fc608d0 +Author: David Zafman +Date: Wed May 14 15:41:15 2014 -0700 + + os: Add optional flags to generic ObjectStore creation (SKIP_JOURNAL_REPLAY + and SKIP_MOUNT_OMAP) + + Only FileStore cares about these flags, so passed on during create() + + Signed-off-by: David Zafman + (cherry picked from commit 3d9fde9d92322cd8ac3e3d8bcbf5b0a01ef0528b) + + Conflicts: + src/os/FileStore.cc + +commit 3381aebb113d14249f6998a86ebf6b4ec6adc42d +Author: David Zafman +Date: Fri May 16 18:20:11 2014 -0700 + + ceph_filestore_dump: Improve debug output by showing actual offset + + Signed-off-by: David Zafman + (cherry picked from commit 44b261d5d1b36528bfbcb37dbd866b615e14be99) + +commit 1164b2e1610028a40cddbed09f9da5649bd2023a +Author: David Zafman +Date: Wed May 14 12:36:37 2014 -0700 + + ceph_filestore_dump: Use cerr now that we aren't closing stderr + + Signed-off-by: David Zafman + (cherry picked from commit 087c0f9d31e0f3d5bae7eac6231978105a71677e) + +commit f224429aa4fcba897be5e438bbb49d1025e2c482 +Author: David Zafman +Date: Wed May 14 12:42:21 2014 -0700 + + common,ceph_filestore_dump: Add ability for utilities to suppress library dout output + + Suppress dout output with CODE_ENVIRONMENT_UTILITY_NODOUT + ceph_filestore_dump turns on dout output if --debug specified + When used it can still be enable with --log-to-stderr --err-to-stderr + + Signed-off-by: David Zafman + (cherry picked from commit f7f9b251fc377651d8da4cbfd1942c3b86f3247e) + +commit 3f4cabdb84e58fcec0c3f508f980881c59fba948 +Author: David Zafman +Date: Tue May 13 18:27:30 2014 -0700 + + ceph_filestore_dump: Export omap in batches for large omap case + + New function get_omap_batch() + Create a TYPE_OMAP section for each batch + + Signed-off-by: David Zafman + (cherry picked from commit 501dd3c05b8983159a289b021943cb828b908f53) + +commit 0b757af5be338b65fd9124ac5158bfe02ad5f899 +Author: David Zafman +Date: Mon May 12 15:50:34 2014 -0700 + + ceph_filestore_dump: Remove unused bufferlist databl + + Signed-off-by: David Zafman + (cherry picked from commit 398b418e2b9f8260bcfacac8bcebea5beffcceca) + +commit 4a742fe29b6d959912a38d132344c695f89dd34f +Author: Danny Al-Gaaf +Date: Wed May 7 14:12:15 2014 +0200 + + ceph_filestore_dump.cc: cleanup includes + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 8620609884243596d35b69c571d2da751e63cf2b) + +commit 420ea03aa3cd52bd035d31ba111c3d6d0745352d +Author: Radoslaw Zarzynski +Date: Thu Jan 29 18:19:16 2015 +0100 + + librados: rectify the guard in RadosClient::wait_for_osdmap(). + + RadosClient::wait_for_osdmap() did not signalize lack of connection + via -ENOTCONN error code when the Objecter instance was allocated. + The proper way is to check the connection state explicitly. + + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 34473f78f101d87d2606e0e7112682a47ff24830) + + Conflicts: + src/librados/RadosClient.cc + the modified guard was not present: add the new guard instead + of modifying it + +commit 1b2667211f90a1b630d2ddffe99b0fb00bb3c07c +Author: Radoslaw Zarzynski +Date: Mon Jan 19 15:07:21 2015 +0100 + + librados: fix resources leakage in RadosClient::connect(). + + If RadosClient::connect was called a second time (which could + happen as a part of recovery from failure), the instances + of Objecter and Messenger allocated by the first call were leaked. + + Additionally, the implementation of the method wrongly reported + memory allocation problems -- it throwed std::bad_alloc exception + instead of returning -ENOMEM error code. + + Fixes: #10425 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 624c056da093c8741242892413438a291c03c7d5) + + Conflicts: + src/librados/RadosClient.cc + resolve adding (std::nothrow) that failed because the + prototype of the constructor is not the same + +commit 4e32ff2b60549742d01b18429810c89f5f707548 +Author: Samuel Just +Date: Fri Dec 5 15:29:52 2014 -0800 + + osd_types: op_queue_age_hist and fs_perf_stat should be in osd_stat_t::operator== + + Fixes: 10259 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit 1ac17c0a662e6079c2c57edde2b4dc947f547f57) + +commit 6e58732f546ec6241b198d2473902d66327cdc36 +Author: Joao Eduardo Luis +Date: Mon Jan 19 18:49:15 2015 +0000 + + mon: PGMonitor: skip zeroed osd stats on get_rule_avail() + + Fixes: #10257 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit b311e7c36273efae39aa2602c1f8bd90d39e5975) + + Conflicts: + src/mon/PGMonitor.cc + ceph::unordered_map changed the context, simple resolution + +commit bcc8cfb24a96a7874a24760771755088a231a8d7 +Author: Joao Eduardo Luis +Date: Fri Jan 16 18:13:05 2015 +0000 + + mon: PGMonitor: available size 0 if no osds on pool's ruleset + + get_rule_avail() may return < 0, which we were using blindly assuming it + would always return an unsigned value. We would end up with weird + values if the ruleset had no osds. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 8be6a6ab2aa5a000a39c73a98b11a0ab32fffa1c) + +commit 894c8ad26fd2da203dcbf8eb0ad5e2af0223d5a9 +Author: Joao Eduardo Luis +Date: Fri Jan 16 18:12:42 2015 +0000 + + mon: PGMonitor: fix division by zero on stats dump + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 50547dc3c00b7556e26b9a44ec68640c5c3a2384) + +commit 1e58bb49b99118d064c1ca92e42cbfb2786fdaff +Author: Loic Dachary +Date: Wed Dec 17 16:06:55 2014 +0100 + + crush: set_choose_tries = 100 for erasure code rulesets + + It is common for people to try to map 9 OSDs out of a 9 OSDs total ceph + cluster. The default tries (50) will frequently lead to bad mappings for + this use case. Changing it to 100 makes no significant CPU performance + difference, as tested manually by running crushtool on one million + mappings. + + http://tracker.ceph.com/issues/10353 Fixes: #10353 + + Signed-off-by: Loic Dachary + (cherry picked from commit 2f87ac807f3cc7ac55d9677d2051645bf5396a62) + + Conflicts: + src/erasure-code/lrc/ErasureCodeLrc.cc + safely ignored because the file does not exist + +commit 27dbbb3c312ea68a96b011ccb12394c75c0fb0f3 +Author: Sage Weil +Date: Thu Feb 12 13:49:50 2015 -0800 + + mon/OSDMonitor: do not trust small values in osd epoch cache + + If the epoch cache says the osd has epoch 100 and the osd is asking for + epoch 200+, do not send it 100+. + + Fixes: #10787 + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit a5759e9b97107488a8508f36adf9ca1aba3fae07) diff --git a/doc/changelog/v0.80.11.txt b/doc/changelog/v0.80.11.txt new file mode 100644 index 00000000..beb1ea96 --- /dev/null +++ b/doc/changelog/v0.80.11.txt @@ -0,0 +1,3184 @@ +commit 8424145d49264624a3b0a204aedb127835161070 (tag: refs/tags/v0.80.11, refs/remotes/gh/firefly) +Author: Jenkins Build Slave User +Date: Tue Nov 17 18:57:48 2015 +0000 + + 0.80.11 + +commit 2a14d16712fbe2ee9d7d2aef389e18fcb2809a47 +Merge: c551622 a06179a +Author: Yuri Weinstein +Date: Mon Nov 2 14:34:28 2015 -0800 + + Merge pull request #6451 from jcsp/wip-firefly-urls + + qa: http://ceph.com/qa -> http://download.ceph.com/qa + +commit a06179acb268b073fcf67fbbf19152c1a5a275af +Author: Sage Weil +Date: Thu Sep 24 18:10:46 2015 -0400 + + qa: http://ceph.com/qa -> http://download.ceph.com/qa + + Signed-off-by: Sage Weil + (cherry picked from commit d4d65fbd6ad15320339751c604613ac63511e645) + +commit c551622ca21fe044bc1083614c45d888a2a34aeb +Merge: 241edfa bff2f47 +Author: Loic Dachary +Date: Fri Oct 23 21:47:27 2015 +0200 + + Merge pull request #5823 from SUSE/wip-11700-firefly + + make the all osd/filestore thread pool suicide timeouts separately configurable + + Reviewed-by: Samuel Just + +commit 241edfabf6a6c767afc1e283dd7387377ece36c7 +Merge: 07e90f5 f39c791 +Author: Loic Dachary +Date: Fri Oct 23 21:01:54 2015 +0200 + + Merge pull request #5815 from SUSE/wip-12838-firefly + + Mutex Assert from PipeConnection::try_get_pipe + + Reviewed-by: David Zafman + Reviewed-by: Samuel Just + +commit 07e90f54318c0a6202add4de16f965c6e331d513 +Merge: eaf7dc3 d0d6727 +Author: Loic Dachary +Date: Thu Oct 22 18:19:39 2015 +0200 + + Merge pull request #5529 from SUSE/wip-12586-firefly + + FileStore calls syncfs(2) even it is not supported + + Reviewed-by: Kefu Chai + +commit eaf7dc343eb78f09d9a4b1815f6bd6ceb4217ad7 +Merge: a960327 98769f7 +Author: Yehuda Sadeh +Date: Thu Oct 22 07:44:12 2015 -0700 + + Merge pull request #5532 from SUSE/wip-12635-firefly + + swift smoke test fails on TestAccountUTF8 + +commit a96032738ba1e1cc35f21607eba06e7e241abd97 +Merge: 15f3628 86f9e55 +Author: Yehuda Sadeh +Date: Thu Oct 22 07:33:02 2015 -0700 + + Merge pull request #5997 from SUSE/wip-13178-firefly + + rgw: content length parsing calls strtol() instead of strtoll() + +commit 15f362808b7100a5bade24cc78e718b04d391b54 +Merge: e010899 ebba1d5 +Author: Loic Dachary +Date: Thu Oct 22 10:45:48 2015 +0200 + + Merge pull request #5526 from SUSE/wip-12584-firefly + + OSD crash creating/deleting pools + + Reviewed-by: Samuel Just + +commit e010899ac9cd4060c09f0f1c754f0840b5149f6b +Merge: 24ffe4c 8c02376 +Author: Loic Dachary +Date: Thu Oct 22 10:43:29 2015 +0200 + + Merge pull request #5287 from SUSE/wip-12389-firefly + + PGLog::proc_replica_log: correctly handle case where entries between olog.head and log.tail were split out + + Reviewed-by: Sage Weil + Reviewed-by: Samuel Just + +commit 24ffe4c5156843ce69cae30087fb767063fd489a +Merge: f48450b c155df2 +Author: Loic Dachary +Date: Wed Oct 21 10:03:13 2015 +0200 + + Merge pull request #6328 from dachary/wip-13551-firefly + + qemu workunit refers to apt-mirror.front.sepia.ceph.com + + Reviewed-by: Loic Dachary + +commit c155df217287b980e176c3c98ee49753d6378740 +Author: Yuan Zhou +Date: Fri Jun 19 00:02:20 2015 +0800 + + qa: Use public qemu repo + + This would allow some external tests outside of sepia lab + + Signed-off-by: Yuan Zhou + (cherry picked from commit 4731c1e35539c9506ff3fe3141553fad099d0eee) + +commit d9ae7d80850b9ea4a84549c3afb4603cf9585b6a +Author: Sage Weil +Date: Thu Apr 16 08:29:41 2015 -0700 + + use git://git.ceph.com + + Signed-off-by: Sage Weil + (cherry picked from commit 34c467ba06345eacd2fd0e79c162dfd0b22f0486) + + Conflicts: + qa/run_xfstests-obsolete.sh : does not exist in firefly + qa/workunits/suites/fsx.sh : trivial resolution + +commit f48450bdc70eef7cef8f76bc30f678a6d8d52b78 +Merge: f275ad2 b894b36 +Author: Loic Dachary +Date: Wed Oct 21 01:02:08 2015 +0200 + + Merge pull request #5822 from SUSE/wip-12837-firefly + + WBThrottle::clear_object: signal on cond when we reduce throttle values + + Reviewed-by: David Zafman + +commit f275ad21a48cc4f2812f3ab9e3e9b8b05469c3c7 +Merge: 143e267 81bb6dd +Author: Loic Dachary +Date: Tue Oct 20 21:48:39 2015 +0200 + + Merge pull request #6325 from dachary/wip-13041-firefly + + common/Thread:pthread_attr_destroy(thread_attr) when done with it + + Reviewed-by: Loic Dachary + +commit 143e267a30ef7aac04fdfa530babab529cf30c1a +Merge: 725401e 6d396a3 +Author: Loic Dachary +Date: Tue Oct 20 21:46:28 2015 +0200 + + Merge pull request #6091 from SUSE/wip-13252-firefly + + mon: does not check for IO errors on every transaction + + Reviewed-by: Sage Weil + +commit 725401e05d0fbe41d93b200fe39d73d9dddae80c +Merge: 8fd4dd7 c85d063 +Author: Loic Dachary +Date: Tue Oct 20 21:45:19 2015 +0200 + + Merge pull request #6087 from SUSE/wip-13244-firefly + + client nonce collision due to unshared pid namespaces + + Reviewed-by: Josh Durgin + +commit 8fd4dd7480148c664d2c99956a7c987b8707c3c3 +Merge: 77a1b5f 6d82eb1 +Author: Loic Dachary +Date: Tue Oct 20 21:44:32 2015 +0200 + + Merge pull request #6010 from liewegas/wip-globalid-firefly + + increase globalid default for firefly + + Reviewed-by: Kefu Chai + +commit 77a1b5f1292d8410a1c29cebb0da449b09a230d3 +Merge: a3823fe 8c14cad +Author: Loic Dachary +Date: Tue Oct 20 21:43:33 2015 +0200 + + Merge pull request #5991 from SUSE/wip-13043-firefly + + ThreadPool add/remove work queue methods not thread safe + + Reviewed-by: Josh Durgin + +commit a3823fe76171479e4c8f071f6e8eee3f13a02441 +Merge: e771054 48c929e +Author: Loic Dachary +Date: Tue Oct 20 21:42:28 2015 +0200 + + Merge pull request #5988 from SUSE/wip-13038-firefly + + PG::handle_advance_map: on_pool_change after handling the map change + + Reviewed-by: Sage Weil + +commit e771054241fcba536a478f1d014feb20a434fa3f +Merge: e43d049 cd1396c +Author: Loic Dachary +Date: Tue Oct 20 21:41:19 2015 +0200 + + Merge pull request #5820 from SUSE/wip-12845-firefly + + osd/PGLog.cc: 732: FAILED assert(log.log.size() == log_keys_debug.size()) + + Reviewed-by: Sage Weil + +commit e43d0492a415be5a0feb361efbfbdda6e00a6234 +Merge: 11ed9f9 2c2ffa1 +Author: Loic Dachary +Date: Tue Oct 20 21:40:28 2015 +0200 + + Merge pull request #5814 from SUSE/wip-12840-firefly + + recursive lock of md_config_t (0) + + Reviewed-by: Sage Weil + +commit 11ed9f9b263a1d3a8df7996d5644f0f6de7a9b1a +Merge: aead425 2c0d7fe +Author: Loic Dachary +Date: Tue Oct 20 21:39:32 2015 +0200 + + Merge pull request #5813 from SUSE/wip-12822-firefly + + ceph-fuse crash in test_client_recovery + + Reviewed-by: Loic Dachary + +commit aead4255528e60a2ccc6f4d47a6cb482bfdccc82 +Merge: 1c65d09 d3c9469 +Author: Loic Dachary +Date: Tue Oct 20 21:37:58 2015 +0200 + + Merge pull request #5726 from ceph/wip-12752 + + is_new_interval() fixes + + Reviewed-by: Sage Weil + +commit 1c65d09ef8de2732cfa6f18d22de2c7b3fac0f0f +Merge: 1f0f4bb 411769c +Author: Loic Dachary +Date: Tue Oct 20 21:37:01 2015 +0200 + + Merge pull request #5698 from tchaikov/wip-12638-firefly + + mon: add a cache layer over MonitorDBStore + + Reviewed-by: Loic Dachary + +commit 1f0f4bb5347cb935095dd374d6dcdec44ff175e2 +Merge: 4a1e54f 278d732 +Author: Loic Dachary +Date: Tue Oct 20 21:35:56 2015 +0200 + + Merge pull request #5619 from liewegas/wip-journal-firefly + + os/FileJournal: Fix journal write fail, align for direct io + + Reviewed-by: Loic Dachary + Reviewed-by: Nathan Cutler + +commit 4a1e54fc88e43885c57049d1ad4c5641621b6c29 +Merge: f272435 de53add +Author: Loic Dachary +Date: Tue Oct 20 21:31:52 2015 +0200 + + Merge pull request #5360 from ceph/wip-11786.firefly + + mon: MonitorDBStore: get_next_key() only if prefix matches + + Reviewed-by: Loic Dachary + +commit f272435c1303327e7dae248179387d12e28ea6bc +Merge: 21452ed e7d08b1 +Author: Loic Dachary +Date: Tue Oct 20 21:30:04 2015 +0200 + + Merge pull request #5236 from SUSE/wip-12312-firefly + + mon: adding exsting pool as tier with --force-nonempty clobbers removed_snaps + + Reviewed-by: Loic Dachary + +commit 21452ed93b707984d5301a51040ba8c311678c9c +Merge: 14c8528 971eb3f +Author: Loic Dachary +Date: Tue Oct 20 21:28:31 2015 +0200 + + Merge pull request #5050 from SUSE/wip-12015-firefly + + LibRadosTwoPools[EC]PP.PromoteSnap failure + + Reviewed-by: Sage Weil + +commit 14c85282399aca29a31566e0f068376b10cb95e6 +Merge: b6d5768 7a8b6fb +Author: Loic Dachary +Date: Tue Oct 20 13:09:38 2015 +0200 + + Merge pull request #6207 from SUSE/wip-13417-firefly + + Fix -Wno-format and -Werror=format-security options clash + + Reviewed-by: Loic Dachary + +commit b6d57686e1f482bf510e6c6c0ae56cff575f3eca +Merge: fca8a17 415335d +Author: Loic Dachary +Date: Tue Oct 20 13:08:01 2015 +0200 + + Merge pull request #6203 from SUSE/wip-13413-firefly + + fedora21 has junit, not junit4 + + Reviewed-by: Loic Dachary + +commit fca8a17bbb91ce5b3cb0c6a282cded03fe37956f +Merge: 6240b61 20ad17d +Author: Loic Dachary +Date: Tue Oct 20 13:06:14 2015 +0200 + + Merge pull request #5992 from SUSE/wip-13168-firefly + + upstart: configuration is too generous on restarts + + Reviewed-by: Loic Dachary + +commit 6240b61fc48e4f7b306ec18eca51f40081b5160d +Merge: d2459d8 04b2a87 +Author: Loic Dachary +Date: Tue Oct 20 13:04:40 2015 +0200 + + Merge pull request #5541 from dachary/wip-12418-firefly + + ceph-disk: sometimes the journal symlink is not created + + Reviewed-by: Loic Dachary + +commit d2459d8b9c189e557f81bb7d10dd17cc53cf9af1 +Merge: 3e0e3c5 644f213 +Author: Loic Dachary +Date: Tue Oct 20 12:36:01 2015 +0200 + + Merge pull request #5729 from ceph/wip-11455-firefly + + rgw: init some manifest fields when handling explicit objs + + Reviewed-by: Loic Dachary + +commit 3e0e3c518bf68e9d0ad7a79d804602634b9c6466 +Merge: e44a777 e7931a7 +Author: Loic Dachary +Date: Tue Oct 20 12:35:22 2015 +0200 + + Merge pull request #5730 from ceph/wip-12537-firefly + + RGW returns requested bucket name raw in "Bucket" response header + + Reviewed-by: Loic Dachary + +commit e44a7775fb34ccdf7ff36e5e56aba9a309521be1 +Merge: 028da25 3be204f +Author: Loic Dachary +Date: Tue Oct 20 12:34:01 2015 +0200 + + Merge pull request #5831 from gnuoy/wip-11140-firefly + + /etc/init.d/radosgw restart does not work correctly + + Reviewed-by: Loic Dachary + +commit 81bb6dd7de8a191c11c16b3cdc07355ef3434435 +Author: zqkkqz +Date: Fri Aug 7 10:49:45 2015 +0800 + + Common/Thread: pthread_attr_destroy(thread_attr) when done with it + When a thread attributes object is no longer required, it should be destroyed using the + pthread_attr_destroy() function. Destroying a thread attributes object has no effect on threads that were created using that object. + + Fixes: #12570 + Signed-off-by: zqkqkz zheng.qiankun@h3c.com + (cherry picked from commit 9471bb838a420ef5f439191d87e5388fecccb9e6) + +commit 77d6426a8323db91a60f246f385826c35f31521c +Author: Piotr Dałek +Date: Fri Jul 17 12:43:52 2015 +0200 + + Thread.cc: remove malloc/free pair + + There's no need for mallocing pthread_attr_t in Thread::try_create(), + it can be located on stack as it is freed in same function. This reduces + pressure put on memory manager. + + Signed-off-by: Piotr Dałek + (cherry picked from commit 614ac0f4e375f3dd008c8937d3f89f6005d6e0a0) + +commit 7a8b6fb4c7b80c33dd3565fc4140d45fe70f0438 +Author: Boris Ranto +Date: Fri Aug 15 19:34:27 2014 +0200 + + Fix -Wno-format and -Werror=format-security options clash + + This causes build failure in latest fedora builds, ceph_test_librbd_fsx adds -Wno-format cflag but the default AM_CFLAGS already contain -Werror=format-security, in previous releases, this was tolerated but in the latest fedora rawhide it no longer is, ceph_test_librbd_fsx builds fine without -Wno-format on x86_64 so there is likely no need for the flag anymore + + Signed-off-by: Boris Ranto + Reviewed-by: Sage Weil + (cherry picked from commit 7df67a544f6401fd31157b6e2a6ca590d87d7cbc) + + Conflicts: + src/test/Makefile.am + +commit 415335df53bf0d6b42f745b038c1c0c9c4aaa810 +Author: Loic Dachary +Date: Tue Feb 3 16:14:23 2015 +0100 + + ceph.spec.in: junit always except for EPEL 6 + + The package was renamed a long time ago (around the Fedora 15 + timeframe). The "junit4" name is only relevant for EPEL 6. For EPEL 7 + and Fedora 20, the "junit" package has "Provides: junit4". And most + recently, in the junit package that ships in Fedora 21 and 22, the + package maintainer dropped the old Provides: line. + + http://tracker.ceph.com/issues/10728 Fixes: #10728 + + Signed-off-by: Ken Dreyer + Signed-off-by: Loic Dachary + (cherry picked from commit 4f36eaee9ea71ed48018ccb2d7eac3e809c72d82) + +commit 98769f7ccf97d6a0c98438f1eab7a5705fb9920b +Author: Robin H. Johnson +Date: Fri Sep 4 01:07:48 2015 +0000 + + Fix casing of Content-Type header + + It turns out, despite the HTTP spec declaring that header field names + should be case-insensitive, some clients treat them wrongly, and + consider "Content-type" to not match "Content-Type". + + CyberDuck was one of those clients, now fixed upstream in + https://trac.cyberduck.io/ticket/8999 + + To reduce future occurances of this bug, fix the casing of the + Content-Type header, to strictly comply with the HTTP specification (be + strict about what you send, and generous about what you receive). + + Fixes: #12939 + Backport: hammer, firefly + Signed-off-by: Robin H. Johnson + (cherry picked from commit 1b9fbffdc24160251b96cec820d62fb2a12b6eab) + +commit ccf268502b0592f5ff58cd1a5920ec02a117acfb +Author: Orit Wasserman +Date: Thu Aug 13 15:02:03 2015 +0200 + + rgw: we should not overide Swift sent content type + + Fixes: #12363 + backport: hammer + + Signed-off-by: Orit Wasserman + (cherry picked from commit 423cf136f15df3099c9266f55932542d303c2713) + +commit 6829ee29a484a3b7055122addcda06a233d3ce53 +Author: Radoslaw Zarzynski +Date: Thu Jun 25 18:28:50 2015 +0200 + + rgw: send Content-Length in response for GET on Swift account. + + Fixes: #12158 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 5f47b11791cd46ce2771046e4888575869cc9685) + + Conflicts: + src/rgw/rgw_rest_swift.cc + omit dump_account_metadata() call + +commit c9226afd7b9e54a8998bf88dfbd6753b262fdf9d +Author: Radoslaw Zarzynski +Date: Tue Jun 23 11:54:09 2015 +0200 + + rgw: enforce Content-Type in Swift responses. + + Swift sends Content-Type HTTP header even if the response + doesn't contain body. We have this behaviour implemented + until applying some changes in end_header() function. + Unfortunately, lack of Content-Type causes early exits in + many Tempest's tests for Swift API verification. + + Fixes: #12157 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 106aeba206736d4080326f9bc191876bed63370b) + +commit 9139fbbc1ab3ae455d2e36b3a768601ccb216801 +Author: Orit Wasserman +Date: Mon Jun 22 13:51:49 2015 +0200 + + rgw: force content_type for swift bucket stats request + + Fixes: 12095 + + Signed-off-by: Orit Wasserman + (cherry picked from commit da259e4da1329e1e448d75c48c6ee3d1318e19b2) + +commit 767f1f74c9f015d6bb3376266ec77a10a2d2c59a +Author: Orit Wasserman +Date: Tue Apr 21 12:31:19 2015 +0200 + + rgw: force content-type header for swift account responses without body + + This regression was introduced in commit 4cfeca03ade21861ab70ca759f94eb244c16cb39 + + Fixes: #11438 + + Signed-off-by: Orit Wasserman + (cherry picked from commit 009664e560ee37ef6dc170a0155d6c749e151b06) + +commit e3da03dd6be04e782c3e5786767bba4b4964fbec +Author: Orit Wasserman +Date: Thu Apr 9 20:04:59 2015 +0200 + + rgw: shouldn't return content-type: application/xml if content length is 0 + + Fixed: #11091 + + Signed-off-by: Orit Wasserman + (cherry picked from commit 5cc92bb27cfbaee4af24dc312c9b98331f899794) + +commit e7d08b1bca951f9a963eb0aeb4cd88abbe5723ba +Author: Samuel Just +Date: Fri May 8 10:26:48 2015 -0700 + + test/librados/tier.cc: destroy and recreate cache pool on every test + + Namespaces are not sufficient with the checks for 11493 in the mon. + + Signed-off-by: Samuel Just + (cherry picked from commit bef09e0cdb274cb1c87335a2af9ee532d14a4596) + +commit d7f53442260dcfc92e7afa8bba2dd116c15e030d +Author: Sage Weil +Date: Wed Apr 29 12:34:25 2015 -0700 + + mon: prevent pool with snapshot state from being used as a tier + + If we add a pool with snap state as a tier the snap state gets clobbered + by OSDMap::Incremental::propogate_snaps_to_tiers(), and may prevent OSDs + from starting. Disallow this. + + Include a test. + + Fixes: #11493 + Backport: hammer, giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit bbec53edf9e585af4e20bbc9ba9057d6fdfda342) + + Conflicts: + qa/workunits/cephtool/test.sh + properly co-exist with "# make sure we can't create an ec pool tier" + src/mon/OSDMonitor.cc + properly co-exist with preceding "if (tp->ec_pool())" + (The changes to both files would have applied cleanly if + https://github.com/ceph/ceph/pull/5389 had not been merged first.) + +commit 028da252d85733fcc7d8495750b9ae97043cb0dd +Merge: ecabc67 f71a6eb +Author: Loic Dachary +Date: Sat Oct 3 09:40:33 2015 +0200 + + Merge pull request #5993 from SUSE/wip-13169-firefly + + update docs to point to download.ceph.com + + Reviewed-by: Ken Dreyer + +commit 971eb3f6dddb509d15e5e4bcfd5e34d42ae2e75b +Author: Sage Weil +Date: Thu Nov 13 22:33:10 2014 -0800 + + ceph_test_rados_api_tier: fix cleanup of whiteouts + + Doing a normal DELETE on a whiteout returns ENOENT. Use the IGNORE_CACHE + flag to make sure it removes the whiteout, too. + + Fixes: #10052 + Signed-off-by: Sage Weil + (cherry picked from commit 8dde6a61921798aa188bd69406c8fa7afeb96b45) + + Conflicts: + src/test/librados/TestCase.cc + for it of type ObjectIterator: + - use it->first instead of it->get_oid() + - use it->second instead of it->get_locator() + +commit b134a629863b4601892db03d7c4377040d556bdd +Author: Sage Weil +Date: Thu Nov 13 22:32:20 2014 -0800 + + osd/ReplicatedPG: allow whiteout deletion with IGNORE_CACHE flag + + If the client specifies IGNORE_CACHE, allow a regular DELETE to zap a + whiteout. Expand test case to verify this works. + + Signed-off-by: Sage Weil + (cherry picked from commit 34e4d24) + + Conflicts: + src/test/librados/tier.cc + replaced NObjectIterator -> ObjectIterator + replaced cache_ioctx.nobjects_begin -> cache_ioctx.objects_begin + replaced cache_ioctx.nobjects_end -> cache_ioctx.objects_end + replace it->get_oid() with it->first for it of type ObjectIterator + +commit 6d396a322e5ad61a3ca262b1c78a670481ff740c +Author: Sage Weil +Date: Wed Sep 23 10:58:01 2015 -0400 + + mon/Elector: do a trivial write on every election cycle + + Currently we already do a small write when the *first* election in + a round happens (to update the election epoch). If the backend + happens to fail while we are already in the midst of elections, + however, we may continue to call elections without verifying we + are still writeable. + + Signed-off-by: Sage Weil + (cherry picked from commit ef909ccbdc303cce8a39edef255325127832ff16) + + Conflicts: + src/mon/Elector.cc + no MonitorDBStore::TransactionRef in firefly + +commit d2bfa19077422eea37205fee9ed6fd5f2692f222 +Author: Sage Weil +Date: Wed Sep 23 10:58:13 2015 -0400 + + mon/MonitorDBStore: assert/crash if there is a write error + + Do this globally intead of relying on teh zillion mon callers to + check the error code. There are no cases where we want to + tolerate a commit failure. + + Fixes: #13089 + Signed-off-by: Sage Weil + (cherry picked from commit 2fb7b1f0e33ada7c9a1be3de2f7708eb0760fcef) + +commit c85d06384e795ab2717868ce45f01ae93181a6be +Author: Josh Durgin +Date: Mon Sep 21 15:46:42 2015 -0700 + + use simplifed messenger constructor for clients + + This is all mechanical except the calculation of the nonce, which is + now always randomized for clients. + + Fixes: #13032 + Signed-off-by: Josh Durgin + (cherry picked from commit a3a8c85b79afef67681c32c57b591c0e0a87a349) + + Conflicts: + src/ceph_fuse.cc + src/ceph_syn.cc + src/libcephfs.cc + src/librados/RadosClient.cc + src/mds/MDSUtility.cc + src/mon/MonClient.cc + src/test/mon/test_mon_workloadgen.cc + - different arguments to Messenger::create() in firefly + +commit ef24b4ec7245959b1960a415617439bc3baac9a3 +Author: Sage Weil +Date: Mon Oct 6 21:20:08 2014 -0700 + + librados: use Messenger factory method + + Signed-off-by: Sage Weil + (cherry picked from commit 5a860bec48348ed4c09256ccd394b33ace6b4f52) + +commit 3a52acde3133aab2a717fefa967b0d404e50e2d8 +Author: Sage Weil +Date: Mon Oct 6 08:50:48 2014 -0700 + + mon/MonClient: use generic Messenger factory + + Signed-off-by: Sage Weil + (cherry picked from commit e55cb1f68ae1a04cc5d281bea57ee79ef4a8af38) + +commit de8da652b6c969aa0446f0d3351f63b012063c71 +Author: Josh Durgin +Date: Mon Sep 21 15:20:53 2015 -0700 + + msg: add simplified messenger constructor + + Several callers create messengers using exactly the same parameters: + + - reading the ms type from cct that is also passed in + - a default entity_name_t::CLIENT + - the default features + + Additionally, the nonce should be randomized and not depend on + e.g. pid, as it does in several callers now. Clients running in + containers can easily have pid collisions, leading to hangs, so + randomize the nonce in this simplified constructor rather than + duplicating that logic in every caller. + + Daemons have meaningful entity_name_ts, and monitors currently depend + on using 0 as a nonce, so make this simple constructer + client-specific. + + Related: #13032 + Signed-off-by: Josh Durgin + (cherry picked from commit e3785b0b5fbff870adbd5f121021b671912386cf) + + Conflicts: + src/msg/Messenger.cc + - different #includes in firefly + - different Messenger::create() arguments in firefly + +commit ecabc6796f19c03947bb5b14da4e1b761ff8847f +Merge: 741dd5b 2e09a2c +Author: Sage Weil +Date: Wed Sep 23 17:09:18 2015 -0400 + + Merge pull request #6038 from liewegas/wip-13088 + + common/HeartBeat: include types + + Reviewed-by: Kefu Chai + +commit 2e09a2c22ab885f8ec81dbc55f2c8fc0f2984543 +Author: Sage Weil +Date: Wed Sep 23 17:06:52 2015 -0400 + + common/RWLock: include assert + + Fixes atomic_t build issue without libatomic-ops. + + Fixes: #13088 + Signed-off-by: Sage Weil + +commit 741dd5b9433d1592ce91aea70ebec106a1354973 +Author: Sage Weil +Date: Tue Sep 22 13:03:49 2015 -0400 + + .gitmodules: fix ceph-object-corpus source url + + Fixes: #13196 + Signed-off-by: Sage Weil + +commit a1997879aa26299519ed157017f8f5715c626dcc +Merge: ee81812 01dc221 +Author: Sage Weil +Date: Tue Sep 22 12:29:08 2015 -0400 + + Merge pull request #6000 from SUSE/wip-12097-firefly + + kernel_untar_build fails on EL7 + +commit ee8181206726712729235e4a5f8d2094a6e72f71 +Merge: bb8b422 4e7de5b +Author: Yehuda Sadeh +Date: Mon Sep 21 13:07:49 2015 -0700 + + Merge pull request #5234 from SUSE/wip-12244-firefly + + Civetweb RGW appears to report full size of object as downloaded when only partially downloaded + +commit bb8b422beac22bd8c2e9c1ecd83e265a3de1a3e6 +Merge: 4b08895 f602263 +Author: Yehuda Sadeh +Date: Mon Sep 21 12:35:52 2015 -0700 + + Merge pull request #4535 from xinxinsh/wip-11416-firefly + + rgw: use correct objv_tracker for bucket instance + +commit 6d82eb165fdc91851f702a463022b26c50f5094b (refs/remotes/me/wip-globalid-firefly) +Author: Sage Weil +Date: Sun Jan 18 16:49:20 2015 -0800 + + mon: handle case where mon_globalid_prealloc > max_global_id + + This triggers with the new larger mon_globalid_prealloc value. It didn't + trigger on the existing cluster I tested on because it already had a very + large max. + + Signed-off-by: Sage Weil + (cherry picked from commit bbaf582e5bb54ae35327ffd234e4ccf0f07317db) + +commit f545a0f430bf6f1e26983fc0ff20a645697f017c +Author: Sage Weil +Date: Sun Jan 18 10:39:25 2015 -0800 + + mon: change mon_globalid_prealloc to 10000 (from 100) + + 100 ids (session 100 authentications) can be consumed quite quickly if + the monitor is being queried by the CLI via scripts or on a large cluster, + especially if the propose interval is long (many seconds). These live in + a 64-bit value and are only "lost" if we have a mon election before they + are consumed, so there's no real risk here. + + Backport: giant, firefly + Reviewed-by: Joao Eduardo Luis + Signed-off-by: Sage Weil + (cherry picked from commit 1d1215fe5f95c2bafee5b670cdae1353104636a0) + +commit 01dc221f280ad25aa556f246414e3c3c42762956 +Author: Greg Farnum +Date: Tue Jun 16 08:13:41 2015 -0700 + + qa: update to newer Linux tarball + + This should make newer gcc releases happier in their default configuration. + kernel.org is now distributing tarballs as .xz files so we change to that + as well when decompressing (it is supported by Ubuntu Precise so we should + be all good). + + Fixes: #11758 + + Signed-off-by: Greg Farnum + (cherry picked from commit 1ea3f47ab806d48ca7b045c2731d344eae3900e1) + + Conflicts: + qa/workunits/kernel_untar_build.sh + trivial resolution + +commit 86f9e55f0c151c0b9a289b475f87b6a11329e6e1 +Author: Yehuda Sadeh +Date: Fri Jan 30 10:51:52 2015 -0800 + + rgw: use strict_strtoll() for content length + + instead of strict_strtol(). + + Backport: giant, firefly + Fixes: #10701 + + Reported-by: Axel Dunkel + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 1c25dbafb45caf1b261cfcec15b868a2ba6b5fef) + +commit f71a6ebf1b371f9389865a0a33652841726ff77b +Author: Alfredo Deza +Date: Fri Sep 18 14:13:02 2015 -0400 + + doc: correct links to download.ceph.com + + Signed-off-by: Alfredo Deza + (cherry picked from commit 387d7800359154950431d0984c756f43f21dd9b4) + + Conflicts: + doc/install/get-packages.rst + preferred the new version in all cases + +commit 20ad17d271fb443f6c40591e205e880b5014a4f3 +Author: Sage Weil +Date: Wed Jun 3 14:57:34 2015 -0400 + + upstart: limit respawn to 3 in 30 mins (instead of 5 in 30s) + + It may take tens of seconds to restart each time, so 5 in 30s does not stop + the crash on startup respawn loop in many cases. In particular, we'd like + to catch the case where the internal heartbeats fail. + + This should be enough for all but the most sluggish of OSDs and capture + many cases of failure shortly after startup. + + Fixes: #11798 + Signed-off-by: Sage Weil + (cherry picked from commit eaff6cb24ef052c54dfa2131811758e335f19939) + +commit 8c14cad0895590f19a6640c945b52213f30a9671 +Author: Jason Dillaman +Date: Mon Aug 10 19:10:19 2015 -0400 + + WorkQueue: add/remove_work_queue methods now thread safe + + These methods were not acquiring the ThreadPool lock when + manipulating the work_queue collection. This was causing + occasional crashes within librbd when opening and closing + images. + + Fixes: #12662 + Backport: hammer, firefly + Signed-off-by: Jason Dillaman + (cherry picked from commit 3e18449b01c1ab78d1bbfc1cf111aa9bdbef7b1f) + +commit 48c929e689b0fa5138922fcb959be5d05296e59a +Author: Samuel Just +Date: Thu Aug 27 11:08:33 2015 -0700 + + PG::handle_advance_map: on_pool_change after handling the map change + + Otherwise, the is_active() checks in the hitset code can erroneously + return true firing off repops stamped with the new epoch which then get + cleared in the map change code. The filestore callbacks then pass the + interval check and call into a destroyed repop structure. + + Fixes: 12809 + Backport: hammer,firefly + Signed-off-by: Samuel Just + (cherry picked from commit 14e02bc90a463805f4c3e2de210892067a52514b) + +commit 4b0889567d7fe28ef6976f8dbb0d329b03200986 +Merge: 0a740d7 5426421 +Author: Nathan Cutler +Date: Thu Sep 10 11:46:41 2015 +0200 + + Merge pull request #5200 from SUSE/wip-12289-firefly + + mon: scrub error (osdmap encoding mismatch?) upgrading from 0.80 to ~0.80.2 + + Reviewed-by: Kefu Chai + +commit de53addac8234037a66cdd45cf8007deba7a0530 (refs/remotes/gh/wip-11786.firefly) +Author: Joao Eduardo Luis +Date: Mon Sep 7 14:12:19 2015 +0100 + + mon: MonitorDBStore: make get_next_key() work properly + + We introduced a significant bug with 2cc7aee, when we fixed issue #11786. + Although that patch would fix the problem described in #11786, we + managed to not increment the iterator upon returning the current key. + This would have the iterator iterating over the same key, forever and + ever. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 70d31082fd3dc8c7857994104577f1a3631c678c) + +commit 0a740d7b2b62e55056fb96d6423203c47e0f3cf6 +Merge: aeea956 37d16a9 +Author: Nathan Cutler +Date: Wed Sep 9 15:45:37 2015 +0200 + + Merge pull request #5388 from SUSE/wip-12490-firefly + + buffer: critical bufferlist::zero bug + + Reviewed-by: Gregory Farnum + +commit aeea9567e8b047b3a67badfcc4e43c880f0efa46 +Merge: 973b74d 6b42b06 +Author: Nathan Cutler +Date: Wed Sep 9 06:10:09 2015 +0200 + + Merge pull request #5408 from SUSE/wip-12492-firefly + + the output is wrong when runing ceph osd reweight + + Reviewed-by: Kefu Chai + +commit 973b74d5b266f4e9e7f992a85b22f42c9fb543b1 +Merge: 79403ba 5445461 +Author: Nathan Cutler +Date: Wed Sep 9 06:07:51 2015 +0200 + + Merge pull request #5404 from SUSE/wip-12395-firefly + + register_new_pgs() should check ruleno instead of its index + + Reviewed-by: Kefu Chai + +commit 79403ba8ce526d65521e6cd2ca2bc06f5fe261b9 +Merge: db44bb2 dc12875 +Author: Nathan Cutler +Date: Wed Sep 9 06:05:39 2015 +0200 + + Merge pull request #5199 from SUSE/wip-11980-firefly + + MDSMonitor: handle MDSBeacon messages properly + + Reviewed-by: Kefu Chai + +commit db44bb29b8b036642c50f5d322b5edd9d51699bb +Merge: fc699f4 31ff7d1 +Author: Nathan Cutler +Date: Wed Sep 9 06:04:15 2015 +0200 + + Merge pull request #5410 from SUSE/wip-12497-firefly + + get pools health'info have error + + Reviewed-by: Kefu Chai + +commit fc699f42459ab3723f3e63b28a4aa5f481c78fc4 +Merge: 6762295 ea0d67c +Author: Nathan Cutler +Date: Wed Sep 9 06:01:50 2015 +0200 + + Merge pull request #5409 from SUSE/wip-12495-firefly + + pgmonitor: wrong at/near target max“ reporting + + Reviewed-by: Kefu Chai + +commit 67622955b1cfd0b97ac8d3d96b223995440af0b1 +Merge: c4fa5ef 2f35a41 +Author: Nathan Cutler +Date: Mon Sep 7 14:22:52 2015 +0200 + + Merge pull request #5358 from ceph/wip-11470.firefly + + mon: PaxosService: call post_refresh() instead of post_paxos_update() + + Reviewed-by: Joao Eduardo Luis + +commit 3be204f6a22be109d2aa8cfd5cee09ec3381d9b2 +Author: Dmitry Yatsushkevich +Date: Tue Mar 17 15:44:52 2015 -0700 + + rgw: init script waits until the radosgw stops + + Fixes: #11140 + Init script waits in stop action until the radowgw daemons stop. + + Signed-off-by: Dmitry Yatsushkevich + (cherry picked from commit 1cca0c1e91a1e18f82f4d22855e96b2fc947f5ea) + +commit c4fa5ef989247404ded7adf5dad4e5316b8af04a +Merge: beff99b c6f3780 +Author: Nathan Cutler +Date: Mon Sep 7 10:20:27 2015 +0200 + + Merge pull request #5403 from SUSE/wip-12393-firefly + + Memory leak in Mutex.cc, pthread_mutexattr_init without pthread_mutexattr_destroy + + Reviewed-by: Kefu Chai + Reviewed-by: Nathan Cutler + +commit beff99bc7358ee0625079ca60adbf109986f2285 +Merge: 4a3c178 68508e2 +Author: Nathan Cutler +Date: Sun Sep 6 21:19:55 2015 +0200 + + Merge pull request #5225 from SUSE/wip-12266-firefly + + ceph.spec.in: 50-rbd.rules conditional is wrong + + Reviewed-by: Loic Dachary + +commit 4a3c17834890b69e0467b65f83b1979328f3d27c +Merge: 6571cd9 2544a6f +Author: Nathan Cutler +Date: Sun Sep 6 21:19:42 2015 +0200 + + Merge pull request #5217 from SUSE/wip-12268-firefly + + ceph-common needs python-argparse on older distros, but doesn't require it + + Reviewed-by: Loic Dachary + +commit bff2f477c4ad86b4bd6e3ca3e637a6168c5c8053 +Author: Nathan Cutler +Date: Sun Sep 6 16:30:35 2015 +0200 + + OSD: add scrub_finalize_wq suicide timeout + + Signed-off-by: Nathan Cutler + +commit 91d4c217e32b8b76fcac49f37879a3f78088694d +Author: Samuel Just +Date: Wed May 6 10:52:40 2015 -0700 + + OSD: add scrub_wq suicide timeout + + Signed-off-by: Samuel Just + (cherry picked from commit 547a7041edc833f3cc8e04d388574809e30a8af6) + + Conflicts: + src/osd/OSD.cc + firefly still has scrub_finalize_wq + +commit 7f6ec65b7c2ca0174142c1c48f18998d8c586b02 +Author: Samuel Just +Date: Wed May 6 11:02:19 2015 -0700 + + OSD: add op_wq suicide timeout + + Signed-off-by: Samuel Just + (cherry picked from commit 3f2946aa9f9b4b432e8c018283503153a2b1eddc) + + Conflicts: + src/osd/OSD.cc + adapt op_wq() and peering_wq() calls in OSD::OSD + src/osd/OSD.h + adapt OpWQ instead of ShardedOpWQ + +commit 9ce8ce689009cf8ef749edd320d1c2a73ecc2f90 +Author: Samuel Just +Date: Wed May 6 10:54:31 2015 -0700 + + OSD: add remove_wq suicide timeout + + Signed-off-by: Samuel Just + (cherry picked from commit f2fbfa32a16666be46359f0eab7b04ca80a753f5) + + Conflicts: + src/osd/OSD.cc + No next_removal_seq(0) in master + +commit 6926a64fbd4718b8a5df8e04545bc93c4981e413 +Author: Samuel Just +Date: Wed May 6 10:51:28 2015 -0700 + + OSD: add snap_trim_wq suicide timeout + + Signed-off-by: Samuel Just + (cherry picked from commit e1073a4a577211672148a4112bd633831552d66f) + +commit d31d1f6f5b08362779fa6af72690e898d2407b90 +Author: Samuel Just +Date: Wed May 6 10:50:19 2015 -0700 + + OSD: add recovery_wq suicide timeout + + Signed-off-by: Samuel Just + (cherry picked from commit 85311b656852af75bfbbc6699f92fc6aa233c316) + + Conflicts: + src/common/config_opts.h + place OPTION(osd_command_thread_suicide_timeout, ...) + directly after OPTION(osd_command_thread_timeout, ...) + +commit f85ec2a52e969f9a7927d0cfacda6a1cc6f2898c +Author: Samuel Just +Date: Wed May 6 10:49:00 2015 -0700 + + OSD: add command_wq suicide timeout + + Signed-off-by: Samuel Just + (cherry picked from commit df4e5de819c30003cfbe50a071c49039cf534419) + + Conflicts: + src/common/config_opts.h + place OPTION(osd_command_thread_suicide_timeout, ...) + directly after OPTION(osd_command_thread_timeout, ...) + +commit b894b368790de3383295372250888ba674502fb1 +Author: Samuel Just +Date: Tue Jul 7 08:49:54 2015 -0700 + + WBThrottle::clear_object: signal if we cleared an object + + Fixes: #12223 + Signed-off-by: Samuel Just + (cherry picked from commit 8447b08d60d5cf7dce20f8b839cc2cb5a93782de) + +commit cd1396cd62c79b177e46cfb57ab6b3b6fdcd227b +Author: Sage Weil +Date: Sun Aug 9 10:46:10 2015 -0400 + + osd/PGLog: dirty_to is inclusive + + There are only two callers of mark_dirty_to who do not pass max, + and they are both in the merge_log extending tail path. In that + case, we want to include the last version specified in the log + writeout. Fix the tail extending code to always specify the + last entry added, inclusive. + + Fixes: #12652 + Signed-off-by: Sage Weil + (cherry picked from commit f0ca14df0641daa04eee39d98d8bd0faf46e4e6d) + +commit f39c7917a39e445efa8d73178657fc5960772275 +Author: Nathan Cutler +Date: Fri Sep 4 17:38:32 2015 +0200 + + osd: Keep a reference count on Connection while calling send_message() + + Fixes: #12437 + + Signed-off-by: David Zafman + (manual backport of commit a140085) + + Conflicts: src/osd/OSD.cc + master has share_map_peer; firefly has osd->_share_map_outgoing + +commit 6571cd9a9616637bf32f9ac97a9bd864c0bff856 +Merge: 8edc091 bd25136 +Author: Ken Dreyer +Date: Fri Sep 4 11:50:22 2015 -0600 + + Merge pull request #5224 from SUSE/wip-12304-firefly + + ceph.spec.in running fdupes unnecessarily + + Reviewed-by: Ken Dreyer + +commit 8edc091df90be6935fcfe59c18d7060c88501556 +Merge: 6053bff 601eadb +Author: Ken Dreyer +Date: Fri Sep 4 11:47:49 2015 -0600 + + Merge pull request #5394 from SUSE/wip-12447-firefly + + ceph.spec.in: useless %py_requires breaks SLE11-SP3 build + + Reviewed-by: Ken Dreyer + +commit 2c2ffa1d6d1112dbf52cbbe36f4a5376e17da56a +Author: Josh Durgin +Date: Mon Aug 24 15:40:39 2015 -0700 + + config: skip lockdep for intentionally recursive md_config_t lock + + lockdep can't handle recursive locks, resulting in false positive + reports for certain set_val_or_die() calls, like via + md_config_t::parse_argv() passed "-m". + + Fixes: #12614 + Signed-off-by: Josh Durgin + (cherry picked from commit 415226995ebe841cc9e8639a3233150a75aecaed) + +commit 6053bffa8955953cf40a05f2b22684e77b6003a3 +Merge: 49d416e 5559a5f +Author: Loic Dachary +Date: Fri Sep 4 17:18:30 2015 +0200 + + Merge pull request #5043 from SUSE/wip-12007-firefly + + Objecter: pg listing can deadlock when throttling is in use + + Reviewed-by: Yehuda Sadeh + Reviewed-by: Loic Dachary + +commit 2c0d7feeb1c7592887e0408fe4fadaa9b4f659e9 +Author: Loic Dachary +Date: Thu Aug 13 19:41:47 2015 +0200 + + tests: tiering agent and proxy read + + Verify that an object promoted to a cache tier because of a proxy read + is evicted as expected. + + http://tracker.ceph.com/issues/12673 Refs: #12673 + + Signed-off-by: Loic Dachary + (cherry picked from commit 7924231930732bd297d3bd034c8295e96cb81088) + + Conflicts: + qa/workunits/cephtool/test.sh + resolved by manually adding the new test to TESTS + +commit aa911767d9326c8aa37671883892b7d383596960 +Author: Loic Dachary +Date: Thu Aug 13 13:47:24 2015 +0200 + + osd: trigger the cache agent after a promotion + + When a proxy read happens, the object promotion is done in parallel. The + agent_choose_mode function must be called to reconsider the situation + to protect against the following scenario: + + * proxy read + * agent_choose_mode finds no object exists and the agent + goes idle + * object promotion happens + * the agent does not reconsider and eviction does not happen + although it should + + http://tracker.ceph.com/issues/12673 Fixes: #12673 + + Signed-off-by: Loic Dachary + (cherry picked from commit e1f58feb9b1d20b72f2eb2eefdea5982e0cddccd) + +commit 49d416e6e2e2f3e1f317978371089f9d92358642 +Merge: 7744518 f93eadd +Author: Loic Dachary +Date: Fri Sep 4 17:08:41 2015 +0200 + + Merge pull request #4769 from SUSE/wip-11741-firefly + + crush: take crashes due to invalid arg + + Reviewed-by: Loic Dachary + +commit 774451810ff055984b79e1d1875bd6a3468dfb7a +Merge: fc27b0d f122788 +Author: Nathan Cutler +Date: Fri Sep 4 16:50:45 2015 +0200 + + Merge pull request #4788 from SUSE/wip-11801-firefly + + Make it more difficult to delete pools in firefly + + Reviewed-by: Sage Weil + +commit fc27b0dbe074dc15450d7669ea722aa3b605b3b2 +Merge: 055624b da78889 +Author: Loic Dachary +Date: Fri Sep 4 16:44:57 2015 +0200 + + Merge pull request #5235 from SUSE/wip-12310-firefly + + read on chunk-aligned xattr not handled + + Reviewed-by: Loic Dachary + +commit 055624bf9a6480fffefb3c7cf5c3a4d4d73985c1 +Merge: 045c056 46e5dea +Author: Loic Dachary +Date: Fri Sep 4 16:42:28 2015 +0200 + + Merge pull request #5389 from SUSE/wip-12391-firefly + + EC pools are not allowed as cache pools, disallow in the mon + + Reviewed-by: Loic Dachary + +commit 045c0562f97e7d2c68278fbddb9ca1707bb8d5fd +Merge: 99612e7 b8e3f6e +Author: Sage Weil +Date: Fri Sep 4 09:42:03 2015 -0400 + + Merge pull request #5406 from ceph/wip-12465-firefly + + log: take mutex while opening fd + + Reviewed-by: Sage Weil + +commit 99612e7ed9573f2af36604f7d258535f6feadff3 +Merge: 7f8a397 4a709a4 +Author: Nathan Cutler +Date: Thu Sep 3 12:34:32 2015 +0200 + + Merge pull request #4854 from ceph/wip-11769-firefly + + librbd: aio calls may block + + Reviewed-by: Josh Durgin + +commit 7f8a397e38101017ef9783d8ed08bb393a8d8825 +Merge: ea601ef f0d2429 +Author: Loic Dachary +Date: Wed Sep 2 07:55:15 2015 +0200 + + Merge pull request #5233 from SUSE/wip-12074-firefly + + RGW logfile does not get chowned properly + + Reviewed-by: Loic Dachary + +commit 644f213c672f6fe2786e041043fdd55f8399871e (refs/remotes/gh/wip-11455-firefly) +Author: Yehuda Sadeh +Date: Wed Aug 26 14:34:30 2015 -0700 + + rgw: init some manifest fields when handling explicit objs + + Fixes: #11455 + When dealing with old manifest that has explicit objs, we also + need to set the head size and head object correctly so that + code that relies on this info doesn't break. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d7bf8cb594e5276d1c80544f5ec954d52b159750) + +commit e7931a73df1ab77feb1c2ece13e3de3989ef7a0e +Author: Yehuda Sadeh +Date: Thu Jul 30 14:47:15 2015 -0700 + + rgw: url encode exposed bucket + + Fixes: #12537 + Don't send the bucket name back without url encoding it. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ad5507fe0bf72ed5bdf8353e315cc9092c740144) + +commit 558c52955d464827630e0aa2fed970df987bb036 +Author: Wido den Hollander +Date: Wed Jun 3 13:13:33 2015 +0200 + + rgw: Do not enclose the Bucket header in quotes + + Fixes: #11860 + Signed-off-by: Wido den Hollander + (cherry picked from commit 8af25faed93fe02d3dad585b8579ce8b041cc4e6) + +commit d3c94698e4e852bef3e65fbf439f5f209fbc0b25 (refs/remotes/gh/wip-12752) +Author: Jason Dillaman +Date: Fri Aug 21 11:32:39 2015 -0400 + + Objecter: pg_interval_t::is_new_interval needs pgid from previous pool + + When increasing the pg_num of a pool, an assert would fail since the + calculated pgid seed would be for the pool's new pg_num value instead + of the previous pg_num value. + + Fixes: #10399 + Backport: infernalis, hammer, firefly + Signed-off-by: Jason Dillaman + (cherry picked from commit f20f7a23e913d09cc7fc22fb3df07f9938ddc144) + + Conflicts: (hobject_t sort order not backported, trivial resolution) + src/osdc/Objecter.cc + src/osdc/Objecter.h + +commit 56d267b7ae02070a7d7ed247990b84124fd62411 +Author: Samuel Just +Date: Tue May 26 12:35:11 2015 -0700 + + osd_types::is_new_interval: size change triggers new interval + + Fixes: 11771 + Signed-off-by: Samuel Just + (cherry picked from commit ff79959c037a7145f7104b06d9e6a64492fdb95f) + +commit 411769c1461c11611b479bd826c72c56b3ce47c5 +Author: Kefu Chai +Date: Mon Aug 10 04:25:03 2015 -0700 + + mon: add a cache layer over MonitorDBStore + + the cache of of leveldb does not perform well under some condition, + so we need a cache in our own stack. + + * add an option "mon_osd_cache_size" to control the size of cache size + of MonitorDBStore. + + Fixes: #12638 + Signed-off-by: Kefu Chai + (cherry picked from commit 5e99a578050976ca22b549812ac80d494fe7041d) + + Conflicts: + src/mon/OSDMonitor.h + minor differences in OSDMonitor ctor + +commit 278d732ecd3594cd76e172d78ce3ec84e58e178b (refs/remotes/me/wip-journal-firefly) +Author: Sage Weil +Date: Thu Jan 15 11:20:18 2015 -0800 + + os/FileJournal: Fix journal write fail, align for direct io + + when config journal_zero_on_create true, osd mkfs will fail when zeroing journal. + journal open with O_DIRECT, buf should align with blocksize. + + Backport: giant, firefly, dumpling + Signed-off-by: Xie Rui <875016668@qq.com> + Reviewed-by: Sage Weil + (cherry picked from commit 80473f63853593e53d72f17c098152caf17f5e9e) + +commit d0d6727762ebda858065101635935df3d44a18ad +Author: Kefu Chai +Date: Wed Jul 29 15:52:19 2015 +0800 + + common/syncfs: fall back to sync(2) if syncfs(2) not available + + Fixes: #12512 + Signed-off-by: Kefu Chai + (cherry picked from commit 08210d6a85527b0759f6dc4411f742bc13a4939f) + +commit 40494c6e479c2ec4dfe5f6c2d6aef3b6fa841620 +Author: Danny Al-Gaaf +Date: Thu Mar 12 17:38:27 2015 +0100 + + sync_filesystem.h: fix unreachable code + + Fix for: + + CID 1264460 (#1 of 1): Structurally dead code (UNREACHABLE) + unreachable: This code cannot be reached: sync(); + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 9921836e982818b92e20280eecb74e701523045c) + +commit 3dbbc86ad6d1e7131bbe49a4eff1557d7da9822f +Author: Jianpeng Ma +Date: Thu Jan 8 10:29:37 2015 +0800 + + mon, os: check the result of sync_filesystem. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 27cb78bd3b2dde40c70de245769d1c0ec252533b) + +commit 7fa6fdc6c5e52f11456e4bea4ae32fd62248c80b +Author: Jianpeng Ma +Date: Wed Jan 7 15:28:37 2015 +0800 + + common: Don't call ioctl(BTRFS_IOC_SYNC) in sync_filesystem. + + From the manual of syncfs, it first appeared in Linux 2.6.39. At this + point, btrfs didn't as a stable production. So remove this. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 397b261630dccc656f6eca509f4c70173c8d8d8f) + +commit 9f15ed5bb5a837727cb3bef70508e056c125a518 +Author: Jianpeng Ma +Date: Wed Jan 7 15:26:08 2015 +0800 + + common: Directly return the result of syncfs(). + + In commit 808c644248e4, it will try sync() if syncfs() return error. + No evidence prove this way can work. And sync() don't return result + so make this function always return zero which cause filestore omit the + error. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 3f7faa4d8d3af3d2e3889c23290b016f27d36386) + +commit ea601efc6c693ba8041509c98756fa8c49b9c13a +Merge: 50fa963 a128ce3 +Author: Nathan Cutler +Date: Wed Aug 12 09:43:19 2015 +0200 + + Merge pull request #5390 from SUSE/wip-12503-firefly + + rgw/logrotate.conf calls service with wrong init script name + + Reviewed-by: Ken Dreyer + +commit 50fa9636d0c5e8946fa410891623e2c8363e2067 +Merge: abe6c03 d4ef556 +Author: Yehuda Sadeh +Date: Tue Aug 11 11:27:16 2015 -0700 + + Merge pull request #4765 from SUSE/wip-11721-firefly + + rgw: Keystone PKI token expiration is not enforced + +commit 04b2a878b1329202758465cf8e9b0f874cbeeef5 +Author: Dan van der Ster +Date: Tue Nov 18 15:51:46 2014 +0100 + + ceph-disk: don't change the journal partition uuid + + We observe that the new /dev/disk/by-partuuid/ + symlink is not always created by udev when reusing a journal + partition. Fix by not changing the uuid of a journal partition + in this case -- instead we can reuse the existing uuid (and + journal_symlink) instead. We also now assert that the symlink + exists before further preparing the OSD. + + Fixes: #10146 + Signed-off-by: Dan van der Ster + Tested-by: Dan van der Ster + (cherry picked from commit 29eb1350b4acaeabfe1d2b19efedbce22641d8cc) + +commit e57e6f5da10a62f2f4d7b1a6a734a095ed494ebe +Author: Dan van der Ster +Date: Mon Sep 29 13:20:10 2014 +0200 + + ceph-disk: set guid if reusing a journal partition + + When reusing a journal partition (e.g. /dev/sda2) we should set a + new partition guid and link it correctly with the OSD. This way + the journal is symlinked by its persistent name and ceph-disk list + works correctly. + + Signed-off-by: Dan van der Ster + (cherry picked from commit beff616f506b96eb52285f0d2e268e10f8edaa2c) + +commit ebba1d59b5e4bc11cbdfcda4e480639f7d9e1498 +Author: John Spray +Date: Thu Jul 30 14:20:56 2015 +0100 + + osd/OSDMap: handle incrementals that modify+del pool + + Because new_pools was processed after old_pools, if something + was modified and then deleted in the same incremental + map, then the resulting state would be a pool in the map + that had no entry in pool_name. + + Fixes: #12429 + Signed-off-by: John Spray + (cherry picked from commit 8d4932e721e32a33c1bada54e11d4ecccd868618) + +commit 31ff7d14e801ef7b7dff3b050094f1eceacf75dd +Author: renhwztetecs +Date: Tue Jul 21 18:55:00 2015 +0800 + + Update OSDMonitor.cc + + OSDMonitor::get_pools_health(), s/objects/bytes/ + + Fixes: #12402 + Signed-off-by: ren.huanwen@zte.com.cn + (cherry picked from commit 7fc13c9d6b9a4962d7640240416105d8f558d600) + +commit ea0d67c482659dfb8c08055a77f400d0689866e0 +Author: huangjun +Date: Mon Jul 20 10:50:20 2015 +0800 + + mon/PGMonitor: avoid uint64_t overflow when checking pool 'target/max' status. + Fixes: #12401 + + Signed-off-by: huangjun + + (cherry picked from commit f84e6b8157e78fd05cd1c8ac957c92df17e6ba06) + +commit 6b42b06239426e5ec54dfaa82f48abca56f824ca +Author: Joao Eduardo Luis +Date: Tue Jul 21 11:20:53 2015 +0100 + + mon: OSDMonitor: fix hex output on 'osd reweight' + + Fixes: #12251 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 787fa80c2746fde44ac0583ff7995ec5be9a672d) + +commit 5445461ba08fa5b2e12a951a1432916224d3f668 +Author: Xinze Chi +Date: Fri Jul 3 18:27:13 2015 +0800 + + mon/PGMonitor: bug fix pg monitor get crush rule + + when some rules have been deleted before, the index in array of crush->rules + is not always equals to crush_ruleset of pool. + + Fixes: #12210 + Reported-by: Ning Yao + Signed-off-by: Xinze Chi + (cherry picked from commit 498793393c81c0a8e37911237969fba495a3a183) + +commit c6f37807d04af66fbed24e75776aed1b44241150 +Author: Ketor Meng +Date: Tue May 26 18:50:17 2015 +0800 + + Mutex: fix leak of pthread_mutexattr + + Need pthread_mutexattr_destroy after pthread_mutexattr_init + + Fixes: #111762 + Signed-off-by: Ketor Meng + (cherry picked from commit 2b23327b3aa8d96341d501a5555195ca1bc0de8f) + +commit 601eadbf707597d9a1572efbdf86b22ff6813602 +Author: Nathan Cutler +Date: Thu Jul 9 11:51:13 2015 +0200 + + ceph.spec.in: drop SUSE-specific %py_requires macro + + %py_requires expands to + + BuildRequires: /usr/bin/python + PreReq: python = 2.7 + + The BuildRequires: is already provided, and the PreReq is wrong because + e.g. SLE11-SP3 (a platform we are trying to support) has Python 2.6. + + http://tracker.ceph.com/issues/12351 Fixes: #12351 + + Signed-off-by: Nathan Cutler + (cherry picked from commit cbf6c7b46b42e163950bf7956e5b7565fca961c9) + + Conflicts: + ceph.spec.in + in master, the %py_requires is in the python-rados package, + while in firefly it is in the python-ceph package + +commit a128ce37038ef6e44c8d7bd082ba196583974ef7 +Author: wuxingyi +Date: Wed Mar 11 17:34:40 2015 +0800 + + rgw/logrotate.conf: Rename service name + + The service name for ceph rados gateway was changed to "ceph-radosgw", + the previous version of service name "radosgw" would cause a failed reload, + and finally make it impossible to write any log data to the log file. + + Signed-off-by: wuxingyi + (cherry picked from commit 9df3f798179481fe8ae6ae873dcb793de7d8f367) + +commit 46e5deabebeeb047783cfc980aa28a3df46eeeca +Author: Samuel Just +Date: Fri May 15 13:05:40 2015 -0700 + + OSDMonitor: disallow ec pools as tiers + + Fixes: 11650 + Signed-off-by: Samuel Just + (cherry picked from commit 11b7801bb57cb25cd2d26d58722d49691747725b) + + Conflicts: + qa/workunits/cephtool/test.sh + no "# make sure we can't clobber snapshot state" tests in firefly + src/mon/OSDMonitor.cc + no tp->removed_snaps.empty() in firefly + +commit 37d16a9e572580eeae86a2bae6d4ddd0299fb833 +Author: Haomai Wang +Date: Thu Jul 9 13:32:03 2015 +0800 + + UnittestBuffer: Add bufferlist zero test case + + Signed-off-by: Haomai Wang + (cherry picked from commit 577acf665948e531e50d36f5780ea19351a5bf65) + +commit 4443acdbef1148e0261bce25f7d7a3433e09cecc +Author: Haomai Wang +Date: Thu Jul 9 13:42:42 2015 +0800 + + buffer: Fix bufferlist::zero bug with special case + + Fixes: #12252 + Signed-off-by: Haomai Wang + (cherry picked from commit 43f583d160ccaf879eaf0f3020e77860cf8d1df0) + +commit d52187019d321fe8a2dc54fe8a67a5139c310db1 +Author: Joao Eduardo Luis +Date: Wed May 27 22:28:49 2015 +0100 + + mon: MonitorDBStore: get_next_key() only if prefix matches + + get_next_key() had a bug in which we would always return the first key + from the iterator, regardless of whether its prefix had been specified + to the iterator. + + Fixes: #11786 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 2cc7aee1abe40453093306c8fef2312b650dff5d) + +commit 2f35a415dcd31683151defb0ddb1a6d5696c7051 +Author: Joao Eduardo Luis +Date: Fri Jun 12 19:21:10 2015 +0100 + + mon: PaxosService: call post_refresh() instead of post_paxos_update() + + Whenever the monitor finishes committing a proposal, we call + Monitor::refresh_from_paxos() to nudge the services to refresh. Once + all services have refreshed, we would then call each services + post_paxos_update(). + + However, due to an unfortunate, non-critical bug, some services (mainly + the LogMonitor) could have messages pending in their + 'waiting_for_finished_proposal' callback queue [1], and we need to nudge + those callbacks. + + This patch adds a new step during the refresh phase: instead of calling + directly the service's post_paxos_update(), we introduce a + PaxosService::post_refresh() which will call the services + post_paxos_update() function first and then nudge those callbacks when + appropriate. + + [1] - Given the monitor will send MLog messages to itself, and given the + service is not readable before its initial state is proposed and + committed, some of the initial MLog's would be stuck waiting for the + proposal to finish. However, by design, we only nudge those message's + callbacks when an election finishes or, if the leader, when the proposal + finishes. On peons, however, we would only nudge those callbacks if an + election happened to be triggered, hence the need for an alternate path + to retry any message waiting for the initial proposal to finish. + + Fixes: #11470 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 1551ebb63238073d2fd30201e6b656a8988e958c) + +commit b8e3f6e190809febf80af66415862e7c7e415214 +Author: Samuel Just +Date: Fri Jul 24 15:38:18 2015 -0700 + + Log::reopen_log_file: take m_flush_mutex + + Otherwise, _flush() might continue to write to m_fd after it's closed. + This might cause log data to go to a data object if the filestore then + reuses the fd during that time. + + Fixes: #12465 + Backport: firefly, hammer + Signed-off-by: Samuel Just + (cherry picked from commit 8778ab3a1ced7fab07662248af0c773df759653d) + + - modified to drop m_flush_mutex_holder, which isn't present in firefly + +commit abe6c03d411f5f1d277f910ae87123309fa95d4a +Merge: 5df7273 9614e4d +Author: Nathan Cutler +Date: Sat Jul 25 13:51:43 2015 +0200 + + Merge pull request #4583 from SUSE/wip-11542-firefly + + rgw: Change variable length array of std::strings (not legal in C++) to std::vector + + Reviewed-by: Sage Weil + +commit 5df727379b63abb25421a32c95fdda9a0b62eeac +Merge: 2a77154 8c573c8 +Author: Nathan Cutler +Date: Sat Jul 25 13:50:06 2015 +0200 + + Merge pull request #4584 from SUSE/wip-8911-firefly + + rgw: doesn't return 'x-timestamp' in header which is used by 'View Details' of OpenStack + + Reviewed-by: Sage Weil + +commit 2a77154b4abcd4eebc8d1a315f7beeeabaf2213b +Merge: 64c3a64 d78e31f +Author: Nathan Cutler +Date: Sat Jul 25 13:48:31 2015 +0200 + + Merge pull request #4642 from SUSE/wip-11323-firefly + + rgw: quota not respected in POST object + + Reviewed-by: Yehuda Sadeh + +commit 64c3a645c4dba1846532997758c5d7c3a42760b2 +Merge: f11df3c 177ef55 +Author: Nathan Cutler +Date: Sat Jul 25 13:24:39 2015 +0200 + + Merge pull request #4641 from SUSE/wip-11149-firefly + + rgw: delete bucket does not remove .bucket.meta file + + Reviewed-by: Yahuda Sadeh + +commit f11df3c7819a5f8dd5336be7dbe43e0f21dbb394 +Merge: 090bd12 2ee6e9a +Author: Nathan Cutler +Date: Sat Jul 25 13:21:31 2015 +0200 + + Merge pull request #5170 from SUSE/wip-12039-firefly + + rgw: Swift API: response for PUT on /container does not contain the mandatory Content-Length header when FCGI is used + + Reviewed-by: Yahuda Sadeh + +commit 090bd126e15acacc46bce3271d2aa0cfa889b499 +Merge: 94060b7 2d5d8da +Author: Nathan Cutler +Date: Sat Jul 25 13:20:15 2015 +0200 + + Merge pull request #4762 from SUSE/wip-11754-firefly + + rgw: Object copy bug + + Reviewed-by: Yahuda Sadeh + +commit 94060b78a2e9b38422a951664dd4f37a6f52316f +Merge: b9f45fe 3223bd6 +Author: Josh Durgin +Date: Fri Jul 24 11:42:58 2015 -0700 + + Merge pull request #5171 from SUSE/wip-12240-firefly + + librbd: internal.cc: 1967: FAILED assert(watchers.size() == 1) + + Reviewed-by: Josh Durgin + +commit b9f45fe7816da1ce1fcbfd2a60fe370abe0f1848 +Merge: 57bbc8e 9845258 +Author: Josh Durgin +Date: Fri Jul 24 11:26:23 2015 -0700 + + Merge pull request #4639 from SUSE/wip-7385-firefly + + librbd: Objectcacher setting max object counts too low + + Reviewed-by: Josh Durgin + +commit 8c02376bd58d463f742966b67fa075a59b5f4269 +Author: Nathan Cutler +Date: Fri Jul 24 18:50:03 2015 +0200 + + TestPGLog: fix invalid proc_replica_log test case + + If 1'3 is non-divergent, no osd could correctly have created 2'3. Also, + proc_replica_log does not add the extra entries from the auth log to the + missing set, that happens later on in activate. + + Signed-off-by: Samuel Just + (cherry picked from commit 1333b676dba4ed4b5db854fe935bdadbf9f21d08) + + Conflicts: + src/test/osd/TestPGLog.cc + "sjustm: set_hash() method just does hash = and then rebuilds a cache, + but the cache does not exist in firefly so hash = will do fine" + + Signed-off-by: Nathan Cutler + +commit 4a709a450987cc90126b11a20c1c762d4fbfcea9 +Author: Jason Dillaman +Date: Tue Jun 2 10:33:35 2015 -0400 + + tests: verify librbd blocking aio code path + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4cf41486e9c9e1efcb863960a8f3e0326ffca7e5) + +commit 4501e90d9b667310a222c3616a7b1f1fb382f997 +Author: Jason Dillaman +Date: Mon Jun 1 22:56:11 2015 -0400 + + librbd: new rbd_non_blocking_aio config option + + Setting this option to false reverts librbd to legacy behavior + where AIO operations could potentially block. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 769cad12716b85d87eacc1069dd9f5c21cad3915) + + Conflicts: + src/common/config_opts.h: trivial resolution + src/librbd/librbd.cc: trivial resolution + +commit 68863968dd734fc45557dca100c8a0a5060cbd8b +Author: Jason Dillaman +Date: Thu Apr 9 20:34:28 2015 -0400 + + PendingReleaseNotes: document changes to librbd's aio_read methods + + Signed-off-by: Jason Dillaman + +commit 861c20bb2cc05a13a45b0e2368c591212e4eda72 +Author: Jason Dillaman +Date: Wed Apr 8 21:55:36 2015 -0400 + + tests: update librbd AIO tests to remove result code + + Signed-off-by: Jason Dillaman + + Conflicts: + src/test/librbd/test_librbd.cc: trivial resolution + +commit 4e7cf6115798dd339efe41a528aac148be640b29 +Author: Jason Dillaman +Date: Thu Apr 9 13:33:09 2015 -0400 + + librbd: AioRequest::send no longer returns a result + + The librados calls used by AioRequest::send should always return + zero unless there is a bug. + + Signed-off-by: Jason Dillaman + (cherry picked from commit c77bce3311ab62892eb8c1d883263ba7ed663b20) + + Conflicts: + src/librbd/AioRequest.cc: trivial resolution + src/librbd/AioRequest.h: trivial resolution + src/librbd/internal.cc: trivial resolution + +commit 0ccf47bf9f070ff7fe4e1dd3d3c3e3daa1f621c4 +Author: Jason Dillaman +Date: Wed Apr 8 21:37:50 2015 -0400 + + librbd: internal AIO methods no longer return result + + All failures should be returned via the AioCompletion. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 9ab42d613128ab08c688ddbea93df4c95068b9cd) + + Conflicts: + src/librbd/AioRequest.cc: trivial resolution + src/librbd/internal.cc: trivial resolution + src/librbd/internal.h: trivial resolution + +commit e48040413849c5d3a577addff644502858ac5a66 +Author: Jason Dillaman +Date: Wed Apr 8 21:48:21 2015 -0400 + + Throttle: added pending_error method to SimpleThrottle + + Allow the client of SimpleThrottle to detect an async error + so that it can exit early. + + Signed-off-by: Jason Dillaman + (cherry picked from commit b88b88c5df91325fb713c2031a56bffe421268e0) + +commit 8ec341ee8f256e8ab91a931f6005e1ebd4b1db60 +Author: Jason Dillaman +Date: Wed Apr 8 20:18:50 2015 -0400 + + librbd: add new fail method to AioCompletion + + Helper method to handle passing fatal errors generated within + librbd (not from the OSDs) back to the client. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 6d1d0c867855a96bee4c13a0c0a39a0e002ccd12) + + Conflicts: + src/librbd/AioCompletion.cc: trivial resolution + src/librbd/AioCompletion.h: trivial resolution + +commit eed8ce258d116e837d8777f246f31c21a03ceb74 +Author: Jason Dillaman +Date: Wed Apr 8 19:06:52 2015 -0400 + + librbd: avoid blocking AIO API methods + + Enqueue all AIO API methods within the new librbd thread pool to + reduce the possibility of any blocking operations. To maintain + backwards compatibility with the legacy return codes of the API's + AIO methods, it's still possible to block attempting to acquire + the snap_lock. + + Fixes: #11056 + Signed-off-by: Jason Dillaman + (cherry picked from commit 3a7b5e30efdb21aa1a0aeb68a5d02a1ac2a5faf3) + + Conflicts: + src/librbd/librbd.cc: trivial resolution + +commit 220a23e8d99882838626d5647f9c055eefeb28c6 +Author: Jason Dillaman +Date: Wed Apr 8 17:24:08 2015 -0400 + + librbd: add task pool / work queue for AIO requests + + Signed-off-by: Jason Dillaman + (cherry picked from commit afb896d91f886b647baf38f7ec94cc3739f6d2a9) + + Conflicts: + src/common/config_opts.h: trivial resolution + src/librbd/ImageCtx.cc: trivial resolution + src/librbd/ImageCtx.h: trivial resolution + src/librbd/internal.cc: trivial resolution + +commit 3292bd26127f5beb69ac9c5fbcdea7efe002fd40 +Author: Jason Dillaman +Date: Mon May 11 17:05:49 2015 -0400 + + WorkQueue: added virtual destructor + + Signed-off-by: Jason Dillaman + (cherry picked from commit b3f5a75332c058816dc39b71e9d2b36e752159f4) + +commit 9bf970c1d956c94bc420d874eb83db1f16cf5d44 +Author: Jason Dillaman +Date: Wed Apr 8 16:46:34 2015 -0400 + + WorkQueue: add new ContextWQ work queue + + The queue holds a collection of Context pointers that will + be completed by the thread pool. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 24a33e977f7b71962adeeb48f75d488a76e70fa9) + + Conflicts: + src/common/WorkQueue.h: trivial resolution + +commit 94aa947b33083bcfe3cb61f41bfdaea7df605cbb +Author: Sage Weil +Date: Fri Dec 5 14:21:08 2014 -0800 + + common/ceph_context: don't import std namespace + + This was broken by 7fed5dee4f96a83d1d6914f6fc0895bba2d15b99 + + Signed-off-by: Sage Weil + (cherry picked from commit 9029813b2784fe71879b1b7684855415b4c7566b) + +commit b91e594401ab75987a370f6dee0ee8d212189c9f +Author: Haomai Wang +Date: Mon Dec 1 23:54:16 2014 +0800 + + CephContext: Add AssociatedSingletonObject to allow CephContext's singleton + + If some objects associated to CephContext want to create a singleton object, + it can inherit AssociatedSingletonObject and implement destruction to get notified. + + Signed-off-by: Haomai Wang + (cherry picked from commit 7fed5dee4f96a83d1d6914f6fc0895bba2d15b99) + +commit f122788b3592da516cdb9f6abdc3383a2e7424a2 +Author: Sage Weil +Date: Fri Jan 16 07:54:22 2015 -0800 + + mon/OSDMonitor: require mon_allow_pool_delete = true to remove pools + + This is a simple safety check. Since we default to true it is currently + opt-in. + + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit 6b982e4cc00f9f201d7fbffa0282f8f3295f2309) + + Conflicts: + src/test/mon/osd-pool-create.sh + + Changed $CEPH_MON to 127.0.0.1 -- the CEPH_MON was introduced after + firefly to allow tests to run in parallel. Back in firefly all tests + use the same port because 127.0.0.1 was hardcoded. We can't + conveniently backport all that's necessary for tests to run in + parallel, therefore we keep the 127.0.0.1 hardcoded. + + Conflicts: + src/test/mon/osd-pool-create.sh + TEST_no_pool_delete() follows a different test than in master + +commit 57bbc8e630e6611d1ab74b9756c96daf0e91be6b +Merge: c0a601f 3f2fb8a +Author: Loic Dachary +Date: Fri Jul 24 10:49:50 2015 +0200 + + Merge pull request #5051 from SUSE/wip-12016-firefly + + osd: cache full mode still skips young objects + + Reviewed-by: Sage Weil + +commit c0a601ff5be45c0630a8659994107672558a982a +Merge: 71174a5 ef648e5 +Author: Sage Weil +Date: Wed Jul 22 11:36:47 2015 -0400 + + Merge pull request #5307 from dachary/wip-release-notes-firefly + + backport v0.80.10 release notes to firefly + +commit 5559a5fe0f593c0e7af47c6d8a8359dbcbfd1f08 +Author: Guang Yang +Date: Mon Sep 15 11:41:06 2014 +0000 + + For pgls OP, get/put budget on per list session basis, instead of per OP basis, which could lead to deadlock. + + Signed-off-by: Guang Yang (yguang@yahoo-inc.com) + (cherry picked from commit 0f884fdb31a26f241401ce2a9329dc0f2c4eccc7) + + Conflicts: + src/librados/IoCtxImpl.cc + In firefly, return value of objecter->pg_read() is not assigned to c->tid. + src/osdc/Objecter.cc + src/osdc/Objecter.h + There is no _op_submit_with_budget() function in firefly. + There is no Objecter::_finish_op() function in firefly. + In firefly, _take_op_budget() is called take_op_budget(). + +commit 71174a53c9a3a2b54b947da7e1425ff36fd44e37 +Merge: f7a085f 989e047 +Author: Loic Dachary +Date: Wed Jul 22 10:20:32 2015 +0200 + + Merge pull request #4867 from SUSE/wip-11878-firefly + + mon: Clock skew causes missing summary and confuses Calamari + + Reviewed-by: Joao Eduardo Luis + +commit 989e04799be567ee93369a87b90405833c3fe8d2 +Author: Thorsten Behrens +Date: Fri Feb 6 01:26:40 2015 +0100 + + Always provide summary for non-healthy cluster. + + This fixes a problem, wherein calamari does not provide + popup drill-downs for warnings or errors, should the summary + be missing. + + Calamari gets health info from /api/v1/cluster/$FSID/health. + If the data here has a summary field, this summary is provided + in a popup window: + + /api/v1/cluster/$FSID/health is populated (ultimately) with + status obtained via librados python bindings from the ceph + cluster. In the case where there's clock skew, the summary + field supplied by the ceph cluster is empty. + + No summary field, no popup window with more health details. + + Signed-off-by: Thorsten Behrens + (cherry picked from commit eaf6e0cf48488fe604d0ef0db164d44948d4e8d4) + + Conflicts: + src/mon/Monitor.cc + firefly needs ss + +commit f7a085f04c544895bab3d79569276574a96636eb +Merge: 2f1dd10 d296120 +Author: Josh Durgin +Date: Tue Jul 21 13:31:33 2015 -0700 + + Merge pull request #5062 from SUSE/wip-11699-firefly + + objecter: resend linger ops on split + + Reviewed-by: Josh Durgin + +commit ef648e592404e8677df91f218c4400caad4034b6 +Author: Sage Weil +Date: Tue Jul 21 12:54:19 2015 -0400 + + doc: v0.80.10 changelog + + Signed-off-by: Sage Weil + (cherry picked from commit b3a3e0e509eb9530994723ed9d68f85b8434a22d) + +commit df837e5cc30cf08ade26df6e42ca402fc628a9bb +Author: Sage Weil +Date: Tue Jul 21 10:55:18 2015 -0400 + + doc/release-notes: v0.80.10 + + Signed-off-by: Sage Weil + (cherry picked from commit 2a61b611987d169d5a501d77fbd545068550c28c) + + Conflicts: + doc/release-notes.rst + +commit 90cddd425ca8f1731fff0b8fb4b7e02a96048f92 +Author: Loic Dachary +Date: Tue Jul 14 16:15:44 2015 +0200 + + doc/release-notes: update notes for v0.80.10 + + Signed-off-by: Loic Dachary + (cherry picked from commit 1231ae09d675f2ee9e76a04b91f771d73a2fb346) + + Conflicts: + doc/release-notes.rst + +commit 2f1dd10b71d29a647aa2bab4a51fecc0501d6741 +Merge: 0caf6b3 1d2af55 +Author: Loic Dachary +Date: Tue Jul 21 13:03:07 2015 +0200 + + Merge pull request #5129 from SUSE/wip-12202-firefly + + mon: ceph fails to compile with boost 1.58 + + Reviewed-by: Loic Dachary + +commit 0caf6b32849bd673d83e96f0eae19bb6d7e423ae +Merge: 3010f23 6793d50 +Author: Loic Dachary +Date: Tue Jul 21 12:51:10 2015 +0200 + + Merge pull request #5044 from SUSE/wip-12011-firefly + + osd: PG stuck with remapped + + Reviewed-by: Loic Dachary + +commit 3010f23fae10d37ff78b8d7d5049ccba798bbe6b +Merge: ad58a32 fcac7ab +Author: Loic Dachary +Date: Tue Jul 21 12:45:22 2015 +0200 + + Merge pull request #5039 from SUSE/wip-11961-firefly + + osd: Cleanup boost optionals for boost 1.56 + + Reviewed-by: Loic Dachary + +commit ad58a32292eee39905ae7bacc8fc52a52c2d08fc +Merge: 13946e9 a62c720 +Author: Loic Dachary +Date: Tue Jul 21 12:39:34 2015 +0200 + + Merge pull request #5037 from SUSE/wip-11875-firefly + + tools: ceph-post-file fails on rhel7 + + Reviewed-by: Loic Dachary + +commit 13946e9c18bbeb209458a3faac6e687ff380ac6e +Merge: bde35c1 90a1a75 +Author: Loic Dachary +Date: Tue Jul 21 12:34:51 2015 +0200 + + Merge pull request #4771 from SUSE/wip-11759-firefly + + tools: ceph-disk: support NVMe device partitions + + Reviewed-by: Loic Dachary + +commit bde35c11acd34c76d704b41292d167c3fc4cea53 +Merge: 9e11564 10d85e1 +Author: Loic Dachary +Date: Tue Jul 21 12:22:52 2015 +0200 + + Merge pull request #4636 from SUSE/wip-11143-firefly + + tools: src/ceph-disk : disk zap sgdisk invocation + + Reviewed-by: Loic Dachary + +commit 9e11564b36a42b605f256943c7236b91a736fceb +Merge: 8638443 424289d +Author: Loic Dachary +Date: Tue Jul 21 12:20:50 2015 +0200 + + Merge pull request #4635 from SUSE/wip-7387-firefly + + common: Malformed JSON command output when non-ASCII strings are present + + Reviewed-by: Loic Dachary + +commit 8638443eac92ac80b4c57271f7350d94e445abf5 +Merge: 4c37d3d 8372f1d +Author: Loic Dachary +Date: Tue Jul 21 12:17:43 2015 +0200 + + Merge pull request #4632 from SUSE/wip-11507-firefly + + osd: object creation by write cannot use an offset on an erasure coded pool + + Reviewed-by: Loic Dachary + +commit 4c37d3d99f660c835d2f73e8f08b6ef170c0c7b7 +Merge: 8f11ab7 9090967 +Author: Loic Dachary +Date: Tue Jul 21 12:12:36 2015 +0200 + + Merge pull request #4630 from SUSE/wip-10983-firefly + + tools: use a new disk as journal disk,ceph-disk prepare fail + + Reviewed-by: Loic Dachary + +commit 8f11ab7ce27cab43145a2821f3996d3103cf7870 +Merge: 64a21b7 b1ff739 +Author: Loic Dachary +Date: Tue Jul 21 12:08:26 2015 +0200 + + Merge pull request #4597 from xinxinsh/wip-11026-firefly + + objecter: can get stuck in redirect loop if osdmap epoch == last_force_op_resend + + Reviewed-by: Loic Dachary + +commit 64a21b71526c51f8e787b365039de2b0cb0a285b +Merge: 82e8359 2cb2333 +Author: Loic Dachary +Date: Tue Jul 21 12:04:39 2015 +0200 + + Merge pull request #4582 from SUSE/wip-11543-firefly + + tools: ceph_argparse_flag has no regular 3rd parameter + + Reviewed-by: Loic Dachary + +commit bba50ce8f227af29d559b486274871bb3999fb24 +Author: Samuel Just +Date: Thu Apr 9 16:28:23 2015 -0700 + + TestPGLog: fix noop log proc_replica_log test case + + Need to fill in log.head, olog.head. + + Signed-off-by: Samuel Just + (cherry picked from commit 1e5b22053381580708af29a1536f1e106c9b479c) + +commit fdff8ce6c996cda7b3966d20c24b20ff545e468a +Author: Samuel Just +Date: Thu Apr 9 15:01:41 2015 -0700 + + TestPGLog: add test for 11358 + + Signed-off-by: Samuel Just + (cherry picked from commit b61e5aef15d7448d24b713d13dce77697bc0af74) + + Conflicts: + src/test/osd/TestPGLog.cc + leave out all the other tests that have been + added to master since firefly + +commit 65028b6304235ba5fa54d14805028db1a032e5a0 +Author: Samuel Just +Date: Thu Apr 9 15:01:29 2015 -0700 + + PGLog::proc_replica_log: handle split out overlapping entries + + See the comment, if the overlapping entries between olog.head + and log.tail were split out, last_update should be log.tail. + + Fixes: 11358 + Signed-off-by: Samuel Just + (cherry picked from commit 6561e0d955c4563a8505b717de41f5bd89119f63) + +commit 82e8359783f056cce5f7ede2dabd0cc61d278eab +Merge: 741f0c2 b061140 +Author: Josh Durgin +Date: Fri Jul 17 16:10:43 2015 -0700 + + Merge pull request #4633 from SUSE/wip-11535-firefly + + Client admin socket leaks file descriptors + + Reviewed-by: Josh Durgin + +commit da78889d76f641dfcbb80164be32b85e880bb97f +Author: Sage Weil +Date: Wed Mar 18 13:49:20 2015 -0700 + + os/chain_xattr: handle read on chnk-aligned xattr + + If we wrote an xattr that was a multiple of a chunk, we will try to read + the next chunk and get ENODATA. If that happens bail out of the loop and + assume we've read the whole thing. + + Backport: hammer, firefly + Signed-off-by: Sage Weil + (cherry picked from commit 8614dcebf384b74b283cd352001a65fa26ba925c) + + Conflicts: + src/test/objectstore/chain_xattr.cc + added #define FILENAME + +commit 4e7de5b5f0e32d1183e2a0490d65e4e01490d942 +Author: Yehuda Sadeh +Date: Thu Jun 25 14:31:03 2015 -0700 + + rgw: error out if frontend did not send all data + + Fixes: #11851 + The civetweb mg_write() doesn't return error when it can't flush all data + to the user, it just sends the total number of bytes written. Modified the + client io to return total number of bytes and return an error if didn't + send anything. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit daa679c3dd3770a6d5421e2cc9a36924f4550439) + +commit f0d2429f764aaa756fc8002309545b02dc45c199 +Author: Thorsten Behrens +Date: Wed Dec 10 11:53:43 2014 +0100 + + Unconditionally chown rados log file. + + This fixes bnc#905047 (in a somewhat ad-hoc way). Sadly the log + file gets created from several places, so its existence does not + mean init-radosgw had actually run. + + Signed-off-by: Thorsten Behrens + (cherry picked from commit 41611ea27a42d6221c418613d24dce34d988f2e6) + +commit 68508e28adffae64a52ea4c0046fbe8537e0d093 +Author: Nathan Cutler +Date: Thu Jun 25 22:37:52 2015 +0200 + + ceph.spec.in: use _udevrulesdir to eliminate conditionals + + The conditionals governing where 50-rbd.rules is installed were not doing the + right thing on SUSE distros. + + Start using the %_udevrulesdir RPM macro, while taking care that it is defined + and set to the right value. Use it to eliminate some conditionals around other + udev rules files as well. + + http://tracker.ceph.com/issues/12166 Fixes: #12166 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 8aa758ee7a14e93ded1d55b4aca7a54aa47d7174) + + Conflicts: + ceph.spec.in + master spec file has diverged significantly from firefly + +commit bd25136d45d32b8d419fbe60e39572038e33cc59 +Author: Nathan Cutler +Date: Mon Jul 13 18:12:01 2015 +0200 + + ceph.spec.in: do not run fdupes, even on SLE/openSUSE + + In openSUSE there is a policy to use %fdupes in the spec file if RPMLINT + complains about duplicate files wasting space in the filesystem. + + However, RPMLINT is not so complaining, so drop fdupes. + + http://tracker.ceph.com/issues/12301 Fixes: #12301 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 53072b9019caf72e0313b2804ea174237ed7da33) + +commit 2544a6fc59a86d3f02dcd67d3c84a72d7a1100a0 +Author: Nathan Cutler +Date: Tue Jun 16 18:27:20 2015 +0200 + + ceph.spec.in: python-argparse only in Python 2.6 + + argparse is a widely-used Python module for parsing command-line arguments. + Ceph makes heavy use of Python scripts, both in the build environment and on + cluster nodes and clients. + + Until Python 2.6, argparse was distributed separately from Python proper. + As of 2.7 it is part of the Python standard library. + + Although the python package in a given distro may or may not Provide: + python-argparse, this cannot be relied upon. + + Therefore, this commit puts appropriate conditionals around Requires: + python-argparse and BuildRequires: python-argparse. It does so for Red + Hat/CentOS and SUSE only, because the last Fedora version with Python 2.6 + was Fedora 13, which is EOL. + + argparse is required by both the ceph and ceph-common packages, but since ceph + requires ceph-common, the argparse Requires and BuildRequires need only appear + once, under ceph-common. + + http://tracker.ceph.com/issues/12034 Fixes: #12034 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 23171c952997d104cfa6b5700ec0bb658a8e0915) + + Conflicts: + ceph.spec.in + +commit 54264210f4ebec23b08dd6712e09aea49543b52b +Author: Samuel Just +Date: Tue Aug 12 15:24:26 2014 -0700 + + ReplicatedPG::maybe_handle_cache: do not skip promote for write_ordered + + We cannot redirect a RW ordered read. + + Fixes: #9064 + Introduced: 0ed3adc1e0a74bf9548d1d956aece11f019afee0 + Signed-off-by: Samuel Just + (cherry picked from commit 24aeca9c439474b079d23600d8d42c0af5d9ce5c) + +commit 7e2526784203b0f1bce08869aa7b1fda9c5eedd9 +Author: Zhiqiang Wang +Date: Mon Jul 28 14:06:06 2014 +0800 + + osd: promotion on 2nd read for cache tiering + + http://tracker.ceph.com/issues/8674 Fixes: #8674 + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit 0ed3adc1e0a74bf9548d1d956aece11f019afee0) + +commit 66f61cd9ae105948f653fd888812df270ff1e832 +Author: Signed-off-by: Zhiqiang Wang +Date: Thu Jul 31 15:49:44 2014 -0700 + + ceph_test_rados_api_tier: test promote-on-second-read behavior + + http://tracker.ceph.com/issues/8674 References: #8674 + + Signed-off-by: Zhiqiang Wang + Signed-off-by: Sage Weil + (cherry picked from commit 1417eded65f40bdb2a49c8252fcfffa383a7b965) + +commit a8f3d6e1f1f186cbe2299566a575bf5a40500227 +Author: Sage Weil +Date: Fri Jul 11 11:31:22 2014 -0700 + + osd/osd_types: be pedantic about encoding last_force_op_resend without feature bit + + The addition of the value is completely backward compatible, but if the + mon feature bits don't match it can cause monitor scrub noice (due to the + parallel OSDMap encoding). Avoid that by only adding the new field if the + feature (which was added 2 patches after the encoding, see + 3152faf79f498a723ae0fe44301ccb21b15a96ab and + 45e79a17a932192995f8328ae9f6e8a2a6348d10. + + Fixes: #8815 + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit c93da05bd3dd6b73e8cfa182c6349359b042717c) + + Conflicts: + src/osd/osd_types.cc + drop encode_compat variable which is otherwise unused in this context + +commit dc128758bb68a50992819f759b5684ff656406ba +Author: Kefu Chai +Date: Fri May 15 22:50:36 2015 +0800 + + mon: always reply mdsbeacon + + the MDS (Beacon) is always expecting the reply for the mdsbeacon messages from + the lead mon, and it uses the delay as a metric for the laggy-ness of the + Beacon. when it comes to the MDSMonitor on a peon, it will remove the route + session at seeing a reply (route message) from leader, so a reply to + mdsbeacon will stop the peon from resending the mdsbeacon request to the + leader. + + if the MDSMonitor re-forwards the unreplied requests after they are + outdated, there are chances that the requests reflecting old and even wrong + state of the MDSs mislead the lead monitor. for example, the MDSs which sent + the outdated messages could be dead. + + Fixes: #11590 + Signed-off-by: Kefu Chai + (cherry picked from commit b3555e9c328633c9e1fbc27d652c004b30535e5b) + +commit da720d7d870a53faeacc169796083b4eba4b9406 +Author: Kefu Chai +Date: Tue Jun 2 23:20:21 2015 -0700 + + mon/MDSMonitor: rename labels to a better name + + * s/ignore/reply/ + * s/out/ignore/ + + Signed-off-by: Kefu Chai + (cherry picked from commit f00ecb8b3df73ce6337985bc6d43bce5143ee537) + + Conflicts: + src/mon/MDSMonitor.cc + Do not compare known daemon health with m->get_health() + +commit 329da091d6e8444722b312ff94c7093f81939f13 +Author: Kefu Chai +Date: Tue Jun 2 12:55:06 2015 +0800 + + mon: send no_reply() to peon to drop ignored mdsbeacon + + so the peon can remove the ignored mdsbeacon request from the + routed_requets at seeing this reply, and hence no longer resend the + request. + + Fixes: #11590 + Signed-off-by: Kefu Chai + (cherry picked from commit 72a37b3a8e145d8522ea67fc14ce2c5510b6852b) + +commit 508332f53075a99295b9edb683ed343d8f59ca4f +Author: Kefu Chai +Date: Tue Jun 2 12:22:26 2015 +0800 + + mon: remove unnecessary error handling + + msg.get_session() should always return a non-zero pointer in + Monitor.dispatch() + + Signed-off-by: Kefu Chai + (cherry picked from commit 16e8e2cc82a90c49cd8aa3d0e3acc4694ba659a0) + + Conflicts: + src/mon/Monitor.cc + Monitor::_ms_dispatch(Message *m) is bool in firefly + +commit 741f0c235228b371486574ba0c3fbf55729e03bd +Merge: 1623e6c 0a7f2b2 +Author: Samuel Just +Date: Thu Jul 9 17:24:04 2015 -0700 + + Merge pull request #4631 from SUSE/wip-11069-firefly + + PGLog: split divergent priors as well + + Reviewed-by: Samuel Just + +commit 3223bd604117b0b302b1e3e235ff9bced8e986bc +Author: Jason Dillaman +Date: Fri Jun 26 09:59:36 2015 -0400 + + librbd: assertion failure race condition if watch disconnected + + It's possible for librbd's watch of the header object to be reset by + connection issues just prior to the image being removed. This will + causes an assertion failure which assumes at least one watcher on the + image. + + Fixes: #12176 + Backport: hammer, firefly + Signed-off-by: Jason Dillaman + (cherry picked from commit af276de4f299960e43761904c043924cec5fef11) + +commit 2ee6e9a0cc6513097d6c9f9e40787a1c60c09796 +Author: Radoslaw Zarzynski +Date: Sun Mar 8 22:45:34 2015 +0100 + + rgw: send Content-Length in response for HEAD on Swift account. + + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 29073d84640b61d0221b2d2ab73c271d60fd13ba) + +commit 1b4536aa47fd6d2440fbd30b64b5b46eaa21215a +Author: Radoslaw Zarzynski +Date: Fri Mar 6 13:18:19 2015 +0100 + + rgw: send Content-Length in response for DELETE on Swift container. + + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit d260a93405a7a34a899f716bd9c4e731baa9ffd0) + +commit 177324ced968b254458a450f8e348c96cbd10931 +Author: Radoslaw Zarzynski +Date: Fri Mar 6 13:14:26 2015 +0100 + + rgw: send Content-Length in response for PUT on Swift container. + + Fixes: #11036 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 10c1f1aa1e09df5edf5d2f9f9b0273ddbcb384fa) + +commit 0a580c4a23b985ede28cdfc751eed2a368473e09 +Author: Radoslaw Zarzynski +Date: Fri Feb 27 15:23:16 2015 +0100 + + rgw: send Content-Length in response for GET on Swift container. + + Fixes: #10971 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 5a64fb5430b6b42174bf53a5910d9435043c1380) + +commit 84525806a057054dca295f860e0a31d6936d4985 +Author: Radoslaw Zarzynski +Date: Fri Mar 6 12:42:52 2015 +0100 + + rgw: enable end_header() to handle proposal of Content-Length. + + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit f98fd4dfda7a105d621f99c2b48eb9ab9b45d979) + +commit 1d2af55f8c69b4a382eb516d8f90a8316fd3bc02 +Author: Kefu Chai +Date: Fri May 8 15:21:20 2015 +0800 + + mon: remove unused variable + + * as a side effect, this change silences + http://tracker.ceph.com/issues/11576 + + Fixes: #11576 + Signed-off-by: Kefu Chai + (cherry picked from commit e7b196a4a091c0ea258866559ba06e7ed0cc4247) + +commit d296120c144a62794483338fd696ca8089778e84 +Author: Josh Durgin +Date: Mon Oct 20 13:29:13 2014 -0700 + + Objecter: resend linger ops on any interval change + + Watch/notify ops need to be resent after a pg split occurs, as well as + a few other circumstances that the existing objecter checks did not + catch. + + Refactor the check the OSD uses for this to add a version taking the + more basic types instead of the whole OSD map, and stash the needed + info when an op is sent. + + Fixes: #9806 + Backport: giant, firefly, dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit cb9262abd7fd5f0a9f583bd34e4c425a049e56ce) + + Conflicts: + src/osd/osd_types.cc + src/osdc/Objecter.cc + Minor differences. + +commit a44b7b4bd870cc72e50a49900cd81fde6d40845b +Author: Samuel Just +Date: Wed May 7 11:02:16 2014 -0700 + + osd_types: factor out is_new_interval from check_new_interval + + Signed-off-by: Samuel Just + (cherry picked from commit 2ee355113ed4374c664909a8cd7dc5dfdc4c9ed7) + +commit 3f2fb8a996820843d0287a9337d38d80c7cb616b +Author: Xinze Chi +Date: Wed Nov 5 01:00:01 2014 +0000 + + osd: cache pool: flush object ignoring cache min flush age when cache pool is full + Signed-off-by: Xinze Chi + + (cherry picked from commit f4ee9496ed15e7734abd659f5a353a3cde0dcb23) + +commit 9969ae5710bc66e1e96125f22593ea1e0ba381af +Author: Zhiqiang Wang +Date: Fri Aug 1 16:09:50 2014 +0800 + + osd: add local_mtime to struct object_info_t + + This fixes a bug when the time of the OSDs and clients are not + synchronized (especially when client is ahead of OSD), and the cache + tier dirty ratio reaches the threshold, the agent skips the flush work + because it thinks the object is too young. + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit 13b9dc708426c35436ba58388fc54f04f066f03a) + +commit 6793d504b5b622a7a6f69ffb30d6822167b557a3 +Author: Guang Yang +Date: Mon Oct 13 04:18:45 2014 +0000 + + The fix for issue 9614 was not completed, as a result, for those erasure coded PGs with one OSD down, the state was wrongly marked as active+clean+degraded. This patch makes sure the clean flag is not set for such PG. + Signed-off-by: Guang Yang + + (cherry picked from commit 35bbb2d6002b1b435ff0b1df653cc7ab271f9258) + +commit fcac7ab6305dc3215fdcb46951fa9ee4cbf68ce3 +Author: William A. Kennington III +Date: Sat Sep 20 22:52:31 2014 -0700 + + osd: Cleanup boost optionals + + Signed-off-by: William A. Kennington III + (cherry picked from commit a53ead14c113047567177630b4906136a2109b65) + +commit a62c720dc783b40377dcd34d4e53aa778ac1a84b +Author: Sage Weil +Date: Mon Jun 1 15:10:14 2015 -0700 + + Makefile: install ceph-post-file keys with mode 600 + + Otherwise ssh (may) prompt for a password. + + Signed-off-by: Sage Weil + (cherry picked from commit 106a1c3081d02446aa3d8e13865da0c3393bae90) + +commit fc59ca391f639b2ef1b5c9dda202a3d7d718cf25 +Author: Joseph McDonald +Date: Mon Jun 1 15:05:32 2015 -0700 + + ceph-post-file: improve check for a source install + + Signed-off-by: Joseph McDonald + (cherry picked from commit ee170eadcdcb4b54d36a7d474558484de9d917eb) + +commit 50bfb354d0648162f94c2659e8b915d69f27bf73 +Author: Joseph McDonald +Date: Mon Jun 1 15:00:39 2015 -0700 + + ceph-post-file: behave when sftp doesn't take -i + + Fixes: #11836 + Signed-off-by: Joseph McDonald + (cherry picked from commit b84031ed5eaace1222e14d3c4076a3ab1155da96) + +commit 1623e6c6517ff6958b343493fce6a8e50a52a042 +Merge: ea6c958 254676b +Author: David Zafman +Date: Fri Jun 19 15:57:46 2015 -0700 + + Merge pull request #4960 from ceph/wip-10911-firefly + + osd,mon: explicitly specify OSD features in MOSDBoot + + Reviewed-by: David Zafman + +commit 254676b63b559fa0117520edb5dcbfe067a76747 (refs/remotes/jashan/wip-10911-firefly) +Author: Sage Weil +Date: Wed Feb 18 14:53:04 2015 -0800 + + osd,mon: explicitly specify OSD features in MOSDBoot + + We are using the connection features to populate the features field in the + OSDMap, but this is the *intersection* of mon and osd features, not the + osd features. Fix this by explicitly specifying the features in + MOSDBoot. + + Fixes: #10911 + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit bee91548b07c6a28314dddc50fef8b6a2677e774) + + Conflicts: + src/osd/OSD.cc + Minor difference in the MOSDBoot constructor + +commit b1ff7396c8e9668c0be1a4023e0ffa292067cf64 +Author: xinxin shu +Date: Thu May 7 05:49:18 2015 +0800 + + osdc: add epoch_t last_force_resend in Op/LingerOp. + + Using this field record the pg_poo_t::last_force_op_resend to avoid op + endless when osd reply with redirect. + + Fixes: #11026 + Signed-off-by: Jianpeng Ma + Signed-off-by: Sage Weil + (cherry picked from commit def4fc4a) + +commit 90a1a7587fcb567e2cc6e9188fdd56ec1255a881 +Author: islepnev +Date: Fri Apr 17 22:33:01 2015 +0300 + + ceph-disk: support NVMe device partitions + + Linux nvme kernel module v0.9 enumerate devices as following: + + /dev/nvme0 - characted revice + /dev/nvme0n1 - whole block device + /dev/nvme0n1p1 - first partition + /dev/nvme0n1p2 - second partition + + http://tracker.ceph.com/issues/11612 Fixes: #11612 + + Signed-off-by: Ilja Slepnev + (cherry picked from commit 9b62cf254d02d30609793be8b1cb8a94f38891f1) + + Conflicts: + src/ceph-disk + +commit f93eadd793f9f4fded30df5589f98ccfc0e1839f +Author: Sage Weil +Date: Tue May 12 16:37:56 2015 -0700 + + mon: prevent bucket deletion when referenced by a rule + + If a rule references a bucket with 'take', prevent deletion. + + Fixes: #11602 + Signed-off-by: Sage Weil + (cherry picked from commit 3d591afef90b0601572c748f13faac029d05f5a0) + +commit d4ef5566e6b1b2ac73925660a1d627dbb6cc7632 +Author: Anton Aksola +Date: Fri Apr 10 13:25:21 2015 +0300 + + rgw: always check if token is expired + + Fixes: #11367 + + Currently token expiration is only checked by the token cache. With PKI + tokens no expiration check is done after decoding the token. This causes + PKI tokens to be valid indefinitely. UUID tokens are validated by + keystone after cache miss so they are not affected by this bug. + + This commit adds explicit token expiration check to + RGWSwift::validate_keystone_token() + + Signed-off-by: Anton Aksola + Reported-by: Riku Lehto + (cherry picked from commit 2df069390ea3bbcfbab5022750e89f51d197cc11) + +commit 2d5d8da35f627840ee57a8fa071147943b890d0c +Author: Javier M. Mellid +Date: Fri May 15 14:22:29 2015 +0200 + + rgw: Use attrs from source bucket on copy + + On copy objects, when bucket source is the same as the destination, use attrs + from source bucket. + + Fixes: #11639 + + Signed-off-by: Javier M. Mellid + (cherry picked from commit 1dac80df1d4a2364154ed8b404d13609936c257b) + +commit d78e31f005756700e15d26d187c6cef6d5d24a7a +Author: 9seconds +Date: Wed Apr 1 09:12:06 2015 +0300 + + rgw: quota not respected in POST object + + Signed-off-by: Sergey Arkhipov + Backport: hammer, firefly + Fixes: #11323 + (cherry picked from commit e76f84e179d2ba8bfc0dc5abf4e620fef14bc8a0) + + Conflicts: + src/rgw/rgw_op.cc + discard the whitespace modification hunks that were creating + conflicts and ignore the conflict due to an unrelated cast + modification in the context + +commit 177ef55d61c9b08783ae746aa521d2535324d6ba +Author: Orit Wasserman +Date: Fri Apr 3 13:43:31 2015 +0200 + + rgw: remove meta file after deleting bucket + The meta file is deleted only if the bucket meta data is not synced + + Signed-off-by: Orit Wasserman + + Fixes: #11149 + Backport: hammer, firefly + (cherry picked from commit dfdc7afb59cc8e32cf8bff55faa09076c853de06) + +commit 9845258f184c823d1e48da1dcb97bdde97220bb6 +Author: Jason Dillaman +Date: Wed Apr 22 11:27:35 2015 -0400 + + librbd: updated cache max objects calculation + + The previous calculation was based upon the image's object size. + Since the cache stores smaller bufferheads, the object size is not + a good indicator of cache usage and was resulting in objects being + evicted from the cache too often. Instead, base the max number of + objects on the memory load required to store the extra metadata + for the objects. + + Fixes: #7385 + Backport: firefly, hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 0b378942c4f1b79cb65967f2d3466728ca1c8d5b) + + Conflicts: + src/librbd/ImageCtx.cc + because firefly has cct->_conf->rbd_cache_size + instead of cache_size + +commit 0a7f2b2a859aefebc995ad5c7b699eb117d6fa12 +Author: Nathan Cutler +Date: Sun May 10 17:13:22 2015 +0200 + + PGLog: split divergent priors as well + + Signed-off-by: Samuel Just + (cherry picked from commit bbe231a61fc06a1a668e6b831fb8224526721f93) + + Conflicts: + src/osd/PGLog.h + + The cherry-picked commit did not compile as-is, because the hobject_t + class in firefly lacks a get_hash() method, which was added in 6de83d4. + To get the patch to compile, I replaced i->second.get_hash() with + i->second.hash. + +commit 424289dc4ee8fb09dd00d507b5a9d1fecc786937 +Author: Kefu Chai +Date: Fri May 8 12:01:16 2015 +0800 + + json_sprit: fix the FTBFS on old gcc + + Fixes: #11574 + Signed-off-by: Kefu Chai + (cherry picked from commit 6b68b27146852f057a3373cd04b08cd6917f3eea) + +commit 84b00f189554fc37413c990ac4011079bb5cdb60 +Author: Tim Serong +Date: Sat May 2 01:59:53 2015 +1000 + + json_spirit: use utf8 intenally when parsing \uHHHH + + When the python CLI is given non-ASCII characters, it converts them to + \uHHHH escapes in JSON. json_spirit parses these internally into 16 bit + characters, which could only work if json_spirit were built to use + std::wstring, which it isn't; it's using std::string, so the high byte + ends up being zero'd, leaving the low byte which is effectively garbage. + + This hack^H^H^H^H change makes json_spirit convert to utf8 internally + instead, which can be stored just fine inside a std::string. + + Note that this implementation still assumes \uHHHH escapes are four hex + digits, so it'll only cope with characters in the Basic Multilingual + Plane. Still, that's rather a lot more characters than it could cope + with before ;) + + (For characters outside the BMP, Python seems to generate escapes in the + form \uHHHHHHHH, i.e. 8 hex digits, which the current implementation + doesn't expect to see) + + Fixes: #7387 + + Signed-off-by: Tim Serong + (cherry picked from commit 8add15b86e7aaef41397ab8fa9e77ee7957eb607) + + Conflicts: + src/test/mon/osd-pool-create.sh + + Changed $CEPH_MON to 127.0.0.1 -- the CEPH_MON was introduced after + firefly to allow tests to run in parallel. Back in firefly all tests + use the same port because 127.0.0.1 was hardcoded. We can't + conveniently backport all that's necessary for tests to run in + parallel, therefore we keep the 127.0.0.1 hardcoded. + +commit 10d85e1126768f6c72f7d2a301ea7ca9ba59f8e0 +Author: Owen Synge +Date: Tue Mar 17 15:41:33 2015 +0100 + + Fix "disk zap" sgdisk invocation + + Fixes #11143 + + If the metadata on the disk is truly invalid, sgdisk would fail to zero + it in one go, because --mbrtogpt apparently tried to operate on the + metadata it read before executing --zap-all. + + Splitting this up into two separate invocations to first zap everything + and then clear it properly fixes this issue. + + Based on patch by Lars Marowsky-Bree in ceph-deploy. + Created by Vincent Untz + + Signed-off-by: Owen Synge + Signed-off-by: Thorsten Behrens + (cherry picked from commit fdd7f8d83afa25c4e09aaedd90ab93f3b64a677b) + +commit b06114088a354f9dbcfc9182643733399c31f2a8 +Author: Jon Bernard +Date: Fri May 8 11:54:06 2015 -0400 + + common/admin_socket: close socket descriptor in destructor + + Long-running processes that do not reuse a single client connection will + see accumulating file descriptors as a result of not closing the + listening socket. In this case, eventually the system will reach + file-max and subsequent connections will fail. + + Fixes: #11535 + + Signed-off-by: Jon Bernard + (cherry picked from commit 88fabb1ee6cd3c7d211ca46919055195e32245db) + +commit 8372f1d53b847224bf4c61894d18851e84ccd357 +Author: Jianpeng Ma +Date: Fri Mar 6 15:54:07 2015 +0800 + + osd: refuse to write a new erasure coded object with an offset > 0 + + Even if the offset is properly aligned. + + http://tracker.ceph.com/issues/11507 Fixes: #11507 + + Signed-off-by: Jianpeng Ma + Signed-off-by: Loic Dachary + (cherry picked from commit a4f1256c214ee0e7ebb91ac4ea8655f5d9642dc8) + +commit 909096713dcef5dc4fdbb22a9971609554688e23 +Author: Loic Dachary +Date: Sun Mar 8 15:15:35 2015 +0100 + + ceph-disk: more robust parted output parser + + In some cases, depending on the implementation or the operating system, + + parted --machine -- /dev/sdh print + + may contain empty lines. The current parsing code is fragile and highly + depends on output details. Replace it with code that basically does the + same sanity checks (output not empty, existence of units, existence of + the dev entry) but handles the entire output instead of checking line by + line. + + http://tracker.ceph.com/issues/10983 Fixes: #10983 + + Signed-off-by: Loic Dachary + (cherry picked from commit f5acf6bb6a342b05897605703d7d9cb7c09714fd) + +commit 8c573c8826096d90dc7dfb9fd0126b9983bc15eb +Author: Yehuda Sadeh +Date: Tue Sep 30 14:15:47 2014 -0700 + + rgw: swift GET / HEAD object returns X-Timestamp field + + Fixes: #8911 + Backport: giant, firefly, dumpling + Swift clients expect X-Timestamp header, dump it. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5b41d80b7fb9ed96c26801fc42c044191bb18d84) + +commit 9614e4dc5be745dab367d17f29a07377e348b2ca +Author: Daniel J. Hofmann +Date: Mon May 5 16:06:45 2014 +0200 + + Variable length array of std::strings (not legal in C++) changed to std::vector + + Signed-off-by: Daniel J. Hofmann + (cherry picked from commit 08a4e8889783673436972a979c2fc780466893c8) + +commit 2cb2333ecdf2106925d74e024697f73ad947f378 +Author: Thorsten Behrens +Date: Thu Jul 3 00:15:03 2014 +0200 + + ceph_argparse_flag has no regular 3rd parameter. + + With clang warning: 'va_start' has undefined behavior with reference + types, noticing copy-paste mistake on ceph_argparse_flag. + + Signed-off-by: Thorsten Behrens + (cherry picked from commit 0c7c7223a2beb4ffb953d89d316f87d350677063) + +commit f6022639758ec13b9a25b03cd831882db0b517b3 +Author: Yehuda Sadeh +Date: Wed Dec 17 17:12:43 2014 -0800 + + rgw: use correct objv_tracker for bucket instance + + When trying to create a bucket that already existed, use the + objv_tracker of the newly created instance, and not of the original + bucket. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit fe158ecc25feefcea8aea4133118e4a84900a8ec) diff --git a/doc/changelog/v0.80.2.txt b/doc/changelog/v0.80.2.txt new file mode 100644 index 00000000..1b4a857d --- /dev/null +++ b/doc/changelog/v0.80.2.txt @@ -0,0 +1,1187 @@ +commit 198236d68deceb16b6b590d807786a140209bfea (tag: refs/tags/v0.80.2, refs/remotes/gh/last) +Author: Jenkins +Date: Wed Jul 9 19:32:26 2014 +0000 + + 0.80.2 + +commit 0b6bd2545925b5e8a80d41de1fda13ffe9d30e2b +Author: Josh Durgin +Date: Wed Jul 9 12:04:49 2014 -0700 + + Revert "rgw: if extra data pool name is empty, use data pool name instead" + + This breaks multipart uploads on firefly, though not on master. + Revert for now so we can release 0.80.2. + + This reverts commit 5fd8b0d1639c67e355f0fc0d7e6d7036618d87a1. + +commit 9426c4faa9ca327f18f20a57ba772b08d6f069e7 +Merge: b81a277 4733178 +Author: Sage Weil +Date: Tue Jul 8 10:06:01 2014 -0700 + + Merge pull request #2083 from ceph/wip-8727.firefly + + messages: MForward: fix compat version + + Reviewed-by: Sage Weil + +commit 4733178c3a8f57c54196f176b20154415783dba0 +Author: Joao Eduardo Luis +Date: Tue Jul 8 16:46:27 2014 +0100 + + messages: MForward: fix compat version + + A while ago we bumped the head version and reset the compat version to 0. + Doing this so happens to make the messenger assume that the message does + not support the compat versioning and sets the compat version to the head + version -- thus making compat = 2 when it should have been 1. + + The nasty side-effect of this is that upgrading from emperor to firefly + will have emperor-leaders being unable to decode forwarded messages from + firefly-peons. + + Fixes: #8727 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit c92feebb81f90344a085f8256f0ed03cdc2f14e1) + +commit b81a2777aea636ffe544e737cd8e17dc892ba328 +Author: Dan Mick +Date: Thu Jul 3 16:11:24 2014 -0700 + + ceph.spec.in: add bash completion file for radosgw-admin + + Signed-off-by: Sandon Van Ness + (cherry picked from commit b70096307130bcbac176704493a63c5d039d3edc) + +commit 4649d7e90ffec89b452aef69cf833522bdb81f88 +Author: Dan Mick +Date: Thu Jul 3 16:10:55 2014 -0700 + + ceph.spec.in: rhel7-related changes: + + udev rules: /lib -> /usr/lib + /sbin binaries move to /usr/sbin or %{_sbindir} + + Signed-off-by: Sandon Van Ness + (cherry picked from commit 235e4c7de8f8efe491edefbdde8e5da4dfc44034) + + Conflicts: + ceph.spec.in + +commit 38a9566e70d3a2de80c7547fd4e84c8372639f80 +Author: Dan Mick +Date: Thu Jul 3 16:08:44 2014 -0700 + + Fix/add missing dependencies: + + - rbd-fuse depends on librados2/librbd1 + - ceph-devel depends on specific releases of libs and libcephfs_jni1 + - librbd1 depends on librados2 + - python-ceph does not depend on libcephfs1 + + Signed-off-by: Sandon Van Ness + (cherry picked from commit 7cf81322391b629b241da90181800ca1f138ce78) + + Conflicts: + ceph.spec.in + +commit 733c89dc6af89321ee58ad78b30bc6a0c4e78291 +Author: Dan Mick +Date: Thu Jul 3 16:05:00 2014 -0700 + + ceph.spec.in: whitespace fixes + + Signed-off-by: Sandon Van Ness + (cherry picked from commit ec8af52a5ede78511423a1455a496d46d580c644) + + Conflicts: + ceph.spec.in + +commit 21b03bc96ab1a0877235f1e3e4a96899cba2b4fa +Author: Dan Mick +Date: Thu Jul 3 16:04:10 2014 -0700 + + ceph.spec.in: split out ceph-common as in Debian + + Move files, postun scriptlet, and add dependencies on ceph-common + where appropriate + + Signed-off-by: Sandon Van Ness + (cherry picked from commit e131b9d5a5e90e87d8a8346cb96cb5a26135c144) + +commit dbee797d1344aec47fedc8d3fdd6c9460e0ffa16 +Merge: 6d6039a 9e81fc1 +Author: Sage Weil +Date: Mon Jul 7 09:40:51 2014 -0700 + + Merge pull request #2057 from ceph/wip-8593-firefly + + mon: backport health check improvements + + Reviewed-by: Joao Eduardo Luis + +commit 6d6039a5a56743c006a0d081157cb6ee9e3b7af6 +Author: Greg Farnum +Date: Thu Jul 3 16:30:49 2014 -0700 + + mon: check changes to the whole CRUSH map and to tunables against cluster features + + When we change the tunables, or set a new CRUSH map, we need to make sure it's + supported by all the monitors and OSDs currently participating in the cluster. + + Fixes: #8738 + + Signed-off-by: Greg Farnum + (cherry picked from commit 54af8104816ccc76aad251aa47a6efc1bf879e7d) + +commit 0a8d194f2c44a73c31ae8c52fabb430d66d4a1b1 +Author: Greg Farnum +Date: Thu Jul 3 15:24:30 2014 -0700 + + OSDMonitor: fix quorum_features comparison in check_cluster_features + + We need to see if there's a feature which is not in the quorum_features, + not if there are no features in common! + + Signed-off-by: Greg Farnum + (cherry picked from commit 2280c0eaa9f3f733062085a5e7f7dc23c3bbe291) + +commit a49c61222f8014db533d8f505ec44d10dc5478e6 +Author: Sage Weil +Date: Mon Jun 16 12:57:36 2014 -0700 + + ceph_test_rados_api_tier: disable LibRadosTierECPP::HitSetWrite + + Disable this test until hitget-get reliably works on EC pools (currently + it does not, and this test usually passes only because we get the in-memory + HitSet). + + Signed-off-by: Sage Weil + (cherry picked from commit c5b5ed672c039cc4fa04772e065a59d3b1df803a) + +commit 828ce4055c8580e42175159c02a9dfa76bc414ff +Merge: b9b498e b1a4a7c +Author: Sage Weil +Date: Fri Jul 4 21:18:32 2014 -0700 + + Merge pull request #2073 from ceph/wip-rgw-firefly-2 + + rgw: more firefly backports + + Reviewed-by: Yehuda Sadeh + +commit b1a4a7cb91e164d1f8af8ce9319e3b3c1949858d +Author: Yehuda Sadeh +Date: Wed Jun 11 16:50:41 2014 -0700 + + rgw: set a default data extra pool name + + Fixes: #8585 + Have a default name for the data extra pool, otherwise it would be empty + which means that it'd default to the data pool name (which is a problem + with ec backends). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b2542f8e880e45bb6d052f13eb3ef6a7c61e4cd4) + +commit b9b498e6a7794205af8aa99ffe5266e478c0e711 +Merge: f285266 053c261 +Author: Sage Weil +Date: Thu Jul 3 07:00:52 2014 -0700 + + Merge pull request #2028 from ceph/wip-rgw-firefly + + rgw: a couple backports for firefly + + Passed the rgw suite, modulo a python bootstrap issue. + + sage-2014-07-01_09:50:22-rgw-wip-rgw-firefly-testing-basic-plana/337393 + + Reviewed-by: Yehuda Sadeh + +commit 9f06e2c16e409a9a8284af9964f0cfff6e222164 +Author: Sage Weil +Date: Mon Jun 30 12:55:45 2014 -0700 + + rgw: fix uninit ofs in RGWObjManifect::obj_iterator + + Valgrind picked this up: + + UninitCondition + Conditional jump or move depends on uninitialised value(s) + + + 0x5145B8 + /usr/bin/radosgw + RGWObjManifest::obj_iterator::seek(unsigned long) + /srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw + rgw_rados.cc + 562 + + + 0x5672A4 + /usr/bin/radosgw + list_multipart_parts(RGWRados*, req_state*, std::string const&, std::string&, int, int, std::map<unsigned int, RGWUploadPartInfo, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, RGWUploadPartInfo> > >&, int*, bool*, bool) + /srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw + rgw_rados.h + 217 + + + 0x5688EE + /usr/bin/radosgw + RGWListMultipart::execute() + /srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw + rgw_op.cc + 2956 + + ... + + Fixes: #8699 + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit e0d3b78b6af523ae77b0cee385cd40f67f7a0ab6) + +commit 5fd8b0d1639c67e355f0fc0d7e6d7036618d87a1 +Author: Yehuda Sadeh +Date: Fri May 30 14:47:25 2014 -0700 + + rgw: if extra data pool name is empty, use data pool name instead + + Fixes: #8311 + An empty pool name could be used as the extra data pool. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b300318113b162522759d4794b1cfa3d1d9398e4) + +commit cbad09e1907ceac4feb069f9cf257e580f36da91 +Author: Yehuda Sadeh +Date: Tue May 6 15:35:20 2014 -0700 + + rgw: extend manifest to avoid old style manifest + + In case we hit issue #8269 we'd like to avoid creating an old style + manifest. Since we need to have parts that use different prefix we add a + new rule param that overrides the manifest prefix. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 545d8ad1d2dfe53b967ab1bd17dfeb1780abbb5e) + +commit ea68b9372319fd0bab40856db26528d36359102e +Author: Yehuda Sadeh +Date: Fri May 2 17:06:05 2014 -0700 + + rgw: don't allow multiple writers to same multiobject part + + Fixes: #8269 + Backport: firefly, dumpling + + A client might need to retry a multipart part write. The original thread + might race with the new one, trying to clean up after it, clobbering the + part's data. + The fix is to detect whether an original part already existed, and if so + use a different part name for it. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit bd8e026f88b812cc70caf6232c247844df5d99bf) + +commit f285266a320bf22df8b09a669d1c1fd400b05765 +Merge: d43e711 6a0dd1b +Author: Sage Weil +Date: Tue Jul 1 16:16:09 2014 -0700 + + Merge pull request #2056 from ceph/wip-8010 + + Revert "mon: OSDMonitor: Refuse to delete CephFS pools" + + Reviewed-by: Sage Weil + +commit 9e81fc180a3999ebec95949a2cb31fea970573fb +Author: Sage Weil +Date: Mon Jun 16 17:00:51 2014 -0700 + + mon: ensure HealthService warning(s) include a summary + + The low disk space check would change our status to HEALTH_WARN and include + a detail message, but no summary. We need both. + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 3ed7f2dd4345633ff34017b201082f4c261ef387) + +commit e96637c2e33ec092f28af0ce96bfe2e4d7748ff8 +Author: Sage Weil +Date: Mon Jun 16 16:58:14 2014 -0700 + + mon: refactor check_health() + + Refactor the get_health() methods to always take both a summary and detail. + Eliminate the return value and pull that directly from the summary, as we + already do with the PaxosServices. + + Signed-off-by: Sage Weil + (cherry picked from commit 82e47db8073b622183a5e33f6e0b999a3a144804) + +commit 28584200df36dda5d434d4d7f58585933905de30 +Author: Sage Weil +Date: Mon Jun 16 16:40:05 2014 -0700 + + mon: fix typos, punctuation for mon disk space warning(s) + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 98883f6308ce72f69a71feab29ef00e13f319cdb) + + Conflicts: + + src/mon/DataHealthService.cc + +commit 4f0666085e2fd553ccc05cef8510aae820849aca +Author: Sage Weil +Date: Mon Jun 16 16:27:05 2014 -0700 + + mon/OSDMonitor: make down osd count sensible + + We currently log something like + + 1/10 in osds are down + + in the health warning when there are down OSDs, but this is based on a + comparison of the number of up vs the number of in osds, and makes no sense + when there are up osds that are not in. + + Instead, count only the number OSDs that are both down and in (relative to + the total number of OSDs in) and warn about that. This means that, if a + disk fails, and we mark it out, and the cluster fully repairs itself, it + will go back to a HEALTH_OK state. + + I think that is a good thing, and certainly preferable to the current + nonsense. If we want to distinguish between down+out OSDs that were failed + vs those that have been "acknowledged" by an admin to be dead, we will + need to add some additional state (possibly reusing the AUTOOUT flag?), but + that will require more discussion. + + Backport: firefly (maybe) + Signed-off-by: Sage Weil + (cherry picked from commit 55a97787088b79356c678a909b2410b3924e7f5b) + +commit 6a0dd1be909b423f52e2c7f11531b278dc8838ae +Author: John Spray +Date: Tue Jul 1 22:04:25 2014 +0100 + + Revert "mon: OSDMonitor: Refuse to delete CephFS pools" + + This reverts commit c7d265a9b276aad5caf9b35f3ce8bc7bdd169f0f. + + Because this pre-dates the `fs rm` command, this change was + preventing firefly users from ever deleting their filesystem pools. + + Fixes: #8010 + + Signed-off-by: John Spray + +commit 053c261e5bfcb4d39770048775515eb6a667f987 +Author: Yehuda Sadeh +Date: Wed Jun 4 09:24:33 2014 -0700 + + rgw: set meta object in extra flag when initializing it + + As part of the fix for 8452 we moved the meta object initialization. + Missed moving the extra flag initialization that is needed. This breaks + setups where there's a separate extra pool (needed in ec backends). + + Reported-by: Sylvain Munaut + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 703d0eb9bffdf6c553b659728a3a07f068fb15ee) + +commit d43e7113dd501aea1db33fdae30d56e96e9c3897 +Author: Sage Weil +Date: Mon Jun 30 07:05:04 2014 -0700 + + qa/workunits/suites/fsx.sh: don't use zero range + + Zero range is not supported by cephfs. + + Fixes: #8542 + Signed-off-by: Sage Weil + (cherry picked from commit 2dec8a810060f65d022c06e82090b4aa5ccec0cb) + +commit ee0d322c0b1ebaba2f225b8bed9af2948fdcf4c3 +Merge: 3ceafcf a7119c3 +Author: Loic Dachary +Date: Mon Jun 30 17:01:03 2014 +0200 + + Merge pull request #1991 from dachary/wip-8307-erasure-code-profile-implicit-creation + + erasure code profile implicit creation (firefly backport) + + Reviewed-by: Joao Eduardo Luis + +commit a7119c31e9a1b415f56426d2b4cd362357ad8b17 +Author: Loic Dachary +Date: Wed Jun 11 22:44:57 2014 +0200 + + erasure-code: pool create must not create profiles + + If a non existent profile is provided as an argument to osd pool create, + it must exit on error and not create the profile as a side effect. + + http://tracker.ceph.com/issues/8307 refs: #8307 + + Signed-off-by: Loic Dachary + (cherry picked from commit ff2eb234e63cd281b40405cb3397da5babda943f) + +commit a67c1c1c51b111f40819643530e07f8026227caa +Author: Loic Dachary +Date: Wed Jun 11 22:47:49 2014 +0200 + + erasure-code: OSDMonitor::get_erasure_code is a const + + If it is not, the non const version of OSDMap::get_erasure_code_profile + is called and a profile is created as a side effect, which is not + intended. + + http://tracker.ceph.com/issues/8307 refs: #8307 + + Signed-off-by: Loic Dachary + (cherry picked from commit 3c638111a4943758b6089c63a42aabbf281ac257) + +commit 3ceafcf3576efaef58dffbe70654baf1db4f3a1d +Author: Loic Dachary +Date: Tue May 27 10:06:46 2014 +0200 + + mon: fix set cache_target_full_ratio + + It was a noop because it was incorrectly using the variable n. Add a + test to protect against regression. + + http://tracker.ceph.com/issues/8440 Fixes: #8440 + + Reported-by: Geoffrey Hartz + Signed-off-by: Loic Dachary + (cherry picked from commit c2225f874dcf37222d831b65b5a319d598d2fcd9) + +commit 5f66a2c99fdef2c8d609126740ca790ce10e67a4 +Author: Yehuda Sadeh +Date: Mon Jun 16 11:48:24 2014 -0700 + + rgw: allocate enough space for bucket instance id + + Fixes: #8608 + Backport: dumpling, firefly + Bucket instance id is a concatenation of zone name, rados instance id, + and a running counter. We need to allocate enough space to account zone + name length. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d2e86a66ca55685e04ffbfaa58452af59f381277) + +commit 84d7971c8e50e7d35d7a5fac9353e687f168a1a1 +Author: Alfredo Deza +Date: Fri Jun 20 11:14:25 2014 -0400 + + log the command that is being run with subprocess + + Signed-off-by: Alfredo Deza + (cherry picked from commit e189a668285f9ab73116bc19f9df1cc515473541) + +commit 291d448478360a1be0a9826ada58c94ecd643ad0 +Author: Yehuda Sadeh +Date: Fri May 30 16:17:47 2014 -0700 + + rgw: fetch object attrs on multipart completion + + Fixes: #8452 + Backport: firefly + This fixes a regression following a code cleanup. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 70afaaabf979d4cc1a14dbc2b772224cbafcac2f) + +commit 2fd808fe93fe0cbd8754eb81d281c83254411039 +Author: Yehuda Sadeh +Date: Thu May 22 18:27:58 2014 -0700 + + rgw: check appropriate entity permission on put_metadata + + Fixes: #8428 + Backport: firefly + + Cannot use verify_object_permission() to test acls, as the operation + here might either be on object or on bucket. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 2ceb13af34bc38b418bb88d81131d770a71159bf) + +commit d1afeb38b522baae1b15a7a3548002c830bb7567 +Author: Ilya Dryomov +Date: Thu Jun 5 10:08:42 2014 +0400 + + XfsFileStoreBackend: call ioctl(XFS_IOC_FSSETXATTR) less often + + No need to call ioctl(XFS_IOC_FSSETXATTR) if extsize is already set to + the value we want or if any extents are allocated - XFS will refuse to + change extsize in that's the case. + + Fixes: #8241 + Signed-off-by: Ilya Dryomov + (cherry picked from commit bc3b30ed09b8f3eb86b61e3a05ccacfd928faa95) + +commit 7b8e5c99a4a40ae788ad29e36b0d714f529b12eb +Author: John Spray +Date: Tue May 20 16:25:19 2014 +0100 + + mon: Fix default replicated pool ruleset choice + + Specifically, in the case where the configured + default ruleset is CEPH_DEFAULT_CRUSH_REPLICATED_RULESET, + instead of assuming ruleset 0 exists, choose the lowest + numbered ruleset. + + In the case where an explicit ruleset is passed to + OSDMonitor::prepare_pool_crush_ruleset, verify + that it really exists. + + The idea is to eliminate cases where a pool could + exist with its crush ruleset set to something + other than a value ruleset ID. + + Fixes: #8373 + + Signed-off-by: John Spray + (cherry picked from commit 1d9e4ac2e2bedfd40ee2d91a4a6098150af9b5df) + + Conflicts: + + src/crush/CrushWrapper.h + +commit 25a4a874c8e53cd644d6705478fbea4fdb232c4d +Author: Yehuda Sadeh +Date: Fri May 23 14:58:54 2014 -0700 + + rgw: calc md5 and compare if user provided appropriate header + + Fixes: #8436 + Backport: firefly + + This was broken in ddc2e1a8e39a5c6b9b224c3eebd1c0e762ca5782. The fix + resurrects and old check that was dropped. + + Signed-off-by: Yehuda Sadeh + Reviewed-by: Sage Weil + (cherry picked from commit 9c56c86bdac6bcb8e76c3f04e7d393e4eaadd721) + +commit ad18a45a71be34899d9400c8bdef39d0548f9aaf +Author: Yehuda Sadeh +Date: Mon Apr 21 15:07:12 2014 -0700 + + rgw: calculate user manifest + + Fixes: #8169 + Backport: firefly + We didn't calculate the user manifest's object etag at all. The etag + needs to be the md5 of the contantenation of all the parts' etags. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ddc2e1a8e39a5c6b9b224c3eebd1c0e762ca5782) + +commit 6aa7f7ee4e082819decc48da1f0eaffc4e616302 +Author: Sage Weil +Date: Tue Jun 3 11:45:20 2014 -0700 + + librados: simplify/fix rados_pool_list bounds checks + + We were not breaking out of the loop when we filled up the buffer unless + we happened to do so on a pool name boundary. This means that len would + roll over (it was unsigned). In my case, I was not able to reproduce + anything particularly bad since (I think) the strncpy was interpreting the + large unsigned value as signed, but in any case this fixes it, simplifies + the arithmetic, and adds a simple test. + + - use a single 'rl' value for the amount of buffer space we want to + consume + - use this to check that there is room and also as the strncat length + - rely on the initial memset to ensure that the trailing 0 is in place. + + Fixes: #8447 + Signed-off-by: Sage Weil + (cherry picked from commit 3ec32a6bb11d92e36a0e6381b40ce2fd1fbb016a) + +commit 2ba03e08f1bce0a8af87014583d635eb5c0aa376 +Merge: 50dc246 3ad451e +Author: Sage Weil +Date: Wed Jun 25 12:42:11 2014 -0700 + + Merge pull request #1982 from accelazh/firefly-fix-issue-8256 + + Make in "ceph osd tier --help" clearer (fix issue 8256). + + Reviewed-by: Loic Dachary + +commit 50dc2462ab96c3457b08c50b4cc07676b50dbf72 +Author: Samuel Just +Date: Tue Jun 3 16:14:15 2014 -0700 + + OSD::calc_priors_during: handle CRUSH_ITEM_NONE correctly + + Fixes: #8507 + Signed-off-by: Samuel Just + (cherry picked from commit 0bd6f6797c69af9aff851033c57c42121671c684) + + Conflicts: + src/osd/OSD.cc + +commit a53bcf2357c7f351ad520039774d895b8c27987f +Author: Samuel Just +Date: Tue Jun 3 16:11:32 2014 -0700 + + OSD::calc_priors_during: fix confusing for loop bracing (cosmetic) + + Confusing lack of braces is confusing. + + Signed-off-by: Samuel Just + (cherry picked from commit d76936b92300be5cc403fd5a36616a2424c7877d) + + Conflicts: + src/osd/OSD.cc + +commit 178e6f0f422c9f1b8a51d0e9c364773397a4555f +Author: Samuel Just +Date: Tue Jun 24 10:11:21 2014 -0700 + + rados.cc: fix pool alignment check + + Only check pool alignment if io_ctx is initialized. + + Introduced in 304b08a23a3db57010078046955a786fe3589ef8 + Fixes: #8652 + Signed-off-by: Samuel Just + + (cherry picked from commit d7350a3741bf4cdb270c6361e68090fe280cf36d) + + Conflicts: + src/tools/rados/rados.cc + +commit a9f97f8cae5b9d0245e0b0842c5c581cdacbb2da +Author: Sage Weil +Date: Tue Jun 17 13:33:14 2014 -0700 + + osd: fix filestore perf stats update + + Update the struct we are about to send, not the (unlocked!) one we will + send the next time around. + + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 4afffb4a10a0bbf7f2018ef3ed6b167c7921e46b) + +commit b758fd5f0ebcccdb1641a852d40ee880bad01107 +Author: Greg Farnum +Date: Thu Apr 24 15:34:24 2014 -0700 + + FileStore: set XATTR_NO_SPILL_OUT when creating new files. + + Fixes: #8205 + Backport: firefly + + Signed-off-by: Greg Farnum + (cherry picked from commit e3b995e1567f3ccc6d00ae27ab2aa99ca157228a) + +commit d6f302314fc3580dfc746c9d82bd2f7f0bc87d42 +Author: Haomai Wang +Date: Sat Jun 7 14:32:23 2014 +0800 + + FileStore: make _clone() copy spill out marker + + Previously we were not doing so, and that resulted in unpredictable loss + of xattrs from the client's perspective. + + Signed-off-by: Haomai Wang + Reviewed-by: Greg Farnum + (cherry picked from commit 239476a92849159d2a8966d90ca055c116bee91e) + +commit bb2ed23d8129c8db628475d744656b9b43f839c0 +Author: Loic Dachary +Date: Wed Jun 18 17:01:54 2014 +0200 + + erasure-code: verify that rados put enforces alignment + + http://tracker.ceph.com/issues/8622 refs: #8622 + + Signed-off-by: Loic Dachary + (cherry picked from commit b46c4056014dd6de5e3bd736f2c41f096ea708b4) + +commit dece65064d949b5afcc359cd408615883b5e002a +Author: Lluis Pamies-Juarez +Date: Wed Jun 18 10:00:09 2014 -0700 + + enforce rados put aligment + + Signed-off-by: Lluis Pamies-Juarez + (cherry picked from commit 304b08a23a3db57010078046955a786fe3589ef8) + +commit 203318b8eb3753723277ec7a459239c81097f090 +Author: Sage Weil +Date: Fri Jun 6 13:31:29 2014 -0700 + + osd/OSDMap: do not require ERASURE_CODE feature of clients + + Just because an EC pool exists in the cluster does not mean tha tthe client + has to support the feature: + + 1) The way client IO is initiated is no different for EC pools than for + replicated pools. + 2) People may add an EC pool to an existing cluster with old clients and + locking those old clients out is very rude when they are not using the + new pool. + 3) The only direct client user of EC pools right now is rgw, and the new + versions already need to support various other features like CRUSH_V2 + in order to work. These features are present in new kernels. + + Fixes: #8556 + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 3fe1699f9620280d0070cfe6f01cfeb2332e7470) + +commit 6340b14b9c9a9c786b5448f2ea2a5556055a02e9 +Author: Sage Weil +Date: Thu Jun 12 16:44:53 2014 -0700 + + osd/OSDMap: make get_features() take an entity type + + Make the helper that returns what features are required of the OSDMap take + an entity type argument, as the required features may vary between + components in the cluster. + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 250677c965365edf3ecd24ef73700fc6d992ea42) + +commit 400fa88f6cf8b1e5b4b15d9e36b1de8c3d1c3970 +Author: Haomai Wang +Date: Wed May 21 18:12:22 2014 +0800 + + Avoid extra check for clean object + + We needn't to check clean object via buffer state, skip the clean object. + + Signed-off-by: Haomai Wang + (cherry picked from commit f51e33bd9c5a8e1cfc7065b30785696dc45918bc) + +commit 3ad451ef57e2ab3fc644c94d44c2de7a17cced45 +Author: Accela Zhao +Date: Wed Jun 18 17:17:03 2014 +0800 + + Make in "ceph osd tier --help" clearer. + + The ceph osd tier --help info on the left always says . + It is unclear which one to put on the right. + + $ceph osd tier --help + osd tier add {-- add the tier to base pool + force-nonempty} + osd tier add-cache add a cache of size + to existing pool + ... + + This patch modifies description on the right to tell which : + + osd tier add {-- add the tier (the second + force-nonempty} one) to base pool (the first + one) + ... + + Fix: http://tracker.ceph.com/issues/8256 + + Signed-off-by: Yilong Zhao + +commit f290a021bc8ec31c18b91cb37323345692f2f198 +Merge: 5722419 d02d46e +Author: Sage Weil +Date: Mon Jun 16 09:25:32 2014 -0700 + + Merge pull request #1962 from dachary/wip-8599-ruleset-firefly + + mon: pool set crush_ruleset must not use rule_exists (firefly) + + Reviewed-by: Sage Weil + +commit d02d46e25080d5f7bb8ddd4874d9019a078b816b +Author: John Spray +Date: Tue May 20 16:50:18 2014 +0100 + + mon: pool set crush_ruleset must not use rule_exists + + Implement CrushWrapper::ruleset_exists that iterates over the existing + rulesets to find the one matching the ruleset argument. + + ceph osd pool set crush_ruleset must not use + CrushWrapper::rule_exists, which checks for a *rule* existing, whereas + the value being set is a *ruleset*. (cherry picked from commit + fb504baed98d57dca8ec141bcc3fd021f99d82b0) + + A test via ceph osd pool set data crush_ruleset verifies the ruleset + argument is accepted. + + http://tracker.ceph.com/issues/8599 fixes: #8599 + + Backport: firefly, emperor, dumpling + Signed-off-by: John Spray + Signed-off-by: Loic Dachary + +commit 572241942706e2f845a147f19717bf6c487f23f4 +Author: Sage Weil +Date: Sun Jun 8 20:18:49 2014 -0700 + + init-ceph: continue after failure doing osd data mount + + If we are starting many daemons and hit an error, we normally note it and + move on. Do the same when doing the pre-mount step. + + Fixes: #8554 + Signed-off-by: Sage Weil + (cherry picked from commit 6a7e20147cc39ed4689809ca7d674d3d408f2a17) + +commit e5a291ef69316519b105b57193753f0bf8ac8e62 +Author: Steve Taylor +Date: Tue Jun 10 12:42:55 2014 -0600 + + Fix for bug #6700 + + When preparing OSD disks with colocated journals, the intialization process + fails when using dmcrypt. The kernel fails to re-read the partition table after + the storage partition is created because the journal partition is already in use + by dmcrypt. This fix unmaps the journal partition from dmcrypt and allows the + partition table to be read. + + Signed-off-by: Stephen F Taylor + (cherry picked from commit 673394702b725ff3f26d13b54d909208daa56d89) + +commit 34d9b2bc659c4107b30e1ebe7a55315512a0222a +Author: John Wilkins +Date: Thu Jun 5 11:29:20 2014 -0700 + + doc: Added Disable requiretty commentary. + + Signed-off-by: John Wilkins + +commit 54a89bab15a945d47b3f44448910521a2ebf41c6 +Author: Samuel Just +Date: Fri May 16 16:56:33 2014 -0700 + + ReplicatedPG::start_flush: fix clone deletion case + + dsnapc.snaps will be non-empty most of the time if there + have been snaps before prev_snapc. What we really want to + know is whether there are any snaps between oi.snaps.back() + and prev_snapc. + + Fixes: 8334 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit 29f615b7ac9e92f77cdef9927070727fee9d5e33) + +commit 308e2ef5c107bf04d3c5623f3c6bdffa10cf8c21 +Author: Samuel Just +Date: Mon May 12 15:08:07 2014 -0700 + + ReplicatedPG::start_flush: send delete even if there are no snaps + + Even if all snaps for the clone have been removed, we still have to + send the delete to ensure that when the object is recreated the + new snaps aren't included in the wrong clone. + + Signed-off-by: Samuel Just + (cherry picked from commit 2ec2182745fa7c22526a7cf3dedb25bc314c9db4) + +commit 8d04a7ece364c0a95b087990d6365401819b3efa +Author: Samuel Just +Date: Thu May 15 20:53:27 2014 -0700 + + HashIndex: in cleanup, interpret missing dir as completed merge + + If we stop between unlinking the empty subdir and removing the root + merge marker, we get ENOENT on the get_info. That's actually fine. + + Backport: firefly + Fixes: 8332 + Signed-off-by: Samuel Just + (cherry picked from commit 5ff95dbdd2dbb533d344f37fea722ca4f140e670) + +commit b2bf8cb21761d88557fb2d5c0935c4a3678ee01f +Author: Alfredo Deza +Date: Wed May 28 11:48:12 2014 -0400 + + add backport of collections.Counter for python2.6 + + Using Raymond Hettinger's MIT backport + + Signed-off-by: Alfredo Deza + (cherry picked from commit 23b75b550507438c79b3aa75e06721e5f7b134a4) + +commit 0b00443eec4c372f2ef245f85dc7c1f497ba3778 +Author: Ailing +Date: Wed May 28 12:37:48 2014 -0700 + + rest-api: key missing for per "rx" and "rwx" + + commit 85a1cf31e6 and db266a3fb2 introduce new per "rx" and "rwx", but key missing for per "rx" and "rwx" in permmap + + Signed-off-by: Ailing Zhang + (cherry picked from commit 0b5a67410793ec28cac47e6e44cbbcf5684d77e7) + +commit a898ee56e01f971c12c0f7bebc22e59f850f27c0 +Author: Greg Farnum +Date: Wed May 21 21:41:23 2014 -0700 + + cephfs-java: build against older jni headers + + Older versions of the JNI interface expected non-const parameters + to their memory move functions. It's unpleasant, but won't actually + change the memory in question, to do a cast_const in order to satisfy + those older headers. (And even if it *did* modify the memory, that + would be okay given our single user.) + + Signed-off-by: Greg Farnum + (cherry picked from commit 4d4b77e5b6b923507ec4a0ad9d5c7018e4542a3c) + +commit 8a12a940817d957063c21ac71a6128f991801573 +Author: Ilya Dryomov +Date: Fri May 16 19:03:13 2014 +0400 + + OSDMonitor: set next commit in mon primary-affinity reply + + Commit 8c5c55c8b47e ("mon: set next commit in mon command replies") + fixed MMonCommand replies to include the right version, but the + primary-affinity handler was authored before that. Fix it. + + Backport: firefly + Signed-off-by: Ilya Dryomov + (cherry picked from commit a78b14ec1769ef37bef82bfda6faabb581b4cd7d) + +commit 6ba57da94a6e00040677d6e43abf10a36ed9a931 +Author: Dmitry Smirnov +Date: Mon May 12 14:08:44 2014 +1000 + + prioritise use of `javac` executable (gcj provides it through alternatives). + + On Debian this fixes FTBFS when gcj-jdk and openjdk-7-jdk are installed at + the same time because build system will use default `javac` executable + provided by current JDK through `update-alternatives` instead of blindly + calling GCJ when it is present. + + Signed-off-by: Dmitry Smirnov + (cherry picked from commit 8b682d167e4535df582f1c77542e2b1ea0981228) + +commit 9e335a494c6eff209cff64bd663b5aa2a7bbc242 +Author: Dmitry Smirnov +Date: Mon May 12 14:02:53 2014 +1000 + + pass '-classpath' option (gcj/javah ignores CLASSPATH environment variable). + + This should not affect OpenJDK which understands '-classpath' as well. + + With gcj-jdk we still get FTBFS later: + + ~~~~ + java/native/libcephfs_jni.cc:2878:55: error: invalid conversion from 'const jbyte* {aka const signed char*}' to 'jbyte* {aka signed char*}' [-fpermissive] + reinterpret_cast(rawAddress)); + ^ + In file included from java/native/libcephfs_jni.cc:27:0: + /usr/lib/gcc/x86_64-linux-gnu/4.8/include/jni.h:1471:8: error: initializing argument 4 of 'void _Jv_JNIEnv::SetByteArrayRegion(jbyteArray, jsize, jsize, jbyte*)' [-fpermissive] + void SetByteArrayRegion (jbyteArray val0, jsize val1, jsize val2, jbyte * val3) + ^ + make[5] *** [java/native/libcephfs_jni_la-libcephfs_jni.lo] Error 1 + ~~~~ + + Signed-off-by: Dmitry Smirnov + (cherry picked from commit 89fe0353582bde7e2fbf32f1626d430a20002dd0) + +commit fcd30500790eac0266ffb70d83ee17b23aeaf209 +Author: Dmitry Smirnov +Date: Mon May 12 13:57:20 2014 +1000 + + look for "jni.h" in gcj-jdk path, needed to find "jni.h" with gcj-jdk_4.9.0 + + Signed-off-by: Dmitry Smirnov + (cherry picked from commit 0f4120c0115e7977ae7c03458addcc2b2916db07) + +commit de43f6d2d813d2c7e5cf915c1b9037fe662d6afc +Author: Sage Weil +Date: Thu May 8 08:52:51 2014 -0700 + + ceph-disk: partprobe before settle when preparing dev + + Two users have reported this fixes a problem with using --dmcrypt. + + Fixes: #6966 + Tested-by: Eric Eastman + Signed-off-by: Sage Weil + (cherry picked from commit 0f196265f049d432e399197a3af3f90d2e916275) + +commit fe1fbfb7a43d6590efce99711e47f986249f0956 +Author: Greg Farnum +Date: Tue May 13 13:15:28 2014 -0700 + + test: fix some templates to match new output code + + Signed-off-by: Greg Farnum + Reviewed-by: Samuel Just + (cherry picked from commit 00225d739cefa1415524a3de45fb9a5a2db53018) + +commit 5c8afaa8861345efbcc5488e0336327a8a38d3bc +Author: Greg Farnum +Date: Thu May 15 16:50:43 2014 -0700 + + OSD: fix an osdmap_subscribe interface misuse + + When calling osdmap_subscribe, you have to pass an epoch newer than the + current map's. _maybe_boot() was not doing this correctly -- we would + fail a check for being *in* the monitor's existing map range, and then + pass along the map prior to the monitor's range. But if we were exactly + one behind, that value would be our current epoch, and the request would + get dropped. So instead, make sure we are not *in contact* with the monitor's + existing map range. + + Signed-off-by: Greg Farnum + Reviewed-by: Samuel Just + (cherry picked from commit 290ac818696414758978b78517b137c226110bb4) + +commit eb98f4ab3a27aa8e00e0eb7e504ca7bec7c48a06 +Author: Sage Weil +Date: Mon May 19 10:32:12 2014 -0700 + + osd: skip out of order op checks on tiered pools + + When we send redirected ops, we do not assign a new tid, which means that + a given client's ops for a pool may not have strictly ordered tids. Skip + this check if the pool is tiered to avoid false positives. + + Fixes: #8380 + Signed-off-by: Sage Weil + (cherry picked from commit cf2b172c843da0599164901956b66c306a59e570) + +commit 29ee6faecb9e16c63acae8318a7c8f6b14367af7 +Author: Samuel Just +Date: Tue May 6 11:50:14 2014 -0700 + + ReplicatedPG: block scrub on blocked object contexts + + Fixes: #8011 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit 7411477153219d66625a74c5886530029c516036) + +commit 6078726e0b89d0202c3a4bc594be11fc346bed9d +Author: Guang Yang +Date: Fri May 9 09:21:23 2014 +0000 + + msg: Fix inconsistent message sequence negotiation during connection reset + + Backport: firefly, emperor, dumpling + + Signed-off-by: Guang Yang (yguang@yahoo-inc.com) + Reviewed-by: Greg Farnum + (cherry picked from commit bdee119076dd0eb65334840d141ccdf06091e3c9) + +commit 02557f8bc05ff28013e241611cb046b28f97b4c6 +Author: Samuel Just +Date: Tue Apr 15 12:55:47 2014 -0700 + + Objecter::_op_submit: only replace the tid if it's 0 + + Otherwise, redirected ops will suddenly have a different tid + and will become uncancelable. + + Fixes: #7588 + Signed-off-by: Samuel Just + (cherry picked from commit 76568aa0db4e16ac1af8fe6405edade1e61cbc81) + +commit 788b5fad515c48d4028f5a67d63052e373c81e66 +Author: Sage Weil +Date: Thu May 8 10:42:42 2014 -0700 + + mon/OSDMonitor: force op resend when pool overlay changes + + If a client is sending a sequence of ops (say, a, b, c, d) and partway + through that sequence it receives an OSDMap update that changes the + overlay, the ops will get send to different pools, and the replies will + come back completely out of order. + + To fix this, force a resend of all outstanding ops any time the overlay + changes. + + Fixes: #8305 + Signed-off-by: Sage Weil + (cherry picked from commit 63d92ab0969357f78fdade749785136a509bc81b) + +commit 268df4862d95bf506ef6f594fdfa8294671babc3 +Author: Sage Weil +Date: Thu May 8 10:50:51 2014 -0700 + + osd: discard client ops sent before last_force_op_resend + + If an op is sent before last_force_op_resend, and the client's feature is + present, drop the op because we know they will resend. + + Signed-off-by: Sage Weil + (cherry picked from commit 45e79a17a932192995f8328ae9f6e8a2a6348d10) + +commit 8bc4992f434ed0b180d5e4a293d8191f4846358c +Author: Sage Weil +Date: Thu May 8 10:52:11 2014 -0700 + + osdc/Objecter: resend ops in the last_force_op_resend epoch + + If we are a client, and process a map that sets last_force_op_resend to + the current epoch, force a resend of this op. + + If the OSD expects us to do this, it will discard our previous op. If the + OSD is old, it will process the old one, this will appear as a dup, and we + are no worse off than before. + + Signed-off-by: Sage Weil + (cherry picked from commit dd700bdf7115223cb3e517b851f462d75dd76a2b) + +commit 83d03f0e1c65385dcf465108d544da84f8bfad97 +Author: Sage Weil +Date: Thu May 8 10:40:10 2014 -0700 + + osd/osd_types: add last_force_op_resend to pg_pool_t + + Signed-off-by: Sage Weil + (cherry picked from commit 3152faf79f498a723ae0fe44301ccb21b15a96ab) + +commit c94ac44ab41fc62add3fc93c5c7ce06950eed3f1 +Author: Sage Weil +Date: Fri May 9 09:20:34 2014 -0700 + + osd: handle race between osdmap and prepare_to_stop + + If we get a MOSDMarkMeDown message and set service.state == STOPPING, we + kick the prepare_to_stop() thread. Normally, it will wake up and then + set osd.state == STOPPING, and when we process the map message next we + will not warn. However, if dispatch() takes the lock instead and processes + the map, it will fail the preparing_to_stop check and issue a spurious + warning. + + Fix by checking for either preparing_to_stop or stopping. + + Fixes: #8319 + Backport: firefly, emperor, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 6b858be0676f937a99dbd51321497f30c3a0097f) + +commit 22e2e7cff42970b00dc352513f1f138132f78d04 +Author: Sage Weil +Date: Sat May 10 10:29:11 2014 -0700 + + osd/ReplicatedPG: do not queue NULL dup_op + + We call start_flush() with a NULL op in a couple different places. Do not + put a NULL pointer on the dup_ops list or we will crash later. + + Fixes: #8328 + Signed-off-by: Sage Weil + (cherry picked from commit 0d67f9b0695765824bdc4a65fbed88edf8ea232e) diff --git a/doc/changelog/v0.80.3.txt b/doc/changelog/v0.80.3.txt new file mode 100644 index 00000000..d44f6283 --- /dev/null +++ b/doc/changelog/v0.80.3.txt @@ -0,0 +1,19 @@ +commit a129e85cdc3446a427fffffe4c31617d49024946 (tag: refs/tags/v0.80.3) +Author: Jenkins +Date: Fri Jul 11 17:14:12 2014 +0000 + + 0.80.3 + +commit 8589c108dd5f00471986deae72d88811ccf0627f (refs/remotes/gh/firefly) +Author: Sage Weil +Date: Thu Jul 10 10:36:16 2014 -0700 + + rgw: fix RGWObjManifestRule decoder + + Only decode the new field if it is a new struct. + + Fixes: #8804 + Backport: firefly + Signed-off-by: Sage Weil + Reviewed-by: Josh Durgin + (cherry picked from commit c4afaf9dabd261853a44b2e08f0911c075c1cd3a) diff --git a/doc/changelog/v0.80.4.txt b/doc/changelog/v0.80.4.txt new file mode 100644 index 00000000..4b44638b --- /dev/null +++ b/doc/changelog/v0.80.4.txt @@ -0,0 +1,36 @@ +commit 7c241cfaa6c8c068bc9da8578ca00b9f4fc7567f (tag: refs/tags/v0.80.4) +Author: Jenkins +Date: Tue Jul 15 12:13:55 2014 -0700 + + 0.80.4 + +commit 7557a8139425d1705b481d7f010683169fd5e49b (refs/remotes/gh/firefly) +Author: Samuel Just +Date: Mon Jul 14 13:29:37 2014 -0700 + + XfsFileStoreBackend: default to disabling extsize on xfs + + This appears to be responsible for the deep scrub mismatches on some rbd + workloads. + + Fixes: 8830 + Signed-off-by: Samuel Just + (cherry picked from commit 01cd3cdc726a3e838bce05b355a021778b4e5db1) + +commit ee7016a046c09be674808efb093b6ff80d0df18c +Author: Sage Weil +Date: Mon Jul 14 15:00:30 2014 -0700 + + Revert "Revert "rgw: if extra data pool name is empty, use data pool name instead"" + + This reverts commit 0b6bd2545925b5e8a80d41de1fda13ffe9d30e2b. + + We confused commit 5fd8b0d1639c67e355f0fc0d7e6d7036618d87a1 with commit + b1a4a7cb91e164d1f8af8ce9319e3b3c1949858d in our tests. We tested without + the latter, saw a failure, applied it and then reverted the former, and it + passed, but didn't actually resolve the problem. + + This puts them both back in place and all should be well. + + Signed-off-by: Sage Weil + Reviewed-by: Yehuda Sadeh diff --git a/doc/changelog/v0.80.5.txt b/doc/changelog/v0.80.5.txt new file mode 100644 index 00000000..4c7a231d --- /dev/null +++ b/doc/changelog/v0.80.5.txt @@ -0,0 +1,354 @@ +commit 38b73c67d375a2552d8ed67843c8a65c2c0feba6 (tag: refs/tags/v0.80.5, refs/remotes/gh/last, refs/remotes/gh/firefly) +Author: Jenkins +Date: Tue Jul 29 05:24:39 2014 -0700 + + 0.80.5 + +commit b576d5a242c16bc9e38ba283a9784f838614882a +Author: Sage Weil +Date: Fri May 9 08:41:33 2014 -0700 + + osd: cancel agent_timer events on shutdown + + We need to cancel all agent timer events on shutdown. This also needs to + happen early so that any in-progress events will execute before we start + flushing and cleaning up PGs. + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit c0dc245b662f1f9c640d7dd15fdf4cf26e729782) + + Conflicts: + src/osd/OSD.cc + +commit 6213130f76b1ee89947bae578a1fccf16b845956 +Author: Sage Weil +Date: Tue Jul 8 16:11:44 2014 -0700 + + osd: s/applying repop/canceling repop/ + + The 'applying' language dates back to when we would wait for acks from + replicas before applying writes locally. We don't do any of that any more; + now, this loop just cancels the repops with remove_repop() and some other + cleanup. + + Signed-off-by: Sage Weil + (cherry picked from commit ef40737eee4389faa7792661a0f9d15b3d0440f2) + +commit 2e7c91587d99c9eba85ab7bd407a5b722b25a81e +Author: Sage Weil +Date: Tue Jul 8 16:11:27 2014 -0700 + + osd: clear PGBackend state on shutdown + + This was leaking state on shutdown whenever there were in-flight repops + that were canceled. + + Fixes: #7891 + Signed-off-by: Sage Weil + (cherry picked from commit cafceae6c243369d3616af8217884e7e029896b9) + +commit f03110f3889ce7340c64f19358840b2425c93f68 +Author: Sage Weil +Date: Tue Jul 8 16:10:58 2014 -0700 + + osd: separate cleanup from PGBackend::on_change() + + The generic portion of on_change() cleaned up temporary on-disk objects + and requires a Transaction. The rest is clearing out in-memory state and + does not. Separate the two. + + Signed-off-by: Sage Weil + (cherry picked from commit e299357e2a24474ab7a02e65ca0279336fd04b76) + +commit 42ad241efab751a1d4f50d5a748d91d0fe967844 +Merge: 5f4ceb2 5049fc4 +Author: Josh Durgin +Date: Wed Jul 23 10:09:19 2014 -0700 + + Merge remote-tracking branch 'origin/wip-8858-firefly' into firefly + + Reviewed-by: Josh Durgin + +commit 5f4ceb208b55fab7fd1530dcf8fe03198b044148 +Author: Joao Eduardo Luis +Date: Tue Jul 22 00:25:37 2014 +0100 + + mon: AuthMonitor: always encode full regardless of keyserver having keys + + On clusters without cephx, assuming an admin never added a key to the + cluster, the monitors have empty key servers. A previous patch had the + AuthMonitor not encoding an empty keyserver as a full version. + + As such, whenever the monitor restarts we will have to read the whole + state from disk in the form of incrementals. This poses a problem upon + trimming, as we do every now and then: whenever we start the monitor, it + will start with an empty keyserver, waiting to be populated from whatever + we have on disk. This is performed in update_from_paxos(), and the + AuthMonitor's will rely on the keyserver version to decide which + incrementals we care about -- basically, all versions > keyserver version. + + Although we started with an empty keyserver (version 0) and are expecting + to read state from disk, in this case it means we will attempt to read + version 1 first. If the cluster has been running for a while now, and + even if no keys have been added, it's fair to assume that version is + greater than 0 (or even 1), as the AuthMonitor also deals and keeps track + of auth global ids. As such, we expect to read version 1, then version 2, + and so on. If we trim at some point however this will not be possible, + as version 1 will not exist -- and we will assert because of that. + + This is fixed by ensuring the AuthMonitor keeps track of full versions + of the key server, even if it's of an empty key server -- it will still + keep track of the key server's version, which is incremented each time + we update from paxos even if it is empty. + + Fixes: #8851 + Backport: dumpling, firefly + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit b551ae2bcea2dd17b37f5f5ab34251cc78de0e26) + +commit 5c1d74848863b45aa9e98d134cbe0cd1c8199557 +Merge: 442c3fd c390ec4 +Author: Sage Weil +Date: Mon Jul 21 13:10:28 2014 -0700 + + Merge pull request #2122 from ceph/wip-dencoder-firefly + + fix linking deps, cpeh-dencoder, etc., firefly backport + +commit 5049fc4c9d6513bc58c3c4464f3de18949ac0aa5 +Author: Yehuda Sadeh +Date: Fri Jul 18 14:52:48 2014 -0700 + + rgw: dump prefix unconditionally + + As part of issue #8858, and to be more in line with S3, dump the Prefix + field when listing bucket even if bucket is empty. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d7209c11251d42227608bc54cc69232ef62ffe80) + +commit 7fdd6d94262d8e6c81d168f5b997b3a5f030e6fa +Author: Yehuda Sadeh +Date: Thu Jul 17 15:48:26 2014 -0700 + + rgw: list extra objects to set truncation flag correctly + + Otherwise we end up returning wrong truncated value, and no data on the + next iteration. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit dc417e477d4ad262885c6b5f5987cf06d63b159d) + +commit 1f8774e01a616739ab70a78c348ab986b64b8fce +Author: Yehuda Sadeh +Date: Thu Jul 17 11:45:44 2014 -0700 + + rgw: account common prefixes for MaxKeys in bucket listing + + To be more in line with the S3 api. Beforehand we didn't account the + common prefixes towards the MaxKeys (a single common prefix counts as a + single key). Also need to adjust the marker now if it is pointing at a + common prefix. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 82d2d612e700f94a0bb2d9fb7555abf327be379b) + +commit cb0a7ab8eb1d2fc8799b97c5a387b5f4f93b515c +Author: Yehuda Sadeh +Date: Thu Jul 17 11:24:51 2014 -0700 + + rgw: add NextMarker param for bucket listing + + Partially fixes #8858. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 924686f0b6593deffcd1d4e80ab06b1e7af00dcb) + +commit 34aa7086ba5293ee4d008016558dcdb1ada02e83 +Author: Yehuda Sadeh +Date: Wed Jul 16 15:21:09 2014 -0700 + + rgw: improve delmited listing of bucket + + If found a prefix, calculate a string greater than that so that next + request we can skip to that. This is still not the most efficient way to + do it. It'll be better to push it down to the objclass, but that'll + require a much bigger change. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit e6cf618c257f26f97f60a4c1df1d23a14496cab0) + +commit d027ff1b432a265ad49ddfeafab45093bcd03e6c +Author: Yehuda Sadeh +Date: Wed Jul 16 16:05:58 2014 -0700 + + utf8: export encode_utf8() and decode_utf8() + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 49fc68cf8c3122c878ea9503c9c74d7046bc9c6f) + +commit c390ec4fa919e0a17e646e595b30cfa878c3454f +Author: Sage Weil +Date: Fri Jul 18 22:44:51 2014 -0700 + + ceph-dencoder: don't link librgw.la (and rados, etc.) + + Signed-off-by: Sage Weil + (cherry picked from commit 34671108ce0b7597dba4f619732ecdb8933cda6e) + +commit 3d89380c90ab632eb76d3e429788fd81630e7a57 +Author: Sage Weil +Date: Fri Jul 18 22:27:25 2014 -0700 + + rgw: move a bunch of stuff into rgw_dencoder + + This will help out ceph-dencoder ... + + Signed-off-by: Sage Weil + (cherry picked from commit b1a641f307942cbf43036f75ef67fb30441dfe95) + +commit dc6c9bf2b92d28bbd2bc822c267b0555f74c87fc +Author: Sage Weil +Date: Fri Jul 18 21:58:29 2014 -0700 + + libosd_types, libos_types, libmon_types + + Signed-off-by: Sage Weil + (cherry picked from commit 1c170776cb8c0266f0f54f049ed07bbdb9c9ab5e) + + Conflicts: + + src/os/Makefile.am + src/os/ObjectStore.cc + src/osd/Makefile.am + +commit 7be91e8c5d935f7094033842bde1da2486905c70 +Author: Sage Weil +Date: Fri Jul 18 20:55:39 2014 -0700 + + Revert "ceph.spec: move ceph-dencoder to ceph from ceph-common" + + This reverts commit 95f5a448b52db545a2b9bbad47fdb287254f93ea. + (cherry picked from commit 58cc894b3252a848ebc2169bcc4980a0ae6cc375) + +commit 04ad08a18a773e104a826b2a77ab0b2ffaac1e5f +Author: Sage Weil +Date: Fri Jul 18 20:55:35 2014 -0700 + + Revert "debian: move ceph-dencoder to ceph from ceph-common" + + This reverts commit b37e3bde3bd31287b11c069062280258666df7c5. + (cherry picked from commit f181f78b7473260a717bc8ab4fc4d73a80e3b5ba) + +commit 442c3fd5a3b6a6c6a85d9bd7755923f14aa598e7 +Author: Dan Mick +Date: Thu Jul 17 21:44:06 2014 -0700 + + configure: do not link leveldb with everything + + Detect leveldb, but do not let autoconf blindly link it with everything on the + planet. + + Signed-off-by: Dan Mick + Sighed-off-by: Sage Weil + (cherry picked from commit 06a8f7b99c5533f397b34f448138220384df60ac) + +commit c1073e430eafeb1f213f80636a3a24966b292698 +Author: Sage Weil +Date: Mon Jul 14 17:02:05 2014 -0700 + + ceph.spec: move ceph-dencoder to ceph from ceph-common + + Signed-off-by: Sage Weil + (cherry picked from commit 95f5a448b52db545a2b9bbad47fdb287254f93ea) + +commit f4e9e0ef2eab3174584f1695122b114549feff57 +Author: Sage Weil +Date: Mon Jul 14 14:16:43 2014 -0700 + + debian: move ceph-dencoder to ceph from ceph-common + + It links against the world currently (notably leveldb). Not nice for the + client-side lib. + + Signed-off-by: Sage Weil + (cherry picked from commit b37e3bde3bd31287b11c069062280258666df7c5) + +commit 681c399e83df4c6ebd7e0836203eb2466455f548 +Author: Sage Weil +Date: Thu Jul 17 16:40:06 2014 -0700 + + logrotate.conf: fix osd log rotation under upstart + + In commit 7411c3c6a42bef5987bdd76b1812b01686303502 we generalized this + enumeration code by copying what was in the upstart scripts. However, + while the mon and mds directories get a 'done' file, the OSDs get a 'ready' + file. Bah! Trigger off of either one. + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 14a9ca602fa9573b0b6b94709b384bca02d12fac) + +commit 794ec7fb43da4db930d28571a84c1c1cec1eb066 +Author: Yehuda Sadeh +Date: Wed Jul 16 12:23:31 2014 -0700 + + rgw: don't try to wait for pending if list is empty + + Fixes: #8846 + Backport: firefly, dumpling + + This was broken at ea68b9372319fd0bab40856db26528d36359102e. We ended + up calling wait_pending_front() when pending list was empty. + This commit also moves the need_to_wait check to a different place, + where we actually throttle (and not just drain completed IOs). + + Reported-by: Sylvain Munaut + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f9f2417d7db01ecf2425039539997901615816a9) + +commit e75dd2e4b7adb65c2de84e633efcd6c19a6e457b +Author: Alfredo Deza +Date: Thu Jul 17 10:06:37 2014 -0400 + + remove suse service restarts + + Signed-off-by: Alfredo Deza + (cherry picked from commit 0f11aaeefd7e8b49f88607937aade6113ebda52c) + +commit 361c1f8554ce1fedfd0020cd306c41b0ba25f53e +Author: Alfredo Deza +Date: Wed Jul 16 16:12:12 2014 -0400 + + remove ceph restarts on upgrades for RPMs + + Signed-off-by: Alfredo Deza + (cherry picked from commit e3a5756f58ef5d07badf18ab08a26f47f7d232cb) + +commit 88f694dcd3d3342f764f3790572988b7808028ae +Author: Alfredo Deza +Date: Wed Jul 16 11:07:13 2014 -0400 + + set the default log level to WARNING + + Signed-off-by: Alfredo Deza + (cherry picked from commit 420f0a471a31d1e56359ea642ed831e8a38b1e90) + +commit 67b5193f73a2c9ec9e503ad3431473998217375d +Author: Sage Weil +Date: Tue Jul 15 18:11:41 2014 -0700 + + init-ceph: wrap daemon startup with systemd-run when running under systemd + + We want to make sure the daemon runs in its own systemd environment. Check + for systemd as pid 1 and, when present, use systemd-run -r to do + this. + + Probably fixes #7627 + + Signed-off-by: Sage Weil + Reviewed-by: Dan Mick + Tested-by: Dan Mick + (cherry picked from commit 3e0d9800767018625f0e7d797c812aa44c426dab) diff --git a/doc/changelog/v0.80.6.txt b/doc/changelog/v0.80.6.txt new file mode 100644 index 00000000..2e1435e5 --- /dev/null +++ b/doc/changelog/v0.80.6.txt @@ -0,0 +1,3266 @@ +commit f93610a4421cb670b08e974c6550ee715ac528ae (tag: refs/tags/v0.80.6, refs/remotes/gh/firefly) +Author: Jenkins +Date: Wed Oct 1 09:37:12 2014 -0700 + + 0.80.6 + +commit 2ecf362e15301ee07b511b2a84585ad691543569 +Merge: 1fafd6b 76341b0 +Author: Sage Weil +Date: Mon Sep 29 13:55:02 2014 -0700 + + Merge pull request #2603 from dachary/wip-9620-test-mon-thrash-firefly + + qa/workunits/cephtool/test.sh: fix thrash (ultimate) + + Reviewed-by: Sage Weil + +commit 76341b0b7581194273ac787df2b940221825d083 +Author: Loic Dachary +Date: Mon Sep 29 13:47:06 2014 +0200 + + qa/workunits/cephtool/test.sh: fix thrash (ultimate) + + Keep the osd trash test to ensure it is a valid command but make it a + noop by giving it a zero argument (meaning thrash 0 OSD maps). + + Remove the loops that were added after the command in an attempt to wait + for the cluster to recover and not pollute the rest of the tests. Actual + testing of osd thrash would require a dedicated cluster because it the + side effects are random and it is unnecessarily difficult to ensure they + are finished. + + http://tracker.ceph.com/issues/9620 Fixes: #9620 + + Signed-off-by: Loic Dachary + (cherry picked from commit beade63a17db2e6fc68d1f55332d602f8f7cb93a) + + Conflicts: + qa/workunits/cephtool/test.sh + +commit 1fafd6bf2ef03672dfa27ec7a201a274927040b7 +Merge: ebb5995 71005c1 +Author: Josh Durgin +Date: Thu Sep 25 10:08:03 2014 -0700 + + Merge pull request #2576 from ceph/wip-9593 + + osd/ReplicatedPG: fix objecter locking in start_flush + + Reviewed-by: Josh Durgin + +commit 71005c1bdf38212ea2fde12de08c45598c815d37 +Author: Sage Weil +Date: Thu Sep 25 09:59:29 2014 -0700 + + osd/ReplicatedPG: fix objecter locking in start_flush + + Broken in backport fd96eb62ece27f5c660429584c2ff2e058bc6e94. + + Signed-off-by: Sage Weil + +commit ebb599545d70e4289e385f88b4f0594b4f23f3b7 +Merge: 2abd7a3 2e60c2f +Author: Samuel Just +Date: Tue Sep 23 10:37:27 2014 -0700 + + Merge pull request #2548 from dachary/wip-9547-python-rados-truncate-firefly + + python radio aio_read must not truncate on \000 (firefly) + + Reviewed-by: Samuel Just + +commit 2abd7a3fd018b52f45f9d6b7c9d847242aa97fe9 +Merge: 2675b0d 80f2f9c +Author: Samuel Just +Date: Tue Sep 23 10:27:15 2014 -0700 + + Merge branch 'wip-sam-testing-firefly' into firefly + +commit 80f2f9cf687e25d6f2c4cee34fef55215ac6b027 +Merge: bb9e65b e6da732 +Author: Samuel Just +Date: Sun Sep 21 10:04:30 2014 -0700 + + Merge remote-tracking branch 'origin/wip-9240' into wip-sam-testing-firefly + +commit bb9e65bd9292e2ee03a260cc98aa6715008e6682 +Author: Samuel Just +Date: Thu Aug 28 15:32:22 2014 -0700 + + PG: wait until we've build the missing set to discover_all_missing + + Fixes: #9179 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit 970d9830a3a6e8568337c660fb8b4c4a60a2b3bf) + + Conflicts: + src/osd/PG.cc + +commit fa645b21b587b6a1d9adbb9cedce1af3af1e5a62 +Author: Samuel Just +Date: Tue Aug 26 16:53:02 2014 -0700 + + PG: mark_log_for_rewrite on resurrection + + Fixes: #8777 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit 8346e10755027e982f26bab4642334fd91cc31aa) + +commit fd96eb62ece27f5c660429584c2ff2e058bc6e94 +Author: Samuel Just +Date: Sun Sep 7 20:13:41 2014 -0700 + + ReplicatedPG:start_flush send a second delete + + Suppose we start with the following in the cache pool: + + 30:[29,21,20,15,10,4]:[22(21), 15(15,10), 4(4)]+head + + The object doesn't exist at 29 or 20. + + First, we flush 4 leaving the backing pool with: + + 3:[]+head + + Then, we begin to flush 15 with a delete with snapc 4:[4] leaving the + backing pool with: + + 4:[4]:[4(4)] + + Then, we finish flushing 15 with snapc 9:[4] with leaving the backing + pool with: + + 9:[4]:[4(4)]+head + + Next, snaps 10 and 15 are removed causing clone 10 to be removed leaving + the cache with: + + 30:[29,21,20,4]:[22(21),4(4)]+head + + We next begin to flush 22 by sending a delete with snapc 4(4) since + prev_snapc is 4 <---------- here is the bug + + The backing pool ignores this request since 4 < 9 (ORDERSNAP) leaving it + with: + + 9:[4]:[4(4)] + + Then, we complete flushing 22 with snapc 19:[4] leaving the backing pool + with: + + 19:[4]:[4(4)]+head + + Then, we begin to flush head by deleting with snapc 22:[21,20,4] leaving + the backing pool with: + + 22[21,20,4]:[22(21,20), 4(4)] + + Finally, we flush head leaving the backing pool with: + + 30:[29,21,20,4]:[22(21*,20*),4(4)]+head + + When we go to flush clone 22, all we know is that 22 is dirty, has snaps + [21], and 4 is clean. As part of flushing 22, we need to do two things: + 1) Ensure that the current head is cloned as cloneid 4 with snaps [4] by + sending a delete at snapc 4:[4]. + 2) Flush the data at snap sequence < 21 by sending a copyfrom with snapc + 20:[20,4]. + + Unfortunately, it is possible that 1, 1&2, or 1 and part of the flush + process for some other now non-existent clone have already been + performed. Because of that, between 1) and 2), we need to send + a second delete ensuring that the object does not exist at 20. + + Fixes: #9054 + Backport: firefly + Related: 66c7439ea0888777b5cfc08bcb0fbd7bfd8653c3 + Signed-off-by: Samuel Just + (cherry picked from commit 4843fd510b33a71999cdf9c2cfa2b4c318fa80fd) + +commit 5aa35ac262c6e0910f99086f46dd792775ab6790 +Author: Samuel Just +Date: Mon Aug 11 12:59:16 2014 -0700 + + ReplicatedPG::start_flush: remove superfluous loop + + Signed-off-by: Samuel Just + (cherry picked from commit 66c7439ea0888777b5cfc08bcb0fbd7bfd8653c3) + +commit 14fb643bbda51cc31919197541973c332b0c37bc +Merge: c468507 3578b11 +Author: Samuel Just +Date: Sun Sep 21 10:03:53 2014 -0700 + + Merge remote-tracking branch 'origin/wip-9339' into wip-sam-testing-firefly + +commit 2e60c2f1ec8c2aaf56b73a64f55becd679dd2825 +Author: Loic Dachary +Date: Sat Sep 20 12:41:30 2014 +0200 + + test: check python rados aio_read with buffers containing null + + http://tracker.ceph.com/issues/9547 Refs: #9547 + + Signed-off-by: Loic Dachary + (cherry picked from commit 226c0c7ac6ee95ff2c1665d4e7164e2962c0346e) + +commit 72a46dec211d5c08d1ca9f969013d939c4361ba9 +Author: Mohammad Salehe +Date: Sun May 25 10:42:11 2014 +0430 + + pybind: Fix aio_read handling of string buffer + + Read data may contain \0, and buf.value interprerts them as string terminator. + + Signed-off-by: Mohammad Salehe + (cherry picked from commit 8bda44ff37fd04a0fc9498fbbc22f0daf515d721) + +commit 2675b0d159ff0608bc6e607be3727ed23e7e2976 +Merge: a67f915 d535fab +Author: Sage Weil +Date: Fri Sep 19 11:30:17 2014 -0700 + + Merge pull request #2535 from dachary/wip-9470-pidfile-firefly + + daemons: write pid file even when told not to daemonize (firefly) + + Reviewed-by: Sage Weil + +commit d535fab6ac4a025541340ded0d3568f565acf1cd +Author: Alexandre Oliva +Date: Wed Jul 30 23:08:43 2014 -0300 + + daemons: write pid file even when told not to daemonize + + systemd wants to run daemons in foreground, but daemons wouldn't write + out the pid file with -f. Fixed. + + Signed-off-by: Alexandre Oliva + (cherry picked from commit bccb0eb64891f65fd475e96b6386494044cae8c1) + +commit c4685075f583ff58cc05220a3044a10b8392033c (refs/remotes/gh/wip-log-crash-firefly) +Author: Samuel Just +Date: Mon Sep 15 15:44:11 2014 -0700 + + PGLog::claim_log_and_clear_rollback_info: fix rollback_info_trimmed_to + + We have been setting it to the old head value. This is usually + harmless since the new head will virtually always be ahead of the + old head for claim_log_and_clear_rollback_info, but can cause trouble + in some edge cases. + + Fixes: #9481 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit 0769310ccd4e0dceebd8ea601e8eb5c0928e0603) + +commit 112f6f021bd063e2647169ba42729a447e5848e1 +Merge: a67f915 92cfd37 07f54f2 +Author: Samuel Just +Date: Thu Sep 18 09:46:38 2014 -0700 + + Merge remote-tracking branches 'origin/wip-9497' and 'origin/wip-9482' into wip-log-crash-firefly + +commit 07f54f28df7429a88dd9243800281ecf23f10036 +Author: Samuel Just +Date: Mon Sep 15 16:53:21 2014 -0700 + + PG::find_best_info: let history.last_epoch_started provide a lower bound + + If we find a info.history.last_epoch_started above any + info.last_epoch_started, we must be missing updates and + min_last_update_acceptable should provisionally be max(). + + Fixes: #9482 + Backport: firefly + Signed-off-by: Samuel Just + +commit 92cfd370395385ca5537b5bc72220934c9f09026 +Author: Samuel Just +Date: Tue Sep 16 20:36:51 2014 -0700 + + PG::choose_acting: let the pg go down if acting is smaller than min_size + + Even if the backfill peer would bring us up to min_size, we can't go + active since build_prior will not consider the interval maybe_went_rw. + + Fixes: #9497 + Backport: firefly + Signed-off-by: Samuel Just + +commit a67f9152f128d693d160e5b08f2ac8b8bc83e8e0 +Author: Josh Durgin +Date: Thu Jul 24 15:29:40 2014 -0700 + + librbd: fix crash using clone of flattened image + + The crash occurs due to ImageCtx->parent->parent being uninitialized, + since the inital open_parent() -> open_image(parent) -> + ictx_refresh(parent) occurs before ImageCtx->parent->snap_id is set, + so refresh_parent() is not called to open an ImageCtx for the parent + of the parent. This leaves the ImageCtx->parent->parent NULL, but the + rest of ImageCtx->parent updated to point at the correct parent snapshot. + + Setting the parent->snap_id earlier has some unintended side effects + currently, so for now just call refresh_parent() during + open_parent(). This is the easily backportable version of the + fix. Further patches can clean up this whole initialization process. + + Fixes: #8845 + Backport: firefly, dumpling + Signed-off-by: Josh Durgin + (cherry picked from commit 2545e80d274b23b6715f4d8b1f4c6b96182996fb) + +commit 2422f9fd634c239a1159c99aa4a49cfb5c5d097f +Author: JuanJose 'JJ' Galvez +Date: Sun Sep 14 20:38:20 2014 -0700 + + init-radosgw.sysv: Support systemd for starting the gateway + + When using RHEL7 the radosgw daemon needs to start under systemd. + + Check for systemd running on PID 1. If it is then start + the daemon using: systemd-run -r . pidof returns null + as it is executed too quickly, adding one second of sleep and + script reports startup correctly. + + Signed-off-by: JuanJose 'JJ' Galvez + (cherry picked from commit ddd52e87b25a6861d3b758a40d8b3693a751dc4d) + +commit 6070383bc2c433e36f7ab5dc1ec09a3e7439d523 +Merge: 668cd13 7b25512 +Author: Sage Weil +Date: Fri Sep 12 17:31:03 2014 -0700 + + Merge pull request #2479 from ceph/wip-9444 + + mds: fix root and mdsdir inodes' rsubdirs + + Reviewed-by: Sage Weil + +commit 7b25512d65c6337cbddc7d6c6f55747ba1591be5 +Author: Yan, Zheng +Date: Fri May 2 23:08:41 2014 +0800 + + mds: fix root and mdsdir inodes' rsubdirs + + inode rstat accounts inode itself. + + Signed-off-by: Yan, Zheng + (cherry picked from commit da17394941386dab88ddbfed4af2c8cb6b5eb72f) + +commit 668cd1359c94698bbb4f7b841e2f30264d4af937 +Author: Samuel Just +Date: Tue Sep 9 14:03:50 2014 -0700 + + FileStore: report l_os_j_lat as commit latency + + l_os_commit_lat is actually the commit cycle latency. + + Fixes: #9269 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit d165238b4ee7e925e06ca22890c1e9dac101a7da) + +commit 7686966677867d098141aa08f45364eaa97121dd +Author: Samuel Just +Date: Tue Sep 9 12:58:07 2014 -0700 + + Objecter::_recalc_linger_op: resend for any acting set change + + Fixes: #9220 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit 1349383ac416673cb6df2438729fd2182876a7d1) + + Conflicts: + + src/osdc/Objecter.cc + src/osdc/Objecter.h + +commit 3abf95456783346e6686919b803c4819d5e82ab7 +Author: Sage Weil +Date: Mon Sep 8 13:44:57 2014 -0700 + + osdc/Objecter: revoke rx_buffer on op_cancel + + If we cancel a read, revoke the rx buffers to avoid a use-after-free and/or + other undefined badness by using user buffers that may no longer be + present. + + Fixes: #9362 + Backport: firefly, dumpling + Reported-by: Matthias Kiefer + Signed-off-by: Sage Weil + (cherry picked from commit 2305b2897acba38384358c33ca3bbfcae6f1c74e) + + (adjusted for op->con instead of s->con) + +commit bc4108443a17de47b7c582e50fb884396a287152 +Author: Sage Weil +Date: Mon Sep 8 13:45:52 2014 -0700 + + ceph_test_rados_api_io: add read timeout test + + Verify we don't receive data after a timeout. + + Based on reproducer for #9362 written by + Matthias Kiefer . + + Signed-off-by: Sage Weil + (cherry picked from commit f295c1fee4afb9447cdf46f05a44234274d23b6c) + +commit 19e7606545f829e5b9ea0255049d9130c51e42fd +Author: Sage Weil +Date: Mon Sep 8 13:42:43 2014 -0700 + + ceph_test_rados_api_*: expose nspace + + Signed-off-by: Sage Weil + (cherry picked from commit 977d289055d69ab8a7baaf7ef68c013019225833) + +commit 881c267fa4f8257a9205ec897c631183ef5c6388 +Author: Samuel Just +Date: Tue Sep 9 12:40:51 2014 -0700 + + Revert "PG: mark_log_for_rewrite on resurrection" + + Actually, we don't want to backport this one without the fix + for #9293. + + This reverts commit 7ddf0a252bb887553b29fd93e58d01cac38835e6. + +commit 3578b1193d497373db14d040ff7f0fc9e06e5ac2 +Author: Samuel Just +Date: Wed Sep 3 15:49:47 2014 -0700 + + ReplicatedPG: create max hitset size + + Otherwise, hit_set_create could create an unbounded size hitset + object. + + Fixes: #9339 + Backport: firefly + Signed-off-by: Samuel Just + +commit d73eb895cdc792ddef2626643e61c1521cf53434 +Author: Samuel Just +Date: Wed Aug 27 16:21:41 2014 -0700 + + PG::can_discard_op: do discard old subopreplies + + Otherwise, a sub_op_reply from a previous interval can stick around + until we either one day go active again and get rid of it or delete the + pg which is holding it on its waiting_for_active list. While it sticks + around futily waiting for the pg to once more go active, it will cause + harmless slow request warnings. + + Fixes: #9259 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit ae3d87348ca4e2dde809c9593b0d54ce0469f7a0) + +commit 7ddf0a252bb887553b29fd93e58d01cac38835e6 +Author: Samuel Just +Date: Tue Aug 26 16:53:02 2014 -0700 + + PG: mark_log_for_rewrite on resurrection + + Fixes: #8777 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit 8346e10755027e982f26bab4642334fd91cc31aa) + +commit 49a08eb46ef277225fff0d9a0920c37427175f54 +Author: Thorsten Glaser +Date: Mon Sep 8 12:49:50 2014 -0700 + + debian: only B-R yasm on amd64 + + Make yasm dependency amd64 only, it isn?t used elsewhere + but breaks x32 (which is mis-detected as amd64) + + Signed-off-by: Sage Weil + (cherry picked from commit 9ab46dc5b49219aa6194861c393c938f23001c52) + +commit f19162adc241e627ce20140360352ac96f809a6e +Author: Sage Weil +Date: Tue Aug 26 17:43:10 2014 -0700 + + osd: fix osd_tp shutdown + + We need to clear the queue, not just drain the currently executing jobs. + + Fixes: #9218 + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit c2f21c04207b9a2a65e514994a775632b36d6874) + + Conflicts: + + src/osd/OSD.cc + +commit 598cde42e7f57fd0b294f70c0a930f94fd361fb3 +Author: Sage Weil +Date: Wed Aug 27 06:19:12 2014 -0700 + + osd/PG: fix crash from second backfill reservation rejection + + If we get more than one reservation rejection we should ignore them; when + we got the first we already sent out cancellations. More importantly, we + should not crash. + + Fixes: #8863 + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 2b13de16c522754e30a0a55fb9d072082dac455e) + +commit 0a9d49e5b5867c58ca1f5c6b9a4c5106639a8d01 +Author: Sage Weil +Date: Mon Sep 8 06:58:45 2014 -0700 + + mon/Paxos: don't spam log with is_readable at dout level 1 + + Backport: firefly, dumpling + Reported-by: Aanchal Agrawal + Signed-off-by: Sage Weil + (cherry picked from commit 62ca27d0b119b597ebad40dde64c4d86599e466d) + +commit 1660503ffafd69fac3722aea9915008113906e05 +Author: Alfredo Deza +Date: Thu Sep 4 13:58:14 2014 -0400 + + doc: add note on soft JS dependency for navigating docs + + Signed-off-by: Alfredo Deza + (cherry picked from commit 657be818375bea2d8b5998ea1e5505eedc2f294d) + +commit 2f075d442f58e9cfefdbc421b9b20f2034a56314 +Author: Alfredo Deza +Date: Wed Sep 3 21:21:45 2014 -0400 + + doc: fix missing bracket + + Signed-off-by: Alfredo Deza + (cherry picked from commit 69638dfaeb0dcd96dac4b5f5c00ed08042432487) + +commit 4dacb593e830f42cd0394486333315f1709b502f +Author: Alfredo Deza +Date: Wed Sep 3 20:47:54 2014 -0400 + + doc: attempt to get the ayni JS into all head tags + + Signed-off-by: Alfredo Deza + (cherry picked from commit 35663fa55ac1579a3b0c8b67028a3a8dfea87b48) + +commit 275df4407b37923cb47510890a686ed370e2f39e +Author: Dmitry Smirnov +Date: Sat Aug 23 22:41:30 2014 +1000 + + Fix FTBFS on alpha due to incorrect check on BLKGETSIZE + + Ceph FTBFS on Alpha with: + + ~~~~ + libtool: compile: g++ -DHAVE_CONFIG_H -I. -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=\"/usr/lib/alpha-linux-gnu\" -DCEPH_PKGLIBDIR=\"/usr/lib/alpha-linux-gnu/ceph\" -DGTEST_HAS_TR1_TUPLE=0 -D_FORTIFY_SOURCE=2 -I/usr/include/nss -I/usr/include/nspr -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -g -O2 -Wformat -Werror=format-security -c common/blkdev.cc -fPIC -DPIC -o common/.libs/blkdev.o + In file included from /usr/include/alpha-linux-gnu/asm/ioctls.h:4:0, + from /usr/include/alpha-linux-gnu/bits/ioctls.h:23, + from /usr/include/alpha-linux-gnu/sys/ioctl.h:26, + from common/blkdev.cc:3: + common/blkdev.cc:13:7: error: missing binary operator before token "int" + #elif BLKGETSIZE + ^ + ~~~~ + + This error occurs because the value of BLKGETSIZE is tested in a + c-preprocessor conditional compilation test whereas the test should + be for existence. + + From: Michael Cree + Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=756892 + Signed-off-by: Dmitry Smirnov + (cherry picked from commit 6ad8e61a428cfc9fc60ccdb9bce812e1f49822ac) + Reviewed-by: Greg Farnum + +commit fbbdc31a8cd4c6457e06570ddeb9b2021563498e +Merge: 46d9611 895bddc +Author: Sage Weil +Date: Fri Aug 29 17:31:29 2014 -0700 + + Merge pull request #2356 from dachary/wip-9273-mon-preload-erasure-code-firefly + + erasure-code: preload the default plugins in the mon (firefly) + + Reviewed-by: Sage Weil + +commit 46d9611aedd3194cfd55a338e5f94011e6e70668 +Author: Joao Eduardo Luis +Date: Fri Aug 29 20:21:25 2014 +0100 + + osd: OSDMap: ordered blacklist on non-classic encode function + + Fixes: #9211 + Backport: firefly + + Signed-off-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + (cherry picked from commit 81102044f417bd99ca570d9234b1df5195e9a8c9) + +commit 994a9e35e96984c0806261f7eb349d95c0fb4873 +Author: Sage Weil +Date: Tue Aug 26 08:16:29 2014 -0700 + + osd/OSDMap: encode blacklist in deterministic order + + When we use an unordered_map the encoding order is non-deterministic, + which is problematic for OSDMap. Construct an ordered map<> on encode + and use that. This lets us keep the hash table for lookups in the general + case. + + Fixes: #9211 + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 4672e50922b75d642056020b9745a3a5844424d3) + +commit 895bddc5d4dabd2f05c13c343eb0d7457d6f132f +Author: Loic Dachary +Date: Fri Aug 29 18:13:08 2014 +0200 + + erasure-code: preload the default plugins in the mon + + The commit 164f1a1959a863848319585fa752250c7b261381 preloads the + jerasure plugin in the OSD. They must also be preloaded in the mon for + the same reasons. + + http://tracker.ceph.com/issues/9273 Fixes: #9273 + + Signed-off-by: Loic Dachary + +commit db8d6e6e190de964ec3d5d1bbc87da2dcb3213f5 +Author: John Spray +Date: Tue Aug 26 17:36:16 2014 +0100 + + mds: fix FP error in ROUND_UP_TO + + Explicitly handle case where denominator is 0, instead of + passing into ROUND_UP_TO. + + Regression from 9449520b121fc6ce0c64948386d4ff77f46f4f5f + + Signed-off-by: John Spray + (cherry picked from commit bf3e4835dabc057982def1b5c9a6499c04ac5312) + +commit 8e3120fcb379a00d370e4c04d34af35e596e2de9 +Author: Sage Weil +Date: Thu Aug 21 11:14:39 2014 -0700 + + mon: generate cluster_fingerprint if null + + This triggers after an upgrade of a legacy cluster that has no fingerprint. + + Signed-off-by: Sage Weil + (cherry picked from commit b245d600163f6337af15aedd1fea68f4e2a668a8) + +commit ebcdeb4cfe201dd0c630386226f9970650689ccf +Author: Sage Weil +Date: Wed Aug 20 08:59:46 2014 -0700 + + mon: add a cluster fingerprint + + Generate it on cluster creations with the initial monmap. Include it in + the report. Provide no way for this uuid to be fed in to the cluster + (intentionally or not) so that it can be assumed to be a truly unique + identifier for the cluster. + + Signed-off-by: Sage Weil + (cherry picked from commit 675b0042eff0ad5e1453838410210b1206c39004) + +commit b3b029165d4ac0af3f2143fad205f4e8ab08a30f +Merge: 21e1faa 07e1ceb +Author: Sage Weil +Date: Tue Aug 26 13:13:08 2014 -0700 + + Merge pull request #2244 from dachary/wip-9044-use-ruleset-firefly + + erasure-code: OSDMonitor::crush_ruleset_create_erasure needs ruleset (firefly) + +commit 21e1faa75da4e9cab8e139a8e2a1c4fc0ee30867 +Author: Samuel Just +Date: Tue Aug 12 16:41:38 2014 -0700 + + ReplicatedPG::cancel_copy: clear cop->obc + + Otherwise, an objecter callback might still be hanging + onto this reference until after the flush. + + Fixes: #8894 + Introduced: 589b639af7c8834a1e6293d58d77a9c440107bc3 + Signed-off-by: Samuel Just + (cherry picked from commit 5040413054e923d6d5a2b4928162dba140d980e0) + +commit e6da7323655f3bfa4f669fb8361fcaa96f633456 +Author: Samuel Just +Date: Tue Aug 26 12:02:52 2014 -0700 + + PG: recover from each osd at most once + + Signed-off-by: Samuel Just + +commit 8a1723f67f995253c9e6da95ab433743ef23f61c +Author: Samuel Just +Date: Tue Aug 26 11:38:53 2014 -0700 + + PG: make the reservation sets more descriptively named + + These sets won't precisely be the backfill_targets or actingbackfill + shortly. + + %s/sorted_backfill_set/remote_shards_to_reserve_backfill/g + %s/acting_osd_it/remote_recovery_reservation_it/g + %s/sorted_actingbackfill_set/remote_shards_to_reserve_recovery/g + + Signed-off-by: Samuel Just + +commit 938d735697e2af0b01dd2613a9152b3caef5db57 +Merge: 2f11631 9ca451a +Author: Samuel Just +Date: Tue Aug 26 10:30:14 2014 -0700 + + Merge pull request #2203 from ceph/wip-scrub-firefly + + backport scrub throttling to firefly + + Reviewed-by: Samuel Just + +commit 2f11631f3144f2cc0e04d718e40e716540c8af19 +Author: Sage Weil +Date: Sat Aug 16 12:42:33 2014 -0700 + + os/FileStore: fix mount/remount force_sync race + + Consider: + + - mount + - sync_entry is doing some work + - umount + - set force_sync = true + - set done = true + - sync_entry exits (due to done) + - ..but does not set force_sync = false + - mount + - journal replay starts + - sync_entry sees force_sync and does a commit while op_seq == 0 + ...crash... + + Fixes: #9144 + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit dd11042f969b94f7a461d02e1475794031c79f61) + + Conflicts: + src/os/FileStore.cc + +commit a38cf1bd503a09843d439f65937e7d60aed163e2 +Author: Haomai Wang +Date: Thu Jul 10 10:32:17 2014 +0800 + + Add random_cache.hpp to Makefile.am + + Signed-off-by: Haomai Wang + (cherry picked from commit a3e5c6d632119febd2150944a6f2cbce33cfda3a) + +commit a2c1532b5610207eccd24b8253643eec6bb05294 +Author: Sage Weil +Date: Tue Aug 26 06:42:12 2014 -0700 + + os/KeyValueStore, MemStore: fix warning + + os/MemStore.cc: In member function 'void MemStore::_do_transaction(ObjectStore::Transaction&)': + os/MemStore.cc:956:18: warning: unused variable 'expected_object_size' [-Wunused-variable] + os/MemStore.cc:957:18: warning: unused variable 'expected_write_size' [-Wunused-variable] + os/KeyValueStore.cc: In member function 'unsigned int KeyValueStore::_do_transaction(ObjectStore::Transaction&, KeyValueStore::BufferTransaction&, ThreadPool::TPHandle*)': + os/KeyValueStore.cc:1426:18: warning: unused variable 'expected_object_size' [-Wunused-variable] + os/KeyValueStore.cc:1427:18: warning: unused variable 'expected_write_size' [-Wunused-variable] + + Signed-off-by: Sage Weil + +commit 2b86bf4f4c1be2603368d5031ee7d706056e2d1e +Author: Sage Weil +Date: Tue Apr 29 11:23:58 2014 -0700 + + osd: automatically scrub PGs with invalid stats + + If a PG has recnetly split and has invalid stats, scrub it now, even if + it has scrubbed recently. This helps the stats become valid again soon. + + Fixes: #8147 + Signed-off-by: Sage Weil + (cherry picked from commit 68b440d66539e820c9ce86a6942c3188be4ee1ec) + +commit 271ca7d9bc41e3a2ac387b05ca9f30d8a250fb62 +Merge: 54333a4 87cd3a8 +Author: Sage Weil +Date: Tue Aug 26 06:38:34 2014 -0700 + + Merge pull request #2328 from dachary/wip-9209-round-up-to-firefly + + common: ROUND_UP_TO accepts any rounding factor (firefly) + +commit 54333a49c9e99a398bf3695845b248ba76ee3930 +Merge: 4bff6f3 58d0871 +Author: Sage Weil +Date: Tue Aug 26 06:09:17 2014 -0700 + + Merge pull request #2326 from yuyuyu101/wip-kvstore-firefly + + Backport from master to Firefly(KeyValueStore) + +commit 87cd3a8f6e190aed06e361595afc4ec83148da98 +Author: Loic Dachary +Date: Mon Aug 25 17:05:04 2014 +0200 + + common: ROUND_UP_TO accepts any rounding factor + + The ROUND_UP_TO function was limited to rounding factors that are powers + of two. This saves a modulo but it is not used where it would make a + difference. The implementation is changed so it is generic. + + http://tracker.ceph.com/issues/9209 Fixes: #9209 + + Signed-off-by: Loic Dachary + (cherry picked from commit 9449520b121fc6ce0c64948386d4ff77f46f4f5f) + +commit 58d08714340049a5165ad682ec5b54292525b45d +Author: Haomai Wang +Date: Thu Mar 20 14:09:49 2014 +0800 + + Remove exclusive lock on GenericObjectMap + + Now most of GenericObjectMap interfaces use header as argument not the union of + coll_t and ghobject_t. So caller should be responsible for maintain the + exclusive header. + + Signed-off-by: Haomai Wang + +commit 98df982a6f830154ff6880f5ee00350ba3375b6b +Author: Haomai Wang +Date: Wed Jul 23 11:26:18 2014 +0800 + + common/RandomCache: Fix inconsistence between contents and count + + The add/clear method may cause count inconsistent with the real size of + contents. + + Signed-off-by: Haomai Wang + +commit c8ec7721526ccf4bfd91a220fee0dd75bef8fb21 +Author: Haomai Wang +Date: Tue Aug 26 04:41:28 2014 +0000 + + Add random cache and replace SharedLRU in KeyValueStore + + SharedLRU plays pool performance in KeyValueStore with large header cache size, + so a performance optimized RandomCache could improve it. + + RandomCache will record the lookup frequency of key. When evictint element, + it will randomly compare several elements's frequency and evict the least + one. + + Signed-off-by: Haomai Wang + + Conflicts: + + src/common/config_opts.h + src/os/KeyValueStore.cc + +commit 33ca26a103a0d99627fddc30f2916c5aeb37c691 +Author: Haomai Wang +Date: Tue Aug 26 04:40:16 2014 +0000 + + Add Header cache to KeyValueStore + + In the performance statistic recently, the header lookup becomes the main time + consuming for the read/write operations. Most of time it occur 50% to deal with + header lookup, decode/encode logics. + + Now adding header cache using SharedLRU structure which will maintain the header + cache and caller will get the pointer to the real header. It also avoid too much + header copy operations overhead. + + Signed-off-by: Haomai Wang + + Conflicts: + + src/os/KeyValueStore.cc + src/os/KeyValueStore.h + +commit e8dcb8cc603cff64bafc11ee42c5c04a9cf85d12 +Author: Haomai Wang +Date: Wed Feb 26 17:46:07 2014 +0800 + + Fix write operation on a deleted object in the same transaction + + If the following op happened: + touch obj + delete obj + write obj + + KeyValueStore will fail at "write" operation. + + Signed-off-by: Haomai Wang + +commit e0ae6f9de685b60eee5efa5ca960c7a15481e41a +Author: Haomai Wang +Date: Tue Aug 26 04:35:57 2014 +0000 + + Remove SequencerPosition from KeyValueStore + + Now KeyValueStore expects kv backend to ensure consistency and there is unusable + for KeyValueStore to store a SequencerPosition. + + Signed-off-by: Haomai Wang + + Conflicts: + + src/os/KeyValueStore.cc + src/os/KeyValueStore.h + +commit 44721f71266e3098169ed00f1ca7e86496b76b07 +Author: Haomai Wang +Date: Wed Jun 4 12:58:07 2014 +0800 + + Fix keyvaluestore fiemap bug + + The result of fiemap is wrong and the offset get from + "StripObjectMap::file_to_extents" need to multiply by sequence number + + Signed-off-by: Haomai Wang + +commit 4bff6f3476e5df400db3dc1f0ad7b35a2a41830e +Author: Sage Weil +Date: Thu Aug 21 13:05:35 2014 -0700 + + mon: fix occasional message leak after session reset + + Consider: + + - we get a message, put it on a wait list + - the client session resets + - we go back to process the message later and discard + - _ms_dispatch returns false, but nobody drops the msg ref + + Since we call _ms_dispatch() a lot internally, we need to always return + true when we are an internal caller. + + Fixes: #9176 + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 19df386b2d36d716be2e6d02de0386fac9e7bc1f) + +commit ca3ac907aa73c5d77760e12da6f1509ea860e894 +Merge: fdbab46 8d7e77b +Author: Sage Weil +Date: Thu Aug 21 10:14:18 2014 -0700 + + Merge pull request #2298 from dachary/wip-9153-jerasure-upgrade-firefly + + erasure-code: preload the jerasure plugin variant (sse4,sse3,generic) + + Reviewed-by: Sage Weil + +commit 8d7e77b9747f1b3dc3c10d1b0877a4b9c899ba86 +Author: Loic Dachary +Date: Thu Aug 21 14:41:55 2014 +0200 + + erasure-code: preload the jerasure plugin variant (sse4,sse3,generic) + + The preloading of the jerasure plugin ldopen the plugin that is in + charge of selecting the variant optimized for the + CPU (sse4,sse3,generic). The variant plugin itself is not loaded because + it does not happen at load() but when the factory() method is called. + + The JerasurePlugin::preload method is modified to call the factory() + method to load jerasure_sse4 or jerasure_sse3 or jerasure_generic as a + side effect. + + Indirectly loading another plugin in the factory() method is error prone + and should be moved to the load() method instead. This change should be + done in a separate commit. + + http://tracker.ceph.com/issues/9153 Fixes: #9153 + + Signed-off-by: Loic Dachary + +commit fdbab46852e74d405b5c747da98564a5866ec8a7 +Author: Haomai Wang +Date: Tue May 20 14:32:18 2014 +0800 + + Fix set_alloc_hint op cause KeyValueStore crash problem + + Now KeyValueStore doesn't support set_alloc_hit op, the implementation of + _do_transaction need to consider decoding the arguments. Otherwise, the + arguments will be regarded as the next op. + + Fix the same problem for MemStore. + + Fix #8381 + + Reported-by: Xinxin Shu + Signed-off-by: Haomai Wang + (cherry picked from commit c08adbc98ff5f380ecd215f8bd9cf3cab214913c) + +commit 922e24e658f09a8a772309f18a8d54c560fad653 +Merge: ae787cf 164f1a1 +Author: Sage Weil +Date: Wed Aug 20 10:10:08 2014 -0700 + + Merge pull request #2286 from dachary/wip-9153-jerasure-upgrade-firefly + + erasure-code: preload the jerasure plugin (firefly) + + Reviewed-by: Sage Weil + +commit 164f1a1959a863848319585fa752250c7b261381 +Author: Loic Dachary +Date: Tue Aug 19 01:30:15 2014 +0200 + + erasure-code: preload the jerasure plugin + + Load the jerasure plugin when ceph-osd starts to avoid the following + scenario: + + * ceph-osd-v1 is running but did not load jerasure + + * ceph-osd-v2 is installed being installed but takes time : the files + are installed before ceph-osd is restarted + + * ceph-osd-v1 is required to handle an erasure coded placement group and + loads jerasure (the v2 version which is not API compatible) + + * ceph-osd-v1 calls the v2 jerasure plugin and does not reference the + expected part of the code and crashes + + Although this problem shows in the context of teuthology, it is unlikely + to happen on a real cluster because it involves upgrading immediately + after installing and running an OSD. Once it is backported to firefly, + it will not even happen in teuthology tests because the upgrade from + firefly to master will use the firefly version including this fix. + + While it would be possible to walk the plugin directory and preload + whatever it contains, that would not work for plugins such as jerasure + that load other plugins depending on the CPU features, or even plugins + such as isa which only work on specific CPU. + + http://tracker.ceph.com/issues/9153 Fixes: #9153 + + Backport: firefly + Signed-off-by: Loic Dachary + (cherry picked from commit 9b802701f78288ba4f706c65b853415c69002d27) + + Conflicts: + src/test/erasure-code/test-erasure-code.sh + src/common/config_opts.h + +commit ae787cfa88dfd0f5add5932b297258c46af4e333 +Author: Matt Benjamin +Date: Thu May 29 10:34:20 2014 -0400 + + Work around an apparent binding bug (GCC 4.8). + + A reference to h->seq passed to std::pair ostensibly could not bind + because the header structure is packed. At first this looked like + a more general unaligned access problem, but the only location the + compiler rejects is a false positive. + + Signed-off-by: Matt Benjamin + (cherry picked from commit c930a1f119069a424af28a618b0abff4947c221f) + +commit 486deefdc1496b72cc680e432a61d71e5fa265c9 +Author: Sage Weil +Date: Sun Aug 17 20:54:28 2014 -0700 + + qa/workunits/rbd/qemu-iotests: touch common.env + + This seems to be necessary on trusty. + + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 055be68cf8e1b84287ab3631a02e89a9f3ae6cca) + +commit cc4e6258d67fb16d4a92c25078a0822a9849cd77 +Author: Joao Eduardo Luis +Date: Fri May 23 16:52:08 2014 +0100 + + unittest_strtol: fix compilation warning + + Was fixed in master by a4923f5bc373d530d1ffdf6c58a4d88139daedd2 + + Signed-off-by: Sage Weil + +commit 7f9fe22a1c73d5f2783c3303fb9f3a7cfcea61c5 +Author: huangjun +Date: Tue Jun 17 13:12:58 2014 +0800 + + Fix EINVAL err when use "ceph tell osd.* bench" + + Signed-off-by: huangjun + (cherry picked from commit 7dc93a9651f602d9c46311524fc6b54c2f1ac595) + +commit 14607fc045aa169f1e8fa6872b412fba8f09d645 +Author: Ma Jianpeng +Date: Wed Jul 16 17:48:34 2014 -0700 + + qa/workunits/cephtool/test.sh: fix get erasure_code_profile test + + Manual backport of 4d6899c7560e990650959b442980a7249f0ba4c1 + + Signed-off-by: Sage Weil + +commit 068b906ee396f1ad717968f214610ea86dd8d6b4 +Author: Joao Eduardo Luis +Date: Fri Jun 27 21:41:18 2014 +0100 + + mon: OSDMonitor: add 'osd pool get-quota' command + + Enables us to obtain current quotas for a given pool. + + Fixes: #8523 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 714a9bb5a058b2553f3be3e4cfb7e7f30150e75a) + +commit 2ed0fa034aa8e49ab703bdb798bd6211a83e3a9d +Author: John Spray +Date: Tue Jun 3 10:12:41 2014 +0100 + + mon: name instead of id in "has tiers" message + + Instead of "Pool foo has tiers 1 2" print + "Pool foo has tiers bar baz". + + Signed-off-by: John Spray + (cherry picked from commit 97772c2f53f726bd71710d0d3e34159d2679390a) + +commit 7e509b1b8b5a3679094f794cd9334598aef4441e +Author: Joao Eduardo Luis +Date: Fri May 23 17:01:38 2014 +0100 + + common/config.cc: allow integer values to be parsed as SI units + + We are allowing this for all and any integer values; that is, OPT_INT, + OPT_LONGLONG, OPT_U32 and OPT_U64. + + It's on the user to use appropriate units. For instance, the user should + not use 'E(xabyte)' when setting a signed int, and use his best judgment + when setting options that, for instance, ought to receive seconds. + + Fixes: 8265 + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 5500437e064cd6b4b45d63ee9396193df87f4d44) + +commit 4e34d83e337d0febf20c86b051721878feef49a8 +Author: Joao Eduardo Luis +Date: Fri May 23 16:52:08 2014 +0100 + + test/strtol.cc: Test 'strict_strtosi()' + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 40587d4792fd55db72d33870aae8b6a806c9baaf) + +commit 3b06b8f4893bd18440ecb9705414831a827cef90 +Author: Joao Eduardo Luis +Date: Fri May 23 16:51:37 2014 +0100 + + common/strtol.cc: strict_strtosi() converts str with SI units to uint64_t + + Accepts values with a suffix (B, K, M, G, T, P, E) and returns the + appropriate byte value. + + E.g., 10B = 10, while 10K = 10240. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 67dc5751ba9a4e527ff12ea65000d1ba45d956f6) + +commit 92ab6ecf321ab68ea8fe3e8c2b310303a5726af3 +Author: Alfredo Deza +Date: Wed Aug 13 15:50:20 2014 -0400 + + ceph-disk: linter cleanup + + Signed-off-by: Alfredo Deza + (cherry picked from commit d74ed9d53fab95f27a9ad8e9f5dab7192993f6a3) + +commit 08772fd888fb0eca4570bd6b4bb25f8122691cb4 +Author: Sage Weil +Date: Wed Aug 13 12:00:50 2014 -0700 + + ceph-disk: warn about falling back to sgdisk (once) + + This way the user knows something funny might be up if dmcrypt is in use. + + Signed-off-by: Sage Weil + (cherry picked from commit 6f7798e37e098de38fbc73f86c4c6ee705abbe38) + +commit 50166efd205f46fa325dec9636d817387e5d4d3b +Author: Sage Weil +Date: Wed Aug 13 11:40:34 2014 -0700 + + ceph-disk: only fall back to sgdisk for 'list' if blkid seems old + + If the blkid doesn't show us any ID_PART_ENTRY_* fields but we know it is + a GPT partition, *then* fallback. Otherwise, don't bother. + + Signed-off-by: Sage Weil + (cherry picked from commit b1651afb34d9d2c324db3bf5f54ac9ce001c6af9) + +commit a45e815cb00f1a807691cbf687990839995f7629 +Author: Sage Weil +Date: Wed Aug 13 11:39:47 2014 -0700 + + ceph-disk: add get_partition_base() helper + + Return the base devices/disk for a partition device. + + Signed-off-by: Sage Weil + (cherry picked from commit b75e8a340c49cbc067baa19790b994a5f904bb4f) + +commit 8c04e475efb4471c605e3c921ec8a03b67934899 +Author: Sage Weil +Date: Tue Aug 12 17:26:07 2014 -0700 + + ceph-disk: display information about dmcrypted data and journal volumes + + Signed-off-by: Sage Weil + (cherry picked from commit c7a1ceba441fa99a82e19ed2cd3c6782a5d77636) + +commit b09e659226b26002b58c7697f8c600d06fe78c58 +Author: Sage Weil +Date: Tue Aug 12 17:25:42 2014 -0700 + + ceph-disk: move fs mount probe into a helper + + Signed-off-by: Sage Weil + (cherry picked from commit f80ed26d2403ba12e80da6459fc45c22584f72de) + +commit 6775f46e4a5862ddbf81bef11016bc036222fda9 +Author: Sage Weil +Date: Tue Aug 12 17:25:10 2014 -0700 + + ceph-disk: use partition type UUIDs, and blkid + + Use blkid to give us the GPT partition type. This lets us distinguish + between dmcrypt and non-dmcrypt partitions. Fake it if blkid doesn't + give us what we want and try with sgdisk. This isn't perfect (it can't + tell between dmcrypt and not dmcrypt), but such is life, and we are better + off than before. + + Signed-off-by: Sage Weil + (cherry picked from commit 6c77f5f2f994c881232d76ce9c69af80d10772bd) + +commit 1804a83400b7c3dc07650e09da5224bb999d0940 +Author: Sage Weil +Date: Tue Aug 12 13:53:16 2014 -0700 + + ceph-disk: fix log syntax error + + File "/usr/sbin/ceph-disk", line 303, in command_check_call + LOG.info('Running command: %s' % ' '.join(arguments)) + TypeError: sequence item 2: expected string, NoneType found + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 1088d6cd11b476cd67ed30e07edd363c4057a003) + +commit 8a8a9c35349d3f58d899afa1a9e219b99586bc9f +Author: Sage Weil +Date: Mon Aug 11 15:58:15 2014 -0700 + + Revert "Fix for bug #6700" + + This reverts commit 673394702b725ff3f26d13b54d909208daa56d89. + + This appears to break things when the journal and data disk are *not* the same. + And I can't seem to reproduce the original failure... + + Signed-off-by: Sage Weil + (cherry picked from commit 2edf01ffa4a7425af2691b4e94bc5fd0bfab1e5b) + +commit 50b700fadf6ce6e0bf14b5daa2288786426d7359 +Author: Sage Weil +Date: Mon Aug 11 15:57:52 2014 -0700 + + ceph-disk: fix verify_no_in_use check + + We only need to verify that partitions aren't in use when we want to + consume the whole device (osd data), not when we want to create an + additional partition for ourselves (osd journal). + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit d6e6ba198efc4b3afff0c70af53497a70c6b3f19) + +commit c9847ef059f182ad15ef027c8bdfae6c99d91867 +Author: Alfredo Deza +Date: Thu May 22 17:04:28 2014 -0400 + + better error reporting on incompatible device requirements + + Signed-off-by: Alfredo Deza + (cherry picked from commit 1ac3a503a15ddf7f7c1a33310a468fac10a1b7b6) + +commit 40649902891244242d5861ccd9538aec026cae3a +Author: Stuart Longland +Date: Tue May 6 14:06:36 2014 -0700 + + ceph-disk: fix list for encrypted or corrupt volume + + Continue gracefully if an fs type is not detected, either because it is + encrypted or because it is corrupted. + + Signed-off-by: Sage Weil + (cherry picked from commit 09beebe3f1fd1b179547743648049b891cb8bc56) + +commit 80896dcf2c3ccba0b9b0b1bd9f6e075585e3d502 +Author: Alfredo Deza +Date: Fri Jun 13 09:37:33 2014 -0400 + + support dmcrypt partitions when activating + + Signed-off-by: Alfredo Deza + (cherry picked from commit ef8a1281512c4ee70a3764b28891da691a183804) + +commit 1b0da81d733a36de4a9dc80263058a6cdf05c745 +Author: Sage Weil +Date: Fri Aug 15 16:41:43 2014 -0700 + + init-ceph: don't use bashism + + -z STRING + the length of STRING is zero + + Signed-off-by: Sage Weil + (cherry picked from commit 0d6d1aa7e0c5e0b5f99c9b548a1f890c511b4299) + +commit 9005f33d0d80d6d2b93493b38866b7f74f87d1eb +Author: Sage Weil +Date: Fri Aug 15 14:28:57 2014 -0700 + + osd: fix feature requirement for mons + + These features should be set on the client_messenger, not + cluster_messenger. + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit ae0b9f17760eda9a7e09a6babac50bfe8ebb4b36) + +commit 9e46c5ad7dadd1c342c82629577b5a1bf037fe75 +Author: Sage Weil +Date: Fri Aug 15 13:54:11 2014 -0700 + + unittest_osdmap: test EC rule and pool features + + TODO: tiering feature bits. + + Signed-off-by: Sage Weil + (cherry picked from commit 2f0e2951d773b6acce781b4b991d6d8e817ee2f9) + +commit dbbe0c627bcd4a60c1346bb120698b5a0c2192c2 +Author: Sage Weil +Date: Fri Aug 15 14:04:05 2014 -0700 + + unittest_osdmap: create an ec pool in test osdmap + + This is part of 7294e8c4df6df9d0898f82bb6e0839ed98149310. + + Signed-off-by: Sage Weil + +commit c2aa74a22718d9a59d60201d71213aaff2492ff8 +Author: Sage Weil +Date: Fri Aug 15 08:55:10 2014 -0700 + + osd: only require crush features for rules that are actually used + + Often there will be a CRUSH rule present for erasure coding that uses the + new CRUSH steps or indep mode. If these rules are not referenced by any + pool, we do not need clients to support the mapping behavior. This is true + because the encoding has not changed; only the expected CRUSH output. + + Fixes: #8963 + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 16dadb86e02108e11a970252411855d84ab0a4a2) + +commit 12430fed85b2cfeaeb33a443e6a4c6538d0833f8 +Author: Sage Weil +Date: Fri Aug 15 08:52:37 2014 -0700 + + crush: add is_v[23]_rule(ruleid) methods + + Add methods to check if a *specific* rule uses v2 or v3 features. Refactor + the existing checks to use these. + + Signed-off-by: Sage Weil + (cherry picked from commit 1d95486780a54c85a5c88936a4da4bdc3576a7b8) + +commit 2427ea8f153caf55b3bce77cd2fc88935563c7b3 +Author: Samuel Just +Date: Mon Jun 30 13:40:07 2014 -0700 + + PGLog: fix clear() to avoid the IndexLog::zero() asserts + + Introduced in: + c5b8d8105d965da852c79add607b69d5ae79a4d4 + ac11ca40b4f4525cbe9b1778b1c5d9472ecb9efa + Signed-off-by: Samuel Just + + (cherry picked from commit 959f2b25910360b930183fbf469ce984a48542dd) + +commit 9ca451a6bf2f29e75f72cbd3dbcff0bf8986e462 +Author: Sage Weil +Date: Thu Jun 19 12:34:36 2014 -0700 + + osd: allow io priority to be set for the disk_tp + + The disk_tp covers scrubbing, pg deletion, and snap trimming + + Signed-off-by: Sage Weil + (cherry picked from commit d9073f486527ca13cdb2774745c4c63c218333ad) + +commit 11858d7e7a493c9493f7039b7e45dc03fc4feb90 +Author: Sage Weil +Date: Wed Jun 18 11:02:09 2014 -0700 + + common/WorkQueue: allow io priority to be set for wq + + Signed-off-by: Sage Weil + (cherry picked from commit dd6badcb5eedfec6748b3e6ca4d46e3b266038f6) + + Conflicts: + + src/common/WorkQueue.cc + +commit b75f85a2c4dd9807947862f7b89a5f25dfa1defe +Author: Sage Weil +Date: Wed Jun 18 11:01:42 2014 -0700 + + common/Thread: allow io priority to be set for a Thread + + Ideally, set this before starting the thread. If you set it after, we + could potentially race with create() itself. + + Signed-off-by: Sage Weil + (cherry picked from commit 1b8741022c5a2ebae38905215dadee696433e931) + +commit 9f29788fbc19aea341b4fe997a567aa3054b9d1c +Author: Sage Weil +Date: Wed Jun 18 11:01:09 2014 -0700 + + common/io_priority: wrap ioprio_set() and gettid() + + Signed-off-by: Sage Weil + (cherry picked from commit a2b49110ef65efd526c3430ad03c988ca9dde768) + +commit fac5bfafef1eb82f8cf23c369fb5f50502e2e6f3 +Author: Sage Weil +Date: Tue Jun 17 10:47:24 2014 -0700 + + osd: introduce simple sleep during scrub + + This option is similar to osd_snap_trim_sleep: simply inject an optional + sleep in the thread that is doing scrub work. This is a very kludgey and + coarse knob for limiting the impact of scrub on the cluster, but can help + until we have a more robust and elegant solution. + + Only sleep if we are in the NEW_CHUNK state to avoid delaying processing of + an in-progress chunk. In this state nothing is blocked on anything. + Conveniently, chunky_scrub() requeues itself for each new chunk. + + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit c4e8451cc5b4ec5ed07e09c08fb13221e31a7ac6) + +commit ad82f28122dc41095d5e703279a8a5c494d35913 +Author: Sage Weil +Date: Sat Jun 14 10:30:50 2014 -0700 + + osd: add sanity check/warning on a few key configs + + Warn when certain config values are set to bad values. + + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit f3ec7d0b23fdee39a34bda7595cd2a79c08daf8a) + +commit 289360c5dc57a4788289472f90d63781143539be +Author: Sage Weil +Date: Thu May 1 17:24:48 2014 -0700 + + osd: prevent pgs from getting too far ahead of the min pg epoch + + Bound the range of PG epochs between the slowest and fastest pg + (epoch-wise) with 'osd map max advance'. This value should be set to + something less than 'osd map cache size' so that the maps we are + processing will be in memory as many PGs advance forward in time in + loose synchrony. + + This is part of the solution to #7576. + + Signed-off-by: Sage Weil + (cherry picked from commit cf25bdf6b0090379903981fe8cee5ea75efd7ba0) + +commit 662af7ac83b67af8c9edc554bbd505de717f9709 +Author: Sage Weil +Date: Thu Aug 7 17:42:06 2014 -0700 + + osd: fix pg epoch floor tracking + + If you call erase() on a multiset it will delete all instances of a value; + we only want to delete one of them. Fix this by passing an iterator. + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit a52a855f6c92b03dd84cd0cc1759084f070a98c2) + +commit 229a346d824d84c361d7963a356af5251adc9e2e +Author: Sage Weil +Date: Wed Apr 2 14:29:08 2014 -0700 + + osd: track per-pg epochs, min + + Add some simple tracking so that we can quickly determine what the min + pg osdmap epoch is. + + Signed-off-by: Sage Weil + (cherry picked from commit 81e4c47722255ac3d46f701a80e104cc390e766c) + +commit 38c3a3c0b0d1903aea2fdc6224fc4f70bbc39329 +Author: Sage Weil +Date: Wed Aug 13 13:31:10 2014 -0700 + + mon: fix divide by zero when pg_num adjusted and no osds + + Fixes: #9052 + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 239401db7b51541a57c59a261b89e0f05347c32d) + +commit 87bf00a2cb93ce2dc904a42c45cc9f43023725c3 +Author: Sage Weil +Date: Sun Aug 10 12:48:29 2014 -0700 + + ceph_test_rados_api_tier: fix cache cleanup (ec too) + + Signed-off-by: Sage Weil + (cherry picked from commit d7fb7bf5f2059f411633751e376c2270e6040fba) + +commit 3be0d731cbe158d837d05c907aefe16aa95977be +Author: Sage Weil +Date: Sun Aug 10 12:15:38 2014 -0700 + + ceph_test_rados_api: fix cleanup of cache pool + + We can't simply try to delete everything in there because some items may + be whiteouts. Instead, flush+evict everything, then remove overlay, and + *then* delete what remains. + + Fixes: #9055 + Signed-off-by: Sage Weil + (cherry picked from commit ebbe8aab17cfa2281902f167a706639535da4010) + +commit 7f511ef7fd55cca8f1babaf696ca0faa0e1e411d +Author: Sage Weil +Date: Sun Aug 10 11:41:23 2014 -0700 + + librados/TestCase: inheret cleanup_default_namespace + + No need to duplicate this code. + + Signed-off-by: Sage Weil + (cherry picked from commit 1d199fb1173dc9685dba96c22b83e4e9edf51a11) + +commit 4a5c93a90986de4510c50f0fba72ae7d5aed8a15 +Author: Sage Weil +Date: Wed Aug 13 10:34:53 2014 -0700 + + osd/ReplicatedPG: only do agent mode calculations for positive values + + After a split we can get negative values here. Only do the arithmetic if + we have a valid (positive) value that won't through the floating point + unit for a loop. + + Fixes: #9082 + Tested-by: Karan Singh + Signed-off-by: Sage Weil + (cherry picked from commit 5be56ff86d9f3ab2407a258a5285d0b8f52f041e) + +commit 39bcafa6f2b14e4e11e1541cf01f24525e2b6449 +Merge: 7da121d cb48cd4 +Author: Sage Weil +Date: Tue Aug 12 21:15:26 2014 -0700 + + Merge pull request #2231 from ceph/wip-8944-firefly + + Wip 8944 firefly + + Reviewed-by: Sage Weil + +commit 7da121d2aa1ea5c5c8accef92d7304912d4b2eb3 +Author: Greg Farnum +Date: Mon Jul 28 18:33:56 2014 -0700 + + OSD: add require_same_peer_inst(OpRequestRef&,OSDMap&) helper + + Signed-off-by: Greg Farnum + (cherry picked from commit e99acf9810976b1fc74b84ad289773af43be973f) + + Conflicts: + + src/osd/OSD.cc + +commit 8595e9bed3689933c03a8f3443052a36ff1d62f5 +Author: Greg Farnum +Date: Mon Jul 28 14:19:59 2014 -0700 + + OSD: introduce require_self_aliveness(OpRequestRef&,epoch_t) function + + Take the self-aliveness checks out of require_same_or_newer_map() and use + the new function for that and for require_up_osd_peer(). + + Signed-off-by: Greg Farnum + (cherry picked from commit e179e9227b4a4482d8359682092fd7f426b9a919) + + Conflicts: + + src/osd/OSD.cc + +commit d0f2c4891bbcc1938bee15b3fc0bfb796ce4c7de +Author: Greg Farnum +Date: Mon Jul 28 14:08:30 2014 -0700 + + OSD: use OpRequestRef& for a few require_* functions + + Signed-off-by: Greg Farnum + (cherry picked from commit eb2f1ea2c33647934af878b504383829f5a198ce) + +commit 8d395f1cbbc63f4cd5d166fd0a667938c83f303c +Author: Greg Farnum +Date: Tue Jul 22 16:57:00 2014 -0700 + + OSD: introduce require_up_osd_peer() function for gating replica ops + + This checks both that a Message originates from an OSD, and that the OSD + is up in the given map epoch. + We use it in handle_replica_op so that we don't inadvertently add operations + from down peers, who might or might not know it. + + Signed-off-by: Greg Farnum + (cherry picked from commit ccd0eec50103b919b3eb6eea96f7dc6438520ed3) + +commit 72c2474e05b918535047181d876678a6a077aa1d +Author: Alfredo Deza +Date: Fri Aug 8 10:16:20 2014 -0400 + + init-ceph: conditionally update after argparsing + + Signed-off-by: Alfredo Deza + (cherry picked from commit 44ed1885fb588aad7e4729373e06c5933178b5e5) + +commit 8d7fb538e0163f828289d7da719692bd36a66f83 +Author: Alfredo Deza +Date: Thu Aug 7 11:11:57 2014 -0400 + + make ceph-disk use the new init flag for cluster + + Signed-off-by: Alfredo Deza + (cherry picked from commit d0ccb1cbef86b8ccd8967af892e3582ee80edd55) + +commit 260a9c84630ca6956eb772d87abdc3bd4c4bb8fc +Author: Alfredo Deza +Date: Thu Aug 7 10:48:09 2014 -0400 + + allow passing a --cluster flag to the init script + + It will fallback to looking at /etc/ceph/$cluster.conf + otherwise. + + Signed-off-by: Alfredo Deza + (cherry picked from commit 23b4915fa252852cf02cc42a1b6143e2cd61b445) + +commit cb5ecdce68dcd4e4bc32b5c7c029cfd7ffe7c80e +Author: Alfredo Deza +Date: Wed Aug 6 15:30:30 2014 -0400 + + use cluster name when checking the host + + Signed-off-by: Alfredo Deza + (cherry picked from commit bdf5f30010117c71a227855a47fe22ab55b3e0b8) + +commit 79452540826d0aed7b94d374cc61b5002e89e4a4 +Author: Alfredo Deza +Date: Wed Aug 6 15:30:09 2014 -0400 + + use name in /var/lib/ceph paths + + Signed-off-by: Alfredo Deza + (cherry picked from commit 3fb25c28e8e3cc62bc541538cc11f5ed41471611) + +commit 92755d1060ea06f13577cd2fffda6c7984a610b2 +Author: Alfredo Deza +Date: Wed Aug 6 15:29:42 2014 -0400 + + when starting an OSD, pass in the cluster name + + Signed-off-by: Alfredo Deza + (cherry picked from commit 9e08e3a7794ce007c80c8fdb56e96900eb5240a3) + +commit 272b26f5aab71c22a1954ff92548b535a1f018d8 +Author: Samuel Just +Date: Fri Aug 1 14:04:35 2014 -0700 + + osd_types: s/stashed/rollback_info_completed and set on create + + Originally, this flag indicated that the object had already been stashed and + that therefore recording subsequent changes is unecessary. We want to set it + on create() as well since operations like [create, writefull] should not need + to stash the object. + + Fixes: #8625 + Signed-off-by: Samuel Just + (cherry picked from commit 4260767973d96978e808cb87ef6ae991104b4f8d) + +commit 7b5bcb943578b99f5a2aeeae0bbc67f371c30233 +Author: Joao Eduardo Luis +Date: Thu Jun 19 18:27:49 2014 +0100 + + osd: use appropriate json types instead of stream when dumping info + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 363496ad878c685008ccd87f26f121d62a48c24c) + +commit daec3226e073b8d6047eb9111f3deb39b1001647 +Author: Joao Eduardo Luis +Date: Thu Jun 19 16:52:06 2014 +0100 + + osd: have 'tid' dumped as a json unsigned int where appropriate + + Most of the places dumping it would dump it as a string. Others as an int. + Just a couple would dump it as an unsigned int. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 3f0ea9512be78d10ac0bc605a38e83cfbab7ffee) + +commit 439bce34bc25cd7c8eba7ffc124185d810d3711f +Author: Yehuda Sadeh +Date: Sat Aug 2 13:01:05 2014 -0700 + + rgw: need to pass need_to_wait for throttle_data() + + need_to_wait wasn't passed into processor->throttle_data(). This was + broken in fix for #8937. + + CID 1229541: (PW.PARAM_SET_BUT_NOT_USED) + + Backport: firefly + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit e93818df33286a2a7f73b593dc20da412db4e0a6) + (cherry picked from commit 8519e9ab06caf6999e1243514a93eaffb155ab2e) + +commit fc1a4b5fdce7b92ba1b321dec37c4c75501e3521 +Author: Sylvain Munaut +Date: Thu Jun 5 11:28:27 2014 +0200 + + rgw: Don't send error body when it's a HEAD request + + The main 'operation' know not to send any body for HEAD requests. + + However for errors, this was not the case, the formatter would be + flushed and would send the error 'message' in the body in all cases. + + For the FastCGI case it doesn't seem to be an issue, it's possible + that the webserver (apache/lighttpd/...) cleans up the response + into shape. + + But when using the new civetweb frontend this cause invalid HTTP. + + Backport: firefly + Fixes #8539 + + Reviewed-by: Yehuda Sadeh + Signed-off-by: Sylvain Munaut + (cherry picked from commit 0a2b4c25541bbd15776d3d35986518e37166910f) + +commit e3bc15343720d0455e32e429e7cf865037bd90d7 +Author: Sage Weil +Date: Wed Jul 30 13:57:34 2014 -0700 + + osd: prevent old clients from using tiered pools + + If the client is old and doesn't understand tiering, don't let them use a + tiered pool. Reply with EOPNOTSUPP. + + Fixes: #8714 + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 0190df53056834f219e33ada2af3a79e8c4dfb77) + +commit f3113e9adde54fa50a64010381f5b6c113f5cda0 +Author: Sage Weil +Date: Thu Jul 31 11:02:55 2014 -0700 + + mon/OSDMonitor: warn when cache pools do not have hit_sets configured + + Give users a clue when cache pools are enabled but the hit_set is not + configured. Note that technically this will work, but not well, so for + now let's just steer them away. + + Signed-off-by: Sage Weil + (cherry picked from commit 383536a2ef2506c5591b25c0fd61dc8c181fdab9) + + NOTE: removed readforward state for backport + +commit aaf732f7475c075f8bf8e79bc08b11a020e5fadf +Author: Sage Weil +Date: Thu Jul 31 09:28:12 2014 -0700 + + osd/ReplicatedPG: improve agent_choose_mode args + + Signed-off-by: Sage Weil + (cherry picked from commit caf554bf2f752b50670d118c99843b7c4a2967b4) + +commit 76a519b215e591e0948d627fb1de826ed0bf415d +Author: Sage Weil +Date: Thu Jul 31 09:26:03 2014 -0700 + + osd/ReplicatedPG: evict blindly if there is no hit_set + + If there is no hit set for a PG, blindly evict objects. This avoids an + assert(hit_set) in agent_estimate_atime_temp(). + + Fixes: #8982 + Signed-off-by: Sage Weil + (cherry picked from commit ea4996d3ef15c5d5a776d162b08d9fad6859c976) + +commit 8ff48d79697e98dca04799ee5982a5308a4efc92 +Author: Sage Weil +Date: Thu Jul 31 09:13:11 2014 -0700 + + osd/ReplicatedPG: check agent_mode if agent is enabled but hit_sets aren't + + It is probably not a good idea to try to run the tiering agent without a + hit_set to inform its actions, but it is technically possible. For + example, one could simply blindly evict when we reach the full point. + However, this doesn't work because the agent mode is guarded by a hit_set + check, even though agent_setup() is not. Fix that. + + Signed-off-by: Sage Weil + (cherry picked from commit 5d1c76f641310f5f65600f70ae76945b2aa472d7) + +commit f98a6194a9a9f5794c38814c1c33d13b7fcea538 +Author: Sage Weil +Date: Tue Aug 12 07:05:34 2014 -0700 + + common/LogClient: fix sending dup log items + + We need to skip even the most recently sent item in order to get to the + ones we haven't sent yet. + + Fixes: #9080 + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 057c6808be5bc61c3f1ac2b956c1522f18411245) + +commit bbb1e6a3a84b2d853f935687f01016e7c6a67951 +Author: Pavan Rallabhandi +Date: Wed Aug 6 15:10:14 2014 +0530 + + RadosClient: Fixing potential lock leaks. + + In lookup_pool and pool_delete, a lock is taken + before invoking wait_for_osdmap, but is not + released for the failure case of the call. Fixing the same. + + Fixes: #9022 + Signed-off-by: Pavan Rallabhandi + (cherry picked from commit f1aad8bcfc53f982130dbb3243660c3c546c3523) + +commit e767254ce9a1610f3d640d8157fcb0d1fdf8edf2 +Author: Josh Durgin +Date: Mon Aug 11 16:41:26 2014 -0700 + + librbd: fix error path cleanup for opening an image + + If the image doesn't exist and caching is enabled, the ObjectCacher + was not being shutdown, and the ImageCtx was leaked. The IoCtx could + later be closed while the ObjectCacher was still running, resulting in + a segfault. Simply use the usual cleanup path in open_image(), which + works fine here. + + Fixes: #8912 + Backport: dumpling, firefly + Signed-off-by: Josh Durgin + (cherry picked from commit 3dfa72d5b9a1f54934dc8289592556d30430959d) + +commit dec028d113ab4bcc7106fea0bf413b54829f67e7 +Merge: e087862 c7fbf27 +Author: Sage Weil +Date: Tue Aug 12 14:38:33 2014 -0700 + + Merge remote-tracking branch 'gh/firefly-next' into firefly + +commit 07e1ceb55ac3cf0bea58cec27737e45391de9106 +Author: Loic Dachary +Date: Sun Aug 10 17:10:04 2014 +0200 + + erasure-code: ErasureCodeJerasure::create_ruleset must return a ruleset + + CrushWrapper::add_simple_ruleset does not return a ruleset, it returns + a ruleid that must be converted into a ruleset before being returned. + + http://tracker.ceph.com/issues/9044 Fixes: #9044 + + Signed-off-by: Loic Dachary + (cherry picked from commit 0029a35872d3fc15f9a0d60d095b2e111d6e98a6) + +commit 96047f1de4e0591a294e31ed6af6edfb3b2357e4 +Author: Loic Dachary +Date: Sun Aug 10 17:06:33 2014 +0200 + + erasure-code: OSDMonitor::crush_ruleset_create_erasure needs ruleset + + When OSDMonitor::crush_ruleset_create_erasure checks the ruleset for + existence, it must convert the ruleid into a ruleset before assigning it + back to the *ruleset parameter. + + http://tracker.ceph.com/issues/9044 Fixes: #9044 + + Signed-off-by: Loic Dachary + (cherry picked from commit 04a484a4d5800c9bcf9805d3e87ed0c8dee01c9a) + +commit e087862d5bd894572a6c223b45f4275cadd4b480 +Author: Haomai Wang +Date: Mon Jul 14 14:27:17 2014 +0800 + + Add rbdcache max dirty object option + + Librbd will calculate max dirty object according to rbd_cache_max_size, it + doesn't suitable for every case. If user set image order 24, the calculating + result is too small for reality. It will increase the overhead of trim call + which is called each read/write op. + + Now we make it as option for tunning, by default this value is calculated. + + Signed-off-by: Haomai Wang + (cherry picked from commit 3c7229a2fea98b30627878c86b1410c8eef2b5d7) + +commit 5f74fb294a0cd9b973aae45de17f38436bac6d61 +Author: Danny Al-Gaaf +Date: Wed Jun 4 23:22:18 2014 +0200 + + librbd/internal.cc: check earlier for null pointer + + Fix potential null ponter deref, move check for 'order != NULL' + to the beginning of the function to prevent a) deref in ldout() call + and b) to leave function as early as possible if check fails. + + [src/librbd/internal.cc:843] -> [src/librbd/internal.cc:865]: (warning) + Possible null pointer dereference: order - otherwise it is redundant + to check it against null. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 3ee3e66a9520a5fcafa7d8c632586642f7bdbd29) + +commit b2189465f36fc375b864f88a47d25c7808c08901 +Author: Josh Durgin +Date: Thu Apr 24 14:47:24 2014 -0700 + + librbd: add an interface to invalidate cached data + + This is useful for qemu to guarantee live migration with caching is + safe, by invalidating the cache on the destination before starting it. + + Signed-off-by: Josh Durgin + (cherry picked from commit 5d340d26dd70192eb0e4f3f240e3433fb9a24154) + +commit f7dc58552a9ee228b7fa2a10094e962ed66fe8fd +Author: Josh Durgin +Date: Thu Apr 24 14:43:35 2014 -0700 + + librbd: check return code and error out if invalidate_cache fails + + This will only happen when shrinking or rolling back an image is done + while other I/O is in flight to the same ImageCtx. This is unsafe, so + return an error before performing the resize or rollback. + + Signed-off-by: Josh Durgin + (cherry picked from commit e08b8b66c77be3a3d7f79d91c20b1619571149ee) + +commit c7fbf272a202cd8a72d91b7a55e53fbb5cbbbadd +Author: Sage Weil +Date: Sat Aug 9 13:23:06 2014 -0700 + + os/FileStore: dump open fds before asserting + + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 4e8de1792731cf30f2744ab0659d036adc0565a3) + +commit 978f5749f3d08bb4c96529ca2d1b10760ee2606d +Author: Sage Weil +Date: Fri Jul 25 13:51:45 2014 -0700 + + ceph_test_rados_api_tier: do fewer writes in HitSetWrite + + We don't need to do quite so many writes. It can be slow when we are + thrashing and aren't doing anything in parallel. + + Fixes: #8932 + Signed-off-by: Sage Weil + (cherry picked from commit c5f766bb16c0ab3c3554e73791ad0b74077ad35c) + +commit 22aa81413e7db43418e613aea037e978031f5b8a +Merge: b65cef6 7025075 +Author: Sage Weil +Date: Fri Aug 8 19:05:37 2014 -0700 + + Merge remote-tracking branch 'gh/firefly-next' into firefly + +commit cb48cd47a26d27869884af83012d6a8a684abf25 +Author: Dan Mick +Date: Wed Jul 30 14:50:37 2014 -0700 + + qa/workunits/cephtool/test_daemon.sh: verify ceph -c works with daemon + + Signed-off-by: Dan Mick + (cherry picked from commit aa9ae1f270293778aa937e7f7e4bcaee3099b9b2) + +commit 1ac0e5436da68e441f42a1016b12481046147850 +Author: Dan Mick +Date: Wed Jul 30 14:49:02 2014 -0700 + + qa/workunits/cephtool/test_daemon.sh: typo + + Signed-off-by: Dan Mick + (cherry picked from commit 22d20f39b7355966554319d5a1aa888967607569) + +commit a144950624208d8ed2901fd7421060a706ac2016 +Author: Dan Mick +Date: Wed Jul 30 14:48:28 2014 -0700 + + qa/workunits/cephtool/test_daemon.sh: allow local ceph command + + (cherry picked from commit 97a8d5a9fdbd3a25cc922c242ee57da58c57d0bc) + +commit 76b593f6268d77e6cf5a9931f6f3524b3f574c09 +Author: Dan Mick +Date: Mon Jul 28 21:28:42 2014 -0700 + + ceph.in: Pass global args to ceph-conf for proper lookup + + Fixes: #8944 + Signed-off-by: Dan Mick + (cherry picked from commit 6d89a99648630f81b85ad115fe7662dba6b08a55) + +commit b65cef678777c1b87d25385595bf0df96168703e +Author: Sage Weil +Date: Mon Jul 14 08:04:16 2014 -0700 + + ceph_test_rados_api_tier: fix [EC] HitSet{Read,Write,Trim} tests + + The hit_set_ fields can only be set on tier pools as of + f131dfbaedf6f451572e7aa3a83f653912122953. + + Fixes: #8823 + Signed-off-by: Sage Weil + (cherry picked from commit e17e9d857722ee478abda10adb32e15b11fff2ff) + +commit 70250755e4b2c114f1f0f463b42930dd99751d81 +Merge: 6f1a544 f8494c8 +Author: Samuel Just +Date: Sun Aug 3 12:47:23 2014 -0700 + + Merge branch 'wip-8701-firefly' into firefly-next + +commit f8494c87e5276f0587c3341ddef9d7a933dfea11 +Author: Sage Weil +Date: Tue Jul 22 06:53:41 2014 -0700 + + ceph_test_objectstore: clean up on finish of MoveRename + + Otherwise, we leave collections around, and the next test fails. + + Signed-off-by: Sage Weil + (cherry picked from commit d4faf747b73e70dff9cb5c98ee6aaa4ecec215fc) + +commit 94fee997204d439abfd642be20a7e33df5979342 +Author: Sage Weil +Date: Mon Jul 21 13:45:21 2014 -0700 + + os/LFNIndex: use FDCloser for fsync_dir + + This prevents an fd leak when maybe_inject_failure() throws an exception. + + Signed-off-by: Sage Weil + (cherry picked from commit 3ec9a42b470422b1fe72b6294d82d9efcaca7f53) + +commit b213866eac422a6ac6aeacd3ab4741a6421ce20c +Author: Sage Weil +Date: Fri Jul 18 23:16:09 2014 -0700 + + os/LFNIndex: only consider alt xattr if nlink > 1 + + If we are doing a lookup, the main xattr fails, we'll check if there is an + alt xattr. If it exists, but the nlink on the inode is only 1, we will + kill the xattr. This cleans up the mess left over by an incomplete + lfn_unlink operation. + + This resolves the problem with an lfn_link to a second long name that + hashes to the same short_name: we will ignore the old name the moment the + old link goes away. + + Fixes: #8701 + Signed-off-by: Sage Weil + (cherry picked from commit 6fb3260d59faab1e20ebf1e44f850f85f6b8342a) + +commit 4fc72d8d936ac499fbb53a1d73a3f7c05ebe596a +Author: Sage Weil +Date: Fri Jul 18 17:28:18 2014 -0700 + + os/LFNIndex: remove alt xattr after unlink + + After we unlink, if the nlink on the inode is still non-zero, remove the + alt xattr. We can *only* do this after the rename or unlink operation + because we don't want to leave a file system link in place without the + matching xattr; hence the fsync_dir() call. + + Note that this might leak an alt xattr if we happen to fail after the + rename/unlink but before the removexattr is committed. We'll fix that + next. + + Signed-off-by: Sage Weil + (cherry picked from commit ec36f0a130d67df6cbeefcc9c2d83eb703b6b28c) + +commit 816ed7e951b32bb9ac57466c0affaec9781ac7f4 +Author: Sage Weil +Date: Mon Jul 21 13:43:42 2014 -0700 + + os/LFNIndex: FDCloser helper + + Add a helper to close fd's when we leave scope. This is important when + injecting failures by throwing exceptions. + + Signed-off-by: Sage Weil + (cherry picked from commit a320c260a9e088ab0a4ea3d5298c06a2d077de37) + +commit cbfbe637851c7ebe4a9ec1fd6e429cdf85aef608 +Author: Sage Weil +Date: Fri Jul 18 17:09:07 2014 -0700 + + os/LFNIndex: handle long object names with multiple links (i.e., rename) + + When we rename an object (collection_move_rename) to a different name, and + the name is long, we run into problems because the lfn xattr can only track + a single long name linking to the inode. For example, suppose we have + + foobar -> foo_123_0 (attr: foobar) where foobar hashes to 123. + + At first, collection_add could only link a file to another file in a + different collection with the same name. Allowing collection_move_rename + to rename the file, however, means that we have to convert: + + col1/foobar -> foo_123_0 (attr: foobar) + + to + + col1/foobaz -> foo_234_0 (attr: foobaz) + + This is a problem because if we link, reset xattr, unlink we end up with + + col1/foobar -> foo_123_0 (attr: foobaz) + + if we restart after we reset the attr. This will cause the initial foobar + lookup to since the attr doesn't match, and the file won't be able to be + looked up. + + Fix this by allow *two* (long) names to link to the same inode. If we + lfn_link a second (different) name, move the previous name to the "alt" + xattr and set the new name. (This works because link is always followed + by unlink.) On lookup, check either xattr. + + Don't even bother to remove the alt xattr on unlink. This works as long + as the old name and new name don't hash to the same shortname and end up + in the same LFN chain. (Don't worry, we'll fix that next.) + + Fixes part of #8701 + Signed-off-by: Sage Weil + + (cherry picked from commit b2cdfce6461b81f4926602a8c63b54aa92684e6c) + +commit 5db6c12b61e00b0bc8084ead5976a912ece0fc65 +Author: Sage Weil +Date: Fri Jul 18 15:46:58 2014 -0700 + + ceph_test_objectstore: fix warning + + Signed-off-by: Sage Weil + (cherry picked from commit cf98805c09a38cce78ac08317899dc4152ae55a5) + +commit e18777ed6eb492e8421d53090b3c9af6e75bd792 +Author: Samuel Just +Date: Tue Jul 15 14:50:33 2014 -0700 + + store_test: add long name collection_move_rename tests + + Currently fails. + + Signed-off-by: Samuel Just + (cherry picked from commit 6aa48a485e03ca100f3d9ebec77cc06f99756cd7) + + Conflicts: + src/test/objectstore/store_test.cc + +commit 4e03d5b512c8d2f7fa51dda95c6132e676529f9b +Author: Sage Weil +Date: Sun Aug 3 08:40:57 2014 -0700 + + Revert "enforce rados put aligment" + + This reverts commit 7a58da53ebfcaaf385c21403b654d1d2f1508e1a. + + This was alread backported in dece65064d949b5afcc359cd408615883b5e002a. + + Fixes: #8996 + Signed-off-by: Sage Weil + +commit 6f1a54436c63a4cb63712936fccade3267d03db8 +Author: Yehuda Sadeh +Date: Tue Jul 29 15:25:47 2014 -0700 + + rgw: fix crash in swift CORS preflight request + + Fixes: #8586 + + This fixes error handling, in accordance with commit 6af5a537 that fixed + the same issue for the S3 case. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 18ea2a869791b4894f93fdafde140285f2e4fb65) + +commit dfcd99567e925bd6565ef4676c560f6c8c89e683 +Author: devicenull +Date: Fri Jul 18 10:25:51 2014 -0400 + + rgw: fix decoding + characters in URL + + Fixes: #8702 + Backport: firefly + + Only decode + characters to spaces if we're in a query argument. The + + query argument. The + => ' ' translation is not correct for + file/directory names. + + Resolves http://tracker.ceph.com/issues/8702 + + Reviewed-by: Yehuda Sadeh + Signed-off-by: Brian Rak + (cherry picked from commit 4a63396ba1611ed36cccc8c6d0f5e6e3e13d83ee) + +commit f9716214a35e3cddd3006f3839f9688c41f0c7ca +Author: Yehuda Sadeh +Date: Fri Jul 25 20:33:52 2014 -0700 + + rgw: call processor->handle_data() again if needed + + Fixes: #8937 + + Following the fix to #8928 we end up accumulating pending data that + needs to be written. Beforehand it was working fine because we were + feeding it with the exact amount of bytes we were writing. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 0553890e79b43414cc0ef97ceb694c1cb5f06bbb) + + Conflicts: + src/rgw/rgw_rados.h + +commit 4cd1b60c043089358ea8e70a51310005d5b68383 +Author: Yehuda Sadeh +Date: Thu Jul 24 15:30:27 2014 -0700 + + rgw: object write should not exceed part size + + Fixes: #8928 + + This can happen if the stripe size is not a multiple of the chunk size. + + Backport: firefly + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 14cad5ece7d1de9d93e72acca6d4c3b4a9cfcfa2) + +commit f68720a6a61364f72f4e0c62aabea65eabe33f98 +Author: Yehuda Sadeh +Date: Tue Jul 22 15:30:11 2014 -0700 + + rgw: align object chunk size with pool alignment + + Fixes: #8442 + Backport: firefly + Data pools might have strict write alignment requirements. Use pool + alignment info when setting the max_chunk_size for the write. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit fc83e197ab85355e385c13f2a64957cad7481298) + + Conflicts: + src/rgw/rgw_rados.cc + +commit 67d73451c893b58634f06ed141792da1bf0fa77c +Author: Yehuda Sadeh +Date: Wed Jul 30 11:53:16 2014 -0700 + + cls_rgw: fix object name of objects removed on object creation + + Fixes: #8972 + Backport: firefly, dumpling + + Reported-by: Patrycja SzabÅ‚owska + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 0f8929a68aed9bc3e50cf15765143a9c55826cd2) + +commit d90148da293b4a3e2a44d4486a6b48e27d35b79b +Merge: 223a0a9 d48a737 +Author: Samuel Just +Date: Sat Aug 2 11:28:14 2014 -0700 + + Merge remote-tracking branch 'origin/wip-8438' into firefly-next + + Backport of c5b8d8105d965da852c79add607b69d5ae79a4d4 + +commit 223a0a9e7ed76fbc114c2f058d3aff93556244e9 +Merge: 84bd3cd d72eec0 +Author: Samuel Just +Date: Sat Aug 2 11:22:47 2014 -0700 + + Merge remote-tracking branch 'origin/wip-7999' into firefly-next + + Backport of 830940bf242a73403ec1882a489e31f7694b7f7e + +commit 84bd3cd79961d1ddce12048f9ae980fc197e6be4 +Author: Sage Weil +Date: Mon Jul 28 17:17:23 2014 -0700 + + unittest_crush_wrapper: fix build + + Signed-off-by: Sage Weil + (cherry picked from commit f36cffc986c973014c89aa37ca73740b2fc194ca) + +commit 4983aa32fe8c64c78957b921f5d31ab07be9f850 +Merge: a2681c9 b6d8fea +Author: Sage Weil +Date: Fri Aug 1 19:26:44 2014 -0700 + + Merge pull request #2178 from dachary/wip-erasure-code-profile-default-firefly + + erasure-code: create default profile if necessary (firefly) + +commit d89a5a37f2515cc9af1322fd18357e445b94256f +Author: Sage Weil +Date: Wed Jul 30 12:26:44 2014 -0700 + + mon: s/%%/%/ + + Signed-off-by: Sage Weil + (cherry picked from commit d700076a42a5a5ebe769a8311fd3b52bf2e98cd2) + +commit da0de4ee973d9a9c8ee6f9a5c12eb37c83b4d453 +Author: Sage Weil +Date: Wed Jul 30 14:52:06 2014 -0700 + + atomic: fix read() on i386, clean up types + + Among other things, fixes #8969 + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 96863128e6668257f435c6962263caae0d7d10dd) + +commit 1e3b927731104629cae9682b55b8d540ef8af12f +Author: Sage Weil +Date: Thu Jun 5 10:43:16 2014 -0700 + + include/atomic: make 32-bit atomic64_t unsigned + + This fixes + + In file included from test/perf_counters.cc:19:0: + ./common/perf_counters.h: In member function ‘std::pair PerfCounters::perf_counter_data_any_d::read_avg() const’: + warning: ./common/perf_counters.h:156:36: comparison between signed and unsigned integer expressions [-Wsign-compare] + } while (avgcount2.read() != count); + ^ + + Signed-off-by: Sage Weil + (cherry picked from commit 2081c992bbe3a83d711f465634d19c011d28ea3e) + +commit 34ac3060d408604c7082c583641b90f330f12663 +Author: Dmitry Smirnov +Date: Wed May 21 07:56:43 2014 +1000 + + Define AO_REQUIRE_CAS (fixes FTBFS on 'hppa') + + to fix FTBFS due to undeclared atomic functions. + + As reported + + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748571 + + by John David Anglin + + ~~~~ + ./include/atomic.h: In member function 'size_t ceph::atomic_t::inc()': + ./include/atomic.h:42:36: error: 'AO_fetch_and_add1' was not declared in this scope + return AO_fetch_and_add1(&val) + 1; + ^ + ./include/atomic.h: In member function 'size_t ceph::atomic_t::dec()': + ./include/atomic.h:45:42: error: 'AO_fetch_and_sub1_write' was not declared in this scope + return AO_fetch_and_sub1_write(&val) - 1; + ^ + ./include/atomic.h: In member function 'void ceph::atomic_t::add(size_t)': + ./include/atomic.h:48:36: error: 'AO_fetch_and_add' was not declared in this scope + AO_fetch_and_add(&val, add_me); + ^ + ./include/atomic.h: In member function 'void ceph::atomic_t::sub(int)': + ./include/atomic.h:52:48: error: 'AO_fetch_and_add_write' was not declared in this scope + AO_fetch_and_add_write(&val, (AO_t)negsub); + ^ + ./include/atomic.h: In member function 'size_t ceph::atomic_t::dec()': + ./include/atomic.h:46:5: warning: control reaches end of non-void function [-Wreturn-type] + } + ^ + make[5]: *** [cls/user/cls_user_client.o] Error 1 + ~~~~ + + Signed-off-by: Dmitry Smirnov + (cherry picked from commit 74218f3d6ca8ca9943ff9d08b7926e38fb13b329) + +commit a0c12b70d93604cde59fc21b4d42cae6bd0f4f26 +Author: Yehuda Sadeh +Date: Mon Mar 31 14:49:50 2014 -0700 + + atomic_t: add atomic64_t + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit bf3ba6001c7b4cf37edfe6551d3ef298ebcbf421) + +commit 5a8c8c01cac7f8ef8b898a88cac96af973350a3d +Author: Sage Weil +Date: Wed Jul 30 13:40:33 2014 -0700 + + test/cli-integration/rbd: fix trailing space + + Newer versions of json.tool remove the trailing ' ' after the comma. Add + it back in with sed so that the .t works on both old and new versions, and + so that we don't have to remove the trailing spaces from all of the test + cases. + + Backport: firefly + Fixes: #8920 + Signed-off-by: Sage Weil + (cherry picked from commit 605064dc685aa25cc7d58ec18b6449a3ce476d01) + + Conflicts: + src/test/cli-integration/rbd/defaults.t + +commit 234b2d1933f7f403c094a3c65bf912fcee688181 +Author: John Spray +Date: Mon Jul 7 15:45:54 2014 +0100 + + tests: don't depend on 'data' pool in rbd test + + Since we removed the default 'data' and 'metadata' pools, + tests which need a pool should create it themselves. + + Signed-off-by: John Spray + (cherry picked from commit a7a631d1e284f151e305f770cef2042a1b9f86c0) + +commit 751258db76d9f5288ff42e8e961a9ffea1d226de +Author: Xiaoxi Chen +Date: Mon Jul 28 16:54:48 2014 +0800 + + PGMonitor: fix bug in caculating pool avail space + + Currently for pools with different rules, "ceph df" cannot report + right available space for them, respectively. For detail assisment + of the bug ,pls refer to bug report #8943 + + This patch fix this bug and make ceph df works correctlly. + + Fixes Bug #8943 + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit 04d0526718ccfc220b4fe0c9046ac58899d9dafc) + +commit 7b1546cc5c361a1af7f724e3c3b7ca9436bad76f +Author: Sage Weil +Date: Wed May 28 13:59:47 2014 -0700 + + mon: set min_size to data chunk count for erasure pools + + Make the min_size value meaningful for erasure pools. + + Signed-off-by: Sage Weil + (cherry picked from commit e06c58c9b8f585d2fe7c97d010aa0aa61c09d609) + +commit e859587911edddd3a5b7fd96ee2f6a7ed77478dc +Author: Sage Weil +Date: Sun May 11 13:36:03 2014 -0700 + + mon: include 'max avail' in df output + + Include an estimate of the maximum writeable space for each pool. Note + that this value is a conservative estimate for that pool based on the + most-full OSD. It is also potentially misleading as it is the available + space if *all* new data were written to this pool; one cannot (generally) + add up the available space for all pools. + + Signed-off-by: Sage Weil + (cherry picked from commit 7a9652b58ea70f9a484a135bde20d872616c5947) + +commit a5e0ebc36ccbdf36e733e5eab926e4446a48fbd8 +Author: Sage Weil +Date: Sun May 11 13:31:14 2014 -0700 + + mon: right justify df values + + Signed-off-by: Sage Weil + (cherry picked from commit 2f63a309df4b7086725949bc0a532595cf927edf) + +commit 3d578479420f4b0c153dffe96605bf413070ad45 +Author: John Spray +Date: Thu May 8 11:04:46 2014 +0100 + + mon: Fix % escaping (\% should be %%) + + Clang's -Wpedantic points this out. + + Signed-off-by: John Spray + (cherry picked from commit f0231ef364d531eb60351598c4a0f5fa6efad23c) + + Conflicts: + src/mon/DataHealthService.cc + +commit 6164c3ef8d9ced38d878c191e4de3d84a8bda45e +Author: Sage Weil +Date: Wed May 28 13:49:52 2014 -0700 + + crush: add get_rule_weight_map + + Calculate a weight map of OSDs for a given rule. + + Signed-off-by: Sage Weil + (cherry picked from commit 297f6169feecd20e121d102e1b63a505c8b3e74a) + +commit 2f90bfdb854750990881f2f53492687a07b19546 +Author: Guang Yang +Date: Wed Jul 9 11:20:36 2014 +0000 + + Fix the PG listing issue which could miss objects for EC pool (where there is object shard and generation). + Backport: firefly + Signed-off-by: Guang Yang (yguang@yahoo-inc.com) + + (cherry picked from commit 228760ce3a7109f50fc0f8e3c4a5697a423cb08f) + +commit 61c90252c3a496e09962cfda2eb11e6bd112af8a +Author: Sage Weil +Date: Fri Jul 25 14:48:10 2014 -0700 + + osd/ReplicatedPG: requeue cache full waiters if no longer writeback + + If the cache is full, we block some requests, and then we change the + cache_mode to something else (say, forward), the full waiters don't get + requeued until the cache becomes un-full. In the meantime, however, later + requests will get processed and redirected, breaking the op ordering. + + Fix this by requeueing any full waiters if we see that the cache_mode is + not writeback. + + Fixes: #8931 + Signed-off-by: Sage Weil + (cherry picked from commit 8fb761b660c268e2264d375a4db2f659a5c3a107) + +commit f701688a360fd977b5e1f59518622ab6d2299a08 +Author: Sage Weil +Date: Fri Jul 25 14:43:48 2014 -0700 + + osd/ReplicatedPG: fix cache full -> not full requeueing when !active + + We only want to do this if is_active(). Otherwise, the normal + requeueing code will do its thing, taking care to get the queue orders + correct. + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 36aaab9eee7ed41a46a4ac27376d630a29de5eb9) + +commit a1ddce36ebf1ce479129def364328486fbcc5c86 +Author: Dan Mick +Date: Wed Jul 30 14:50:37 2014 -0700 + + qa/workunits/cephtool/test_daemon.sh: verify ceph -c works with daemon + + Signed-off-by: Dan Mick + (cherry picked from commit aa9ae1f270293778aa937e7f7e4bcaee3099b9b2) + +commit 50a1c08e46eaedd3d81a52f64923228bc8a81c26 +Author: Dan Mick +Date: Wed Jul 30 14:49:02 2014 -0700 + + qa/workunits/cephtool/test_daemon.sh: typo + + Signed-off-by: Dan Mick + (cherry picked from commit 22d20f39b7355966554319d5a1aa888967607569) + +commit 4cfb7dbc5c8fe1a28fb945fa12d9795943db1db5 +Author: Dan Mick +Date: Wed Jul 30 14:48:28 2014 -0700 + + qa/workunits/cephtool/test_daemon.sh: allow local ceph command + + (cherry picked from commit 97a8d5a9fdbd3a25cc922c242ee57da58c57d0bc) + +commit 120b5d5ad51fa47a2bb0a144821635f5f81b5a2e +Author: Dan Mick +Date: Mon Jul 28 21:28:42 2014 -0700 + + ceph.in: Pass global args to ceph-conf for proper lookup + + Fixes: #8944 + Signed-off-by: Dan Mick + (cherry picked from commit 6d89a99648630f81b85ad115fe7662dba6b08a55) + +commit e0c27cd7fde84944fd350f7df89e79d9a39ace98 +Author: Sage Weil +Date: Wed Jul 16 17:55:36 2014 -0700 + + qa/workunits/cephtool/test.sh: test osd pool get erasure_code_profile + + Signed-off-by: Sage Weil + (cherry picked from commit ce9f12d7a2202948532fed9da4d763ed03f6b8fa) + + Conflicts: + qa/workunits/cephtool/test.sh + +commit cf22759cdf1c0a6d258e5c0a2d32268ce051c742 +Author: Ma Jianpeng +Date: Wed Jul 16 17:48:34 2014 -0700 + + mon: OSDMonitor: add "osd pool get erasure_code_profile" command + + Enable us to obtain the erasure-code-profile for a given erasure-pool. + + Signed-off-by: Ma Jianpeng + Signed-off-by: Sage Weil + (cherry picked from commit e8ebcb79a462de29bcbabe40ac855634753bb2be) + +commit b94d2f142db63bdf395d8288f8dcef1558d30eaf +Author: Sage Weil +Date: Wed Jul 23 18:25:53 2014 -0700 + + osd/ReplicatedPG: observe INCOMPLETE_CLONES in is_present_clone() + + We cannot assume that just because cache_mode is NONE that we will have + all clones present; check for the absense of the INCOMPLETE_CLONES flag + here too. + + Signed-off-by: Sage Weil + (cherry picked from commit 63abf11390bb9b8dd604aae2b3e90596f9ab65ac) + +commit 22cc1b643f83edbfc0475f6da89cf4bd4c89aae1 +Author: Sage Weil +Date: Wed Jul 23 18:24:51 2014 -0700 + + osd/ReplicatedPG: observed INCOMPLETE_CLONES when doing clone subsets + + During recovery, we can clone subsets if we know that all clones will be + present. We skip this on caching pools because they may not be; do the + same when INCOMPLETE_CLONES is set. + + Signed-off-by: Sage Weil + (cherry picked from commit 41364711a66c89ce2e94435fe0d54eeda6092614) + +commit c42232e3539fc4682e8fec3e064b21acbcc996ed +Author: Sage Weil +Date: Wed Jul 23 18:23:56 2014 -0700 + + osd/ReplicatedPG: do not complain about missing clones when INCOMPLETE_CLONES is set + + When scrubbing, do not complain about missing cloens when we are in a + caching mode *or* when the INCOMPLETE_CLONES flag is set. Both are + indicators that we may be missing clones and that that is okay. + + Fixes: #8882 + Signed-off-by: Sage Weil + (cherry picked from commit 956f28721dd98c5fb9eb410f4fe9e320b3f3eed3) + +commit bde3a9f0f610e6af30066dd77949a1249cd658bf +Author: Sage Weil +Date: Wed Jul 23 18:21:38 2014 -0700 + + osd/osd_types: add pg_pool_t FLAG_COMPLETE_CLONES + + Set a flag on the pg_pool_t when we change cache_mode NONE. This + is because object promotion may promote heads without all of the clones, + and when we switch the cache_mode back those objects may remain. Do + this on any cache_mode change (to or from NONE) to capture legacy + pools that were set up before this flag existed. + + Signed-off-by: Sage Weil + (cherry picked from commit 54bf055c5dadc55acf5731e08712d529b180ffc5) + +commit f19aa8ef0a2cbad7af3135defc1fe3485d377409 +Author: Joao Eduardo Luis +Date: Fri Jul 11 00:40:47 2014 +0100 + + qa/workunits: cephtool: adjust pool name where missing as it has changed + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 50e93c2138978f7f7c2fbafacc1611c8705a8eab) + +commit 163440a764a6fac8f2efbee6a8aee5cbc460dfe6 +Author: Joao Eduardo Luis +Date: Fri Jul 11 00:41:01 2014 +0100 + + qa/workunits: cephtool: cleanup after pool creation + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 6cd345732b15e84de17d743e06bc4d85569b79d4) + +commit c71c99ff21063e26ebfef431f916463f5606aae2 +Author: Joao Eduardo Luis +Date: Tue Jul 8 19:22:49 2014 +0100 + + qa/workunits: cephtool: pool needs to be a tier to be used as such + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 704b0a33f2071eabeb8c5b000a6805ef6d498961) + +commit ba0a9bf013e8d056a4126b6840621e5a3a8b37fc +Author: Joao Eduardo Luis +Date: Tue Jul 8 19:22:01 2014 +0100 + + qa/workunits: cephtool: test erroneous 'tier remove' + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 49db6767152092d503ccf8ead6f7cb069e152a22) + +commit ffec081a551817288303cf3fa00c016bbffe114a +Author: Joao Eduardo Luis +Date: Thu Jul 3 15:32:46 2014 +0100 + + qa/workunits: cephtool: test get/set on both tier and non-tier pools + + Make sure gets and sets of tiering-specific variables succeed on tier + pools and fail on non-tier pools. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 9fea033f30aec44a3273c623ec6c93eb1d7dd26b) + +commit 55166c3a098d8751ed6dafb3541e45a6439c5491 +Author: Joao Eduardo Luis +Date: Thu Jul 3 15:24:51 2014 +0100 + + qa/workunits: cephtool: split get/set on tier pools from get/set tests + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit df5944955d96c041e65964a13b802028e9700904) + +commit 0425eb1dbd156d03a51e91c6f3079b8a687d62f3 +Author: Joao Eduardo Luis +Date: Fri Jun 27 22:20:51 2014 +0100 + + qa/workunits: cephtool: test for 'osd pool {get,set}-quota' + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit b927c0de7d5c7a78bf3c133be52cbc1d769974bb) + +commit 68197bc28c8960db67c4246d50eb5146659593bd +Author: Joao Eduardo Luis +Date: Mon Jun 30 17:51:47 2014 +0100 + + mon: OSDMonitor: 'osd pool' - if we can set it, we must be able to get it + + Add support to get the values for the following variables: + - target_max_objects + - target_max_bytes + - cache_target_dirty_ratio + - cache_target_full_ratio + - cache_min_flush_age + - cache_min_evict_age + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit ddc04c83ff6842ca0b2f804b46099ea729b9fb6b) + +commit 01498ce8c897f7e3b66c8054a8b144a505a33010 +Author: Loic Dachary +Date: Tue Jul 1 08:42:58 2014 +0200 + + qa: support running under non privileged user + + If the test is run against a cluster started with vstart.sh (which is + the case for make check), the --asok-does-not-need-root disables the use + of sudo and allows the test to run without requiring privileged user + permissions. + + Signed-off-by: Loic Dachary + (cherry picked from commit 522174b066044e51a7019bd6cad81117e83c394e) + +commit 99259dff5bad93dce928c1ec07a16b34e3dac3dc +Author: Sage Weil +Date: Mon Jun 30 16:38:10 2014 -0700 + + qa/workunits/cephtool/test.sh: sudo ceph daemon + + Signed-off-by: Sage Weil + (cherry picked from commit bcc09f93761d46202742ca85cce498a352edd494) + +commit 4f911d45632fd23c4124bf6b29287ece473d33b4 +Author: Joao Eduardo Luis +Date: Wed Jun 25 21:25:29 2014 +0100 + + qa/workunits: cephtool: fix 'osd bench' test + + Commit 7dc93a9651f602d9c46311524fc6b54c2f1ac595 fixed an incorrect + behavior with the OSD's 'osd bench' value hard-caps. The test wasn't + appropriately modified unfortunately. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 48e38ac6323f4a0e06b0dedd37ecd10dc339b1e3) + +commit bad2f513c5bed4602005eaedff9384012103aaee +Author: Joao Eduardo Luis +Date: Wed Jun 25 01:48:24 2014 +0100 + + qa/workunits: cephtool: only run heap profiler test if tcmalloc enabled + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 4b0809a13eb363a15e52a6a57372a0a31a64cef8) + +commit 26f9860d19c38595bfced76fce864fe9ad9f3a27 +Author: Joao Eduardo Luis +Date: Tue Jun 24 23:16:17 2014 +0100 + + qa/workunits: cephtool: set +e for the tcmalloc tests + + Avoids failing the tests when tcmalloc is not present + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 5c4616e100297ba8639919aca7a9cb59e4bda54a) + +commit a0720b608db208ac766df8eea53bdbba31d79492 +Author: Joao Eduardo Luis +Date: Tue Jun 24 22:47:31 2014 +0100 + + qa/workunits: cephtool: delete unnecessary function calls + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 67255435151627314cc2fc38732d4fb5efddc3cc) + +commit 373224729e9ab2a46afb43b1388d37ff951cc42e +Author: Joao Eduardo Luis +Date: Tue Jun 24 22:46:44 2014 +0100 + + qa/workunits: cephtool: disable bash debug when not running tests + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 946bd0dad4b027326b03c13405782b99ef0f91b2) + +commit 52d733c7202b393b3b7da48e3aa6db275946757a +Author: Joao Eduardo Luis +Date: Tue Jun 24 22:39:34 2014 +0100 + + qa/workunits: cephtool: allow running individual tests + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 5d26575ef2d31d745ec4aa69ca1501cd76e5e8db) + +commit 96e58d6d38969ba8b47b1924205eb34850a24ed6 +Author: Joao Eduardo Luis +Date: Tue Jun 24 20:55:27 2014 +0100 + + qa/workunits: cephtool: cleanup state after erasure-code-profile test + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit f4184086d0d647e064e34308f678ef889e13c373) + +commit 4cd5d179375c06a25f04ef8150e2a53aabf7427e +Author: Joao Eduardo Luis +Date: Wed Jun 25 01:17:58 2014 +0100 + + qa/workunits: cephtool: add/remove comments + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 780424df3a107c7da57fc28d64f9e7a4bb47f8e8) + +commit 5bcf690b1dbf5a2e4388661f9d280b5934db1c9c +Author: Joao Eduardo Luis +Date: Thu Jun 26 00:55:46 2014 +0100 + + qa/workunits: cephtool: split into properly indented functions + + The test was a big sequence of commands being run and it has been growing + organically for a while, even though it has maintained a sense of + locality with regard to the portions being tested. + + This patch intends to split the commands into functions, allowing for a + better semantic context and easier expansion. On the other hand, this + will also allow us to implement mechanisms to run specific portions of + the test instead of always having to run the whole thing just to test a + couple of lines down at the bottom (or have to creatively edit the test). + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 3d14a96f4b2b7094d05ead1dec7547d165857e31) + + Conflicts: + qa/workunits/cephtool/test.sh + +commit 2af751807d1b51348302734c46d506db294303fd +Author: Joao Eduardo Luis +Date: Wed Jun 25 01:12:55 2014 +0100 + + qa/workunits: cephtool: move test line to where it's more appropriate + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 04658b7b2b5f98ae81ffb3f77303745e6d46eb81) + +commit 5bf9e3c7b59d7ce5996d4d05312b4a92f34bbcb6 +Author: Joao Eduardo Luis +Date: Wed Jun 25 01:11:52 2014 +0100 + + qa/workunits: cephtool: split into functions + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit db6cc133ba4bb38b3c11eb835fd3983dc2f6b00e) + + Conflicts: + qa/workunits/cephtool/test.sh + +commit c898c9736950437256b8c261106f2827fc160e01 +Author: Loic Dachary +Date: Fri Jun 20 09:38:39 2014 +0200 + + mon: test that pools used in tiers cannot be removed + + Signed-off-by: Loic Dachary + (cherry picked from commit 39a4b78177cb9896ff35ab05bcf8774bfc934f3a) + +commit 5b72674238db80e62cf3d5cec1d94be5c0102388 +Author: Joao Eduardo Luis +Date: Fri May 23 17:02:23 2014 +0100 + + qa/workunits/cephtool: test setting options using SI units + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 38405d3554dfb0caf2b0a2c010b95a61bdb99349) + + Conflicts: + qa/workunits/cephtool/test.sh + +commit aacf67d13f81fcc88881091d175fee9ecb0f8954 +Author: Joao Eduardo Luis +Date: Wed Jul 2 20:19:19 2014 +0100 + + mon: OSDMonitor: be scary about inconsistent pool tier ids + + We may not crash your cluster, but you'll know that this is not something + that should have happened. Big letters makes it obvious. We'd make them + red too if we bothered to look for the ANSI code. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 8e5a8daf98052954f3880d2d3516841b5062466b) + +commit af59cbf5854bd0fabeb0ef394d7d5b1207bbd6d3 +Author: Joao Eduardo Luis +Date: Wed Jul 2 19:47:52 2014 +0100 + + osd: pg_pool_t: clear tunables on clear_tier() + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 64bdf6c92bc44adad5a49b9dc4f674789cee80b0) + +commit 8f788e14d22c913479630bce9f9c502ac900328c +Author: Joao Eduardo Luis +Date: Wed Jul 2 19:46:48 2014 +0100 + + mon: OSDMonitor: limit tier-specific pool set/get on non-tier pools + + Fixes: 8696 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit f131dfbaedf6f451572e7aa3a83f653912122953) + +commit 4b768a8fe9146e6ec033d4f6780e0ef373fcfd7a +Author: Sage Weil +Date: Thu Jul 24 10:06:31 2014 -0700 + + mon/OSDMonitor: improve no-op cache_mode set check + + If we have a pending pool value but the cache_mode hasn't changed, this is + still a no-op (and we don't need to block). + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 67d13d76f5692fa20649ea877f254c34094c11f6) + +commit c3f403293c7f8d946f66a871aa015a558120ce78 +Author: Joao Eduardo Luis +Date: Sat May 3 03:42:19 2014 +0100 + + mon: OSDMonitor: disallow nonsensical cache-mode transitions + + Fixes: 8155 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit fd970bbc95d89bf66c9551feca17ac0afbf4d1e2) + +commit d9aacd96acfe24b15c4e3b2441838945de1ab720 +Author: Joao Eduardo Luis +Date: Tue Apr 29 18:03:56 2014 +0100 + + mon: OSDMonitor: return immediately if 'osd tier cache-mode' is a no-op + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit d01aa5bff30441eec1ffaa3e59a21187f8478475) + +commit 981add9cad5f2db06a4932be228eb0ff30254a9b +Author: Sage Weil +Date: Tue Jul 22 18:01:14 2014 -0700 + + osd/ReplicatedPG: debug obc locks + + Signed-off-by: Sage Weil + (cherry picked from commit 356af4bf46d6387e2f1a59646548f9a77e49e5f8) + +commit e32e2559c8ff408fff81cce0f15d6601dcd4a2f7 +Author: Sage Weil +Date: Tue Jul 22 13:16:11 2014 -0700 + + osd/ReplicatedPG: greedily take write_lock for copyfrom finish, snapdir + + In the cases where we are taking a write lock and are careful + enough that we know we should succeed (i.e, we assert(got)), + use the get_write_greedy() variant that skips the checks for + waiters (be they ops or backfill) that are normally necessary + to avoid starvation. We don't care about staration here + because our op is already in-progress and can't easily be + aborted, and new ops won't start because they do make those + checks. + + Fixes: #8889 + Signed-off-by: Sage Weil + (cherry picked from commit 6fe27823b8459271bf0c0e807493bb7cf1e4559b) + +commit 68651e9137df2b1034a5b470bbb2fc1d19d8debb +Author: Sage Weil +Date: Tue Jul 22 13:11:42 2014 -0700 + + osd: allow greedy get_write() for ObjectContext locks + + There are several lockers that need to take a write lock + because there is an operation that is already in progress and + know it is safe to do so. In particular, they need to skip + the starvation checks (op waiters, backfill waiting). + + Signed-off-by: Sage Weil + (cherry picked from commit 09626501d7a0ff964027fd7a534465b76bad23cb) + +commit a2681c93fb30b912f653b596e27eb8b1bc5c6b78 +Author: Sage Weil +Date: Wed Jul 2 10:38:43 2014 -0700 + + qa/workunits/rest/test.py: make osd create test idempotent + + Avoid possibility that we create multiple OSDs do to retries by passing in + the optional uuid arg. (A stray osd id will make the osd tell tests a + few lines down fail.) + + Fixes: #8728 + Signed-off-by: Sage Weil + (cherry picked from commit bb3e1c92b6682ed39968dc5085b69c117f43cbb0) + +commit 7a58da53ebfcaaf385c21403b654d1d2f1508e1a +Author: Lluis Pamies-Juarez +Date: Wed Jun 18 10:00:09 2014 -0700 + + enforce rados put aligment + + Signed-off-by: Lluis Pamies-Juarez + (cherry picked from commit 304b08a23a3db57010078046955a786fe3589ef8) + (cherry picked from commit dece65064d949b5afcc359cd408615883b5e002a) + +commit 7ae15549a795ffd9ffcd34ea1d5c101b90eee26d +Author: Sage Weil +Date: Thu Jul 31 15:39:40 2014 -0700 + + use llrintl when converting double to micro + + This avoids rounding error (noticeable on i386). + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 80911736bd61b6b88eac0974d24f21c15c5385a4) + + Conflicts: + src/mon/OSDMonitor.cc + +commit f5fc24368756c794d186a0990241e0dc0adfc03c +Author: Sage Weil +Date: Thu Jul 24 18:22:22 2014 -0700 + + msg/SimpleMessenger: drop local_conneciton priv link on shutdwon + + This breaks ref cycles between the local_connection and session, and let's + us drop the explicit set_priv() calls in OSD::shutdown(). + + Signed-off-by: Sage Weil + (cherry picked from commit 63c1711a9e237c14d137131f56751970ad1567b1) + +commit b6d8feab85fda97bf3a68980249a71846778a157 +Author: Loic Dachary +Date: Thu Jun 19 00:49:13 2014 +0200 + + erasure-code: create default profile if necessary + + After an upgrade to firefly, the existing Ceph clusters do not have the + default erasure code profile. Although it may be created with + + ceph osd erasure-code-profile set default + + it was not included in the release notes and is confusing for the + administrator. + + The *osd pool create* and *osd crush rule create-erasure* commands are + modified to implicitly create the default erasure code profile if it is + not found. + + In order to avoid code duplication, the default erasure code profile + code creation that happens when a new firefly ceph cluster is created is + encapsulated in the OSDMap::get_erasure_code_profile_default method. + + Conversely, handling the pending change in OSDMonitor is not + encapsulated in a function but duplicated instead. If it was a function + the caller would need a switch to distinguish between the case when goto + wait is needed, or goto reply or proceed because nothing needs to be + done. It is unclear if having a function would lead to smaller or more + maintainable code. + + http://tracker.ceph.com/issues/8601 Fixes: #8601 + + Backport: firefly + Signed-off-by: Loic Dachary + (cherry picked from commit 4e1405e7720eda71a872c991045ac8ead6f3e7d8) + +commit 2fff5f031b2cc00b55bd1ada4f83e4838fe59ddd +Author: Loic Dachary +Date: Mon Jan 13 17:54:08 2014 +0100 + + common: s/stringstream/ostream/ in str_map + + There is no need to specialize more than ostream : it only makes it + impossible to use cerr or cout as a parameter to str_map. + + Reviewed-By: Christophe Courtaut + Signed-off-by: Loic Dachary + (cherry picked from commit 6aa45b133956b974a992b372496b90c908d94f12) + +commit d48a737a6f8daa463ddf82106455b2efe7715a33 +Author: Samuel Just +Date: Mon Jun 2 13:44:49 2014 -0700 + + osd/: in scrub, check for and remove obsolete rollback objs + + Signed-off-by: Samuel Just + +commit 953c33edb640f6eb0c3f3a0d07c061c0d324242b +Author: Samuel Just +Date: Fri May 30 16:53:37 2014 -0700 + + osd/: plumb rollback_trim_to through interfaces and messages + + We simply trim the roll back info up to min_last_complete_ondisk + since we cannot correctly rollback past that point anyway! + + ReplicatedPG + -> PGBackend::submit_transaction + -> Backend messages + -> PGBackend::Listener::log_operation + -> append_log + + Signed-off-by: Samuel Just + +commit ac11ca40b4f4525cbe9b1778b1c5d9472ecb9efa +Author: Samuel Just +Date: Fri May 30 16:27:32 2014 -0700 + + PGLog: add rollback_info_trimmed_to_riter to IndexedLog and use in PG + + Signed-off-by: Samuel Just + +commit 2207ed12fa544afc48d6d28f199381ccf0367292 +Author: Samuel Just +Date: Fri May 30 15:40:15 2014 -0700 + + PGLog: fix logging whitespace in trim + + Signed-off-by: Samuel Just + +commit d72eec0341e02881229d0e4ffeafcae92eb33fb6 +Author: Samuel Just +Date: Fri Jun 27 10:51:13 2014 -0700 + + PG: block outgoing peering messages until the last interval is durable + + Signed-off-by: Samuel Just + +commit f9f89be38333d3817a0eafc52a961365e21e1f3a +Author: Samuel Just +Date: Wed May 21 13:09:33 2014 -0700 + + PG: add machinery to temporarily buffer outgoing recovery messages + + Signed-off-by: Samuel Just + +commit f7498124325fe2269c33e45fae4c8181c8f7be14 +Author: Samuel Just +Date: Mon Jun 9 11:00:32 2014 -0700 + + os/: add async flush_commit() method to Sequencer and implementations + + Signed-off-by: Samuel Just + +commit 669b60571d6db9a9f74020e6a43b12b82edee41e +Author: Samuel Just +Date: Fri May 30 15:18:53 2014 -0700 + + PGLog: initialize complete_to + + Signed-off-by: Samuel Just + +commit 8679cdbeea6350fd860a9419f54578a90482895c +Author: Samuel Just +Date: Thu May 29 12:10:31 2014 -0700 + + osd_types: add pg_log_t::rollback_info_trimmed_to + + Signed-off-by: Samuel Just + +commit 3bbe29eb5cca7cc42266a6c5561ce68feb4072de +Author: Samuel Just +Date: Tue May 20 16:05:01 2014 -0700 + + common/Finisher: add queue(list&) + + Signed-off-by: Samuel Just diff --git a/doc/changelog/v0.80.7.txt b/doc/changelog/v0.80.7.txt new file mode 100644 index 00000000..fd49a5bf --- /dev/null +++ b/doc/changelog/v0.80.7.txt @@ -0,0 +1,70 @@ +commit 6c0127fcb58008793d3c8b62d925bc91963672a3 (tag: refs/tags/v0.80.7, refs/remotes/gh/firefly) +Author: Jenkins +Date: Tue Oct 14 12:10:38 2014 -0700 + + 0.80.7 + +commit fa599aad2d79e0bbc19e4f6a2ac6771b37bf6beb +Merge: 805a4ff b8d2fc7 +Author: Samuel Just +Date: Mon Oct 13 10:34:47 2014 -0700 + + Merge remote-tracking branch 'origin/wip-7588-firefly' into firefly + +commit 805a4ff3f32c60798d01beef80e0702a4e9d82ee +Merge: 4a3bc78 c5fd2d0 +Author: Samuel Just +Date: Mon Oct 13 10:34:34 2014 -0700 + + Merge remote-tracking branch 'upstream/wip-9696-firefly' into firefly + +commit b8d2fc72ea54eb17611d7ac90be4da6c4e4e7485 +Author: Sage Weil +Date: Thu May 8 14:19:22 2014 -0700 + + osd/ReplicatedPG: carry CopyOpRef in copy_from completion + + There is a race with copy_from cancellation. The internal Objecter + completion decodes a bunch of data and copies it into pointers provided + when the op is queued. When we cancel, we need to ensure that we can cope + until control passes back to our provided completion. + + Once we *do* get into the (ReplicatedPG) callbacks, we will bail out + because the tid in the CopyOp or FlushOp no longer matches. + + Fix this by carrying a ref to keep the copy-from targets alive, and + clearing out the tids that we cancel. + + Note that previously, the trigger for this was that the tid changes when + we handle a redirect, which made the op_cancel() call fail. With the + coming Objecter changes, this will no longer be the case. However, there + are also locking and threading changes that will make cancellation racy, + so we will not be able to rely on it always preventing the callback. + Either way, this will avoid the problem. + + Fixes: #7588 + Signed-off-by: Sage Weil + (cherry picked from commit 589b639af7c8834a1e6293d58d77a9c440107bc3) + +commit c5fd2d043ed4aa4fdb60fc19a284f51a86cef408 (refs/remotes/gh/wip-9696-firefly) +Author: Samuel Just +Date: Thu Oct 9 16:21:18 2014 -0700 + + PG::choose_acting: in mixed cluster case, acting may include backfill + + Fixes: 9696 + Backport: firefly, giant + Introduced: 92cfd370395385ca5537b5bc72220934c9f09026 + Signed-off-by: Samuel Just + (cherry picked from commit 9b18d99817c8b54e30dff45047dfe1b29871d659) + +commit 4a3bc78c033ed68183f91824c7942dc54afb8797 (refs/remotes/gh/wip-9731-firefly) +Author: Samuel Just +Date: Fri Oct 10 13:53:29 2014 -0700 + + PGLog::IndexedLog::trim(): rollback_info_trimmed_to_riter may be log.rend() + + Fixes: #9731 + Backport: giant, firefly + Signed-off-by: Samuel Just + (cherry picked from commit d458b4f0f31161f561ff98e58ed979cf20c6f588) diff --git a/doc/changelog/v0.80.8.txt b/doc/changelog/v0.80.8.txt new file mode 100644 index 00000000..849e933b --- /dev/null +++ b/doc/changelog/v0.80.8.txt @@ -0,0 +1,2547 @@ +commit 69eaad7f8308f21573c604f121956e64679a52a7 (tag: refs/tags/v0.80.8) +Author: Jenkins +Date: Tue Jan 13 06:28:08 2015 -0800 + + 0.80.8 + +commit 3c7cacf00b66a0e17272cf67fe0823ee863dfa7c +Author: Sage Weil +Date: Tue Aug 19 16:43:02 2014 -0700 + + mon/OSDMonitor: fix double-free on old MOSDBoot + + send_latest() does an m->put(). + + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 97f9b6df668315fba6a5924b79024c7a986f4110) + +commit 852d7b5b3c019c02c042b767fc88916088e1a94d +Author: Sage Weil +Date: Thu Jan 8 11:17:03 2015 -0800 + + osd: requeue PG when we skip handling a peering event + + If we don't handle the event, we need to put the PG back into the peering + queue or else the event won't get processed until the next event is + queued, at which point we'll be processing events with a delay. + + The queue_null is not necessary (and is a waste of effort) because the + event is still in pg->peering_queue and the PG is queued. + + This is a firefly-specific patch; a (very) similar one will appear in master + in 492ccc900c3358f36b6b14a207beec071eb06707. + + Backport: giant, firefly + Signed-off-by: Sage Weil + +commit c26ebd38335bb361aade5aacd05ba3217e602b9c +Merge: b67b7e7 96ba529 +Author: Sage Weil +Date: Thu Jan 8 18:31:26 2015 -0800 + + Merge pull request #3217 from boydc2014/firefly + + clear data and payload after removed from ops_in_flight + + Reviewed-by: Sage Weil + +commit b67b7e7ad72a1af96f9fb26ade815e65f72b4cb0 +Merge: db92718 7faae89 +Author: Loic Dachary +Date: Fri Jan 9 01:32:17 2015 +0100 + + Merge pull request #3127 from ktdreyer/firefly-no-epoch + + Revert "ceph.spec.: add epoch" + + Reviewed-by: Ken Dreyer + Reviewed-by: Sage Weil + Reviewed-by: Samuel Just + Reviewed-by: Loic Dachary + +commit db927186288cd4c63a3483b42e9eb9e016c96156 +Merge: 0d4abda 820dbfd +Author: Loic Dachary +Date: Fri Jan 9 01:31:29 2015 +0100 + + Merge pull request #3128 from dachary/wip-10281-make-check-fedora-20 + + tests: fixes to run make check on fedora 20 + + + Reviewed-by: Sage Weil + Reviewed-by: Samuel Just + Reviewed-by: Loic Dachary + +commit 0d4abdaf80f1fedff7975d595abaac0a620c8035 +Merge: 1fdcb52 11995b3 +Author: Loic Dachary +Date: Fri Jan 9 01:30:59 2015 +0100 + + Merge pull request #3169 from ceph/wip-8797-firefly + + Wip 8797 firefly + + Reviewed-by: Sage Weil + Reviewed-by: Samuel Just + Reviewed-by: Loic Dachary + +commit 1fdcb524411a02b5627be66d9fd821a473223e9d +Merge: 4b7b1b0 465eede +Author: Loic Dachary +Date: Fri Jan 9 01:28:49 2015 +0100 + + Merge pull request #3179 from dachary/wip-9998-crush-underfloat-firefly + + crush: fix weight underfloat issue (firefly) + + + Reviewed-by: Sage Weil + Reviewed-by: Samuel Just + Reviewed-by: Loic Dachary + +commit 4b7b1b03bfcb7cb056783555884f211009ea5d46 +Merge: 4897ba4 f55b097 +Author: Loic Dachary +Date: Fri Jan 9 01:28:11 2015 +0100 + + Merge pull request #3220 from ceph/wip-mon-backports.firefly + + mon: backports for #9987 against firefly + + Reviewed-by: Joao Eduardo Luis + Reviewed-by: Sage Weil + Reviewed-by: Samuel Just + Reviewed-by: Loic Dachary + +commit 4897ba4a304bcac548b2121312cd7235c34dd5aa +Merge: efe801f f20225c +Author: Loic Dachary +Date: Fri Jan 9 01:26:30 2015 +0100 + + Merge pull request #3258 from ceph/wip-10372-firefly + + osd: fix librados pool deletion race on firefly + + Reviewed-by: Sage Weil + Reviewed-by: Samuel Just + Reviewed-by: Loic Dachary + +commit efe801ff3a0d25243da18937c07b89227edbaac4 +Author: Warren Usui +Date: Thu Dec 18 20:00:28 2014 -0800 + + If trusty, use older version of qemu + + Fixes #10319 + Signed-off-by: Warren Usui + (cherry-picked from 46a1a4cb670d30397979cd89808a2e420cef2c11) + +commit 96ba529ef8ce76e07b8444c94883afb3468d6762 +Author: Lei Dong +Date: Tue Dec 30 21:02:45 2014 +0800 + + clear data and payload inside ops_in_flight_lock + + http://tracker.ceph.com/issues/9916 Fixes: #9916 + Signed-off-by: Dong Lei + +commit e0648e3d30de504b096c4ae3bbe7d9c17652bdb5 +Merge: 455f940 3624006 +Author: Sage Weil +Date: Mon Dec 29 14:31:23 2014 -0800 + + Merge pull request #3264 from dachary/wip-jerasure-firefly + + erasure-code: update links to jerasure upstream + +commit 455f940908f242b1e34983af61351fd3045ce8ab +Merge: b1ab685 aa95a2d +Author: Sage Weil +Date: Mon Dec 29 10:55:39 2014 -0800 + + Merge pull request #3268 from ceph/firefly-10415 + + libcephfs/test.cc: close fd before umount + +commit 362400667aad0b5098fbe8dbec1b0bde059f84a6 +Author: Loic Dachary +Date: Sun Dec 28 10:29:54 2014 +0100 + + erasure-code: update links to jerasure upstream + + It moved from bitbucket to jerasure.org + + Signed-off-by: Loic Dachary + (cherry picked from commit 8e86f901939f16cc9c8ad7a4108ac4bcf3916d2c) + +commit aa95a2d20dbba2f3a775f709493c987d0d001e9c +Author: Yan, Zheng +Date: Tue Dec 23 10:22:00 2014 +0800 + + libcephfs/test.cc: close fd before umount + + Fixes: #10415 + Signed-off-by: Yan, Zheng + (cherry picked from commit d3fb563cee4c4cf08ff4ee01782e52a100462429) + +commit f20225cb99a0d2d08fccfdf88dc89d758ecba077 (refs/remotes/gh/wip-10372-firefly) +Author: Sage Weil +Date: Tue Dec 23 15:49:26 2014 -0800 + + osdc/Objecter: handle reply race with pool deletion + + We need to handle this scenario: + + - send request in epoch X + - osd replies + - pool is deleted in epoch X+1 + - client gets map X+1, sends a map check + - client handles reply + -> asserts that no map checks are in flight + + This isn't the best solution. We could infer that a map check isn't needed + since the pool existed earlier and doesn't now. But this is firefly and + the fix is no more expensive than the old assert. + + Fixes: #10372 + Signed-off-by: Sage Weil + +commit 820dbfd9947455d07426981b7152861c3c216080 +Author: Sage Weil +Date: Tue Aug 5 15:11:18 2014 -0700 + + test/ceph-disk.sh: mkdir -p + + Signed-off-by: Sage Weil + (cherry picked from commit c2f58e6694a2457200ab3d59e037ad17b9c82028) + +commit 77d393024f9d867b574b8ec8e15ec48a1a291511 +Author: Danny Al-Gaaf +Date: Thu Sep 4 12:23:27 2014 +0200 + + test/ceph-disk.sh: resolve symlinks before check + + Make sure symlinks are resolved in command_fixture() + before compare result of which command and the current + path. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 8ea86dfa7c4a3d7e089cf9d4e49586657875f851) + +commit ed6ec2936513d7dd6c45bccd8edf69a12c71dc7b +Author: Danny Al-Gaaf +Date: Tue Jun 24 19:54:17 2014 +0200 + + test/ceph-disk.sh: fix for SUSE + + On SUSE 'which' returns always the full path of (shell) commands and + not e.g. './ceph-conf' as on Debian. Add check also for full + path returned by which. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 39530536ff923b91899f6303507c283b78040a20) + +commit 754363f4563e7dbda1ef23fadc8d6ef1a3fdd0af +Author: Loic Dachary +Date: Fri Jun 13 14:41:39 2014 +0200 + + tests: prevent kill race condition + + When trying to kill a daemon, keep its pid in a variable instead of + retrieving it from the pidfile multiple times. It prevents the following + race condition: + + * try to kill ceph-mon + * ceph-mon is in the process of dying and removed its pidfile + * try to kill ceph-mon fails because the pidfile is not found + * another ceph-mon is spawned and fails to bind the port + because the previous ceph-mon is still holding it + + Signed-off-by: Loic Dachary + (cherry picked from commit a1c13c57ba20fc329d943ea57523913e11067dc7) + +commit 5be6f2f60e3225bf3d214432044721fe474d55d7 +Author: Danny Al-Gaaf +Date: Wed Jun 25 00:31:48 2014 +0200 + + osd/OSD.cc: parse lsb release data via lsb_release + + Use lsb_release tool to be portable since parsing /etc/lsb-release + is not the same between different distributions. The old code failed + e.g. for SUSE products to parse LSB information. + + Fixes: #8654 + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 0b3a3987d382ff33fdf892f189b30df22be80e59) + +commit b62187c52324a4489c2fc1385b1d6574a058f7e8 +Author: Loic Dachary +Date: Tue Aug 26 21:59:39 2014 +0200 + + tests: histogram prevent re-use of local variables + + By moving the tests to separate functions. + + http://tracker.ceph.com/issues/9235 Fixes: #9235 + + Signed-off-by: Loic Dachary + (cherry picked from commit 4b8b25ecd128c34a386ad7c4cc89f323c4d384e1) + +commit e2741c8f1d42cfe91b18201a6a49005d90d85d98 +Author: Loic Dachary +Date: Tue Aug 26 21:59:39 2014 +0200 + + tests: histogram prevent re-use of local variables + + By moving the test to a separate function. + + http://tracker.ceph.com/issues/9235 Fixes: #9235 + + Signed-off-by: Loic Dachary + (cherry picked from commit ee02293ad2ef050672fa8c164ba17b10e8d4ceeb) + +commit cf102df7a3f3b38824c26b9e44a21664fcf979a7 +Author: Loic Dachary +Date: Wed Dec 10 00:08:57 2014 +0100 + + tests: avoid tab interpretation problem on fedora 20 + + Use . instead of tab in echo to avoid variations in how escape sequences + are interpreted by the shell. + + http://tracker.ceph.com/issues/10281 Fixes: #10281 + + Signed-off-by: Loic Dachary + +commit f55b097764beb973c12866f2d7161c6bd870aa07 (refs/remotes/gh/wip-mon-backports.firefly) +Author: Sage Weil +Date: Sun Nov 2 08:50:59 2014 -0800 + + mon/PGMap and PGMonitor: update last_epoch_clean cache from new osd keys + + We were only invalidating the cached value from apply_incremental, which + is no longer called on modern clusters. + + Fix this by storing the update epoch in the key as well (it is not part + of osd_stat_t). + + Backport: giant, firefly, dumpling(?) + Fixes: #9987 + Signed-off-by: Sage Weil + (cherry picked from commit 093c5f0cabeb552b90d944da2c50de48fcf6f564) + +commit 1d314e7a9ab7af5b693583cf2faa5db54f6beb69 +Author: Sage Weil +Date: Sun Nov 2 08:49:48 2014 -0800 + + mon/PGMap: invalidate cached min_last_epoch_clean from new-style pg keys + + We were only invalidating the cache from the legacy apply_incremental(), + which is no longer called on modern clusters. + + Fixes: #9987 + Signed-off-by: Sage Weil + (cherry picked from commit 3fb731b722c50672a5a9de0c86a621f5f50f2d06) + +commit 465eedea9f7411b1e352dc3ccee60a3f1221541d +Author: Sage Weil +Date: Sun Nov 23 18:50:51 2014 -0800 + + crush/CrushWrapper: fix create_or_move_item when name exists but item does not + + We were using item_exists(), which simply checks if we have a name defined + for the item. Instead, use _search_item_exists(), which looks for an + instance of the item somewhere in the hierarchy. This matches what + get_item_weightf() is doing, which ensures we get a non-negative weight + that converts properly to floating point. + + Backport: giant, firefly + Fixes: #9998 + Reported-by: Pawel Sadowski + Signed-off-by: Sage Weil + (cherry picked from commit 9902383c690dca9ed5ba667800413daa8332157e) + +commit cee51af9c1dbde550177c95caf6c93f612442300 +Author: Sage Weil +Date: Fri Nov 21 17:47:56 2014 -0800 + + crush/builder: prevent bucket weight underflow on item removal + + It is possible to set a bucket weight that is not the sum of the item + weights if you manually modify/build the CRUSH map. Protect against any + underflow on the bucket weight when removing items. + + Signed-off-by: Sage Weil + (cherry picked from commit 8c87e9502142d5b4a282b94f929ae776a49be1dc) + +commit 7ccd5eec11e8cd945d24bf9f6390d6c3fa4a06de +Author: Sage Weil +Date: Fri Nov 21 17:37:03 2014 -0800 + + crush/CrushWrapper: fix _search_item_exists + + Reported-by: Pawel Sadowski + Signed-off-by: Sage Weil + (cherry picked from commit eeadd60714d908a3a033aeb7fd542c511e63122b) + +commit b1ab685e00034751a161a3d5e0325c6581999c75 +Merge: dd7c8c2 ef3773a +Author: Sage Weil +Date: Fri Dec 12 06:19:50 2014 -0800 + + Merge pull request #3124 from ceph/wip-10194-firefly + + rgw: optionally call FCGX_Free() on the fcgi connection + + Reviewed-by: Sage Weil + +commit 11995b329045341c17553269267cfd3688a51b0f +Author: Dan Mick +Date: Wed Dec 10 13:19:53 2014 -0800 + + Call Rados.shutdown() explicitly before exit + + This is mostly a demonstration of good behavior, as the resources will + be reclaimed on exit anyway. + + Signed-off-by: Dan Mick + (cherry picked from commit b038e8fbf9103cc42a4cde734b3ee601af6019ea) + +commit e00270b51896f168d5013b7dc92ec7f8b9e19da3 +Author: Dan Mick +Date: Wed Dec 10 13:19:16 2014 -0800 + + rados.py: remove Rados.__del__(); it just causes problems + + Recent versions of Python contain a change to thread shutdown that + causes ceph to hang on exit; see http://bugs.python.org/issue21963. + As it turns out, this is relatively easy to avoid by not spawning + threads on exit, as Rados.__del__() will certainly do by calling + shutdown(); I suspect, but haven't proven, that the problem is + that shutdown() tries to start() a threading.Thread() that never + makes it all the way back to signal start(). + + Also add a PendingReleaseNote and extra doc comments to clarify. + + Fixes: #8797 + Signed-off-by: Dan Mick + (cherry picked from commit 5ba9b8f21f8010c59dd84a0ef2acfec99e4b048f) + + Conflicts: + PendingReleaseNotes + +commit 7faae891aefa4c21c50430fa03d9204a86d082f8 +Author: Ken Dreyer +Date: Tue Dec 9 14:52:19 2014 -0700 + + Revert "ceph.spec.: add epoch" + + If ICE ships 0.80.8, then it will be newer than what RHCEPH ships + (0.80.7), and users won't be able to seamlessly upgrade via Yum. + + We have three options: + A) Revert the "Epoch: 1" change on the Firefly branch. + B) Revert the "Epoch: 1" change in the ICE packages. + C) Bump the Epoch to "2" in Red Hat's packages. + + This commit does Option A. + + Option B may or may not be feasible - it would require a "downstream" + change in ICE, and we haven't done that sort of thing before. + + Due to the RHEL release schedule, Option C is not available to us at + this point. + + This reverts commit b890c1e4706d7cfef7ed24c9df65b439b4f7ff1d. + +commit ef3773ac93413c644e056babce1971f846bbc276 +Author: Yehuda Sadeh +Date: Wed Nov 26 15:18:07 2014 -0800 + + rgw: optionally call FCGX_Free() on the fcgi connection + + Fixes: #10194 + + A new configurable controls this behavior. This forces disconnection of + the fcgi connection when done with the request. + + Signed-off-by: Yehuda Sadeh + +commit dd7c8c2bc6b2810ff7f483af940fa09dbe74e83a +Merge: d759467 a597096 +Author: Gregory Farnum +Date: Mon Dec 8 15:02:52 2014 -0800 + + Merge pull request #3109 from ceph/firefly-10263 + + mds: store backtrace for straydir + + Reviewed-by: Greg Farnum + +commit d7594672b673796901961cc684c9e7de8dc2c95d +Merge: adf9a75 73b47db +Author: Samuel Just +Date: Mon Dec 8 13:19:44 2014 -0800 + + Merge pull request #3009 from dachary/wip-10018-primary-erasure-code-hinfo-firefly + + osd: deep scrub must not abort if hinfo is missing (firefly) + + Reviewed-by: Samuel Just + +commit a5970963a2148697fc6da64facfbf6ab6686b9cd +Author: Yan, Zheng +Date: Fri Nov 7 11:38:37 2014 +0800 + + mds: store backtrace for straydir + + Backport: giant, firefly, emperor, dumpling + Signed-off-by: Yan, Zheng + (cherry picked from commit 0d89db5d3e5ae5d552d4058a88a4e186748ab1d2) + +commit adf9a758000182d27a6582d516356730d02e4099 +Merge: dea38a7 b4a4b75 +Author: Sage Weil +Date: Sat Dec 6 11:06:02 2014 -0800 + + Merge pull request #3089 from dachary/wip-10063-hobject-shard-firefly + + common: do not omit shard when ghobject NO_GEN is set (firefly) + +commit dea38a7af638c833304272c324ed2bc386a40f8f +Merge: ccc8b46 5138091 +Author: Sage Weil +Date: Sat Dec 6 10:59:44 2014 -0800 + + Merge pull request #2480 from dachary/wip-9420-erasure-code-non-regression-firefly + + erasure-code: store and compare encoded contents (firefly) + +commit ccc8b46b2cdc55c1a861f092259ef36a1296f073 +Merge: bef363c cd3447d +Author: Sage Weil +Date: Fri Dec 5 17:33:05 2014 -0800 + + Merge pull request #3096 from dachary/wip-9785-dmcrypt-keys-permissions-firefly + + ceph-disk: dmcrypt file permissions (firefly) + +commit cd3447d04cabf6745001afeef69f25a92400cd0e +Author: Loic Dachary +Date: Thu Dec 4 22:21:32 2014 +0100 + + ceph-disk: dmcrypt file permissions + + The directory in which key files are stored for dmcrypt must be 700 and + the file 600. + + http://tracker.ceph.com/issues/9785 Fixes: #9785 + + Signed-off-by: Loic Dachary + (cherry picked from commit 58682d1776ab1fd4daddd887d921ca9cc312bf50) + +commit bef363c1d1fc06fbb315024145a97a809a2471cd +Merge: cb2c83b 9f3b21d +Author: Sage Weil +Date: Fri Dec 5 09:04:00 2014 -0800 + + Merge pull request #3086 from dachary/wip-10125-radosgw-init-firefly + + rgw: run radosgw as apache with systemd (firefly) + +commit b4a4b75e6d4deb6818681902f85baa9f63acdb4f +Author: Loic Dachary +Date: Fri Nov 14 01:16:10 2014 +0100 + + common: do not omit shard when ghobject NO_GEN is set + + Do not silence the display of shard_id when generation is NO_GEN. + Erasure coded objects JSON representation used by ceph_objectstore_tool + need the shard_id to find the file containing the chunk. + + Minimal testing is added to ceph_objectstore_tool.py + + http://tracker.ceph.com/issues/10063 Fixes: #10063 + + Signed-off-by: Loic Dachary + (cherry picked from commit dcf09aed121f566221f539106d10283a09f15cf5) + + Conflicts: + src/test/ceph_objectstore_tool.py + +commit 9f3b21d1b70be591d68bfa57c3393e8f9af8e7df +Author: Loic Dachary +Date: Tue Dec 2 18:10:48 2014 +0100 + + rgw: run radosgw as apache with systemd + + Same as sysv. + + http://tracker.ceph.com/issues/10125 Fixes: #10125 + + Signed-off-by: Loic Dachary + (cherry picked from commit 7b621f4abf63456272dec3449aa108c89504a7a5) + + Conflicts: + src/init-radosgw.sysv + +commit cb2c83b2f216e503f7a52115f775bda1dbfe0c6a +Merge: e2ec37b 02d4685 +Author: Josh Durgin +Date: Thu Dec 4 11:32:18 2014 -0800 + + Merge pull request #3078 from ceph/wip-10030-firefly + + librbd: don't close an already closed parent image upon failure + + Reviewed-by: Josh Durgin + +commit e2ec37bf45fa5e7f5e787db9b67dbb2a98f2fbb7 +Merge: c4c63e8 af12194 +Author: Sage Weil +Date: Wed Dec 3 23:01:44 2014 -0800 + + Merge pull request #3063 from ceph/wip-10123-firefly + + librbd: protect list_children from invalid child pool IoCtxs + + Reviewed-by: Sage Weil + +commit c4c63e82cd7e4716315ca81208293a2567026c72 +Author: Samuel Just +Date: Tue Sep 23 15:52:08 2014 -0700 + + ReplicatedPG: don't move on to the next snap immediately + + If we have a bunch of trimmed snaps for which we have no + objects, we'll spin for a long time. Instead, requeue. + + Fixes: #9487 + Backport: dumpling, firefly, giant + Reviewed-by: Sage Weil + Signed-off-by: Samuel Just + (cherry picked from commit c17ac03a50da523f250eb6394c89cc7e93cb4659) + +commit 1b656450ca75b12fb98dee82bace914ef5f45c44 +Author: Sage Weil +Date: Tue Sep 23 16:21:33 2014 -0700 + + osd: initialize purged_snap on backfill start; restart backfill if change + + If we backfill a PG to a new OSD, we currently neglect to initialize + purged_snaps. As a result, the first time the snaptrimmer runs it has to + churn through every deleted snap for all time, and to make matters worse + does so in one go with the PG lock held. This leads to badness on any + cluster with a significant number of removed snaps that experiences + backfill. + + Resolve this by initializing purged_snaps when we finish backfill. The + backfill itself will clear out any stray snaps and ensure the object set + is in sync with purged_snaps. Note that purged_snaps on the primary + that is driving backfill will not change during this period as the + snaptrimmer is not scheduled unless the PG is clean (which it won't be + during backfill). + + If we by chance to interrupt backfill, go clean with other OSDs, + purge snaps, and then let this OSD rejoin, we will either restart + backfill (non-contiguous log) or the log will include the result of + the snap trim (the events that remove the trimmed snap). + + Fixes: #9487 + Backfill: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 255b430a87201c7d0cf8f10a3c1e62cbe8dd2d93) + +commit 02d4685c56e129cb179a5ddfb8e87aefc2fce0b5 +Author: Jason Dillaman +Date: Thu Nov 6 05:01:38 2014 -0500 + + librbd: don't close an already closed parent image upon failure + + If librbd is not able to open a child's parent image, it will + incorrectly close the parent image twice, resulting in a crash. + + Fixes: #10030 + Backport: firefly, giant + Signed-off-by: Jason Dillaman + (cherry picked from commit 61ebfebd59b61ffdc203dfeca01ee1a02315133e) + +commit af121942d7bdfc59fcfae0429ffb12993e7e019d +Author: Jason Dillaman +Date: Mon Nov 17 21:49:26 2014 -0500 + + librbd: protect list_children from invalid child pool IoCtxs + + While listing child images, don't ignore error codes returned + from librados when creating an IoCtx. This will prevent seg + faults from occurring when an invalid IoCtx is used. + + Fixes: #10123 + Backport: giant, firefly, dumpling + Signed-off-by: Jason Dillaman + (cherry picked from commit 0d350b6817d7905908a4e432cd359ca1d36bab50) + +commit c982da44e0e9e0be3c3d4e8f5e0a186fb2fcebb3 +Merge: 4a148df c4e4a31 +Author: Sage Weil +Date: Sun Nov 30 10:12:04 2014 -0800 + + Merge pull request #3014 from dachary/wip-9665-ceph-disk-partprobe-firefly + + ceph disk zap must call partprobe + +commit c4e4a310f14ca3049ac90422aea95051fe0d4b15 +Author: Loic Dachary +Date: Fri Oct 10 10:26:31 2014 +0200 + + ceph-disk: use update_partition in prepare_dev and main_prepare + + In the case of prepare_dev the partx alternative was missing and is not + added because update_partition does it. + + http://tracker.ceph.com/issues/9721 Fixes: #9721 + + Signed-off-by: Loic Dachary + (cherry picked from commit 23e71b1ee816c0ec8bd65891998657c46e364fbe) + + Conflicts: + src/ceph-disk + +commit e70a81464b906b9a304c29f474e6726762b63a7c +Author: Loic Dachary +Date: Thu Oct 9 18:52:17 2014 +0200 + + ceph-disk: run partprobe after zap + + Not running partprobe after zapping a device can lead to the following: + + * ceph-disk prepare /dev/loop2 + * links are created in /dev/disk/by-partuuid + * ceph-disk zap /dev/loop2 + * links are not removed from /dev/disk/by-partuuid + * ceph-disk prepare /dev/loop2 + * some links are not created in /dev/disk/by-partuuid + + This is assuming there is a bug in the way udev events are handled by + the operating system. + + http://tracker.ceph.com/issues/9665 Fixes: #9665 + + Signed-off-by: Loic Dachary + (cherry picked from commit fed3b06c47a5ef22cb3514c7647544120086d1e7) + +commit 5a5f427bc09076ef3fb13a710dede1b47bb232e0 +Author: Loic Dachary +Date: Fri Oct 10 10:23:34 2014 +0200 + + ceph-disk: encapsulate partprobe / partx calls + + Add the update_partition function to reduce code duplication. + The action is made an argument although it always is -a because it will + be -d when deleting a partition. + + Use the update_partition function in prepare_journal_dev + + Signed-off-by: Loic Dachary + (cherry picked from commit 922a15ea6865ef915bbdec2597433da6792c1cb2) + + Conflicts: + src/ceph-disk + +commit 73b47dbee8858f182fd2b4fd8eb5f3c786877bf4 +Author: Loic Dachary +Date: Thu Nov 6 17:11:20 2014 +0100 + + osd: deep scrub must not abort if hinfo is missing + + Instead it should set read_error. + + http://tracker.ceph.com/issues/10018 Fixes: #10018 + + Signed-off-by: Loic Dachary + (cherry picked from commit 9d84d2e8309d26e39ca849a75166d2d7f2dec9ea) + +commit 5138091a4073d966a65f537280f89372e801d019 +Author: Loic Dachary +Date: Tue Sep 23 11:38:09 2014 +0200 + + erasure-code: add corpus verification to make check + + Signed-off-by: Loic Dachary + +commit 8d3d6bf59aec3877c0231e637270e371d9ed3b8c +Author: Loic Dachary +Date: Sat Sep 13 13:36:09 2014 +0200 + + erasure-code: workunit to check for encoding regression + + Clone the archive of encoded objects and decode all archived objects, up + to and including the current ceph version. + + http://tracker.ceph.com/issues/9420 Refs: #9420 + + Signed-off-by: Loic Dachary + +commit 4f4358708ed3c261ca4027cc9c3dc3f952a99470 +Author: Loic Dachary +Date: Sat Sep 13 10:16:31 2014 +0200 + + erasure-code: store and compare encoded contents + + Introduce ceph_erasure_code_non_regression to check and compare how an + erasure code plugin encodes and decodes content with a given set of + parameters. For instance: + + ./ceph_erasure_code_non_regression \ + --plugin jerasure \ + --parameter technique=reed_sol_van \ + --parameter k=2 \ + --parameter m=2 \ + --stripe-width 3181 \ + --create \ + --check + + Will create an encoded object (--create) and store it into a directory + along with the chunks, one chunk per file. The directory name is derived + from the parameters. The content of the object is a random pattern of 31 + bytes repeated to fill the object size specified with --stripe-width. + + The check function (--check) reads the object back from the file, + encodes it and compares the result with the content of the chunks read + from the files. It also attempts recover from one or two erasures. + + Chunks encoded by a given version of Ceph are expected to be encoded + exactly in the same way by all Ceph versions going forward. + + http://tracker.ceph.com/issues/9420 Refs: #9420 + + Signed-off-by: Loic Dachary + +commit 4a148df544978383c1ed7cd8b90f590adb563f3d +Merge: c069bce 01faf13 +Author: Loic Dachary +Date: Wed Nov 19 02:45:26 2014 +0100 + + Merge pull request #2961 from ceph/wip-10114-firefly + + Add annotation to all assembly files to turn off stack-execute bit + + Reviewed-by: Loic Dachary + +commit 01faf1356f648ded9acda02e7cc67c1adb9e9ee3 +Author: Dan Mick +Date: Fri Nov 14 17:59:57 2014 -0800 + + Add annotation to all assembly files to turn off stack-execute bit + + See discussion in http://tracker.ceph.com/issues/10114 + + Building with these changes allows output from readelf like this: + + $ readelf -lW src/.libs/librados.so.2 | grep GNU_STACK + GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 + 0x000000 RW 0x8 + + (note the absence of 'X' in 'RW') + + Fixes: #10114 + Signed-off-by: Dan Mick + (cherry picked from commit 06a245a9845c0c126fb3106b41b2fd2bc4bc4df3) + (not-yet-present-in-firefly files in isa-l manually removed) + +commit c069bce4e8180da3c0ca4951365032a45df76468 +Merge: 0d8ad6a fac1654 +Author: Samuel Just +Date: Thu Nov 13 10:36:12 2014 -0800 + + Merge pull request #2760 from ceph/wip-9835-firefly + + osd: fix erasure hung op bug (9835) + + Reviewed-by: Samuel Just + +commit fac165475031efdebbb88898ca5c12cd307a5bc3 +Author: Samuel Just +Date: Wed Nov 5 12:12:14 2014 -0800 + + osd: use OSDMap helper to tell if ops are misdirected + + calc_pg_role doesn't actually take into account primary affinity. + + Fixes: #9835 + Signed-off-by: Samuel Just + +commit 588602bf0095de5b59064123ca01345f1364bdde +Author: Sage Weil +Date: Mon Oct 20 13:55:33 2014 -0700 + + osd: discard rank > 0 ops on erasure pools + + Erasure pools do not support read from replica, so we should drop + any rank > 0 requests. + + This fixes a bug where an erasure pool maps to [1,2,3], temporarily maps + to [-1,2,3], sends a request to osd.2, and then remaps back to [1,2,3]. + Because the 0 shard never appears on osd.2, the request sits in the + waiting_for_pg map indefinitely and cases slow request warnings. + This problem does not come up on replicated pools because all instances of + the PG are created equal. + + Fix by only considering role == 0 for erasure pools as a correct mapping. + + Fixes: #9835 + Signed-off-by: Sage Weil + +commit 0c1c4152e6f402af7612c8c8d4719ab0f4cc6ad9 +Author: Sage Weil +Date: Wed Nov 12 17:04:35 2014 -0800 + + osd/OSDMap: add osd_is_valid_op_target() + + Helper to check whether an osd is a given op target for a pg. This + assumes that for EC we always send ops to the primary, while for + replicated we may target any replica. + + Signed-off-by: Sage Weil + (cherry picked from commit 89c02637914ac7332e9dbdbfefc2049b2b6c127d) + +commit 0d8ad6ad3c376bcab981bea9a49e1924d7eddb68 +Author: Josh Durgin +Date: Tue Nov 11 18:16:02 2014 -0800 + + qa: allow small allocation diffs for exported rbds + + The local filesytem may behave slightly differently. This isn't + foolproof, but seems to be reliable enough on rhel7 rootfs, where + exact comparison was failing. + + Fixes: #10002 + Signed-off-by: Josh Durgin + (cherry picked from commit e94d3c11edb9c9cbcf108463fdff8404df79be33) + +commit 0804deeab293e09123d1b58825051ccc4dddbc0e +Author: Sage Weil +Date: Sun May 25 08:38:38 2014 -0700 + + osd: fix map advance limit to handle map gaps + + The recent change in cf25bdf6b0090379903981fe8cee5ea75efd7ba0 would stop + advancing after some number of epochs, but did not take into consideration + the possibilty that there are missing maps. In that case, it is impossible + to advance past the gap. + + Fix this by increasing the max epoch as we go so that we can always get + beyond the gap. + + Signed-off-by: Sage Weil + (cherry picked from commit 1e0a82fd55dede473c0af32924f4bcb5bb697a2b) + +commit d30d6b986433eaef920b3703cf5af3c030f8dcf4 +Merge: d241aa7 d548431 +Author: Gregory Farnum +Date: Fri Nov 7 14:10:18 2014 -0800 + + Merge pull request #2880 from ceph/wip-10025-firefly + + #10025/firefly -- tools: fix MDS journal import + + Reviewed-by: Greg Farnum + +commit d548431a388da1130564d710e1f006772934224b +Author: John Spray +Date: Fri Nov 7 11:34:43 2014 +0000 + + tools: fix MDS journal import + + Previously it only worked on fresh filesystems which + hadn't been trimmed yet, and resulted in an invalid + trimmed_pos when expire_pos wasn't on an object + boundary. + + Fixes: #10025 + + Signed-off-by: John Spray + (cherry picked from commit fb29e71f9a97c12354045ad2e128156e503be696) + +commit d241aa7a347655242cc71b8fa3d778df6948c494 +Merge: 2c85b5d 4afb542 +Author: Samuel Just +Date: Thu Nov 6 10:37:42 2014 -0800 + + Merge remote-tracking branch 'origin/wip-sam-firefly-backports' into firefly + +commit 2c85b5d72953d01296213185382707122e06415c +Merge: 23cbffa 1228658 +Author: Samuel Just +Date: Thu Nov 6 10:30:20 2014 -0800 + + Merge pull request #2737 from ceph/wip-9629-firefly + + osd: do not clone/preserve snapdir on cache-evict (firefly backport) + + Reviewed-by: Samuel Just + +commit 23cbffaa2936dc2707b5b42f8c0e7ce804324ae2 +Merge: 3bba938 e296685 +Author: Samuel Just +Date: Thu Nov 6 10:26:21 2014 -0800 + + Merge pull request #2657 from ceph/wip-9053-9301-firefly + + mon: backport two paxos fixes to firefly + + Reviewed-by: Joao Luis + +commit 3bba9387eb123c6cf055e874db2925b998dc406c +Merge: 3f9bf73 835f8c6 +Author: Samuel Just +Date: Thu Nov 6 10:21:12 2014 -0800 + + Merge pull request #2656 from ceph/wip-9502-firefly + + mon: backport mon disk full check to firefly + + Reviewed-by: Samuel Just + +commit 3f9bf738daf47ff4ff56c9f76d1487a5afc5e30a +Merge: a340e6d 3e17a08 +Author: Samuel Just +Date: Thu Nov 6 10:18:27 2014 -0800 + + Merge pull request #2764 from ceph/wip-9851 + + osd: bring FileJournal in sync with giant + + Reviewed-by: Samuel Just + +commit a340e6d0b166019f58dca0703faf30dd3178c14f +Merge: b7d5f99 b9450b5 +Author: Samuel Just +Date: Thu Nov 6 10:12:17 2014 -0800 + + Merge pull request #2776 from ceph/wip-9675.firefly + + CrushWrapper: pick a ruleset same as rule_id + + Reviewed-by: Samuel Just + +commit b7d5f99c8f4d751e83dc29305649d7a465c657b1 +Author: Sage Weil +Date: Mon Sep 15 15:29:08 2014 -0700 + + ceph-disk: mount xfs with inode64 by default + + We did this forever ago with mkcephfs, but ceph-disk didn't. Note that for + modern XFS this option is obsolete, but for older kernels it was not the + default. + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit 11496399ef318498c11e551f139d96db52d3309c) + +commit 1a9d000bb679a7392b9dd115373c3827c9626694 +Author: Yehuda Sadeh +Date: Thu Oct 9 10:20:27 2014 -0700 + + rgw: set length for keystone token validation request + + Fixes: #7796 + Backport: giany, firefly + Need to set content length to this request, as the server might not + handle a chunked request (even though we don't send anything). + + Tested-by: Mark Kirkwood + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 3dd4ccad7fe97fc16a3ee4130549b48600bc485c) + +commit 49d27efde2ce5d282c9ee6ca9c8ea9db8f609392 +Author: Yehuda Sadeh +Date: Tue Aug 19 13:15:46 2014 -0700 + + rgw: subuser creation fixes + + Fixes: #8587 + There were a couple of issues, one when trying to identify whether swift + user exists, we weren't using the correct swift id. The second problem + is that we relied on the gen_access flag in the swift case, where it + doesn't really need to apply. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 1441ffe8103f03c6b2f625f37adbb2e1cfec66bb) + +commit 8db2f0969e1715f57088c311a33e7e3499933afb +Merge: 9a15592 2a5d7f0 +Author: Sage Weil +Date: Fri Oct 31 08:35:50 2014 -0700 + + Merge pull request #2847 from dachary/wip-9752-past-intervals-firefly + + osd: past_interval display bug on acting + +commit 2a5d7f08303eb8b1687c5b58426443b3d40e415c +Author: Loic Dachary +Date: Fri Oct 31 00:49:21 2014 +0100 + + osd: past_interval display bug on acting + + The acting array was incorrectly including the primary and up_primary. + + http://tracker.ceph.com/issues/9752 Fixes: #9752 + + Signed-off-by: Loic Dachary + (cherry picked from commit c5f8d6eded52da451fdd1d807bd4700221e4c41c) + +commit 9a15592eae6739183049f8376392c5577145871e +Merge: 6fd8879 c20a242 +Author: Yan, Zheng +Date: Thu Oct 30 17:01:24 2014 -0700 + + Merge pull request #2840 from ceph/firefly-9869 + + Backport "client: cast m->get_client_tid() to compare to 16-bit Inode::flushing_cap_tid" + +commit c20a2421f4a5b33407d7f31806dd4587b4e9077c +Author: Greg Farnum +Date: Wed Oct 22 17:16:31 2014 -0700 + + client: cast m->get_client_tid() to compare to 16-bit Inode::flushing_cap_tid + + m->get_client_tid() is 64 bits (as it should be), but Inode::flushing_cap_tid + is only 16 bits. 16 bits should be plenty to let the cap flush updates + pipeline appropriately, but we need to cast in the proper direction when + comparing these differently-sized versions. So downcast the 64-bit one + to 16 bits. + + Fixes: #9869 + Backport: giant, firefly, dumpling + + Signed-off-by: Greg Farnum + (cherry picked from commit a5184cf46a6e867287e24aeb731634828467cd98) + +commit 4afb54274bb2087da348103d0a7641b3a018d777 +Author: Samuel Just +Date: Thu Sep 11 13:46:51 2014 -0700 + + ReplicatedPG: cancel cb on blacklisted watcher + + Fixes: #8315 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit 16bd45777166c29c433af3b59254a7169e512d98) + +commit 037aa342fa277351fc605da41489a6ceba81ab05 +Author: Samuel Just +Date: Sun Sep 21 10:19:43 2014 -0700 + + ReplicatedPG::on_removal: clear rollback info + + Fixes: #9293 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit 544b8c7ffb4af01765b87239f2d7ab88479ee779) + +commit 8978c8dc1f153a9052b5d967ceff11d4f08d51ea +Merge: 8401e7f 4be53d5 +Author: Samuel Just +Date: Thu Oct 30 13:48:18 2014 -0700 + + Merge remote-tracking branch 'origin/wip-9574' into wip-sam-firefly-backports + +commit 8401e7ffa1768770f451143b3c110d1deae1bd40 +Author: Samuel Just +Date: Mon Sep 29 15:01:25 2014 -0700 + + PG: release backfill reservations if a backfill peer rejects + + Also, the full peer will wait until the rejection from the primary + to do a state transition. + + Fixes: #9626 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit 624aaf2a4ea9950153a89ff921e2adce683a6f51) + +commit 5df09fa1b5a42992f9e41aca09e86db0d03d9fbd +Merge: a0937ef a1aa06b +Author: Samuel Just +Date: Thu Oct 30 13:47:22 2014 -0700 + + Merge remote-tracking branch 'origin/wip-9113' into wip-sam-firefly-backports + +commit a0937ef214b9221e7a5e69e7b0f0697471d56293 +Author: Sage Weil +Date: Sun Oct 12 10:05:51 2014 -0700 + + osd/osd_types: consider CRUSH_ITEM_NONE in check_new_interval() min_size check + + Fixes: #9718 + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit d947050c82a511f91c98e1c76e48ffa9e187eee7) + + Conflicts: + src/osd/osd_types.cc + +commit 35e8e6b2c1733cd421bf6c3916553eea3786e76e +Author: Samuel Just +Date: Mon Oct 20 14:10:58 2014 -0700 + + PG:: reset_interval_flush and in set_last_peering_reset + + If we have a change in the prior set, but not in the up/acting set, we go back + through Reset in order to reset peering state. Previously, we would reset + last_peering_reset in the Reset constructor. This did not, however, reset the + flush_interval, which caused the eventual flush event to be ignored and the + peering messages to not be sent. + + Instead, we will always reset_interval_flush if we are actually changing the + last_peering_reset value. + + Fixes: #9821 + Backport: firefly + Signed-off-by: Samuel Just + (cherry picked from commit d9ff3a6b789c5b9c77aefa3751bd808f5d7b8ca7) + +commit 3f35db42977704a12ac4b5bcad6261aaf6b6a88d +Author: Samuel Just +Date: Thu Oct 23 09:11:28 2014 -0700 + + ReplicatedPG: writeout hit_set object with correct prior_version + + Fixes: #9875 + Backport: giant, firefly + Signed-off-by: Samuel Just + (cherry picked from commit 1a3ad307f1a4c0a956d6fd31d13f01ffe411a09d) + +commit 6fd88792e77cdc7ad33ff0acf9b3189a7c525430 +Merge: 0975ec9 afe6bd8 +Author: Sage Weil +Date: Sun Oct 26 20:37:52 2014 -0700 + + Merge pull request #2717 from dachary/wip-9747-ceph-spec-firefly + + rpm: 95-ceph-osd-alt.rules is not needed for centos7 / rhel7 (firefly) + +commit b9450b532ab7ad23ec6e2c22ed7cf55e6e1cc4c0 +Author: Xiaoxi Chen +Date: Wed Aug 20 15:35:44 2014 +0800 + + CrushWrapper: pick a ruleset same as rule_id + + Originally in the add_simple_ruleset funtion, the ruleset_id + is not reused but rule_id is reused. So after some add/remove + against rules, the newly created rule likely to have + ruleset!=rule_id. + + We dont want this happen because we are trying to hold the constraint + that ruleset == rule_id. + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit 78e84f34da83abf5a62ae97bb84ab70774b164a6) + + Conflicts: + src/test/erasure-code/TestErasureCodeIsa.cc + + Fixes: #9675 + +commit 3e17a0872a3864cb6aee46959afd955ef0cbafeb +Author: Ma Jianpeng +Date: Mon Jul 21 15:08:55 2014 +0800 + + os/FileJournal: When dump journal, using correctly seq avoid misjudging joural corrupt. + + In func FileJournal::dump, it always using seq=0 as last-seq and it can + misjudge the journal corrupt. + + Signed-off-by: Ma Jianpeng + (cherry picked from commit 5f65b4db6d1dad7c2c5a09eab42af63a82ea9e9b) + +commit 350da8c98bc1e90cd392992aba290c7478280d88 +Author: Loic Dachary +Date: Fri Sep 26 01:15:53 2014 +0200 + + os: io_event.res is the size written + + And not an error code to be converted with cpp_strerror() + + Signed-off-by: Loic Dachary + (cherry picked from commit 7827e0035e3350ad2d9230f27a1629545f53af5c) + +commit ecff3761f3d15061a2cbf0a595ca249a4c424f4c +Author: Ma Jianpeng +Date: Thu Aug 21 15:10:46 2014 +0800 + + os/FileJournal: For journal-aio-mode, don't use aio when closing journal. + + For jouranl-aio-mode when closing journal, the write_finish_thread_entry may exit before + write_thread_entry. This cause no one wait last aios to complete. + On some platform, after that the journal-header on journal corrupted. + To avoid this, when closing jouranl we don't use aio. + + Fixes: 9073 + Reported-by: Mark Kirkwood + Tested-by: Mark Kirkwood + Signed-off-by: Ma Jianpeng + (cherry picked from commit e870fd09ce846e5642db268c33bbe8e2e17ffef2) + +commit dbc33fbab4b35e2ce1e46a881f6714262502c243 +Author: Ma Jianpeng +Date: Thu Aug 21 21:07:51 2014 +0800 + + os/FileJournal: Only using aio then alloc the related resources. + + If define HAVE_LIBAIO, it alloc related resouces. But itt don't check whether + using aio mode. Only using aio it alloc the related resources. + + Signed-off-by: Ma Jianpeng + (cherry picked from commit a66a4931d5be9ee26c0983b3154fdbe37261a51c) + +commit 3312c6eeca21dcd566df9bdd8de7b3fe33356b57 +Author: Ma Jianpeng +Date: Thu Aug 21 15:49:44 2014 +0800 + + os/FileJournal: Tune the judge logic for read_header. + + When reading journal-header, it should firstly check the result of + pread and then do decoce operation. + + Signed-off-by: Ma Jianpeng + (cherry picked from commit c8e2b89cf6bc36a0ff29887b9e76cbbeceef9f8f) + +commit b42107584449e1f85cbee97bfa486ebeb310e6a1 +Author: Sage Weil +Date: Tue Aug 19 20:50:13 2014 -0700 + + os/FileJournal: signal aio_cond even if seq is 0 + + This can happen if we write a journal but no events. + + Reported-by: Somnath Roy + Reported-by: Ma, Jianpeng + Signed-off-by: Sage Weil + (cherry picked from commit 57778e2c577c1e1bbf9525232720a2994fa36abc) + +commit 4a43ea171d84a9f3a13064030eb386fcfbe3bbb8 +Author: Ma Jianpeng +Date: Wed Jul 23 10:10:38 2014 -0700 + + os/FileJournal: Update the journal header when closing journal + + When closing journal, it should check must_write_header and update + journal header if must_write_header alreay set. + It can reduce the nosense journal-replay after restarting osd. + + Signed-off-by: Ma Jianpeng + Reviewed-by: Sage Weil + (cherry picked from commit 5bf472aefb7360a1fe17601b42e551df120badfb) + +commit 0975ec9cec1c466f7b15f5173541a7eab02dae18 +Author: Sage Weil +Date: Tue Oct 21 06:53:36 2014 -0700 + + Revert "os/FileJournal: stop aio completion thread *after* writer thread" + + This reverts commit 334631ae4641824b3df49245f36a8fd4b143bf3f. + +commit 5a10b95f7968ecac1f2af4abf9fb91347a290544 +Merge: cc69c16 d5bac46 +Author: Samuel Just +Date: Fri Oct 17 10:47:22 2014 -0700 + + Merge pull request #2716 from ceph/wip-firefly-9419 + + Backport fix for bug #9419 + +commit cc69c16c2108cb231b2434a53e3eef51b597756b +Merge: f9cdaab 334631a +Author: Samuel Just +Date: Fri Oct 17 10:44:30 2014 -0700 + + Merge pull request #2724 from dachary/wip-9073-journal-aio-mode-firefly + + os/FileJournal: stop aio completion thread *after* writer thread + +commit f9cdaabe078415d7927e2618030996f2f24be2f1 +Merge: 0b4b34a 412c277 +Author: Sage Weil +Date: Fri Oct 17 08:20:53 2014 -0700 + + Merge pull request #2742 from ceph/firefly-unknown-locktype + + mds: reply -EOPNOTSUPP for unknown lock type + +commit 412c2770c74abea73a94e10df7b83ebe11ac82ee +Author: Yan, Zheng +Date: Tue Oct 14 22:02:41 2014 +0800 + + mds: reply -EOPNOTSUPP for unknown lock type + + Signed-off-by: Yan, Zheng + (cherry picked from commit 675392335c53ff7879031fb9184e4f35bcc90fe2) + +commit 1228658871e53e350bdab3e72cdefd1caf33c291 +Author: Sage Weil +Date: Sun Sep 21 15:56:18 2014 -0700 + + osd/ReplicatedPG: do not clone or preserve snapdir on cache_evict + + If we cache_evict a head in a cache pool, we need to prevent + make_writeable() from cloning the head and finish_ctx() from + preserving the snapdir object. + + Fixes: #8629 + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit ce8eefca13008a9cce3aedd67b11537145e1fd77) + +commit 88e6014463e86e48d78ac419226644209f83f2a0 +Author: Sage Weil +Date: Sun Sep 21 15:54:15 2014 -0700 + + ceph_test_rados_api_tier: add EvictSnap2 test case + + Verify an evict doesn't create a snapdir object. Reproduces #8629 + + Signed-off-by: Sage Weil + (cherry picked from commit 398c74eacb1ce4e573aef0d24718a5925d90272b) + +commit 0b4b34aac497d17a6474c35891aab2bde962524b +Merge: 322958a 0a72235 +Author: Sage Weil +Date: Thu Oct 16 06:09:51 2014 -0700 + + Merge pull request #2734 from ceph/wip-firefly-undump + + mds: fix --undump-journal + + Reviewed-by: Sage Weil + +commit 0a72235b0556752fadebc3e155ad41b13a0a15e9 +Author: John Spray +Date: Thu Oct 16 11:17:40 2014 +0100 + + mds: fix --undump-journal + + This hadn't worked for a long time. This is a fix + for firefly only, as this code was refactored in giant. + + Signed-off-by: John Spray + +commit 835f8c6f6121f3ebdec3a0d2d5cb1376301dc03a +Author: Joao Eduardo Luis +Date: Tue Sep 23 14:02:55 2014 +0100 + + ceph-mon: check fs stats just before preforking + + Otherwise statfs may fail if mkfs hasn't been run yet or if the monitor + data directory does not exist. There are checks to account for the mon + data dir not existing and we should wait for them to clear before we go + ahead and check the fs stats. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 7f71c11666b25e91dd612c58b4eda9ac0d4752f8) + + Conflicts: + src/ceph_mon.cc + +commit 1ddf435464562f70f63cdb0032da3187f34ce853 +Author: Joao Eduardo Luis +Date: Thu Sep 18 16:53:43 2014 +0100 + + ceph_mon: check available storage space for mon data dir on start + + error out if available storage space is below 'mon data avail crit' + + Fixes: #9502 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 2da1a2914ac7df18ce842b0aac728fffb5bed2b6) + + Conflicts: + src/ceph_mon.cc + +commit 112317791b744d9890a65adcc13554c85e90f3af +Author: Joao Eduardo Luis +Date: Thu Sep 18 16:52:34 2014 +0100 + + mon: DataHealthService: use get_fs_stats() instead + + and relieve the DataStats struct from clutter by using + ceph_data_stats_t instead of multiple fields. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 9996d446988768658db751a7843b13cf3d194213) + + Conflicts: + src/mon/DataHealthService.cc + +commit f0a92d72fd44542619338db7d6da98e147b6a9fc +Author: Joao Eduardo Luis +Date: Thu Sep 18 16:32:20 2014 +0100 + + common: util: add get_fs_stats() function + + simplifies the task of obtaining available/used disk space, as well as + used available percentage. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 3d74230d1c0fbfa15487e2a90ac60b883476e840) + +commit a8fa009fbe5d5d4d9cfa134d5ecd05c92290a8eb +Author: Joao Eduardo Luis +Date: Thu Sep 18 16:25:44 2014 +0100 + + include/util.h: prevent multiple inclusion of header + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 76eff9503493312cb97e4a2f9236f4dbcbf931df) + +commit e296685e8f3f5158238216eefb76482bd6d55134 +Author: Sage Weil +Date: Thu Sep 18 14:23:36 2014 -0700 + + mon: re-bootstrap if we get probed by a mon that is way ahead + + During bootstrap we verify that our paxos commits overlap with the other + mons we will form a quorum with. If they do not, we do a sync. + + However, it is possible we pass those checks, then fail to join a quorum + before the quorum moves ahead in time such that we no longer overlap. + Currently nothing kicks up back into a probing state to discover we need + to sync... we will just keep trying to call or join an election instead. + + Fix this by jumping back to bootstrap if we get a probe that is ahead of + us. Only do this from non probe or sync states as these will be common; + it is only the active and electing states that matter (and probably just + electing!). + + Fixes: #9301 + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit c421b55e8e15ef04ca8aeb47f7d090375eaa8573) + +commit 0e57767d5fc524939e8968b506ce2fb3f4f80656 +Author: Sage Weil +Date: Thu Sep 18 14:11:24 2014 -0700 + + mon/Paxos: fix off-by-one in last_ vs first_committed check + + peon last_committed + 1 == leader first_committed is okay. Note that the + other check (where I clean up whitespace) gets this correct. + + Fixes: #9301 (partly) + Signed-off-by: Sage Weil + (cherry picked from commit d81cd7f86695185dce31df76c33c9a02123f0e4a) + +commit 1f4aaf648f4aa6f6056d0e8ce629eeea05c5424d +Author: Sage Weil +Date: Wed Aug 13 16:17:02 2014 -0700 + + mon/Paxos: share state and verify contiguity early in collect phase + + We verify peons are contiguous and share new paxos states to catch peons + up at the end of the round. Do this each time we (potentially) get new + states via a collect message. This will allow peons to be pulled forward + and remain contiguous when they otherwise would not have been able to. + For example, if + + mon.0 (leader) 20..30 + mon.1 (peon) 15..25 + mon.2 (peon) 28..40 + + If we got mon.1 first and then mon.2 second, we would store the new txns + and then boot mon.1 out at the end because 15..25 is not contiguous with + 28..40. However, with this change, we share 26..30 to mon.1 when we get + the collect, and then 31..40 when we get mon.2's collect, pulling them + both into the final quorum. + + It also breaks the 'catch-up' work into smaller pieces, which ought to + smooth out latency a bit. + + Signed-off-by: Sage Weil + (cherry picked from commit c54f1e4d66b22bad715ac17e9baa72ab93e48c46) + +commit 6c5b9a666fcd94e175a8b9771368b55246957efe +Author: Sage Weil +Date: Thu Aug 14 16:55:58 2014 -0700 + + mon/Paxos: verify all new peons are still contiguous at end of round + + During the collect phase we verify that each peon has overlapping or + contiguous versions as us (and can therefore be caught up with some + series of transactions). However, we *also* assimilate any new states we + get from those peers, and that may move our own first_committed forward + in time. This means that an early responder might have originally been + contiguous, but a later one moved us forward, and when the round finished + they were not contiguous any more. This leads to a crash on the peon + when they get our first begin message. + + For example: + + - we have 10..20 + - first peon has 5..15 + - ok! + - second peon has 18..30 + - we apply this state + - we are now 18..30 + - we finish the round + - send commit to first peon (empty.. we aren't contiguous) + - send no commit to second peon (we match) + - we send a begin for state 31 + - first peon crashes (it's lc is still 15) + + Prevent this by checking at the end of the round if we are still + contiguous. If not, bootstrap. This is similar to the check we do above, + but reverse to make sure *we* aren't too far ahead of *them*. + + Fixes: #9053 + Signed-off-by: Sage Weil + (cherry picked from commit 3e5ce5f0dcec9bbe9ed4a6b41758ab7802614810) + +commit 11d2c9dd4aeb835ca73bfb41fb15b1038547adf6 +Author: Sage Weil +Date: Wed Aug 13 16:01:01 2014 -0700 + + mon/Paxos: put source mon id in a temp variable + + Signed-off-by: Sage Weil + (cherry picked from commit bb046ed01ecf58b8c87eeeee2e00a476e6fba467) + +commit 322958a5aad82c031b54592b372aa053e8993be4 +Author: Sage Weil +Date: Wed Oct 15 12:26:00 2014 -0700 + + qa/workunits/rbd/import_export.sh: be case insensitive + + Stop tripping over this change (from dumpling). + + Signed-off-by: Sage Weil + (cherry picked from commit 5558afa03dbd1b20766b76e9410ef5bc3e73784f) + +commit 334631ae4641824b3df49245f36a8fd4b143bf3f +Author: Sage Weil +Date: Fri Aug 29 19:40:29 2014 -0700 + + os/FileJournal: stop aio completion thread *after* writer thread + + The writer thread may submit a new aio to update the header in its + final moments before shutting down. Do not stop the aio thread until after + that has happened or else we may not wait for those aio completions. + + Signed-off-by: Sage Weil + (cherry picked from commit c776a89880fdac270e6334ad8e49fa616d05d0d4) + + Conflicts: + src/os/FileJournal.cc + +commit 111eec9ff6325a12fcbf066ae08f27919aeae5d8 +Merge: cf4e300 6c0127f +Author: Sage Weil +Date: Tue Oct 14 14:57:42 2014 -0700 + + Merge remote-tracking branch 'gh/firefly' into firefly-next + +commit cf4e30095e8149d1df0f2c9b4c93c9df0779ec84 +Author: Xiaoxi Chen +Date: Tue Aug 5 16:12:22 2014 +0800 + + mon/OSDMonitor : Use user provided ruleset for replicated pool + + When creating a replicated pool, currently ceph ignore the ruleset + name provided by user but use a global default ruleset. + + This patch fix this bug, so the rulset specified by + ceph osd pool create replicated + can be properly set. + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit bf9726a294abd32b429170284ac328a592802648) + +commit bfd7da10e708a6eefc6d992b2b6337b7f06fd5ed +Author: Loic Dachary +Date: Tue Jun 3 13:05:19 2014 +0200 + + documentation: update osd pool create erasure + + The properties are replaced with erasure code profiles. Remove the + reference to properties and the documentation of each erasure-code + related property. + + Signed-off-by: Loic Dachary + (cherry picked from commit 8ff4edda73abb920c91e1226a330e3659def1fbe) + +commit afe6bd89f8a1588fb67063d1a08a4be8c1ab2ce6 +Author: Loic Dachary +Date: Sat Oct 11 18:20:36 2014 +0200 + + rpm: 95-ceph-osd-alt.rules is not needed for centos7 / rhel7 + + The || instead of && had it always installed. That was fixed in EPEL + already. + + http://tracker.ceph.com/issues/9747 Fixes: #9747 + + Signed-off-by: Loic Dachary + (cherry picked from commit 5ff4a850a0d809b3f25988c6cceb82c35095ef84) + +commit d5bac46e06c5420f29a021b294e391b2c6694cbd +Author: David Zafman +Date: Wed Sep 24 16:02:21 2014 -0700 + + osd: Return EOPNOTSUPP if a set-alloc-hint occurs with OSDs that don't support + + Add CEPH_FEATURE_OSD_SET_ALLOC_HINT feature bit + Collect the intersection of all peer feature bits during peering + When handling CEPH_OSD_OP_SETALLOCHINT check that all OSDs support it + by checking for CEPH_FEATURE_OSD_SET_ALLOC_HINT feature bit. + + Fixes: #9419 + Backport: firefly + + Signed-off-by: David Zafman + (cherry picked from commit 9b39033f2b2bcdd2be0f6da4dff06023d0f77499) + + Conflicts: + + src/include/ceph_features.h + src/osd/PG.cc + src/osd/PG.h + src/osd/ReplicatedPG.cc + +commit de08802dcf35aea516d013d3d6116aaa7707b923 +Author: David Zafman +Date: Fri Sep 19 15:12:55 2014 -0700 + + osd: Remove unused PG functions queue_notify(), queue_info(), queue_log() + + Signed-off-by: David Zafman + (cherry picked from commit 70ef4c11cbae669799c30c7592073ad7aa11dcd6) + +commit 5b5aba73031e901457ca27cf15600ce1ca90e258 +Merge: 345714b a1ae7f4 +Author: Gregory Farnum +Date: Fri Oct 10 06:57:06 2014 -0700 + + Merge pull request #2691 from ceph/firefly-unused-variable + + Firefly unused variable + +commit a1ae7f471c809e69d363b9145e70160533bfa48c +Author: Yan, Zheng +Date: Fri Oct 10 21:36:39 2014 +0800 + + mds: Locker: remove unused variable + + Signed-off-by: Yan, Zheng + +commit 345714b6b4d004ad03cc7952dc56c6db87664ee4 +Merge: fd20a1d 2afb6fe +Author: Yan, Zheng +Date: Fri Oct 10 09:37:53 2014 +0800 + + Merge pull request #2681 from ceph/firefly-locker-null + + mds: Locker: fix a NULL deref in _update_cap_fields + +commit 2afb6febdd8482b8fec5890d79944d656faf1382 +Author: Greg Farnum +Date: Thu Oct 9 15:12:19 2014 -0700 + + mds: Locker: fix a NULL deref in _update_cap_fields + + The MClientCaps* is allowed to be NULL, so we can't deref it unless + the dirty param is non-zero. So don't do the ahead-of-time lookup; + just call it explicitly in the if block. + + Signed-off-by: Greg Farnum + (cherry picked from commit 3cd8a7fb9683577a7d6e934f18c29b7e84415be6) + +commit fd20a1d01bde67fb1edc6058e38435af9d5d6abc +Merge: e1bd1b2 86926c6 +Author: Loic Dachary +Date: Wed Oct 8 08:44:46 2014 +0200 + + Merge pull request #2662 from dachary/wip-9677-ioprio-class-firefly + + common: ceph_ioprio_string_to_class always returns -EINVAL + +commit 86926c6089d63014dd770b4bb61fc7aca3998542 +Author: Loic Dachary +Date: Tue Oct 7 14:06:38 2014 +0200 + + common: ceph_ioprio_string_to_class always returns -EINVAL + + The l string is always empty because std::transform needs a + pre-allocated string. Replace with the in-place version. Add unit tests. + + http://tracker.ceph.com/issues/9677 Fixes: #9677 + + Signed-off-by: Loic Dachary + (cherry picked from commit 3535b7aba3df8b54fa5117b8a9c2f52b8f0f118b) + + Conflicts: + src/test/Makefile.am + +commit 5f2eec5036a2910aca1e8ce2d94444d3ed0477df +Author: Loic Dachary +Date: Tue Oct 7 14:05:08 2014 +0200 + + osd: log error if set_ioprio fails to parse class + + Signed-off-by: Loic Dachary + (cherry picked from commit 5088e0d49332d579ba7e33c2c9baee3d5f701a3e) + +commit 2796d5151df4dcde324a4d09a83c9a779cece00e +Author: Loic Dachary +Date: Tue Oct 7 14:03:39 2014 +0200 + + common: set_ioprio debug message including pid + + Signed-off-by: Loic Dachary + (cherry picked from commit 33339c7754875eb7e513345ee6b26a9b2b4d2707) + +commit d5ed6b0587b9999b2fd41377b0426e3b09ef8ab9 +Author: Loic Dachary +Date: Tue Oct 7 14:02:09 2014 +0200 + + common: do not set ioprio if pid is not set + + Signed-off-by: Loic Dachary + (cherry picked from commit c7e4c0bfe70bf29d3b8fe4df4e4b934853e33d26) + +commit e1bd1b2774f4eae5444b5f7b984193cb91a2dd98 +Merge: 726c6a1 459dca1 +Author: Sage Weil +Date: Tue Oct 7 09:58:03 2014 -0700 + + Merge pull request #2632 from ceph/wip-9039-firefly + + rgw: copy object data if target bucket is in a different pool + +commit 726c6a147a14c00cf12eb6c6561655475282419f +Author: Sage Weil +Date: Mon Oct 6 15:50:51 2014 -0700 + + debian/control: fix python-ceph -> ceph file move to allow upgrades + + This is a backport of 5c6c366d2abe771c581690270c2d176ebb30c571 with the + version numbers changed, to compensate for the change in + fe3434f41cd09433975d7d0f9dbb2fae662e4a1b (backported in + bf1933e5c184476a354664c42fec834e9f59067c). + + Tested-by: Tamil Muthamizhan + Signed-off-by: Sage Weil + +commit 884f7c40c4a28d519847d3995c8d98e5837ceaf0 +Merge: 31d57c9 c8a8e47 +Author: Sage Weil +Date: Mon Oct 6 07:01:50 2014 -0700 + + Merge remote-tracking branch 'gh/wip-rpm-epoch-firefly' into firefly + + Reviewed-by: Boris Ranto + +commit 31d57c9a28502a4a72f8aa141f7ed63ffe1e0192 +Merge: 9a3bac0 548be0b +Author: Loic Dachary +Date: Mon Oct 6 09:50:33 2014 +0200 + + Merge pull request #2643 from johnugeorge/wip-9492-crush-firefly + + Crush: Backporting fixes for #9492 to firefly + + Reviewed-by: Loic Dachary + +commit 548be0b2aea18ed3196ef8f0ab5f58a66e3a9af4 +Author: Johnu George +Date: Mon Sep 29 10:07:44 2014 -0700 + + Crush: Ensuring at most num-rep osds are selected + + Crush temporary buffers are allocated as per replica size configured + by the user.When there are more final osds (to be selected as per + rule) than the replicas, buffer overlaps and it causes crash.Now, it + ensures that at most num-rep osds are selected even if more number of + osds are allowed by indep rule. The fix for firstn rules is already + merged as part of bug #9492. Required test files are added. + + Fixes: #9492 + + Signed-off-by: Johnu George johnugeo@cisco.com + (cherry picked from commit 234b066ba04976783d15ff2abc3e81b6cc06fb10) + +commit e30c570ce691a994898b4a933c57e7ae014cdc30 +Author: Johnu George +Date: Wed Sep 24 09:32:50 2014 -0700 + + Crush: Ensuring at most num-rep osds are selected + + Crush temporary buffers are allocated as per replica size configured + by the user.When there are more final osds (to be selected as per + rule) than the replicas, buffer overlaps and it causes crash.Now, it + ensures that at most num-rep osds are selected even if more number of + osds are allowed by the rule. + + Fixes: #9492 + + Signed-off-by: Johnu George + (cherry picked from commit 6b4d1aa99718e3b367496326c1e64551330fabc0) + +commit 9a3bac0c1a7a42cdf7ba846c9ad0a3ae0f15b4bb +Merge: 0b978fb 5a5e7e7 +Author: Sage Weil +Date: Fri Oct 3 11:58:41 2014 -0700 + + Merge pull request #2634 from dachary/wip-9653-ceph-disk-bootstrap-osd-firefly + + ceph-disk: bootstrap-osd keyring ignores --statedir (firefly) + +commit c8a8e4763a55dec44836bc679254ee7dcc448567 +Author: Sage Weil +Date: Wed Oct 1 12:33:38 2014 -0700 + + ceph.spec: fix typo + + Signed-off-by: Sage Weil + (cherry picked from commit da9ae5c92ecb4059e0ec6be5ce03af46430e76a5) + +commit b890c1e4706d7cfef7ed24c9df65b439b4f7ff1d +Author: Sage Weil +Date: Wed Oct 1 06:02:02 2014 -0700 + + ceph.spec.: add epoch + + This is done in fedora packaging. Do it here too so that you can move + between upstream packages (from ceph.com) and fedora and other derivatives + will builds. + + Backport: firefly, dumpling + Signed-off-by: Sage Weil + (cherry picked from commit 83888362089346e473d6fd6e1d366b826d7bd739) + + Conflicts: + + ceph.spec.in + +commit d01db8080d97bfae34dcee3d153bf10e6f5327dd +Author: Sage Weil +Date: Tue May 20 13:41:35 2014 -0700 + + ceph.spec.in: remove BuildRoot + + Deprecated + + Fixes: #8143 + Signed-off-by: Sage Weil + (cherry picked from commit 401319a1527dd9cb5398916105d31e7ec065763d) + +commit 3c2b5c440863df548afc2bd8aa5440f15a44ac02 +Author: Dan Mick +Date: Tue Aug 12 16:31:22 2014 -0700 + + ceph.spec.in: tests for rhel or centos need to not include _version + + rhel_version and centos_version are apparently the OpenSUSE Build + names; the native macros are just "rhel" and "centos" (and contain + a version number, should it be necessary). + + Signed-off-by: Dan Mick + (cherry picked from commit 7474f720c2418cf3d52b755f2b60c524e413570a) + +commit c82c29d6174022be45929fe9ba8a84993eef974a +Author: Dan Mick +Date: Tue Aug 12 14:46:52 2014 -0700 + + ceph.spec.in: Add a small comment on the empty %files section + + as suggested by Dan Mick. + + Signed-off-by: Erik Logtenberg + (cherry picked from commit e37b262c7928934530c5bb09fe56f83eb61f4244) + +commit a4f748aa906fc65b14f65515721bc3a815c18fb8 +Author: Dan Mick +Date: Tue Aug 12 14:39:18 2014 -0700 + + ceph.spec.in: Obsolete all older versions. + + Now this changeset can be used on all current ceph releases that already + have the package split. + + Signed-off-by: Erik Logtenberg + (cherry picked from commit 875a99e25f0ad2cb47149a3b5a28b4771a09125c) + +commit 74c7f3caec1cc7a5da89ef33de36a8b59249cfcd +Author: Dan Mick +Date: Tue Aug 12 14:09:43 2014 -0700 + + ceph.spec.in: No version on ceph-libs Obsoletes. + + If we are installing with the new package structure we don't ever want the + new package to co-exist with the old one; this includes the mistakenly- + released v0.81 on Fedora, which should be removed in favor of this + version. + + Signed-off-by: Sandon Van Ness + Reviewed-by: Dan Mick + (cherry picked from commit 8f95daf66b5fdb2a8141988480f984c1249599c5) + +commit 561261b6efb7ea442686bb8fce387c4de2482067 +Author: Sandon Van Ness +Date: Fri Aug 8 18:01:30 2014 -0700 + + ceph.spec.in: Obselete ceph-libcephfs (not libcephfs) + + I am guessing that because it was a sub-package libcephfs was mistakenly + used instead of ceph-libcephfs. + + Signed-off-by: Sandon Van Ness + (cherry picked from commit 75985024bd30ca6fbe4c61aa7f7cbe5306c9a988) + +commit 107bfd9ee7dbf360561187b9e0946964d40b9b1c +Author: Erik Logtenberg +Date: Fri Aug 1 14:20:18 2014 +0200 + + ceph.spec.in: We need those nice recent changes for rhel7 in Fedora too. + + Signed-off-by: Erik Logtenberg + (cherry picked from commit 00877ae502ac52613bcd5c5c834d72787d668dca) + +commit 7946c5e5de8d6cd25d20beee15f3489113e51539 +Author: Dan Mick +Date: Wed Aug 27 12:56:43 2014 -0700 + + Move fedora patch file (used by ceph.spec.in) to rpm/ subdir + + Signed-off-by: Dan Mick + (cherry picked from commit 06b92cee621cbe33a6f17e8c64169db4453a5160) + +commit cb2ae9afa611175226efb5544f7d2aa705d55ece +Author: Erik Logtenberg +Date: Fri Aug 1 00:13:50 2014 +0200 + + ceph.spec.in, init-ceph.in: Don't autostart ceph service on Fedora. + + This patch is taken from the current Fedora package and makes the upstream + ceph.spec compliant with Fedora policy. The goal is to be fully compliant + upstream so that we can replace current Fedora package with upstream + package to fix many bugs in Fedora. + + Addition from Dan Mick : + Do this for RHEL and Centos as well, since they surely will benefit + from the same policy. Note: this requires changes to + autobuild-ceph and ceph-build scripts, which currently copy + only the dist tarball to the rpmbuild/SOURCES dir. + + Signed-off-by: Erik Logtenberg + Signed-off-by: Dan Mick : + (cherry picked from commit 461523b06cdf93e32f1d8b354ac3799e73162d33) + +commit 2b11376f1ee8925ab16065ebda912b11d3d7be59 +Author: Erik Logtenberg +Date: Thu Jul 31 23:54:03 2014 +0200 + + ceph.spec.in: Add obsoletes for libcephfs + + This fixes a bug for Fedora: + https://bugzilla.redhat.com/show_bug.cgi?id=1116614 + + Signed-off-by: Erik Logtenberg + (cherry picked from commit e9da2d8f2142771f206ef67f19e7f194855275d0) + +commit eefc62e3b85f402a7e1ae31c272c8a432d979379 +Author: Erik Logtenberg +Date: Thu Jul 31 23:49:56 2014 +0200 + + ceph.spec.in: add ceph-libs-compat + + Added a ceph-libs-compat package in accordance with Fedora packaging + guidelines [1], to handle the recent package split more gracefully. + In Fedora this is necessary because there are already other packages + depending on ceph-libs, that need to be adjusted to depend on the new + split packages instead. In the mean time, ceph-libs-compat prevents + breakage. + + [1] http://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages + + Signed-off-by: Erik Logtenberg + (cherry picked from commit 6c264f2204cbd54d90b02101e40ac9aa5aa72d7c) + + Conflicts: + + ceph.spec.in + +commit 0b978fb15a1307644aba3119419bb7386f98ee04 +Author: Sage Weil +Date: Sun Aug 10 14:41:19 2014 -0700 + + mon/Paxos: add perfcounters for most paxos operations + + I'm focusing primarily on the ones that result in IO here. + + Signed-off-by: Sage Weil + (cherry picked from commit b09b8563d35dda23faed43afef2a983e93a879c5) + +commit 74aa7afc719e517dbed300f802c1bc2dafe43ee0 +Author: Sage Weil +Date: Sun Aug 10 14:00:11 2014 -0700 + + mon/MonitorDBStore: add get_{keys,bytes}() accounting to Transaction + + Signed-off-by: Sage Weil + (cherry picked from commit fd421b26748e872ddf8e0f068dda2106853edff1) + +commit 5a5e7e7bcedbccbe4ae8aab159af6d8615eb3887 +Author: Loic Dachary +Date: Fri Oct 3 14:08:57 2014 +0200 + + ceph-disk: bootstrap-osd keyring ignores --statedir + + The STATEDIR variable is used to initialize the bootstrap-osd keyring + before it gets a chance to be overriden by --statedir. Replace it with + {statedir} so that it can be substituted after all options have been + parsed. + + http://tracker.ceph.com/issues/9653 Fixes: #9653 + + Signed-off-by: Loic Dachary + (cherry picked from commit fa0bd06b4657e5b84e237b76033ac3d3478b6a1f) + +commit 459dca1613a14cfad8d3afd7e3c783d825573a42 +Author: Yehuda Sadeh +Date: Tue Aug 12 13:36:11 2014 -0700 + + rgw: copy object data if target bucket is in a different pool + + Fixes: #9039 + Backport: firefly + + The new manifest does not provide a way to put the head and the tail in + separate pools. In any case, if an object is copied between buckets in + different pools, we may really just want the object to be copied, rather + than reference counted. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5d3a7e595f47455896304bf358e5251915d0f16f) + +commit 711a7e6f81983ff2091caa0f232af914a04a041c +Author: Jason Dillaman +Date: Mon Sep 15 00:53:50 2014 -0400 + + rbd: ObjectCacher reads can hang when reading sparse files + + The pending read list was not properly flushed when empty objects + were read from a space file. + + Signed-off-by: Jason Dillaman + (cherry picked from commit cdb7675a21c9107e3596c90c2b1598def3c6899f) + +commit b7784dc1baa47560a733fe9dcd2acec51bc93165 +Author: Jason Dillaman +Date: Sat Sep 6 22:59:40 2014 -0400 + + Enforce cache size on read requests + + In-flight cache reads were not previously counted against + new cache read requests, which could result in very large + cache usage. This effect is most noticeable when writing + small chunks to a cloned image since each write requires + a full object read from the parent. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4fc9fffc494abedac0a9b1ce44706343f18466f1) + +commit ac4fca065a12f3b00a47bf5ec37983696255174b +Author: Alexandre Marangone +Date: Fri Sep 5 10:36:24 2014 -0700 + + rgw: add .log to default log path + + Fixes: #9353 + Signed-off-by: Alexandre Marangone + (cherry picked from commit 46732420897a2619059050044f4980a4737df43e) + +commit f03ae7b00e5694f1670493396a1cee195fcc6b35 +Merge: 78c3ef9 ee02cfd +Author: Yehuda Sadeh +Date: Thu Oct 2 15:28:40 2014 -0700 + + Merge pull request #2565 from ceph/wip-rgw-firefly-backports + + Wip rgw firefly backports + +commit 78c3ef90604ca117255cefe232771a7564fed8b1 +Author: Sage Weil +Date: Thu Sep 25 13:16:52 2014 -0700 + + osdc/Objecter: only post_rx_buffer if no op timeout + + If we post an rx buffer and there is a timeout, the revocation can happen + while the reader has consumed the buffers but before it has decoded and + constructed the message. In particular, we calculate a crc32c over the + data portion of the message after we've taken the buffers and dropped the + lock. + + Instead of fixing this race (for example, by reverifying rx_buffers under + the lock while calculating the crc.. bleh), just skip the rx buffer + optimization entirely when a timeout is present. + + Note that this doesn't cover the op_cancel() paths, but none of those users + provide static buffers to read into. + + Fixes: #9582 + Backport: firefly, dumpling + Signed-off-by: Sage Weil + + backport of 126d0b30e990519b8f845f99ba893fdcd56de447 + +commit a261b4952056aab7b067453930342960bbe55089 +Author: Sage Weil +Date: Mon Sep 29 14:28:32 2014 -0700 + + debian: move ceph_rest_api.py into ceph + + Signed-off-by: Sage Weil + (cherry picked from commit fe3434f41cd09433975d7d0f9dbb2fae662e4a1b) + +commit eb0f6e347969b40c0655d3165a6c4531c6b595a3 +Author: Sage Weil +Date: Mon Sep 29 14:24:01 2014 -0700 + + ceph.spec.in: move ceph_rest_api.py into ceph + + Signed-off-by: Sage Weil + (cherry picked from commit 8cda623e0ba34a48a70e9ea988d619b15605c4fd) + +commit c4188e31f7bc8f3c337e637cd99c41d5ee4b6787 +Author: Sage Weil +Date: Mon Sep 29 13:44:03 2014 -0700 + + ceph.spec: fix python-flask dependency + + This is needed by ceph-rest-api, which is in ceph.rpm; it's not related to + python-ceph (except that ceph-rest-api happens to require that too). + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit b2416240b88b2e067dfc79a2723335f1584562d0) + +commit bf1933e5c184476a354664c42fec834e9f59067c +Author: Sage Weil +Date: Mon Sep 29 13:40:18 2014 -0700 + + debian: python-flask is needed by ceph, not python-ceph + + It's used by ceph-rest-api which is in the 'ceph' (server) package. + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit e42424e777e4f7d8b03650482253734c1fa8709d) + + Conflicts: + + debian/control + +commit 94a7fbaa11c51db294dce0dc1df728f69aef5bf8 +Author: Danny Al-Gaaf +Date: Fri Sep 19 12:25:07 2014 +0200 + + rgw_main.cc: add missing virtual destructor for RGWRequest + + CID 1160858 (#1 of 1): Non-virtual destructor (VIRTUAL_DTOR) + nonvirtual_dtor: Class RGWLoadGenRequest has a destructor + and a pointer to it is upcast to class RGWRequest which doesn't + have a virtual destructor. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit b82ceda7775ff85943d9143b73789eb37b09bfa9) + +commit 9fee8de25ab5c155cd6a3d32a71e45630a5ded15 +Author: Greg Farnum +Date: Mon Sep 29 16:10:36 2014 -0700 + + Locker: accept ctime updates from clients without dirty write caps + + The ctime changes any time the inode does. That can happen even without + the file itself having changed, so we'd better accept the update whenever + the auth caps have dirtied, without worrying about the file caps! + + Fixes: #9514 + Backport: firefly + + Signed-off-by: Greg Farnum + Reviewed-by: Sage Weil + Reviewed-by: John Spray + (cherry picked from commit 0ea20a668cf859881c49b33d1b6db4e636eda18a) + +commit 461ece5e9fb1d4994a6214a3b6bdae136773629d +Author: Sage Weil +Date: Wed Oct 1 18:01:51 2014 -0700 + + doc/release-notes: fix attributions for 8702 fix + + Oops! + + Signed-off-by: Sage Weil + (cherry picked from commit 188370a94353e29fcb8981699022803e23f3fedd) + +commit 917529a78e5046f621df5c48fe5d50d2f7e56560 +Author: Sage Weil +Date: Wed Oct 1 17:48:12 2014 -0700 + + doc/release-notes: v0.80.6 + + Signed-off-by: Sage Weil + (cherry picked from commit c0dc3a56974a469b61523b67cc032cc5726a3a5f) + + Conflicts: + + doc/release-notes.rst + +commit 060a5b1422fcdfb8e84636579a2f0c2f1ec14300 +Author: Adam Crume +Date: Thu Sep 18 16:57:27 2014 -0700 + + common: Add cctid meta variable + + Fixes: #6228 + Signed-off-by: Adam Crume + (cherry picked from commit bb45621cb117131707a85154292a3b3cdd1c662a) + +commit a1aa06b7fb30e509193e1b1bb7355b5f21aedc82 +Author: Samuel Just +Date: Wed Oct 1 14:30:59 2014 -0700 + + ReplicatedPG: dump snap_trimq on pg query + + Signed-off-by: Samuel Just + +commit 34f38b68d89baf1dcbb4571d4f4d3076dc354538 +Author: Samuel Just +Date: Mon Sep 29 16:26:54 2014 -0700 + + ReplicatedPG: do not queue the snap trimmer constantly + + Previously, we continuously requeued the snap trimmer while in + TrimmingObjects. This is not a good idea now that we try to + limit the number of snap trimming repops in flight and requeue + the snap trimmer directly as those repops complete. + + Fixes: #9113 + Backport: giant, dumpling, firefly + Signed-off-by: Samuel Just + +commit b29bf00f68cf133151c98db06e9498b3e8be22ed +Author: Samuel Just +Date: Wed Sep 24 13:55:47 2014 -0700 + + ReplicatedPG: clean out completed trimmed objects as we go + + Also, explicitely maintain a max number of concurrently trimming + objects. + + Fixes: 9113 + Backport: dumpling, firefly, giant + Signed-off-by: Samuel Just + +commit ee02cfd23facb3404fc377f643b213c2f498474d +Author: Yehuda Sadeh +Date: Thu Sep 18 20:53:10 2014 -0700 + + rgw: calculate hash after writing data + + Since data is written asynchronously, we should do the hash calculation + while it's pending. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5bb94ede19a50543a02a8019ed6c9680b3852d4e) + +commit 216730221575d88a72b06ed3d71c9a54cffc5719 +Author: Yehuda Sadeh +Date: Thu Sep 18 20:51:02 2014 -0700 + + crypto: don't hash zero sized buffer + + libnss returns an error and we assert in that case. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7b137246b49a9f0b4d8b8d5cebfa78cc1ebd14e7) + +commit dab7a4f6ad054b53cedca76ee329a6395918b1ab +Author: Yehuda Sadeh +Date: Fri Sep 12 14:07:44 2014 -0700 + + rgw: push hash calculater deeper + + This might have been the culprit for #9307. Before we were calculating + the hash after the call to processor->handle_data(), however, that + method might have spliced the bufferlist, so we can't be sure that the + pointer that we were holding originally is still invalid. Instead, push + the hash calculation down. Added a new explicit complete_hash() call to + the processor, since when we're at complete() it's too late (we need to + have the hash at that point already). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d41c3e858c6f215792c67b8c2a42312cae07ece9) + + Conflicts: + src/rgw/rgw_rados.h + +commit bd0a91343ce70d71acced753688a502b7e8b552e +Author: Yehuda Sadeh +Date: Thu Aug 21 16:30:10 2014 -0700 + + rgw: separate civetweb log from rgw log + + The civetweb log now is independent from the rgw log. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 850242cad749e33e1e6bc008baa75c8ea7eda0c1) + + Conflicts: + src/civetweb + src/rgw/rgw_main.cc + +commit a777562b780e7ab312f881c38b1db26983a1ac47 +Author: Yehuda Sadeh +Date: Tue Sep 23 13:40:39 2014 -0700 + + civetweb: update submodule + + Update submodule to include multiple fixes. + + Signed-off-by: Yehuda Sadeh + +commit 1bdcc079d79d8211b44e2a46511cd2240f71744b +Author: Yehuda Sadeh +Date: Fri Aug 22 15:12:16 2014 -0700 + + rgw: convert header field underscores into dashes + + Fixes: 9206 + Backport: firefly + + Certain web servers filter out underscores in the header field name. + Convert them into dashes. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 11acb7097ce21c6218dd48d0c21e0e04a361eb9a) + +commit b8fa2ed60b6cce51701df972dbb6f5e02e0d84ba +Author: Yehuda Sadeh +Date: Mon Aug 25 10:38:42 2014 -0700 + + rgw: fix test to identify whether object has tail + + Fixes: #9226 + Reported-by: Sylvain Munaut + Backport: firefly + + We need to identify whether an object is just composed of a head, or + also has a tail. Test for pre-firefly objects ("explicit objs") was + broken as it was just looking at the number of explicit objs in the + manifest. However, this is insufficient, as we might have empty head, + and in this case it wouldn't appear, so we need to check whether the + sole object is actually pointing at the head. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 751b3e26532932a42ca34f9c062a0a3e29a58cff) + +commit 6fee71154d838868807fd9824d829c8250d9d2eb +Author: Yehuda Sadeh +Date: Wed Aug 27 17:44:18 2014 -0700 + + rgw: don't try to authenticate a CORS preflight request + + Fixes: #8718 + Backport: firefly + + CORS preflight requests don't need to be authenticated. Treat them as + coming from anonymous user. + + Reported-by: Robert Hubbard + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 848fcf7871e07fc689bdcd18943ace36b2f4906e) + +commit c75a79cbac30cd14d37d89217113824d98693572 +Author: Yehuda Sadeh +Date: Thu Aug 14 13:35:12 2014 -0700 + + rgw: fix compilation + + RGWRadosPutObj couldn't refer to the ceph context. + + Reviewed-by: Sage Weil + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 6a555434ee3edaf742ee7e5910bcba8dd0de46dd) + +commit b0d08aab837808f18708a4f8ced0503c0fce2fec +Author: Yehuda Sadeh +Date: Tue Aug 12 11:17:47 2014 -0700 + + rgw: call throttle_data() even if renew_state() failed + + Otherwise we're going to leak the aio callback handle. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7998c322179dd69a1250937321c3c2bb023e0e57) + +commit a953b313f1e2f884be6ee2ce356780f4f70849dd +Author: Yehuda Sadeh +Date: Wed Jul 30 21:32:48 2014 -0700 + + rgw: disable civetweb url decoding + + Fixes: #8621 + + We want to have the raw request uri, as we do the decoding ourselves. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ffac52b316e7022796d44ae58804d9c20b9c3df9) + +commit ba5357714a19b8af989fef1c75ef775837c6a9d6 +Author: Yehuda Sadeh +Date: Tue Aug 12 14:23:46 2014 -0700 + + rgw: copy_obj_data() uses atomic processor + + Fixes: #9089 + + copy_obj_data was not using the current object write infrastructure, + which means that the end objects weren't striped. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 800eff24824c0083b8e2441fc34e0bdca5da36dc) + +commit d73dbc3a39117eddaaabb2c25d9238cd7c51711b +Author: Yehuda Sadeh +Date: Thu Aug 21 21:53:38 2014 -0700 + + rgw: clear bufferlist if write_data() successful + + Fixes: #9201 + Backport: firefly + + We sometimes need to call RGWPutObjProcessor::handle_data() again, + so that we send the pending data. However, we failed to clear the buffer + that was already sent, thus it was resent. This triggers when using non + default pool alignments. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 9181114d6f6062c55ee4b351fc3495345e545c36) + +commit 4be53d5eebbc294878ba38050d841359b6c8e19e +Author: Samuel Just +Date: Tue Sep 23 12:16:55 2014 -0700 + + PG: check full ratio again post-reservation + + Otherwise, we might queue 30 pgs for backfill at 0.80 fullness + and then never check again filling the osd after pg 11. + + Fixes: #9574 + Backport: dumpling, firefly, giant + Signed-off-by: Samuel Just diff --git a/doc/changelog/v0.80.9.txt b/doc/changelog/v0.80.9.txt new file mode 100644 index 00000000..aa274d13 --- /dev/null +++ b/doc/changelog/v0.80.9.txt @@ -0,0 +1,1148 @@ +commit b5a67f0e1d15385bc0d60a6da6e7fc810bde6047 (tag: refs/tags/v0.80.9, refs/remotes/gh/firefly) +Author: Jenkins +Date: Mon Mar 9 10:42:08 2015 -0700 + + 0.80.9 + +commit 37901afd1556257151c029395caa1143e84860f2 +Merge: 00e5947 3dac68a +Author: Loic Dachary +Date: Tue Mar 3 15:58:53 2015 +0100 + + Merge pull request #3852 from dachary/wip-10965-rgw-firefly + + rgw: enable ipv6 in civetweb + + Reviewed-by: Loic Dachary + +commit 00e5947a28f7810a28329d2f4901aed09a289421 +Merge: 293222a b13f483 +Author: Loic Dachary +Date: Tue Mar 3 15:58:39 2015 +0100 + + Merge pull request #3853 from dachary/wip-10907-rgw-firefly + + rgw: pass civetweb configurables to civetweb + + Reviewed-by: Loic Dachary + +commit 293222a284c072a13950831205c106fec7a400df +Merge: 6512b06 d57b38f +Author: Loic Dachary +Date: Tue Mar 3 15:58:25 2015 +0100 + + Merge pull request #3851 from dachary/wip-10978-rgw-firefly + + rgw: don't overwrite bucket / object owner when setting acls + + Reviewed-by: Loic Dachary + +commit d57b38f85b683dfb365c3cb98362d486594f9eb3 +Author: Yehuda Sadeh +Date: Fri Feb 27 15:32:50 2015 -0800 + + rgw: don't overwrite bucket / object owner when setting acls + + Fixes: #10978 + Backport: hammer, firefly + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit eb13f2d4b60c031f16139f7cc4237c012644dd78) + + Conflicts: + src/rgw/rgw_op.cc : trivial s/.empty()/== NULL/ + +commit b13f483e51b37a768c7f4313b6933bf648950c7d +Author: Yehuda Sadeh +Date: Tue Feb 17 15:05:40 2015 -0800 + + rgw: pass civetweb configurables to civetweb + + Fixes: #10907 + Backport: firefly + + Pass any configurables in the rgw frontends config line to civetweb. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 986d7554426764a149621ba733c5c075b94e0431) + +commit 3dac68a17a909b212a36b0a3c0ae2c47d323deee +Author: Yehuda Sadeh +Date: Fri Feb 27 08:14:27 2015 -0800 + + civetweb: update submodule + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f28fe744285117a1715eac0d08911cdb37285103) + +commit 14aca3af18119a76c1cdfa6d71e6085d360e45e2 +Author: Yehuda Sadeh +Date: Fri Feb 27 08:14:41 2015 -0800 + + rgw: update makefile to enable civetweb config + + Fixes: #10965 + Backport: hammer, firefly + + Civetweb compilation now includes conf header to enable ipv6. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit caa90225bad9fe5e9c275e6189b3396b4d396e3f) + + Conflicts: + src/rgw/Makefile.am + radosgw_CFLAGS = -Icivetweb/include + was not yet changed into + radosgw_CFLAGS = -I$(srcdir)/civetweb/include + in firefly + +commit 6512b06fc8a80e3befbe15b543f8850991f74e8a +Merge: 7b748c6 555cc42 +Author: Loic Dachary +Date: Sat Feb 28 16:47:55 2015 +0100 + + Merge pull request #3820 from tchaikov/firefly-pg-leak-10421 + + osd: fix PG leak in SnapTrimWQ._clear() + + Reviewed-by: Loic Dachary + +commit 7b748c62764311572342593820ce3f28f74fe9ca +Merge: d971c95 da95149 +Author: Loic Dachary +Date: Sat Feb 28 16:46:42 2015 +0100 + + Merge pull request #3772 from ceph/wip-10883-firefly + + osd: Fix FileJournal wrap to get header out first + + Reviewed-by: Loic Dachary + +commit d971c95c3d8b48494d05b68f40c4c9a4cc6f87a8 +Merge: 0820041 e539971 +Author: Loic Dachary +Date: Sat Feb 28 16:45:48 2015 +0100 + + Merge pull request #3521 from dzafman/wip-10676 + + Backport doc fixes that appear to apply to firefly + + Reviewed-by: Loic Dachary + +commit 555cc42fc826fd801f0d45187429079d4072d129 +Author: Kefu Chai +Date: Tue Feb 10 16:29:45 2015 +0800 + + osd: fix PG leak in SnapTrimWQ._clear() + + Fixes: #10421 + Signed-off-by: Kefu Chai + (cherry picked from commit 01e154d592d6cdbf3f859cf1b4357e803536a6b4) + +commit 0820041e6515c82c41b81b9e6825e2dd5fcb8165 +Merge: 6565774 702dbc0 +Author: Gregory Farnum +Date: Thu Feb 26 15:59:24 2015 -0800 + + Merge pull request #3730 from ceph/wip-firefly-flock + + backport ceph-fuse file locking patches to Firefly + + Reviewed-by: Yan, Zheng + +commit 6565774d0356efc6225ad561bb13e7cf11da7b1e +Merge: 7ab02ee 08c2fda +Author: Josh Durgin +Date: Thu Feb 26 14:18:10 2015 -0800 + + Merge pull request #3406 from ceph/wip-10299-firefly + + librbd: complete all pending aio ops prior to closing image + + Reviewed-by: Josh Durgin + +commit 08c2fda12cf46937a09a59bb032379c3c5321292 +Author: Jason Dillaman +Date: Mon Dec 15 10:53:53 2014 -0500 + + librbd: complete all pending aio ops prior to closing image + + It was possible for an image to be closed while aio operations + were still outstanding. Now all aio operations are tracked and + completed before the image is closed. + + Fixes: #10299 + Backport: giant, firefly, dumpling + Signed-off-by: Jason Dillaman + +commit 7ab02ee5afb3d017b94d58c3dfc7731f7a3866d9 +Merge: 0c0a552 c23e42e +Author: Josh Durgin +Date: Thu Feb 26 14:12:29 2015 -0800 + + Merge pull request #3404 from ceph/wip-10270-firefly + + librbd: gracefully handle deleted/renamed pools + + Reviewed-by: Josh Durgin + +commit 0c0a5520b1b883bcdd5b865b217ba61e471e3ca2 +Merge: 9ef7743 836ab86 +Author: Josh Durgin +Date: Thu Feb 26 13:31:37 2015 -0800 + + Merge pull request #3410 from ceph/wip-9854-firefly + + osdc: Constrain max number of in-flight read requests + + Reviewed-by: Josh Durgin + +commit da951497b7e5ec227aa6a5e459b0d04d8b88ef13 (refs/remotes/gh/wip-10883-firefly) +Author: David Zafman +Date: Wed Feb 18 16:21:12 2015 -0800 + + osd: Fix FileJournal wrap to get header out first + + Correct and restore assert that was removed + + Cause by f46b1b473fce0322a672b16c7739e569a45054b6 + Fixes: #10883 + Backport: dumpling, firefly, giant + + Signed-off-by: David Zafman + (cherry picked from commit 970bb4901f93575709421b5b25c3eff213de61b8) + +commit 702dbc0a247c149d53b52d1929f9880bc99d0522 +Author: Yan, Zheng +Date: Wed Oct 15 12:00:58 2014 +0800 + + qa/workunits/fs/misc: Add a workunit for file lock interruption + + Signed-off-by: Yan, Zheng + (cherry picked from commit ac92c455a9aa19e4288acdf0c9a746e03a640efb) + +commit d2523b82c5c7b29293d70a66ba95493a1564a840 +Author: Yan, Zheng +Date: Wed Oct 15 12:03:46 2014 +0800 + + mds: fix neighbor lock check + + Signed-off-by: Yan, Zheng + (cherry picked from commit b0e6e85aa08ea74cd209aad04f3f0bf991761e12) + +commit f9b6b66b05ddadef043d81676728bf40730ea16c +Author: Yan, Zheng +Date: Mon Oct 13 11:34:18 2014 +0800 + + client: use finisher to abort MDS request + + When a request is interrupted, libfuse first locks an internal mutex, + then calls the interrupt callback. libfuse need to lock the same mutex + when unregistering interrupt callback. We unregister interrupt callback + while client_lock is locked, so we can't acquiring the client_lock in + the interrupt callback. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 09699454e729592d426aeff5b578697e850af12e) + + Conflicts: + src/client/Client.cc + src/client/Client.h + + Signed-off-by: Greg Farnum + +commit ea355e9ca5203b77e6f74ca4a3e39ce23cc86f67 +Author: Yan, Zheng +Date: Thu Oct 9 13:16:18 2014 +0800 + + client: use atomic variable to track reference of MetaRequeset + + this allow us to increase reference count of MetaRequest while not holding + the client_lock + + Signed-off-by: Yan, Zheng + (cherry picked from commit e464a7765230c504b3e3b88bcb1106f67b7c3eb9) + +commit ccbdf514717cb0e48d67b57197d6e538faeea415 +Author: Yan, Zheng +Date: Mon Oct 13 10:44:46 2014 +0800 + + client: allow interrupting blocked file lock operation + + This commit introduce two new types of setfilelock request. Unlike + setfilelock (UNLOCK) request, these two new types of setfilelock request + do not drop locks that have alread been acquired, they only interrupt + blocked setfilelock request. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 4134c149d3759dd6a3aaa1a353b77bbfe8e9491b) + +commit 875e2fcb060554941d94714ad48ebbc0cbbf8077 +Author: Yan, Zheng +Date: Thu Oct 9 09:42:08 2014 +0800 + + client: register callback for fuse interrupt + + libfuse allows program to reigster a callback for interrupt. When a file + system operation is interrupted, the fuse kernel driver sends interupt + request to libfuse. libfuse calls the interrupt callback when receiving + interrupt request. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 289e8b4a7efa1ae6427115af9bbe541c9e1f0e90) + +commit c96aabbd54b24a0273af21a450cd6f517fe4ada0 +Author: Yan, Zheng +Date: Sat Oct 4 09:14:44 2014 +0800 + + client: add helper function that updates lock state + + Signed-off-by: Yan, Zheng + (cherry picked from commit 6a2303a6b6d97f2a6d1422e42d3d88991857618f) + + Conflicts: + src/client/Client.h + + Signed-off-by: Greg Farnum + +commit ebbd3ca66722cdc61b56d243baf8e63f7b8c1c1b +Author: Yan, Zheng +Date: Thu Oct 2 20:21:36 2014 +0800 + + fuse: enable fuse_multithreaded by default + + GETFILELOCK MDS request may block for a long time, so we need to + use multithread event loop, + + Signed-off-by: Yan, Zheng + (cherry picked from commit b17b43a8660ed0db29fbecf44798265e47712f85) + +commit 924e6f2b6b03456a8b18d8b158b8f325051f0519 +Author: Yan, Zheng +Date: Thu Oct 2 19:07:41 2014 +0800 + + client: posix file lock support + + Signed-off-by: Yan, Zheng + (cherry picked from commit a1b2c8ff955b30807ac53ce6bdc97cf61a7262ca) + + Conflicts: + src/client/Client.cc + src/client/Client.h + src/client/Inode.h + + Signed-off-by: Greg Farnum + +commit 82994946bdcb95867a61e0acf443e30b13925a34 +Author: Yan, Zheng +Date: Thu Oct 2 18:02:50 2014 +0800 + + common: link mds/flock.o to libcommon + + later commit will use this code to track file locks held by cephfs + client. + + Signed-off-by: Yan, Zheng + (cherry picked from commit e075c27c3554380c59dce0cc17ef0944eb415025) + + Conflicts: + src/mds/Makefile.am + + Signed-off-by: Greg Farnum + +commit 9ef77430f3d46789b0ba1a2afa42729627734500 +Merge: 1205867 b668566 +Author: Loic Dachary +Date: Fri Feb 13 18:34:11 2015 +0100 + + Merge pull request #3684 from ceph/wip-crush-straw-firefly + + osd: backport straw bucket fixes and all other recent crush goodness to firefly + + Reviewed-by: Loic Dachary + +commit b668566fd8148414b8074f096b85b22c42ed3af9 (refs/remotes/gh/wip-crush-straw-firefly) +Author: Sage Weil +Date: Fri Jan 16 09:02:28 2015 -0800 + + crush/builder: fix warnings + + crush/builder.c: In function 'crush_remove_list_bucket_item': + crush/builder.c:977:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] + if (weight < bucket->h.weight) + ^ + crush/builder.c: In function 'crush_remove_tree_bucket_item': + crush/builder.c:1031:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] + if (weight < bucket->h.weight) + ^ + + Signed-off-by: Sage Weil + (cherry picked from commit 14eb1a73c71d81b7f193fce27c59cb3babf3e74a) + +commit 247afa4efe7d11b5ef06e094680b50ea30d7d5e3 +Author: Loic Dachary +Date: Wed Oct 15 17:02:58 2014 -0700 + + crush: improve constness of CrushWrapper methods + + A number of CrushWrapper get methods or predicates were not const + because they need to maintain transparently the rmaps. Make the rmaps + mutable and update the constness of the methods to match what the caller + would expect. + + Signed-off-by: Loic Dachary + (cherry picked from commit 236895eea65f8706baa5fdef96fb00ad5b82218c) + +commit c59279a25b6c53e0ab3988b0f00ae3cce94f33d7 +Author: Xiaoxi Chen +Date: Fri Sep 5 10:56:36 2014 +0800 + + Change CrushWrapper::crush to private + + Currently in CrushWrapper, the member "struct crush_map *crush" is a public member, + so people can break the encapsulation and manipulate directly to the crush structure. + + This is not a good practice for encapsulation and will lead to inconsistent if code + mix use the CrushWrapper API and crush C API.A simple example could be: + 1.some code use crush_add_rule(C-API) to add a rule, which will not set the have_rmap flag to false in CrushWrapper + 2.another code using CrushWrapper trying to look up the newly added rule by name will get a -ENOENT. + + This patch move CrushWrapper::crush to private, together with three reverse map(type_rmap, name_rmap, rule_name_rmap) + and also change codes accessing the CrushWrapper::crush to make it compile. + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit d734600f9251b52f525faa35441e2b5dd660161b) + +commit 9fc2fd50aec94233528870aaa371347238a6ea75 +Author: Sage Weil +Date: Fri Jul 11 06:58:57 2014 -0700 + + crush: include CRUSH_V3, v2/v3 rules checks in dump_tunables() + + Backport: firefly + Signed-off-by: Sage Weil + (cherry picked from commit cf94cf3531a349bbd1fc6ee56c3fc260110a252a) + +commit f6009a614a3689cc9a96f55b35e70362be4ec64b +Author: Sage Weil +Date: Fri Dec 5 15:58:03 2014 -0800 + + mon: 'osd crush reweight-all' + + This corresponds to the crushtool --reweight command. + + Signed-off-by: Sage Weil + (cherry picked from commit 89b2feea8d53b9dc15ab5ae7f5920ad19c8bba18) + +commit d5d7495432dd023ed8c9ba2ac08222f06afee48f +Author: Sage Weil +Date: Fri Dec 5 15:55:24 2014 -0800 + + crush: set straw_calc_version=1 for default+optimal; do not touch for presets + + When using the presets for compatibility (i.e., based on version), do not + touch the straw behavior, as it does not affect mapping or compatibility. + However, make a point of setting it by default and for optimal. + + For most users, this means that they will not see any change unless they + explicitly enable the new behavior, or switch to default or optimal + tunables. The idea is that if they touched it, they shouldn't be + too surprised by the subsequent data movement. + + Signed-off-by: Sage Weil + (cherry picked from commit dd7b58f3b1aa1febfc6dc227937df93ee6e284eb) + + (Note: differs from original in that the hammer tunable profile is not + present) + +commit 5b7b7599123a9d7a837ded52946bd553b09b1ac7 +Author: Sage Weil +Date: Wed Dec 3 22:30:00 2014 -0800 + + crush/builder: a note about the original crush_calc_straw() + + Signed-off-by: Sage Weil + (cherry picked from commit adf5c6de0aca24a53d3c7b4e7eeb0a5dce9db0f1) + +commit 3ab835b059fd74a525cc2a8ebe8b6a1453e0cc87 +Author: Sage Weil +Date: Tue Dec 2 16:43:16 2014 -0800 + + mon: add 'osd crush {get,set}-tunable [value]' commands + + For now, just add the straw_calc_version tunable. + + Signed-off-by: Sage Weil + (cherry picked from commit 9000068ae45a8b89315c152b7d5509ac873f2957) + + Conflicts: + src/mon/OSDMonitor.cc + +commit 884414c5788bac9a269f01b26cbc0c55850c34f6 +Author: Sage Weil +Date: Tue Dec 2 16:33:11 2014 -0800 + + crush: fix crush_calc_straw() scalers when there are duplicate weights + + The straw bucket was originally tested with uniform weights and with a + few more complicated patterns, like a stair step (1,2,3,4,5,6,7,8,9). And + it worked! + + However, it does not behave with a pattern like + 1, 2, 2, 3, 3, 4, 4 + + Strangely, it does behave with + 1, 1, 2, 2, 3, 3, 4, 4 + + and more usefully it does behave with + 1, 2, 2.001, 3, 3.001, 4, 4.001 + + That is, the logic that explicitly copes with weights that are duplicates + is broken. + + The fix is to simply remove the special handling for duplicate weights -- + it isn't necessary and doesn't work correctly anyway. + + Add a test that compares the mapping result of [1, 2, 2, 3, 3, ...] with + [1, 2, 2.001, 3, 3.001, ...] and verifies that the difference is small. + With the fix, we get .00012, whereas the original implementation gets + .015. + + Note that this changes the straw bucket scalar *precalculated* values that + are encoded with the map, and only when the admin opts into the new behavior. + + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit 43d5c7caa7ce478477bde1bbd4f0649b5159cdcf) + +commit bf677093302f475a23de541471ddde6a7c7153b6 +Author: Sage Weil +Date: Tue Dec 2 14:50:21 2014 -0800 + + crush: fix distortion of straw scalers by 0-weight items + + The presence of a 0-weight item in a straw bucket should have no effect + on the placement of other items. Add a test validating that and fix + crush_calc_straw() to fix the distortion. + + Note that this effects the *precalculation* of the straw bucket inputs and + does not effect the actually mapping process given a compiled or encoded + CRUSH map, and only when straw_calc_version == 1 (i.e., the admin opted in + to the new behavior). + + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit 85498bc8f62ca56506b33f3c5ec4fc4b111ed73d) + +commit e02574ef5d3b66e73424a16460366de2d36eded3 +Author: Sage Weil +Date: Tue Dec 2 14:49:42 2014 -0800 + + crush/builder: break out new version 1 of crush_calc_straw + + No change, yet. + + Signed-off-by: Sage Weil + (cherry picked from commit 7c1203635f2b5911f281ce3a441905df6e9bd103) + +commit c7312a47865c758e67852999803d8aa90ff809c1 +Author: Sage Weil +Date: Tue Dec 2 14:45:04 2014 -0800 + + crush: pass crush_map * to various builder methods + + In particular, we will need it for crush_calc_straw(). + + Signed-off-by: Sage Weil + (cherry picked from commit f35a3d88cb944c292e966f679ac7a8d7a1cd3093) + + Conflicts: + src/crush/CrushWrapper.cc + +commit 5137cc656548d942d0f21ba3ef28a5b7d4d21831 +Author: Rongze Zhu +Date: Fri Oct 10 19:18:00 2014 +0800 + + crush: fix incorrect use of adjust_item_weight method + + adjust_item_weight method will adjust all buckets which the item + inside. If the osd.0 in host=fake01 and host=fake02, we execute + "ceph osd crush osd.0 10 host=fake01", it not only will adjust fake01's + weight, but also will adjust fake02's weight. + + the patch add adjust_item_weightf_in_loc method and fix remove_item, + _remove_item_under, update_item, insert_item, detach_bucket methods. + + Signed-off-by: Rongze Zhu + (cherry picked from commit 9850227d2f0ca2f692a154de2c14a0a08e751f08) + + Conflicts: + src/crush/CrushWrapper.cc + +commit 80ec22014deb8536b9c34e8d57b286052898d05a +Author: Sage Weil +Date: Thu Nov 13 10:59:22 2014 -0800 + + crush/CrushWrapper: fix detach_bucket + + In commit 9850227d2f0ca2f692a154de2c14a0a08e751f08 we changed the call that + changed the weight of all instances of item to one that explicitly + changes it in the parent bucket, but parent_id may not be valid at the + call site. Move this into the conditional block to fix. + + Fixes: #10095 + Signed-off-by: Sage Weil + (cherry picked from commit 6f8b96a9fe4793906c74a571109a457aca7ca220) + +commit 5bc554ac5a7a4cd86b873bfc4f4313c91287b52c +Author: Sage Weil +Date: Tue Dec 2 14:10:49 2014 -0800 + + crush: default to straw_calc_version 1 + + Stick with bobtail tunables where it affects compatibility. Use v1 of + straw_calc, though, since that does not, and we want the best for new + clusters. + + Signed-off-by: Sage Weil + (cherry picked from commit 9565621d6007302fdd68ba27b6aef22e487f0985) + +commit cfc718a5a1fec937cf00e6c2b55f66d4390088bb +Author: Sage Weil +Date: Fri Feb 13 08:30:35 2015 -0800 + + crush: add straw_calc_version tunable + + It doesn't do anything, yet. + + Signed-off-by: Sage Weil + (cherry picked from commit 50e2ceefee6a5dfbecbe54890139b1fa80a313c8) + + (Modified from original to not create the 'hammer' tunable profile, which + we will not backport in its entirety.) + +commit 1205867d3afe6d457483f9f51aaee79cca74e040 +Author: Josh Durgin +Date: Mon Feb 2 16:43:35 2015 +0100 + + qa: use correct binary path on rpm-based systems + + Fixes: #10715 + Signed-off-by: Josh Durgin + (cherry picked from commit 05ce2aa1bf030ea225300b48e7914577a412b38c) + +commit da4146a5e03503083e6bc5c12984c06f41a3b4be +Author: Greg Farnum +Date: Thu Feb 5 21:12:17 2015 -0800 + + fsync-tester: print info about PATH and locations of lsof lookup + + We're seeing the lsof invocation fail (as not found) in testing and nobody can + identify why. Since attempting to reproduce the issue has not worked, this + patch will gather data from a genuinely in-vitro location. + + Signed-off-by: Greg Farnum + (cherry picked from commit a85051483874ff5b8b0fb50426a3577040457596) + +commit 61b4f09848796faeacf7eb78dd6dc06513beb737 +Author: Sage Weil +Date: Tue Dec 2 14:04:34 2014 -0800 + + crush/CrushWrapper: dump chooseleaf_vary_r with other tunables + + Signed-off-by: Sage Weil + (cherry picked from commit c133a83fe7b77e2a7e7c711cb8ab943c59ff0885) + +commit e4939ed5535cc4678cf1d1ae80906290448e6590 +Author: Sage Weil +Date: Tue Dec 2 10:12:25 2014 -0800 + + crush/CrushTester: add new --show-mappings option + + This makes --show-utilization and --show-statistics usable. + + Signed-off-by: Sage Weil + (cherry picked from commit 3877f00877f53e9f86630c2d89e81ab9cff729ec) + +commit 8c48ebbf13e6bdb689b4b8ae58ac811653ad2acc +Author: Sage Weil +Date: Tue Dec 2 10:11:57 2014 -0800 + + crushtool/CrushTester: output utilization even with 1 batch + + Signed-off-by: Sage Weil + (cherry picked from commit 294b06c6424f4cb69394976add826d9725073b50) + +commit e9faab9f296af9cf26b9475afd3562c3f3b9236b +Author: Sage Weil +Date: Tue Dec 2 10:08:18 2014 -0800 + + crush: recalculate straw scalers during a reweight + + The crushtool --reweight function triggers a fresh calculation of bucket + weights so that they are always the sum of the item weights. In the + straw bucket case, the weights were updated but the corresponding straw + scalers were not being recalculated. The result is that there was not + effect on placement in adjusted buckets until the next time a bucket item's + weight was adjusted. + + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit 35062937f174a45fb13d9c177eaa1fe4ed5ff4c2) + +commit 4c951e9dc1ca31429119de15755caf3d73f6ffce +Author: Sage Weil +Date: Tue Dec 2 08:36:41 2014 -0800 + + osdmaptool: --test-map-pgs-dump + + Signed-off-by: Sage Weil + (cherry picked from commit 7a99b489909b368bade36d8cc9722ad33d03a2e8) + +commit 3cb5d08feee4811624dd495f74912824203edf00 +Author: Sage Weil +Date: Tue Dec 2 06:53:20 2014 -0800 + + crush: add dprintk's for crush_calc_straw + + These are compiled out by default. + + Signed-off-by: Sage Weil + (cherry picked from commit 946bebd94b109642f95710802e892c59eb4f0b76) + +commit ca8471d65fb2cf7d2247d823c5436faa273efda5 +Author: Rongze Zhu +Date: Tue Nov 11 00:13:42 2014 +0800 + + crush: fix tree bucket functions + + There are incorrect nodes' weight in tree bucket when construct tree + bucket. The tree bucket don't store item id in items array, so the tree + bucket will not work correctly. The patch fix above bugs and add a + simple test for tree bucket. + + Signed-off-by: Rongze Zhu + (cherry picked from commit 13425488882d360fa740613dfcfd0d098c1b7616) + +commit af502f25b04cd0758b753941ecf0b1b59d33ea9e +Author: Sage Weil +Date: Tue Nov 11 11:16:58 2014 -0800 + + crush/builder: replace printf with an empty dprintk macro + + This mirrors mapper.c. + + Signed-off-by: Sage Weil + (cherry picked from commit e444b221733360cdea4f4bbdbbbfbf2b6ee30ff5) + +commit 26966c4aa9cd79cb53db052553a5fc5653f2591b +Author: Greg Farnum +Date: Thu Nov 6 17:48:01 2014 -0800 + + qa: use sudo even more when rsyncing /usr + + Signed-off-by: Greg Farnum + (cherry picked from commit 3aa7797741f9cff06053a2f31550fe6929039692) + +commit 6af48421c0ba6195e9a1607053c42eeb62b14ccb +Author: Greg Farnum +Date: Tue Oct 21 10:55:06 2014 -0700 + + qa: use sudo when rsyncing /usr so we can read everything + + Signed-off-by: Greg Farnum + (cherry picked from commit fa07c04231db2d130de54647957ffab4a7a53733) + +commit 861a18b1f7dd5bdcbb85bc3fa15d1719bb4b2813 +Author: Yehuda Sadeh +Date: Thu Jan 15 16:31:22 2015 -0800 + + rgw: fix partial GET in swift + + Fixes: #10553 + backport: firefly, giant + + Don't set the ret code to reflect partial download, just set the + response status when needed. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7e1553cedff90fa0fefded65cde87ad068eb5f0c) + +commit e539971e2d528b4de6009ea44565f037acb2be66 (refs/remotes/gh/wip-10676) +Author: Nilamdyuti Goswami +Date: Thu Dec 18 17:13:27 2014 +0530 + + doc: Adds updated man page for ceph under man/ + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 8de9a0f437822c770600c19a9f61977745b7e530) + +commit 15596ffe388147b7984457041a38cbb9f472556c +Author: Nilamdyuti Goswami +Date: Sat Dec 13 02:27:45 2014 +0530 + + doc: Adds man page for ceph under man/. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit ffd6c7e49686f8f92ddb400ffdec62520708e64b) + +commit 893e5cd1f4fd5ea77d65f0e78cc8cff88eb19c1a +Author: Nilamdyuti Goswami +Date: Sat Dec 13 02:24:41 2014 +0530 + + doc: Adds man page for ceph. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 76da87a64ca6b3cc0ceeaf63e19a9f440d6f4161) + +commit 8d29a4a231666830914903b95599d80da7b97def +Author: Sage Weil +Date: Mon Dec 15 17:04:32 2014 -0800 + + osd: handle no-op write with snapshot case + + If we have a transaction that does something to the object but it !exists + both before and after, we will continue through the write path. If the + snapdir object already exists, and we try to create it again, we will + leak a snapdir obc and lock and later crash on an assert when the obc + is destroyed: + + 0> 2014-12-06 01:49:51.750163 7f08d6ade700 -1 osd/osd_types.h: In function 'ObjectContext::~ObjectContext()' thread 7f08d6ade700 time 2014-12-06 01:49:51.605411 + osd/osd_types.h: 2944: FAILED assert(rwstate.empty()) + + Fix is to not recreated the snapdir if it already exists. + + Fixes: #10262 + Signed-off-by: Sage Weil + (cherry picked from commit 02fae9fc54c10b5a932102bac43f32199d4cb612) + +commit 8ba48d10c252b28cde5b4da1286421db12b57cc2 +Author: Sage Weil +Date: Mon Jan 19 18:28:20 2015 -0800 + + ceph_test_rados_api_misc: do not assert rbd feature match + + This test fails on upgrades when we (or the server) have new + features. Make it less fragile. + + Fixes: #10576 + Signed-off-by: Sage Weil + (cherry picked from commit 9147c62989871cea8b3a85b02c53017825efb55b) + +commit 836ab86d89ae15ed5b228ff656bc81c7cc3495aa +Author: Jason Dillaman +Date: Mon Oct 27 14:47:19 2014 -0400 + + osdc: Constrain max number of in-flight read requests + + Constrain the number of in-flight RADOS read requests to the + cache size. This reduces the chance of the cache memory + ballooning during certain scenarios like copy-up which can + invoke many concurrent read requests. + + Fixes: #9854 + Backport: giant, firefly, dumpling + Signed-off-by: Jason Dillaman + (cherry picked from commit 068d68850d09dfcaccc5a3ce85c80b2f6d808ea9) + +commit 2964efaf327cf798f892a6722eb4e24f2ffa0fde +Author: Jason Dillaman +Date: Mon Jan 19 12:46:00 2015 -0500 + + Revert "Enforce cache size on read requests" + + This reverts commit b7784dc1baa47560a733fe9dcd2acec51bc93165. + +commit e4c5b153735aba3f84554a50243f779f36568373 +Author: Jason Dillaman +Date: Mon Jan 19 12:45:25 2015 -0500 + + Revert "rbd: ObjectCacher reads can hang when reading sparse files" + + This reverts commit 711a7e6f81983ff2091caa0f232af914a04a041c. + +commit c23e42e78ea3ba44706951a728e2ccb74cac7b33 +Author: Jason Dillaman +Date: Mon Jan 19 10:28:56 2015 -0500 + + librbd: gracefully handle deleted/renamed pools + + snap_unprotect and list_children both attempt to scan all + pools. If a pool is deleted or renamed during the scan, + the methods would previously return -ENOENT. Both methods + have been modified to more gracefully handle this condition. + + Fixes: #10270 + Backport: giant, firefly + Signed-off-by: Jason Dillaman + (cherry picked from commit 436923c68b77c900b7774fbef918c0d6e1614a36) + +commit 24c13d87039d4f61df0bcabdb8862e0e94fe575d +Author: Yehuda Sadeh +Date: Fri Dec 12 05:24:01 2014 -0800 + + rgw: change multipart upload id magic + + Fixes: #10271 + Backport: firefly, giant + + Some clients can't sign requests correctly with the original magic + prefix. + + Reported-by: Georgios Dimitrakakis + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5fc7a0be67a03ed63fcc8408f8d71a31a1841076) + +commit 617002d3ff469ef409a83e35d4f4fd6a0b5b1278 +Author: Yehuda Sadeh +Date: Thu Dec 11 09:07:10 2014 -0800 + + rgw: url decode http query params correctly + + Fixes: #10271 + Backport: firefly + + This got broken by the fix for #8702. Since we now only url_decode if + we're in query, we need to specify that we're in query when decoding + these args. + + Reported-by: Georgios Dimitrakakis + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 21e07eb6abacb085f81b65acd706b46af29ffc03) + +commit d7ccf71d962cec1571f53c9392f9b58350569062 +Author: Josh Durgin +Date: Wed Jan 14 15:01:38 2015 -0800 + + qa: ignore duplicates in rados ls + + These can happen with split or with state changes due to reordering + results within the hash range requested. It's easy enough to filter + them out at this stage. + + Backport: giant, firefly + Signed-off-by: Josh Durgin + (cherry picked from commit e7cc6117adf653a4915fb7a75fac68f8fa0239ec) + +commit aef69572588a0dfad58df94cb0d0980d0590d8e4 +Merge: 69eaad7 534624b +Author: Yehuda Sadeh +Date: Thu Jan 15 16:40:48 2015 -0800 + + Merge branch 'wip-firefly-rgw-backports' into firefly + +commit 534624b7e9decc880e88496355a6fbbe008ede5f +Author: Sage Weil +Date: Tue Oct 21 17:59:30 2014 -0700 + + init-radosgw.sysv: set ulimit -n before starting daemon + + If we do the ulimit inside the daemon command we will have already + dropped privs and will fail. + + Fixes: #9587 + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit 9803cedf54a7baff45ccd0e0f65d2bc220958a46) + +commit fd49cbc535d0d7fa64ebfa458386b47c8ec8616e +Author: Yehuda Sadeh +Date: Fri Dec 12 17:07:30 2014 -0800 + + rgw: use s->bucket_attrs instead of trying to read obj attrs + + Fixes: #10307 + Backport: firefly, giant + + This is needed, since we can't really read the bucket attrs by trying to + read the bucket entry point attrs. We already have the bucket attrs + anyway, use these. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5cf193c8686196d5235889e68cb5ea8f1fc8e556) + +commit 79bfffb55a0b3a302368e34417d62f74b82dc224 +Author: Yehuda Sadeh +Date: Wed Nov 5 13:40:55 2014 -0800 + + rgw: remove swift user manifest (DLO) hash calculation + + Fixes: #9973 + Backport: firefly, giant + + Previously we were iterating through the parts, creating hash of the + parts etags (as S3 does for multipart uploads). However, swift just + calculates the etag for the empty manifest object. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ef6d3ad964d34bc526dc4435486bd5c8cdc3b230) + + Conflicts: + src/rgw/rgw_op.cc + +commit ac799f0834783590cbb6eb91784c8e0753cb1e03 +Author: Lei Dong +Date: Mon Oct 27 10:29:48 2014 +0800 + + fix can not disable max_size quota + + Currently if we enable quota and set max_size = -1, it doesn’t + mean max_size is unlimited as expected. Instead, it means object + with any size is not allowed to upload because of “QuotaExceededâ€. + The root cause is the function rgw_rounded_kb which convert max_size + to max_size_kb returns 0 for -1 because it takes an unsigned int + but we pass an int to it. A simple fix is check max_size before + it’s rounded to max_size_kb. + + Test case: + 1 enable and set quota: + radosgw-admin quota enable --uid={user_id} --quota-scope=user + radosgw-admin quota set --quota-scope=user --uid={user_id}\ + --max-objects=100 --max-size=-1 + 2 upload any object with non-zero length + it will return 403 with “QuotaExceeded†and return 200 if you apply the fix. + + Fixes: #9907 + Backport: giant, firefly + Signed-off-by: Dong Lei leidong@yahoo-inc.com + (cherry picked from commit abd3fd3ef9ee9999b99811937af60b7a5e673e35) + +commit 30963fdc98f5650a68b5737729920d43459b5899 +Author: Yehuda Sadeh +Date: Tue Sep 23 12:43:55 2014 -0700 + + rgw: rados->set_attrs() updates bucket index + + Fixes: #5595 + Backport: dumpling, firefly + We need to update the bucket index when updating object attrs, otherwise + we're missing meta changes that need to be registered. It also + solves issue of bucket index not knowing about object acl changes, + although this one still requires some more work. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f833f12a200ecc2c4f74ddb443d6fa61b7ad14db) + +commit 31f5e332c616dbb7f7338af3ab37ac65ff66f733 +Author: Yehuda Sadeh +Date: Tue Nov 4 22:05:03 2014 -0800 + + rgw: RGWRados::get_obj() returns wrong len if len == 0 + + Fixes: #9877 + We only updated if len was > 0, should update it if r >= 0. This was the + culprit for issue #9877. + Backport: giant, firefly + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit fe7bf06366adaf787816d1e68f5e3f68e8c91134) + +commit 8682d1b15e097ececd927dfbd096dbb46403afca +Author: Yehuda Sadeh +Date: Wed Nov 5 13:28:02 2014 -0800 + + rgw: send back ETag on S3 object copy + + Fixes: #9479 + Backport: firefly, giant + We didn't send the etag back correctly. Original code assumed the etag + resided in the attrs, but attrs only contained request attrs. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b1bfc3a7e0c9088f01f8ff770ae14f569fbc570d) + + Conflicts: + src/rgw/rgw_rados.cc + +commit 2d61fc76e97e5e28cf24cc6e341d49a8fe47059c +Author: Yehuda Sadeh +Date: Wed Nov 5 12:35:42 2014 -0800 + + rgw: S3 object copy content type fix + + Fixes: #9478 + Backport: firefly, giant + Content type for S3 object copy response should be set to + application/xml. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 31963459a0a869c4d32f55baa629f36df33eaa90) + +commit 011a8c3bd621337e5a1746f18882be20d3854b14 +Author: Yehuda Sadeh +Date: Fri Dec 12 11:20:26 2014 -0800 + + rgw: http headers need to end with \r\n + + Fixes: #9254 + Backport: firefly, giant + + Reported-by: Benedikt Fraunhofer + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7409ab3df18fb312dd6c9f79084f889c523afdce) + + Conflicts: + src/rgw/rgw_civetweb.cc + src/rgw/rgw_fcgi.cc + +commit 71d119f2952716aa1f75817e1daaf5fb67ecde94 +Author: Yehuda Sadeh +Date: Wed Jan 7 13:56:14 2015 -0800 + + rgw: index swift keys appropriately + + Fixes: #10471 + Backport: firefly, giant + + We need to index the swift keys by the full uid:subuser when decoding + the json representation, to keep it in line with how we store it when + creating it through other mechanism. + + Reported-by: hemant burman + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 478629bd2f3f32afbe6e93eaebb8a8fa01af356f) + +commit 7b89a827a063acf78a848a34c1c3298db213950f +Author: Yehuda Sadeh +Date: Thu Nov 20 10:36:05 2014 -0800 + + rgw-admin: create subuser if needed when creating user + + Fixes: #10103 + Backport: firefly, giant + This turned up after fixing #9973. Earlier we also didn't create the + subuser in this case, but we didn't really read the subuser info when it + was authenticating. Now we do that as required, so we end up failing the + authentication. This only applies to cases where a subuser was created + using 'user create', and not the 'subuser create' command. + + Reviewed-by: Sage Weil + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 9ba17a321db06d3d76c9295e411c76842194b25c) + +commit 9ee29b5355e9ffeac76707e8d4070bfff5dc99d5 +Author: Yehuda Sadeh +Date: Wed Nov 5 14:38:46 2014 -0800 + + rgw: update swift subuser perm masks when authenticating + + Fixes: #9918 + Backport: firefly, giant + It seems that we weren't setting the swift perm mask correctly. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5d9f36f757a7272c24d2c9adc31db1ed5e712992) + +commit d298fdda2aa177e1a4b43ca94a2292435a50dea4 +Author: Yehuda Sadeh +Date: Thu Oct 23 17:39:42 2014 -0700 + + rgw: send http status reason explicitly in fastcgi + + There are issues in certain versions of apache 2.4, where the reason is + not sent back. Instead, just provide the reason explicitly. + + Backport: firefly, giant + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a9dd4af401328e8f9071dee52470a0685ceb296b) diff --git a/doc/changelog/v0.87.1.txt b/doc/changelog/v0.87.1.txt new file mode 100644 index 00000000..cf0eecac --- /dev/null +++ b/doc/changelog/v0.87.1.txt @@ -0,0 +1,2151 @@ +commit 283c2e7cfa2457799f534744d7d549f83ea1335e (tag: refs/tags/v0.87.1, refs/remotes/gh/giant) +Author: Jenkins +Date: Mon Feb 23 12:02:04 2015 -0800 + + 0.87.1 + +commit 4178e32dd085adeead84fb168ab8a8a121256259 +Merge: ccb0914 734e9af +Author: Loic Dachary +Date: Tue Feb 17 01:09:54 2015 +0100 + + Merge pull request #3731 from liewegas/wip-10834-giant + + osd: tolerate sessionless con in fast dispatch path + + Reviewed-by: Loic Dachary + +commit 734e9af5df4ae419ded108f5036bee068a9bc2b2 +Author: Sage Weil +Date: Mon Dec 1 18:15:59 2014 -0800 + + osd: tolerate sessionless con in fast dispatch path + + We can now get a session cleared from a Connection at any time. Change + the assert to an if in ms_fast_dispatch to cope. It's pretty rare, but it + can happen, especially with delay injection. In particular, a racing + thread can call mark_down() on us. + + Fixes: #10209 + Backport: giant + Signed-off-by: Sage Weil + (cherry picked from commit 01df2227125abf94571b4b0c7bccca57098ed2dc) + +commit ccb0914f76da23acdd7374233cd1939ab80ef3c8 +Author: Josh Durgin +Date: Mon Feb 2 16:43:35 2015 +0100 + + qa: use correct binary path on rpm-based systems + + Fixes: #10715 + Signed-off-by: Josh Durgin + (cherry picked from commit 05ce2aa1bf030ea225300b48e7914577a412b38c) + +commit 78c71b9200da5e7d832ec58765478404d31ae6b5 +Merge: 222aa22 91515e7 +Author: Loic Dachary +Date: Wed Feb 11 00:11:57 2015 +0100 + + Merge pull request #3407 from ceph/wip-9854-giant + + osdc: Constrain max number of in-flight read requests + +commit 222aa22ebc0ccb1b04156e0c9d05f4e4733ec290 +Merge: b9ff170 a5cb39c +Author: Loic Dachary +Date: Tue Feb 10 22:01:21 2015 +0100 + + Merge pull request #3568 from dachary/wip-10471-rgw-giant + + rgw: use s->bucket_attrs instead of trying to read obj attrs + +commit b9ff1708ad85ca5aeb10b4202bcbe197251e3bd8 +Merge: 34103b6 b1e4882 +Author: Loic Dachary +Date: Tue Feb 10 21:59:40 2015 +0100 + + Merge pull request #3263 from dachary/wip-jerasure-giant + + erasure-code: update links to jerasure upstream (giant) + +commit 34103b6355881820aa10b354c2427654bf229e8f +Merge: 94889cf d125743 +Author: Loic Dachary +Date: Tue Feb 10 21:59:17 2015 +0100 + + Merge pull request #3191 from ceph/giant-10277 + + Giant 10277 + +commit 94889cf6bef5a542e51bf8434dbe7c68f64604ce +Merge: d7b10d8 d28c8e0 +Author: Loic Dachary +Date: Tue Feb 10 21:58:52 2015 +0100 + + Merge pull request #3186 from ceph/wip-giant-mon-backports + + mon: backports for #9987 against giant + +commit d7b10d897e17bc3fa690c8484ad2d6f233896237 +Merge: 11f7d06 16c6d0d +Author: Loic Dachary +Date: Tue Feb 10 21:58:29 2015 +0100 + + Merge pull request #3185 from dachary/wip-10325-cauchy-giant + + erasure-code: relax cauchy w restrictions (giant) + +commit 11f7d064e5d93bc0ed8896750344c6cf6b37aeab +Merge: 975be75 636b98f +Author: Loic Dachary +Date: Tue Feb 10 21:58:05 2015 +0100 + + Merge pull request #3178 from dachary/wip-9998-crush-underfloat-giant + + crush: fix weight underfloat issue (giant) + +commit 975be75f4bcea88b232ea76087b49e288d7c29f7 +Merge: 51fe79d d759e71 +Author: Loic Dachary +Date: Tue Feb 10 21:57:50 2015 +0100 + + Merge pull request #3579 from dachary/wip-9877-rgw-giant + + rgw: RGWRados::get_obj() returns wrong len if len == 0 + +commit 51fe79d9e63c7df4da547a0ba7a12aa9c6cd7ab2 +Merge: fca9ead 319f9c9 +Author: Loic Dachary +Date: Tue Feb 10 21:57:18 2015 +0100 + + Merge pull request #3168 from ceph/wip-8797-giant + + Wip 8797 giant + +commit fca9eadaf3fcef77e269d4936d4eea86ab6c3faf +Merge: 317532b 9886620 +Author: Loic Dachary +Date: Tue Feb 10 21:56:53 2015 +0100 + + Merge pull request #3582 from dachary/wip-10062-rgw-giant + + rgw: s3 keystone auth fixes + +commit 317532b70383762f473a910e043c889574eb6087 +Merge: 3e8f3e3 debc0c5 +Author: Loic Dachary +Date: Tue Feb 10 21:56:37 2015 +0100 + + Merge pull request #3581 from dachary/wip-9918-rgw-giant + + rgw: update swift subuser perm masks when authenticating + +commit 3e8f3e38af76fa2cba86aedf962d3230d7979f63 +Merge: 1d77591 76f9de3 +Author: Loic Dachary +Date: Tue Feb 10 21:56:17 2015 +0100 + + Merge pull request #3580 from dachary/wip-9907-rgw-giant + + fix can not disable max_size quota + +commit 1d7759149697242192be05decf7ffafb17b24cbe +Merge: b016863 ad04a67 +Author: Loic Dachary +Date: Tue Feb 10 21:55:56 2015 +0100 + + Merge pull request #3083 from dachary/wip-10211-erasure-code-buffer-alignement-giant + + erasure-code: enforce chunk size alignment (giant) + +commit b016863ad243388e7571da9ffca3013c8f99237a +Merge: bdcc9dc d21f4e3 +Author: Loic Dachary +Date: Tue Feb 10 21:55:23 2015 +0100 + + Merge pull request #3577 from dachary/wip-9587-rgw-giant + + init-radosgw.sysv: set ulimit -n before starting daemon + +commit bdcc9dcb8586c91b432c7087e33a2b52ef467b54 +Merge: df475f9 7b5f746 +Author: Loic Dachary +Date: Tue Feb 10 21:54:58 2015 +0100 + + Merge pull request #3576 from dachary/wip-5595-9576-rgw-giant + + update object content-length doesn't work correctly + +commit df475f92a41e3bd5a022335b2c9023ad40c3b47b +Merge: db7adf8 b2f6f7f +Author: Loic Dachary +Date: Tue Feb 10 21:54:13 2015 +0100 + + Merge pull request #3575 from dachary/wip-9479-rgw-giant + + rgw: send back ETag on S3 object copy + +commit db7adf8d8ca225fea2d0277ced614e936df086c9 +Merge: 9b50db9 67ba4d3 +Author: Loic Dachary +Date: Tue Feb 10 21:53:55 2015 +0100 + + Merge pull request #3574 from dachary/wip-9478-rgw-giant + + rgw: S3 object copy content type fix + +commit 9b50db97a9552841ed143588e2f63bab56d0aecb +Merge: 583fe31 84e9b6c +Author: Loic Dachary +Date: Tue Feb 10 21:53:33 2015 +0100 + + Merge pull request #3573 from dachary/wip-9254-rgw-giant + + rgw: http headers need to end with \r\n + +commit 583fe31681c4eea8b85b413674074445e2b424a6 +Merge: 5240db5 1cb0955 +Author: Loic Dachary +Date: Tue Feb 10 21:53:15 2015 +0100 + + Merge pull request #3572 from dachary/wip-9973-rgw-giant + + rgw: remove swift user manifest (DLO) hash calculation + +commit 5240db588e9017dd8a487b7a9ee16f171fdda1ff +Merge: 62e1552 e230fab +Author: Loic Dachary +Date: Tue Feb 10 21:52:54 2015 +0100 + + Merge pull request #3571 from dachary/wip-8911-rgw-giant + + rgw: swift GET / HEAD object returns X-Timestamp field + +commit 62e15528dda20b5419e39744fa9e0c9c4cae053c +Merge: 16cd892 c24fab3 +Author: Loic Dachary +Date: Tue Feb 10 21:52:36 2015 +0100 + + Merge pull request #3570 from dachary/wip-10701-rgw-giant + + rgw: use strict_strtoll() for content length + +commit 16cd892aab4ffb1dc15b93a4101d9bc209591c94 +Merge: 028904c 6aef29e +Author: Loic Dachary +Date: Tue Feb 10 21:52:00 2015 +0100 + + Merge pull request #3569 from dachary/wip-10103-rgw-giant + + rgw-admin: create subuser if needed when creating user + +commit 028904cf7c36a1d5342cf29c115bc0437e9b2d74 +Merge: 520dcf8 425ee8a +Author: Loic Dachary +Date: Tue Feb 10 21:51:06 2015 +0100 + + Merge pull request #3567 from dachary/wip-10307-rgw-giant + + rgw: use s->bucket_attrs instead of trying to read obj attrs + +commit 520dcf8624eeafd694115b382616be83f9b344d3 +Merge: cae1de2 14cdb9b +Author: Loic Dachary +Date: Tue Feb 10 21:50:34 2015 +0100 + + Merge pull request #3443 from ceph/wip-10590-giant + + rbd: ensure aio_write buffer isn't invalidated during image import + +commit cae1de29922c2183eff021c6fe2b921a87b5f5b2 +Merge: b346ad3 83a0a2e +Author: Loic Dachary +Date: Tue Feb 10 21:50:14 2015 +0100 + + Merge pull request #3557 from dachary/wip-10688-boost-157-giant + + support Boost 1.57.0 + +commit b346ad37a84b7cfd0bae84528f2533a8cc4a8e3d +Merge: aacd51c 13bb880 +Author: Loic Dachary +Date: Tue Feb 10 21:49:47 2015 +0100 + + Merge pull request #2954 from sponce/giant + + Fixed trivial locking issue in the trunc method of libradosstriper - Giant branch + +commit aacd51c74c102d44982421b9bc384d12fc160e3c +Merge: 1d97c7c 081f49b +Author: Loic Dachary +Date: Tue Feb 10 21:49:20 2015 +0100 + + Merge pull request #3405 from ceph/wip-10299-giant + + librbd: complete all pending aio ops prior to closing image + +commit 1d97c7c9a3087e7bc98774d9fe2882bdc4a84531 +Merge: 53dec0e 436923c +Author: Loic Dachary +Date: Tue Feb 10 21:48:49 2015 +0100 + + Merge pull request #3403 from ceph/wip-10270-giant + + librbd: gracefully handle deleted/renamed pools + +commit 53dec0eeee60b315e88acb4ba05666857ae3e0eb +Merge: df8285c 1261bf2 +Author: Loic Dachary +Date: Tue Feb 10 21:48:20 2015 +0100 + + Merge pull request #3356 from liewegas/wip-msgr-giant + + msgr: fast dispatch backports for giant + +commit df8285c5e5b14d9a4cd42fb9be8e18fe6cdf6f83 +Author: Greg Farnum +Date: Thu Feb 5 21:12:17 2015 -0800 + + fsync-tester: print info about PATH and locations of lsof lookup + + We're seeing the lsof invocation fail (as not found) in testing and nobody can + identify why. Since attempting to reproduce the issue has not worked, this + patch will gather data from a genuinely in-vitro location. + + Signed-off-by: Greg Farnum + (cherry picked from commit a85051483874ff5b8b0fb50426a3577040457596) + +commit 91515e750bfe2453ce8ac9ec568b0e314823dd82 +Author: Jason Dillaman +Date: Mon Oct 27 14:47:19 2014 -0400 + + osdc: Constrain max number of in-flight read requests + + Constrain the number of in-flight RADOS read requests to the + cache size. This reduces the chance of the cache memory + ballooning during certain scenarios like copy-up which can + invoke many concurrent read requests. + + Fixes: #9854 + Backport: giant, firefly, dumpling + Signed-off-by: Jason Dillaman + +commit 98866208c64348ca885335d95a1c737071a17004 +Author: Abhishek Lekshmanan +Date: Mon Dec 22 19:57:19 2014 +0530 + + rgw: check keystone auth also for s3 post requests + + This patch adds keystone auth for s3 post requests, once a user fails in + cephx authentication, they are checked for keystone if configured. + + Fixes #10062 + Signed-off-by: Abhishek Lekshmanan + + (cherry picked from commit 8b3dfc9472022ea45ad24e02e0aa21dfdad798f8) + +commit 4e4372b8e551bb1b974f08dc69f5b27bdd22bb4b +Author: Abhishek Lekshmanan +Date: Mon Nov 17 17:37:00 2014 +0530 + + rgw: check for timestamp for s3 keystone auth + + This commit ensures that we check for timestamp of s3 request is within + acceptable grace time of radosgw + Addresses some failures in #10062 + Fixes: #10062 + Signed-off-by: Abhishek Lekshmanan + + (cherry picked from commit 4b35ae067fef9f97b886afe112d662c61c564365) + +commit debc0c593fb7401d07a34f7916380092ad7285f9 +Author: Yehuda Sadeh +Date: Wed Nov 5 14:38:46 2014 -0800 + + rgw: update swift subuser perm masks when authenticating + + Fixes: #9918 + Backport: firefly, giant + It seems that we weren't setting the swift perm mask correctly. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5d9f36f757a7272c24d2c9adc31db1ed5e712992) + +commit 76f9de330deaa4fafb86d3f6f2754f0d419306b1 +Author: Lei Dong +Date: Mon Oct 27 10:29:48 2014 +0800 + + fix can not disable max_size quota + + Currently if we enable quota and set max_size = -1, it doesn’t + mean max_size is unlimited as expected. Instead, it means object + with any size is not allowed to upload because of “QuotaExceededâ€. + The root cause is the function rgw_rounded_kb which convert max_size + to max_size_kb returns 0 for -1 because it takes an unsigned int + but we pass an int to it. A simple fix is check max_size before + it’s rounded to max_size_kb. + + Test case: + 1 enable and set quota: + radosgw-admin quota enable --uid={user_id} --quota-scope=user + radosgw-admin quota set --quota-scope=user --uid={user_id}\ + --max-objects=100 --max-size=-1 + 2 upload any object with non-zero length + it will return 403 with “QuotaExceeded†and return 200 if you apply the fix. + + Fixes: #9907 + Backport: giant, firefly + Signed-off-by: Dong Lei leidong@yahoo-inc.com + (cherry picked from commit abd3fd3ef9ee9999b99811937af60b7a5e673e35) + +commit d759e71c8167ea29c8fda9483039a3e491083da5 +Author: Yehuda Sadeh +Date: Tue Nov 4 22:05:03 2014 -0800 + + rgw: RGWRados::get_obj() returns wrong len if len == 0 + + Fixes: #9877 + We only updated if len was > 0, should update it if r >= 0. This was the + culprit for issue #9877. + Backport: giant, firefly + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit fe7bf06366adaf787816d1e68f5e3f68e8c91134) + +commit d21f4e326eb4821cc9bd38a1b62a0210272277d4 +Author: Sage Weil +Date: Tue Oct 21 17:59:30 2014 -0700 + + init-radosgw.sysv: set ulimit -n before starting daemon + + If we do the ulimit inside the daemon command we will have already + dropped privs and will fail. + + Fixes: #9587 + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit 9803cedf54a7baff45ccd0e0f65d2bc220958a46) + +commit 7b5f746d2f97c7139f9c31962c107a074bfd1863 +Author: Yehuda Sadeh +Date: Tue Sep 23 12:42:10 2014 -0700 + + rgw: PutObjMetadata, clear bufferlist before appending into it + + Fixes: #9576 + Backport: firefly, dumpling + + We need to completely rewrite the bufferlist, not append into it. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 44cfd88dc65d30f4295743c5834768bb13f7b805) + +commit e24f27b7b2e2aeb84b14788e8bf2757ecdf8f0c0 +Author: Yehuda Sadeh +Date: Tue Sep 23 12:43:55 2014 -0700 + + rgw: rados->set_attrs() updates bucket index + + Fixes: #5595 + Backport: dumpling, firefly + We need to update the bucket index when updating object attrs, otherwise + we're missing meta changes that need to be registered. It also + solves issue of bucket index not knowing about object acl changes, + although this one still requires some more work. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f833f12a200ecc2c4f74ddb443d6fa61b7ad14db) + +commit b2f6f7f6205682aeb09c0785e373ddf5d89c6d04 +Author: Yehuda Sadeh +Date: Wed Nov 5 13:28:02 2014 -0800 + + rgw: send back ETag on S3 object copy + + Fixes: #9479 + Backport: firefly, giant + We didn't send the etag back correctly. Original code assumed the etag + resided in the attrs, but attrs only contained request attrs. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b1bfc3a7e0c9088f01f8ff770ae14f569fbc570d) + +commit 67ba4d3444f0f64dae6286be28276ba85376ecf6 +Author: Yehuda Sadeh +Date: Wed Nov 5 12:35:42 2014 -0800 + + rgw: S3 object copy content type fix + + Fixes: #9478 + Backport: firefly, giant + Content type for S3 object copy response should be set to + application/xml. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 31963459a0a869c4d32f55baa629f36df33eaa90) + +commit 84e9b6c32c6fdc38e2c64f3360c185332e691bf4 +Author: Yehuda Sadeh +Date: Fri Dec 12 11:20:26 2014 -0800 + + rgw: http headers need to end with \r\n + + Fixes: #9254 + Backport: firefly, giant + + Reported-by: Benedikt Fraunhofer + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7409ab3df18fb312dd6c9f79084f889c523afdce) + +commit 1cb09555d3fdb568296797cd83eb5557552f056c +Author: Yehuda Sadeh +Date: Wed Nov 5 13:40:55 2014 -0800 + + rgw: remove swift user manifest (DLO) hash calculation + + Fixes: #9973 + Backport: firefly, giant + + Previously we were iterating through the parts, creating hash of the + parts etags (as S3 does for multipart uploads). However, swift just + calculates the etag for the empty manifest object. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ef6d3ad964d34bc526dc4435486bd5c8cdc3b230) + +commit e230fabf29c4660594d19027af49810e57b82e35 +Author: Yehuda Sadeh +Date: Tue Sep 30 14:15:47 2014 -0700 + + rgw: swift GET / HEAD object returns X-Timestamp field + + Fixes: #8911 + Backport: giant, firefly, dumpling + Swift clients expect X-Timestamp header, dump it. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5b41d80b7fb9ed96c26801fc42c044191bb18d84) + +commit c24fab3065ba6d81435981b609f2b69c3d98d21d +Author: Yehuda Sadeh +Date: Fri Jan 30 10:51:52 2015 -0800 + + rgw: use strict_strtoll() for content length + + instead of strict_strtol(). + + Backport: giant, firefly + Fixes: #10701 + + Reported-by: Axel Dunkel + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 1c25dbafb45caf1b261cfcec15b868a2ba6b5fef) + +commit 6aef29e31e9c7c7ccf8e95d573700c08218b2b45 +Author: Yehuda Sadeh +Date: Thu Nov 20 10:36:05 2014 -0800 + + rgw-admin: create subuser if needed when creating user + + Fixes: #10103 + Backport: firefly, giant + This turned up after fixing #9973. Earlier we also didn't create the + subuser in this case, but we didn't really read the subuser info when it + was authenticating. Now we do that as required, so we end up failing the + authentication. This only applies to cases where a subuser was created + using 'user create', and not the 'subuser create' command. + + Reviewed-by: Sage Weil + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 9ba17a321db06d3d76c9295e411c76842194b25c) + +commit a5cb39cbb6aee869b92ac20975b5c80a01210b63 +Author: Yehuda Sadeh +Date: Fri Dec 12 17:07:30 2014 -0800 + + rgw: use s->bucket_attrs instead of trying to read obj attrs + + Fixes: #10307 + Backport: firefly, giant + + This is needed, since we can't really read the bucket attrs by trying to + read the bucket entry point attrs. We already have the bucket attrs + anyway, use these. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5cf193c8686196d5235889e68cb5ea8f1fc8e556) + +commit 425ee8a07bb8ce12eee124b3c374031f644aa32b +Author: Yehuda Sadeh +Date: Fri Dec 12 17:07:30 2014 -0800 + + rgw: use s->bucket_attrs instead of trying to read obj attrs + + Fixes: #10307 + Backport: firefly, giant + + This is needed, since we can't really read the bucket attrs by trying to + read the bucket entry point attrs. We already have the bucket attrs + anyway, use these. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5cf193c8686196d5235889e68cb5ea8f1fc8e556) + +commit 83a0a2e5b52b18a25009faaf09fa4f48af3c52ee +Author: William A. Kennington III +Date: Sat Sep 20 22:52:31 2014 -0700 + + osd: Cleanup boost optionals + + Signed-off-by: William A. Kennington III + (cherry picked from commit a53ead14c113047567177630b4906136a2109b65) + +commit eb30631ec3d081fd1bc2cdbd4812a334de9e1282 +Author: Petr Machata +Date: Thu Jan 29 10:15:02 2015 -0700 + + support Boost 1.57.0 + + Sometime after 1.55, boost introduced a forward declaration of + operator<< in optional.hpp. In 1.55 and earlier, when << was used + without the _io having been included, what got dumped was an implicit + bool conversion. + + http://tracker.ceph.com/issues/10688 Refs: #10688 + Signed-off-by: Ken Dreyer + (cherry picked from commit 85717394c33137eb703a7b88608ec9cf3287f67a) + + Conflicts: + src/include/encoding.h + trivial conflict + +commit 1ccd73a16e1829b5519ec5b83b2554af173ad052 +Author: Yehuda Sadeh +Date: Thu Oct 23 17:39:42 2014 -0700 + + rgw: send http status reason explicitly in fastcgi + + There are issues in certain versions of apache 2.4, where the reason is + not sent back. Instead, just provide the reason explicitly. + + Backport: firefly, giant + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a9dd4af401328e8f9071dee52470a0685ceb296b) + +commit 3bf42af2e932a473b19cb54637e8543a666a4a28 +Author: Yehuda Sadeh +Date: Thu Jan 15 16:31:22 2015 -0800 + + rgw: fix partial GET in swift + + Fixes: #10553 + backport: firefly, giant + + Don't set the ret code to reflect partial download, just set the + response status when needed. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7e1553cedff90fa0fefded65cde87ad068eb5f0c) + +commit aa038684dce1964d5d23802d23f2bd772458ea11 +Author: Sage Weil +Date: Mon Dec 15 17:04:32 2014 -0800 + + osd: handle no-op write with snapshot case + + If we have a transaction that does something to the object but it !exists + both before and after, we will continue through the write path. If the + snapdir object already exists, and we try to create it again, we will + leak a snapdir obc and lock and later crash on an assert when the obc + is destroyed: + + 0> 2014-12-06 01:49:51.750163 7f08d6ade700 -1 osd/osd_types.h: In function 'ObjectContext::~ObjectContext()' thread 7f08d6ade700 time 2014-12-06 01:49:51.605411 + osd/osd_types.h: 2944: FAILED assert(rwstate.empty()) + + Fix is to not recreated the snapdir if it already exists. + + Fixes: #10262 + Signed-off-by: Sage Weil + (cherry picked from commit 02fae9fc54c10b5a932102bac43f32199d4cb612) + +commit e045ad4a39076547209ac1dc298df5ebffb76669 +Merge: a463b92 9f865fa +Author: Gregory Farnum +Date: Tue Jan 27 09:40:16 2015 -0800 + + Merge pull request #3502 from ceph/wip-10382-giant + + [giant backport] mds: handle heartbeat_reset during shutdown + + Reviewed-by: Greg Farnum + +commit 9f865fae095a1fe8a26acb50667f1d774d6020b6 +Author: John Spray +Date: Wed Jan 14 10:35:53 2015 +0000 + + mds: handle heartbeat_reset during shutdown + + Because any thread might grab mds_lock and call heartbeat_reset + immediately after a call to suicide() completes, this needs + to be handled as a special case where we tolerate MDS::hb having + already been destroyed. + + Fixes: #10382 + Signed-off-by: John Spray + +commit a463b92e475cd1f4cdb963e402033ebc9d37dbdc +Author: Sage Weil +Date: Mon Jan 19 18:28:20 2015 -0800 + + ceph_test_rados_api_misc: do not assert rbd feature match + + This test fails on upgrades when we (or the server) have new + features. Make it less fragile. + + Fixes: #10576 + Signed-off-by: Sage Weil + (cherry picked from commit 9147c62989871cea8b3a85b02c53017825efb55b) + +commit 14cdb9bb6d27f2017a3a8e6c1f274b9f40fb7456 +Author: Jason Dillaman +Date: Wed Jan 21 14:55:02 2015 -0500 + + rbd: ensure aio_write buffer isn't invalidated during image import + + The buffer provided to aio_write shouldn't be invalidated until + after aio_write has indicated that the operation has completed. + + Fixes: #10590 + Backport: giant + Signed-off-by: Jason Dillaman + Reviewed-by: Josh Durgin + (cherry picked from commit 4d3b49e9d62bc1040356ca3ebe7f90c181734eb6) + +commit 081f49b47ca8d7583211f546ab5699b14f773bfc +Author: Jason Dillaman +Date: Mon Dec 15 10:53:53 2014 -0500 + + librbd: complete all pending aio ops prior to closing image + + It was possible for an image to be closed while aio operations + were still outstanding. Now all aio operations are tracked and + completed before the image is closed. + + Fixes: #10299 + Backport: giant, firefly, dumpling + Signed-off-by: Jason Dillaman + +commit 436923c68b77c900b7774fbef918c0d6e1614a36 +Author: Jason Dillaman +Date: Mon Jan 19 10:28:56 2015 -0500 + + librbd: gracefully handle deleted/renamed pools + + snap_unprotect and list_children both attempt to scan all + pools. If a pool is deleted or renamed during the scan, + the methods would previously return -ENOENT. Both methods + have been modified to more gracefully handle this condition. + + Fixes: #10270 + Backport: giant, firefly + Signed-off-by: Jason Dillaman + +commit 4c8a5cedcb7942e1e01ab4cedfbf03e4c56cc1e4 +Author: Yehuda Sadeh +Date: Fri Dec 12 05:24:01 2014 -0800 + + rgw: change multipart upload id magic + + Fixes: #10271 + Backport: firefly, giant + + Some clients can't sign requests correctly with the original magic + prefix. + + Reported-by: Georgios Dimitrakakis + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5fc7a0be67a03ed63fcc8408f8d71a31a1841076) + +commit b10c0d5110547586b2edac53c267391d3d42f974 +Author: Yehuda Sadeh +Date: Thu Dec 11 09:07:10 2014 -0800 + + rgw: url decode http query params correctly + + Fixes: #10271 + Backport: firefly + + This got broken by the fix for #8702. Since we now only url_decode if + we're in query, we need to specify that we're in query when decoding + these args. + + Reported-by: Georgios Dimitrakakis + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 21e07eb6abacb085f81b65acd706b46af29ffc03) + +commit 65bf3b08b572b9b25ad064fb784742e5d6456f06 +Author: Josh Durgin +Date: Wed Jan 14 15:01:38 2015 -0800 + + qa: ignore duplicates in rados ls + + These can happen with split or with state changes due to reordering + results within the hash range requested. It's easy enough to filter + them out at this stage. + + Backport: giant, firefly + Signed-off-by: Josh Durgin + (cherry picked from commit e7cc6117adf653a4915fb7a75fac68f8fa0239ec) + +commit 1261bf24624f871672002ab0915e23f1c95b0aa5 +Author: Sage Weil +Date: Tue Oct 14 12:42:40 2014 -0700 + + Revert "Objecter: disable fast dispatch of CEPH_MSG_OSD_OPREPLY messages" + + This reverts commit 3f23709c474292f9239f77a6cce26309fc86ce29. + + We have changed mark_down() behavior so that it no longer blocks on + fast dispatch. This makes the objecter reply handler safe again. + + Fixes: #9598 + Signed-off-by: Sage Weil + (cherry picked from commit c9f9e72e558521cb90f90538bc27f995f82d76c2) + +commit 300d4c6ff7e998dba0c67f6dde746dc23d681397 +Author: Sage Weil +Date: Tue Oct 14 12:41:48 2014 -0700 + + msg/simple: do not stop_and_wait on mark_down + + We originally blocked in mark_down for fast dispatch threads + to complete to avoid various races in the code. Most of these + were in the OSD itself, where we were not prepared to get + messges on connections that had no attached session. Since + then, the OSD checks have been cleaned up to handle this. + There were other races we were worried about too, but the + details have been lost in the depths of time. + + Instead, take the other route: make mark_down never block on + dispatch. This lets us remove the special case that + was added in order to cope with fast dispatch calling + mark_down on itself. + + Now, the only stop_and_wait() user is the shutdown sequence. + + Signed-off-by: Sage Weil + (cherry picked from commit 00907e032011b9d2acd16ea588555cf379830814) + +commit c3335c7aa6c1e6c3f1879c0cd3cd2f13091221be +Author: Sage Weil +Date: Fri Oct 31 16:25:09 2014 -0700 + + msg/Pipe: inject delay in stop_and_wait + + Inject a delay in stop_and_wait. This will mostly affect the connection + race Pipe takeover code which currently calls stop_and_wait while holding + the msgr->lock. This should make it easier for a racing fast_dispatch + method to get stuck on a call that (indirectly) needs the msgr lock. + See #9921. + + Signed-off-by: Sage Weil + (cherry picked from commit 2fe5c4c305218fdb1771857e4e0ef7c98a8d0fb6) + +commit 1dbe8f5a6f7bf2b7c86d24f27d569d71e0076ee9 +Author: Greg Farnum +Date: Tue Oct 28 16:45:43 2014 -0700 + + SimpleMessenger: Pipe: do not block on takeover while holding global lock + + We previously were able to cause deadlocks: + 1) Existing pipe is fast_dispatching + 2) Replacement incoming pipe is accepted + *) blocks on stop_and_wait() of existing Pipe + 3) External things are blocked on SimpleMessenger::lock() while + blocking completion of the fast dispatch. + + To resolve this, if we detect that an existing Pipe we want to take over is + in the process of fast dispatching, we unlock our locks and wait on it to + finish. Then we go back to the lookup step and retry. + + The effect of this should be safe: + 1) We are not making any changes to the existing Pipe in new ways + 2) We have not registered the new Pipe anywhere + 3) We have not sent back any replies based on Messenger state to + the remote endpoint. + + Backport: giant + Fixes: #9921 + Signed-off-by: Greg Farnum + (cherry picked from commit 2d6980570af2226fdee0edfcfe5a8e7f60fae615) + +commit 16c023d8fa5575d4dd138aeee4d4fd9b8f32c0f6 +Author: Sage Weil +Date: Thu Jan 8 13:34:52 2015 -0800 + + osd: requeue PG when we skip handling a peering event + + If we don't handle the event, we need to put the PG back into the peering + queue or else the event won't get processed until the next event is + queued, at which point we'll be processing events with a delay. + + The queue_null is not necessary (and is a waste of effort) because the + event is still in pg->peering_queue and the PG is queued. + + Note that this only triggers when we exceeed osd_map_max_advance, usually + when there is a lot of peering and recovery activity going on. A + workaround is to increase that value, but if you exceed osd_map_cache_size + you expose yourself to crache thrashing by the peering work queue, which + can cause serious problems with heavily degraded clusters and bit lots of + people on dumpling. + + Backport: giant, firefly + Fixes: #10431 + Signed-off-by: Sage Weil + (cherry picked from commit 492ccc900c3358f36b6b14a207beec071eb06707) + +commit 16c6d0d589d53aad7bb2cd0e104300fb920d5caf +Author: Loic Dachary +Date: Tue Dec 16 13:31:30 2014 +0100 + + erasure-code: relax cauchy w restrictions + + A restriction that the w parameter of the cauchy technique is limited to + 8, 16 or 32 was added incorrectly while refactoring parameter parsing in + the jerasure plugin and must be relaxed. + + http://tracker.ceph.com/issues/10325 Fixes: #10325 + + Signed-off-by: Loic Dachary + (cherry picked from commit bb80437f247345502203ad87a7e7bbb5b5602b9a) + +commit 636b98faa6b1c9fd6de1b8653d1d282577b54684 +Author: Sage Weil +Date: Sun Nov 23 18:50:51 2014 -0800 + + crush/CrushWrapper: fix create_or_move_item when name exists but item does not + + We were using item_exists(), which simply checks if we have a name defined + for the item. Instead, use _search_item_exists(), which looks for an + instance of the item somewhere in the hierarchy. This matches what + get_item_weightf() is doing, which ensures we get a non-negative weight + that converts properly to floating point. + + Backport: giant, firefly + Fixes: #9998 + Reported-by: Pawel Sadowski + Signed-off-by: Sage Weil + (cherry picked from commit 9902383c690dca9ed5ba667800413daa8332157e) + +commit ced2472664fab06d03de03d7b23325f9319163b7 +Author: Sage Weil +Date: Fri Nov 21 17:47:56 2014 -0800 + + crush/builder: prevent bucket weight underflow on item removal + + It is possible to set a bucket weight that is not the sum of the item + weights if you manually modify/build the CRUSH map. Protect against any + underflow on the bucket weight when removing items. + + Signed-off-by: Sage Weil + (cherry picked from commit 8c87e9502142d5b4a282b94f929ae776a49be1dc) + +commit adf8798dabb679110c6815af5d73ab6ff20a1af8 +Author: Sage Weil +Date: Fri Nov 21 17:37:03 2014 -0800 + + crush/CrushWrapper: fix _search_item_exists + + Reported-by: Pawel Sadowski + Signed-off-by: Sage Weil + (cherry picked from commit eeadd60714d908a3a033aeb7fd542c511e63122b) + +commit 6caa4fa42c6eaa76b3b9caf37e4ee09844f017a7 +Author: Warren Usui +Date: Thu Dec 18 20:00:28 2014 -0800 + + If trusty, use older version of qemu + + Fixes #10319 + Signed-off-by: Warren Usui + (cherry-picked from 46a1a4cb670d30397979cd89808a2e420cef2c11) + +commit 44c944e96440bd338d22533779e0650b99115a16 +Merge: abdbbd6 910ec62 +Author: Sage Weil +Date: Mon Dec 29 10:55:22 2014 -0800 + + Merge pull request #3266 from ceph/giant-10415 + + libcephfs/test.cc: close fd before umount + +commit b1e48820785a1d3153fc926ad21355b3927b44e9 +Author: Loic Dachary +Date: Sun Dec 28 10:29:54 2014 +0100 + + erasure-code: update links to jerasure upstream + + It moved from bitbucket to jerasure.org + + Signed-off-by: Loic Dachary + (cherry picked from commit 8e86f901939f16cc9c8ad7a4108ac4bcf3916d2c) + +commit 910ec624156d26a1830078161f47328a950a4eee +Author: Yan, Zheng +Date: Tue Dec 23 10:22:00 2014 +0800 + + libcephfs/test.cc: close fd before umount + + Fixes: #10415 + Signed-off-by: Yan, Zheng + (cherry picked from commit d3fb563cee4c4cf08ff4ee01782e52a100462429) + +commit abdbbd6e846727385cf0a1412393bc9759dc0244 +Author: Warren Usui +Date: Tue Dec 16 22:01:26 2014 -0800 + + Remove sepia dependency (use fqdn) + + Fixes: #10255 + Signed-off-by: Warren Usui + (cherry picked from commit 19dafe164833705225e168a686696fb4e170aba7) + +commit d1257436fdf79bad5fe0719a6be71e2abb2d2462 (refs/remotes/gh/giant-10277) +Author: Yan, Zheng +Date: Wed Dec 17 15:59:44 2014 +0800 + + client: use remount to trim kernel dcache + + when remounting a file system, linux kernel trims all unused dentry + in the file system. + + Fixes: #10277 + Signed-off-by: Yan, Zheng + +commit 9de9901cacd2ed2c8c5f65a938fb6a996efab4cd +Author: Yan, Zheng +Date: Wed Dec 17 15:46:49 2014 +0800 + + client: cleanup client callback registration + + Signed-off-by: Yan, Zheng + +commit d28c8e0fb924fbf36e4e15e19554ad30da3ff8f2 (refs/remotes/gh/wip-giant-mon-backports) +Author: Sage Weil +Date: Sun Nov 2 08:50:59 2014 -0800 + + mon/PGMap and PGMonitor: update last_epoch_clean cache from new osd keys + + We were only invalidating the cached value from apply_incremental, which + is no longer called on modern clusters. + + Fix this by storing the update epoch in the key as well (it is not part + of osd_stat_t). + + Backport: giant, firefly, dumpling(?) + Fixes: #9987 + Signed-off-by: Sage Weil + (cherry picked from commit 093c5f0cabeb552b90d944da2c50de48fcf6f564) + +commit 7646f239476609c96b6baf94dfd5f727fff49502 +Author: Sage Weil +Date: Sun Nov 2 08:49:48 2014 -0800 + + mon/PGMap: invalidate cached min_last_epoch_clean from new-style pg keys + + We were only invalidating the cache from the legacy apply_incremental(), + which is no longer called on modern clusters. + + Fixes: #9987 + Signed-off-by: Sage Weil + (cherry picked from commit 3fb731b722c50672a5a9de0c86a621f5f50f2d06) + +commit 6ec14b07940ff64d6a121e21a730f691a1a71546 +Merge: 758d9cf 7bbf80f +Author: Gregory Farnum +Date: Thu Dec 11 17:03:07 2014 -0800 + + Merge pull request #3159 from ceph/wip-10229-giant + + osdc/Filer: use finisher to execute C_Probe and C_PurgeRange [giant backport] + + Reviewed-by: Greg Farnum + +commit 7bbf80ff7388f104cf318dd5ac61ca7d35274694 +Author: Yan, Zheng +Date: Thu Dec 4 12:18:47 2014 +0800 + + osdc/Filer: use finisher to execute C_Probe and C_PurgeRange + + Currently contexts C_Probe/C_PurgeRange are executed while holding + OSDSession::completion_lock. C_Probe and C_PurgeRange may call + Objecter::stat() and Objecter::remove() respectively, which acquire + Objecter::rwlock. This can cause deadlock because there is intermediate + dependency between Objecter::rwlock and OSDSession::completion_lock: + + Objecter::rwlock -> OSDSession::lock -> OSDSession::completion_lock + + The fix is exexcute C_Probe/C_PurgeRange in finisher thread. + + Fixes: #10229 + Signed-off-by: Yan, Zheng + (cherry picked from commit d3ee89ace660161df7796affbf9a70f3d0dedce1) + +commit 758d9cf30bfc7736cc297ba3b047756f7eb8183e +Merge: a8e5638 994dcbb +Author: Gregory Farnum +Date: Thu Dec 11 10:47:38 2014 -0800 + + Merge pull request #3151 from ceph/wip-10288-giant + + mon: fix `fs ls` on peons [giant backport] + + Reviewed-by: Greg Farnum + +commit 994dcbbef4bea532aea4143c3ac1372ca14d2aea +Author: John Spray +Date: Thu Dec 11 14:00:57 2014 +0000 + + mon: fix `fs ls` on peons + + This was incorrectly using pending_mdsmap instead + of mdsmap. We didn't notice in test because of + single-mon configurations. + + Fixes: #10288 + Backport: giant + + Signed-off-by: John Spray + (cherry picked from commit 5559e6aea9e9374ecdac0351777dfd6f5f5d1e67) + +commit 319f9c9352bfd1b95bd685500922e6cee2199b34 (refs/remotes/gh/wip-8797-giant) +Author: Dan Mick +Date: Wed Dec 10 13:19:53 2014 -0800 + + Call Rados.shutdown() explicitly before exit + + This is mostly a demonstration of good behavior, as the resources will + be reclaimed on exit anyway. + + Signed-off-by: Dan Mick + (cherry picked from commit b038e8fbf9103cc42a4cde734b3ee601af6019ea) + +commit ed8c9af3376aeb6f245cbab694fdbc0ce95634a8 +Author: Dan Mick +Date: Wed Dec 10 13:19:16 2014 -0800 + + rados.py: remove Rados.__del__(); it just causes problems + + Recent versions of Python contain a change to thread shutdown that + causes ceph to hang on exit; see http://bugs.python.org/issue21963. + As it turns out, this is relatively easy to avoid by not spawning + threads on exit, as Rados.__del__() will certainly do by calling + shutdown(); I suspect, but haven't proven, that the problem is + that shutdown() tries to start() a threading.Thread() that never + makes it all the way back to signal start(). + + Also add a PendingReleaseNote and extra doc comments to clarify. + + Fixes: #8797 + Signed-off-by: Dan Mick + (cherry picked from commit 5ba9b8f21f8010c59dd84a0ef2acfec99e4b048f) + + Conflicts: + PendingReleaseNotes + +commit a8e56380f08cd5940def4cc47cadba699a8ba45d +Merge: 247a6fa e7faed5 +Author: Samuel Just +Date: Mon Dec 8 13:19:20 2014 -0800 + + Merge pull request #3010 from dachary/wip-10018-primary-erasure-code-hinfo-giant + + osd: deep scrub must not abort if hinfo is missing (giant) + + Reviewed-by: Samuel Just + +commit 247a6fac54854e92a7df0e651e248a262d3efa05 +Merge: 3372060 309fd5f +Author: Gregory Farnum +Date: Mon Dec 8 12:36:48 2014 -0800 + + Merge pull request #3110 from ceph/giant-10263 + + mds: store backtrace for straydir + + Reviewed-by: Greg Farnum + +commit 309fd5f56ef5ea76ffd525fdde6e6fbbc9ef6ef1 +Author: Yan, Zheng +Date: Fri Nov 7 11:38:37 2014 +0800 + + mds: store backtrace for straydir + + Backport: giant, firefly, emperor, dumpling + Signed-off-by: Yan, Zheng + (cherry picked from commit 0d89db5d3e5ae5d552d4058a88a4e186748ab1d2) + +commit 3372060894a1da0adef6d36380a131902ca05c5f +Merge: 1f00420 bff6747 +Author: Sage Weil +Date: Sat Dec 6 11:06:20 2014 -0800 + + Merge pull request #3088 from dachary/wip-10063-hobject-shard-giant + + common: do not omit shard when ghobject NO_GEN is set (giant) + +commit 1f004209434570337a3f90d7f89741f80dcc7075 +Merge: 3b65226 1ec557c +Author: Sage Weil +Date: Fri Dec 5 17:33:12 2014 -0800 + + Merge pull request #3095 from dachary/wip-9785-dmcrypt-keys-permissions-giant + + ceph-disk: dmcrypt file permissions (giant) + +commit 3b65226df806958f6a2f24df6099ee3a86d2a71f +Merge: 691f011 36c7484 +Author: Sage Weil +Date: Fri Dec 5 17:30:31 2014 -0800 + + Merge pull request #3006 from dachary/wip-9420-erasure-code-non-regression-giant + + erasure-code: store and compare encoded contents (giant) + +commit 1ec557c0eab94cb898ad3f5448482bd7afc53e09 +Author: Loic Dachary +Date: Thu Dec 4 22:21:32 2014 +0100 + + ceph-disk: dmcrypt file permissions + + The directory in which key files are stored for dmcrypt must be 700 and + the file 600. + + http://tracker.ceph.com/issues/9785 Fixes: #9785 + + Signed-off-by: Loic Dachary + (cherry picked from commit 58682d1776ab1fd4daddd887d921ca9cc312bf50) + +commit 691f0118ecd051d5f3f61fc696280e3c482de3de +Merge: 81295c5 dabf6f5 +Author: Sage Weil +Date: Fri Dec 5 09:03:54 2014 -0800 + + Merge pull request #3085 from dachary/wip-10125-radosgw-init-giant + + rgw: run radosgw as apache with systemd (giant) + +commit bff67475c775914237604ed3374c8ccfe74d0ffd +Author: Loic Dachary +Date: Fri Nov 14 01:16:10 2014 +0100 + + common: do not omit shard when ghobject NO_GEN is set + + Do not silence the display of shard_id when generation is NO_GEN. + Erasure coded objects JSON representation used by ceph_objectstore_tool + need the shard_id to find the file containing the chunk. + + Minimal testing is added to ceph_objectstore_tool.py + + http://tracker.ceph.com/issues/10063 Fixes: #10063 + + Signed-off-by: Loic Dachary + (cherry picked from commit dcf09aed121f566221f539106d10283a09f15cf5) + +commit dabf6f5f43b53a588bd9fa0cc5aa617ae8128735 +Author: Loic Dachary +Date: Tue Dec 2 18:10:48 2014 +0100 + + rgw: run radosgw as apache with systemd + + Same as sysv. + + http://tracker.ceph.com/issues/10125 Fixes: #10125 + + Signed-off-by: Loic Dachary + (cherry picked from commit 7b621f4abf63456272dec3449aa108c89504a7a5) + + Conflicts: + src/init-radosgw.sysv + +commit 81295c5ad2befced2e308c1cfb4e036cd5a825a9 +Merge: 8046359 3ff94ed +Author: Josh Durgin +Date: Thu Dec 4 11:32:01 2014 -0800 + + Merge pull request #3077 from ceph/wip-10030-giant + + librbd: don't close an already closed parent image upon failure + + Reviewed-by: Josh Durgin + +commit ad04a677cefc1f0a02fbff0c68409fda6874fdc7 +Author: Loic Dachary +Date: Tue Dec 2 00:59:08 2014 +0100 + + common: add bufferlist::rebuild_aligned_size_and_memory + + The function bufferlist::rebuild_aligned checks memory and size + alignment with the same variable. It is however useful to separate + memory alignment constraints from size alignment constraints. For + instance rebuild_aligned could be called to allocate an erasure coded + buffer where each 2048 bytes chunk needs to start on a memory address + aligned on 32 bytes. + + Signed-off-by: Loic Dachary + (cherry picked from commit 9ade88e8dacc9b96c042bb668f4452447139a544) + +commit cc469b238f42ce989d0efa49154b95612e3d4111 +Author: Loic Dachary +Date: Tue Dec 2 01:07:34 2014 +0100 + + erasure-code: enforce chunk size alignment + + Let say the ErasureCode::encode function is given a 4096 bytes + bufferlist made of a 1249 bytes bufferptr followed by a 2847 bytes + bufferptr, both properly starting on SIMD_ALIGN address. As a result the + second 2048 had to be reallocated when bufferlist::substr_of gets the + second 2048 buffer, the address starts at 799 bytes after the beginning + of the 2847 buffer ptr and is not SIMD_ALIGN'ed. + + The ErasureCode::encode must enforce a size alignment based on the chunk + size in addition to the memory alignment required by SIMD operations, + using the bufferlist::rebuild_aligned_size_and_memory function instead of + bufferlist::rebuild_aligned. + + http://tracker.ceph.com/issues/10211 Fixes: #10211 + + Signed-off-by: Loic Dachary + (cherry picked from commit 4e955f41297283798236c505c3d21bdcabb5caa0) + +commit 5205d4dacf7ebe2e42d2294bc30cb27f226c8d22 +Author: Loic Dachary +Date: Tue Dec 2 02:04:14 2014 +0100 + + common: allow size alignment that is not a power of two + + Do not assume the alignment is a power of two in the is_n_align_sized() + predicate. When used in the context of erasure code it is common + for chunks to not be powers of two. + + Signed-off-by: Loic Dachary + (cherry picked from commit 73ad2d63d479b09037d50246106bbd4075fbce80) + +commit 80463596919d28f58010d16ad017b3c5ae6e558c +Merge: 26e8cf1 3dc6298 +Author: Sage Weil +Date: Wed Dec 3 23:02:43 2014 -0800 + + Merge pull request #3062 from ceph/wip-10123-giant + + librbd: protect list_children from invalid child pool IoCtxs + + Reviewed-by: Sage Weil + +commit 26e8cf174b8e76b4282ce9d9c1af6ff12f5565a9 +Merge: aac7946 7cd8c3f +Author: Gregory Farnum +Date: Wed Dec 3 06:44:56 2014 -0800 + + Merge pull request #3055 from ceph/wip-10135-giant + + mon: OSDMonitor: allow adding tiers to FS pools + + Reviewed-by: Greg Farnum + +commit 7cd8c3f8a5afa9481b6f6a78d5fb8c04784ef4ca (refs/remotes/gh/wip-10135-giant) +Author: John Spray +Date: Tue Nov 25 16:54:42 2014 +0000 + + mon: OSDMonitor: allow adding tiers to FS pools + + This was an overly-strict check. In fact it is perfectly + fine to set an overlay on a pool that is already in use + as a filesystem data or metadata pool. + + Fixes: #10135 + + Signed-off-by: John Spray + (cherry picked from commit 17b5fc9a40440e76dd1fa64f7fc19577ae3b58ce) + +commit 3ff94ed73ff27af2c8ea215ab693d815e285a27f +Author: Jason Dillaman +Date: Thu Nov 6 05:01:38 2014 -0500 + + librbd: don't close an already closed parent image upon failure + + If librbd is not able to open a child's parent image, it will + incorrectly close the parent image twice, resulting in a crash. + + Fixes: #10030 + Backport: firefly, giant + Signed-off-by: Jason Dillaman + (cherry picked from commit 61ebfebd59b61ffdc203dfeca01ee1a02315133e) + +commit aac794616580ed0bb00608c5867199b12d4e1d94 +Merge: 65f6814 c8b46d6 +Author: John Spray +Date: Tue Dec 2 11:35:59 2014 +0000 + + Merge pull request #2990 from ceph/wip-10151-giant + + mon: fix MDS health status from peons + + Reviewed-by: Greg Farnum + +commit 3dc629822adeee961d78208b46b9bd7ef1200890 +Author: Jason Dillaman +Date: Mon Nov 17 21:49:26 2014 -0500 + + librbd: protect list_children from invalid child pool IoCtxs + + While listing child images, don't ignore error codes returned + from librados when creating an IoCtx. This will prevent seg + faults from occurring when an invalid IoCtx is used. + + Fixes: #10123 + Backport: giant, firefly, dumpling + Signed-off-by: Jason Dillaman + (cherry picked from commit 0d350b6817d7905908a4e432cd359ca1d36bab50) + +commit 65f6814847fe8644f5d77a9021fbf13043b76dbe +Merge: 28e2708 9158326 +Author: Gregory Farnum +Date: Mon Dec 1 17:59:19 2014 -0800 + + Merge pull request #3047 from ceph/wip-10011-giant + + osdc: fix Journaler write error handling [giant backport] + + Reviewed-by: Greg Farnum + +commit 9158326eeb69312283a6e8174352f36ea30d0cbf +Author: John Spray +Date: Thu Nov 6 11:46:29 2014 +0000 + + osdc: fix Journaler write error handling + + Since we started wrapping the write error + handler in a finisher, multiple calls to + handle_write_error would hit the assert() + on the second call before the actual + handler had been called (at the other end + of the finisher) from the first call. + + The symptom was that the MDS was intermittently + failing to respawn on blacklist, seen in #10011. + + Signed-off-by: John Spray + (cherry picked from commit 762eda88a18ba707bd5410f38e21e95c4a6b3a46) + +commit 28e27080e25f95851039a0cc4e1c1d06b2cd597d +Merge: 37ffccb cb1d681 +Author: Sage Weil +Date: Tue Nov 25 21:18:59 2014 -0800 + + Merge pull request #3005 from dachary/wip-9665-ceph-disk-partprobe-giant + + ceph disk zap must call partprobe + +commit e7faed5d903cf7681d77a6af53cf8137eeb2fc69 +Author: Loic Dachary +Date: Thu Nov 6 17:11:20 2014 +0100 + + osd: deep scrub must not abort if hinfo is missing + + Instead it should set read_error. + + http://tracker.ceph.com/issues/10018 Fixes: #10018 + + Signed-off-by: Loic Dachary + (cherry picked from commit 9d84d2e8309d26e39ca849a75166d2d7f2dec9ea) + +commit 36c7484c18fd072ba2f7b176403414dd32fbe92b +Author: Loic Dachary +Date: Thu Sep 25 14:46:07 2014 +0200 + + erasure-code: erasure_code_benchmark exhaustive erasure exploration + + Add the --erasure-generation exhaustive flag to try all combinations of + erasures, not just one at random. + + Signed-off-by: Loic Dachary + (cherry picked from commit 2d7adb23bc52e7c0753f4571fecd8eefa209ef02) + + Conflicts: + src/test/erasure-code/ceph_erasure_code_benchmark.h + +commit 32daa9b0f4d39f8a49512b18d5c19437aca5fec6 +Author: Loic Dachary +Date: Mon Sep 29 11:17:13 2014 +0200 + + erasure-code: add erasure_code_benchmark --verbose + + Signed-off-by: Loic Dachary + (cherry picked from commit 3ff2816b3eecfb7277295583387549dac5429628) + + Conflicts: + src/test/erasure-code/ceph_erasure_code_benchmark.cc + src/test/erasure-code/ceph_erasure_code_benchmark.h + +commit da9a7f07787d7f8c20b0c3e7a53fcaf95ed7ca20 +Author: Loic Dachary +Date: Tue Sep 23 14:37:57 2014 +0200 + + erasure_code: implement ceph_erasure_code to assert the existence of a plugin + + This is handy when scripting in the context of teuthology and only + conditionally run tests for the isa plugin, for instance. + + Signed-off-by: Loic Dachary + (cherry picked from commit efe121d9f2028c312eef2650d32ccf0cbc828edb) + +commit c855f3958fb8c10bd824075c1739f40799f6d74b +Author: Loic Dachary +Date: Tue Sep 23 14:36:08 2014 +0200 + + erasure-code: ceph_erasure_code does not need to avoid dlclose + + The only reason for not dlclosing plugins at exit is for callgrind but + ceph_erasure_code has no workload that would require callgrind. + + Signed-off-by: Loic Dachary + (cherry picked from commit 49613cb2aab6e73e3ea50fa164735b55e80121cd) + +commit ba8ceb1f067e0f9f6419358435ed0008b61fa438 +Author: Loic Dachary +Date: Tue Sep 23 11:38:09 2014 +0200 + + erasure-code: add corpus verification to make check + + Signed-off-by: Loic Dachary + (cherry picked from commit 6fdbdff2ad1b55d4a37dcb95cfbb06c4454cdaf2) + +commit ca4c2702139cc7fd8f2e3fa2ee5cda4094ecad79 +Author: Loic Dachary +Date: Sat Sep 13 12:58:27 2014 +0200 + + erasure-code: Makefile.am cosmetics + + Cluster benchmark related lines together. + + Signed-off-by: Loic Dachary + (cherry picked from commit 10c88c8f27080a8e25f128b7065cee5c2f68e91b) + +commit 208a5ee1c9975adaa8b09b1bf541aff0d8551c63 +Author: Loic Dachary +Date: Sat Sep 13 12:55:26 2014 +0200 + + erasure-code: s/alignement/alignment/ typos in jerasure + + The jerasure-per-chunk-alignment prameter was mispelled and while + useable that would lead to confusion. + + Signed-off-by: Loic Dachary + (cherry picked from commit 2c84d0b1db57d918840e669a17bbd8c5ddca9747) + +commit 1def82d530965bd0441e4f7f6aa032666984f17d +Author: Loic Dachary +Date: Sat Sep 13 13:36:09 2014 +0200 + + erasure-code: workunit to check for encoding regression + + Clone the archive of encoded objects and decode all archived objects, up + to and including the current ceph version. + + http://tracker.ceph.com/issues/9420 Refs: #9420 + + Signed-off-by: Loic Dachary + (cherry picked from commit 7638b15f23976c3265cf766e16cf93af1a7e0091) + +commit 1b7fc7e49e6edf0d0f7d1d6d9f9447c42067d8b8 +Author: Loic Dachary +Date: Sat Sep 13 10:16:31 2014 +0200 + + erasure-code: store and compare encoded contents + + Introduce ceph_erasure_code_non_regression to check and compare how an + erasure code plugin encodes and decodes content with a given set of + parameters. For instance: + + ./ceph_erasure_code_non_regression \ + --plugin jerasure \ + --parameter technique=reed_sol_van \ + --parameter k=2 \ + --parameter m=2 \ + --stripe-width 3181 \ + --create \ + --check + + Will create an encoded object (--create) and store it into a directory + along with the chunks, one chunk per file. The directory name is derived + from the parameters. The content of the object is a random pattern of 31 + bytes repeated to fill the object size specified with --stripe-width. + + The check function (--check) reads the object back from the file, + encodes it and compares the result with the content of the chunks read + from the files. It also attempts recover from one or two erasures. + + Chunks encoded by a given version of Ceph are expected to be encoded + exactly in the same way by all Ceph versions going forward. + + http://tracker.ceph.com/issues/9420 Refs: #9420 + + Signed-off-by: Loic Dachary + (cherry picked from commit f5901303dbf50e9d08f2f1e510a1936a20037909) + +commit cb1d68113477cf9c2028a65372d2d4a3e6a8bdc1 +Author: Loic Dachary +Date: Thu Oct 9 18:52:17 2014 +0200 + + ceph-disk: run partprobe after zap + + Not running partprobe after zapping a device can lead to the following: + + * ceph-disk prepare /dev/loop2 + * links are created in /dev/disk/by-partuuid + * ceph-disk zap /dev/loop2 + * links are not removed from /dev/disk/by-partuuid + * ceph-disk prepare /dev/loop2 + * some links are not created in /dev/disk/by-partuuid + + This is assuming there is a bug in the way udev events are handled by + the operating system. + + http://tracker.ceph.com/issues/9665 Fixes: #9665 + + Signed-off-by: Loic Dachary + (cherry picked from commit fed3b06c47a5ef22cb3514c7647544120086d1e7) + +commit d9c04b880d8bf867aa454132117119be5bd550ad +Author: Loic Dachary +Date: Fri Oct 10 10:26:31 2014 +0200 + + ceph-disk: use update_partition in prepare_dev and main_prepare + + In the case of prepare_dev the partx alternative was missing and is not + added because update_partition does it. + + http://tracker.ceph.com/issues/9721 Fixes: #9721 + + Signed-off-by: Loic Dachary + (cherry picked from commit 23e71b1ee816c0ec8bd65891998657c46e364fbe) + +commit 5c9cd3c2a292ae540fd0a487defaf4d712e41e62 +Author: Loic Dachary +Date: Fri Oct 10 10:23:34 2014 +0200 + + ceph-disk: encapsulate partprobe / partx calls + + Add the update_partition function to reduce code duplication. + The action is made an argument although it always is -a because it will + be -d when deleting a partition. + + Use the update_partition function in prepare_journal_dev + + Signed-off-by: Loic Dachary + (cherry picked from commit 922a15ea6865ef915bbdec2597433da6792c1cb2) + +commit c8b46d68c71f66d4abbda1230741cc4c7284193b +Author: John Spray +Date: Mon Nov 24 11:00:25 2014 +0000 + + mon: fix MDS health status from peons + + The health data was there, but we were attempting + to enumerate MDS GIDs from pending_mdsmap (empty on + peons) instead of mdsmap (populated from paxos updates) + + Fixes: #10151 + Backport: giant + + Signed-off-by: John Spray + (cherry picked from commit 0c33930e3a90f3873b7c7b18ff70dec2894fce29) + + Conflicts: + src/mon/MDSMonitor.cc + +commit 37ffccbd57e7e441e0eb1499e5c173aa9c375d35 +Merge: b13a56a 65c5657 +Author: Josh Durgin +Date: Thu Nov 20 13:13:33 2014 -0800 + + Merge pull request #2975 from ceph/wip-9936-giant + + rbd: Fix the rbd export when image size more than 2G + + Reviewed-by: Josh Durgin + +commit b13a56afe99c091600392a2fc15befa9438d59c9 +Merge: 828c1a2 46bd344 +Author: Loic Dachary +Date: Wed Nov 19 02:40:47 2014 +0100 + + Merge pull request #2963 from ceph/wip-10114-giant + + Wip 10114 giant + + Reviewed-by: Loic Dachary + +commit 828c1a2bcd81a49264f8a81ca7f1070169037820 +Merge: ccfd241 6cb9a24 +Author: David Zafman +Date: Tue Nov 18 15:48:16 2014 -0800 + + Merge pull request #2958 from ceph/wip-10128-giant + + ceph_objectstore_tool: When exporting to stdout, don't cout messages + + Reviewed-by: Loic Dachary + +commit 46bd3441b00c22ba78f04617fd77f0231ccc698d +Author: Dan Mick +Date: Tue Nov 18 15:21:30 2014 -0800 + + erasure-code isa-l: remove duplicated lines (fix warning) + + 06a245a added a section def to assembly files; I added it twice to + this file. There's no damage, but a compiler warning (on machines with + yasm installed) + + Signed-off-by: Dan Mick + (cherry picked from commit 10f6ef185a9d09e396e94036ec90bfe8a0738ce9) + +commit 1bba3887038aade137a808d751561cc02002f4bf +Author: Dan Mick +Date: Fri Nov 14 17:59:57 2014 -0800 + + Add annotation to all assembly files to turn off stack-execute bit + + See discussion in http://tracker.ceph.com/issues/10114 + + Building with these changes allows output from readelf like this: + + $ readelf -lW src/.libs/librados.so.2 | grep GNU_STACK + GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 + 0x000000 RW 0x8 + + (note the absence of 'X' in 'RW') + + Fixes: #10114 + Signed-off-by: Dan Mick + (cherry picked from commit 06a245a9845c0c126fb3106b41b2fd2bc4bc4df3) + +commit 6cb9a2499cac2645e2cc6903ab29dfd95aac26c7 +Author: David Zafman +Date: Mon Nov 17 23:02:50 2014 -0800 + + ceph_objectstore_tool: When exporting to stdout, don't cout messages + + Fixes: #10128 + Caused by a2bd2aa7 + + Signed-off-by: David Zafman + (cherry picked from commit 0d5262ac2f69ed3996af76a72894b1722a27b37d) + +commit 13bb880b2a04ab354506eb183d2907b9054bf937 +Author: Sebastien Ponce +Date: Tue Nov 18 10:30:36 2014 +0100 + + Fixed locking issue in the trun method of libradosstriper leading to potential race conditions - Fixes: #10129 + + Signed-off-by: Sebastien Ponce + (cherry picked from commit 8613984373de946e1815cc84d50bbd4437a3f7a7) + +commit 65c565701eb6851f4ed4d2dbc1c7136dfaad6bcb +Author: Vicente Cheng +Date: Wed Oct 29 12:21:11 2014 +0800 + + rbd: Fix the rbd export when image size more than 2G + + When using export and the size of image is more + than 2G, the previous version about finish() could not handle in + seeking the offset in image and return error. + + This is caused by the incorrect variable type. Try to use the correct + variable type to fixed it. + + I use another variable which type is uint64_t for confirming seeking + and still use the previous r for return error. + + uint64_t is more better than type int for handle lseek64(). + + Signed-off-by: Vicente Cheng + (cherry picked from commit 4b87a81c86db06f6fe2bee440c65fc05cd4c23ce) + +commit ccfd2414c68afda55bf4cefa2441ea6d53d87cc6 +Author: Sage Weil +Date: Wed Nov 12 17:11:10 2014 -0800 + + osd/OSD: use OSDMap helper to determine if we are correct op target + + Use the new helper. This fixes our behavior for EC pools where targetting + a different shard is not correct, while for replicated pools it may be. In + the EC case, it leaves the op hanging indefinitely in the OpTracker because + the pgid exists but as a different shard. + + Fixes: #9835 + Signed-off-by: Sage Weil + (cherry picked from commit 9e05ba086a36ae9a04b347153b685c2b8adac2c3) + +commit 963947718a954f63f351ce4034bf97380421ab7c +Author: Sage Weil +Date: Wed Nov 12 17:04:35 2014 -0800 + + osd/OSDMap: add osd_is_valid_op_target() + + Helper to check whether an osd is a given op target for a pg. This + assumes that for EC we always send ops to the primary, while for + replicated we may target any replica. + + Signed-off-by: Sage Weil + (cherry picked from commit 89c02637914ac7332e9dbdbfefc2049b2b6c127d) + +commit 0cb32c157c6c11b26607521a20c6f320c5170516 +Author: Josh Durgin +Date: Tue Nov 11 18:16:02 2014 -0800 + + qa: allow small allocation diffs for exported rbds + + The local filesytem may behave slightly differently. This isn't + foolproof, but seems to be reliable enough on rhel7 rootfs, where + exact comparison was failing. + + Fixes: #10002 + Signed-off-by: Josh Durgin + (cherry picked from commit e94d3c11edb9c9cbcf108463fdff8404df79be33) + +commit fe705c8fdef2371d3f5b11eb73f87a0cf6ef0f9e +Author: Adam Crume +Date: Thu Sep 18 16:57:27 2014 -0700 + + common: Add cctid meta variable + + Fixes: #6228 + Signed-off-by: Adam Crume + (cherry picked from commit bb45621cb117131707a85154292a3b3cdd1c662a) + +commit 5fc659a0d52094a4c595ca8b33b407ecdefc180a +Merge: b27f5db a6c02a1 +Author: Sage Weil +Date: Tue Nov 11 08:28:19 2014 -0800 + + Merge pull request #2804 from ceph/wip-9301-giant + + mon: backport paxos off-by-one bug (9301) to giant + +commit b27f5dba8677ca48c9819980e3c90b76f5f04267 +Merge: 97e423f fc5354d +Author: Gregory Farnum +Date: Mon Nov 10 22:41:19 2014 -0800 + + Merge pull request #2887 from ceph/wip-9977-backport + + tools: skip up to expire_pos in journal-tool + + Reviewed-by: Greg Farnum + +commit 97e423f52155e2902bf265bac0b1b9ed137f8aa0 +Author: Yan, Zheng +Date: Thu Sep 11 09:36:44 2014 +0800 + + client: trim unused inodes before reconnecting to recovering MDS + + So the recovering MDS does not need to fetch these ununsed inodes during + cache rejoin. This may reduce MDS recovery time. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 2bd7ceeff53ad0f49d5825b6e7f378683616dffb) + + Reviewed-by: Greg Farnum + +commit 387efc5fe1fb148ec135a6d8585a3b8f8d97dbf8 +Author: John Spray +Date: Mon Oct 27 12:02:17 2014 +0000 + + client: allow xattr caps in inject_release_failure + + Because some test environments generate spurious + rmxattr operations, allow the client to release + 'X' caps. Allows xattr operations to proceed + while still preventing client releasing other caps. + + Fixes: #9800 + Signed-off-by: John Spray + (cherry picked from commit 5691c68a0a44eb2cdf0afb3f39a540f5d42a5c0c) + + Reviewed-by: Greg Farnum + +commit fc5354dec55248724f8f6b795e3a96882c33b490 (refs/remotes/gh/wip-9977-backport) +Author: John Spray +Date: Mon Nov 3 19:19:45 2014 +0000 + + tools: skip up to expire_pos in journal-tool + + Previously worked for journals starting from an + object boundary (i.e. freshly created filesystems) + + Fixes: #9977 + Signed-off-by: John Spray + (cherry picked from commit 65c33503c83ff8d88781c5c3ae81d88d84c8b3e4) + + Conflicts: + src/tools/cephfs/JournalScanner.cc + +commit 9680613141b3eef62f35a6728e654efa5f6ba8e8 +Merge: fd4363d a5984ba +Author: Gregory Farnum +Date: Fri Nov 7 16:26:54 2014 -0800 + + Merge pull request #2876 from ceph/giant-readdir-fix + + Giant readdir fix + +commit fd4363d1bd49f73e1b3c22516686c7b7e1745b57 +Merge: f66bf31 7166ff8 +Author: Gregory Farnum +Date: Fri Nov 7 14:10:40 2014 -0800 + + Merge pull request #2879 from ceph/wip-10025-giant + + #10025/giant -- tools: fix MDS journal import + + Reviewed-by: Greg Farnum + +commit 7166ff83f6343d31d52a58363e2767434554505c +Author: John Spray +Date: Fri Nov 7 11:34:43 2014 +0000 + + tools: fix MDS journal import + + Previously it only worked on fresh filesystems which + hadn't been trimmed yet, and resulted in an invalid + trimmed_pos when expire_pos wasn't on an object + boundary. + + Fixes: #10025 + + Signed-off-by: John Spray + (cherry picked from commit fb29e71f9a97c12354045ad2e128156e503be696) + +commit a5984ba34cb684dae623df22e338f350c8765ba5 +Author: Yan, Zheng +Date: Mon Oct 27 13:57:16 2014 -0700 + + client: fix I_COMPLETE_ORDERED checking + + Current code marks a directory inode as complete and ordered when readdir + finishes, but it does not check if the directory was modified in the middle + of readdir. This is wrong, directory inode should not be marked as ordered + if it was modified during readddir + + The fix is introduce a new counter to the inode data struct, we increase + the counter each time the directory is modified. When readdir finishes, we + check the counter to decide if the directory should be marked as ordered. + + Fixes: #9894 + Signed-off-by: Yan, Zheng + (cherry picked from commit a4caed8a53d011b214ab516090676641f7c4699d) + +commit b5ff4e99c87958211e4b7716b59084fc3417ec17 +Author: Yan, Zheng +Date: Tue Sep 9 17:34:46 2014 +0800 + + client: preserve ordering of readdir result in cache + + Preserve ordering of readdir result in a list, so that the result of cached + readdir is consistant with uncached readdir. + + As a side effect, this commit also removes the code that removes stale dentries. + This is OK because stale dentries does not have valid lease, they will be + filter out by the shared gen check in Client::_readdir_cache_cb() + + Signed-off-by: Yan, Zheng + (cherry picked from commit 346c06c1647658768e927a47768a0bc74de17b53) + +commit 0671c1127015311d9894f15e2493805f93432910 +Author: Yan, Zheng +Date: Tue Sep 9 14:06:06 2014 +0800 + + client: introduce a new flag indicating if dentries in directory are sorted + + When creating a file, Client::insert_dentry_inode() set the dentry's offset + based on directory's max offset. The offset does not reflect the real + postion of the dentry in directory. Later readdir reply from real postion + of the dentry in directory. Later readdir reply from MDS may change the + dentry's position/offset. This inconsistency can cause missing/duplicate + entries in readdir result if readdir is partly satisfied by dcache_readdir(). + + The fix is introduce a new flag indicating if dentries in directory are + sorted. We use _readdir_cache_cb() to handle readdir only when the flag is + set, clear the flag after creating/deleting/renaming file. + + Fixes: #9178 + Signed-off-by: Yan, Zheng + (cherry picked from commit 600af25493947871c38214aa370e2544a7fea399) + +commit f66bf31b6743246fb1c88238cf18101238dee3a4 +Author: Greg Farnum +Date: Thu Nov 6 17:48:01 2014 -0800 + + qa: use sudo even more when rsyncing /usr + + Signed-off-by: Greg Farnum + (cherry picked from commit 3aa7797741f9cff06053a2f31550fe6929039692) + +commit f7ec448d6579f965eec184416a97b47ae27ab47a +Merge: f410d76 f111bc8 +Author: Loic Dachary +Date: Wed Nov 5 08:51:18 2014 +0100 + + Merge pull request #2858 from ceph/wip-9909 + + tools: rados put /dev/null should write() and not create() + + Reviewed-by: Loic Dachary + +commit f111bc8eac8a521b13340f4a75418d839725e010 +Author: Loic Dachary +Date: Thu Oct 2 09:23:55 2014 +0200 + + tools: rados put /dev/null should write() and not create() + + In the rados.cc special case to handle put an empty objects, use + write_full() instead of create(). + + A special case was introduced 6843a0b81f10125842c90bc63eccc4fd873b58f2 + to create() an object if the rados put file is empty. Prior to this fix + an attempt to rados put an empty file was a noop. The problem with this + fix is that it is not idempotent. rados put an empty file twice would + fail the second time and rados put a file with one byte would succeed as + expected. + + Signed-off-by: Loic Dachary + (cherry picked from commit 50e80407f3c2f74d77ba876d01e7313c3544ea4d) + +commit f410d764d2e6795389cb320b4436cff3607927bd +Author: Yehuda Sadeh +Date: Thu Oct 9 10:20:27 2014 -0700 + + rgw: set length for keystone token validation request + + Fixes: #7796 + Backport: giany, firefly + Need to set content length to this request, as the server might not + handle a chunked request (even though we don't send anything). + + Tested-by: Mark Kirkwood + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 3dd4ccad7fe97fc16a3ee4130549b48600bc485c) + +commit dba7defc623474ad17263c9fccfec60fe7a439f0 +Merge: 6a201f8 e0b0441 +Author: Sage Weil +Date: Fri Oct 31 08:35:42 2014 -0700 + + Merge pull request #2846 from dachary/wip-9752-past-intervals-giant + + osd: past_interval display bug on acting + +commit e0b04414b92018277a0d3b9d82e72ea7529f4ef5 +Author: Loic Dachary +Date: Fri Oct 31 00:49:21 2014 +0100 + + osd: past_interval display bug on acting + + The acting array was incorrectly including the primary and up_primary. + + http://tracker.ceph.com/issues/9752 Fixes: #9752 + + Signed-off-by: Loic Dachary + (cherry picked from commit c5f8d6eded52da451fdd1d807bd4700221e4c41c) + +commit 6a201f89b1aa6c2197383c29919cdeb4a8353d1b +Merge: ebe1637 905aba2 +Author: Yan, Zheng +Date: Thu Oct 30 17:01:12 2014 -0700 + + Merge pull request #2841 from ceph/giant-9869 + + Backport "client: cast m->get_client_tid() to compare to 16-bit Inode::flushing_cap_tid" + +commit 905aba2f3d847933f98124f3ea8d1d76d644edb4 +Author: Greg Farnum +Date: Wed Oct 22 17:16:31 2014 -0700 + + client: cast m->get_client_tid() to compare to 16-bit Inode::flushing_cap_tid + + m->get_client_tid() is 64 bits (as it should be), but Inode::flushing_cap_tid + is only 16 bits. 16 bits should be plenty to let the cap flush updates + pipeline appropriately, but we need to cast in the proper direction when + comparing these differently-sized versions. So downcast the 64-bit one + to 16 bits. + + Fixes: #9869 + Backport: giant, firefly, dumpling + + Signed-off-by: Greg Farnum + (cherry picked from commit a5184cf46a6e867287e24aeb731634828467cd98) + +commit ebe16373e966917ca8cb03ebeac974bdff7b7685 +Merge: c51c8f9 b704f0d +Author: Sage Weil +Date: Thu Oct 30 10:05:22 2014 -0700 + + Merge pull request #2838 from ceph/wip-9945-giant + + messages: fix COMPAT_VERSION on MClientSession + + Reviewed-by: Sage Weil + +commit b704f0dd888aacb10c32cdb63cdbf9f06296fc18 +Author: John Spray +Date: Thu Oct 30 16:43:21 2014 +0000 + + messages: fix COMPAT_VERSION on MClientSession + + This was incorrectly incremented to 2 by omission + of an explicit COMPAT_VERSION value. + + Fixes: #9945 + + Signed-off-by: John Spray + (cherry picked from commit 1eb9bcb1d36014293efc687b4331be8c4d208d8e) + +commit a6c02a18d6249ea62cf7a74710c8d0192b6eecaa +Author: Sage Weil +Date: Thu Sep 18 14:23:36 2014 -0700 + + mon: re-bootstrap if we get probed by a mon that is way ahead + + During bootstrap we verify that our paxos commits overlap with the other + mons we will form a quorum with. If they do not, we do a sync. + + However, it is possible we pass those checks, then fail to join a quorum + before the quorum moves ahead in time such that we no longer overlap. + Currently nothing kicks up back into a probing state to discover we need + to sync... we will just keep trying to call or join an election instead. + + Fix this by jumping back to bootstrap if we get a probe that is ahead of + us. Only do this from non probe or sync states as these will be common; + it is only the active and electing states that matter (and probably just + electing!). + + Fixes: #9301 + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit c421b55e8e15ef04ca8aeb47f7d090375eaa8573) + +commit 92d2a38efd458f9e8f4da228ea1e94df08dc8222 +Author: Sage Weil +Date: Thu Sep 18 14:11:24 2014 -0700 + + mon/Paxos: fix off-by-one in last_ vs first_committed check + + peon last_committed + 1 == leader first_committed is okay. Note that the + other check (where I clean up whitespace) gets this correct. + + Fixes: #9301 (partly) + Signed-off-by: Sage Weil + (cherry picked from commit d81cd7f86695185dce31df76c33c9a02123f0e4a) diff --git a/doc/changelog/v0.87.2.txt b/doc/changelog/v0.87.2.txt new file mode 100644 index 00000000..98cf1173 --- /dev/null +++ b/doc/changelog/v0.87.2.txt @@ -0,0 +1,1413 @@ +commit 87a7cec9ab11c677de2ab23a7668a77d2f5b955e (tag: refs/tags/v0.87.2, refs/remotes/gh/giant) +Author: Jenkins +Date: Fri Apr 24 12:31:27 2015 -0700 + + 0.87.2 + +commit c1301e84aee0f399db85e2d37818a66147a0ce78 +Merge: 1a13e10 9e9c3c6 +Author: Loic Dachary +Date: Tue Apr 7 21:08:24 2015 +0200 + + Merge pull request #4214 from dachary/wip-10430-giant + + osd/osd_types.cc: 456: FAILED assert(m_seed < old_pg_num) + + Reviewed-by: David Zafman + +commit 1a13e1065829c59987c2f57a13eaa03de31df4ed +Merge: 1fb08d3 5f4e62f +Author: Loic Dachary +Date: Tue Apr 7 16:39:28 2015 +0200 + + Merge pull request #4258 from ceph/wip-10643-v2 + + mon: MDSMonitor: additional backports for #10643 + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Loic Dachary + +commit 1fb08d3066b14b178a8912ffb3c9f50d2333738c +Merge: 90b37d9 7684ee2 +Author: Josh Durgin +Date: Thu Apr 2 08:55:48 2015 -0700 + + Merge pull request #4261 from ceph/wip-11303-giant + + allow -L to disable lttng. Enable it by default + + Reviewed-by: Josh Durgin + +commit 7684ee25ac21810153a44bdc4fc00b36e39eb12f +Author: Alfredo Deza +Date: Thu Apr 2 10:34:02 2015 -0400 + + allow -L to disable lttng. Enable it by default + + Signed-off-by: Alfredo Deza + +commit 5f4e62f382767ee69e5b0c701b1a01d9e4132237 +Author: Joao Eduardo Luis +Date: Fri Oct 17 19:08:20 2014 +0100 + + mon: MDSMonitor: wait for osdmon to be writable when requesting proposal + + Otherwise we may end up requesting the osdmon to propose while it is + mid-proposal. We can't simply return EAGAIN to the user either because + then we would have to expect the user to be able to successfully race + with the whole cluster in finding a window in which 'mds fs new' command + would succeed -- which is not a realistic expectation. Having the + command to osdmon()->wait_for_writable() guarantees that the command + will be added to a queue and that we will, eventually, tend to it. + + Fixes: #9794 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 2ae1cba595d9c56a0a4c534b34fe25250e7eb2d5) + +commit 257bd17db6470ca050403b1c8ff8daa94a4b80b5 +Author: Joao Eduardo Luis +Date: Fri Oct 17 18:59:51 2014 +0100 + + mon: MDSMonitor: have management_command() returning int instead of bool + + We can more easily differentiate between errors we get out of this + function, which makes the code a bit more versatile and readable. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 0dd473cbad4f9ea403fe60badffdc6da4dd3aa3c) + +commit 9e9c3c652339d85863af01cac621228f04eb4f18 +Author: David Zafman +Date: Thu Oct 9 11:20:13 2014 -0700 + + osd: Get pgid ancestor from last_map when building past intervals + + Fixed OSD::build_past_intervals_parallel() and PG::generate_past_intervals() + + Fixes: #10430 + + Signed-off-by: David Zafman + (cherry picked from commit 0c5b66da7a9ba516340d06d9e806beb9d1040d0e) + +commit 90b37d9bdcc044e26f978632cd68f19ece82d19a +Merge: 2ccbc14 9f1f355 +Author: Loic Dachary +Date: Thu Mar 26 07:58:14 2015 +0100 + + Merge pull request #4175 from wonzhq/objecter-timer-2 + + Objecter: failed assert(tick_event==NULL) at osdc/Objecter.cc + + Reviewed-by: Loic Dachary + +commit 9f1f35546e00e8f1ecbce0697d59b64f3537facf +Author: Zhiqiang Wang +Date: Wed Mar 25 16:32:44 2015 +0800 + + Objecter: failed assert(tick_event==NULL) at osdc/Objecter.cc + + When the Objecter timer erases the tick_event from its events queue and + calls tick() to dispatch it, if the Objecter::rwlock is held by shutdown(), + it waits there to get the rwlock. However, inside the shutdown function, + it checks the tick_event and tries to cancel it. The cancel_event function + returns false since tick_event is already removed from the events queue. Thus + tick_event is not set to NULL in shutdown(). Later the tick function return + ealier and doesn't set tick_event to NULL as well. This leads to the assertion + failure. + + This is a regression introduced by an incorrect conflict resolution when + d790833 was backported. + + Fixes: #11183 + + Signed-off-by: Zhiqiang Wang + +commit 2ccbc14d17b54ea4fd4126cb04a7b83cd64c7f1e +Merge: 02f9cdb de4b087 +Author: Loic Dachary +Date: Mon Mar 23 20:39:26 2015 +0100 + + Merge pull request #4127 from dzafman/wip-11176-giant + + ceph-objectstore-tool: Output only unsupported features when incomatible + + Reviewed-by: Loic Dachary + +commit 02f9cdbf889071ca6fe3811d9b9a92a0b630fa55 +Merge: 83bcc51 fc43d8c +Author: Loic Dachary +Date: Sun Mar 22 23:11:46 2015 +0100 + + Merge pull request #4097 from dachary/wip-10497-giant + + librados: c api does not translate op flag + + Reviewed-by: Abhishek Lekshmanan + +commit 83bcc516743e426c7a8c6f6401721bffbbec4fc0 +Merge: ebab2bd d790833 +Author: Loic Dachary +Date: Sun Mar 22 23:11:26 2015 +0100 + + Merge pull request #4096 from dachary/wip-9617-giant + + objecter shutdown races with msg dispatch + + Reviewed-by: Abhishek Lekshmanan + +commit ebab2bd5f36205d666673600624aaa3e5e06c405 +Merge: e31c92d 970a797 +Author: Loic Dachary +Date: Sun Mar 22 23:11:03 2015 +0100 + + Merge pull request #4095 from dachary/wip-9675-giant + + splitting a pool doesn't start when rule_id != ruleset_id + + Reviewed-by: Abhishek Lekshmanan + +commit e31c92d8dd814d276357e431ed87b93d75933f77 +Merge: f0ec5e3 7653511 +Author: Loic Dachary +Date: Sun Mar 22 23:10:42 2015 +0100 + + Merge pull request #4094 from dachary/wip-9891-giant + + Assertion: os/DBObjectMap.cc: 1214: FAILED assert(0) + + Reviewed-by: Abhishek Lekshmanan + +commit f0ec5e3b3ed58af65323bcc494e589935147aa45 +Merge: dd7c15b 13b0147 +Author: Loic Dachary +Date: Sun Mar 22 23:10:25 2015 +0100 + + Merge pull request #4093 from dachary/wip-9915-giant + + osd: eviction logic reversed + + Reviewed-by: Abhishek Lekshmanan + +commit dd7c15b2b24027a7cc5fa4bff21222c5a4606e60 +Merge: 33b09e1 13b8364 +Author: Loic Dachary +Date: Sun Mar 22 23:09:28 2015 +0100 + + Merge pull request #4092 from dachary/wip-9985-giant + + osd: incorrect atime calculation + + Reviewed-by: Abhishek Lekshmanan + +commit 33b09e18aa78252d94cbec8bf94ec97ed5bb1573 +Merge: 950123e 5550cdd +Author: Loic Dachary +Date: Sun Mar 22 23:08:41 2015 +0100 + + Merge pull request #4091 from dachary/wip-9986-giant + + objecter: map epoch skipping broken + + Reviewed-by: Abhishek Lekshmanan + +commit 950123e4daa85562b2f52e0e12e0bae07f444095 +Merge: abdc065 21f81b8 +Author: Loic Dachary +Date: Sun Mar 22 23:08:16 2015 +0100 + + Merge pull request #4090 from dachary/wip-10059-giant + + osd/ECBackend.cc: 876: FAILED assert(0) + + Reviewed-by: Abhishek Lekshmanan + +commit abdc065acd6cafa6439e9c1724cc87de02352bd7 +Merge: aee2825 1ccf583 +Author: Loic Dachary +Date: Sun Mar 22 23:07:52 2015 +0100 + + Merge pull request #4089 from dachary/wip-10080-giant + + Pipe::connect() cause osd crash when osd reconnect to its peer + + Reviewed-by: Abhishek Lekshmanan + +commit aee28250fee66bca08d91e56ce47ec46c2e9fc24 +Merge: 6582253 3e875ab +Author: Loic Dachary +Date: Sun Mar 22 23:07:20 2015 +0100 + + Merge pull request #4088 from dachary/wip-6003-giant + + journal Unable to read past sequence 406 ... + + Reviewed-by: Abhishek Lekshmanan + +commit 65822530ebfdea2feb9192c6eb6e3b8b9d60fe33 +Merge: 4b20f2d 96a5c67 +Author: Loic Dachary +Date: Sun Mar 22 23:06:51 2015 +0100 + + Merge pull request #4082 from dachary/wip-10106-giant + + rgw acl response should start with + + Reviewed-by: Abhishek Lekshmanan + +commit 4b20f2d2d1ee52deed33617f000fa342ebce2e49 +Merge: 7ff3a67 c7b02f5 +Author: Loic Dachary +Date: Sun Mar 22 23:06:23 2015 +0100 + + Merge pull request #4078 from dachary/wip-11157-giant + + doc,tests: force checkout of submodules + + Reviewed-by: Abhishek Lekshmanan + +commit 7ff3a67c44ba3dc20a663a7dc6ba28c25714f063 +Merge: 440e706 4d4eb9f +Author: Loic Dachary +Date: Sun Mar 22 23:05:20 2015 +0100 + + Merge pull request #4077 from dachary/wip-10150-giant + + osd/ReplicatedPG.cc: 10853: FAILED assert(r >= 0) (in _scan_range) + + Reviewed-by: Abhishek Lekshmanan + +commit 440e70607e7e3cd1d8ca33843c626109431caf8d +Merge: 66f639b 499d94f +Author: Loic Dachary +Date: Sun Mar 22 23:04:51 2015 +0100 + + Merge pull request #4076 from dachary/wip-10153-giant + + Rados.shutdown() dies with Illegal instruction (core dumped) + + Reviewed-by: Abhishek Lekshmanan + +commit 66f639b30ce6c74caae9397f20053761203f8e87 +Merge: 43b45df b79852f +Author: Loic Dachary +Date: Sun Mar 22 23:04:25 2015 +0100 + + Merge pull request #4074 from dachary/wip-10220-giant + + mon/Paxos.cc: 1033: FAILED assert(mon->is_leader()) + + Reviewed-by: Abhishek Lekshmanan + +commit 43b45dfacd598bab51fa06c5d0e2d0605d6e83d6 +Merge: d282cfd b318e2f +Author: Loic Dachary +Date: Sun Mar 22 23:03:35 2015 +0100 + + Merge pull request #3548 from ceph/wip-10643 + + mon: MDSMonitor: missing backports for giant + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Loic Dachary + +commit d282cfd5ae3e65b74801cd27480ce8c0bd72d9a7 +Merge: 3f3b981 681c99f +Author: Loic Dachary +Date: Sun Mar 22 22:12:58 2015 +0100 + + Merge pull request #4053 from dachary/wip-8011-giant + + osd/ReplicatedPG.cc: 5244: FAILED assert(soid < scrubber.start || soid >= scrubber.end) + + Reviewed-by: Abhishek Lekshmanan + +commit 3f3b98123cb46080068c1c73f4be41acbe18bd0d +Merge: 6919eb1 4427358 +Author: Loic Dachary +Date: Sun Mar 22 22:12:40 2015 +0100 + + Merge pull request #4052 from dachary/wip-10844-giant + + mon: caps validation should rely on EntityName instead of entity_name_t + + Reviewed-by: Abhishek Lekshmanan + +commit 6919eb1684e34a6395963be6cc65215a51f5ba13 +Merge: 8876585 1d4ffbe +Author: Loic Dachary +Date: Sun Mar 22 22:12:15 2015 +0100 + + Merge pull request #4050 from dachary/wip-10817-giant + + WorkQueue: make timeout when calling WaitInterval configurable + + Reviewed-by: Abhishek Lekshmanan + +commit 88765851bd56a6a526f6ab724920c8858ec4956c +Merge: 6da3171 92c352d +Author: Loic Dachary +Date: Sun Mar 22 22:11:43 2015 +0100 + + Merge pull request #4049 from dachary/wip-10787-giant + + mon: OSDMonitor::map_cache is buggy, send_incremental is not conservative + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Sage Weil + +commit 6da3171f21b8e1a56fe941a5028f2ccfdccee18a +Merge: 5a6eefc 25fcaca +Author: Loic Dachary +Date: Sun Mar 22 22:09:28 2015 +0100 + + Merge pull request #4048 from dachary/wip-10770-giant + + rgw: pending bucket index operations are not cancelled correctly + + Reviewed-by: Abhishek Lekshmanan + +commit 5a6eefcb40c94da9a900d9893ecb6eaaf8fd0cea +Merge: c67a7a5 2858327 +Author: Loic Dachary +Date: Sun Mar 22 22:09:06 2015 +0100 + + Merge pull request #4046 from dachary/wip-10723-giant + + rados python binding leaks Ioctx objects + + Reviewed-by: Abhishek Lekshmanan + +commit c67a7a52dc96f176431125921e36e4a2b8a30f1c +Merge: 41dcd2d d5b1b7e +Author: Loic Dachary +Date: Sun Mar 22 22:08:45 2015 +0100 + + Merge pull request #4044 from dachary/wip-10617-giant + + osd: pgs for deleted pools don't finish getting removed if osd restarts + + Reviewed-by: Abhishek Lekshmanan + +commit 41dcd2d9c307dd0b25d27bd6673943f3fdaaa28b +Merge: 42e7413 c3d998e +Author: Loic Dachary +Date: Sun Mar 22 22:08:20 2015 +0100 + + Merge pull request #4034 from dachary/wip-10475-giant + + rgw: Swift API. Support for X-Remove-Container-Meta-{key} header. + + Reviewed-by: Abhishek Lekshmanan + +commit 42e741339913990521c4509f4e266921f8dbe007 +Merge: ffb76d1 fa8d454 +Author: Loic Dachary +Date: Sun Mar 22 22:07:53 2015 +0100 + + Merge pull request #4033 from dachary/wip-10471-giant + + rgw: index swift keys appropriately + + Reviewed-by: Abhishek Lekshmanan + +commit de4b08704172ac31b511dde50e5c11d58d811ca2 +Author: David Zafman +Date: Fri Mar 20 16:57:40 2015 -0700 + + ceph-objectstore-tool: Output only unsupported features when incomatible + + Fixes: #11176 + Backport: firefly, giant + + Signed-off-by: David Zafman + (cherry picked from commit 5b23f5b5892b36fb7d06efc0d77e64a24ef6e8c9) + +commit ffb76d16c5d9d65ac94d21b4e8fc1fdf86441977 +Merge: fea29b1 61d6006 +Author: John Spray +Date: Thu Mar 19 22:07:58 2015 +0000 + + Merge pull request #3971 from ceph/giant-11053 + + mds: fix assertion caused by system clock backwards + + Reviewed-by: John Spray + +commit c3d998e4c3c9d90b50c3f6c0af7d48785616e032 +Author: Dmytro Iurchenko +Date: Tue Feb 3 17:54:38 2015 +0200 + + rgw: Swift API. Support for X-Remove-Container-Meta-{key} header. + + Fixes: #10475 + Backport: hammer, firefly + Reported-by: Josh Durgin + Signed-off-by: Dmytro Iurchenko + (cherry picked from commit f67bfa24fd6f69c2fcc0987eba8b6b426dd78320) + + Conflicts: + src/rgw/rgw_rest.h + trivial merge: prototype of an unrelated function changed + src/rgw/rgw_op.cc + s/is_object_op/!(s->object == NULL)/ + +commit fc43d8c2c54ec9e9cb6ef4d19cca695eb2fb3aab +Author: Matt Richards +Date: Thu Jan 8 13:16:17 2015 -0800 + + librados: Translate operation flags from C APIs + + The operation flags in the public C API are a distinct enum + and need to be translated to Ceph OSD flags, like as happens in + the C++ API. It seems like the C enum and the C++ enum consciously + use the same values, so I reused the C++ translation function. + + Signed-off-by: Matthew Richards + (cherry picked from commit 49d114f1fff90e5c0f206725a5eb82c0ba329376) + +commit d790833cb84d6f6349146e4f9abdcdffb4db2ee0 +Author: Josh Durgin +Date: Mon Sep 29 18:17:29 2014 -0700 + + Objecter: check the 'initialized' atomic_t safely + + shutdown() resets initialized to 0, but we can still receive messages + after this point, so fix message handlers to skip messages in this + case instead of asserting. + + Also read initialized while holding Objecter::rwlock to avoid races + where e.g. handle_osd_map() checks initialized -> 1, continues, + shutdown() is called, sets initialized to 0, then handle_osd_map() + goes about its business and calls op_submit(), which would fail the + assert(initialized.read()) check. Similar races existed in other + message handlers which change Objecter state. + + The Objecter is not destroyed until after its Messenger in + the MDS, OSD, and librados, so this should be safe. + + Fixes: #9617 + Backport: giant + Signed-off-by: Josh Durgin + (cherry picked from commit e506f896a9217324ab7a7865989f4454562aed5f) + + Conflicts: + src/osdc/Objecter.cc + context changed: Objecter::tick() did not have + assert(initialized.read()) + +commit ce436a33e0f720ea4b8cf0363bcac1126be3c28b +Author: Josh Durgin +Date: Mon Sep 29 18:12:50 2014 -0700 + + Objecter: init with a constant of the correct type + + Just a tiny cleanup. + + Signed-off-by: Josh Durgin + (cherry picked from commit 1feba200aae7d9a042cda705c3de8fba2fc82331) + +commit 970a79753dc52d82d2abf29ffe6f88adac678eb0 +Author: Xiaoxi Chen +Date: Wed Aug 20 15:35:44 2014 +0800 + + CrushWrapper: pick a ruleset same as rule_id + + Originally in the add_simple_ruleset funtion, the ruleset_id + is not reused but rule_id is reused. So after some add/remove + against rules, the newly created rule likely to have + ruleset!=rule_id. + + We dont want this happen because we are trying to hold the constraint + that ruleset == rule_id. + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit 78e84f34da83abf5a62ae97bb84ab70774b164a6) + +commit 76535116823f02f0392226e5725fbfef14c277ba +Author: Samuel Just +Date: Fri Feb 20 13:43:46 2015 -0800 + + DBObjectMap: lock header_lock on sync() + + Otherwise, we can race with another thread updating state.seq + resulting in the old, smaller value getting persisted. If there + is a crash at that time, we will reuse a sequence number, resulting + in an inconsistent node tree and bug #9891. + + Fixes: 9891 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit 2b63dd25fc1c73fa42e52e9ea4ab5a45dd9422a0) + + Conflicts: + src/os/DBObjectMap.cc + because we have state.v = 1; instead of state.v = 2; + +commit 13b01473c5c1a116d6cd6acbbb6cbe08ee6e9433 +Author: Zhiqiang Wang +Date: Tue Oct 28 09:37:11 2014 +0800 + + osd: cache tiering: fix the atime logic of the eviction + + Reported-by: Xinze Chi + Signed-off-by: Zhiqiang Wang + (cherry picked from commit 622c5ac41707069ef8db92cb67c9185acf125d40) + +commit 13b8364dc869b2eefcb6646cff1e18c31126ce7d +Author: Sage Weil +Date: Fri Oct 31 19:33:59 2014 -0700 + + osd/ReplicatedPG: fix compile error + + From 1fef4c3d541cba360738437420ebfa2447d5802e. + + Signed-off-by: Sage Weil + (cherry picked from commit 4a9ad7dc2da6f4fa6a64235776a3f1d2799aef60) + +commit 55541b90db0a6d6c26c1fae6a4958fa5a320f82c +Author: Xinze Chi +Date: Wed Oct 29 07:11:11 2014 +0000 + + Get the currently atime of the object in cache pool for eviction + + Because if there are mutiple atime in agent_state for the same object, we should use the recently one. + + Signed-off-by: Xinze Chi + (cherry picked from commit 1fef4c3d541cba360738437420ebfa2447d5802e) + +commit 5550cdd876db913b152edad17a4de16bded31627 +Author: Ding Dinghua +Date: Thu Oct 30 14:58:42 2014 +0800 + + osdc/Objecter: Fix a bug of dead looping in Objecter::handle_osd_map + + If current map epoch is less than oldest epoch, current map epoch + should step up to oldest epoch. + + Fixes: #9986 + Signed-off-by: Ding Dinghua + (cherry picked from commit e0166a23c2cf655bfb4cf873be021a14d9b9be27) + +commit 7c5056f5cf77065e0e5a920f525f0a3be6b4b299 +Author: Ding Dinghua +Date: Thu Oct 30 14:58:05 2014 +0800 + + osdc/Objecter: e shouldn't be zero in Objecter::handle_osd_map + + Signed-off-by: Ding Dinghua + (cherry picked from commit 31c584c8ba022cd44fe2872d221f3026618cefab) + +commit 21f81b85de652aede51e88b87bdff71f2e411da3 +Author: Samuel Just +Date: Wed Nov 19 08:20:16 2014 -0800 + + PG: always clear_primary_state on new interval, but only clear pg temp if not primary + + Signed-off-by: Samuel Just + (cherry picked from commit f692bfe076b8ddb679c6d1a6ea78cc47f0876326) + +commit 0c3f7637d8cf2146a4268330d8c0506ad38c354d +Author: Samuel Just +Date: Fri Nov 14 15:44:20 2014 -0800 + + PG: always clear_primary_state when leaving Primary + + Otherwise, entries from the log collection process might leak into the next + epoch, where we might end up choosing a different authoritative log. In this + case, it resulted in us not rolling back to log entries on one of the replicas + prior to trying to recover from an affected object due to the peer_missing not + being cleared. + + Fixes: #10059 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit c87bde64dfccb5d6ee2877cc74c66fc064b1bcd7) + +commit 1ccf58355d0796172935938572cf68ceb31a6801 +Author: Greg Farnum +Date: Tue Dec 2 15:17:57 2014 -0800 + + SimpleMessenger: allow RESETSESSION whenever we forget an endpoint + + In the past (e229f8451d37913225c49481b2ce2896ca6788a2) we decided to disable + reset of lossless Pipes, because lossless peers resetting caused trouble and + they can't forget about each other. But they actually can: if mark_down() + is called. + + I can't figure out how else we could forget about a remote endpoint, so I think + it's okay if we tell them we reset in order to clean up state. That's desirable + so that we don't get into strange situations with out-of-whack counters. + + Fixes: #10080 + Backport: giant, firefly, dumpling + + Signed-off-by: Greg Farnum + (cherry picked from commit 8cd1fdd7a778eb84cb4d7161f73bc621cc394261) + +commit 3e875ab108de8d2aa3717f76a3fe48ede286abb7 +Author: Samuel Just +Date: Fri Feb 6 09:52:29 2015 -0800 + + FileJournal: fix journalq population in do_read_entry() + + Fixes: 6003 + Backport: dumpling, firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit bae1f3eaa09c4747b8bfc6fb5dc673aa6989b695) + + Conflicts: + src/os/FileJournal.cc + because reinterpret_cast was added near two hunks after firefly + +commit 96a5c67121dde0d4d4cd13793bb131414b64cc28 +Author: Yehuda Sadeh +Date: Fri Jan 30 18:42:40 2015 -0800 + + rgw: flush xml header on get acl request + + Fixes: #10106 + Backport: firefly, giant + + dump_start() updates the formatter with the appropriate prefix, however, + we never flushed the formatter. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit eb45f861343162e018968b8c56693a8c6f5b2cab) + +commit c7b02f5a7347ea8688c5214f85bb9f612925a586 +Author: Loic Dachary +Date: Thu Mar 19 00:32:39 2015 +0100 + + doc,tests: force checkout of submodules + + When updating submodules, always checkout even if the HEAD is the + desired commit hash (update --force) to avoid the following: + + * a directory gmock exists in hammer + * a submodule gmock replaces the directory gmock in master + * checkout master + submodule update : gmock/.git is created + * checkout hammer : the gmock directory still contains the .git from + master because it did not exist at the time and checkout won't + remove untracked directories + * checkout master + submodule update : git rev-parse HEAD is + at the desired commit although the content of the gmock directory + is from hammer + + http://tracker.ceph.com/issues/11157 Fixes: #11157 + + Signed-off-by: Loic Dachary + +commit 4d4eb9faf1871c4469b78a7ee75d527ce5cc67ad +Author: Samuel Just +Date: Thu Dec 11 13:05:54 2014 -0800 + + ReplicatedPG::scan_range: an object can disappear between the list and the attr get + + The first item in the range is often last_backfill, upon which writes + can be occuring. It's trimmed off on the primary side anyway. + + Fixes: 10150 + Backport: dumpling, firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit dce6f288ad541fe7f0ef8374301cd712dd3bfa39) + +commit 499d94f573e78f6545bd5a12ade6b5ba5a75bbca +Author: Federico Simoncelli +Date: Sat Nov 15 14:14:04 2014 +0000 + + common: do not unlock rwlock on destruction + + According to pthread_rwlock_unlock(3p): + + Results are undefined if the read-write lock rwlock is not held + by the calling thread. + + and: + + https://sourceware.org/bugzilla/show_bug.cgi?id=17561 + + Calling pthread_rwlock_unlock on an rwlock which is not locked + is undefined. + + calling pthread_rwlock_unlock on RWLock destruction could cause + an unknown behavior for two reasons: + + - the lock is acquired by another thread (undefined) + - the lock is not acquired (undefined) + + Moreover since glibc-2.20 calling pthread_rwlock_unlock on a + rwlock that is not locked results in a SIGILL that kills the + application. + + This patch removes the pthread_rwlock_unlock call on destruction + and replaces it with an assertion to check that the RWLock is + not in use. + + Any code that relied on the implicit release is now going to + break the assertion, e.g.: + + { + RWLock l; + l.get(for_write); + } // implicit release, wrong. + + Signed-off-by: Federico Simoncelli + (cherry picked from commit cf2104d4d991361c53f6e2fea93b69de10cd654b) + +commit b79852f3ab0643bbb3f6b71a56b15e5a4b5fc1f5 +Author: Joao Eduardo Luis +Date: Wed Dec 10 17:46:35 2014 +0000 + + mon: Paxos: reset accept timeout before submiting work to the store + + Otherwise we may trigger the timeout while waiting for the work to be + committed to the store -- and it would only take the write to take a bit + longer than 10 seconds (default accept timeout). + + We do wait for the work to be properly committed to the store before + extending the lease though. + + Fixes: #10220 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 18534615f184ba56b441fd1d4242eb06debdfe13) + +commit e997c9fed5feb3e877dfe07ffac1327b85d09ea2 +Author: Joao Eduardo Luis +Date: Tue Dec 9 17:35:47 2014 +0000 + + mon: MonitorDBStore: allow randomly injecting random delays on writes + + Adds two new config options: + + mon_inject_transaction_delay_probability : DOUBLE (0.0-1.0, default: 0.0) + mon_inject_transaction_delay_max : DOUBLE (seconds, default: 10.0) + + If probability is set to a value greater than 0, just before applying + the transaction, the store will decide whether to inject a delay, + randomly choosing a value between 0 and the max. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit beaa04e4119765d5775a6c48fd072dd95c984e3b) + +commit 1d4ffbe1d233de555c1ecb0a33eebe2391b29f33 +Author: Samuel Just +Date: Mon Feb 9 17:41:19 2015 -0800 + + ShardedThreadPool: make wait timeout on empty queue configurable + + Fixes: 10818 + Backport: giant + Signed-off-by: Samuel Just + (cherry picked from commit 7002f934e6664daa995ca0629c0ea3bae1c6bddf) + +commit 292c4339c064968c2aa05eec701fbc2a8d82dab0 +Author: Samuel Just +Date: Mon Feb 9 17:11:38 2015 -0800 + + WorkQueue: make wait timeout on empty queue configurable + + Fixes: 10817 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit 5aa6f910843e98a05bfcabe6f29d612cf335edbf) + +commit fea29b1bcbd17b3d1f642398ec70dbe258bbc98f +Author: Samuel Just +Date: Thu Nov 20 15:15:08 2014 -0800 + + PGLog: include rollback_info_trimmed_to in (read|write)_log + + Fixes: #10157 + Backport: firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit 1fe8b846641486cc294fe7e1d2450132c38d2dba) + +commit 4427358bb556d902b01df27fd097cc3eefa561da +Author: Joao Eduardo Luis +Date: Wed Feb 11 23:36:01 2015 +0000 + + mon: MonCap: take EntityName instead when expanding profiles + + entity_name_t is tightly coupled to the messenger, while EntityName is + tied to auth. When expanding profiles we want to tie the profile + expansion to the entity that was authenticated. Otherwise we may incur + in weird behavior such as having caps validation failing because a given + client messenger inst does not match the auth entity it used. + + e.g., running + + ceph --name osd.0 config-key exists foo daemon-private/osd.X/foo + + has entity_name_t 'client.12345' and EntityName 'osd.0'. Using + entity_name_t during profile expansion would not allow the client access + to daemon-private/osd.X/foo (client.12345 != osd.X). + + Fixes: #10844 + Backport: firefly,giant + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 87544f68b88fb3dd17c519de3119a9ad9ab21dfb) + +commit 8902279dd4b52516d59db712bd59e8d9372611a6 +Author: Joao Eduardo Luis +Date: Fri Nov 14 21:03:54 2014 +0000 + + mon: Monitor: stash auth entity name in session + + Backport: giant + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit ca8e1efc0be9bffcfbdce5593526d257aa498062) + +commit 681c99fe12cfa6318f8cf06f4e825805635bcc07 +Author: Samuel Just +Date: Thu Nov 20 14:27:39 2014 -0800 + + ReplicatedPG: fail a non-blocking flush if the object is being scrubbed + + Fixes: #8011 + Backport: firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit 9b26de3f3653d38dcdfc5b97874089f19d2a59d7) + +commit 1f58a0adc3b23785fac00083d721b62f6a4c44a1 +Merge: 9fee7ba fe7d4ca +Author: Sage Weil +Date: Tue Mar 17 10:52:01 2015 -0700 + + Merge pull request #4042 from dachary/wip-10546-giant + + ceph time check start round bug in monitor.cc + +commit 9fee7ba9d7343bda29bc5113f8db5cdd9c09d71a +Merge: ca635ce e7af52a +Author: Sage Weil +Date: Tue Mar 17 10:50:26 2015 -0700 + + Merge pull request #4047 from dachary/wip-10762-giant + + mon: osd gets marked down twice + +commit ca635ce3eb21135b08613b97ce0c56977de44351 +Merge: 9094185 5771f57 +Author: Sage Weil +Date: Tue Mar 17 10:49:53 2015 -0700 + + Merge pull request #4041 from dachary/wip-10512-giant + + osd: cancel_flush requeues blocked events after blocking event + +commit 90941850ceb2c080ac72c67fed991c951b13f449 +Merge: bc1b9d2 5fca232 +Author: Sage Weil +Date: Tue Mar 17 10:47:26 2015 -0700 + + Merge pull request #4031 from dachary/wip-10353-giant + + crush: set_choose_tries = 100 for erasure code rulesets + +commit bc1b9d22d29a74e6853834fb0430e8803710bbbf +Merge: bd69cfc 30a1744 +Author: Sage Weil +Date: Tue Mar 17 10:47:08 2015 -0700 + + Merge pull request #4029 from dachary/wip-9910-giant + + msg/Pipe: discard delay queue before incoming queue + + Reviewed-by: Greg Farnum + +commit bd69cfcbd58103843fbc42c4e55d43c2bafe54ff +Merge: 30f7df2 4bd5237 +Author: Sage Weil +Date: Tue Mar 17 10:44:53 2015 -0700 + + Merge pull request #4030 from dachary/wip-10351-giant + + mount.ceph: avoid spurious error message + + Reviewed-by: John Spray + +commit 30f7df2b110f73477354fbfa607b4777317dddfa +Merge: e5a50c3 8307318 +Author: Sage Weil +Date: Tue Mar 17 10:44:00 2015 -0700 + + Merge pull request #4028 from dachary/wip-10259-giant + + osd_types: op_queue_age_hist and fs_perf_stat should be in osd_stat_t::o... + +commit e5a50c3ae42c8b9d16a19a13e10fc35b91149e73 +Merge: ba1d55d a5a76f8 +Author: Sage Weil +Date: Tue Mar 17 10:42:10 2015 -0700 + + Merge pull request #4027 from dachary/wip-10257-giant + + mon: PGMonitor: several stats output error fixes + +commit ba1d55de1e92a0143702e9e3fbbb1820db17d6c3 +Merge: 530fce4 640986f +Author: Sage Weil +Date: Tue Mar 17 10:41:56 2015 -0700 + + Merge pull request #3998 from dzafman/wip-10677 + + Fix ceph command manpage to match ceph -h (giant) + + Reviewed-by: Xinxin Shu + +commit 530fce4d7cf51f4a4ac1e70ebe20b2795a30010e +Merge: a2a3dad 8a5a3c7 +Author: Sage Weil +Date: Tue Mar 17 10:40:02 2015 -0700 + + Merge pull request #3921 from sponce/wip-11078-giant + + Fix libstriprados::stat, use strtoll insdead of strtol + +commit a2a3dad8ec00434b99d6d538615bf8ff9eada217 +Merge: 0f57188 984df3b +Author: Sage Weil +Date: Tue Mar 17 10:36:28 2015 -0700 + + Merge pull request #3819 from tchaikov/giant-pg-leak-10421 + + osd: fix PG leak in SnapTrimWQ._clear() + +commit 0f5718822793074ffab45124afb3bf3160e92004 +Merge: 776c82c c5c6fcd +Author: Sage Weil +Date: Tue Mar 17 10:35:37 2015 -0700 + + Merge pull request #3771 from ceph/wip-10883-giant + + osd: Fix FileJournal wrap to get header out first + +commit 776c82caac36de14a5f895688f81c88a883fca3e +Merge: 938e036 37f196e +Author: Sage Weil +Date: Tue Mar 17 10:35:29 2015 -0700 + + Merge pull request #3637 from sponce/wip-10758-giant + + Backport of pull request 3633 to giant : Fixed write_full behavior in libradosstriper + +commit 92c352d047c84035478e71828e32f554d9f507fc +Author: Sage Weil +Date: Thu Feb 12 13:49:50 2015 -0800 + + mon/OSDMonitor: do not trust small values in osd epoch cache + + If the epoch cache says the osd has epoch 100 and the osd is asking for + epoch 200+, do not send it 100+. + + Fixes: #10787 + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit a5759e9b97107488a8508f36adf9ca1aba3fae07) + +commit 25fcaca19c76765284787c61584d25efd105a0ca +Author: Yehuda Sadeh +Date: Thu Feb 5 09:33:26 2015 -0800 + + rgw: send appropriate op to cancel bucket index pending operation + + Fixes: #10770 + Backport: firefly, giant + + Reported-by: baijiaruo + Signed-off-by: Yehuda Sadeh + (cherry picked from commit dfee96e3aebcaeef18c721ab73f0460eba69f1c7) + + Conflicts: + src/rgw/rgw_rados.cc + resolved by manual s/ADD/CANCEL/ + +commit e7af52a147cc6e1a578d51193a2d5a425cee8a20 +Author: Sage Weil +Date: Thu Feb 5 03:07:50 2015 -0800 + + mon: ignore osd failures from before up_from + + If the failure was generated for an instance of the OSD prior to when + it came up, ignore it. + + This probably causes a fair bit of unnecessary flapping in the wild... + + Backport: giant, firefly + Fixes: #10762 + Reported-by: Dan van der Ster + Signed-off-by: Sage Weil + (cherry picked from commit 400ac237d35d0d1d53f240fea87e8483c0e2a7f5) + +commit 28583276254ba6121b93688a6c6d8fab6588c864 +Author: Josh Durgin +Date: Mon Feb 9 20:50:23 2015 -0800 + + rados.py: keep reference to python callbacks + + If we don't keep a reference to these, the librados aio calls will + segfault since the python-level callbacks will have been garbage + collected. Passing them to aio_create_completion() does not take a + reference to them. Keep a reference in the python Completion object + associated with the request, since they need the same lifetime. + + This fixes a regression from 60b019f69aa0e39d276c669698c92fc890599f50. + + Fixes: #10775 + Backport: dumpling, firefly, giant + Signed-off-by: Josh Durgin + (cherry picked from commit 36d37aadbbbece28d70e827511f1a473d851463d) + (cherry picked from commit 5f1245e131e33a98572408c8223deed2c7cf7b75) + +commit 1b5fb51a995d5d672a46176240d5887354c12967 +Author: Billy Olsen +Date: Mon Feb 2 16:24:59 2015 -0700 + + Fix memory leak in python rados bindings + + A circular reference was inadvertently created when using the + CFUNCTYPE binding for callbacks for the asynchronous i/o callbacks. + This commit refactors the usage of the callbacks such that the + Ioctx object does not have a class reference to the callbacks. + + Fixes: #10723 + Backport: giant, firefly, dumpling + Signed-off-by: Billy Olsen + Reviewed-by: Dan Mick + Reviewed-by: Josh Durgin + (cherry picked from commit 60b019f69aa0e39d276c669698c92fc890599f50) + +commit d5b1b7e52242e082820e0cdd76dc59e9aea7f284 +Author: Sage Weil +Date: Fri Jan 23 10:47:44 2015 -0800 + + osd: do not ignore deleted pgs on startup + + These need to get instantiated so that we can complete the removal process. + + Fixes: #10617 + Signed-off-by: Sage Weil + (cherry picked from commit 879fd0c192f5d3c6afd36c2df359806ea95827b8) + +commit fe7d4ca17dacf4419be7bdc50010115cee36517b +Author: Joao Eduardo Luis +Date: Fri Jan 30 11:37:28 2015 +0000 + + mon: Monitor: fix timecheck rounds period + + Fixes: #10546 + Backports: dumpling?,firefly,giant + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 2e749599ac6e1060cf553b521761a93fafbf65bb) + +commit 5771f57af731e61bf70f630cf85f5b94dcfd1edb +Author: Sage Weil +Date: Sun Jan 11 17:28:04 2015 -0800 + + osd: requeue blocked op before flush it was blocked on + + If we have request A (say, cache-flush) that blocks things, and then + request B that gets blocked on it, and we have an interval change, then we + need to requeue B first, then A, so that the resulting queue will keep + A before B and preserve the order. + + This was observed on this firefly run: + + ubuntu@teuthology:/a/sage-2015-01-09_21:43:43-rados-firefly-distro-basic-multi/694675 + + Backport: giant, firefly + Fixes: #10512 + Signed-off-by: Sage Weil + (cherry picked from commit 11bdfb4131ecac16d4a364d651c6cf5d1d28c702) + +commit fa8d45423e22f7b916a345024a9f70283fc3097d +Author: Yehuda Sadeh +Date: Wed Jan 7 13:56:14 2015 -0800 + + rgw: index swift keys appropriately + + Fixes: #10471 + Backport: firefly, giant + + We need to index the swift keys by the full uid:subuser when decoding + the json representation, to keep it in line with how we store it when + creating it through other mechanism. + + Reported-by: hemant burman + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 478629bd2f3f32afbe6e93eaebb8a8fa01af356f) + +commit 5fca232080c0bde50b5c65c60c133bf81311e8d3 +Author: Loic Dachary +Date: Wed Dec 17 16:06:55 2014 +0100 + + crush: set_choose_tries = 100 for erasure code rulesets + + It is common for people to try to map 9 OSDs out of a 9 OSDs total ceph + cluster. The default tries (50) will frequently lead to bad mappings for + this use case. Changing it to 100 makes no significant CPU performance + difference, as tested manually by running crushtool on one million + mappings. + + http://tracker.ceph.com/issues/10353 Fixes: #10353 + + Signed-off-by: Loic Dachary + (cherry picked from commit 2f87ac807f3cc7ac55d9677d2051645bf5396a62) + +commit 4bd523744cefb4a5e6b0d4440b9829b0e19dc012 +Author: Yan, Zheng +Date: Sat Jan 3 15:29:29 2015 +0800 + + mount.ceph: avoid spurious error message + + /etc/mtab in most modern distributions is a symbol link to + /proc/self/mounts. + + Fixes: #10351 + Signed-off-by: Yan, Zheng + (cherry picked from commit bdd0e3c4bda97fe18487a58dd173a7dff752e1a2) + +commit 30a17441f5030ac5c1227a9672811f88e580b4b2 +Author: Sage Weil +Date: Wed Oct 29 14:45:11 2014 -0700 + + msg/Pipe: discard delay queue before incoming queue + + Shutdown the delayed delivery before the incoming queue in case the + DelayedDelivery thread is busy queuing messages. + + Fixes: #9910 + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit f7431cc3c25878057482007beb874c9d4473883e) + +commit 8307318cdf9487dde3231aa4a00fca6079379738 +Author: Samuel Just +Date: Fri Dec 5 15:29:52 2014 -0800 + + osd_types: op_queue_age_hist and fs_perf_stat should be in osd_stat_t::operator== + + Fixes: 10259 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit 1ac17c0a662e6079c2c57edde2b4dc947f547f57) + +commit a5a76f81ae9242a54d6ef150fa0ac32b31e90c25 +Author: Joao Eduardo Luis +Date: Mon Jan 19 18:49:15 2015 +0000 + + mon: PGMonitor: skip zeroed osd stats on get_rule_avail() + + Fixes: #10257 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit b311e7c36273efae39aa2602c1f8bd90d39e5975) + +commit 95ec68505ce4a26ea707716791cfb1e46a75ed25 +Author: Joao Eduardo Luis +Date: Fri Jan 16 18:13:05 2015 +0000 + + mon: PGMonitor: available size 0 if no osds on pool's ruleset + + get_rule_avail() may return < 0, which we were using blindly assuming it + would always return an unsigned value. We would end up with weird + values if the ruleset had no osds. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 8be6a6ab2aa5a000a39c73a98b11a0ab32fffa1c) + +commit 1c480b39acc184018d976beddc55187f86dfff1a +Author: Joao Eduardo Luis +Date: Fri Jan 16 18:12:42 2015 +0000 + + mon: PGMonitor: fix division by zero on stats dump + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 50547dc3c00b7556e26b9a44ec68640c5c3a2384) + +commit 640986fdef3543c7469e43853900b63d7b2f6f36 +Author: David Zafman +Date: Fri Mar 13 19:16:47 2015 -0700 + + doc: Fix ceph command manpage to match ceph -h (giant) + + Fixes: #10677 + + Signed-off-by: David Zafman + +commit ec4c8997a67397e3ba5f335e444586f6f1a7864c +Author: David Zafman +Date: Fri Mar 13 16:50:13 2015 -0700 + + doc: Minor fixes to ceph command manpage + + Fixes: #10676 + + Signed-off-by: David Zafman + (cherry picked from commit 7e85722fd4c89715fc2ed79697c82d65d7ebf287) + +commit 15e1c6fb3a0e2e191025f96df33feaf115c1411d +Author: David Zafman +Date: Thu Mar 12 11:39:52 2015 -0700 + + doc: Fix ceph command manpage to match ceph -h (firefly) + + Improve synopsis section + Fixes: #10676 + + Signed-off-by: David Zafman + (cherry picked from commit 9ac488c1eb0e30511079ba05aaf11c79615b3940) + + Conflicts: + + man/ceph.8 (took incoming version) + +commit 17d03e8e8b055ed50b1abb679a0dd1edf4ec3f30 +Author: Nilamdyuti Goswami +Date: Thu Dec 18 17:11:22 2014 +0530 + + doc: Changes format style in ceph to improve readability as html. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 8b796173063ac9af8c21364521fc5ee23d901196) + +commit 61d600687ae6887a2edea0e79d582b1353558a83 +Author: Yan, Zheng +Date: Tue Mar 10 19:55:57 2015 +0800 + + mds: fix assertion caused by system clock backwards + + Fixes: #11053 + Signed-off-by: Yan, Zheng + +commit f1c9c71fd6d566687db05e1d8f15b04a9f793005 +Author: Nilamdyuti Goswami +Date: Sat Dec 13 02:24:41 2014 +0530 + + doc: Adds man page for ceph. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 76da87a64ca6b3cc0ceeaf63e19a9f440d6f4161) + +commit 8a5a3c7a20517c7482dc9f5f2783a3da54bd4f23 +Author: Dongmao Zhang +Date: Fri Nov 14 18:48:58 2014 +0800 + + Fix libstriprados::stat, use strtoll insdead of strtol + + The return value(long int) of strict_strtol is too small for unstriped + object. + + Signed-off-by: Dongmao Zhang + (cherry picked from commit fe6679dca479fc24806d7e57ab0108a516cd6d55) + +commit 5d423a5188c62650eaa39077eb99a84085f5f3e2 +Author: Dongmao Zhang +Date: Wed Dec 10 18:55:28 2014 +0800 + + Fix libstriprados::remove, use strtoll insdead of strtol + + Signed-off-by: Dongmao Zhang + (cherry picked from commit 78a15ee4c61fdadccb1921e861748400cc651862) + +commit 938e03630e075af03780da139ae879b5b0377734 +Author: Samuel Just +Date: Mon Feb 2 13:57:00 2015 -0800 + + Objecter::_op_submit_with_budget: add timeout before call + + Objecter::_send_op depends on the ontimeout field being filled in + to avoid 10340 and 9582. + + Fixes: 10340 + Signed-off-by: Samuel Just + (cherry picked from commit cfcfafcb0f33994dbda1efe478ef3ab822ff50d4) + +commit 984df3b865f295ecf77b041a69d1d59384d80671 +Author: Kefu Chai +Date: Tue Feb 10 16:29:45 2015 +0800 + + osd: fix PG leak in SnapTrimWQ._clear() + + Fixes: #10421 + Signed-off-by: Kefu Chai + (cherry picked from commit 01e154d592d6cdbf3f859cf1b4357e803536a6b4) + +commit c5c6fcd6ad7a0317301970bc25419727ee3192fa +Author: David Zafman +Date: Wed Feb 18 16:21:12 2015 -0800 + + osd: Fix FileJournal wrap to get header out first + + Correct and restore assert that was removed + + Cause by f46b1b473fce0322a672b16c7739e569a45054b6 + Fixes: #10883 + Backport: dumpling, firefly, giant + + Signed-off-by: David Zafman + (cherry picked from commit 970bb4901f93575709421b5b25c3eff213de61b8) + +commit 37f196e80906d6b855ca0a7ce7344d1f8f50ae7f +Author: Sebastien Ponce +Date: Thu Feb 5 10:46:37 2015 +0100 + + libradosstriper: fixed write_full when ENOENT + + Fixes: #10758 + write_full was returning ENOENT when the file did not exists, while it should just have created it without complaining. + + Signed-off-by: Sebastien Ponce + (cherry picked from commit 6a91f2bb82035b3c8021a7dc7b23548ce3d61eb6) + +commit b318e2ffc3faedf6b02908429eb4ce79147d3471 (refs/remotes/gh/wip-10643) +Author: Joao Eduardo Luis +Date: Fri Oct 17 18:01:05 2014 +0100 + + mon: MDSMonitor: don't return -EINVAL if function is bool + + Returning -EINVAL on a function that expects bool and the error code to + be in a variable 'r' can only achieve one thing: if this path is ever + touched, instead of returning an error as it was supposed to, we're + returning 'true' with 'r = 0' and, for no apparent reason, the user will + think everything went smoothly but with no new fs created. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 91b2a2b69b198567d42f45f75b7f7ea559f89150) + +commit a1a7d856f5409280b6345afbbd961bcd8ee8d046 +Author: Joao Eduardo Luis +Date: Fri Oct 17 17:43:33 2014 +0100 + + mon: MDSMonitor: check all conditions are met *before* osdmon proposal + + We should not allow ourselves to request the osdmon to propose before we + know for sure that we meet the required conditions to go through with + our own state change. Even if we still can't guarantee that our + proposal is going to be committed, we shouldn't just change the osdmon's + state just because we can. This way, at least, we make sure that our + checks hold up before doing anything with side-effects. + + Fixes: #10643 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 1d1ae413e9f0aafa314af903bcf6b815f6558082) + +commit 0df7cf1e58bc4d77c69354f2a7160e3d9e6d1fc1 +Author: Joao Eduardo Luis +Date: Fri Oct 17 17:37:03 2014 +0100 + + mon: MDSMonitor: return if fs exists on 'fs new' + + We were just setting return code to -EINVAL, while allowing the logic to + continue regardless. If we are to return error, then we should abort + the operation as well and let the user know it went wrong instead of + continuing as if nothing had happened. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 07b7f101057a80d1356bd20040180e94cd20c211) diff --git a/doc/changelog/v0.94.1.txt b/doc/changelog/v0.94.1.txt new file mode 100644 index 00000000..227267dd --- /dev/null +++ b/doc/changelog/v0.94.1.txt @@ -0,0 +1,74 @@ +commit e4bfad3a3c51054df7e537a724c8d0bf9be972ff (tag: refs/tags/v0.94.1, refs/remotes/gh/hammer) +Author: Jenkins +Date: Fri Apr 10 12:04:50 2015 -0700 + + 0.94.1 + +commit 733864738fa93979727e480e403293e079bb51e9 +Merge: b5921d5 5ca771a +Author: Loic Dachary +Date: Fri Apr 10 17:51:38 2015 +0200 + + Merge pull request #4328 from dachary/wip-11364-hammer + + v4 bucket feature detection + + Reviewed-by: Sage Weil + +commit 5ca771a7d1df8e78ee503a7063068cf744d5efcc +Author: Sage Weil +Date: Fri Apr 10 08:43:45 2015 -0700 + + crush: fix has_v4_buckets() + + alg, not type! + + This bug made us incorrectly think we were using v4 features when user type + 5 was being used. That's currently 'rack' with recent crush maps, but + was other types for clusters that were created with older versions. This + is clearly problematic as it will lock out non-hammer clients incorrectly, + breaking deployments on upgrade. + + Fixes: #11364 + Backport: hammer + Signed-off-by: Sage Weil + (cherry picked from commit 38b35ab9d17eb84ac178c4cd3ebcf2ec0f66d8b6) + +commit 33e79ab7aa0b5428e8fb82a90eea17d31d363a88 +Author: Sage Weil +Date: Thu Apr 9 17:17:59 2015 -0700 + + crush: fix dump of has_v4_buckets + + Backport: hammer + Signed-off-by: Sage Weil + (cherry picked from commit d6e23413017fb8f5d7f18d74e993ceeedb82d8bc) + +commit b5921d55d16796e12d66ad2c4add7305f9ce2353 +Author: Sage Weil +Date: Thu Apr 9 14:42:34 2015 -0700 + + crush/mapper: fix divide-by-0 in straw2 + + If the item weight is 0 we don't want to divide; instead draw a minimal + value. + + Fixes: #11357 + Reported-by: Yann Dupont + Tested-by: Yann Dupont + Signed-off-by: Sage Weil + (cherry picked from commit 64d1e900ec4f5831972ec80e8d0129604669f5bb) + +commit 93c8f436a4f84ac8088e1a1de82350dd33c68d64 +Author: Guang Yang +Date: Thu Feb 26 08:13:12 2015 +0000 + + osd: fix negative degraded objects during backfilling + + When there is deleting requests during backfilling, the reported number of degraded + objects could be negative, as the primary's num_objects is the latest (locally) but + the number for replicas might not reflect the deletings. A simple fix is to ignore + the negative subtracted value. + + Signed-off-by: Guang Yang + (cherry picked from commit 14d7e36d3c978844da73d0e1c8a3a1ec863bac15) diff --git a/doc/changelog/v0.94.10.txt b/doc/changelog/v0.94.10.txt new file mode 100644 index 00000000..342e6a67 --- /dev/null +++ b/doc/changelog/v0.94.10.txt @@ -0,0 +1,2728 @@ +commit b1e0532418e4631af01acbc0cedd426f1905f4af +Author: Jenkins Build Slave User +Date: Tue Feb 21 15:12:34 2017 +0000 + + 0.94.10 + +commit 83af8cdaaa6d94404e6146b68e532a784e3cc99c +Merge: 5855083 5485b49 +Author: Nathan Cutler +Date: Mon Jan 23 17:49:54 2017 +0100 + + Merge pull request #13041 from SUSE/wip-18448-hammer + + hammer: osd: filestore: FALLOC_FL_PUNCH_HOLE must be used with FALLOC_FL_KEEP_SIZE + + Reviewed-by: Sage Weil + +commit 585508358f6412b179175a7812b76330ec5dda0d +Merge: 4e4d3f0 eabe906 +Author: John Spray +Date: Mon Jan 23 12:26:27 2017 +0100 + + Merge pull request #13022 from SUSE/wip-18602-hammer + + hammer: cephfs test failures (ceph.com/qa is broken, should be download.ceph.com/qa) + + Reviewed-by: John Spray + +commit 4e4d3f0fd86840609940f6b336f6aaf54a8695bc +Merge: 9036fee cf9678c +Author: John Spray +Date: Mon Jan 23 12:25:43 2017 +0100 + + Merge pull request #13039 from SUSE/wip-fs-thrash-xfs + + tests: run fs/thrash on xfs instead of btrfs + + Reviewed-by: John Spray + +commit eabe9064aed3693599e3b6053b57eafb835d35da +Author: John Spray +Date: Tue Jan 17 17:12:46 2017 +0100 + + qa: update remaining ceph.com to download.ceph.com + + Fixes: http://tracker.ceph.com/issues/18574 + Signed-off-by: John Spray + (cherry picked from commit 549d993d3fd8ffffa280ed4a64aca41d1c6f2da1) + +commit 5485b49da39b9f07a4216ff26f8ec9e04590ddf8 +Author: Nathan Cutler +Date: Sat Jan 21 14:54:52 2017 +0100 + + os/filestore: FALLOC_FL_PUNCH_HOLE must be used with FALLOC_FL_KEEP_SIZE + + Signed-off-by: xinxin shu + (cherry picked from commit 7bd95b595fddb8a4e618a2c7df1ba04eccf0829d) + + Conflicts: + src/os/FileStore.cc (in master, this file is in a different location) + +commit cf9678c998600e76e94777b2904ba3047d051bb8 +Author: Nathan Cutler +Date: Sat Jan 21 14:24:25 2017 +0100 + + tests: run fs/thrash on xfs instead of btrfs + + Signed-off-by: Nathan Cutler + +commit 9036feed9bd9f386dc013dee8326071ef0b4cbee +Merge: 33c7ab7 fa5c625 +Author: Nathan Cutler +Date: Sat Jan 21 10:00:04 2017 +0100 + + Merge pull request #12824 from SUSE/wip-18449-hammer + + hammer: [teuthology] update rbd/singleton/all/formatted-output.yaml to support ceph-ci + +commit 33c7ab7480aa8d0ee80d6a47f91f4488515e07f8 +Merge: ef8ae1f ef513a7 +Author: Nathan Cutler +Date: Fri Jan 20 23:10:10 2017 +0100 + + Merge pull request #12906 from SUSE/wip-15943-hammer + + hammer: osd/PG: fix cached_removed_snaps bug in PGPool::update after map gap + + Reviewed-by: Samuel Just + +commit ef8ae1ff13b297c68ed4f1d0e01aba8d20dc5007 +Merge: c51602f 8bab745 +Author: Nathan Cutler +Date: Fri Jan 20 23:02:05 2017 +0100 + + Merge pull request #12805 from SUSE/wip-18432-hammer + + hammer: ceph-create-keys loops forever + + Reviewed-by: Nathan Cutler + +commit c51602f0106e3681c143a2cfd94a08428e966caf +Merge: 48687c7 83e7f17 +Author: Jason Dillaman +Date: Tue Jan 17 08:39:14 2017 -0500 + + Merge pull request #12957 from SUSE/wip-18544-hammer + + hammer: [teuthology] update Ubuntu image url after ceph.com refactor + + Reviewed-by: Jason Dillaman + +commit 83e7f178c9a0b70305644ca30598c1b1ff4d0474 +Author: Jason Dillaman +Date: Mon Jan 16 22:12:51 2017 -0500 + + qa/tasks/qemu: update default image url after ceph.com redesign + + Fixes: http://tracker.ceph.com/issues/18542 + Signed-off-by: Jason Dillaman + (cherry picked from commit 6d17befb3bbc3d83c9d23d763ad95e1e7b2e4be0) + +commit ef513a78062569de081311b50fffdf59d4031ea7 +Author: Samuel Just +Date: Mon Dec 12 10:35:38 2016 -0800 + + PG: fix cached_removed_snaps bug in PGPool::update after map gap + + 5798fb3bf6d726d14a9c5cb99dc5902eba5b878a actually made 15943 worse + by always creating an out-of-date cached_removed_snaps value after + a map gap rather than only in the case where the the first map after + the gap did not remove any snapshots. + + Introduced: 5798fb3bf6d726d14a9c5cb99dc5902eba5b878a + Fixes: http://tracker.ceph.com/issues/15943 + Signed-off-by: Samuel Just + (cherry picked from commit 5642e7e1b3bb6ffceddacd2f4030eb13a17fcccc) + +commit fa5c6250125a51e61e34aa9586cc917df7458138 +Author: Nathan Cutler +Date: Sat Jan 7 13:48:51 2017 +0100 + + tests: subst repo and branch in qemu test urls + + References: http://tracker.ceph.com/issues/18440 + Signed-off-by: Nathan Cutler + (cherry picked from commit 2484a5546160560a4050d35400a6edce37ae48ad) + + Conflicts: (hammer doesn't have these files) + qa/suites/rbd/maintenance/qemu/xfstests.yaml + qa/suites/rbd/qemu/workloads/#qemu_xfstests.yaml# + +commit 572cd2660f5bf1cc7f980831d12bb3075816b96f +Author: Nathan Cutler +Date: Sat Jan 7 13:45:10 2017 +0100 + + tests: subst branch and repo in qa/tasks/qemu.py + + References: http://tracker.ceph.com/issues/18440 + Signed-off-by: Nathan Cutler + (cherry picked from commit 74689df754561e11a3377998840efcea9e780755) + +commit 237fb80f2b2874329aed25ba655a6789e1707114 +Author: Nathan Cutler +Date: Fri Jan 6 21:06:11 2017 +0100 + + tests: subst repo name in qa/tasks/cram.py + + Inspired by bcbe45d948f1c4da02e27b3be5f29a8b52745e28 + + Fixes: http://tracker.ceph.com/issues/18440 + Signed-off-by: Nathan Cutler + (cherry picked from commit 56e37e41f4dddd289dd3c1886b192cd328ed311b) + +commit 6045a83a438918f445504224b80809dfe715c9b0 +Author: Venky Shankar +Date: Fri Dec 9 15:11:49 2016 +0530 + + cram: support fetching from sha1 branch, tag, commit hash + + Signed-off-by: Venky Shankar + (cherry picked from commit d2f0d745987a2e2eee4e1822146aad8da5d42708) + + Conflicts: + suites/krbd/unmap/tasks/unmap.yaml (hammer doesn't have this) + suites/rbd/singleton/all/formatted-output.yaml (moved to qa/, + trivial resolution) + +commit 48687c79adf489b27af15bb44205913acc89af7a +Merge: 61917cb ac62d79 +Author: Orit Wasserman +Date: Sun Jan 8 09:26:03 2017 +0200 + + Merge pull request #12227 from ceph/wip-orit-resharding-hammer + + Wip orit resharding hammer + Reviewed-by: Orit Wasserman + +commit 8bab74537f5891f2b97f0fb6722e2e00416b723a +Author: Alfredo Deza +Date: Wed Nov 2 12:28:49 2016 -0400 + + ceph-create-keys: wait 10 minutes to get or create the bootstrap key, not forever + + Signed-off-by: Alfredo Deza + (cherry picked from commit bea802bd13df883d06b7b67a83ac6540e44ab6c1) + +commit a7d919100e9e78b7f821da76b338bca24f374a0a +Author: Alfredo Deza +Date: Wed Nov 2 12:25:32 2016 -0400 + + ceph-create-keys: wait 10 minutes to get or create a key, not forever + + Signed-off-by: Alfredo Deza + (cherry picked from commit 8f84681a4d97a7ea6bc04e759eccfc40204a2fdb) + + Conflicts: + src/ceph-create-keys ( hammer does not have + 52e978e4b3660baa9f50b1bb8247909b672142e7 ) + +commit 7b3bc5fbc55da3cb2ce036ef3df367832d7a59e2 +Author: Alfredo Deza +Date: Wed Nov 2 12:19:10 2016 -0400 + + ceph-create-keys: wait for quorum for ten minutes, not forever + + Signed-off-by: Alfredo Deza + (cherry picked from commit 32cedd2c18e48d5f9a1547e5fd69c24c7eac1638) + +commit 61917cbcb7a4e35aa0ae8718377526ae55b5b7cf +Merge: 7b1f8fe 7106f42 +Author: Samuel Just +Date: Thu Jan 5 09:15:13 2017 -0800 + + Merge pull request #11615 from mslovy/wip-17610-hammer + + hammer: osd: fix fiemap issue in xfs when #extents > 1364 + + Reviewed-by: Samuel Just + +commit 7b1f8fe4c97b6c8ef81d899f0a24235946cc585a +Merge: 5ba3c08 5f00e1d +Author: Samuel Just +Date: Thu Jan 5 09:14:10 2017 -0800 + + Merge pull request #11936 from SUSE/wip-16432-hammer + + hammer: librados: bad flags can crash the osd + + Reviewed-by: Samuel Just + +commit 5ba3c0873d10b247a45bfbc1cb483cfc2189a9fd +Merge: b44e1db 8312dc6 +Author: Samuel Just +Date: Thu Jan 5 09:12:55 2017 -0800 + + Merge pull request #12121 from dzafman/wip-16225-min + + hammer: common: SIGABRT in TrackedOp::dump() via dump_ops_in_flight() + + Reviewed-by: Samuel Just + +commit b44e1db11b0d7310f2563fa7acfb1464db4b04fb +Merge: 7bfb05b 92de2fd +Author: Samuel Just +Date: Thu Jan 5 09:11:57 2017 -0800 + + Merge pull request #12266 from SUSE/wip-18109-hammer + + hammer: msgr: simple/Pipe: error decoding addr + + Reviewed-by: Samuel Just + +commit 7bfb05b00157fa40c053eeefb59cd3bb211fc2b3 +Merge: 715012b fe77c9a +Author: Samuel Just +Date: Thu Jan 5 09:11:34 2017 -0800 + + Merge pull request #12417 from SUSE/wip-18132-hammer + + hammer: osd: ReplicatedBackend::build_push_op: add a second config to limit omap entries/chunk independently of object data + + Reviewed-by: Samuel Just + +commit 715012bebe6e7838c702aae0283f1c3d37428762 +Merge: a20ad42 e9311dd +Author: Samuel Just +Date: Thu Jan 5 09:11:13 2017 -0800 + + Merge pull request #12759 from SUSE/wip-18399-hammer + + hammer: tests: objecter_requests workunit fails on wip branches + + Reviewed-by: Samuel Just + +commit a20ad42ecab39541107e01ac4516a0a71e379846 +Merge: 3e62a1d 67e2101 +Author: Samuel Just +Date: Thu Jan 5 09:10:54 2017 -0800 + + Merge pull request #12762 from SUSE/wip-18405-hammer + + hammer: Cannot reserve CentOS 7.2 smithi machines + + Reviewed-by: Samuel Just + +commit 3e62a1d5dbd2ee6672388121be26afd5d0374f5f +Merge: 77fa49f aa91bc7 +Author: Samuel Just +Date: Thu Jan 5 09:10:28 2017 -0800 + + Merge pull request #12685 from SUSE/wip-18273-hammer + + hammer: tests: Workunits needlessly wget from git.ceph.com + + Reviewed-by: Samuel Just + +commit 77fa49f67d1c8c59d9131e6f52e595661ceda8f2 +Merge: 2c164b7 c28d5ea +Author: Samuel Just +Date: Thu Jan 5 09:09:59 2017 -0800 + + Merge pull request #12687 from SUSE/wip-18281-hammer + + hammer: mon: osd flag health message is misleading + + Reviewed-by: Kefu Chai + +commit 2c164b73af9de4196821d9214fb7598ac88ef509 +Merge: dfefeda 996fc25 +Author: Nathan Cutler +Date: Thu Jan 5 15:20:28 2017 +0100 + + Merge pull request #12423 from SUSE/wip-18222-hammer + + hammer: tests: qemu/tests/qemu-iotests/077 fails in dumpling, hammer, and jewel + + Reviewed-by: Jason Dillaman + +commit dfefeda86e3e6761bc4a59cee960d807609344e4 +Merge: b0648f8 0c5ebf4 +Author: Nathan Cutler +Date: Wed Jan 4 20:15:21 2017 +0100 + + Merge pull request #12744 from SUSE/wip-18385-hammer + + hammer: tests: Cannot clone ceph/s3-tests.git (missing branch) + + Reviewed-by: Orit Wasserman + +commit b0648f85ee67da82ac8fb7e8f4c1546aa560bfda +Merge: c45896a e97ceb1 +Author: Nathan Cutler +Date: Wed Jan 4 11:43:29 2017 +0100 + + Merge pull request #12418 from SUSE/wip-18218-hammer + + hammer: rgw sends omap_getvals with (u64)-1 limit + + Reviewed-by: Orit Wasserman + +commit c45896a86810f02b86b3c355855eb70a998a3c9a +Merge: 811213e db2d112 +Author: Nathan Cutler +Date: Wed Jan 4 11:37:29 2017 +0100 + + Merge pull request #12619 from Werkov/wip-18317-hammer + + hammer: rgw: TempURL in radosgw behaves now like its Swift's counterpart. + + Reviewed-by: Orit Wasserman + +commit db2d112f22a525bfffb62e85747769a4b30f7375 +Author: Radoslaw Zarzynski +Date: Fri Mar 4 16:30:50 2016 +0100 + + rgw: TempURL in radosgw behaves now like its Swift's counterpart. + + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit a1ea7180969dcbaf88dfcc1bfafb17e82639df64) + + Conflicts: + src/rgw/rgw_swift.cc + - replace C++11 constructs, + - s->info.method is actually unconditional member of + allowed_methods, which was opaqued by C++11 ctors + - drop temp_url_make_content_disp() which has no use with + hammer's req_state + +commit 811213ef9df188c8cf21dec5aeab08093af483d7 +Merge: 9a8aaca 47e7202 +Author: Nathan Cutler +Date: Tue Jan 3 15:31:27 2017 +0100 + + Merge pull request #12312 from YankunLi/fix_parameter_check + + hammer: rbd: fix parameter check + + Reviewed-by: Jason Dillaman + +commit 9a8aaca56e48aae78dff27a969e2398c332f2b09 +Merge: 78e3451 c4f1b42 +Author: Nathan Cutler +Date: Tue Jan 3 15:31:03 2017 +0100 + + Merge pull request #12446 from dillaman/wip-18111 + + hammer: librbd: diffs to clone's first snapshot should include parent diffs + + Reviewed-by: Jason Dillaman + +commit 78e34519f9e3c72aa91587593dcb23dac4ade3a3 +Merge: a9de35a 0f83bb7 +Author: Nathan Cutler +Date: Tue Jan 3 15:23:07 2017 +0100 + + Merge pull request #12398 from linuxbox2/hammer + + hammer: rgw: do not abort when accept a CORS request with short origin + + Reviewed-by: Orit Wasserman + +commit a9de35a27cb7d57f8094de78f550291b1b45b944 +Merge: 3ef8d8c a602e2b +Author: Jason Dillaman +Date: Tue Jan 3 09:17:35 2017 -0500 + + Merge pull request #12758 from SUSE/wip-18397-hammer + + hammer: tests: OSDs commit suicide in rbd suite when testing on btrfs + + Reviewed-by: Jason Dillaman + +commit 67e2101ffa2b4defe07dec30b12cc37c9f2ed488 +Author: Nathan Cutler +Date: Tue Jan 3 14:53:27 2017 +0100 + + qa/distros: add centos yaml; use that instead + + Modeled after https://github.com/ceph/ceph/pull/12632 + + Fixes: http://tracker.ceph.com/issues/18405 + Signed-off-by: Nathan Cutler + +commit e9311ddb60638c1dd39325e279b97c9a7d09b8a4 +Author: Sage Weil +Date: Thu Dec 15 13:35:02 2016 -0500 + + qa/tasks/admin_socket: subst in repo name + + It is either ceph.git or ceph-ci.git. + + Signed-off-by: Sage Weil + (cherry picked from commit bcbe45d948f1c4da02e27b3be5f29a8b52745e28) + +commit a602e2bf2e1cae8d21ae215c35a611cc99b6c7c9 +Author: Nathan Cutler +Date: Tue Jan 3 11:26:26 2017 +0100 + + rbd: only test on xfs + + btrfs is not recommended for production + + See 5864d56592ef3ffe765aa1ef0865610dbc7e8725 for precendent. + + Signed-off-by: Nathan Cutler + +commit aa91bc7df963728e6a4d4db1086214e7873fc2e7 +Author: Nathan Cutler +Date: Mon Jan 2 22:49:13 2017 +0100 + + tests: rbd/test_lock_fence.sh: fix rbdrw.py relative path + + This commit fixes a regression introduced by + cf294777ea92f0911813a7132068584d4f73a65a + + Fixes: http://tracker.ceph.com/issues/18388 + Signed-off-by: Nathan Cutler + (cherry picked from commit 91231de16dbe4d0e493ec617165a2b38078d122b) + +commit 0c5ebf4adf26274802ec4cff229b2272dc4a4266 +Author: Orit Wasserman +Date: Mon Jan 4 10:03:08 2016 +0100 + + use ceph-master branch for s3tests + + Signed-off-by: Orit Wasserman + (cherry picked from commit 21160124028ab123b5c547499d911b0a1397214f) + + Conflicts: (trivial resolution) + qa/suites/rgw/multifs/tasks/rgw_s3tests.yaml + qa/suites/rgw/verify/tasks/rgw_s3tests.yaml + qa/suites/rgw/verify/tasks/rgw_s3tests_multiregion.yaml + +commit 3ef8d8c6f0ef712dcff207fb6ef17887bd8719d7 +Merge: e038662 d18240f +Author: Nathan Cutler +Date: Mon Jan 2 20:34:42 2017 +0100 + + Merge pull request #12743 from SUSE/wip-18383 + + hammer: tests: populate mnt_point in qa/tasks/ceph.py + + Reviewed-by: Loic Dachary + +commit d18240f679840bdaeec1e3f7cdd9164b4406673c +Author: Nathan Cutler +Date: Mon Jan 2 14:22:43 2017 +0100 + + qa/tasks/ceph.py: populate mnt_point in hammer + + In hammer, there is no "mnt_point" variable, yet 53225d5 was cherry-picked to + hammer - see 87e0299448908775600c62130617bad503027768 and https://github.com/ceph/ceph/pull/12455 + + This caused lots of "NameError: global name 'mnt_point' is not defined" errors + in hammer integration testing. + + This is not a cherry-pick, because the mnt_point variable was introduced by + a54ff597faa379c8fd369352fb924651be269f95 ("tasks/ceph: convert cluster creation + to work with multiple clusters") which was not backported to hammer. + + Fixes: http://tracker.ceph.com/issues/18383 + Signed-off-by: Nathan Cutler + +commit ac62d7996b95d8fdd5665e490fc09506c8fe9e68 +Author: weiqiaomiao +Date: Mon Oct 31 13:59:55 2016 +0800 + + rgw: fix osd crashes when execute "radosgw-admin bi list --max-entries=1" command + + Fixes: http://tracker.ceph.com/issues/17745 + Signed-off-by: weiqiaomiao + (cherry picked from commit 51a4405a1ef59671cbd51c530a84333359d3f3dd) + +commit 530d1e22920bd843d34ceffccad346fd5003c075 +Author: Orit Wasserman +Date: Tue Nov 29 13:36:37 2016 +0100 + + rgw: use hammer rgw_obj_key api + + Signed-off-by: Orit Wasserman + +commit e396b37af147770434147c5bd0377e8624254cd9 +Author: Orit Wasserman +Date: Tue Nov 29 13:15:05 2016 +0100 + + Revert "rgw: rgw_obj encoding fixes" + + This reverts commit c1b64c8f9c23473b758300958a94a172f1d39b64. + Signed-off-by: Orit Wasserman + +commit a3e9865058e12fff18ee7674fcfd8435a1a37bf4 +Author: Sage Weil +Date: Thu Dec 22 13:05:22 2016 -0500 + + qa/tasks/workunit: clear clone dir before retrying checkout + + If we checkout ceph-ci.git, and don't find a branch, + we'll try again from ceph.git. But the checkout will + already exist and the clone will fail, so we'll still + fail to find the branch. + + The same can happen if a previous workunit task already + checked out the repo. + + Fix by removing the repo before checkout (the first and + second times). Note that this may break if there are + multiple workunit tasks running in parallel on the same + role. That is already racy, so if it's happening, we'll + want to switch to using a truly unique clonedir for each + instantiation. + + Fixes: http://tracker.ceph.com/issues/18336 + Signed-off-by: Sage Weil + (cherry picked from commit 2a7013cd5a033c5be43350505d75f088e831e201) + +commit a70e0d58e10184b0903ba36c047a237be3c7cc19 +Author: Sage Weil +Date: Fri Dec 16 15:06:16 2016 -0500 + + qa/tasks/workunit: retry on ceph.git if checkout fails + + Signed-off-by: Sage Weil + (cherry picked from commit 72d73b8c8836ae35c518fa09f44805a74038f02a) + +commit c28d5ea7107427175ef3f6089aaa36c97c2919bc +Author: Sage Weil +Date: Wed Dec 7 09:50:26 2016 -0500 + + mon/OSDMonitor: only show interesting flags in health warning + + Also add PAUSEREC flag into the list. + + Fixes: http://tracker.ceph.com/issues/18175 + Signed-off-by: Sage Weil + (cherry picked from commit 26220f0608f5ed4a7d97fb8d10d0d12a0fcf5583) + + Conflicts: + src/mon/OSDMonitor.cc (hammer lacks CEPH_OSDMAP_FULL and order of flags + is slightly different) + +commit d1c654ea3f3b8c194f3fdc7295cb379c6270d6b3 +Author: Sage Weil +Date: Mon Dec 19 14:08:11 2016 -0500 + + qa/workunits: include extension for nose tests + + When you have a relative path you have to include the extension. + Weird. + + Signed-off-by: Sage Weil + (cherry picked from commit 5666fd61d6dbd40be1d79354227cabd562e829ea) + + Conflicts: + qa/workunits/fs/test_python.sh (not in hammer) + qa/workunits/rbd/test_librbd_python.sh (no valgrind in hammer) + +commit eaa51f6f907019727eb18fc4174fe4f2d04f396a +Author: Sage Weil +Date: Thu Dec 15 15:10:28 2016 -0500 + + qa/workunits: use relative path instead of wget from git + + Signed-off-by: Sage Weil + (cherry picked from commit cf294777ea92f0911813a7132068584d4f73a65a) + + Conflicts: (all trivial) + qa/workunits/fs/test_python.sh + qa/workunits/rados/test_python.sh + qa/workunits/rbd/rbd_mirror.sh + qa/workunits/rbd/rbd_mirror_stress.sh + qa/workunits/rbd/test_librbd_python.sh + qa/workunits/rbd/test_lock_fence.sh + +commit 8eb4e8b6fd6c803fa9bea781db07c54d901e34cc +Author: Sage Weil +Date: Thu Dec 15 13:26:14 2016 -0500 + + qa/tasks/workunit.py: add CEPH_BASE env var + + Root of git checkout + + Signed-off-by: Sage Weil + (cherry picked from commit 27b8eac24922f8b4bd065e6e7f0bc8e2ba37b5d5) + +commit dccf904241f2a00ba0317135bd3cbe56c6dfdb80 +Author: Sage Weil +Date: Thu Dec 15 13:25:23 2016 -0500 + + qa/tasks/workunit: leave workunits inside git checkout + + Signed-off-by: Sage Weil + (cherry picked from commit 4602884ab8f5a256d13091f7239d938990482d95) + +commit e038662d80ec1c59edb3d6a1c63197ca387d26b2 +Merge: 12d6781 59878b3 +Author: Sage Weil +Date: Wed Dec 14 11:40:08 2016 -0600 + + Merge pull request #12455 from liewegas/qa-suite-hammer + + hammer: merge ceph-qa-suite + +commit 59878b3bf775fabf0f4c168e67d6f473e69c15a1 +Merge: 12d6781 7ed0dce +Author: Sage Weil +Date: Wed Dec 14 11:30:00 2016 -0600 + + merge ceph-qa-suite + +commit 7ed0dce3cf7ded278e59a9b36d3fd713e3c42b8d +Author: Sage Weil +Date: Wed Dec 14 11:29:55 2016 -0600 + + move ceph-qa-suite dirs into qa/ + +commit 08ce5441dbad8754205717a20d6273c0a099777a +Author: Sage Weil +Date: Wed Dec 14 12:27:47 2016 -0500 + + Revert "tasks/workunit.py: depth 1 clone" + + This reverts commit 12a707cb0f7b162e15c31915eb677bbd49b5e2cf. + +commit 12a707cb0f7b162e15c31915eb677bbd49b5e2cf +Author: Sage Weil +Date: Wed Dec 14 12:19:44 2016 -0500 + + tasks/workunit.py: depth 1 clone + + Signed-off-by: Sage Weil + (cherry picked from commit 4faf77a649cb3f8ddf497ca81937b3dbf63a18dc) + +commit 6bdc3bb6a00480b721b9795bd5e132b1dbf04ac0 +Author: Sage Weil +Date: Wed Dec 14 12:18:29 2016 -0500 + + tasks/workunit: remove kludge to use git.ceph.com + + This was hard-coded to ceph.git (almost) and breaks when + you specify --ceph-repo. Remove it entirely. We'll see if + github.com is better at handling our load than it used to + be! + + Signed-off-by: Sage Weil + (cherry picked from commit 159c455a0326eef2c017b3e3cf510f918b5ec76c) + +commit 87e0299448908775600c62130617bad503027768 +Author: Kefu Chai +Date: Sat Dec 10 02:36:52 2016 +0800 + + tasks/ceph: restore context of osd mount path before mkfs + + all newly created files and directories under the mount dir inherit the + SELinux type of their parent directory. so we need to set it before + mkfs. + + Fixes: http://tracker.ceph.com/issues/16800 + Signed-off-by: Kefu Chai + (cherry picked from commit 53225d5272a1d35d4183fcfa55a139f55f77e122) + +commit ca933160bec3532a5b2846fc7e684f11509c8298 +Merge: bbb2615 107e9c3 +Author: Sage Weil +Date: Mon Dec 12 16:42:55 2016 -0600 + + Merge pull request #1278 from ceph/wip-16225-min + + hammer: SIGABRT in TrackedOp::dump() via dump_ops_in_flight() + +commit c4f1b42810339b5b45b48f74c3ff0ae661a8807a +Author: Jason Dillaman +Date: Mon Dec 12 11:53:00 2016 -0500 + + librbd: diffs to clone's first snapshot should include parent diffs + + If the clone has a backing object created after the snapshot that + overwrites an extent of the parent, the parent diffs within that + extent are not included in the result. + + Hammer-specific implementation due to librbd refactoring during the + Infernalis release. + + Fixes: http://tracker.ceph.com/issues/18111 + Signed-off-by: Jason Dillaman + +commit 996fc2575ef988e6b20fda9ca771b2f6f141cbd3 +Author: Jason Dillaman +Date: Wed Dec 7 09:59:39 2016 -0500 + + qa/workunits/rbd: removed qemu-iotest case 077 + + The test case is not stable due to racing console output. This + results in spurious failures. + + Fixes: http://tracker.ceph.com/issues/10773 + Signed-off-by: Jason Dillaman + (cherry picked from commit 2c70df978d605a45ff81971b86f5afbefbdaabb6) + +commit e97ceb13242fd73b05a20b60208fee7f032e3ef3 +Author: Yehuda Sadeh +Date: Mon Nov 28 14:20:03 2016 -0800 + + rgw: omap_get_all() fixes + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 99e866feb3f8aa0ff768d6253979b6b4fc0fa452) + +commit 38ab892201ce9ca95010e5f33277be2b0213e96d +Author: Sage Weil +Date: Mon Nov 21 18:37:39 2016 -0500 + + rgw/rgw_rados: do not omap_getvals with (u64)-1 max + + Fixes: http://tracker.ceph.com/issues/17985 + + This will make the OSD fall over if the object is big + and the OSD doesn't impose it's own fail-safe limit. + + Signed-off-by: Sage Weil + (cherry picked from commit 7cd123ec0dd5951628e4f8ddd4e044a0fbb82f2f) + +commit fe77c9a906fb0fbd85762c8c079d85ca106613ce +Author: Wanlong Gao +Date: Thu Jun 23 20:04:25 2016 +0800 + + osd: limit omap data in push op + + We already have the config osd_recovery_max_chunk to limit the total + size of omap entries and omap data. But we need an individual config + to limit the number of omap entries independently. We call this config + osd_recovery_max_omap_entries_per_chunk here with the default number + of 64000. + + Signed-off-by: Wanlong Gao + (cherry picked from commit 56064c5cb645254574dbad00e6c16b783115bb93) + +commit 0f83bb7dbc5f81ecef0108b746f5bca58e76ff31 +Author: LiuYang +Date: Thu Dec 8 14:21:43 2016 +0800 + + rgw: do not abort when accept a CORS request with short origin + + Fixed: #18187 + + when accept a CROS request, the request http origin shorter than the bucket's corsrule + (eg. origin: http://s.com corsrule: *.verylongdomain.com). + the rgw_cors.cc::is_string_in_set() will have a wrong index, the radosrgw server will + abort. + + $ curl http://test.localhost:8000/app.data -H "Origin:http://s.com" + + 0> 2016-12-05 03:22:29.548138 7f6add05d700 -1 *** Caught signal (Aborted) ** + in thread 7f6add05d700 thread_name:civetweb-worker + + ceph version 11.0.2-2168-gd2f8fb4 (d2f8fb4a6ba75af7e6da0f5a7f1b49ec998b1631) + 1: (()+0x50720a) [0x7f6b147c420a] + 2: (()+0xf370) [0x7f6b09a33370] + 3: (gsignal()+0x37) [0x7f6b081ca1d7] + 4: (abort()+0x148) [0x7f6b081cb8c8] + 5: (__gnu_cxx::__verbose_terminate_handler()+0x165) [0x7f6b08ace9d5] + 6: (()+0x5e946) [0x7f6b08acc946] + 7: (()+0x5e973) [0x7f6b08acc973] + 8: (()+0x5eb93) [0x7f6b08accb93] + 9: (std::__throw_out_of_range(char const*)+0x77) 0x7f6b08b21a17] + 10: (()+0xbd97a) [0x7f6b08b2b97a] + 11: (()+0x449c1e) [0x7f6b14706c1e] + 12: (RGWCORSRule::is_origin_present(char const*)+0x48) [0x7f6b147073b8] + 13: (RGWCORSConfiguration::host_name_rule(char const*)+0x37) [0x7f6b147074e7] + 14: (RGWOp::generate_cors_headers(std::string&, std::string&, std::string&, std::string&, unsigned int*)+0xa3) [0x7f6b14593e63] + 15: (dump_access_control(req_state*, RGWOp*)+0x61) [0x7f6b14653f91] + + Signed-off-by: LiuYang + (cherry picked from commit 67d4d9e64bc224e047cf333e673bb22cd6290789) + +commit 47e72024e091a55a5fcd31853e143c94d850b00a +Author: YankunLi +Date: Mon Dec 5 14:39:20 2016 +0800 + + rbd: fix parameter check + + using import-diff command, the imagename must be specified. + + Signed-off-by: Yankun Li + +commit bbb261533455d37b4ef1e5bfc3c8f7765ab74e5a +Merge: 8e5872b 4533623 +Author: Sage Weil +Date: Fri Dec 2 15:09:32 2016 -0500 + + Merge pull request #1276 from ceph/no-btrfs-on-hammer + + rados: remove btrfs tests; use xfs instead + +commit 7106f426c96978a0a41e9d1482239a4da505157e +Author: Kefu Chai +Date: Wed Nov 23 14:48:11 2016 +0800 + + FileStore::_do_fiemap: do not reference fiemap after it is freed + + `last` points to fiemap::fm_extends[n], and if fiemap gets freed, we can + not reference any of its fieldis. so we could remember the check result before + freeing it. + + Signed-off-by: Kefu Chai + (cherry picked from commit c3748fa7737b6c43de2dae5d957fcff01322515c) + + Conflicts: + src/os/FileStore.cc + put the parameter is_last in the right place + +commit 92de2fd9a8b19c3d83d2567720f4e7ad21e43a63 +Author: Sage Weil +Date: Tue Nov 29 21:50:52 2016 -0500 + + msg/simple/Pipe: handle addr decode error + + Fixes: http://tracker.ceph.com/issues/18072 + Signed-off-by: Sage Weil + (cherry picked from commit 2f5cfbc0de5464ab80581c416413a86c3d38dfb7) + +commit 12d67814912514bb34ba61ceb45a744299d65ff2 +Merge: 8406ee5 e1694d6 +Author: Nathan Cutler +Date: Tue Nov 29 22:16:34 2016 +0100 + + Merge pull request #11457 from tchaikov/wip-17558-hammer + + hammer: mon: send updated monmap to its subscribers + + Reviewed-by: Samuel Just + Reviewed-by: Kefu Chai + +commit 8406ee58ca5c4abbe962ba5a4025aabe220e3981 +Merge: bfda134 03af4aa +Author: Nathan Cutler +Date: Tue Nov 29 22:12:46 2016 +0100 + + Merge pull request #11628 from ceph/wip-hammer-11567 + + hammer: rgw: Don't loop forever when reading data from 0 sized segment. + + Reviewed-by: Orit Wasserman + +commit 5f00e1d4c04698c68248844aad31f4b36eff5735 +Author: Jianpeng Ma +Date: Wed Feb 11 11:18:41 2015 +0800 + + osd: Add func has_flag in MOSDOp. + + Signed-off-by: Jianpeng Ma + (manually cherry picked just one line from d9a2ca5c5ae50dc34e184d577c7b24c56b6cc6ad) + +commit be7184589de9208986a2054491b86782dac938e8 +Author: Sage Weil +Date: Tue May 24 14:02:32 2016 -0400 + + osd: reject PARALLELEXEC ops with EINVAL + + Errors are better than crashing. + + Signed-off-by: Sage Weil + (cherry picked from commit 407495197dd878b62f1356f6d939e33ab50d78c6) + + Conflicts: + src/osd/ReplicatedPG.cc (trivial resolution) + +commit 8d352358edc156f70b5eb68c37bb56cb2392fce2 +Author: Sage Weil +Date: Tue May 24 14:02:14 2016 -0400 + + ceph_test_rados_api_misc: test rados op with bad flas + + Pass the bad PARALLELEXEC flag to remove(), which takes a flags arg. + + Signed-off-by: Sage Weil + (cherry picked from commit 1aa807f4f29b4b016cc737ffa443e8f30c3b7693) + + Conflicts: + src/test/librados/misc.cc (dropped ioctx.remove() test because there is no + remove() in hammer librados) + +commit bfda134f6844d6e238052e4f1900f3d2e7497d5e +Merge: 9bf08dd 0d2f431 +Author: Nathan Cutler +Date: Thu Nov 24 09:15:50 2016 +0100 + + Merge pull request #10437 from odivlad/fix-doc + + hammer: docs: Bucket object versions + + Reviewed-by: Orit Wasserman + +commit 03af4aae8103b52b19737c951e432efc7135b7ca +Author: Marcus Watts +Date: Thu Oct 13 21:12:36 2016 -0400 + + Don't loop forever when reading data from 0 sized segment. + + The 0 sized segment can arise depending on how + the client uploads the object in the first place. + The cpu loop then happens during a swift `GET'. + + Signed-off-by: Marcus Watts + (cherry picked from commit 46c5f9773246522e66bb2cca49345d0b62a16c42) + +commit 8312dc61ceaa39dca675fda2cb7c88ec3c5ca9f7 +Author: David Zafman +Date: Mon Mar 14 13:28:39 2016 -0700 + + common/TrackedOp: Move tracking_enabled check into register_inflight_op() + + Make tracking_enabled (and the lock private.)* + + Signed-off-by: David Zafman + (Partial cherry picked from commit 4e8e6172e8f6cc2adc63a429c32f5edd03982f5e) + + * Backport: Exclude locking since tracking_enabled can't change after launch + +commit c7220ccc0ec80bb6788befefe71f676c75457b70 +Author: David Zafman +Date: Thu Mar 10 21:24:25 2016 -0800 + + common/TrackedOp: Handle dump racing with constructor + + Use is_tracked to prevent TrackedOp::dump() from trying to call + virtual function while still in OpRequest constructor. + + Fixes: #8885 + + Signed-off-by: David Zafman + (cherry picked from commit ad13e05499669a79bde9a219ba1089f929e0388e) + + Conflicts: + src/common/TrackedOp.cc + src/common/TrackedOp.h + Hammer can't use atomic so use atomic_t instead + +commit e8e7664247c7112f1ba03ce4cab915fe70ea5b8e +Author: David Zafman +Date: Fri Mar 4 18:43:43 2016 -0800 + + common/TrackedOp: Missed locking when examining "events" + + Another crash caused by a dump_ops_in_flight similar to #8885 + + Signed-off-by: David Zafman + (cherry picked from commit be098c83143226e502a0587c9215cff941dbace1) + + Conflicts: + src/common/TrackedOp.h (trivial) + +commit ce58688537d41e0662949f34b3595459581e74fc +Author: David Zafman +Date: Mon Jul 11 17:58:22 2016 -0700 + + CLEANUP: Move locking into dump_ops_in_flight()/dump_historic_ops() + + Signed-off-by: David Zafman + (cherry picked from commit 17c645f70708134f50374cadb5505b0babe2265a) + + Conflicts: + src/mds/MDSRank.cc (variation of code exists in mds/MDS.cc) + src/mon/Monitor.cc (no equivalent code here) + +commit 5717eb001c6202837fe2e22039e3f855ea4aa065 +Author: David Zafman +Date: Mon Mar 14 15:47:02 2016 -0700 + + mds, osd: Fix missing locking for "dump_blocked_ops" + + Signed-off-by: David Zafman + (cherry picked from commit be5bed840f21da998be3b8374a8e33f208258e1b) + + Conflicts: + src/mds/MDSRank.cc (missing dump_blocked_ops in mds) + +commit 6a7fbf42fdb253b7143cb9b3933990145358e06c +Author: David Zafman +Date: Thu Mar 10 21:29:13 2016 -0800 + + osd: cleanup: Specify both template types for create_request() + + Code consistency + + Signed-off-by: David Zafman + (cherry picked from commit cecdc49e6d2f38d5eb9f85218484f7a02bd2e1b7) + +commit 3e00ee5cfb0769e9b1c0e0a7540d0b14be880fed +Author: Jianpeng Ma +Date: Fri Jul 17 10:44:06 2015 +0800 + + osd: add dump_blocked_ops asok command. + + From ceph health we can see there are blocked ops and from 'ceph health + detai' we can see which osd has blocked ops. Later we only in log of osd + to see the detail message of blocked ops. + Now via asok dump blocked ops. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit cf4e8c655c4a0e6c367c88338cd6e51a3474fa2f) + + Conflicts: + src/common/TrackedOp.h (trivial) + +commit 656d0c9f307c1b3db072282be46decd72bc88810 +Author: Jianpeng Ma +Date: Wed Jul 8 13:12:49 2015 +0800 + + common/TrackedOp: Should lock ops_history_lock when access shutdown. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 7fe72a2e7d116093ccff6683666e6289f5f12421) + +commit 9bf08ddc9422484f5cf0f05c8ccdb4b440e9b641 +Merge: 9655228 2581953 +Author: Nathan Cutler +Date: Wed Nov 23 22:50:58 2016 +0100 + + Merge pull request #9873 from odivlad/fix-init-el7-hammer + + hammer: build/ops: remove SYSTEMD_RUN from initscript + + Reviewed-by: Orit Wasserman + Reviewed-by: Nathan Cutler + +commit 9655228d1900d56f4b439d41b2c4a532158f6c51 +Merge: e2c3e21 cb9cc4e +Author: Nathan Cutler +Date: Wed Nov 23 22:49:29 2016 +0100 + + Merge pull request #10238 from aiicore/hammer + + hammer: mon: fix memory leak in prepare_beacon + + Reviewed-by: Kefu Chai + Reviewed-by: John Spray + +commit e2c3e21aa4cae160c0136d8d1652b7e4a2c000f0 +Merge: 637d348 c5639e4 +Author: Nathan Cutler +Date: Wed Nov 23 22:44:19 2016 +0100 + + Merge pull request #10569 from jschmid1/wip-16918-hammer + + hammer: build/ops: make stop.sh more portable + + Reviewed-by: Nathan Cutler + +commit 637d348a98676cc9bf13346d96e7f83219e914c2 +Merge: 84df525 2b87a55 +Author: Nathan Cutler +Date: Wed Nov 23 22:40:28 2016 +0100 + + Merge pull request #10724 from Vicente-Cheng/wip-16584-hammer + + hammer: crush: reset bucket->h.items[i] when removing tree item + + Reviewed-by: Kefu Chai + +commit 84df525e60ea66a4a1808641a12eccd95e16dd2d +Merge: a7c8c51 8568e57 +Author: Nathan Cutler +Date: Wed Nov 23 22:20:29 2016 +0100 + + Merge pull request #10904 from tchaikov/wip-14470-hammer + + hammer: mon: return size_t from MonitorDBStore::Transaction::size() + + Reviewed-by: Joao Eduardo Luis + Reviewed-by: Kefu Chai + +commit a7c8c511ed061102e1b91858ca9772743d7e094e +Merge: c8f54c8 a3ba985 +Author: Nathan Cutler +Date: Wed Nov 23 22:18:42 2016 +0100 + + Merge pull request #10905 from SUSE/wip-11101-hammer + + hammer: build/ops: improve ceph.in error message + + Reviewed-by: Sage Weil + +commit c8f54c84c33354ca27d277a25a2193a3fbd80880 +Merge: 48b6054 6c0b2b4 +Author: Nathan Cutler +Date: Wed Nov 23 22:16:48 2016 +0100 + + Merge pull request #10987 from Vicente-Cheng/wip-16592-hammer + + hammer: librbd: ceph 10.2.2 rbd status on image format 2 returns "(2) No such file or directory" + + Reviewed-by: Jason Dillaman + +commit 48b6054adf4a2d0c58a87bb2a9e8e8719febdc10 +Merge: a97c81c 10472f0 +Author: Nathan Cutler +Date: Wed Nov 23 22:13:05 2016 +0100 + + Merge pull request #11125 from tchaikov/wip-17179-hammer + + hammer: tools: add a tool to rebuild mon store from OSD + + Reviewed-by: Nathan Cutler + +commit a97c81c3f00abbb79cef0ae069a6f151a089e30e +Merge: c4cee49 4a36933 +Author: Nathan Cutler +Date: Wed Nov 23 22:10:54 2016 +0100 + + Merge pull request #11273 from aiicore/wip-17403-hammer + + hammer: mon: OSDMonitor: Missing nearfull flag set + + Reviewed-by: Sage Weil + +commit c4cee499622c3c151dcb363193af21844a2f24f5 +Merge: 9495584 ece0ec6 +Author: Nathan Cutler +Date: Wed Nov 23 22:06:32 2016 +0100 + + Merge pull request #11618 from asheplyakov/hammer-16546 + + hammer: rbd: fix possible rbd data corruption + + Reviewed-by: Jason Dillaman + +commit 949558462317e16e1f517bda3ce3465fe30b931b +Merge: 1fda4a0 5fb8fb4 +Author: Nathan Cutler +Date: Wed Nov 23 21:56:22 2016 +0100 + + Merge pull request #11676 from asheplyakov/hammer-16151 + + hammer: osd: update PGPool to detect map gaps and reset cached_removed_snaps + + Reviewed-by: Samuel Just + +commit 1fda4a0fcfe6a9d8f96fe0e054c5b9e8a6e2ecd8 +Merge: 11886bd 31c2594 +Author: Nathan Cutler +Date: Wed Nov 23 21:54:39 2016 +0100 + + Merge pull request #11899 from SUSE/wip-17840-hammer + + hammer: rgw: the value of total_time is wrong in the result of 'radosgw-admin log show' opt + + Reviewed-by: Orit Wasserman + +commit 11886bd5d20c8b2bf09dbabda1e49f14d2283260 +Merge: 21dc0ec f99a1d3 +Author: Nathan Cutler +Date: Wed Nov 23 21:53:40 2016 +0100 + + Merge pull request #11927 from SUSE/wip-17764-hammer + + hammer: osd: fix collection_list shadow return value + + Reviewed-by: Haomai Wang + Reviewed-by: Samuel Just + +commit 21dc0ec953adeeabe934cd1090f959db7d11cefc +Merge: 8f19eca 5711e79 +Author: Nathan Cutler +Date: Wed Nov 23 21:50:04 2016 +0100 + + Merge pull request #12071 from SUSE/wip-17957-hammer + + hammer: RWLock.h: 124: FAILED assert(r == 0) in rados-jewel-distro-basic-smithi + + Reviewed-by: Samuel Just + +commit 8f19eca51863ca1c1dfde068479bca5606e4550d +Merge: af6e208 76eed80 +Author: Nathan Cutler +Date: Wed Nov 23 21:47:24 2016 +0100 + + Merge pull request #11929 from SUSE/wip-17359-hammer + + hammer: tools: ceph-objectstore-tool crashes if --journal-path + + Reviewed-by: Kefu Chai + +commit af6e2080f1ca56f1715ccb76d2372f86bdc272e9 +Merge: 655e904 fbf51ba +Author: Nathan Cutler +Date: Wed Nov 23 21:46:08 2016 +0100 + + Merge pull request #11930 from SUSE/wip-17346-hammer + + hammer: cephx: Fix multiple segfaults due to attempts to encrypt or decrypt + + Reviewed-by: Brad Hubbard + Reviewed-by: Kefu Chai + +commit 655e904142c295ef66c376a3aca148cf2bce60c0 +Merge: c118c0a 7ad7de6 +Author: Nathan Cutler +Date: Wed Nov 23 21:44:39 2016 +0100 + + Merge pull request #11931 from SUSE/wip-17333-hammer + + hammer: tools: crushtool --compile generates output despite missing item + + Reviewed-by: Kefu Chai + +commit c118c0af9da259330f5e5c3f3babdfca647a566b +Merge: e4ea945 ad42da4 +Author: Nathan Cutler +Date: Wed Nov 23 21:43:19 2016 +0100 + + Merge pull request #11932 from SUSE/wip-17146-hammer + + hammer: PG::choose_acting valgrind error or ./common/hobject.h: 182: FAILED assert(!max || (*this == hobject_t(hobject_t::get_max()))) + + Reviewed-by: Samuel Just + +commit e4ea9452cf78e01413714b597f49d32d1d11a6dd +Merge: 92e0a47 e302e63 +Author: Nathan Cutler +Date: Wed Nov 23 21:42:24 2016 +0100 + + Merge pull request #11933 from SUSE/wip-17142-hammer + + hammer: osd: PG::_update_calc_stats wrong for CRUSH_ITEM_NONE up set items + + Reviewed-by: Samuel Just + +commit 92e0a471adffff1fa2027714116b3d0b5120b6bb +Merge: d7fc569 64eeb8d +Author: Nathan Cutler +Date: Wed Nov 23 21:40:47 2016 +0100 + + Merge pull request #11934 from SUSE/wip-17120-hammer + + hammer: mon: %USED of ceph df is wrong + + Reviewed-by: Kefu Chai + +commit d7fc569f70b98cf2fa5a842c753f43adc801cdf7 +Merge: 8a15ac7 fc46591 +Author: Nathan Cutler +Date: Wed Nov 23 21:39:12 2016 +0100 + + Merge pull request #11935 from SUSE/wip-16870-hammer + + hammer: osd: crash on EIO during deep-scrubbing + + Reviewed-by: Samuel Just + +commit 8a15ac77c39cc3cc571c62bab68d327894f2db7a +Merge: 44588f2 4c780bd +Author: Nathan Cutler +Date: Wed Nov 23 21:33:27 2016 +0100 + + Merge pull request #11937 from SUSE/wip-16428-hammer + + hammer: mon: prepare_pgtemp needs to only update up_thru if newer than the existing one + + Reviewed-by: Samuel Just + +commit 44588f2755429e65960eebf51b21ddb14f245bb8 +Merge: 8c90170 a56b93f +Author: Nathan Cutler +Date: Wed Nov 23 21:31:15 2016 +0100 + + Merge pull request #11938 from SUSE/wip-14323-hammer + + hammer: msg: OpTracker needs to release the message throttle in _unregistered + + Reviewed-by: Samuel Just + +commit 8c90170685fa74fa338b4f22b349e62a01920220 +Merge: 49964b0 2332cf2 +Author: Nathan Cutler +Date: Wed Nov 23 21:29:45 2016 +0100 + + Merge pull request #11939 from SUSE/wip-13927-hammer + + hammer: mds: fix cephfs-java ftruncate unit test failure + + Reviewed-by: John Spray + +commit 0d2f431b2ecad03a6cda6ffbc9f9cbaac0956af9 +Author: Yuan Zhou +Date: Mon Jul 20 15:37:09 2015 +0800 + + rgw: doc: Mark S3 object version API as supported + + S3 object version is already in since Hammer. + Ref: http://marc.info/?l=ceph-devel&m=143715290627682 + + Signed-off-by: Yuan Zhou + (cherry picked from commit b62c3b9537e8ab33416a7fb0dd7b801a790d42ee) + +commit 8ca16052138bebe9f009104e62b147750dd6584d +Author: shawn +Date: Thu Jul 30 10:09:12 2015 +0800 + + doc: add bucket object version description. + bucket object version has been supported, but do not have description in the docs, + so add this part. + + Signed-off-by: shawn chen + (cherry picked from commit 5c395ff85627f0f4154af27aff03dd0a9c409fb4) + +commit 49964b01508c5f2f9b5edd620051c18fbea7dfd7 +Merge: 6e1ae86 d91c62d +Author: Nathan Cutler +Date: Wed Nov 23 10:52:43 2016 +0100 + + Merge pull request #11946 from SUSE/wip-17883-hammer + + hammer: mon: OSDs marked OUT wrongly after monitor failover + + Reviewed-by: Kefu Chai + +commit 6e1ae86e88661ce9de5aefb38390b4bfbc677a0a +Merge: 2f9869c ab0786d +Author: Nathan Cutler +Date: Wed Nov 23 10:51:51 2016 +0100 + + Merge pull request #11948 from SUSE/wip-17671-hammer + + hammer: rbd: export diff should open image as read-only + + Reviewed-by: Mykola Golub + Reviewed-by: Jason Dillaman + +commit 2f9869c1be5e03ca1d9daac9c541cfb226b2ae77 +Merge: 2dac884 815541f +Author: Nathan Cutler +Date: Wed Nov 23 10:48:06 2016 +0100 + + Merge pull request #11949 from SUSE/wip-17374-hammer + + hammer: librbd: image.stat() call in librbdpy fails sometimes + + Reviewed-by: Jason Dillaman + +commit 2dac8848e94b9dcf1a217c6c70164edf669a8eee +Merge: 1503c2b da653fc +Author: Nathan Cutler +Date: Wed Nov 23 10:41:03 2016 +0100 + + Merge pull request #11950 from SUSE/wip-17123-hammer + + hammer: rgw: COPY broke multipart files uploaded under dumpling + + Reviewed-by: Orit Wasserman + +commit 1503c2ba753b8ee31e7c632d0463691a83a22b8b +Merge: 118beb9 009c844 +Author: Nathan Cutler +Date: Wed Nov 23 10:39:46 2016 +0100 + + Merge pull request #11951 from SUSE/wip-16594-hammer + + hammer: rgw: swift: ranged request on a DLO provides wrong values in Content-Range HTTP header + + Reviewed-by: Orit Wasserman + +commit 118beb9a390bf481e520d6888453eecc805bb0d7 +Merge: 3b226b8 3404da8 +Author: Nathan Cutler +Date: Wed Nov 23 10:17:00 2016 +0100 + + Merge pull request #11952 from SUSE/wip-16318-hammer + + hammer: rgw: fix inconsistent uid/email handling in radosgw-admin + + Reviewed-by: Orit Wasserman + +commit 3b226b8282f1c994cf3fbb747131121ec9b0c7a0 +Merge: 9ad7369 d89b1f8 +Author: Nathan Cutler +Date: Wed Nov 23 10:14:10 2016 +0100 + + Merge pull request #12018 from trociny/wip-17068-hammer + + hammer: librbd: request exclusive lock if current owner cannot execute op + + Reviewed-by: Jason Dillaman + +commit 9ad73698f57598ae1302aaf175cb96082eb64961 +Merge: 3ca7317 a7b182e +Author: Nathan Cutler +Date: Wed Nov 23 06:42:06 2016 +0100 + + Merge pull request #11045 from SUSE/wip-17150-hammer + + hammer: rgw: Anonymous user is able to read bucket with authenticated read ACL + + Reviewed-by: Orit Wasserman + +commit 3ca73177fc28327960f0a8c1612de0358051d515 +Merge: 708c549 d50a501 +Author: Nathan Cutler +Date: Wed Nov 23 06:32:09 2016 +0100 + + Merge pull request #11809 from SUSE/wip-17631-hammer + + hammer: rgw: fix crash when client posts object with null condition + + Reviewed-by: Orit Wasserman + +commit 10472f0521f6aef516660a470be8c5fe453b1a76 +Author: Kefu Chai +Date: Tue Nov 22 11:53:57 2016 +0800 + + PendingReleaseNotes: document the feature to rebuild monstore + + Signed-off-by: Kefu Chai + +commit 9473135aa65282499f67847edb52b7dfd8b374fb +Author: Kefu Chai +Date: Mon Oct 10 18:43:39 2016 +0800 + + doc: fill keyring with caps before passing it to ceph-monstore-tool + + to make sure the recovered monitor store is ready for use. + + Signed-off-by: Kefu Chai + (cherry picked from commit af8e21163735377071b6832d8a81b035bb835257) + +commit 9c00ba17627c2b3526c558564954b8bb1d8472ef +Author: Kefu Chai +Date: Mon Oct 10 16:32:27 2016 +0800 + + tools/ceph_monstore_tool: bail out if no caps found for a key + + we take it as an error if no caps is granted to an entity in the + specified keyring file when rebuilding the monitor db. + + Signed-off-by: Kefu Chai + (cherry picked from commit b4bd4004a836121c11b0bb97d8123df54c271f04) + +commit 48696e9d6d89f6b6e99fb76ffa61665c026d7a0e +Author: Kefu Chai +Date: Fri Sep 30 17:58:14 2016 +0800 + + tools/ceph_monstore_tool: update pgmap_meta also when rebuilding store.db + + we should rebuild pgmap_meta table from the collected osdmaps + + Fixes: http://tracker.ceph.com/issues/17400 + Signed-off-by: Kefu Chai + (cherry picked from commit cdfa7a69f63d047205dcfccd63b5d58ab0d4695b) + Conflicts: + src/tools/ceph_monstore_tool.cc: remove C++11-ism + +commit ca67e8e88c06a9a37e5dc9e8fe5a1dd1821f8452 +Author: xie xingguo +Date: Sun Sep 18 11:40:56 2016 +0800 + + tools/rebuild_mondb: kill compiling warning + + As follow: + + [ 72%] Building CXX object src/tools/CMakeFiles/ceph-objectstore-tool.dir/RadosDump.cc.o + /home/jenkins-build/build/workspace/ceph-pull-requests/src/tools/rebuild_mondb.cc: In function ‘int update_mon_db(ObjectStore&, OSDSuperblock&, const string&, const string&)’: + /home/jenkins-build/build/workspace/ceph-pull-requests/src/tools/rebuild_mondb.cc:289:22: warning: ‘crc’ may be used uninitialized in this function [-Wmaybe-uninitialized] + if (have_crc && osdmap.get_crc() != crc) { + ^ + /home/jenkins-build/build/workspace/ceph-pull-requests/src/tools/rebuild_mondb.cc:238:14: note: ‘crc’ was declared here + uint32_t crc; + + Signed-off-by: xie xingguo + (cherry picked from commit f16a31476a3f9b44a7c3dabf0dfd2a0d015b11b9) + +commit 94390a3296483323d1b2c57856ea2e8ecca99b64 +Author: xie xingguo +Date: Sun Sep 18 10:43:10 2016 +0800 + + tools/rebuild_mondb: return error if ondisk version of pg_info is incompatible + + In this case "r" will be >= 0 and caller will be able to catch + this kind of error. + + Signed-off-by: xie xingguo + (cherry picked from commit ac7c1dca0a4f6e92e50d362784122e2d3200e6b5) + +commit eaeb52057509b1fa45592ecc147ad694f57d33f3 +Author: xie xingguo +Date: Sun Sep 18 10:33:56 2016 +0800 + + tools/rebuild_mondb: avoid unnecessary result code cast + + In general we return negative codes for error cases, so there is + no need perform the cast here. + + Signed-off-by: xie xingguo + (cherry picked from commit 6a1c01d334fe65124043aa68a6e0cfaea43836b5) + +commit 828a4d7a07d178f2dcde30dfe96ca9f054bc1c0d +Author: Kefu Chai +Date: Wed Aug 31 00:59:58 2016 +0800 + + doc: add rados/operations/disaster-recovery.rst + + document the process to recover from leveldb corruption. + + Fixes: http://tracker.ceph.com/issues/17179 + Signed-off-by: Kefu Chai + (cherry picked from commit 79a9f299253e24d20547131b3c9c9e0667e3b869) + +commit 3ef5dcd2b37055994794f9cf6139dc2d8807d637 +Author: Kefu Chai +Date: Mon Aug 29 19:53:11 2016 +0800 + + tools/ceph_monstore_tool: add "rebuild" command + + Fixes: http://tracker.ceph.com/issues/17179 + Signed-off-by: Kefu Chai + (cherry picked from commit d909fa035c8fbbded786b2ca072acc10ea6b6052) + + Conflicts: + ceph_monstore_tool.cc: remove C++11ish + +commit 6695d1792df9ca7cf5afd5a8c25a04f1eb9ff0fa +Author: Kefu Chai +Date: Mon Aug 29 19:52:19 2016 +0800 + + tools/ceph-objectstore-tool: add "update-mon-db" command + + Fixes: http://tracker.ceph.com/issues/17179 + Signed-off-by: Kefu Chai + (cherry picked from commit 24faea7ce446bbf09cbd4a9d3434dd5444a6c295) + + Conflicts: + src/tools/Makefile-server.am: add rebuild_mondb.{cc,h}, as autotools + support is dropped in master + ceph_objectstore_tool.cc, rebuild_mondb.cc: remove C++11ish + adapt to hammer + +commit e7d9c15871efcd17b9b1064a5ee49edfe4a159e9 +Author: Kefu Chai +Date: Wed Aug 31 13:11:24 2016 +0800 + + mon/AuthMonitor: make AuthMonitor::IncType public + + so ceph-objectstore-tool is able to use it when rebuilding monitor + db. + + Fixes: http://tracker.ceph.com/issues/17179 + Signed-off-by: Kefu Chai + (cherry picked from commit 19ef4f16b3aba04119ac647cd6261c74a57ce829) + +commit 107e9c358acbc75f212f0bc6fcf83075933035b3 +Author: David Zafman +Date: Tue Mar 15 11:29:17 2016 -0700 + + thrasher: Add dump_ops_enable options + + Add dump_ops_enable which continuously dumps ops using 3 commands + + Signed-off-by: David Zafman + (Partial cherry picked from commit 7a528763d126eaca90e40b02aad02ab9c3c92a32) + + Excluded dynamic optracker testing with optrack_toggle_delay option + + Conflicts: + tasks/ceph_manager.py (trivial) + tasks/thrashosds.py (trivial) + +commit b7c87ae74a7f3f3c0096fe6cfe36e1077f96ea1f +Author: David Zafman +Date: Tue Apr 12 09:27:33 2016 -0700 + + ceph_manager: Add timeout to admin_socket/osd_admin_socket + + Signed-off-by: David Zafman + (cherry picked from commit 4ad3b866041a3a5391f46cd3d96297834b95956b) + +commit f79027a229b2cbb16eaf877b06bf35ecff647bea +Author: Kefu Chai +Date: Wed Feb 25 16:10:51 2015 +0800 + + Thrasher: log backtrace of thrown exception + + * add a wrapper to log uncaught exception to self.logger, greenlet also + prints the backtrace and exception to stderr, but teuthology.log does + not capture stderr. so we need to catch them by ourselves to reveal + more info to root-cause this issue. + * log uncaught exception thrown by Thrasher.do_thrash() to self.log. + + See: #10630 + Signed-off-by: Kefu Chai + (cherry picked from commit 64de3cd574b200d90cb3aea0d646a6236d8fec5e) + +commit 4533623b3df1e48b821a509013a91e8c3a7ec4a0 +Author: Sage Weil +Date: Mon Nov 21 16:58:48 2016 -0500 + + rados: remove btrfs tests; use xfs instead + + Signed-off-by: Sage Weil + +commit fb7f49658815d5427f6454b20560991a785a8399 +Author: Zhiqiang Wang +Date: Mon Mar 30 15:25:34 2015 +0800 + + common/TrackedOp: checking in flight ops fix + + Return earlier if tracking is not enabled when checking in flight ops. + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit 7509a6caa4964d71625c43f2ddc10e6274b6a21b) + +commit b58873efafabdc9791f500cff77be9a0a7002227 +Author: Zhiqiang Wang +Date: Mon Mar 30 14:41:21 2015 +0800 + + common/OpTracker: don't dump ops if tracking is not enabled + + If tracking is disabled, there is nothing to dump. No need to go through + each sharded list. This is true for both in flight and historical ops. + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit ec3c40952bbc4b495875e08b57d764a7487c6c09) + +commit 24c92fea4bc68a27a240155f48ee5fa4ee3bbfa0 +Author: Jianpeng Ma +Date: Mon Jul 6 13:49:42 2015 +0800 + + common/TrackedOp: check tracking_enabled for event "initiated/done". + + Signed-off-by: Jianpeng Ma + (cherry picked from commit d7585c020de41f25e6a598661844169f2bdbb2b4) + +commit 0f37a397e35f105b5ea57c7a1a0463c95a2384e1 +Author: Jianpeng Ma +Date: Mon Jul 6 10:48:36 2015 +0800 + + common/TrackedOp: clean up code make look good. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit edefd05edce6728774bb396ea4e6641ea53463cd) + +commit ece0ec60154d22bca7002cc308f3a0f4e36a053e +Author: Greg Farnum +Date: Mon May 23 15:14:21 2016 -0700 + + hammer: ObjectCacher: fix bh_read_finish offset logic + + If we have an incoming read split across multiple BufferHeads, we want to + line up the BufferHead's bl with the incoming OSDOp's bl at the right offset. We + were erroneously using this nonsense calculation (always equal to zero!) when + a much simpler comparison of the BufferHead's logical object offset to the + incoming OSDOp's logical offset will do the trick nicely. + + Fixes: http://tracker.ceph.com/issues/16002 + + Signed-off-by: Greg Farnum + (cherry picked from commit 9ec6e7f608608088d51e449c9d375844631dcdde) + +commit 33f277e601199003fc226c84f67d1bbebb36ad2c +Author: Greg Farnum +Date: Fri Jun 10 17:01:09 2016 -0700 + + hammer: test: build a correctness test for the ObjectCacher + + For now it's very specifically designed to reproduce + http://tracker.ceph.com/issues/16002, but it can + be extended to other patterns in the future. + + Signed-off-by: Greg Farnum + (cherry picked from commit 0fd55a9886dd8da344c23a5e9898ee5c5061e8f9) + + Hammer specific changes: + + * use utime_t instead of ceph::real_time + * ObjectCacher::prepare_write() has no journal_tid argument + * rewrite the code in C++98 + +commit 439ce945dde196a4439e4468681e35eadd4fca5f +Author: Greg Farnum +Date: Tue May 31 16:18:19 2016 -0700 + + hammer: test: split objectcacher test into 'stress' and 'correctness' + + Signed-off-by: Greg Farnum + (cherry picked from commit cc9aab1b0a22c3f7320046b97f75dccf2b86cc6d) + +commit ff3635a5457ac89ea0fb02f40f0ca723fe34e87c +Author: Greg Farnum +Date: Thu Jun 23 13:41:46 2016 -0700 + + hammer: test: add a data-storing MemWriteback for testing ObjectCacher + + Signed-off-by: Greg Farnum + (cherry picked from commit ed5801492bf2850e80a328ce5a61cb1ff2709215) + + Hammer specific changes: + + * use utime_t instead of ceph::real_time + * ObjectCacher::prepare_write() has no journal_tid argument + * rewrite code in C++98 + +commit 7a2abfac759acaf668c6ace25df94619f27e829d +Author: Yan, Zheng +Date: Wed Oct 28 17:06:59 2015 +0800 + + hammer: objectcacher: introduce ObjectCacher::flush_all() + + Signed-off-by: Yan, Zheng + (cherry picked from commit bd86c301a54a6e23cf2ce257b8024b6b92dfbe11) + + Conflicts: + src/osdc/ObjectCacher.h - whitespace only changes + + Semantic conflicts: + ObjectCacher::flush_all(): dirty_or_tx_bh is a set + in Hammer + +commit 9df96606edfb9ff9932297b8253a297cf75c02f6 +Author: Greg Farnum +Date: Thu Jun 23 14:23:51 2016 -0700 + + hammer: osd: provide some contents on ObjectExtent usage in testing + + Signed-off-by: Greg Farnum + (cherry picked from commit a555d9a0c7d3b6c2206520cf78445234b0834639) + +commit c5639e4e276a8d5f6457ce9f63b3e77a230a669c +Author: Mykola Golub +Date: Mon Dec 14 09:41:10 2015 +0000 + + stop.sh: make more portable + + Signed-off-by: Mykola Golub + (cherry picked from commit 27f2d806f905df1a51b11bd79f1af4c26471407a) + +commit 708c549b8d77b9a9ea4d46640287848a74898a40 +Merge: f776699 0ac7f2f +Author: Sage Weil +Date: Mon Nov 21 09:03:44 2016 -0600 + + Merge pull request #12006 from SUSE/wip-17905-hammer + + hammer: mon: MonmapMonitor should return success when MON will be removed + + Reviewed-by: Sage Weil + +commit d1e1207275eeaf2409b435236c579116900eb6b7 +Author: Ning Yao +Date: Thu Oct 13 16:53:18 2016 +0800 + + FileStore:: fix fiemap issue in xfs when #extents > 1364 + + Fixes: #17610 + Backport: jewel, hammer + Signed-off-by: Ning Yao + (cherry picked from commit 1a1c126d80b427d5230347fbc71a4edea5c0b6c8) + + Conflicts: + src/os/FileStore.cc + in hammer, there is no _do_seek_hole_data() function so remove it + in hammer, the logic is in FileStore::fiemap not in _do_fiemap() + so port the logic to the else branch in FileStore::fiemap + +commit a3ba985c38c07f85056f90d125e32ea277c65932 +Author: Kefu Chai +Date: Tue Jan 5 15:00:59 2016 +0800 + + ceph.in: improve the error message + + Fixes: #11101 + Signed-off-by: Kefu Chai + (cherry picked from commit e19e8f1553fdf8b6b642d3222d28f242fab696f0) + +commit 5711e794218cc83db023e1d6600ed75ef3ac3fcc +Author: Sage Weil +Date: Tue Mar 29 15:24:34 2016 -0400 + + os/ObjectStore: fix _update_op for split dest_cid + + Signed-off-by: Sage Weil + (cherry picked from commit e3dc7c772f563f97bc68ebc6dc6e0d408e7c11f3) + +commit cb9cc4e57a2abd5c13f61599a7fe594c5f21c9c3 +Author: Igor Podoski +Date: Mon Jul 11 12:37:25 2016 +0200 + + mon/MDSMonitor: fix memory leak in prepare_beacon + + prepare_beacon() case of prepare_update() should put() + message in two more cases, because is the last step + of dispatch() + + Fixes: http://tracker.ceph.com/issues/17285 + Signed-off-by: Igor Podoski + +commit 4a36933df8b9338c0a32d582e005894442092d0f +Author: Igor Podoski +Date: Wed Sep 14 07:36:43 2016 -0400 + + mon: OSDMonitor: Missing nearfull flag set + + Output from 'ceph -s -f json-pretty' wans't showing nearfull flag set. + + Signed-off-by: Igor Podoski + (cherry picked from commit 754887b575795ef96cda095f7f0d8c898e20f00f) + +commit e1694d6e85694ee8750b2af211505b89b3d6f0c8 +Author: Kefu Chai +Date: Thu Oct 13 13:19:27 2016 +0800 + + mon: send updated monmap to its subscribers + + prior to this change, we sends monmap when serving the subscription + requests, but the updates are not sent to the subscribers anymore. + so we need to send latest monmap to subscribes and update the + subscription status accordingly when the monmap is updated. + + http://tracker.ceph.com/issues/17558 + Signed-off-by: Kefu Chai + (cherry picked from commit c2b348b12c47ba505f72228ae0ea9b1a1b674719) + Conflicts: + src/mon/Monitor.cc: resolve conflicts + src/mon/MonmapMonitor.cc: remove C++11-ism + +commit ab0786d6a023e391e61119bd309985dcf6e05a4d +Author: YankunLi +Date: Tue Sep 6 16:16:58 2016 +0800 + + rbd: this command should be EXPORT_DIFF + + Fixes: http://tracker.ceph.com/issues/17671 + + Signed-off-by: liyankun + +commit d91c62dcf5b1c98b4cfed4eebf29ff9a9d64289b +Author: Dong Wu +Date: Thu Oct 27 11:02:36 2016 +0800 + + mon: update mon(peon)'s down_pending_out when osd up + + Fixes: http://tracker.ceph.com/issues/17719 + Signed-off-by: Dong Wu + (cherry picked from commit 664254a17afbad86983ea5b5b8d385662d89e65e) + + Conflicts: + src/mon/OSDMonitor.cc (auto declaration for variable "found" is a C++11ism, + replace with the full verbose C++98 type) + +commit d89b1f848b8c942d150076cef99491e4c5031bda +Author: Mykola Golub +Date: Wed Nov 16 12:01:00 2016 +0200 + + librbd: request exclusive lock if current owner cannot execute op + + This is a direct commit to hammer due to librbd code has evolved + significantly in the master. + + Fixes: http://tracker.ceph.com/issues/17068 + Signed-off-by: Mykola Golub + +commit 2b87a551c603291d6c018ed72b0c58e8e45bc334 +Author: Kefu Chai +Date: Fri Jul 1 20:44:35 2016 +0800 + + crush: reset bucket->h.items[i] when removing tree item + + * crush: so we don't see the reference after the removing, this keeps + check_item_loc() happy, and move_bucket() use check_item_loc() to see if + the removed bucket disappears after the removal. + * test: also add unittest_crush_wrapper::CrushWrapper.insert_item + + Fixes: http://tracker.ceph.com/issues/16525 + Signed-off-by: Kefu Chai + (cherry picked from commit a7069c7aab6b3f605f3d8f909af96f87977e8698) + + Backport change: modify some codes that only works on c++ 11 + +commit 0ac7f2f6c87e0d454466927b8528b3f3dae812a2 +Author: Joao Eduardo Luis +Date: Wed Nov 2 15:33:52 2016 +0000 + + mon: MonmapMonitor: return success when monitor will be removed + + Fixes: http://tracker.ceph.com/issues/17725 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit c9d46cfbf2512bc3495c6901de2b8f711bef9bae) + + Conflicts: + src/mon/MonmapMonitor.cc (just inserted the "err = 0" assignment + immediately after the error message line) + +commit 6c0b2b4ceba188397d5877a602b0e1996d29a4eb +Author: Jason Dillaman +Date: Thu Aug 4 20:40:10 2016 -0400 + + librbd: prevent creation of v2 image ids that are too large + + The librbd API is capped at 24 characters for expressing the + object prefix for data blocks (including trailing null byte). + + Fixes: http://tracker.ceph.com/issues/16887 + Signed-off-by: Jason Dillaman + (cherry picked from commit 4de7c8d0a7222c83268d03b99015c6b9d25f124d) + +commit 5fb8fb4e450949ebc4c724c102a5b2ae6f1d06c8 +Author: Samuel Just +Date: Thu May 19 16:00:35 2016 -0700 + + PG: update PGPool to detect map gaps and reset cached_removed_snaps + + Fixes: http://tracker.ceph.com/issues/15943 + Signed-off-by: Samuel Just + (cherry picked from commit 5798fb3bf6d726d14a9c5cb99dc5902eba5b878a) + + Conflicts: + src/osd/OSD.cc: trivial, fuzz is too big so git prefers to be safe + +commit 3404da8f1e491df86c8a1f12606546cd5a7d952c +Author: Matt Benjamin +Date: Mon Jan 18 15:58:07 2016 -0500 + + rgw-admin: return error on email address conflict (add user) + + Fixes the error return inconsistency documented in upstream + Ceph issue #13598 + + Revised after upstream review, permits changing email address as + originally (but use case-insensitive comp). + + Signed-off-by: Matt Benjamin + (cherry picked from commit 90c143efa2156e55dc017ebe81005315cacaf2c5) + + Conflicts: + src/rgw/rgw_user.cc (there is no op_state.found_by_email + conditional in hammer) + +commit f5bf5c0f9e9db788fd556f9e92f805fc215138f6 +Author: Matt Benjamin +Date: Mon Jan 18 15:06:19 2016 -0500 + + rgw-admin: convert user email addresses to lower case + + Fixes the email address inconsistency documented in upstream + Ceph BUG #13598 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 4c438dbbc0e6eda6b9a3018d60019a1a780d6f65) + +commit 009c844e34bcd3e4e34eace90f90a140484e2794 +Author: Radoslaw Zarzynski +Date: Mon Oct 12 18:43:27 2015 +0200 + + rgw: fix wrong length in Content-Range HTTP header of Swift's DLO. + + Fixes: #13452 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit b48f3d774129e0b37531fccda513626bd8ef07e5) + +commit 2175b688358455472ac6320bb82ac6bef7133e59 +Author: Radoslaw Zarzynski +Date: Mon Oct 12 17:32:21 2015 +0200 + + rgw: fix wrong first byte pos in Content-Range HTTP header of Swift's DLO. + + Fixes: #13452 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 66f47f35bbb4966cb289811672938b90ae6d44ae) + +commit da653fc3594d49bdac5dc00129c8aa5fd227d6c0 +Author: Yehuda Sadeh +Date: Thu Jul 7 18:01:54 2016 -0700 + + rgw: adjust manifest head object + + adjust the manifest head object: + - when reading manifest, set the head object to the object + we read the manifest from (and its size). Some manifests are + broken and point at a different object + - when copying multipart object, set the manifest head object to + point at the new head object + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 419264586fc46337322f0d60b0ffcdcce3bb5c5a) + +commit 8f1c915fa47a889cb50cf84e2d1230df7443752c +Author: Yehuda Sadeh +Date: Thu Jul 7 15:49:07 2016 -0700 + + rgw: adjust objs when copying obj with explicit_objs set + + If the head object contains data, need to set it in the list of + objs (in addition to being pointed at by head_obj). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 1e012112b99004745952accc6fb11ada5e8e0045) + +commit 43a5d5eb2835e1750ef4fbe6d8d3d85af02c6b30 +Author: Yehuda Sadeh +Date: Thu Jul 7 15:36:33 2016 -0700 + + rgw: patch manifest to handle explicit objs copy issue + + Fixes: http://tracker.ceph.com/issues/16435 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b51476466e5bb03bbaa6e428bb6bb189a259b9fd) + +commit 815541feb989442bdf4d30faf603ef2795bc1ade +Author: Jason Dillaman +Date: Tue Sep 20 07:25:36 2016 -0400 + + librbd: block name prefix might overflow fixed size C-string + + The issue which resulted in too large v2 image ids was fixed + under #16887. + + Fixes: http://tracker.ceph.com/issues/17310 + Signed-off-by: Jason Dillaman + (cherry picked from commit 61734d266c6ee476c2f5fcfbbaefc7d0c7939617) + +commit a56b93faf2ae8db2ebe55aaf6003a48ac2bfb8b2 +Author: Samuel Just +Date: Tue Jan 5 16:24:15 2016 -0800 + + OpRequest: release the message throttle when unregistered + + We don't want messages in the OpTracker history hanging on to + message throttle. + + Fixes: #14248 + Backport: hammer, firefly + Signed-off-by: Samuel Just + (cherry picked from commit 67be35cba7c384353b0b6d49284a4ead94c4152e) + + Conflicts: + src/msg/Message.h (s/nullptr/0/ because C++98) + +commit 4c780bd7fc6e8a98334ddd049a4969d88a9de49f +Author: Samuel Just +Date: Tue Jun 7 17:15:05 2016 -0700 + + OSDMonitor::prepare_pgtemp: only update up_thru if newer + + Fixes: http://tracker.ceph.com/issues/16185 + Signed-off-by: Samuel Just + (cherry picked from commit 5f2bd7b6b28aad96d68444b22c04b8b24564616b) + + Conflicts: + src/mon/OSDMonitor.cc (master uses C++11 "auto" for new_up_thru + iterator, replace with explicit type) + src/mon/OSDMonitor.h (trivial resolution) + +commit 7ad7de69631372ef364d19bf023e7dba3c88092c +Author: Kefu Chai +Date: Tue Sep 20 14:10:16 2016 +0800 + + crush/CrushCompiler: error out as long as parse fails + + do not output compiled crush map if anything goes wrong when parsing + crush map. + + Fixes: http://tracker.ceph.com/issues/17306 + Signed-off-by: Kefu Chai + (cherry picked from commit b2c0a079dc074c907e1bc429861230096534f597) + + Conflicts: + src/test/cli/crushtool/compile-decompile-recompile.t (hammer needs $TESTDIR/ prefix) + +commit 2332cf22d23fd40ae238b98798e3290094548914 +Author: Yan, Zheng +Date: Mon Mar 30 17:35:59 2015 +0800 + + mds: fix out-of-order messages + + When MDS is no longer laggy, it should process deferred messages + first, then process newly received messages. + + Fix: #11258 + Signed-off-by: Yan, Zheng + (cherry picked from commit ccdeaf87df8b66e09f6b20950b57ac61bf213086) + +commit fc4659155406432404d6e7afb63de545e4abf1a6 +Author: Nathan Cutler +Date: Sat Nov 12 12:37:00 2016 +0100 + + pg: restore correct behavior of read() callers + + This patch is inspired by fabd6357e42e526d2704d7cb80375c12d731df8d but is not a + cherry-pick. + + Fixes: http://tracker.ceph.com/issues/16870 + Signed-off-by: Nathan Cutler + +commit 64eeb8d96cf295c8a3739d5d993b51f77c35e466 +Author: Kefu Chai +Date: Fri Aug 5 14:27:43 2016 +0800 + + mon/PGMonitor: calc the %USED of pool using used/(used+avail) + + we were using + "the raw space used by this pool" / "the raw space of the whole cluster" + as the %USED. but it's wrong: + + - there is chance that not all OSDs are assigned to the pool in question + - we can not utilize all the raw space for the pool: there is overhead. + and the size of available space for a pool is capped by the assigned + OSD with minimal free space. + + so we should use + USED / (USED + AVAIL) + as the %USED. so once we have no AVAIL space left, %USED will be 100%. + + Fixes: http://tracker.ceph.com/issues/16933 + Signed-off-by: Kefu Chai + (cherry picked from commit 08532ea166dfd97c548d9f1fb478e163021cdda3) + + Conflicts: + src/test/mon/CMakeLists.txt (file does not exist in hammer) + +commit d62258c03492fca5fca99650cc7514348251cb7b +Author: Kefu Chai +Date: Sun Aug 7 00:58:04 2016 +0800 + + mon/PGMonitor: mark dump_object_stat_sum() as static + + so we can test this method without create an instance of PGMonitor. + + Signed-off-by: Kefu Chai + (cherry picked from commit af3d3e25823ca9b40ddf09835edb82795ac68f33) + + Conflicts: + src/mon/PGMonitor.cc ("const" suffix of function definition was removed + in master, but in hammer it wasn't there, so no change necessary) + src/mon/PGMonitor.h (added static prefix to function declaration; did + not remove "const" suffix because it wasn't there in hammer) + +commit e302e636b8fd8f3106a3971dfc44f2c91995e3f5 +Author: Samuel Just +Date: Thu Aug 11 08:57:51 2016 -0700 + + PG: use upset rather than up for _update_calc_stats + + Fixes: http://tracker.ceph.com/issues/16998 + Signed-off-by: Samuel Just + (cherry picked from commit 200cae8c9db99b3dede377f74413cc0b15033e1f) + +commit cfa2b2d3bcad8ebf0a94b89b3a27ce72445fc30a +Author: Samuel Just +Date: Thu Aug 11 08:57:35 2016 -0700 + + PG: introduce and maintain upset + + Signed-off-by: Samuel Just + (cherry picked from commit 80a5c21d97116e7a66351a0e1f5d9b561f8663ac) + +commit ad42da47909f2ce6902c9f34e2e9e0c445bb1cc7 +Author: Tao Chang +Date: Mon May 9 09:50:17 2016 -0400 + + Cleanup: delete find_best_info again + + After called find_best_info find a auth_pg_shard, it must be not incomplete, + so it will not enter find_best_info again. + + Signed-off-by: Tao Chang + (cherry picked from commit a25cfc4d46c03d8d78e0254c728ea5c29e2246e1) + + Conflicts: + src/osd/PG.cc (trivial resolution) + +commit fbf51ba878c7a00c045fc97bf309c39b0d9c4fcc +Author: Brad Hubbard +Date: Tue Jun 14 17:34:44 2016 +1000 + + cephx: Fix multiple segfaults due to attempts to encrypt or decrypt + an empty secret and a null CryptoKeyHandler + + Fixes: http://tracker.ceph.com/issues/16266 + Signed-off-by: Brad Hubbard + (cherry picked from commit 009e777fbd18602e5fd66f97bdad95e977e6fecc) + +commit 76eed80e6649fdd53a2a3ee3d7242a8e48e1168a +Author: Kefu Chai +Date: Tue Sep 20 17:39:24 2016 +0800 + + os/filestore/FileJournal: fail out if FileJournal is not block device or regular file + + otherwise JournalingFileStore will assert when deleting FileJournal + which still has the non block/regular file opened. + + Fixes: http://tracker.ceph.com/issues/17307 + Signed-off-by: Kefu Chai + (cherry picked from commit 7431eec6fd24cd08ca6c76a9893e3f6e8c63a916) + +commit f99a1d364ae8ec0f7bad220fdd6d665ecdc8029c +Author: Haomai Wang +Date: Sun Oct 9 18:31:54 2016 +0800 + + osd/PGBackend: fix collection_list shadow return value + + Fixes: http://tracker.ceph.com/issues/17713 + Signed-off-by: Haomai Wang + (cherry picked from commit 8a53a604f375eb568a6fc88a402a6afd83fa151a) + + Conflicts: + src/osd/PGBackend.cc (master is using store->collection_list and ch; + hammer is using store->collection_list_partial and coll) + +commit a7b182e00639e635092fa40c39073859720215af +Author: root +Date: Thu Sep 24 00:21:13 2015 +0530 + + 13207: Rados Gateway: Anonymous user is able to read bucket with authenticated read ACL + + Signed-off-by: root + (cherry picked from commit 99ba6610a8f437604cadf68cbe9969def893e870) + +commit 31c25941d551c61df4eabdb6c3e2226ef4b3cf02 +Author: weiqiaomiao +Date: Tue Oct 11 19:32:43 2016 +0800 + + rgw: fix the field 'total_time' of log entry in log show opt + + Fixes: http://tracker.ceph.com/issues/17598 + + Signed-off-by: weiqiaomiao + (cherry picked from commit 8f4825c5f012c77a3a91e22706dcab9c6067d77e) + +commit d50a5018c43d200e4cd36daa7826b2b4c17434ed +Author: Yehuda Sadeh +Date: Thu Oct 20 10:17:36 2016 -0700 + + rgw: handle empty POST condition + + Fixes: http://tracker.ceph.com/issues/17635 + + Before accessing json entity, need to check that iterator is valid. + If there is no entry return appropriate error code. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 23cb642243e09ca4a8e104f62a3bb7b2cbb6ea12) + +commit 258195373a6aaabe9a74805268d8094bf48fae0a +Author: Vladislav Odintsov +Date: Mon Jul 4 15:29:22 2016 +0300 + + init-radosgw: do not use systemd-run in sysvinit + + `systemd-run` logic in initscripts was introduced because of ticket + http://tracker.ceph.com/issues/7627. + + If we have systemd-based operating system, we should use systemd unit files + from systemd directory to start/stop ceph daemons. + Otherwise, `daemon()` from `/etc/init.d/functions` on systemd distro starts service + in `system.slice` and everything works well. + + `systemd-run` can not be run on non-systemd distros, so it's not needed + on SysV systems. + + also, ceph-disk is now able to run the "systemctl" + to enable and start the ceph-osd, and ceph-deploy is also now + playing well with systemd when it comes to ceph-mon and ceph-mds + + Fixes: http://tracker.ceph.com/issues/16440 + + Signed-off-by: Vladislav Odintsov + (cherry picked from commit 1fd4f92a025e80092b8d08d9b7da2e0b73a52f0f) + +commit f776699fd00ff5f0deea15ec4f2efb991831b055 +Merge: 8e13e7c bfa7c14 +Author: Loic Dachary +Date: Sat Oct 29 10:24:18 2016 +0200 + + Merge pull request #11372 from ceph/wip-17386-hammer + + hammer: doc: add "Upgrading to Hammer" section + + Reviewed-by: Samuel Just + Reviewed-by: Kefu Chai + +commit bfa7c14894ebab3ab58282782d8217438a3c4047 +Author: Kefu Chai +Date: Thu Oct 27 15:44:09 2016 +0800 + + doc: add "to Hammer" upgrade section + + Fixes: http://tracker.ceph.com/issues/17534 + Signed-off-by: Kefu Chai + +commit 8e5872bf6c18b410136fd76974ae11e645c09928 +Merge: 995d3a9 2c27626 +Author: Zack Cerza +Date: Wed Oct 19 11:36:07 2016 -0600 + + Merge pull request #1215 from jcsp/wip-generate-caps-hammer + + tasks/ceph: move generate_caps from teuthology + +commit 2c27626c1e5d9989ac6942a94b6d9198ccbd28fb +Author: John Spray +Date: Tue Sep 27 12:17:22 2016 +0100 + + tasks/ceph: move generate_caps from teuthology + + This was only used in this task, and it is much too + ceph-specific to belong in teuthology. + + Fixes: http://tracker.ceph.com/issues/17614 + Signed-off-by: John Spray + (cherry picked from commit 298cc8f932a2a327e07f5b73708404588a611322) + +commit e7253b8ecb49bf894dbc21d260a767ecd8d3eb19 +Author: Yehuda Sadeh +Date: Mon Oct 3 16:43:44 2016 -0700 + + rgw_admin: add bi purge command + + Signed-off-by: Yehuda Sadeh + + Conflicts: + src/rgw/rgw_admin.cc + +commit 4f605ebf3f415943e8c151364dadfdce3b69cde5 +Author: Yehuda Sadeh +Date: Wed Sep 28 12:54:47 2016 -0700 + + rgw: bucket resharding, adjust logging + + Signed-off-by: Yehuda Sadeh + +commit 6503430d1b47630b12164f46702bbb42dd7bb453 +Author: Yehuda Sadeh +Date: Wed Sep 28 10:41:45 2016 -0700 + + cls/rgw: bi_list() fix is_truncated returned param + + is_truncated was never set. Also, make sure that we don't return + more entries than requested. + + Signed-off-by: Yehuda Sadeh + +commit f07e22ae7beab634068cc37a975356393c8b60bf +Author: Yehuda Sadeh +Date: Tue Sep 27 15:13:37 2016 -0700 + + rgw_admin: require --yes-i-really-mean-it for bucket reshard + + in the case where num shards are less or equal to current bucket + + Signed-off-by: Yehuda Sadeh + +commit 55e3e7742b22fd0f015f7439e7aeabdce1845caa +Author: Yehuda Sadeh +Date: Tue Sep 27 14:35:31 2016 -0700 + + rgw_admin: better bucket reshard logging + + Signed-off-by: Yehuda Sadeh + + Conflicts: + src/rgw/rgw_admin.cc + +commit 75f69da3ecba55992453f0a901f997e8a1737884 +Author: Yehuda Sadeh +Date: Tue Sep 27 14:11:41 2016 -0700 + + rgw: limit bucket reshard num shards to max possible + + Signed-off-by: Yehuda Sadeh + + Conflicts: + src/rgw/rgw_admin.cc + src/rgw/rgw_rados.h + +commit b6a15514e7cad6c8fd84f589fd5e4c7b505045e7 +Author: Yehuda Sadeh +Date: Tue Sep 27 11:55:32 2016 -0700 + + rgw_admin: fix bi list command + + Changes scoping of json section, and push the --object param in so that + an object can be specified as a filter. + + Signed-off-by: Yehuda Sadeh + + Conflicts: + src/rgw/rgw_admin.cc + +commit 6e91760e045b61a144d669f1caa5a55e10b13e58 +Author: Yehuda Sadeh +Date: Mon Sep 26 15:49:37 2016 -0700 + + rgw_admin: use aio operations for bucket resharding + + also created shards manager to make things slightly cleaner + + Signed-off-by: Yehuda Sadeh + + Conflicts: + src/rgw/rgw_admin.cc + +commit a68d56febde154b3b92d3178d2e877e86b3e2dd9 +Author: Yehuda Sadeh +Date: Mon Sep 26 10:45:17 2016 -0700 + + rgw: bucket reshard updates stats + + Signed-off-by: Yehuda Sadeh + + Conflicts: + src/cls/rgw/cls_rgw_types.h + src/rgw/rgw_admin.cc + +commit 858bcf189afb9fd042c370bb1f53864447dcdc96 +Author: Yehuda Sadeh +Date: Mon Sep 26 09:52:29 2016 -0700 + + cls/rgw: add bucket_update_stats method + + Signed-off-by: Yehuda Sadeh + +commit 37cda4ec1fee1d6e413d1ffe8c5f4f6558634740 +Author: Yehuda Sadeh +Date: Sat Sep 24 10:46:36 2016 -0700 + + rgw_admin: reshard also links to new bucket instance + + Signed-off-by: Yehuda Sadeh + +commit 6c3e734cd87138b55a8a65951d76f7f91c9f0d93 +Author: Yehuda Sadeh +Date: Sat Sep 24 10:33:57 2016 -0700 + + rgw: rgw_link_bucket, use correct bucket structure for entry point + + The bucket structure might be different than the one that we were using + before. + + Signed-off-by: Yehuda Sadeh + + Conflicts: + src/rgw/rgw_bucket.cc + +commit 7cc1de860dce16e3956fe604b3bcb8ed1a2fe9ea +Author: Yehuda Sadeh +Date: Sat Sep 24 10:01:00 2016 -0700 + + radosgw-admin: bucket reshard needs --num-shards to be specified + + Signed-off-by: Yehuda Sadeh + + Conflicts: + src/rgw/rgw_admin.cc + +commit b2cc000bbdb7e02e3fa9bdc7d7d71d3e979fee2b +Author: Yehuda Sadeh +Date: Sat Sep 24 05:49:37 2016 -0700 + + cls/rgw: fix bi_list objclass command + + was filtering entries, even if filter was not specified, and need to + set boundary for plain entries. Also, list_instance_entries() was not + working correctly, and added list_olh_entries(). + + Signed-off-by: Yehuda Sadeh + +commit 53982a2e61614398de2e37705da12aa6874360a0 +Author: Yehuda Sadeh +Date: Mon Sep 26 16:09:34 2016 -0700 + + rgw_admin: bucket rehsrading, initial work + + Signed-off-by: Yehuda Sadeh + + Conflicts: + src/rgw/rgw_admin.cc + +commit 995d3a9c49c04d6ded62aa34cfaacc650b7d13a6 +Merge: c2a8f05 e4038a0 +Author: Josh Durgin +Date: Thu Sep 29 21:34:49 2016 -0700 + + Merge pull request #1192 from ceph/wip-offline-split-hammer2 + + ceph_manager: test offline split via ceph-objectstore-tool + + Reviewed-by: Josh Durgin + +commit 8e13e7ce98e99d3ef1b2942f06b4c9ab35c12066 +Merge: e2d4f0a 99bb9f6 +Author: Josh Durgin +Date: Thu Sep 29 21:34:26 2016 -0700 + + Merge pull request #11253 from ceph/wip-offline-split-hammer2 + + ceph-objectstore-tool: add a way to split filestore directories offline + + Reviewed-by: Josh Durgin + +commit e4038a0c0068569cc1c7bcaf1b590fba31291610 +Author: Josh Durgin +Date: Fri Aug 5 18:16:20 2016 -0700 + + ceph_manager: test offline split via ceph-objectstore-tool + + When killing an osd, split all pools with a low threshold. + This will slow down tests, but should not impact correctness. + + Signed-off-by: Josh Durgin + (cherry picked from commit f28f881bda0ad426bfa9c0e22cc4658b2ce2ec5d) + +commit 99bb9f603f2123e81470a819c1cd64df13a22425 +Author: Josh Durgin +Date: Fri Aug 5 11:45:00 2016 -0700 + + ceph-objectstore-tool: add a way to split filestore directories offline + + Use the usual split code, and split each dir that meets the + usual split criteria. + + This can be run with lower than usual split settings, to avoid costly + online splits. To make sure the directories are not merged again, use + a load merge threshold (e.g. filestore merge threshold = 1), and + adjust the split multiplier accordingly. + + Fixes: http://tracker.ceph.com/issues/17220 + Signed-off-by: Josh Durgin + (cherry picked from commit e7b0428e0e8d8f5459311dc698d94a3ac4f04684) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + * remove c++11 auto usage + * change HashIndex::list_subdirs() call to use set instead of vector + * adjust to hammer signature of coll_t::is_pg() + +commit c1b64c8f9c23473b758300958a94a172f1d39b64 +Author: Yehuda Sadeh +Date: Thu Sep 10 12:52:43 2015 -0700 + + rgw: rgw_obj encoding fixes + + Fix a few issues: + - conversion to and from rgw_obj_key + - strip_namespace_from_object() in the case where object starts + with underscore + - encoding if object has either namespace or instance and starts + with underscore + + Signed-off-by: Yehuda Sadeh + +commit c381cc5d69ebec4370ee18e350b9d003e15b2770 +Author: Yehuda Sadeh +Date: Mon Sep 26 16:09:15 2016 -0700 + + rgw: utilities to support raw bucket index operations + + and other related changes. + + Signed-off-by: Yehuda Sadeh + + Conflicts: + src/rgw/rgw_rados.cc + src/rgw/rgw_rados.h + +commit d41cbb44c55cf2dca5ab25d5a1ec76e30db26150 +Author: Yehuda Sadeh +Date: Mon Sep 26 16:06:17 2016 -0700 + + rgw: use bucket_info.bucket_id instead of marker where needed + + We used to use these interchangeably, but they actually have diffent meaning. + The marker is the prefix we assign to the objects in this bucket, whereas + the bucket_id is the bucket instance's id. These used to hold the same + value, but with bucket resharding it's not going to be true anymore. + + Signed-off-by: Yehuda Sadeh + +commit 228f52cca1866c40a3840e06bd260c1d92d59caa +Author: Yehuda Sadeh +Date: Mon Sep 26 16:01:39 2016 -0700 + + cls/rgw: utilities to support raw bucket index operations + + New flavour of bi_put() call, and a function to extract key off + a raw bi entry. + + Signed-off-by: Yehuda Sadeh + +commit e2d4f0af387869569a8c143fa2d2873e6788d2a2 +Merge: 8f66abd 0b42082 +Author: Casey Bodley +Date: Tue Sep 20 10:33:02 2016 -0400 + + Merge pull request #11140 from cbodley/wip-radosgw-admin-man-hammer + + hammer: add orphan options to radosgw-admin --help and man page + + Reviewed-by: Ken Dreyer + +commit 0b420821fd3ed33d077ce76beef7a6f1a0e5edb7 +Author: Casey Bodley +Date: Tue Sep 20 09:27:52 2016 -0400 + + man: add orphan options to radosgw-admin.8 + + Signed-off-by: Casey Bodley + +commit 054e0d45c351525454517472df2c0b1dcecb5c39 +Author: tserlin +Date: Mon Sep 19 14:40:12 2016 -0400 + + Add two options to radosgw-admin.rst manpage + + Add '--job-id' and '--max-concurrent-ios' to Orphan Search Options + + Fixes: http://tracker.ceph.com/issues/17281 + Signed-off-by: Thomas Serlin + (cherry picked from commit 697f30d86f49b73c981c06375ab2937570b1db01) + +commit 2920334210376bb34e59d6ecf08557732bcc3861 +Author: Ken Dreyer +Date: Thu Sep 15 12:56:39 2016 -0600 + + radosgw-admin: add "--orphan-stale-secs" to --help + + The radosgw-admin --help did not include the description of the + `--orphan-stale-secs` option of the `orphans find` command. The option + sets the number of seconds to wait before declaring an object to be an + orphan. + + Fixes: http://tracker.ceph.com/issues/17280 + Signed-off-by: Ken Dreyer + (cherry picked from commit 354059ae43b4f4cc797da1669715399cd96a4738) + +commit 34ecb3584230db8458f193ac01deff9264cd119a +Author: Abhishek Lekshmanan +Date: Fri Apr 1 13:46:30 2016 +0200 + + rgw_admin: improve the orphans find help + + Adding a few missing commandline switches and improve the help message + + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit 27e4c46f741a5f908d5c8ca1af227b3581c697f6) + +commit 3575fa8112ac39b1c6edf2aaee5b02aa67fa5766 +Author: Ken Dreyer +Date: Thu Sep 15 11:40:14 2016 -0600 + + doc: add "--orphan-stale-secs" to radosgw-admin(8) + + The radosgw-admin(8) manual page did not include the description of the + `--orphan-stale-secs` option of the `orphans find` command. The option sets + the number of seconds to wait before declaring an object to be an + orphan. + + Fixes: http://tracker.ceph.com/issues/17280 + Signed-off-by: Ken Dreyer + (cherry picked from commit a676c516069cc448591018ecf4f7d1f7f7bc3bfd) + +commit 8f66abd02ed5f0bc697b80b3071f0c70886aab6e +Merge: fe6d859 c7f6b47 +Author: Casey Bodley +Date: Wed Sep 7 13:06:33 2016 -0400 + + Merge pull request #10839 from oritwas/hammer-default-quota + + Hammer default quota + + Reviewed-by: Daniel Gryniewicz diff --git a/doc/changelog/v0.94.2.txt b/doc/changelog/v0.94.2.txt new file mode 100644 index 00000000..f8113af7 --- /dev/null +++ b/doc/changelog/v0.94.2.txt @@ -0,0 +1,1563 @@ +commit 5fb85614ca8f354284c713a2f9c610860720bbf3 (tag: refs/tags/v0.94.2, refs/remotes/gh/hammer) +Author: Jenkins +Date: Tue Jun 9 12:32:34 2015 -0700 + + 0.94.2 + +commit d967cecf0a5d7fbf992a0195341cbd893a358264 +Merge: eb69cf7 968573b +Author: Loic Dachary +Date: Fri May 29 09:49:43 2015 +0200 + + Merge pull request #4795 from dachary/wip-11806-hammer + + ceph / ceph-dbg steal ceph-objecstore-tool from ceph-test / ceph-test-dbg + + Reviewed-by: Sage Weil + +commit 968573b8930a7c8485bf53e3a989ce2f7d0a2fff +Author: Loic Dachary +Date: Thu May 28 10:35:51 2015 +0200 + + debian: ceph-dbg steals ceph-objectstore-tool from ceph-test-dbg + + When ceph-objectstore-tool was moved from ceph-test to + ceph by 61cf5da0b51e2d9578c7b4bca85184317e30f4ca, the ceph package in + debian/control was updated accordingly, as recommended by + https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces + + The same must be done for the ceph-dbg package because + /usr/lib/debug/usr/bin/ceph-objectstore-too is no longer in + ceph-test-dbg. + + Although the change was merged may 6th, 2015 + 8f23382064c189b657564d58c3f9d17720e891ed, teuthology jobs were not + always failing because packages were not systematically upgraded during + the installation. The missing dependencies that were responsible for + this upgrade problem were fixed by + f898ec1e4e3472b0202280f09653a769fc62c8d3 on may 18th, 2015 and all + upgrade tests relying on ceph-*-dbg packages started to fail + systematically after this date. + + http://tracker.ceph.com/issues/11546 Fixes: #11546 + + Signed-off-by: Loic Dachary + (cherry picked from commit 6f11fbf41fab10924b1e0e41fcf27864779d4073) + +commit eb69cf758eb25e7ac71e36c754b9b959edb67cee +Merge: 63832d4 344328d +Author: Ken Dreyer +Date: Tue May 26 19:52:59 2015 -0600 + + Merge pull request #4773 from dachary/wip-11733-hammer + + Debian: ceph-test and rest-bench debug packages should require their respective binary packages + + Reviewed-by: Ken Dreyer + +commit 344328de584ac707b59ab857f1f3dd4165adfcf5 +Author: Ken Dreyer +Date: Mon May 18 10:50:58 2015 -0600 + + debian: set rest-bench-dbg ceph-test-dbg dependencies + + Debian's debug packages ought to depend on their respective binary + packages. This was the case for many of our ceph packages, but it was + not the case for ceph-test-dbg or rest-bench-dbg. + + Add the dependencies on the relevant binary packages, pinned to + "= ${binary:Version}" per convention. + + http://tracker.ceph.com/issues/11673 Fixes: #11673 + + Signed-off-by: Ken Dreyer + (cherry picked from commit f898ec1e4e3472b0202280f09653a769fc62c8d3) + +commit 63832d4039889b6b704b88b86eaba4aadcfceb2e +Merge: 195884e 293affe +Author: Loic Dachary +Date: Mon May 18 14:26:16 2015 +0200 + + Merge pull request #4696 from ceph/wip-11622-hammer + + Wip 11622 hammer + + Reviewed-by: Loic Dachary + +commit 195884e21760f4948f7d1df8b65788514f918054 +Merge: b69fb89 95818da +Author: Sage Weil +Date: Fri May 15 13:47:04 2015 -0700 + + Merge pull request #4649 from ceph/wip-hammer-package-perf-objectstore + + packaging: include ceph_perf_objectstore + +commit 293affe992118ed6e04f685030b2d83a794ca624 (refs/remotes/gh/wip-11622-hammer) +Author: Yehuda Sadeh +Date: Wed May 13 17:05:22 2015 -0700 + + rgw: merge manifests correctly when there's prefix override + + Fixes: #11622 + Backport: hammer, firefly + + Prefix override happens in a manifest when a rados object does not + conform to the generic prefix set on the manifest. When merging + manifests (specifically being used in multipart objects upload), we need + to check if the rule that we try to merge has a prefix that is the same + as the previous rule. Beforehand we checked if both had the same + override_prefix setting, but that might not apply as both manifests + might have different prefixes. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 389ae6739ddc6239a4dd7c5f7f9bfc9b645b8577) + +commit a43d24861089a02f3b42061e482e05016a0021f6 +Author: Yehuda Sadeh +Date: Tue May 12 16:40:10 2015 -0700 + + rgw: restore buffer of multipart upload after EEXIST + + Fixes #11604 + Backport: hammer, firefly + + When we need to restart a write of part data, we need to revert to + buffer to before the write, otherwise we're going to skip some data. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 580ccaec12daae64c38a1616d0be907bdd70a888) + +commit 95818dac1522c218662ec12bd42c470d8394b3b9 +Author: Ken Dreyer +Date: Fri Mar 13 16:08:35 2015 -0600 + + packaging: include ceph_perf_objectstore + + The /usr/bin/ceph_perf_objectstore file is installed by default. Prior + to this commit it was missing from the packaging. This caused the RPM to + fail to build in mock. + + Add ceph_perf_objectstore to the "ceph-test" RPM and Debian package. + + If we end up developing further ceph_perf_* utilities, it would make + sense to glob them all with a wildcard, similar to what we are doing + with all the ceph_test_* utilities in ceph-test. + + Signed-off-by: Ken Dreyer + (cherry picked from commit 338b44bc74bc4597939c5c58f2a6f2cb08de7d9c) + +commit b69fb89122d6f989152a29124cc7ed54b5e4d43b +Merge: 0f02512 efbfe6f +Author: Yehuda Sadeh +Date: Mon May 11 10:27:02 2015 -0700 + + Merge pull request #4568 from dachary/wip-10662-10663-hammer + + RGW swift API: Response header of COPY request for object does not + + contain x-copied-from, custom metadata, x-copied-from-last-modified, X-Copied-From-Account headers + + Reviewed-by: Yehuda Sadeh + +commit 0f025122fe574b99504a630e3d489c3449cbbe46 +Merge: 7df3eb5 6e2dd40 +Author: Loic Dachary +Date: Mon May 11 14:08:53 2015 +0200 + + Merge pull request #4629 from ceph/hammer-uclient-checking + + Hammer uclient checking + + Reviewed-by: Loic Dachary + +commit 6e2dd408be95644ee5bceb556a90483f882fe51c +Author: John Spray +Date: Thu May 7 18:42:01 2015 +0100 + + client: fix error handling in check_pool_perm + + Previously, on an error such as a pool not existing, + the caller doing the check would error out, but + anyone waiting on waiting_for_pool_perm would + block indefinitely (symptom was that reads on a + file with a bogus layout would block forever). + + Fix by triggering the wait list on errors and + clear the CHECKING state so that the other callers + also perform the check and find the error. + + Additionally, don't return the RADOS error code + up to filesystem users, because it can be + misleading. For example, nonexistent pool is + ENOENT, but we shouldn't give ENOENT on IO + to a file which does exist, we should give EIO. + + Signed-off-by: John Spray + (cherry picked from commit e08cf25cafef5752877439c18cc584b0a75eca08) + Reviewed-by: Greg Farnum + +commit 3c2e6ae97d6129cb8f5befb3e7bf4be16373f6a5 +Author: John Spray +Date: Thu May 7 18:17:37 2015 +0100 + + client: use SaferCond in check_pool_perm + + Just because it's easier to read. + + Signed-off-by: John Spray + (cherry picked from commit 289ee3b80ccce6bab2966f513a37332280d04a06) + Reviewed-by: Greg Farnum + +commit 79b2ac215187402a99594424944db4169f2b2cdf +Author: Yan, Zheng +Date: Fri Apr 24 15:23:21 2015 +0800 + + client: check OSD caps before read/write + + Signed-off-by: Yan, Zheng + (cherry picked from commit 3c4028ec21e3ef9e8801c4570420c88722651cc7) + Reviewed-by: Greg Farnum + +commit 7df3eb5e548f7b95ec53d3b9d0e43a863d6fe682 +Merge: 6a7fa83 2f86995 +Author: Yehuda Sadeh +Date: Fri May 8 11:07:07 2015 -0700 + + Merge pull request #4567 from dachary/wip-10938-hammer + + RGW Swift API: response for GET/HEAD on container does not contain the X-Timestamp header + + Reviewed-by: Yehuda Sadeh + +commit 6a7fa83b3e72b85f92d003a5bbb03a301354a657 +Merge: 553f0db 3edb196 +Author: Yehuda Sadeh +Date: Fri May 8 11:05:59 2015 -0700 + + Merge pull request #4570 from dachary/wip-10243-hammer + + civetweb is hitting a limit (number of threads 1024) + +commit 553f0db9a1fcff2601a8791af1d2bb6975d2821d +Merge: 3fe1f2b 3aef0f2 +Author: Yehuda Sadeh +Date: Fri May 8 11:05:41 2015 -0700 + + Merge pull request #4573 from dachary/wip-11125-hammer + + rgw: keystone token cache does not work correctly + +commit 3fe1f2b8ab3d0d3943a312e90f6a3de99c36beb4 +Merge: e0ed459 4d1f3f0 +Author: Yehuda Sadeh +Date: Fri May 8 11:05:22 2015 -0700 + + Merge pull request #4574 from dachary/wip-11160-hammer + + rgw: shouldn't need to disable rgw_socket_path if frontend is configured + +commit e0ed459442b1e9053e29e345cd0f30d1b4b4b994 +Merge: d6de3fa d2043a5 +Author: Yehuda Sadeh +Date: Fri May 8 11:04:36 2015 -0700 + + Merge pull request #4575 from dachary/wip-10650-hammer + + Response header of swift API PUT /container/object returned by RGW + + does not contain last-modified, content-length, x-trans-id headers. But Swift returns these headers. + + Reviewed-by: Yehuda Sadeh + +commit d6de3fa0b55918bc2ac2d65ee8308f04d3605dfd +Merge: 96dc624 2cb5d60 +Author: Yehuda Sadeh +Date: Fri May 8 11:03:37 2015 -0700 + + Merge pull request #4576 from dachary/wip-10661-hammer + + RGW swift API: Response header of POST request for object does not contain content-length and x-trans-id headers + + Reviewed-by: Yehuda Sadeh + +commit 96dc624ee1f593f817055d3426054ef2e05cbf92 +Merge: ae61aee f4a0dab +Author: Yehuda Sadeh +Date: Fri May 8 10:59:15 2015 -0700 + + Merge pull request #4579 from dachary/wip-11036-hammer + + RGW Swift API: response for PUT on /container does not contain the mandatory Content-Length header when FCGI is used + + Reviewed-by: Yehuda Sadeh + +commit ae61aee99bee9185af22424ec8019e0308828bf5 +Merge: 593d07f 7f2a9ed +Author: Yehuda Sadeh +Date: Fri May 8 10:57:47 2015 -0700 + + Merge pull request #4580 from dachary/wip-11088-hammer + + RGW Swift API: wrong handling of empty metadata on Swift container + + Reviewed-by: Yehuda Sadeh + +commit 593d07f29df8584629936051be4458b00f8a8f1f +Merge: 4f2b41c d164d80 +Author: Yehuda Sadeh +Date: Fri May 8 10:57:12 2015 -0700 + + Merge pull request #4581 from dachary/wip-11323-hammer + + rgw: quota not respected in POST object + + Reviewed-by: Yehuda Sadeh + +commit 4f2b41c4c803786c49cd2d2806d82e9223ab96a9 +Merge: 92e7a7f 893ffd3 +Author: Josh Durgin +Date: Fri May 8 09:15:41 2015 -0700 + + Merge pull request #4566 from dachary/wip-11478-hammer + + Queued AIO reference counters not properly updated + + Reviewed-by: Josh Durgin + +commit 92e7a7f057dd9aabb4f66965c412135d05f6812f +Merge: 2fbf171 0944051 +Author: Josh Durgin +Date: Fri May 8 09:15:19 2015 -0700 + + Merge pull request #4564 from dachary/wip-11369-hammer + + Periodic failure of TestLibRBD.DiffIterateStress + + Reviewed-by: Josh Durgin + +commit 2fbf1712d1e190774ada0af5094134369effb3ac +Merge: 9d97946 02a3813 +Author: Loic Dachary +Date: Fri May 8 17:32:35 2015 +0200 + + Merge pull request #4585 from ceph/wip-11370-hammer + + A retransmit of proxied flatten request can result in -EINVAL + + Reviewed-by: Loic Dachary + +commit 9d97946a8908e48849355a410415e09914ef3948 +Merge: fb10594 c548d8d +Author: Kefu Chai +Date: Fri May 8 20:39:29 2015 +0800 + + Merge pull request #4618 from dachary/wip-11398-kill-daemons-hammer + + tests: ceph-helpers kill_daemons fails when kill fails + + Reviewed-by: Kefu Chai + +commit c548d8d44baae78b868391e3c6fb7294f024b082 +Author: Loic Dachary +Date: Wed May 6 20:14:37 2015 +0200 + + tests: ceph-helpers kill_daemons fails when kill fails + + Instead of silently leaving the daemons running, it returns failure so + the caller can decide what to do with this situation. The timeout is + also extended to minutes instead of seconds to gracefully handle the + rare situations when a machine is extra slow for some reason. + + http://tracker.ceph.com/issues/11398 Fixes: #11398 + + Signed-off-by: Loic Dachary + (cherry picked from commit 0e26e9f72bc14417266b87ac1159607e1b109303) + +commit fb10594f2ab2427a2bf1d2f2b164a3a0928e3335 +Author: Yuri Weinstein +Date: Thu May 7 17:12:35 2015 -0700 + + Added a "ceph hello world" for a simple check for ceph-deploy qa suite + + Signed-off-by: Yuri Weinstein + (cherry picked from commit 13abae186357f4e9bb40990a7a212f93ec2e1e79) + + Signed-off-by: Yuri Weinstein + +commit 6cfae7f074462498e82cfeeddbc2fe8d302c7aa0 +Merge: 736cdf4 8d9f4d4 +Author: Sage Weil +Date: Thu May 7 13:29:57 2015 -0700 + + Merge pull request #4502 from dachary/wip-11026-hammer + + objecter: can get stuck in redirect loop if osdmap epoch == last_force_op_resend + + Reviewed-by: Sage Weil + +commit 736cdf450caa0b22cbfc54f4497717cf63d5bda7 +Merge: 3bd8e4f 46a4e8a +Author: Loic Dachary +Date: Thu May 7 21:45:53 2015 +0200 + + Merge pull request #4562 from dachary/wip-11376-hammer + + ceph-objectstore-tool should be in the ceph server package + + + + Reviewed-by: Ken Dreyer + +commit 46a4e8af5be54d8348a920c4a3a58e24dbf35988 +Author: Ken Dreyer +Date: Thu Apr 30 15:53:22 2015 -0600 + + packaging: mv ceph-objectstore-tool to main ceph pkg + + This change ensures that the ceph-objectstore-tool utility is present on + all OSDs. This makes it easier for users to run this tool to do manual + debugging/recovery in some scenarios. + + http://tracker.ceph.com/issues/11376 Refs: #11376 + + Signed-off-by: Ken Dreyer + (cherry picked from commit 61cf5da0b51e2d9578c7b4bca85184317e30f4ca) + Conflicts: + debian/control + because file layout changes from ceph-test and ceph << 0.94.1-46 + +commit 3bd8e4fa17d8acfd645b8a553bf58de48d59d648 +Merge: 76f6db2 6a04b55 +Author: Loic Dachary +Date: Thu May 7 19:05:48 2015 +0200 + + Merge pull request #4561 from dachary/wip-11143-hammer + + src/ceph-disk : disk zap sgdisk invocation + + Reviewed-by: Loic Dachary + +commit 76f6db24e09a4bfc55cbfb7075104f20653263cc +Merge: e5a20f8 8996907 +Author: Loic Dachary +Date: Thu May 7 19:03:53 2015 +0200 + + Merge pull request #4560 from dachary/wip-11507-hammer + + object creation by write cannot use an offset on an erasure coded pool + + Reviewed-by: Samuel Just + +commit e5a20f83ed6d8d3d09827343d757318026f6a690 +Merge: e7671a5 8a6e6e4 +Author: Loic Dachary +Date: Thu May 7 19:03:16 2015 +0200 + + Merge pull request #4559 from dachary/wip-11429-hammer + + OSD::load_pgs: we need to handle the case where an upgrade from earlier versions which ignored non-existent pgs resurrects a pg with a prehistoric osdmap + + Reviewed-by: Samuel Just + +commit e7671a58939f6e2e37f9f6df0f039f485ad4ca16 +Merge: 126a372 113f3b1 +Author: Loic Dachary +Date: Thu May 7 18:48:56 2015 +0200 + + Merge pull request #4563 from tchaikov/wip-hammer-11534 + + mon: Total size of OSDs is a maginitude less than it is supposed to be. + + Reviewed-by: Loic Dachary + +commit 126a37212550a4a59beaa80e0579098198f74db5 +Merge: 58b30d5 c87aa11 +Author: Loic Dachary +Date: Thu May 7 18:18:17 2015 +0200 + + Merge pull request #4577 from dachary/wip-10666-hammer + + RGW swift API: Response header of GET request for container does not contain X-Container-Object-Count, X-Container-Bytes-Used and x-trans-id headers + + Reviewed-by: Dmytro Iurchenko + Reviewed-by: Yehuda Sadeh + +commit f4a0dabfe8debc7b54afa5da179d51db891f5bc0 +Author: Radoslaw Zarzynski +Date: Sun Mar 8 22:45:34 2015 +0100 + + rgw: send Content-Length in response for HEAD on Swift account. + + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 29073d84640b61d0221b2d2ab73c271d60fd13ba) + +commit 32f4a7439d1e0ce6aab1c1e39407b14e124d03bf +Author: Radoslaw Zarzynski +Date: Fri Mar 6 13:18:19 2015 +0100 + + rgw: send Content-Length in response for DELETE on Swift container. + + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit d260a93405a7a34a899f716bd9c4e731baa9ffd0) + +commit d39a66007fa7211c00a67f9cd898e55551f5ae62 +Author: Radoslaw Zarzynski +Date: Fri Mar 6 13:14:26 2015 +0100 + + rgw: send Content-Length in response for PUT on Swift container. + + Fixes: #11036 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 10c1f1aa1e09df5edf5d2f9f9b0273ddbcb384fa) + +commit 02a3813a6a4f9c8ce14f64fc7f378030e7ea6f93 +Author: Jason Dillaman +Date: Mon Apr 27 01:03:52 2015 -0400 + + librbd: flatten should return -EROFS if image is read-only + + Fixes: #11475 + Signed-off-by: Jason Dillaman + (cherry picked from commit f141e02ab719df830648318f4c1d9ca286071ed3) + +commit af8939be80310e234745fe81e67244ab52c6add5 +Author: Jason Dillaman +Date: Mon Apr 27 01:00:38 2015 -0400 + + librbd: allow snapshots to be created when snapshot is active + + The librbd API previously permitted the creation of snapshots while + the image context was associated to another snapshot. A recent code + cleanup broke that ability, so this re-introduces it. The code change + also allows minor cleanup with rebuild_object_map. + + Fixes: #11475 + Signed-off-by: Jason Dillaman + (cherry picked from commit 594a6610802f2cadb62200815bd8b9860809e759) + + Conflicts: + src/librbd/internal.cc + +commit d21c0c00d2bed282677d2063a3fb6f5346641286 +Author: Jason Dillaman +Date: Tue Apr 21 12:59:33 2015 -0400 + + librbd: better handling for duplicate flatten requests + + A proxied flatten request could be replayed, resulting in a + -EINVAL error code being generated on the second attempt. Filter + out that error if it is known the parent did exist before the + op started. + + Fixes: #11370 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit ef7e210c3f747bc4c3c8768c7b6407cc91c5c319) + +commit ec0bd1dea526e04333d8059421666dcd2a59044e +Author: Jason Dillaman +Date: Wed Mar 18 11:51:47 2015 -0400 + + librbd: use generic helper for issuing async requests + + resize, flatten, and rebuild object map now use the same + bootstrap code for sending the request to the remote lock owner + or executing the request locally. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 18fd6ca7f59d5545f0bb0b0e899d0739639ce104) + + Conflicts: + src/librbd/internal.cc + +commit 8a6e6e4c107b03563b2e38aa24cc2067ce6a7350 +Author: Samuel Just +Date: Mon Apr 20 23:45:57 2015 -0700 + + OSD: handle the case where we resurrected an old, deleted pg + + Prior to giant, we would skip pgs in load_pgs which were not present in + the current osdmap. Those pgs would eventually refer to very old + osdmaps, which we no longer have causing the assertion failure in 11429 + once the osd is finally upgraded to a version which does not skip the + pgs. Instead, if we do not have the map for the pg epoch, complain to + the osd log and skip the pg. + + Fixes: 11429 + Signed-off-by: Samuel Just + (cherry picked from commit fbfd50de5b9b40d71d2e768418a8eca28b1afaca) + +commit efbfe6fced72d07309ccf1f1a219c037b7f535fa +Author: Radoslaw Zarzynski +Date: Sat Mar 21 15:53:08 2015 +0100 + + rgw: improve metadata handling on copy operation of Swift API. + + Fixes: #10645 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit a00cb31cc52e91bfacdd15e0af60be74e66c1996) + +commit d164d8004feddb3e2238b26e3360a905e209d117 +Author: 9seconds +Date: Wed Apr 1 09:12:06 2015 +0300 + + rgw: quota not respected in POST object + + Signed-off-by: Sergey Arkhipov + Backport: hammer, firefly + Fixes: #11323 + (cherry picked from commit e76f84e179d2ba8bfc0dc5abf4e620fef14bc8a0) + + Conflicts: + src/rgw/rgw_op.cc + discard the whitespace modification hunk that were creating + conflict and ignore the conflict due to an unrelated cast + modification in the context + +commit 7f2a9ed7a986145d4b34517a1a1bb44799ebf621 +Author: Radoslaw Zarzynski +Date: Tue Mar 10 19:36:59 2015 +0100 + + rgw: fix handling empty metadata items on Swift container. + + Fixes: #11088 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 1660d8625212f7b5fb30568ed640f467297e36cb) + +commit 8e6efdbcb0f820b2ab3728662efbfb4bc45495af +Author: Radoslaw Zarzynski +Date: Fri Feb 27 15:23:16 2015 +0100 + + rgw: send Content-Length in response for GET on Swift container. + + Fixes: #10971 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 5a64fb5430b6b42174bf53a5910d9435043c1380) + +commit 54b62904a4cc3913be23803734fa68741a3c33cc +Author: Radoslaw Zarzynski +Date: Fri Mar 6 12:42:52 2015 +0100 + + rgw: enable end_header() to handle proposal of Content-Length. + + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit f98fd4dfda7a105d621f99c2b48eb9ab9b45d979) + +commit c87aa110bd224ae3220c5486fbd2486ebdfb8b8e +Author: Dmytro Iurchenko +Date: Mon Feb 16 18:47:59 2015 +0200 + + rgw: Swift API. Complement the response to "show container details" + + OpenStack Object Storage API v1 states that X-Container-Object-Count, X-Container-Bytes-Used and user-defined metadata headers should be included in a response. + + Fixes: #10666 + Backport: hammer + Reported-by: Ahmad Faheem + Reviewed-by: Yehuda Sadeh + Signed-off-by: Dmytro Iurchenko + (cherry picked from commit d3a3d5ae5859cd7f2eed307e8f942f9a9fd75f35) + +commit 2cb5d600699085fe0e996b91cf85603be3da230e +Author: Radoslaw Zarzynski +Date: Thu Feb 26 19:21:03 2015 +0100 + + rgw: enforce Content-Length in response for POST on Swift cont/obj. + + Fixes: #10661 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit fd0c612cf867d2e99e74820130357e63305970fb) + +commit d2043a5f3b8d7a3ce50c4e84aa88481c8912ae25 +Author: Radoslaw Zarzynski +Date: Fri Mar 13 21:41:45 2015 +0100 + + rgw: send Last-Modified header in response for PUT on Swift object. + + Fixes: #10650 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 9a22acc57684534a245f25848c23d1db21f16653) + +commit 4d1f3f03ef8809693c8ea2bcbc4d24fd41ae1842 +Author: Yehuda Sadeh +Date: Wed Mar 18 20:49:13 2015 -0700 + + rgw: don't use rgw_socket_path if frontend is configured + + Fixes: #11160 + Backport: hammer, firefly + + Previously if we wanted to use the tcp fcgi socket, we needed to clear + rgw_socket_path. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 36d6eea3caa79fcb4e08bdd340ccda2474b9e5ea) + +commit 3aef0f2bb6f88bb17c460a3cef0d3503550f716c +Author: Yehuda Sadeh +Date: Tue Mar 3 11:03:35 2015 -0800 + + rgw: update keystone cache with token info + + Fixes: #11125 + Backport: hammer, firefly + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 6616294aa140ceb83cc61c6ab6f9947636f5e67d) + +commit 3edb1964fe9e8574aafcb758d170007f0e43a324 +Author: Yehuda Sadeh +Date: Tue Apr 21 11:08:45 2015 -0700 + + civetweb: update max num of threads + + Fixes: #10243 + cherry-picked upstream fixed into submodule + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7a432f7bdfbbc51518fb63d7f2ecab401e8a8d4f) + +commit bc6eb8d5f0a66aec3fbda0b794d008a3157a8154 +Author: Radoslaw Zarzynski +Date: Tue Apr 7 14:09:57 2015 +0200 + + rgw: improve code formatting ONLY. + + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 214c8b32b1b04885005e929a7ed2d4354b3ea20b) + +commit 7aa1ae60cea17e0bd140c0cf2313d82f2f64554f +Author: Radoslaw Zarzynski +Date: Tue Mar 17 14:07:34 2015 +0100 + + rgw: send X-Copied-From-Last-Modified header of Swift API. + + Fixes: #10663 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit e7724a1d8c0872362c19f578fe30ac2cf3dada90) + +commit 150b9e2b85a72dc247da4ba1ab770e6af053acb7 +Author: Radoslaw Zarzynski +Date: Tue Mar 17 14:06:37 2015 +0100 + + rgw: dump object metadata in response for COPY request of Swift API. + + Fixes: #10663 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit c52b75edeaeef19471b9aca772bf08055bf04031) + +commit e749701be5368a22cad1630f8202e48f5d980409 +Author: Radoslaw Zarzynski +Date: Fri Mar 13 17:59:01 2015 +0100 + + rgw: refactor dumping metadata of Swift objects. + + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit ccf6eaac6f7068289c4a4ffd3f0481d497ba7c87) + +commit b034511fa79996415640b4aca3e8747340f2a127 +Author: Radoslaw Zarzynski +Date: Fri Mar 13 18:37:39 2015 +0100 + + rgw: add support for X-Copied-From{-Account} headers of Swift API. + + Fixes: #10663 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 94f1375ccb9df02cdd8f6828153ae2e3a7ad36b1) + +commit c9e6a0bf8c601c4fd9065c1f3a8ea445bd652a52 +Author: Radoslaw Zarzynski +Date: Wed Mar 11 14:08:03 2015 +0100 + + rgw: send ETag, Last-Modified in response for copying Swift cobject. + + Fixes: #11087 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 385fe4b4bbbd4a9aab92abf2a813090deeaa037e) + +commit 7f41ff0a6577b0784c6719b9d705f32921b1c40e +Author: Dmytro Iurchenko +Date: Fri Feb 20 18:31:03 2015 +0200 + + rgw: Swift API. Allows setting attributes with COPY object operation. + + http://developer.openstack.org/api-ref-objectstorage-v1.html says: "With COPY, you can add additional metadata to the object." + + Fixes: #10662 + Backport: hammer + Reported-by: Ahmad Faheem + Signed-off-by: Dmytro Iurchenko + (cherry picked from commit 1b722bbcd691e0a4a39ea77cd28e309fd723ec88) + +commit 2f869959ffe1adbcfef7d26ae2d022d23d982673 +Author: Radoslaw Zarzynski +Date: Wed Feb 25 16:12:58 2015 +0100 + + rgw: improve format of X-Timestamp on Swift objects. + + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit e54fef9542bc2b5db192308728a99df139a4b6cf) + +commit 48b19810a9860f6fccbf8d9b8a2fadfb37f598dd +Author: Radoslaw Zarzynski +Date: Wed Feb 25 14:11:40 2015 +0100 + + rgw: add support for X-Timestamp on Swift containers. + + Fixes: #10938 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit b7e9bf6b98ee48d1977d907a9e5130c0ce073c54) + +commit 893ffd3767678ab881c4bc44ecfe1801cb9f9704 +Author: Jason Dillaman +Date: Mon Apr 27 03:43:10 2015 -0400 + + tests: AioCompletion incorrectly freed + + The AioCompletion should be released instead of directly + deleted. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 387a09eeeaf0b66b3a2ddc36388da27d5804a4c7) + +commit 96b0db5decfad452964750cff92a63007433e519 +Author: Jason Dillaman +Date: Mon Apr 27 03:42:24 2015 -0400 + + librbd: update ref count when queueing AioCompletion + + If the client releases the AioCompletion while librbd is waiting + to acquire the exclusive lock, the memory associated with the + completion will be freed too early. + + Fixes: #11478 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit fd7723a1e62e682ac5a5279231a9fd6f5682bf94) + +commit 094405171bdead0ce09055d4acc6445274992a01 +Author: Jason Dillaman +Date: Fri Apr 10 12:37:05 2015 -0400 + + librbd: failure to update the object map should always return success + + If an object map update fails, the object map will be flagged as + invalid. However, if a subsequent update failure occurs, the error + code will propagate back to the caller. + + Fixes: #11369 + Signed-off-by: Jason Dillaman + (cherry picked from commit 99f5a7d595c653447b351898192410c9cb773770) + +commit 7ee7dcfd609731d3c7f51b74c1d99fb3fa51c413 +Author: Jason Dillaman +Date: Fri Mar 6 15:40:48 2015 -0500 + + tests: librados_test_stub reads should deep-copy + + If a client of librados_test_stub modified a bufferlist + retrieved via a read call, the client will actually be + changing the contents of the file. Therefore, read calls + should deep-copy the contents of the buffer::ptrs. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 76fe8d73ff79da2d734f70680208a2c188b58671) + +commit 113f3b14ec8631d57bbbc2931e242ac96cf9e6fc +Author: Zhe Zhang +Date: Tue May 5 18:08:48 2015 -0500 + + mon: Total size of OSDs is a maginitude less than it is supposed to be. + + When dumping statistics of OSDs such as running command "ceph osd df", + the sum of OSDs' size is 2^10 times less than their real size. + + Fixes: #11534 + Signed-off-by: Zhe Zhang + (cherry picked from commit 73d16f69d6f58fe8be262b0fb8db28c94605ea7d) + +commit 6a04b55df76faad9b1b0770fbe6038b3b8c7d645 +Author: Owen Synge +Date: Tue Mar 17 15:41:33 2015 +0100 + + Fix "disk zap" sgdisk invocation + + Fixes #11143 + + If the metadata on the disk is truly invalid, sgdisk would fail to zero + it in one go, because --mbrtogpt apparently tried to operate on the + metadata it read before executing --zap-all. + + Splitting this up into two separate invocations to first zap everything + and then clear it properly fixes this issue. + + Based on patch by Lars Marowsky-Bree in ceph-deploy. + Created by Vincent Untz + + Signed-off-by: Owen Synge + Signed-off-by: Thorsten Behrens + (cherry picked from commit fdd7f8d83afa25c4e09aaedd90ab93f3b64a677b) + +commit 8996907e0a777320b505e74754f48a1a82308166 +Author: Jianpeng Ma +Date: Fri Mar 6 15:54:07 2015 +0800 + + osd: refuse to write a new erasure coded object with an offset > 0 + + Even if the offset is properly aligned. + + http://tracker.ceph.com/issues/11507 Fixes: #11507 + + Signed-off-by: Jianpeng Ma + Signed-off-by: Loic Dachary + (cherry picked from commit a4f1256c214ee0e7ebb91ac4ea8655f5d9642dc8) + +commit 58b30d5426998bf7eab4a773f1a04e5bcfbf9b93 +Merge: bc51476 3a58e30 +Author: Yan, Zheng +Date: Wed May 6 16:01:57 2015 +0800 + + Merge pull request #4481 from ceph/hammer-11482 + + mds: remove caps from revoking list when caps are voluntarily released + +commit bc51476181429d7d95d2bba5f774d8b60c47fb1f +Author: Yehuda Sadeh +Date: Mon Apr 13 16:33:17 2015 -0700 + + ceph_json: add decode / encoder for multimap + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 55594623e2a478c3c023336b924bfdef0017d97f) + +commit 7c7e651a0ae8bbcebe136da74b7dbe3a3e9edcc8 +Author: Yehuda Sadeh +Date: Mon Mar 30 17:34:57 2015 -0700 + + cls_rgw: use multimap to keep pending operations in bucket index + + Fixes: #11256 + Multiple concurrent requests might be sent using the same tag, need the + entry map to be able to hold multiple entries. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4e6a66b55e73c01347fc3330faa5c1307d29e9d3) + +commit cb7571375377295d0aff791a03b22da6eb26109d +Author: Yehuda Sadeh +Date: Fri Mar 27 16:32:48 2015 -0700 + + rgw: generate new tag for object when setting object attrs + + Fixes: #11256 + Backport: firefly, hammer + + Beforehand we were reusing the object's tag, which is problematic as + this tag is used for bucket index updates, and we might be clobbering a + racing update (like object removal). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit edc0627a1dbeb66ea2f5f177f6ceca64559ff3d8) + +commit 7387c43382e7f114c43db3cc26ca77d081749d8e +Author: Noah Watkins +Date: Fri Mar 27 19:34:12 2015 -0700 + + java: libcephfs_jni.so is in /usr/lib64 on rhel + + Signed-off-by: Noah Watkins + (cherry picked from commit aed3434dc7c5161c72c7d5655faa3bc693fc9777) + + Reviewed-by: Greg Farnum + +commit 5cc0f20ba00080881aff460fab2110cb7eaba279 +Merge: f7bcb2d 0e6a032 +Author: Loic Dachary +Date: Mon May 4 23:58:37 2015 +0200 + + Merge pull request #4498 from dachary/wip-11342-hammer + + librbd notification race condition on snap_create + + Reviewed-by: Josh Durgin + Reviewed-by: Jason Dillaman + +commit f7bcb2dc6043501d478c9d7664bf39f34d5ad6d8 +Merge: 4d95929 2864da8 +Author: Loic Dachary +Date: Mon May 4 23:58:18 2015 +0200 + + Merge pull request #4497 from dachary/wip-7385-hammer + + Objectcacher setting max object counts too low + + Reviewed-by: Josh Durgin + Reviewed-by: Jason Dillaman + +commit 4d95929c3129028de2d48efdef71fba2b949edd9 +Merge: 16c2f4c c615972 +Author: Loic Dachary +Date: Mon May 4 23:57:48 2015 +0200 + + Merge pull request #4499 from dachary/wip-11363-hammer + + ImageWatcher should cancel in-flight ops on watch error + + Reviewed-by: Josh Durgin + Reviewed-by: Jason Dillaman + +commit 16c2f4c9e0428bda5d784c6c82929f748ec6cb4a +Merge: addb0ec 0cdc93f +Author: Loic Dachary +Date: Mon May 4 23:57:17 2015 +0200 + + Merge pull request #4496 from dachary/wip-5488-hammer + + librbd: deadlock in image refresh + + Reviewed-by: Josh Durgin + Reviewed-by: Jason Dillaman + +commit addb0ec950e3a3b1150f927f028d2260c1cd0615 +Merge: c0782ed 379ef71 +Author: Loic Dachary +Date: Mon May 4 16:31:24 2015 +0200 + + Merge pull request #4505 from dachary/wip-11322-hammer + + rgw - improve performance for large object (multiple chunks) GET + + Reviewed-by: Yehuda Sadeh + +commit c0782ed9ab1e59f39d3a30496214971d4cc509d9 +Merge: e074695 2f34d2e +Author: Loic Dachary +Date: Mon May 4 16:24:53 2015 +0200 + + Merge pull request #4501 from dachary/wip-11001-hammer + + Improve rgw HEAD request by avoiding read the body of the first chunk + + Reviewed-by: Yehuda Sadeh + +commit e074695e003f891e9c52e19a1679809155364d32 +Merge: 7f9d78d c6edc16 +Author: Loic Dachary +Date: Mon May 4 16:23:28 2015 +0200 + + Merge pull request #4500 from dachary/wip-11047-hammer + + rgw : make quota/gc thread configurable for starting + + Reviewed-by: Yehuda Sadeh + +commit 7f9d78d4f12ff3feaee519dd319426650ca0ff88 +Merge: 11b1ccd 4789686 +Author: Loic Dachary +Date: Mon May 4 11:46:13 2015 +0200 + + Merge pull request #4504 from dachary/wip-10691-hammer + + ceph-dencoder links to libtcmalloc, and shouldn't + + Reviewed-by: Sage Weil + +commit 11b1ccdb6502406456905d05624f0600ef9df893 +Merge: 7c050ec 8709e34 +Author: Loic Dachary +Date: Mon May 4 11:44:11 2015 +0200 + + Merge pull request #4503 from dachary/wip-10983-hammer + + use a new disk as journal disk,ceph-disk prepare fail + + Reviewed-by: Loic Dachary + +commit 7c050ecab2ccc29b03bab2c4ad67c22e9736bb9c +Merge: c5e0b61 da7f683 +Author: Loic Dachary +Date: Mon May 4 11:43:23 2015 +0200 + + Merge pull request #4507 from dachary/wip-11432-hammer + + compilation error: No high-precision counter available (armhf, powerpc..) + + Reviewed-by: Loic Dachary + +commit c5e0b615d7c98ef700ebe8048ed038f1ff036ff4 +Merge: ee61a61 856b2fa +Author: Sage Weil +Date: Thu Apr 30 17:10:29 2015 -0700 + + Merge pull request #4515 from ceph/hammer-next + + rgw: critical fixes for hammer + +commit ee61a61face479d9895a5cd08ebc8aa93c8bb6ce +Merge: abc0741 0ee022b +Author: Samuel Just +Date: Thu Apr 30 09:23:53 2015 -0700 + + Merge pull request #4462 from liewegas/wip-11211-hammer + + osd/ReplicatedPG: don't check order in finish_proxy_read + +commit 856b2fa1fc72916349e484bf3615860392b74100 +Author: Yehuda Sadeh +Date: Wed Apr 22 15:39:05 2015 -0700 + + rgw-admin: a tool to fix object locator issue + + Objects that start with underscore need to have an object locator, + this is due to an old behavior that we need to retain. Some objects + might have been created without the locator. This tool creates a new + rados object with the appropriate locator. + + Syntax: + + $ ./radosgw-admin bucket check --check-head-obj-locator \ + --bucket= [--fix] + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit be4355ad8ed622734172fdce77ca71fb2635b36c) + +commit 512ae4cb3e182ce79aca7354c66d2f2a662555da +Author: Yehuda Sadeh +Date: Tue Apr 21 17:31:41 2015 -0700 + + rgw: set a special object locator if object starts with underscore + + Fixes: #11442 + Backport: hammer + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 3d4a1d20b86a5a00556df3d6a8dba096509274b7) + +commit da4d2274b5d83a116e767f3063752624d1719c32 +Author: Yehuda Sadeh +Date: Thu Apr 23 15:33:03 2015 -0700 + + rgw: use correct oid when creating gc chains + + Fixes: #11447 + Backport: hammer + + When creating gc chain, use the appropriate oid, otherwise objects will + leak. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit cc5d34678c6d4bdcd552e6334a383c4df9797f46) + +commit 4e84f318de97e592e16493c67491ba0d7f8103a8 +Author: Orit Wasserman +Date: Thu Apr 23 17:36:47 2015 +0200 + + rgw: civetweb should use unique request id + + max_req_id was moved to RGWRados and changed to atomic64_t. + + The same request id resulted in gc giving the same idtag to all objects + resulting in a leakage of rados objects. It only kept the last deleted object in + it's queue, the previous objects were never freed. + + Fixes: 10295 + Backport: Hammer, Firefly + + Signed-off-by: Orit Wasserman + (cherry picked from commit c26225980c2fd018e70033a453d635533fcdefec) + +commit abc0741d57f30a39a18106bf03576e980ad89177 +Merge: 74c2dc1 3001fad +Author: Gregory Farnum +Date: Wed Apr 29 15:02:56 2015 -0700 + + Merge pull request #4506 from dachary/wip-11381-hammer + + messenger: double clear of pipe in reaper + + Reviewed-by: Greg Farnum + +commit 478968670caecd67f7995a09b60f6208729e3de3 +Author: Boris Ranto +Date: Mon Apr 13 12:38:58 2015 +0200 + + Move ceph-dencoder build to client + + The patch simply moves the ceph-dencoder build from server part of the + Makefiles to client part of the Makefiles. + + Refs: #10691 + + Signed-off-by: Boris Ranto + (cherry picked from commit ef2164725f0b55ffa4b609d407eed5f3f3048b46) + +commit 7eabb70b906e50901551ab96453f05fe662a8876 +Author: Boris Ranto +Date: Mon Apr 13 15:07:03 2015 +0200 + + Rework mds/Makefile.am to support a dencoder client build + + The patch adds all the mds sources to DENCODER_SOURCES to allow a + dencoder client build. The patch also splits the Makefile.am file to + better accomodate the change. + + Refs: #10691 + + Signed-off-by: Boris Ranto + (cherry picked from commit c2b3a35fb3cbf28d46a5427f32fbaff142c85f2a) + + Conflicts: + src/mds/Makefile-server.am + src/mds/Makefile.am + because the mds/StrayManager.h file was added after hammer + +commit da7f6835b15370ce0120a64f7ac3359f3ba4729b +Author: James Page +Date: Fri Mar 13 19:46:04 2015 +0000 + + Add support for PPC architecture, provide fallback + + Add high precision cpu cycles support for powerpc and powerpc64. + + Provide a fallback for other architectures and warn during + compilation. + + Signed-off-by: James Page + (cherry picked from commit b2781fb5638afae7438b983a912ede126a8c5b85) + +commit 3001fad4b6d7e692f6070ef166ed4a3e4849760f +Author: Haomai Wang +Date: Fri Apr 17 22:07:00 2015 +0800 + + Fix clear_pipe after reaping progress + + In pipe.cc:1353 we stop this connection and we will let reader and write threads stop. If now reader and writer quit ASAP and we call queue_reap to trigger the reap progress. Now we haven't call "connection_state->clear_pipe(this)" in pipe.cc:1379, so we may assert failure here. + + Fixes: #11381 + Signed-off-by: Haomai Wang + (cherry picked from commit 0ea0e011a6a6c6d6b40f5d97328bbad0e4568dd7) + +commit 379ef714f7149a748891dafd41db80c247d35975 +Author: Guang Yang +Date: Fri Apr 3 12:27:04 2015 +0000 + + rgw : Issue AIO for next chunk first before flush the (cached) data. + + When handling GET request for large object (with multiple chunks), currently it will first flush the + cached data, and then issue AIO request for next chunk, this has the potential issue to make the retriving + from OSD and sending to client serialized. This patch switch the two operations. + + Fixes: 11322 + Signed-off-by: Guang Yang + (cherry picked from commit 366e8a85c0e9f00eed364eaebbfb6b672852eae9) + +commit b903ad28a68772fa0b7a88b4db2724f4d07565d5 +Author: Boris Ranto +Date: Mon Apr 13 12:33:00 2015 +0200 + + rgw/Makefile.am: Populate DENCODER_SOURCES properly + + Dencoder is built if ENABLE_CLIENT is set. However, the rgw/Makefile.am + populated DENCODER_SOURCES only if WITH_RADOSGW was set. The patch fixes + this and populates DENCODER_SOURES if ENABLE_CLIENT is set. + + Signed-off-by: Boris Ranto + (cherry picked from commit 0b264331f57b64880ce05fe3bd752e8df226d00c) + +commit f994483c0e3a60226c8fb6983380ef8400b0160e +Author: Boris Ranto +Date: Mon Apr 13 12:32:30 2015 +0200 + + Dencoder should never be built with tcmalloc + + The patch adds disabled perfglue stubs to DENCODER sources in order to + avoid tcmalloc-enabled ceph-dencoder builds. + + Refs: #10691 + + Signed-off-by: Boris Ranto + (cherry picked from commit fb11c74d1dc3843f2f5b6dca9c76278c5ceeca1c) + +commit 8709e34f931809f7129cdac1203ec4e774e3eb4c +Author: Loic Dachary +Date: Sun Mar 8 15:15:35 2015 +0100 + + ceph-disk: more robust parted output parser + + In some cases, depending on the implementation or the operating system, + + parted --machine -- /dev/sdh print + + may contain empty lines. The current parsing code is fragile and highly + depends on output details. Replace it with code that basically does the + same sanity checks (output not empty, existence of units, existence of + the dev entry) but handles the entire output instead of checking line by + line. + + http://tracker.ceph.com/issues/10983 Fixes: #10983 + + Signed-off-by: Loic Dachary + (cherry picked from commit f5acf6bb6a342b05897605703d7d9cb7c09714fd) + +commit 8d9f4d4eb546e26eeb3911811bdeb166d06cb1d1 +Author: Jianpeng Ma +Date: Fri Mar 6 11:26:31 2015 +0800 + + osdc: add epoch_t last_force_resend in Op/LingerOp. + + Using this field record the pg_poo_t::last_force_op_resend to avoid op + endless when osd reply with redirect. + + Fixes: #11026 + Signed-off-by: Jianpeng Ma + Signed-off-by: Sage Weil + (cherry picked from commit def4fc4ae51174ae92ac1fb606427f4f6f00743e) + +commit 2f34d2e73bb4bded4779af15a337c75eb2d1497f +Author: Guang Yang +Date: Tue Mar 3 09:46:52 2015 +0000 + + rgw: do not pre-fetch data for HEAD requests + + Backport: hammer + + Signed-off-by: Guang Yang + (cherry picked from commit e32da3e7c880eaf7cb84d1c078447b28e1d8052b) + +commit c6edc16fee027f6cdefacba08f1edc436a7406c5 +Author: Guang Yang +Date: Wed Feb 4 03:21:52 2015 +0000 + + rgw - make starting quota/gc threads configurable + + Fixes: 11047 + Backport: hammer + + Signed-off-by: Guang Yang + (cherry picked from commit a88712aeb4e7cd4208b9a707aa3bd4d03340c3ff) + +commit c6159724f065731c41b2d29a48d0f0a3dc82340b +Author: Jason Dillaman +Date: Fri Mar 20 11:56:55 2015 -0400 + + librbd: ImageWatcher should cancel in-flight ops on watch error + + Upon an watch error notification from librados, pending requests + should be canceled and in-flight IO should be flushed prior to + unlocking the image. + + Fixes: #11363 + Signed-off-by: Jason Dillaman + (cherry picked from commit fc2e511b2aed4d40eff5101a4c9e513b34e5e58e) + +commit 0e6a032c9e6ddae20be82df7500a0758d2cd8e74 +Author: Jason Dillaman +Date: Tue Apr 7 15:39:13 2015 -0400 + + librbd: moved snap_create header update notification to initiator + + When handling a proxied snap_create operation, the client which + invoked the snap_create should send the header update notification + to avoid a possible race condition where snap_create completes but + the client doesn't see the new snapshot (since it didn't yet receive + the notification). + + Fixes: #11342 + Signed-off-by: Jason Dillaman + (cherry picked from commit 6e20ed6834912ccd979d16e3f3b340c239e05288) + +commit 2864da86ca689472341e8a80f7ad6fcc5eb8321a +Author: Jason Dillaman +Date: Wed Apr 22 11:27:35 2015 -0400 + + librbd: updated cache max objects calculation + + The previous calculation was based upon the image's object size. + Since the cache stores smaller bufferheads, the object size is not + a good indicator of cache usage and was resulting in objects being + evicted from the cache too often. Instead, base the max number of + objects on the memory load required to store the extra metadata + for the objects. + + Fixes: #7385 + Backport: firefly, hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 0b378942c4f1b79cb65967f2d3466728ca1c8d5b) + + Conflicts: + src/librbd/ImageCtx.cc + because hammer has cct->_conf->rbd_cache_size + instead of cache_size + +commit 0cdc93fbdcf68a31e6aada38b0cb9d66efdc512d +Author: Jason Dillaman +Date: Mon Mar 16 11:04:22 2015 -0400 + + librbd: acquire cache_lock before refreshing parent + + cache_lock needs to be acquired before snap_lock to avoid + the potential for deadlock. + + Fixes: #5488 + Signed-off-by: Jason Dillaman + (cherry picked from commit 703ba377e3de4007920f2ed7d8a0780f68676fe2) + + Conflicts: + src/librbd/internal.cc + resolved by moving int r; in the scope of the block + +commit a1b4aeb8e8c3a8d5c8284dcee8e03f501a77928c +Author: Jason Dillaman +Date: Fri Mar 13 18:08:47 2015 -0400 + + librados_test_stub: AIO operation callbacks should be via Finisher + + librados will execute all AIO callbacks via a single finisher to + prevent blocking the Objecter. Reproduce this behavior to avoid + deadlocks that only exist when using the test stub. + + Signed-off-by: Jason Dillaman + (cherry picked from commit b38c96f2c1747a6d864e7aaa2e9858139ce9d1fd) + +commit 3a58e30dc6563197f0effeabbd2fbf804403ad34 +Author: Yan, Zheng +Date: Tue Apr 28 15:45:32 2015 +0800 + + mds: remove caps from revoking list when caps are voluntarily released + + Fixes: #11482 + Signed-off-by: Yan, Zheng + (cherry picked from commit 86788c4ea4155f0388b7ebaf475a3d3c37d39331) + +commit 74c2dc1f3924fa05e2c40f4cceb2ab060493bdfb +Merge: 8a58d83 f30fa4a +Author: Sage Weil +Date: Fri Apr 24 16:13:56 2015 -0700 + + Merge pull request #4463 from ceph/wip-11453-hammer-rgw-init-as-root + + rgw: init-radosgw: run RGW as root + + Reviewed-by: Sage Weil + +commit f30fa4a364602fb9412babf7319140eca4c64995 +Author: Ken Dreyer +Date: Wed Apr 22 16:36:42 2015 -0600 + + init-radosgw: run RGW as root + + The ceph-radosgw service fails to start if the httpd package is not + installed. This is because the init.d file attempts to start the RGW + process with the "apache" UID. If a user is running civetweb, there is + no reason for the httpd or apache2 package to be present on the system. + + Switch the init scripts to use "root" as is done on Ubuntu. + + http://tracker.ceph.com/issues/11453 Refs: #11453 + + Reported-by: Vickey Singh + Signed-off-by: Ken Dreyer + (cherry picked from commit 47339c5ac352d305e68a58f3d744c3ce0fd3a2ac) + +commit 0ee022b1ae832c70a80e9d2cdf32403039f3f125 (refs/remotes/me/wip-11211-hammer) +Author: Zhiqiang Wang +Date: Tue Mar 24 16:00:16 2015 +0800 + + osd/ReplicatedPG: don't check order in finish_proxy_read + + Read doesn't need to be ordered. So when proxy read comes back from base + tier, it's not necessarily at the front of the in progress list. + + Fixes: #11211 + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit 560a5839c0d1852b5816937b845b60390777636c) + +commit 8a58d83b0d039d2c2be353fee9c57c4e6181b662 +Author: Haomai Wang +Date: Sun Mar 22 23:59:19 2015 +0800 + + Fix ceph_test_async_driver failed + + This test will create 10000 sockets which will failed because of limited system fd. Actually we only need to create several hundreds sockets and it's enough to get the test's goal. + + Fix bug #11198(cherry picked from commit cd11daa2d21b7b059df9877cad38432678bb6161) + +commit 85a68f9a8237f7e74f44a1d1fbbd6cb4ac50f8e8 +Author: Orit Wasserman +Date: Fri Apr 3 13:43:31 2015 +0200 + + rgw: remove meta file after deleting bucket + The meta file is deleted only if the bucket meta data is not synced + + Signed-off-by: Orit Wasserman + + Fixes: #11149 + Backport: hammer, firefly + (cherry picked from commit dfdc7afb59cc8e32cf8bff55faa09076c853de06) + +commit b01e68fae2f8235b7a813188b664d3ec7bd1fa09 +Merge: addc7e2 bd0ec49 +Author: Loic Dachary +Date: Tue Apr 14 20:58:40 2015 +0200 + + Merge pull request #4332 from dachary/wip-11217-hammer + + tests: TestFlatIndex.cc races with TestLFNIndex.cc + + Reviewed-by: Sage Weil + +commit addc7e2c6a4973cbcb5f02635be01a446cb223f0 +Merge: e4bfad3 51f5763 +Author: Sage Weil +Date: Tue Apr 14 09:05:53 2015 -0700 + + Merge pull request #4357 from dachary/wip-release-notes-hammer + + release-notes: backport Hammer release notes + +commit 51f57632f6d463e5f702bdb4e12c1914ec76d2b5 +Author: Loic Dachary +Date: Tue Apr 14 11:30:43 2015 +0200 + + release-notes: backport Hammer release notes + + Include the Hammer release notes in Hammer. + + Cherry picking the Hammer release notes cannot be done cleanly, they are + copy/pasted instead. This will allow cherry-picking the release notes + for the next point releases. It should be undisturbed by the release + notes for other point releases because they modify parts of the file + that will not generate cherry-pick conflicts. + + Signed-off-by: Loic Dachary + +commit bd0ec494739308dc33e6b042ae3e1aafd53c634c +Author: Xinze Chi +Date: Tue Mar 24 18:42:04 2015 +0800 + + bug fix: test case for lfn index + + tests: TestFlatIndex.cc races with TestLFNIndex.cc + Both use the same PATH and when run in parallel they sometime conflict. + + Fixes: #11217 + Signed-off-by: Xinze Chi + (cherry picked from commit 791c3879d62b848616972f9c6d921aac30ac4925) diff --git a/doc/changelog/v0.94.3.txt b/doc/changelog/v0.94.3.txt new file mode 100644 index 00000000..7c0a60d7 --- /dev/null +++ b/doc/changelog/v0.94.3.txt @@ -0,0 +1,2660 @@ +commit 95cefea9fd9ab740263bf8bb4796fd864d9afe2b (tag: refs/tags/v0.94.3, refs/remotes/gh/hammer) +Author: Jenkins +Date: Wed Aug 26 10:39:37 2015 -0700 + + 0.94.3 + +commit 697101e4dfd9822050ce401b5f6212bfd81fea89 +Merge: 88e7ee7 81a311a +Author: Gregory Farnum +Date: Tue Aug 18 12:43:57 2015 +0100 + + Merge pull request #5589 from ceph/hammer-12709 + + Workunits : fs/misc/chmod.sh : Include ACL characters in permission check + + Reviewed-by: Greg Farnum + +commit 81a311a744987564b70852fdacfd915523c73b5d +Author: Yazen Ghannam +Date: Mon May 4 12:33:16 2015 -0400 + + Workunits : fs/misc/chmod.sh : Include ACL characters in permission check. + + Signed-off-by: Yazen Ghannam + (cherry picked from commit d3dbfffefb0ae53583350f53258dc902670da659) + +commit 88e7ee716fdd7bcf81845087021a677de5a50da8 +Merge: bb12f92 1a32379 +Author: Loic Dachary +Date: Tue Aug 4 13:02:17 2015 +0200 + + Merge pull request #5160 from theanalyst/wip-11910-hammer + + mon: pg ls is broken + + Reviewed-by: Kefu Chai + +commit bb12f925cf0d78f97eefc2e271e73596050b9919 +Merge: e801d4c e19f928 +Author: Loic Dachary +Date: Tue Aug 4 12:34:18 2015 +0200 + + Merge pull request #5384 from dachary/wip-12502-hammer + + rgw: need conversion tool to handle fixes following #11974 + + Reviewed-by: Yehuda Sadeh + +commit e801d4c943b8004ef613345505df91057913cd39 +Merge: 78a4024 154f18c +Author: Loic Dachary +Date: Tue Aug 4 11:22:08 2015 +0200 + + Merge pull request #5405 from ceph/wip-12465-hammer + + Log::reopen_log_file: take m_flush_mutex + + Reviewed-by: Loic Dachary + +commit 78a4024c14253503b770070aa36a090c6b8f1eaf +Merge: a451e88 7034720 +Author: Sage Weil +Date: Fri Jul 31 15:18:52 2015 -0400 + + Merge pull request #5121 from theanalyst/wip-11983-hammer + + FAILED assert(!old_value.deleted()) in upgrade:giant-x-hammer-distro-basic-multi run + + Reviewed-by: Sage Weil + +commit a451e882ab9a929d240747b4b09786ca4b4ce377 +Merge: 218f537 1063f52 +Author: Sage Weil +Date: Fri Jul 31 15:17:00 2015 -0400 + + Merge pull request #5269 from dachary/wip-12362-hammer + + stuck incomplete + + Reviewed-by: Sage Weil + +commit 218f537491a46a0251bef7690a7f5a86b988ee63 +Merge: 07fa83a 8abc46a +Author: Loic Dachary +Date: Fri Jul 31 20:55:48 2015 +0200 + + Merge pull request #5117 from theanalyst/wip-12099-hammer + + rgw: rados objects wronly deleted + + Reviewed-by: Yehuda Sadeh + +commit 07fa83aefc9bd4ea1495fa1e117a438b2c460e46 +Merge: a69d431 56c2688 +Author: Loic Dachary +Date: Fri Jul 31 20:55:29 2015 +0200 + + Merge pull request #5118 from theanalyst/wip-12042-hammer + + DragonDisk fails to create directories via S3: MissingContentLength + + Reviewed-by: Yehuda Sadeh + +commit a69d431ea52b5de7fc5cfe142ff3b69ff64e8048 +Merge: 5353480 c78cc00 +Author: Loic Dachary +Date: Fri Jul 31 20:55:14 2015 +0200 + + Merge pull request #5214 from SUSE/wip-12299-hammer + + RGW Swift API: support for 202 Accepted response code on container creation + + Reviewed-by: Yehuda Sadeh + +commit 5353480f1df297ad9dd1bd3154887ed2564f0280 +Merge: fb9156f a5dbcbb +Author: Loic Dachary +Date: Fri Jul 31 20:54:57 2015 +0200 + + Merge pull request #5226 from SUSE/wip-12322-hammer + + rgw: keystone does not support chunked input + + Reviewed-by: Yehuda Sadeh + +commit fb9156f412f83c0ce1fe4c5c9ccd57fd79f0c992 +Merge: 7193c16 b1618a9 +Author: Loic Dachary +Date: Fri Jul 31 20:54:41 2015 +0200 + + Merge pull request #5227 from SUSE/wip-12323-hammer + + RGW Swift API: XML document generated in response for GET on account does not contain account name + + Reviewed-by: Yehuda Sadeh + +commit 7193c16b65fdc1694b968899d23eae0638d89f11 +Merge: ac86490 e39dce7 +Author: Loic Dachary +Date: Fri Jul 31 20:54:26 2015 +0200 + + Merge pull request #5228 from theanalyst/wip-11872-hammer + + RGW does not send Date HTTP header when civetweb frontend is used + + Reviewed-by: Yehuda Sadeh + +commit ac86490821336ce024940d48d82f7a5ff7a302b1 +Merge: 33dbfc6 557865c +Author: Loic Dachary +Date: Fri Jul 31 20:54:02 2015 +0200 + + Merge pull request #5229 from theanalyst/wip-12242-hammer + + Fix tool for #11442 does not correctly fix objects created via multipart uploads + + Reviewed-by: Yehuda Sadeh + +commit 33dbfc6919840882c6cbc10dad2fc24cf0720bf9 +Merge: 99ca62f e50caab +Author: Loic Dachary +Date: Fri Jul 31 20:53:41 2015 +0200 + + Merge pull request #5237 from theanalyst/wip-12245-hammer + + rgw: empty json response when getting user quota + + Reviewed-by: Yehuda Sadeh + +commit 99ca62f2bf1e21a41cb7b6ecdb8a8731a18de195 +Merge: 1f5f319 2357b6c +Author: Loic Dachary +Date: Fri Jul 31 20:53:18 2015 +0200 + + Merge pull request #5284 from SUSE/wip-12398-hammer + + rgw: Properly respond to the Connection header with Civetweb + + Reviewed-by: Yehuda Sadeh + +commit 1f5f31905bb5f499a2db4a02993dbc6efa1c4251 +Merge: 5cbb6cf 9458b84 +Author: Loic Dachary +Date: Fri Jul 31 20:53:04 2015 +0200 + + Merge pull request #5285 from SUSE/wip-12399-hammer + + rgw: multipart list part response returns incorrect field + + Reviewed-by: Yehuda Sadeh + +commit 5cbb6cfb69aad0db470f99e39e33f4b4b1abfb95 +Merge: 1df93e1 e4b55b3 +Author: Loic Dachary +Date: Fri Jul 31 20:52:43 2015 +0200 + + Merge pull request #5286 from SUSE/wip-12400-hammer + + rgw: radosgw-admin dumps user info twice + + Reviewed-by: Yehuda Sadeh + +commit 1df93e19a0275ed218c8f83bc674f16d1856f241 +Merge: a48cbc0 2ecb3b7 +Author: Yan, Zheng +Date: Fri Jul 31 09:50:22 2015 +0800 + + Merge pull request #5427 from dachary/wip-12088-hammer-part-2 + + Fh ref count will leak if readahead does not need to do read from osd + +commit 2ecb3b7f4a49c574bc178a106c6bf0d8247f2a5e +Author: Zhi Zhang +Date: Wed Jul 22 10:54:53 2015 +0800 + + Fh ref count will leak if readahead does not need to do read from osd + + The 3c8cdeacf46ae4031189d2ef6948aa3b6ab4ae43 backport introduced a leak. + + http://tracker.ceph.com/issues/12319 Fixes: #12319 + + Signed-off-by: Zhi Zhang + +commit a48cbc0a847f19ea613b76a479acc831e9316c62 +Merge: 06c27cd 5ef0846 +Author: Loic Dachary +Date: Thu Jul 30 21:43:48 2015 +0200 + + Merge pull request #5120 from theanalyst/wip-11999-hammer + + cephfs Dumper tries to load whole journal into memory at once + + Reviewed-by: Greg Farnum + +commit 06c27cdd420598c497766ee5879335942a0acc09 +Merge: 19abe5e 408880b +Author: Loic Dachary +Date: Thu Jul 30 21:43:21 2015 +0200 + + Merge pull request #5119 from theanalyst/wip-12098-hammer + + kernel_untar_build fails on EL7 + + Reviewed-by: Greg Farnum + +commit 19abe5ee35c099c67b56ac268710fcd20bec60d3 +Merge: e3d17e4 4c199bf +Author: Loic Dachary +Date: Thu Jul 30 17:00:14 2015 +0200 + + Merge pull request #5417 from dachary/wip-11998-hammer + + debian/control: ceph-common (>> 0.94.2) must be >= 0.94.2-2 + + Reviewed-by: Sage Weil + +commit 4c199bf57dc54dc5e5f45cd9b34878a8459d434e +Author: Loic Dachary +Date: Thu Jul 30 09:43:20 2015 +0200 + + debian/control: ceph-common (>> 0.94.2) must be >= 0.94.2-2 + + The d8733be2ef8874b9a858a7ffddfb81b9b656e9a6 backport introduced a + regression by adding an incorrect Depends / Break combo supposed to + reflect the fact that ceph_argparse moved from ceph to ceph-common after + v0.94.2. It assumed the package is released under the 0.94.2 version + where in reality it is released under the 0.94.2-1xxx version (where xxx + is trusty, jessie etc.). + + The Depends / Break combo is changed to use 0.94.2-2 instead. + + See also http://tracker.ceph.com/issues/12529 for a larger discussion. + + http://tracker.ceph.com/issues/11998 Fixes: #11998 + + Signed-off-by: Loic Dachary + +commit e3d17e49731569ea92917f574d42d93258c77189 +Merge: cbba706 89aa8ff +Author: Loic Dachary +Date: Wed Jul 29 16:22:36 2015 +0200 + + Merge pull request #5248 from ceph/wip-11833-hammer + + mon: add an "osd crush tree" command + + Reviewed-by: Kefu Chai + +commit cbba7064c6cc4cde3e8a49c25ce671e91d31b9c7 +Merge: 8355bda 3c8cdea +Author: Loic Dachary +Date: Wed Jul 29 10:49:08 2015 +0200 + + Merge pull request #5222 from ceph/hammer-12088 + + client: reference counting 'struct Fh' + + Reviewed-by: John Spray + +commit 8355bdab56bc4e5ce4d20ba3486c082f06d8dcd1 +Merge: 52d0e5d ec70533 +Author: Orit Wasserman +Date: Tue Jul 28 23:33:18 2015 +0200 + + Merge pull request #5231 from theanalyst/wip-12243-hammer + + Civetweb RGW appears to report full size of object as downloaded when only partially downloaded + +commit 52d0e5da5ebad7fe42c2e469cea9773c7714c2b5 +Merge: 7fd31b1 03c07d7 +Author: Loic Dachary +Date: Tue Jul 28 22:40:23 2015 +0200 + + Merge pull request #5243 from theanalyst/wip-12239-hammer + + librbd/internal.cc: 1967: FAILED assert(watchers.size() == 1) + + Reviewed-by: Josh Durgin + +commit 7fd31b1b3c2c8e9dd3d9e5464775422215f7a4bc +Merge: 7230de3 5c812c1 +Author: Loic Dachary +Date: Tue Jul 28 22:40:03 2015 +0200 + + Merge pull request #5241 from theanalyst/wip-12238-hammer + + [ FAILED ] TestLibRBD.ExclusiveLockTransition + + Reviewed-by: Josh Durgin + +commit 7230de317736a71a5764cf224bd1309da1c7b3c6 +Merge: 6b6228f 7132277 +Author: Loic Dachary +Date: Tue Jul 28 22:30:23 2015 +0200 + + Merge pull request #5265 from SUSE/wip-12368-hammer + + linking ceph to tcmalloc causes segfault on SUSE SLE11-SP3 + + Reviewed-by: Loic Dachary + +commit 6b6228f8949e975cac763513898ea9704cb8baf1 +Merge: d62c3ea f99f312 +Author: Loic Dachary +Date: Tue Jul 28 22:27:40 2015 +0200 + + Merge pull request #5280 from ceph/wip-12384-hammer + + librbd: add valgrind memory checks for unit tests + + Reviewed-by: Loic Dachary + +commit d62c3ea344d9e49e9586867e872e8d5b3f019948 +Merge: 7b57ff8 b872882 +Author: Loic Dachary +Date: Tue Jul 28 22:26:25 2015 +0200 + + Merge pull request #5279 from ceph/wip-12237-hammer + + A client opening an image mid-resize can result in the object map being invalidated + + Reviewed-by: Loic Dachary + +commit 7b57ff8a9ced6c2f22456ed034cc83d07f82fbb3 +Merge: 481728a f819332 +Author: Loic Dachary +Date: Tue Jul 28 22:10:03 2015 +0200 + + Merge pull request #5283 from SUSE/wip-12397-hammer + + ceph.spec.in: 95-ceph-osd.rules, mount.ceph, and mount.fuse.ceph not installed properly on SUSE + + Reviewed-by: Loic Dachary + +commit 481728a04dd2c85096c3bc01cc37da9642b038ca +Merge: 54bb924 d8733be +Author: Loic Dachary +Date: Tue Jul 28 21:54:33 2015 +0200 + + Merge pull request #5206 from SUSE/wip-11998-hammer + + /usr/bin/ceph from ceph-common is broken without installing ceph + + Reviewed-by: Loic Dachary + +commit 54bb924e68ae2b4df65576a5d788d593b9d9e722 +Merge: e099058 c5c627f +Author: Loic Dachary +Date: Tue Jul 28 21:47:29 2015 +0200 + + Merge pull request #5055 from SUSE/wip-12044-hammer + + rgw/logrotate.conf calls service with wrong init script name + + Reviewed-by: Loic Dachary + +commit e0990583298277f1c631f7c2d2260d6c3fa64c9f +Merge: 8b93978 e149916 +Author: Loic Dachary +Date: Tue Jul 28 21:46:11 2015 +0200 + + Merge pull request #5040 from SUSE/wip-11964-hammer + + systemd: Increase max files open limit for OSD daemon + + Reviewed-by: Loic Dachary + +commit 8b93978881375d063fe2df8f40406ea650dda766 +Merge: 5a7cab2 22f58ce +Author: Loic Dachary +Date: Tue Jul 28 21:45:44 2015 +0200 + + Merge pull request #5038 from SUSE/wip-11876-hammer + + ceph-post-file fails on rhel7 + + Reviewed-by: Loic Dachary + +commit 5a7cab205bb1b3fdbf49a852cb978fc28eba8212 +Merge: 5218eff 38d36b1 +Author: Loic Dachary +Date: Tue Jul 28 21:45:25 2015 +0200 + + Merge pull request #5030 from SUSE/wip-12092-hammer + + packaging: add SuSEfirewall2 service files + + Reviewed-by: Loic Dachary + +commit 5218eff07c303fb2762ea9f38b9a9c23c24efcae +Merge: 0b54d50 8acfb99 +Author: Loic Dachary +Date: Tue Jul 28 21:38:14 2015 +0200 + + Merge pull request #5028 from SUSE/wip-12090-hammer + + rcceph script is buggy + + Reviewed-by: Loic Dachary + +commit 0b54d50ecd1445dfc1a46552adb83b9dae9210d9 +Merge: 45beb86 37d77d3 +Author: Loic Dachary +Date: Tue Jul 28 21:37:44 2015 +0200 + + Merge pull request #5026 from SUSE/wip-12087-hammer + + max files open limit for OSD daemon is too low + + Reviewed-by: Loic Dachary + +commit e19f928bd770a37f2f631c4cd796e2e30a494234 +Author: Yehuda Sadeh +Date: Fri Jun 26 16:56:28 2015 -0700 + + rgw: conversion tool to fix broken multipart objects + + Fixes: #12079 + + Broken multipart objects: multipart objects that created on 0.94.2 + and that start with underscore have a bad locator on their tail objects. + This extends the tool that was needed for older issue we've had with + hammer multipart objects (that start with underscore). The same usage + applies: + + $ radosgw-admin bucket check --check-head-obj-locator \ + --bucket= [--fix] + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f02ca6107172cecd80a490df9f0d66204e62326c) + +commit 28d32f6090724d62b6168d64031454f44eb4cc88 +Author: Yehuda Sadeh +Date: Fri Jun 26 13:49:55 2015 -0700 + + rgw: only scan for objects not in namespace + + Fixes: #11984 + The tool should only work on the head objects, and these are not inside + any namespace. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 8103908548bf7d6c9fa47fb181cd450670bae8d6) + +commit e22e2b43b4039a44f5f8fbbe59edc21fbe118bdc +Author: Yehuda Sadeh +Date: Wed Apr 22 16:04:35 2015 -0700 + + rgw_admin: add --remove-bad flag to bucket check + + Add this flag so that the bad object will be removed (should be called + only after user has verified that objects content is correct). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 06d67d9139a95b704b80de527381fd1bbf7981ce) + +commit 154f18ce3e52094fe84b058565a865ed97b079d6 (refs/remotes/gh/wip-12465-hammer) +Author: Samuel Just +Date: Fri Jul 24 15:38:18 2015 -0700 + + Log::reopen_log_file: take m_flush_mutex + + Otherwise, _flush() might continue to write to m_fd after it's closed. + This might cause log data to go to a data object if the filestore then + reuses the fd during that time. + + Fixes: #12465 + Backport: firefly, hammer + Signed-off-by: Samuel Just + (cherry picked from commit 8778ab3a1ced7fab07662248af0c773df759653d) + +commit b8728823493b9dfde0333fb41725002fc50e4d9b (refs/remotes/gh/wip-12237-hammer) +Author: Jason Dillaman +Date: Sun Jul 5 10:47:38 2015 -0400 + + librados_test_stub: read op should return number of bytes read + + Signed-off-by: Jason Dillaman + (cherry picked from commit f8a7b507983e31399831e802e99429b95386ed41) + +commit 7d9fce3aa3832a1b8bd7f18abd4745dbc0033582 +Author: Jason Dillaman +Date: Sun Jul 5 10:35:28 2015 -0400 + + tests: fixed TestObjectMap.InvalidateFlagInMemoryOnly + + librados and librados_test_stub return different result codes + for a read full object operation. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2ace2b77f8ed83e753fe4a48bcc997f5d1dd465f) + +commit 4a77be0a65c8b4ec3dc437721f8c321737b260de +Author: Jason Dillaman +Date: Sun Jul 5 11:09:09 2015 -0400 + + librbd: don't attempt to invalidate an object map in R/O mode + + The ImageWatcher is not initialized when in R/O mode, which + resulted in a NULL pointer dereference. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 64d740f8fa10ba872e324ec2580a4d8c3f99a9ce) + +commit 0aea70f68b299441e692efdce6d5e7ff18b78c39 +Author: Jason Dillaman +Date: Tue Jun 23 11:17:12 2015 -0400 + + tests: add new unit tests for object map invalidation + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0215e9753c09460f6fc84ded9397e36a209f2e32) + +commit c732cb889b4a61254d06703bf032082e56b196de +Author: Jason Dillaman +Date: Wed Mar 25 09:41:13 2015 -0400 + + librbd: move object map codes to common location + + These codes will need to be accessible from cls_rbd and librbd. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4ac584c34d576b489ed4c4862703b8fb427b3bc2) + +commit 27c99ea972a7b218ea591b208d0d1dd51eef6f95 +Author: Jason Dillaman +Date: Tue Jun 23 11:14:51 2015 -0400 + + librbd: only update image flags when holding exclusive lock + + It was possible for a client to open an image while another client + was shrinking an image. This would result in the former invalidating + the object map on-disk if it openned the image between updating the + image header and resizing the object map. + + Fixes: #11791 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit eb81a6a7e391327ac993fd406443b206a7f7bffc) + +commit ef453630200ab72373f08357ca6b5ac5c5bbb397 +Author: Jason Dillaman +Date: Fri Jul 17 12:43:46 2015 -0400 + + librbd: new ImageWatcher::is_lock_supported method + + The new version does not attempt to acquire the snap_lock, to avoid + cases where a recursive lock would result. + + Signed-off-by: Jason Dillaman + +commit e4b55b398e68e870a7cf21276e63da2c4c6e3faa +Author: guce +Date: Sat Jul 11 14:08:33 2015 +0800 + + Fixes: #12286 radosgw-admin: after subuser modify print only once user info. + + remove rgw_admin.cc OPT_SUBUSER_MODIFY, show_user_info code block. + + switch (opt_cmd) { + ... + case OPT_SUBUSER_MODIFY: + show_user_info(info, formatter); //show first time (remove this) + break; + ... + } + + // output the result of a user operation + if (output_user_info) { + ... + show_user_info(info, formatter); //show second time + } + + test fix: + before: after subuser modify print twice user info. + after changes, do the same procedure, print only once user info. + + Signed-off-by: guce guce@h3c.com + (cherry picked from commit c604dd97fc179e5c2f640818c0f6e7cf99701947) + +commit 9458b845bf863ccf878873c4f0b089ddf84c7203 +Author: Henry Chang +Date: Wed Apr 22 18:26:45 2015 +0800 + + rgw: fix ListParts response + + The response XML element name should be 'ListPartsResult'. + + Fixes: #11494 + + Signed-off-by: Henry Chang + (cherry picked from commit caa9f0e461f1eed526fc43ee74699a7243aef9b8) + +commit 2357b6c808f4f7c5997af48149585a6051c04b8f +Author: Wido den Hollander +Date: Sat Jul 11 00:01:52 2015 +0200 + + rgw: If the client sends a Connection: close header respond accordingly. + + HTTP/1.1 assumes Keep-Alive by default, but if a Connection: close header is send + the server should respond with it as well. + + This makes the client close the connection after the request. + + Fixes: #12298 + (cherry picked from commit 79197d3711edc4b04a7ea4335b6e1b65754996d5) + +commit f819332e2826eae14849c5e68a380d1d87039d22 +Author: Nathan Cutler +Date: Thu Jul 9 21:38:46 2015 +0200 + + ceph.spec.in: install 95-ceph-osd.rules, mount.ceph, and mount.fuse.ceph properly on SUSE + + http://tracker.ceph.com/issues/12261 Fixes: #12261 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 5ce38b9536efabf99a236c7a9d15c149fa4c16a6) + +commit d8733be2ef8874b9a858a7ffddfb81b9b656e9a6 +Author: Ken Dreyer +Date: Tue Apr 14 07:58:17 2015 -0600 + + debian: move ceph_argparse into ceph-common + + Prior to this commit, if a user installed the "ceph-common" Debian + package without installing "ceph", then /usr/bin/ceph would crash + because it was missing the ceph_argparse library. + + Ship the ceph_argparse library in "ceph-common" instead of "ceph". (This + was the intention of the original commit that moved argparse to "ceph", + 2a23eac54957e596d99985bb9e187a668251a9ec) + + http://tracker.ceph.com/issues/11388 Refs: #11388 + + Reported-by: Jens Rosenboom + Signed-off-by: Ken Dreyer + (cherry picked from commit 110608e5bdd9e2f03020ad41f0c2d756684d4417) + + Conflicts: + debian/ceph.install + There is no ceph_daemon.py in hammer + debian/control + Depends/Replaces/Breaks version adapted (from 9.0.0 to 0.94.2) + also adapted ceph-dbg Replaces/Breaks + +commit f99f3125ff76628e2525dca00bb7b983f941a08b (refs/remotes/gh/wip-12384-hammer) +Author: Zhiqiang Wang +Date: Fri Mar 20 16:15:42 2015 +0800 + + test: potential memory leak in FlushAioPP + + Should call the release function instead of deleting it to free + librbd::RBD::AioCompletion and librbd::AioCompletion. Otherwise there is + a potential memory leak. + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit ada7ec860cb7901c560c12a5af36dc7c23051b76) + +commit a4fc63af630e77586e3ba2f17df3b6be4a1e2055 +Author: Jason Dillaman +Date: Tue Apr 28 15:25:49 2015 -0400 + + pybind: fix valgrind warning on rbd_get_parent_info call + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2586e3ba1e20603a87c833513e09dae9281beb4d) + +commit aa3eb28f6be62991bc790de5c19cb7b6e30fa189 +Author: Jason Dillaman +Date: Tue Apr 28 11:12:00 2015 -0400 + + osdc: invalid read of freed memory + + The bytes not in cache stat was potentially reading the bh length + from a deleted bufferhead. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 5ccc4422d6172376bd6f1be8d3a99c0a54eab807) + +commit 18ede754388372cf210d7db87fa46f3536cf0e44 +Author: Jason Dillaman +Date: Tue Apr 28 10:56:15 2015 -0400 + + krbd: fix incorrect types in the krbd API + + The C API functions were referencing the C++ CephContext + instead of the C rados_config_t. Additionally, the ceph + namespace was missing on the Formatter class. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 740fd275a60630e60b3bcf41637a2ca486885d9c) + +commit 488578c1d557ebec7e50d53e45ed46f42984f4f8 +Author: Jason Dillaman +Date: Tue Apr 28 10:54:47 2015 -0400 + + fsx: cleanup crypto library at exit + + Also made small tweaks so that it can be compiled under + a C++ compiler. + + Signed-off-by: Jason Dillaman + (cherry picked from commit c44f8e7fbc19924a9453d8c032c624ebb6c0296f) + +commit 97ff6cb2f8fdd4d946eeab338ec225450e3ad8f3 +Author: Jason Dillaman +Date: Fri Apr 24 14:29:59 2015 -0400 + + tests: add run-rbd-valgrind-unit-tests.sh + + Signed-off-by: Jason Dillaman + (cherry picked from commit 5534faaa469b8a6a4c9687aad1a6723f3e859353) + +commit e690907cbb3b229f84f1e996d58636d00f823e8f +Author: Jason Dillaman +Date: Fri Apr 24 00:23:03 2015 -0400 + + valgrind: update valgrind suppressions for lttng-ust + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8d87bdf597aad3d6be47aedd216a673bd9093a24) + +commit fe013e0a813c5697e917da642143388de60e8528 +Author: Jason Dillaman +Date: Fri Apr 24 00:21:15 2015 -0400 + + librbd: TaskFinisher should finish all queued tasks + + The destructor wasn't waiting for all Finisher tasks + to complete before stopping the thread. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8e20240e4155e2f0398e79f4c0095d2d6ba1d4cb) + +commit 43cd3ac923c9accfb81acf41f5bd12b8a05322c7 +Author: Jason Dillaman +Date: Thu Apr 23 23:10:23 2015 -0400 + + tests: fix valgrind errors with librbd unit test + + Signed-off-by: Jason Dillaman + (cherry picked from commit ed5472a10eb515e2a177a640c3f6ed929db9ee4f) + +commit 5d8d6a1a776f833847edc80d2a9b31ecb440ade5 +Author: Jason Dillaman +Date: Thu Apr 23 23:09:45 2015 -0400 + + tests: librbd should release global data before exit + + Signed-off-by: Jason Dillaman + (cherry picked from commit 6ab1bb5614a5d257a82cf8ea280eef5c90cf765b) + +commit 13f926e4e96d0b7178a9762bbbf589961dba47b7 +Author: Jason Dillaman +Date: Thu Apr 23 23:08:51 2015 -0400 + + librados_test_stub: cleanup singleton memory allocation + + Signed-off-by: Jason Dillaman + (cherry picked from commit 54c88255b74741d882b88f791497862635357634) + +commit 45beb86423c3bd74dbafd36c6822e71ad9680e17 +Merge: 5e399b0 582cf73 +Author: Loic Dachary +Date: Fri Jul 17 19:48:05 2015 +0200 + + Merge pull request #5046 from ceph/wip-12109-hammer + + librbd: new QA client upgrade tests + + Reviewed-by: Loic Dachary + +commit 1063f5275d1031812d564a1bd8ada64bed561026 +Author: Samuel Just +Date: Wed May 20 12:08:15 2015 -0700 + + PG::find_best_info: ignore info.les for incomplete peer + + See included update to doc/dev/osd_internals/last_epoch_started.rst + + Fixes: 11687 + Signed-off-by: Samuel Just + (cherry picked from commit 371d9baa120dc0302e9e61d3bc0e309dfaa773a0) + +commit 5e399b035d7cf861cf66a8ead00b388c4857cbb6 +Merge: 706b1c7 ad5745b +Author: Samuel Just +Date: Thu Jul 16 14:58:49 2015 -0700 + + Merge pull request #5159 from theanalyst/wip-11701-hammer + + make the all osd/filestore thread pool suicide timeouts separately configurable + + Reviewed-by: Samuel Just + +commit 713227791ab28c5e09073acb7b2c3c83ca0f0d6a +Author: Thorsten Behrens +Date: Mon Mar 16 00:13:38 2015 +0100 + + Conditional-compile against minimal tcmalloc. + + Certain older systems (SLE11 in this case) do not provide the full + tcmalloc functionality, due to e.g. incomplete libunwind + pieces. Use --with-tcmalloc-minimal to enable the cut-down + version. + + Here's how the various mem allocator switches interact now: + + --with-jemalloc: overrides --with-tcmalloc & --with-tcmalloc-minimal + --with-tcmalloc-minimal: overrides --with-tcmalloc + --with-tcmalloc: the default. use --without-tcmalloc to disable + + Signed-off-by: Thorsten Behrens + (cherry picked from commit c6f1c07113ca19547fdac10cd9b817a60142aee2) + +commit 706b1c7c5bcaaff96aa6950302b7aef097918d30 +Merge: daf5450 5e72479 +Author: Sage Weil +Date: Thu Jul 16 11:04:52 2015 -0400 + + Merge pull request #5252 from ceph/wip-12021-hammer + + OSDMonitor: allow addition of cache pool with non-empty snaps with co… + + Reviewed-by: Sage Weil + +commit daf5450765684b0b2ed049320d7463b637321e5a +Merge: d20f513 bd91fb0 +Author: Loic Dachary +Date: Thu Jul 16 01:15:51 2015 +0200 + + Merge pull request #4891 from theanalyst/wip-11740-hammer + + crush: take crashes due to invalid arg + + Reviewed-by: Loic Dachary + +commit ad5745bfd768b52ae6a766391232becad8587641 +Author: Samuel Just +Date: Wed May 6 10:49:00 2015 -0700 + + OSD: add command_wq suicide timeout + + Signed-off-by: Samuel Just + (cherry picked from commit df4e5de819c30003cfbe50a071c49039cf534419) + + Conflicts: + src/common/config_opts.h + Trivial merge conflict + +commit 059a579c02b312bbd32fa41485c361ae3847a3ba +Author: Samuel Just +Date: Wed May 6 10:54:31 2015 -0700 + + OSD: add remove_wq suicide timeout + + Signed-off-by: Samuel Just + (cherry picked from commit f2fbfa32a16666be46359f0eab7b04ca80a753f5) + +commit b8826bc4e3da6fcb9338ad6c01af1a88e6585a4d +Author: Samuel Just +Date: Wed May 6 10:52:40 2015 -0700 + + OSD: add scrub_wq suicide timeout + + Signed-off-by: Samuel Just + (cherry picked from commit 547a7041edc833f3cc8e04d388574809e30a8af6) + +commit 878dd403930a2058656a99c14b465358e134843c +Author: Samuel Just +Date: Wed May 6 10:51:28 2015 -0700 + + OSD: add snap_trim_wq suicide timeout + + Signed-off-by: Samuel Just + (cherry picked from commit e1073a4a577211672148a4112bd633831552d66f) + +commit 11575832a37ea247a8febe912b3058f51a464ab6 +Author: Samuel Just +Date: Wed May 6 10:50:19 2015 -0700 + + OSD: add recovery_wq suicide timeout + + Signed-off-by: Samuel Just + (cherry picked from commit 85311b656852af75bfbbc6699f92fc6aa233c316) + + Conflicts: src/common/config_opts.h + + There was a merge conflict due to introduction of `osd_recovery_sleep` + which was introduced in #3829 + +commit a82b4505848c09ad0094768c886f2015bdaa1148 +Author: Samuel Just +Date: Wed May 6 11:02:19 2015 -0700 + + OSD: add op_wq suicide timeout + + Signed-off-by: Samuel Just + +commit 89aa8ff9855ae868d59bd10fe3a3aab8517e90fc +Author: Kefu Chai +Date: Tue Jun 2 23:52:22 2015 +0800 + + mon: add an "osd crush tree" command + + * to print crush buckets/items in a tree + + Fixes: #11833 + Signed-off-by: Kefu Chai + (cherry picked from commit 5436c290f3622feb8d4b279ed6552b2510e0cee9) + + Conflicts: + src/test/mon/osd-crush.sh: + do not start mon as run() takes care of it already + +commit d20f513d9b185eff82bee2ca719b5453358e740b +Merge: 8753b2b 3d74164 +Author: Loic Dachary +Date: Tue Jul 14 20:43:02 2015 +0200 + + Merge pull request #4899 from theanalyst/wip-11911-hammer + + start_flush: filter out removed snaps before determining snapc's + + Reviewed-by: Samuel Just + +commit 8753b2b14536c34a7b6dec927c7a5b8100de7f68 +Merge: 3d72652 ecac1a4 +Author: Loic Dachary +Date: Tue Jul 14 20:42:45 2015 +0200 + + Merge pull request #4868 from SUSE/wip-11879-hammer + + Clock skew causes missing summary and confuses Calamari + + Reviewed-by: Samuel Just + +commit 3d72652d7ba6b2fff3d39ea7965c3c61d5fa0a04 +Merge: 9a79e8e fdb43eb +Author: Loic Dachary +Date: Tue Jul 14 16:42:12 2015 +0200 + + Merge pull request #4883 from SUSE/wip-11638-hammer + + ceph.spec.in: ceph-common subpackage def needs tweaking for SUSE/openSUSE + + Reviewed-by: Ken Dreyer + +commit 03c07d76ac8361ddd302f5bc0575aee7fb5edc99 +Author: Jason Dillaman +Date: Fri Jun 26 09:59:36 2015 -0400 + + librbd: assertion failure race condition if watch disconnected + + It's possible for librbd's watch of the header object to be reset by + connection issues just prior to the image being removed. This will + causes an assertion failure which assumes at least one watcher on the + image. + + Fixes: #12176 + Backport: hammer, firefly + Signed-off-by: Jason Dillaman + (cherry picked from commit af276de4f299960e43761904c043924cec5fef11) + +commit 5c812c1552d954f2c91c000332ddc74c9e91825a +Author: Jason Dillaman +Date: Thu Jun 25 16:51:31 2015 -0400 + + librbd: prevent object map updates from being interrupted + + Object map updates were being canceled in-flight when the exclusive lock + is released. This resulted in an ERESTART error code bubbling up to + AioRequest. + + Fixes: 12165 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 590cdc90edaf4f4ff06c97eb2f43b92ab9b60084) + + Conflicts: + src/librbd/ObjectMap.h + conflict due to a variable `m_snap_id' which was introduced in PR #4140 + which is dropped as we are not backporting that feature + +commit e50caab2251bb68fea1adbd17acc43aa98ab1206 +Author: wuxingyi +Date: Tue Jun 23 01:46:48 2015 +0000 + + rgw: fix empty json response when getting user quota + + Fixes: #12117 + Signed-off-by: wuxingyi + (cherry picked from commit 64fceed2202c94edf28b8315fe14c9affa8c0116) + +commit ec705336551436517c16bffdc6bf5467899ae4bb +Author: Yehuda Sadeh +Date: Thu Jun 25 14:31:03 2015 -0700 + + rgw: error out if frontend did not send all data + + Fixes: #11851 + The civetweb mg_write() doesn't return error when it can't flush all data + to the user, it just sends the total number of bytes written. Modified the + client io to return total number of bytes and return an error if didn't + send anything. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit daa679c3dd3770a6d5421e2cc9a36924f4550439) + +commit 557865c85bb907fe69248c4f1acb88320a7c1bb5 +Author: Yehuda Sadeh +Date: Wed Jun 17 15:11:28 2015 -0700 + + rgw: fix reset_loc() + + Fixes: #11974 + + Only need to set locator for underscore if namespace is empty + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d3bd27f4855df6bb207b656527138026af1a36a2) + +commit b1618a97fef644dc3dced502d600de6a5d55d085 +Author: Radoslaw Zarzynski +Date: Mon Apr 20 14:55:00 2015 +0200 + + rgw: fix lack of account name in XML listing of Swift account. + + Fixes: #11431 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 837388bbc39a1bf9019302c3a4d3a3fe22caeeb4) + +commit e39dce7935dd513b77ce34bc79d70a2c23437cbb +Author: Radoslaw Zarzynski +Date: Wed Feb 18 15:48:43 2015 +0100 + + rgw: generate the "Date" HTTP header for civetweb. + + Fixes: #10873 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit ea384f83b601f60e135c3d3f960fdb75a919dd84) + +commit a5dbcbbdddce6cdeccb1e6f5641601d673cd1896 +Author: Hervé Rousseau +Date: Mon Apr 27 17:54:30 2015 +0200 + + Swift: Set Content-Length when requesting/checking Keystone tokens + + Running Keystone with WSGIChunkedRequest=On is not supported. + + We have to make sure that we set the Content-Length header when getting + an admin token and checking revoked tokens, otherwise Keystone returns + a HTTP 411 error. + + Same applies when checking revoked tickets. + + Fixes: #11473 + Backport: Hammer, Firefly + Signed-off-by: Hervé Rousseau + (cherry picked from commit 24f477417fdac9d68902fa211c8edf92a2e8729f) + +commit 3c8cdeacf46ae4031189d2ef6948aa3b6ab4ae43 +Author: Yan, Zheng +Date: Wed Jul 8 10:11:43 2015 +0800 + + client: reference counting 'struct Fh' + + The async readahead finisher needs to reference 'struct Fh'. But + it's possible user closes FD and free the corresponding 'struct Fh' + before async readahead finishes. + + Fixes: #12088 + Signed-off-by: Yan, Zheng + (cherry picked from commit 34b939a81d38173b882c429b28dedce778504ba8) + +commit c78cc00afb6deb8022db60dbe8649335f61bd345 +Author: Radoslaw Zarzynski +Date: Thu Mar 19 14:52:18 2015 +0100 + + rgw: rectify 202 Accepted in response for PUT on existing bucket. + + Fixes: #11148 + Backport: hammer + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 3998fe7e02a6c25a3302c80a9c9907357fd3a23e) + +commit 9a79e8e7da5f34f1adaf6137e01bcd42766ae677 +Merge: 5527720 7f1c0cc +Author: Kefu Chai +Date: Sun Jul 12 02:19:57 2015 +0800 + + Merge pull request #5208 from tchaikov/wip-11975-hammer + + tests: TEST_crush_reject_empty must not run a mon + + Reviewed-by: Loic Dachary + +commit 7f1c0cc9cd3deab925440b56d82c3e61a8ba5ab1 +Author: Kefu Chai +Date: Sat Jul 11 23:04:33 2015 +0800 + + crush/CrushTester: return EINVAL if crushtool returns non-zero + + this backports a tiny part of ec02441, otherwise + CrushTester will return 1, and "ceph" cli will take it + as EPERM, which is miss leading, and fails + osd-crush.sh:TEST_crush_reject_empty. + + Signed-off-by: Kefu Chai + +commit 2aaeea145b24b972a0b98549c3527ccf98f4c96f +Author: Loic Dachary +Date: Fri Jul 10 16:23:47 2015 +0200 + + tests: TEST_crush_reject_empty must not run a mon + + * Back in Hammer, the osd-crush.sh individual tests did not run the + monitor, it was taken care of by the run() function. An attempt to run + another mon fails with: + + error: IO lock testdir/osd-crush/a/store.db/LOCK: Resource temporarily + unavailable + + This problem was introduced by cc1cc033930e8690a57674e842a003f6bbc7a242 + from https://github.com/ceph/ceph/pull/4936 + * replace test/mon/mon-test-helpers.sh with test/ceph-helpers.sh as + we need run_osd() in this newly added test + * update the run-dir of commands: ceph-helpers.sh use the different + convention for the run-dir of daemons. + + http://tracker.ceph.com/issues/11975 Refs: #11975 + + Signed-off-by: Loic Dachary + +commit 80afb81124a0d2ef25a23a12c86617ab1da3a4bd +Author: Loic Dachary +Date: Tue Apr 21 16:11:33 2015 +0200 + + ceph-helpers: implement test_expect_failure + + To display the output in case the command did not fail with the expected + output. + + Signed-off-by: Loic Dachary + (cherry picked from commit 5871781b10ff0b26c731b70d1898c474006cbee3) + +commit 6b5e9a1df7dfb3a971e40aec35119ec019515b69 +Author: Loic Dachary +Date: Wed Jun 10 23:16:01 2015 +0200 + + tests: display the output of failed make check runs + + After a make check fails, it shows a summary but not the output of the + failed tests although they contain information to diagnose the problem. + + Set the VERBOSE=true automake variable which is documented to collect + and display the failed script output at the end of a run (the content of + the test-suite.log file (valid from automake-1.11 up). + + http://www.gnu.org/software/automake/manual/automake.html#index-VERBOSE + + Also remove the run-make-check.sh that did the same in a way that is not + compatible with automake-1.11. + + Signed-off-by: Loic Dachary + (cherry picked from commit 3a55cb029bb7db9542d2b14f2deda90feb0ae0f6) + +commit 552772025cb8d5f51ffb3a069d1bd93bc73f1123 +Merge: f4d77c2 1440122 +Author: Loic Dachary +Date: Fri Jul 10 10:17:24 2015 +0200 + + Merge pull request #4889 from theanalyst/wip-11484-hammer + + OPT_INT option interprets 3221225472 as -1073741824, and crashes in Throttle::Throttle() + + Reviewed-by: Kefu Chai + +commit f4d77c22aa51edb45211e080f3fdf28a7a0cfdd4 +Merge: 5088105 a62c3aa +Author: Loic Dachary +Date: Fri Jul 10 10:16:25 2015 +0200 + + Merge pull request #4776 from tchaikov/wip-11279-hammer + + ceph: cli interactive mode does not understand quotes + + Reviewed-by: Kefu Chai + +commit 5088105300c013b1b804c938a30ac63ba710556d +Merge: e3b1f7b 0b6d442 +Author: Loic Dachary +Date: Fri Jul 10 10:14:42 2015 +0200 + + Merge pull request #4657 from ceph/wip-hammer-11535-admin-socket + + common/admin_socket: close socket descriptor in destructor + + Reviewed-by: Loic Dachary + +commit e3b1f7be9e8474fbec98076790ff683bccd44ce9 +Merge: dd29a86 558d639 +Author: Kefu Chai +Date: Fri Jul 10 16:07:48 2015 +0800 + + Merge pull request #4687 from SUSE/wip-7387-hammer + + utf8 and old gcc breakage on RHEL6.5 + + Reviewed-by: Kefu Chai + +commit dd29a869db5503fc9e2c6d1d44ee4311d95af20c +Merge: 7f1fb57 0e5e7e1 +Author: Kefu Chai +Date: Fri Jul 10 16:00:00 2015 +0800 + + Merge pull request #5122 from theanalyst/wip-11982-hammer + + ceph fails to compile with boost 1.58 + + Reviewed-by: Kefu Chai + +commit 7f1fb574608800c3e6aa12df6c7888acbf397a52 +Merge: adc7016 5141301 +Author: Kefu Chai +Date: Fri Jul 10 15:59:35 2015 +0800 + + Merge pull request #4936 from ceph/wip-11975-hammer + + mon crashes when "ceph osd tree 85 --format json" + + Reviewed-by: Kefu Chai + +commit adc70161d14fc2b51e6c6f38580f76ff0067717a +Merge: 2d68db8 82988d6 +Author: Loic Dachary +Date: Fri Jul 10 09:48:44 2015 +0200 + + Merge pull request #4892 from theanalyst/wip-11760-hammer + + ceph-disk: get_partition_type fails on /dev/cciss... + + Reviewed-by: Loic Dachary + +commit 2d68db8371263645642cf28473deea4456ca7021 +Merge: 1cffe8c ba1a016 +Author: Loic Dachary +Date: Fri Jul 10 09:43:57 2015 +0200 + + Merge pull request #4877 from SUSE/wip-11902-hammer + + admin/build-doc: script fails silently under certain circumstances + + Reviewed-by: Loic Dachary + +commit 51413011417b76f5ad2830d9f93fbfe78c77e467 +Author: Kefu Chai +Date: Tue May 26 18:11:59 2015 +0800 + + mon: add "--check" to CrushTester::test_with_crushtool() + + so we don't need to call CrushTester::check_name_maps() in OSDMonitor.cc + anymore. + + Fixes: #11680 + Signed-off-by: Kefu Chai + (cherry picked from commit c6e634875316cf17368d497e6dc4f6f4b5dd65d2) + +commit 5ec27cf589b4535f07e28a86bd304f7a46427ac4 +Author: Kefu Chai +Date: Tue May 26 17:51:50 2015 +0800 + + crushtool: rename "--check-names" to "--check" + + * because "--check" also checks for the max_id + + Note: edited since we do not have the fix introduced in 46103b2 in + hammer. + + Signed-off-by: Kefu Chai + (cherry picked from commit 9381d53acdce85fcbff828926b911e050ba36e51) + +commit 2a8fe8862a15342cc5716c146487d0b42af0fbf6 +Author: Kefu Chai +Date: Tue May 26 16:58:23 2015 +0800 + + mon: check the new crush map against osdmap.max_osd + + Fixes: #11680 + Signed-off-by: Kefu Chai + (cherry picked from commit 22e6bd6e01d5df3f3e897562597e22ca1737f8c8) + +commit c0b0f52ddbd4e22998a36addfb32f27614183e19 +Author: Kefu Chai +Date: Tue May 26 15:35:10 2015 +0800 + + crushtool: enable check against max_id + + add an argument "max_id" for "--check-names" to check if any item + has an id greater or equal to given "max_id" in crush map. + + Note: edited since we do not have the fix introduced in 46103b2 in + hammer. + + Signed-off-by: Kefu Chai + (cherry picked from commit d0658dd3cdf072b2a7c2a1986f8785a697c591ee) + +commit f041bbebf98a2aff2ad542e8d0c12c46af427573 +Author: Kefu Chai +Date: Tue May 26 15:34:33 2015 +0800 + + crush/CrushTester: check if any item id is too large + + Signed-off-by: Kefu Chai + (cherry picked from commit e640d89240017956b8c7411babb86be0f1e2b172) + +commit cc1cc033930e8690a57674e842a003f6bbc7a242 +Author: Kefu Chai +Date: Mon May 25 20:14:32 2015 +0800 + + mon: validate new crush for unknown names + + * the "osd tree dump" command enumerates all buckets/osds found in either the + crush map or the osd map. but the newly set crushmap is not validated for + the dangling references, so we need to check to see if any item in new crush + map is referencing unknown type/name when a new crush map is sent to + monitor, reject it if any. + + Fixes: #11680 + Signed-off-by: Kefu Chai + (cherry picked from commit a955f36a509e5412b1f72632a1a956d99e768e35) + +commit ff29a7f9dd21505c681881e609183aed9ac3250e +Author: Kefu Chai +Date: Tue May 26 12:08:36 2015 +0800 + + crushtool: add the "--check-names" option + + * so one is able to verify that the "ceph osd tree" won't chock on the + new crush map because of dangling name/type references + + Signed-off-by: Kefu Chai + (cherry picked from commit d6b46d4c7b722945ce24ac2930381a109b1e3dda) + +commit 960ea49699f421ceb89c9e0c9430378a35f09a9a +Author: Kefu Chai +Date: Tue May 26 12:08:09 2015 +0800 + + crush/CrushTester: add check_name_maps() method + + * check for dangling bucket name or type names referenced by the + buckets/items in the crush map. + * also check for the references from Item(0, 0, 0) which does not + necessarily exist in the crush map under testing. the rationale + behind this is: the "ceph osd tree" will also print stray OSDs + whose id is greater or equal to 0. so it would be useful to + check if the crush map offers the type name indexed by "0" + (the name of OSDs is always "OSD.{id}", so we don't need to + look up the name of an OSD item in the crushmap). + + Signed-off-by: Kefu Chai + (cherry picked from commit b75384d73958faf81d45847a7dfa56f4fa347e6f) + +commit 1cffe8c46a39142ee0da4e2279eda7276df262e1 +Merge: 6ffb1c4 ef6641c +Author: Loic Dachary +Date: Fri Jul 10 09:39:15 2015 +0200 + + Merge pull request #4667 from SUSE/wip-11611-hammer + + ceph.spec: update OpenSUSE BuildRequires + + Reviewed-by: Loic Dachary + +commit 5e72479b0882ac13597d7a613698e583dcb2b932 +Author: Samuel Just +Date: Tue Jul 7 11:43:01 2015 -0700 + + OSDMonitor: allow addition of cache pool with non-empty snaps with config + + We need to be able to allow the version of ceph_test_* from earlier + versions of ceph to continue to work. This patch also adjusts the + work unit to use a single rados snap to test the condition without + --force-nonempty to ensure that we don't need to be careful about + the config value when running that script. + + Signed-off-by: Samuel Just + +commit 6ffb1c4ae43bcde9f5fde40dd97959399135ed86 +Merge: c7ebf96 524f4a5 +Author: Gregory Farnum +Date: Wed Jul 8 16:52:12 2015 +0100 + + Merge pull request #5123 from theanalyst/wip-11979-hammer + + MDSMonitor: handle MDSBeacon messages properly + + Reviewed-by: Kefu Chai + +commit ecac1a458bc7331ed8d667f20ba31995d74892d3 +Author: Thorsten Behrens +Date: Fri Feb 6 01:26:40 2015 +0100 + + Always provide summary for non-healthy cluster + + This fixes a problem, wherein calamari does not provide + popup drill-downs for warnings or errors, should the summary + be missing. + + Calamari gets health info from /api/v1/cluster/$FSID/health. + If the data here has a summary field, this summary is provided + in a popup window: + + /api/v1/cluster/$FSID/health is populated (ultimately) with + status obtained via librados python bindings from the ceph + cluster. In the case where there's clock skew, the summary + field supplied by the ceph cluster is empty. + + No summary field, no popup window with more health details. + + Signed-off-by: Thorsten Behrens + (cherry picked from commit eaf6e0cf48488fe604d0ef0db164d44948d4e8d4) + +commit c7ebf96a9a4a6143b112c8606d5ee346fb800cec +Merge: b163728 1a321e4 +Author: Loic Dachary +Date: Wed Jul 8 15:36:38 2015 +0200 + + Merge pull request #4862 from SUSE/wip-11874-hammer + + Bucket header is enclosed by quotes + + Reviewed-by: Yehuda Sadeh + +commit b1637289ec4ff99d923457577893b4c4a8d2e9fe +Merge: e33af22 54f4e7d +Author: Loic Dachary +Date: Wed Jul 8 15:35:53 2015 +0200 + + Merge pull request #4885 from theanalyst/wip-11755-hammer + + Object copy bug + + Reviewed-by: Yehuda Sadeh + +commit e33af22dec32467f229ca2dc1dc9668702a44ce8 +Merge: 5696b0f 9dfef60 +Author: Loic Dachary +Date: Wed Jul 8 15:34:45 2015 +0200 + + Merge pull request #4884 from theanalyst/wip-11722-hammer + + Keystone PKI token expiration is not enforced + + Reviewed-by: Yehuda Sadeh + +commit 5696b0ff2a981ae8afe72df796ba7d7da47bb7d1 +Merge: 72ecd52 ed5442b +Author: Loic Dachary +Date: Wed Jul 8 15:30:48 2015 +0200 + + Merge pull request #4875 from ceph/wip-11770-hammer + + librbd: aio calls may block + + Reviewed-by: Jason Dillaman + Reviewed-by: Loic Dachary + +commit 1a32379dd6cb56ed69b8f448d3612506c8131fbe +Author: Kefu Chai +Date: Mon May 11 19:30:30 2015 +0800 + + mon/PGMap: add more constness + + Signed-off-by: Kefu Chai + (cherry picked from commit e1f1c56ce88ef3ad05e881d650fac637931ce3fe) + +commit 84ebc3d320bdf871ccf85e555951cea421b56021 +Author: Kefu Chai +Date: Mon May 11 19:29:13 2015 +0800 + + mon/PGMap: sort pg states by the states in "pg ls" spec + + Signed-off-by: Kefu Chai + (cherry picked from commit 990dfb6cd45438bc8293ac37882daa413860a2f8) + +commit e310461aecc667cf26806bc5a3bbabb05696bdfc +Author: Kefu Chai +Date: Mon May 11 17:02:41 2015 +0800 + + mon: s/recovery/recoverying/ in "pg ls*" commands' spec + + * also translate "repair" if specified as "states" + * update test_mon_pg in cephtool-test-mon.sh + + Fixes: #11569 + Signed-off-by: Kefu Chai + (cherry picked from commit 89f89ca3477eddcae11a05fbd58a8f3658eb1fc1) + +commit 524f4a52d115ecda8cd7793d0f8bea148eff92af +Author: Kefu Chai +Date: Fri May 15 22:50:36 2015 +0800 + + mon: always reply mdsbeacon + + the MDS (Beacon) is always expecting the reply for the mdsbeacon messages from + the lead mon, and it uses the delay as a metric for the laggy-ness of the + Beacon. when it comes to the MDSMonitor on a peon, it will remove the route + session at seeing a reply (route message) from leader, so a reply to + mdsbeacon will stop the peon from resending the mdsbeacon request to the + leader. + + if the MDSMonitor re-forwards the unreplied requests after they are + outdated, there are chances that the requests reflecting old and even wrong + state of the MDSs mislead the lead monitor. for example, the MDSs which sent + the outdated messages could be dead. + + Fixes: #11590 + Signed-off-by: Kefu Chai + (cherry picked from commit b3555e9c328633c9e1fbc27d652c004b30535e5b) + +commit 413e407dea446bebb9c36abb3025ada450dd4fe9 +Author: Kefu Chai +Date: Tue Jun 2 23:20:21 2015 -0700 + + mon/MDSMonitor: rename labels to a better name + + * s/ignore/reply/ + * s/out/ignore/ + + Signed-off-by: Kefu Chai + (cherry picked from commit f00ecb8b3df73ce6337985bc6d43bce5143ee537) + +commit a03968ad584a3ff8e351cc5dce053e535fcdc454 +Author: Kefu Chai +Date: Tue Jun 2 12:55:06 2015 +0800 + + mon: send no_reply() to peon to drop ignored mdsbeacon + + so the peon can remove the ignored mdsbeacon request from the + routed_requets at seeing this reply, and hence no longer resend the + request. + + Fixes: #11590 + Signed-off-by: Kefu Chai + (cherry picked from commit 72a37b3a8e145d8522ea67fc14ce2c5510b6852b) + +commit 39f34596b0ec6f769f507e2b372204f8551f7ee0 +Author: Kefu Chai +Date: Tue Jun 2 12:22:26 2015 +0800 + + mon: remove unnecessary error handling + + msg.get_session() should always return a non-zero pointer in + Monitor.dispatch() + + Signed-off-by: Kefu Chai + (cherry picked from commit 16e8e2cc82a90c49cd8aa3d0e3acc4694ba659a0) + +commit 0e5e7e1d259579571c1fc05660f6af8e295e733b +Author: Kefu Chai +Date: Fri May 8 15:21:20 2015 +0800 + + mon: remove unused variable + + * as a side effect, this change silences + http://tracker.ceph.com/issues/11576 + + Fixes: #11576 + Signed-off-by: Kefu Chai + (cherry picked from commit e7b196a4a091c0ea258866559ba06e7ed0cc4247) + +commit 70347209260688f1a067354c744569499adb6920 +Author: Samuel Just +Date: Wed Apr 1 16:37:51 2015 -0700 + + ReplicatedPG::finish_promote: handle results->snaps is empty case + + If results->snaps winds up empty after filtering removed snaps, + we need to treat the object as if we had gotten an ENOENT. + + PartialFix: #11296 + Backport: firefly, hammer + Signed-off-by: Samuel Just + (cherry picked from commit 6150757dbe0fa11cceb14460865b859a7c8164c7) + +commit 3e44dc16ed3fbda053996e44826aa3d90042a234 +Author: Samuel Just +Date: Wed Apr 1 16:25:22 2015 -0700 + + ReplicatedPG::finish_promote: fix snap promote head snaps + + If the snaps vector is: 10=[9,5,2]:[4]+head, the backing pool's snaps + vector is 3=[2]:[]+head, and we request clone 4 from the backing pool, + the backing pool will send us head with an empty results->snaps vector. + Actually, clone 4 should be trimmed, but the cache pool does not know + that. Thus, we should construct an empty snaps vector for that clone. + + PartialFix: #11296 + Backport: firefly, hammer + Signed-off-by: Samuel Just + (cherry picked from commit a45a698372def1623323470c6a1c4eb70e0bb79f) + +commit 5ef08466abf1b3934fcad0a0ca46f3a4380d6dbd +Author: John Spray +Date: Wed Jun 3 10:04:26 2015 +0100 + + tools: chunk reads in Dumper + + Previously tried to read entire journal + into memory in one go, which was problematic + for large journals. + + Fixes: #11746 + Signed-off-by: John Spray + (cherry picked from commit e3ddcb894ad09326698999d42de0ce3feb69f28e) + +commit 408880bed296e5cbf05864fa6744a5b00a245272 +Author: Greg Farnum +Date: Tue Jun 16 08:13:41 2015 -0700 + + qa: update to newer Linux tarball + + This should make newer gcc releases happier in their default configuration. + kernel.org is now distributing tarballs as .xz files so we change to that + as well when decompressing (it is supported by Ubuntu Precise so we should + be all good). + + Fixes: #11758 + + Signed-off-by: Greg Farnum + (cherry picked from commit 1ea3f47ab806d48ca7b045c2731d344eae3900e1) + +commit 56c2688b87d7d78831f8e147fc67cc0651ab644c +Author: Yehuda Sadeh +Date: Fri Apr 24 14:45:40 2015 -0700 + + rgw: simplify content length handling + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit e97fd5052cab83c5f699531a8c960b93437a8f9f) + +commit d9bbef3e470c6406bb65dc40e7e9c08c5d599f73 +Author: Robin H. Johnson +Date: Fri Apr 24 10:49:16 2015 -0700 + + rgw: make compatability deconfliction optional. + + Per request from Yehuda, the deconfliction for having both + HTTP_CONTENT_LENGTH and CONTENT_LENGTH set is now optional, and + controlled by new configuration boolean, which defaults to false. + rgw content length compat + + X-URL: https://github.com/ceph/ceph/pull/4436#issuecomment-95994887 + Signed-off-by: Robin H. Johnson + (cherry picked from commit 79d17af1a1ec0659884f768945a7bac6282b5e0b) + +commit 0260abd5d265bd63ea9c89f4082c31ba1c5ae8fa +Author: Robin H. Johnson +Date: Wed Apr 22 12:53:06 2015 -0700 + + rgw: improve content-length env var handling + + The FastCGI specification, section 6.3 on Authorizers, describes a case + where HTTP_CONTENT_LENGTH will be set in the environment and + CONTENT_LENGTH will NOT be set. + + Further documention in the code. + + Fixes: #11419 + Signed-off-by: Robin H. Johnson + (cherry picked from commit 3e38eab44bfb082fdd2b6f29b8b0357f8f5c11bb) + +commit 8abc46a157e4c1431a92a1e52ab694dccff5d514 +Author: wuxingyi +Date: Wed Jun 10 06:57:57 2015 +0000 + + rgw: fix data corruption when race condition + + We should delete the object in the multipart namespace lastly to prevent a previous upload + wrongly deleting objects belong to the following upload. + + Fixes: #11749 + Signed-off-by: wuxingyi + (cherry picked from commit ac1e729a75b5d995028bbc223bcf5ecce0d112cc) + +commit 72ecd522941156c8a7e5303531944b0735dcbeb8 +Merge: 59f37a9 d723e11 +Author: Abhishek L +Date: Wed Jul 1 18:09:46 2015 +0530 + + Merge pull request #4886 from theanalyst/wip-11737-hammer + + Reviewed-by: Greg Farnum + +commit 59f37a9bafc095181b3f41ec5d93ac58e2cda604 +Merge: 53a2143 89d0266 +Author: Kefu Chai +Date: Sat Jun 27 17:11:11 2015 +0800 + + Merge pull request #5095 from ceph/wip-fix-doc-hammer + + doc: fix doc build + + Reviewed-by: Loic Dachary + +commit 89d0266a60729d5d9747867e8c30abf71a891231 +Author: Kefu Chai +Date: Sat Jun 27 14:44:55 2015 +0800 + + doc: add the corresponding @endcond command for @cond + + * they are used to applease asphyxiate, as it + is not able to handle "enum" sections + + Signed-off-by: Kefu Chai + +commit 2aa77b33a97e5a3ca134c9c555aa6e7a69ef50f7 +Author: Kefu Chai +Date: Sat Jun 27 14:43:01 2015 +0800 + + doc: remove orphan: directive in ceph-create-keys.rst + + * it is used to silence the sphinx warning, but conf.py + does not like it. + + Signed-off-by: Kefu Chai + +commit ad66e40e8bd598da7c9738cb44abb543008c90a3 +Author: Kefu Chai +Date: Sat Jun 27 14:41:59 2015 +0800 + + doc: let doxygen ignore src/tracing + + Signed-off-by: Kefu Chai + +commit 53a2143eb7e549de1185b01ed0bde841ffa5235a +Merge: 6f7cd04 bfb1442 +Author: Samuel Just +Date: Fri Jun 26 14:19:40 2015 -0700 + + Merge pull request #4902 from theanalyst/wip-11908-hammer + + Fixes for rados ops with snaps + + Reviewed-by: Samuel Just + +commit 6f7cd0460d5729c15966119e0177ddc56a361d8e +Merge: 78d894a 356bd2c +Author: Loic Dachary +Date: Thu Jun 25 20:03:42 2015 -0400 + + Merge pull request #5069 from dachary/wip-11806-hammer + + ceph / ceph-dbg steal ceph-objecstore-tool from ceph-test / ceph-test-dbg + + Reviewed-by: Ken Dreyer + +commit 356bd2c68ca730e766d06c46a0364784f5d72275 +Author: Loic Dachary +Date: Wed Jun 24 14:58:47 2015 -0400 + + debian: ceph-dbg steals ceph-objectstore-tool from ceph-test-dbg (take 2) + + 968573b8930a7c8485bf53e3a989ce2f7d0a2fff incorrectly backported + 6f11fbf41fab10924b1e0e41fcf27864779d4073. It should instead reflect that + ceph-dbg in 0.94.2 and above will break ceph-test-dbg in all versions + prior to 0.94.2. + + In other words, 0.94-XXXX being lower than 0.94.1, upgrading from + 0.94.1 to 0.94.2 will not notice that ceph-dbg breaks ceph-test-dbg. + + $ dpkg --compare-versions 0.94-XXXX lt 0.94.1 && echo yes || echo no + yes + $ dpkg --compare-versions 0.94.2 lt 0.94.1-xxx && echo yes || echo no + no + + http://tracker.ceph.com/issues/11806 Fixes: #11806 + + Signed-off-by: Loic Dachary + +commit c5c627fdd3de669ee94ab7ecd6939c29a4a68011 +Author: wuxingyi +Date: Wed Mar 11 17:34:40 2015 +0800 + + rgw/logrotate.conf: Rename service name + + The service name for ceph rados gateway was changed to "ceph-radosgw", + the previous version of service name "radosgw" would cause a failed reload, + and finally make it impossible to write any log data to the log file. + + Signed-off-by: wuxingyi + (cherry picked from commit 9df3f798179481fe8ae6ae873dcb793de7d8f367) + +commit 582cf731e05baabd2cd79567af89d7f005c24925 (refs/remotes/gh/wip-12109-hammer) +Author: Jason Dillaman +Date: Tue May 5 13:08:21 2015 -0400 + + tests: add librbd watch/notify version compatibility test + + Fixes: #11405 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 41e4cbe032e32762e3a9e8bc3eff8ece19f91a54) + +commit 43b9aef11c1281d8b83b659a523dba365d79add4 +Author: Jason Dillaman +Date: Tue May 5 11:22:55 2015 -0400 + + qa/workunits/rbd: add notify_master/slave bootstrap scripts + + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 124b1d3d2d0dbd685bbd717856d29b316e62e660) + +commit f995fb50d3d7734161fa498db9e204eaded651b6 +Author: Jason Dillaman +Date: Tue May 5 10:34:48 2015 -0400 + + qa/workunits/rbd: add new test_librbd_api workunit + + This only tests the public librbd API for use during upgrade tests. + + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 9039955f42d01044cfcf20c56ca2181e51c317ee) + +commit a09da2a2c6c12c6bf2f8e17f2096b3ab24587007 +Author: Jason Dillaman +Date: Tue May 5 10:27:38 2015 -0400 + + tests: create librbd API-only integration test suite + + The QA client-upgrade test suite requires a librbd test + that is dynamically linked to librbd. Since the current + ceph_test_librbd includes tests against the non-public API, + it is statically linked against librbd and thus cannot be + used to test a client upgrade scenario. + + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 6fe94c8cbb924c31c1007e2d0c76f28ce9dbca57) + +commit e149916cd40a58ce5db5f63a2b4efd82a8c4e1ba +Author: Owen Synge +Date: Tue Apr 21 11:31:24 2015 +0200 + + Increase max files open limit for OSD daemon. + + Under heavy load the number of file descriptors opened + by the OSD can go beyond the 64K file limit. This patch + increases the default to 128K. + + Signed-off-by: Owen Synge + (cherry picked from commit ebda4ba1c67172852587e47a8e6fb538809a1b1c) + +commit 22f58ce2665f1ea6b38f6016dc585202a4595322 +Author: Sage Weil +Date: Mon Jun 1 15:10:14 2015 -0700 + + Makefile: install ceph-post-file keys with mode 600 + + Otherwise ssh (may) prompt for a password. + + Signed-off-by: Sage Weil + (cherry picked from commit 106a1c3081d02446aa3d8e13865da0c3393bae90) + +commit 3e65a10bd2351744da199a4b076659191b4378a2 +Author: Joseph McDonald +Date: Mon Jun 1 15:05:32 2015 -0700 + + ceph-post-file: improve check for a source install + + Signed-off-by: Joseph McDonald + (cherry picked from commit ee170eadcdcb4b54d36a7d474558484de9d917eb) + +commit c1f6743940250b04ae6dbea30d8805571add39b6 +Author: Joseph McDonald +Date: Mon Jun 1 15:00:39 2015 -0700 + + ceph-post-file: behave when sftp doesn't take -i + + Fixes: #11836 + Signed-off-by: Joseph McDonald + (cherry picked from commit b84031ed5eaace1222e14d3c4076a3ab1155da96) + +commit 38d36b1174160ad104704aaa7ff5290d1ec3e782 +Author: Tim Serong +Date: Thu Apr 30 10:55:38 2015 +1000 + + packaging: move SuSEfirewall2 templates out of src + + Better to have static config like this that needs to be installed in + /etc in a separate subdirectory of the project. + + Signed-off-by: Tim Serong + (cherry picked from commit 70292658d5febb6c5f94af4df9c3e93551772d12) + +commit 24bc9f2c58ca78c8023935b8b69f8b01adbc11af +Author: Tim Serong +Date: Wed Apr 29 13:12:38 2015 +1000 + + packaging: add SuSEfirewall2 service files + + This adds SuSEfirewall2 service files for Ceph MON, OSD and MDS, for use + on SLES and openSUSE. The MON template opens port 6789 and the OSD/MDS + template opens the range 6800-7300 as per + http://docs.ceph.com/docs/master/rados/configuration/network-config-ref/ + + Signed-off-by: Tim Serong + (cherry picked from commit 77685f5b787c56bcb1c4d9f1e058e25312fa62fe) + +commit 8acfb994f22efa07beeecccda300cbd50d683566 +Author: Owen Synge +Date: Thu May 7 12:02:41 2015 +0200 + + Bug fix to ceph systemV compatability script. + + Was failing with more than one OSD / MON deamon on a single node. + Fixes suse bugzilla #927862 + + Signed-off-by: Owen Synge + (cherry picked from commit dfda3ff8741fcdbac3150456ca7614cf75ef1776) + +commit bd3fd929e6f95e6d9840317aa3ac02f52711c94b +Author: Owen Synge +Date: Thu Jun 18 14:16:03 2015 +0200 + + Fixes to rcceph script + + - only start OSDs if mon daemons are also present + - adds support for mask and unmask + - removes support for cluster with non default cluster name, + as this was very limited and inconsistent + - Reapplied from a patch as could not cherry-pick + 66cb46c411d874be009c225450eea5021cf1219b from Mon Jan 12 + as this produced issues with src/gmock + + Signed-off-by: Owen Synge + (cherry picked from commit bfa0c4a626fdbb2bf978ccfab783ac428156144b) + +commit 37d77d3680d2c8adda35eddf9625a331a45ece11 +Author: Owen Synge +Date: Tue Apr 21 11:31:24 2015 +0200 + + Increase max files open limit for OSD daemon. + + Under heavy load the number of file descriptors opened + by the OSD can go beyond the 64K file limit. This patch + increases the default to 128K. + + Signed-off-by: Owen Synge + (cherry picked from commit ebda4ba1c67172852587e47a8e6fb538809a1b1c) + +commit 78d894a634d727a9367f809a1f57234e5e6935be +Author: Sage Weil +Date: Wed Jun 17 09:35:28 2015 -0700 + + qa/workunits/rados/test-upgarde-v9.0.1: fix exclude syntax + + It's -, then a list of all exclusions separated by :. There are just 2. + + Signed-off-by: Sage Weil + +commit 3e8d60a80ce31860eac76a1f6489a35e1795a0c0 +Author: Sage Weil +Date: Tue Jun 16 21:05:29 2015 -0700 + + qa/workunits/rados/test-upgrade-v9.0.1: skip one more evict test + + Signed-off-by: Sage Weil + +commit 348a3d3c9880e7d022e71a2faafe51c8f771406e +Author: Josh Durgin +Date: Mon Jun 15 15:12:43 2015 -0700 + + qa: add compatibility filtered rados api tests for upgrades + + Post-9.0.1, the evict op returns success when an object doesn't exist + in the cache tier. Skip the tests that are incompatible across + versions. + + Fixes: #11548 + Signed-off-by: Josh Durgin + +commit d2b80966b8f74de818a671c90b4c821a4b0782db +Merge: 70bba62 f68bf94 +Author: Sage Weil +Date: Mon Jun 15 12:38:57 2015 -0700 + + Merge pull request #4961 from ceph/wip-11493-hammer + + backport 11493 fixes, and test, prevetning ec cache pools + + Reviewed-by: Samuel Just + +commit f68bf94e370fb11a3047ec2762a972a0b7a7c0bb +Author: Samuel Just +Date: Fri May 15 13:05:40 2015 -0700 + + OSDMonitor: disallow ec pools as tiers + + Fixes: 11650 + Signed-off-by: Samuel Just + (cherry picked from commit 11b7801bb57cb25cd2d26d58722d49691747725b) + +commit 13c8d58da1303cc68d99da19f79d625f91f99d43 +Author: Sage Weil +Date: Wed Apr 29 12:34:25 2015 -0700 + + mon: prevent pool with snapshot state from being used as a tier + + If we add a pool with snap state as a tier the snap state gets clobbered + by OSDMap::Incremental::propogate_snaps_to_tiers(), and may prevent OSDs + from starting. Disallow this. + + Include a test. + + Fixes: #11493 + Backport: hammer, giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit bbec53edf9e585af4e20bbc9ba9057d6fdfda342) + +commit 58e62662f6ef04ac76470090d1d958467e34194a +Author: Samuel Just +Date: Fri May 8 10:26:48 2015 -0700 + + test/librados/tier.cc: destroy and recreate cache pool on every test + + Namespaces are not sufficient with the checks for 11493 in the mon. + + Signed-off-by: Samuel Just + (cherry picked from commit bef09e0cdb274cb1c87335a2af9ee532d14a4596) + +commit 70bba6226a64090dcf41cd90b23fdf5aed8cd0ca (refs/remotes/jashan/hammer) +Merge: 3b6977b 5a60a03 +Author: Loic Dachary +Date: Mon Jun 15 17:26:07 2015 +0200 + + Merge pull request #4846 from SUSE/wip-11862-hammer + + missing man pages for ceph-create-keys, ceph-disk-* + + Reviewed-by: Kefu Chai + Reviewed-by: Ken Dreyer + +commit 3b6977b706dbc99cac25bec1b71a628c398c6ff1 +Merge: 5fb8561 3db1026 +Author: Sage Weil +Date: Thu Jun 11 13:54:35 2015 -0700 + + Merge pull request #4934 from dachary/wip-releases-hammer + + doc/release-notes: v0.94.2 + +commit 3db1026f3706e6f5a5c25013cb6646a0298057d8 +Author: Sage Weil +Date: Wed Jun 10 12:48:41 2015 -0700 + + doc/release-notes: v0.94.2 + + Signed-off-by: Sage Weil + (cherry picked from commit 306345b29c259ab04a58ed5d40f801645485b29d) + + Conflicts: + doc/release-notes.rst + +commit ed5442b1057dcc4fb1f9404c805dabe2bbde2252 (refs/remotes/jashan/wip-11770-hammer, refs/remotes/gh/wip-11770-hammer) +Author: Jason Dillaman +Date: Tue Jun 2 10:33:35 2015 -0400 + + tests: verify librbd blocking aio code path + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4cf41486e9c9e1efcb863960a8f3e0326ffca7e5) + + Conflicts: + src/test/librbd/test_librbd.cc: trival resolution + +commit 20e104869f3d17ce672438144700a4d984d487b4 +Author: Jason Dillaman +Date: Mon Jun 1 22:56:11 2015 -0400 + + librbd: new rbd_non_blocking_aio config option + + Setting this option to false reverts librbd to legacy behavior + where AIO operations could potentially block. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 769cad12716b85d87eacc1069dd9f5c21cad3915) + +commit b4571b3e238efc39767f753e0ec1622c8bd6d6e6 +Author: Jason Dillaman +Date: Thu Apr 9 20:34:28 2015 -0400 + + PendingReleaseNotes: document changes to librbd's aio_read methods + + Signed-off-by: Jason Dillaman + +commit 9ea1edd0ca9e385f823ad04b05bc887d77aa5136 +Author: Jason Dillaman +Date: Thu Apr 9 13:33:09 2015 -0400 + + librbd: AioRequest::send no longer returns a result + + The librados calls used by AioRequest::send should always return + zero unless there is a bug. + + Signed-off-by: Jason Dillaman + (cherry picked from commit c77bce3311ab62892eb8c1d883263ba7ed663b20) + + Conflicts: + src/librbd/AioRequest.cc: trivial resolution + src/librbd/AsyncFlattenRequest.cc: trivial resolution + +commit 272df2aed79a95dd9c45db4e0953e9b321f7b0f5 +Author: Jason Dillaman +Date: Wed Apr 8 21:55:36 2015 -0400 + + tests: update librbd AIO tests to remove result code + + Signed-off-by: Jason Dillaman + (cherry picked from commit 948b15eb52fd5d9ce842fa12ee0cecda17353b01) + + Conflicts: + src/test/librbd/test_internal.cc: trivial resolution + src/test/librbd/test_librbd.cc: trivial resolution + +commit dd2e4c13ff6d88edb25f90af62af16ba825c15c9 +Author: Jason Dillaman +Date: Wed Apr 8 21:37:50 2015 -0400 + + librbd: internal AIO methods no longer return result + + All failures should be returned via the AioCompletion. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 9ab42d613128ab08c688ddbea93df4c95068b9cd) + + Conflicts: + src/librbd/AioRequest.cc: trivial resolution + src/librbd/internal.cc: trivial resolution + +commit dbd4e293d7124c89a22148e8fa5f425a995c900c +Author: Jason Dillaman +Date: Wed Apr 8 21:48:21 2015 -0400 + + Throttle: added pending_error method to SimpleThrottle + + Allow the client of SimpleThrottle to detect an async error + so that it can exit early. + + Signed-off-by: Jason Dillaman + (cherry picked from commit b88b88c5df91325fb713c2031a56bffe421268e0) + +commit 7df6091a30b1b94d764240262195e971175554b3 +Author: Jason Dillaman +Date: Wed Apr 8 20:18:50 2015 -0400 + + librbd: add new fail method to AioCompletion + + Helper method to handle passing fatal errors generated within + librbd (not from the OSDs) back to the client. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 6d1d0c867855a96bee4c13a0c0a39a0e002ccd12) + +commit cf6e1f50ea7b5c2fd6298be77c06ed4765d66611 +Author: Jason Dillaman +Date: Wed Apr 8 19:06:52 2015 -0400 + + librbd: avoid blocking AIO API methods + + Enqueue all AIO API methods within the new librbd thread pool to + reduce the possibility of any blocking operations. To maintain + backwards compatibility with the legacy return codes of the API's + AIO methods, it's still possible to block attempting to acquire + the snap_lock. + + Fixes: #11056 + Signed-off-by: Jason Dillaman + (cherry picked from commit 3a7b5e30efdb21aa1a0aeb68a5d02a1ac2a5faf3) + +commit e61974aed09a3f81e1f65a4bbaed43e3f22b27b4 +Author: Jason Dillaman +Date: Wed Apr 8 17:24:08 2015 -0400 + + librbd: add task pool / work queue for requests + + Signed-off-by: Jason Dillaman + (cherry picked from commit afb896d91f886b647baf38f7ec94cc3739f6d2a9) + + Conflicts: + src/librbd/ImageCtx.cc: trivial resolution + src/librbd/ImageCtx.h: trivial resolution + +commit bfb144268b803340efad29cd6c627b170ea32402 +Author: Samuel Just +Date: Wed May 20 16:10:02 2015 -0700 + + ReplicatedPG::release_op_ctx_locks: requeue in scrub queue if blocked + + Otherwise we can reorder an op around another op which got blocked by a + scrub which started after the first blocked on an obc. + + Fixes: #11691 + Signed-off-by: Samuel Just + (cherry picked from commit be873eb8da7b29ecefaa5a99b88de7ddcca711ee) + +commit c7b6a6370a69149ea94f9e35d536aa90f06e7659 +Author: Samuel Just +Date: Tue May 19 10:56:11 2015 -0700 + + ReplicatedPG::finish_ctx: take excl lock if operation is rw + + Fixes: #11677 + Signed-off-by: Samuel Just + (cherry picked from commit 5c2b795724423ed484ab451de855ddcfc085342b) + +commit 1550a569dab120ce28396fe365565e8e4acd9801 +Author: Samuel Just +Date: Thu May 21 12:13:43 2015 -0700 + + RadosModel: randomly prefix delete with assert_exists + + Signed-off-by: Samuel Just + (cherry picked from commit 4fe7d2abdff2fce359e5e992206644cc03825ee0) + +commit 4cdc5f7d6b3ec488c79c09cb44a43d4d9398b74c +Author: Samuel Just +Date: Thu May 21 11:36:42 2015 -0700 + + RadosModel: assert exists on subsequent writes + + Signed-off-by: Samuel Just + (cherry picked from commit 121aa3bc612b86281535ac3bcfe98bc99bc99ace) + +commit 25c730bda74b94f2c894c508ab09988dbd528c4e +Author: Samuel Just +Date: Tue May 19 10:23:01 2015 -0700 + + test/librados/snapshots.cc: add test for 11677 + + Signed-off-by: Samuel Just + (cherry picked from commit c2d17b927f8a222164b3bf2922a4ff337696f566) + +commit 3d74164d3d6caaa5099abd9a1d1920482d3e05c2 +Author: Samuel Just +Date: Wed May 27 11:14:15 2015 -0700 + + ReplicatedPG::trim_object: write filtered snapset while we're at it + + If we trimmed an object, we might as well remove the obsolete snaps + as well. + + Signed-off-by: Samuel Just + (cherry picked from commit 90eb7768f99ea249952df195a844a3a7c9a59b78) + +commit a1161540bc0094a951021d4ca651b95ec045213e +Author: Samuel Just +Date: Wed May 27 11:00:54 2015 -0700 + + ReplicatedPG: start_flush: use filtered snapset + + Otherwise, we might send our deletes based on deleted snaps. This is + problematic since we may have trimmed the clones to which those snaps + belong, causing us to send them at an earlier snap than we used before. + + The specific situation was + + 78:[78, 70, 63, 5a, 58, 57]:[64(63), 58(58, 57)] + + with 58 already clean. To flush 64, we send: + + delete@58 + delete@59 + copyfrom@62 + + Then, snap 63 is trimmed leaving us with a snapset of: + + 78:[78, 70, 63, 5a, 58, 57]:[58(58, 57)] + + since trim_object doesn't filter the head object snapset snaps. This + isn't really a bug since in general all snapset users must be aware + that there may be trimmed snaps in snapset::snaps. However, here + it becomes a problem when we go to flush head: + + delete@58 -- ignored due to snapc + delete@59 -- ignored due to snapc + copyfrom@78 -- not ignored + + The base pool head is at snap seq 62, so it clones that value into + clone 78(78, 70) instead of forgetting it. What should have happened + is that we should have based our flushes on filtered snapset: + + 78:[78, 70, 58, 57]:[58(58, 57)] + + Causing us to instead send: + + delete@58 -- ignored due to snapc + delete@69 -- not ignored, causes no clone to be made + copyfrom@78 -- not ignored, updates head such that a subsequent clone + will leave 70 out of the clone snaps vector. + + Fixes: 11787 + Signed-off-by: Samuel Just + (cherry picked from commit 6051e255ac062985ada1989edb7f23cd750915e2) + +commit 82988d611bad6226138b94590275faadbca3554a +Author: islepnev +Date: Fri Apr 17 22:33:01 2015 +0300 + + ceph-disk: support NVMe device partitions + + Linux nvme kernel module v0.9 enumerate devices as following: + + /dev/nvme0 - characted revice + /dev/nvme0n1 - whole block device + /dev/nvme0n1p1 - first partition + /dev/nvme0n1p2 - second partition + + http://tracker.ceph.com/issues/11612 Fixes: #11612 + + Signed-off-by: Ilja Slepnev + (cherry picked from commit 9b62cf254d02d30609793be8b1cb8a94f38891f1) + +commit bd91fb027ab91d487b1d61d25516c13590735d89 +Author: Sage Weil +Date: Tue May 12 16:37:56 2015 -0700 + + mon: prevent bucket deletion when referenced by a rule + + If a rule references a bucket with 'take', prevent deletion. + + Fixes: #11602 + Signed-off-by: Sage Weil + (cherry picked from commit 3d591afef90b0601572c748f13faac029d05f5a0) + +commit 56565ee1cdb06a7705d1c3f26f5592b10399324a +Author: Sage Weil +Date: Tue May 12 14:03:49 2015 -0700 + + crush: fix crash from invalid 'take' argument + + Verify that the 'take' argument is a valid device or bucket. Otherwise, + ignore it (do not add the value to the working vector). + + Backport: hammer, firefly + Fixes: #11602 + Reported-by: shiva rkreddy + Signed-off-by: Sage Weil + (cherry picked from commit 9324d0a1af61e1c234cc48e2175b4e6320fff8f4) + +commit 1440122d61d5b0a3f8360f4e2101db1018109799 +Author: Kefu Chai +Date: Wed Apr 29 03:28:18 2015 -0700 + + common/config: detect overflow of float values + + Signed-off-by: Kefu Chai + (cherry picked from commit 1ff409ef8d022a1a84d034bd3db976c4d769e993) + +commit 9b947fa320b77e0055a581005353c2561a12a198 +Author: Kefu Chai +Date: Wed Apr 29 15:41:08 2015 +0800 + + common/config: detect overflow of int values + + * #include "strtol.h" in strtol.cc, to ensure the function defintions + are consistent. + * add a test accordingly + * fix the testcase of converting 1024E. + * do not accept integers overflow after adding SI suffix + * do not accept integers underflow (i.e. negative values) + + Fixes: #11484 + Signed-off-by: Kefu Chai + (cherry picked from commit d62f80dc7b25d312ff05b65b7be854aae15b66a8) + +commit d723e1156e70a492d633e43b86e7c373e5750065 +Author: Yan, Zheng +Date: Tue May 12 14:52:30 2015 +0800 + + mds: clear CDir::STATE_REJOINUNDEF after fetching dirfrag + + Fixes: #11541 + Signed-off-by: Yan, Zheng + (cherry picked from commit ab1e5394dc778f6799472bd79a4d9ba7197107c2) + +commit 54f4e7d4a534448293c74612f8140cf34b9cf9f8 +Author: Javier M. Mellid +Date: Fri May 15 14:22:29 2015 +0200 + + rgw: Use attrs from source bucket on copy + + On copy objects, when bucket source is the same as the destination, use attrs + from source bucket. + + Fixes: #11639 + + Signed-off-by: Javier M. Mellid + (cherry picked from commit 1dac80df1d4a2364154ed8b404d13609936c257b) + +commit 9dfef6004d208af3730634796aad199391707826 +Author: Anton Aksola +Date: Fri Apr 10 13:25:21 2015 +0300 + + rgw: always check if token is expired + + Fixes: #11367 + + Currently token expiration is only checked by the token cache. With PKI + tokens no expiration check is done after decoding the token. This causes + PKI tokens to be valid indefinitely. UUID tokens are validated by + keystone after cache miss so they are not affected by this bug. + + This commit adds explicit token expiration check to + RGWSwift::validate_keystone_token() + + Signed-off-by: Anton Aksola + Reported-by: Riku Lehto + (cherry picked from commit 2df069390ea3bbcfbab5022750e89f51d197cc11) + +commit fdb43ebe2b1211acdb454836a64dbd589feeef45 +Author: Nathan Cutler +Date: Fri May 15 21:43:34 2015 +0200 + + ceph.spec.in: tweak ceph-common for SUSE/openSUSE + + ceph-common needs python-argparse in SUSE/openSUSE and + needs redhat-lsb-core only in RHEL/CentOS/Fedora. + + http://tracker.ceph.com/issues/11638 Fixes: #11638 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 363d957d8fdd15a1674befbd8e485fd89b76d716) + +commit ba1a0167cc809081eda7e6cc9ecfb971e439d696 +Author: John Spray +Date: Wed Jun 3 10:09:09 2015 +0100 + + admin/build-doc: fix dependency checks + + http://tracker.ceph.com/issues/11857 Fixes: #11857 + + Signed-off-by: John Spray + (cherry picked from commit 539c1ba7211f579bad4f59ae824f1e68e620ecbd) + + Conflicts: + admin/build-doc + Insert lines at appropriate spot + +commit 5a60a034bf3015eaf468e5e3f9d8feb08b8fdd95 +Author: Nathan Cutler +Date: Wed Jun 3 10:41:27 2015 +0200 + + man/ceph-create-keys.8: add missing file + + This is the generated manpage, taken from a local build of master + + Signed-off-by: Nathan Cutler + (cherry picked from commit bcda61fcbe07ee36cd5172d80018f287591660ec) + +commit 19305b897ac147602049752a2dfbe1fd39ba562c +Author: Kefu Chai +Date: Tue Apr 21 14:59:32 2015 +0800 + + doc: add ceph-create-keys.8 + + Fixes: #10725 + Signed-off-by: Kefu Chai + (cherry picked from commit 27cee2f1f46a9f47cda9dfeb56ff1259e982960c) + + Conflicts: + doc/man/8/ceph-create-keys.rst + Includes fixes from https://github.com/ceph/ceph/pull/4855 + +commit ffd0933dcc790d7cedc1048b664bf4e8c40464a3 +Author: Jason Dillaman +Date: Mon May 11 17:05:49 2015 -0400 + + WorkQueue: added virtual destructor + + Signed-off-by: Jason Dillaman + (cherry picked from commit b3f5a75332c058816dc39b71e9d2b36e752159f4) + +commit a28adfbdd8abc86e7766c303bc610c0c252910f7 +Author: Jason Dillaman +Date: Wed Apr 8 16:46:34 2015 -0400 + + WorkQueue: add new ContextWQ work queue + + The queue holds a collection of Context pointers that will + be completed by the thread pool. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 24a33e977f7b71962adeeb48f75d488a76e70fa9) + +commit 1a321e477effa23bffbb6cb057aa955586197345 +Author: Wido den Hollander +Date: Wed Jun 3 13:13:33 2015 +0200 + + rgw: Do not enclose the Bucket header in quotes + + Fixes: #11860 + Signed-off-by: Wido den Hollander + (cherry picked from commit 8af25faed93fe02d3dad585b8579ce8b041cc4e6) + +commit a62c3aa1df9e0f79ac75d94083d10b902dbba382 +Author: Kefu Chai +Date: Fri Apr 24 14:04:30 2015 +0800 + + ceph.in: handle unknown Exception correctly + + * in case parse_cmdargs() throws + + Signed-off-by: Kefu Chai + (cherry picked from commit 7789eefc01deb9ca7fe90f5521aece3e36c3c350) + +commit cc7f7441c1d0457e840bfdc3413f9bc6d5f5134a +Author: Kefu Chai +Date: Fri Apr 24 01:27:44 2015 +0800 + + ceph.in: improve the interactive mode + + * if ceph is not reading from a tty, expect EOF instead of "quit" + as the end of input. + * do not panic at seeing the EOF + * update the test case test_mon_injectargs_SI(). since we disables + "ceph injectargs " in a458bd83, in which the arguments + of "injectargs" are supposed to be consumed by "tell" instead. + so "ceph injectargs ..." is taken as an incomplete command, and + this command will bring ceph cli into the interactive mode, + redirecting its stdin to /dev/null helps ceph cli quit the loop, + but in a way of throwing EOFError exception. this change handles + the EOF, so the "ceph injectargs ..." does not throws anymore. + but the side effect is that the test fails since it expects a + non-zero return code. so replace it with an equivalent "tell" + command which also fails but due to the non-SI postfix. + + Signed-off-by: Kefu Chai + (cherry picked from commit da9d2b4077ab1dceeed979ab71f0d9ed59b14266) + +commit eb26388cb985456e8f6e07a52a20fa912cf4efaa +Author: Kefu Chai +Date: Fri Apr 24 00:50:37 2015 +0800 + + ceph.in: parse quote correctly in interactive mode + + Fixes: #11279 + Signed-off-by: Kefu Chai + (cherry picked from commit bc7d8c99d2e16a141a8b575281ba12c67628dac3) + +commit 558d6391ecdfd5d716558341ce5d84ce1f7ec9c3 +Author: Kefu Chai +Date: Fri May 8 12:01:16 2015 +0800 + + json_sprit: fix the FTBFS on old gcc + + Fixes: #11574 + Signed-off-by: Kefu Chai + (cherry picked from commit 6b68b27146852f057a3373cd04b08cd6917f3eea) + +commit 678b3e6082729698ce3575ba70313dd8399b1aed +Author: Tim Serong +Date: Sat May 2 01:59:53 2015 +1000 + + json_spirit: use utf8 intenally when parsing \uHHHH + + When the python CLI is given non-ASCII characters, it converts them to + \uHHHH escapes in JSON. json_spirit parses these internally into 16 bit + characters, which could only work if json_spirit were built to use + std::wstring, which it isn't; it's using std::string, so the high byte + ends up being zero'd, leaving the low byte which is effectively garbage. + + This hack^H^H^H^H change makes json_spirit convert to utf8 internally + instead, which can be stored just fine inside a std::string. + + Note that this implementation still assumes \uHHHH escapes are four hex + digits, so it'll only cope with characters in the Basic Multilingual + Plane. Still, that's rather a lot more characters than it could cope + with before ;) + + (For characters outside the BMP, Python seems to generate escapes in the + form \uHHHHHHHH, i.e. 8 hex digits, which the current implementation + doesn't expect to see) + + Fixes: #7387 + + Signed-off-by: Tim Serong + (cherry picked from commit 8add15b86e7aaef41397ab8fa9e77ee7957eb607) + +commit ef6641c0aa47c7f559aa56d7c35a5815afc2ba49 +Author: Loic Dachary +Date: Mon Mar 23 21:26:23 2015 +0100 + + ceph.spec: update OpenSUSE BuildRequires + + OpenSUSE 13.2 needs libsnappy-devel but not bzip2-devel. + + Signed-off-by: Loic Dachary + (cherry picked from commit bdac3dc3fb189688af52f60b0b34339dd8fea251) + +commit 0b6d4427ac7234fd509a9541adf45e303e40cb16 (refs/remotes/jashan/wip-hammer-11535-admin-socket, refs/remotes/gh/wip-hammer-11535-admin-socket) +Author: Jon Bernard +Date: Fri May 8 11:54:06 2015 -0400 + + common/admin_socket: close socket descriptor in destructor + + Long-running processes that do not reuse a single client connection will + see accumulating file descriptors as a result of not closing the + listening socket. In this case, eventually the system will reach + file-max and subsequent connections will fail. + + Fixes: #11535 + + Signed-off-by: Jon Bernard + (cherry picked from commit 88fabb1ee6cd3c7d211ca46919055195e32245db) diff --git a/doc/changelog/v0.94.4.txt b/doc/changelog/v0.94.4.txt new file mode 100644 index 00000000..a99f8713 --- /dev/null +++ b/doc/changelog/v0.94.4.txt @@ -0,0 +1,3576 @@ +commit 95292699291242794510b39ffde3f4df67898d3a (tag: refs/tags/v0.94.4, refs/remotes/gh/hammer) +Author: Jenkins +Date: Mon Oct 19 07:43:50 2015 -0700 + + 0.94.4 + +commit 5764e233e56be08a59ffe6292f6fba9a76288aee +Merge: 7f485ed b203979 +Author: Sage Weil +Date: Thu Oct 15 16:35:10 2015 -0400 + + Merge pull request #6287 from jcsp/wip-test-fixes + + git path backports for hammer + +commit b2039797638057dd74a8a47c99091c2c892b042e +Author: Sage Weil +Date: Thu Apr 16 08:29:41 2015 -0700 + + use git://git.ceph.com + + Signed-off-by: Sage Weil + (cherry picked from commit 34c467ba06345eacd2fd0e79c162dfd0b22f0486) + +commit 0f4ef19047c58aacfb359bdd9d104f059aa2f5b4 +Author: Sage Weil +Date: Thu Sep 24 18:10:46 2015 -0400 + + qa: http://ceph.com/qa -> http://download.ceph.com/qa + + Signed-off-by: Sage Weil + (cherry picked from commit d4d65fbd6ad15320339751c604613ac63511e645) + +commit 7f485ed5aa620fe982561663bf64356b7e2c38f2 +Merge: 3dc1de2 294f016 +Author: Loic Dachary +Date: Tue Oct 13 00:28:52 2015 +0200 + + Merge pull request #6161 from dachary/wip-13227-hammer + + With root as default user, unable to have multiple RGW instances running + + Reviewed-by: Sage Weil + Reviewed-by: Yehuda Sadeh + Reviewed-by: Ken Dreyer + +commit 294f016ff84c7efef36ca94daef39fe2686df690 +Author: Sage Weil +Date: Thu May 7 15:40:05 2015 -0700 + + init-radosgw.sysv: remove + + Signed-off-by: Sage Weil + (cherry picked from commit 9d8c115b0ab05cfc1db6670d1d367737e61fe0ea) + +commit 3dc1de22552065bd930cc3e42a486e29639927ba +Merge: aa74de9 7de65e7 +Author: Yehuda Sadeh +Date: Mon Oct 12 08:16:17 2015 -0700 + + Merge pull request #6166 from dachary/wip-13046-hammer + + RGW : setting max number of buckets for user via ceph.conf option + +commit aa74de9d34801552d7d3e0aced07b6bc5bd129b9 +Merge: d3e49eb 77cb503 +Author: Yehuda Sadeh +Date: Mon Oct 12 08:15:21 2015 -0700 + + Merge pull request #6039 from ceph/wip-13015-hammer + + rgw: don't preserve acls when copying object + +commit d3e49ebce00d749c36fe8dc46a5c432b1b907126 +Merge: 417e948 424fc1c +Author: Yehuda Sadeh +Date: Mon Oct 12 08:14:47 2015 -0700 + + Merge pull request #6042 from dreamhost/wip-hammer-crossftp + + rgw: remove trailing :port from host for purposes of subdomain matching + +commit 417e948898d260a1ad6354244f9967ccbd75d768 +Merge: b5badcb 9ab9c44 +Author: Yehuda Sadeh +Date: Mon Oct 12 08:14:09 2015 -0700 + + Merge pull request #6160 from dachary/wip-13228-hammer + + rgw: segments are read during HEAD on Swift DLO + +commit b5badcb47e565cd17145adca49abf07e167963e0 +Merge: e3f8df9 6119b15 +Author: Yehuda Sadeh +Date: Mon Oct 12 08:13:25 2015 -0700 + + Merge pull request #6162 from dachary/wip-13226-hammer + + Keystone Fernet tokens break auth + +commit e3f8df9e12b434714b67036838f37b75ed1f9a25 +Merge: 8078233 ad83304 +Author: Yehuda Sadeh +Date: Mon Oct 12 08:12:26 2015 -0700 + + Merge pull request #6163 from dachary/wip-13054-hammer + + rgw: region data still exist in region-map after region-map update + +commit 8078233ca1dda8eef3c59d6a92760365634cf41a +Merge: dd64c78 4b0686f +Author: Yehuda Sadeh +Date: Mon Oct 12 08:12:07 2015 -0700 + + Merge pull request #6164 from dachary/wip-13053-hammer + + rgw: GWWatcher::handle_error -> common/Mutex.cc: 95: FAILED assert(r == 0) + +commit dd64c7813bbdd2a6a4ffde6767c5d060ee1b9290 +Merge: 135c112 e80bd0a +Author: Yehuda Sadeh +Date: Mon Oct 12 08:11:16 2015 -0700 + + Merge pull request #5718 from dachary/wip-12859-hammer + + testGetContentType and testHead failed + +commit 135c112789d4925a735229394c0ec9e2b728d3ca +Merge: fd17f3c 3b2affc +Author: Yehuda Sadeh +Date: Mon Oct 12 08:10:55 2015 -0700 + + Merge pull request #5860 from lebauce/wip-12960-hammer + + rgw: add delimiter to prefix only when path is specified + +commit fd17f3ccbf98832098bd1cd35fe2a5d567b51f4c +Merge: 036c718 297c04d +Author: Yehuda Sadeh +Date: Mon Oct 12 08:08:59 2015 -0700 + + Merge pull request #6165 from dachary/wip-13052-hammer + + rgw: init_rados failed leads to repeated delete + +commit 036c7186f9304e4e48ecf50a4299cf74d55875fe +Merge: 629b631 698d75c +Author: Loic Dachary +Date: Fri Oct 9 09:17:19 2015 +0200 + + Merge pull request #6201 from dachary/wip-13410-hammer + + TEST_crush_rule_create_erasure consistently fails on i386 builder + + Reviewed-by: Kefu Chai + +commit 629b631488f044150422371ac77dfc005f3de1bc +Merge: 70e612a 0a5b856 +Author: Sage Weil +Date: Thu Oct 8 12:18:49 2015 -0400 + + Merge pull request #5885 from Abhishekvrshny/wip-13034-hammer + + osd: copy-from doesn't preserve truncate_{seq,size} + + Reviewed-by: Sage Weil + +commit 698d75c11fa116d6546b09d14484d094fae8f6d7 +Author: Loic Dachary +Date: Wed Jul 22 10:42:32 2015 +0200 + + tests: robust test for the pool create crushmap test + + The test that goes with f1e86be589803596e86acc964ac5c5c03b4038d8 to + verify that a bugous crush ruleset will prevent the creation of a pool + trying to use it was fragile. I depends on the implementation of the + erasure code lrc plugin and turns out to not work on i386. + + The test is modified to use a fake crushtool that always returns false + and validate that it prevents the creation of a pool, which demonstrate + it is used for crushmap validation prior to the pool creation. + + http://tracker.ceph.com/issues/12419 Fixes: #12419 + + Signed-off-by: Loic Dachary + (cherry picked from commit e47903727b5d53f795014bf29b417d357f2bd65a) + +commit 70e612a395f7f5daf2fa289d8ae522824ef7a38f +Merge: 0650862 2a28114 +Author: Loic Dachary +Date: Thu Oct 8 00:09:24 2015 +0200 + + Merge pull request #6192 from dachary/wip-13401-hammer + + mon: fix crush testing for new pools + + Reviewed-by: Sage Weil + +commit 2a28114053fbf4ceee09558790ad3cf755270d5f +Author: Sage Weil +Date: Fri Aug 21 16:40:34 2015 -0400 + + crush/CrushTester: test fewer inputs when running crushtool + + If there are a lot of crush rules (say, 100) then the test can + take a long time. 100 values per rule should be enough to catch + most issues. + + Signed-off-by: Sage Weil + (cherry picked from commit 0f82f461b33d93d868e185912a2c7e4074d06900) + + Conflicts: + src/crush/CrushTester.cc + in hammer the crushtool validation is via a shell + and not via an internal subprocess utility + +commit abc5b5f139b05da0be0fbaa99282be16386980db +Author: Loic Dachary +Date: Sun Sep 20 23:42:45 2015 +0200 + + tests: update to match crushmap validation message + + http://tracker.ceph.com/issues/13182 Fixes: #13182 + + Signed-off-by: Loic Dachary + (cherry picked from commit 21a1e75d8a7bad89a48cd9d36902c5d609be5015) + + Conflicts: + qa/workunits/cephtool/test.sh + the test structure in hammer is different, adapt + the relevant test. + +commit 25bd2778f8b7f5eb5245efebca56a7348dd064eb +Author: Sage Weil +Date: Fri Sep 18 09:42:47 2015 -0400 + + mon/OSDMonitor: fix crush injection error message + + Signed-off-by: Sage Weil + (cherry picked from commit 1b3090d50e5bd5ca3e6e396b23d2d9826896c718) + + Conflicts: + src/mon/OSDMonitor.cc + hammer has a separate error message for EINTR + which is in the context of the fix for error message + +commit 6635530aa94b1f21c3052e64d4dfe3952f98fe83 +Author: Sage Weil +Date: Fri Sep 18 09:41:25 2015 -0400 + + mon/OSDMonitor: only test crush ruleset for the newly created pool + + Otherwise, we test *all* crush rules.. which might be a lot, and + which is a big waste of time and effort. + + Signed-off-by: Sage Weil + (cherry picked from commit 524b0bdcc45c2f4b95f2239c988e93250f337f3d) + + Conflicts: + src/mon/OSDMonitor.cc : trivial resolution + +commit cc1fedda02fbf3c95d7a00f0b395db5439e96f90 +Author: Sage Weil +Date: Fri Sep 18 09:40:13 2015 -0400 + + crush/CrushTester: allow testing by ruleset + + Signed-off-by: Sage Weil + (cherry picked from commit aa238e5ed50f44a94caf84567267e4f6be8732a2) + + Conflicts: + src/crush/CrushTester.cc + in hammer the crushtool validation is via a shell + and not via an internal subprocess utility + src/tools/crushtool.cc + ceph_argparse_withint is preferred to ceph_argparse_witharg + +commit 065086246290cfa02f67c37c95a2ccdb05872f21 +Merge: 79385a8 3a50b90 +Author: Sage Weil +Date: Tue Oct 6 11:11:14 2015 -0400 + + Merge pull request #5887 from Abhishekvrshny/wip-13044-hammer + + LibCephFS.GetPoolId failure + + Reviewed-by: Sage Weil + +commit 79385a85beea9bccd82c99b6bda653f0224c4fcd +Merge: 5b25fc9 3228161 +Author: Loic Dachary +Date: Sun Oct 4 15:33:49 2015 +0200 + + Merge pull request #6172 from dachary/wip-13354-hammer + + qa/workunits/cephtool/test.sh: don't assume crash_replay_interval=45 + + Reviewed-by: Loic Dachary + +commit 322816116ea14a8fd79616b1c55545ae7c62e7f6 +Author: Sage Weil +Date: Mon Sep 28 13:13:40 2015 -0400 + + qa/workunits/cephtool/test.sh: don't assume crash_replay_interval=45 + + e.g., it's 5 in teuthology's ceph.conf. + + Signed-off-by: Sage Weil + (cherry picked from commit 80b7237e5e74d12b9d8b1f96ea535c96bdff9c6f) + +commit ad833044dee4208625213bc83c7847ce9d1a73aa +Author: dwj192 +Date: Wed Sep 9 09:48:16 2015 +0800 + + rgw:add --reset-regions for regionmap update + + Fixes: #12964 + + Signed-off-by: Weijun Duan + (cherry picked from commit 95685c19d6f1eab50b903e61273b5351bedc2980) + + Conflicts: + src/rgw/rgw_admin.cc: usage is on cerr in hammer, not cout + src/test/cli/radosgw-admin/help.t: remove extra empty line + +commit 5b25fc9c8431423c6239da2eafcf7e8863d2262f +Merge: e72bdc3 9026c4a +Author: Loic Dachary +Date: Sat Oct 3 09:39:12 2015 +0200 + + Merge pull request #6156 from dachary/wip-13170-hammer + + doc: update docs to point to download.ceph.com + + Reviewed-by: Abhishek Varshney + +commit 7de65e7ede52f3e417c354f180cfd80f1407c6cb +Author: Vikhyat Umrao +Date: Thu Sep 3 12:02:05 2015 +0530 + + rgw : setting max number of buckets for users via ceph.conf option + + This patch adds a new option "rgw_user_max_buckets" for setting + max number of buckets for users via ceph.conf. + + Fixes #12714 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit f65267c96cbd4cd25036b6bf399692e77bbb9436) + + Conflicts: + src/rgw/rgw_admin.cc: usage is on cerr in hammer, not cout + +commit 297c04d856c4864d21b2241ad01560afa61dde40 +Author: Xiaowei Chen +Date: Tue Sep 8 06:58:57 2015 -0400 + + rgw: init_rados failed leads to repeated delete + + Fixes: #12978 + + Signed-off-by: Xiaowei Chen + (cherry picked from commit ab4232baa7bcc86e90746e13312ac9bda1772872) + +commit 4b0686f18f323b95adb1fc5cffe7c1e55e8f1c63 +Author: Yehuda Sadeh +Date: Wed Aug 26 15:08:18 2015 -0700 + + rgw: delete finisher only after finalizing watches + + Fixes: #12208 + + The watch error path might try to schedule a finisher work, delete finisher + only after watch destruction. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 97aed59fb9e865d30d31d2b7f4e93fc9727c96fa) + +commit 6119b152412ddfa2a614c1862aad52a123a4fe8e +Author: Abhishek Lekshmanan +Date: Mon Aug 24 23:11:35 2015 +0530 + + rgw: be more flexible with iso8601 timestamps + + make parsing 8601 more flexible by not restricting the length of seconds + to 5, this allows timestamp to be specified both as ms or us. Newer + keystone backends such as fernet token backend default to microseconds + when publishing iso8601 timestamps, so this allows these timestamps to + be allowed when specifying the token expiry time. + + Fixes: #12761 + Reported-by: Ian Unruh + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit 136242b5612b8bbf260910b1678389361e86d22a) + +commit 607904e8d5616bd7df20e1e387a14d55e4ca43b6 +Author: Sage Weil +Date: Tue Sep 22 14:12:02 2015 -0400 + + init-radosgw: specify pid file to start-stop-daemon + + This fixes restart when multiple instances are running. + + Fixes: #12407 + Tested-by: Pavan Rallabhandi + Signed-off-by: Sage Weil + (cherry picked from commit e17c8e1a7a06db0e2680dedc7e954021610320d1) + +commit f51ab26d8721bde6852e5c169869d7ae16bd0574 +Author: Vikhyat Umrao +Date: Thu Jul 23 18:10:06 2015 +0530 + + rgw: fix radosgw start-up script. + + radosgw init script is unable to start radosgw daemon. + as it is relies on requiretty being disabled. + once init script start this daemon with sudo it fails + to start the daemon. + + changing 'sudo' to 'su', it will fix this issue and + will also help running radosgw daemon with our new + "ceph" UID project. + + Fixes: #10927 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit c83542296aeb8f5dd96f5d9e09327e7a89370742) + +commit 544a98fa9dd47d02778f622de5f7ebe1acccc12f +Author: Sage Weil +Date: Thu May 7 15:39:22 2015 -0700 + + init-radosgw: unify init-radosgw[.sysv] + + Signed-off-by: Sage Weil + (cherry picked from commit 1c45f512a91ee49e9253ba6fd3857af9bd2ae57a) + +commit 2a733e9e720bcdb8ea342a96be679d6f9efa3b2b +Author: Sage Weil +Date: Thu May 7 15:29:11 2015 -0700 + + init-radosgw: look in /var/lib/ceph/radosgw + + Signed-off-by: Sage Weil + (cherry picked from commit a4bb992426b39188e750fce9198052ca0d510117) + +commit d00c52b874ddc74aa5f4c2e07b70b881ce963114 +Author: Nathan Cutler +Date: Sun May 10 18:17:53 2015 +0200 + + doc: rgw: fix typo in comments + + Signed-off-by: Nathan Cutler + (cherry picked from commit 05cf0db22dc3a9cb2bf4b86b8f240683c23f41ac) + +commit eb001d3a7275cc040bea716b8bdb0cf8b97efbc9 +Author: Dmitry Yatsushkevich +Date: Tue Mar 17 15:44:52 2015 -0700 + + rgw: init script waits until the radosgw stops + + Fixes: #11140 + Init script waits in stop action until the radowgw daemons stop. + + Signed-off-by: Dmitry Yatsushkevich + (cherry picked from commit 1cca0c1e91a1e18f82f4d22855e96b2fc947f5ea) + +commit 9ab9c44583c96f1679db3dbcef322a706548a7dd +Author: Yehuda Sadeh +Date: Thu Sep 17 09:10:39 2015 -0700 + + rgw: don't read actual data on user manifest HEAD + + Fixes: #12780 + We unconditionally read all the data, which is not needed + when doing HEAD operation on user manifest objects. + + Signed-off-by: Yehuda Sadeh + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 4a8b08d1dd2511e28e999f1625103fb919fb5465) + +commit 9026c4a7c7699a9a013d4fe207e6681403f934a6 +Author: Alfredo Deza +Date: Fri Sep 18 14:20:12 2015 -0400 + + doc: remove mention of ceph-extra as a requirement + + Signed-off-by: Alfredo Deza + (cherry picked from commit a6f07e9fa3bd5e50a2d8cfa387b44a39d383fa65) + +commit 45ed24da879fe12b921cf03e4a921ccc0582b8d2 +Author: Alfredo Deza +Date: Fri Sep 18 14:13:21 2015 -0400 + + doc: remove ceph-extras + + Signed-off-by: Alfredo Deza + (cherry picked from commit c0ef84fd22aac58b6ec8e58eb4f8dffed306d39e) + +commit faccdce79e003318c751dd9203773af7ed31d052 +Author: Alfredo Deza +Date: Fri Sep 18 14:13:02 2015 -0400 + + doc: correct links to download.ceph.com + + Signed-off-by: Alfredo Deza + (cherry picked from commit 387d7800359154950431d0984c756f43f21dd9b4) + +commit e9f4aecf3f406b42b74f840edb398be9243da85a +Author: ritz303 +Date: Tue Aug 25 10:02:49 2015 -0500 + + doc: Added "Hammer" in the list of major releases. + + Fixes: #12771 + + Signed-off-by: ritz303 + (cherry picked from commit 582f0f64455079290ad3b4ae7338b716e170911f) + +commit 424fc1ccb244f5084f94904cb20cbf88a1bd4638 +Author: Yehuda Sadeh +Date: Fri Sep 25 10:44:40 2015 -0700 + + rgw: set default value for env->get() call + + Fixes: #13239 + + This fixes a regression introduced at commit abe4ec293d08b0314bf5c081ace2456073f3a22c. + The host var is a string, env->get() returns a char pointer, shouldn't + pass in NULL. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 0d5730efc0054334897315dc23ba04f30548e36e) + Signed-off-by: Robin H. Johnson + +commit e72bdc3bf1541e445f74def70b5aa185f1757468 +Author: Sage Weil +Date: Mon Sep 21 11:41:03 2015 -0400 + + osd/ReplicatedPG: tolerate promotion completion with stopped agent + + We may start a promotion, then get a pool update that disables the + agent, and then complete it. We should not segfault in this case. + + Fixes: #13190 + Signed-off-by: Sage Weil + (cherry picked from commit fd9ce66e8b76787f69c5e337332d57aa72c8b8d5) + +commit a3afb3f59435050efa711436134b4abe63a8f5cf +Author: Sage Weil +Date: Tue Jun 9 14:15:10 2015 -0400 + + rgw: remove trailing :port from host for purposes of subdomain matching + + Some clients (ahem, CrossFTP) include the :port in the HTTP_HOST header. + Strip it out. + + Switch req_info field to a std::string and avoid copying it in preprocess. + + Signed-off-by: Sage Weil + (cherry picked from commit abe4ec293d08b0314bf5c081ace2456073f3a22c) + +commit fe0fc4f18f6f275b34e8bbfa868a7310ecc3842f +Merge: e26f8bc 8ba6b2f +Author: Yehuda Sadeh +Date: Thu Sep 24 14:01:26 2015 -0700 + + Merge pull request #5715 from dachary/wip-12592-hammer + + RGW returns requested bucket name raw in Bucket response header + +commit e26f8bc2dbc82b6ff31d2bd2d5c890aa12da9f4a +Merge: 19e549e 6acf36f +Author: Yehuda Sadeh +Date: Thu Sep 24 14:00:55 2015 -0700 + + Merge pull request #5719 from dachary/wip-12855-hammer + + segmentation fault when rgw_gc_max_objs > HASH_PRIME + +commit 19e549e9c2fbacdbf747344c1dafcc6b66902339 +Merge: 2b11a4c a13c7fd +Author: Yehuda Sadeh +Date: Thu Sep 24 14:00:09 2015 -0700 + + Merge pull request #5720 from dachary/wip-12854-hammer + + the arguments 'domain' should not be assigned when return false + +commit 77cb503ba057f033825aa40d57dee42e838c67ac (refs/remotes/gh/wip-13015-hammer) +Author: Yehuda Sadeh +Date: Wed Sep 9 15:41:02 2015 -0700 + + rgw: preserve all attrs if intra-zone copy + + Fixes: #13015 + Intra zone copy requires that all objects' attributes are preserved. + + Signed-off-by: Yehuda Sadeh + +commit b9f2ed303eedfa0b747884f8e66fbe97cfeeb0d5 +Author: Yehuda Sadeh +Date: Thu Aug 13 10:59:32 2015 -0700 + + rgw: don't preserve acls when copying object + + Fixes: #12370 + + When copying an object we need to use the acls we calculated earlier, + and not the source acls. + This was broken at e41d97c8e38bb60d7e09e9801c0179efe7af1734. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit fb020247449d3daf033885bab5b3a10c0e5df4a5) + +commit 2b11a4c07a9416a2f75c8ce62a923994977d799c +Merge: 0022c03 b3822f1 +Author: Loic Dachary +Date: Tue Sep 15 10:23:49 2015 +0200 + + Merge pull request #5930 from liewegas/wip-11798-hammer + + upstart: limit respawn to 3 in 30 mins (instead of 5 in 30s) + + Reviewed-by: Loic Dachary + +commit 0022c035476eff471a777b23a619d024f632a1bf +Merge: 23fb811 0d6a8c6 +Author: Loic Dachary +Date: Mon Sep 14 23:57:13 2015 +0200 + + Merge pull request #5908 from liewegas/wip-simple-connect-hammer + + Pipe: Drop connect_seq increase line + + Reviewed-by: Greg Farnum + +commit b3822f113e07547194b844f647bcb7d45513b25f (refs/remotes/me/wip-11798-hammer) +Author: Sage Weil +Date: Wed Jun 3 14:57:34 2015 -0400 + + upstart: limit respawn to 3 in 30 mins (instead of 5 in 30s) + + It may take tens of seconds to restart each time, so 5 in 30s does not stop + the crash on startup respawn loop in many cases. In particular, we'd like + to catch the case where the internal heartbeats fail. + + This should be enough for all but the most sluggish of OSDs and capture + many cases of failure shortly after startup. + + Fixes: #11798 + Signed-off-by: Sage Weil + (cherry picked from commit eaff6cb24ef052c54dfa2131811758e335f19939) + +commit 0d6a8c631f55367ac4f6f792a10ba62cd97e9fed (refs/remotes/me/wip-simple-connect-hammer) +Author: Haomai Wang +Date: Wed Feb 25 23:38:54 2015 +0800 + + Pipe: Drop connect_seq increase line + + Revert commit 0fc47e267b6f8dcd4511d887d5ad37d460374c25. + + When accepting and "connect.connect_seq == existing->connect_seq", + existing->state maybe STATE_OPEN, STATE_STANDBY or STANDY_CONNECTING. + This commit only fix partial problem and want to assert + "(existing->state == STATE_CONNECTING)". + + So later we added codes to catch + "(existing->state == STATE_OPEN || existing->state == STATE_STANDBY)" + before asserting. + + Backport: dumpling, firefly, giant + + Signed-off-by: Haomai Wang + (cherry picked from commit 67225cb3ee1f6d274a02293724942bdb25cec8ca) + +commit 23fb811303971152f1c348e2a02de4e2bc6ed53d +Merge: c1849ec 6c4ccc8 +Author: Loic Dachary +Date: Sun Sep 13 14:10:23 2015 +0200 + + Merge pull request #5767 from dachary/wip-12597-hammer + + Crash during shutdown after writeback blocked by IO errors + + Reviewed-by: Jason Dillaman + +commit c1849ecfb2ae55b99b6db75ee49af19886c246b2 +Merge: f35c53d f028389 +Author: Sage Weil +Date: Sun Sep 13 07:42:36 2015 -0400 + + Merge pull request #5687 from liewegas/wip-hammer-feature-hammer + + include/ceph_features: define HAMMER_0_94_4 feature + +commit f35c53df7c155d7ff4a316a0817b11bc018c57ca +Merge: 6e22620 4be8a28 +Author: Sage Weil +Date: Sat Sep 12 09:23:13 2015 -0400 + + Merge pull request #5892 from ceph/wip-13060-hammer + + osd: allow peek_map_epoch to return an error + + Reviewed-by: David Zafman + +commit 4be8a28d5b5ba868d100300ab64ebb82b188222b +Author: Sage Weil +Date: Fri Sep 11 11:00:38 2015 -0400 + + osd/PG: peek_map_epoch: skip legacy PGs if infos object is missing + + - pg is removed + - osd is stopped before pg is fully removed + - on restart, we ignore/skip the pg because its epoch is too old + - we upgrade to hammer and convert other pgs, skipping this one, and then + remove the legacy infos object + - hammer starts, tries to parse the legacy pg, and fails because the infos + object is gone, crashing. + + The fix is to continue ignoring the zombie pg. + + Fixes: #16030 + Signed-off-by: Sage Weil + +commit f237ed97228839a1b412ad213945f0343df05bf5 +Author: Sage Weil +Date: Fri Sep 11 17:41:01 2015 -0400 + + osd: allow peek_map_epoch to return an error + + Allow PG::peek_map_epoch to return an error indicating the PG + should be skipped. + + Signed-off-by: Sage Weil + (cherry picked from commit f15d9585edc5a12ac2d076951076247253b897c2) + + [fixed *pepoch default of 0] + [fixed other return paths in peek_map_epoch] + +commit 3a50b904a2ffd613b695ead1b26c93278044d7df +Author: Yan, Zheng +Date: Wed Aug 5 15:19:13 2015 +0800 + + crypto: fix unbalanced ceph::crypto::init/ceph::crypto:shutdown + + we may create a CephContext without calling common_init_finish(), then + delete the CephContext. In this case, ceph::crypto:init() is not called, + so CephContext::~CephContext() should not call ceph::crypto::shutdown(). + + Fixes: #12598 + Signed-off-by: Yan, Zheng + (cherry picked from commit 98a85ec6464d8ec3fc7f0c647ac97c8cf002ebe2) + +commit 0a5b8569ecc6efa42b3d4fa7a58c155b3c2dbbe8 +Author: Samuel Just +Date: Thu Jul 30 16:59:32 2015 -0700 + + ReplicatedPG,Objecter: copy_get should include truncate_seq and size + + Otherwise, we break CephFS over cache tiers. + + Fixes: #12551 + Signed-off-by: Samuel Just + (cherry picked from commit 6f9ee7961eee9ee3a61a07cbe0d8d289ee98fa9a) + + Conflicts: + src/osd/ReplicatedPG.cc + +commit 6e22620165872a88ab4b75ed2fb93f61beb65d12 +Merge: 508733f 00e73ad +Author: Josh Durgin +Date: Wed Sep 9 19:44:09 2015 -0400 + + Merge pull request #5769 from dachary/wip-12850-hammer + + Crash during TestInternal.MultipleResize + + Reviewed-by: Josh Durgin + +commit 508733fd48f2c704b79ad36841346965f4d0429b +Merge: 69a320e dc693fc +Author: Josh Durgin +Date: Wed Sep 9 19:44:01 2015 -0400 + + Merge pull request #5768 from dachary/wip-12849-hammer + + [ FAILED ] TestLibRBD.BlockingAIO + + Reviewed-by: Josh Durgin + +commit 82ea02ab8d886c16c511c4bd7d03d826158f954b +Author: Yehuda Sadeh +Date: Wed Jun 17 11:35:18 2015 -0700 + + rgw: fix assignment of copy obj attributes + + Fixes: #11563 + Clarify the confusing usage of set_copy_attrs() by switching the source and + destinatiion params (attrs, src_attrs). Switch to use attrs instead of + src_attrs afterwards. In one of the cases we originally used the wrong + variable. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit e41d97c8e38bb60d7e09e9801c0179efe7af1734) + +commit 3b2affce1a229cead3e0ffacfdfde69258a267cb +Author: Sylvain Baubeau +Date: Fri Sep 4 22:51:44 2015 +0200 + + rgw: add delimiter to prefix only when path is specified + + http://tracker.ceph.com/issues/12960 + Fixes: #12960 + + Signed-off-by: Sylvain Baubeau + (cherry picked from commit 27cf257248ea55f8f4bc7851c3956611828bcae2) + +commit 69a320e185f20da0824d0a62d3de77578c431a7a +Merge: 8039375 0bc909e +Author: Loic Dachary +Date: Wed Sep 9 16:58:56 2015 +0200 + + Merge pull request #5697 from tchaikov/wip-12638-hammer + + mon: add a cache layer over MonitorDBStore + + Reviewed-by: Joao Eduardo Luis + +commit 8039375327b5074a700193aae2d8b1922ca85398 +Merge: 19ff928 256620e +Author: Loic Dachary +Date: Wed Sep 9 14:52:54 2015 +0200 + + Merge pull request #5381 from dachary/wip-12499-hammer + + ceph-fuse 0.94.2-1trusty segfaults / aborts + + Reviewed-by: Greg Farnum + +commit 19ff92806fd1e0fb866737f58e379aa8078b8017 +Merge: 7614bf7 059bf98 +Author: David Zafman +Date: Tue Sep 8 14:58:16 2015 -0700 + + Merge pull request #5757 from dachary/wip-12836-hammer + + WBThrottle::clear_object: signal on cond when we reduce throttle values + + Reviewed-by: David Zafman + +commit 7614bf7d117fdd476931cdd8825265321cef3c4c +Merge: 2100631 bf72785 +Author: Loic Dachary +Date: Mon Sep 7 10:06:30 2015 +0200 + + Merge pull request #5759 from dachary/wip-12841-hammer + + recursive lock of md_config_t (0) + + Reviewed-by: Sage Weil + +commit 210063120708a7d6502c2b8d3e8c61731e37de5b +Merge: a2e1fe2 836f763 +Author: Loic Dachary +Date: Mon Sep 7 10:05:41 2015 +0200 + + Merge pull request #5761 from dachary/wip-12843-hammer + + long standing slow requests: connection->session->waiting_for_map->connection ref cycle + + Reviewed-by: Sage Weil + +commit a2e1fe26f602d0165999dfb72b97985f9bfe38ce +Merge: 8ccb771 2348a5b +Author: Loic Dachary +Date: Mon Sep 7 10:04:51 2015 +0200 + + Merge pull request #5762 from dachary/wip-12844-hammer + + osd suicide timeout during peering - search for missing objects + + Reviewed-by: Sage Weil + +commit 8ccb7711d68dd3b95d2522c6e46f5021362c9088 +Merge: e9db807 77624af +Author: Loic Dachary +Date: Mon Sep 7 10:04:03 2015 +0200 + + Merge pull request #5763 from dachary/wip-12846-hammer + + osd/PGLog.cc: 732: FAILED assert(log.log.size() == log_keys_debug.size()) + + Reviewed-by: Sage Weil + +commit e9db8075034dc4ac0ffe5d8dd9dd2153509237fa +Merge: 5ef999e aa00373 +Author: Loic Dachary +Date: Mon Sep 7 10:03:10 2015 +0200 + + Merge pull request #5764 from dachary/wip-12847-hammer + + common: do not insert emtpy ptr when rebuild emtpy bufferlist + + Reviewed-by: Sage Weil + +commit 5ef999e4a1dc04d7b7e58b1a61f85511099fd6d4 +Merge: c243f7a cd11b88 +Author: Loic Dachary +Date: Mon Sep 7 10:02:14 2015 +0200 + + Merge pull request #5373 from dachary/wip-12489-hammer + + pg_interval_t::check_new_interval - for ec pool, should not rely on min_size to determine if the PG was active at the interval + + Reviewed-by: Sage Weil + +commit c243f7a33b0fff261bb92595a3cc7abf12b7e56d +Merge: e61fdc6 7bddf5d +Author: Loic Dachary +Date: Mon Sep 7 10:00:32 2015 +0200 + + Merge pull request #5383 from dachary/wip-12504-hammer + + rest-bench common/WorkQueue.cc: 54: FAILED assert(_threads.empty()) + + Reviewed-by: Kefu Chai + +commit e61fdc67031b0358800335b638c96d22ecb85bd6 +Merge: 62f543b 9f69660 +Author: Loic Dachary +Date: Mon Sep 7 09:54:07 2015 +0200 + + Merge pull request #5765 from dachary/wip-12883-hammer + + cache agent is idle although one object is left in the cache + + Reviewed-by: Kefu Chai + +commit 62f543bbb092554746d3b89aab4b1ea75a5cdbf1 +Merge: f25315c e471c5d +Author: Loic Dachary +Date: Mon Sep 7 09:53:14 2015 +0200 + + Merge pull request #5754 from dachary/wip-12588-hammer + + Change radosgw pools default crush ruleset + + Reviewed-by: Kefu Chai + +commit f25315c1e7e6e4700c2f39ba849dbcb25b0f1f89 +Merge: 021abe7 43a72e4 +Author: Loic Dachary +Date: Mon Sep 7 09:51:50 2015 +0200 + + Merge pull request #5377 from dachary/wip-12396-hammer + + register_new_pgs() should check ruleno instead of its index + + Reviewed-by: Kefu Chai + +commit 021abe742ccec876497468ac556b9dfaf6c9503d +Merge: 4125196 c94fd92 +Author: Sage Weil +Date: Sun Sep 6 21:07:38 2015 -0400 + + Merge pull request #5758 from dachary/wip-12839-hammer + + Mutex Assert from PipeConnection::try_get_pipe + +commit 9f69660133f9534722589801a6fc827b74bead44 +Author: Loic Dachary +Date: Thu Aug 13 19:41:47 2015 +0200 + + tests: tiering agent and proxy read + + Verify that an object promoted to a cache tier because of a proxy read + is evicted as expected. + + http://tracker.ceph.com/issues/12673 Refs: #12673 + + Signed-off-by: Loic Dachary + (cherry picked from commit 7924231930732bd297d3bd034c8295e96cb81088) + +commit 5656eec0000e95ea790c796a9f572c7261163cfa +Author: Loic Dachary +Date: Thu Aug 13 13:47:24 2015 +0200 + + osd: trigger the cache agent after a promotion + + When a proxy read happens, the object promotion is done in parallel. The + agent_choose_mode function must be called to reconsider the situation + to protect against the following scenario: + + * proxy read + * agent_choose_mode finds no object exists and the agent + goes idle + * object promotion happens + * the agent does not reconsider and eviction does not happen + although it should + + http://tracker.ceph.com/issues/12673 Fixes: #12673 + + Signed-off-by: Loic Dachary + (cherry picked from commit e1f58feb9b1d20b72f2eb2eefdea5982e0cddccd) + +commit 4125196d31de8933656561b2f860e16a546ec4b9 +Merge: 47af509 f47ba4b +Author: Loic Dachary +Date: Sun Sep 6 23:17:22 2015 +0200 + + Merge pull request #5276 from dachary/wip-11824-hammer + + implicit erasure code crush ruleset is not validated + + Reviewed-by: Loic Dachary + +commit 47af509003e551238702858ccd845b930e5ef1ed +Merge: 2fd8ec8 1e05578 +Author: Loic Dachary +Date: Sun Sep 6 17:24:43 2015 +0200 + + Merge pull request #5382 from dachary/wip-12500-hammer + + segfault launching ceph-fuse with bad --name + + Reviewed-by: Sage Weil + +commit 2fd8ec8385a90daaa1bdb9de189ec73c7ba49c6c +Merge: e6bdae9 fa19474 +Author: Loic Dachary +Date: Sun Sep 6 17:23:19 2015 +0200 + + Merge pull request #5367 from dachary/wip-12311-hammer + + read on chunk-aligned xattr not handled + + Reviewed-by: Sage Weil + +commit dc693fcaf2c596087b434f9e90fbc553394b9a14 +Author: Jason Dillaman +Date: Wed Jul 29 12:46:24 2015 -0400 + + lockdep: allow lockdep to be dynamically enabled/disabled + + librbd test cases attempt to enable lockdep coverage via the librados + API. Use a configuration observer to register/unregister lockdep + support. + + Signed-off-by: Jason Dillaman + (cherry picked from commit af0cade0293be22e74a3293765676c7b227b06c4) + +commit 805732b143fd28603238969ba784adb57eff1a12 +Author: Jason Dillaman +Date: Tue Jul 28 14:23:14 2015 -0400 + + tests: librbd API test cannot use private md_config_t struct + + Remove all depencencies on md_config_t and instead use librados API + methods to get/set configuration values. + + Fixes: #12479 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 2c51aadb447d3447b5dace19c5cb6268e94247c8) + +commit 7ac01731bcb0f1d46cf98ecf623c7e8e6cb1a38e +Author: Jason Dillaman +Date: Thu Apr 9 15:06:27 2015 -0400 + + tests: ensure old-format RBD tests still work + + Override the RBD default image format back to version 1 + to ensure tests properly cover the old format. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3b95edb5bd373bd05f83516eccfd30a6b5cf4693) + +commit b68d7574d12944589b246281474bcad01f5347be +Author: Jason Dillaman +Date: Thu Jul 30 09:00:57 2015 -0400 + + librados_test_stub: implement conf get/set API methods + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4d03c664f2a9362009c7e3077ed65e2989f0f21b) + +commit f0fa637e4a91a93a326ba303bc22101fadcc787d +Author: Jason Dillaman +Date: Tue Jul 28 13:14:29 2015 -0400 + + crypto: use NSS_InitContext/NSS_ShutdownContex to avoid memory leak + + Switched to context-aware NSS init/shutdown functions to avoid conflicts + with parent application. Use a reference counter to properly shutdown the + NSS crypto library when the last CephContext is destroyed. This avoids + memory leaks with the NSS library from users of librados. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 9fa0112dd9286178da1d76020158503b2062d252) + +commit 3f542aa2410139bece0f4192079e4e34260da782 +Author: Yan, Zheng +Date: Sat Mar 21 07:13:51 2015 +0800 + + auth: use crypto_init_mutex to protect NSS_Shutdown() + + Signed-off-by: Yan, Zheng + (cherry picked from commit cf058174fe6be26129eb52f4fb24d0f7146ef7af) + +commit e487e8e3d84c7845ce7824ace3e375c6c389ba20 +Author: Yan, Zheng +Date: Sat Mar 21 01:02:42 2015 +0800 + + auth: reinitialize NSS modules after fork() + + Fixes: #11128 + Signed-off-by: Yan, Zheng + (cherry picked from commit 4c24d0cc074462ae258b5cf901cd884bb4f50a53) + +commit 00e73adb03ef4453599268779fe354e4e8513e54 +Author: Jason Dillaman +Date: Tue Aug 11 09:26:33 2015 -0400 + + librbd: prevent race condition between resize requests + + It was possible that the same resize request could be sent twice + if a completed resize op started a newly created resize op while + it was also being concurrently started by another thread. + + Fixes: #12664 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 6ec431bac1cf9446f3af90209d193dfcf003f2c5) + +commit 6c4ccc854fa8a8403b03785b06cb35a7174f4f42 +Author: Jianpeng Ma +Date: Mon Mar 9 14:23:23 2015 +0800 + + librbd: Add a paramter:purge_on_error in ImageCtx::invalidate_cache(). + + If bh_write met error, it will try again. For closing image, if met this + issue, it will trigger a assert: + >>2015-02-03 15:22:49.198292 7ff62d537800 -1 osdc/ObjectCacher.cc: In + function 'ObjectCacher::~ObjectCacher()' thread 7ff62d537800 time + >>2015-02-03 15:22:49.195927osdc/ObjectCacher.cc: 551: FAILED + >>assert(i->empty()) + + Now add purge_on_error, when shutdown_cache it set true. + In ImageCtx::invalidate_cache, if met error and purge_on_error is true, + purge the dirty bh. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 35def5c81f7fc83d55d18320e4860c6a63d4c7f5) + + Conflicts: + src/librbd/ImageCtx.cc : trivial resolution + +commit 05734916ab119c6d3879c2ce2bc9f9581907861a +Author: Jianpeng Ma +Date: Thu Feb 5 11:28:50 2015 +0800 + + librbd: Remvoe unused func ImageCtx::read_from_cache. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 101440a41253680770f94bc380af7072c7adaebf) + +commit 28838f20a722b72a6e926e53f104342d3b9f4791 +Author: Jianpeng Ma +Date: Thu Feb 5 11:03:10 2015 +0800 + + osdc: clean up code in ObjectCacher::Object::map_write + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 9f80c2909ace09cd51c24b49c98a093e0e864dca) + +commit 5c4f152efa8e8f57c59ea7decc05ae1a34f2a9ee +Author: Jianpeng Ma +Date: Thu Feb 5 10:13:06 2015 +0800 + + osdc: Don't pass mutex into ObjectCacher::_wait_for_write. + + Because the mutex is the same as ObjectCacher::lock. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit d7cf7aeea5cba1ffa8e51ff1ad2424b1ec161a12) + +commit 86e7698a19745c26b9d3e7a12a16c87ea9a5d565 +Author: Jianpeng Ma +Date: Mon Mar 2 11:23:44 2015 +0800 + + osdc: After write try merge bh. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 1a48a8a2b222e41236341cb1241f0885a1b0b9d8) + +commit c96541ad19fb142ed31ff3006f1dc25e0c1de86c +Author: Jianpeng Ma +Date: Mon Mar 2 11:36:24 2015 +0800 + + osdc: Make last missing bh to wake up the reader. + + Avoid wakeup early and wait again. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit d582bda090b3339d03e25b0e6d0971ad0267f476) + +commit 4135b9a2d199583685a1bae3713347dcc1b872e6 +Author: Jianpeng Ma +Date: Fri Feb 6 09:53:36 2015 +0800 + + osdc: For trust_enoent is true, there is only one extent. + + Now the judgement only in conditon which will return -ENOENT. + But o->exists don't depend on the extent size. It only depend on + trust_enoent. So move this judgement at the first of _readx(). + Make this bug ASAP occur. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 2449fddc13b5ce8bbf1bb4ecaa5d6937f54e54d1) + +commit 81376b6a1a5db9f8b45c58ea318ec924e932d990 +Author: Jianpeng Ma +Date: Tue Feb 3 14:46:39 2015 +0800 + + osdc: In _readx() only no error can tidy read result. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 540346d4a901d8041c9fd74641c98cdfd2e1ab32) + +commit e6bdae903cdd2f702829adc31fa9a31c239a3b87 +Merge: 317770d cdde626 +Author: Ken Dreyer +Date: Fri Sep 4 15:38:43 2015 -0600 + + Merge pull request #5223 from SUSE/wip-12305-hammer + + ceph.spec.in: running fdupes unnecessarily + + Reviewed-by: Ken Dreyer + +commit e80bd0a2a39afdabcb134100e0cc8fa74cbd14c2 +Author: Radoslaw Zarzynski +Date: Thu Jun 25 18:28:50 2015 +0200 + + rgw: send Content-Length in response for GET on Swift account. + + Fixes: #12158 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 5f47b11791cd46ce2771046e4888575869cc9685) + Conflicts: + src/rgw/rgw_rest_swift.cc + +commit 2e542456dee6c30b3200e9830d4ccae4b0325388 +Author: Orit Wasserman +Date: Mon Jun 22 13:51:49 2015 +0200 + + rgw: force content_type for swift bucket stats request + + Fixes: 12095 + + Signed-off-by: Orit Wasserman + (cherry picked from commit da259e4da1329e1e448d75c48c6ee3d1318e19b2) + +commit 5d57b63c32e43000ff95c2d8ce34347ed0579a8a +Author: Orit Wasserman +Date: Thu Aug 13 15:02:03 2015 +0200 + + rgw: we should not overide Swift sent content type + + Fixes: #12363 + backport: hammer + + Signed-off-by: Orit Wasserman + (cherry picked from commit 423cf136f15df3099c9266f55932542d303c2713) + +commit b8aafbc6f9f80f029606a577d73f8685a80225b8 +Author: Radoslaw Zarzynski +Date: Tue Jun 23 11:54:09 2015 +0200 + + rgw: enforce Content-Type in Swift responses. + + Swift sends Content-Type HTTP header even if the response + doesn't contain body. We have this behaviour implemented + until applying some changes in end_header() function. + Unfortunately, lack of Content-Type causes early exits in + many Tempest's tests for Swift API verification. + + Fixes: #12157 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 106aeba206736d4080326f9bc191876bed63370b) + +commit 143cfc331efcc7bed8b1cf90d7e3188d0ac7604b +Author: Orit Wasserman +Date: Tue Apr 21 12:31:19 2015 +0200 + + rgw: force content-type header for swift account responses without body + + This regression was introduced in commit 4cfeca03ade21861ab70ca759f94eb244c16cb39 + + Fixes: #11438 + + Signed-off-by: Orit Wasserman + (cherry picked from commit 009664e560ee37ef6dc170a0155d6c749e151b06) + +commit b5420d6f1a6a1da34c7bba339e6763c4b369d349 +Author: Orit Wasserman +Date: Thu Apr 9 20:04:59 2015 +0200 + + rgw: shouldn't return content-type: application/xml if content length is 0 + + Fixed: #11091 + + Signed-off-by: Orit Wasserman + (cherry picked from commit 5cc92bb27cfbaee4af24dc312c9b98331f899794) + +commit 317770dd39510221cbc0fc7ee50960992137eaaf +Merge: 6b02be7 6b36514 +Author: Loic Dachary +Date: Thu Sep 3 12:20:38 2015 +0200 + + Merge pull request #5716 from dachary/wip-12851-hammer + + Ensure that swift keys don't include backslashes + + Reviewed-by: Orit Wasserman + +commit 6b02be7395ad8f41f70458e7bd11630ddd498cc5 +Merge: fa74ea1 f1c7c62 +Author: Loic Dachary +Date: Thu Sep 3 12:11:24 2015 +0200 + + Merge pull request #5717 from dachary/wip-12591-hammer + + rgw: create a tool for orphaned objects cleanup + + Reviewed-by: Orit Wasserman + +commit fa74ea10ac25fe93f359ccf0fd036d567e9610fe +Merge: 011e4c5 a478385 +Author: Loic Dachary +Date: Wed Sep 2 23:35:58 2015 +0200 + + Merge pull request #5755 from dachary/wip-12589-hammer + + ceph-disk zap should ensure block device + + Reviewed-by: Loic Dachary + +commit 011e4c58ffb41aa5ae3240a40cbeba8266b89001 +Merge: e7c2269 b80859e +Author: Loic Dachary +Date: Wed Sep 2 23:22:59 2015 +0200 + + Merge pull request #5732 from ceph/wip-11455-hammer + + rgw: init some manifest fields when handling explicit objs + + Reviewed-by: Loic Dachary + +commit e7c2269dbebd5337ae5aad127d6ddaa4260a8f53 +Merge: 92b641f da00bed +Author: Loic Dachary +Date: Wed Sep 2 23:19:02 2015 +0200 + + Merge pull request #5721 from dachary/wip-12853-hammer + + RGW Swift API: X-Trans-Id header is wrongly formatted + + Reviewed-by: Radoslaw Zarzynski + +commit 92b641f301df33a38ccfcf018c5f7657db8548ae +Merge: 845d2ae 3ab5d82 +Author: Loic Dachary +Date: Wed Sep 2 23:08:24 2015 +0200 + + Merge pull request #5498 from ceph/wip-12432-hammer + + rgw: HTTP return code is not being logged by CivetWeb + + Reviewed-by: Loic Dachary + +commit 836f7636f76b2778812e4fa055206a887fd27dad +Author: Samuel Just +Date: Tue Jul 21 11:31:12 2015 -0700 + + OSD: break connection->session->waiting message->connection cycle + + Fixes: #12338 + Signed-off-by: Samuel Just + (cherry picked from commit 7f15e22be291df139c85909b96b2366f6dbadf37) + +commit 77624aff03a8df7805ac0c1c6a7a2085f41fb6a3 +Author: Sage Weil +Date: Sun Aug 9 10:46:10 2015 -0400 + + osd/PGLog: dirty_to is inclusive + + There are only two callers of mark_dirty_to who do not pass max, + and they are both in the merge_log extending tail path. In that + case, we want to include the last version specified in the log + writeout. Fix the tail extending code to always specify the + last entry added, inclusive. + + Fixes: #12652 + Signed-off-by: Sage Weil + (cherry picked from commit f0ca14df0641daa04eee39d98d8bd0faf46e4e6d) + +commit aa003736d2aeea937ce0d8663b159cf06b2dda3e +Author: Xinze Chi +Date: Mon Aug 24 23:02:10 2015 +0800 + + common: fix code format + + Signed-off-by: Xinze Chi + (cherry picked from commit 15e5ebe14787bbbc6b906d72ccd2d418d762cfad) + +commit aab35da90d7d50750fda6355d5a124a45d66f1c5 +Author: Xinze Chi +Date: Mon Aug 24 22:59:40 2015 +0800 + + test: add test case for insert empty ptr when buffer rebuild + + Signed-off-by: Xinze Chi + (cherry picked from commit 2d2f0eb338906742d516a2f8e6d5d05505be8f47) + +commit 2b0b7ae6443eeca271813415a91ab749c886fdf0 +Author: Xinze Chi +Date: Mon Aug 24 23:01:27 2015 +0800 + + common: fix insert empty ptr when bufferlist rebuild + + Fixes: #12775 + Signed-off-by: Xinze Chi + (cherry picked from commit fb1b6ddd7bfe40d4a38d5ec59b1c3f59f2a83f23) + + Conflicts: + src/common/buffer.cc : because invalidate_crc did not exist + in hammer + +commit 845d2aed9e9a9893678226b8661fbd8ff87c090f +Merge: a6517d2 3396a96 +Author: Loic Dachary +Date: Wed Sep 2 12:00:11 2015 +0200 + + Merge pull request #5527 from SUSE/wip-12585-hammer + + OSD crash creating/deleting pools + + Reviewed-by: Kefu Chai + +commit 2348a5b5c96d065fbc2188bd9e8e7ff20c75ecaa +Author: Guang G Yang +Date: Wed Jul 29 21:47:17 2015 +0000 + + osd: copy the RecoveryCtx::handle when creating a new RecoveryCtx instance from another one + + Fixes: 12523 + + Signed-off-by: Guang Yang + (cherry picked from commit 6ab9efe799b947f2ef6113df8cc542c73760107d) + +commit bf72785e1e11b18df9a03ebfa7c284fe4f43eaa0 +Author: Josh Durgin +Date: Mon Aug 24 15:40:39 2015 -0700 + + config: skip lockdep for intentionally recursive md_config_t lock + + lockdep can't handle recursive locks, resulting in false positive + reports for certain set_val_or_die() calls, like via + md_config_t::parse_argv() passed "-m". + + Fixes: #12614 + Signed-off-by: Josh Durgin + (cherry picked from commit 415226995ebe841cc9e8639a3233150a75aecaed) + +commit c94fd926239a31dea1389a760f55f332a9b6814a +Author: David Zafman +Date: Thu Jul 23 16:36:19 2015 -0700 + + osd: Keep a reference count on Connection while calling send_message() + + Fixes: #12437 + + Signed-off-by: David Zafman + (cherry picked from commit a140085f467889f2743294a3c150f13b62fcdf51) + +commit 059bf98d40fa7e1eddb7aef2ecfdfb6bc96c14fb +Author: Samuel Just +Date: Tue Jul 7 08:49:54 2015 -0700 + + WBThrottle::clear_object: signal if we cleared an object + + Fixes: #12223 + Signed-off-by: Samuel Just + (cherry picked from commit 8447b08d60d5cf7dce20f8b839cc2cb5a93782de) + +commit a478385334323071b5cfa4d546eef5b0ef43dce7 +Author: Loic Dachary +Date: Sun May 31 19:42:45 2015 +0200 + + ceph-disk: always check zap is applied on a full device + + zap only makes sense on a full device and this is verified for + + ceph-disk prepare --zap-disk + + but not for + + ceph-disk zap + + Unify the two and add a test to check that it fails as expected when + trying to zap a directory. + + http://tracker.ceph.com/issues/11272 Fixes: #11272 + + Signed-off-by: Loic Dachary + (cherry picked from commit 8e1bcf21f090fc98ac9b495d76614e3012f5872a) + + Conflicts: + src/test/ceph-disk.sh : trivial resolution + +commit e471c5dc16847ba35d3c3c8c74da1bf7c4c946e0 +Author: Yuan Zhou +Date: Wed Jul 8 10:35:49 2015 +0800 + + librados: Make librados pool_create respect default_crush_ruleset + + Make pool_create in librados use the osd_pool_default_crush_replicated_ruleset + + Fixes: #11640 + + Signed-off-by: Yuan Zhou + (cherry picked from commit da96a89033590277460aef1c80f385bd93d625e1) + +commit a6517d286b59eac283d7bfd04b620f5b859657b6 +Merge: a89c173 35fa47a +Author: Loic Dachary +Date: Wed Sep 2 02:19:26 2015 +0200 + + Merge pull request #5551 from ceph/wip-corpus-hammer + + ceph-object-corpus: add 0.94.2-207-g88e7ee7 hammer objects + + Reviewed-by: Loic Dachary + +commit 35fa47a117a3e8d185f7ebe02eea5671f8229427 (refs/remotes/me/wip-corpus-hammer, refs/remotes/gh/wip-corpus-hammer) +Author: Sage Weil +Date: Tue Sep 1 17:44:06 2015 -0400 + + ceph-object-corpus: add 0.94.2-207-g88e7ee7 hammer objects + + Signed-off-by: Sage Weil + +commit b80859e2b2efc2402dc62aa319e40319863586f7 (refs/remotes/gh/wip-11455-hammer) +Author: Yehuda Sadeh +Date: Wed Aug 26 14:34:30 2015 -0700 + + rgw: init some manifest fields when handling explicit objs + + Fixes: #11455 + When dealing with old manifest that has explicit objs, we also + need to set the head size and head object correctly so that + code that relies on this info doesn't break. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d7bf8cb594e5276d1c80544f5ec954d52b159750) + +commit f47ba4b1a1029a55f8bc4ab393a7fa3712cd4e00 +Author: Loic Dachary +Date: Thu Jul 16 18:02:02 2015 +0200 + + mon: test the crush ruleset when creating a pool + + We want to fix the following scenario: + + * an erasure code plugin (or another part of the code) creates a + ruleset + * the ruleset crashes during mapping (for whatever reason) + * ceph osd pool create uses the bugous ruleset + * the monitors try to do mapping a crash + + Having a bugous ruleset in the crush map is very difficult prevent. The + catastrophic event of using it with a newly created pool can however be + prevented by calling the CrushTester just before creating the pool and + after all implicit or explicit crush ruleset creation happened. + + http://tracker.ceph.com/issues/11814 Fixes: #11814 + + Signed-off-by: Loic Dachary + (cherry picked from commit f1e86be589803596e86acc964ac5c5c03b4038d8) + + Conflicts: + src/test/mon/osd-crush.sh + removed the run_mon because in hammer it is shared + between all tests + src/mon/OSDMonitor.cc + prepare_new_pool changed stringstream to *ostream + +commit b58cbbab4f74e352c3d4a61190cea2731057b3c9 +Author: Loic Dachary +Date: Sat May 30 12:40:26 2015 +0200 + + erasure-code: set max_size to chunk_count() instead of 20 for shec + + See 8b64fe93b088a3a33d357869c47e6bf928c3f0e4 for a detailed explanation. + + Signed-off-by: Loic Dachary + (cherry picked from commit a44499f7e6609d9a32254dc6f4303122de74db31) + +commit 6f0af185ad7cf9640557efb7f61a7ea521871b5b +Author: Mykola Golub +Date: Thu Feb 26 21:22:31 2015 +0200 + + vstart.sh: set PATH to include pwd + + ceph-mon needs crushtool to be in PATH. Don't set if it is run + from ceph_vstart_wrapper, which already sets it as it needs. + + Signed-off-by: Mykola Golub + (cherry picked from commit e08bccf377292d72463796ae1dff5d8be40d88e9) + +commit a89c1731e0e327acdb876d39df574e27379aaa1e +Merge: c3a2bf3 0fde3a2 +Author: Gregory Farnum +Date: Mon Aug 31 09:41:33 2015 +0100 + + Merge pull request #5365 from dachary/wip-12491-hammer + + buffer: critical bufferlist::zero bug + + Reviewed-by: Greg Farnum + +commit c3a2bf3f6b1d1bf416fa04df1629630abe2fe563 +Merge: 0a44eb1 4457d3e +Author: Loic Dachary +Date: Sun Aug 30 19:58:25 2015 +0200 + + Merge pull request #5369 from dachary/wip-12498-hammer + + get pools health'info have error + + Reviewed-by: Kefu Chai + +commit 0a44eb12fc7d2ef902f1999e37abae0f11511d66 +Merge: dfcdba7 9916d37 +Author: Loic Dachary +Date: Sun Aug 30 19:52:52 2015 +0200 + + Merge pull request #5370 from dachary/wip-12496-hammer + + pgmonitor: wrong at/near target max“ reporting + + Reviewed-by: Kefu Chai + +commit dfcdba75f310eaa2cfc5ae97ba3093afe1198737 +Merge: 69a9a4c b8176d0 +Author: Loic Dachary +Date: Sun Aug 30 19:44:56 2015 +0200 + + Merge pull request #5378 from dachary/wip-12394-hammer + + Memory leak in Mutex.cc, pthread_mutexattr_init without pthread_mutexattr_destroy + + Reviewed-by: Kefu Chai + +commit 69a9a4cbf28c87fcd68f6c6c0c09f7a6d95ab003 +Merge: d3b160e 42bff0b +Author: Loic Dachary +Date: Sun Aug 30 19:44:26 2015 +0200 + + Merge pull request #5372 from dachary/wip-12493-hammer + + the output is wrong when runing ceph osd reweight + + Reviewed-by: Kefu Chai + +commit da00bedbc2f5d2facb9472078fd6cdd7260492ac +Author: Radoslaw Zarzynski +Date: Thu Aug 6 15:52:58 2015 +0200 + + rgw: rework X-Trans-Id header to be conform with Swift API. + + Fixes: #12108 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit d1735a4e8ea2056d333a5001a7a410fc03fe1b9e) + +commit 9937c818f1073bceffcf5811c7cc543b9043e646 +Author: Abhishek Dixit +Date: Mon Jun 8 22:59:54 2015 +0530 + + Transaction Id added in response + + Signed-off-by: Abhishek Dixit dixitabhi@gmail.com + + (cherry picked from commit b711e3124f8f73c17ebd19b38807a1b77f201e44) + + Conflicts: + src/rgw/rgw_rest.cc + the prototype of the end_header( function + in the context of the diff changed + +commit f1c7c629f2a7baf87a3d25d68b7a40fb3b2f6c49 +Author: Yehuda Sadeh +Date: Mon Jun 29 15:35:04 2015 -0700 + + rgw: api adjustment following a rebase + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7cf1f376e7dbc98a44f4a8e78bfa11f84291a941) + +commit 85911df5226dccfd2f1806a204a23eae3966eee7 +Author: Yehuda Sadeh +Date: Mon Jun 29 15:34:44 2015 -0700 + + rgw: orphans, fix check on number of shards + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 47edec359be2a4d230a4a54c0c670d0aa711fa1e) + +commit c1cf7dfb672032012889840fb4462b1a076f34c0 +Author: Yehuda Sadeh +Date: Mon Jun 29 15:34:11 2015 -0700 + + rgw: orphans, change default number of shards + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5528f21d0861d42378a8eb10759a1e55ddd66c09) + +commit bb1d4cc3a3e9af3bf8cd8fd80085fbbbaeb8b89f +Author: Yehuda Sadeh +Date: Tue May 5 14:43:05 2015 -0700 + + rgw: change error output related to orphans + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit cac57caf639236adc9a641a85352eb729b58725a) + +commit 2e0f6fe98787e1f3ea7d107a814caadce7ee5f23 +Author: Yehuda Sadeh +Date: Mon May 4 17:02:29 2015 -0700 + + rgw: orphan, fix truncated detection + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d8ce04db8542dae0027423f3c50355e5de74dc9a) + +commit 1bfebefba2e09448d28853b34415d3f65e323c76 +Author: Yehuda Sadeh +Date: Mon May 4 16:32:57 2015 -0700 + + radosgw-admin: simplify orphan command + + No need for --init-search + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4980cbd04ff650d79a033bc5298e6c1abe985133) + +commit f244b159ac8793c11a5707ea0b104b3180efb58f +Author: Yehuda Sadeh +Date: Mon May 4 15:24:00 2015 -0700 + + radosgw-admin: stat orphan objects before reporting leakage + + We don't want to report new objects as leaked, because they might just + be written, and waiting to be linked to a new object. The number of + seconds prior to the job initialization can be cofigured through + --orphan-stale-secs (by default it's 24h). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 66b0090023859d97da2bbaca698b6a50c225abd0) + +commit f80e2b2bc8879d1cc40338816196f51378aaa785 +Author: Yehuda Sadeh +Date: Mon May 4 14:39:20 2015 -0700 + + radosgw-admin: orphans finish command + + A command to remove orphans data + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 55d6f5ecf18f532c7f056f8b60c101843594b00c) + +commit 88d32c641a06823df93f0e3fae640a880778e1e4 +Author: Yehuda Sadeh +Date: Sat May 2 17:28:30 2015 -0700 + + rgw: cannot re-init an orphan scan job + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f8993102731518153bb18eb74c3e6e4943a5dbac) + +commit 80a40342b6a0d9e7a47ca4b672901315246385df +Author: Yehuda Sadeh +Date: Sat May 2 16:38:08 2015 -0700 + + rgw: stat_async() sets the object locator appropriately + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d7d117121858155acc8548908e9459a48c676dd1) + +commit 0082036348e0463e42520504466961eb2bd77602 +Author: Yehuda Sadeh +Date: Sat May 2 16:34:09 2015 -0700 + + rgw: list_objects() sets namespace appropriately + + list_objects() now uses parse_raw_oid(), so that it can set the correct + namespace. It only affects users of the function that want to get all + objects in bucket, regardless to the namespace associated with it. This + makes it so that the orphan code actually works now with namespaced + objects, and with special named objects (namely, start with underscore). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 20bd490bebf9be3553d4e25322c9544b0b090086) + +commit 1c3707291e83771ca1d5cd24ce445f723006b744 +Author: Yehuda Sadeh +Date: Fri May 1 17:23:44 2015 -0700 + + rgw: modify orphan search fingerprints + + Now works with multipart uploads. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit fa61ea2ccc94f04afb39868ac34abc264806d8d4) + +commit ef81367a1eaeb7778dc60a668b9fe2f6a77e06ff +Author: Yehuda Sadeh +Date: Fri May 1 15:17:10 2015 -0700 + + rgw: compare oids and dump leaked objects + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 1bc63d98ff8a3aa180065153690b4f8a73658b79) + +commit f4d0544e63f68fa94b21fda71c0b78edd05038a1 +Author: Yehuda Sadeh +Date: Thu Apr 30 16:17:54 2015 -0700 + + rgw: keep accurate state for linked objects orphan scan + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f19b2f087cfb5a89edf3b19487c0df3a214e350f) + +commit 748ea57cfeca7b295afca5b8126d454eb85550c7 +Author: Yehuda Sadeh +Date: Wed Apr 29 17:12:34 2015 -0700 + + rgw: iterate over linked objects, store them + + only keep part of the oid name if it is in a namespace. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 75902fdb12ce0413d3beb455df47134f3d7386e7) + +commit 6c6aa5ddf38102012e61f79f5234b9647d42b461 +Author: Yehuda Sadeh +Date: Wed Apr 29 17:12:00 2015 -0700 + + rgw: add rgw_obj::parse_raw_oid() + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7c1aa8373a090d5c1b2aa121582547723120a079) + +commit 62d562d76e0456cc3c735c6708531c7deb2874da +Author: Yehuda Sadeh +Date: Wed Apr 29 14:50:15 2015 -0700 + + rgw: iterate asynchronously over linked objects + + Read objects manifest. So that we could keep the relevant info later. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 05a953d965a0a6a0e9feddaa62f7429e154e828e) + +commit 00ecf2d0a895407bc8ec0e55e1b1b0f47a1aa96f +Author: Yehuda Sadeh +Date: Wed Apr 29 14:15:33 2015 -0700 + + rgw: async object stat functionality + + An async functionality that stats object. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 13adf3cf4f5fd8a0feb7cc1d7a4ee4ded9f573db) + +commit 7d1cc48ba32e8bc732c43ecb539312c6bfcc0f80 +Author: Yehuda Sadeh +Date: Tue Apr 28 16:45:49 2015 -0700 + + rgw-admin: build index of bucket indexes + + for the orphan search tool + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 16a2dbd838b69fb445c06122a68fc65ec3a7b3de) + +commit c1b0e7a985cc9e742dcef4c8c427c57a2f58fa43 +Author: Yehuda Sadeh +Date: Sat Apr 25 09:37:53 2015 -0700 + + rgw: initial work of orphan detection tool implementation + + So far doesn't do much, iterate through all objects in a specific pool + data, store it in a sharded index. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 767fc29aa62a0a4e4dd8a78785576e8f1b44ee5b) + +commit b16129c3393d6e301b4af5203ffa1c6d8dfdda38 +Author: Pavan Rallabhandi +Date: Wed Apr 29 13:35:29 2015 +0530 + + Avoid an extra read on the atomic variable + + Signed-off-by: Pavan Rallabhandi + (cherry picked from commit 7476e944af049aefdb8871cce62883b86f6b6f8d) + +commit 1f6916d5a9b0ebe5181b801c4c381a699883bb09 +Author: Pavan Rallabhandi +Date: Wed Apr 8 18:53:14 2015 +0530 + + RGW: Make RADOS handles in RGW to be a configurable option + + Having a configurable number of RADOS handles is resulting + in significant performance boost for all types of workloads. + Each RGW worker thread would now get to pick a RADOS handle + for its lifetime, from the available bunch. + + Signed-off-by: Pavan Rallabhandi + (cherry picked from commit b3c3a24fe9c0fbb2bdbbccb08b40efc1dca207cc) + +commit d3b160ecbe181c2b969a14825cf314a056630188 +Merge: 7357659 695f782 +Author: Loic Dachary +Date: Sun Aug 30 15:50:03 2015 +0200 + + Merge pull request #5374 from dachary/wip-12487-hammer + + ceph osd crush reweight-subtree does not reweight parent node + + Reviewed-by: Sage Weil + +commit 7357659b59d9bf3522bf664f1a3da7475a7c8a49 +Merge: 8f559d5 8a2ad05 +Author: Loic Dachary +Date: Sun Aug 30 15:49:41 2015 +0200 + + Merge pull request #5380 from dachary/wip-12390-hammer + + PGLog::proc_replica_log: correctly handle case where entries between olog.head and log.tail were split out + + Reviewed-by: Sage Weil + +commit a13c7fd7c39e83072f2975477e1cdcfe079fb041 +Author: Ruifeng Yang <149233652@qq.com> +Date: Sat Aug 1 17:39:17 2015 +0800 + + rgw:the arguments 'domain' should not be assigned when return false + + Hostnames: [B.A] + Inputs: [X.BB.A] + Return: [false] + Output: [B.A] it is wrong. + + Fixes: #12629 + Signed-off-by: Ruifeng Yang <149233652@qq.com> + (cherry picked from commit 9420d24c21b4e06d62f356637599c6ec8e7e3e4d) + +commit 6acf36f8851b8a369949f0fad9d0156af7dde20f +Author: Ruifeng Yang <149233652@qq.com> +Date: Sun Aug 2 16:16:05 2015 +0800 + + rgw:segmentation fault when rgw_gc_max_objs > HASH_PRIME + + obj_names[] is index out of bounds when rgw_gc_max_objs > HASH_PRIME + + Fixes: #12630 + Signed-off-by: Ruifeng Yang <149233652@qq.com> + (cherry picked from commit e3147b8ddcaafafde9ce2029f7af5062e22076d3) + +commit 6b365144862cbd387d8b931939a3dc2cfe17bbbd +Author: Yehuda Sadeh +Date: Mon Jul 20 20:27:33 2015 -0700 + + rgw: avoid using slashes for generated secret keys + + Just use plain alphanumeric characterset. + + Fixes: #7647 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 3f04a6126fdbfb93304f798da3775c0eec9b7d44) + +commit 8f559d58b42b91f070bfa590d9c33e9a156e0066 +Merge: d94e764 931ffe3 +Author: Sage Weil +Date: Sun Aug 30 08:36:37 2015 -0400 + + Merge pull request #5366 from dachary/wip-12303-hammer + + arm: all programs that link to librados2 hang forever on startup + +commit 8ba6b2f628a0f80964afbf4a83b61c4eee9c78ce +Author: Yehuda Sadeh +Date: Thu Jul 30 14:47:15 2015 -0700 + + rgw: url encode exposed bucket + + Fixes: #12537 + Don't send the bucket name back without url encoding it. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ad5507fe0bf72ed5bdf8353e315cc9092c740144) + +commit d94e7642d0b0213a4b650a5acffa050d042087eb +Merge: 11a80d8 6417e8e +Author: Loic Dachary +Date: Sun Aug 30 13:41:01 2015 +0200 + + Merge pull request #5202 from SUSE/wip-12293-hammer + + ceph.spec.in: rpm: cephfs_java not fully conditionalized + + Reviewed-by: Loic Dachary + +commit 11a80d8bec6ff704e794a2995d653cd5d5c1c979 +Merge: a792ae6 3728477 +Author: Loic Dachary +Date: Sun Aug 30 13:40:48 2015 +0200 + + Merge pull request #5203 from SUSE/wip-11997-hammer + + ceph.spec.in: rpm: not possible to turn off Java + + Reviewed-by: Loic Dachary + +commit a792ae65e2e03e1ca8804380cdbbfa1aec7a2123 +Merge: f7e76d2 8f78001 +Author: Loic Dachary +Date: Sun Aug 30 13:40:30 2015 +0200 + + Merge pull request #5204 from SUSE/wip-11629-hammer + + ceph.spec.in: SUSE/openSUSE builds need libbz2-devel + + Reviewed-by: Loic Dachary + +commit f7e76d2c9e681b3c5775f74c582830f546359703 +Merge: d1feb04 4eb58ad +Author: Loic Dachary +Date: Sun Aug 30 13:40:09 2015 +0200 + + Merge pull request #5207 from SUSE/wip-12267-hammer + + ceph.spec.in: 50-rbd.rules conditional is wrong + + Reviewed-by: Loic Dachary + +commit d1feb0415b3b3dc9c5b003d8528079ccccd0729f +Merge: 2dca2ec 8b576bd +Author: Loic Dachary +Date: Sun Aug 30 13:39:57 2015 +0200 + + Merge pull request #5216 from SUSE/wip-12269-hammer + + ceph.spec.in: ceph-common needs python-argparse on older distros, but doesn't require it + + Reviewed-by: Loic Dachary + +commit 2dca2ece0478972e89ed6611a15892ad9e449cc8 +Merge: 64fafc9 0818e9f +Author: Loic Dachary +Date: Sun Aug 30 13:39:31 2015 +0200 + + Merge pull request #5264 from SUSE/wip-12361-hammer + + ceph.spec.in: snappy-devel for all supported distros + + Reviewed-by: Loic Dachary + +commit 64fafc95785024421cbb7ccae41ed4276eeb8fe9 +Merge: 4675971 add0f1e +Author: Loic Dachary +Date: Sun Aug 30 13:39:14 2015 +0200 + + Merge pull request #5368 from dachary/wip-12331-hammer + + ceph: cli throws exception on unrecognized errno + + Reviewed-by: Loic Dachary + +commit 4675971ce3331f1285398d1556a594f671e489c0 +Merge: 53cdcf2 e004941 +Author: Loic Dachary +Date: Sun Aug 30 13:39:00 2015 +0200 + + Merge pull request #5371 from dachary/wip-12494-hammer + + ceph tell: broken error message / misleading hinting + + Reviewed-by: Loic Dachary + +commit 53cdcf20482823cdb8682dde89706d6f21d8d0d2 +Merge: 362874c eccf369 +Author: Loic Dachary +Date: Sun Aug 30 13:38:43 2015 +0200 + + Merge pull request #5385 from dachary/wip-12501-hammer + + error in ext_mime_map_init() when /etc/mime.types is missing + + Reviewed-by: Loic Dachary + +commit 362874ca39e32c3bc5ee13b13f905fd7693d9449 +Merge: 2044f3c 8804b3f +Author: Loic Dachary +Date: Sun Aug 30 13:38:29 2015 +0200 + + Merge pull request #5411 from SUSE/wip-12446-hammer + + ceph.spec.in: radosgw requires apache for SUSE only -- makes no sense + + Reviewed-by: Loic Dachary + +commit 2044f3cd7b220cc642245e7ca93c21a17cc8c536 +Merge: 260e24b a785193 +Author: Loic Dachary +Date: Sun Aug 30 13:38:13 2015 +0200 + + Merge pull request #5412 from SUSE/wip-12448-hammer + + ceph.spec.in: useless %py_requires breaks SLE11-SP3 build + + Reviewed-by: Loic Dachary + +commit 260e24bba0e83dfa61d25ac0489f656244211db4 +Merge: dc944fb b575ecc +Author: Loic Dachary +Date: Sun Aug 30 13:30:18 2015 +0200 + + Merge pull request #5318 from ceph/wip-12236-hammer + + Possible crash while concurrently writing and shrinking an image + + Reviewed-by: Loic Dachary + +commit dc944fbbedcee56dfbd9d4f5ac3c38d15a6621ea +Merge: a8c1b4e 92272dd +Author: Loic Dachary +Date: Sun Aug 30 13:30:01 2015 +0200 + + Merge pull request #5319 from ceph/wip-12235-hammer + + librbd: deadlock during cooperative exclusive lock transition + + Reviewed-by: Loic Dachary + +commit a8c1b4e7436832ed3040d5a90df713ef6029cb69 +Merge: a39aeee e971820 +Author: Loic Dachary +Date: Sun Aug 30 13:29:26 2015 +0200 + + Merge pull request #5296 from ceph/wip-12345-hammer + + librbd: correct issues discovered via lockdep / helgrind + + Reviewed-by: Loic Dachary + +commit a39aeeedf07518d65c9944476b98a0788585f5c1 +Merge: 6a949e1 153744d +Author: Loic Dachary +Date: Sun Aug 30 12:14:22 2015 +0200 + + Merge pull request #5559 from ceph/wip-12682-hammer + + object_map_update fails with -EINVAL return code + + Reviewed-by: Loic Dachary + +commit 6a949e10198a1787f2008b6c537b7060d191d236 +Merge: 1e423af 4faa8e0 +Author: Loic Dachary +Date: Sun Aug 30 12:11:10 2015 +0200 + + Merge pull request #5468 from ceph/wip-12577-hammer + + osd: fix repair when recorded digest is wrong + + Reviewed-by: Loic Dachary + +commit 1e423afd3c7e534e302dbea0798a47f82acec141 +Merge: 574932b 0ca93db +Author: Loic Dachary +Date: Sun Aug 30 12:06:59 2015 +0200 + + Merge pull request #5376 from dachary/wip-12433-hammer + + Show osd as NONE in ceph osd map output + + Reviewed-by: Loic Dachary + +commit 574932b2f438787f1a330a271644d9787eecbb63 +Merge: ed162d4 d08db7a +Author: Loic Dachary +Date: Sun Aug 30 11:54:55 2015 +0200 + + Merge pull request #5359 from ceph/wip-11470.hammer + + mon: PaxosService: call post_refresh() instead of post_paxos_update() + + Reviewed-by: Loic Dachary + +commit ed162d498051ac237be33ac6a6764ae0c61d57a6 +Merge: 41a245a bee8666 +Author: Josh Durgin +Date: Fri Aug 28 14:43:31 2015 -0400 + + Merge pull request #5691 from jdurgin/wip-10399-hammer + + is_new_interval() fixes + + Reviewed-by: Samuel Just + +commit 0bc909e54b0edd8a32a3e7db16877f1d875c3186 +Author: Kefu Chai +Date: Mon Aug 10 04:25:03 2015 -0700 + + mon: add a cache layer over MonitorDBStore + + the cache of of leveldb does not perform well under some condition, + so we need a cache in our own stack. + + * add an option "mon_osd_cache_size" to control the size of cache size + of MonitorDBStore. + + Fixes: #12638 + Signed-off-by: Kefu Chai + (cherry picked from commit 5e99a578050976ca22b549812ac80d494fe7041d) + + Conflicts: + src/mon/OSDMonitor.h + minor differences in OSDMonitor ctor + +commit bee86660377cfaa74f7ed668dd02492f25553ff9 +Author: Jason Dillaman +Date: Fri Aug 21 11:32:39 2015 -0400 + + Objecter: pg_interval_t::is_new_interval needs pgid from previous pool + + When increasing the pg_num of a pool, an assert would fail since the + calculated pgid seed would be for the pool's new pg_num value instead + of the previous pg_num value. + + Fixes: #10399 + Backport: infernalis, hammer, firefly + Signed-off-by: Jason Dillaman + (cherry picked from commit f20f7a23e913d09cc7fc22fb3df07f9938ddc144) + + Conflicts: (hobject_t sort order not backported, trivial resolution) + src/osdc/Objecter.cc + src/osdc/Objecter.h + +commit b5418b9a7138b45b5fe4f24cfb679c2abb30ab71 +Author: Samuel Just +Date: Tue May 26 12:35:11 2015 -0700 + + osd_types::is_new_interval: size change triggers new interval + + Fixes: 11771 + Signed-off-by: Samuel Just + (cherry picked from commit ff79959c037a7145f7104b06d9e6a64492fdb95f) + +commit f0283890d22e8d5c2210d565077ad3af1921f098 (refs/remotes/gh/liewegas-wip-hammer-feature-hammer) +Author: Sage Weil +Date: Thu Aug 27 14:09:50 2015 -0400 + + include/ceph_features: define HAMMER_0_94_4 feature + + This is to constrain upgrades past hammer to version that include + the appropriate compatibility fixes (e.g., hobject_t encoding). + + Signed-off-by: Sage Weil + (cherry picked from commit 2868b49c0e39fdc7ae72af81962370c4f95a859e) + + # Conflicts: + # src/include/ceph_features.h + +commit 41a245aff77dde8a2ab212f9c91a73a23a77c40d +Merge: 95cefea 65b380f +Author: Sage Weil +Date: Thu Aug 27 13:07:29 2015 -0400 + + Merge remote-tracking branch 'gh/wip-12536-hammer' into hammer + + This includes wip-osd-compat-hammer. + +commit 65b380f7f28a36bb51a6771a2fd9b657ea2848ba (refs/remotes/gh/wip-12536-hammer) +Merge: 00d802d 9b91adc +Author: Sage Weil +Date: Wed Aug 19 09:52:02 2015 -0400 + + Merge remote-tracking branch 'gh/wip-osd-compat-hammer' into wip-12536-hammer + +commit 153744d7c596705c4f92bee5e827846b46c80141 +Author: Jason Dillaman +Date: Mon Aug 10 09:39:50 2015 -0400 + + tests: increase test coverage for partial encodes/decodes + + Multiple combinations of offsets/lengths are now tested when + performing partial encodes/decodes of the bit vector. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3e145f714ac9b2d599b45a058c6b93595e38f424) + +commit fca78765366f3ac365cfa98224aca5fb79b2a7fe +Author: Jason Dillaman +Date: Mon Aug 10 09:34:42 2015 -0400 + + common: bit_vector extent calculation incorrect for last page + + It's highly probable that the last page in the bit vector will not + be a full page size. As a result, the computed extents will extend + beyond the data portion of the bit vector, resulting in a end_of_buffer + exception. + + Fixes: #12611 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit c6d98992691683524d3d96def83a90a6f5fe7f93) + +commit 3396a969741f74e5b1f55d8d7af258493ca26478 +Author: John Spray +Date: Thu Jul 30 14:20:56 2015 +0100 + + osd/OSDMap: handle incrementals that modify+del pool + + Because new_pools was processed after old_pools, if something + was modified and then deleted in the same incremental + map, then the resulting state would be a pool in the map + that had no entry in pool_name. + + Fixes: #12429 + Signed-off-by: John Spray + (cherry picked from commit 8d4932e721e32a33c1bada54e11d4ecccd868618) + +commit 3ab5d82a1c09142267c27156b69a3117d30c5b7d (refs/remotes/gh/wip-12432-hammer) +Author: Yehuda Sadeh +Date: Wed Jul 22 10:01:00 2015 -0700 + + rgw: set http status in civetweb + + Need to set the http status in civetweb so that we report it correctly. + Fixes: #12432 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b8e28ab9f914bf48c9ba4f0def9a0deb9dbb93bc) + +commit 10a03839853246c535e639b6dc6cea45b8673642 +Author: Yehuda Sadeh +Date: Fri Jul 31 11:03:29 2015 -0700 + + civetweb: update submodule to support setting of http status + + Signed-off-by: Yehuda Sadeh + +commit 00d802d97ba5e1a8bde2414f8710494f15807fcd +Author: Sage Weil +Date: Tue Dec 23 11:03:17 2014 -0800 + + hobject_t: fix get_boundary to work with new sorting regime + + The hash is no longer the most significant field; set everything that is + more significant, too. + + Signed-off-by: Sage Weil + (cherry picked from commit 45281efad1ae6b2b5ddd5549c56dbdd46671e5c5) + +commit 9b91adc560c8dffc1f5f7470d28c25f448b2b619 (refs/remotes/gh/wip-osd-compat-hammer) +Author: Sage Weil +Date: Tue Aug 4 13:21:50 2015 -0400 + + mon: disallow post-hammer OSDs if there are up pre-hammer OSDs + + Force *all* OSDs to upgrade to hammer before allowing post-hammer + OSDs to join. This prevents any pre-hammer OSDs from running at + the same time as a post-hammer OSD. + + This commit, as well as the definition of the sentinal post-hammer + feature, should get backported to hammer stable series. + + Backport: hammer + Signed-off-by: Sage Weil + (cherry picked from commit e38d60e94503c7e8511a60a8dceceb3cd39c2bd8) + + # Conflicts: + # src/mon/OSDMonitor.cc + +commit 8a559c1e80bb7c70e13c46f1900896c9b8fcd9a9 +Author: Sage Weil +Date: Tue Aug 4 13:16:11 2015 -0400 + + include/ceph_features: define MON_METADATA feature + + This was added in master in 40307748b9b8f84c98354a7141da645a3c556ba9. We + define it but notably do not support it! + + Signed-off-by: Sage Weil + +commit 4faa8e04069417a6e2a6c4ea5c10b54d76aa00c4 (refs/remotes/gh/wip-12577-hammer) +Author: Sage Weil +Date: Fri Mar 27 10:17:12 2015 -0700 + + osd: include newlines in scrub errors + + We may log more than one of these in a scrubmap; make sure they are + not concatenated. + + Signed-off-by: Sage Weil + (cherry picked from commit 2b3dd1bb7ab360e8f467a47b7ce3a0e4d3a979b2) + +commit 455eb2a89197e9609c5bb510112d661d388b4c85 +Author: Sage Weil +Date: Fri Mar 27 10:04:00 2015 -0700 + + osd: fix condition for loggin scrub errors + + We may have an error to log even though the authoritative map is empty: + when we have a digest that doesn't match all replicas. + + Signed-off-by: Sage Weil + (cherry picked from commit d23766be902080ffb29528acb5a00d70beb97a9f) + +commit 67e7946ce8e28f00db9588bed670ef5141268f41 +Author: Sage Weil +Date: Fri Mar 27 10:03:22 2015 -0700 + + osd: fix fallback logic; move into be_select_auth_object + + The fallback behavior was printing a promising message but then doing + a 'continue' and not actually scrubbing the object. Instead, fall back to + a less-bad auth inside be_select_auth_object. + + Signed-off-by: Sage Weil + (cherry picked from commit b597db59fedc9a96dbe4b37f03b819dcf8fdb1bb) + +commit 0f57c7017a98f7e416a160375b8b80355b8e0fc3 +Author: Sage Weil +Date: Fri Mar 27 09:34:44 2015 -0700 + + osd: log a scrub error when we can't pick an auth object + + If we really can't find a suitable auth, log an error. + + Signed-off-by: Sage Weil + (cherry picked from commit a476d8f3903ca78b5cf36d63059f13cb5268efe5) + +commit d4f4c5c4334add6acfc66407c2383d01094d384d +Author: Sage Weil +Date: Fri Mar 27 10:20:23 2015 -0700 + + osd: repair record digest if all replicas match but do not match + + If the recorded digest does not match the replicas, and all replicas + match, then (on repair) fix the recorded digest. + + Signed-off-by: Sage Weil + (cherry picked from commit f581fecd8a16b9250fa96beec5aa26074f401028) + +commit acfed6b5eae764d381c88ed7d3f4942c61191127 +Author: Sage Weil +Date: Thu Mar 26 13:52:20 2015 -0700 + + osd: move recorded vs on disk digest warning into be_compare_scrubmaps + + This is a better place for it. While we are here, change the wording to + clearly call out the 'recorded' digest (from object_info_t) vs the 'on + disk' digest (what we observed during scrub). + + Signed-off-by: Sage Weil + (cherry picked from commit cf349ff35e9111ca52db1b0aad3753d0680b486d) + +commit 674029bc6c519e82011d1429ab5eddff9720c2dc +Author: Sage Weil +Date: Thu Mar 26 13:46:22 2015 -0700 + + osd: be slightly paranoid about value of okseed + + The scrubber.seed value is set based on the peer feature; check for that + too explicitly, and assert the scrubber.seed value matches. + + No change in behavior here. + + Signed-off-by: Sage Weil + (cherry picked from commit e34d31b7a9a71132a17b95cf5ad60255ece60243) + +commit f2002b7fa2af2db52037da4c1cf66d405a4941e7 +Author: Sage Weil +Date: Thu Mar 26 13:44:25 2015 -0700 + + osd: be precise about "known" vs "best guess" + + We cannot assume that the auth info has the "known" digest; all replicas + may have a matching digest that does not match the oi, or we may choose + a different auth info for some other reason. Verify that the digest + matches the oi before calling it "known". + + Signed-off-by: Sage Weil + (cherry picked from commit 546d1c7b8224d96d0cc93dc3c96f52787cd69413) + +commit 4e5d146ad36ef0380eb72e45dca651494658aeeb +Author: Sage Weil +Date: Thu Mar 26 13:24:11 2015 -0700 + + osd: record digest if object is clean (vs entire scrub chunk) + + If an individual object is clean, record it in the missing_digest map. + If not, leave it out. This lets us drop the old condition that only + recorded any digests if the entire scrub chunk was clean. + + Signed-off-by: Sage Weil + (cherry picked from commit c39e0e5f126028f552d410ab6924cac6e1f714fb) + +commit 1357ed1bd0e250b942bcba0346c97c24bb79a5d1 +Author: Sage Weil +Date: Mon Aug 3 13:05:45 2015 -0400 + + hobject_t: decode future hobject_t::get_min() properly + + The post-hammer wip-temp branch changed hobject_t::get_min() so that pool + is INT64_MIN instead of -1 and neglected to deal with the encoding compat + with older versions. Compensate on hammer by mapping INT64_MIN to -1 + locally. See commit ff99af38df830e215359bfb8837bf310a2023a4d. + + Note that this means upgrades from hammer to post-hammer *must* include + this fix prior to the upgrade. This will need to be well-documented in the + release notes. + + Master gets a similar fix so that they map our min value to the new + INT64_MIN one on decode. + + Fixes: #12536 (for hammer) + Signed-off-by: Sage Weil + +commit 6d01d6b700300841f49f288a89d514f26a4f94b1 +Author: Samuel Just +Date: Wed Jul 29 11:49:57 2015 -0700 + + OSDMonitor::preprocess_get_osdmap: send the last map as well + + Fixes: #12410 + Backport: hammer + Signed-off-by: Samuel Just + (cherry picked from commit 1320e29dfaee9995409a6d99b9ccaa748dc67b90) + +commit a7851933033473d11e69fa1f237c0ad8bbbd4a13 +Author: Nathan Cutler +Date: Thu Jul 9 11:51:13 2015 +0200 + + ceph.spec.in: drop SUSE-specific %py_requires macro + + %py_requires expands to + + BuildRequires: /usr/bin/python + PreReq: python = 2.7 + + The BuildRequires: is already provided, and the PreReq is wrong because + e.g. SLE11-SP3 (a platform we are trying to support) has Python 2.6. + + http://tracker.ceph.com/issues/12351 Fixes: #12351 + + Signed-off-by: Nathan Cutler + (cherry picked from commit cbf6c7b46b42e163950bf7956e5b7565fca961c9) + +commit 8804b3f1ab5180c8a85b25b9b46b986fe7022868 +Author: Nathan Cutler +Date: Thu Jul 16 15:16:22 2015 +0200 + + ceph.spec.in: remove SUSE-specific apache2-mod_fcgid dependency + + This package is no longer required for RGW to work in SUSE. + + http://tracker.ceph.com/issues/12358 Fixes: #12358 + + Signed-off-by: Nathan Cutler + (cherry picked from commit f3f8d3660d0ece3139e5f3dc7881ccceadcf648d) + + Conflicts: + ceph.spec.in + In master, the "%if %else %endif" has been changed + into two "%if %endif"s + +commit b575ecca9743ab08439bfe0b5283e483e2a799ce +Author: Jason Dillaman +Date: Tue Jun 23 14:20:16 2015 -0400 + + tests: verify that image shrink properly handles flush op + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8dfcc72071d63c7867a5a59abe871cf5db673a0a) + +commit d4eb7bd63a5e46b790bad7001d2873c5c238cc90 +Author: Jason Dillaman +Date: Tue Jun 23 14:18:20 2015 -0400 + + librbd: invalidate cache outside cache callback context + + When shrinking an image, it's possible that the op flush callback + will be from within the cache callback context. This would result + in a deadlock when attempting to re-lock the cache lock in order to + invalidate the cache. + + Fixes: #11743 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 726d699b7790c7e371279281ab32cd3aeb8ece7b) + +commit 92272dd676ebb67a3095ce3933cac24809b054da +Author: Jason Dillaman +Date: Fri May 15 11:18:29 2015 -0400 + + librbd: don't cancel request lock early + + It's possible that a stale notice is received and will + be discarded after the request lock has been canceled. + This will stale the client. + + Signed-off-by: Jason Dillaman + (cherry picked from commit d9dd5c5890029107df40ed438f23fb9865d7de29) + +commit 58ae92f1a716e1ffac6408793e19d47f99d63520 +Author: Jason Dillaman +Date: Thu May 14 16:13:38 2015 -0400 + + tests: new test for transitioning exclusive lock + + Signed-off-by: Jason Dillaman + (cherry picked from commit f97ce46ea4c9c7cdc6e37e3759871d5b41b25769) + +commit 7b21ccba7c2885027b1d345baaad08a978fbc72f +Author: Jason Dillaman +Date: Thu May 7 13:31:50 2015 -0400 + + tests: verify that librbd will periodically resend lock request + + Signed-off-by: Jason Dillaman + (cherry picked from commit d2a1c226ab3f7e202f62896f0c80c4cf3607cdaf) + +commit c95b37f48c129ef6780f67b326e97957f3771472 +Author: Jason Dillaman +Date: Fri May 15 10:49:36 2015 -0400 + + common: Mutex shouldn't register w/ lockdep if disabled + + Signed-off-by: Jason Dillaman + (cherry picked from commit 879b8a73e2452332b26b8f3428ff5e3e0af8ddad) + +commit 117205af89398457e197793505381622705488b2 +Author: Jason Dillaman +Date: Fri May 15 10:47:04 2015 -0400 + + librbd: improve debugging output for ImageWatcher + + Include the instance pointer so that different images + can be differentiated in the logs. + + Signed-off-by: Jason Dillaman + (cherry picked from commit b951a7398e3e749cb64a3f6a604212a5627e82a0) + +commit 08ae01231754d3010c1ede762579cf75c1c7460d +Author: Jason Dillaman +Date: Fri May 15 10:45:04 2015 -0400 + + librados_test_stub: watcher id should be the instance id (gid) + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3e1e561cc29043eb64dff8afb3a2c1ed77788e93) + +commit 704c0e09479d435ecbb84693a786c60694732b19 +Author: Jason Dillaman +Date: Thu May 7 12:51:49 2015 -0400 + + librbd: retry lock requests periodically until acquired + + If the exclusive lock owner acks the lock release request but crashes + before it actually releases the lock, the requestor will wait forever. + Therefore, after a certain timeout, retry the request again until it + succeeds. + + Fixes: #11537 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 37c74e6e5274208d1b6efaf315afec03ea7eaa82) + +commit dbaaed9cf99121d0c97c22a695a7a6e872a11f48 +Author: Jason Dillaman +Date: Thu May 7 12:35:36 2015 -0400 + + librbd: don't hold owner_lock for write during flush + + The various IO callback codepaths will attempt to take + the lock, which will result in deadlock since the flush + cannot complete. + + Backport: hammer + Fixes: #11537 + Signed-off-by: Jason Dillaman + + (cherry picked from commit 2b6d0633d5c89de3a557cdd72621dfc19f0540de) + +commit e9718201c6ed785c61077797a74ffda7e0438fb9 +Author: Jason Dillaman +Date: Mon Jun 22 15:30:02 2015 -0400 + + lockdep: do not automatically collect all backtraces + + It is expensive to collect backtraces every time a lock is + checked in order to provide cycle backtraces. The backtraces + can be forced on for specific locks or globally via the new + config option "lockdep_force_backtrace". + + Signed-off-by: Jason Dillaman + (cherry picked from commit 7354d25f56c5e004f288febdee2b6961c069163b) + +commit 27f7042e923366c31748c4cc9992c1a8cb37b457 +Author: Jason Dillaman +Date: Tue Jun 9 13:20:54 2015 -0400 + + librbd: flush operations need to acquire owner lock + + Cache writeback operations will expect the owner lock to be held. + + Signed-off-by: Jason Dillaman + (cherry picked from commit adfa2e0070ccca7b6556d3bfc5fac7ce4d43a4d0) + +commit 5b39983025f510c3119ebb375870e7669be7ddd0 +Author: Jason Dillaman +Date: Thu May 21 00:13:31 2015 -0400 + + librbd: avoid infinite loop if copyup fails + + Signed-off-by: Jason Dillaman + (cherry picked from commit 43e0e3cd63f0067217ed0811d73f6c546f3027be) + +commit 88b583b249a74a71bc87409015f7a8d85200e1bf +Author: Jason Dillaman +Date: Tue May 12 10:19:48 2015 -0400 + + librbd: flush pending ops while not holding lock + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3d5cef38c37e5dda6b23751ad560851f1304d86d) + +commit a88b180571cb481a31cb94c249a3b486220232fa +Author: Jason Dillaman +Date: Tue May 12 10:07:21 2015 -0400 + + tests: fix possible deadlock in librbd ImageWatcher tests + + Signed-off-by: Jason Dillaman + (cherry picked from commit 742a85d667b26b3490d96270b5c500b08f2a5283) + +commit 321eb8d1c3f7d553addb780928e201acf5091132 +Author: Jason Dillaman +Date: Mon May 11 13:59:49 2015 -0400 + + tests: enable lockdep for librbd unit tests + + Signed-off-by: Jason Dillaman + (cherry picked from commit 45cb9cb5980e90235b8244d0d61ece40bde4784a) + +commit bfe5b90921a3faaad0533388cb150cea20f47ae9 +Author: Jason Dillaman +Date: Thu May 7 14:17:37 2015 -0400 + + librbd: owner_lock should be held during flush request + + Flush might result in the cache writing out dirty objects, which + would require that the owner_lock be held. + + Signed-off-by: Jason Dillaman + (cherry picked from commit c9142fe35372cf69b7a56f334622a775a6b7c43f) + +commit 1e84fb05f48c146cc9d2d090be8c2d355326938b +Author: Jason Dillaman +Date: Thu May 7 14:06:16 2015 -0400 + + osdc: ObjectCacher flusher might needs additional locks + + librbd requires the ObjectCacher flusher thread to acquire + an additional lock in order to maintain lock ordering + constraints. + + Signed-off-by: Jason Dillaman + (cherry picked from commit a38f9e5104a6e08e130dc4f15ad19a06d9e63719) + +commit 506a45a906024d4bb5d3d4d6cc6cbb9eec39c5f2 +Author: Jason Dillaman +Date: Thu Apr 30 16:11:03 2015 -0400 + + librbd: fix recursive locking issues + + Signed-off-by: Jason Dillaman + (cherry picked from commit 1b57cc1da7a51e6f8ffea689b94ef843732c20a4) + +commit acf5125fe27fb3b9de8b97c4e44fa1f5c61147fd +Author: Jason Dillaman +Date: Thu Apr 30 16:04:28 2015 -0400 + + librbd: simplify state machine handling of exclusive lock + + It is expected that all IO is flushed and all async ops are cancelled + prior to releasing the exclusive lock. Therefore, replace handling of + lost exclusive locks in state machines with an assertion. + + Signed-off-by: Jason Dillaman + (cherry picked from commit d6b733dbdd0aeb5d1e136dcbf30c58c80952651e) + +commit 9454f04e62ece39fdcdbb4eb5a83945f76bcc0a5 +Author: Jason Dillaman +Date: Thu Apr 30 15:32:38 2015 -0400 + + librbd: ObjectMap::aio_update can acquire snap_lock out-of-order + + Detected during an fsx run where a refresh and CoR were occurring + concurrently. The refresh held the snap_lock and was waiting on + the object_map_lock, while the CoR held object_map_lock and was + waiting for snap_lock. + + Fixes: #11577 + Signed-off-by: Jason Dillaman + (cherry picked from commit 8cbd92b1fe835b1eb3a898976f9507f51cc115b2) + +commit 3e0358e17e7ddb488109bce04bb08cd16fd5bb2f +Author: Jason Dillaman +Date: Thu Apr 16 14:15:10 2015 -0400 + + librbd: move copyup class method call to CopyupRequest + + Move AbstractWrite's invocation of copyup to the CopyupRequest + class. The AioRequest write path will now always create a + CopyupRequest, which will now append the actual write ops to the + copyup. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 7be3df67809925164237cc185f9f29e145f45768) + +commit 2ee64a80794297d4fc5aeafbb185818f7f6a77b8 +Author: Jason Dillaman +Date: Tue Mar 31 12:28:11 2015 -0400 + + librbd: simplify AioRequest constructor parameters + + Moved all parent overlap computation to within AioRequest so that + callers don't need to independently compute the overlap. Also + removed the need to pass the snap_id for write operations since + it can only be CEPH_NOSNAP. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 46515971edab8888284b1a8307ffca88a9c75f5c) + +commit 3e71a7554da05aee06d5a2227808c321a3e3f0f1 +Author: Danny Al-Gaaf +Date: Sat Mar 14 01:16:31 2015 +0100 + + librbd/AioRequest.h: fix UNINIT_CTOR + + Fix for: + + CID 1274319: Uninitialized scalar field (UNINIT_CTOR) + uninit_member: Non-static class member m_object_state is not + initialized in this constructor nor in any functions that it calls. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 48f18ea0e1c4c6de1921ea2359448deb761461e7) + +commit cb57fe581df7c14d174e6eaff382d6a28ab658d6 +Author: Jason Dillaman +Date: Fri Jul 17 15:04:10 2015 -0400 + + librbd: add object state accessor to ObjectMap + + Signed-off-by: Jason Dillaman + +commit 9249ab7dacd43e7a546656b99013a595381fd5fd +Author: Jason Dillaman +Date: Thu Apr 30 15:41:59 2015 -0400 + + librbd: AsyncObjectThrottle should always hold owner_lock + + Signed-off-by: Jason Dillaman + (cherry picked from commit c352bcdc0f63eea55677fe3c3b5f0c61347c0db3) + +commit 26902b94f97edb189ae620c86a8dda8166df471a +Author: Jason Dillaman +Date: Thu Apr 30 15:34:43 2015 -0400 + + librbd: execute flush completion outside of cache_lock + + Signed-off-by: Jason Dillaman + (cherry picked from commit 5f157f20980de7e9a05fb933fb57efdc759da78b) + +commit 571220d6f4642dd3cd78988882645fdf647c150e +Author: Jason Dillaman +Date: Thu Apr 30 15:17:54 2015 -0400 + + librbd: add AsyncRequest task enqueue helper method + + In order to support the invariant that all state machine + callbacks occur without holding locks, transitions that + don't always involve a librados call should queue their + callback. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 218bc2d0f8d90c9c64408cb22e26680e88138844) + +commit 8e280f4cfef0d2fdc706d43bbee0c377d288a457 +Author: Jason Dillaman +Date: Thu May 7 15:32:27 2015 -0400 + + librbd: disable lockdep on AioCompletion + + It is only used by clients and it causes a large slowdown + in performance due to the rate at which the lock is constructed/ + destructed for each IO request. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 66e74641baeed9aadb7e474d6e6b142b7725722d) + +commit b38da48059792e9182fe2877786d9159007683d3 +Author: Jason Dillaman +Date: Thu Apr 30 13:42:19 2015 -0400 + + librbd: AioCompletion shouldn't hold its lock during callback + + The callback routine most likely will attempt to retrieve the result + code, which will result in a recursive lock attempt. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3ad19ae349ebb27ff6027e40883735240fa97a3c) + +commit 6fdd3f1ce69fa2e00c6f1bedd5f72352953e1e44 +Author: Jason Dillaman +Date: Thu Apr 30 13:51:03 2015 -0400 + + librbd: give locks unique names to prevent false lockdep failures + + Signed-off-by: Jason Dillaman + (cherry picked from commit c474ee42b87975c04eeb2b40b976deb5a5e2d518) + +commit 70041499f99cad551b3aab16f086f725b33b25e2 +Author: Jason Dillaman +Date: Thu Apr 30 13:40:16 2015 -0400 + + librbd: complete cache read in a new thread context + + The ObjectCacher complete the read callback while still holding + the cache lock. This introduces lock ordering issues which are + resolved by queuing the completion to execute in a clean (unlocked) + context. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0024677dc8adfd610418ca47599dd95d3a5a6612) + +commit 65ef695eba0f5b5d87347ffb3407bb5d6d75b402 +Author: Jason Dillaman +Date: Thu Mar 19 15:35:59 2015 -0400 + + librbd: require callers to ObjectMap::aio_update to acquire lock + + This is needed to allow an atomic compare and update operation + from the rebuild object map utility. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2db758cb4cb6d88cbaf9842b1e5d0872a185d8df) + +commit 58b8fafb87b18f2a4d8c38f77ecf81ff58452409 +Author: Jason Dillaman +Date: Thu Apr 30 13:38:29 2015 -0400 + + log: fix helgrind warnings regarding possible data race + + Signed-off-by: Jason Dillaman + (cherry picked from commit c1e14451775049bbd95bcb19a0b62ab5e2c0a7bb) + +commit a5203d32544d40cb51eb60fc906cc3ceaacbfe96 +Author: Jason Dillaman +Date: Thu Apr 30 13:37:56 2015 -0400 + + librados_test_stub: fix helgrind warnings + + Signed-off-by: Jason Dillaman + (cherry picked from commit b65ae4bc26f2dcaaa9518d5cce0e8b83ea310de8) + +commit b73e87eb307137786e0f0d89362ef0e92e2670b8 +Author: Jason Dillaman +Date: Thu Apr 30 13:36:26 2015 -0400 + + librados_test_stub: add support for flushing watches + + Signed-off-by: Jason Dillaman + (cherry picked from commit 6e400b9049ede5870e40e4dd2cb41874550eac25) + +commit 2fa35b1c5ca8e33959fff8c84eaa4feca0f67df3 +Author: Jason Dillaman +Date: Thu Apr 30 13:29:12 2015 -0400 + + common: lockdep now support unregistering once destructed + + librbd use of an image hierarchy resulted in lock names being + re-used and incorrectly analyzed. librbd now uses unique lock + names per instance, but to prevent an unbounded growth of + tracked locks, we now remove lock tracking once a lock is + destructed. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 7c7df2ce9f837628535d21df61ae4f13d809c4fa) + +commit 7b85c7bfe599644eb29e6b1e03733da4774c2eac +Author: Jason Dillaman +Date: Thu Apr 30 13:26:41 2015 -0400 + + common: add valgrind.h convenience wrapper + + Conditionally support helgrind annotations if valgrind support is + enabled during the build. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 650ad32d74a24d248dd8e19bff1bbd31f0bb224b) + +commit 6d3db5ffbef71c8927a9ffc68c5955dca0f5612c +Author: Jason Dillaman +Date: Wed Apr 8 17:24:08 2015 -0400 + + librbd: add work queue for op completions + + Signed-off-by: Jason Dillaman + (cherry picked from commit 21f990efe6c6d710376d5b1a49fc8cd53aa020e6) + +commit 64425e861400fde4703fb06529777c55650b6676 +Author: Jason Dillaman +Date: Wed Apr 8 16:46:34 2015 -0400 + + WorkQueue: ContextWQ can now accept a return code + + Signed-off-by: Jason Dillaman + (cherry picked from commit e5ffae578e83c1e4fca3f328c937e7c9be8cc03c) + +commit eccf36980511de7ed122a38d426170496ffdea64 +Author: Ken Dreyer +Date: Tue Jun 23 13:41:53 2015 -0600 + + packaging: RGW depends on /etc/mime.types + + If the mimecap RPM or mime-support DEB is not installed, then the + /etc/mime.types file is not present on the system. RGW attempts to read + this file during startup, and if the file is not present, RGW logs an + error: + + ext_mime_map_init(): failed to open file=/etc/mime.types ret=-2 + + Make the radosgw package depend on the mailcap/mime-support packages so + that /etc/mime.types is always available on RGW systems. + + http://tracker.ceph.com/issues/11864 Fixes: #11864 + + Signed-off-by: Ken Dreyer + (cherry picked from commit c74a2f86a1f9b15aae0e723b410bedfc1d01a79b) + +commit 7bddf5d4dad09b1f6d3b4e80e4bdd895191560b0 +Author: huangjun +Date: Thu Jul 16 09:42:55 2015 +0800 + + rest_bench: bucketname is not mandatory as we have a default name + + Signed-off-by: huangjun + + (cherry picked from commit bc56a87ea3b69b4856a2b9f9fb2a63dbfb1211c3) + +commit 6e7358b3958b7ee11ef612302b300d07f3982d54 +Author: huangjun +Date: Thu Jul 16 09:17:59 2015 +0800 + + rest_bench: drain the work queue to fix a crash + Fixes: #3896 + Signed-off-by: huangjun + + (cherry picked from commit f3d34d8ff921dbd2ff21f6b72af7c73bb9c6940e) + +commit 1e055782f5ade94c19c2614be0d61d797490701e +Author: John Spray +Date: Tue Jul 21 16:09:32 2015 +0100 + + auth: check return value of keyring->get_secret + + get_secret can fail to populate the passed CryptoKey, for + example if the entity name is not found in the keyring. In + this case, attempts to use the CryptoKey will lead to + segfaults. + + Fixes: #12417 + Signed-off-by: John Spray + (cherry picked from commit 64e5041008744362fdbb16e16bc3e049a2d426aa) + +commit 256620e37fd94ee4b3af338ea6955be55529d0d6 +Author: Greg Farnum +Date: Thu Jul 16 04:45:05 2015 -0700 + + Client: check dir is still complete after dropping locks in _readdir_cache_cb + + We drop the lock when invoking the callback, which means the directory + we're looking at might get dentries trimmed out of memory. Make sure that + hasn't happened after we get the lock back. If it *has* happened, fall back + to requesting the directory contents from the MDS. Update the dirp location + pointers after each entry to facilitate this. + Because this requires we update the dirp->at_cache_name value on every loop, + we rework the updating scheme a bit: to dereference the dn->name before + unlocking, so we know it's filled in; and since we update it on every loop + we don't need to refer to the previous dentry explicitly like we did before. + + This should also handle racing file deletes: we get back a trace on + the removed dentry and that will clear the COMPLETE|ORDERED flags. + + Fixes #12297 + + Signed-off-by: Greg Farnum + (cherry picked from commit 62dd63761701a7e0f7ce39f4071dcabc19bb1cf4) + +commit 8a2ad0540994efe530a1775ebd949aeaf6609e57 +Author: Samuel Just +Date: Thu Apr 9 16:29:45 2015 -0700 + + TestPGLog: fix invalid proc_replica_log test caes + + If 1'3 is non-divergent, no osd could correctly have created 2'3. Also, + proc_replica_log does not add the extra entries from the auth log to the + missing set, that happens later on in activate. + + Signed-off-by: Samuel Just + (cherry picked from commit 1333b676dba4ed4b5db854fe935bdadbf9f21d08) + +commit df71e6be7ccbe18d99200b2a5844a9f19ac70141 +Author: Samuel Just +Date: Thu Apr 9 16:28:23 2015 -0700 + + TestPGLog: fix noop log proc_replica_log test case + + Need to fill in log.head, olog.head. + + Signed-off-by: Samuel Just + (cherry picked from commit 1e5b22053381580708af29a1536f1e106c9b479c) + +commit 549ff9a938c5126d4dcb15535845d5354cb44bb2 +Author: Samuel Just +Date: Thu Apr 9 15:01:41 2015 -0700 + + TestPGLog: add test for 11358 + + Signed-off-by: Samuel Just + (cherry picked from commit b61e5aef15d7448d24b713d13dce77697bc0af74) + +commit c224fc70e14bd76494bc437595c8b0b0d275694e +Author: Samuel Just +Date: Thu Apr 9 15:01:29 2015 -0700 + + PGLog::proc_replica_log: handle split out overlapping entries + + See the comment, if the overlapping entries between olog.head + and log.tail were split out, last_update should be log.tail. + + Fixes: 11358 + Signed-off-by: Samuel Just + (cherry picked from commit 6561e0d955c4563a8505b717de41f5bd89119f63) + +commit b8176d0f21ce80d2e5a92057ab85f7618504cd9f +Author: Ketor Meng +Date: Tue May 26 18:50:17 2015 +0800 + + Mutex: fix leak of pthread_mutexattr + + Need pthread_mutexattr_destroy after pthread_mutexattr_init + + Fixes: #111762 + Signed-off-by: Ketor Meng + (cherry picked from commit 2b23327b3aa8d96341d501a5555195ca1bc0de8f) + +commit 43a72e47c4adae674e02bb262645d88ac528e2be +Author: Xinze Chi +Date: Fri Jul 3 18:27:13 2015 +0800 + + mon/PGMonitor: bug fix pg monitor get crush rule + + when some rules have been deleted before, the index in array of crush->rules + is not always equals to crush_ruleset of pool. + + Fixes: #12210 + Reported-by: Ning Yao + Signed-off-by: Xinze Chi + (cherry picked from commit 498793393c81c0a8e37911237969fba495a3a183) + +commit 0ca93db7d79f11e51af75e322941419b860bb2f8 +Author: Shylesh Kumar +Date: Wed Jul 22 18:47:20 2015 +0530 + + mon: ceph osd map shows NONE when an osd is missing + + Signed-off-by: Shylesh Kumar + (cherry picked from commit 4d030302ea3709eb021710e873f1ebe62f951cec) + +commit 695f782e59baffbe8429f9daa47a4f1476a02976 +Author: Sage Weil +Date: Sun Jun 7 20:05:58 2015 -0400 + + crush/CrushWrapper: fix adjust_subtree_weight debug + + Signed-off-by: Sage Weil + (cherry picked from commit 26be86f649a1e9846280204fe1e3f8344eb975ce) + +commit 0bd4c81ce41a22b22ca76e539de87260b140bbc4 +Author: Sage Weil +Date: Fri Jun 5 12:15:45 2015 -0700 + + crush/CrushWrapper: return changed from adjust_subtree_weight + + Signed-off-by: Sage Weil + (cherry picked from commit 551ab2d69dd50a078d62340740d357d85ab8dcbb) + +commit 05fc59bee9138d04227255a2f31bd82efe94b1e9 +Author: Sage Weil +Date: Fri Jun 5 12:15:22 2015 -0700 + + crush/CrushWrapper: adjust subtree base in adjust_subtree_weight + + We were correctly adjusting all the children, but the subtree root was + not being updated. + + Fixes: #11855 + Signed-off-by: Sage Weil + (cherry picked from commit 1da96ab8442522bda4fc39e05597f17b8ebddf89) + +commit d2f31adc49a7c6b8276dbf8773575e91ba5e18fa +Author: Sage Weil +Date: Fri Jun 5 12:12:41 2015 -0700 + + unittest_crush_wrapper: test adjust_subtree_weight + + Signed-off-by: Sage Weil + (cherry picked from commit b461dc2e970f139dcb25d93b32be6b4bb9f1c8eb) + +commit 0ccdf342e7cf0072d3c38c6e1a6cf3a87f154a28 +Author: Sage Weil +Date: Fri Jun 5 12:17:26 2015 -0700 + + unittest_crush_wrapper: attach buckets to root in adjust_item_weight test + + Signed-off-by: Sage Weil + (cherry picked from commit a8351eb3de2b4069ffec9c4f561eb1519ea11aa2) + +commit 1e737532cfe1daf43bea3d9bd4e55faed560f0f2 +Author: Sage Weil +Date: Fri Jun 5 12:12:32 2015 -0700 + + unittest_crush_wrapper: parse env + + Signed-off-by: Sage Weil + (cherry picked from commit 14c60b288b33e4cec9c9819d4668a5ff9855ccc1) + +commit cd11b887c6c586085a7014ba44123b115370a462 +Author: Guang G Yang +Date: Thu Jul 2 05:29:47 2015 +0000 + + osd: pg_interval_t::check_new_interval should not rely on pool.min_size to determine if the PG was active + + If the pool's min_size is set improperly, during peering, pg_interval_t::check_new_interval + might wrongly determine the PG's state and cause the PG to stuck at down+peering forever + + Fixes: #12162 + Signed-off-by: Guang Yang yguang@yahoo-inc.com + (cherry picked from commit 684927442d81ea08f95878a8af69d08d3a14d973) + + Conflicts: + src/osd/PG.cc + because PG::start_peering_interval has an assert + that is not found in hammer in the context + src/test/osd/types.cc + because include/stringify.h is not included by + types.cc in hammer + +commit c5f0e2222cc55a92ebc46d12b618fadb3d2fb577 +Author: Guang G Yang +Date: Wed Jul 1 20:26:54 2015 +0000 + + osd: Move IsRecoverablePredicate/IsReadablePredicate to osd_types.h + + Signed-off-by: Guang Yang + (cherry picked from commit 466b083166231ec7e4c069fef8c9e07d38accab9) + +commit 42bff0b9e2f80e32001082a608d63719332677e3 +Author: Joao Eduardo Luis +Date: Tue Jul 21 11:20:53 2015 +0100 + + mon: OSDMonitor: fix hex output on 'osd reweight' + + Fixes: #12251 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 787fa80c2746fde44ac0583ff7995ec5be9a672d) + +commit e00494118ee42322784988fe56623cbc7aac4cc9 +Author: Kefu Chai +Date: Wed Jul 15 19:03:33 2015 +0800 + + ceph.in: print more detailed warning for 'ceph tell' + + put the full signature of "tell [options...]" + instead of "tell {0}.", which could be misleading somehow. + + Fixes: 11101 + Signed-off-by: Kefu Chai + (cherry picked from commit aa1a5222eebd0256d4ecffb0eefeb0f78ecf0a1f) + +commit f18900f2eb724acd898e8b32fe75c0850d7cf94c +Author: Kefu Chai +Date: Wed Jul 15 18:01:52 2015 +0800 + + ceph.in: print more detailed error message for 'tell' command + + * we do not allow user specify a certain daemon when starting an + interactive session. the existing error message could lead to + some confusion. so put more details in it. + + Fixes: #11101 + Signed-off-by: Kefu Chai + (cherry picked from commit 972dc9145235ff0f60663369ebcab8c16628b89f) + +commit 9916d37ead705d467b1d730adb15bb6974b3bf1b +Author: huangjun +Date: Mon Jul 20 10:50:20 2015 +0800 + + mon/PGMonitor: avoid uint64_t overflow when checking pool 'target/max' status. + Fixes: #12401 + + Signed-off-by: huangjun + + (cherry picked from commit f84e6b8157e78fd05cd1c8ac957c92df17e6ba06) + +commit 4457d3eb70712ec3b7d8e98af973e099c8c7d258 +Author: renhwztetecs +Date: Tue Jul 21 18:55:00 2015 +0800 + + Update OSDMonitor.cc + + OSDMonitor::get_pools_health(), s/objects/bytes/ + + Fixes: #12402 + Signed-off-by: ren.huanwen@zte.com.cn + (cherry picked from commit 7fc13c9d6b9a4962d7640240416105d8f558d600) + +commit add0f1e5e229c9ad66e8ef77ad59e0e390e20db6 +Author: Kefu Chai +Date: Thu Apr 16 18:29:00 2015 +0800 + + ceph.in: do not throw on unknown errno + + some of the errnos are not listed in errno.errorcode. if we happen + to run into them, print 'Unknown' instead. + + Fixes: #11354 + Signed-off-by: Kefu Chai + (cherry picked from commit 53514ad97f6f75746613f09d464f69a7c31bed55) + +commit fa194744fdaed13949bffb6f2b8a0fc420006e0b +Author: Sage Weil +Date: Wed Mar 18 13:49:20 2015 -0700 + + os/chain_xattr: handle read on chnk-aligned xattr + + If we wrote an xattr that was a multiple of a chunk, we will try to read + the next chunk and get ENODATA. If that happens bail out of the loop and + assume we've read the whole thing. + + Backport: hammer, firefly + Signed-off-by: Sage Weil + (cherry picked from commit 8614dcebf384b74b283cd352001a65fa26ba925c) + +commit 931ffe3b3a43157798717e64de8f46fadbcd9e9b +Author: Boris Ranto +Date: Wed Jun 3 12:24:48 2015 +0200 + + common/Cycles.cc: skip initialization if rdtsc is not implemented + + The Cycles initialization gets stuck in infinite loop if rdtsc is not + implemented. This patch fixes the issue by quitting the initialization + if rtdsc fails. + + The patch was cherry-picked from ubuntu patch by James Page, see + + https://bugzilla.redhat.com/show_bug.cgi?id=1222286 + + for more details on the patch. + + Signed-off-by: James Page + (cherry picked from commit 35c5fd0091fc4d63b21207fb94e46b343519fd56) + +commit 0fde3a2465e156ebf9a5cdc6adc45d66d6d647fc +Author: Haomai Wang +Date: Thu Jul 9 13:42:42 2015 +0800 + + buffer: Fix bufferlist::zero bug with special case + + Fixes: #12252 + Signed-off-by: Haomai Wang + (cherry picked from commit 43f583d160ccaf879eaf0f3020e77860cf8d1df0) + +commit dabc61110a5773262614fc77d3653674aac421f7 +Author: Haomai Wang +Date: Thu Jul 9 13:32:03 2015 +0800 + + UnittestBuffer: Add bufferlist zero test case + + Signed-off-by: Haomai Wang + (cherry picked from commit 577acf665948e531e50d36f5780ea19351a5bf65) + +commit d08db7a0677412dbe590c850976fb4fe2f503a79 (refs/remotes/gh/wip-11470.hammer) +Author: Joao Eduardo Luis +Date: Fri Jun 12 19:21:10 2015 +0100 + + mon: PaxosService: call post_refresh() instead of post_paxos_update() + + Whenever the monitor finishes committing a proposal, we call + Monitor::refresh_from_paxos() to nudge the services to refresh. Once + all services have refreshed, we would then call each services + post_paxos_update(). + + However, due to an unfortunate, non-critical bug, some services (mainly + the LogMonitor) could have messages pending in their + 'waiting_for_finished_proposal' callback queue [1], and we need to nudge + those callbacks. + + This patch adds a new step during the refresh phase: instead of calling + directly the service's post_paxos_update(), we introduce a + PaxosService::post_refresh() which will call the services + post_paxos_update() function first and then nudge those callbacks when + appropriate. + + [1] - Given the monitor will send MLog messages to itself, and given the + service is not readable before its initial state is proposed and + committed, some of the initial MLog's would be stuck waiting for the + proposal to finish. However, by design, we only nudge those message's + callbacks when an election finishes or, if the leader, when the proposal + finishes. On peons, however, we would only nudge those callbacks if an + election happened to be triggered, hence the need for an alternate path + to retry any message waiting for the initial proposal to finish. + + Fixes: #11470 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 1551ebb63238073d2fd30201e6b656a8988e958c) + +commit 0818e9f78b11801aa619b9ec04eeffb2795c3f62 +Author: Nathan Cutler +Date: Thu Jul 9 13:28:22 2015 +0200 + + ceph.spec.in: snappy-devel for all supported distros + + Signed-off-by: Nathan Cutler + (cherry picked from commit e4634ddcc1c0a2abe51679425d15e6f693811e17) + + Conflicts: + ceph.spec.in + minor difference + +commit 8b576bd529d7c1604f0a4cdf97ece64fc5d69447 +Author: Nathan Cutler +Date: Tue Jun 16 18:27:20 2015 +0200 + + ceph.spec.in: python-argparse only in Python 2.6 + + argparse is a widely-used Python module for parsing command-line arguments. + Ceph makes heavy use of Python scripts, both in the build environment and on + cluster nodes and clients. + + Until Python 2.6, argparse was distributed separately from Python proper. + As of 2.7 it is part of the Python standard library. + + Although the python package in a given distro may or may not Provide: + python-argparse, this cannot be relied upon. + + Therefore, this commit puts appropriate conditionals around Requires: + python-argparse and BuildRequires: python-argparse. It does so for Red + Hat/CentOS and SUSE only, because the last Fedora version with Python 2.6 + was Fedora 13, which is EOL. + + argparse is required by both the ceph and ceph-common packages, but since ceph + requires ceph-common, the argparse Requires and BuildRequires need only appear + once, under ceph-common. + + http://tracker.ceph.com/issues/12034 Fixes: #12034 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 23171c952997d104cfa6b5700ec0bb658a8e0915) + +commit cdde626f6371e1da501306ed16bc450ee1ec0b91 +Author: Nathan Cutler +Date: Mon Jul 13 18:12:01 2015 +0200 + + ceph.spec.in: do not run fdupes, even on SLE/openSUSE + + In openSUSE there is a policy to use %fdupes in the spec file if RPMLINT + complains about duplicate files wasting space in the filesystem. + + However, RPMLINT is not so complaining, so drop fdupes. + + http://tracker.ceph.com/issues/12301 Fixes: #12301 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 53072b9019caf72e0313b2804ea174237ed7da33) + +commit 6417e8eff942dbbf6cd231ffb73136b7bdcd837f +Author: Nathan Cutler +Date: Fri Jun 12 17:50:58 2015 +0200 + + rpm: add missing Java conditionals + + http://tracker.ceph.com/issues/11991 Fixes: #11991 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 04e91bbd929801de7f1d6a05086d47a781c2e361) + +commit 37284773a754ef4b91d2b5436d46a5fd2be4f67e +Author: Owen Synge +Date: Fri May 29 13:28:24 2015 +0200 + + Add rpm conditionals : cephfs_java + + Extracted conditionals from SUSE rpm spec file to forward port. + Original work done by Thorsten Behrens + + Signed-off-by: Owen Synge + (cherry picked from commit c65538f489897821877421043300d9c008224f02) + +commit 8f78001c2e09d483dcbcd33c24e2ef8043119773 +Author: Nathan Cutler +Date: Thu May 14 20:07:37 2015 +0200 + + ceph.spec.in: SUSE/openSUSE builds need libbz2-devel + + http://tracker.ceph.com/issues/11629 Fixes: #11629 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 584ed2e28b0a31821f29a99cf6078cfd76ee31fc) + +commit 4eb58ad2027148561d94bb43346b464b55d041a6 +Author: Nathan Cutler +Date: Thu Jun 25 22:37:52 2015 +0200 + + ceph.spec.in: use _udevrulesdir to eliminate conditionals + + The conditionals governing where 50-rbd.rules is installed were not doing the + right thing on SUSE distros. + + Start using the %_udevrulesdir RPM macro, while taking care that it is defined + and set to the right value. Use it to eliminate some conditionals around other + udev rules files as well. + + http://tracker.ceph.com/issues/12166 Fixes: #12166 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 8aa758ee7a14e93ded1d55b4aca7a54aa47d7174) + + Conflicts: + ceph.spec.in + hammer does not yet have _with_systemd or ceph_daemon.py diff --git a/doc/changelog/v0.94.5.txt b/doc/changelog/v0.94.5.txt new file mode 100644 index 00000000..56c9e50b --- /dev/null +++ b/doc/changelog/v0.94.5.txt @@ -0,0 +1,86 @@ +commit 9764da52395923e0b32908d83a9f7304401fee43 (tag: refs/tags/v0.94.5, refs/remotes/gh/hammer) +Author: Jenkins +Date: Mon Oct 26 07:05:32 2015 -0700 + + 0.94.5 + +commit 1107f29224e24211860b719b82f9b85a022c25e3 +Merge: d86eab5 d3abcbe +Author: Loic Dachary +Date: Fri Oct 23 20:41:33 2015 +0200 + + Merge pull request #6348 from dillaman/wip-13567-hammer + + librbd: potential assertion failure during cache read + + Reviewed-by: Sage Weil + +commit d86eab5b860186066c888208d92a42a748569d78 +Merge: 4ebfa1b 250dc07 +Author: Loic Dachary +Date: Fri Oct 23 15:20:32 2015 +0200 + + Merge pull request #6362 from liewegas/wip-shut-up-osd-hammer + + osd/ReplicatedPG: remove stray debug line + + Reviewed-by: Loic Dachary + +commit 250dc0722b9156fe1b8be81e09fb4ead699065f3 (refs/remotes/me/wip-shut-up-osd-hammer) +Author: Sage Weil +Date: Sat Sep 12 08:33:44 2015 -0400 + + osd/ReplicatedPG: remove stray debug line + + This snuck in + + Signed-off-by: Sage Weil + (cherry picked from commit ff9600a6cef613d40e875597b6392778df1bb04c) + +commit d3abcbea1fdb04f0994f19584b93f6f1b1ff37ca +Author: Jason Dillaman +Date: Wed Oct 21 13:12:48 2015 -0400 + + librbd: potential assertion failure during cache read + + It's possible for a cache read from a clone to trigger a writeback if a + previous read op determined the object doesn't exist in the clone, + followed by a cached write to the non-existent clone object, followed + by another read request to the same object. This causes the cache to + flush the pending writeback ops while not holding the owner lock. + + Fixes: #13559 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 4692c330bd992a06b97b5b8975ab71952b22477a) + +commit 991d0f0575411e2f2b53df35e36ff6170bcc9d8b +Author: Jason Dillaman +Date: Wed Oct 21 13:09:54 2015 -0400 + + tests: reproduce crash during read-induced CoW + + Signed-off-by: Jason Dillaman + (cherry picked from commit 382219b6bba09156f8cf3d420c6348738e7ed4c6) + +commit 4ebfa1bcc7e3b57c3c12000633654d36a005d512 +Merge: 9529269 51f3d6a +Author: Jason Dillaman +Date: Thu Oct 22 12:14:42 2015 -0400 + + Merge pull request #6330 from dachary/wip-13550-hammer + + qemu workunit refers to apt-mirror.front.sepia.ceph.com + + Reviewed-by: Jason Dillaman + +commit 51f3d6a489760dbcb931676396eea92159ca2ad9 +Author: Yuan Zhou +Date: Fri Jun 19 00:02:20 2015 +0800 + + qa: Use public qemu repo + + This would allow some external tests outside of sepia lab + + Signed-off-by: Yuan Zhou + (cherry picked from commit 4731c1e35539c9506ff3fe3141553fad099d0eee) diff --git a/doc/changelog/v0.94.6.txt b/doc/changelog/v0.94.6.txt new file mode 100644 index 00000000..7fc155b7 --- /dev/null +++ b/doc/changelog/v0.94.6.txt @@ -0,0 +1,4027 @@ +commit e832001feaf8c176593e0325c8298e3f16dfb403 (tag: refs/tags/v0.94.6, refs/remotes/gh/hammer) +Author: Jenkins Build Slave User +Date: Mon Feb 22 21:10:17 2016 +0000 + + 0.94.6 + +commit 7abb6ae8f3cba67009bd022aaeee0a87cdfc6477 +Merge: ceb6fcc a8fc6a9 +Author: Loic Dachary +Date: Mon Feb 8 14:19:57 2016 +0700 + + Merge pull request #7501 from SUSE/wip-14624-hammer + + hammer: fsx failed to compile + + Reviewed-by: Loic Dachary + +commit ceb6fcc5f2828995bfe59bfc4e206010a4fe3230 +Merge: 2f4e1d1 f2ca42b +Author: Sage Weil +Date: Fri Feb 5 21:10:46 2016 -0500 + + Merge pull request #7524 from ktdreyer/wip-14637-hammer-man-radosgw-admin-orphans + + hammer: doc: regenerate man pages, add orphans commands to radosgw-admin(8) + +commit 2f4e1d1ff8e91fc2ee9c23d5a17c3174d15a7103 +Merge: 2ca3c3e 9ab5fd9 +Author: Orit Wasserman +Date: Fri Feb 5 10:30:22 2016 +0100 + + Merge pull request #7526 from ceph/wip-14516-hammer + + hammer: rgw-admin: document orphans commands in usage + +commit 2ca3c3e5683ef97902d0969e49980d69c81b4034 +Merge: 02353f6 5c8d1d7 +Author: Loic Dachary +Date: Fri Feb 5 12:47:33 2016 +0700 + + Merge pull request #7441 from odivlad/backport-pr-14569 + + [backport] hammer: rgw: Make RGW_MAX_PUT_SIZE configurable + + Reviewed-by: Yehuda Sadeh + +commit 02353f6baa460949d7dd2738346d8d748401bc5b +Merge: f3bab8c 0e1378e +Author: Loic Dachary +Date: Fri Feb 5 12:46:54 2016 +0700 + + Merge pull request #7442 from odivlad/backport-pr-14570 + + [backport] rgw: fix wrong etag calculation during POST on S3 bucket. + + Reviewed-by: Yehuda Sadeh + +commit 9ab5fd9d67da43e986489e4f580a597dd8cb551e +Author: Yehuda Sadeh +Date: Mon Feb 1 16:33:55 2016 -0800 + + rgw-admin: document orphans commands in usage + + Fixes: #14516 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 105a76bf542e05b739d5a03ca8ae55432350f107) + + Conflicts: + src/rgw/rgw_admin.cc (trivial resolution) + +commit 0e1378effdd1d0d70d3de05c79b208e9f8b8e328 +Author: Radoslaw Zarzynski +Date: Mon Sep 21 20:32:29 2015 +0200 + + [backport] rgw: fix wrong etag calculation during POST on S3 bucket. + + Closes: #14570 + (cherry picked from commit 742906a) + + Signed-off-by: Radoslaw Zarzynski + Signed-off-by: Vladislav Odintsov + Tested-by: Vladislav Odintsov + +commit 5c8d1d74069f70b85bc4286e6d1136bce1dc593f +Author: Yuan Zhou +Date: Thu Jul 9 16:56:07 2015 +0800 + + [backport] rgw: Make RGW_MAX_PUT_SIZE configurable + + The 5GB limit of a single operation uploading was part of S3 spec. + However some private setups may have some special requirements + on this limit. It's more convinent to have a configurable value. + + Closes: http://tracker.ceph.com/issues/14569 + (cherry picked from commit df97f28) + + Signed-off-by: Yuan Zhou + Signed-off-by: Vladislav Odintsov + Tested-by: Vladislav Odintsov + +commit f2ca42b1218182f4bfa27718c9606705d8b9941f +Author: Ken Dreyer +Date: Wed Feb 3 19:51:58 2016 -0700 + + doc: add orphans commands to radosgw-admin(8) + + The --help text was added in 105a76bf542e05b739d5a03ca8ae55432350f107. + Add the corresponding entries to the man page. + + Fixes: #14637 + + Signed-off-by: Ken Dreyer + + (cherry picked from commit ec162f068b40f594c321df5caa9fe2541551b89e) + Cherry-pick to hammer includes nroff source change (in master the + nroff sources are no longer present in Git.) + +commit e42ed6d6414ad55d671dd0f406b1dababd643af8 +Author: Ken Dreyer +Date: Thu Feb 4 11:04:39 2016 -0700 + + man: rebuild manpages + + following the procedure in admin/manpage-howto.txt. + + Signed-off-by: Ken Dreyer + +commit a8fc6a9ffb2f8021657ad412fd0aaaaf7f98bd53 +Author: Greg Farnum +Date: Wed Jan 13 13:17:53 2016 -0800 + + fsx: checkout old version until it compiles properly on miras + + I sent a patch to xfstests upstream at + http://article.gmane.org/gmane.comp.file-systems.fstests/1665, but + until that's fixed we need a version that works in our test lab. + + Signed-off-by: Greg Farnum + (cherry picked from commit 7d52372ae74878ebd001036ff0a7aad525eb15b6) + +commit f3bab8c7bc6bba3c79329d7106684596634e17a6 +Merge: 31d86b1 1b02859 +Author: Loic Dachary +Date: Wed Feb 3 12:41:56 2016 +0700 + + Merge pull request #7454 from dachary/wip-14584-hammer + + hammer: fsstress.sh fails + + Reviewed-by: Loic Dachary + +commit 31d86b1580d59581d130e7a5e84905a5b4d67666 +Merge: 2c8e579 2817ffc +Author: Loic Dachary +Date: Wed Feb 3 11:38:57 2016 +0700 + + Merge pull request #6918 from asheplyakov/hammer-bug-12449 + + osd: check for full before changing the cached obc (hammer) + + Reviewed-by: Loic Dachary + +commit 1b02859480677abbd8708650764ed6815917e0cd +Author: Yan, Zheng +Date: Tue Aug 18 15:22:55 2015 +0800 + + qa/fsstress.sh: fix 'cp not writing through dangling symlink' + + On some test machines, /usr/lib/ltp/testcases/bin/fsstress is + dangling symlink. 'cp -f' is impotent in this case. + + Fixes: #12710 + Signed-off-by: Yan, Zheng + (cherry picked from commit 479f2a760baf6af4714d3391a366a6b3acf1bcaf) + +commit 2c8e57934284dae0ae92d1aa0839a87092ec7c51 +Merge: 1cab151 700be56 +Author: Sage Weil +Date: Sat Jan 30 21:42:29 2016 -0500 + + Merge pull request #7236 from athanatos/wip-14376 + + config_opts: increase suicide timeout to 300 to match recovery + + http://pulpito.ceph.com/sage-2016-01-30_09:58:32-rados-wip-sage-testing-hammer---basic-mira/ + + Reviewed-by: Sage Weil + +commit 1cab151a6cdc8a1b9b2f11518b77ea149c19d067 +Merge: a134c44 5105d50 +Author: Sage Weil +Date: Sat Jan 30 21:42:12 2016 -0500 + + Merge pull request #6450 from dachary/wip-13672-hammer + + tests: testprofile must be removed before it is re-created + + http://pulpito.ceph.com/sage-2016-01-30_09:58:32-rados-wip-sage-testing-hammer---basic-mira/ + + Reviewed-by: Sage Weil + +commit a134c44d626ead3308464474d67604363bac6f5d +Merge: 520792d 3f1292e +Author: Sage Weil +Date: Sat Jan 30 21:41:39 2016 -0500 + + Merge pull request #6680 from SUSE/wip-13859-hammer + + hammer: ceph.spec.in License line does not reflect COPYING + + http://pulpito.ceph.com/sage-2016-01-30_09:58:32-rados-wip-sage-testing-hammer---basic-mira/ + +commit 520792d51e949c451767d116e267d86fee812ada +Merge: 4d0fafb c2c6d02 +Author: Sage Weil +Date: Sat Jan 30 21:41:18 2016 -0500 + + Merge pull request #6791 from branch-predictor/bp-5812-backport + + Race condition in rados bench + + http://pulpito.ceph.com/sage-2016-01-30_09:58:32-rados-wip-sage-testing-hammer---basic-mira/ + +commit 4d0fafb289fc35f44e6e74bb974c402ba147d4d4 +Merge: 211a093 6379ff1 +Author: Sage Weil +Date: Sat Jan 30 21:40:38 2016 -0500 + + Merge pull request #6973 from dreamhost/wip-configure-hammer + + configure.ac: no use to add "+" before ac_ext=c + + http://pulpito.ceph.com/sage-2016-01-30_09:58:32-rados-wip-sage-testing-hammer---basic-mira/ + + Reviewed-by: Kefu Chai + +commit 211a093d4107c1806ad7e4876bc5c550a5b5b7d4 +Merge: 0c13656 53742bd +Author: Sage Weil +Date: Sat Jan 30 21:40:13 2016 -0500 + + Merge pull request #7206 from dzafman/wip-14292 + + osd/PG.cc: 3837: FAILED assert(0 == "Running incompatible OSD") + + http://pulpito.ceph.com/sage-2016-01-30_09:58:32-rados-wip-sage-testing-hammer---basic-mira/ + + Reviewed-by: David Zafman + +commit 0c136561600e295ec48dcf29a77aa2cd293a7236 +Merge: 1ea14ba ae56de0 +Author: Sage Weil +Date: Sat Jan 30 21:39:42 2016 -0500 + + Merge pull request #7207 from rldleblanc/recency_fix_for_hammer + + hammer: osd/ReplicatedPG: Recency fix for Hammer + + Reviewed-by: Sage Weil + +commit 1ea14bae10930ed3e66b7b0140e359009a44275e +Merge: 1740d8c 8d9e08c +Author: Sage Weil +Date: Sat Jan 30 21:39:11 2016 -0500 + + Merge pull request #7347 from tchaikov/wip-hammer-10093 + + tools: ceph-monstore-tool must do out_store.close() + + http://pulpito.ceph.com/sage-2016-01-30_09:58:32-rados-wip-sage-testing-hammer---basic-mira/ + + Reviewed-by: Sage Weil + +commit 1740d8ce8eb7e7debce1684a19736783489628c3 +Merge: 7848cdc c7252a3 +Author: Sage Weil +Date: Sat Jan 30 21:38:35 2016 -0500 + + Merge pull request #7411 from dachary/wip-14467-hammer + + hammer: disable filestore_xfs_extsize by default + + http://pulpito.ceph.com/sage-2016-01-30_09:58:32-rados-wip-sage-testing-hammer---basic-mira/ + + Reviewed-by: Sage Weil + +commit 7848cdc4c8c3598cd291d26a2dd4d76abc4bcda9 +Merge: 57abeab 70f1ba3 +Author: Sage Weil +Date: Sat Jan 30 21:38:13 2016 -0500 + + Merge pull request #7412 from dachary/wip-14470-hammer + + tools: tool for artificially inflate the leveldb of the mon store for testing purposes + + Reviewed-by: Sage Weil + +commit 57abeab1f2610d89f0ab2a028c8e093afde5e403 +Merge: 4d7d7c3 9109304 +Author: Sage Weil +Date: Sat Jan 30 21:37:46 2016 -0500 + + Merge pull request #7446 from liewegas/wip-14537-hammer + + mon: compact full epochs also + + http://pulpito.ceph.com/sage-2016-01-30_09:58:32-rados-wip-sage-testing-hammer---basic-mira/ + + Reviewed-by: Sage Weil + +commit 4d7d7c33ff58ffeb27b47d379bf7dd4af90785b0 +Merge: 8360486 8c28f2f +Author: Josh Durgin +Date: Sat Jan 30 11:45:31 2016 -0800 + + Merge pull request #7182 from dachary/wip-14143-hammer + + hammer: Verify self-managed snapshot functionality on image create + + Reviewed-by: Josh Durgin + +commit 8360486764c3ab4e10a34f5bdf7555e4c3385977 +Merge: 501e01a b2961ce +Author: Josh Durgin +Date: Sat Jan 30 11:45:20 2016 -0800 + + Merge pull request #7183 from dachary/wip-14283-hammer + + hammer: rbd: fix bench-write + + Reviewed-by: Josh Durgin + +commit 501e01acc55f846cd3ad85e8294a9598c1c90907 +Merge: 97d4f6a 24c0b27 +Author: Josh Durgin +Date: Sat Jan 30 11:45:05 2016 -0800 + + Merge pull request #7416 from dachary/wip-14466-hammer + + hammer: rbd-replay does not check for EOF and goes to endless loop + + Reviewed-by: Josh Durgin + +commit 97d4f6a7bed5a0d47f18b3a223a916aef355eaf9 +Merge: 51cc015 46d626d +Author: Josh Durgin +Date: Sat Jan 30 11:44:50 2016 -0800 + + Merge pull request #7417 from dachary/wip-14553-hammer + + hammer: rbd: TaskFinisher::cancel should remove event from SafeTimer + + Reviewed-by: Josh Durgin + +commit 51cc015c7e20d2ea9b9517238481fb80687be17c +Merge: 23c24fc 73e03de +Author: Josh Durgin +Date: Sat Jan 30 11:44:32 2016 -0800 + + Merge pull request #7407 from dillaman/wip-14543-hammer + + librbd: ImageWatcher shouldn't block the notification thread + + Reviewed-by: Josh Durgin + +commit 23c24fc50d07a07db12239ac372bfce5a9fe2255 +Merge: 9513391 26e832e +Author: Josh Durgin +Date: Sat Jan 30 11:44:12 2016 -0800 + + Merge pull request #6980 from dillaman/wip-14063-hammer + + librbd: fix merge-diff for >2GB diff-files + + Reviewed-by: Josh Durgin + +commit 91093041a86fda40de08a366b5118e5e3ae275f0 (refs/remotes/me/wip-14537-hammer) +Author: Kefu Chai +Date: Thu Jan 28 02:09:53 2016 -0800 + + mon: compact full epochs also + + by compacting the ${prefix}.${start}..${prefix}..${end} does not + necessary compact the range of ${prefix}."full_"${start}.. + ${prefix}."full_"${end}. so when more and more epochs get trimmed + with out a full range compaction, the size of monitor store could + be very large. + + Fixes: #14537 + Signed-off-by: Kefu Chai + (cherry picked from commit 93d633a25ad8c36c972bb766c38187e2612041e1) + +commit 2817ffcf4e57f92551b86388681fc0fe70c386ec +Author: Alexey Sheplyakov +Date: Wed Dec 16 15:31:52 2015 +0300 + + Check for full before changing the cached obc + + ReplicatedPG::prepare_transaction(): check if the pool is full before + updating the cached ObjectContext to avoid the discrepancy between + the cached and the actual object size (and other metadata). + While at it improve the check itself: consider cluster full flag, + not just the pool full flag, also consider object count changes too, + not just bytes. + + Based on commit a1eb380c3d5254f9f1fe34b4629e51d77fe010c1 + + Fixes: #13335 + + Signed-off-by: Alexey Sheplyakov + +commit 951339103d35bc8ee2de880f77aada40d15b592a (refs/remotes/gh/wip-test-14716-4) +Merge: e43aca5 5e5b512 +Author: Loic Dachary +Date: Fri Jan 29 23:31:47 2016 +0700 + + Merge pull request #6353 from theanalyst/wip-13513-hammer + + rgw: value of Swift API's X-Object-Manifest header is not url_decoded during segment look up + + Reviewed-by: Yehuda Sadeh + +commit e43aca51d630274a57237b0f91a56df79ce8874a +Merge: 7e20e6e 4420929 +Author: Loic Dachary +Date: Fri Jan 29 23:31:16 2016 +0700 + + Merge pull request #6620 from SUSE/wip-13820-hammer + + hammer: rgw: Setting ACL on Object removes ETag + + Reviewed-by: Yehuda Sadeh + +commit 7e20e6e9d6626c5ac8b1f479011ab77a9e87da23 +Merge: f1d5570 cbb5c1f +Author: Loic Dachary +Date: Fri Jan 29 23:30:57 2016 +0700 + + Merge pull request #7186 from dachary/wip-13888-hammer + + hammer: rgw: orphans finish segfaults + + Reviewed-by: Yehuda Sadeh + +commit ae56de09fe1385958b5b600d1f0c91383989926f +Author: Sage Weil +Date: Wed Nov 25 14:40:26 2015 -0500 + + osd: recency should look at newest (not oldest) hitsets + + Reported-by: xinxin shu + Signed-off-by: Sage Weil + (cherry picked from commit 528eae92d010ea34ae8cf0e8b2290aaa5e058d24) + + Conflicts: + src/osd/ReplicatedPG.cc + code section was moved to ReplicatedPG::maybe_promote + in master. + Signed-off-by: Robert LeBlanc + +commit 5cefcb975771f0c2efb7dfc77ce14a93a4ee7f1b +Author: Sage Weil +Date: Wed Nov 25 14:39:08 2015 -0500 + + osd/ReplicatedPG: fix promotion recency logic + + Recency is defined as how many of the last N hitsets an object + must appear in in order to be promoted. The previous logic did + nothing of the sort... it checked for the object in any one of + the last N hitsets, which led to way to many promotions and killed + any chance of the cache performing properly. + + While we are here, we can simplify the code to drop the max_in_* + fields (no longer necessary). + + Note that we may still want a notion of 'temperature' that does + tolerate the object missing in one of the recent hitsets.. but + that would be different than recency, and should probably be + modeled after the eviction temperature model. + + Backport: infernalis, hammer + Reported-by: Nick Fisk + Signed-off-by: Sage Weil + (cherry picked from commit 180c8743addc5ae2f1db9c58cd2996ca6e7ac18b) + + Conflicts: + src/osd/ReplicatedPG.cc + code section was moved to ReplicatedPG::maybe_promote + in master. + Signed-off-by: Robert LeBlanc + +commit f1d5570beab0769b925b917e402d441ff053794c +Merge: c4bb343 50c82f2 +Author: Sage Weil +Date: Fri Jan 29 08:52:51 2016 -0500 + + Merge pull request #5789 from SUSE/wip-12928-hammer + + rpm: libcephfs_jni1 has no %post and %postun + + Reviewed-by: Sage Weil + +commit c4bb34320df8bfa734512a400fe8664c131363ff +Merge: 86ba6ca a5e4f70 +Author: Sage Weil +Date: Fri Jan 29 08:50:56 2016 -0500 + + Merge pull request #7434 from tchaikov/wip-14441-hammer + + man: document listwatchers cmd in "rados" manpage + + Reviewed-by: Sage Weil + +commit a5e4f70af422b05ece53f245bc15491bb1dd540d +Author: Kefu Chai +Date: Wed Dec 23 11:23:38 2015 +0800 + + man: document listwatchers cmd in "rados" manpage + + Signed-off-by: Kefu Chai + (cherry picked from commit c2e391301efc43f0b431e89737246b2c43bf10a9) + + man/rados.8: also added the rendered man.8 man page, as we don't + put the generated man pages in master anymore. but + they are still in the hammer's source repo. + +commit 46d626d92d7af218816d831cfcc1265b3ea31b72 +Author: Douglas Fuller +Date: Fri Jan 22 11:18:40 2016 -0800 + + rbd: remove canceled tasks from timer thread + + When canceling scheduled tasks using the timer thread, TaskFinisher::cancel + does not call SafeTimer::cancel_event, so events fire anyway. Add this call. + + Fixes: #14476 + Signed-off-by: Douglas Fuller + (cherry picked from commit 2aa0f318c862dbe3027d74d345671506605778eb) + +commit 24c0b27c6f6a26c2b7bab5bcbc421a18592d026f +Author: Mykola Golub +Date: Thu Jan 21 13:45:42 2016 +0200 + + rbd-replay: handle EOF gracefully + + Fixes: #14452 + Signed-off-by: Mykola Golub + (cherry picked from commit c59b84c3e2c9bbda68219e4d2288a889dd9ca6cb) + + Conflicts: + src/rbd_replay/BufferReader.cc: trivial resolution + caused by s/CEPH_PAGE_SIZE/CEPH_BUFFER_APPEND_SIZE/ + in the context of one hunk. + +commit 70f1ba33fe1a81d2631d54429749433a6cbfca44 +Author: Cilang Zhao +Date: Tue Jan 5 14:34:05 2016 +0800 + + tools: monstore: add 'show-versions' command. + + Using this tool, the first/last committed version of maps will be shown. + + Signed-off-by: Cilang Zhao + (cherry picked from commit 21e6ba0c18428caff45733e6b43d197be38af8bb) + +commit 926017187910c9e6a3fb8babf9b498cf07941819 +Author: Kefu Chai +Date: Wed Sep 16 18:28:52 2015 +0800 + + tools: ceph_monstore_tool: add inflate-pgmap command + + this command repeatly add the latest pgmap to the monstore in order + to inflate it. the command helps with the testing of some monstore + related performance issue of monitor + + Fixes: #14217 + Signed-off-by: Kefu Chai + (cherry picked from commit b0f6af814a58dd374ca95e84a4e381f8ef1368de) + +commit a1d5728c928eb7e6b8c655741a0db3398ced7d56 +Author: Bo Cai +Date: Tue Oct 20 15:23:49 2015 +0800 + + tools:support printing the crushmap in readable fashion. + + Signed-off-by: Bo Cai + (cherry picked from commit b7faf678ed0241abc7eb86b9baaa6db669a22d53) + +commit bd9484750f546974047dacd9176a8072be846596 +Author: Bo Cai +Date: Mon Sep 14 19:50:47 2015 +0800 + + tools:print the map infomation in human readable format. + + Signed-off-by: Bo Cai + (cherry picked from commit 5ed8cdc19150382c946a373ec940d76f98e6ecb7) + +commit fba65832aad8a46d94a9256a56997e9df9e62297 +Author: Bo Cai +Date: Mon Sep 14 19:19:05 2015 +0800 + + tools:remove the local file when get map failed. + + Signed-off-by: Bo Cai + (cherry picked from commit 0b03b32d8ba76fe9f6f1158e68eb440e3670393a) + +commit 1bb899a290b77188b44a53ef7c7a40910c9248b2 +Author: Joao Eduardo Luis +Date: Mon Jul 13 12:35:13 2015 +0100 + + tools: ceph_monstore_tool: describe behavior of rewrite command + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit a881f9385feb0f5a61fa22357984d6f291c08177) + +commit 9035c69481f4aa4786414ac41cbc36fb4a3ca51d +Author: Kefu Chai +Date: Fri Jun 19 22:57:57 2015 +0800 + + tools/ceph-monstore-tools: add rewrite command + + "rewrite" command will + - add a new osdmap version to update current osdmap held by OSDMonitor + - add a new paxos version, as a proposal it will + * rewrite all osdmap epochs from specified epoch to the last_committed + one with the specified crush map. + * add the new osdmap which is added just now + so the leader monitor can trigger a recovery process to apply the transaction + to all monitors in quorum, and hence bring them back to normal after being + injected with a faulty crushmap. + + Fixes: #11815 + Signed-off-by: Kefu Chai + (cherry picked from commit 306373427836ca0c2418dbe6caab26d74d94d12e) + +commit 90aaed744243dfc7c620f91e19fc0bfa233f711f +Author: huangjun +Date: Tue Apr 21 14:04:40 2015 +0800 + + tools: ceph-monstore-tool must do out_store.close() + + this change fixes the "store-copy" command. + Like the bug reported in http://tracker.ceph.com/issues/10093. + + Signed-off-by: huangjun + (cherry picked from commit d85e0f8c50fce62be012506f7ffcb1cdeb0c819c) + +commit c7252a3d54bae88f91c2b4e63fc9c27cfbb2423e +Author: Ken Dreyer +Date: Mon Jan 18 08:24:46 2016 -0700 + + osd: disable filestore_xfs_extsize by default + + This option involves a tradeoff: When disabled, fragmentation is worse, + but large sequential writes are faster. When enabled, large sequential + writes are slower, but fragmentation is reduced. + + Fixes: #14397 + (cherry picked from commit aed85775bf53c273786ce4999320134822722af5) + +commit 86ba6caf992d2544cdd174e3b3f26a6099c91fc5 +Merge: b6b8ee4 0325f8a +Author: Loic Dachary +Date: Fri Jan 29 10:36:05 2016 +0700 + + Merge pull request #7316 from ceph/wip-deb-lttng-hammer + + deb: strip tracepoint libraries from Wheezy/Precise builds + + All other "modern" Debian-based OSes have a functional LTTng-UST. Since only hammer needs to build on these older distros, this fix only affects the deb building process for those two releases(since autoconf detects that LTTng is broken). + + Reviewed-by: Loic Dachary + +commit b6b8ee41fc77679e82304e79da6dbd0c35f5c067 +Merge: d54840b f96c812 +Author: Loic Dachary +Date: Fri Jan 29 10:21:43 2016 +0700 + + Merge pull request #7187 from dachary/wip-13831-hammer + + hammer: init script reload doesn't work on EL7 + + Reviewed-by: Loic Dachary + +commit 73e03def9271fb5d1739b195e428c3ebfcebd59b +Author: Jason Dillaman +Date: Thu Jan 28 14:38:20 2016 -0500 + + librbd: ImageWatcher shouldn't block the notification thread + + Blocking the notification thread will also result in librados async + callbacks becoming blocked (since they use the same thread). + + Signed-off-by: Jason Dillaman + (cherry picked from commit 7e2019a72733dff43e55c9b22df12939d584f87d) + + Conflicts: + src/librbd/ImageWatcher.[cc|h]: fewer RPC messages + +commit 5617166f78c1995436b4e0794dab2d8254331815 +Author: Jason Dillaman +Date: Thu Jan 28 14:35:54 2016 -0500 + + librados_test_stub: watch/notify now behaves similar to librados + + Notifications are executed via the same librados AIO callback + thread, so it's now possible to catch deadlock. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 43722571838a2d78ca8583b5a1ea381cd988de0b) + +commit 8fc82b23304ef327933723373cd4d1090d04bfbc +Author: Jason Dillaman +Date: Thu Jan 28 12:40:18 2016 -0500 + + tests: simulate writeback flush during snap create + + Signed-off-by: Jason Dillaman + (cherry picked from commit e9570fcf4be9cd5c06937769d074fa52ffb32e4b) + +commit d54840bf4a70fc65285bbfdff0c7bf8f579643b1 +Merge: 4051bc2 9f30fe1 +Author: Sage Weil +Date: Tue Jan 26 10:12:29 2016 -0500 + + Merge pull request #7365 from liewegas/wip-tcmalloc-hammer + + osd: pass tcmalloc env through to ceph-osd + + Reviewed-by: Ken Dreyer + +commit 9f30fe18e839f5846c90e3b5995171a0132d7f3a +Author: Sage Weil +Date: Tue Jan 26 08:43:15 2016 -0500 + + upstart/ceph-osd.conf: pass TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES through + + Signed-off-by: Sage Weil + (cherry picked from commit a95a3d34cccb9f9f0782a96ca05e5fe9c2b01772) + +commit a58873e213d7423d89c95db4e1710dc9631e3313 +Author: Sage Weil +Date: Wed Jan 20 18:36:08 2016 -0500 + + init-ceph: pass TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES through + + ..when set in the sysconfig/default file. + + Signed-off-by: Sage Weil + (cherry picked from commit 03e01ae263ef207046933890821ae75d5e60d9b8) + + [source default/sysconfig file too] + +commit 8d9e08c44150a4f3ad06ec1abc130b9aeaf479d9 +Author: huangjun +Date: Tue Apr 21 14:04:40 2015 +0800 + + tools: ceph-monstore-tool must do out_store.close() + + this change fixes the "store-copy" command. + Like the bug reported in http://tracker.ceph.com/issues/10093. + + Signed-off-by: huangjun + (cherry picked from commit d85e0f8c50fce62be012506f7ffcb1cdeb0c819c) + +commit 0325f8af5cbee3d74e9f363f61c2e2ababf501d9 +Author: Jason Dillaman +Date: Thu Jan 21 15:36:37 2016 -0500 + + deb: strip tracepoint libraries from Wheezy/Precise builds + + These releases do not (by default) have a sane LTTng-UST environment, + which results in autoconf disabling support for tracing. + + Signed-off-by: Jason Dillaman + +commit 4051bc2a5e4313ac0f6236d7a34ed5fb4a1d9ea2 +Merge: 4e67418 e4d3e9b +Author: Jason Dillaman +Date: Mon Jan 18 20:46:07 2016 -0500 + + Merge pull request #7252 from ceph/wip-13483-hammer + + qa: remove legacy OS support from rbd/qemu-iotests + + Reviewed-by: Jason Dillaman + +commit e4d3e9b29aa6a5f9efff8b787949a5bbf48ad7de (refs/remotes/gh/wip-13483-hammer) +Author: Jason Dillaman +Date: Mon Jan 18 15:57:43 2016 -0500 + + qa: disable rbd/qemu-iotests test case 055 on RHEL/CentOS + + Fixes: #14385 + Signed-off-by: Jason Dillaman + +commit f7acd44c26310242b69ee50322bd6b43fdc774b9 +Author: Jason Dillaman +Date: Thu Oct 15 12:44:06 2015 -0400 + + qa: remove legacy OS support from rbd/qemu-iotests + + RHEL7 derivatives were failing test 002 since they were using + legacy test cases for now unsupported OSes. + + Fixes: #13483 + Signed-off-by: Vasu Kulkarni + +commit 8c28f2f28d960d823ffd632671edaf029c30fb0f +Author: Jason Dillaman +Date: Mon Dec 14 17:41:49 2015 -0500 + + librbd: optionally validate RBD pool configuration (snapshot support) + + Fixes: #13633 + Signed-off-by: Jason Dillaman + (cherry picked from commit 1fea4dadc60e13518e9ee55d136fbc4e9d3a621e) + + Conflicts: + src/common/config_opts.h: trivial resolution + +commit 700be56c530879a72a628c62265d18f0a5d8fb3b +Author: Samuel Just +Date: Thu Jan 14 08:35:23 2016 -0800 + + config_opts: increase suicide timeout to 300 to match recovery + + Fixes: 14376 + Backport: hammer, firefly + Signed-off-by: Samuel Just + +commit 4e67418958e5caf5e4f81c4ed566e8c7269930fa +Merge: 28e99a9 1ab2b48 +Author: Sage Weil +Date: Thu Jan 14 09:21:50 2016 -0500 + + Merge pull request #7179 from dachary/wip-14287-hammer + + hammer: ReplicatedPG: wrong result code checking logic during sparse_read + + Reviewed-by: Sage Weil + +commit 28e99a90b38ce8c0285c1aec9c5524365385be00 +Merge: 17a2965 86f5cf6 +Author: Sage Weil +Date: Thu Jan 14 09:20:53 2016 -0500 + + Merge pull request #7178 from dachary/wip-14285-hammer + + hammer: osd/OSD.cc: 2469: FAILED assert(pg_stat_queue.empty()) on shutdown + + Reviewed-by: Sage Weil + +commit 17a2965825494765249c244aef59ebd821711d42 +Merge: a1459ea b0856ee +Author: Sage Weil +Date: Thu Jan 14 09:20:34 2016 -0500 + + Merge pull request #7177 from dachary/wip-14043-hammer + + hammer: osd/PG.cc: 288: FAILED assert(info.last_epoch_started >= info.history.last_epoch_started) + + Reviewed-by: Sage Weil + +commit a1459eacd7cc0d064493d01f963b8c1231cd3518 +Merge: c9a13a1 9cee89b +Author: Sage Weil +Date: Thu Jan 14 09:20:10 2016 -0500 + + Merge pull request #7180 from dachary/wip-14288-hammer + + hammer: ceph osd pool stats broken in hammer + + Reviewed-by: Sage Weil + +commit c9a13a12e88c9a18bfb3cc99d4a7c103b4330426 +Merge: 174a1a9 4d0b9a1 +Author: Sage Weil +Date: Thu Jan 14 09:19:18 2016 -0500 + + Merge pull request #6994 from badone/wip-13993-hammer + + log: Log.cc: Assign LOG_DEBUG priority to syslog calls + + Reviewed-by: Sage Weil + +commit 174a1a974725ce4025be4dfdf3b13df766dfac76 +Merge: cb167e9 6cf261c +Author: Sage Weil +Date: Thu Jan 14 09:18:55 2016 -0500 + + Merge pull request #6839 from SUSE/wip-13789-hammer + + Objecter: potential null pointer access when do pool_snap_list. + + Reviewed-by: Sage Weil + +commit cb167e998bbbdf1b9c273f6bc4f118796d396d37 +Merge: 1c4ba85 66ff0aa +Author: Sage Weil +Date: Thu Jan 14 09:18:23 2016 -0500 + + Merge pull request #6835 from SUSE/wip-13892-hammer + + hammer: auth/cephx: large amounts of log are produced by osd + + Reviewed-by: Sage Weil + +commit 1c4ba855b34290069c7ce0fa990fe72b7a1b381e +Merge: 72b6b68 61da13b +Author: Sage Weil +Date: Thu Jan 14 09:17:53 2016 -0500 + + Merge pull request #6834 from SUSE/wip-13930-hammer + + hammer: Ceph Pools' MAX AVAIL is 0 if some OSDs' weight is 0 + + Reviewed-by: Sage Weil + +commit 72b6b68f43ffc953ca7f3056574bd68428a5abe8 +Merge: d064f9f 53e81aa +Author: Sage Weil +Date: Thu Jan 14 09:17:25 2016 -0500 + + Merge pull request #6832 from SUSE/wip-13936-hammer + + hammer: Ceph daemon failed to start, because the service name was already used. + + Reviewed-by: Sage Weil + +commit d064f9f6b3bc93fa5887304a9b9ab92d503ebd15 +Merge: 0ca6285 ac05617 +Author: Sage Weil +Date: Thu Jan 14 09:16:54 2016 -0500 + + Merge pull request #6755 from SUSE/wip-13870-hammer + + hammer: OSD: race condition detected during send_failures + + Reviewed-by: Sage Weil + +commit 0ca62855f22136c7042a5988366d46e59629f206 +Merge: e9f545b a81bcf7 +Author: Loic Dachary +Date: Thu Jan 14 08:22:35 2016 +0100 + + Merge pull request #6415 from dillaman/wip-13541-hammer + + LTTng-UST tracing should be dynamically enabled + + Reviewed-by: Loic Dachary + +commit e9f545b4a44c91faf91a8ae3824b1b0d46909244 +Merge: 8521916 b2f1e76 +Author: Loic Dachary +Date: Thu Jan 14 08:15:02 2016 +0100 + + Merge pull request #7176 from dachary/wip-13440-hammer + + ceph-disk prepare fails if device is a symlink + + Reviewed-by: Loic Dachary + +commit 85219163f9b78faa3c1fe96cad7129c6813550c0 +Merge: ebfb3fb 5264bc6 +Author: Loic Dachary +Date: Thu Jan 14 08:14:31 2016 +0100 + + Merge pull request #7150 from jecluis/wip-14236 + + mon: OSDMonitor: do not assume a session exists in send_incremental() + + Reviewed-by: Kefu Chai + +commit ebfb3fbe8a1920474941d4a95540cc4a53a747d4 +Merge: e1b9208 447ab1d +Author: Josh Durgin +Date: Wed Jan 13 17:15:32 2016 -0800 + + Merge pull request #7226 from dillaman/wip-13810-hammer + + tests: notification slave needs to wait for master + + Reviewed-by: Josh Durgin + +commit 447ab1d70a63fceed39518d5714c138c54f6525e +Author: Jason Dillaman +Date: Wed Jan 13 12:44:01 2016 -0500 + + tests: notification slave needs to wait for master + + If the slave instance starts before the master, race + conditions are possible. + + Fixes: #13810 + Backport: infernalis, hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 3992d6fe67bbf82322cedc1582406caaf6d4de60) + +commit 53742bdbc587747c93413f9db38f3eeb71487872 +Author: David Zafman +Date: Mon Jun 15 17:55:41 2015 -0700 + + ceph_osd: Add required feature bits related to this branch to osd_required mask + + Signed-off-by: David Zafman + (cherry picked from commit 0b2bab460c013ea5cece10ea028d26da3485eaf5) + +commit 3066231865e2fe56344de9db26024ac65e03053d +Author: David Zafman +Date: Thu Jun 4 18:47:42 2015 -0700 + + osd: CEPH_FEATURE_CHUNKY_SCRUB feature now required + + Feature present since at least the Dumpling release. + A later commit will add it to the osd_required mask + + Fixes: #11661 + + Signed-off-by: David Zafman + (cherry picked from commit 7a10a7e196efd0f59fa7adb87d0a120655b227d8) + +commit e1b92081c9e4b21eb30cc873c239083a08fce12f +Merge: 9708e59 3d3595f +Author: Loic Dachary +Date: Tue Jan 12 14:28:26 2016 +0100 + + Merge pull request #6530 from SUSE/wip-13760-hammer + + unknown argument --quiet in udevadm settle + + Reviewed-by: Loic Dachary + +commit 6379ff16dbc7fdecccaa8874d978d1ab58ce44cf +Author: Kefu Chai +Date: Tue May 5 15:07:33 2015 +0800 + + configure.ac: no use to add "+" before ac_ext=c + + Signed-off-by: Kefu Chai + (cherry picked from commit 899dd23766c5ae6fef39bf24ef0692127d17deb3) + Signed-off-by: Robin H. Johnson + +commit f96c8125d423f24e52df0f8420b0b2748e34ca90 +Author: Herve Rousseau +Date: Fri Nov 6 09:52:28 2015 +0100 + + rgw: fix reload on non Debian systems. + + When using reload in non-debian systems, /bin/sh's kill is used to send the HUP signal to the radosgw process. + This kill version doesn't understand -SIGHUP as a valid signal, using -HUP does work. + + Fix: #13709 + Backport: hammer + Signed-off-by: Hervé Rousseau + (cherry picked from commit 1b000abac3a02d1e788bf25eead4b6873133f5d2) + +commit cbb5c1fc2386205277ad22474c1f696a07fcb972 +Author: Igor Fedotov +Date: Thu Nov 19 13:38:40 2015 +0300 + + Fixing NULL pointer dereference + + Signed-off-by: Igor Fedotov + (cherry picked from commit 93d3dfe0441be50a6990d458ee0ee3289af39b20) + +commit b2961cef3d8e84d2302815e33eb7dc9033d2bb78 +Author: Sage Weil +Date: Tue Aug 18 16:05:29 2015 -0400 + + rbd: fix bench-write + + Make each IO get a unique offset! + + Signed-off-by: Sage Weil + (cherry picked from commit 333f3a01a9916c781f266078391c580efb81a0fc) + +commit 9cee89bbdd1d89d2fe72c8d73fc0c18db515198a +Author: BJ Lougee +Date: Mon Apr 13 11:24:38 2015 -0500 + + Check that delta_sum.stats.sum.num_object_copies and delta_sum.stats.sum.num_object are greater than zero + + This fixes division by zero. + + Signed-off-by BJ Lougee + + (cherry picked from commit 27ed729c1088133400aa072eeca9e125942f2d94) + +commit 1ab2b481596ad5296e168bf8027e59d41190176e +Author: xiexingguo <258156334@qq.com> +Date: Tue Dec 22 17:05:06 2015 +0800 + + ReplicatedPG: fix sparse-read result code checking logic + + Move ahead the result code checking logic before we continue to verify the trailing hole, otherwise + the real result of non-hole reading may be overwritten and thus confuse caller. + + Fixes: #14151 + Signed-off-by: xie xingguo + (cherry picked from commit b3aa29e324cf0a96a1f2f5dcf1ba998219457bcd) + + Conflicts: + src/osd/ReplicatedPG.cc: trivial resolution + +commit 86f5cf6caa36760802775df19cdabe55bcafa33e +Author: Sage Weil +Date: Fri Jan 1 09:32:04 2016 -0500 + + osd: clear pg_stat_queue after stopping pgs + + Fixes: #14212 + Signed-off-by: Sage Weil + (cherry picked from commit c25ff9927febe77cda31b534971b62f75c196ca2) + +commit b0856ee67c0e7cf6ab6095d3f657c18014859526 +Author: David Zafman +Date: Thu Dec 3 14:52:24 2015 -0800 + + osd: Test osd_find_best_info_ignore_history_les config in another assert + + Signed-off-by: David Zafman + (cherry picked from commit 02a9a41f151a3d968bf8066749658659dc6e3ac4) + +commit b2f1e76d8e95b6e2f88fa1c122ea8cd24532cd10 +Author: Joe Julian +Date: Fri Oct 9 12:57:06 2015 -0700 + + Compare parted output with the dereferenced path + + Compare parted output with the dereferenced path of the device as parted + prints that instead of the symlink we called it with. + + http://tracker.ceph.com/issues/13438 Fixes: #13438 + + Signed-off-by: Joe Julian + (cherry picked from commit b3c7cb098195111b9c642e5a9b726b63717f2e0d) + +commit 9708e59a1fc2ae52cfae848ce585751bc9fbe572 +Merge: 9739d4d b62cac6 +Author: Loic Dachary +Date: Mon Jan 11 09:01:12 2016 +0100 + + Merge pull request #6512 from SUSE/wip-13734-hammer + + rgw: swift API returns more than real object count and bytes used when retrieving account metadata + + Reviewed-by: Yehuda Sadeh + +commit 5264bc677f0f612165987bf51fe7d7b4af32fa77 +Author: Joao Eduardo Luis +Date: Thu Jan 7 19:20:47 2016 +0000 + + mon: OSDMonitor: do not assume a session exists in send_incremental() + + We may not have an open session for a given osd. If we blindly assume we + do, we may end up trying to send incrementals we do not have to the osd. + + And then we will crash. + + This fixes a regression introduced by + + 171fee1b82d2675e364da7f96dfb9dd286d9b6e6 + + which is meant as a backport of + + de43a02e06650a552f048dc8acd17f255126fed9 + + but so happens to intruduce a line that wasn't on the original patch. We + imagine it was meant to make the 's->osd_epoch' assignment work without + checking the session, as per the original patch, but the backporter must + have forgotten to also backport the assertion on the not-null session. + The unfortunate introduction of the check for a not-null session + triggered this regression. + + The regression itself is due to enforcing that a session exists for the + osd we are sending the incrementals to. However, if we come via the + OSDMonitor::process_failures() path, that may very well not be the case, + as we are handling potentially-old MOSDFailure messages that may no + longer have an associated session. By enforcing the not-null session, we + don't check whether we have the requested versions (i.e., if + our_earliest_version <= requested_version), and thus we end up on the + path that assumes that we DO HAVE all the necessary versions -- when we + may not, thus finally asserting because we are reading blank + incremental versions. + + Fixes: #14236 + + Signed-off-by: Joao Eduardo Luis + +commit 4d0b9a1bbbabe7b27279a7b6e0a45f5b0d920c66 +Author: Brad Hubbard +Date: Mon Dec 7 11:31:28 2015 +1000 + + log: Log.cc: Assign LOG_DEBUG priority to syslog calls + + Fixes: #13993 + Signed-off-by: Brad Hubbard + (cherry picked from commit 8e93f3f45db681f82633ca695a7dc4e7bd030584) + +commit 26e832e76de90e0a751868b044ea745a97a5af82 +Author: Jason Dillaman +Date: Fri Dec 18 15:22:13 2015 -0500 + + librbd: fix merge-diff for >2GB diff-files + + Fixes: #14063 + Signed-off-by: Jason Dillaman + +commit 9739d4de49f8167866eda556b2f1581c068ec8a7 +Merge: d064636 a9d3f07 +Author: Sage Weil +Date: Thu Dec 17 10:16:29 2015 -0500 + + Merge pull request #6544 from liewegas/wip-smaller-object-info + + osd: make encoded object_info_t smaller to fit inside the XFS inode + + Reviewed-by: Samuel Just + +commit a9d3f078cb6cdaf7f8778ba1a07d333548a9d1a2 +Author: Sage Weil +Date: Mon Dec 14 13:13:33 2015 -0500 + + osd/osd_types: skip encoding newer object_info_t fields if they are unused + + This reduces the size of the encoded object_info_t in most cases, + enough to get us under the 255 byte limit for a single inline + xattr in XFS. + + Signed-off-by: Sage Weil + +commit 1548a3fda7dd63e28792140e7e8ad1ac9b706e49 +Author: Sage Weil +Date: Mon Dec 14 13:00:27 2015 -0500 + + osd/ReplicatedPG: do not set local_mtime on non-tiered pool + + If a pool isn't tiered, don't bother with setting local_mtime. The only + users are the tiering agent (which isn't needed if there is not tiering) + and scrub for deciding if an object should get its digest recorded (we can + use mtime instead). + + Signed-off-by: Sage Weil + +commit 98bdb09bb8d632b2df0b252b3d9676fd9511a1c8 +Author: Sage Weil +Date: Mon Dec 14 12:59:29 2015 -0500 + + osd/PGBackend: use mtime for digest decision if local_mtime is empty + + If we don't have a local_mtime value, use mtime instead, for the purposes + of deciding if we should record a digest after scrub. + + Signed-off-by: Sage Weil + +commit fe1c28dea4e5607a0c72eab1f046074616cd55a7 +Author: Sage Weil +Date: Mon Dec 14 11:35:46 2015 -0500 + + osd/ReplicatedPG: do not set omap digest if there is no omap + + We want to avoid encoding it if we can. And if the FLAG_OMAP is not set + we don't need to *also* store an empty crc. + + Signed-off-by: Sage Weil + +commit 6cf261cd2e80adbaf2898cb354c8159a57749e9d +Author: xiexingguo <258156334@qq.com> +Date: Mon Nov 2 21:46:11 2015 +0800 + + Objecter: remove redundant result-check of _calc_target in _map_session. + + Result-code check is currently redundant since _calc_target never returns a negative value. + Signed-off-by: xie xingguo + + (cherry picked from commit 5a6117e667024f51e65847f73f7589467b6cb762) + +commit 5d0b5c1389d8c0baddb40cc5ff8f1d9cc6a4d315 +Author: xiexingguo <258156334@qq.com> +Date: Thu Oct 29 17:32:50 2015 +0800 + + Objecter: potential null pointer access when do pool_snap_list. + + Objecter: potential null pointer access when do pool_snap_list. Shall check pool existence first. + Fixes: #13639 + Signed-off-by: xie xingguo + (cherry picked from commit 865541605b6c32f03e188ec33d079b44be42fa4a) + +commit 66ff0aa0130973aa2bea3a1a4ec8f4e3e6c19da8 +Author: qiankunzheng +Date: Thu Nov 5 07:29:49 2015 -0500 + + auth/cephx: large amounts of log are produced by osd + if the auth of osd is deleted when the osd is running, the osd will produce large amounts of log. + + Fixes:#13610 + Signed-off-by: Qiankun Zheng + (cherry picked from commit 102f0b19326836e3b0754b4d32da89eb2bc0b03c) + +commit 61da13bbe271964c56116fb2bed51045290f951a +Author: Chengyuan Li +Date: Thu Nov 19 22:29:39 2015 -0700 + + mon/PGMonitor: MAX AVAIL is 0 if some OSDs' weight is 0 + + In get_rule_avail(), even p->second is 0, it's possible to be used + as divisor and quotient is infinity, then is converted to an integer + which is negative value. + So we should check p->second value before calculation. + + It fixes BUG #13840. + + Signed-off-by: Chengyuan Li + (cherry picked from commit 18713e60edd1fe16ab571f7c83e6de026db483ca) + +commit 53e81aab442855b34ee6e922f181bae3bf33e292 +Author: wangchaunhong +Date: Tue Oct 20 18:40:23 2015 +0800 + + init-ceph: fix systemd-run cant't start ceph daemon sometimes + + Fixes: #13474 + Signed-off-by: Chuanhong Wang + (cherry picked from commit 2f36909e1e08bac993e77d1781a777b386335669) + + Conflicts: + src/init-ceph.in + different content of cmd variable + +commit c2c6d02591519dfd15ddcb397ac440322a964deb +Author: Piotr DaÅ‚ek +Date: Mon Jul 6 09:56:11 2015 +0200 + + tools: fix race condition in seq/rand bench + + Under certain conditions (like bench seq/rand -b 1024 -t 128) it is + possible that aio_read reads data into destination buffers before or + during memcmp execution, resulting in "[..] is not correct!" errors + even if actual objects are perfectly fine. + Also, moved latencty calculation around, so it is no longer affeted + by memcmp. + + Signed-off-by: Piotr DaÅ‚ek + + Conflicts: + src/common/obj_bencher.cc + +commit a619b621b0a7c670eeaf163d9e2b742d13c9f517 +Author: Piotr DaÅ‚ek +Date: Wed May 20 12:41:22 2015 +0200 + + tools: add --no-verify option to rados bench + + When doing seq and rand read benchmarks using rados bench, a quite large + portion of cpu time is consumed by doing object verification. This patch + adds an option to disable this verification when it's not needed, in turn + giving better cluster utilization. rados -p storage bench 600 rand scores + without --no-verification: + + Total time run: 600.228901 + Total reads made: 144982 + Read size: 4194304 + Bandwidth (MB/sec): 966 + Average IOPS: 241 + Stddev IOPS: 38 + Max IOPS: 909522486 + Min IOPS: 0 + Average Latency: 0.0662 + Max latency: 1.51 + Min latency: 0.004 + + real 10m1.173s + user 5m41.162s + sys 11m42.961s + + Same command, but with --no-verify: + + Total time run: 600.161379 + Total reads made: 174142 + Read size: 4194304 + Bandwidth (MB/sec): 1.16e+03 + Average IOPS: 290 + Stddev IOPS: 20 + Max IOPS: 909522486 + Min IOPS: 0 + Average Latency: 0.0551 + Max latency: 1.12 + Min latency: 0.00343 + + real 10m1.172s + user 4m13.792s + sys 13m38.556s + + Note the decreased latencies, increased bandwidth and more reads performed. + + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit ca6abca63de813c83a6960f83624be8e1a86a1f8) + + Conflicts: + src/common/obj_bencher.cc + src/common/obj_bencher.h + +commit d06463604cb8daeda288e824e8812352c0d6a7d9 +Merge: ec35347 609f256 +Author: Loic Dachary +Date: Wed Dec 2 20:48:00 2015 +0100 + + Merge pull request #6527 from theanalyst/wip-12856-hammer + + rgw: missing handling of encoding-type=url when listing keys in bucket + + Reviewed-by: Yehuda Sadeh + +commit ec35347d8fd7a0eb175710e6111a9196746e278c +Merge: 487dc34 1b06f03 +Author: Loic Dachary +Date: Wed Dec 2 20:47:43 2015 +0100 + + Merge pull request #6491 from SUSE/wip-13716-hammer + + rgw:swift use Civetweb ssl can not get right url + + Reviewed-by: Yehuda Sadeh + +commit 487dc3436a8fabd1b1a31563071c907bdf18f525 +Merge: 18d3ba3 99b4d1d +Author: Loic Dachary +Date: Wed Dec 2 20:47:27 2015 +0100 + + Merge pull request #6351 from theanalyst/wip-13538-hammer + + rgw: orphan tool should be careful about removing head objects + + Reviewed-by: Yehuda Sadeh + +commit 18d3ba30323a44c1cc45bf4e870b8d9aeb5c3b0b +Merge: 36e4db3 6d89f4b +Author: Loic Dachary +Date: Wed Dec 2 20:47:09 2015 +0100 + + Merge pull request #6349 from theanalyst/wip-13540-hammer + + rgw: get bucket location returns region name, not region api name + + Reviewed-by: Yehuda Sadeh + +commit 36e4db36f5ec9418672bbfe0dce6ae757f697efe +Merge: 8c4145e db1cbe7 +Author: Loic Dachary +Date: Wed Dec 2 20:46:49 2015 +0100 + + Merge pull request #5910 from kmroz/wip-hammer-backport-content-type + + rgw: backport content-type casing + + Reviewed-by: Yehuda Sadeh + +commit ac05617b246d3c2a329b1b99b0371e3f6b8541e9 +Author: Sage Weil +Date: Thu Sep 17 21:42:53 2015 -0400 + + osd: fix send_failures() locking + + It is unsafe to check failure_queue.empty() without the lock. + + Signed-off-by: Sage Weil + (cherry picked from commit b3ca828ae8ebc9068073494c46faf3e8e1443ada) + +commit 8c4145ecc4a68accdb2120889fd933e8f6630dba +Merge: 4804eec 112c686 +Author: Josh Durgin +Date: Wed Nov 25 08:47:10 2015 -0800 + + Merge pull request #6587 from theanalyst/wip-13758-hammer + + common: pure virtual method called + + Reviewed-by: Josh Durgin + +commit 4804eec095959c3747b13d29224b2cfa5b7d198d +Merge: 9b97e4f e693755 +Author: Daniel Gryniewicz +Date: Wed Nov 25 10:49:15 2015 -0500 + + Merge pull request #6352 from theanalyst/wip-13536-hammer + + rgw: bucket listing hangs on versioned buckets + +commit 9b97e4f6a41bb3fe7bae92b71ae266361022cf5c +Merge: 5a9e0a7 0378445 +Author: Loic Dachary +Date: Wed Nov 25 16:48:09 2015 +0100 + + Merge pull request #6589 from theanalyst/wip-13693-hammer + + osd: bug with cache/tiering and snapshot reads + + Reviewed-by: Kefu Chai + +commit 5a9e0a722c654b83fc483e083ddb3035281f5397 +Merge: 3047f2b a322317 +Author: Loic Dachary +Date: Wed Nov 25 16:22:10 2015 +0100 + + Merge pull request #6585 from theanalyst/wip-13753-hammer + + rbd: avoid re-writing old-format image header on resize + + Reviewed-by: Josh Durgin + +commit 3047f2bc50d5d26e70e832bd427f15073bf7733c +Merge: 407bd02 9c33dcc +Author: Loic Dachary +Date: Mon Nov 23 19:57:03 2015 +0100 + + Merge pull request #6586 from theanalyst/wip-13755-hammer + + rbd: QEMU hangs after creating snapshot and stopping VM + + Reviewed-by: Josh Durgin + +commit 407bd0281582ebb3b50ce51bdb48244e22463c8f +Merge: c3c400f bddbda1 +Author: Loic Dachary +Date: Mon Nov 23 17:32:21 2015 +0100 + + Merge pull request #6588 from theanalyst/wip-13770-hammer + + Objecter: pool op callback may hang forever. + + Reviewed-by: Sage Weil + +commit c3c400f68d9c2593acd9485d1214d14af4e930d0 +Merge: d116959 a52f7cb +Author: Loic Dachary +Date: Mon Nov 23 15:13:24 2015 +0100 + + Merge pull request #6430 from SUSE/wip-13654-hammer + + crush: crash if we see CRUSH_ITEM_NONE in early rule step + + Reviewed-by: Sage Weil + +commit 3f1292e117ab1cdcaef3b24ee33854f7be142795 +Author: Nathan Cutler +Date: Thu Sep 3 20:30:50 2015 +0200 + + ceph.spec.in: fix License line + + This is closer to my reading of + https://github.com/ceph/ceph/blob/master/COPYING than the previous version. + + http://tracker.ceph.com/issues/12935 Fixes: #12935 + + Signed-off-by: Nathan Cutler + (cherry picked from commit ef7418421b3748c712019c8aedd02b8005c1e1ea) + +commit d116959442f67c8f36898ca989b490ca84a609c6 +Merge: 12be099 74203b8 +Author: Loic Dachary +Date: Mon Nov 23 09:28:09 2015 +0100 + + Merge pull request #6420 from SUSE/wip-13637-hammer + + FileStore: potential memory leak if getattrs fails. + + Reviewed-by: Kefu Chai + +commit 12be099a7b0f2692c167af96928e939b2227160c +Merge: 39c70d4 2052187 +Author: Loic Dachary +Date: Sat Nov 21 09:10:27 2015 +0100 + + Merge pull request #6528 from theanalyst/wip-13695-hammer + + init-rbdmap uses distro-specific functions + + Reviewed-by: Boris Ranto + +commit 39c70d4364a1be39f7c393847417f44279b4364c +Merge: 65aeba0 9643ee6 +Author: Loic Dachary +Date: Sat Nov 21 09:07:13 2015 +0100 + + Merge pull request #6499 from SUSE/wip-13692-hammer + + osd: do not cache unused memory in attrs + + Reviewed-by: Samuel Just + +commit 65aeba0b2f165d893d06df7e9bbe25f989edafe9 +Merge: 24d6698 394fbfc +Author: Loic Dachary +Date: Sat Nov 21 08:59:25 2015 +0100 + + Merge pull request #6143 from dachary/wip-13340-hammer + + small probability sigabrt when setting rados_osd_op_timeout + + Reviewed-by: Sage Weil + +commit 24d66981d351848c44ae9e0395dad392f852be2b +Merge: 5d204db 171fee1 +Author: Loic Dachary +Date: Sat Nov 21 08:58:11 2015 +0100 + + Merge pull request #5773 from tchaikov/wip-12835-hammer + + mon: map_cache can become inaccurate if osd does not receive the osdmaps + + Reviewed-by: Loic Dachary + +commit a81bcf723c1099f2bea5daf8b01b7d9853de323a +Author: Jason Dillaman +Date: Thu Oct 15 00:15:54 2015 -0400 + + ceph_context: remove unsafe cast for singletons + + It was previously assumed that a CephContext singleton would + inherit from CephContext::AssociatedSingletonObject, but it was + not enforced. This could result in unknown behavior when the + singleton is destroyed due to the implied virtual destructor. + + Signed-off-by: Jason Dillaman + (cherry picked from commit fb62c78637d7092f48871d943282f45029bd6d29) + +commit d50d7b2fa3751e8520694ee75eefe5ae56e57267 +Author: Jason Dillaman +Date: Wed Sep 30 22:53:28 2015 -0400 + + osd: conditionally initialize the tracepoint provider + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0009f343a5daf28358a669836d95660c0d9068d8) + +commit bf34b3657339dc40c7939fcdddaf2b7ae78c82ad +Author: Jason Dillaman +Date: Wed Sep 30 22:37:05 2015 -0400 + + librados: conditionally initialize the tracepoint provider + + Signed-off-by: Jason Dillaman + (cherry picked from commit 6368c281b53d6175a564725b85516de4b6ae54de) + +commit afc4f176f8371f0e61ce3463602f8a355b9283b9 +Author: Jason Dillaman +Date: Wed Sep 30 22:10:10 2015 -0400 + + librbd: conditionally initialize the tracepoint provider + + Signed-off-by: Jason Dillaman + (cherry picked from commit 1a6eea95bd1ccef53f01cf53e493e652faa203ee) + + Conflicts: + src/librbd/librbd.cc: trivial resolution + +commit c82f93915875875b21ed779e7aaf297b8fbcdca1 +Author: Jason Dillaman +Date: Wed Sep 30 19:17:08 2015 -0400 + + common: new tracing config options + + Config options to enable LTTng-UST tracepoint providers for + the OSD, OSD objectstore, librados, and librbd. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2ccef89badb1f7a63721a0bf48d05eb4c2d0a97a) + + Conflicts: + src/common/config_opts.h: trivial resolution + +commit 2168c151066e0cea86284ffdf947a353f3b323d5 +Author: Jason Dillaman +Date: Wed Sep 30 18:49:32 2015 -0400 + + tracing: merge tracepoint provider makefiles into main makefile + + This results in the tracepoint provider shared libraries being + placed in the library path for unittests. + + Signed-off-by: Jason Dillaman + (cherry picked from commit e11d8d68da27a1c224aa55fc40a72ac6aaa0441c) + + Conflicts: + configure.ac: trivial resolution + src/Makefile.am: trivial resolution + +commit d02beff1cf7650fe6e57cdafe64dcbee2631ed52 +Author: Jason Dillaman +Date: Wed Sep 30 15:13:24 2015 -0400 + + tracing: dynamic tracepoint provider helper + + The TracepointProvider class is a configuration observer. When + tracing is enabled, it will dynamically load the associated + tracepoint provider. + + Signed-off-by: Jason Dillaman + (cherry picked from commit b3d02cc21b4cc40a194f84a9bbbf82cf9e7956d1) + + Conflicts: + src/common/Makefile.am: trivial resolution + +commit e53d66e42b1c3aea47832f7e8983284ec45d9efa +Author: Jason Dillaman +Date: Tue Sep 29 14:33:48 2015 -0400 + + packaging: add new tracepoint probe shared libraries + + Signed-off-by: Jason Dillaman + (cherry picked from commit a7ed8e161b27c7852bf0f3a23a977ebd39137943) + +commit bb7c0f501918b75dee97052faeafb1d6db61bd0a +Author: Jason Dillaman +Date: Tue Sep 29 14:30:43 2015 -0400 + + ceph.spec.in: add new tracepoint probe shared libraries + + Signed-off-by: Jason Dillaman + (cherry picked from commit f4feee2f9dcd7b94476701b66d1f0bdf6fb6e0c2) + + Conflicts: + ceph.spec.in: trivial resolution + +commit e1da27134e4c9b4a2881aca664818598e5b2125b +Author: Jason Dillaman +Date: Tue Sep 29 14:13:46 2015 -0400 + + lttng: move tracepoint probes to dynamic libraries + + LTTng-UST initializes itself at program load, which means it is + currently always enabled. This can lead to issues with SElinux + and AppArmor which might restrict access to the necessary device + files. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4a5305e41677885d45b2b74299113a3d00189c66) + + Conflicts: + src/test/Makefile-client.am: trivial resolution + src/tracing/Makefile.am: trivial resolution + +commit 5d204db85b2ed84411cfabea9eb73aa04c6ce05a +Merge: 1dbd4c6 8378aaf +Author: Loic Dachary +Date: Thu Nov 19 19:45:25 2015 +0100 + + Merge pull request #6580 from dachary/wip-13786-hammer + + rbd-replay-* moved from ceph-test-dbg to ceph-common-dbg as well + + Reviewed-by: Loic Dachary + +commit 1dbd4c66307e615670c7569f107418876f8b977f +Merge: 24a5dc0 634d7f6 +Author: Loic Dachary +Date: Thu Nov 19 19:45:03 2015 +0100 + + Merge pull request #6286 from dillaman/wip-13460-hammer + + rbd-replay-prep and rbd-replay improvements + + Reviewed-by: Loic Dachary + +commit 24a5dc0a6b4f73c92c82e1933a1924db3f8e1090 +Merge: d27da2e 6a40e4f +Author: Loic Dachary +Date: Thu Nov 19 19:41:20 2015 +0100 + + Merge pull request #5790 from SUSE/wip-12932-hammer + + Miscellaneous spec file fixes + + Reviewed-by: Loic Dachary + +commit d27da2ee8fa3e074fdd91d414df2d59978db9497 +Merge: 7d21127 8358fb8 +Author: Kefu Chai +Date: Thu Nov 19 19:13:11 2015 +0800 + + Merge pull request #6644 from dachary/wip-13812-upgrade + + revert: osd: use GMT time for hitsets + + Reviewed-by: Kefu Chai + +commit 8358fb8946d8809d695092baa4a6abf5d5b5e265 +Author: Loic Dachary +Date: Wed Nov 18 18:08:58 2015 +0100 + + revert: osd: use GMT time for hitsets + + "Merge pull request #5825 from tchaikov/wip-12848-hammer" + + This reverts commit 39544718dc2f09bcfdc632ac72fd2a3cda87687e, reversing + changes made to 4ad97162026e1eb6e6e948ddf3eb39f711431e45. + + http://tracker.ceph.com/issues/13812 Fixes: #13812 + + Signed-off-by: Loic Dachary + +commit 4420929eacb67d17635fed53f15471a28942f31d +Author: brian +Date: Wed Sep 23 09:49:36 2015 -0500 + + rgw: fix modification to index attrs when setting acls + + Fixes: #12955 + + - add ACL change after initial population + - populate bufferlist with object attributes + + Signed-off-by: Brian Felton + (cherry picked from commit 7496741ebbd75b74d5ffeca5341cccb2318176e6) + +commit 7d21127f433afa2d9172954e7b8ff47c40d2d62b +Merge: 6930601 1448915 +Author: Loic Dachary +Date: Tue Nov 17 10:24:45 2015 +0100 + + Merge pull request #6402 from SUSE/wip-13621-hammer + + CephFS restriction on removing cache tiers is overly strict + + Reviewed-by: Greg Farnum + +commit 693060102594a2c505bed1e7e274731b554e9179 +Merge: c2daf09 3f33ce6 +Author: Loic Dachary +Date: Mon Nov 16 22:06:51 2015 +0100 + + Merge pull request #6354 from theanalyst/wip-13387-hammer + + librbd: reads larger than cache size hang + + Reviewed-by: Jason Dillaman + +commit c2daf09fc6b8802240e13367a0a2f3349a7cca56 +Merge: 1ca72fb af734e6 +Author: Loic Dachary +Date: Mon Nov 16 19:48:07 2015 +0100 + + Merge pull request #6289 from dillaman/wip-13461-hammer + + librbd: invalidate object map on error even w/o holding lock + + Reviewed-by: Loic Dachary + +commit 1ca72fbe6be0d664a3cbbd4356a8547c3b749a03 +Merge: ca573fe 3e65730 +Author: Loic Dachary +Date: Mon Nov 16 18:06:25 2015 +0100 + + Merge pull request #6153 from dachary/wip-13205-hammer + + ReplicatedBackend: populate recovery_info.size for clone (bug symptom is size mismatch on replicated backend on a clone in scrub) + + Reviewed-by: Samuel Just + +commit ca573fe7ac5a699b77cacb8fedfa50fffc77dd52 +Merge: fdb3446 7161a2c +Author: Loic Dachary +Date: Mon Nov 16 18:06:12 2015 +0100 + + Merge pull request #6158 from dachary/wip-13336-hammer + + osd: we do not ignore notify from down osds + + Reviewed-by: Samuel Just + +commit fdb3446194743135b78a65c30a8285d001e563b6 +Merge: f017566 0ad9521 +Author: Loic Dachary +Date: Mon Nov 16 18:06:01 2015 +0100 + + Merge pull request #6335 from Abhishekvrshny/wip-13488-hammer + + object_info_t::decode() has wrong version + + Reviewed-by: Samuel Just + +commit f017566823af70323b7d4cbe1f7b3b761378d07e +Merge: a79acd4 9f3aebe +Author: Loic Dachary +Date: Mon Nov 16 18:05:39 2015 +0100 + + Merge pull request #6401 from SUSE/wip-13620-hammer + + osd: pg stuck in replay + + Reviewed-by: Samuel Just + +commit 8378aaf3f9d5463fb61a19d601201dd63a884419 +Author: Loic Dachary +Date: Fri Nov 13 19:10:28 2015 +0100 + + build/ops: rbd-replay moved from ceph-test-dbg to ceph-common-dbg + + http://tracker.ceph.com/issues/13785 Fixes: #13785 + + Signed-off-by: Loic Dachary + (cherry picked from commit a0204dc47acc0c50223e449fd23a2fc97bfd111a) + + Conflicts: + debian/control: << 0.94.5-2 is appropriate for hammer + +commit 03784457ab77617ddafc048b01044858b1e65bd3 +Author: Kefu Chai +Date: Tue Sep 29 22:26:48 2015 +0800 + + osd: fix the snapshot reads of evicted tiering pool + + reset ssc->exsits in finish_ctx() if the ctx->cache_evict is true, and + the head is removed. + + Fixes: #12748 + Signed-off-by: Kefu Chai + (cherry picked from commit b61f3e43f1c9d43daa0dedd7cbd0fe5787cbdfbb) + +commit bddbda121c8d52ba8e50abd0341f14e332c6af5a +Author: xiexingguo <258156334@qq.com> +Date: Thu Oct 29 20:04:11 2015 +0800 + + Objecter: pool_op callback may hang forever. + + pool_op callback may hang forever due to osdmap update during reply handling. + Fixes: #13642 + Signed-off-by: xie xingguo + + (cherry picked from commit 00c6fa9e31975a935ed2bb33a099e2b4f02ad7f2) + +commit 112c686ffc98e3739c9944635f4044e2b34f210a +Author: Jason Dillaman +Date: Tue Jul 7 12:11:13 2015 -0400 + + WorkQueue: new PointerWQ base class for ContextWQ + + The existing work queues do not properly function if added to a running + thread pool. librbd uses a singleton thread pool which requires + dynamically adding/removing work queues as images are opened and closed. + + Fixes: #13636 + Signed-off-by: Jason Dillaman + (cherry picked from commit 3e78b18b09d75626ca2599bac3b9f9c9889507a5) + + Conflicts: + src/common/WorkQueue.h + Trivial merge conflict at class `ContextWQ` initialization + +commit 9c33dccaad9a4cdd46e9ecfa1e3ba6c03d95885a +Author: Jason Dillaman +Date: Mon Nov 9 11:22:24 2015 -0500 + + librbd: fixed deadlock while attempting to flush AIO requests + + In-flight AIO requests might force a flush if a snapshot was created + out-of-band. The flush completion was previously invoked asynchronously, + potentially via the same thread worker handling the AIO request. This + resulted in the flush operation deadlocking since it can't complete. + + Fixes: #13726 + Backport: infernalis, hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit bfeb90e5fe24347648c72345881fd3d932243c98) + +commit b3b7877f9b4b3f43acab09d0dd6ee971b6aa1c29 +Author: Jason Dillaman +Date: Mon Nov 9 10:48:10 2015 -0500 + + tests: new test case to catch deadlock on RBD image refresh + + Signed-off-by: Jason Dillaman + (cherry picked from commit a9729d9553e7fb925509cad8d388cf52a9fede9c) + +commit a3223173f85c42147ff4ced730beffe85146a4ed +Author: Jason Dillaman +Date: Mon Nov 2 16:50:19 2015 -0500 + + librbd: resize should only update image size within header + + Previously, the whole RBD image format 1 header struct was + re-written to disk on a resize operation. + + Fixes: #13674 + Backport: infernalis, hammer, firefly + Signed-off-by: Jason Dillaman + (cherry picked from commit d5be20b6d4646284571568ab28cbf45b0729390b) + +commit 6a40e4f19d7b4cd45a25161303c7363e96fe799e +Author: Nathan Cutler +Date: Tue Sep 29 10:39:16 2015 +0200 + + ceph.spec.in: lttng in SLES12 only + + Over in the SUSE sector, we are trying to enable the SLE_12 and openSUSE_13.2 + build targets. The lttng/babeltrace stuff is currently available only in + SLE_12. + + Signed-off-by: Nathan Cutler + (cherry picked from commit bf9ca1eb107c4462d8768faf3ff4db7972384ffd) + + Conflicts: + ceph.spec.in + trivial resolution + +commit e508a44485366557ac8a280de35584f3b5edf720 +Author: Nathan Cutler +Date: Wed Jul 15 12:54:20 2015 +0200 + + ceph.spec.in: fix lttng/babeltrace conditionals + + lttng and babeltrace are build dependencies for rbd-replay-prep. Make + sure the right package names are used. Enable for SLE12, as well as + for openSUSE 13.1 and higher. + + Move the BuildRequires out of the ceph-test subpackage and into the + distro-conditional dependencies section. + + Make ordering of BuildRequires a little more alphabetical. + + http://tracker.ceph.com/issues/12360 Fixes: #12360 + + Signed-off-by: Nathan Cutler + (cherry picked from commit e267128ce22d8b8cd83f6d6d82f24f496600e678) + + Conflicts: + ceph.spec.in + Dropped Requires: xmlstarlet in ceph-test that had inadvertently + been grabbed from d2cc2b1 + +commit 19c9546b79f506d0b4ee005a138a77f120c629e8 +Author: Ken Dreyer +Date: Tue Sep 8 10:41:02 2015 -0600 + + packaging: move rbd-replay* to ceph-common + + The rbd-replay* utilities are useful for Ceph users with RBD clients. + Currently the rbd-replay* utilities ship in the "ceph-test" package, and + we intend this ceph-test package for Ceph developers and contributors, + not normal users. + + Move the rbd-replay* utilities to "ceph-common". + + http://tracker.ceph.com/issues/12994 Fixes: #12994 + + Signed-off-by: Ken Dreyer + (cherry picked from commit 96486fd6f284ca3ab67f4f94631896d41c529e85) + + Conflicts: + ceph.spec.in + 50a33dea has not been backported to hammer + debian/ceph-test.install + 50a33dea has not been backported to hammer + debian/control + different ceph-test Replaces: and Breaks: version + +commit a79acd41187e6b049432bdc314f192e3fbb560a3 +Merge: 3d61493 31b7864 +Author: Loic Dachary +Date: Wed Nov 11 11:59:36 2015 +0100 + + Merge pull request #6213 from SUSE/wip-13425-hammer + + wrong conditional for boolean function KeyServer::get_auth() + + Reviewed-by: Kefu Chai + +commit 3d61493337d481dec5139ccb6172710a118b2009 +Merge: 147f437 7ffd072 +Author: Loic Dachary +Date: Wed Nov 11 06:59:55 2015 +0100 + + Merge pull request #6336 from Abhishekvrshny/wip-13535-hammer + + LibRadosWatchNotify.WatchNotify2Timeout + + Reviewed-by: Sage Weil + +commit 147f437279e72c0766a126653e3db53abb73a4ac +Merge: 1970e61 9085c82 +Author: Loic Dachary +Date: Wed Nov 11 06:59:42 2015 +0100 + + Merge pull request #6391 from SUSE/wip-13590-hammer + + mon: should not set isvalid = true when cephx_verify_authorizer return false + + Reviewed-by: Sage Weil + +commit 1970e618209a242fc0bd3c707dfdfb1a886d6a2c +Merge: fb83704 ade0f1a +Author: Loic Dachary +Date: Wed Nov 11 06:58:55 2015 +0100 + + Merge pull request #6398 from SUSE/wip-13588-hammer + + OSD::build_past_intervals_parallel() shall reset primary and up_primary when begin a new past_interval. + + Reviewed-by: Sage Weil + +commit 3d3595f86083a0f9847585eae4cffb8a82c816d4 +Author: Jason Dillaman +Date: Tue Oct 27 10:13:27 2015 -0400 + + krbd: remove deprecated --quiet param from udevadm + + This parameter has been removed since systemd 213, so this + effects Fedora 21+, Debian Jessie, and potentially future + releases of RHEL 7. + + Fixes: #13560 + Backport: hammer, infernalis + Signed-off-by: Jason Dillaman + (cherry picked from commit 4300f2a9fe29627eea580564ff2d576de3647467) + +commit 4d81cd19087e049bf3c2fe0d10de9215852ab51d +Author: Jason Dillaman +Date: Tue Oct 27 10:12:34 2015 -0400 + + run_cmd: close parent process console file descriptors + + Signed-off-by: Jason Dillaman + (cherry picked from commit f46f7dc94139c0bafe10361622416d7dc343d31f) + +commit fb83704d5db81aad95c61a61be52d07ce2d4d2b5 +Merge: 3954471 0742177 +Author: Loic Dachary +Date: Tue Nov 10 20:24:35 2015 +0100 + + Merge pull request #6199 from liewegas/wip-randomize-scrub-hammer + + osd: randomize scrub times + + Reviewed-by: Loic Dachary + +commit 39544718dc2f09bcfdc632ac72fd2a3cda87687e +Merge: 4ad9716 6a4734a +Author: Loic Dachary +Date: Tue Nov 10 20:23:23 2015 +0100 + + Merge pull request #5825 from tchaikov/wip-12848-hammer + + ReplicatedPG::hit_set_trim osd/ReplicatedPG.cc: 11006: FAILED assert(obc) + + Reviewed-by: Loic Dachary + +commit 2052187929e059a25f6a3baf67329f7ce0bf6d8a +Author: Boris Ranto +Date: Fri Oct 23 15:31:27 2015 +0200 + + init-rbdmap: Rewrite to use logger + clean-up + + This patch rewrites the init-rbdmap init script so that it uses logger + instead of the log_* functions. The patch also fixes various smaller + bugs like: + * MAP_RV was undefined if mapping already existed + * UMNT_RV and UMAP_RV were almost always empty (if they succeeded) -> + removed them + * use of continue instead RET_OP in various places (RET_OP was not being + checked after the switch to logger messages) + * removed use of DESC (used only twice and only one occurrence actually + made sense) + + Signed-off-by: Boris Ranto + (cherry picked from commit c567341e98fffbe39177f951511a7698f88abf5f) + +commit f972f38445bc7a6efe122a5f9fc2ba7658625e26 +Author: Boris Ranto +Date: Fri Oct 23 16:39:16 2015 +0200 + + ceph.spec.in: We no longer need redhat-lsb-core + + Drop the redhat-lsb-core dependency as it is no longer necessary on + fedora/rhel. + + The other two init scripts do not use redhat-lsb-core either. The + init-ceph.in conditionally requires /lib/lsb/init-functions and does not + use any of the functions defined in that file (at least not directly). + The init-radosgw file includes /etc/rc.d/init.d/functions on non-debian + platforms instead of /lib/lsb/init-functions file so it does not require + redhat-lsb-core either. + + Signed-off-by: Boris Ranto + (cherry picked from commit 15600572265bed397fbd80bdd2b7d83a0e9bd918) + + Conflicts: + ceph.spec.in + Merge conflict because there were other commits that introduced systemd + & SUSE specific bits in the master which havent yet reached + hammer. Since this commit only removed redhat-lsb-core from *el distros + removing the specific lines + +commit 609f256a00f6ee18564ee055dd79f8293217940c +Author: Jeff Weber +Date: Wed Aug 5 19:06:46 2015 -0400 + + rgw: implement s3 encoding-type for get bucket + + This change introduces handling for the encoding-type request + parameter on the get bucket operation. An object key may contain + characters which are not supported in XML. Passing the value "url" for + the encoding-type parameter will cause the key to be urlencoded in the + response. + + Fixes: #12735 + Signed-off-by: Jeff Weber + (cherry picked from commit 180ca7b56ba91a3995c76dac698aa4ee31d9a2ce) + +commit 394fbfcc40d77ad6c8b3301c5ff2630c052107cd +Author: Ruifeng Yang +Date: Fri Sep 25 10:18:11 2015 +0800 + + Objecter: maybe access wild pointer(op) in _op_submit_with_budget. + + look at "after giving up session lock it can be freed at any time by response handler" in _op_submit, + so the _op_submit_with_budget::op maybe is wild after call _op_submit. + + Fixes: #13208 + Signed-off-by: Ruifeng Yang + (cherry picked from commit 0635b1358354b19ae44105576f730381f3b5b963) + +commit 84068f8cea0452333f00f8b65230c00caa2e52ff +Author: Ruifeng Yang +Date: Fri Sep 25 12:42:28 2015 +0800 + + Objecter: repeated free op->ontimeout. + + repeated free op->ontimeout in SafeTimer::timer_thread::callback->complete + + Fixes: #13208 + Signed-off-by: Ruifeng Yang + (cherry picked from commit f1d8a8f577cee6d66f4dcffac667675f18145ebb) + +commit 3e657304dc41facd40b8cab7531180083d14d22a +Author: Samuel Just +Date: Fri Aug 28 12:46:57 2015 -0700 + + ReplicatedBackend::prepare_pull: set recover_info.size for clones + + Fixes: #12828 + Signed-off-by: Samuel Just + (cherry picked from commit 1d3e46bedb9a8c0d2200e39f62f4e2c3337619f3) + +commit 4ad97162026e1eb6e6e948ddf3eb39f711431e45 +Merge: 92b2153 f1271ea +Author: Loic Dachary +Date: Tue Nov 10 10:34:01 2015 +0100 + + Merge pull request #6157 from dachary/wip-13040-hammer + + common/Thread:pthread_attr_destroy(thread_attr) when done with it + + Reviewed-by: Sage Weil + +commit 92b21532f64792da023188d9aa620d900c0245ca +Merge: 1f02886 a17f2a9 +Author: Loic Dachary +Date: Tue Nov 10 10:33:41 2015 +0100 + + Merge pull request #6155 from dachary/wip-13171-hammer + + objecter: cancellation bugs + + Reviewed-by: Sage Weil + +commit 1f02886d7edc10ff93074afc3d2bf4cf77c709d5 +Merge: 77df385 7d4b303 +Author: Loic Dachary +Date: Tue Nov 10 10:33:19 2015 +0100 + + Merge pull request #6152 from dachary/wip-13233-hammer + + mon: include min_last_epoch_clean as part of PGMap::print_summary and PGMap::dump + + Reviewed-by: Sage Weil + +commit 77df385e23452f401f3c0c269e220446d288fb8e +Merge: 469398f d8ca88d +Author: Loic Dachary +Date: Tue Nov 10 10:33:01 2015 +0100 + + Merge pull request #6146 from dachary/wip-13337-hammer + + segfault in agent_work + + Reviewed-by: Sage Weil + +commit 469398f14b62af01068e65bcc5cc7c585a04e878 +Merge: d87d136 397042a +Author: Loic Dachary +Date: Tue Nov 10 10:32:53 2015 +0100 + + Merge pull request #6145 from dachary/wip-13338-hammer + + filestore: fix peek_queue for OpSequencer + + Reviewed-by: Sage Weil + +commit d87d1364fb8e345a1f85b65c2d4c7c80596ba5f9 +Merge: 717eff9 d4e4d85 +Author: Loic Dachary +Date: Tue Nov 10 10:32:42 2015 +0100 + + Merge pull request #6144 from dachary/wip-13339-hammer + + mon: check for store writeablility before participating in election + + Reviewed-by: Sage Weil + +commit 717eff9a61818fde71ec5220998e9b5c14bbb3a9 +Merge: e133ddc e8cce08 +Author: Loic Dachary +Date: Tue Nov 10 10:30:54 2015 +0100 + + Merge pull request #5891 from Abhishekvrshny/wip-13035-hammer + + requeue_scrub when kick_object_context_blocked + + Reviewed-by: Sage Weil + +commit e133ddc622d3532b0182c208f0ebb9956daab44f +Merge: c72306a 8ee93d5 +Author: Loic Dachary +Date: Tue Nov 10 10:30:38 2015 +0100 + + Merge pull request #5890 from Abhishekvrshny/wip-13037-hammer + + hit set clear repops fired in same epoch as map change -- segfault since they fall into the new interval even though the repops are cleared + + Reviewed-by: Sage Weil + +commit c72306a1dd3b193948d5df3371471797d4131cfe +Merge: 5e8c9d9 2bd5d0b +Author: Loic Dachary +Date: Tue Nov 10 10:21:07 2015 +0100 + + Merge pull request #6322 from sponce/WIP-13210-hammer + + tests : BACKPORT #13210 Fixed broken Makefiles after integration of ttng into rados + + Reviewed-by: Kefu Chai + +commit b62cac6c345df53bbda1c42a5336cffc8f0f9652 +Author: Sangdi Xu +Date: Wed Sep 23 19:31:32 2015 +0800 + + rgw: fix swift API returning incorrect account metadata + + Fixes: #13140 + + Fix the bug that swift account stat command returns doubled object count and bytes used + + Signed-off-by: Sangdi Xu + (cherry picked from commit 66d19c78ba75b79190c81c95f94e7ef3084fda9e) + +commit 9643ee65a6e968e479ca33a102f5f575924a7ff0 +Author: Xinze Chi +Date: Sun Aug 2 18:36:40 2015 +0800 + + bug fix: osd: do not cache unused buffer in attrs + + attrs only reference the origin bufferlist (decode from MOSDPGPush or + ECSubReadReply message) whose size is much greater than attrs in recovery. + If obc cache it (get_obc maybe cache the attr), this causes the whole origin + bufferlist would not be free until obc is evicted from obc cache. So rebuild + the bufferlist before cache it. + + Fixes: #12565 + Signed-off-by: Ning Yao + Signed-off-by: Xinze Chi + (cherry picked from commit c5895d3fad9da0ab7f05f134c49e22795d5c61f3) + +commit 5e8c9d967e0ade393e36893965ca8ddfaa317b48 +Merge: db0366d dba8b5b +Author: Loic Dachary +Date: Mon Nov 9 08:38:31 2015 +0100 + + Merge pull request #5810 from Abhishekvrshny/wip-12948-hammer + + Heavy memory shuffling in rados bench + + Reviewed-by: Kefu Chai + +commit 1b06f03b541983461469f8f53ef2a271b08d2f78 +Author: Weijun Duan +Date: Thu Oct 29 21:46:02 2015 -0400 + + rgw:swift use Civetweb ssl can not get right url + + Fixes: #13628 + + Signed-off-by: Weijun Duan + (cherry picked from commit e0fd540bf441e2f8276cbd96c601a0539892efe2) + +commit db0366dd979cc0d401b1974c233e38dfe5b1b5d1 +Merge: 22dce75 a65c398 +Author: Loic Dachary +Date: Thu Nov 5 13:12:11 2015 +0100 + + Merge pull request #5530 from SUSE/wip-12587-hammer + + FileStore calls syncfs(2) even it is not supported + + Reviewed-by: Kefu Chai + +commit 22dce75181b254548226fc09decafac14dcf84a6 +Merge: ed153c1 d8ac510 +Author: Loic Dachary +Date: Wed Nov 4 19:38:53 2015 +0100 + + Merge pull request #5889 from Abhishekvrshny/wip-13042-hammer + + ThreadPool add/remove work queue methods not thread safe + + Reviewed-by: Josh Durgin + +commit ed153c13226138eec71e472d1e3c8481db9b9009 +Merge: ca8802f 8610de8 +Author: Loic Dachary +Date: Wed Nov 4 19:14:28 2015 +0100 + + Merge pull request #6151 from dachary/wip-13245-hammer + + client nonce collision due to unshared pid namespaces + + Reviewed-by: Josh Durgin + +commit ca8802fb0cb8603267ecfc7320fee7a679617b8b +Merge: 19450b9 6e29e90 +Author: Loic Dachary +Date: Wed Nov 4 11:36:39 2015 +0100 + + Merge pull request #6159 from dachary/wip-13341-hammer + + ceph upstart script rbdmap.conf incorrectly processes parameters + + Reviewed-by: Loic Dachary + +commit 19450b90e4c20556580d276bab7dafb23db1758f +Merge: 18882c8 6849288 +Author: Loic Dachary +Date: Wed Nov 4 11:34:07 2015 +0100 + + Merge pull request #6154 from dachary/wip-13195-hammer + + should recalc the min_last_epoch_clean when decode PGMap + + Reviewed-by: Sage Weil + +commit 18882c81a71c4b517cb0eaa5a884637ea5cbe7a6 +Merge: de4f37b 3c1f7cb +Author: Loic Dachary +Date: Wed Nov 4 11:28:03 2015 +0100 + + Merge pull request #6132 from SUSE/wip-13307-hammer + + dumpling incrementals do not work properly on hammer and newer + + Reviewed-by: Loic Dachary + +commit de4f37bb0abc932c813983792e170de1bb40241b +Merge: 1c632a7 24268cf +Author: Loic Dachary +Date: Wed Nov 4 11:23:14 2015 +0100 + + Merge pull request #6097 from dillaman/wip-13045-hammer + + librbd: diff_iterate needs to handle holes in parent images + + Reviewed-by: Loic Dachary + +commit 1c632a7ea7057522fb9df61994b5b3cf65416689 +Merge: bedb334 71a42f7 +Author: Loic Dachary +Date: Wed Nov 4 11:22:25 2015 +0100 + + Merge pull request #6060 from XinzeChi/wip-hammer-outdata-set + + bug fix: osd: avoid multi set osd_op.outdata in tier pool + + Reviewed-by: Loic Dachary + +commit bedb3344f6c802ea04a171dabd4fb596284af34a +Merge: 0d3d819 cecd68d +Author: Loic Dachary +Date: Wed Nov 4 11:20:50 2015 +0100 + + Merge pull request #5897 from tchaikov/wip-12940-hammer + + IO error on kvm/rbd with an erasure coded pool tier + + Reviewed-by: Loic Dachary + +commit 0d3d81951db61a97f6cb26d9f75e80a3400a2a37 +Merge: 381cfcc 7475a8f +Author: Loic Dachary +Date: Wed Nov 4 11:11:00 2015 +0100 + + Merge pull request #5787 from SUSE/wip-12923-hammer + + logrotate reload error on Ubuntu 14.04 + + Reviewed-by: Loic Dachary + +commit 381cfccf38bade28a001f3f24392c61896b3c711 +Merge: cad1cfb 86f88df +Author: Loic Dachary +Date: Wed Nov 4 11:10:26 2015 +0100 + + Merge pull request #5766 from dachary/wip-12590-hammer + + ceph mds add_data_pool check for EC pool is wrong + + Reviewed-by: Greg Farnum + +commit cad1cfb088b095e8333c4a7d79ccefc2b2c4d782 +Merge: 9764da5 e8d6d5a +Author: Loic Dachary +Date: Wed Nov 4 11:06:18 2015 +0100 + + Merge pull request #5361 from ceph/wip-11786.hammer + + mon: MonitorDBStore: get_next_key() only if prefix matches + + Reviewed-by: Loic Dachary + +commit 5105d50d1c20d465229189bbb24cdfb5d16cf7bc +Author: Loic Dachary +Date: Tue Nov 3 00:21:51 2015 +0100 + + tests: test/librados/test.cc must create profile + + Now that the create_one_ec_pool function removes the testprofile each + time it is called, it must create the testprofile erasure code profile + again for the test to use. + + http://tracker.ceph.com/issues/13664 Refs: #13664 + + Signed-off-by: Loic Dachary + (cherry picked from commit a60342942b5a42ee04d59af77a6b904ce62eefc4) + +commit 302375068a59b86c50bda73ecefd99831ab52ea4 +Author: Loic Dachary +Date: Mon Nov 2 20:24:51 2015 +0100 + + tests: destroy testprofile before creating one + + The testprofile erasure code profile is destroyed before creating a new + one so that it does not fail when another testprofile erasure code + profile already exists with different parameters. + + This must be done when creating erasure coded pools with the C++ + interface, in the same way it's done with the C interface. + + http://tracker.ceph.com/issues/13664 Fixes: #13664 + + Signed-off-by: Loic Dachary + (cherry picked from commit 47abab9a6f182aa0abe5047c04402850379bcd6d) + +commit 3a7423dbe0a6af831d4c47acc98e6ced5ed5fe0c +Author: Loic Dachary +Date: Mon Nov 2 20:23:52 2015 +0100 + + tests: add destroy_ec_profile{,_pp} helpers + + Signed-off-by: Loic Dachary + (cherry picked from commit ab46d79bc09fc711fa35302f49eecac81a98519b) + +commit a52f7cb372339dffbeed7dae8ce2680586760754 +Author: Sage Weil +Date: Tue Oct 13 09:55:01 2015 -0400 + + crush/mapper: ensure take bucket value is valid + + Ensure that the take argument is a valid bucket ID before indexing the + buckets array. + + Signed-off-by: Sage Weil + (cherry picked from commit 93ec538e8a667699876b72459b8ad78966d89c61) + +commit 81d8aa14f3f2b7bf4bdd0b4e53e3a653a600ef38 +Author: Sage Weil +Date: Tue Oct 27 20:55:26 2015 -0400 + + crush/mapper: ensure bucket id is valid before indexing buckets array + + We were indexing the buckets array without verifying the index was within + the [0,max_buckets) range. This could happen because a multistep rule + does not have enough buckets and has CRUSH_ITEM_NONE + for an intermediate result, which would feed in CRUSH_ITEM_NONE and + make us crash. + + Fixes: #13477 + Signed-off-by: Sage Weil + (cherry picked from commit 976a24a326da8931e689ee22fce35feab5b67b76) + +commit 74203b806e8c268aa3edac8cfc7c4b393f7b1f27 +Author: xiexingguo <258156334@qq.com> +Date: Mon Oct 26 18:38:01 2015 +0800 + + FileStore: potential memory leak if _fgetattrs fails + + Memory leak happens if _fgetattrs encounters some error and simply returns. + Fixes: #13597 + Signed-off-by: xie xingguo + + (cherry picked from commit ace7dd096b58a88e25ce16f011aed09269f2a2b4) + +commit db1cbe700e41ee7a2db5ef10173c429283bc5a2a +Author: Robin H. Johnson +Date: Fri Sep 4 01:07:48 2015 +0000 + + Fix casing of Content-Type header + + It turns out, despite the HTTP spec declaring that header field names + should be case-insensitive, some clients treat them wrongly, and + consider "Content-type" to not match "Content-Type". + + CyberDuck was one of those clients, now fixed upstream in + https://trac.cyberduck.io/ticket/8999 + + To reduce future occurances of this bug, fix the casing of the + Content-Type header, to strictly comply with the HTTP specification (be + strict about what you send, and generous about what you receive). + + Fixes: #12939 + Backport: infernalis, hammer, firefly + Signed-off-by: Robin H. Johnson + (cherry picked from commit 1b9fbffdc24160251b96cec820d62fb2a12b6eab) + +commit 1448915e49bb6c8abc192053e6f2e8a380c4e92a +Author: John Spray +Date: Mon Jun 1 13:55:22 2015 +0100 + + qa: update cephtool test for CephFS tier cases + + 1. Creating a filesystem using a + readonly tier on an EC pool (should be forbidden) + 2. Removing a tier from a replicated base pool (should + be permitted) + + Signed-off-by: John Spray + (cherry picked from commit f9b11b0abe7c2b0dcdfc5802336be8a0426ccb3a) + +commit 14c36f0ccf103dea39b63e0e1b03082b99c42cb1 +Author: John Spray +Date: Mon Jun 1 13:54:25 2015 +0100 + + mon: forbid readonly cache tiers for CephFS + + For EC pools, we need a tier that is not just forwarding + writes, in order to provide the ops required + by CephFS. + + Signed-off-by: John Spray + (cherry picked from commit 11e5faf3c1d4fa28a8b41e3a92f0f684a844e5f5) + +commit 31e59fbca0ba636fc57c208e612d7488a48a6287 +Author: John Spray +Date: Thu May 7 14:23:37 2015 +0100 + + mon: refine check_remove_tier checks + + Fixes: #11504 + Signed-off-by: John Spray + (cherry picked from commit a50c8f1f2ad8845c7f77110868f9376f2d1ff883) + +commit 9f3aebee16e256888b149fa770df845787b06b6e +Author: Sage Weil +Date: Tue Sep 22 13:57:37 2015 -0400 + + osd: fix requeue of replay requests during activating + + If the replay period expires while we are still in the activating + state, we can simply insert our list of requests at the front of + the waiting_for_active list. + + Fixes: #13116 + Signed-off-by: Sage Weil + (cherry picked from commit d18cf51d9419819cdda3782b188b010969288911) + +commit ade0f1a4285348c20fbae8e2a366fc332a7b7fbe +Author: xiexingguo <258156334@qq.com> +Date: Tue Oct 13 14:04:20 2015 +0800 + + OSD:shall reset primary and up_primary fields when beginning a new past_interval. + + Shall reset primary and up_primary fields when we start over a new past_interval in OSD::build_past_intervals_parallel(). + Fixes: #13471 + Signed-off-by: xie.xingguo@zte.com.cn + (cherry picked from commit 65064ca05bc7f8b6ef424806d1fd14b87add62a4) + +commit 9085c820491f25a04ec02accc5098c1ab9b57311 +Author: yangruifeng +Date: Mon Oct 19 08:08:12 2015 -0400 + + mon: should not set isvalid = true when cephx_verify_authorizer return false + + Fixes: #13525 + Signed-off-by: Ruifeng Yang + (cherry picked from commit c7f75b8f7c0a773148ec16141941efd00ee76626) + +commit 4875d05a3e265e80463a2a33a2c922affb0dad66 +Author: Ken Dreyer +Date: Mon Mar 16 10:02:35 2015 -0600 + + ceph.spec.in: rm EOL Fedoras; add OBS RHEL5 instead + + Fedora 12 has been EOL for a long time. Remove the reference in the + RPM .spec file. + + Since RHEL 5 support for Ceph is a work in progress, we won't remove + this entire python_sitelib / python_sitearch conditional for now, since + those are still needed on RHEL 5. + + Add the rhel_version macro to make the conditional compatible with + SUSE's OBS. + + Signed-off-by: Ken Dreyer + (cherry picked from commit 353a3258968f76deaea4542d2165e9ab32b88de8) + +commit dfba6acce75eea02251e98e2d57e6fbb344241fa +Author: Travis Rhoden +Date: Thu May 7 20:13:53 2015 -0400 + + packaging: Add rgw placeholder dirs in proper packages + + Automatically create /var/lib/ceph/radosgw with the + ceph-radosgw package, and /var/lib/ceph/bootstrap-rgw + via the ceph package. + + Signed-off-by: Travis Rhoden + (cherry picked from commit bf93128f664ac74383806530a1f974edde8df5b6) + + Conflicts: + ceph.spec.in + hammer uses %ghost + +commit 2387c8e0caef00e7181241e16549457d58a12192 +Author: Nathan Cutler +Date: Fri May 15 21:39:39 2015 +0200 + + ceph.spec.in: consolidate centos/rhel macros + + 0%{?rhel} || 0%{?centos} can be simplified to just 0%{?rhel}, since + CentOS defines that macro for compatibility with RHEL. + + Signed-off-by: Nathan Cutler + (cherry picked from commit 46404dd381e240634d224e77adc69f0ba4807045) + + Conflicts: + ceph.spec.in + https://github.com/ceph/ceph/pull/4068 has not been backported + +commit 7c58d312db2aa42088f419dbfa7e841d897fdad6 +Author: Nathan Cutler +Date: Thu Jun 25 16:55:10 2015 +0200 + + packaging: make logrotate a hard dependency across all distros + + Given ceph's reputation for voluminous logs, it makes sense for + logrotate to be a hard dependency for all distros. + + Signed-off-by: Nathan Cutler + (cherry picked from commit 0734cd1ec3ca3bd012686dc1bdda675909224a49) + +commit 61acc4e20ca58e11b9aba1efcdca78d1d7ddd2f7 +Author: Nathan Cutler +Date: Thu Jul 9 12:05:24 2015 +0200 + + ceph.spec.in: add missing -%{release} + + We have it everywhere else and I can't think of any reason why + it should be omitted here. + + Signed-off-by: Nathan Cutler + (cherry picked from commit d952d59ae95d5f66aa4b98fd7aa4f4ecb36a4848) + +commit 20590d367226ea01c9d4d95de15cfd1aa354d02b +Author: Nathan Cutler +Date: Fri Jun 26 20:21:59 2015 +0200 + + ceph.spec.in: remove duplicate BuildRequires: sharutils + + Signed-off-by: Nathan Cutler + (cherry picked from commit c418bd9615e6f23f3c14ae9e71003c66d31d4b78) + +commit 6b306eba829b1ec9822b24243ee7c021aab3d738 +Author: Nathan Cutler +Date: Mon Jun 15 12:58:00 2015 +0200 + + ceph.spec.in: fix python-flask dependency for SUSE + + In SLE and openSUSE, the package is called python-Flask with an upper-case F. + + Signed-off-by: Nathan Cutler + (cherry picked from commit 39c28b9faf0fb069d91ac069a4d8df7bf03fb490) + + Conflicts: + ceph.spec.in + add missing SUSE-specific build deps + +commit 7a2cbcb0a4efa365b6d92ec58d7acf4a66e9d2b1 +Author: Nathan Cutler +Date: Thu Jun 25 18:55:39 2015 +0200 + + ceph.spec.in: clarify two important comments + + First, the terms "common" and "specific" are vague. Second, + "common" can easily be confused with the ceph-common subpackage. + + Fix this by rephrasing to "distro-unconditional dependencies" and + "distro-conditional dependencies", respectively. + + Third, move the "distro-unconditional dependencies" header so it + is above the part where these dependencies are actually defined. + + Signed-off-by: Nathan Cutler + (cherry picked from commit dd212fd1d367f70c61f65a97599959668b44aa53) + +commit dfe27c6ba05d49bb73854754b9d5c02cf1c7b1ef +Author: Ken Dreyer +Date: Wed Jun 24 16:37:58 2015 -0600 + + ceph.spec.in: rm reference to EOL Fedoras (< 20) + + Fedora 19 is EOL, so there's no need to refer to Fedoras less than 20. + "%{fedora}" effectively implies "Fedora 20 and above". + + Reported-by: Ira Cooper + Signed-off-by: Ken Dreyer + (cherry picked from commit f3e4a91c458ca7b11706fe4608cb739499f5d3cc) + + Conflicts: + ceph.spec.in + added xmlstarlet dependency to ceph-test package + +commit 371b64ef4aa786db3fd29bc84ff98e63000a859b +Author: Ken Dreyer +Date: Wed Jun 24 16:39:30 2015 -0600 + + ceph.spec.in: package rbd-replay-prep on all Fedoras + + This reverts the change in commit + 85517d611b7bf4cb6cbffcd2c65303be0d038264. Since we BuildRequire: + libbabeltrace-devel, autoconf will see that babeltrace is available + during the build, and make will build/install the rbd-replay-prep + utility. + + This change also simplifies Fedora selection logic, because Fedora 19 is + EOL, so "%{fedora}" implies "Fedora 20 and above". + + Reported-by: Ira Cooper + Signed-off-by: Ken Dreyer + (cherry picked from commit 2db9480fa2646de776f0076d82747e202e574ddd) + +commit 82425b33f712047442d9d29c5a4349818b44b40a +Author: Boris Ranto +Date: Tue Jun 16 23:07:04 2015 +0200 + + ceph.spec.in: rbd-replay-prep is not being built on f21+ + + Signed-off-by: Boris Ranto + (cherry picked from commit 85517d611b7bf4cb6cbffcd2c65303be0d038264) + +commit 53e2f702681dc08ddd0414b116e51de6488f42ca +Author: Owen Synge +Date: Mon Jun 8 17:48:55 2015 +0200 + + ceph.spec.in:BuildRequires sharutils + + The uudecode binary is used to build Java-related components, and + uudecode is provided by the sharutils package on all supported + RPM platforms. When building with "--without=cephfs_java", + sharutils is not needed. + + Thanks to Nathan Cutler for going into the + details with me. + + On OBS without this patch we get the error message: + + [ 170s] ----------------------------------------------------------------- + [ 170s] ----- building ceph.spec (user abuild) + [ 170s] ----------------------------------------------------------------- + [ 170s] ----------------------------------------------------------------- + [ 170s] + exec rpmbuild -ba --define '_srcdefattr (-,root,root)' --nosignature --define 'disturl obs://build.opensuse.org/home:osynge:ceph:wip:wip_obs_fedora/Fedora_20/c0bbbc1e62228ca956ac3d367edc4fba-master' /home/abuild/rpmbuild/SOURCES/ceph.spec + [ 170s] error: Failed build dependencies: + [ 170s] sharutils is needed by ceph-1:2+git.1435043747.c1bd02c-1.1.x86_64 + + With this patch we can build fedora 22 and fedora 20 rpms fine. + + Signed-off-by: Owen Synge + (cherry picked from commit 43c1784640538b813f0575c50f721ac911a30b3e) + + Conflicts: + ceph.spec.in + _with_systemd -> trivial resolution + +commit a84376c68499845de01f9e3b194b16a698125b6a +Author: Owen Synge +Date: Wed Jun 10 12:11:50 2015 +0200 + + ceph.spec.in: fix:Add missing directories breaking build + + SUSE builds on OBS are failing with the missing dir entries: + + /usr/share/ceph + /usr/lib/ceph + + On suse these correspond to: + + %dir %{_datarootdir}/ceph/ + %dir %{_libexecdir}/ceph/ + + Signed-off-by: Owen Synge + (cherry picked from commit f1ff3e4dcb5dd7eddd2c346a05cfa78d860a5ce6) + +commit 171fee1b82d2675e364da7f96dfb9dd286d9b6e6 +Author: Kefu Chai +Date: Tue Jul 21 00:33:19 2015 +0800 + + mon: track osd_epoch of all MonSessions + + previously, we only track the osd_epoch for OSD peers. but other + MonClients who receives osdmaps can also benefit from osd_epoch. + + Signed-off-by: Kefu Chai + (cherry picked from commit de43a02e06650a552f048dc8acd17f255126fed9) + + Conflicts: + src/mon/OSDMonitor.cc: + do not assume that the MonSession is always available when + OSDMonitor::send_incremental() is called. as when the + connection to the mon client is dropped, the Monitor is + aware of this, but not the OSDMonitor. + +commit cc7da674965c3f758469e18788dc0e106e54d5bc +Author: Kefu Chai +Date: Tue Jul 21 00:24:52 2015 +0800 + + mon: track osd_epoch in MonSession + + * remove osd_epoch from OSDMonitor + * add osd_epoch to MonSession to track the latest osdmap epoch + OSDMonitor sends to a mon client + * do not remove osd_epoch entries if an OSD is down, or + max_osd > osd_id + + Fixes: #10930 + Signed-off-by: Kefu Chai + (cherry picked from commit c05753eacc26e90b2e3b56e641a71bffd5b39bd0) + +commit 3f33ce6132d5ce8b3454f30fbe14471ece39951d +Author: Lu Shi +Date: Thu Sep 24 16:02:41 2015 +0800 + + librbd:reads larger than cache size hang. + + Fixes:#13164 + + Signed-off-by: Lu Shi + (cherry picked from commit 9c8200bb5d1ac9359803a182df03298b565b8479) + +commit 5e5b512189b809bef503c34b0a19e30ed81cfbfa +Author: Radoslaw Zarzynski +Date: Wed Aug 19 20:32:39 2015 +0200 + + rgw: url_decode values from X-Object-Manifest during GET on Swift DLO. + + Fixes: #12728 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 69cf089596a0e5d4da2826b5c276306316a00690) + +commit e693755a55e4da681a1947b1e1eb3bb537436cc0 +Author: Yehuda Sadeh +Date: Tue Sep 22 14:53:42 2015 -0700 + + cls_rgw: fix bucket listing when dealing with invisible entries + + Fixes: #12913 + + The bucket listing logic was broken when dealing with invisible entries. + Need to read keys until we can fetch all the requested entries, or + determine that there are no more entries. Anything else requires + a change to the protocol. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ef9730515e001d77637a77eb89950f70fd5e7f5a) + +commit 99b4d1df3f6867e5ff0dd74691203737f6de6974 +Author: Yehuda Sadeh +Date: Tue Sep 22 15:49:27 2015 -0700 + + rgw: orphan tool shouldn't clean up head objects + + Fixes: #12958 + + Head objects are mutable, so removing them can race with object removal + and a later recreation, so we might end up cleaning them up when we don't + need to. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 030f697d196df9963ecf4f05f727da4798c583dc) + +commit 6d89f4ba85063debe96734e9fdfcba247e770206 +Author: Yehuda Sadeh +Date: Mon Oct 12 11:55:40 2015 -0700 + + rgw: location constraints should return api name + + Fixes: #13458 + The S3 location constraints request should return the api name, + not the region name. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 03078bab6ee8c617025902dbe52ec19e64653c33) + +commit 2bd5d0b835b546c80b5af503d2b9538835c768fd +Author: Sebastien Ponce +Date: Tue Oct 20 09:22:16 2015 +0200 + + radosstriper : Fixed broken Makefiles after integration of lttng + + Fixes: #13210, backport of #6322 into hammer + + Signed-off-by: Sebastien Ponce + +commit 7ffd072a8cc7e114d4d674d30333fea4db04dcdd +Author: Sage Weil +Date: Thu Oct 1 14:50:34 2015 -0400 + + osdc/Objecter: distinguish between multiple notify completions + + We may send a notify to the cluster multiple times due to OSDMap + changes. In some cases, earlier notify attempts may complete with + an error, while later attempts succeed. We need to only pay + attention to the most-recently send notify's completion. + + Do this by making note of the notify_id in the initial ACK (only + present when talking to newer OSDs). When we get a notify + completion, match it against our expected notify_id (if we have + one) or else discard it. + + This is important because in some cases an early notify completion + may be an error while a later one succeeds. + + Note that if we are talking to an old cluster we will simply not record a + notify_id and our behavior will be the same as before (we will trust any + notify completion we get). + + Fixes: #13114 + Signed-off-by: Sage Weil + (cherry picked from commit e86d033854c76f344c678e92016c4e5c5e0385e2) + + Conflicts: + src/osdc/Objecter.cc + In Objecter::handle_watch_notify, a conflict was there due to a modified comment by commit 47277c51db7bb2725ea117e4e8834869ae93e006, which was not backported + +commit 647c91098e8517912c73e3f7d27954e6f340472c +Author: Sage Weil +Date: Thu Oct 1 14:50:00 2015 -0400 + + osd: reply to notify request with our unique notify_id + + The OSD assigns a unique ID to each notify it queues for + processing. Include this in the reply to the notifier so that + they can match it up with the eventual completions they receive. + + This is necessary to distinguish between multiple completions + they may receive if there is PG peering and the notify is resent. + In particular, an earlier notify may return an error when a later + attempt succeeds. + + This is forwards and backwards compatible: new clients will make use of + this reply payload but older clients ignore it. + + Signed-off-by: Sage Weil + (cherry picked from commit 049ea702b9bf4a8a62ae2770d9ba55c0730b3eef) + +commit 0ad9521944e0de5c135a066b0cda07f8976bdae1 +Author: David Zafman +Date: Mon Oct 12 13:24:31 2015 -0700 + + osd: Correct the object_info_t::decode() version + + Caused by: 13b9dc70 + + Fixes: #13462 + Backport: Hammer, Firefly + + Signed-off-by: David Zafman + (cherry picked from commit 2b7ddde685213f3908f2dd9545b35f1d97f35a79) + +commit af734e63f28ac5af414b6507c945ffd9e736d5cf +Author: Jason Dillaman +Date: Tue Oct 6 12:31:59 2015 -0400 + + librbd: invalidate object map on error even w/o holding lock + + If there is a deep bug that prevents the object map from owning + the lock before objects are updated, flag the object map as invalid + regardless. + + Fixes: #13372 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit e675400df7f8ba796d60e9bac4234857f0cb1392) + + Conflicts: + src/librbd/ObjectMap.h/cc: hammer branch doesn't support rebuild + +commit 634d7f62486847846e3862091b8cb587d095cb52 +Author: Jason Dillaman +Date: Thu Oct 8 13:28:04 2015 -0400 + + tests: removed obsolete rbd_replay test cases + + Signed-off-by: Jason Dillaman + (cherry picked from commit e0d8cb1283e4bdbfc770684b173e477c22558524) + +commit 5c63d3c614189381cc169c64a3138c7abcb368c6 +Author: Jason Dillaman +Date: Thu Oct 8 13:26:42 2015 -0400 + + ceph-dencoder: new rbd_replay trace file types + + Signed-off-by: Jason Dillaman + (cherry picked from commit c2a83d0b518497dc8bcbbdea77b88febe52a3034) + +commit a145a1cd8e245505abae66f0497be0df0078cecb +Author: Jason Dillaman +Date: Thu Oct 8 13:21:29 2015 -0400 + + rbd-replay: added version control to trace output file + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3ecdae8388d69123b937a40ce614a0b795a757f1) + +commit a30ed76c34ecca6278112908871126e1730a22bc +Author: Jason Dillaman +Date: Wed Oct 7 15:39:18 2015 -0400 + + rbd-replay-prep: added --verbose command line option + + This new command-line will dump all the processed events as they + are extracted from the trace file. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 646e50a771c3089121ec2f4369d1a8188001a3eb) + +commit adf31c88d3ed95d0c29c649e2642ee3ae758743b +Author: Jason Dillaman +Date: Wed Oct 7 15:22:25 2015 -0400 + + rbd-replay-prep: stream events to the prep file + + Avoid building the entire prep event history in memory before + attempting to write the prepped trace file. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 98f513a113f4e8aff17c83991d2e6f0f3738a9c9) + +commit 8c9e67ad0b21629565a09f6b9b92723b98594f84 +Author: Jason Dillaman +Date: Wed Oct 7 14:56:22 2015 -0400 + + rbd-replay-prep: simplify IO dependency calculation + + Only track read-after-write and write-after-write IO dependencies + via the associated write completions. All IO events after a write + completion are considered to be dependent and can be pruned down + to at most the number of concurrent IOs. This reduces the prep + time from a simple 'rbd bench-write' from over 4 hrs down to seconds. + + Fixes: #13378, #13384 + Backport: hammer + + Signed-off-by: Jason Dillaman + (cherry picked from commit 65fb1b86cbab65023f6207798c9e189bce55dcf6) + +commit e7406fcba86646a4c3fbac66ee54b52ce3d5a33d +Author: Jason Dillaman +Date: Tue Oct 6 13:16:51 2015 -0400 + + rbd-replay: improve error messages + + Fixes: #13221 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 4f436e10802d7b3c3949b592fec238c189a02c50) + +commit 9f81d28107bd82b7118d1521ade982ab179c5a7a +Author: Jason Dillaman +Date: Tue Oct 6 12:48:50 2015 -0400 + + rbd-replay-prep: support new read/write APIs + + Added support for read2, write2, aio_read2, and aio_write2 APIs. + + Fixes: 13325 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit b5b4a9dd6bfe10844327a457849a0dbf7ef597ea) + +commit a856bee2aa7e22f2bedf54b684c4d55452766b01 +Author: Jason Dillaman +Date: Mon Oct 5 17:30:54 2015 -0400 + + rbd-replay-prep: avoid using assert statements on user inputs + + Fixes: #13220 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit a1e99f06a78d7cf2ecc0c8e9fbc3331e4e4f18f7) + +commit 6a4734a7afecb359b8bc9c114332cd7321097c38 +Author: Samuel Just +Date: Mon Sep 21 11:16:49 2015 -0700 + + ReplicatedPG::hit_set_setup: fix hit_set_remove_all call + + We only want to do it if the pool config changed AND we are + primary && active. + + fd38902dd4693b9b72f7532833e78f5df2c9efa5 partially fixed a related + bug. This should be backported along with it. + + Fixes: 13192 + Signed-off-by: Samuel Just + (cherry picked from commit 36e4a80c39f7daab2a35efc04650ae8b7b11c4e0) + +commit ab3877dd566f3951e76abaa6b7deeb5835a512b1 +Author: Samuel Just +Date: Tue Sep 22 11:13:44 2015 -0700 + + osd/: assert in HitSet constructor if type is TYPE_NONE as well + + Otherwise impl is unpopulated and we risk segfaults in several + methods. It also seems like it would always indicate a bug. + + Signed-off-by: Samuel Just + (cherry picked from commit 8e5a801b43babf751b619ed9606d7be7e5b12837) + +commit 4fe07b7f69321535a985958fc761a54cb71136f6 +Author: Zhiqiang Wang +Date: Thu Jul 23 09:26:44 2015 +0800 + + osd: only remove all the hit set objects on primary osd + + Only the primary PG is allowed to remove all the hit set objects. And + the PG should be in the active or peered states. + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit fd38902dd4693b9b72f7532833e78f5df2c9efa5) + +commit 313a09b58b6aa6fe8999f4d5da07a04f00c64cd7 +Author: Zhiqiang Wang +Date: Thu Jun 18 09:05:28 2015 +0800 + + osd: implement hit_set_remove_all + + When hit set is not configured on startup or on a change, remove all + previous hitsets. + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit be28319bf3dc54b4b6f400d83405a29facfe3bd4) + Conflicts: + src/osd/ReplicatedPG.cc + pass the new argument of `p->using_gmt` to get_hit_set_archive_object() + +commit b632254252f56d3b2c0c32803593ba765b45b222 +Author: Kefu Chai +Date: Tue Sep 8 16:52:32 2015 +0800 + + mon: disable gmt_hitset if not supported + + the gmt_hitset is enabled by default in the ctor of pg_pool_t, this + is intentional. because we want to remove this setting and make + gmt_hitset=true as a default in future. but this forces us to + disable it explicitly when preparing a new pool if any OSD does + not support gmt hitset. + + Fixes: #12968 + Signed-off-by: Kefu Chai + (cherry picked from commit e48cec3dc93b3988dcd8924933deb1b3a43e1d0f) + + Conflicts: + src/mon/OSDMonitor.cc + remove unrelated hunk + +commit 27fc9a3b2bd34bec8d5bb3954b873ce6344771f4 +Author: Kefu Chai +Date: Fri Aug 28 00:32:38 2015 +0800 + + osd: do not let OSD_HITSET_GMT reuse the feature bit + + * to ease the backport to hammer + + Signed-off-by: Kefu Chai + (cherry picked from commit 5a4f6a866bb675195ad83c38fd23238d078c78ed) + + Conflicts: + src/include/ceph_features.h + minor changes to resolve conflicts + +commit 7fcc61d26028eb417a0c224e8c9cd3cc95bc13d9 +Author: David Zafman +Date: Thu Aug 27 11:24:25 2015 -0700 + + osd: Decode use_gmt_hitset with a unique version + + Signed-off-by: David Zafman + (cherry picked from commit 2bc5a48f4c5d3667213be3a7b5a0e0f5ef9daf4f) + + Conflicts: + src/osd/osd_types.cc + minor changes to resolve conflicts + +commit 26c7e968523ac09f608c4ed7c50681fbb741ca1f +Author: Kefu Chai +Date: Tue Aug 18 16:53:50 2015 +0800 + + mon: print use_gmt_hitset in "ceph osd pool get" + + Signed-off-by: Kefu Chai + (cherry picked from commit cc2bcf760f2d2f20fc4a2fa78ba52475a23e55bf) + + Conflicts: + src/mon/OSDMonitor.cc + use the old way to dump pool info + +commit e8e00dab1b064e77a997504f385b5d60ee8aca25 +Author: Kefu Chai +Date: Tue Aug 18 00:04:23 2015 +0800 + + mon: add "ceph osd pool set $pool use_gmt_hitset true" cmd + + allow "ceph osd pool set $pool use_gmt_hitset " as long as + the cluster supports gmt hitset. + + Fixes: #9732 + Signed-off-by: Kefu Chai + (cherry picked from commit 03a1a3cf023a9aeb2fa26820e49e5efe3f3b3789) + +commit 040e390d29fc68dcefe48c59cccacf6258c6f690 +Author: Kefu Chai +Date: Fri Jun 5 21:06:48 2015 +0800 + + osd: use GMT time for the object name of hitsets + + * bump the encoding version of pg_hit_set_info_t to 2, so we can + tell if the corresponding hit_set is named using localtime or + GMT + * bump the encoding version of pg_pool_t to 20, so we can know + if a pool is using GMT to name the hit_set archive or not. and + we can tell if current cluster allows OSDs not support GMT + mode or not. + * add an option named `osd_pool_use_gmt_hitset`. if enabled, + the cluster will try to use GMT mode when creating a new pool + if all the the up OSDs support GMT mode. if any of the + pools in the cluster is using GMT mode, then only OSDs + supporting GMT mode are allowed to join the cluster. + + Fixes: #9732 + Signed-off-by: Kefu Chai + (cherry picked from commit 42f8c5daad16aa849a0b99871d50161673c0c370) + + Conflicts: + src/include/ceph_features.h + src/osd/ReplicatedPG.cc + src/osd/osd_types.cc + src/osd/osd_types.h + fill pg_pool_t with default settings in master branch. + +commit 31b7864b4161221f6027c6cbe1e42ed598d42b6a +Author: Nathan Cutler +Date: Sun Sep 27 21:55:00 2015 +0200 + + CephxServiceHandler.cc: fix get_auth conditional + + The KeyServer class has a public method get_auth() that returns a boolean + value. This value is being checked here - fix the conditional so it triggers + when get_auth() returns false. + + http://tracker.ceph.com/issues/9756 References: #9756 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 7250db62cb7ac1e9c0b1f5956d60b9d874496702) + +commit 0742177c767613d41bda0d260eebdd0087e3b392 (refs/remotes/me/wip-randomize-scrub-hammer) +Author: Kefu Chai +Date: Sat May 16 00:07:27 2015 +0800 + + osd: use another name for randomize scrub option + + s/osd_scrub_interval_limit/osd_scrub_interval_randomize_ratio/ + + Fixes: #10973 + Signed-off-by: Kefu Chai + +commit fad33861a87f2feb944ad5454775c95d09364b56 +Author: Kefu Chai +Date: Mon Mar 9 16:42:34 2015 +0800 + + osd: randomize scrub times to avoid scrub wave + + - to avoid the scrub wave when the osd_scrub_max_interval reaches in a + high-load OSD, the scrub time is randomized. + - extract scrub_load_below_threshold() out of scrub_should_schedule() + - schedule an automatic scrub job at a time which is uniformly distributed + over [now+osd_scrub_min_interval, + now+osd_scrub_min_interval*(1+osd_scrub_time_limit]. before + this change this sort of scrubs will be performed once the hard interval + is end or system load is below the threshold, but with this change, the + jobs will be performed as long as the load is low or the interval of + the scheduled scrubs is longer than conf.osd_scrub_max_interval. all + automatic jobs should be performed in the configured time period, otherwise + they are postponed. + - the requested scrub job will be scheduled right away, before this change + it is queued with the timestamp of `now` and postponed after + osd_scrub_min_interval. + + Fixes: #10973 + Signed-off-by: Kefu Chai + (cherry picked from commit 5e44040e8528bff06cc0a5a3f3293ab146e0e4e1) + + Conflicts: + src/osd/OSD.cc + +commit 9c130336a1a1dcf2338d202914aeacbc194af0b0 +Author: Kefu Chai +Date: Mon Mar 9 16:47:30 2015 +0800 + + osd: use __func__ in log messages + + Signed-off-by: Kefu Chai + (cherry picked from commit 0f7f35670f03f3f58329c00d323963710e7e495d) + +commit 4a3dedff8693953944af3eeb40994f38befebf48 +Author: Kefu Chai +Date: Wed Apr 15 12:04:05 2015 +0800 + + osd: simplify OSD::scrub_load_below_threshold() a little bit + + avoid unnecessary comparison + + Signed-off-by: Kefu Chai + (cherry picked from commit 2ab0e606dfd2847e1918be9f21f572d91befbf7b) + +commit 24268cf4309267a0a1e32e28379cf7eafac00bca +Author: Jason Dillaman +Date: Fri May 1 14:21:35 2015 -0400 + + librbd: invoking RBD::open twice will leak memory + + Signed-off-by: Jason Dillaman + (cherry picked from commit a5e88fcf11ebb16d4a1405b21cf6f895b37f185e) + +commit 8610de81c8eeae763354a4133e160ccb3faa8dad +Author: Josh Durgin +Date: Mon Sep 21 15:46:42 2015 -0700 + + use simplifed messenger constructor for clients + + This is all mechanical except the calculation of the nonce, which is + now always randomized for clients. + + Fixes: #13032 + Signed-off-by: Josh Durgin + (cherry picked from commit a3a8c85b79afef67681c32c57b591c0e0a87a349) + +commit 9d059c3f1b3aa0b1830b6f84694c850d36e8a77a +Author: Josh Durgin +Date: Mon Sep 21 15:20:53 2015 -0700 + + msg: add simplified messenger constructor + + Several callers create messengers using exactly the same parameters: + + - reading the ms type from cct that is also passed in + - a default entity_name_t::CLIENT + - the default features + + Additionally, the nonce should be randomized and not depend on + e.g. pid, as it does in several callers now. Clients running in + containers can easily have pid collisions, leading to hangs, so + randomize the nonce in this simplified constructor rather than + duplicating that logic in every caller. + + Daemons have meaningful entity_name_ts, and monitors currently depend + on using 0 as a nonce, so make this simple constructer + client-specific. + + Related: #13032 + Signed-off-by: Josh Durgin + (cherry picked from commit e3785b0b5fbff870adbd5f121021b671912386cf) + + Conflicts: + src/msg/Messenger.cc: Messenger::create only has 5 arguments in + hammer. Since the last one is zero, it does not change the + semantic. + +commit 6e29e904ce8e7b3481fd3b318b070d326cd4a71a +Author: Sage Weil +Date: Wed Sep 30 08:29:05 2015 -0400 + + init-rbdmap: fix CMDPARAMS + + Fixes: #13214 + Reported-by: Wyllys Ingersoll + Signed-off-by: Sage Weil + (cherry picked from commit 02113ac449cd7631f1c9a3840c94bbf253c052bd) + +commit 7161a2c927a6ded0d6ffe7d7621b7abd7f18acc3 +Author: Samuel Just +Date: Mon Sep 21 12:00:49 2015 -0700 + + PG: ignore info from down osd + + Fixes: #12990 + Backport: firefly, hammer + Signed-off-by: Samuel Just + (cherry picked from commit 930d8eb1fb0daacd692d2e80b5ff473448bd4e8d) + +commit 9753551f9f4ea9a1638dd469ef536d895ca9bc3b +Author: Samuel Just +Date: Mon Sep 21 12:01:03 2015 -0700 + + OSDMap.h: add has_been_up_since + + Signed-off-by: Samuel Just + (cherry picked from commit 4b00350870e3a43aee5fff7982b3785fe1876634) + +commit f1271eae0decf4d1fd9cfd83e5e54d3be6abfb17 +Author: zqkkqz +Date: Fri Aug 7 10:49:45 2015 +0800 + + Common/Thread: pthread_attr_destroy(thread_attr) when done with it + When a thread attributes object is no longer required, it should be destroyed using the + pthread_attr_destroy() function. Destroying a thread attributes object has no effect on threads that were created using that object. + + Fixes: #12570 + Signed-off-by: zqkqkz zheng.qiankun@h3c.com + (cherry picked from commit 9471bb838a420ef5f439191d87e5388fecccb9e6) + +commit 9581f9f4446ed5838bb3de6e1d7cf5faca85df90 +Author: Piotr DaÅ‚ek +Date: Fri Jul 17 12:43:52 2015 +0200 + + Thread.cc: remove malloc/free pair + + There's no need for mallocing pthread_attr_t in Thread::try_create(), + it can be located on stack as it is freed in same function. This reduces + pressure put on memory manager. + + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit 614ac0f4e375f3dd008c8937d3f89f6005d6e0a0) + +commit a17f2a9a6600803a8b7f6dd306f7bafb6acc1af5 +Author: Jianpeng Ma +Date: Tue Sep 1 21:35:19 2015 +0800 + + osdc/Objecter: optimize Objecter::tick. + + Set bool value is better than insert same value into set<>. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit ee204044d9e69ea44b533c05cec154974039264c) + +commit f80d237decac775d82f1e276a1ea600a9f352ffe +Author: Jianpeng Ma +Date: Tue Sep 1 19:32:32 2015 +0800 + + osdc/Objecter: remove the unuseful code. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 80f10e3e59dadda2dca4eb62c68af972b701b316) + +commit 8f76f4c467dc69cd2af75d9cbb134c26f2d04a84 +Author: Jianpeng Ma +Date: Tue Sep 1 15:39:29 2015 +0800 + + osdc/Objecter: Don't forget call _op_cancel_map_check when cancel linger op. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 7cc963b1c6ab37bf33638dc6eca7848d93f7908f) + +commit ba36caba5226a44c41fdd2b19074916b38af5fdf +Author: Jianpeng Ma +Date: Tue Sep 1 15:12:02 2015 +0800 + + osdc/Objecter: In _cancel_linger_op, it should make num_unacked/num_committed decrease. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 36b62710ddef0ffaee25837a92ca1ac9b353ff05) + +commit 6ff7b02dc23b42a99c7136d1a55ead05c12e2b97 +Author: Jianpeng Ma +Date: Thu Aug 20 17:00:23 2015 +0800 + + osdc/Objeter: When cancel op, decrease num_unacked/num_uncommitted. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 064e8585a04edb3d87b38db6bed03e965cfcb359) + +commit d815e0aacb4a516f4bbbb59a2b2073b38759d9e8 +Author: Jianpeng Ma +Date: Thu Aug 20 15:38:58 2015 +0800 + + osdc/Objecter: For func op_cancel_writes it can directly call op_cancel. + + Becasue we get write-lock of rwlock, so it is safe to call op_cancel + rather than _op_canchel(homeless_session for this case don't met). + + Signed-off-by: Jianpeng Ma + (cherry picked from commit e4ce619fe17a7a9dfc18e6af0b84928aa2d88c00) + + Conflicts: + src/osdc/Objecter.cc: the last if (found) was incorrectly + implemented as if (to_cancel.size()) after hammer. The + conflict is because the patch tries to revert an incorrect + if (to_cancel.size()) which is not in hammer. + +commit 53316f3694c2a219541dcbdb0269ce97e2d2e9d7 +Author: Jianpeng Ma +Date: Wed Aug 19 14:54:21 2015 +0800 + + Objecter: Take RLocker when call is_active. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 89f0112e001a2561f9a5cd705898d43c8909501f) + +commit 684928883f5eaaec99a8cc8c43e81fae69f9fbfa +Author: Kefu Chai +Date: Wed Sep 16 15:08:17 2015 +0800 + + mon/PGMap: calc min_last_epoch_clean when decode + + Fixes: #13112 + Signed-off-by: Kefu Chai + (cherry picked from commit d0ac68bf1785b330f3202d924c2203ace9393fe6) + +commit 7d4b303b2d9649e2722a9b8f0be5c505776124df +Author: Guang Yang +Date: Wed Sep 23 15:58:02 2015 +0000 + + osd: print min_last_epoch_clean along with pg dump + + Fixes: 13198 + Signed-off-by: Guang Yang + (cherry picked from commit f5359f2314ce3e76ed446c01889dd23550c3ac36) + +commit d8ca88dd4b47b4956211d206b0d42112e5842d3f +Author: Samuel Just +Date: Tue Sep 22 11:44:18 2015 -0700 + + OSDService::agent_entry: don't use PG::operator<< without pg lock + + Fixes: #13199 + Signed-off-by: Samuel Just + (cherry picked from commit d422f2820d5beee15117e166546a6386120e0349) + + Conflicts: + src/osd/OSD.cc: trivial resolution + +commit 397042a0cb2f4c628dd722192fee284359d2cbb3 +Author: Xinze Chi +Date: Wed Sep 23 19:26:00 2015 +0800 + + filestore: fix peek_queue for OpSequencer + + Fixes: #13209 + Signed-off-by: Xinze Chi + (cherry picked from commit 5f7b3f5cde779f1300a35a04df2cdb1299f55472) + +commit d4e4d85c005ff68cb0461e9d7f0cbe5e6cf2f073 +Author: Sage Weil +Date: Wed Sep 23 10:58:01 2015 -0400 + + mon/Elector: do a trivial write on every election cycle + + Currently we already do a small write when the *first* election in + a round happens (to update the election epoch). If the backend + happens to fail while we are already in the midst of elections, + however, we may continue to call elections without verifying we + are still writeable. + + Signed-off-by: Sage Weil + (cherry picked from commit ef909ccbdc303cce8a39edef255325127832ff16) + +commit 20a4c0c4831a9dcd49d8ad34b99369effbda9ab8 +Author: Sage Weil +Date: Wed Sep 23 10:58:13 2015 -0400 + + mon/MonitorDBStore: assert/crash if there is a write error + + Do this globally intead of relying on teh zillion mon callers to + check the error code. There are no cases where we want to + tolerate a commit failure. + + Fixes: #13089 + Signed-off-by: Sage Weil + (cherry picked from commit 2fb7b1f0e33ada7c9a1be3de2f7708eb0760fcef) + +commit 3c1f7cbc45c4744eea3c821f0343596756e05ab1 +Author: Samuel Just +Date: Thu Sep 24 18:35:39 2015 -0700 + + OSDMap: fill in known encode_features where possible + + Otherwise, if we get an incremental from hammer (struct_v = 6) we will + encode the full map as if it were before CEPH_FEATURE_PGID64, which + was actually pre-argonaut. Similarly, if struct_v >= 7, we know it + was encoded with CEPH_FEATURE_OSDMAP_ENC. + + Fixes: #13234 + Backport: hammer + Signed-off-by: Samuel Just + (cherry picked from commit 04679c5451e353c966f6ed00b33fa97be8072a79) + +commit 93c523c65c1f0b6f9a76b1d71acf9e8df57c0fc9 +Author: Jason Dillaman +Date: Tue Sep 8 15:47:37 2015 -0400 + + librbd: diff_iterate needs to handle holes in parent images + + If a clone's parent image snapshot includes a discarded extent, + this was previously causing an assert failure. Instead, ignore + any discard holes in the parent image. + + Fixes: #12885 + Backport: hammer + Signed-off-by: Jason Dillaman + (cherry picked from commit 3ccc3bb4bd35e57209852d460633e371b4d004e2) + + Conflicts: + src/librbd/DiffIterate.cc : file doesn't exist in hammer, logic is in internal.cc + +commit 359b68447393980bb7cdd4acc23582e8046b186c +Author: Jason Dillaman +Date: Mon Sep 28 10:25:07 2015 -0400 + + tests: new test case for librbd diff_iterate over discard extents + + Signed-off-by: Jason Dillaman + (cherry picked from commit d5650c9cf85188efa73b279c8f4e4723fa475308) + + Conflicts: + src/test/librbd/test_librbd.cc : diff_iterate2 doesn't exist in hammer + +commit 71a42f7c3aa55de688ef16ea7e392573fa5a7e62 +Author: Xinze Chi +Date: Mon Jun 8 16:54:08 2015 +0800 + + bug fix: osd: avoid multi set osd_op.outdata in tier pool + + There are two read op on the same object for ec pool. First op read + miss happend, calling do_proxy_read and promote_object, The second op only + do_proxy_read. but before first op process_copy_chunk finish, the second op + finish_proxy_read. first op receive reply from base pool + first and then second received. so the second op set the field "outdata" + in m->ops first. And then first op requeue_ops in process_copy_chunk, + At last in do_osd_ops, it append outdata field. + + Fixes: 12540 + Signed-off-by: Xinze Chi + (cherry picked from commit 855ae1fd6e4557adba1cbd8ab532488b867cee2a) + + Conflicts: + src/osd/ReplicatedPG.cc + +commit e8cce089102abd8ec1b8e916c6f2c4a5b339cbd3 +Author: Xinze Chi +Date: Wed Jul 29 16:28:33 2015 +0800 + + bug fix: osd: requeue_scrub when kick_object_context_blocked + + when read miss in writeback cache pool, osd do_proxy_read first + and maybe promote it. but in this case, the op is not added to + waiting_for_blocked_object. pg scrub maybe block by this object + (_range_available_for_scrub). so after promote it, we should + requeue_scrub. + + Fixes: 12515 + Signed-off-by: Xinze Chi + (cherry picked from commit f77949fedce3449befd74efeb5270579f5085b16) + + Conflicts: + src/osd/ReplicatedPG.cc + in ReplicatedPG::kick_object_context_blocked, removed hobject_t::BitwiseComparator from map p + +commit 8ee93d5f661b303cafcb0134a0e9a1fce7b8e6b2 +Author: Samuel Just +Date: Thu Aug 27 11:08:33 2015 -0700 + + PG::handle_advance_map: on_pool_change after handling the map change + + Otherwise, the is_active() checks in the hitset code can erroneously + return true firing off repops stamped with the new epoch which then get + cleared in the map change code. The filestore callbacks then pass the + interval check and call into a destroyed repop structure. + + Fixes: 12809 + Backport: hammer,firefly + Signed-off-by: Samuel Just + (cherry picked from commit 14e02bc90a463805f4c3e2de210892067a52514b) + +commit cecd68d06d4d114b0b735155da5c2bac736714c3 +Author: Kefu Chai +Date: Fri Aug 28 11:36:49 2015 +0800 + + ceph_test_rados_api_aio: add a test for aio_sparse_read + + Signed-off-by: Kefu Chai + (cherry picked from commit 076bad955d374cbb37b77e2b0429f3c85f32abc0) + +commit 8849f9933fe0fc315da0981f9cd88ea108f686ed +Author: Kefu Chai +Date: Thu Aug 27 22:57:16 2015 +0800 + + ceph_test_rados_api_io: add tests for sparse_read + + Signed-off-by: Kefu Chai + (cherry picked from commit 4d4920610ebfcb516630ed15678979c9e9292f5a) + + Conflicts: + src/test/librados/test.cc + minor changes and remove C++11 stuff + +commit 64b22dcba316bf9ac5598c249e4fba47c157f588 +Author: Kefu Chai +Date: Wed Aug 26 15:41:13 2015 +0800 + + ceph_test_rados: also send sparse_read in ReadOp + + Signed-off-by: Kefu Chai + (cherry picked from commit 5ae2e7a185b5f95753a09a89d7110fc38848a083) + + Conflicts: + src/test/osd/RadosModel.h + remove the piped-read test + +commit 6ca593026f81580ecbd02ad6140347f31086a87d +Author: Kefu Chai +Date: Fri Aug 28 14:27:53 2015 +0800 + + osd: should use ec_pool() when checking for an ecpool + + we were using pool.info.require_rollback() in do_osd_ops() when + handling OP_SPARSE_READ to tell if a pool is an ecpool. should + use pool.info.ec_pool() instead. + + Signed-off-by: Kefu Chai + (cherry picked from commit a5bfde69a9d14de67da1e3354173ec70ba089b37) + +commit 318049911445a3cc257db2b3beb3ab53e6f1d64e +Author: Kefu Chai +Date: Thu Aug 27 22:57:49 2015 +0800 + + osd: translate sparse_read to read for ecpool + + Fixes: #12012 + Signed-off-by: Kefu Chai + (cherry picked from commit 700d42ef1c82f5602249b96690ae881c1d259d54) + +commit d8ac5103e433f6649e28392b365d2e02b4ba1ffe +Author: Jason Dillaman +Date: Mon Aug 10 19:10:19 2015 -0400 + + WorkQueue: add/remove_work_queue methods now thread safe + + These methods were not acquiring the ThreadPool lock when + manipulating the work_queue collection. This was causing + occasional crashes within librbd when opening and closing + images. + + Fixes: #12662 + Backport: hammer, firefly + Signed-off-by: Jason Dillaman + (cherry picked from commit 3e18449b01c1ab78d1bbfc1cf111aa9bdbef7b1f) + +commit e8d6d5a5f43b75f6aaec4c977221ad97d11e314c (refs/remotes/gh/wip-11786.hammer) +Author: Joao Eduardo Luis +Date: Mon Sep 7 14:12:19 2015 +0100 + + mon: MonitorDBStore: make get_next_key() work properly + + We introduced a significant bug with 2cc7aee, when we fixed issue #11786. + Although that patch would fix the problem described in #11786, we + managed to not increment the iterator upon returning the current key. + This would have the iterator iterating over the same key, forever and + ever. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 70d31082fd3dc8c7857994104577f1a3631c678c) + +commit dba8b5b113f585586fcbbc0acf05543262486328 +Author: Piotr DaÅ‚ek +Date: Tue May 19 13:44:21 2015 +0200 + + tools: Don't delete, recreate and re-fill buffers in rados bench. + + Fixes the high CPU usage and corrects rados bench scores on fast SSDs + and ramdisks/memstore. + For bench run on SSD, on Intel(R) Xeon(R) CPU E5-2640 v2 @ 2.00GHz + before this patch, times are: + write: real 5m0.169s, user 2m33.565s, sys 4m39.791s + seq: real 4m28.642s, user 1m35.250s, sys 6m42.948s + rand: real 5m0.258s, user 1m19.656s, sys 6m47.145s + + After this patch: + write: real 5m1.162s, user 0m27.788s, sys 3m11.707s + seq: real 5m1.149s, user 2m23.278s, sys 4m14.427s + rand: real 5m1.021s, user 2m30.514s, sys 4m20.347s + + Bench run: rados -p ssd bench 300 write|seq|read --no-cleanup + + Note the increase in user time cpu on seq/read tests, + along with decreased sys cpu time; this is because there's + additional memcmp() that compares read objects with expected + contents. With less time spent memory juggling, more time is + spent performing more reads per second, increasing memcmp call + count and increasing amount of user cpu time used. + + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit b894fc7acf7dee7f7ec8c5c280e7a6be41133328) + + Conflicts: + src/common/obj_bencher.cc + return -5 was replaced with return r + +commit fa72ecb509fa4ddd5f227b1e279eae390284a72c +Author: Piotr DaÅ‚ek +Date: Fri May 15 15:44:18 2015 +0200 + + bufferlist: implement bufferlist::invalidate_crc() + + This function iterates over all bufferlist internal buffers and calls + their invalidate_crc() method. Required for rados bench to work + correctly, because it modifies buffers outside buffer api, invalidating + internal CRC cache in the process - this method clears that cache, so + another call for buffer::get_crc() to return correct checksum. + + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit 55a6f9efbee041d041742810ca4fa8874b6191a7) + +commit 50c82f2095add5ad75200a62081fd2f5fea8d8d9 +Author: Owen Synge +Date: Mon Jun 1 15:57:03 2015 +0200 + + ceph.spec.in summary-ended-with-dot + + RPM spec files summary should not end with a dot. + This was inconsistent across the ceph rpm packages + and creates errors with rpm lint. + + Signed-off-by: Owen Synge + (cherry picked from commit 042e8ff4dc71795d957bbfac12fade2bc0fc4674) + +commit 94699e724b45a9a6de84a943c5b834d2f20f85ef +Author: Owen Synge +Date: Mon Jun 1 14:58:31 2015 +0200 + + ceph.spec.in libcephfs_jni1 has no %post and %postun + + /usr/lib64/libcephfs_jni.so.1.0.0 requires /sbin/ldconfig to be + run after installing and after removing. + + Signed-off-by: Owen Synge + (cherry picked from commit 0742d82b5561634a5f4ed73fc6cbe4d4f26b0d42) + +commit 7475a8fe3f31a46a949f051ded383cd6f396a0fa +Author: Sage Weil +Date: Tue Apr 21 16:08:09 2015 -0700 + + logrotate.conf: prefer service over invoke-rc.d + + On trusty 14.04, service works but invoke-rc.d does not (but is present). + + Fixes: #11330 + Reported-by: Wim Heirman + Signed-off-by: Sage Weil + (cherry picked from commit 6063a21f9edbbf80e44d45ff52a9f4ba1a1cb2c9) + +commit 86f88dfce3c0e785d0ff48ec8892e53e6a53b080 +Author: John Spray +Date: Thu Jul 23 10:15:56 2015 +0100 + + mon: fix checks on mds add_data_pool + + Use same _check_pool helper as during fs creation. + + Fixes: #12426 + + Signed-off-by: John Spray + (cherry picked from commit 329741ec238d6af4b69bc838ba667be232741b3d) + +commit a65c39852775b17323fa4efee54bde12ce22a512 +Author: Kefu Chai +Date: Wed Jul 29 15:52:19 2015 +0800 + + common/syncfs: fall back to sync(2) if syncfs(2) not available + + Fixes: #12512 + Signed-off-by: Kefu Chai + (cherry picked from commit 08210d6a85527b0759f6dc4411f742bc13a4939f) + + Conflicts: + src/common/sync_filesystem.h + - subtle difference in #if/#else/#endif structure + +commit e6eaa914d685f2a8f1f8cf3b01112a1b720e1358 +Author: Joao Eduardo Luis +Date: Wed May 27 22:28:49 2015 +0100 + + mon: MonitorDBStore: get_next_key() only if prefix matches + + get_next_key() had a bug in which we would always return the first key + from the iterator, regardless of whether its prefix had been specified + to the iterator. + + Fixes: #11786 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 2cc7aee1abe40453093306c8fef2312b650dff5d) diff --git a/doc/changelog/v0.94.7.txt b/doc/changelog/v0.94.7.txt new file mode 100644 index 00000000..b639752f --- /dev/null +++ b/doc/changelog/v0.94.7.txt @@ -0,0 +1,3179 @@ +commit d56bdf93ced6b80b07397d57e3fa68fe68304432 (tag: refs/tags/v0.94.7) +Author: Jenkins Build Slave User +Date: Tue May 10 14:47:39 2016 +0000 + + 0.94.7 + +commit 6e6c85a0d71df7cd6207febc3e22d30617648abc +Merge: 934ad41 76c33de +Author: Sage Weil +Date: Mon May 9 13:55:24 2016 -0400 + + Merge pull request #8979 from athanatos/wip-15655-hammer + + OSDMonitor: avoid underflow in reweight-by-utilization if max_change=1 + + Reviewed-by: Sage Weil + +commit 934ad41dbf3f7004c93aa8f7660353329b7f3fad +Merge: e219e85 3c03eee +Author: Orit Wasserman +Date: Wed May 4 11:37:33 2016 +0200 + + Merge pull request #8583 from Vicente-Cheng/wip-15089-hammer + + hammer: Bucket owner isn't changed after unlink/link + Reviewed-by: Orit Wasserman + +commit 76c33decdeba83d4d977a9556e76e68fa964465f (refs/remotes/athanatos/wip-15655-hammer) +Author: Samuel Just +Date: Thu Apr 28 13:47:48 2016 -0700 + + OSDMonitor: avoid underflow in reweight-by-utilization if max_change=1 + + Fixes: http://tracker.ceph.com/issues/15655 + Signed-off-by: Samuel Just + (cherry picked from commit c121bc51a5a877a49094cfbd3bd16af1f3ae5090) + +commit 3c03eee07e02b6b4d31f6a58a03253eff2d41324 +Author: Aran85 +Date: Mon Sep 28 08:23:22 2015 +0800 + + rgw:bucket link now set the bucket.instance acl + + Fixes: #11076 + + Signed-off-by: Zengran Zhang + (cherry picked from commit 4d59b1d36f8924290c3ecb5b7608747191470188) + + Conflicts: + + src/rgw/rgw_bucket.cc + 1. Do not use the rgw_user structure and remove the tenant parameter that describes as below + 2. user_id is not used so just remove the line + 3. instead of system_obj_set_attr you can use the method set_attr + + Backport Change: + We do not use the rgw_user structure and remove the `tenant` parameter + because this feature is not introduced on hammer version. + The rgw multi-tenant feature is introduced on pr#6784 (https://github.com/ceph/ceph/pull/6784) + This feature is supported from v10.0.2 and later version. + +commit e219e85be00088eecde7b1f29d7699493a79bc4d +Merge: eea2a77 f794ada +Author: Sage Weil +Date: Wed Apr 6 10:43:16 2016 -0400 + + Merge pull request #7922 from badone/wip-14961-hammer + + hammer: PK11_DestroyContext() is called twice if PK11_DigestFinal() fails + +commit eea2a77ef0b242c295f2480349d8608273dfb184 +Merge: 815760d 38b9c0b +Author: Sage Weil +Date: Wed Apr 6 10:42:44 2016 -0400 + + Merge pull request #7992 from SUSE/wip-13807-hammer + + hammer: segfault in Objecter::handle_watch_notify + +commit 815760dde45574f931e316f47c5990129375e9f2 +Merge: ba5c75a 01672b4 +Author: Sage Weil +Date: Wed Apr 6 10:41:41 2016 -0400 + + Merge pull request #8051 from xiaoxichen/wip-15024-hammer + + hammer: clock skew report is incorrect by ceph health detail command + +commit ba5c75a33ba10bbe7796715f2d8500ec1fe209fd +Merge: dc09055 ac3569c +Author: Sage Weil +Date: Wed Apr 6 10:40:51 2016 -0400 + + Merge pull request #8398 from asheplyakov/hammer-wip-15336 + + hammer: monclient: avoid key renew storm on clock skew + +commit dc090558a3306feb2c50994950756e5599a92eaf +Merge: 0f28a5b 744e9f8 +Author: Loic Dachary +Date: Wed Apr 6 16:24:55 2016 +0200 + + Merge pull request #8272 from Yan-waller/yj-wip-fixbl + + hammer: tests: bufferlist: do not expect !is_page_aligned() after unaligned rebuild + + Reviewed-by: Kefu Chai + +commit 0f28a5b033b47479ae6f1958d2f079bd6c57f1b4 +Merge: 374c3c1 f8d2abd +Author: Loic Dachary +Date: Wed Apr 6 16:20:15 2016 +0200 + + Merge pull request #7883 from tchaikov/wip-12848-hammer + + hammer: osd: use GMT time for the object name of hitsets + + Reviewed-by: Loic Dachary + +commit 374c3c1d8cde50a4503cbd41ee2204aa6761557d +Merge: add1674 0830275 +Author: Loic Dachary +Date: Wed Apr 6 16:18:11 2016 +0200 + + Merge pull request #7917 from ceph/wip-10794-hammer + + hammer: ceph-objectstore-tool, osd: Fix import handling + + Reviewed-by: Loic Dachary + +commit add1674c759f946c7c456e96e52b7ca1a45829ec +Merge: d08bae2 be4a9fe +Author: Loic Dachary +Date: Wed Apr 6 16:13:32 2016 +0200 + + Merge pull request #8026 from liewegas/wip-reweight-hammer + + hammer: mon: implement reweight-by-utilization feature + + Reviewed-by: Loic Dachary + +commit d08bae217e50dfa19dce3bb58349149c4210361e +Merge: f68697c d4cf190 +Author: Loic Dachary +Date: Wed Apr 6 16:12:55 2016 +0200 + + Merge pull request #8049 from xiaoxichen/wip-15022-hammer + + hammer: keyring permisions for mon deamon + + Reviewed-by: Loic Dachary + +commit f68697c71ad4b6f49dae12a50fad73cacbcaf6e1 +Merge: e5beeef 57fd7f8 +Author: Loic Dachary +Date: Wed Apr 6 16:09:42 2016 +0200 + + Merge pull request #8052 from xiaoxichen/wip-15051-hammer + + hammer: test/librados/tier.cc doesn't completely clean up EC pools + + Reviewed-by: Loic Dachary + +commit e5beeef1b142a86140791470785c69f865e5df5a +Merge: 77fbf58 77a4ed0 +Author: Loic Dachary +Date: Wed Apr 6 16:03:07 2016 +0200 + + Merge pull request #8440 from dachary/wip-15382-hammer + + hammer: rpm package building fails if the build machine has lttng and babeltrace development packages installed locally + + Reviewed-by: Kefu Chai + +commit 77fbf581cb2259146938a737c299d6cf762303d1 +Merge: 92a96e1 97f474f +Author: Loic Dachary +Date: Wed Apr 6 15:05:11 2016 +0200 + + Merge pull request #8401 from Vicente-Cheng/wip-15129-hammer + + hammer: Protect against excessively large object map sizes + + Reviewed-by: Jason Dillaman + +commit 92a96e1b16d9cadf182d200dfef0de6c2b388202 +Merge: 7cfc739 281d63d +Author: Loic Dachary +Date: Wed Apr 6 13:44:09 2016 +0200 + + Merge pull request #8011 from dillaman/wip-15033-hammer + + hammer: librbd: possible QEMU deadlock after creating image snapshots + + Reviewed-by: Loic Dachary + +commit 77a4ed0a8986b2529edd8059dd3efa38f778c6f2 +Author: Loic Dachary +Date: Tue Apr 5 11:53:54 2016 +0200 + + ceph.spec.in: disable lttng and babeltrace explicitly + + before this change, we do not pacakge tracepoint probe shared libraries + on rhel7. but "configure" script enables them if lttng is detected. and + rpm complains at seeing installed but not pacakged files. as EPEL-7 now + includes lttng-ust-devel and libbabeltrace-devel, we'd better + BuildRequire them, and build with them unless disabled otherwise. so in + this change + * make "lttng" an rpm build option enabled by default + * BuildRequire lttng-ust-devel and libbabeltrace-devel if the "lttng" + "lttng" option is enabled + * --without-lttng --without-babeltrace if the "lttng" option is disabled + + Fixes: #14844 + Signed-off-by: Kefu Chai + (cherry picked from commit f1a44907a2f83cb8080cd8ab5980a30306a33fbd) + + Conflicts: + ceph.spec.in: trivial resolution, the context changed + (other packages, files etc.) but the semantic did not + +commit 97f474fb6b26ae7b7e2fdd21de4f4bd98cdd56ab +Author: Jason Dillaman +Date: Mon Mar 14 13:57:28 2016 -0400 + + cls_rbd: protect against excessively large object maps + + Fixes: #15121 + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4aff4ea3290dc7fb62c639bfc74fcfdde5fe9542) + + Conflicts: + src/cls/rbd/cls_rbd.cc + `RBD_METADATA_KEY_PREFIX` is not introduced on hammer, so remove + it + +commit ac3569cd8bbb4b2b9a0edf298ce0b83bc18f1fea +Author: Alexey Sheplyakov +Date: Mon Mar 21 18:20:18 2016 +0300 + + hammer: monclient: avoid key renew storm on clock skew + + Refreshing rotating keys too often is a symptom of a clock skew, try to + detect it and don't cause extra problems: + + * MonClient::_check_auth_rotating: + - detect and report premature keys expiration due to a time skew + - rate limit refreshing the keys to avoid excessive RAM and CPU usage + (both by OSD in question and monitors which have to process a lot + of auth messages) + * MonClient::wait_auth_rotating: wait for valid (not expired) keys + * OSD::init(): bail out after 10 attempts to obtain the rotating keys + + Fixes: #15336 + + Signed-off-by: Alexey Sheplyakov + (cherry picked from commit 918c12c2ab5d014d0623b1accf959b041aac5128) + + Conflicts: + src/osd/OSD.cc + no loadavg checks in Hammer, hence the conflict. Move the + counter and max_attempts initialization to a suitable place. + +commit 7cfc739a513da84d76b959efc51dd21c1cc552d6 +Merge: 0418943 7eae05e +Author: Loic Dachary +Date: Thu Mar 31 13:50:23 2016 +0200 + + Merge pull request #8187 from liewegas/wip-15171 + + hammer: osd/ReplicatedPG: do not proxy read *and* process op locally + + Reviewed-by: Samuel Just + Reviewed-by: David Zafman + Reviewed-by: David Disseldorp + +commit f8d2abd2e41c5dd04977f85cc1d6e65853c9a1b2 +Author: Kefu Chai +Date: Thu Mar 3 12:03:44 2016 +0800 + + osd/osd_types: encode pg_pool_t the old way + + as a workaround of #12410 + + Fixes: #12968 + Signed-off-by: Kefu Chai + +commit 720a090eb67b3955b0cadb7633c5a28a934171a4 +Author: Kefu Chai +Date: Tue Sep 8 16:52:32 2015 +0800 + + mon: disable gmt_hitset if not supported + + the gmt_hitset is enabled by default in the ctor of pg_pool_t, this + is intentional. because we want to remove this setting and make + gmt_hitset=true as a default in future. but this forces us to + disable it explicitly when preparing a new pool if any OSD does + not support gmt hitset. + + Fixes: #12968 + Signed-off-by: Kefu Chai + (cherry picked from commit e48cec3dc93b3988dcd8924933deb1b3a43e1d0f) + + Conflicts: + src/mon/OSDMonitor.cc + remove unrelated hunk + +commit 7aec079f8a1bbe75625c438a17bb87e45398568e +Author: Kefu Chai +Date: Fri Aug 28 00:32:38 2015 +0800 + + osd: do not let OSD_HITSET_GMT reuse the feature bit + + * to ease the backport to hammer + + Signed-off-by: Kefu Chai + (cherry picked from commit 5a4f6a866bb675195ad83c38fd23238d078c78ed) + + Conflicts: + src/include/ceph_features.h + minor changes to resolve conflicts + +commit 370434136ef076c350db3db4fca6489f88f70453 +Author: David Zafman +Date: Thu Aug 27 11:24:25 2015 -0700 + + osd: Decode use_gmt_hitset with a unique version + + Signed-off-by: David Zafman + (cherry picked from commit 2bc5a48f4c5d3667213be3a7b5a0e0f5ef9daf4f) + + Conflicts: + src/osd/osd_types.cc + minor changes to resolve conflicts + +commit 64bca2a43b34b265621bad2ec1fb980217223847 +Author: Kefu Chai +Date: Tue Aug 18 16:53:50 2015 +0800 + + mon: print use_gmt_hitset in "ceph osd pool get" + + Signed-off-by: Kefu Chai + (cherry picked from commit cc2bcf760f2d2f20fc4a2fa78ba52475a23e55bf) + + Conflicts: + src/mon/OSDMonitor.cc + use the old way to dump pool info + +commit 87df212cfca33efbbee6376f528cb7d4895d1dc0 +Author: Kefu Chai +Date: Tue Aug 18 00:04:23 2015 +0800 + + mon: add "ceph osd pool set $pool use_gmt_hitset true" cmd + + allow "ceph osd pool set $pool use_gmt_hitset " as long as + the cluster supports gmt hitset. + + Fixes: #9732 + Signed-off-by: Kefu Chai + (cherry picked from commit 03a1a3cf023a9aeb2fa26820e49e5efe3f3b3789) + +commit 039240418060c9a49298dacc0478772334526dce +Author: Kefu Chai +Date: Fri Jun 5 21:06:48 2015 +0800 + + osd: use GMT time for the object name of hitsets + + * bump the encoding version of pg_hit_set_info_t to 2, so we can + tell if the corresponding hit_set is named using localtime or + GMT + * bump the encoding version of pg_pool_t to 20, so we can know + if a pool is using GMT to name the hit_set archive or not. and + we can tell if current cluster allows OSDs not support GMT + mode or not. + * add an option named `osd_pool_use_gmt_hitset`. if enabled, + the cluster will try to use GMT mode when creating a new pool + if all the the up OSDs support GMT mode. if any of the + pools in the cluster is using GMT mode, then only OSDs + supporting GMT mode are allowed to join the cluster. + + Fixes: #9732 + Signed-off-by: Kefu Chai + (cherry picked from commit 42f8c5daad16aa849a0b99871d50161673c0c370) + + Conflicts: + src/include/ceph_features.h + src/osd/ReplicatedPG.cc + src/osd/osd_types.cc + src/osd/osd_types.h + fill pg_pool_t with default settings in master branch. + +commit 744e9f837a94f95c5e877f074fd1479f8da64e3c +Author: Kefu Chai +Date: Fri Sep 4 01:23:31 2015 +0800 + + test/bufferlist: do not expect !is_page_aligned() after unaligned rebuild + + if the size of a bufferlist is page aligned we allocate page aligned + memory chunk for it when rebuild() is called. otherwise we just call + the plain new() to allocate new memory chunk for holding the continuous + buffer. but we should not expect that `new` allocator always returns + unaligned memory chunks. instead, it *could* return page aligned + memory chunk as long as the allocator feels appropriate. so, the + `EXPECT_FALSE(bl.is_page_aligned())` after the `rebuild()` call is + removed. + + Signed-off-by: Kefu Chai + (cherry picked from commit 8ed724222651812c2ee8cc3804dc1f54c973897d) + +commit 0830275b39afc408573c2c468fa3b0e7b1d5cc4e +Author: Sage Weil +Date: Tue Oct 6 14:35:35 2015 -0400 + + osd/PG: fix generate_past_intervals + + We may be only calculating older past intervals and have a valid + history.same_interval_since value, in which case the local + same_interval_since value will end at the newest old interval we had to + generate. + + This was introduced by 70316541bbb115d9a35954bfba373cf1dc084b7e. + + Signed-off-by: Sage Weil + (cherry picked from commit 98cbf0380e9ee848725fc87d61c31a734305a84f) + +commit 0418943c6ef8c9649a58003444daeb4b6224fbab +Merge: 35eae5f 2072a53 +Author: Sage Weil +Date: Fri Mar 18 10:13:40 2016 -0400 + + Merge pull request #8123 from liewegas/wip-15136-hammer + + qa/workunits: remove 'mds setmap' from workunits + +commit 7eae05e14231cb3476d14bf74b15bf9646849d09 (refs/remotes/me/wip-15171) +Author: Sage Weil +Date: Thu Mar 17 13:28:40 2016 -0400 + + osd/ReplicatedPG: do not proxy read *and* process op locally + + If we proxy the read, we cannot return false, even if we fail to also + trigger a promotion. + + Fixes: #15171 + Signed-off-by: Sage Weil + +commit be4a9feae4c5f33685cceb386717a5733553df10 (refs/remotes/me/wip-reweight-hammer) +Author: Sage Weil +Date: Mon Mar 14 08:07:19 2016 -0400 + + osd/OSDMap: fix typo in summarize_mapping_stats + + From ea9abe53d0e777b7dc3b22af71639f77c4de08c8 + + Signed-off-by: Sage Weil + (cherry picked from commit cc7e2329046ef7c528f321092a464f6db6e7edb9) + +commit 2072a53dc920b79ed76265d6097e50d3d2994b1d +Author: Sage Weil +Date: Tue Mar 15 09:44:13 2016 -0400 + + qa/workunits: remove 'mds setmap' from workunits + + Signed-off-by: Sage Weil + (cherry picked from commit 6a80e2df8b31802a39ef6f89136ed357dce50c20) + +commit 01672b4afd6f886d6bb8527427663e062ab9d100 +Author: Joao Eduardo Luis +Date: Thu Jan 7 11:20:36 2016 +0000 + + mon: Monitor: get rid of weighted clock skew reports + + By weighting the reports we were making it really hard to get rid of a + clock skew warning once the cause had been fixed. + + Instead, as soon as we get a clean bill of health, let's run a new round + and soon as possible and ascertain whether that was a transient fix or + for realsies. That should be better than the alternative of waiting for + an hour or something (for a large enough skew) for the warning to go + away - and with it, the admin's sanity ("WHAT AM I DOING WRONG???"). + + Fixes: #14175 + + Signed-off-by: Joao Eduardo Luis + + (cherry pick from commit 17d8ff429c7dca8fc1ada6e7cc8a7c4924a22e28) + +commit f90b8bc1a2b3ffa5ba52c0992c1c5ff52e5ea104 +Author: Joao Eduardo Luis +Date: Thu Jan 7 11:05:44 2016 +0000 + + mon: Monitor: adaptative clock skew detection interval + + When in the presence of a clock skew, adjust the checking interval + according to how many rounds have gone by since the last clean check. + + If a skew is detected, instead of waiting an additional 300 seconds we + will perform the check more frequently, gradually backing off the + frequency if the skew is still in place (up to a maximum of + 'mon_timecheck_interval', default: 300s). This will help with transient + skews. + + Signed-off-by: Joao Eduardo Luis + + (cherry pick from commit 45e16d0d7407cf4e886dde9321bb91c1a087776d) + + Conflicts: + src/common/config_opts.h + Merge the change line. + src/mon/Monitor.h + handle_timecheck_leader(MonOpRequestRef op) was replaced with handle_timecheck_leader(MTimeCheck *m) + also for handle_timecheck_peon and handle_timecheck. + +commit 57fd7f858c220af362b330d12db0e87de82b4346 (refs/remotes/gh/hammer-pr-8052) +Author: Dan Mick +Date: Wed Nov 25 19:20:51 2015 -0800 + + test/librados/test.cc: clean up EC pools' crush rules too + + SetUp was adding an erasure-coded pool, which automatically adds + a new crush rule named after the pool, but only removing the + pool. Remove the crush rule as well. + + http://tracker.ceph.com/issues/13878 Fixes: #13878 + + Signed-off-by: Dan Mick + Signed-off-by: Loic Dachary + (cherry picked from commit 04b4795f81c15bfcb62ba5807745470ce0e5e949) + +commit d4cf19049349678065195659bb287b899f92a686 +Author: Owen Synge +Date: Wed Mar 2 12:15:48 2016 +0100 + + keyring permissions for mon daemon + + The command: + + sudo ceph-mon --cluster ceph --mkfs -i $NODE_NAME --keyring $PATH_MON_KEYRING + + Writes a new keyring with permissions set to "0644". + + Fixes: #14950 + Signed-off-by: Owen Synge osynge@suse.com + (cherry picked from commit c2f91a8ce46974a72b960b7cb25af3d089fbb80d) + +commit 35eae5fbddd2b271a10db9a69d4c4e34029bca06 +Merge: c59b994 647723e +Author: Loic Dachary +Date: Fri Mar 11 10:05:42 2016 +0700 + + Merge pull request #7911 from dzafman/wip-meta-list-hammer + + hammer: tools, test: Add ceph-objectstore-tool to operate on the meta collection + + Reviewed-by: Loic Dachary + +commit c59b9944a61174c7e29a26f4abfd7839020578af +Merge: dd66eb9 d875620 +Author: Loic Dachary +Date: Fri Mar 11 10:03:43 2016 +0700 + + Merge pull request #7903 from branch-predictor/bp-hammer-force-bench-smoke + + hammer: tools/rados: add bench smoke tests + + Reviewed-by: Loic Dachary + +commit dd66eb91d0129163ecfc8105f043fd0f6926dad5 +Merge: de43aba 5726463 +Author: Loic Dachary +Date: Fri Mar 11 10:02:18 2016 +0700 + + Merge pull request #7876 from SUSE/wip-14946-hammer + + hammer: redhat-lsb-core dependency was dropped, but is still needed + + Reviewed-by: Loic Dachary + +commit de43aba0015927cec5ebd8f98ad26a801b1353ff +Merge: 48dfac6 6a6754f +Author: Loic Dachary +Date: Fri Mar 11 10:00:48 2016 +0700 + + Merge pull request #7817 from asheplyakov/hammer-bug-14873 + + hammer: tools: fix race condition in seq/rand bench (part 2) + + Reviewed-by: Piotr DaÅ‚ek + Reviewed-by: Loic Dachary + +commit 48dfac64ba37e5d0ec262798fbec011c1016a4f0 +Merge: 7083829 3a5b102 +Author: Loic Dachary +Date: Fri Mar 11 10:00:18 2016 +0700 + + Merge pull request #7896 from asheplyakov/hammer-bug-14873-p1 + + hammer: tools: fix race condition in seq/rand bench (part 1) + + Reviewed-by: Loic Dachary + Reviewed-by: Piotr DaÅ‚ek + +commit 1b922e5431339d12e661de9fd4b16e8cf2c08ad5 +Author: Sage Weil +Date: Thu Mar 10 08:50:57 2016 -0500 + + test/pybind/test_ceph_argparse: fix reweight-by-utilization tests + + Signed-off-by: Sage Weil + (cherry picked from commit d0f87131962b26cef9e31fa11651771856c41164) + +commit 06a2a7596b876a5c2addb184a48222bcb6e23b9a +Author: Kefu Chai +Date: Thu Mar 10 21:41:15 2016 +0800 + + man/8/ceph.rst: remove invalid option for reweight-by-* + + --yes-i-really-mean-it is not valid option for reweight-by-* + + Signed-off-by: Kefu Chai + (cherry picked from commit 797f1d41d98738411079a7a16d8b1d5352359d33) + +commit 241f76262273bafd72e91fee3d46c412f7418767 +Author: Sage Weil +Date: Wed Mar 9 13:25:55 2016 -0500 + + mon: remove range=100 from reweight-by-* commands + + Specifying the range makes it skip instead of error when you give + it a bad value. + + Signed-off-by: Sage Weil + (cherry picked from commit 661891aa28ca0600a62e25f6d10ce7fa94e32cce) + +commit 55ad2c7724e114728bb327a97726a6c9b660bb1d +Author: Sage Weil +Date: Thu Mar 3 13:46:12 2016 -0500 + + mon: make max_osds an optional arg + + We keep the config option with the default (4), but let you + specify the max # of osds to reweight as a third optional arg. + + Signed-off-by: Sage Weil + (cherry picked from commit 651f05b6e6bec41b54c0a8f8ca6641ce3aa5dff3) + +commit f13cdeaf6657577c21a5bb2985d46971aa084c3f +Author: Sage Weil +Date: Thu Mar 3 13:38:57 2016 -0500 + + mon: make reweight max_change default configurable + + Signed-off-by: Sage Weil + (cherry picked from commit 8a9429d85bc99874dc9871b43b2d0c7ad1086803) + +commit f4b4ef76295d40753c6acffa3d92128f7ebe8733 +Author: Sage Weil +Date: Thu Mar 3 13:38:19 2016 -0500 + + mon/OSDMonitor: fix indentation + + Signed-off-by: Sage Weil + (cherry picked from commit 47b650c1497b8eaf37cfcb7e3b9fda12d8cf2d7a) + +commit 76eb3c8fbdb614a4cdde937a1dec680b4be82470 +Author: Sage Weil +Date: Wed Mar 2 17:34:48 2016 -0500 + + qa/workunits/cephtool/test.sh: test reweight-by-x commands + + Signed-off-by: Sage Weil + (cherry picked from commit 28b33a5b57e3f898808bd8ccc5e314667f84912a) + +commit 9a9d147aa14a637bbf8edddf85f6c36a29874694 +Author: Sage Weil +Date: Thu Mar 10 08:28:59 2016 -0500 + + osd/MonCommand: add/fix up 'osd [test-]reweight-by-{pg,utilization}' + + - show before/after pg placement stats + - add test- variants that don't do anything + - only allow --no-increasing on the -utilization versions (where + it won't conflict with the optional pool list and confuse the + arg parsing) + + Signed-off-by: Sage Weil + (cherry picked from commit 1de7e47833f2d14c6915d7d071fe0005408c8da0) + + - use non-C++11 sort + + # Conflicts: + # src/mon/OSDMonitor.cc + # src/mon/OSDMonitor.h + +commit 6ec676df083ec3078f5efd8058d6fb6a491c9b04 +Author: Sage Weil +Date: Wed Mar 2 14:00:15 2016 -0500 + + mon: add 'osd utilization' command + + Signed-off-by: Sage Weil + (cherry picked from commit 5b757eff868dbce2393beadd9fe2522372288cc0) + +commit 94134d9148edfcc41d2d239db69d0b299fbf427f +Author: Sage Weil +Date: Thu Mar 10 08:30:45 2016 -0500 + + osd/OSDMap: add summarize_mapping_stats + + Calculate some basic stats about the PG distribution. + + Signed-off-by: Sage Weil + (cherry picked from commit ea9abe53d0e777b7dc3b22af71639f77c4de08c8) + + - remove c++11 auto and range-based for loops + +commit 932f75d1f2105f296681b5fb02757087947e01f8 +Author: Sage Weil +Date: Thu Mar 3 13:49:03 2016 -0500 + + mon: make reweight-by-* max_change an argument + + Signed-off-by: Sage Weil + (cherry picked from commit a70eaabcfc1cc1dfb9b6ba2d7f71b3d76496eb55) + +commit d8372cea0c51db89cc48e5592236d53f7b01b6b3 +Author: Dan van der Ster +Date: Fri Feb 26 22:29:46 2016 +0100 + + osd: add mon_reweight_max_osds to limit reweight-by-* commands + + Add configurable mon_reweight_max_osds which limits the number + of OSDs modified each time reweight-by-* is called (by default + to 4 OSDs). + + Also change the order in which we look at OSDs to go from most + to least utilized. + + Signed-off-by: Dan van der Ster + (cherry picked from commit 3aa0ccefddc1790df5b808bfccd5da4857951220) + +commit 6a422b2626d48098c5a2c13de677814429263cba +Author: Dan van der Ster +Date: Fri Feb 26 22:28:46 2016 +0100 + + osd: add mon_reweight_max_change option which limits reweight-by-* + + Add a configurable mon_reweight_max_change which limits be default + the reweight-by-* commands to only change an OSDs weight by 0.05. + + Signed-off-by: Dan van der Ster + (cherry picked from commit 6f0a1fb69da84ee18bdb9b151772cef8f32413c5) + +commit d3635b796ae28e1bc6598daf4109bf371a1f4ed8 +Author: Dan van der Ster +Date: Fri Feb 26 21:58:00 2016 +0100 + + test: add simple test for new reweight-by-* options + + Test validity of --no-increasing and --yes-i-really-mean-it. + + Signed-off-by: Dan van der Ster + (cherry picked from commit 1a6ad5053e7fc4f8942855a17ce4540e340e9d4f) + +commit e993851b7abf80fd793aa5b7188f1af7dbe03041 +Author: Dan van der Ster +Date: Fri Feb 26 21:52:41 2016 +0100 + + osd: add sure and no-increasing options to reweight-by-* + + Add a --no-increasing option to reweight-by-* which can be used to only decrease + OSD weights without increasing any. This is useful for example if you need to + urgently lower the weight of nearly full OSDs. + + Also add a --yes-i-really-mean-it confirmation to reweight-by-*. + + Signed-off-by: Dan van der Ster + (cherry picked from commit ddf5c2b62316bb69839f220fe2527d1467863421) + +commit 281d63df792c4cdf25cca5428969c65d2ae379e8 +Author: Jason Dillaman +Date: Wed Mar 9 18:00:04 2016 -0500 + + librbd: complete cache reads on cache's dedicate thread + + If a snapshot is created out-of-band, the next IO will result in the + cache being flushed. If pending writeback data performs a copy-on-write, + the read from the parent will be blocked. + + Fixes: #15032 + + Signed-off-by: Jason Dillaman + (cherry picked from commit f9e5ae80e3b0799b5a7e1d3f93b2d85a4baff20f) + +commit 621e3aef85e4b720232ca9ee89a4620d58362047 +Author: Jason Dillaman +Date: Wed Mar 9 17:31:06 2016 -0500 + + test: reproducer for writeback CoW deadlock + + Refs: #14988 + + Signed-off-by: Jason Dillaman + (cherry picked from commit 16b6efdd24b25ba1f6bc658681afa3d0878eb397) + (cherry picked from commit 7ffbe4099c9367e7405e2196803a0d8b12253a06) + +commit 38b9c0b2fbbb056c29cd0485a9831edce020eaa6 +Author: Sage Weil +Date: Mon Nov 16 11:32:34 2015 -0500 + + osdc/Objecter: call notify completion only once + + If we race with a reconnect we could get a second notify message + before the notify linger op is torn down. Ensure we only ever + call the notify completion once to prevent a segfault. + + Fixes: #13805 + Signed-off-by: Sage Weil + (cherry picked from commit 987f68a8df292668ad241f4769d82792644454dd) + +commit 7083829c227403a77fcf35a2376dc02e4c9693c8 (refs/remotes/markhpc/hammer) +Merge: 651e49e c4ba93a +Author: Loic Dachary +Date: Tue Mar 8 10:00:15 2016 +0700 + + Merge pull request #6604 from ukernel/hammer-13268 + + hammer: client: added permission check based on getgrouplist + + Reviewed-by: Greg Farnum + +commit 651e49ea2037834fbbf48e642a78075140e06782 +Merge: 522e3e8 b2393dc +Author: Loic Dachary +Date: Tue Mar 8 09:58:30 2016 +0700 + + Merge pull request #6551 from ceph/hammer-client-inoderef + + hammer: client inoderef + + Reviewed-by: Greg Farnum + +commit f794adadd126bd77ae138794119725a046642712 +Author: Brad Hubbard +Date: Fri Mar 4 13:06:47 2016 +1000 + + tests: Add TEST_no_segfault_for_bad_keyring to test/mon/misc.sh + + 94da46b6e31cac206cb32fc5bd3159209ee25e8c adds + TEST_no_segfault_for_bad_keyring which requires changes to run + in hammer since test/mon/misc.sh is not written to run multiple tests in + succession in the hammer version. + + Refs: #14960 + + Signed-off-by: Brad Hubbard + +commit 522e3e8d761a337796ed92868e00062b87e0f0a5 +Merge: d314849 e014ea8 +Author: Loic Dachary +Date: Fri Mar 4 10:25:00 2016 +0700 + + Merge pull request #7797 from SUSE/wip-14861-hammer + + hammer: ceph init script unconditionally sources /lib/lsb/init-functions + + Reviewed-by: Ken Dreyer + +commit 94da46b6e31cac206cb32fc5bd3159209ee25e8c +Author: Dunrong Huang +Date: Tue Dec 8 00:22:02 2015 +0800 + + tests: make sure no segfault occurs when using some bad keyring + + Signed-off-by: Dunrong Huang + (cherry picked from commit 2eb0bf32244fc174d56cc42e2298c67d8b5299ac) + Signed-off-by: Brad Hubbard + +commit a371c0f1d69fea131b56100492d3045c15ae072c +Author: Dunrong Huang +Date: Wed Nov 25 19:03:03 2015 +0800 + + auth: fix a crash issue due to CryptoHandler::create() failed + + In this case(e.g. user passes wrong key), attempts to call the CryptoKey.ckh will lead to a segfault. + + This patch fixes crash issue like following: + + Program received signal SIGSEGV, Segmentation fault. + [Switching to Thread 0x7fffed10e700 (LWP 25051)] + 0x00007ffff59896c6 in CryptoKey::encrypt (this=0x7fffed10d4f0, cct=0x555555829c30, in=..., out=..., error=0x7fffed10d440) at auth/cephx/../Crypto.h:110 + 110 return ckh->encrypt(in, out, error); + (gdb) bt + at auth/cephx/../Crypto.h:110 + at auth/cephx/CephxProtocol.h:464 + + Signed-off-by: Dunrong Huang + (cherry picked from commit a7f520caabf997b3753f1200f19f21830531b3f5) + Signed-off-by: Brad Hubbard + +commit af5da4f24d7c2ea5a1322450180099278dd0da7c +Author: Dunrong Huang +Date: Wed Nov 25 18:24:30 2015 +0800 + + auth: fix double PK11_DestroyContext() if PK11_DigestFinal() failed + + Signed-off-by: Dunrong Huang + (cherry picked from commit e9e05333ac7c64758bf14d80f6179e001c0fdbfd) + Signed-off-by: Brad Hubbard + +commit c3f031a32df5d434721a2b00f2c8961759b1a916 (refs/remotes/markhpc/wip-10794-hammer) +Author: David Zafman +Date: Wed May 20 14:09:02 2015 -0700 + + ceph-objectstore-tool, osd: Fix import handling + + Use same_interval_since set to zero to communicate that an import has happened + and the correct value needs to be computed. + + Fixes: #10794 + + Signed-off-by: David Zafman + (cherry picked from commit 70316541bbb115d9a35954bfba373cf1dc084b7e) + + Conflicts: + src/osd/PG.cc (trivial) + +commit 647723ecd283273657bdb8b35dbb904e55c37add +Author: David Zafman +Date: Thu Jun 4 10:37:42 2015 -0700 + + tools, test: Add ceph-objectstore-tool to operate on the meta collection + + Signed-off-by: David Zafman + (cherry picked from commit 31fa89f24997c3e9b4f8795ea28938ab65493d10) + + Conflicts: + src/tools/ceph_objectstore_tool.cc + is_pg() still needs snap argument + +commit d8756208a3213e099574e57e9b654feab84b0497 +Author: Piotr DaÅ‚ek +Date: Thu Mar 3 11:30:53 2016 +0100 + + common/obj_bencher.cc: make verify error fatal + + When run without "--no-verify", all verification errors are noted, + but they are not forwarded/reported anywhere else but to cerr, which + will cause automated testing to ignore them. Make seq_read_bench and + rand_read_bench return -EIO on any verification error which will, + in turn, return it back to caller. + + Fixes: #14974 + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit 658bba85c488a38e25bc598637258c263f711631) + +commit 04fe9517cd049e97b845cef848f19a8b8dc3976c +Author: Piotr DaÅ‚ek +Date: Thu Mar 3 14:40:44 2016 +0100 + + test/test_rados_tool.sh: force rados bench rand and seq + + This forces rados bench rand and seq to execute, so if there's + a regression in any of above, it won't go unnoticed. + + Fixes: #14974 + Signed-off-by: Piotr DaÅ‚ek + +commit d314849ab9b59ae55c6a86b878d123eb1c13d88a +Merge: 20b2a74 31a2fc4 +Author: Sage Weil +Date: Thu Mar 3 08:35:37 2016 -0500 + + Merge pull request #7672 from dachary/wip-14783-hammer + + hammer: test_bit_vector.cc uses magic numbers against #defines that vary + +commit 6a6754f8dc834dbb13144cebdeeea2ff29e09127 +Author: Alexey Sheplyakov +Date: Fri Feb 26 15:01:11 2016 +0300 + + hammer: tools: fix race condition in seq/rand bench (part 2) + + Commit c2c6d02591519dfd15ddcb397ac440322a964deb which is intended to + cherry-pick 9bcf5f065c4ed4b10d8f98961d1f99493bcdc9b8 incorrectly resolved + a conflict by adding code where it should have been removed. The incorrect + conflict resolution can been displayed with + + commit=c2c6d02591519dfd15ddcb397ac440322a964deb + picked_from=9bcf5f065c4ed4b10d8f98961d1f99493bcdc9b8 + diff -u --ignore-matching-lines '^[^+-]' <(git show $picked_from) <(git show $commit) + + --- /dev/fd/63 2016-03-03 14:09:51.354329129 +0700 + +++ /dev/fd/62 2016-03-03 14:09:51.358329122 +0700 + @@ -76,20 +79,18 @@ + ++data.in_flight; + - if (!no_verify) { + - snprintf(data.object_contents, data.object_size, "I'm the %16dth object!", current_index); + -- lock.Unlock(); + + lock.Unlock(); + - if (memcmp(data.object_contents, cur_contents->c_str(), data.object_size) != 0) { + - cerr << name[slot] << " is not correct!" << std::endl; + - ++errors; + - } + -- } else { + -- lock.Unlock(); + -- } + -- + -+ lock.Unlock(); + - name[slot] = newName; + - } + - + -@@ -789,11 +791,14 @@ int ObjBencher::rand_read_bench(int seconds_to_run, int num_objects, int concurr + ++ if (memcmp(data.object_contents, cur_contents->c_str(), data.object_size) != 0) { + ++ cerr << name[slot] << " is not correct!" << std::endl; + ++ ++errors; + + } else { + + lock.Unlock(); + + } + +@@ -776,11 +785,14 @@ int ObjBencher::rand_read_bench(int seconds_to_run, int num_objects, int concurr + } + lc.cond.Wait(lock); + } + + http://tracker.ceph.com/issues/14873 Fixes: #14873 + + Signed-off-by: Alexey Sheplyakov + +commit 3a5b1029f8f30bca569b12195329224208855096 +Author: Alexey Sheplyakov +Date: Thu Mar 3 15:30:23 2016 +0300 + + hammer: tools: fix race condition in seq/rand bench (part 1) + + src/common/obj_bencher.cc:601: the lock should be taken before calling completion_ret, + not after. Also note that if r < 0 the lock will be unlocked twice in a row. + As a result rados bench seq fails with assertion in Mutex::Unlock(). + + Signed-off-by: Piotr DaÅ‚ek + Signed-off-by: Alexey Sheplyakov + (cherry picked from commit 0c8faf7c9982c564002771c3a41362a833ace9bb) + + Conflicts: + src/common/obj_bencher.cc + src/common/obj_bencher.h + Pick only the lock related part to unbreak seq bench. The failure due + to the missing (or wrong sized) objects can be easily worked around, and + the changes required to fix this problem are way too intrusive for hammer. + + http://tracker.ceph.com/issues/14873 Related: #14873 + +commit c4ba93a6529ab549d42b601432ec88d8243909bf +Author: Yan, Zheng +Date: Tue Sep 29 15:24:41 2015 +0800 + + client: use fuse_req_getgroups() to get group list + + Signed-off-by: Yan, Zheng + (cherry picked from commit 0eb6d0ba1b65ac0aaffc72a82f07857cc65a6b88) + +commit a84ed87082076e1990fb79703aa5ac8eea5d34ea +Author: Yan, Zheng +Date: Tue Sep 29 15:11:24 2015 +0800 + + client: use thread local data to track fuse request + + When handling an operation, libcephfs code may want to access fuse + request for extra information. by tracking fuse request in thread + local data, we can avoid adding extra parameter to Client::ll_foo + functions. + + Signed-off-by: Yan, Zheng + (cherry picked from commit a9f91d7d70893cdc5f832a26a5be298941d00315) + +commit e7f299ace762c7d02cad1f7253dba87404d944f5 +Author: Danny Al-Gaaf +Date: Tue Aug 18 12:34:01 2015 +0200 + + client/Client.cc: remove only once used variable + + Fix for: + [src/client/Client.cc:4555]: (style) The scope of the variable + 'initial_group_count' can be reduced. + + Signed-off-by: Danny Al-Gaaf + Signed-off-by: Yan, Zheng + (cherry picked from commit a29dd45dd89f59ff15018f541601ac5ede162174) + +commit 16e3e2f0a0dc465ed9079df051215f4758f0ee4d +Author: Danny Al-Gaaf +Date: Wed Aug 12 18:38:38 2015 +0200 + + client/Client.cc: fix realloc memory leak + + Fix handling of realloc. If realloc() fails it returns NULL, assigning + the return value of realloc() directly to the pointer without checking + for the result will lead to a memory leak. + + Signed-off-by: Danny Al-Gaaf + Signed-off-by: Yan, Zheng + (cherry picked from commit 4f98dab99c35663de89a06e2dfdbd874f56aed41) + +commit b13ddc0690742b11802e59f34b539987d632ac58 +Author: blinke +Date: Mon Aug 10 17:43:10 2015 +0200 + + client: added permission check based on getgrouplist + + Fixes: #13268 + Signed-off-by: Yan, Zheng + (cherry picked from commit f04c8da5432174874ca97d11a5b2fef56f95d73d) + +commit 562c0a962b291b90112ccea7d8c6f7c92a14851f +Author: blinke +Date: Mon Aug 10 15:31:44 2015 +0200 + + configure.ac: added autoconf check for getgrouplist + + Signed-off-by: Yan, Zheng + (cherry picked from commit 16b59c6cd68d532a47e8c0e7b1f088b41433f048) + +commit e014ea88861f4f27b4a5db14c32133a3b864411e +Author: Yan, Zheng +Date: Thu Jul 23 15:07:45 2015 +0800 + + init-ceph: check if /lib/lsb/init-functions exists + + On OSX/FreeBSD, /lib/lsb/init-functions does not exist + + Signed-off-by: Yan, Zheng + (cherry picked from commit bb1fa7f3993dfcd1243b2a9a0bb432c269df215f) + +commit 20b2a7413e8f7538ff0683313e7b19c41aaf69ad +Merge: c1bc048 c63baeb +Author: Loic Dachary +Date: Thu Mar 3 12:05:58 2016 +0700 + + Merge pull request #7671 from tchaikov/wip-14583-hammer + + hammer: global/pidfile: do not start two daemons with a single pid-file + + Reviewed-by: Loic Dachary + +commit c1bc048dd708a729137e1d28e0ccfedfe5d90933 +Merge: 546a7b9 28d42dc +Author: Loic Dachary +Date: Thu Mar 3 11:51:33 2016 +0700 + + Merge pull request #7702 from ceph/wip-14077-hammer + + hammer: scrub bogus results when missing a clone + + Reviewed-by: Martin Palma + Reviewed-by: Wei-Chung Cheng + Reviewed-by: Loic Dachary + +commit 5726463368ddcc688e6308d22992568ba4c0da32 +Author: Nathan Cutler +Date: Fri Feb 26 18:30:49 2016 +0100 + + packaging: lsb_release build and runtime dependency + + The lsb_release executable is being run in multiple places, not least in + src/common/util.cc, which calls it via shell in the collect_sys_info() code + path. + + This patch addresses this issue on SUSE- and Debian-derivatives, as well + as reinstating the dependency for RHEL/Fedora after it was dropped in + 15600572265bed397fbd80bdd2b7d83a0e9bd918. + + http://tracker.ceph.com/issues/14906 Fixes: #14906 + + Signed-off-by: Nathan Cutler + (cherry picked from commit b87f4efb5689a8db77e06baf4f469afcd9df3677) + + Conflicts: + ceph.spec.in + The jewel specfile has diverged considerably from hammer: + systemd, package split, etc. This is more of a hand backport + than a cherry-pick. + +commit c63baebbb9bb5e6564955e920d0f658e5a3092af +Author: Loic Dachary +Date: Mon Feb 1 19:32:13 2016 +0700 + + global: do not start two daemons with a single pid-file (part 2) + + Fixes the following bugs: + + * the fd is open(O_WRONLY) and cannot be read from, safe_read + always fails and never removes the pid file. + + * pidfile_open(g_conf) is close(STDOUT_FILENO) and there is a risk that + pidfile_open gets STDOUT_FILENO only to have it closed and redirected + to /dev/null. + + * Before writing the file, ftruncate it so that overriding a file + containing the pid 1234 with the pid 89 does not end up being + a file with 8934. + + * Before reading the file, lseek back to offset 0 otherwise it + will read nothing. + + * tests_pidfile was missing an argument when failing + TEST_without_pidfile and killed all process with ceph in their name, + leading to chaos and no useful error message. + + * lstat(fd) cannot possibly return a result different from the one + obtained right after the file was open, stat(path) must be used + instead. + + In addition to fixing the bugs above, refactor the pidfile.cc + implementation to: + + * be systematic about error reporting (using cerr for when removing + the pidfile because derr is not available at this point and derr + when creating the pidfile). + + * replace pidfile_open / pidfile_write with just pidfile_write since + there never is a case when they are not used together. + + More test cases are added to test_pidfile to verify the bugs above are + fixed. + + http://tracker.ceph.com/issues/13422 Fixes: #13422 + + Signed-off-by: Loic Dachary + (cherry picked from commit 9828d49d6f3ccfc78d496153d263ea39b1722d4b) + + Conflicts: + src/global/global_init.cc + - the `flag` argument of `global_init_prefork()` is not used, so + it was removed in master. but the cleanup commit was not + cherry-picked to hammer, thus the conflict. we can just keep it + around in hammer to minimize the code churn, although it may + stand in the way of future backports.) + - s/nullptr/NULL/ as hammer does not support c++11. + +commit 28d42dc8e0a0dd71d03c1b69fb7464b753bd4cc0 +Merge: 9144c38 9282c1d +Author: David Zafman +Date: Thu Feb 25 14:25:48 2016 -0800 + + Merge backport pull request #6545 into wip-14077-hammer + + A commit skipped because remove_coll() still needed in Hammer + +commit 9144c3837f284ac2c922d2438b0e0f0cc7304d7a +Merge: fd74fbf 3226615 +Author: David Zafman +Date: Thu Feb 25 14:25:35 2016 -0800 + + Merge backport pull request #5783 into wip-14077-hammer + +commit fd74fbf04a965ca93dc9602f99e3cb7a3577340a +Merge: 4309fa8 0fe3dfe +Author: David Zafman +Date: Thu Feb 25 14:25:17 2016 -0800 + + Merge backport pull request #5031 into wip-14077-hammer + +commit 4309fa87e13a20368ca34f7699436b628c9d7876 +Merge: de5e11e 1bc8882 +Author: David Zafman +Date: Thu Feb 25 14:24:58 2016 -0800 + + Merge backport pull request #5842 into wip-14077-hammer + +commit de5e11ec69e7388a1a9c28614759b2e2d8b70ad8 +Merge: 7698e6c 6ff4217 +Author: David Zafman +Date: Thu Feb 25 14:24:31 2016 -0800 + + Merge backport pull request #5127 into wip-14077-hammer + +commit 7698e6c54aae1d06664d8e8324595400e6087f24 +Merge: c8057c6 de80bbf +Author: David Zafman +Date: Thu Feb 25 14:23:14 2016 -0800 + + Merge backport 6 commits from pull request #5197 into wip-14077-hammer + + Excludes the ceph-objectstore-tool meta-list op + +commit c8057c693bf0ae7bb01ef238f4ef9f23454a2e33 +Merge: ecbf6d2 df0e11e +Author: David Zafman +Date: Thu Feb 25 14:22:26 2016 -0800 + + Merge backport branch 'wip-temp' into wip-14077-hammer + +commit ecbf6d2882073363ca1ddc5209e1e9537f51fa77 +Merge: 3415312 6c8884b +Author: David Zafman +Date: Thu Feb 25 14:21:20 2016 -0800 + + Merge backport pull request #4932 into wip-14077-hammer + +commit 34153127963b5baec0c2b84f7aa19b29fc81d4fa +Merge: e022b5b 87a7f99 +Author: David Zafman +Date: Thu Feb 25 14:20:41 2016 -0800 + + Merge backport pull request #4915 into wip-14077-hammer + +commit e022b5b55facb359f6fd27884e2408fda70db30a +Merge: 4ed44e1 9ca2f35 +Author: David Zafman +Date: Thu Feb 25 14:20:00 2016 -0800 + + Merge backport 1 commit from pull request #4863 into wip-14077-hammer + +commit 4ed44e1e33df986468585d00a6dc401025263217 +Merge: 3f0fc84 78a59f8 +Author: David Zafman +Date: Thu Feb 25 14:18:38 2016 -0800 + + Merge backport 8 commits from pull request #4784 into wip-14077-hammer + + Only excludes actual fix for #10794 + +commit 3f0fc84c4180473a87db01cb40d0488bcaa2c202 +Merge: db68c6c eab0f24 +Author: David Zafman +Date: Thu Feb 25 14:15:05 2016 -0800 + + Merge backport 41 commits from pull request #4473 into wip-14077-hammer + +commit db68c6cb683870e68bf6143c6902b8ac89ecdc3a +Merge: c3d938d 18c49b6 +Author: David Zafman +Date: Thu Feb 25 14:13:37 2016 -0800 + + Merge backport branch 'wip-journal-header' of git://github.com/XinzeChi/ceph into wip-14077-hammer + + Includes a change to the code in the original merge commit itself + +commit c3d938d81020072c2d2eecf58f4639e773181b1a +Merge: 7abb6ae a1fc101 +Author: David Zafman +Date: Thu Feb 25 14:13:02 2016 -0800 + + Merge backport 1 commit of pull request #3686 into wip-14077-hammer + +commit 9282c1d01c4f2d99fb3832a3cf495f99fdc6487e +Author: David Zafman +Date: Thu Nov 5 19:06:17 2015 -0800 + + ceph-objectstore-tool: Add dry-run checking to ops missing it + + Update test to check most operations + + Signed-off-by: David Zafman + (cherry picked from commit e89f0e1c5e8a378809bec7c705ea2c23235d4b28) + + Conflicts: + src/tools/ceph_objectstore_tool.cc (trivial) + +commit efc2183bafacfcd29fbb1b42231d4c147199e528 +Author: David Zafman +Date: Wed Nov 11 15:26:52 2015 -0800 + + test: Remove redundant test output + + Signed-off-by: David Zafman + (cherry picked from commit e6f1bdcd310bd6417f0f695fba3430fd0edba43d) + +commit 322661547ec437a9cdb893fcd280a48cd60ec990 +Author: David Zafman +Date: Wed Oct 28 21:34:44 2015 -0700 + + test: osd-scrub-snaps.sh uses ceph-helpers.sh and added to make check + + Signed-off-by: David Zafman + (cherry picked from commit d712737be1aadb38ecc3882200999d79d748cdb8) + + ceph-helpers.sh in different location in Hammer + +commit 995a0042a1b8ed04b77e6bc4757a10552450dc7f +Author: David Zafman +Date: Tue Nov 10 18:20:46 2015 -0800 + + test: Verify replicated PG beyond just data after vstart + + Signed-off-by: David Zafman + (cherry picked from commit 9a29c5983cd392e4b479b6b685fb0c3797c10cd2) + +commit 6afb5d3be26931c670f22c892c925e2556c8e562 +Author: David Zafman +Date: Mon Oct 26 11:36:43 2015 -0700 + + osd: Use boost::optional instead of snap 0 for "all_clones" + + Signed-off-by: David Zafman + (cherry picked from commit 310bf784b7cd8d75f2ab7ee431bc764f5b312aa2) + +commit 750f81732bc803128a8a25c07e10e9f709dc2a1a +Author: David Zafman +Date: Tue Nov 10 17:57:59 2015 -0800 + + test: Fix verify() used after import to also check xattr and omap + + Signed-off-by: David Zafman + (cherry picked from commit 92d00f22805599c519806c6ff6164847b5c33931) + +commit b8c9507f632510d7da8545d7afc49b618435ef3c +Author: David Zafman +Date: Sun Oct 25 18:57:18 2015 -0700 + + osd, test: When head missing a snapset, clones not an error + + Fix log message for this case and make into "info" + + Signed-off-by: David Zafman + (cherry picked from commit f508ddc6e9b40fe5c1c54e5faa569f2bc7b78c4b) + +commit 59fee8a65c1a39d7e3806852aabbf68d7ca37feb +Author: David Zafman +Date: Mon Nov 9 20:02:21 2015 -0800 + + test: Add test cases for xattr and omap ceph-objectstore-tool operations + + Signed-off-by: David Zafman + (cherry picked from commit cbaed6a8c737f77e68a0eb7f1fca32ec4155f045) + +commit 0988b1238d43630ff0b05d321952021ede73c2ae +Author: David Zafman +Date: Sat Oct 24 16:23:13 2015 -0700 + + osd, test: Keep missing count and log number of missing clones + + Signed-off-by: David Zafman + (cherry picked from commit 2e0bb0ae9498fd9a0c49f1b81bf0c86f7a7cac42) + + Conflicts: + src/osd/ReplicatedPG.h (trivial) + +commit 37be95996494f72d4fa3ecc62b54ee9478903c6e +Author: David Zafman +Date: Wed Nov 11 08:28:01 2015 -0800 + + rados: Minor output changes for consistency across operations + + Signed-off-by: David Zafman + (cherry picked from commit 016ed34ce85fa111f54857a8ca1002ae32b52b8e) + +commit 6c51e4831f34a67308e3f8190d9aad2c3d029bf7 +Author: David Zafman +Date: Tue Oct 20 11:14:42 2015 -0700 + + test: Eliminate check for bogus "obj13/head snaps empty" error + + Signed-off-by: David Zafman + (cherry picked from commit 8227b4b75c24b632e637decbe4b818606e8589ee) + +commit e92505bec093cb3070e4962bc86b82a257c64171 +Author: David Zafman +Date: Wed Oct 14 20:34:28 2015 -0700 + + ceph-objectstore-tool: Add new remove-clone-metadata object op + + Fixes: #12740 + + Signed-off-by: David Zafman + (cherry picked from commit c6d283f0f16347a13418d8a0ed136913e1161893) + + No Sequencer in transactions in Hammer + +commit 8f88b442a26603cc321fccc7047cb8639b2a0f65 +Author: David Zafman +Date: Wed Oct 14 20:42:48 2015 -0700 + + osd: Fix trim_object() to not crash on corrupt snapset + + Add test case to check for trim_object() osd crash + + Signed-off-by: David Zafman + (cherry picked from commit eb0ca424815e94c78a2d09dbf787d102172f4ddf) + + Conflicts: + src/osd/ReplicatedPG.cc (trivial) + +commit 78b13f5d591d9d9676939abc4febeb7d2eebb1a3 +Author: David Zafman +Date: Wed Oct 14 13:12:17 2015 -0700 + + ceph-objectstore-tool: Improve object spec error handling + + Add test cases + + Signed-off-by: David Zafman + (cherry picked from commit caf2d5970b0a3e3ce4ef941d1955b7821a0fc916) + + Conflicts: + src/test/ceph_objectstore_tool.py (trivial) + +commit 7b800b7c3efb5403d03fc0c4386821b433b85268 +Author: David Zafman +Date: Wed Oct 7 17:25:44 2015 -0700 + + ceph-objectstore-tool: Add undocumented clear-snapset command for testing + + Add test cases using new feature to corrupt SnapSet + + Signed-off-by: David Zafman + (cherry picked from commit b6302acdd344997aabdb426104de9f24e9990437) + + No Sequencer in transactions in Hammer + +commit 7f398bd2a3264d1ac5bf40a5470c43454dbad571 +Author: David Zafman +Date: Wed Oct 14 21:59:50 2015 -0700 + + ceph-objectstore-tool: Add set-size command for objects + + Signed-off-by: David Zafman + (cherry picked from commit 138a33b8946e6fea1e09527b8bc45b7aa4bee1d6) + + No Sequencer in transactions in Hammer + +commit 53dc87f82642de769a7ea11554552e6db06a3e65 +Author: David Zafman +Date: Wed Oct 14 22:04:05 2015 -0700 + + ceph-objectstore-tool: Enhanced dump command replaces dump-info + + Show object stat information from objectstore + Show SnapSet if present + Add --head for search by object name + + Signed-off-by: David Zafman + (cherry picked from commit 1688debf7892d36c773c12d7d0b1b9b4cddc5f98) + +commit a46fc6613e1f1f6709184d68f23bccab0fd03bd6 +Author: David Zafman +Date: Fri Oct 2 13:39:29 2015 -0700 + + test: Add some clones to ceph-objectstore-tool test + + Signed-off-by: David Zafman + (cherry picked from commit b4ba3e66548a5dee58553df071b916c85d701caf) + +commit fd518e704e0e5c01f3b7efa8905ddde1e64cc842 +Author: David Zafman +Date: Thu Oct 1 19:28:54 2015 -0700 + + ceph-objectstore-tool: For corrupt objectstores, don't abort listing on errors + + Signed-off-by: David Zafman + (cherry picked from commit d276d3286504ea702ae561b91dff4121c99feb9a) + + Conflicts: + src/tools/ceph_objectstore_tool.cc (trivial) + +commit ad7825a4beba879f6a38ef3eda0648f11f8783bd +Author: David Zafman +Date: Tue Oct 13 13:02:40 2015 -0700 + + ceph-objectstore-tool: Improve some error messages + + Signed-off-by: David Zafman + (cherry picked from commit b0c884ba8b51eedf9def093c61f0f06398101ecc) + +commit 26cbf14ef1e44936f48fdb2be40b59ae2117666f +Author: David Zafman +Date: Thu Sep 3 14:22:20 2015 -0700 + + ceph-objectstore-tool: White space fixes + + Signed-off-by: David Zafman + (cherry picked from commit 0564f398269d920d90f6d6ecb008ebcd6609d611) + +commit 0f785646d2f52522706835a2f1c8e0101db9a622 +Author: David Zafman +Date: Tue Oct 13 15:33:26 2015 -0700 + + tools/rados: Improve xattr import handling so future internal xattrs ignored + + Signed-off-by: David Zafman + (cherry picked from commit 9222f56403cf52ec161a38fc437a3f04c24d1625) + + Conflicts: + src/tools/rados/RadosImport.cc (Code in ceph_objectstore_tool.cc in Hammer) + +commit c8e27725249cf587e65af323e3ae0ba43c740c10 +Author: David Zafman +Date: Tue Sep 29 19:57:43 2015 -0700 + + test: Test scrubbing of snapshot problems + + Signed-off-by: David Zafman + (cherry picked from commit e5ad33ec07ee9fffe862d84955a566261d101713) + +commit 113d5c75a5bd33b1b5fe399d83d94a671eb40658 +Author: David Zafman +Date: Mon Sep 28 10:59:42 2015 -0700 + + osd: Don't crash if OI_ATTR attribute is missing or corrupt + + Signed-off-by: David Zafman + (cherry picked from commit e0b39650028205e9d9e314b75c444cc8cf055a31) + +commit 3af8f9e8044fb1e126f208903c41cde065db304e +Author: David Zafman +Date: Tue Oct 13 18:02:32 2015 -0700 + + osd: Additional _scrub() check for snapset inconsistency + + Signed-off-by: David Zafman + (cherry picked from commit 9e48e1801ea1a10ce495b3947da06676c2f5f72f) + +commit 7103e74e335652f2a28b1dad0a2f2028398a600d +Author: David Zafman +Date: Thu Sep 3 19:43:35 2015 -0700 + + osd: Better SnapSet scrub checking (find issues instead of asserting) + + Signed-off-by: David Zafman + (cherry picked from commit 3b381caaad20c683a330e8b7a4e1c017abcb60df) + +commit 18af852a2c71b733ec5c6bd397b2e712b676c693 +Author: David Zafman +Date: Wed Aug 26 13:58:09 2015 -0700 + + osd: Make the _scrub routine produce good output and detect errors properly + + Catch decode errors so osd doesn't crash on corrupt OI_ATTR or SS_ATTR + Use boost::optional<> to make current state clearer + Create next_clone as needed using head/curclone + Add equivalent logic after getting to end of scrubmap.objects + + Fixes: #12738 + + Signed-off-by: David Zafman + (cherry picked from commit a23036c6fd7de5d1dbc2bd30c967c0be51d94ca5) + + Conflicts: + src/osd/ReplicatedPG.cc (no num_objects_pinned in hammer) + src/osd/ReplicatedPG.h (no get_temp_recovery_object() in hammer) + +commit 3a1b58838dba6bd482aa5786dc44962c4a977c17 +Author: David Zafman +Date: Wed Sep 30 17:17:15 2015 -0700 + + osd: Fix log message name of ceph-objectstore-tool + + Signed-off-by: David Zafman + (cherry picked from commit 545e4b2c582625f8b93502266ca59ee40e0d0e5f) + +commit 0fe3dfe8768b27743189add73cde9a44095f2a62 +Author: Mykola Golub +Date: Tue Jun 16 11:57:08 2015 +0300 + + ceph-objectstore-tool: add mark-complete operation + + It is supposed to be used as a last resort to fix a cluster that has + PGs in 'incomplete' state, using the following procedure: + + 1) stop the osd that is primary for the incomplete PG; + 2) run: + ceph-objectstore-tool --data-path ... --journal-path ... --pgid $PGID --op mark-complete + 3) start the osd. + + Fixes: #10098 + Signed-off-by: Mykola Golub + (cherry picked from commit 6907778d767ba08bb80c495785056ed122b023fe) + + Conflicts: + src/test/ceph_objectstore_tool.py (trivial) + src/tools/ceph_objectstore_tool.cc (trivial) + +commit 1bc88827fc40f124f570dd8b7865c687f1b1f5a8 +Author: David Zafman +Date: Tue Sep 8 12:33:44 2015 -0700 + + test: Fix failure test to find message anywhere in stderr + + Consolidate test_failure() and test_failure_tty() + + Signed-off-by: David Zafman + (cherry picked from commit 95bd3c2c54312417b132ddb91c89fdbe63b01fd0) + +commit 6ff421738c93ff37521ccf67caf3d09d284e339c +Author: Kefu Chai +Date: Fri Jul 17 14:46:16 2015 +0800 + + test: add test for {get,set}-inc-osdmap commands. + + Signed-off-by: Kefu Chai + (cherry picked from commit 818de1a2c89272d98610328a958fea06d1cc41cc) + + Conflicts: + src/test/ceph_objectstore_tool.py (trivial) + +commit de80bbf4d7c1b78017cf447a7f511ceefac39e50 +Author: David Zafman +Date: Tue Jun 23 16:51:27 2015 -0700 + + test: Add debug argument to the ceph-objectstore-tool test + + Signed-off-by: David Zafman + (cherry picked from commit a3b14ede9e829ec85c49980ecbff11f584ca70ae) + +commit 0643797cb7a37b5601a7dd8da9a81f8194b8f25d +Author: David Zafman +Date: Tue Sep 8 13:41:31 2015 -0700 + + rados: Fix usage for "notify" command + + Signed-off-by: David Zafman + (cherry picked from commit b968fb3bcefb0cdafb1e84d7c679b61a201a940f) + +commit 5ba8649423fd5a2d5c212273c901f9ddd5f44632 +Author: Kefu Chai +Date: Wed Jul 8 15:51:55 2015 +0800 + + test: add test for {get,set}-osdmap commands + + Signed-off-by: Kefu Chai + (cherry picked from commit 0257c150fe552300c0d9f5a22a27aaa49fb6cc64) + + Conflicts: + src/test/ceph_objectstore_tool.py (trivial) + +commit 3276258b1a9123caec8d635aa1a2de3ef02201e6 +Author: David Zafman +Date: Thu Jun 25 17:15:39 2015 -0700 + + tools, test: Some ceph-objectstore-tool error handling fixes + + Improve various error messages generated with invalid syntax + Add test cases for most of these error messages + + Signed-off-by: David Zafman + (cherry picked from commit 127a5f191d3d2442edd3a3fa820006bca3a08c93) + + Conflicts: + src/test/ceph_objectstore_tool.py (trivial) + +commit cfabcc1066a06644b619fa027e27d338411120c9 +Author: Kefu Chai +Date: Tue Jul 14 10:33:47 2015 +0800 + + tools/ceph-objectstore-tool: add get-inc-osdmap command + + Signed-off-by: Kefu Chai + (cherry picked from commit 7801bb20d23ce83fc4093c23331bcb75e43c878f) + + Conflicts: + src/tools/ceph_objectstore_tool.cc (trivial) + +commit c7d0fda01efc29d81723d4edfba2bfbbe6765760 +Author: David Zafman +Date: Mon Jun 22 20:11:10 2015 -0700 + + tools: Check for valid --op earlier so we can get a better error message + + Signed-off-by: David Zafman + (cherry picked from commit d8460714fab61d0a3092b3e7b290c0c19ad58beb) + + Conflicts: + src/test/ceph_objectstore_tool.py (trivial) + src/tools/ceph_objectstore_tool.cc (meta-list op not in Hammer) + +commit be24c50bb74aa6cd7bb08519cdaf267d4107eef3 +Author: Kefu Chai +Date: Sat Jul 11 16:27:47 2015 +0800 + + tools/ceph-objectstore-tool: add set-inc-osdmap command + + Signed-off-by: Kefu Chai + (cherry picked from commit 95344d07c3a1a9a6b1246e5eca3f7daeb062dd06) + + Conflicts: + src/tools/ceph_objectstore_tool.cc (trivial) + +commit 06dcf74374f57224536522ef46dba8a53a0d755d +Author: David Zafman +Date: Wed Jun 10 17:04:57 2015 -0700 + + tools: Fix newlines in output of --op list + + Signed-off-by: David Zafman + (cherry picked from commit 6aec38b51f0c14684912b5ee28fb5b1375cb8f8a) + +commit e44c042c3dffc4ca396dbdfac24fa65914c0b73b +Author: Kefu Chai +Date: Fri Jul 3 23:09:54 2015 +0800 + + tools/ceph-objectstore-tool: add "get-osdmap" command + + Signed-off-by: Kefu Chai + (cherry picked from commit f0c130d6b1bc2a8a0cce6d78a6e69995fe00a427) + + Conflicts: + src/tools/ceph_objectstore_tool.cc (trivial) + +commit 3f9e46779addaa07d04d501113eb95cea95b802b +Author: David Zafman +Date: Mon Jun 22 18:38:01 2015 -0700 + + tools: Fix dump-super which doesn't require pgid + + A valid pgid had to be specified in order for superblock to be displayed, + but it was otherwise ignored. + Fix message that didn't include dump-super + + Signed-off-by: David Zafman + (cherry picked from commit fd1772e0ac4cb801d6f3b056645eeb4d3d6ef001) + +commit c60eee1dcd64d4452e96ed937f94a3ec41faf9fe +Author: Kefu Chai +Date: Thu Jul 2 19:14:55 2015 +0800 + + tools/ceph-objectstore-tool: add "set-osdmap" command + + Fixes: #12193 + Signed-off-by: Kefu Chai + (cherry picked from commit 3e30c1746fb8d90b04e4776849069db0b7737c87) + + Conflicts: + src/tools/ceph_objectstore_tool.cc (trivial) + +commit cfe7d47d38fd103601c09eceb98b9c7365869fba +Author: David Zafman +Date: Mon Jun 22 19:16:22 2015 -0700 + + tools: Check and specify commands that require the pgid specification + + Signed-off-by: David Zafman + (cherry picked from commit 5534bc864813d96a0d20791d79151c4f6695a013) + +commit df0e11e7783e239ae7be992b342df980d399ab95 +Author: Sage Weil +Date: Thu Dec 11 16:25:49 2014 -0800 + + hobject_t: modify operator<< + + Put the most significant fields to the left so that it matches the sort + order. Also use unambiguous separator when the nspace is present + (like we do with the key). + + Signed-off-by: Sage Weil + (cherry picked from commit ecdc8f697acf1627b35a83663c219a3bb0ada453) + +commit 6c8884b11b8211642662bfd7d612872621ffd8ff +Author: David Zafman +Date: Thu Jun 11 12:57:10 2015 -0700 + + test, tools: Improve ceph-objectstore-tool import error handling and add tests + + Signed-off-by: David Zafman + (cherry picked from commit ddc4d52782a04d99a4293c9fc278894dfe328515) + +commit 87a7f991d1f2f1a05fff18accc7e31ff393083f1 +Author: David Zafman +Date: Tue Jun 9 18:14:09 2015 -0700 + + tools: For ec pools list objects in all shards if the pgid doesn't specify + + Signed-off-by: David Zafman + (cherry picked from commit 1aa9655f10b0fcc42cb5114681b8b24a2ccb68f4) + +commit 9ca2f35d02169e6f82e3d45e00fe880c02cbd8ce +Author: John Spray +Date: Mon Apr 20 17:28:15 2015 +0100 + + tools: clean up errors in ceph-objectstore-tool + + We use negative error codes everywhere else, should + use them here too. Also add a couple of strategically + placed prints. + + Signed-off-by: John Spray + (cherry picked from commit 8e5594da29e782b6efd046ed03f313599dafa1c5) + + Conflicts: + src/tools/RadosDump.cc (Excluded, not in Hammer) + +commit 78a59f8b0c43adbd9a7a1db68dafcbf7bd2ad74d +Author: David Zafman +Date: Mon Jun 1 17:22:18 2015 -0700 + + test/ceph-objectstore-tool: Don't need stderr noise + + Signed-off-by: David Zafman + (cherry picked from commit d7858c66454093dd6f2fab60e33e5b2472bcd80a) + +commit eab0f2403ea025f4e659dc055323b227023448ab +Author: David Zafman +Date: Thu Apr 9 16:26:07 2015 -0700 + + osd: Show number of divergent_priors in log message + + Report dirty_divergent_priors as true or false + Use dout(5) so tests can verify divergent_priors created + + Signed-off-by: David Zafman + (cherry picked from commit 67da8feb0ff8659f1ff812be5a866ef5e97facf2) + +commit d58793d10d682fba2ceafa4d6a1668c4917be77f +Author: David Zafman +Date: Mon Jul 6 18:14:06 2015 -0700 + + osd, tools: Always filter temp objects since not being exported + + Can't use object_locator_to_pg() directly with a temp object + because the pool is negative. + + Signed-off-by: David Zafman + (cherry picked from commit 557c6530a515cffacbaec439cabff8a079edbf5b) + +commit efc402ea9846d3995bf3d4c98188842cb69870cf +Author: David Zafman +Date: Mon Jun 1 17:15:21 2015 -0700 + + test/ceph-objectstore-tool: Show command that should have failed + + Signed-off-by: David Zafman + (cherry picked from commit 23551deea66673c35d7183d18b63b5a8438ebf00) + +commit 88ac5198f542cdea87d0f600a2201132c47f158d +Author: David Zafman +Date: Tue May 12 15:28:07 2015 -0700 + + test: Add config changes to all tests to avoid order dependency + + ReplayCorrupt was crashing because journal_ignore_corruption wasn't set true + Improve ReplayCorrupt by checking setting of bool corrupt and use ASSERT_FALSE() + + Signed-off-by: David Zafman + (cherry picked from commit 9016269a1c248da69a0e85df4ca3ba95011710c5) + +commit 3d99ecd6131f41ebe60c352266dca9193d61bbc9 +Author: David Zafman +Date: Mon Jun 22 11:15:58 2015 -0700 + + tools: Don't export temporary objects until we have persistent-temp objects + + Signed-off-by: David Zafman + (cherry picked from commit 4fcf5dd370e8cfac75fadbf709a785053eb26ad9) + + Remove "assert(!i->hobj.is_meta());" since is_meta() is not in Hammer + +commit 13360d3a55818fc5b63a2bb9889a67f3fc98d286 +Author: David Zafman +Date: Fri May 22 17:41:40 2015 -0700 + + test/ceph_objectstore_tool: Improve dump-journal testing + + Fix false failure when journal has no entries + Test dump-journal on all osds in 2 places + + Signed-off-by: David Zafman + (cherry picked from commit ce76f88777ec026521cce465095d6376efd460a8) + +commit 444ce0ac718e903b39c25cf58d0a503ead491790 +Author: David Zafman +Date: Fri May 22 11:52:00 2015 -0700 + + ceph-objectstore-tool: Allow --pgid specified on import (for post split) + + Revamp split import testing to use --pgid option post split + + Signed-off-by: David Zafman + (cherry picked from commit 90202a70f8c32120625c99ef5131778b3c9f6303) + +commit aed1c49e7d3631d797776be1020f6df0f77ea1f3 +Author: David Zafman +Date: Fri May 22 10:53:48 2015 -0700 + + ceph-objectstore-tool: Invalidate pg stats when objects were skipped during pg import + + Signed-off-by: David Zafman + (cherry picked from commit 51e27984ec131fd21bbc26411ae1540b9047eb37) + +commit af3f8ae1d9e210499fd0165e473f9b5d87666f75 +Author: David Zafman +Date: Mon May 18 20:22:03 2015 -0700 + + ceph-objectstore-tool: Add dump-super to show OSDSuperblock in format specified + + Signed-off-by: David Zafman + (cherry picked from commit 99d7663f870abfa82711dbf0451334f7d6c883d8) + +commit 4dcf15bc71c815cfdb0f6bc6f90c9b603d18b37f +Author: David Zafman +Date: Mon May 18 20:25:23 2015 -0700 + + mds, include: Fix dump() numeric char array to include additional alpha chars + + Caused by: c87f55b5a8b3e003726e1be22b9cb6894ef2f37d + + Signed-off-by: David Zafman + (cherry picked from commit f1520061bba1e052a9be3ae11161122c1f6c3425) + +commit feecacfb34dfd831291fc736ea39dbcf69e7d765 +Author: David Zafman +Date: Mon May 18 20:08:14 2015 -0700 + + ceph-objectstore-tool: Add dump-journal as not requiring --pgid in usage + + Additional comment describes --pgid requirement checking + + Signed-off-by: David Zafman + (cherry picked from commit bd2f62445be7153a9600bcf4399e8fc56f1efd3f) + +commit 5e8fbb1858f7a8dd65d1b9f873aaca05f3ddb1eb +Author: David Zafman +Date: Thu Mar 5 16:37:46 2015 -0800 + + test: ceph_test_filejournal: Conform to test infrastructure requirements + + Only call RUN_ALL_TESTS() once + + Signed-off-by: David Zafman + (cherry picked from commit e30efe6c15780a6239b9970297df1f2c1918c9b1) + +commit c161cbf81a29e523bb4ffb897f6d02112eb49b09 +Author: David Zafman +Date: Thu Mar 5 16:13:50 2015 -0800 + + test: ceph_test_filejournal need to force aio because testing with a file + + Signed-off-by: David Zafman + (cherry picked from commit d540dde1faee47d01ee358ae384fa301fa59f00f) + +commit 06d3f512149dc9aa38d959ac31891b81634d0ea4 +Author: David Zafman +Date: Thu Mar 5 16:04:36 2015 -0800 + + test: ceph_test_filejournal fix missing argument to FileJournal constructor + + Signed-off-by: David Zafman + (cherry picked from commit c94fe8db36e7d54227edde94a99bc1aa236b8ec8) + +commit 2078f639d91fbaa9b89832811315c7c41da25a4b +Author: David Zafman +Date: Thu Feb 19 19:48:11 2015 -0800 + + test: ceph_test_filejournal Add check of journalq in WriteTrim test + + Commit all journal entries and check for empty journalq + + Signed-off-by: David Zafman + (cherry picked from commit 8da4d9f6330c57d6b437ea44f54f147075e24195) + +commit ab893d769d2728368f94b035edde750a3fa5e617 +Author: David Zafman +Date: Thu Jan 29 17:14:39 2015 -0800 + + test: Fix ceph-objectstore-tool test missing fd.close() + + Signed-off-by: David Zafman + (cherry picked from commit ece630d5a741ba8c82f55f964f1887cb7fcaa493) + +commit b5f2ccd5bd77c7a473f38fdab183fd52577b7331 +Author: David Zafman +Date: Thu Jan 29 17:13:41 2015 -0800 + + test: Fix ceph-objectstore-tool test error message + + Signed-off-by: David Zafman + (cherry picked from commit 11c13eb7c182870727fbcb25a83f3348ac0bad13) + +commit 848822db38e000a7e7bfe49ae0fe03996bb7e8c1 +Author: David Zafman +Date: Wed Apr 1 10:32:32 2015 -0700 + + test: ceph-objectstore-tool: Remove duplicate debug messages, keep cmd/log/call together + + Signed-off-by: David Zafman + (cherry picked from commit 94b3d7632f2548c19beca5a2e024c95f601b61f3) + +commit 771dcd945281a091b165c0b1a90c1f6058dbf923 +Author: David Zafman +Date: Fri Mar 27 19:47:01 2015 -0700 + + test: ceph-objectstore-tool import after split testing + + Signed-off-by: David Zafman + (cherry picked from commit d80ce6668c1aa3c9898ab49e847c4dadafe256f0) + +commit 4f387b1e1c8dbfe9ed2a70fc02ff5ccf93ffb905 +Author: David Zafman +Date: Tue Mar 31 08:16:03 2015 -0700 + + test: Use CEPH_DIR where appropriate + + Signed-off-by: David Zafman + (cherry picked from commit 1e18e8a88f88809081684b09f36691cd724720b5) + +commit b337d677daf5b6098a2dbcf2d8966703cf8db449 +Author: David Zafman +Date: Mon Mar 30 17:35:07 2015 -0700 + + test: Limit how long ceph-objectstore-tool test will wait for health + + Signed-off-by: David Zafman + (cherry picked from commit 868cf457a3990ba9989aef55823630e3189acf4a) + +commit 09cb8a41ed6a9642978e399b426b21704c704f46 +Author: David Zafman +Date: Mon Mar 30 17:33:46 2015 -0700 + + test: Add optional arg to vstart() to provide additional args to vstart + + Signed-off-by: David Zafman + (cherry picked from commit dff17a800c9cc1cf0cc23d70479c031aa8e9cbfc) + +commit b4ac42be79bb11cb27282d97aec9e6ca8f658e5c +Author: David Zafman +Date: Thu Mar 5 19:35:27 2015 -0800 + + test: Test ceph-objectstore-tool --op dump-journal output + + Signed-off-by: David Zafman + (cherry picked from commit 9b08bcf95caf77fb7f9bd293559534ed8ff3eded) + + Conflicts: + src/test/ceph_objectstore_tool.py (trivial) + +commit 729abf5a83a656ac2a95ad147909bf7c8fa18999 +Author: David Zafman +Date: Tue Mar 17 14:56:06 2015 -0700 + + test: Pep8 fixes for ceph-objectstore-tool test + + Signed-off-by: David Zafman + (cherry picked from commit b0141108c0596b535d25792a9102787b1cd3eca3) + +commit 33813b66fa4402fe0d66d95d6f9b790b11c9f1f1 +Author: David Zafman +Date: Thu Mar 5 18:37:44 2015 -0800 + + test: Fix ceph-objectstore-tool test, overwrite OTHERFILE so second check is meaningful + + Signed-off-by: David Zafman + (cherry picked from commit 1b9f85befa1efff3b05b2af0e62d568eea37d790) + +commit f7ab316be9ce3592e0bc1c3a1012b0a83dfea2b4 +Author: David Zafman +Date: Thu Mar 5 19:16:45 2015 -0800 + + osd: FileJournal: Add _fdump() that takes Formatter instead of ostream + + Signed-off-by: David Zafman + (cherry picked from commit 130eba48495d0e6acd8a472cbf0c47ebbc7a038c) + +commit 99d3e17fe8c03eb30b18dee185623a9c16553d9e +Author: David Zafman +Date: Wed Feb 18 12:34:35 2015 -0800 + + osd: Add simple_dump() to FileJournal for unit testing + + Allow a dump when entries aren't ObjectStore::Transaction's + + Signed-off-by: David Zafman + (cherry picked from commit 8d5464c0f81aa9bb3be233a03bce64b505a265f4) + +commit 80fc57f79a9bd23e119be73fe01063e85c60ca83 +Author: David Zafman +Date: Wed Feb 18 12:29:38 2015 -0800 + + osd: FileJournal clean-up + + Move aio / directio adjustments to constructor + Indicate functions which only operate before journal is active + Make functions const when possible + Move push_back() of journalq to read_entry() + Change dump() to use do_read_entry() to minimize side effects + + Signed-off-by: David Zafman + (cherry picked from commit 12fdf4ced0b2c17770c21204c8eccca8e4d0d2c9) + + Conflicts: + src/os/FileJournal.cc (trivial) + +commit b8f4ea17274f9094efa169a28440701319c14516 +Author: David Zafman +Date: Thu Feb 5 18:48:22 2015 -0800 + + osd: Dump header in FileJournal::dump() + + Signed-off-by: David Zafman + (cherry picked from commit 3c97b32131e83c934b3d340eeb75284e898380c4) + +commit 21c3c18c7b25ddea664179797527ea9854c3f450 +Author: David Zafman +Date: Thu Feb 5 18:40:25 2015 -0800 + + osd: FileJournal::read_entry() can't use a zero seq to check for corruption + + Seen when using dump() on a journal which has all entries committed + + Signed-off-by: David Zafman + (cherry picked from commit a7cda53d20eb6d35203fce6ec9f7ea1df432bf53) + +commit 288902fecd78b1926aa4a1d53587828fda63845d +Author: David Zafman +Date: Thu Feb 5 18:36:01 2015 -0800 + + osd: Fix flushing in FileJournal::dump() + + Use ostream arg since caller is specifying + Move flush after last section close + + Signed-off-by: David Zafman + (cherry picked from commit f2d83520f67fdc1b5a89b4ea742493a3df392989) + +commit a935ce501692f51be004f8cb20da29f18e649d44 +Author: David Zafman +Date: Thu Apr 30 10:20:24 2015 -0700 + + osd: Add admin socket feature set_recovery_delay + + Set the value of osd_recovery_delay_start to specified seconds + + Signed-off-by: David Zafman + (cherry picked from commit 73b17319379d904ffdf9479ca476da8e8e34e935) + + Conflicts: + src/osd/OSD.cc (trivial) + +commit 4ae3f88cc4493413c4aab54e21759507b0d572b0 +Author: David Zafman +Date: Mon Apr 27 15:37:14 2015 -0700 + + ceph-objectstore-tool: For import/export --debug dump the log + + Move log dumping code to common function dump_log() + + Signed-off-by: David Zafman + (cherry picked from commit 545c78c65f33fcac60b5aa7ee2b574ceb0211fd5) + +commit cc5fa68c184f66d3ca6ff736eb308cba0a0d10b0 +Author: David Zafman +Date: Fri Jan 30 16:56:10 2015 -0800 + + ceph-objectstore-tool: If object re-appears after removal, just skip it + + Signed-off-by: David Zafman + (cherry picked from commit c6e41663e7434b4dcbb1abbe62ac008388da268a) + +commit d8ae1a9b842b6871225f0cc2d8a8dbdcf01238e4 +Author: David Zafman +Date: Fri Jan 30 16:11:13 2015 -0800 + + ceph-objectstore-tool: Add --no-overwrite flag for import-rados + + Signed-off-by: David Zafman + (cherry picked from commit 35cdcabbdad7dc7249029630c64022c822c67ddc) + +commit 2dbf843560de2b9b74d9b0d0baf2a303e6c4e86b +Author: David Zafman +Date: Mon Feb 2 16:23:18 2015 -0800 + + ceph-objectstore-tool: Remove list-lost because now we have --dry-run flag + + Signed-off-by: David Zafman + (cherry picked from commit 3e7fe7e85716f80e055ffbc5305f406b3e020608) + +commit 35991747c4cf5c4f9c150aae128f63c7b8c8a5cd +Author: David Zafman +Date: Fri Jan 23 07:34:11 2015 -0800 + + ceph-objectstore-tool: Add --dry-run option + + Fixes: #10290 + + Signed-off-by: David Zafman + (cherry picked from commit 2795161f470ab87cf4a82f455773c9b1b82946ef) + +commit 05d3b73ac6ef841af5037336996d1ed6bfdac4b5 +Author: David Zafman +Date: Thu Jan 22 10:07:09 2015 -0800 + + ceph-objectstore-tool: Add dump-info command to show object info + + Signed-off-by: David Zafman + (cherry picked from commit 244092d034781d2e980f9de7c6f9eea227967c5a) + +commit 2d764c54d4b028455be8b592712c6424f5f9f19e +Author: David Zafman +Date: Tue Jan 27 14:32:42 2015 -0800 + + ceph-objectstore-tool: Use empty string for to specify pgmeta object + + Signed-off-by: David Zafman + (cherry picked from commit c00290b836adba12212e8a57f13b0c9193ac0ef8) + +commit 3a533d767bafc466e653bdd89d064b5f2b9aa257 +Author: John Spray +Date: Mon Apr 20 17:28:15 2015 +0100 + + ceph-objectstore-tool: Add a couple of strategically placed prints + + Signed-off-by: John Spray + (cherry picked from commit fdb1a4b676765c5d3ca5d436f34230dd6996d7a7) + +commit 7947f4f72f4bb6441ea5c353757d9ea3f464cff4 +Author: David Zafman +Date: Mon Apr 20 16:10:18 2015 -0700 + + ceph-objectstore-tool: Clean up error handling + + Use negative errors throughout and positive error to specify exit status + cpp_strerror() handles negative errors + Clean up main() code to use local "ret" + Let end of main() decide how to treat the final value of "ret" + + Signed-off-by: David Zafman + (cherry picked from commit a50679a1a3313e4090bf24f6e4dda28e7d67d731) + + Adjust back cherry-pick f237ed97228839a1b412ad213945f0343df05bf5 + Switched to use ret as in the original change from master + +commit 83de86e4e9dedc05fd65201715dadbd46074b7e0 +Author: David Zafman +Date: Wed Apr 15 15:40:41 2015 -0700 + + ceph-objectstore-tool: Create section around log/missing/divergent_priors of --op log + + Remove extra new lines in the output + + Signed-off-by: David Zafman + (cherry picked from commit 548147b412eebe57861768e5fd66360c2582d2c6) + +commit ddfaa70ade3b6d7ff061083fcd610b588fbd4dd7 +Author: David Zafman +Date: Tue Apr 14 13:49:26 2015 -0700 + + ceph-objectstore-tool: Add divergent_priors handling + + Add to --op log output + Add to metadata_section for export + Add filtering of divergent_priors in case of splits + + Fixes: #11237 + + Signed-off-by: David Zafman + (cherry picked from commit 6ad7e9b362f437fe028fe59639489efe87b3525f) + +commit add937c437a4bd86c932ef49525aff039d9bee90 +Author: David Zafman +Date: Wed Mar 18 10:05:24 2015 -0700 + + ceph-objectstore-tool: Add --force option which is used for import only + + Signed-off-by: David Zafman + (cherry picked from commit 2f4090daaea715b896e49f678933abb8a13b5c98) + +commit f33274894a83072a483b0646a91b5182a72c7c90 +Author: David Zafman +Date: Fri Mar 13 00:41:39 2015 -0700 + + ceph-objectstore-tool: Fix pgid scan to skip snapdirs + + Long standing bug where it wasn't skipping snapdirs if !debug + For debug output use stderr like all other cases + + Signed-off-by: David Zafman + (cherry picked from commit 24f06598966319a62fa58a5831d9741fac1d471b) + +commit 3e68825e60a2e69a20198439347aadf8742d4ea6 +Author: David Zafman +Date: Mon Feb 9 12:24:19 2015 -0800 + + ceph-objectstore-tool: Add dump-journal op + + Have dump-journal op directly dump a filestore journal without + mounting or try to dump after mounting. + + Fixes: #11135 + + Signed-off-by: David Zafman + (cherry picked from commit 381605e34a44edb9acfcfb5a56bd598b020e022f) + +commit aaff4d7bcbc3e48aa6c0342d66a9c30c93744064 +Author: David Zafman +Date: Mon Feb 9 12:46:20 2015 -0800 + + ceph-objectstore-tool: On any exit release CephContext so logging can flush + + Add myexit() which will put() the g_ceph_context if present before exit + Must umount() once the objectstore has been mounted + + Fixes: #10809 + + Signed-off-by: David Zafman + (cherry picked from commit 409328bace0ffb3a457c0d384377bbbf37a2962d) + +commit 7445cf5a04d396dbc36e21aecd44bc4aadaff397 +Author: David Zafman +Date: Mon Feb 9 17:28:04 2015 -0800 + + ceph-objectstore-tool: Check for keyvaluestore experimental feature + + Don't list keyvaluestore as a valid type if feature not enabled + + Signed-off-by: David Zafman + (cherry picked from commit fb2f9d500e52aa0834666550a684fe991701c9dd) + +commit 9da6c01b5e59e59a80d00e3d17cf5da05dd84f72 +Author: David Zafman +Date: Mon Feb 9 17:14:50 2015 -0800 + + ceph-objectstore-tool: Eliminate obscure "Invalid params" error + + Will fail later with "No such file or directory" for an empty data-path + because we've already checked for vm.count("data-path") + + Signed-off-by: David Zafman + (cherry picked from commit cfca6835bd53d535bde2793551211845b0facebd) + +commit c5ac7ce09bc5b96722738a1884c6046aba6518f2 +Author: David Zafman +Date: Mon Feb 9 15:37:57 2015 -0800 + + ceph-objectstore-tool: Check pgid validity earlier like we did before + + This code was not doing the umount() even though it was moved after mount() + + Signed-off-by: David Zafman + (cherry picked from commit 565b413df9c562a4071b9372d6362a9105c3538e) + +commit 18c49b6474a563b5f7f7cef671050d46ac4c3c4f +Author: Sage Weil +Date: Fri May 1 09:22:01 2015 -0700 + + Backport the merge commit of branch 'wip-journal-header' of git://github.com/XinzeChi/ceph + + (cherry picked from commit 8d596bfa24c9c3e2aadbb87494284cb5fd824e55) + + Conflicts: + src/os/FileJournal.cc (trivial) + src/os/FileJournal.h (trivial) + + Renamed write_header() to write_header_sync() in a merge + Signed-off-by: David Zafman + +commit 546a7b988dac56770730ddc9395ee0d52a666fa3 +Merge: 6b7660c 3352b14 +Author: Loic Dachary +Date: Thu Feb 25 22:39:06 2016 +0700 + + Merge pull request #7656 from dzafman/wip-14769-hammer + + ceph.in: Notify user that 'tell' can't be used in interactive mode + + Reviewed-by: Loic Dachary + Reviewed-by: Ken Dreyer + +commit 6b7660c91d1837b585b365068da835127752ebfc +Merge: e34c209 14b5fea +Author: Loic Dachary +Date: Thu Feb 25 22:37:58 2016 +0700 + + Merge pull request #7648 from tchaikov/wip-13783-hammer + + mon/LogMonitor: use the configured facility if log to syslog + + Reviewed-by: Loic Dachary + +commit cf433bac5b7bc6bdbb6fac56c420288544c79ef5 +Author: shun-s +Date: Wed Dec 2 10:36:35 2015 +0800 + + global/pidfile: do not start two daemons with a single pid-file + + add functions named pidfile_open and pidfile_verify to avoid starting two daemons by a single pid-file + + Fixes: #13422 + Signed-off-by: shun song + (cherry picked from commit f2c0ef40fd674fecc6e3e97cd6155b976e6759b4) + +commit e34c2094ef44e6e52896820f4dd90a1c5d5bbfe8 +Merge: ec33aec b43c5b2 +Author: Loic Dachary +Date: Thu Feb 25 19:39:49 2016 +0700 + + Merge pull request #7801 from dachary/wip-14863-hammer + + hammer: unittest_crypto: benchmark 100,000 CryptoKey::encrypt() calls + + Reviewed-by: Nathan Cutler + +commit b43c5b205f26198c79e21af3a6935a76f560a7fc +Author: Sage Weil +Date: Mon Jan 26 15:57:33 2015 -0800 + + unittest_crypto: benchmark 100,000 CryptoKey::encrypt() calls + + Signed-off-by: Sage Weil + (cherry picked from commit fb4b6c52d8e31e8dedfa8aecc16c389f0e7d86cf) + + Conflicts: + src/test/crypto.cc : complements the incorrect cherry-pick + df3f971eafda9c54881c13dcf47f996f18e17028 see + http://tracker.ceph.com/issues/14863 for more information + +commit ec33aec31fcac3b09bf06256b95c841a8c20d56f +Merge: 4b46182 17d1b0d +Author: Loic Dachary +Date: Thu Feb 25 11:09:54 2016 +0700 + + Merge pull request #7185 from dachary/wip-14325-hammer + + hammer: rgw: radosgw-admin bucket check --fix not work + + Reviewed-by: Yehuda Sadeh + +commit 4b461829c24cd35656e86f507a78b0fff860c0b5 +Merge: 722ca62 5c92d1d +Author: Loic Dachary +Date: Thu Feb 25 11:09:28 2016 +0700 + + Merge pull request #7188 from dachary/wip-13799-hammer + + hammer: rgw: default quota params + + Reviewed-by: Yehuda Sadeh + +commit 722ca62e12ac977961d895dceaeb55f31d7b00ca +Merge: 3c1e2d4 ad4df3b +Author: Loic Dachary +Date: Thu Feb 25 11:04:02 2016 +0700 + + Merge pull request #7414 from dachary/wip-14493-hammer + + hammer: make rgw_fronends more forgiving of whitespace + + Reviewed-by: Yehuda Sadeh + +commit 3c1e2d4216353c848f76b52d9c187e83574267a7 +Merge: b73a93d 3d84420 +Author: Sage Weil +Date: Wed Feb 24 10:15:27 2016 -0800 + + Merge pull request #7415 from dachary/wip-14554-hammer + + hammer: Unable to bring up OSD's after dealing with FULL cluster (OSD assert with /include/interval_set.h: 386: FAILED assert(_size >= 0)) + +commit b73a93d8cd8bc8757a7a8960b2a9d448c7041515 +Merge: b3eac8e 5a450e6 +Author: Sage Weil +Date: Wed Feb 24 10:15:03 2016 -0800 + + Merge pull request #7576 from dachary/wip-14579-hammer + + hammer: mon sync does not copy config-key + +commit b3eac8e3dbb74ebcfdd22d10d6a6f2916d2bf127 +Merge: bf6dcc7 9e0a165 +Author: Sage Weil +Date: Wed Feb 24 10:14:37 2016 -0800 + + Merge pull request #7577 from dachary/wip-14689-hammer + + hammer: consume_maps clearing of waiting_for_pg needs to check the spg_t shard for acting set membership + +commit bf6dcc7c6da5d06b21e4a4fad3f7a65e8ca84f50 +Merge: 293e8c7 d5ba063 +Author: Sage Weil +Date: Wed Feb 24 10:03:55 2016 -0800 + + Merge pull request #7590 from SUSE/wip-14720-hammer + + hammer: OSDMap: reset osd_primary_affinity shared_ptr when deepish_copy_from + +commit 293e8c7b038a22e2135e7bf288a8ff4b8ce32a14 +Merge: 5b724fc 10d29da +Author: Sage Weil +Date: Wed Feb 24 10:03:18 2016 -0800 + + Merge pull request #7645 from dachary/wip-14760-hammer + + hammer: OSD coredumps with leveldb compact on mount = true + +commit 5b724fcce0e260a04bd6889c3d4c6d9bf44971cf +Merge: bb84692 1c8c708 +Author: Loic Dachary +Date: Wed Feb 24 12:56:13 2016 +0700 + + Merge pull request #7485 from dillaman/wip-14611-hammer + + librbd: flattening an rbd image with active IO can lead to hang + + Reviewed-by: Loic Dachary + +commit bb84692e96569823e23fdd02356446577959f438 +Merge: ee014d8 df3f971 +Author: Loic Dachary +Date: Wed Feb 24 12:55:18 2016 +0700 + + Merge pull request #7488 from ceph/wip-auth-hammer + + hammer: auth: use libnss more safely + + Reviewed-by: Loic Dachary + +commit ee014d8084c05ec3c876a9e46dcb6e558918a0e4 +Merge: 576225d 88ffcc2 +Author: Loic Dachary +Date: Wed Feb 24 12:48:05 2016 +0700 + + Merge pull request #7475 from dachary/wip-14602-hammer + + hammer: ceph-disk: use blkid instead of sgdisk -i + + Reviewed-by: Loic Dachary + +commit 576225d6d5a64f0f43971ccca4d74b5dc44c5c63 +Merge: a6f7a2f eb048a3 +Author: Loic Dachary +Date: Wed Feb 24 12:47:07 2016 +0700 + + Merge pull request #7456 from dachary/wip-14587-hammer + + hammer: qa/workunits/post-file.sh: sudo + + Reviewed-by: Loic Dachary + +commit a6f7a2f1347393c1cf7564a2ba8d1ba6aff2122c +Merge: 74cfe5c f04e007 +Author: Loic Dachary +Date: Wed Feb 24 12:38:47 2016 +0700 + + Merge pull request #6946 from dachary/wip-14087-shard-size + + osd: log inconsistent shard sizes + + Reviewed-by: David Zafman + +commit 74cfe5c5f49cb566224a3ff0ef8ab515eadc78ac +Merge: e832001 f209819 +Author: Loic Dachary +Date: Wed Feb 24 12:37:55 2016 +0700 + + Merge pull request #7110 from david-z/wip-hammer-fix-logrotate-ceph-fuse + + [ceph-fuse] fix ceph-fuse writing to stale log file after log rotation + + Reviewed-by: Sage Weil + Reviewed-by: Greg Farnum + +commit a1fc101084c5aefeb64da344158783a186a28a93 +Author: Sage Weil +Date: Sun Feb 8 07:47:23 2015 -0800 + + crushtool: send --tree to stdout + + Signed-off-by: Sage Weil + (cherry picked from commit dca345280e4f6124a8b5aea73e6219488111c356) + + Conflicts: + src/tools/crushtool.cc (trivial) + +commit 4fb688d15c40a9b9d5a54700b3c7695a97ffd03b +Author: Xinze Chi +Date: Tue Mar 3 11:24:50 2015 +0000 + + osd: write journal header by force when journal write close + + osd update the journal header when ceph call FileStore::sync_entry( + ApplyManager::commit_finish -> FileJournal::committed_thru). + But, it doesnot write the journal head until the next transaction + (calling do_write or do_aio_write). + + So write jouranl header when journal write close, so that + committed_up_to in journal header is new enough. ceph may + not replay some transaction which has been writen to filestore. + + Signed-off-by: Xinze Chi + (cherry picked from commit 8f80ae3fbaba7b0e64b6e4df6c2dddd10ac50e5a) + +commit 31a2fc475a2de8a656048c85595049ec4548ec6a +Author: Jason Dillaman +Date: Thu Feb 11 10:33:40 2016 -0500 + + common/bit_vector: use hard-coded value for block size + + The CEPH_PAGE_SIZE is not actually a constant. On aarch64 platforms + the page size is 64K instead of the assumed 4K. The CRC block + computations require a true constant. + + Fixes: #14747 + Signed-off-by: Jason Dillaman + (cherry picked from commit ba2e6ce46fb5f781ffaf6483db8ebd99238419c6) + +commit 3352b144e0b1500651d8a194c3ebe2aae2f078d0 +Author: David Zafman +Date: Tue Oct 20 18:10:39 2015 -0700 + + ceph.in: Notify user that 'tell' can't be used in interactive mode + + Signed-off-by: David Zafman + (cherry picked from commit a341d977d42a3010267b64e15cebae3085507297) + + Conflicts: + src/ceph.in (trivial resolution) + +commit 14b5feab80f07b4ed2b8f6d77ea1fa920e98be05 +Author: Kefu Chai +Date: Mon Jul 6 12:17:21 2015 +0800 + + mon/LogMonitor: use the configured facility if log to syslog + + Fixes: #13748 + Signed-off-by: Kefu Chai + (cherry picked from commit 4d2ca37d3b8f067d0cf0f7cfea24964ac181115d) + +commit 10d29dab3176ec945dc7272323df0028ef7f0274 +Author: Xiaoxi Chen +Date: Thu Apr 16 13:42:42 2015 +0800 + + os/LevelDBStore:fix bug when compact_on_mount + + Initialize the performance counter(l_rocksdb_compact) + before use it in compact(). + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit 932d59d084090297c89cfa3ff7df0a952f807bab) + +commit d5ba063cdf3a8b92862ef6657001725d6192fe86 +Author: Xinze Chi +Date: Sun Feb 7 18:50:29 2016 +0800 + + OSDMap: reset osd_primary_affinity shared_ptr when deepish_copy_from + + Base on current logic, OSDMonitor may call create_pending and + encode_pending twice for the some epoch. + + In encode_pending: + + tmp.deepish_copy_from(osdmap); + tmp.apply_incremental(pending_inc); + + This Op would change the tmp osd_primary_affinity, but the osd_primary_affinity + is declared as ceph::shared_ptr, so this would change the osdmap too. When this + round encode_pending is proposed fail. We may call encode_pending again, but the + osdmap is changed last round, so the pending_inc would be wrong. + + Fixes: #14686 + Signed-off-by: Xinze Chi + (cherry picked from commit 990b437f4e616a87f4f7438e51945d531170ca83) + +commit 9e0a1656200c2f91386215924304b495dd705dae +Author: Samuel Just +Date: Thu Jan 7 08:09:46 2016 -0800 + + OSD::consume_map: correctly remove pg shards which are no longer acting + + A particular shard may be non-active even if the osd is in the acting + set. + + Fixes: 14278 + Backport: hammer + Signed-off-by: Samuel Just + (cherry picked from commit bd2fdf8c56c1aeed6cea3eb59046dbb6af470111) + +commit 5a450e6734b4ff9e5e483c74b67df385b9a3d640 +Author: shawn +Date: Tue Jan 26 05:56:12 2016 -0500 + + mon: add mon_config_key prefix when sync full + + Signed-off-by: Xiaowei Chen + (cherry picked from commit b77cd31b161e78467bbb6476776c0f1d43e615cf) + +commit eb048a393e7b54dcf5f2245e34a1aa0de281424d +Author: Sage Weil +Date: Sat Sep 5 09:28:17 2015 -0400 + + qa/workunits/post-file.sh: sudo + + Only root can read the key in /usr/share/... + + Signed-off-by: Sage Weil + (cherry picked from commit 82b0243ec318457e376288a6b32487fbea059705) + +commit e9039f4fd3dfe9a3083fcfe64d8012568e8db96f +Author: Sage Weil +Date: Tue Apr 28 17:40:20 2015 -0700 + + qa/workunits/post-file: pick a dir that's readable by world + + Signed-off-by: Sage Weil + (cherry picked from commit 04b00029e16971abf1937facbbff8da00d6a3452) + +commit 902abe7373c150000d3fc4d66d9c989ed208d0bf +Author: Sage Weil +Date: Thu Apr 9 09:58:39 2015 -0700 + + qa/workunits/post-file.sh: use /etc/default + + base-files doesn't existing on rhel. /etc/default is everywhere and it's + small. + + Signed-off-by: Sage Weil + (cherry picked from commit 52235e32561ef3e91f07c59c8fd89c4df244f461) + +commit 1c8c708e43e4c97af17932027ae6b5d26c124c43 +Author: Jason Dillaman +Date: Wed Dec 23 12:06:50 2015 -0500 + + librbd: ensure librados callbacks are flushed prior to destroying image + + Fixes: #14092 + Signed-off-by: Jason Dillaman + (cherry picked from commit 98157ab3274bd960e4487e34f5a83e9c921a6ac8) + +commit f892566fc9b78ab38702b75422321a6d0a5bbb7b +Author: Jason Dillaman +Date: Thu Jul 30 22:31:55 2015 -0400 + + librbd: simplify IO flush handling + + Add a new convenience method to ImageCtx for handling flush + requests and cleanup flush handling with dealing with the cache. + + Signed-off-by: Jason Dillaman + (cherry picked from commit e8d8096babaf15fe8af717297d512f580aff6c18) + +commit e5dfd3dd7a53bf79f1bfc17b8a4a720aba08d7c3 +Author: Jason Dillaman +Date: Fri Aug 14 13:28:13 2015 -0400 + + WorkQueue: PointerWQ drain no longer waits for other queues + + If another (independent) queue was processing, drain could + block waiting. Instead, allow drain to exit quickly if + no items are being processed and the queue is empty for + the current WQ. + + Signed-off-by: Jason Dillaman + (cherry picked from commit b118d7df1e34387b6e5649a5b205cf061598d0d4) + +commit edf60b452de3c6eb22c75be2547f51812e6eaf1e +Author: Jason Dillaman +Date: Tue Feb 2 10:54:53 2016 -0500 + + test: new librbd flatten test case + + AIO operations after a flatten operation were previously + hanging during the close of the parent image. + + Signed-off-by: Jason Dillaman + (cherry picked from commit b59158d9f0c3dbe4b47be1dfd27aaa5ad92e6063) + +commit 88ffcc2cbd73602819ad653695de7e8718f6707d +Author: Loic Dachary +Date: Fri Dec 18 17:03:21 2015 +0100 + + ceph-disk: use blkid instead of sgdisk -i + + sgdisk -i 1 /dev/vdb opens /dev/vdb in write mode which indirectly + triggers a BLKRRPART ioctl from udev (starting version 214 and up) when + the device is closed (see below for the udev release note). The + implementation of this ioctl by the kernel (even old kernels) removes + all partitions and adds them again (similar to what partprobe does + explicitly). + + The side effects of partitions disappearing while ceph-disk is running + are devastating. + + sgdisk is replaced by blkid which only opens the device in read mode and + will not trigger this unexpected behavior. + + The problem does not show on Ubuntu 14.04 because it is running udev < + 214 but shows on CentOS 7 which is running udev > 214. + + git clone git://anonscm.debian.org/pkg-systemd/systemd.git + systemd/NEWS: + CHANGES WITH 214: + + * As an experimental feature, udev now tries to lock the + disk device node (flock(LOCK_SH|LOCK_NB)) while it + executes events for the disk or any of its partitions. + Applications like partitioning programs can lock the + disk device node (flock(LOCK_EX)) and claim temporary + device ownership that way; udev will entirely skip all event + handling for this disk and its partitions. If the disk + was opened for writing, the close will trigger a partition + table rescan in udev's "watch" facility, and if needed + synthesize "change" events for the disk and all its partitions. + This is now unconditionally enabled, and if it turns out to + cause major problems, we might turn it on only for specific + devices, or might need to disable it entirely. Device Mapper + devices are excluded from this logic. + + http://tracker.ceph.com/issues/14094 Fixes: #14094 + + Signed-off-by: Ilya Dryomov + Signed-off-by: Loic Dachary + (cherry picked from commit 9dce05a8cdfc564c5162885bbb67a04ad7b95c5a) + + Conflicts: + src/ceph-disk: keep get_partition_type as it is because + some hammer users may rely on the fact that it is able + to fallback to sgdisk if blkid is old. Chances are an + old blkid also means an old udev that does not have the + problem this fix is adressing. The get_partition_uuid + is modified to try blkid first, with the same rationale. + +commit f209819fb676eadf099cc764e3ed3b20fd17b688 +Author: Zhi Zhang +Date: Mon Feb 1 11:03:30 2016 +0800 + + [ceph-fuse] fix ceph-fuse writing to stale log file after log rotation + + This fix should be applied to hammer branch. It can't be directly applied to master branch, because logrotate.conf is changed on matser since ceph-osd, ceph-mon, etc, is controlled by systemd with user/group as 'ceph' by default, while ceph-fuse might be started as root privilege by external users. + + Signed-off-by: Zhi Zhang + +commit 3d84420847642e1cb4212f943ecf3ed479112d96 +Author: Alexey Sheplyakov +Date: Thu Jan 21 09:42:09 2016 +0300 + + PG::activate(): handle unexpected cached_removed_snaps more gracefully + + PGPool::update(): ditto + + Fixes: #14428 + Backport: infernalis, hammer, firefly + + Signed-off-by: Alexey Sheplyakov + (cherry picked from commit aba6746b850e9397ff25570f08d0af8847a7162c) + +commit ad4df3be0f4adba5e8e14829be724fa3a92263c8 +Author: Matt Benjamin +Date: Tue Dec 15 11:28:44 2015 -0500 + + rgw: warn on suspicious civetweb frontend parameters + + Warns about incorrect spacing near 'port' (e.g., 'port = 80'). + + Fixes issue #12038. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 93497e576a946ed7e59f4a4299e447b65aa1774b) + +commit 5c92d1d2f11d59651eaa9c4ba6476b9f71990f1c +Author: Daniel Gryniewicz +Date: Fri Sep 25 11:02:20 2015 -0400 + + rgw: Add default quota config + + Add a default quota config that is applied when no specific quota is + enabled. There are both per-bucket and per-user defaults. Defaults are + enabled if either max count or max size is enabled. + + This fixes issues 12912 and 12997. + + Signed-off-by: Daniel Gryniewicz + (cherry picked from commit 3047b5690eebb7fcd2d7a26acd20105e016a44c4) + +commit 17d1b0d859112dc9fb5b7a6e2140124790c5f260 +Author: Weijun Duan +Date: Sun Jan 3 20:12:04 2016 -0500 + + rgw: radosgw-admin bucket check --fix not work + + Fixed:#14215 + + Signed-off-by: Weijun Duan + (cherry picked from commit a17f4e27d608ef29cf499fe76246929ec7962783) + +commit df3f971eafda9c54881c13dcf47f996f18e17028 (refs/remotes/markhpc/wip-auth-hammer, refs/remotes/gh/wip-auth-hammer) +Author: Sage Weil +Date: Mon Feb 23 14:58:19 2015 -0800 + + auth: return error code from encrypt/decrypt; make error string optional + + This is simpler for a lot of callers. + + Signed-off-by: Sage Weil + (cherry picked from commit 40203f711dd59c7f61f5f8eb56a97842c3206494) + + Conflicts: + src/test/crypto.cc (trivial) + +commit 224bb3928de048b13a96ee0377b6d279ce84ac0a +Author: Sage Weil +Date: Tue Jan 27 09:17:28 2015 -0800 + + auth: optimize crypto++ key context + + The cbc appears to be stateful, but the key is not. + + Signed-off-by: Sage Weil + (cherry picked from commit 7762f1886cab7f7b941851b0be4ec904723cb0e3) + +commit f11718de7873fe1fad1649358f208a4910837a7e +Author: Sage Weil +Date: Sun Feb 1 15:07:35 2015 -0800 + + auth/Crypto: optimize libnss key + + Allocate the key and slot once per key instead of once per encrypt/ + decrypt operation. This improves things by a factor of almost 4x + for my microbenchmark. + + Signed-off-by: Sage Weil + (cherry picked from commit 973cd1c00a7811e95ff0406a90386f6ead5491c4) + +commit d1b6096c79164f8a5830dee6b5f186c405cf73ab +Author: Sage Weil +Date: Sun Feb 1 15:05:54 2015 -0800 + + auth: refactor crypto key context + + Cache all of the crypto key context in a new CryptoKeyHandler struct that + is attached to CryptoKey. + + Signed-off-by: Sage Weil + (cherry picked from commit 16b3515af3df439fba7d545587285b50e9814165) + +commit 3249f48a07391c98634aebd87f18fc2edbe95ca2 +Author: Sage Weil +Date: Thu Jan 22 15:49:25 2015 -0800 + + auth/cephx: optimize signature check + + The encode_encrypt() helper will generate a bufferlist with a simple + structure. Profiles seem to indicate this is taking a large amount of time + in the message receive path. + + Avoid the encode overhead since we have a tiny buffer with a fixed and + known structure. + + Reported-by: Andreas Bluemle + Signed-off-by: Sage Weil + (cherry picked from commit 8d16d4ce14a82356007c14fb7535170933eb7812) + +commit 51eaf98e25287705c9c25d2d3a5df248ba066f2d +Author: Sage Weil +Date: Thu Jan 22 15:40:23 2015 -0800 + + auth/cephx: move signature calc into helper + + Signed-off-by: Sage Weil + (cherry picked from commit 4e14a5fedbfacd164639f6a59a4d152404f3f9d1) + + Conflicts: + src/auth/cephx/CephxSessionHandler.cc (trivial, const changes) + +commit c240da9e0693dc627162a0c70569dda519ec25e8 +Author: Sage Weil +Date: Mon Jan 26 15:56:39 2015 -0800 + + auth/Crypto: avoid memcpy on libnss crypto operation + + Signed-off-by: Sage Weil + (cherry picked from commit e972a6951142cbea3fe7c2e08933c808693d60c4) + +commit 86cc0f0c5e10262bb494ecee415789fd6815b1ff +Author: Sage Weil +Date: Mon Jan 26 15:49:10 2015 -0800 + + auth: make CryptoHandler implementations totally private + + There is no need to expose these implementations outside Crypto.cc. + + Signed-off-by: Sage Weil + (cherry picked from commit ad5a1549f401af3eae38f5c4de24e7b952e40f7f) + +commit f04e0075eabfb1b9d19c75761c321098546c4044 +Author: Loic Dachary +Date: Tue Dec 15 18:28:29 2015 +0100 + + osd: log inconsistent shard sizes + + When an OSD asserts because it cannot recover from an unexpected erasure + coded shard size, the object needs to be manually fixed (i.e. the shard + must be removed so it can be reconstructed). Unfortunately the assert + does not display the name of the object and it is not displayed unless + the OSD logs are >= 10, which is uncommon on an actual cluster because + it creates log files that are too big. + + The problem has been fixed in infernalis as part of + https://github.com/ceph/ceph/pull/5173 and backporting it is non + trivial. + + The error condition is modified to make it easy for the system + administrator to identify which object is causing the crash and what + steps must be taken to fix the issue. + + http://tracker.ceph.com/issues/14009 Refs: #14009 + + Signed-off-by: Loic Dachary + +commit b2393dcea4ca02fe093481d6a2815b0c857fddc9 (refs/remotes/markhpc/hammer-client-inoderef) +Author: Yan, Zheng +Date: Fri Nov 20 15:42:05 2015 +0800 + + client: add InodeRef.h to make dist + + Signed-off-by: Yan, Zheng + +commit fa79bd978f646001365b14009efe9fa5c562f681 +Author: Yan, Zheng +Date: Wed Jun 24 15:54:31 2015 +0800 + + client: use smart pointer to track 'cwd' and 'root_parents' + + Signed-off-by: Yan, Zheng + (cherry picked from commit 8c45ae1239c934b6727071398a1cfccb6277069e) + +commit fcafc65e042c0ed913b5b564812180cd29eefb43 +Author: Yan, Zheng +Date: Wed Jun 24 15:52:10 2015 +0800 + + client: convert Inode::snapdir_parent to smart pointer + + Signed-off-by: Yan, Zheng + (cherry picked from commit 89648e7ed56a1299a096b16080e4a52724893bdd) + +commit 78cca4e3b21308cc0a3f4838828a465482f619c7 +Author: Yan, Zheng +Date: Wed Jun 24 15:39:31 2015 +0800 + + client: use smart pointer to track temporary inode reference + + Signed-off-by: Yan, Zheng + (cherry picked from commit 217837b89f6adabcf686377a9b3d33d5008b1097) + +commit bad6f335ccd8d277f31a27f04d10683c73d0037a +Author: Yan, Zheng +Date: Wed Jun 24 15:24:41 2015 +0800 + + client: convert CapSnap::in to smart pointer + + Signed-off-by: Yan, Zheng + +commit 4bb48ee4ae49355e3a4bcd7424545c04ce284f89 +Author: Yan, Zheng +Date: Wed Jun 24 15:50:10 2015 +0800 + + client: convert Fh::inode to smart pointer + + Signed-off-by: Yan, Zheng + (cherry picked from commit dac11e6b4b1e8766ee5165366cf021d9ee91d3ae) + +commit 5bebb3acf1fa85ab301aa8ca4e99542c9d34d173 +Author: Yan, Zheng +Date: Wed Jun 24 15:00:50 2015 +0800 + + client: use smart pointers in MetaRequest + + Signed-off-by: Yan, Zheng + (cherry picked from commit fd02f0f245ccdc1d33c6d24f57267c8fb102618b) + +commit e18f1aec94ec021a687317bab00c59d3d223c2bc +Author: Yan, Zheng +Date: Wed Jun 24 11:21:23 2015 +0800 + + client: convert Dentry::inode to smart pointer + + Signed-off-by: Yan, Zheng + (cherry picked from commit 07f580977319110cbdd60c78fff892c85711ef3e) + +commit a7f6d2ffb84dee5bec4e373c1db723805e39a1bb +Author: Yan, Zheng +Date: Sat May 23 20:01:46 2015 +0800 + + client: hold reference for returned inode + + CLient::make_request() returns pointer of target inode, but it does not + increase reference count of the returned inode. The inode may get freed + when CLient::make_request() releases MetaRequest. + + he fix is hold a reference for the returned inode. Since there are many + of places use CLient::make_request() directly or indirectly, it's easy + to leak reference. This patch uses intrusive_ptr to track the reference. + + Signed-off-by: Yan, Zheng + (cherry picked from commit ad9c22a4ca56d7ad3c1666795bd8c9785eaccf70) diff --git a/doc/changelog/v0.94.8.txt b/doc/changelog/v0.94.8.txt new file mode 100644 index 00000000..6191ef9f --- /dev/null +++ b/doc/changelog/v0.94.8.txt @@ -0,0 +1,2059 @@ +commit 838cd35201e4fe1339e16d987cc33e873524af90 (tag: refs/tags/v0.94.8, refs/remotes/gh/hammer) +Author: Jenkins Build Slave User +Date: Fri Aug 26 00:02:49 2016 +0000 + + 0.94.8 + +commit eb27865f268eaa4abc4e4b46354f1ea1556d1a5c +Merge: 08277b7 5248929 +Author: Loic Dachary +Date: Wed Aug 17 15:26:49 2016 +0200 + + Merge pull request #10750 from ceph/wip-14799-hammer + + hammer: rocksdb do not link against tcmalloc if it's disabled + + Reviewed-by: Loic Dachary + +commit 5248929c296d6130ee99fe94fbe69151d241efb8 +Author: Kefu Chai +Date: Tue Aug 16 23:45:18 2016 -0700 + + rocksdb: disable tcmalloc if disabled + + the rocksdb/configure.ac does not support --with-tcmalloc before, + and the updated rocksdb commit has the change for '--with-tcmalloc' + option, so let's pick it up. + + Fixes: http://tracker.ceph.com/issues/14799 + Signed-off-by: Kefu Chai + +commit fdfcd9b66cda1c637fbaad1c15d2ea04e426210d +Author: Sage Weil +Date: Sat Sep 12 14:12:20 2015 -0400 + + ceph.spec: respect CEPH_EXTRA_CONFIGURE_ARGS + + Signed-off-by: Sage Weil + (cherry picked from commit 51abff11688f0201b8f4076ac515e4515929d4cb) + Signed-off-by: Brad Hubbard + +commit 08277b7bc7c0e533c3fd56a0040dc0ddc74637d6 +Merge: bcab369 d5274a3 +Author: Orit Wasserman +Date: Sat Aug 13 19:19:37 2016 +0200 + + Merge pull request #10718 from oritwas/wip-14328-hammer + + hammer: rgw: the swift key remains after removing a subuser + +commit bcab36992580e5666afbf8e7bada4e850dfc84c6 +Merge: da2960f 699b7c8 +Author: Orit Wasserman +Date: Sat Aug 13 18:22:19 2016 +0200 + + Merge pull request #10509 from yehudasa/wip-15557-hammer + + rgw: Have a flavor of bucket deletion to bypass GC and to trigger + +commit d5274a3aeb7cc40f5ac04ac1ffcd6e3fc3019be3 +Author: Orit Wasserman +Date: Wed Jan 20 17:24:38 2016 +0100 + + rgw: fix subuser rm command failure + + Fixes: 14375 + Signed-off-by: Orit Wasserman + (cherry picked from commit bbc06e70b49b2917ee63985727cb92724fb99209) + +commit f9637743efc7ba3164e3bb9ee7a768801e1599da +Author: Sangdi Xu +Date: Wed Dec 16 09:09:16 2015 +0800 + + rgw: add a method to purge all associate keys when removing a subuser + + Fixes: #12890 + + When removing a subuser, make sure all of its keys, including the swift key and possible s3 keys, are also deleted. + + Signed-off-by: Sangdi Xu + (cherry picked from commit e7b7e1afc7a81c3f97976f7442fbdc5118b532b5) + +commit da2960f974b9a64a683ac8b77faf08fda3a5d0ba +Merge: 0f67539 3a30ffc +Author: Nathan Cutler +Date: Fri Aug 12 12:23:41 2016 +0200 + + Merge pull request #10291 from badone/wip-13829-hammer + + hammer: config set with negative value results in "error setting 'filestore_merge_threshold' to '-40': (22) Invalid argument" + + Reviewed-by: Samuel Just + Reviewed-by: Josh Durgin + Reviewed-by: Kefu Chai + Reviewed-by: Nathan Cutler + +commit 0f67539cf5efc46a92d7ea3ac031e0ce1c573a7a +Merge: 1e01986 0d4b601 +Author: Loic Dachary +Date: Fri Aug 12 09:46:30 2016 +0200 + + Merge pull request #10699 from ktdreyer/wip-15867-nroff + + jewel: doc: fix by-parttypeuuid in ceph-disk(8) nroff + + Reviewed-by: Loic Dachary + +commit 0d4b6013f0f130c93e2e488d1cd83527ad91274f +Author: Ken Dreyer +Date: Thu Aug 11 17:11:41 2016 -0600 + + doc: fix by-parttypeuuid in ceph-disk(8) nroff + + Commit 221efb0b893adbfd7a19df171cf967fee87afcc7 altered the rST source + for the ceph-disk man page. In Hammer, we also have to modify the nroff + sources, because static copies of the generated man pages are stored in + Git. + + Fixes: http://tracker.ceph.com/issues/15867 + Signed-off-by: Ken Dreyer + +commit 1e01986e9550700a11adfc1b175eca042c9cb188 +Merge: de28029 187d308 +Author: Nathan Cutler +Date: Thu Aug 11 22:58:33 2016 +0200 + + Merge pull request #9741 from SUSE/wip-16343-hammer + + hammer: boost uuid makes valgrind complain + + Reviewed-by: Samuel Just + Reviewed-by: Sage Weil + Reviewed-by: Ken Dreyer + Reviewed-by: Nathan Cutler + +commit de28029c25e4ff527c6021488381022538331473 +Merge: cb0488c 64211fa +Author: Orit Wasserman +Date: Thu Aug 11 15:58:51 2016 +0200 + + Merge pull request #10554 from Vicente-Cheng/wip-16815-hammer + + hammer: radosgw-admin region-map set is not reporting the bucket quota correctly + Reviewed-by: Orit Wasserman + +commit cb0488c181a122de13d63686b2a64e1aa00791ca +Merge: 0bc2d66 a3003f6 +Author: Orit Wasserman +Date: Thu Aug 11 15:56:39 2016 +0200 + + Merge pull request #10555 from Vicente-Cheng/wip-16317-hammer + + hammer: rgw: bucket listing following object delete is partial + Reviewed-by: Orit Wasserman + +commit 0bc2d66db5feba6cd887d7c297839b231012b880 +Merge: 5866fef 81aef60 +Author: Orit Wasserman +Date: Thu Aug 11 15:55:01 2016 +0200 + + Merge pull request #10530 from yehudasa/wip-16412-hammer + + rgw: remove bucket index objects when deleting the bucket + Reviewed-by: Orit Wasserman + +commit 5866fefb32cc443549891754a97eb8a6b8dd2af0 +Merge: da4f735 300c111 +Author: Orit Wasserman +Date: Thu Aug 11 11:14:53 2016 +0200 + + Merge pull request #8755 from kmroz/wip-hammer-convert-plain-object-to-versioned + + hammer: rgw: convert plain object to versioned (with null version) when removing + Reviewed-by: Orit Wasserman + +commit da4f735d7937aa623dfef41f921ad9381b1a07d7 +Merge: 4a12a88 d3eae0a +Author: Nathan Cutler +Date: Thu Aug 4 21:41:15 2016 +0200 + + Merge pull request #9271 from XinzeChi/wip-fix-digest-hammer + + osd: fix omap digest compare when scrub + + Reviewed-by: Samuel Just + Reviewed-by: David Zafman + Reviewed-by: Nathan Cutler + +commit 4a12a88d7098c1f67365a82f3cf9a174dd5ada32 +Merge: 6f107f1 ec02d8b +Author: Nathan Cutler +Date: Thu Aug 4 21:38:57 2016 +0200 + + Merge pull request #8805 from SUSE/wip-15482-hammer + + hammer: is_split crash in handle_pg_create + + Reviewed-by: Kefu Chai + +commit 6f107f1a7a42c070ef2da7f2b0b07d8bd2826429 +Merge: 3b9e73f 3cb72dd +Author: Nathan Cutler +Date: Thu Aug 4 21:37:24 2016 +0200 + + Merge pull request #8593 from renhwsky/wip-15478-hammer + + hammer: Pool quota alarm is not in effect + + Reviewed-by: Kefu Chai + Reviewed-by: Nathan Cutler + +commit 3b9e73f319b28c0403871c7d842304aca74f4c6a +Merge: d34ac2a b9a4ad9 +Author: John Spray +Date: Wed Aug 3 13:31:41 2016 +0100 + + Merge pull request #7542 from SUSE/wip-14668-hammer + + hammer: Wrong ceph get mdsmap assertion + + Reviewed-by: John Spray + +commit d34ac2a4d76eda4a371cc16dbc6bfdc0223c81d8 +Merge: 8f51f14 3ecdedd +Author: John Spray +Date: Wed Aug 3 13:31:30 2016 +0100 + + Merge pull request #8042 from ukernel/hammer-15050 + + hammer: mds: fix stray purging in 'stripe_count > 1' case + + Reviewed-by: John Spray + +commit 8f51f146c98e281f065debdfdc4399624e0cce97 +Merge: 4773e9c 049bc8a +Author: John Spray +Date: Wed Aug 3 13:31:22 2016 +0100 + + Merge pull request #8804 from SUSE/wip-15512-hammer + + hammer: Double decreased the count to trim caps which will cause failing to respond to cache pressure + + Reviewed-by: John Spray + +commit 4773e9c40849c2796aa16b7cacddbfe99536919c +Merge: 85a25e4 f6076dd +Author: John Spray +Date: Wed Aug 3 13:31:09 2016 +0100 + + Merge pull request #9404 from SUSE/wip-16082-hammer + + hammer: mds: wrongly treat symlink inode as normal file/dir when symlink inode is stale on kcephfs + + Reviewed-by: John Spray + +commit 85a25e43d4451b999ad517f089593d45895a7c59 +Merge: 3c4d14f 2633ec3 +Author: John Spray +Date: Wed Aug 3 13:30:58 2016 +0100 + + Merge pull request #10198 from SUSE/wip-16626-hammer + + hammer: Failing file operations on kernel based cephfs mount point leaves unaccessible file behind on hammer 0.94.7 + + Reviewed-by: John Spray + +commit a3003f6f4f02e37cf96b6e243203d86ad2e39549 +Author: Orit Wasserman +Date: Thu Feb 25 16:02:15 2016 +0100 + + rgw: reset return code in when iterating over the bucket the objects + + Fixes: #14826 + + Signed-off-by: Orit Wasserman + (cherry picked from commit e23fdcbbce47aaf041b9f8a0812c8a729aa5014b) + +commit 64211fa78f872648aad2b2cec2b4b3cb8f2b9953 +Author: Yehuda Sadeh +Date: Tue Oct 13 17:04:57 2015 -0700 + + rgw: fix compilation + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 9dfbae6d65bf6f8ab7cdf8597d556505b81cedd9) + +commit 3e45c6bb431f7763a12a48daac30fbe7aa3047cd +Author: Orit Wasserman +Date: Mon Oct 12 11:14:19 2015 +0200 + + rgw: add bucket_quota to RGWRegionMap::encode_json + + Signed-off-by: Orit Wasserman + (cherry picked from commit e18b72f7e97a65af681e368d3706a465603df89d) + +commit 699b7c8d5f51d895f5ff0578de5bf610436ee33b +Author: root +Date: Wed Apr 20 14:15:55 2016 +0530 + + rgw: Have a flavor of bucket deletion to bypass GC and to trigger + object deletions async. + + Fixes: http://tracker.ceph.com/issues/15557 + Signed-off-by: Pavan Rallabhandi + (cherry picked from commit b7a69fca248afeef1de1278890076693b16cf6d3) + + Conflicts: + src/rgw/rgw_admin.cc + src/rgw/rgw_bucket.cc + src/rgw/rgw_bucket.h + src/test/cli/radosgw-admin/help.t + +commit 81aef600671f0fe523206cea16000e79bc6bb75c +Author: Orit Wasserman +Date: Mon Jul 4 15:01:51 2016 +0200 + + rgw: remove bucket index objects when deleting the bucket + + Fixes: http://tracker.ceph.com/issues/16412 + Signed-off-by: Orit Wasserman + (cherry picked from commit 3ae276390641ad5fc4fef0c03971db95948880b4) + +commit 3c4d14fe73a97c52345369e732e445c78fb656c8 +Merge: 79753ed 8a39e5e +Author: Nathan Cutler +Date: Fri Jul 29 23:51:47 2016 +0200 + + Merge pull request #10182 from gaurav36/wip-configure-xfs-issue-hammer + + hammer: configure: Add -D_LARGEFILE64_SOURCE to Linux build. + + Reviewed-by: Samuel Just + Reviewed-by: Casey Bodley + Reviewed-by: Nathan Cutler + +commit 79753edf9c4763ae15d82502b53c6f3c9cd24349 +Merge: 75271a2 7dbace5 +Author: Nathan Cutler +Date: Fri Jul 29 09:40:46 2016 +0200 + + Merge pull request #7961 from dzafman/wip-15002 + + hammer: objects unfound after repair (fixed by repeering the pg) + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit 75271a2529b1504d249b528fe3fafd4c5e90a9bc +Merge: 76fa3b1 43d1b92 +Author: Nathan Cutler +Date: Fri Jul 29 09:38:15 2016 +0200 + + Merge pull request #9125 from dzafman/wip-15635 + + hammer: [MON] Fixed calculation of %USED + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit 76fa3b1097b3711ef75bd36aa2a4074e7a8fa9e6 +Merge: cf5f111 ca0beef +Author: Nathan Cutler +Date: Fri Jul 29 09:36:05 2016 +0200 + + Merge pull request #8464 from dzafman/wip-13039-15315 + + hammer: "FAILED assert(pg->info.history.same_interval_since == p.same_interval_since)" in upgrade:hammer-x-jewel-distro-basic-openstack + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit cf5f1117afe9e03c683fd40e5af964eaf5975e2b +Merge: 76ce775 488a787 +Author: Nathan Cutler +Date: Fri Jul 29 09:32:47 2016 +0200 + + Merge pull request #8573 from Vicente-Cheng/wip-15293-hammer + + hammer: ECBackend: send write and read sub ops on behalf of client ops at normal priority + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit 76ce775761f755bd3085ba22cf088c3a46b78d3a +Merge: 8629d37 e20df80 +Author: Nathan Cutler +Date: Fri Jul 29 09:31:16 2016 +0200 + + Merge pull request #8665 from Vicente-Cheng/wip-15525-hammer + + hammer: ReplicatedPG.cc: 430: FAILED assert(!actingbackfill.empty()): old watch timeout tries to queue repop on replica + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit 8629d378b05d4f0374436373a0c972360bae7273 +Merge: 79fc401 7b3f1da +Author: Nathan Cutler +Date: Fri Jul 29 09:29:58 2016 +0200 + + Merge pull request #8806 from SUSE/wip-15320-hammer + + hammer: LibRadosMiscConnectFailure.ConnectFailure (not so intermittent) failure in upgrade/hammer-x + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit 79fc401844c935283f43fbea83e113e298a830ba +Merge: f4d56b0 cbd5aaf +Author: Nathan Cutler +Date: Fri Jul 29 09:28:32 2016 +0200 + + Merge pull request #9001 from Vicente-Cheng/wip-15730-hammer + + hammer: osd: acting_primary not updated on split + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit f4d56b03b1decf83bebbf6996909ee89783068f0 +Merge: f71c9e6 410ff15 +Author: Nathan Cutler +Date: Fri Jul 29 09:26:55 2016 +0200 + + Merge pull request #9400 from Vicente-Cheng/wip-15796-hammer + + hammer: LibRadosWatchNotifyPPTests/LibRadosWatchNotifyPP.WatchNotify2Timeout/1 segv + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit f71c9e658d6f5af3cfa48a0dfb9a063f4965e7ce +Merge: fdb730e 23498a9 +Author: Nathan Cutler +Date: Fri Jul 29 09:24:42 2016 +0200 + + Merge pull request #9416 from chardan/wip-15770-hammer + + hammer: mon/OSDMonistor: improve reweight_by_utilization() logic + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit fdb730e169d8885ccd72e140c31797179c0a2c75 +Merge: f9e8dc8 2c18015 +Author: Nathan Cutler +Date: Fri Jul 29 09:21:25 2016 +0200 + + Merge pull request #10189 from dreamhost/wip-16618-hammer + + rgw: fix multi-delete query param parsing. + + Reviewed-by: Yehuda Sadeh + Reviewed-by: Nathan Cutler + +commit f9e8dc824a5aa89e24ef12fc8fcfdbdd4f926aef +Merge: f3cbf5f 24cc4f9 +Author: Nathan Cutler +Date: Fri Jul 29 09:17:57 2016 +0200 + + Merge pull request #8379 from Vicente-Cheng/wip-15283-hammer + + hammer: RGW shouldn't send Content-Type nor Content-Length for 304 responses + + Reviewed-by: Orit Wasserman + Reviewed-by: Nathan Cutler + +commit f3cbf5f891029975f4f5a915366fce28fcabd196 +Merge: ba8de3a f28477c +Author: Nathan Cutler +Date: Fri Jul 29 09:14:39 2016 +0200 + + Merge pull request #8313 from SUSE/wip-15257-hammer + + hammer: rgw: radosgw server abort when user passed bad parameters to set quota + + Reviewed-by: Orit Wasserman + +commit ba8de3ab31567c8179b72fb1dc8dbf7ccd1f5f38 +Merge: 9562198 ed4ca7c +Author: Nathan Cutler +Date: Fri Jul 29 09:13:09 2016 +0200 + + Merge pull request #8528 from wido/hammer-issue-15348 + + rgw: Set Access-Control-Allow-Origin to a Asterisk if allowed in a rule + + Reviewed-by: Orit Wasserman + Reviewed-by: Nathan Cutler + +commit 95621986d893029bc0a4a686c7da5cd6e0fa6f2b +Merge: 28107d3 1ac920b +Author: Nathan Cutler +Date: Fri Jul 29 09:10:57 2016 +0200 + + Merge pull request #9671 from ceph/hammer-rgw-copy-if-newer + + hammer: rgw: backport rgwx-copy-if-newer for radosgw-agent + + Reviewed-by: Orit Wasserman + Reviewed-by: Nathan Cutler + +commit 28107d3ebfded3cd9046e5a23ab83d4e0252cce2 +Merge: 5e1a57a 850881c +Author: Nathan Cutler +Date: Fri Jul 29 09:09:14 2016 +0200 + + Merge pull request #9961 from SUSE/wip-16190-hammer + + hammer: subuser rm fails with status 125 + + Reviewed-by: Orit Wasserman + +commit 5e1a57a6f9c2afbdfc6d3e73d438551202c68229 +Merge: 91889db ce313cd +Author: Nathan Cutler +Date: Fri Jul 29 09:07:10 2016 +0200 + + Merge pull request #9402 from SUSE/wip-15966-hammer + + hammer: No Last-Modified, Content-Size and X-Object-Manifest headers if no segments in DLO manifest + + Reviewed-by: Orit Wasserman + Reviewed-by: Nathan Cutler + +commit 23498a9620f792cd099dba028c5bdf96b1a625be +Author: xie xingguo +Date: Tue May 31 15:40:05 2016 -0700 + + mon/OSDMonitor: avoid potential expensive grace calculation + + The grace calculation during check_failure() is now very complicated + and time-consuming. Therefore we shall skip this when it is possible. + + Signed-off-by: xie xingguo + (cherry picked from commit 3557903d5d57642179b2ae137bedc389974b1956) + + Conflicts: + src/mon/OSDMonitor.cc + + Resolved by choosing the move-to-top implementation. Removed unused vars. + +commit 1b6f6f27b77803727a523b4337cbad411e8321ed +Author: xie xingguo +Date: Tue Apr 26 11:13:32 2016 +0800 + + mon/OSDMonitor: improve reweight_by_utilization() logic + + By calling reweight_by_utilization() method, we are aiming at an evener result + of utilization among all osds. To achieve this, we shall decrease weights of + osds which are currently overloaded, and try to increase weights of osds which + are currently underloaded when it is possible. + However, we can't do this all at a time in order to avoid a massive pg migrations + between osds. Thus we introduce a max_osds limit to smooth the progress. + + The problem here is that we have sorted the utilization of all osds in a descending + manner and we always try to decrease the weights of the most overloaded osds + since they are most likely to encounter a nearfull/full transition soon, but + we won't increase the weights from the most underloaded(least utilized by contrast) + at the same time, which I think is not quite reasonable. + + Actually, the best thing would probably be to iterate over teh low and high osds + in parallel, and do the ones that are furthest from the average first. + + Signed-off-by: xie xingguo + (cherry picked from commit e7a32534ebc9e27f955ff2d7a8d1db511383301e) + + Conflicts: + src/mon/OSDMonitor.cc + + Resolved by picking the lambda implemenation. + NOTE: Because hammer does not support C++11, the lambda functionality from the + current master has been moved into the "Sorter" function object. + +commit 91889db73ab097502615b208c6e9f3b40411e682 +Merge: f3c4f7b b78a1be +Author: Nathan Cutler +Date: Wed Jul 27 08:28:38 2016 +0200 + + Merge pull request #10038 from tchaikov/wip-16297-hammer + + mon: Monitor: validate prefix on handle_command() + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit f3c4f7b61ab519c532a2218a11c5472daaaf5fa9 +Merge: 2fe8edb b31ac2d +Author: Nathan Cutler +Date: Tue Jul 26 19:08:23 2016 +0200 + + Merge pull request #9090 from tchaikov/wip-13990-hammer + + hammer: osd: remove all stale osdmaps in handle_osd_map() + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit 2fe8edb87e7384f206414db8a49e909e51f48de3 +Merge: 67b7f11 0498969 +Author: Nathan Cutler +Date: Mon Jul 25 21:44:14 2016 +0200 + + Merge pull request #10227 from SUSE/wip-15081-hammer + + hammer: When logging to a file fails, ceph logs excessively to stderr + + Reviewed-by: Samuel Just + +commit 67b7f11c63313a5dcdf34b904137ef7a4673f4ec +Merge: bd59c96 474abb8 +Author: Nathan Cutler +Date: Mon Jul 25 21:43:49 2016 +0200 + + Merge pull request #9893 from Vicente-Cheng/wip-16430-hammer + + hammer: OSDMonitor: drop pg temps from not the current primary + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit bd59c9695fadedef89b77166f60f5a8cf85825ff +Merge: 3794e3a 055427c +Author: Nathan Cutler +Date: Mon Jul 25 21:42:54 2016 +0200 + + Merge pull request #9238 from SUSE/wip-15962-hammer + + hammer: ceph-osd valgrind invalid reads/writes + + Reviewed-by: Samuel Just + +commit 3794e3ad44d1e429f110abe71fb2d2319567bcd1 +Merge: 89233e3 d96086a +Author: Nathan Cutler +Date: Mon Jul 25 21:42:06 2016 +0200 + + Merge pull request #8849 from SUSE/wip-14326-hammer + + hammer: osd/PGLog.h: 88: FAILED assert(rollback_info_trimmed_to == head) + + Reviewed-by: Samuel Just + +commit 89233e32ffcdd7f795873771859caba1ce3ad23f +Merge: 253143b fb1b40f +Author: Nathan Cutler +Date: Mon Jul 25 21:40:57 2016 +0200 + + Merge pull request #8845 from SUSE/wip-15647-hammer + + hammer: osd: rados cppool omap to ec pool crashes osd + + Reviewed-by: Samuel Just + Reviewed-by: Nathan Cutler + +commit 253143b559001eadb73ed9945abe2d0b8d946b65 +Merge: 81133dd 365f21b +Author: Loic Dachary +Date: Mon Jul 25 15:05:54 2016 +0200 + + Merge pull request #8470 from dachary/wip-15403-api-test-timeout-hammer + + hammer: tests: be more generous with test timeout + + Reviewed-by: Loic Dachary + +commit 81133dd6e2724ee78cc69bda8e89ca35b20b6b23 +Merge: d71845c 3bb248b +Author: Nathan Cutler +Date: Mon Jul 25 15:05:31 2016 +0200 + + Merge pull request #9977 from shun-s/hammer + + replcatedBackend: delete one of the repeated op->mark_started in ReplicatedBackend::sub_op_modify_impl + + Reviewed-by: Kefu Chai + Reviewed-by: Nathan Cutler + +commit d71845cec169c660c180a4c0313e0cdbc25329dc +Merge: 387d5c1 5057c34 +Author: Nathan Cutler +Date: Mon Jul 25 12:51:45 2016 +0200 + + Merge pull request #8960 from badone/wip-hammer-rados-bench-units + + hammer: Add units to rados bench output and clean up formatting + + Reviewed-by: Nathan Cutler + +commit 474abb8275cd7507d7c7eae0d0e5647612fc177e +Author: Samuel Just +Date: Thu Jun 2 10:43:17 2016 -0700 + + OSDMonitor: drop pg temp from sources other than the current primary + + Fixes: http://tracker.ceph.com/issues/16127 + Signed-off-by: Samuel Just + (cherry picked from commit 1a07123c38e3fecb3fb2e43bbbae962d8411d287) + + change: + use NULL to replace the nullptr because we don't have C++11 + +commit b31ac2d37ecb68ed9661923fbaeaedeac241ba4a +Author: Kefu Chai +Date: Thu May 12 20:28:11 2016 +0800 + + osd: reset session->osdmap if session is not waiting for a map anymore + + we should release the osdmap reference once we are done with it, + otherwise we might need to wait very long to update that reference with + a newer osdmap ref. this appears to be an OSDMap leak: it is held by an + quiet OSD::Session forever. + + the osdmap is not reset in OSD::session_notify_pg_create(), because its + only caller is wake_pg_waiters(), which will call + dispatch_session_waiting() later. and dispatch_session_waiting() will + check the session->osdmap, and will also reset the osdmap if + session->waiting_for_pg.empty(). + + Fixes: http://tracker.ceph.com/issues/13990 + Signed-off-by: Kefu Chai + (cherry picked from commit 82b0af7cedc3071cd83ee53479f834c23c62b7d0) + +commit 3a30ffc21a5edd52726867302da6b358f93aa8dc +Author: Brad Hubbard +Date: Wed Jan 27 11:34:47 2016 +1000 + + qa: Add test for #13829 + + qa/workunits/cephtool/test.sh: add test for setting negative int options + src/test/daemon_config.cc: remove tests for failed negative values + + Fixes: #13829 + + Signed-off-by: Brad Hubbard + (cherry picked from commit 994ac2942d04584d1617e6d4bbd5b880b1ea0448) + +commit f70e4adf8682ed82b267e21e5e63039048893243 +Author: Brad Hubbard +Date: Wed Jan 27 11:18:16 2016 +1000 + + common: Allow config set with negative value + + A recent commit disabled negative values but they are required for variables + such as filestore_merge_threshold. + + Modified patch to remove C++11 specific elements so it will build for hammer + + Fixes: #13829 + + Signed-off-by: Kefu Chai + Signed-off-by: Brad Hubbard + (cherry picked from commit 8b777a0c346bc70fd10d07e89368b3785b58f10e) + +commit 04989695915fd7ee5ef85ae34ede1fd680514f9d +Author: Sage Weil +Date: Thu Mar 10 09:50:07 2016 -0500 + + log: do not repeat errors to stderr + + If we get an error writing to the log, log it only once to stderr. + This avoids generating, say, 72 GB of ENOSPC errors in + teuthology.log when /var/log fills up. + + Fixes: #14616 + Signed-off-by: Sage Weil + (cherry picked from commit d9ac0474b864afda58a44b9012cca4bbc6aaf509) + + Conflicts: + src/log/Log.cc (drop m_uid and m_gid which are not used in hammer; + order of do_stderr, do_syslog, do_fd conditional blocks is reversed in + hammer; drop irrelevant speed optimization code from + 5bfe05aebfefdff9022f0eb990805758e0edb1dc) + +commit 2633ec3934ad8f7629c55b4345f426cacfb7b140 +Author: Yan, Zheng +Date: Fri Apr 15 20:15:14 2016 +0800 + + mds: disallow 'open truncate' non-regular inode + + Signed-off-by: Yan, Zheng + (cherry picked from commit 0e4b6f2332bb4822cf324587a94144f1c98e4b97) + + Conflicts: + src/mds/Server.cc (hammer has cur->inode.inline_version - in master + this has been changed to cur->inode.inline_data.version) + +commit 3f0fb20ed08dfde614cff6c056d41b59af200c2c +Author: Yan, Zheng +Date: Fri Apr 15 19:45:23 2016 +0800 + + mds: only open non-regular inode with mode FILE_MODE_PIN + + ceph_atomic_open() in kernel client does lookup and open at the same + time. So it can open a symlink inode with mode CEPH_FILE_MODE_WR. + Open a symlink inode with mode CEPH_FILE_MODE_WR triggers assertion + in Locker::check_inode_max_size(); + + Signed-off-by: Yan, Zheng + (cherry picked from commit 4d15eb12298e007744486e28924a6f0ae071bd06) + +commit 2c180159c00aa184e1fe8b051b1aa1e9f0f332fc +Author: Robin H. Johnson +Date: Thu Jul 7 14:14:36 2016 -0700 + + rgw: fix multi-delete query param parsing. + + Multi-delete is triggered by a query parameter on POST, but there are + multiple valid ways of representing it, and Ceph should accept ANY way + that has the query parameter set, regardless of what value or absence of + value. + + This caused the RubyGem aws-sdk-v1 to break, and has been present since + multi-delete was first added in commit 0a1f4a97da, for the bobtail + release. + + Fixes: http://tracker.ceph.com/issues/16618 + Signed-off-by: Robin H. Johnson + (cherry picked from commit a7016e1b67e82641f0702fda4eae799e953063e6) + +commit 387d5c1ba836833a0cf11ddf9a4fb8690a532878 +Merge: 2fd75cc 4eea92b +Author: Yehuda Sadeh +Date: Thu Jul 7 10:16:31 2016 -0700 + + Merge pull request #9407 from SUSE/wip-15833-hammer + + hammer: RGW :: Subset of uploaded objects via radosgw are unretrievable when using erasure coded pool + +commit 8a39e5e67bc9a93cadb6c13f25c7ccd57421af6b +Author: Ira Cooper +Date: Thu Mar 31 12:30:45 2016 -0400 + + configure: Add -D_LARGEFILE64_SOURCE to Linux build. + + Fixes: http://tracker.ceph.com/issues/16612 + + Without -D_LARGEFILE64_SOURCE we can't build against libxfs, + because off64_t must be defined. + + Signed-off-by: Ira Cooper + (cherry picked from commit 602425a) + +commit 2fd75cced9dbcfdfdcba979eae90a6f4fb384758 +Merge: dac65d0 2c97cb3 +Author: Orit Wasserman +Date: Wed Jul 6 20:25:20 2016 +0200 + + Merge pull request #8475 from Vicente-Cheng/wip-15343-hammer + + hammer: Multipart ListPartsResult has missing quotes on ETag + Reviewed-bu: Orit Wasserman + +commit 3bb248b7d530403b347e3ff68a8996b624fc1c98 +Author: shun-s +Date: Tue Jun 28 15:30:16 2016 +0800 + + replcatedBackend: delete one useless op->mark_started as there are two in ReplicatedBackend::sub_op_modify_impl + delete one mark_start event as there are two same op->mark_started in ReplicatedBackend::sub_op_modify_impl + Fixes: http://tracker.ceph.com/issues/16572 + + Signed-off-by: shun-s + +commit ed4ca7c92cdf7404754dab6f9d58c64b647136c5 +Author: Wido den Hollander +Date: Tue Apr 5 11:14:16 2016 +0200 + + rgw: Set Access-Control-Allow-Origin to a Asterisk if allowed in a rule + + Before this patch the RGW would respond with the Origin send by the client in the request + if a wildcard/asterisk was specified as a valid Origin. + + This patch makes sure we respond with a header like this: + + Access-Control-Allow-Origin: * + + This way a resource can be used on different Origins by the same browser and that browser + will use the content as the asterisk. + + We also keep in mind that when Authorization is send by the client different rules apply. + In the case of Authorization we may not respond with an Asterisk, but we do have to + add the Vary header with 'Origin' as a value to let the browser know that for different + Origins it has to perform a new request. + + More information: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + + Fixes: #15348 + + Signed-off-by: Wido den Hollander + (cherry picked from commit 0021e224480c7164330eaa7cc1078bb8795169bf) + + Conflicts: + src/rgw/rgw_rest.cc + hammer still uses s->cio->print() where master uses STREAM_IO(s)->print() + +commit b78a1be835706e7dabc505be343945d0ac05697d +Author: Kefu Chai +Date: Thu Jun 30 13:24:22 2016 +0800 + + mon: Monitor: validate prefix on handle_command() + + Fixes: http://tracker.ceph.com/issues/16297 + + Signed-off-by: You Ji + (cherry picked from commit 7cb3434fed03a5497abfd00bcec7276b70df0654) + + Conflicts: + src/mon/Monitor.cc (the signature of Monitor::reply_command() + changed a little bit in master, so adapt the + commit to work with the old method) + +commit dac65d048919f701877de96d3271131853e532ed (refs/remotes/gh/wip-optracker-4354) +Merge: 2e156d7 a2e7ca1 +Author: Nathan Cutler +Date: Mon Jun 27 17:51:19 2016 +0200 + + Merge pull request #8538 from Vicente-Cheng/wip-15360-hammer + + hammer: Linking to -lrbd causes process startup times to balloon + + Reviewed-by: Josh Durgin + +commit 850881cf787ccb23eca989861a6688f3a4de1a7c +Author: Orit Wasserman +Date: Wed Jan 20 17:24:38 2016 +0100 + + rgw: fix subuser rm command failure + + Fixes: 14375 + Signed-off-by: Orit Wasserman + (cherry picked from commit bbc06e70b49b2917ee63985727cb92724fb99209) + + Conflicts: + src/rgw/rgw_user.cc The "if (op_state.will_purge_keys())" block was + later changed to "always purge all associated keys" by + e7b7e1afc7a81c3f97976f7442fbdc5118b532b5 - keep the hammer version + +commit 055427cf58857eeadda11ed1b3381e84e384bc85 +Author: Samuel Just +Date: Thu May 12 16:57:49 2016 -0700 + + Pipe: take a ref to existing while we are waiting + + Otherwise, if it is reaped while we are waiting, it'll be a + use-after-free. + + Fixes: http://tracker.ceph.com/issues/15870 + Signed-off-by: Samuel Just + (cherry picked from commit b224912d249453d754fc0478d3680f8cfa1a5c22) + + Conflicts: + src/msg/simple/Pipe.cc: nullptr changed to 0 because hammer is not compiled + with -std=c++11 + +commit 24cc4f9e67d9c61f68ccc8f7d80ac227d67aeda1 +Author: Nathan Cutler +Date: Wed Jun 15 16:53:16 2016 +0200 + + rgw: check for -ERR_NOT_MODIFIED in rgw_rest_s3.cc + + Fixes: http://tracker.ceph.com/issues/16327 + Signed-off-by: Nathan Cutler + (cherry picked from commit fc38346c596d8b0bc156183970d6a327943cb577) + + Conflicts: + src/rgw/rgw_rest_s3.cc + use ret instead of op_ret to check op result + +commit 7dbace59b83a059fcb364b78fc78d4e38164df6c +Author: Loic Dachary +Date: Thu May 28 22:35:08 2015 +0200 + + erasure-code: s/unreocvery/unfound/ + + Signed-off-by: Loic Dachary + (cherry picked from commit 28820d1cd630ec466ed1069a437d740a025fb9aa) + +commit e726f211107cd84cc722744c38213b96dc59cdc7 +Author: Jianpeng Ma +Date: Wed Apr 22 09:45:04 2015 +0800 + + test: add test-case for repair unrecovery-ec pg. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 8f30db85219a6c57cb2fc03f4049a3f57446ca55) + +commit 40b1c2b231b62471d4f3cfba3ba2c3d596c9e170 +Author: Jianpeng Ma +Date: Tue Apr 14 13:29:54 2015 +0800 + + osd: Remove the duplicated func MissingLoc::get_all_missing. + + It is the same as MissingLoc::get_needs_recovery. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit bdd6205408cf20e039496728052a36c1a7d758c6) + +commit 47d5dfc0323e8d7614ad5793d85c1476b63c18e6 +Author: Jianpeng Ma +Date: Tue Apr 14 09:11:58 2015 +0800 + + osd: Fix ec pg repair endless when met unrecover object. + + In repair_object, if bad_peer is replica, it don't add soid in + MissingLoc for ec pool. If there are more bad replica for ec pool + which cause object can't recover, the later recoverying will endless. + + Signed-off-by: Jianpeng Ma + Signed-off-by: Kefu Chai + (cherry picked from commit d51806f5b330d5f112281fbb95ea6addf994324e) + +commit 187d308b5b0cb0512b442bbad1bddfda8ef9203f +Author: Sage Weil +Date: Mon Aug 24 14:51:47 2015 -0400 + + uuid: use boost::random:random_device + + The boost mt code uses uninitialized memory for extra randomness, + which is a bad idea in general but more importantly makes valgrind + unhappy. Use /dev/urandom instead. + + Unfortunately this introduces a link time dependency.. meh! + + Fixes: #12736 + Signed-off-by: Sage Weil + (cherry picked from commit dbcaa544856fcc99ab912a101c4a28e1eb3fb94e) + + Conflicts: + ceph.spec.in (trivial resolution) + +commit 174de7fce8080df6e02b363e7821e8cca6f8157f +Author: Rohan Mars +Date: Wed Aug 12 21:19:31 2015 -0700 + + moved to use boost uuid implementation, based on commit 4fe89a7b14c97b2ed7f357132901beb2bdcec551 + + Signed-off-by: Rohan Mars + Reviewed-by: Casey Bodley + (cherry picked from commit 62bfc7a1ab1587e81ed3bff0ddfbb1aa69d1c299) + + Conflicts: + debian/control (trivial resolution) + src/common/Makefile.am (trivial resolution) + src/common/blkdev.cc (no get_device_by_uuid() function in hammer) + +commit 2e156d7ad4b9f4ffd6028df3a460b50b30c8b0d3 +Merge: 054a90e 5cd922c +Author: Mykola Golub +Date: Thu Jun 16 08:26:00 2016 +0300 + + Merge pull request #9722 from trociny/wip-16289-hammer + + hammer: qa/workunits/rbd: respect RBD_CREATE_ARGS environment variable + + Reviewed-by: Jason Dillaman + +commit 5cd922ca31d2eb987992b2afcbd45d5d92aeac69 +Author: Mykola Golub +Date: Tue Jun 14 15:28:06 2016 +0300 + + qa/workunits/rbd: respect RBD_CREATE_ARGS environment variable + + Fixes: http://tracker.ceph.com/issues/16289 + Signed-off-by: Mykola Golub + (cherry picked from commit 3048d3c7ce800a6174c54946b838e4e4079ec609) + +commit 1ac920bf291a58cf680108f8dc738197e9bae44d +Author: Yehuda Sadeh +Date: Fri Sep 18 17:34:51 2015 -0700 + + rgw: fix identification of canceled operation + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 9f63b15b3a7c4cc633ff90f529934f071aea7c62) + +commit a38f157a09097d1eaef64813fc947aac19e3844a +Author: Yehuda Sadeh +Date: Wed Mar 25 17:35:40 2015 -0700 + + rgw: identify racing writes when using copy-if-newer + + When copying an object from a different zone, and copy-if-newer is + specified, if the final meta write is canceled check whether the + destinatioin that was created is actually newer than our mtime, + otherwise retry. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit fe9c64b75caf3f53ce2dfdea5e39d794528dfc33) + +commit 02f6d8aaa86f4fdb9912763883d079d02589e5be +Author: Yehuda Sadeh +Date: Tue Mar 24 22:48:03 2015 -0700 + + rgw: translate http error 304 to appropriate status + + So that we can return the appropriate response on a conditioinal multi + zone copy operation. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 20d24e965884af440f94c7e3093587c7b8643cb9) + +commit 7319d76b269d541249124f46890f1b04279ba2ea +Author: Yehuda Sadeh +Date: Tue Mar 24 20:24:55 2015 -0700 + + rgw: fix if-modified-since boundary + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 27946e8ba4bc5dbfec2da319fa23266d5885d655) + +commit 5e4de5ad66dc24b059ef19664d1eef22be6890f7 +Author: Yehuda Sadeh +Date: Tue Mar 24 20:16:02 2015 -0700 + + rgw: add rgwx-copy-if-newer http header + + Similar to IF_MOD_SINCE, but does not take a time argument, and should + protected against races (not there yet). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 8813a4401198636e0f4d3a220a0f726625a5c5d4) + +commit 054a90edb2812f78426b8cb1dac2e768b2e7fc51 +Merge: 785ffd1 c722d00 +Author: Orit Wasserman +Date: Tue Jun 7 15:48:00 2016 +0200 + + Merge pull request #8113 from Vicente-Cheng/wip-15023-hammer + + hammer: rgw: user quota may not adjust on bucket removal + Reviewed-by: Orit Wasserman + +commit 785ffd1f616864909b24314c803d12566c885d14 +Merge: e0a3589 139691c +Author: Samuel Just +Date: Mon Jun 6 12:42:14 2016 -0700 + + Merge pull request #9277 from ceph/wip-split-lfn-hammer + + Hammer LFN collection split fix: backport of http://tracker.ceph.com/issues/14766 + + Reviewed-by: Sage Weil + +commit e0a358972644d3718c80970fd7236a4df8e61afe +Merge: 735c524 006ea56 +Author: Josh Durgin +Date: Mon Jun 6 08:19:23 2016 -0700 + + Merge pull request #9521 from ceph/revert-9496-wip-16149-hammer + + Revert "hammer: Scrub error: 0/1 pinned" + + Reviewed-by: Josh Durgin + +commit 006ea56f603e160c83c8b1fe35ee8022321bf3b2 +Author: Sage Weil +Date: Mon Jun 6 11:15:54 2016 -0400 + + Revert "hammer: Scrub error: 0/1 pinned" + +commit 735c52423305d4ad548464e986ff88e57333b8ca +Merge: a1a5f57 c294bd3 +Author: Sage Weil +Date: Mon Jun 6 08:46:45 2016 -0400 + + Merge pull request #9496 from Vicente-Cheng/wip-16149-hammer + + hammer: Scrub error: 0/1 pinned + +commit a1a5f57558e30fc0fd581756a75da5abee3e897b +Merge: a336291 d1ab71f +Author: Orit Wasserman +Date: Mon Jun 6 11:39:34 2016 +0200 + + Merge pull request #8987 from dreamhost/hammer-wip-pr7712 + + hammer: rgw: S3: set EncodingType in ListBucketResult + Reviewed-by: Orit Wasserman + +commit c294bd34e7e29f2c96e3277491c02ea26bf6da5c +Author: Samuel Just +Date: Fri May 20 13:59:10 2016 -0700 + + ReplicatedPG: adjust num_pinned in _delete_oid + + Fixes: http://tracker.ceph.com/issues/15952 + Signed-off-by: Samuel Just + (cherry picked from commit 907d4e25c676fd3e1c2be90ce8ab5b64b362b0bc) + +commit 43d1b92b97e0bb1c419341ba3c740fa632cafef0 +Author: David Zafman +Date: Tue May 17 17:14:07 2016 -0700 + + test: Fix grouping of mon_cephdf_commands by moving to MON_TESTS + + Signed-off-by: David Zafman + (cherry picked from commit 2fb0530a5650bcdb9c89d8bdd2504a7dd1642678) + + Conflicts: + qa/workunits/cephtool/test.sh (trivial) + +commit 300c11179290d9b119ff6f310efd1cf5b559b3e1 +Author: Yehuda Sadeh +Date: Tue Mar 22 18:14:57 2016 -0700 + + rgw: convert plain object to versioned (with null version) when removing + + Fixes #15243 + + When removing a plain null versioned object (was created prior to bucket versioning + enabled), need to convert the bucket index representation to a versioned one. This + is needed so that all the versioning mechanics play together. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit c6334d430b17739fed2df2b4481ae395ef6568d9) + + Conflicts: + src/rgw/rgw_rados.cc + - hammer is missing get_zone() API from which log_data can be + obtained. Needed to fall back to zone_public_config + structure in bucket_index_unlink_instance() definition. + - olh_tag string parameter added to + bucket_index_unlink_instance() definition. + src/rgw/rgw_rados.h + - olh_tag string parameter added to + bucket_index_unlink_instance() declaration. + +commit 4eea92b4a50e06d850c39009d122f8bbbd48c857 +Author: Yehuda Sadeh +Date: Thu May 5 14:02:25 2016 -0700 + + rgw: handle stripe transition when flushing final pending_data_bl + + Fixes: http://tracker.ceph.com/issues/15745 + + When complete_writing_data() is called, if pending_data_bl is not empty + we still need to handle stripe transition correctly. If pending_data_bl + has more data that we can allow in current stripe, move to the next one. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b7a7d41839558b1a8786a66e27d9d80e606f61c7) + + Conflicts: + src/rgw/rgw_rados.cc (hammer write_data() takes rgw_obj reference as + 4th argument, hammer throttle_data() takes rgw_obj as 2nd argument) + +commit f6076dd0416dd4464955f208d8964ef136b6142b +Author: Zhi Zhang +Date: Tue May 3 17:12:26 2016 +0800 + + mds: wrongly treat symlink inode as normal file/dir when symlink inode is stale on kcephfs + + Signed-off-by: Zhi Zhang + (cherry picked from commit 88b6d669e37924536152a552db46ef43a7353562) + + Conflicts: + src/mds/Server.cc (hammer has req->head.args.open.flags instead of just flags) + +commit ce313cd89e29c0cfc6b7c600a82bdea7b351cdbd +Author: Radoslaw Zarzynski +Date: Tue May 10 17:45:20 2016 +0200 + + rgw: handle errors properly during GET on Swift's DLO. + + Backport: Jewel, Hammer + Fixes: http://tracker.ceph.com/issues/15812 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 5ef0202a86a1e4cb56bd29d926555f114a1acdd8) + + Conflicts: + src/rgw/rgw_op.cc (hammer uses ret instead of op_ret; enclosing if + block in hammer does not check skip_manifest) + +commit 410ff1528caafaec0cfd9ea6ee4b86ed6788b09d +Author: Sage Weil +Date: Fri May 6 09:09:43 2016 -0400 + + osdc/Objecter: upper bound watch_check result + + This way we always return a safe upper bound on the amount of time + since we did a check. Among other things, this prevents us from + returning a value of 0, which is confusing. + + Fixes: http://tracker.ceph.com/issues/15760 + Signed-off-by: Sage Weil + (cherry picked from commit 2e2ce365866a7569b55aff338a82c132aa927089) + + Conflicts: + src/osdc/Objecter.cc + By https://github.com/ceph/ceph/pull/8967, simply add 1 to return vaule. + +commit d3eae0a01ae8d33988ffccee1f0af145aa10fa33 +Author: Xinze Chi +Date: Mon May 23 21:38:39 2016 +0800 + + osd: fix omap digest compare when scrub + + Introduce by fe1c28dea4e5607a0c72eab1f046074616cd55a7. + + Fixes: http://tracker.ceph.com/issues/16000 + Signed-off-by: Xinze Chi + +commit a33629106ec64acdaba45bf9db18d2402a926b8e +Merge: b9b5f96 dd29310 +Author: Sage Weil +Date: Sat May 21 14:18:25 2016 -0400 + + Merge pull request #9240 from yehudasa/wip-15886-hammer + + rgw: keep track of written_objs correctly + +commit dd29310bd6273ec3643bf90e51f7cae4801629c7 +Author: Yehuda Sadeh +Date: Mon May 16 14:35:12 2016 -0700 + + rgw: keep track of written_objs correctly + + Fixes: http://tracker.ceph.com/issues/15886 + + Only add a rados object to the written_objs list if the write + was successful. Otherwise if the write will be canceled for some + reason, we'd remove an object that we didn't write to. This was + a problem in a case where there's multiple writes that went to + the same part. The second writer should fail the write, since + we do an exclusive write. However, we added the object's name + to the written_objs list anyway, which was a real problem when + the old processor was disposed (as it was clearing the objects). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 8fd74d11682f9d0c9085d2dc445fc3eb5631f6e0) + +commit c2ea6dbd652782bb227b7787c486660871b2d950 +Author: Kefu Chai +Date: Mon May 9 15:01:46 2016 +0800 + + osd: remove all stale osdmaps in handle_osd_map() + + in a large cluster, there are better chances that the OSD fails to trim + the cached osdmap in a timely manner. and sometimes, it is just unable + to keep up with the incoming osdmap if skip_maps, so the osdmap cache + can keep building up to over 250GB in size. in this change + + * publish_superblock() before trimming the osdmaps, so other osdmap + consumers of OSDService.superblock won't access the osdmaps being + removed. + * trim all stale osdmaps in batch of conf->osd_target_transaction_size + if skip_maps is true. in my test, it happens when the osd only + receives the osdmap from monitor occasionally because the osd happens + to be chosen when monitor wants to share a new osdmap with a random + osd. + * always use dedicated transaction(s) for trimming osdmaps. so even in + the normal case where we are able to trim all stale osdmaps in a + single batch, a separated transaction is used. we can piggy back + the commits for removing maps, but we keep it this way for simplicity. + * use std::min() instead MIN() for type safety + + Fixes: http://tracker.ceph.com/issues/13990 + Signed-off-by: Kefu Chai + (cherry picked from commit 369db9930887d75b498927da9c97733bff4472b6) + + Conflicts: + remove the C++11ism + +commit ac0340ad30329df7919ce82938ad49d0a2e2d160 +Author: Kefu Chai +Date: Wed Mar 16 21:15:35 2016 +0800 + + osd: populate the trim_thru epoch using MOSDMap.oldest_map + + instead of filling MOSDMap with the local oldest_map, we share + the maximum MOSDMap.oldest_map received so far with peers. That + way one OSD's failure to trim won't prevent it from sharing with + others that they are allowed to trim. + + Fixes: #13990 + Signed-off-by: Kefu Chai + (cherry picked from commit 9789c29fe0f82b236703f7ae4d356251fde3a46f) + + Conflict: use atomic_t instead of std::atomic<> + +commit b9b5f966ddfe7e706c038db204271ee662e0d825 +Merge: b90c097 bb5e015 +Author: Sage Weil +Date: Wed May 18 17:02:26 2016 -0400 + + Merge pull request #9164 from liewegas/wip-osdmapcrc-hammer + + osd: dump full map bl at 20 when crc doesn't match + +commit bb5e015d50cb50361dd6ce258c720fe798b3835a +Author: Sage Weil +Date: Sun Sep 6 13:56:38 2015 -0400 + + osd: dump full map bl at 20 when crc doesn't match + + This will help us debug cases where the encoding doesn't match due + to a bug. + + Signed-off-by: Sage Weil + (cherry picked from commit bfe359af0b80f44ca04847f74d5a2d81097ce4e6) + +commit 5057c34ebe4f93792f058ea5f2e3c7e0a29b3d3d +Author: Dmitry Yatsushkevich +Date: Mon Mar 23 11:05:44 2015 -0700 + + obj_bencher: cosmetic display fixes + + fix indents in output + change `snprintf' to `setprecision' + + Signed-off-by: Dmitry Yatsushkevich + (cherry picked from commit ddb422f40394ec2f4fc4a6a6cff49e43538121a9) + Signed-off-by: Brad Hubbard + +commit 6d8ad0edf6bae57a6e8ca5cc1a7add1659a92691 +Author: Brad Hubbard +Date: Fri May 6 15:05:42 2016 +1000 + + common: Add space between timestamp and "min lat:" in bench output + + This change is taken from 069d95eaf49cadaa9a8fa1fa186455944a50ec7d + but I did not want to cherry-pick that patch since the rest of it + is purely cosmetic and would be unlikely to apply cleanly. + + Signed-off-by: Brad Hubbard + +commit b90c097ddd3e172df4534509309a554cb3bc3917 +Merge: aefe2cb aab3a40 +Author: Loic Dachary +Date: Mon May 16 13:02:44 2016 +0200 + + Merge pull request #8535 from asheplyakov/bug-14512-hammer + + hammer: rbd snap rollback: restore the link to parent + + Reviewed-by: Jason Dillaman + +commit 31849986896ba6b5fd2b0b13023b50f67842fd28 +Author: Adam Kupczyk +Date: Wed Mar 2 12:31:01 2016 +0100 + + [MON] Fixed calculation of %USED. Now it is shows (space used by all replicas)/(raw space available on OSDs). Before it was (size of pool)/(raw space available on OSDs). + + Signed-off-by: Adam Kupczyk akupczyk@mirantis.com + (cherry picked from commit 71c4e525f27b8efd2aa4f3b5e95f4a13f123d41a) + +commit fed256e40f5465959384735be957dec88733aeb7 +Author: Ruifeng Yang +Date: Tue Jan 12 22:08:41 2016 +0800 + + mon: add a column 'RAW USED' for ceph df detail + + Signed-off-by: Ruifeng Yang + (cherry picked from commit 2b597ae6d4d53974f28a2da090232577daf09979) + + Conflicts: + qa/workunits/cephtool/test.sh (trivial) + src/mon/PGMonitor.cc (trivial) + src/mon/PGMonitor.h (trivial) + +commit aefe2cb4f262112f0a028797733f868b83da7bd2 +Merge: d56bdf9 221efb0 +Author: Loic Dachary +Date: Thu May 12 23:17:51 2016 +0200 + + Merge pull request #9107 from SUSE/wip-15867-hammer + + hammer: ceph-disk s/by-parttype-uuid/by-parttypeuuid/ + + Reviewed-by: Loic Dachary + +commit 139691c646809f6c25d72c8de064f26b3c036197 +Author: Samuel Just +Date: Thu May 12 13:50:58 2016 -0700 + + src/test/objectstore/store_test.cc: fix shards for new tests + + This didn't matter on master/jewel, but in hammer, keyvaluestore + asserts that gen != NO_GEN => shard != NO_SHARD. + + Signed-off-by: Samuel Just + +commit 221efb0b893adbfd7a19df171cf967fee87afcc7 +Author: Nathan Cutler +Date: Thu May 12 20:06:06 2016 +0200 + + doc: s/by-parttype-uuid/by-parttypeuuid/ in ceph-disk + + Fixes: http://tracker.ceph.com/issues/15867 + Signed-off-by: Nathan Cutler + +commit 62f4fbe66f8af79fb874125743df0433aa92b731 +Author: Samuel Just +Date: Fri Mar 11 17:02:15 2016 -0800 + + store_test: improve synthetic coverage of the ec stash case + + Signed-off-by: Samuel Just + (cherry picked from commit f3a78e046d54260de01a4d1db8e104130e35cf42) + + Conflicts: + src/test/objectstore/store_test.cc + +commit b6bc9cbaef99670bc0fc55936ab02a3656ec8bfd +Author: Samuel Just +Date: Fri Mar 11 14:05:37 2016 -0800 + + store_test: improve synthetic test coverage of long object names + + 1/2 of objects will now have long names, and we'll shift the region + of the hash space where new objects are created every 1024 objects + created. + + Signed-off-by: Samuel Just + (cherry picked from commit 4b44720f752ebac63454ecd338e2b0c77c8fe501) + + Conflicts: + src/test/objectstore/store_test.cc + +commit ec74c1281e641a45de039f2c168b50902e514729 +Author: Samuel Just +Date: Thu Mar 10 15:38:26 2016 -0800 + + TestRados: make half the objects have long names + + Signed-off-by: Samuel Just + (cherry picked from commit 8b64432d07a14df9dfd2ed1314783de16530b1d1) + +commit 9d1ee7cf390154c5939a01ff439e33d303a952c2 +Author: Samuel Just +Date: Thu Mar 10 15:19:15 2016 -0800 + + LFNIndex::lfn_translate: consider alt attr as well + + If the file has an alt attr, there are two possible matching + ghobjects. We want to make sure we choose the right one for + the short name we have. If we don't, a split while there are + two objects linking to the same inode will result in one of + the links being orphaned in the source directory, resulting + in #14766. + + Signed-off-by: Samuel Just + (cherry picked from commit 850ce11ea3c4dacc6ff1a3ce7ff37000818267c2) + +commit 6b821cc8f394e59760e3d58d27f382976bb69e13 +Author: Samuel Just +Date: Thu Mar 10 11:06:06 2016 -0800 + + LFNIndex::created: fix return value with failure injection + + See comment for explanation. + + Signed-off-by: Samuel Just + (cherry picked from commit aec5560887a1c1dbbb5aba822280e2c1e05d5d8f) + +commit f500435da3ddf750cf0770c0f63e9cff0cebd7a7 +Author: Samuel Just +Date: Thu Mar 10 11:03:13 2016 -0800 + + store_test: add reproducer for #14766 + + Signed-off-by: Samuel Just + (cherry picked from commit 0fb67c772561aaca9261ac9094b74d7524498f6f) + + Conflicts: + src/test/objectstore/store_test.cc + +commit cbd5aafe93a5c85392a460a183862f62af2836b8 +Author: Sage Weil +Date: Fri Apr 29 15:24:09 2016 -0400 + + osd/PG: update info.stats.* mappings on split + + These are updated in the init and start_peering_interval paths, but not + on split. + + Fixes: http://tracker.ceph.com/issues/15523 + Signed-off-by: Sage Weil + (cherry picked from commit 8b42294d98dd70715184991da5ba495fbe93d009) + +commit d1ab71ff6084719e86e07a447f3054af73e40868 +Author: Vitja Makarov +Date: Wed Feb 17 13:46:18 2016 +0300 + + hammer: rgw: S3: set EncodingType in ListBucketResult + + Signed-off-by: Victor Makarov + (cherry picked from commit d2e281d2beb0a49aae0fd939f9387cb2af2692c8) + X-Github-PR: 7712 + Backport: hammer + Signed-off-by: Robin H. Johnson + +commit df4eadc2376bb4a53210e2fe176520887b840f2f +Author: Gu Zhongyan +Date: Wed Dec 30 16:42:07 2015 +0800 + + rados: Add units to rados bench output + + Fixes: #12248 + Signed-off-by: Gu Zhongyan + Reviewed-by: Sage Weil + (cherry picked from commit 669b932934d60bbfa751cebd9340f11bd95e2853) + Signed-off-by: Brad Hubbard + +commit d96086af5d54a7450f3823210323b9fe08fc075a +Author: Samuel Just +Date: Wed Dec 2 17:20:19 2015 -0800 + + PGLog::rewind_divergent_log: fix rollback_info_trimmed_to before index() + + Fixes: #13965 + Signed-off-by: Samuel Just + (cherry picked from commit 053ee919059b2671d40110e8dff8615dc13d34e0) + +commit e79162de4cb418576ca633d5c7ea6fb766706962 +Author: Samuel Just +Date: Wed Dec 2 17:17:57 2015 -0800 + + TestPGLog: add test for 13965 + + Signed-off-by: Samuel Just + (cherry picked from commit 66c7246491f4b6e5b95d80cc93c9157725a1a778) + +commit fb1b40f5e2da1b70d9ff026a75196c79d09cf0c6 +Author: Jianpeng Ma +Date: Sun Mar 22 22:07:24 2015 +0800 + + osd/Replicated: For CEPH_OSD_OP_WRITE, set data digest. + + Add two cases which can add data digest for OP_WRITE: + a: offset = 0, and length > original size + b: offset = original size, and original has data_digest. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit c7702bf85d3617b3e1c6619b8ebeff34932fc3e4) + +commit f0242598ea7c990aef2d00f3dc6a0cd65656332c +Author: Jianpeng Ma +Date: Mon Mar 23 09:54:52 2015 +0800 + + osd/ReplicatedPG: For obj has omap, it mean have omap data or omap header or have both. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit fc51ce2a837e8e878d46d8ca54531aa7bd5d01b2) + +commit 7b3f1da0ab7f60705b6bc802ddb1bfbce10c8738 +Author: Sage Weil +Date: Mon Mar 28 10:33:53 2016 -0400 + + mon/MonClient: fix shutdown race + + While we are shutting down, we should drop all subsequent mon + messages. Currently it is possible to finish the authentication + sequence *while* we are shutting down, such that a subsequent + attempt to authenticate succeeds. + + Fix this by resetting cur_con early in the sequence, as this + makes us drop all incoming messages. + + Fixes: http://tracker.ceph.com/issues/13992 + Signed-off-by: Sage Weil + (cherry picked from commit 5b44a348bfe4978446bbc7acf58eb8f60a47c965) + +commit ec02d8b7b1610bd7fd00c201fb01ef80d3b9f05b +Author: Kefu Chai +Date: Tue Apr 12 17:31:27 2016 +0800 + + PG: set epoch_created and parent_split_bits for child pg + + if we have a wrong "created", OSD receiving an osd_pg_create message + could fail to project its history and crash. a bad split_bits could + mislead the monitor and osd, and hence cause problems. + * set child.info.history.epoch_created to osdmap.get_epoch() instead of + using the parent's epoch_created + * set child.info.stats.parent_split_bits to the calculated split_bits + instead using the parent's split_bits + + Fixes: http://tracker.ceph.com/issues/15426 + Signed-off-by: Kefu Chai + (cherry picked from commit 8b985561ba08d4ed2d7751a8e09f9d9067c5fbd3) + +commit 049bc8a498d4ab516c2daded8ac44699aa72c982 +Author: Zhi Zhang +Date: Thu Jan 14 11:04:42 2016 +0800 + + ceph-fuse: double decreased the count to trim caps + + Signed-off-by: Zhi Zhang zhangz.david@outlook.com + (cherry picked from commit d8a3f6d839649243b12cd6f73e6cb8aec1f955c1) + +commit e20df8020458a7b7679d0105183f870220ed0ce7 +Author: Sage Weil +Date: Fri Apr 8 10:35:29 2016 -0400 + + osd/ReplicatedPG: make handle_watch_timeout no-op if !active + + During on_change, we clean up old events on the obcs. This can + include a queued watch timeout: + + 3: (ReplicatedPG::handle_watch_timeout(std::shared_ptr)+0x125) [0x7f1fc21fe375] + 4: (HandleDelayedWatchTimeout::finish(int)+0xd3) [0x7f1fc213e2e3] + 5: (Context::complete(int)+0x9) [0x7f1fc20ead29] + 6: (ReplicatedPG::finish_degraded_object(hobject_t const&)+0x354) [0x7f1fc22429e4] + 7: (ReplicatedPG::on_change(ObjectStore::Transaction*)+0x2ba) [0x7f1fc224353a] + 8: (PG::start_peering_interval(std::shared_ptr, std::vector > const&, int, std::vector > const&, int, ObjectStore::Transaction*)+0x7bd) [0x7f1fc219a0bd] + + In this case, handle_watch_timeout should not assume that we are + active and primary. + + Fixes: http://tracker.ceph.com/issues/15391 + Signed-off-by: Sage Weil + (cherry picked from commit 4b0e39ee11e7bd5079ff6704bc74627d3ba8ba44) + +commit 3cb72dd57f901f400d19022269fb098c06318d6b +Author: Danny Al-Gaaf +Date: Tue Jun 9 14:57:54 2015 +0200 + + mon/OSDMonitor.cc: fix UNINTENDED_INTEGER_DIVISION + + Fix for: + + CID 1297885 (#1 of 2): Result is not floating-point (UNINTENDED_INTEGER_DIVISION) + integer_division: Dividing integer expressions g_conf->mon_pool_quota_warn_threshold + and 100, and then converting the integer quotient to type float. Any remainder, + or fractional part of the quotient, is ignored. + + CID 1297885 (#2 of 2): Result is not floating-point (UNINTENDED_INTEGER_DIVISION) + integer_division: Dividing integer expressions g_conf->mon_pool_quota_crit_threshold + and 100, and then converting the integer quotient to type float. Any remainder, + or fractional part of the quotient, is ignored. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit be7e07a52871e16e8a46accde6171077cca8db5a) + +commit aab3a40f95dafab34a7eadc2159d142a5f0f88f1 +Author: Alexey Sheplyakov +Date: Mon Apr 11 14:16:48 2016 +0300 + + hammer: rbd snap rollback: restore the link to parent + + So snapshot, flatten, rollback of a cloned image does not loose any data + + Fixes: #14512 + Signed-off-by: Alexey Sheplyakov + +commit 488a78794d800312f79f7a8cd75dfda3bf3d6ed0 +Author: Samuel Just +Date: Fri Jan 8 13:26:39 2016 -0800 + + ECBackend: send subop writes and reads at normal priority + + We want these to be processed ahead of new client ops since + there are resources being held. + + Fixes: 14313 + Backport: hammer + Signed-off-by: Samuel Just + (cherry picked from commit b1151c4b8b7f22c7ac067da059d087007b0bc8ea) + +commit a2e7ca15d6fd0326526b77f443c15067eb1840ac +Author: Richard W.M. Jones +Date: Mon Mar 21 14:24:35 2016 +0000 + + common/Cycles: Do not initialize Cycles globally. + + Move initialization to the few tests that actually use it. + + Fixes: http://tracker.ceph.com/issues/15225 + Signed-off-by: Richard W.M. Jones + (cherry picked from commit 1c2831a2c1277c69f9649200d74a75c04a4b0296) + + Conflicts: + src/test/msgr/perf_msgr_client.cc + src/test/msgr/perf_msgr_server.cc + src/test/perf_local.cc + These three files were not introduced on hammer, just remove + +commit ca0beef84812b09f1ab224e4796fd44c8fe37989 +Author: David Zafman +Date: Fri Mar 18 10:42:40 2016 -0700 + + osd/OSD: fix build_past_intervals_parallel + + We may be only calculating older past intervals and have a valid + history.same_interval_since value, in which case the local + same_interval_since value will end at the newest old interval we had to + generate. + + Same as 0830275b39afc408573c2c468fa3b0e7b1d5cc4e change in generate_past_intervals() + This was introduced by 70316541bbb115d9a35954bfba373cf1dc084b7e. + + Signed-off-by: David Zafman + (cherry picked from commit 0fd674bbf0c17a673be40123645adee3d64375a0) + +commit fce79027034bef0cfedbecd9d2601589495f86e6 +Author: David Zafman +Date: Mon Jul 20 17:48:15 2015 -0700 + + osd: When generating past intervals due to an import end at pg epoch + + Add assert() to make sure same_interval_since isn't too far forward + + Fixes: #12387 + + Signed-off-by: David Zafman + (cherry picked from commit 65dcc2da76750d0b6dd2cf0031c44f32749f33e5) + +commit 2c97cb33c8aa3f53af8a331075a3f79e70113cea +Author: xie xingguo +Date: Thu Mar 31 19:48:38 2016 +0800 + + rgw: fix compiling error + + Signed-off-by: xie xingguo + (cherry picked from commit 535eb0e608f3bf6b7c561f277e9977b91ab97b48) + +commit 2aa1ea6b505c768323abb99dcc8c8f24e594a898 +Author: Robin H. Johnson +Date: Thu Mar 31 06:24:40 2016 +0000 + + rgw: Multipart ListPartsResult ETag quotes + + ListPartsResult output has always missed quotes on the ETag since it was + first committed. + + Fixes: #15334 + Backports: hammer, infernalis + Signed-off-by: Robin H. Johnson + (cherry picked from commit a58b774e72cc1613d62e10b25322d6d15e9d2899) + +commit 365f21b1181b08e0bb89b916833301228e7c9efc +Author: Loic Dachary +Date: Wed Apr 6 15:39:23 2016 +0200 + + tests: be more generous with test timeout + + When the thrasher is in action together with a validater (lockdep or + valgrind), a single test may hang for more than 360 seconds. Increase to + 1200: it does not matter if the value is large, only that it prevents + the test from hanging forever. + + Fixes: http://tracker.ceph.com/issues/15403 + + Signed-off-by: Loic Dachary + (cherry picked from commit af89474b3fb2c4aa63680aa6b30d71fad2fdd373) + +commit c722d00af5286785ad23c574359220e47fd15076 +Author: Vicente Cheng +Date: Tue Feb 9 12:03:24 2016 -0800 + + rgw: user quota may not adjust on bucket removal + + Description: + If the user/admin removes a bucket using --force/--purge-objects options with s3cmd/radosgw-admin respectively, the user stats will continue to reflect the deleted objects for quota purposes, and there seems to be no way to reset them. User stats need to be sync'ed prior to bucket removal. + + Solution: + Sync user stats before removing a bucket. + + Fixes: #14507 + Signed-off-by: Edward Yang + (cherry picked from commit 06507992e3fad837c4667f467d59fc026a2ca0e8) + + Conflicts: + + src/rgw/rgw_op.cc + reordering the check seqence and replace some op_ret to ret + + Backport Change: + We remove the `tenant` parameter because this feature is not introduced on hammer version. + The rgw multi-tenant feature is introduced on pr#6784 (https://github.com/ceph/ceph/pull/6784) + This feature is supported from v10.0.2 and later version. + +commit 20f300e2900ff123974312143c10dca59ee1a64a +Author: Wido den Hollander +Date: Tue Mar 22 11:35:05 2016 +0100 + + rgw: Do not send a Content-Length header on a 304 response + + We tell the client that the content has not changed. If we + send a Content-Length header RFC2616 describes that the client + MUST use that new value: + + "If a cache uses a received 304 response to update a cache entry, + the cache MUST update the entry to reflect any new field values + given in the response." + + Therefor we should not send a Content-Length header + + Fixes: #15119 + + Signed-off-by: Wido den Hollander + (cherry picked from commit fb4e5cc5d6adc82423d294496855f56e43e8c11d) + +commit e53751d0e52f6fb611d9bd81fe2115cd7ce533b3 +Author: Wido den Hollander +Date: Mon Mar 21 16:50:49 2016 +0100 + + rgw: Do not send a Content-Type on a '304 Not Modified' response + + When we say the Content has not changed we should not respond + with a content type which defaults to binary/octet stream. + + Fixes: #15119 + + Signed-off-by: Wido den Hollander + (cherry picked from commit 471fa29e643fcfd5e1383fb987f99b5b21038ed7) + +commit 19dbc2598d15d0676017abe4fb75f7ddc3248119 +Author: Yehuda Sadeh +Date: Fri Dec 18 10:18:22 2015 -0800 + + rgw: dump_status() uses integer + + so that we can avoid atoi() later + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 744a29a34b72d2a709a58a5ea5fb6223a39c676a) + + Conflicts: + src/rgw/rgw_rest.cc + rename the input parameter from `err` to `http_ret` + +commit c79b481311b3cd992794abc6e2f194f350d43531 +Author: Yehuda Sadeh +Date: Fri Dec 18 10:07:27 2015 -0800 + + rgw: move status_num initialization into constructor + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 2a12ffc3d7f98504ece8906a6fcb5dac8fd81aba) + +commit ceb8e19096f7d4ef35ed3ad8fad508aecbfa78ef +Author: Wido den Hollander +Date: Wed Nov 11 19:01:15 2015 +0100 + + rgw: Do not send a Content-Length header on status 204 + + RFC7230 says: + A server MUST NOT send a Content-Length header field in any response with a + status code of 1xx (Informational) or 204 (No Content). + + Fixes: #13582 + Signed-off-by: Wido den Hollander + (cherry picked from commit 4e5921dbc7d1c51feb4cc5c03aa59a432742765e) + +commit 3ecdedd5cfe67d85530123ed6684688b43910aa6 +Author: Yan, Zheng +Date: Fri Mar 11 11:13:43 2016 +0800 + + mds: fix stray purging in 'stripe_count > 1' case + + Fixes: #15050 + Signed-off-by: Yan, Zheng + (cherry picked from commit 99ec183973e0f4686673d93df02e5381543be51f) + +commit f28477c9cf904e9b27e6ad6bb38fbeeb80db5017 +Author: Dunrong Huang +Date: Mon Dec 28 18:55:37 2015 +0800 + + rgw: do not abort when user passed bad parameters to set quota + + when user passes bad parameter(e.g. pass "null" to bool parameter), the ceph_json.cc::decode_json_obj() + will raise a exception with type of JSONDecoder::err(). If we do not catch this exception, the radosgw + server will abort. + + Fixes: #14191 + + $ curl -X PUT http://ceph1:9090/admin/user?quota&uid=test5"a-type=user -d '{"enabled": "null"}' + + 0> 2015-12-28 11:25:20.864091 7f0d46fb5700 -1 *** Caught signal (Aborted) ** + in thread 7f0d46fb5700 + + ceph version 10.0.1-787-gc485d29 (c485d29a53f6a2c1a3b561c54632dbac1c4e9473) + 1: (ceph::BackTrace::BackTrace(int)+0x2d) [0x7f0e13ef88c5] + 2: (()+0x8fbfb7) [0x7f0e13ef7fb7] + 3: (()+0xf100) [0x7f0e082c3100] + 4: (gsignal()+0x37) [0x7f0e072fd5f7] + 5: (abort()+0x148) [0x7f0e072fece8] + 6: (__gnu_cxx::__verbose_terminate_handler()+0x165) [0x7f0e07c019b5] + 7: (()+0x5e926) [0x7f0e07bff926] + 8: (()+0x5e953) [0x7f0e07bff953] + 9: (()+0x5eb73) [0x7f0e07bffb73] + 10: (bool JSONDecoder::decode_json(char const*, bool&, JSONObj*, bool)+0x288) [0x7f0e13d74c2c] + 11: (RGWQuotaInfo::decode_json(JSONObj*)+0x6c) [0x7f0e13d71128] + 12: (void decode_json_obj(RGWQuotaInfo&, JSONObj*)+0x23) [0x7f0e13d21f16] + 13: (int rgw_rest_get_json_input(CephContext*, req_state*, RGWQuotaInfo&, int, bool*)+0x11e) [0x7f0e13d21e48] + 14: (RGWOp_Quota_Set::execute()+0x8c9) [0x7f0e13d1ed6d] + 15: (()+0x7532d2) [0x7f0e13d4f2d2 + + Reported-by: Coffee Chou + Signed-off-by: Dunrong Huang + (cherry picked from commit 59f9058467480d21bd98e0e90aa97313a92478a1) + + Conflicts: + src/rgw/rgw_rest.h + hammer version lacks rgw_rest_get_json_input_keep_data() + template + +commit 9786394b2f75d883505125bc45c95fb685b96531 +Author: Dunrong Huang +Date: Mon Dec 28 18:14:22 2015 +0800 + + rgw: do not abort when user passed bad parameters to set metadata + + Fixes: #14190 + + when user passes bad parameter(e.g. pass "null" to bool parameter), the ceph_json.cc::decode_json_obj() + will raise a exception with type of JSONDecoder::err(). If we do not catch this exception, the radosgw + server will abort. + + $ curl -X PUT http://ceph1:9090/admin/metadata?user&format=json -d 'data = { "mtime": "null"}' + + terminate called after throwing an instance of 'JSONDecoder::err' + *** Caught signal (Aborted) ** + in thread 7ff982f55700 + ceph version 10.0.1-787-gc485d29 (c485d29a53f6a2c1a3b561c54632dbac1c4e9473) + 1: (ceph::BackTrace::BackTrace(int)+0x2d) [0x7ffa814db8c5] + 2: (()+0x8fbfb7) [0x7ffa814dafb7] + 3: (()+0xf100) [0x7ffa758a6100] + 4: (gsignal()+0x37) [0x7ffa748e05f7] + 5: (abort()+0x148) [0x7ffa748e1ce8] + 6: (__gnu_cxx::__verbose_terminate_handler()+0x165) [0x7ffa751e49b5] + 7: (()+0x5e926) [0x7ffa751e2926] + 8: (()+0x5e953) [0x7ffa751e2953] + 9: (()+0x5eb73) [0x7ffa751e2b73] + 10: (bool JSONDecoder::decode_json(char const*, long&, JSONObj*, bool)+0x28c) [0x7ffa8135920a] + 11: (RGWMetadataManager::put(std::string&, ceph::buffer::list&, RGWMetadataHandler::sync_type_t, obj_version*)+0x173) [0x7ffa81468029] + 12: (RGWOp_Metadata_Put::execute()+0x172) [0x7ffa81308dcc] + 13: (()+0x7532d2) [0x7ffa813322d2] + 14: (RGWFCGXProcess::handle_request(RGWRequest*)+0x90) [0x7ffa813328a4] + + Reported-by: Coffee Chou + Signed-off-by: Dunrong Huang + (cherry picked from commit 83503239c81573232429a5fe98381f1a8f1357e9) + + Conflicts: + src/rgw/rgw_user.cc + hammer version uses RGWUserInfo instead of RGWUserCompleteInfo + +commit b9a4ad9da99d82bd247e5d39108840f19535fa5e +Author: Vicente Cheng +Date: Fri Mar 27 18:49:28 2015 +0800 + + Fixed the ceph get mdsmap assertion. + + When we want to get mdsmap, we try to get_version() + and the return value err = 0 means success. + + The assert verified r == 0. r would not change in this flow. + It always meet assert and lead mon failure. + + I think this verify should be: + assert(err == 0) + It will help to check return value of get_version(). + + If you have any questions, feel free to let me know. + Thanks! + + Signed-off-by: Vicente Cheng + (cherry picked from commit f4398d2e6c245e3f81a6038425e1b8372b265b8c) diff --git a/doc/changelog/v0.94.9.txt b/doc/changelog/v0.94.9.txt new file mode 100644 index 00000000..52d883d4 --- /dev/null +++ b/doc/changelog/v0.94.9.txt @@ -0,0 +1,72 @@ +commit fe6d859066244b97b24f09d46552afc2071e6f90 (tag: refs/tags/v0.94.9, refs/remotes/gh/hammer) +Author: Jenkins Build Slave User +Date: Tue Aug 30 11:33:34 2016 +0000 + + 0.94.9 + +commit d51d10407459bd337f674c6fb0bab1bf55e30c1e +Merge: b97a974 27d8055 +Author: Alfredo Deza +Date: Tue Aug 30 07:12:09 2016 -0400 + + Merge pull request #10913 from ceph/wip-revert-random-uuid-hammer + + hammer: revert use of boost for uuids + + Reviewed-by: Alfredo Deza + +commit b97a974878881dc5963c0c8a78a9f83fdd31d5f5 +Merge: 838cd35 a219cf5 +Author: Nathan Cutler +Date: Tue Aug 30 03:03:57 2016 +0200 + + Merge pull request #10898 from SUSE/wip-release-notes-hammer + + doc: release-notes: add missing hammer releases + + Reviewed-by: Loic Dachary + +commit 27d805589552b63a2a152335e4932f996e979d86 +Author: Sage Weil +Date: Mon Aug 29 15:29:29 2016 -0400 + + Revert "moved to use boost uuid implementation, based on commit 4fe89a7b14c97b2ed7f357132901beb2bdcec551" + + This reverts commit 174de7fce8080df6e02b363e7821e8cca6f8157f. + +commit 21f6f1da0764e1a003a43ef73d6788bdfc3ef848 (refs/remotes/gh/wip-revert-random-uuid-hammer) +Author: Sage Weil +Date: Mon Aug 29 11:55:24 2016 -0400 + + Revert "uuid: use boost::random:random_device" + + This reverts commit 187d308b5b0cb0512b442bbad1bddfda8ef9203f. + + This breaks precise builds. + +commit a219cf5348b5a5d7b013f4dc1cb503d33d609f12 +Author: Nathan Cutler +Date: Sun Aug 28 09:27:00 2016 +0200 + + doc: release-notes.rst: add missing line to v0.94.8 + + see 46264a3b6cb7f490680c79bf0957c36aeaea5f6c and + b83d25d2918cbd880fbaeec976bffcea8868d5d9 in master + + Signed-off-by: Nathan Cutler + +commit a6ba10174559d100341e3684e08d74c6de2e79c7 +Author: Nathan Cutler +Date: Sat Aug 27 12:50:09 2016 +0200 + + doc: add missing changelogs up to 0.94.8 + + Signed-off-by: Nathan Cutler + +commit f3dad334fa3147490c8aa94323bee16dd2449681 +Author: Nathan Cutler +Date: Sat Aug 27 09:28:48 2016 +0200 + + doc: release-notes: add missing hammer releases + + Signed-off-by: Nathan Cutler diff --git a/doc/changelog/v10.2.1.txt b/doc/changelog/v10.2.1.txt new file mode 100644 index 00000000..5646e8a1 --- /dev/null +++ b/doc/changelog/v10.2.1.txt @@ -0,0 +1,2249 @@ +commit 3a66dd4f30852819c1bdaa8ec23c795d4ad77269 (tag: refs/tags/v10.2.1, refs/remotes/gh/jewel) +Author: Jenkins Build Slave User +Date: Thu May 12 21:48:00 2016 +0000 + + 10.2.1 + +commit d93a90ec2743c9aec229891c3b0da72b038cffad +Merge: cb35d7c 466b7fe +Author: Loic Dachary +Date: Thu May 12 17:30:14 2016 +0200 + + Merge pull request #8853 from ceph/wip-jewel-backports + + jewel: several backports + + Reviewed-by: Loic Dachary + +commit cb35d7c25bb1df2a8eff01432d27c5d3bbb196af +Merge: 0e1b633 b6ebb25 +Author: Ilya Dryomov +Date: Thu May 12 16:50:33 2016 +0200 + + Merge pull request #9041 from vshankar/jewel-15721-backport + + jewel: rbd: helpful error message on map failure + + Reviewed-by: Ilya Dryomov + +commit 0e1b6336b60af6bceaf9dbc8ce544fcb7af71961 +Merge: bfdf709 867f798 +Author: Yehuda Sadeh +Date: Wed May 11 12:33:50 2016 -0700 + + Merge pull request #9081 from yehudasa/wip-rgw-period-commit-jewel + + rgw: period commit fix + +commit bfdf709dff9bd3d60d11950d4b2d8741ad0cb113 +Merge: bf1474f 9d5162f +Author: Gregory Farnum +Date: Wed May 11 12:24:23 2016 -0700 + + Merge pull request #8969 from Abhishekvrshny/wip-15731-jewel + + jewel: MDSAuthCap parse no longer fails on paths with hyphens + + Reviewed-by: Greg Farnum + +commit bf1474f86ce1a102d15c54ee0e1b11005fe48191 +Merge: 7a37155 52ca195 +Author: Gregory Farnum +Date: Wed May 11 12:23:28 2016 -0700 + + Merge pull request #8970 from Abhishekvrshny/wip-15732-jewel + + jewel: MDS incarnation no longer gets lost after remove filesystem + + Reviewed-by: Greg Farnum + +commit 7a37155d798aebc688fb4a06056dc4761062b098 +Merge: e83764c e6aa453 +Author: Gregory Farnum +Date: Wed May 11 12:20:03 2016 -0700 + + Merge pull request #8971 from Abhishekvrshny/wip-15738-jewel + + jewel: handle standby-replay nodes properly in upgrades + + Reviewed-by: Greg Farnum + +commit e83764c03b9e88dd2a8ef848269768ffb8b6a703 +Merge: 4916950 dccb5ef +Author: Yehuda Sadeh +Date: Wed May 11 10:38:30 2016 -0700 + + Merge pull request #9054 from yehudasa/wip-rgw-admin-output-jewel + + jewel: rgw admin output + +commit 49169501a922034c2686dd88365d438e12605116 +Merge: aa24358 f071d8c +Author: Yehuda Sadeh +Date: Wed May 11 10:38:17 2016 -0700 + + Merge pull request #9053 from yehudasa/wip-15745-jewel + + jewel: rgw: handle stripe transition when flushing final pending_data_bl + +commit aa243585508eedf87b2e9e558cc63c014f84b3b0 +Merge: f88e2df 9bb17db +Author: Yehuda Sadeh +Date: Wed May 11 10:38:02 2016 -0700 + + Merge pull request #9047 from ceph/wip-rgw-period-delete-jewel + + jewel: rgw: period delete fixes + +commit f88e2df881c045f52f78516aa08def8569be6ecf +Merge: a614858 a496b70 +Author: Sage Weil +Date: Wed May 11 12:30:18 2016 -0400 + + Merge pull request #9076 from dillaman/wip-cmake-test-rbd-mirror-jewel + + jewel: cmake: fix rbd compile errors + +commit a496b705ed48da187b341392530f7e8579637310 +Author: Jason Dillaman +Date: Tue May 10 22:37:01 2016 -0400 + + cmake: fix rbd compile errors + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8d4c00d1bec431f8c721195c81684c4095079c1d) + +commit 9a46e13f3ca9915d71f01bb3506818db59c31a7b +Author: runsisi +Date: Thu Apr 28 10:22:07 2016 +0800 + + cmake: add library cls_journal for target unittest_librbd + + otherwise if we want to generate target unittest_librbd we need to + (re)generate cls_journal manually + + Signed-off-by: runsisi + (cherry picked from commit 7efb29416b789fcb7e68aab554d6033e6b5ebb43) + +commit a6148582432ff36110145ba642d2e0f38e5872b3 +Merge: 7a4810d 48b732f +Author: Kefu Chai +Date: Wed May 11 16:50:41 2016 +0800 + + Merge pull request #9063 from dachary/wip-15838-jewel + + jewel: tests: make check fails on ext4 + + Reviewed-by: Kefu Chai + +commit 48b732fbfac1fa6af10bec0ef900029b71204c26 +Author: Loic Dachary +Date: Mon May 2 10:42:24 2016 +0200 + + tests: enable make check on ext4 (part 2) + + Followup of 475cc08c330e639b226f2ab57dedbe4495f63022 + + Signed-off-by: Loic Dachary + (cherry picked from commit b0b3a068d4fcc7b739c5dd3d68297e2d517c378e) + +commit e1c67d4684c485711b2b9af02edabe161f3d7779 +Author: Sage Weil +Date: Sat Apr 30 17:12:05 2016 -0400 + + qa/workunits/ceph-helpers.sh: make ceph-osd behave on ext4 + + Signed-off-by: Sage Weil + (cherry picked from commit 475cc08c330e639b226f2ab57dedbe4495f63022) + +commit 867f798d9c364ab5400a61d83cbaef0da9a57b27 +Author: Casey Bodley +Date: Tue May 10 15:51:27 2016 -0400 + + radosgw-admin: 'period commit' sends to new master zone by default + + if no --remote or --url is given, set --remote = master_zone_id to + override the rest_master_conn (which refers to the old master zone) + + Fixes: http://tracker.ceph.com/issues/15828 + + Signed-off-by: Casey Bodley + (cherry picked from commit fbe1a05355549dfe0c05750683eeb61e275950c2) + +commit a6a6c13c751bbb74ba4f12dc593cd054aabed87c +Author: Casey Bodley +Date: Tue May 10 15:48:33 2016 -0400 + + radosgw-admin: allow --remote to specify zone or zonegroup id + + --remote was only looking for zonegroup connections. extended to check + for zone connections as well + + updated the usage to clarify that it expects zone/zonegroup ids + + Signed-off-by: Casey Bodley + (cherry picked from commit 9fcff89ee1e60009fa367e33c915a90354c9a9cc) + +commit dccb5efb128233affaa544b43f93aa4b3d557259 +Author: Casey Bodley +Date: Thu May 5 09:59:49 2016 -0400 + + radosgw-admin: 'zonegroup add' prints updated zonegroup + + Signed-off-by: Casey Bodley + (cherry picked from commit d355208023fe08a7e16f1078c872286048c4bcc6) + +commit bd6b5fc5d49c08f574b84a2705a8de4a1d5f8ed1 +Author: Casey Bodley +Date: Thu May 5 09:59:32 2016 -0400 + + radosgw-admin: 'zonegroup modify' prints updated zonegroup + + Signed-off-by: Casey Bodley + (cherry picked from commit a033f40caf60083111886aa804fcdbf3ee60aef8) + +commit c1e92df545d0a8db64c84879bc09023c98783fe4 +Author: Casey Bodley +Date: Thu May 5 09:56:47 2016 -0400 + + radosgw-admin: 'zone modify' prints updated zone + + Signed-off-by: Casey Bodley + (cherry picked from commit 8a639014a6f2dd950062aa405bbee1762ca23e09) + +commit f071d8c6885786ac5fd5400381369945704abaa8 +Author: Yehuda Sadeh +Date: Thu May 5 14:02:25 2016 -0700 + + rgw: handle stripe transition when flushing final pending_data_bl + + Fixes: http://tracker.ceph.com/issues/15745 + + When complete_writing_data() is called, if pending_data_bl is not empty + we still need to handle stripe transition correctly. If pending_data_bl + has more data that we can allow in current stripe, move to the next one. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b7a7d41839558b1a8786a66e27d9d80e606f61c7) + +commit 7a4810d1f51c072f6406a7306743ad7577476c76 +Merge: 67809b8 10b393b +Author: Samuel Just +Date: Tue May 10 11:14:40 2016 -0700 + + Merge pull request #9052 from dillaman/wip-cmake-rbd-mirror-replay-status-jewel + + jewel: cmake: add missing source file to rbd_mirror/image_replayer + + Reviewed-by: Samuel Just + +commit 10b393bd90ed76ad41d2123aae5700e171a8e9bc +Author: Casey Bodley +Date: Fri Apr 29 17:33:03 2016 -0400 + + cmake: add missing source file to rbd_mirror/image_replayer + + fixes an undefined reference when linking librbd_mirror_internal.a + + Signed-off-by: Casey Bodley + (cherry picked from commit 2f3f56170ab47fc10d4232101ae2e85398a4c299) + +commit 67809b8e3d71b3cba5ce91e542e840c099c927cd +Merge: e15854c 8bb4c7f +Author: Sage Weil +Date: Tue May 10 14:10:05 2016 -0400 + + Merge pull request #9051 from athanatos/wip-15815-jewel + + Wip 15815 jewel + + Reviewed-by: Sage Weil + +commit 8bb4c7f92ca784a116d0f7a9a22677b514e7e6ca +Author: Sage Weil +Date: Fri Apr 22 16:38:14 2016 -0400 + + ceph_test_keyvaluedb: clean up test dir + + Just like ceph_test_objectstore + + Signed-off-by: Sage Weil + (cherry picked from commit 2b075aa52d4475338c0f3cd3360e1ee4de8befa7) + +commit 108cdfdff65bcce98cb3b2da799fe46bed4421f4 +Author: Allen Samuels +Date: Fri Apr 22 14:06:56 2016 -0400 + + ceph_test_keyvaluedb: fixup unit test for keyvaluedb + + Fixes: http://tracker.ceph.com/issues/15435 + Signed-off-by: Allen Samuels + (cherry picked from commit 85c14de20936ff9ee224f9b6569a73f9bae75f19) + +commit e15854ce98291b3186e9cfadb6cb47a401a4c8ae +Merge: 7686c62 815967a +Author: Jason Dillaman +Date: Tue May 10 13:52:54 2016 -0400 + + Merge pull request #9050 from dillaman/wip-15821 + + jewel: rbd-mirror: image sync needs to handle snapshot size and protection status + + Reviewed-by: Jason Dillaman + +commit 815967ab97631f65c44cd200971cc8056e94d89e +Author: Jason Dillaman +Date: Mon May 9 18:25:39 2016 -0400 + + test: add missing header dependency for MockJournaler + + Signed-off-by: Jason Dillaman + (cherry picked from commit fa91919c856ac8186545bc8f8da31a8f438a9b5d) + +commit 32189573c2da9e1922b6bfae232a62a909797e1a +Author: Jason Dillaman +Date: Wed May 4 10:23:49 2016 -0400 + + rbd-mirror: image sync object copy was not properly mapping snapshots + + When the snapshot sequence is out-of-sync between remote and local + clusters (expected), the objects would not be written with the + correct snapshot context. + + Signed-off-by: Jason Dillaman + (cherry picked from commit dd8f08039bf5354a0413c9da4263d1075243e9c9) + +commit d3dc919991a013eb45d55a8b6a04628d089d000a +Author: Jason Dillaman +Date: Wed May 4 10:23:25 2016 -0400 + + rbd-mirror: clean up image sync debug messages + + Signed-off-by: Jason Dillaman + (cherry picked from commit acca475fe5c9ff024c7f76397e7f49e4c4558b09) + +commit 58e0612a7bb66f6c50dcfc27ed0f1e49d6ec08fa +Author: Jason Dillaman +Date: Wed May 4 00:12:05 2016 -0400 + + librbd: readahead should not read past end of image + + Signed-off-by: Jason Dillaman + (cherry picked from commit adb14303ccf8a26ed5536bb692ae63d92ac40a9f) + +commit 7dadecb96a4f856d18fcccffb323941b1149ceaa +Author: Jason Dillaman +Date: Tue May 3 23:17:12 2016 -0400 + + test: randomize rbd-mirror test case IO + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0d75f2ce61cee164da4e5b7ffb4e69c286e6036a) + +commit 7aef2976084b8be858e354a05dae12df30743737 +Author: Jason Dillaman +Date: Tue May 3 23:15:58 2016 -0400 + + rbd-mirror: don't set object map to nonexistent during image sync + + The object maps are initialized to nonexistent at snapshot creation, + so this operation is unnecessary. + + Signed-off-by: Jason Dillaman + (cherry picked from commit fe5d4a811f9d9d1160ff7104fe9243cc17ef1bef) + +commit 58e90f1bcb53a38be2491ac7797f170de324af9a +Author: Jason Dillaman +Date: Tue May 3 23:01:30 2016 -0400 + + librbd: improve object map debug messages + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2c657752a5067e11405dca59461ce9cbdf062602) + +commit 6c1af50b67e1a1769bb3d30d28e45fee8b13bb71 +Author: Jason Dillaman +Date: Tue May 3 22:53:52 2016 -0400 + + test: snapshot stress test rbd-mirror image sync + + Signed-off-by: Jason Dillaman + (cherry picked from commit 468287bd182fa0cd02f7551ad6d729ff67ab1a22) + +commit 0f84aaf011f1a62250948647069cc7fbd6c45699 +Author: Jason Dillaman +Date: Tue May 3 21:42:05 2016 -0400 + + rbd-mirror: allocate empty object map during snapshot create + + Signed-off-by: Jason Dillaman + (cherry picked from commit 57a7fe0f44c5542a72120d0beed8b38e9ccd66db) + +commit fa8a61df1570893e222c0d9431ba61e192a23c40 +Author: Jason Dillaman +Date: Fri Apr 29 16:43:07 2016 -0400 + + librbd: optionally skip object map creation upon snapshot + + This feature is used by rbd-mirror during image bootstrap since + it will directly create an empty object map. + + Signed-off-by: Jason Dillaman + (cherry picked from commit db16240c79be7e28d65edac2088352b9b146da5f) + +commit a140753b6b01215f832cc9524e3532e825e4c2f2 +Author: Jason Dillaman +Date: Mon Apr 25 15:11:28 2016 -0400 + + rbd-mirror: refactor snapshot create into its own state machine + + Initial implementation will resize the image (if needed) and create + the snapshot. It is stubbed out for future state machines for handling + object map and clones. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8adc47fbf8efa3991bd247be43b786676fe5fff9) + +commit ef1e4c874adba51bc5a3acbbf3177174f25da088 +Author: Jason Dillaman +Date: Thu Apr 14 21:47:19 2016 -0400 + + rbd-mirror: sync snapshot protection status during bootstrap + + Signed-off-by: Jason Dillaman + (cherry picked from commit e6fba2b2306c8f04ce088fb15ef70e1dac282ff3) + +commit c790da5aef0cb6a5573d86d0a8298d850b63ef25 +Author: Jason Dillaman +Date: Sat Apr 9 13:30:56 2016 -0400 + + test: stub test cases for rbd-mirror image bootstrap + + Signed-off-by: Jason Dillaman + (cherry picked from commit d0f732877213ba9eec9d3158b839c5a4c796e7ab) + +commit 7a7889572789e1bec9cb72e08a0d66d8302d7639 +Author: Jason Dillaman +Date: Tue Apr 5 00:03:12 2016 -0400 + + test: share journal::MockJournaler between librbd and rbd-mirror + + Signed-off-by: Jason Dillaman + (cherry picked from commit 04db7ddec661ef195077c3fab06f248705b17220) + + Conflicts: + src/test/librbd/test_mock_Journal.cc: MockJournaler moved to new file + +commit 7686c628b199dd2f3f58b70e7ab3bbb9c1f199c1 +Merge: 63d2d23 f221fed +Author: Jason Dillaman +Date: Tue May 10 13:40:32 2016 -0400 + + Merge pull request #9040 from dillaman/wip-15818 + + jewel: librbd: potential concurrent event processing during journal replay + + Reviewed-by: Jason Dillaman + +commit 63d2d2396d80fd7d9fd439488d08e8747846d181 +Merge: 1bb1a3a f18b14b +Author: Jason Dillaman +Date: Tue May 10 13:39:46 2016 -0400 + + Merge pull request #9038 from dillaman/wip-15817 + + jewel: journal: incorrectly computed object offset within set + + Reviewed-by: Jason Dillaman + +commit 1bb1a3a4862e5bb5a99c7549d499564deecbdafe +Merge: abbe69e 8605040 +Author: Jason Dillaman +Date: Tue May 10 13:39:06 2016 -0400 + + Merge pull request #9039 from dillaman/wip-15820 + + jewel: librbd: client-side handling for incompatible object map sizes + + Reviewed-by: Jason Dillaman + +commit 86050402066d1f5d680ec777826386a5760e3456 +Author: Jason Dillaman +Date: Wed May 4 17:00:59 2016 -0400 + + librbd: guard object map against incompatible image sizes + + Signed-off-by: Jason Dillaman + (cherry picked from commit 42d3d3ac2d33360aae071330cfa34b87c87eadc5) + +commit 7448d29027dafe1abd1e6ebff6f0fe5bb15e4b07 +Author: Jason Dillaman +Date: Wed May 4 15:16:17 2016 -0400 + + librbd: properly handle object map open returning error code + + Signed-off-by: Jason Dillaman + (cherry picked from commit 570de56bfc7fd2edd5cf1cf5b7b92084cd3352a3) + +commit 764b3bd413b81d2c98f8c325100661ee41a571bc +Author: Jason Dillaman +Date: Wed May 4 15:01:58 2016 -0400 + + librbd: add client-side memory constraint when loading object map + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2dd34b2c7b8c376817aafe5cfdda7aa9cfb60e1a) + +commit abbe69e19af6d453095e03adbaaaef680ed80958 +Merge: 05d5749 5ec1f79 +Author: Jason Dillaman +Date: Tue May 10 13:30:49 2016 -0400 + + Merge pull request #9048 from dillaman/wip-15819 + + jewel: librbd: constrain size of AioWriteEvent journal entries + + Reviewed-by: Jason Dillaman + +commit 5ec1f79086e4841aa27c12531a1220f69ed3cccb +Author: Jason Dillaman +Date: Fri May 6 00:08:38 2016 -0400 + + librbd: split large AioWrite journal events + + Ensure that AioWrite journal events fit within a single + journal object. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 70b9fbf2745c795fe345f0298a2f30af80a12985) + +commit f1a2e6aeaa22233f13878d004cbe905a42bdc744 +Author: Jason Dillaman +Date: Thu May 5 21:30:18 2016 -0400 + + journal: prohibit journal entries larger than the soft object size + + This avoids complications like a librbd write event of 128MB trying + to fit within a 24MB journal object. + + Signed-off-by: Jason Dillaman + (cherry picked from commit d5f307dec10429a1ffc042919b71ac25466a1b72) + +commit 05d574926df94b4fa2e0186f31d5050bd0b39ed3 +Merge: 495313f 2d906e6 +Author: Jason Dillaman +Date: Tue May 10 13:28:11 2016 -0400 + + Merge pull request #9036 from dillaman/wip-15814 + + jewel: librbd: fix get/list mirror image status API + + Reviewed-by: Jason Dillaman + +commit 2d906e600a8d81aae15bcf3f8b2fc694537890d4 +Author: Mykola Golub +Date: Tue May 10 12:29:12 2016 +0300 + + rbd-mirror: fixup to get/list mirror image status API + + - embed name and rbd_mirror_image_info_t into rbd_mirror_image_status_t; + - index image status list by image id to make 'start' work correctly; + - provide rbd_mirror_image_status_list_cleanup function. + + Fixes: #15771 + Signed-off-by: Mykola Golub + (cherry picked from commit e6c709b3a8be489a900178b8b0d962705d5687e9) + +commit 495313f355955463f747be9e6650fe8796c0d124 +Merge: 9750610 617004e +Author: Jason Dillaman +Date: Tue May 10 13:15:23 2016 -0400 + + Merge pull request #9003 from dillaman/wip-15743 + + jewel: librbd: reduce log level for image format 1 warning + + Reviewed-by: Jason Dillaman + +commit 9750610ebf7f4d853dee23adaf6109c2c6b63ee0 +Merge: 0218f0b fb7eb4e +Author: Jason Dillaman +Date: Tue May 10 13:13:27 2016 -0400 + + Merge pull request #9010 from dillaman/wip-15736 + + jewel: rbd-mirror: admin socket commands to start/stop/restart mirroring + + Reviewed-by: Jason Dillaman + +commit fb7eb4e6548b6536fccb6fd38b18a5ced0f9ee4b +Author: Mykola Golub +Date: Thu Apr 28 09:32:33 2016 +0300 + + rbd-mirror: admin socket commands to start/stop/restart mirroring + + Signed-off-by: Mykola Golub + (cherry picked from commit a22cf518f9cc0872f72a8a850ea01558094ebd00) + +commit 8e46e4383a15f022e9213c6710671e6241e7fb6c +Author: Mykola Golub +Date: Sun May 1 22:04:46 2016 +0300 + + qa/workunits/rbd: fix rbd-mirror log file name + + Signed-off-by: Mykola Golub + (cherry picked from commit 4c28fc2aa378c10ce6e78b1a2f98d5e14ac211e9) + +commit d73073a400807f2aa62d0eadc8ff6a8537ca04fa +Author: Mykola Golub +Date: Thu Apr 28 09:23:35 2016 +0300 + + rbd-mirror: make image replayer asok commands available when not started + + Initially the asok commands were registered only after the image + replayer start (and unregistered on stop) because their names were + built using remote pool and image names, which became known only after + start. + + Now, the asok commands are registered on the image replayer construction + using the temporary name "remote_pool_name/global_image_id". They are + re-registered using "remote_pool_name/remote_image_name" when the + image replayer is started. Also the commands are not unregistered on + the image replayer stop. + + Signed-off-by: Mykola Golub + (cherry picked from commit 21790484dc66e97e7625b5b2afabb7efe3a92b08) + +commit 24ea574a94c009d64d480bc3f887d4b0325d26d8 +Author: Josh Durgin +Date: Fri Apr 1 18:15:33 2016 -0700 + + qa/workunits/rbd: add env vars to adapt rbd_mirror.sh to teuthology + + With these set, this script can work in teuthology, where we want to + control the how daemons run and their log locations, valgrind + settings, etc. The workunit task always sets CEPH_ID, and allows + other env vars to be configured optionally. + + The RBD_MIRROR_USE_EXISTING_CLUSTER option can also speed up local testing. + + Signed-off-by: Josh Durgin + (cherry picked from commit dcd11a1f262e0c56bb1b37d54283cda06abbf4c7) + +commit 21220a1fa668d4080eb7c4844cafeefffa77ecdc +Author: Josh Durgin +Date: Thu Apr 7 16:57:14 2016 -0700 + + qa: rbd_mirror.sh: change parameters to cluster rather than daemon name + + Daemon name is only useful to differentiate asok and pid filenames, so + just inline its use there. Everywhere else replace the 'daemon' + parameter with cluster or local_cluster as appropriate. + + Remove the CLUSTER{1,2}_DAEMON vars as well, since they are no longer + used. + + Signed-off-by: Josh Durgin + (cherry picked from commit 5fe64fa806f3bbdbdb950a5643238cc2508814b0) + +commit 0218f0b0750b88f308f3ee0837b4e4efc7aeea63 +Merge: a152b32 c1960de +Author: Jason Dillaman +Date: Tue May 10 13:04:09 2016 -0400 + + Merge pull request #9005 from dillaman/wip-15716 + + jewel: rbd-nbd: fix rbd-nbd aio callback error handling + + Reviewed-by: Jason Dillaman + +commit a152b32016529633a810fc901a2c980ab1169b27 +Merge: 54177d0 0e95ee4 +Author: Jason Dillaman +Date: Tue May 10 13:03:38 2016 -0400 + + jewel: librbd: unlock image if journal error encountered during lock + + jewel: librbd: unlock image if journal error encountered during lock + + Reviewed-by: Jason Dillaman + +commit 54177d00f06ab3d712c8837832de080e452205de +Merge: b6b3cdd a73b9dd +Author: Jason Dillaman +Date: Tue May 10 13:02:24 2016 -0400 + + Merge pull request #9009 from dillaman/wip-15713 + + jewel: librbd: possible race condition leads to use-after-free + + Reviewed-by: Jason Dillaman + +commit a73b9dd670bcd3a77611c7240d86963b29527983 +Author: Jason Dillaman +Date: Tue May 3 07:41:30 2016 -0400 + + librbd: possible race condition leads to use-after-free + + The invoke async operation state machine can complete before the + owner lock is released. Use a stack reference to prevent + use-after-free. + + Fixes: http://tracker.ceph.com/issues/15690 + Signed-off-by: Jason Dillaman + (cherry picked from commit d9421a25b582e41550526714b71fb55f05abb1de) + +commit b6b3cdd40c60775c27b631cd8670e95bc84a5219 +Merge: a3e2e41 28ac027 +Author: Jason Dillaman +Date: Tue May 10 12:53:30 2016 -0400 + + Merge pull request #9004 from dillaman/wip-15708 + + jewel: rbd: help message distinction between commands and aliases + + Reviewed-by: Jason Dillaman + +commit a3e2e410f5ef6308fcfd59baf607c49112f69138 +Merge: ade4359 82838e3 +Author: Jason Dillaman +Date: Tue May 10 12:53:00 2016 -0400 + + Merge pull request #8972 from Abhishekvrshny/wip-15697-jewel + + jewel: python: clone operation will fail if config overridden with "rbd default format = 1" + + Reviewed-by: Jason Dillaman + +commit ade4359b15d18ab51ab00168339d1aadcdffacbb +Merge: 7f95348 451246d +Author: Jason Dillaman +Date: Tue May 10 12:50:43 2016 -0400 + + Merge pull request #9008 from dillaman/wip-15698 + + jewel: rbd-mirror: lockdep error during bootstrap + + Reviewed-by: Jason Dillaman + +commit 9bb17dbb1ce2ae910927e120cf35da9ee4c98225 (refs/remotes/gh/wip-rgw-period-delete-jewel) +Author: Casey Bodley +Date: Fri May 6 15:57:22 2016 -0400 + + rgw: fix for duplicates in list_periods() + + Signed-off-by: Casey Bodley + (cherry picked from commit abed30befd86c68922759a66db589285fe01e54b) + +commit 7ea6e78aa0aa3b86d663dab3f69998e5cd3a5177 +Author: Casey Bodley +Date: Fri May 6 15:18:46 2016 -0400 + + rgw: 'period delete' cleans up all period objects + + Fixes: http://tracker.ceph.com/issues/15469 + + Signed-off-by: Casey Bodley + (cherry picked from commit a286b32224d4a9757058415f98a2feff683ac520) + +commit 451246df64890e39205d20d40eb5676893a7e1db +Author: Jason Dillaman +Date: Mon May 2 10:33:50 2016 -0400 + + librbd: disable automatic refresh of image upon lock message + + There is no need to refresh the image upon request/release/acquire + of the exclusive lock. The next IO or maintenance op will kick off + the refresh. This is interfering with the refresh state machine + unit test case (since two concurrent refreshes shouldn't be possible). + + Signed-off-by: Jason Dillaman + (cherry picked from commit ee617a0ca56d752daf62bfffa59219b2c540a428) + +commit 9e058fc852090ecb1b3a8daa3e0ee9df9d5eba3c +Author: Jason Dillaman +Date: Mon May 2 10:26:29 2016 -0400 + + librbd: update_features should release lock if acquired + + There is a small window where requests are unblocked and before + the image is shut down where new requests can be accepted. These + are correctly canceled during the shut down, but it can lead to + warning messages. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 608e09851396a9eeb7cf6dc1c7f687ef7a033601) + +commit e653a1541ca7df29d01e8524a3f3b597fa0fb67b +Author: Jason Dillaman +Date: Mon May 2 09:27:29 2016 -0400 + + librbd: avoid applying refreshed image config within librados callback + + There is a potential that a synchronous API call could deadlock a + image refresh. + + Signed-off-by: Jason Dillaman + (cherry picked from commit ce5c701bc47b0959f8453b6b92dee4804d3b1d75) + +commit a5996e5ad64e01fcde50fc46bf9861b2d163f0c4 +Author: Jason Dillaman +Date: Mon May 2 08:42:35 2016 -0400 + + rbd-mirror: don't use temporary string for snap operation + + Signed-off-by: Jason Dillaman + (cherry picked from commit 06faf83bbfab000c8200a9cbe781adb0082b3f7b) + +commit a891919b85f44a7d81fb2fb84d1b8d7258b3fbdc +Author: Jason Dillaman +Date: Mon May 2 08:31:54 2016 -0400 + + librbd: avoid recursive locking within operation state machine + + Fixes: http://tracker.ceph.com/issues/15664 + Signed-off-by: Jason Dillaman + (cherry picked from commit 91a4890ee78c25391c1548fdacb2b51c46a47415) + +commit 7f953488b46642ed3825349d41a34b0faeb6a76b +Merge: 8963af7 895c975 +Author: Jason Dillaman +Date: Tue May 10 12:47:01 2016 -0400 + + Merge pull request #8869 from Abhishekvrshny/wip-15669-jewel + + jewel: Errors encountered disabling object-map while flatten is in-progress + + Reviewed-by: Jason Dillaman + +commit 8963af73823285e9261acf6305778903a8f4205d +Merge: 978f30e 63738d4 +Author: Jason Dillaman +Date: Tue May 10 12:46:12 2016 -0400 + + Merge pull request #8870 from Abhishekvrshny/wip-15668-jewel + + jewel: rbd disk-usage CLI command should support calculating full image usage + + Reviewed-by: Jason Dillaman + +commit 978f30e100fa91c148fd2aeaadad2f6e7bb94f9a +Merge: 1dceb38 32c0901 +Author: Jason Dillaman +Date: Tue May 10 12:35:41 2016 -0400 + + Merge pull request #8868 from Abhishekvrshny/wip-15666-jewel + + jewel: rbd CLI to retrieve rbd mirror state for a pool / specific image + + Conflicts: + src/tools/rbd_mirror/ImageReplayer.cc: trivial resolution + + Reviewed-by: Jason Dillaman + +commit 1dceb38538d9c8a13551ef8b9217cb5757089576 +Merge: 2495f08 357ad37 +Author: Jason Dillaman +Date: Tue May 10 12:33:33 2016 -0400 + + Merge pull request #9046 from dillaman/wip-fix-snapc-validation-jewel + + jewel: librbd: put the validation of image snap context earlier + + Reviewed-by: Jason Dillaman + +commit 357ad37a4facc9917866c780892c7cd0e21653fd +Author: runsisi +Date: Wed Apr 20 09:55:39 2016 +0800 + + librbd: put the validation of image snap context earlier + + we'd better validate the snap context right after we got the mutable + metadata before we could go any further + + Signed-off-by: runsisi + (cherry picked from commit ca8ae66ba42e7a598ad23ed911938589dc288456) + +commit 2495f08a64b352cbd21432b708fdd8e4090b67bb +Merge: 5e9128d 125aab8 +Author: Jason Dillaman +Date: Tue May 10 12:31:10 2016 -0400 + + Merge pull request #8867 from Abhishekvrshny/wip-15661-jewel + + jewel: Parent image is closed twice if error encountered while opening + + Reviewed-by: Jason Dillaman + +commit 5e9128dc8b4af16512f689d556baa7d6e08ae1f8 +Merge: c167514 af1c0bc +Author: Jason Dillaman +Date: Tue May 10 12:30:12 2016 -0400 + + Merge pull request #8866 from Abhishekvrshny/wip-15660-jewel + + jewel: rbd-mirror can crash if start up is interrupted + + Reviewed-by: Jason Dillaman + +commit c16751431baed0322765e502bf750b7f9be49e78 +Merge: 5e89e82 a2eb187 +Author: Jason Dillaman +Date: Tue May 10 12:29:02 2016 -0400 + + Merge pull request #9044 from dillaman/wip-librbd-bad-header-jewel + + jewel: librbd: does not crash if image header is too short + + Reviewed-by: Jason Dillaman + +commit a2eb187658d045160fb85f6c1d9437eaa49f0830 +Author: Kefu Chai +Date: Thu Apr 28 00:59:34 2016 +0800 + + librbd: does not crash if image header is too short + + if something goes wrong with the object, and returns a chunk shorter + than expected, don't panic + + Signed-off-by: Kefu Chai + (cherry picked from commit 7b52183addda83f98c8b1f37d3de20ca0fc4687b) + +commit 5e89e821f3e9b368b6d4963824e334acbd49cceb +Merge: f99aba4 8cae07c +Author: Jason Dillaman +Date: Tue May 10 12:26:48 2016 -0400 + + Merge pull request #8803 from SUSE/wip-15605-jewel + + jewel: Potential double free of SetSnapRequest instance + + Reviewed-by: Jason Dillaman + +commit f99aba4a869bbb6dda5353a6f5c9c65da32dcd02 +Merge: 9d40896 9b2c173 +Author: Jason Dillaman +Date: Tue May 10 12:16:09 2016 -0400 + + Merge pull request #8865 from Abhishekvrshny/wip-15649-jewel + + jewel: possible double-free of object map invalidation request upon error + + Reviewed-by: Jason Dillaman + +commit b6ebb25afc3d75d834311a9931b08c84e858a5e4 +Author: Venky Shankar +Date: Thu May 5 15:28:16 2016 +0530 + + rbd: helpful error message on map failure + + Failure to map an rbd image provides pretty much nothing to + debug (or rectify) the nature of failure. This change tries + to improve the same by providing helpful error messages (by + pointing to dmesg, etc..). + + Fixes: http://http://tracker.ceph.com/issues/15816 + Signed-off-by: Venky Shankar + +commit f221fedb3b34bccd80383096d6ccfa19a4a72db9 +Author: Jason Dillaman +Date: Fri May 6 11:16:37 2016 -0400 + + librbd: assertion to ensure no concurrent processing of replay events + + Signed-off-by: Jason Dillaman + (cherry picked from commit 44827a3e8e02529be84c829a76ef01f70e0d20ee) + +commit 37f08e6e15b21eec2dedfd5e497619165cd3d117 +Author: Jason Dillaman +Date: Fri May 6 11:05:50 2016 -0400 + + journal: suppress notifications if client still in try_pop_front loop + + One such example is popping the last entry from an object. The next + object will be automatically prefetched. When that object is received, + we do not want to alert the user that entries are available since + try_pop_front already indicated more records were available. + + Fixes: http://tracker.ceph.com/issues/15755 + Signed-off-by: Jason Dillaman + (cherry picked from commit 3b8d21ac13865791d8fc4c519f47c1f7d6096e76) + +commit 82c04c5ad3476805d8c4f7569e1eba41244ad2c7 +Author: Jason Dillaman +Date: Fri May 6 09:47:01 2016 -0400 + + librbd: delay processing of next journal entry until flush in-progress + + When replaying a journal flush event, do not start processing the next + journal entry until after the flush is in progress to ensure the barrier + is correctly guarding against future writes. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 5d205ef33cb8b5517f141d46a62947dd583500e0) + +commit 9d40896d280f44080623b1d9a0d9aba35ae410c5 +Merge: bc764b6 075ee03 +Author: Yehuda Sadeh +Date: Tue May 10 08:31:02 2016 -0700 + + Merge pull request #8930 from theanalyst/wip-15707-jewel + + jewel: multisite: Issues with Deleting Buckets + +commit bc764b6af7fb7f5aea6bc5fd8c8f5b7174949a90 +Merge: 8bbe2a9 7029b9c +Author: Yehuda Sadeh +Date: Tue May 10 08:30:52 2016 -0700 + + Merge pull request #9029 from theanalyst/wip-15680 + + jewel: rgw: radosgw-admin zone set cuts pool names short if name starts with a period + +commit 8bbe2a924d9b27582c130f045e1fede29171f159 +Merge: 80beeff 5fdca84 +Author: Yehuda Sadeh +Date: Tue May 10 08:30:03 2016 -0700 + + Merge pull request #9022 from yehudasa/wip-rgw-leak-3-jewel + + jewel: rgw: leak fixes + +commit 80beeff4b1bf89fba6c36b59ffcec61aa8fc975e +Merge: b9cb6bd d93fa13 +Author: Yehuda Sadeh +Date: Tue May 10 08:29:52 2016 -0700 + + Merge pull request #9021 from yehudasa/wip-rgw-xstorageurl-fix-jewel + + jewel: rgw: fix printing wrong X-Storage-Url in Swift's TempAuth. + +commit b9cb6bd73593da4312889c928fba8f02a50b1533 +Merge: ce2f028 f37318a +Author: Yehuda Sadeh +Date: Tue May 10 08:29:27 2016 -0700 + + Merge pull request #9020 from yehudasa/wip-15597-jewel + + jewel: rgw: fix issue #15597 + +commit ce2f028268509361700980d47dabe5429127910f +Merge: 1cba195 a28fe02 +Author: Yehuda Sadeh +Date: Tue May 10 08:29:18 2016 -0700 + + Merge pull request #9019 from yehudasa/wip-rgw-admin-zonegroup-jewel + + jewel: radosgw-admin: add missing --zonegroup-id to usage + +commit 1cba1951898e8d21dbfd6b8e354ebaa29f48b720 +Merge: 4ead0f9 1d28aac +Author: Yehuda Sadeh +Date: Tue May 10 08:29:03 2016 -0700 + + Merge pull request #9018 from yehudasa/wip-15626-jewel + + rgw: add AWS4 completion support for RGW_OP_SET_BUCKET_WEBSITE + +commit 4ead0f98dccf79f65878384ac0f45b9f3e2ad97c +Merge: 6f23218 c08e90e +Author: Yehuda Sadeh +Date: Tue May 10 08:28:50 2016 -0700 + + Merge pull request #9017 from yehudasa/wip-15625-jewel + + jewel: rgw: segfault at RGWAsyncGetSystemObj + +commit 6f23218bbcee8190acfdf0ae7b76e6e742015d91 +Merge: 2650806 e69bfa1 +Author: Yehuda Sadeh +Date: Tue May 10 08:28:37 2016 -0700 + + Merge pull request #9016 from yehudasa/wip-rgw-admin-modify-jewel + + jewel: radosgw-admin: update usage for zone[group] modify + +commit 26508062cbb13ba28252735449784dd4b63175af +Merge: fdf8dcb 11d599c +Author: Yehuda Sadeh +Date: Tue May 10 08:27:56 2016 -0700 + + Merge pull request #9015 from yehudasa/wip-rgw-zonegroup-remove-jewel + + jewel: radosgw-admin: zonegroup remove command + +commit f18b14b00fd3b8fbf3007f9eeb9424bbaf5ee14a +Author: Jason Dillaman +Date: Mon May 9 11:22:48 2016 -0400 + + journal: incorrectly computed object offset within set + + Signed-off-by: Jason Dillaman + (cherry picked from commit f3372a1bcf81fcfd75e7ef5901dbcdc1daa062a3) + +commit 466b7fe3d5cd6da8de993169da4c0e4c0990e703 +Author: xie xingguo +Date: Fri Apr 22 09:45:30 2016 +0800 + + tools/crushtool: add straw2 support for help message + + Signed-off-by: xie xingguo + (cherry picked from commit 6448ea283b4e1519682ecb29f18fbb767752d496) + +commit d6692ed70aebc5387997660e9e2b025e96eff96f +Author: Alfredo Deza +Date: Wed Apr 20 16:23:55 2016 -0400 + + install-deps: remove distribute requirement + + Because it was meant for Ubuntu 12.04 and it is installing directly + from PyPI on newer releases that aren't being built for 12.04 + + Signed-off-by: Alfredo Deza + (cherry picked from commit 64f14d43a829f998b9a2ad5f3d87095560914e2a) + +commit 3011edab65e78156346ff7de655707619589bd7a +Author: Alfredo Deza +Date: Wed Apr 20 15:48:19 2016 -0400 + + tools: remove installation for distribute. It is no longer maintained and breaks builds + + Signed-off-by: Alfredo Deza + (cherry picked from commit d02bd9cb70479b7373c5b65e42e9c57f8eae55f1) + +commit 45a1f01aa4baa1913c335efb2f8b3941f3c0f791 +Author: Alexandre Derumier +Date: Fri Apr 29 03:30:05 2016 +0200 + + set 128MB tcmalloc cache size by bytes + + (cherry picked from commit d1d144c03bc9050931d86d635a16363bd2b73fd0) + +commit bb1aeb7c7bb296d9264f051519d100ecf1f50f1d +Author: Alexandre Derumier +Date: Thu Apr 28 22:55:37 2016 +0200 + + etc/default/ceph: set 128MB tcmalloc cache size + + Signed-off-by: Alexandre Derumier + (cherry picked from commit 9decbd1026c6ab0474c73a26a9c84c24557beb8a) + +commit 617004ef26b6c97621a85a44b78cc7b0708fe161 +Author: Jason Dillaman +Date: Tue May 10 08:33:03 2016 -0400 + + test: update rbd integration cram test to remove format 1 warning + + Signed-off-by: Jason Dillaman + (cherry picked from commit 098038fad47b181a9ddd11767397082b05405be5) + +commit 7029b9c3b0c02c9f20f6079243521458d28b2ab4 +Author: Yehuda Sadeh +Date: Mon Apr 25 15:09:47 2016 -0700 + + rgw: fix suffix in RGWZoneParams::fix_pool_names() + + Fixes: http://tracker.ceph.com/issues/15598 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 6f6b0c925994b0369eda390a6b3fd20005e70c9b) + +commit f37318af823f76ba7bf05e09da83141b569bf579 +Author: Yehuda Sadeh +Date: Mon May 9 14:23:03 2016 -0700 + + rgw: code cleanup + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d53ffbfe65611425b08af71e0d24bfe2a0076f1e) + +commit a8b800b903f0f1144efe0cf3568b02b3e200c3b2 +Author: Yehuda Sadeh +Date: Tue Apr 26 11:31:43 2016 -0700 + + rgw: upgrade default zonegroup and set correct zone[group] id + + Fixes: http://tracker.ceph.com/issues/15597 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 27806c71922eef2f4cde360d7ba40dee9d5bd4bd) + +commit 5fdca846aaea9afd16828d33ccc279c4dcdbcd4c +Author: Yehuda Sadeh +Date: Thu May 5 10:57:05 2016 -0700 + + rgw: RGWHTTPClient requests can unregister themselves early + + No need to wait for req_state to complete anymore. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 91f61d68bf5fc39152d75fbc633f088e17d53d9e) + + Conflicts: + src/rgw/rgw_http_client.cc + +commit 5609eb1bae0fc55b24a3025621597590f30aaad4 +Author: Yehuda Sadeh +Date: Wed May 4 18:08:38 2016 -0700 + + rgw: move around sync_env.init() + + call sync_env.init() even if we're initalized in RGWRemoteDataLog::init() + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 3d8442effc1c175e0b7c5064ed41bc642f6cdcb0) + +commit faf6b2d25e89b7a84ed262c08b0a858dbf4199da +Author: Yehuda Sadeh +Date: Tue May 3 12:01:55 2016 -0700 + + rgw: rados crs, explicit cleanup + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 1c876eb3873692042c0af3644f8ee3ad15ffdbf5) + +commit b55514c390b22605fabdf3a8e5011415f57e6da8 +Author: Yehuda Sadeh +Date: Tue May 3 12:00:46 2016 -0700 + + rgw: RGWHTTPManager, avoid referring to req_data->client when completing + + this is past calling req_data->finish(), client can be destroyed by now + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7ada4df124a71eae413e7dec0e25264a8deffcad) + +commit 2d0cd8a08bb26f519d2b9b59bfe54f014cc36a1f +Author: Yehuda Sadeh +Date: Tue May 3 11:59:11 2016 -0700 + + rgw: civetweb_callback() refer to store inside lock + + pe->store might change when reconfiguring + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 2ca38dab071c7d20a224a4e1dacfd68548fe52dd) + +commit 2f65b313d08a5c9dfde220353eaa54204531b1ee +Author: Yehuda Sadeh +Date: Tue May 3 10:03:14 2016 -0700 + + rgw: RGWPeriodPusher, stop http manager explicitly + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 98433e589f2a8b519726ed23b1565c5eb331c68e) + +commit e5312b10aaa000d942468bf51d2164c689add279 +Author: Yehuda Sadeh +Date: Tue May 3 10:02:02 2016 -0700 + + rgw: RGWHTTPManager, can call stop() more than once + + destructor calls stop(), but it can be also called explicitly, if caller + wants to ensure requests are not being handled anymore. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit bdce81a2ae00f154420386e107a104cbf100d96d) + +commit cbea993562b03f75ceb0bdb7c02d72e5b51ae0fa +Author: Yehuda Sadeh +Date: Tue May 3 10:01:33 2016 -0700 + + rgw: RGWReadRESTResourceCR, fix refcounting + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d1ec31def71505dc95139fbdd3b49c92fec1d296) + +commit 93a65f3306e21c1bc34f5a95d85deeba746adb62 +Author: Yehuda Sadeh +Date: Tue May 3 09:59:47 2016 -0700 + + rgw: RGWReadRemoteDataLogShardCR fix destructor + + was missing destructor, constructor was broken + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 95162a4c1bf61f7329e363b7efd5686f7e1025f0) + +commit 2de16690b6a404a365af5d9f526de044873f9729 +Author: Yehuda Sadeh +Date: Mon May 2 18:13:17 2016 -0700 + + rgw: RGWDataSyncStatusManager, cleanup if failing init + + init can be called more than once, ended up with leaking some resources + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 14cd44e0847fd914068f48dd0208ce7c1fe4eecb) + +commit 57266e6b78851f8e6167f15ad8dbf7195d561371 +Author: Yehuda Sadeh +Date: Fri Apr 29 13:04:13 2016 -0700 + + rgw: rest crs, explicitly call cleanup + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a3a3f4f5883f3fc2bf47a7ebfa538206b7ab51d9) + +commit 6b86332ca3ee35eb522cbf88408b7fd5f3070772 +Author: Yehuda Sadeh +Date: Thu Apr 28 17:03:21 2016 -0700 + + rgw: more leaks fixes + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit cb797d4fd754b4a33eb34c249da3aabc65a7aba3) + +commit 0fb48546a9fe6eb497833a6566353229e0923d3f +Author: Yehuda Sadeh +Date: Wed Apr 27 16:39:36 2016 -0700 + + rgw: drop a reference to http op + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4442d1c19acfc28c2dd4a011365ebebe08750963) + +commit d93fa132bba597e71c4dd483663d2069e7117bf1 +Author: Radoslaw Zarzynski +Date: Sun Apr 24 17:41:55 2016 +0200 + + rgw: fix printing wrong X-Storage-Url in Swift's TempAuth. + + If the option "rgw_swift_account_in_url" is being set to true, + both user and subuser IDs will be present in the X-Storage-Url + header generated by the implementation of Swift API's TempAuth. + This patch rectifies this behavior and makes that only the user + identifier will be placed there. + + Fixes: http://tracker.ceph.com/issues/15667 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 88f4c67d822388d2038454a25ead7e9a11f404b5) + +commit a28fe02c933e2ec7ea969a974f961769052e9d38 +Author: Casey Bodley +Date: Tue Apr 26 15:20:45 2016 -0400 + + radosgw-admin: add missing --zonegroup-id to usage + + also clarified that --rgw-zone takes the zone by name + + Signed-off-by: Casey Bodley + Reported-by: John Wilkins + (cherry picked from commit 97fad754565b262529073e1b9f8d1799bfdfe0de) + +commit c08e90ea20b8ed96c7fe8638f725cf5abefc6783 +Author: Yehuda Sadeh +Date: Wed Apr 27 15:09:55 2016 -0700 + + rgw: don't allow any concurrent sync requests on the same key + + We used to allow concurrent requests, as long as these had different op, + which wasn't correct. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit edea6d58dd25995bcc1ed4fc5be6f72ce4a6835a) + +commit 6c61341697b99db34466c9e7e90aa7867048d651 +Author: Yehuda Sadeh +Date: Tue Apr 26 15:59:33 2016 -0700 + + rgw: collect children after waiting for them + + Otherwise we're going to busy loop there. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 806fb85d18653910863ba6b8cb56b8db1a0fa3d2) + +commit 4a5f33dd975eb44f908b8a90a7ad2e4beb17b354 +Author: Yehuda Sadeh +Date: Tue Apr 26 15:29:41 2016 -0700 + + rgw: don't pass object context into async coroutines + + Fixes: http://tracker.ceph.com/issues/15625 + + The async read data/attrs coroutines may outlive the callers. Instead + of introducing a complicated refcounting scheme, just don't pass it in. + Anyway, it was not thread safe, and the benefit of using it is not + clear. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b225d1758057efc30721aad25447d54fa36e4cb2) + +commit 1d12f82a24f78769bcebb32cb379445e04f35e46 +Author: Yehuda Sadeh +Date: Thu Apr 21 17:24:16 2016 -0700 + + rgw: check for status >= 0 + + Fixes: #15565 + + check only verified that status was > 0, so we ended not updating mtime for + the target object. This resulted in a continuous sync of objects. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 255f19d9ef964536f2db17f70749f489330262a6) + +commit a288a054c18fedda9ac3230d392f5a41a140ca9a +Author: Yehuda Sadeh +Date: Fri Apr 22 14:23:22 2016 -0700 + + rgw: don't try to delete object if does not exist + + If we know that the object does not exist, no need to remove it. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 8d59a30d56b5f197a293f7fba6ebb1a630a33a05) + +commit 308b9f54e9fa07d071335bb2d953a50a5095c464 +Author: Yehuda Sadeh +Date: Fri Apr 22 11:55:28 2016 -0700 + + rgw, cls/rgw: store removed object mtime in bi log + + Store the mtime of the object that was removed in the bucket index log. + This will be used in data sync. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 80d64049937e1930ea8273fdad76a51493a5e14a) + +commit 1d28aac642d940bb1c63733406999a7b027e05f2 +Author: Javier M. Mellid +Date: Wed Apr 27 20:28:08 2016 +0200 + + rgw: add AWS4 completion support for RGW_OP_SET_BUCKET_WEBSITE + + Fixes: http://tracker.ceph.com/issues/15626 + + Signed-off-by: Javier M. Mellid + (cherry picked from commit 05373354e4725c3fc675df652fbf97da26160bcb) + +commit e69bfa14e184716c4ab6bf01746edf5c9663a8e1 +Author: Casey Bodley +Date: Wed Apr 27 18:06:45 2016 -0400 + + radosgw-admin: update usage for zone[group] modify + + the help strings indicated that only --master could be changed + + Signed-off-by: Casey Bodley + (cherry picked from commit 410d432d11541a29c3fd4608a070cecf8dc2766e) + +commit 11d599cda659a42ddde43f34307c5e3553596c54 +Author: Casey Bodley +Date: Fri May 6 14:26:46 2016 -0400 + + test/rgw: add test_zonegroup_remove + + Signed-off-by: Casey Bodley + (cherry picked from commit e2b27c7266f0ace372dbf94e062598fd7a575795) + +commit 928ccf4952052ab19044de1a8f20246075d54832 +Author: Casey Bodley +Date: Fri May 6 14:26:23 2016 -0400 + + test/rgw: index zones by name instead of insertion order + + Signed-off-by: Casey Bodley + (cherry picked from commit 6327ade12bf0255c3b35bd6407f1dd2bcc6936fa) + +commit 5edacdccc61d565a0e91af452f9297d559a474e4 +Author: Casey Bodley +Date: Mon May 2 11:38:24 2016 -0400 + + radosgw-admin: add missing 'zonegroup remove' + + Fixes: http://tracker.ceph.com/issues/15684 + + Signed-off-by: Casey Bodley + (cherry picked from commit db0fa48ed5958d37928f893acd44cd66b6b9b990) + +commit 6b1d9ebb80478c1dfe0e974377bd4fb070a5d417 +Author: Casey Bodley +Date: Mon May 2 11:36:58 2016 -0400 + + rgw: RGWZoneGroup::remove_zone() takes zone id + + Signed-off-by: Casey Bodley + (cherry picked from commit 3a451511fb38a5f1cd83ca3610c91141e7279f63) + +commit 0e95ee4bd16f4d54d1da476b51fd0fd0829d69ed +Author: Jason Dillaman +Date: Tue May 3 10:15:08 2016 -0400 + + librbd: unlock image if journal error encountered during lock + + Explicitly unlock to prevent a client from accidentally blacklisting + itself when retrying the lock. + + Fixes: http://tracker.ceph.com/issues/15709 + Signed-off-by: Jason Dillaman + (cherry picked from commit a11f5e8e55fc448ed60616cbf66a3ea7db2247b9) + +commit fdf8dcb772d8313a3a801bf265f022505dba934d +Merge: 030883f 0de6345 +Author: Sage Weil +Date: Mon May 9 13:54:58 2016 -0400 + + Merge pull request #9006 from athanatos/wip-15655-jewel + + OSDMonitor: avoid underflow in reweight-by-utilization if max_change=1 + + Reviewed-by: Sage Weil + +commit c1960debf5c8696f365cd670dedeea01d2a3b9a8 +Author: cy.l@inwinstack.com +Date: Sat Apr 30 15:22:29 2016 +0800 + + rbd-nbd: Fix aio_callback error handling + + Change aio_callback return code handling for NBD_CMD_READ command. + + Tracker: + http://tracker.ceph.com/issues/15604 + + Signed-off-by: Chang-Yi Lee + (cherry picked from commit ee211295441b126a995c07820176cfc966ab61c5) + +commit 4e87c1cd7e923f4254ce43e92e1cce4329fd86dd +Author: cy.l@inwinstack.com +Date: Wed Apr 27 11:00:25 2016 +0800 + + Fix RBD-NBD aio_callback error handling + + Tracker-Id: #15604 + + Signed-off-by: Chang-Yi Lee + (cherry picked from commit f8f6c1dc865b7ed642fec3f416e5eca5e91523d0) + +commit 28ac027f6f86635d320f0f5e25582452011d9bed +Author: YongQiang +Date: Fri Apr 22 11:20:31 2016 -0400 + + rbd:make a distinction of help message between ''rbd snap rollback" and "rbd snap revert" + + Fixes: https://tracker.ceph.com/issues/15521 + + Signed-off-by: Yongqiang He + (cherry picked from commit 1bf26509c6efd06a8facc0e45ab42255592ca74d) + +commit 039554d7ad8cfd82bcb6d4c6564f6dd46320a24f +Author: Jason Dillaman +Date: Wed May 4 13:36:06 2016 -0400 + + librbd: reduce log level for image format 1 warning + + Signed-off-by: Jason Dillaman + (cherry picked from commit c87f383b65ccc2e91645394f1c75de1c2d52e1e1) + +commit 030883f41d3d2d8f297b3d3f6e7c7fa5a06ea4c0 +Author: xie xingguo +Date: Tue Apr 26 15:12:17 2016 +0800 + + osdc/Objecter: fix race condition for sortbitwise flag detection + + During list_objects/list_nobjects(), we are checking osdmap's + sortbitwise flag setting without holding rwlock in hand, which + is a potential race condition. + + Signed-off-by: xie xingguo + (cherry picked from commit 7fb6be706be2454cc2a831df29808997f0aa5ab3) + +commit 82838e340e0ab7c593618f5807ea5868ecd6bc48 +Author: Jason Dillaman +Date: Mon May 2 15:06:51 2016 -0400 + + librbd: default clone operation to image format 2 + + Image format 1 doesn't support clones, so unless the user + overrode the setting, default to format 2. + + Fixes: http://tracker.ceph.com/issues/15685 + Signed-off-by: Jason Dillaman + (cherry picked from commit f24c70f54343aa6698af8ac1f0774282b0659968) + +commit ca13a9554d8a9d97428c2096b5a2ae8e25d08a9e +Author: Jason Dillaman +Date: Mon May 2 14:51:31 2016 -0400 + + librbd: add rbd_image_options_is_set helper method to API + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2633b045e0b57827cc10c2e7707bd5a5e344e59a) + +commit e6aa4533feb9c8e6d15c820f54dd719c378dd26e +Author: John Spray +Date: Fri Apr 29 20:12:20 2016 +0100 + + mds: fix upgrades with replay daemons in map + + In the new world, a standby replay daemon which + is actively replaying has its rank set. In the old + world it did not: map this during the upgrade/downgrade + paths in decode/encode. + + Fixes: http://tracker.ceph.com/issues/15591 + Signed-off-by: John Spray + (cherry picked from commit d94115aa2a4bd92c56552e9fd11205d391a1c673) + +commit 6c1b792b7b2fba729f21b0f10ec70d14b830ffa9 +Author: John Spray +Date: Wed Mar 30 12:06:27 2016 +0100 + + doc: add cephfs daemon management docs + + Principally to tell people how to configure + standby, but more generally as a place to define + our terms for GIDs etc. + + Signed-off-by: John Spray + (cherry picked from commit 97dd6897efaa14d3f8859a791949f9d246769620) + +commit bf44c6d434a41b90c0739e493a022cb3d3df5554 +Author: John Spray +Date: Wed Mar 30 12:05:43 2016 +0100 + + mds: omit fscid in single-filesystem status output + + Signed-off-by: John Spray + (cherry picked from commit ec8f3db3e5c26b60b9333e86453e1b17324a8cfa) + +commit be5274c3f47ecb0dca0facca37d4a90c68b37027 +Author: John Spray +Date: Thu Mar 24 13:23:26 2016 +0000 + + mds: simplify standby/standby-replay logic + + This used to use an arcane set of constants + in standby_for_rank, combined with daemons sometimes + sending requests to enter state STANDBY_REPLAY. + + Simplify this so that there is only one place we + put daemons into standby replay, and that is + in tick->maybe_promote_staandby. + + There is a behavioural change in here, which is + that we used to sometimes promote standbys to + be standby-replay, even if they didn't have + "standby replay = true", when they did have + a standby_for_rank or standby_for_name set. + I'm calling that a bug, and making it so that + daemons will only go into standby-replay if + "standby replay = true" is set. + + Signed-off-by: John Spray + (cherry picked from commit 2a2a56b2d0e9e4224cae27f80d990b787e209bed) + +commit ae3ce5b8741eaf65d03aeb7b74925a75e5ef2598 +Author: John Spray +Date: Thu Mar 24 13:13:55 2016 +0000 + + messages: add MMDSBeacon::standby_replay + + So that daemons can explicitly say that they + want to be standby replay, instead of using + magic standby_for_rank values. + + Because in some cases daemons would indicate this + with a beacon requesting STANDBY_REPLAY state, we + also munge these during decode to be normal STANDBY + requests with standby_replay=true. + + Signed-off-by: John Spray + (cherry picked from commit cdf8a29f81475a000824ce8942f02d9d570ec3bb) + +commit 02e3edd93c0f4ef6e0d11df1f35187f74c7ea2ff +Author: John Spray +Date: Tue Mar 22 17:44:22 2016 +0000 + + mds: remove ONESHOT_REPLAY mode + + This predated cephfs-journal-tool. Don't bother + with any backwards-compatibility mechanisms here, as + it was a seriously niche undocumented thing. + + On the off chance that someone ran an old ceph-mds against + a newer ceph-mon with oneshot enabled, it shouldn't break + anything, it just won't do what they want. + + Signed-off-by: John Spray + (cherry picked from commit edfda9c6b0a0c8b75ebff5f06017aa475339b1fd) + +commit 52ca195221ffa86b778346e847aeec817329c651 +Author: John Spray +Date: Thu Apr 7 12:53:00 2016 +0100 + + mds: remove stale comments + + A little bit of detritus from the MDS->MDSRank refactor. + + Signed-off-by: John Spray + (cherry picked from commit e9b58e7ff97646e557c5b3e2c86a067d2d136149) + +commit c1279d8ff8716a54622bf98bd29ce40faa2bf41d +Author: John Spray +Date: Thu Apr 7 12:37:08 2016 +0100 + + mds: remove inc array from mdsmap + + Instead, use the MDSMap epochs to provide the `inc` that + we populate into mds_info_t for use by the daemons. + + It is not necessary to respect the current value of inc + in old maps, because the per-rank counters were necessarily + lower numbers than the overall map epoch (incrementing + the counters always corresponded to a map change). + + Fixes: http://tracker.ceph.com/issues/15399 + Signed-off-by: John Spray + (cherry picked from commit 30a375ebf814245fbbb5155fd39d8ff673f0a32a) + +commit 9d5162fe102301bc94065f99a20b3067395dde2a +Author: John Spray +Date: Thu Sep 24 14:03:58 2015 +0100 + + test/mds: add test for symbols in paths + + Especially, hyphens. + + Signed-off-by: John Spray + (cherry picked from commit 4e9327f64e5965c57c0eeea397060dc2ab43cfbf) + +commit af3a4e4af36b5159721b634e216edcab9a171155 +Author: John Spray +Date: Tue Apr 12 02:49:32 2016 +0100 + + mds: fix auth caps with hyphen in path + + Quirk of the boost spirit char() fn, hyphens + are treated as range delimiters unless they're + the last character in the set. + + Fixes: #15465 + Signed-off-by: John Spray + (cherry picked from commit f82fa5f59a80851581573553be07e8f1620ee346) + +commit 075ee0310888d012c56c494291b873be47393e47 +Author: Abhishek Lekshmanan +Date: Tue Apr 19 15:20:53 2016 +0200 + + rgw_op: pass delete bucket op to master zone first + + Basically first ask the master to process a delete bucket request before + we process it in the zone locally, otherwise we reach a situation where + we drop the bucket locally and master will still maintain an index + + Fixes: http://tracker.ceph.com/issues/15540 + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit da6b44a6e47399493adae53ad3c36a029f1e2a23) + +commit 1527b56a888a65fa28223cd9c9cdb06d1575973c +Author: Abhishek Lekshmanan +Date: Tue Apr 19 15:20:07 2016 +0200 + + rgw: add errno entry for -ENOTEMPTY + + currently if master returns an -ENOTEMTPY, we return a -EIO as we dont + have an entry for this + + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit 40c3bfef8cc3bce7d15fbb0e135c1a909ee59368) + +commit 791eba81a5467dd5de4f1680ed0deb647eb3fb8b +Author: Alexandre Derumier +Date: Thu Apr 28 22:48:52 2016 +0200 + + fix deb package /etc/default/ceph location + + commit 7384a14f243519547a61534d22e21e6069aae016 have introduce + the /etc/default/ceph file at a wrong location : /etc/default/ceph/ceph + + (cherry picked from commit 13804fafd4c33068d8ed6d0480b594daec0f9341) + +commit d9851351aeb6d45a2df1c107b23e77c992926d0a +Author: xie xingguo +Date: Tue Apr 26 11:13:32 2016 +0800 + + mon/OSDMonitor: improve reweight_by_utilization() logic + + By calling reweight_by_utilization() method, we are aiming at an evener result + of utilization among all osds. To achieve this, we shall decrease weights of + osds which are currently overloaded, and try to increase weights of osds which + are currently underloaded when it is possible. + However, we can't do this all at a time in order to avoid a massive pg migrations + between osds. Thus we introduce a max_osds limit to smooth the progress. + + The problem here is that we have sorted the utilization of all osds in a descending + manner and we always try to decrease the weights of the most overloaded osds + since they are most likely to encounter a nearfull/full transition soon, but + we won't increase the weights from the most underloaded(least utilized by contrast) + at the same time, which I think is not quite reasonable. + + Actually, the best thing would probably be to iterate over teh low and high osds + in parallel, and do the ones that are furthest from the average first. + + Signed-off-by: xie xingguo + (cherry picked from commit e7a32534ebc9e27f955ff2d7a8d1db511383301e) + +commit b0543fdfdebc6766fe927b4cc34a4369e7f86544 +Author: xie xingguo +Date: Mon Apr 25 15:43:03 2016 +0800 + + mon/OSDMonitor: avoid potential expensive grace calculation + + The grace calculation during check_failure() is now very complicated + and time-consuming. Therefore we shall skip this when it is possible. + + Signed-off-by: xie xingguo + (cherry picked from commit 3557903d5d57642179b2ae137bedc389974b1956) + +commit 53686dfac0622a981374d448ce8229eb3984e5c2 +Author: Sage Weil +Date: Fri Apr 29 22:01:56 2016 -0400 + + mon/OSDMonitor: max_osds must be > 0 for reweight-by-* + + Include a few test cases. + + Signed-off-by: Sage Weil + (cherry picked from commit 84bd0dce18f6dd0c35d7e6cfee91ce8c5a0f4db7) + +commit ec416556e516b60ab490c424a4e45fa9ff8f8fd0 +Merge: 442c31b f4d63af +Author: John Spray +Date: Tue May 3 08:05:23 2016 -0500 + + Merge pull request #8787 from xiaoxichen/wip-15631 + + jewel: CephFSVolumeClient should isolate volumes by RADOS namespace + + Reviewed-by: John Spray + +commit 0de63455cbf662435ff57a35b9d98187091dcec7 (refs/remotes/gh/wip-sam-testing-jewel) +Author: Samuel Just +Date: Thu Apr 28 13:47:48 2016 -0700 + + OSDMonitor: avoid underflow in reweight-by-utilization if max_change=1 + + Fixes: http://tracker.ceph.com/issues/15655 + Signed-off-by: Samuel Just + (cherry picked from commit c121bc51a5a877a49094cfbd3bd16af1f3ae5090) + +commit 63738d4d154d983d98021a09daa24607df64b979 +Author: Jason Dillaman +Date: Thu Apr 28 15:53:59 2016 -0400 + + rbd: disk usage now includes all snapshots by default + + Added a new "--from-snap" optional to restrict the calculation to + specific subsets of snapshots and the HEAD revision. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 1ccdcb5b6c1cfd176a86df4f115a88accc81b4d0) + +commit 895c975651b722832befeb829a43acc55823740b +Author: Jason Dillaman +Date: Thu Apr 28 12:48:59 2016 -0400 + + librbd: block RPC requests while updating features + + Disabling the journal and object map require acquiring the exclusive + lock locally. We don't want to start executing long-running ops + for this quick process. + + Signed-off-by: Jason Dillaman + (cherry picked from commit db7aaff0f6d7a57e2b36d22b609f915f9b2b3893) + +commit 1f0056a427cd46793934c59c49aa225da2237628 +Author: Jason Dillaman +Date: Thu Apr 28 12:43:24 2016 -0400 + + librbd: return -ESHUTDOWN when a refresh is requested on a closed image + + Signed-off-by: Jason Dillaman + (cherry picked from commit ed132a1eb10e6b2eb4bc465658eb0379daca3d67) + +commit 6da1a84f16f4478ec17bdd4f50d9b0a02178c444 +Author: Jason Dillaman +Date: Thu Apr 28 12:42:49 2016 -0400 + + librbd: synchronous block_writes should return possible error result + + Signed-off-by: Jason Dillaman + (cherry picked from commit 88e76cb3c9a74b4718ad39c827f2194666f5be2a) + +commit 04ef40e7652ff05146289a6e9e15ce2290a1ee32 +Author: Jason Dillaman +Date: Thu Apr 28 11:46:20 2016 -0400 + + librbd: refresh image before executing maint op + + If a maint op is interrupted and restarted, it's possible that the + image will need to be refreshed. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 9cf6821bd9f58c181720a5c8156cec5ab33d35d4) + +commit 64cb6455f384f5ecc20abcf4d4ec6596569ac4c0 +Author: Jason Dillaman +Date: Thu Apr 28 11:10:25 2016 -0400 + + librbd: reduce log level when lock owner not detected + + This can happen under normal operating conditions and the + lock request is automatically retried. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 5a4893b7a7e50cc399696e1d0cb4d4f8785e723d) + +commit 49cfb0e48014610d04233a6c7549bbc3756dd3f6 +Author: Jason Dillaman +Date: Thu Apr 28 10:52:15 2016 -0400 + + librbd: reduce log level for interrupted maint ops + + Fixes: http://tracker.ceph.com/issues/15572 + Signed-off-by: Jason Dillaman + (cherry picked from commit 1617328402345c68bf5d54828da6d687e51ef42b) + +commit 32c09015a16ef8dee535d2c81825a2590f7f15e7 +Author: Mykola Golub +Date: Sun Apr 24 19:39:40 2016 +0300 + + qa/workunits/rbd: test mirror status in pool directory + + Signed-off-by: Mykola Golub + (cherry picked from commit f15cd51a1ddbd4079a8218bc2446a4bf68f95107) + +commit 9a30a89abc5749c37d26d39c175e51259f63caec +Author: Mykola Golub +Date: Thu Apr 21 09:52:47 2016 +0300 + + rbd-mirror: in replay status store number of entries behind master + + Signed-off-by: Mykola Golub + (cherry picked from commit e4229d1d4b163f1003e68fef1db63f796393ba23) + +commit 15a9131fd2d55191c3082c6692f5e8f714fcff71 +Author: Mykola Golub +Date: Fri Apr 15 08:42:17 2016 +0300 + + librbd: API to retrieve image mirroring status + + Signed-off-by: Mykola Golub + (cherry picked from commit a2045d61874f9e418b5b3c3136af4482603c8e7f) + +commit 98ca7f3904a9c8ff9a661f153069a8747a51431b +Author: Mykola Golub +Date: Wed Apr 6 14:57:29 2016 +0300 + + test: MockJournaler: add get_cached_client method + + Signed-off-by: Mykola Golub + (cherry picked from commit 7633407ab584ce8c7777a525554773c2a358ce5f) + +commit e57c4d8f0832abcf431029b04da43e043a479d19 +Author: Mykola Golub +Date: Tue Apr 5 14:42:09 2016 +0300 + + rbd: CLI to retrieve rbd mirror state for a pool / specific image + + Fixes: #15144 + Signed-off-by: Mykola Golub + (cherry picked from commit fe5207278d884464c05d6808245a0c4df03c441c) + +commit 6111a25448fda1824ca6b3007fcdece1970674d6 +Author: Mykola Golub +Date: Tue Apr 5 14:40:50 2016 +0300 + + rbd-mirror: store replay status in mirroring object + + Fixes: #14420 + Signed-off-by: Mykola Golub + (cherry picked from commit 52b2fe14cfc932b2aa53ce76a3150ce87ce4d377) + +commit f22514201c3b49d93593fad27360deb7b715493d +Author: Mykola Golub +Date: Tue Apr 5 14:25:11 2016 +0300 + + test: cls_rbd: methods to store/retrieve mirroring status + + Signed-off-by: Mykola Golub + (cherry picked from commit 8aefad59813489cee112f46b3fe10331bb039b57) + +commit 4a3f0d23ba4b96a28de661e219dcb52165bbbeac +Author: Mykola Golub +Date: Tue Apr 5 14:24:07 2016 +0300 + + cls::rbd:: methods to store/retrieve mirroring status + + Signed-off-by: Mykola Golub + (cherry picked from commit 17dd40df4f4201cf0c0c6d58b1728177c5ee726b) + +commit 62c60144311518e7e7947791a17608ed1765f971 +Author: Mykola Golub +Date: Fri Apr 1 08:27:03 2016 +0300 + + objclass: add method to list watchers + + Signed-off-by: Mykola Golub + (cherry picked from commit 44a31d2b770ef016271f9285447c601921b9c838) + +commit 442c31bcf73899767c7fa198427712bbdf767067 +Merge: 6e5091e d302617 +Author: Boris Ranto +Date: Mon May 2 08:35:09 2016 +0200 + + Merge pull request #8843 from SUSE/wip-msd-typo-fix-jewel + + systemd: fix typo in preset file + + Reviewed-by: Boris Ranto + +commit 125aab8dc4300dc9c67b2d4ca219cfbd60ab0924 +Author: Jason Dillaman +Date: Wed Apr 27 15:56:11 2016 -0400 + + librbd: propagate any image refresh errors back to caller + + Previously, the saved error code was only propagated when an image + flush was required. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 105ef8a24aa6ac8719f68c5a9366129ddb41ee88) + +commit 5fe4beac0ed68ebf33fa69ba7a3082d2072bb9ce +Author: Jason Dillaman +Date: Wed Apr 27 15:45:25 2016 -0400 + + librbd: avoid second close attempt of invalid parent image + + Fixes: http://tracker.ceph.com/issues/15574 + Signed-off-by: Jason Dillaman + (cherry picked from commit e91e7f8d9ce10f0d19c48facfb6318d6b49798e8) + +commit af1c0bce9184c55aa88b4082db9302239009af36 +Author: Jason Dillaman +Date: Wed Apr 27 15:22:59 2016 -0400 + + rbd-mirror: interrupting image replay startup can cause crash + + Properly shut down the journaler if a shut down has been requested + while start up is in-progress. + + Fixes: http://tracker.ceph.com/issues/15630 + Signed-off-by: Jason Dillaman + (cherry picked from commit 3a71052a5b14af34ed81f6ee77f862f576a7a5cc) + +commit 9b2c17392a2d9543f05d0cb8486183edf84eb2c3 +Author: runsisi +Date: Thu Apr 28 09:05:33 2016 +0800 + + librbd: fix potential assertion for object map invalidation + + if update_flags fails we should not go any further, or the async request + will be removed from m_image_ctx.async_requests twice + + Signed-off-by: runsisi + (cherry picked from commit dd0eb719a50e9fb24eca5a840c2e8adb53be41b2) + +commit 6e5091e454018e42ebe79bc4ec70cd24bfaeb36d +Author: Nathan Cutler +Date: Sat Apr 30 16:21:13 2016 +0200 + + systemd: fix typo in preset file + + Signed-off-by: Nathan Cutler + (cherry picked from commit 80be4a8cbf1d42232ff61494d035e7abd90c2c14) + +commit d3026174f87ede746a0ab0aa96b0efbf5e77b161 +Author: Nathan Cutler +Date: Sat Apr 30 16:21:13 2016 +0200 + + systemd: fix typo in preset file + + Signed-off-by: Nathan Cutler + (cherry picked from commit 80be4a8cbf1d42232ff61494d035e7abd90c2c14) + +commit 9cdad1f348a67e3f4daec617210340b14a2dd49a +Merge: 96b3726 37ccacf +Author: Boris Ranto +Date: Fri Apr 29 08:22:01 2016 +0200 + + Merge pull request #8801 from SUSE/wip-15633-jewel + + jewel: ceph-{mds,mon,osd} packages need scriptlets with systemd code + + Reviewed-by: Nathan Cutler + Reviewed-by: Boris Ranto + +commit 8cae07c10b9cb62af87d494724586c945f181127 +Author: runsisi +Date: Thu Apr 21 14:48:55 2016 +0800 + + librbd: fix potential double free of SetSnapRequest instance + + if image feature EXCLUSIVE_LOCK is not enabled we should not try to + initialize the exclusive lock, or we may end with two async Contexts + to finish the same SetSnapRequest instance + + Fixes: http://tracker.ceph.com/issues/15571 + Signed-off-by: runsisi + (cherry picked from commit 0a6eaac12fe29762c3dd29068f9427840cfea100) + +commit 37ccacf7d1ce57291d6cbadd416fb96aed7db36a +Author: Boris Ranto +Date: Wed Apr 27 18:10:51 2016 +0200 + + rpm: Add rpm scripts for ceph-rbd-mirror + + We are currently missing the systemd scripts for the new ceph-rbd-mirror + daemons. This patch introduces them. + + Signed-off-by: Boris Ranto + (cherry picked from commit 14652f32165f72efde569a939179fc26584ab155) + +commit c729bdd4bcb974081899c65934d3fdb9e0e96316 +Author: Boris Ranto +Date: Wed Apr 27 18:00:08 2016 +0200 + + rpm: Start all the targets in %post + + We need to have the sub-targets active for the ceph.target to be able + to propagate its calls to the services. If the sub-target is inactive, + the main target won't propagate the stop/restart calls. + + Signed-off-by: Boris Ranto + (cherry picked from commit 73f457986753b504fd088c1fa064608aa9d340c9) + +commit c72f0bc3d4fb9a3f5abfefcf8d2775721d95b33a +Author: Nathan Cutler +Date: Tue Apr 19 14:48:41 2016 +0200 + + rpm: implement scriptlets for the post-split daemon packages + + This patch gives each of the ceph-{mds,mon,osd,radosgw} packages its own + %post, %preun, and %postun scriptlets dealing with the package's unit files. + + The scriptlets of ceph-base are adapted to handle the ceph.target unit file + only. + + The scriptlets of ceph-mon handle ceph-create-keys services in addition to ceph-mon. + + The scriptlets of ceph-osd handle ceph-disk services in addition to ceph-osd. + + Fixes: http://tracker.ceph.com/issues/14941 + Signed-off-by: Nathan Cutler + Signed-off-by: Boris Ranto + (cherry picked from commit 644aba9270714e5e231ac7d7e3437477837531eb) + +commit 81f407337da18b5b555c6737e394a0e054d7c7da +Author: Nathan Cutler +Date: Tue Apr 19 14:51:01 2016 +0200 + + systemd: enable all the ceph .target services by default + + Some distros, like Fedora and openSUSE, have a policy that all services are + disabled by default. + + This patch changes that default for the ceph.target and + ceph-{mds,mon,osd,radosgw}.target services. + + Signed-off-by: Nathan Cutler + Signed-off-by: Boris Ranto + (cherry picked from commit 53b1a6799c2ce08acc8382e4aa996d1bde700316) + +commit f4d63af533b22f740d809272e2e47ebc9d8d6845 +Author: Xiaoxi Chen +Date: Wed Apr 6 22:50:05 2016 +0800 + + python_cephfs: rule out empty/None volume_id + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit 73368069dd466cdbde1ebeae97771d603ce431f5) + +commit b609017a52e3140e9ff6314b8d312a409af52a57 +Author: Xiaoxi Chen +Date: Wed Apr 6 22:45:02 2016 +0800 + + python-cephfs: use rados namespace for data isolation. + + As cephfs dir layout supports rados namespace in jewel, it would be + good to use rados namespace instead of pool, since it is free, + we always enforce namespace isolation for volumes. + + The meaning of "data_isolated" flag changed a bit, it's no longer used + for security isolation, referring to physical isolation + (i.e. potentially using different OSDs). + + Also, (de)authorize based on namespace. + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit 0e1d013ea690c18f7fa6e2a19500f854a9949091) + +commit 96b3726d74cb7bbcacdd22e0ab0fe233e4c4d829 +Author: Tamil Muthamizhan +Date: Tue Apr 26 17:34:52 2016 -0700 + + Signed-off-by: Tamil Muthamizhan + + s/ceph-deploy/ceph-tests, hence removing ceph-deploy folder + +commit 77fdbf1747d73fd809607efd3325cc38b2fbafc0 +Author: Tamil Muthamizhan +Date: Fri Apr 22 18:25:46 2016 -0400 + + Signed-off-by: Tamil Muthamizhan + + renamed the workunit and test to reflect reality and for better clarity + + (cherry picked from commit 0fd358b877c611bf67c94b4a2dacbe65e17deae9) + +commit 1fa533e83d8e541315aa4925a6192ab0401b688b +Author: Alexandre Derumier +Date: Sun Apr 24 09:55:35 2016 +0200 + + fix ceph init script + + commit 65963739cd6815b8008282c8f64cd64365662e60 have introduce a bug + + test variables need to be quoted, or -n always return true, even if variables don't exist + + (cherry picked from commit b581dd56bea09520c154611ecea91ebe399058d3) + +commit 7acbefadace28412f395bb98aec5651d5ec70666 +Author: David Zafman +Date: Mon Apr 18 18:27:52 2016 -0700 + + test: Fix ceph-objectstore-tool test to run manually from src non-cmake + + Fix init-ceph to handle it when CEPH_* values set + + Signed-off-by: David Zafman + (cherry picked from commit 5e8e03b4d030db57c93047551d5b92db0b604063) + +commit af4b31cb9770d1710d038c557d547373f58a89a8 +Author: James Page +Date: Tue Apr 5 16:58:58 2016 +0100 + + Drop --setuser/--setgroup from osd prestart + + These are not supported by /usr/lib/ceph/ceph-osd-prestart.sh, + resulting in warnings: + + ceph-osd-prestart.sh[23367]: getopt: unrecognized option '--setuser' + ceph-osd-prestart.sh[23367]: getopt: unrecognized option '--setgroup' + + --setuser and --setgroup are only needed for the ceph-osd process. + + Signed-off-by: James Page + (cherry picked from commit 74977f78840fe95b67788f3aa135ac69a2353c43) + +commit 8a86d08e38a8b68ba5e04b2cc4f59a2983481ee7 +Author: Dan van der Ster +Date: Fri Apr 22 11:19:30 2016 +0200 + + osd: fix backwards min/max osd utilization + + Signed-off-by: Dan van der Ster + (cherry picked from commit 7529851f2a186501664461916f785da8456ad612) diff --git a/doc/changelog/v10.2.10.txt b/doc/changelog/v10.2.10.txt new file mode 100644 index 00000000..8493e7f4 --- /dev/null +++ b/doc/changelog/v10.2.10.txt @@ -0,0 +1,4794 @@ +commit 5dc1e4c05cb68dbf62ae6fce3f0700e4654fdbbe +Author: Jenkins Build Slave User +Date: Wed Oct 4 14:17:25 2017 +0000 + + 10.2.10 + +commit 951609bd3033f20560230d1d3514b535cffc0fde +Merge: c4aa7c3df2 c6846df53c +Author: Jason Dillaman +Date: Tue Oct 3 15:58:17 2017 -0400 + + Merge pull request #18100 from ceph/wip-yuriw-fix-clients-jewel + + tests: Added openstack.yaml bits to enable runs on ovh nodes + + Reviewed-by: Jason Dillaman + +commit c6846df53c311ae5640a0bc28fbd752e38a745f3 +Author: Yuri Weinstein +Date: Tue Oct 3 12:50:24 2017 -0700 + + tests - Added openstack.yaml bits to enable runs on ovh nodes + + Signed-off-by: Yuri Weinstein + +commit c4aa7c3df2ead7d76aee9ed29d090c4433274af6 +Merge: 16110b985c add06614ab +Author: Yuri Weinstein +Date: Mon Oct 2 08:39:01 2017 -0700 + + Merge pull request #18044 from ceph/wip-yuriw-fix-clients-jewel + + qa: Changed distros symlink to point to supported OSs + + Reviewed-by: Sage Weil + +commit add06614ab1b8f4a99feece1225a9c2e1cde1279 +Author: Yuri Weinstein +Date: Fri Sep 29 12:29:32 2017 -0700 + + Changed distros symlink to point to supported OSs + + Signed-off-by: Yuri Weinstein + +commit 16110b985c4278b12f6884537a176cd85cfd0060 +Merge: 750e67cab8 06e8f38d21 +Author: Yuri Weinstein +Date: Fri Sep 29 10:19:25 2017 -0700 + + Merge pull request #18027 from ceph/wip-yuriw-fix-clients-jewel + + tests - Added suit to test upgraded clients against jewel ceph clusters + + Reviewed-by: Josh Durgin + Reviewed-by: Jason Dillaman + +commit 06e8f38d216c049db4339bc291f7a495f2187d78 +Author: Yuri Weinstein +Date: Thu Sep 28 14:37:03 2017 -0700 + + tests - Added suit to test upgraded clients against jewel ceph clusters + + Replaces https://github.com/ceph/ceph/pull/17981 + We need to run this suite using suite-branch option in + order to use jewel workloads agains ceph cluster luminous+ branches + + Added 'libcephfs1' to exclude_packages in upgrade_workload + + Signed-off-by: Yuri Weinstein + +commit 750e67cab8fd0498ca6d843f25007904041d49cd +Merge: 189f0c6f27 8398a8a033 +Author: Nathan Cutler +Date: Fri Sep 22 22:23:51 2017 +0200 + + Merge pull request #17892 from smithfarm/wip-p2p-s3-test + + jewel: tests: fix upgrade/jewel-x/point-to-point-x + + Reviewed-by: Casey Bodley + Reviewed-by: Yuri Weinstein + +commit 8398a8a0334718c68b9d9a04c820a875f7ec0056 +Author: Nathan Cutler +Date: Thu Sep 21 22:50:06 2017 +0200 + + qa: point-to-point-x: upgrade client.1 to -x along with cluster nodes + + The client.1 rgw in workload_x had not been upgraded to -x. + + Fixes: http://tracker.ceph.com/issues/21499 + Signed-off-by: Nathan Cutler + (cherry picked from commit afc5a7d3208071b65c0d76d124bfc47a099a446c) + +commit d377266df600586d8889ca9ab4a6b7b110fcf0dc +Author: Nathan Cutler +Date: Thu Sep 21 17:50:28 2017 +0200 + + tests: use special branch of ceph/s3-tests with pre-10.2.10 + + Jewel v10.2.10 introduces a fix for S3 ACL code, for which a new test was added + to ceph/s3-tests.git (ceph-jewel branch). Since the jewel point-to-point-x + upgrade test runs s3-tests on 10.2.7, modify the test to use a special + ceph/s3-tests branch (ceph-jewel-10-2-7) that omits the new test. + + Signed-off-by: Nathan Cutler + +commit 189f0c6f2703758a6be917a3c4086f6a26e42366 +Merge: 0ffa38ee4d de00e2bb5b +Author: Yuri Weinstein +Date: Tue Sep 19 18:03:29 2017 -0700 + + Merge pull request #17780 from smithfarm/wip-rh-74-jewel + + tests: CentOS 7.4 is now the latest + + Reviewed-by: Yuri Weinstein + +commit 0ffa38ee4d074922737485cdd28d101449560107 +Merge: 94009032a8 0cd7df3649 +Author: Nathan Cutler +Date: Tue Sep 19 14:22:52 2017 +0200 + + Merge pull request #16297 from smithfarm/wip-20518-jewel + + jewel: rbd: cli: map with cephx disabled results in error message + + Reviewed-by: Jason Dillaman + +commit 94009032a87026099fa2cf781e421508a061eb76 +Merge: d8aa3c502e d7d988d1f3 +Author: Nathan Cutler +Date: Tue Sep 19 13:33:42 2017 +0200 + + Merge pull request #17781 from smithfarm/wip-drop-11429 + + tests: Removed 11429 config + + Reviewed-by: Kefu Chai + +commit d7d988d1f3befc4443415931ee3f5c6fcb03b11a +Author: Yuri Weinstein +Date: Wed Sep 21 09:14:09 2016 -0700 + + tests: Removed 11429 config + + Signed-off-by: Yuri Weinstein + (cherry picked from fde4d3bb96abc0c0ca5bca213a0a2423f95e91a2) + + Conflicts: + Cherry-picked manually because, nowadays, we have the entire ceph-qa-suite + under qa/ in ceph/ceph.git + +commit de00e2bb5b3c5f4026fd2d63c3799572655cd73a +Author: Nathan Cutler +Date: Mon Sep 18 18:01:17 2017 +0200 + + tests: CentOS 7.4 is now the latest + + Signed-off-by: Nathan Cutler + (cherry picked from commit 2311b64025cdb6131035aaf01e7c97486da12e15) + + Conflicts + qa/distros/supported/centos_latest.yaml (renamed from centos_7.3.yaml) + +commit d8aa3c502e63462ab6a18eaed103eddfdf753855 +Merge: 2a525df77b f86dc69844 +Author: Josh Durgin +Date: Mon Sep 18 11:05:28 2017 -0700 + + Merge pull request #16473 from smithfarm/wip-20723-jewel + + jewel: osd: rados ls on pool with no access returns no error + + Reviewed-by: Kefu Chai + Reviewed-by: Brad Hubbard + +commit 2a525df77b91f5b9fdc62fa84677651e1b694bf4 +Merge: 955213635f 833c28e94f +Author: Josh Durgin +Date: Mon Sep 18 11:04:46 2017 -0700 + + Merge pull request #17626 from badone/wip-jewel-ceph-osd-flush-segfault + + jewel: core: kv: let ceph_logger destructed after db reset + + Reviewed-by: Josh Durgin + +commit 955213635f1dd84b966a67e930e99a93d7880b51 +Merge: a536aa9878 c9b42c84e1 +Author: Sage Weil +Date: Tue Sep 12 15:50:42 2017 -0500 + + Merge pull request #17677 from mslovy/wip-disable-kstore-test + + jewel: qa: disable kstore to fix false positive case + + Reviewed-by: Sage Weil + +commit a536aa98789f1c22e7d5aad241d1090ceb62f9dc +Merge: 5c5085c7fc 0215989814 +Author: Nathan Cutler +Date: Tue Sep 12 22:12:13 2017 +0200 + + Merge pull request #17597 from smithfarm/wip-21186-jewel + + jewel: rgw: rgw_file: incorrect lane lock behavior in evict_block() + + Reviewed-by: Yehuda Sadeh + +commit 5c5085c7fc1309dc1678b520d88b6b0a9d246116 +Merge: 7429f50bb5 81810c1c7a +Author: Nathan Cutler +Date: Tue Sep 12 22:11:33 2017 +0200 + + Merge pull request #17287 from smithfarm/wip-21109-jewel + + jewel: rgw: send data-log list infinitely + + Reviewed-by: Yehuda Sadeh + +commit 7429f50bb54c57356b98d103ae58aa85229c38c3 +Merge: adf2f8a5c9 9ab2e5fde0 +Author: Nathan Cutler +Date: Tue Sep 12 22:10:42 2017 +0200 + + Merge pull request #17285 from smithfarm/wip-20820-jewel + + jewel: rgw: Segmentation fault when exporting rgw bucket in nfs-ganesha + + Reviewed-by: Yehuda Sadeh + +commit adf2f8a5c9bd9eb7ee30234e83893eea647753ff +Merge: 694363a928 3c227e3f08 +Author: Nathan Cutler +Date: Tue Sep 12 22:09:25 2017 +0200 + + Merge pull request #17281 from smithfarm/wip-20818-jewel + + jewel: rgw hangs in RGWRealmReloader::reload on SIGHUP + + Reviewed-by: Yehuda Sadeh + +commit 694363a928da9e0da3a284217a65c435fb44975d +Merge: 9ac6c52bca cf65d63827 +Author: Nathan Cutler +Date: Tue Sep 12 22:08:36 2017 +0200 + + Merge pull request #17280 from smithfarm/wip-20815-jewel + + jewel: rgw: uninitialized memory is accessed during creation of bucket's metadata + + Reviewed-by: Yehuda Sadeh + +commit 9ac6c52bca7624ac9ec39b6f233ee86efe76fc11 +Merge: 6180494692 442911ebad +Author: Nathan Cutler +Date: Tue Sep 12 22:07:48 2017 +0200 + + Merge pull request #17279 from smithfarm/wip-20813-jewel + + jewel: rgw: usage logging on tenated buckets causes invalid memory reads + + Reviewed-by: Yehuda Sadeh + +commit 618049469271eba8c819743688281e02e5009f08 +Merge: 4b37232d69 881bed7862 +Author: Nathan Cutler +Date: Tue Sep 12 22:06:55 2017 +0200 + + Merge pull request #17277 from smithfarm/wip-20726-jewel + + jewel: rgw: user quota did not work well on multipart upload + + Reviewed-by: Daniel Gryniewicz + +commit 4b37232d69083d506ba5b7d3fc00b6e91a5cde31 +Merge: c1449b9a34 443e167b91 +Author: Jason Dillaman +Date: Tue Sep 12 16:05:16 2017 -0400 + + Merge pull request #17649 from dillaman/wip-21346 + + jewel: qa/workunits/rbd: relax greps to support upgrade formatting change + + Reviewed-by: Mykola Golub + +commit c1449b9a34687f873a6000f7787d047cfb3be447 +Merge: 9084ce8805 1516e24c85 +Author: Nathan Cutler +Date: Tue Sep 12 22:04:20 2017 +0200 + + Merge pull request #17166 from smithfarm/wip-20719-jewel + + jewel: rgw: Truncated objects + + Reviewed-by: Yehuda Sadeh + +commit 9084ce88053d5b256c175e0712f4a619002de742 +Merge: 89b00a8e16 c47e5abd0f +Author: Nathan Cutler +Date: Tue Sep 12 22:03:30 2017 +0200 + + Merge pull request #17165 from smithfarm/wip-20715-jewel + + jewel: rgw: radosgw-admin data sync run crash + + Reviewed-by: Yehuda Sadeh + +commit 89b00a8e1699cebc016286a528173f04faa01573 +Merge: 568cc0c25b 9b5b21def2 +Author: Nathan Cutler +Date: Tue Sep 12 22:02:29 2017 +0200 + + Merge pull request #17164 from smithfarm/wip-20712-jewel + + jewel: rgw: not initialized pointer cause rgw crash with ec data pool + + Reviewed-by: Yehuda Sadeh + +commit 568cc0c25b1d5e047338e49aa7085c45ab0fbf3e +Merge: 5b1e1cfae8 73c9d33ac0 +Author: Nathan Cutler +Date: Tue Sep 12 22:01:38 2017 +0200 + + Merge pull request #17159 from smithfarm/wip-20709-jewel + + jewel: rgw: radosgw-admin: bucket rm with --bypass-gc and without --purge-data doesn't throw error message + + Reviewed-by: Yehuda Sadeh + +commit 5b1e1cfae89d31bf33b47ba79fb9b75d451e34cd +Merge: fbae1127a6 e76198751c +Author: Nathan Cutler +Date: Tue Sep 12 22:00:54 2017 +0200 + + Merge pull request #17156 from smithfarm/wip-20673-jewel + + jewel: rgw: multisite: RGWRadosRemoveOmapKeysCR::request_complete return val is wrong + + Reviewed-by: Yehuda Sadeh + +commit fbae1127a6e7a9f4dd0822a91c8a06e5b95e3c52 +Merge: f64a82ad4d 26541c07b4 +Author: Nathan Cutler +Date: Tue Sep 12 21:58:54 2017 +0200 + + Merge pull request #17148 from smithfarm/wip-20292-jewel + + jewel: rgw: multisite: log_meta on secondary zone causes continuous loop of metadata sync + + Reviewed-by: Yehuda Sadeh + +commit f64a82ad4d931978a8cf53ca81190434da8017f6 +Merge: bd918be29c 38718ace48 +Author: Nathan Cutler +Date: Tue Sep 12 21:56:44 2017 +0200 + + Merge pull request #17147 from smithfarm/wip-20290-jewel + + jewel: rgw: rgw_file: prevent conflict of mkdir between restarts + + Reviewed-by: Yehuda Sadeh + +commit bd918be29cd31f0ef6dac64edbfaf40f38ae2e07 +Merge: 37dec0227a ff67388e24 +Author: Nathan Cutler +Date: Tue Sep 12 21:55:14 2017 +0200 + + Merge pull request #16856 from prallabh/wip-20895 + + jewel: rgw: bucket index check in radosgw-admin removes valid index + + Reviewed-by: Orit Wasserman + +commit 37dec0227a9522e730baabb9c7428f007ba9c202 +Merge: f4734fada4 5a7ea2790c +Author: Nathan Cutler +Date: Tue Sep 12 21:53:38 2017 +0200 + + Merge pull request #16767 from linuxbox2/jewel-rgw-mpart-race + + jewel: rgw : fix race in RGWCompleteMultipart + + Reviewed-by: Yehuda Sadeh + Reviewed-by: Orit Wasserman + +commit c9b42c84e1f6850adea1cb9ba52f4a2a39fe8619 +Author: Ning Yao +Date: Tue Sep 12 18:16:29 2017 +0000 + + qa: disable kstore to fix false positive case + + Signed-off-by: Ning Yao + +commit f4734fada49ee6c2d4db9cd3e1e07d6bffe54071 +Merge: d3388d4601 3e70f3d662 +Author: Nathan Cutler +Date: Tue Sep 12 18:18:40 2017 +0200 + + Merge pull request #17574 from smithfarm/wip-21297-jewel + + jewel: libradosstriper processes arbitrary printf placeholders in user input + + Reviewed-by: Josh Durgin + +commit c47e5abd0f6583bb6cf2a676e6b1194d29a96780 +Author: lu.shasha +Date: Tue Jun 27 10:53:30 2017 +0800 + + rgw: fix radosgw-admin data sync run crash + + If sync thread have run before, then run data sync init. sync_status is still remain in rados pool. so no matter sync_status exists or not, if state is StateInit, sync_status.sync_info.num_shards should be updated. + + Fixes: http://tracker.ceph.com/issues/20423 + + Signed-off-by: Shasha Lu + (cherry picked from commit c307910d7131fc290f00bb8e33876e667afb72ec) + + Conflicts: + src/rgw/rgw_data_sync.cc (no data_sync_module or instance_id in jewel) + +commit d3388d4601d12c7c1e1187251c7221bbd8b58fbb +Merge: 0277feb7d7 0a3227876c +Author: Nathan Cutler +Date: Tue Sep 12 09:36:50 2017 +0200 + + Merge pull request #16299 from smithfarm/wip-20262-jewel + + jewel: rgw: datalog trim can't work as expected + + Reviewed-by: Yehuda Sadeh + +commit 0277feb7d74a91ad7e32a7b42e3bf98d5072e72e +Merge: a683b04589 c90969031f +Author: Nathan Cutler +Date: Tue Sep 12 09:34:36 2017 +0200 + + Merge pull request #17167 from smithfarm/wip-20720-jewel + + jewel: multisite: RGWPeriodPuller does not call RGWPeriod::reflect() on new period + + Reviewed-by: Yehuda Sadeh + +commit f86dc698443bbaa6e2ad263875a17d0bccdff336 +Author: Nathan Cutler +Date: Tue Sep 12 09:30:37 2017 +0200 + + tests: use XFS explicitly in singleton-nomsgr/pool-access.yaml + + Signed-off-by: Kefu Chai + Signed-off-by: Nathan Cutler + +commit a7e1ee22b03abc40188f3745ad86534df78d757e +Author: Sage Weil +Date: Wed May 24 16:46:00 2017 -0400 + + qa/suites/rados/singleton-nomsgr: fix syntax + + This parsed out as + + tasks: + - install: null + - ceph: + conf: + osd: osd max object name len = 400 osd max object namespace len = 64 + - workunit: + clients: + all: + - rados/test_health_warnings.sh + + which is clearly not correct. + + Signed-off-by: Sage Weil + (cherry picked from 85e2f3f31d25dbfd9770cc3b1f232025df53b628) + + Conflicts: + applied changes to pool-access.yaml instead of health-warnings.yaml + +commit a683b04589763681553078bc31e7a838614bb910 +Merge: 12fa3ec34e 7966b846a8 +Author: Nathan Cutler +Date: Tue Sep 12 09:25:22 2017 +0200 + + Merge pull request #15556 from cbodley/wip-19847 + + jewel: rgw: multisite: fixes for meta sync across periods + + Reviewed-by: Yehuda Sadeh + +commit 12fa3ec34e61e43525a013920ff89757a48bb0f2 +Merge: 151c9da33d 71262f1fae +Author: Nathan Cutler +Date: Tue Sep 12 09:24:34 2017 +0200 + + Merge pull request #17155 from smithfarm/wip-20641-jewel + + jewel: rgw: multisite: lock is not released when RGWMetaSyncShardCR::full_sync() fails to write marker + + Reviewed-by: Yehuda Sadeh + +commit 151c9da33db8c59e5a9b5d7a0a97dd517322ceb1 +Merge: c049777c74 8b52105701 +Author: Nathan Cutler +Date: Tue Sep 12 09:23:43 2017 +0200 + + Merge pull request #17278 from smithfarm/wip-20728-jewel + + jewel: rgw: multipart parts on versioned bucket create versioned bucket index entries + + Reviewed-by: Yehuda Sadeh + +commit 26541c07b4d107fa7b89e2ea7da821d1aacf22ca +Author: Orit Wasserman +Date: Thu Jun 22 13:06:13 2017 +0300 + + rgw: we no longer use log_meta + + Signed-off-by: Orit Wasserman + (cherry picked from commit ac8b0077c1f53ff0037c4163489b838eebf8c247) + +commit 63df57807486a3b2fd6c4ec154f2d70fa9e88948 +Author: Orit Wasserman +Date: Thu Jun 22 10:17:37 2017 +0300 + + rgw: is_single_zonegroup doesn't use store or cct + + Signed-off-by: Orit Wasserman + (cherry picked from commit 0b0090cee249c5380efa4bb416d724a7e2dbfc08) + +commit 3eb913e488c914d86eca2a4d31b050ea18914fa2 +Author: Orit Wasserman +Date: Wed Jun 21 12:37:21 2017 +0300 + + rgw: log_meta only for more than one zone + + Fixes: http://tracker.ceph.com/issues/20357 + Signed-off-by: Orit Wasserman + (cherry picked from commit 088dba03ccc65609ef1c51306389ebcf1126ec8c) + +commit 381d85d14dc48bcea83fd10010ea1080af0e5c55 +Author: Casey Bodley +Date: Sat Jun 10 18:12:52 2017 -0400 + + rgw: only log metadata on metadata master zone + + Fixes: http://tracker.ceph.com/issues/20244 + + Signed-off-by: Casey Bodley + (cherry picked from commit b8272f3607074a2f7cbfd08f7bbc82f22cf120ba) + +commit c049777c74710bf342379e8995b31ee02282b61d +Merge: 9afc62a7cc 787ba33e5d +Author: Nathan Cutler +Date: Mon Sep 11 23:05:04 2017 +0200 + + Merge pull request #16296 from smithfarm/wip-20267-jewel + + jewel: rbd: api: is_exclusive_lock_owner shouldn't return -EBUSY + + Reviewed-by: Jason Dillaman + +commit 9afc62a7cc124dc92872779b18356aec85736f61 +Merge: dd0ead4815 475dda114a +Author: Nathan Cutler +Date: Mon Sep 11 23:04:09 2017 +0200 + + Merge pull request #17385 from dillaman/wip-19957 + + jewel: librbd: reacquire lock should update lock owner client id + + Reviewed-by: Mykola Golub + +commit dd0ead48154bbe8c0775ab2d35dec00f22c15990 +Merge: 18085bd997 c755a0fccd +Author: Nathan Cutler +Date: Mon Sep 11 23:03:29 2017 +0200 + + Merge pull request #17402 from dillaman/wip-20515 + + jewel: librbd: fail IO request when exclusive lock cannot be obtained + + Reviewed-by: Mykola Golub + +commit 18085bd9973fb2f0d0eb2b2e2209e9e193270536 +Merge: ac27f23fa6 f9acf56dce +Author: Nathan Cutler +Date: Mon Sep 11 23:02:49 2017 +0200 + + Merge pull request #17412 from dillaman/wip-18704 + + jewel: librbd: prevent self-blacklisting during break lock + + Reviewed-by: Mykola Golub + +commit 443e167b91cec0d5c7ed51ce686d6bb3ccd8d036 +Author: Jason Dillaman +Date: Thu Sep 7 08:55:27 2017 -0400 + + qa/workunits/rbd: relax greps to support upgrade formatting change + + Fixes: http://tracker.ceph.com/issues/21181 + Signed-off-by: Jason Dillaman + (cherry picked from commit 273c84578b06905229a7c6eae7b1a12bbe60de95) + + Conflicts: + qa/workunits/rbd/import_export.sh: trivial resolution + +commit a0755a760a2d5017604564389240a9c975408b30 +Author: Sage Weil +Date: Mon May 22 12:53:51 2017 -0400 + + qa/suites/rados/singleton-nomsgr/pool-access: behave on ext4 + + We may land on an ext4 root partition. + + Fixes: http://tracker.ceph.com/issues/20043 + Signed-off-by: Sage Weil + (cherry picked from 657453d34914832f6e8012fbd69200e9680bd9ff) + + Conflicts: + applied the changes to pool-access.yaml instead of health-warnings.yaml + to address a specific test failure in the jewel branch + +commit a2fd5279992770f111710edd55e323afd5803445 +Author: Kefu Chai +Date: Mon Sep 11 12:13:35 2017 +0800 + + tasks/ceph: construct CephManager earlier + + Previously, if errors occurred during healthy(), then + the finally block would invoke osd_scrub_pgs, which relies + on CephManager being constructed, and it would die, hiding + the original exception. + + Signed-off-by: John Spray + (cherry picked from commit c444db12d455a1901da8041e92f5eff1a9875170) + + Conflicts: + qa/tasks/ceph.py: the `tasks` directory was moved into + `qa` after the cherry-picked change was merged. + so apply the change manually to the ceph.py + under `qa` directory. + (cherry picked from commit bc71dabb4e311bd2461489e98e9b95d5b635effc) + +commit 833c28e94f9a71ddfdc8afbdfacc9627a1e476d6 +Author: wumingqiao +Date: Tue Jul 25 14:45:09 2017 +0800 + + kv: let ceph_logger destructed after db reset + + if ceph_logger is deleted earlier than db, it may still be used by db, which cause a segment fault. + + Signed-off-by: wumingqiao + (cherry picked from commit a5cd03c643d6cb9074dfd2952cde83435de1b9dd) + +commit ac27f23fa697c7ad9be897efc04af95e3908b5b3 +Merge: bcc85d178e 72379a4930 +Author: Nathan Cutler +Date: Sun Sep 10 21:38:15 2017 +0200 + + Merge pull request #15189 from mslovy/wip-19996-jewel + + jewel: osd: fix infinite loops in fiemap + + Reviewed-by: Josh Durgin + +commit bcc85d178e5900acbe1eaaf28de43ca53dadbb7e +Merge: 2203d42ec6 314952c589 +Author: Nathan Cutler +Date: Sun Sep 10 21:15:35 2017 +0200 + + Merge pull request #16711 from cbodley/wip-20346 + + jewel: rgw: meta sync thread crash at RGWMetaSyncShardCR + + Reviewed-by: Orit Wasserman + +commit 2203d42ec656b12c23de50874b36289354338aaa +Merge: f212b361df 2d64d090c0 +Author: Jason Dillaman +Date: Fri Sep 8 14:05:18 2017 -0400 + + Merge pull request #17552 from dillaman/wip-21279 + + jewel: test/cls_rbd: mask newer feature bits to support upgrade tests + + Reviewed-by: Mykola Golub + +commit 02159898147053fa492ec597bceb9096d160be08 +Author: Matt Benjamin +Date: Fri Aug 25 17:55:11 2017 -0400 + + rgw_file: fix LRU lane lock in evict_block() + + Found by "Supriti Singh" . + + Fixes http://tracker.ceph.com/issues/21141 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 3301596734adcbda1e8e76a742935efdeb7518fd) + +commit f212b361dfaed7f67e4b994b1f22b3c9897eeab2 +Merge: 26db2e7ff9 5adfc653dc +Author: Nathan Cutler +Date: Thu Sep 7 18:54:17 2017 +0200 + + Merge pull request #17514 from smithfarm/wip-21232-jewel + + jewel: core: interval_set: optimize intersect_of insert operations + + Reviewed-by: Sage Weil + +commit 26db2e7ff93eb351e0963e8ae25548367e2f63ff +Merge: f4a0d00032 1bd4df1d7f +Author: Nathan Cutler +Date: Thu Sep 7 18:39:58 2017 +0200 + + Merge pull request #16293 from smithfarm/wip-20460-jewel + + jewel: core: test_envlibrados_for_rocksdb.yaml fails on crypto restart + + Reviewed-by: Kefu Chai + +commit c755a0fccd007f95d709f124e931ab9758a6c93d +Author: Jason Dillaman +Date: Tue Sep 5 16:20:26 2017 -0400 + + qa/suites/rbd: fixed cache override + + Fixes: http://tracker.ceph.com/issues/21251 + Signed-off-by: Jason Dillaman + (cherry picked from commit 98061bb3d7ce6309ddb04ea4d7e9d44a7ecd09c6) + +commit 3e70f3d662e3c051352e342fe89cd3b2186f4cb5 +Author: Jesse Williamson +Date: Tue Jun 13 12:31:16 2017 -0700 + + libradosstriper: remove format injection vulnerability + + Fixes: http://tracker.ceph.com/issues/20240 + + Signed-off-by: Stan K + (cherry picked from commit e94d3b9661d287e500cdf4e6c102d2e3bb04475e) + +commit f4a0d000322992b9c67f51830a8396269a5caa1e +Merge: 00d09fce6a 1415ecbd7d +Author: Nathan Cutler +Date: Thu Sep 7 17:41:58 2017 +0200 + + Merge pull request #17084 from badone/wip-ceph-disk-dmcrypt-key-jewel + + jewel: ceph-disk: Use stdin for 'config-key put' command + + Reviewed-by: Kefu Chai + +commit 00d09fce6a81bf7c8cd62caa5e0a3de44bd0ad84 +Merge: b014f3995d cd848c1e98 +Author: Nathan Cutler +Date: Thu Sep 7 17:40:34 2017 +0200 + + Merge pull request #17008 from asheplyakov/19182-bp-jewel + + jewel: mon: fix force_pg_create pg stuck in creating bug + + Reviewed-by: Josh Durgin + +commit a4c3ef5276eb7d232f5706e6fe07b0808ee581d4 +Author: Brad Hubbard +Date: Mon May 29 19:25:43 2017 +1000 + + osd: Reverse order of op_has_sufficient_caps and do_pg_op + + Fixes: http://tracker.ceph.com/issues/19790 + + Signed-off-by: Brad Hubbard + (cherry picked from commit a921882e7c676d68ed67b54301b49fd9bed42945) + + Conflicts: + qa/suites/rados/singleton-nomsgr/all/pool-access.yaml - drop mgr.x + role, which is not needed in jewel and might even cause the test to + fail + src/osd/PrimaryLogPG.cc - this file doesn't exist in jewel, so apply + the change manually to ReplicatedPG.cc (i.e., by moving the + op->includes_pg_op() conditional below the + !op_has_sufficient_caps(op) conditional) + +commit b014f3995d7913fe5266c2e7d06f93f296e98991 +Merge: c3623149ef 53e97da166 +Author: Kefu Chai +Date: Thu Sep 7 22:51:10 2017 +0800 + + Merge pull request #17133 from smithfarm/wip-21035-jewel + + jewel: ceph-disk: systemd unit timesout too quickly + + Reviewed-by: David Disseldorp + Reviewed-by: Kefu Chai + +commit c3623149efc2b25a3509ec26b671d835a81b8c28 +Merge: 3aede767bd 713a88a5c9 +Author: Nathan Cutler +Date: Thu Sep 7 16:33:08 2017 +0200 + + Merge pull request #16316 from smithfarm/wip-20362-jewel + + jewel: rgw: VersionIdMarker and NextVersionIdMarker are not returned when listing object versions + + Reviewed-by: Casey Bodley + +commit 72379a4930edfc917a15ea1ce5ba67ec5093fd96 +Author: Sage Weil +Date: Thu Sep 15 17:29:45 2016 -0400 + + ceph_test_objectstore: disable filestore_fiemap + + This very reliably triggers a test failure for + ObjectStore/StoreTest.Synthetic/1. + + FIEMAP is bad! Do not use it! + + Signed-off-by: Sage Weil + +commit 2d64d090c05be7792c934d8a3e060e48e68da129 +Author: Jason Dillaman +Date: Tue Sep 5 21:37:16 2017 -0400 + + test/cls_rbd: mask newer feature bits to support upgrade tests + + Fixes: http://tracker.ceph.com/issues/21217 + Signed-off-by: Jason Dillaman + (cherry picked from commit aeb8f29d21625f3570e2f3e6dd26594d1a6df810) + +commit 3aede767bdc391fe6521066aade80369081d23cc +Merge: b2accb83ac e35c938208 +Author: Nathan Cutler +Date: Thu Sep 7 10:21:10 2017 +0200 + + Merge pull request #16703 from ddiss/wip-20837-jewel + + jewel: ceph-disk: don't activate suppressed journal devices + + Reviewed-by: Nathan Cutler + +commit b2accb83ac46a54669c4d0a603464ff117a66f06 +Merge: d7cc49d995 96de9d9078 +Author: Nathan Cutler +Date: Thu Sep 7 09:47:41 2017 +0200 + + Merge pull request #17396 from smithfarm/wip-21113-jewel + + jewel: cephfs: get_quota_root sends lookupname op for every buffered write + + Reviewed-by: Yan, Zheng + +commit d7cc49d9950917e7afb6c14b4b063b51e7e136b5 +Merge: ae480caf68 3adbc35205 +Author: Nathan Cutler +Date: Thu Sep 7 09:46:00 2017 +0200 + + Merge pull request #17009 from dreamhost/wip-16463-jewel + + jewel: rgw: aws4: add rgw_s3_auth_aws4_force_boto2_compat conf option + + Reviewed-by: Yehuda Sadeh + +commit ae480caf68db8e6793c8f3db663e94215c9f75ea +Merge: d4797bf193 3242b2b562 +Author: Nathan Cutler +Date: Thu Sep 7 09:42:54 2017 +0200 + + Merge pull request #16963 from smithfarm/wip-20972-jewel + + jewel: cephfs: ceph-fuse segfaults at mount time, assert in ceph::log::Log::stop + + Reviewed-by: Patrick Donnelly + +commit d4797bf193354199a3182cc2c07ac46c76d506ba +Merge: 02fef5c436 788cfa89dd +Author: Nathan Cutler +Date: Thu Sep 7 09:41:19 2017 +0200 + + Merge pull request #16952 from dreamhost/wip-20966-jewel + + jewel: rgw: radosgw-admin: fix bucket limit check argparse, div(0) + + Reviewed-by: Matt Benjamin + +commit 02fef5c43687437a4b085b9f31d2e3eb982e637c +Merge: d5e77009ac 6bd2dae193 +Author: Nathan Cutler +Date: Thu Sep 7 09:34:52 2017 +0200 + + Merge pull request #16951 from linuxbox2/jewel-aws4-plus + + jewel: rgw: replace '+' with "%20" in canonical query string for s3 v4 auth + + Reviewed-by: Orit Wasserman + +commit d5e77009acf009f1280d352ef6d0f8b6731fd3e8 +Merge: 7bdbd075a1 37b37e78f8 +Author: Nathan Cutler +Date: Thu Sep 7 09:33:25 2017 +0200 + + Merge pull request #16880 from linuxbox2/jewel-rgw-dir-suggest + + jewel: rgw: Fix up to 1000 entries at a time in check_bad_index_multipart + + Reviewed-by: Orit Wasserman + +commit 7bdbd075a11b9a8cd05eb0fd55d4787c554ac9a6 +Merge: 18e5db07f1 187e9eaa30 +Author: Nathan Cutler +Date: Thu Sep 7 09:28:03 2017 +0200 + + Merge pull request #16720 from prallabh/wip-jewel-20821 + + jewel: rgw: Do not decrement stats cache when the cache values are zero + + Reviewed-by: Orit Wasserman + +commit 5adfc653dc201ec4faa60a5f78431ab68f0f4e19 +Author: Zac Medico +Date: Sun Aug 27 05:25:01 2017 -0700 + + interval_set: optimize intersect_of for identical spans + + Optimize comparisons for identical spans of intervals. + When this patch is combined with the previous map insert + optimization, a benchmark using 400000 identical + intervals shows a 7 times performance improvement in + comparison to without the patches. + + Signed-off-by: Zac Medico + (cherry picked from commit b6a035666c2765f8895ee9991348dbc025613ed7) + +commit 54dfe8733b32401a5a561bf544d91f44a41e378f +Author: Zac Medico +Date: Fri Aug 25 09:41:07 2017 -0700 + + interval_set: optimize intersect_of insert operations + + Use the std::map insert method with hint iterator to optimize + inserts. This increases performance more than 3.5 times for + large numbers of intervals. This will help performance + especially in the PGPool::update method, where profiling data + has shown that intersection operations are a hot spot. The + following benchmark data is for 400000 intervals: + + 4 +-+--+----+----+----+----+----+----+----+----+--+-+ + P + + + + + + + + ************* + E | ******** | + R 3.5 +-+ **** +-+ + F | ****** | + O | ** | + R 3 +-+ **** +-+ + M | *** | + A | ** | + N 2.5 +-+ * +-+ + C | ** | + E | * | + 2 +-+ ** +-+ + R | ** | + A | ** | + T 1.5 +** +-+ + I |** | + O +* + + + + + + + + + + + 1 +*+--+----+----+----+----+----+----+----+----+--+-+ + 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 + + SET SIZE RATIO + + The above chart was generated using benchmark results + from the following program: + + #include + #include + #include "include/interval_set.h" + + int main(int argc, char *argv[]) + { + const int interval_count = std::stoi(argv[1]); + const int interval_distance = 4; + const int interval_size = 2; + const int sample_count = 8; + const int max_offset = interval_count * interval_distance; + interval_set a, b, intersection; + + for (int i = 0; i < max_offset; i+=interval_distance) { + a.insert(i, interval_size); + } + + for (int m = 1; m < 100; m++) { + float ratio = 1 / float(m); + + for (int i = 0; i < max_offset; i+=interval_distance*m) { + b.insert(i, interval_size); + } + + struct timeb start, end; + int ms = 0; + for (int i = 0; i < sample_count; i++) { + ftime(&start); + intersection.intersection_of(a, b); + ftime(&end); + ms += (int) (1000.0 * (end.time - start.time) + + (end.millitm - start.millitm)); + intersection.clear(); + } + b.clear(); + + std::cout << ratio << "\t" << ms << std::endl << std::flush; + } + } + + Signed-off-by: Zac Medico + (cherry picked from commit 32bc0430f70b057d1bba623252e92ab9f279028d) + +commit 18e5db07f1e81eec8a2c8483c7bcc876be0d19c9 +Merge: 44cd2b19b5 178245d543 +Author: Nathan Cutler +Date: Wed Sep 6 09:36:13 2017 +0200 + + Merge pull request #15966 from prallabh/jewel + + jewel: rgw: Custom data header support + + Reviewed-by: Orit Wasserman + +commit 44cd2b19b5ee603a96b53e8286cfc0cbd6e1fc76 +Merge: c93d2c6cd6 d90b1b3395 +Author: Nathan Cutler +Date: Wed Sep 6 09:03:50 2017 +0200 + + Merge pull request #16144 from smithfarm/wip-20364-jewel + + jewel: mon: osd crush set crushmap need sanity check + + Reviewed-by: Loic Dachary + Reviewed-by: Josh Durgin + +commit 1bd4df1d7f16b6cca02abb791acc298a1e6ec592 +Author: Kefu Chai +Date: Sat Jun 24 00:50:40 2017 +0800 + + osdc/Objecter: release message if it is not handled + + Fixes: http://tracker.ceph.com/issues/19741 + Signed-off-by: Kefu Chai + (cherry picked from commit 5c2774234c20d809d56d005b4db34070f3029684) + + Conflicts: + src/osdc/Objecter.h (in master, ms_fast_dispatch function declaration has an + "override" specifier; in jewel, this specifier is missing) + +commit 4e4b62b4c9ec8dc5eea025af31ae5761fdd127dd +Author: Kefu Chai +Date: Wed Jun 21 14:25:01 2017 +0800 + + crypto: allow PK11 module to load even if it's already initialized + + there is chance that other pieces of application loads PK11 module + already and does not finalize it before calling common_init_finish(). + + also, upon fork, PK11 module resets its entire status including `nsc_init`, + by which PK11 module tell if it is initialized or not. so the behavior + of NSS_InitContext() could be different before and after fork. that's + another reason to ignore CKR_CRYPTOKI_ALREADY_INITIALIZED error (see + NSS_GetError()). + + Fixes: http://tracker.ceph.com/issues/19741 + Signed-off-by: Kefu Chai + (cherry picked from commit fcc3effd8b447ef0c54b4c806b8f6e996d7467dd) + +commit c93d2c6cd65273eef4e9187269e5d44622af9a1c +Merge: e9eda5aa28 92eb6836bf +Author: Josh Durgin +Date: Tue Sep 5 11:13:53 2017 -0700 + + Merge pull request #17210 from dzafman/wip-20730-jewel + + jewel: core: disable skewed utilization warning by default + + Reviewed-by: Sage Weil + Reviewed-by: Josh Durgin + +commit e9eda5aa285ebf989c598b248c2c8d4fc660c6fa +Merge: e4f02b2bef 153f775441 +Author: Josh Durgin +Date: Tue Sep 5 11:12:23 2017 -0700 + + Merge pull request #16405 from dzafman/wip-20041-jewel + + jewel: osd: scrub_to specifies clone ver, but transaction include head write ver + + Reviewed-by: Josh Durgin + +commit e4f02b2befa9203a51c7f146c85539180953e451 +Merge: baa5183c52 97fdaa753e +Author: Josh Durgin +Date: Tue Sep 5 11:11:21 2017 -0700 + + Merge pull request #16169 from Vicente-Cheng/wip-20511-jewel + + jewel: osd: ReplicatedPG: solve cache tier osd high memory consumption + + Reviewed-by: Josh Durgin + +commit baa5183c524fc7af83dd46645a48e24464ab7c6e +Merge: 81097b6fa1 f49c9c777f +Author: Josh Durgin +Date: Tue Sep 5 10:55:32 2017 -0700 + + Merge pull request #16167 from Vicente-Cheng/wip-20492-jewel + + jewel: osd: omap threadpool heartbeat is only reset every 100 values + + Reviewed-by: Kefu Chai + Reviewed-by: Josh Durgin + +commit 81097b6fa1543e332f0da7cd9857cb4877c8eee1 +Merge: d639aa9136 932342c1e3 +Author: Nathan Cutler +Date: Mon Sep 4 21:10:57 2017 +0200 + + Merge pull request #16151 from Vicente-Cheng/wip-20349-jewel + + jewel: cephfs: df reports negative disk "used" value when quota exceed + + Reviewed-by: Patrick Donnelly + +commit d639aa91369c6af4956a5186dd11bfb903f01421 +Merge: b6b08b72f0 6b6620ffef +Author: Nathan Cutler +Date: Mon Sep 4 21:09:55 2017 +0200 + + Merge pull request #16150 from Vicente-Cheng/wip-20403-jewel + + jewel: mds: save projected path into inode_t::stray_prior_path + + Reviewed-by: Patrick Donnelly + +commit b6b08b72f0516b74f502bcc98ad98d01b2012f7d +Merge: bab324815d dac0ca797c +Author: Nathan Cutler +Date: Mon Sep 4 12:54:34 2017 +0200 + + Merge pull request #16141 from smithfarm/wip-20270-jewel + + jewel: tests: LibRadosMiscConnectFailure.ConnectFailure hang + + Reviewed-by: Kefu Chai + +commit bab324815da63ec395a4c036d451c7d3bb45fa99 +Merge: ecc5e960a0 3105f118bc +Author: Nathan Cutler +Date: Sat Sep 2 17:16:57 2017 +0200 + + Merge pull request #16285 from smithfarm/wip-18137-jewel + + jewel: rbd-mirror: image sync should send NOCACHE advise flag + + Reviewed-by: Jason Dillaman + Reviewed-by: Mykola Golub + +commit ecc5e960a0fdbcf9c0de7453626369938154d29c +Merge: 0d53a36ea1 f9e87fef6a +Author: Nathan Cutler +Date: Sat Sep 2 17:16:08 2017 +0200 + + Merge pull request #16295 from smithfarm/wip-20265-jewel + + jewel: rbd: cli: ensure positional arguments exist before casting + + Reviewed-by: Jason Dillaman + +commit 0d53a36ea1b547f85172b79b84a61229af69d658 +Merge: 445833be4e 24bd60136e +Author: Nathan Cutler +Date: Sat Sep 2 13:12:17 2017 +0200 + + Merge pull request #16276 from smithfarm/wip-19563-jewel + + jewel: rgw: folders starting with _ underscore are not in bucket index + + Reviewed-by: Orit Wasserman + +commit 445833be4e941e5eea106d558f02afa6dc201db2 +Merge: 182a578157 39b2b0b39a +Author: Nathan Cutler +Date: Sat Sep 2 13:09:46 2017 +0200 + + Merge pull request #16268 from cbodley/wip-16072-jewel + + jewel: rgw: rgw_common.cc: modify the end check in RGWHTTPArgs::sys_get + + Reviewed-by: Yehuda Sadeh + +commit 182a5781575183fd74f6262b3d0f5137c356ec0c +Merge: f61c562894 f16fa4b252 +Author: Nathan Cutler +Date: Sat Sep 2 13:08:21 2017 +0200 + + Merge pull request #16266 from cbodley/wip-20408 + + jewel: rgw: multipart copy-part remove '/' for s3 java sdk request header + + Reviewed-by: Matt Benjamin + +commit f61c5628944f9b2b612f080d73296678a4a7da14 +Merge: 5d3c80eef4 00a7999552 +Author: Nathan Cutler +Date: Sat Sep 2 12:50:50 2017 +0200 + + Merge pull request #15988 from cbodley/wip-jewel-15983 + + jewel: rgw: fix infinite loop in rest api for log list + + Reviewed-by: Orit Wasserman + +commit 5d3c80eef428b93edc7559709d4a2de7bd2750c1 +Merge: 6484a3bdab d3b34d3f9f +Author: Nathan Cutler +Date: Sat Sep 2 12:48:00 2017 +0200 + + Merge pull request #15449 from smithfarm/wip-19720-jewel + + jewel: rgw: rgw_file: fix size and (c|m)time unix attrs in write_finish + + Reviewed-by: Matt Benjamin + +commit 6484a3bdab941b077ae942ae207b11ac679aeedc +Merge: bd2a0c80ab d0492ea07a +Author: Sage Weil +Date: Fri Sep 1 14:27:31 2017 -0500 + + Merge pull request #17351 from liewegas/wip-prune-past-intervals-jewel + + osd: add osd_hack_prune_past_intervals + + Reviewed-by: Kefu Chai + +commit f9acf56dce26bb031cddb6676b2834b6bd426ae2 +Author: Jason Dillaman +Date: Thu Aug 31 21:30:47 2017 -0400 + + librbd: prevent self-blacklisting during break lock + + (derived from commit 5c590acaec4dd66a9a8c3aa0ec8ab904dd350216) + + Fixes: http://tracker.ceph.com/issues/18704 + Signed-off-by: Jason Dillaman + +commit d90b1b339542408fb053571b64e705be208cb3be +Author: Loic Dachary +Date: Sat Mar 18 10:04:20 2017 +0100 + + mon: osd crush set crushmap need sanity check + + The sanity check verifying the new crushmap does not remove crush rules + that are in use is not exclusive to ceph setcrushmap. + + Fixes: http://tracker.ceph.com/issues/19302 + + Signed-off-by: Loic Dachary + (cherry picked from commit ed760457bf154c10adf75c6df046eecab7eb8e4b) + +commit 2e7ddedf8acdd7a19753a0c376e9f29535329843 +Author: songbaisen +Date: Thu Mar 31 11:39:44 2016 +0800 + + crush: when take place the crush map should consider the rule is in used + + Signed-off-by: song baisen song.baisen@zte.com.cn + + (cherry picked from commit 09bf6f2858d09c8c314a8c242a9c70d2834718dc) + +commit 26984b0b0506958da340b94e3a05eac348f20f2a +Author: Jason Dillaman +Date: Thu Aug 31 08:03:03 2017 -0400 + + librbd: fix missing write block validation in IO work queue + + (derived from commit 8e76ebd93fd7525f6909a7da178e9b92c98e1ebe) + + Signed-off-by: Jason Dillaman + +commit 79f220d08063077b08cda3acc447f30790ee9dfd +Author: Jason Dillaman +Date: Tue Jun 27 14:05:58 2017 -0400 + + qa/suites/rbd: test dynamic features with cache disabled + + The journaling logic follows different paths depending on the + cache configuration. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 57a507d845339e9052122755bd460eb6d61d6060) + +commit 412f75a8f8203f236c1eb9f52da8876e476a052f +Author: Jason Dillaman +Date: Tue Jun 27 14:03:34 2017 -0400 + + qa/tasks/qemu: rbd cache is enabled by default + + Signed-off-by: Jason Dillaman + (cherry picked from commit fdc4c9221f2c54d5fb55e74491ebc5165f73e776) + +commit edf8b584f0856f6181579aa1b531963ad06ebbea +Author: Jason Dillaman +Date: Thu Aug 31 09:48:47 2017 -0400 + + test: unit tests for librbd IO work queue failure path + + (derived from commit 6e23ef358f29ca65a2a6b08b133416415e117b06) + + Signed-off-by: Jason Dillaman + +commit 1c8bd5f44a0a006094235254504772ae8eb90547 +Author: Jason Dillaman +Date: Thu Aug 31 09:31:02 2017 -0400 + + librbd: cleanup interface between IO work queue and IO requests + + This will help mock the testing of the IO work queue + + (derived from commit e0834d12e91bf085a5c9503f1c69a2bee2d21edf) + + Signed-off-by: Jason Dillaman + +commit 75f0bb9e7bbdea0fa6d15d253139f0583be6abea +Author: Jason Dillaman +Date: Thu Jun 22 13:31:10 2017 -0400 + + common: improve the ability to mock PointerWQ classes + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2d90bd8fdb30705d05569d242fc0cc4e36a2c7db) + + Conflicts: + src/common/WorkQueue.h: trivial resolution + src/librbd/AioImageRequestWQ.cc: file renamed + +commit fbfafb75c70a1455e102bf09623e1f1d8cf2074f +Author: Jason Dillaman +Date: Thu Aug 31 07:51:37 2017 -0400 + + librbd: exclusive lock failures should bubble up to IO + + (derived from commit 048d475127b600b6a40bd5e0c3a0daf8133294f4) + + Signed-off-by: Jason Dillaman + +commit 8fb8eb61dd8b2e44cb10da9b28fa334267784e2f +Author: Jason Dillaman +Date: Wed Aug 30 22:08:15 2017 -0400 + + librbd: directly inform IO work queue when locks are required + + Due to lock dependency issues between librbd locks and the the thread + pool lock, it's impossible to directly determine if the lock is + required within the _void_dequeue method. Therefore, this state needs + to be internally tracked by the work queue. + + (derived from commit 4a525671b3541a0a208dd039ac96f42bc8fca2cc) + + Signed-off-by: Jason Dillaman + +commit 4509765fee20aab082dfbb2ba02cf76f796d6292 +Author: Jason Dillaman +Date: Wed Aug 30 21:16:56 2017 -0400 + + librbd: clean up variable naming in IO work queue + + (derived from commit 9d8ae624858beb6fdc8ee2674b8e8d9b9cf14cbe) + + Signed-off-by: Jason Dillaman + +commit 08c63b3d0c8a3c68f68ded0b9122c5e094d362ef +Author: Jason Dillaman +Date: Thu Aug 31 08:25:29 2017 -0400 + + librbd: convert ImageRequestWQ to template + + (derived from commit b9569585fab5654b6c29552c5eb009dcddfaaa3b) + + Signed-off-by: Jason Dillaman + +commit 42780a8228da1440d7f3f44a09cddf3b88b90223 +Author: Ning Yao +Date: Mon Aug 28 15:48:50 2017 +0000 + + os:kstore fix unittest for FiemapHole + + kstore always return [0, object_size] regardless of offset and length + + Signed-off-by: Ning Yao + (cherry picked from commit dddae89fa7956fdfca1c09910b4e5b42ecbd22cf) + +commit 96de9d9078e5f638c74fdc68322ac4a199011597 +Author: Dan van der Ster +Date: Thu Aug 10 11:33:46 2017 +0200 + + client: skip lookupname if writing to unlinked file + + When a client writes to an unlinked file, get_quota_root tries to + resolve the filename via an MDS lookupname op. The op always results in + -13 permission denied for path-restricted caps or -2 no such file or + directory otherwise. More importantly, the repeated lookupname ops slow + down buffered writes significantly. + + Don't do the lookupname for unlinked files; use the root_ancentor's + quota instead. + + Fixes: http://tracker.ceph.com/issues/20945 + Backport: jewel, luminous + Signed-off-by: Dan van der Ster + (cherry picked from commit 1d617eee2e8c32f7300cb2cb8dd37b3714a4699f) + +commit bd2a0c80ab1827f1ecdb349b6ebc65c4ad519322 +Merge: 05df53404b e9e7850b51 +Author: Nathan Cutler +Date: Thu Aug 31 10:24:21 2017 +0200 + + Merge pull request #16059 from vumrao/wip-vumrao-20353 + + jewel: osd: Add heartbeat message for Jumbo Frames (MTU 9000) + + Reviewed-by: Josh Durgin + +commit 05df53404b0e05cefe46d30174df71b53714f7f2 +Merge: 1b3c3c7f65 0068d9f333 +Author: Nathan Cutler +Date: Thu Aug 31 10:23:00 2017 +0200 + + Merge pull request #15726 from asheplyakov/20314-bp-jewel + + jewel: mon: fail to form large quorum; msg/async busy loop + + Reviewed-by: Josh Durgin + Reviewed-by: Haomai Wang + +commit 475dda114a7e25b43dc9066b9808a64fc0c6dc89 +Author: Jason Dillaman +Date: Wed Aug 30 20:59:20 2017 -0400 + + librbd: reacquire lock should update lock owner client id + + (derived from commit 21ce5e16703776cbae20ac981dff4ec7cc2bc9c8) + + Fixes: http://tracker.ceph.com/issues/19957 + Signed-off-by: Jason Dillaman + +commit d0492ea07abcc8652f9c713deaae792ef68dc491 +Author: Sage Weil +Date: Thu Nov 24 18:08:49 2016 -0500 + + osd: add osd_hack_prune_past_intervals + + Last ditch (but dangerous) method of reducing memory usage for + past_intervals, which can help very very unhappy clusters recovery. + A properly implemented version of this is in luminous. This hacky + version was used successfully to recover multiple jewel-based clusters, + but is still only recommended for use when the OSD is otherwise unable + to recover. + + This change is not cherry-picked from master because luminous implements + a more sophisticated version of this that changes the past intervals + representation entirely, but it is too invasive to backport. This + workaround to prune just on startup should be sufficient for emergencies. + + Signed-off-by: Sage Weil + +commit 1b3c3c7f655b53b205a81d48d3fa5e6072d4cec5 +Merge: 4fcd7eea45 4be3db5973 +Author: Nathan Cutler +Date: Tue Aug 29 18:51:27 2017 +0200 + + Merge pull request #15719 from Vicente-Cheng/wip-20146-jewel + + jewel: rgw: 'gc list --include-all' command infinite loop the first 1000 items + + Reviewed-by: Casey Bodley + +commit 4fcd7eea45bc5158fd04b3b2bd8da717a59932b5 +Merge: ed19fdfc1c b786f7815b +Author: Nathan Cutler +Date: Tue Aug 29 18:50:21 2017 +0200 + + Merge pull request #15477 from smithfarm/wip-19767-jewel + + jewel: rgw: Delete non-empty bucket in slave zonegroup + + Reviewed-by: Casey Bodley + +commit ed19fdfc1ce39f9cf127748e607ed0439a209f7c +Merge: da648d66eb 7bf8b854ab +Author: Nathan Cutler +Date: Tue Aug 29 13:32:21 2017 +0200 + + Merge pull request #16015 from asheplyakov/19208-bp-jewel + + jewel: osd: osd_internal_types: wake snaptrimmer on put_read lock, too + + Reviewed-by: Josh Durgin + +commit da648d66eb67b608d7812d6b75c77df403c21fae +Merge: 879a650f20 52a00b3bff +Author: Nathan Cutler +Date: Tue Aug 29 13:31:05 2017 +0200 + + Merge pull request #15762 from smithfarm/wip-17385-jewel + + jewel: ceph cli: Rados object in state configuring race + + Reviewed-by: Kefu Chai + +commit 879a650f20ae74df389dfc58720c119bd6ee7330 +Merge: 2a8e0f6695 21b00c3ec0 +Author: Nathan Cutler +Date: Tue Aug 29 13:28:29 2017 +0200 + + Merge pull request #15474 from smithfarm/wip-19559-jewel + + jewel: osd: objecter full_try behavior not consistent with osd + + Reviewed-by: Josh Durgin + +commit 2a8e0f6695c3f32c6e2a4c1230dce1db037a355a +Merge: c40316e9d3 3fa277b479 +Author: Nathan Cutler +Date: Tue Aug 29 09:15:37 2017 +0200 + + Merge pull request #15947 from asheplyakov/20428-bp-jewel + + jewel: osd: unlock sdata_op_ordering_lock with sdata_lock hold to avoid missing wakeup signal + + Reviewed-by: Josh Durgin + Reviewed-by: Liu-Chunmei + Reviewed-by: Xie Xingguo + +commit c40316e9d3c4c230da234ffdeac6e4a3307a9243 +Merge: 3ec5cd9c61 648dfa1e93 +Author: Nathan Cutler +Date: Tue Aug 29 09:04:24 2017 +0200 + + Merge pull request #15475 from tchaikov/wip-16239-jewel + + qa: add a sleep after restarting osd before "tell"ing it + + Reviewed-by: Nathan Cutler + +commit 3ec5cd9c61294a4b5ed4d17357f60b1544beb532 +Merge: 0916352610 5adc66bc2a +Author: Nathan Cutler +Date: Tue Aug 29 08:56:01 2017 +0200 + + Merge pull request #15473 from smithfarm/wip-20080-jewel + + jewel: build/ops: rpm: set subman cron attributes in spec file + + Reviewed-by: Ken Dreyer + Reviewed-by: Thomas Serlin + +commit 0916352610200ddd2a9b6bbe2dbba5d8ca4d470a +Merge: 988559b4e2 36b1a35a44 +Author: Nathan Cutler +Date: Mon Aug 28 22:34:52 2017 +0200 + + Merge pull request #15460 from smithfarm/wip-17843-jewel + + jewel: rbd: object-map: batch updates during trim operation + + Reviewed-by: Jason Dillaman + Reviewed-by: Mykola Golub + +commit 988559b4e286360b3cc10ac0c6aa9238b98884dd +Merge: 5d8ea26ebb b9ce1aa618 +Author: Nathan Cutler +Date: Mon Aug 28 22:33:13 2017 +0200 + + Merge pull request #15488 from dillaman/wip-20023-jewel + + jewel: rbd: rbd-mirror: ensure missing images are re-synced when detected + + Reviewed-by: Jason Dillaman + Reviewed-by: Mykola Golub + +commit 5d8ea26ebb51656ef435b3ae932bb172af9407f7 +Merge: 9d1b08e619 5c53ae3f9a +Author: Nathan Cutler +Date: Mon Aug 28 22:32:04 2017 +0200 + + Merge pull request #15602 from tchaikov/wip-20175-jewel + + jewel: tests: decouple ceph_test_librbd_api from libceph-common + + Reviewed-by: Jason Dillaman + +commit 9d1b08e6191d55027e9573ab721a320a67453d24 +Merge: cccacd7e0f 61f132078a +Author: Nathan Cutler +Date: Mon Aug 28 22:31:09 2017 +0200 + + Merge pull request #16124 from smithfarm/wip-19174-jewel + + jewel: rbd: rbd_clone_copy_on_read ineffective with exclusive-lock + + Reviewed-by: Jason Dillaman + +commit 178245d543d680bbdc7f2da07c431fc745da1143 +Author: Pavan Rallabhandi +Date: Fri Apr 14 21:42:45 2017 +0530 + + rgw: add a field to store generic user data in the bucket index, + that can be populated/fetched via a configurable custom http header + + Signed-off-by: Pavan Rallabhandi + (cherry picked from commit abca7a86c3cfbb58fafb5d057d9d6f5017a53704) + + Conflicts: + src/rgw/rgw_op.cc + Number of arguments to RGWPutObjProcessor_Multipart::do_complete has been changed in master with an extra field accounted_size added, which is not required in Jewel. + Number of arguments for the processor->complete() has been changed in master, which is not required in Jewel. + + src/rgw/rgw_op.h + A new member field `crypt_http_responses` is added in the class `RGWPutObj` in master, which is not required in Jewel. + + src/rgw/rgw_rados.cc + In the function RGWPutObjProcessor::complete() there is an extra argument to do_complete() in master, which is not required in Jewel. + In the function RGWPutObjProcessor_Atomic::do_complete, a call to obj_op.write_meta has accounted_size, which is not required in Jewel. + There is an extra argument accounted_size in RGWRados::Bucket::UpdateIndex::complete in master, which is not required in Jewel. + In RGWRados::Bucket::UpdateIndex::complete, RGWObjEnt has been removed in master, which has to be retained in Jewel. + In RGWRados::cls_obj_complete_op, user_data is added to the rgw_bucket_dir_entry_meta structure. + In RGWRados::cls_bucket_list, the user_data field of RGWObjEnt is populated. + + src/rgw/rgw_rados.h + In UpdateIndex::complete(), remove_objs is of type rgw_obj_key in Jewel instead of rgw_obj_index_key + Corrected various function declarations as appropriate. + RGWPutObjProcessor_Multipart is not part of this file in Jewel. + + src/rgw/rgw_rest_swift.cc + In RGWListBucket_ObjStore_SWIFT::send_response(), accounted_size is not required in Jewel. + + src/rgw/rgw_common.h + Add user_data field in RGWObjEnt structure. + + src/rgw/rgw_json_enc.cc + Add user_data field while dumping RGWObjEnt. + +commit cccacd7e0fb7422e18020b919ad10bac8152b9e8 +Merge: 006804ab68 c2137f2f72 +Author: Nathan Cutler +Date: Mon Aug 28 11:03:32 2017 +0200 + + Merge pull request #15760 from smithfarm/wip-20325-jewel + + libradosstriper silently fails to delete empty objects in jewel + + Reviewed-by: Josh Durgin + +commit 006804ab68818e73bdf822aa5994346b40cc6add +Merge: 14a52865da 2efd7cd6f3 +Author: Nathan Cutler +Date: Mon Aug 28 10:50:27 2017 +0200 + + Merge pull request #16061 from weiqiaomiao/wqm-wip-ceph-disk-jewel + + jewel: ceph-disk: remove the special check to bcache devices + + Reviewed-by: Loic Dachary + Reviewed-by: Zhu Shangzhong + +commit 14a52865da4de99b445560356533d7128df382d6 +Merge: d9bbf8c6e6 a3c487448b +Author: Nathan Cutler +Date: Mon Aug 28 10:47:59 2017 +0200 + + Merge pull request #15503 from Vicente-Cheng/wip-20011-jewel + + jewel: tools: ceph-disk: separate ceph-osd --check-needs-* logs + + Reviewed-by: Nathan Cutler + +commit 187e9eaa30514c93cd8e982ff67ddb6502810af9 +Author: Aleksei Gutikov +Date: Mon Aug 21 17:04:45 2017 +0300 + + rgw: Prevent overflow of stats cached values + + Signed-off-by: Pavan Rallabhandi + Fixes: http://tracker.ceph.com/issues/20934 + Signed-off-by: Aleksei Gutikov + (cherry picked from commit 634215eea1ddd4e4f5dc0066c4a2e745cfc20475) + + Conflicts: + src/rgw/rgw_quota.cc + Have the quota stats structures to reflect rounded values in KB and honor the signed integer values + +commit 59854a158e8df803013ba1266d414af67feebac1 +Author: Pavan Rallabhandi +Date: Tue Jul 18 14:40:04 2017 +0530 + + rgw: Do not decrement stats cache when the cache values are zero + + With RGWs configured in a load balancer, there is a possibility of + having the cached values going unbound, when PUT/DELETE operations + do not land up on the same RGW. To avoid such cases, make sure the + decrement of stats happen only when the cached values are sane. + + Fixes: http://tracker.ceph.com/issues/20661 + Signed-off-by: Pavan Rallabhandi + (cherry picked from commit 3903e213c7ac7624e3452f5f3b1ca1c339bf2ca2) + + Conflicts: + src/rgw/rgw_quota.cc + +commit 81810c1c7aa03a353975db500abeb1163e38fde7 +Author: fang.yuxiang +Date: Wed Aug 9 11:48:53 2017 +0800 + + rgw: break sending data-log list infinitely + + radosgw send data-log list infinitely when opposite end trimmed the data-log and in quiescence. + Fixes: http://tracker.ceph.com/issues/20951 + + Signed-off-by: fang yuxiang fang.yuxiang@eisoo.com + (cherry picked from commit 40db1fdbc7b24d56b2c7b463238e6b96f2d4bbd9) + +commit 9ab2e5fde02b705658d4e763519282cad3f0b173 +Author: Matt Benjamin +Date: Thu Jul 20 08:18:22 2017 -0400 + + rgw_file: properly & |'d flags + + Found by "Supriti Singh" . + + Fixes http://tracker.ceph.com/issues/20663 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 5f838c05c72ad46ce01884a916f81275ef43dacd) + +commit d3b34d3f9fece0d12c19132852dcb2c9b38e29d5 +Author: Matt Benjamin +Date: Tue Apr 18 09:19:13 2017 -0400 + + rgw_file: pre-compute unix attrs in write_finish() + + New serialized Unix attrs need to reflect the change being made, + and should be reverted if the change fails. + + Fixes: http://tracker.ceph.com/issues/19653 + + Signed-off-by: Matt Benjamin + (cherry picked from commit ed91d23ccaaac4e72a4c28a58e77485395949f04) + + Conflicts: + src/rgw/rgw_file.cc (processor->complete() takes different arguments in + jewel than in master) + +commit d9bbf8c6e6d6c2a8b978a5f31cdb0c5c52184d0f +Merge: de27247717 ab2d3582f4 +Author: Nathan Cutler +Date: Sun Aug 27 18:10:39 2017 +0200 + + Merge pull request #14874 from ceph/wip-19805-jewel + + jewel: rbd: default features should be negotiated with the OSD + + Reviewed-by: Mykola Golub + Reviewed-by: Jason Dillaman + +commit de2724771785b190cff88996bb09097413a08e84 +Merge: d3677e9f50 618a82e11e +Author: Nathan Cutler +Date: Sun Aug 27 18:09:03 2017 +0200 + + Merge pull request #14977 from dillaman/wip-19873-jewel + + jewel: rbd: rbd-mirror: failover and failback of unmodified image results in split-brain + + Reviewed-by: Mykola Golub + +commit d3677e9f5054362b70f9569a47967930b954a67c +Merge: d47a2e05cf b63b7886dc +Author: Nathan Cutler +Date: Sun Aug 27 17:53:15 2017 +0200 + + Merge pull request #15461 from smithfarm/wip-19795-jewel + + jewel: tests: test_notify.py: assert(not image.is_exclusive_lock_owner()) on line 147 + + Reviewed-by: Jason Dillaman + Reviewed-by: Mykola Golub + +commit d47a2e05cf4004bb4d7ea2a1c20642d17e2f3b14 +Merge: 27fd5ec473 5c0986153e +Author: Nathan Cutler +Date: Sun Aug 27 17:51:35 2017 +0200 + + Merge pull request #15463 from smithfarm/wip-20017-jewel + + jewel: rbd: rbd-nbd: kernel reported invalid device size (0, expected 1073741824) + + Reviewed-by: Jason Dillaman + Reviewed-by: Mykola Golub + +commit 27fd5ec4739b87e260bd337ddfe9593943b5f802 +Merge: 2b759d2f74 bc8c5d6c77 +Author: Nathan Cutler +Date: Sun Aug 27 17:49:36 2017 +0200 + + Merge pull request #15464 from smithfarm/wip-20153-jewel + + jewel: rbd: Potential IO hang if image is flattened while read request is in-flight + + Reviewed-by: Jason Dillaman + Reviewed-by: Mykola Golub + +commit 3c227e3f086cbfbfff23d11515d9261906c7219d +Author: fang.yuxiang +Date: Wed Jul 19 18:49:11 2017 +0800 + + rgw: fix rgw hang when do RGWRealmReloader::reload after go SIGHUP + + Quota async processer reference count err when bucket has no explicit shard + + Fixes: http://tracker.ceph.com/issues/20686 + + Signed-off-by: fang yuxiang fang.yuxiang@eisoo.com + (cherry picked from commit 957b9bdee2024723da240e488b17d777942ac77d) + + Conflicts: + src/rgw/rgw_rados.cc - master has diverged from jewel; applied change + manually to the RGWGetBucketStatsContext ctor call + +commit cf65d638277b8cb36e70a0eae96dfbd47ca0bf37 +Author: Radoslaw Zarzynski +Date: Wed Jul 26 08:16:11 2017 -0400 + + rgw: rgw_website.h doesn't assume inclusion of the std namespace anymore. + + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 06f18c163ec843f1fc852f078f539e1821644506) + +commit c348ec29947c034779937d6611f4d15545fd3e44 +Author: Radoslaw Zarzynski +Date: Wed Jul 26 08:12:30 2017 -0400 + + rgw: never let http_redirect_code of RGWRedirectInfo to stay uninitialized. + + Fixes: http://tracker.ceph.com/issues/20774 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 6318b4990fe7fe8f25fff4755eee64fef069dee9) + +commit 442911ebad8a4b6f69fb9caa2e1f7e44486de166 +Author: Radoslaw Zarzynski +Date: Wed Jul 26 09:25:36 2017 -0400 + + rgw: fix the UTF8 check on bucket entry name in rgw_log_op(). + + Fixes: http://tracker.ceph.com/issues/20779 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit e9a787163080474a1d1a3b8db4db824161326982) + +commit 8b52105701e8bbc5e3eb2cc1b251e739376540df +Author: Zhang Shaowen +Date: Thu Apr 13 17:14:48 2017 +0800 + + rgw: fix the bug that part's index can't be removed after completing + multipart upload when the bucket versioning is enabled. + + Fixes: http://tracker.ceph.com/issues/19604 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit decc01e2b1be9e4f809ff052149e1e6377c35047) + +commit 881bed78620a2c55c9530abefab433c7341895b9 +Author: Zhang Shaowen +Date: Wed Nov 16 10:52:54 2016 +0800 + + rgw: Fix a bug that multipart upload may exceed quota ... + + ... because of improperly operation to the cache. + + Fixes: http://tracker.ceph.com/issues/19602 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit ffe95d3c11f05937109b72e8e54c0cfb7dc09a36) + + Conflicts: + src/rgw/rgw_rados.cc - jewel does not have 885606c76cf8009570098cde48c0a23a21e6020d + so use state->size instead of state->accounted_size + +commit 2b759d2f74f3870c96c33de62d304b703141beb2 +Merge: f024855cae 89a2f6476d +Author: Nathan Cutler +Date: Sat Aug 26 19:43:55 2017 +0200 + + Merge pull request #15455 from smithfarm/wip-19838-jewel + + jewel: rgw: reduce log level of 'storing entry at' in cls_log + + Reviewed-by: Casey Bodley + +commit f024855cae7c41c3ef61365333672932369ff409 +Merge: ccf9d7109a 938e5b0728 +Author: Nathan Cutler +Date: Sat Aug 26 19:42:23 2017 +0200 + + Merge pull request #15456 from smithfarm/wip-20003-jewel + + jewel: rgw: rgw_file: v3 write timer does not close open handles + + Reviewed-by: Matt Benjamin + +commit ccf9d7109a74875107736c017999437d233814d4 +Merge: 9302a44a69 8cf3f18c7a +Author: Nathan Cutler +Date: Sat Aug 26 19:38:29 2017 +0200 + + Merge pull request #15457 from smithfarm/wip-20018-jewel + + jewel: rgw: multisite: memory leak on failed lease in RGWDataSyncShardCR + + Reviewed-by: Casey Bodley + +commit 9302a44a69eb29d27b184eba76b9c9df613e6e3e +Merge: dea17eaa1a 0897afe74d +Author: Nathan Cutler +Date: Sat Aug 26 19:33:42 2017 +0200 + + Merge pull request #15459 from smithfarm/wip-20144-jewel + + jewel: rgw: rgw_file: cannot delete bucket w/uxattrs + + Reviewed-by: Matt Benjamin + +commit dea17eaa1ab5cdc712b18567c1fed702ee655c2f +Merge: e335808d26 2e278d821d +Author: Nathan Cutler +Date: Sat Aug 26 19:32:40 2017 +0200 + + Merge pull request #15465 from smithfarm/wip-20155-jewel + + jewel: rgw: fix crash caused by shard id out of range when listing data log + + Reviewed-by: Casey Bodley + +commit 36b1a35a449d7d1e0b3e506e021fc6bdb274750c +Author: Nathan Cutler +Date: Sat Aug 26 10:06:25 2017 +0200 + + librbd: clean up object map update interface, revisited + + In master, the "batch update" change [1] was merged before the "order + concurrent updates" [2], while in jewel the latter is already + backported [3]. A backport of [1] to jewel was attempted, and was + necessarily applied on top of [3] - i.e. in the reverse order compared + to how the commits went into master. This reverse ordering caused the + automated cherry-pick to miss some parts of [1] which this commit is + adding manually. + + [1] https://github.com/ceph/ceph/pull/11510 + [2] https://github.com/ceph/ceph/pull/12420 + [3] https://github.com/ceph/ceph/pull/12909 + + Signed-off-by: Mykola Golub + Signed-off-by: Nathan Cutler + +commit ca5577853cacb76ee46d50d644884102353caa21 +Author: Venky Shankar +Date: Sat Oct 15 17:18:30 2016 +0530 + + librbd: batch ObjectMap updations upon trim + + Shrinking a clone which has snapshots and does not share + majority of objects with its parent (i.e., there are less + objects to be copied up) involves huge number of object + map updates -- two (pre, post) per object. This results + in lots of requests to be send to OSDs especially when + trimming a gigantus image. This situation can be optimized + by sending batch ObjectMap updates for an object range + thereby significantly cutting down OSD traffic resulting + in faster trim times. + + Fixes: http://tracker.ceph.com/issues/17356 + Signed-off-by: Venky Shankar + (cherry picked from commit 05653b7c512334533b801013f7e426363237301b) + +commit e335808d267435414dc1351e0f2e99e773fce805 +Merge: 47e3ff8408 244a2ae6a9 +Author: Patrick Donnelly +Date: Fri Aug 25 14:26:21 2017 -0700 + + Merge PR #16248 into jewel + + * refs/remotes/upstream/pull/16248/head: + client: don't re-send interrupted flock request + mds/flock: properly remove item from global_waiting_locks + mds/flock: properly update ceph_lock_state_t::client_waiting_lock_counts + mds/flock: don't import ceph_lock_state_t::waiting_locks + + Reviewed-by: Zheng Yan + +commit 47e3ff8408af027fe60f1260c3c46c7ac7f8135b +Merge: aec54d8ecd 01890abd95 +Author: Nathan Cutler +Date: Fri Aug 25 20:09:58 2017 +0200 + + Merge pull request #15454 from smithfarm/wip-19775-jewel + + jewel: rgw: multisite: realm rename does not propagate to other clusters + + Reviewed-by: Orit Wasserman + +commit aec54d8ecdf3bfdb39b3f03a9e3971f78c13d4d4 +Merge: 494c634c23 a36211c84d +Author: Nathan Cutler +Date: Fri Aug 25 20:09:15 2017 +0200 + + Merge pull request #15453 from smithfarm/wip-19768-jewel + + jewel: rgw: multisite: operating bucket's acl&cors is not restricted on slave zone + + Reviewed-by: Casey Bodley + +commit 494c634c236dff709b1d6856b5f25c419a0ec067 +Merge: 0da1195f5f afd036cb67 +Author: Nathan Cutler +Date: Fri Aug 25 20:08:26 2017 +0200 + + Merge pull request #15452 from smithfarm/wip-19765-jewel + + jewel: rgw: when uploading objects continuously into a versioned bucket, some objects will not sync + + Reviewed-by: Casey Bodley + +commit 0da1195f5f2f6d272c6da5ed4583f11246da07c4 +Merge: beb6e229b4 50f140768d +Author: Nathan Cutler +Date: Fri Aug 25 20:06:37 2017 +0200 + + Merge pull request #15451 from smithfarm/wip-19764-jewel + + jewel: rgw: set latest object's acl failed + + Reviewed-by: Casey Bodley + +commit beb6e229b48d4d9f8c4feb18fa0868aa03109f0c +Merge: 88126f86bf 61df8eaa02 +Author: Nathan Cutler +Date: Fri Aug 25 20:05:54 2017 +0200 + + Merge pull request #15450 from smithfarm/wip-19758-jewel + + jewel: rgw: multisite: after CreateBucket is forwarded to master, local bucket may use different value for bucket index shards + + Reviewed-by: Casey Bodley + +commit 92eb6836bfb3350f11fcc2d55a4710be45a34e4f +Author: David Zafman +Date: Wed Aug 23 15:31:50 2017 -0700 + + config: disable skewed utilization warning by default + + This has a few problems: + + 1- It does not do it's analysis over CRUSH rule roots/classes, which + means that an innocent user of classes will see skewed usage (bc hdds are + more full than ssds, say) + + 2- It does not take degraded clusters into account, which means the warning + will appear when a fresh OSD is added. + + See http://tracker.ceph.com/issues/20730 + + Based on master commit 7832c53 but we've decided not to remove the code + in the older releases so it can be used if appropriate for a + particular cluster configuration. Also, 7832c53 won't cleanly + cherry-pick so this is easier. + + Signed-off-by: David Zafman + +commit 88126f86bf240db8bd4573832a75709a8ae8ddba +Author: Sage Weil +Date: Thu Aug 24 10:27:22 2017 -0400 + + qa/workunits/rados/test-upgrade-v11.0.0: skip ListObjectsError + + Signed-off-by: Sage Weil + +commit 8199f3998f01ae31c4ae88fda7cd0b4704ae7c8e +Author: Sage Weil +Date: Thu Aug 24 10:20:00 2017 -0400 + + qa/workunits/rados/test-upgrade-v11.0.0: skip more tests + + Signed-off-by: Sage Weil + +commit 55cd3d90f8f3cd1d54df922badaf818acdcf140b +Merge: b0814346f3 f965bdd013 +Author: Sage Weil +Date: Thu Aug 24 09:16:19 2017 -0500 + + Merge pull request #16870 from liewegas/wip-20929-jewel + + jewel: ceph-disk: dmcrypt cluster must default to ceph + + Reviewed-by: Loic Dachary + Reviewed-by: Alfredo Deza + +commit b0814346f3e7553654a999b27ba12ea7985a2ff3 +Merge: d79618b004 cd8c51569b +Author: Nathan Cutler +Date: Thu Aug 24 10:15:57 2017 +0200 + + Merge pull request #14659 from asheplyakov/19473-jewel + + jewel: rgw: add the remove-x-delete feature to cancel swift object expiration + + Reviewed-by: Casey Bodley + +commit d79618b004bdb9270cbd50b98e37d69721004bce +Merge: 14804ad5c6 01abfed8f2 +Author: Nathan Cutler +Date: Thu Aug 24 09:13:23 2017 +0200 + + Merge pull request #15322 from gregsfortytwo/jewel-19931-snaptrim-shutdown + + jewel: osd: Reset() snaptrimmer on shutdown and do not default-abort on leaked pg refs + + Reviewed-by: Josh Durgin + +commit 14804ad5c6c4e4a8ea7951e2e7be562f2ac46d53 +Merge: 03fb91cfef 328e2cc71a +Author: Nathan Cutler +Date: Thu Aug 24 09:11:52 2017 +0200 + + Merge pull request #15236 from asheplyakov/20036-bp-jewel + + jewel: mon: factor mon_osd_full_ratio into MAX AVAIL calc + + Reviewed-by: Josh Durgin + +commit 03fb91cfef5b75baecc56d795f64a47793974c56 +Merge: a07f4d3a90 644bb1e81c +Author: Nathan Cutler +Date: Thu Aug 24 09:07:08 2017 +0200 + + Merge pull request #14346 from ceph/wip-ceph-disk-fix-jewel + + jewel: build/ops: Add fix subcommand to ceph-disk, fix SELinux denials, and speed up upgrade from non-SELinux enabled ceph to an SELinux enabled one + + Reviewed-by: Kefu Chai + +commit a07f4d3a90f0dd9a30801f813c91183f77e5eb6c +Merge: 3e75beb162 e3cba06bd0 +Author: Nathan Cutler +Date: Thu Aug 24 09:04:49 2017 +0200 + + Merge pull request #15083 from asheplyakov/19926-bp-jewel + + jewel: mon: crash on shutdown, lease_ack_timeout event + + Reviewed-by: Kefu Chai + +commit 3e75beb1624046759694823b3406ce4e451bd5c5 +Merge: 6c51a81a82 e6582c43be +Author: Nathan Cutler +Date: Wed Aug 23 20:56:38 2017 +0200 + + Merge pull request #14663 from smithfarm/wip-19228-jewel + + jewel: rbd: Enabling mirroring for a pool with clones may fail + + Reviewed-by: Mykola Golub + +commit 6c51a81a822408ac5b45706b888e22a02e3e99ca +Merge: 9502460f7f 03ca042248 +Author: Nathan Cutler +Date: Wed Aug 23 20:52:04 2017 +0200 + + Merge pull request #15050 from asheplyakov/19265-bp-jewel + + jewel: core: an OSD was seen getting ENOSPC even with osd_failsafe_full_ratio passed + + Reviewed-by: Josh Durgin + Reviewed-by: David Zafman + +commit 9502460f7f15e6ef9a79a09ccdb0463966aabb83 +Merge: a70259a441 9ec5d8b1a5 +Author: Nathan Cutler +Date: Wed Aug 23 20:50:01 2017 +0200 + + Merge pull request #15065 from asheplyakov/19915-bp-jewel + + jewel: osd: PrimaryLogPG: do not call on_shutdown() if (pg.deleting) + + Reviewed-by: Josh Durgin + Reviewed-by: Brad Hubbard + +commit a70259a44173adeb1046a01e9c3d40b71052b3bd +Merge: fd197dcbeb 09f076ed96 +Author: Nathan Cutler +Date: Wed Aug 23 20:48:38 2017 +0200 + + Merge pull request #14943 from shinobu-x/wip-18293-jewel + + jewel: osd: leaked MOSDMap + + Reviewed-by: Josh Durgin + Reviewed-by: Sage Weil + +commit fd197dcbeb4c416ad903a7795ce91ac3ffd0f296 +Merge: 5dc3b45b92 3776d960e0 +Author: Nathan Cutler +Date: Wed Aug 23 20:12:01 2017 +0200 + + Merge pull request #14699 from smithfarm/wip-19679-jewel + + jewel: mds: damage reporting by ino number is useless + + Reviewed-by: Patrick Donnelly + +commit 5dc3b45b92e9fb4b7025d3373dfd85c5867b6b60 +Merge: 8581349c8b a4c181fa7a +Author: Nathan Cutler +Date: Wed Aug 23 20:10:07 2017 +0200 + + Merge pull request #14673 from smithfarm/wip-19466-jewel + + jewel: mds: log rotation doesn't work if mds has respawned + + Reviewed-by: Patrick Donnelly + +commit 8581349c8b1b1e06522707d0b6a3bd2d0c3e35b1 +Author: Sage Weil +Date: Wed Aug 23 13:53:48 2017 -0400 + + qa/workunits/rados/test-upgrade-v11.0.0.sh: more tests skipped + + Signed-off-by: Sage Weil + +commit c90969031f8f0c49a974c3e001fc44b1544547d7 +Author: Casey Bodley +Date: Tue May 2 12:16:45 2017 -0400 + + rgw: call update_latest_epoch() on all period updates + + when updating the period, callers use the atomic result of + update_latest_epoch() to determine whether they need to call + RGWPeriod::reflect() and RGWRealm::notify_new_period() + + this adds a missing call to RGWPeriod::reflect() to RGWPeriodPuller, + which was previously not safe to do without atomic updates to + latest_epoch + + Fixes: http://tracker.ceph.com/issues/19817 + + Signed-off-by: Casey Bodley + (cherry picked from commit d825b9d854864b815890cf9204d7e72e1e1a9ada) + +commit 6c8a7ca22bffc334032ae93953cc2b7ad47a363d +Author: Casey Bodley +Date: Tue May 2 11:45:39 2017 -0400 + + rgw: remove set_latest_epoch from RGWPeriod::store_info + + split the latest_epoch update out of RGWPeriod::store_info(), so callers + that need to call the atomic update_latest_epoch() can do so and + interpret its result separately + + Signed-off-by: Casey Bodley + (cherry picked from commit c1731dd2d3de5a337903004f835045d609a731cf) + + Conflicts: + src/rgw/rgw_rados.cc (trivial resolution) + +commit 03cf10aefb9dcc253170472b3c95c829fb68cc40 +Merge: 1f9693be5e c49e249fb5 +Author: Nathan Cutler +Date: Wed Aug 23 08:41:55 2017 +0200 + + Merge pull request #15442 from Vicente-Cheng/wip-20025-jewel + + jewel: cephfs: osdc/Filer: truncate large file party by party + + Reviewed-by: Patrick Donnelly + Reviewed-by: Yan, Zheng + +commit 1f9693be5ef8c64c7d58ccf08ef27cf2d7cb7cdb +Merge: 198f7fac8f 0bb08832c0 +Author: Nathan Cutler +Date: Wed Aug 23 08:40:20 2017 +0200 + + Merge pull request #14691 from smithfarm/wip-19571-jewel + + jewel: tests: upgrade:client-upgrade/firefly-client-x: drop CentOS + + Reviewed-by: Jason Dillaman + +commit ab2d3582f42a45b5d3cf63e00007e0ca65df1c2f +Author: Jason Dillaman +Date: Fri Apr 28 12:52:18 2017 -0400 + + librbd: default features should be negotiated with the OSD + + Derived from f066ce8f80bce929edc209590efd47cce2196ae2 + + Signed-off-by: Mykola Golub + Signed-off-by: Jason Dillaman + +commit 5b5468189ea74da5db63bcba0ae6450d83cc99f7 +Author: Mykola Golub +Date: Sat Nov 5 22:44:33 2016 +0200 + + cls/rbd: add get_all_features on client side + + Signed-off-by: Mykola Golub + (cherry picked from commit 84f6d5c109911923c25414de639308921983e438) + + Conflicts: + src/cls/rbd/cls_rbd_client.h: trivial resolution + +commit ff312a4e6fb08dc93311e6969ef16d621388c395 +Author: Casey Bodley +Date: Tue May 2 10:44:20 2017 -0400 + + rgw: add atomic RGWPeriod::update_latest_epoch + + update_latest_epoch() uses RGWObjVersionTracker to implement atomic + updates to the period's latest_epoch, returning -EEXIST if we already + have an epoch >= the one given + + Fixes: http://tracker.ceph.com/issues/19816 + + Signed-off-by: Casey Bodley + (cherry picked from commit 55000d7fb3d4ab1ba4c19f3b3730823b5b056b67) + +commit e91a3945afa4ca27678c6adf8d1c792333b6b554 +Author: Casey Bodley +Date: Tue May 2 09:47:57 2017 -0400 + + rgw: period latest_epoch ops take optional objv tracker + + Signed-off-by: Casey Bodley + (cherry picked from commit b855c39656d7556c7895850d12177ca6c1db01af) + +commit c864d5cac25d77307e9fa429c4d9a4f3f5f9df56 +Author: Casey Bodley +Date: Tue May 2 09:46:44 2017 -0400 + + rgw: remove unused RGWPeriod::use_next_epoch + + Signed-off-by: Casey Bodley + (cherry picked from commit 5770a01ebe8b5913cb5446bd4fd09d8029ac1381) + +commit 1516e24c8583237bc75c4185b416cd3fd4ec3df1 +Author: Yehuda Sadeh +Date: Tue Jun 13 11:23:37 2017 -0700 + + cls/refcount: store and use list of retired tags + + Fixes: http://tracker.ceph.com/issues/20107 + + Keep around the list of retired tags, make sure we don't + drop a refcount using the same tag. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 2c4fb020a13333bba6d3c29318c8a87099d915db) + +commit 9b5b21def271b1b85834fb32b762a0c0dc688d12 +Author: Aleksei Gutikov +Date: Thu Jul 6 11:27:42 2017 +0300 + + rgw: fix not initialized pointer which cause rgw crash with ec data pool + + In RGWPutObjProcessor_Atomic::complete_writing_data() + with pending_data_bl.length() > 0 and next_part_ofs==data_ofs + not initialized void *handle leads to invalid pointer librados::AioCompletion::pc + which leads to rgw crash. + + Fixes: http://tracker.ceph.com/issues/20542 + Signed-off-by: Aleksei Gutikov + (cherry picked from commit 3e938dd9fe681fa8652dc4b0ec1dc56781d884c0) + + Conflicts: + src/rgw/rgw_rados.cc (trivial resolution) + +commit 7d199110fb0a46796bfe8422ee103b837deb964f +Author: fang yuxiang +Date: Wed May 3 13:46:50 2017 +0800 + + rgw: don't do unneccesary write if buffer with zero length + + Don't do unneccesary write if buffer with zero length, + or there will be one more shadow stripe rados object with size 0 + + Signed-off-by: fang yuxiang + (cherry picked from commit 4e21f7ea2167be7793273f31faeb0aa95f0fa30a) + +commit 73c9d33ac0d761ef0b616a4beae56dc15c7c3f5e +Author: Abhishek Varshney +Date: Wed Jul 19 11:57:08 2017 +0000 + + rgw: fix error message in removing bucket with --bypass-gc flag + + Fixes: http://tracker.ceph.com/issues/20688 + + Signed-off-by: Abhishek Varshney + (cherry picked from commit 596b4bc05f167baca3ae6e3ed9bed5b04d27409e) + +commit e76198751cf876ee1137194e6cdb1aa761b31d21 +Author: lu.shasha +Date: Fri Jul 7 11:09:02 2017 +0800 + + rgw:multisite: fix RGWRadosRemoveOmapKeysCR + + RGWRadosRemoveOmapKeysCR::request_complete return val is wrong. The return val should get from completion. Some member variables is not used, clear up those variables. + + Fixes:http://tracker.ceph.com/issues/20539 + + Signed-off-by: Shasha Lu + (cherry picked from commit 82a0b6ac2130a7f326473e5f376c214f59f50829) + + Conflicts: + src/rgw/rgw_cr_rados.cc (trivial resolution) + src/rgw/rgw_cr_rados.h (master does not have IoCtx, jewel does not have override) + +commit 71262f1faeaa26481cec15e2fe3894a1ab2a3f3f +Author: Zhang Shaowen +Date: Tue Nov 29 08:57:30 2016 +0800 + + rgw: lock is not released when set sync marker is failed. + + Fixes: http://tracker.ceph.com/issues/18077 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit 65ef596ce1d83515338367f69b1bf0ce0ab96ae5) + +commit 198f7fac8f67b5e2996f2b53420c6c58854e54b3 +Merge: ed53df2bb9 7e3db1519e +Author: Nathan Cutler +Date: Tue Aug 22 16:25:14 2017 +0200 + + Merge pull request #15448 from smithfarm/wip-19615-jewel + + jewel: rgw: multisite: bucket zonegroup redirect not working + + Reviewed-by: Casey Bodley + +commit 38718ace488d2f1ca93c50b2d6474d6095b1f544 +Author: Gui Hecheng +Date: Tue Jun 13 14:39:14 2017 +0800 + + rgw_file: prevent conflict of mkdir between restarts + + Fixes: http://tracker.ceph.com/issues/20275 + + Signed-off-by: Gui Hecheng + (cherry picked from commit 87cec5ff9a2f516321543076f536fcfff433c03b) + +commit 0bb08832c0ba20cc85a50d9dfbc4efc0f083b7ae +Author: Nathan Cutler +Date: Thu Apr 20 19:15:29 2017 +0200 + + tests: upgrade:client-upgrade/firefly-client-x: drop CentOS + + The RBD suite needs ceph-cm-ansible to install qemu-kvm on CentOS, but doing + that breaks the firefly install on CentOS because: + + 1. the qemu-kvm that gets installed is from hammer (0.94.5) + 2. qemu-kvm brings in librados2, librbd1 as dependencies + + As a result, the hammer librados2 and librbd1 are installed on the test nodes + even before the teuthology install task starts. When it does start and tries + to install firefly, it fails because firefly librados2 and librbd1 cannot be + installed over their hammer versions. + + Fixes: http://tracker.ceph.com/issues/19571 + Signed-off-by: Nathan Cutler + +commit ed53df2bb9d9fed42f47f73168f77c7346942601 +Merge: 7a599849d3 66c17ff10b +Author: Nathan Cutler +Date: Tue Aug 22 13:47:21 2017 +0200 + + Merge pull request #15197 from smithfarm/wip-20007-jewel + + jewel: rgw: remove unnecessary 'error in read_id for object name: default' + + Reviewed-by: Jos Collin + Reviewed-by: Orit Wasserman + +commit 53e97da166c6e36c6808063f90c4a2cef2d52a77 +Author: Loic Dachary +Date: Thu Jun 8 22:29:48 2017 +0200 + + ceph-disk: set the default systemd unit timeout to 3h + + There needs to be a timeout to prevent ceph-disk from hanging + forever. But there is no good reason to set it to a value that is less + than a few hours. + + Each OSD activation needs to happen in sequence and not in parallel, + reason why there is a global activation lock. + + It would be possible, when an OSD is using a device that is not + otherwise used by another OSD (i.e. they do not share an SSD journal + device etc.), to run all activations in parallel. It would however + require a more extensive modification of ceph-disk to avoid any chances + of races. + + Fixes: http://tracker.ceph.com/issues/20229 + + Signed-off-by: Loic Dachary + (cherry picked from commit a9eb52e0a4c06a80e5dbfaac394aac940edf4c68) + +commit 7a599849d3f62c4e6001e2c7e3973b5c368d85d1 +Merge: c79524153c 592293cdfb +Author: Nathan Cutler +Date: Tue Aug 22 10:00:07 2017 +0200 + + Merge pull request #15051 from asheplyakov/19910-bp-jewel + + jewel: build/ops: extended, customizable systemd ceph-disk timeout + + Reviewed-by: David Disseldorp + Reviewed-by: Nathan Cutler + +commit c79524153cb52b1022dba0102aaef942f81d6fd9 +Merge: 161cba9cea 6b99bc9c60 +Author: Nathan Cutler +Date: Tue Aug 22 09:54:12 2017 +0200 + + Merge pull request #15428 from smithfarm/wip-20162-jewel + + jewel: build/ops: deb: Fix logrotate packaging + + Reviewed-by: Kefu Chai + +commit 161cba9cea5d83911e1ee7d42d58004ec327b9bb +Merge: 1f0549ca49 9a5425d5de +Author: Nathan Cutler +Date: Tue Aug 22 09:52:49 2017 +0200 + + Merge pull request #15447 from smithfarm/wip-19613-jewel + + jewel: rgw: multisite: rest api fails to decode large period on "period commit" + + Reviewed-by: Casey Bodley + +commit e6582c43bebac315ef2d76fded92373c7b1300be +Author: Jason Dillaman +Date: Thu Apr 27 16:21:33 2017 -0400 + + test: remove hard-coded image name from RBD metadata test + + Fixes: http://tracker.ceph.com/issues/19798 + Signed-off-by: Jason Dillaman + (cherry picked from commit 8f72e745e157cc12d76ca6babe956c5698ee297f) + +commit 8f23ea4fc0938c35998193ea76d7a029422b89b0 +Author: Mykola Golub +Date: Thu Mar 2 17:18:18 2017 +0100 + + librbd: relax "is parent mirrored" check when enabling mirroring for pool + + If the parent is in the same pool and has the journaling feature enabled + we can assume the mirroring will eventually be enabled for it. + + Fixes: http://tracker.ceph.com/issues/19130 + Signed-off-by: Mykola Golub + (cherry picked from commit fe31bca22f90ce02f461d6421a4f66539db888d3) + +commit 1f0549ca49cc60ed62f52ae5ee22d1044f70aab0 +Merge: 648fabaa9f 00ce80b52f +Author: Nathan Cutler +Date: Tue Aug 22 09:31:04 2017 +0200 + + Merge pull request #15196 from smithfarm/wip-20006-jewel + + jewel: build/ops: rpm: fix python-Sphinx package name for SUSE + + Reviewed-by: Kefu Chai + Reviewed-by: Ken Dreyer + Reviewed-by: Abhishek Lekshmanan + +commit 1415ecbd7de21ed2ab0c8f6e20f707cbe4f1390c +Author: Brad Hubbard +Date: Mon Aug 21 14:06:13 2017 +1000 + + ceph-disk: Use stdin for 'config-key put' command + + The 'osd new' command is not available in jewel so backport support for + stdin '-i -' and use it for the 'config-key put' command in order to + not log the dmcrypt key. + + Fixes: http://tracker.ceph.com/issues/21059 + + Signed-off-by: Brad Hubbard + +commit 28cfb01dddab94b849a8d8bce8d8bd27c3818e25 +Author: Sage Weil +Date: Mon Jul 17 09:38:52 2017 -0400 + + ceph: allow '-' with -i and -o for stdin/stdout + + Signed-off-by: Sage Weil + (cherry picked from commit 3a4931b0e467e3b64a2637b96d7a3cab9add1c80) + + Conflicts: + qa/workunits/cephtool/test.sh (post-jewel functions removed) + src/ceph.in + +commit a6da22fcf646ff9db45a01a43fa719982bf9bca4 +Author: Loic Dachary +Date: Thu Jun 8 19:00:05 2017 +0200 + + ceph-disk: implement command_with_stdin + + Signed-off-by: Loic Dachary + (cherry picked from commit 597393d5d09c52170b7db6f609ce142edfd4d8fe) + +commit 3adbc35205f663c8c312476f3694d2c14294c5d0 +Author: Javier M. Mellid +Date: Mon Aug 1 21:00:28 2016 +0200 + + rgw: aws4: add rgw_s3_auth_aws4_force_boto2_compat conf option + + Runtime bugfix to handle presigned urls computed with canonical requests using + the port number once. + + Boto2 computes canonical requests using the port number twice although it + should be used once only. This behaviour is a bug supported by AWS S3. Boto2 is + used in RGW S3 as reference implementation. + + The client-side tools not supporting this boto2 bug will fail although they + should work too. + + In order to support both presigned url implementations this patch adds a config + option to compute a second signature. With this option disabled, the code will + compute two signatures when the first signature is not valid. The aws4 auth + succeed if some of the two signatures is valid. + + The config option rgw_s3_auth_aws4_force_boto2_compat, is enabled by default so + one signature, working with boto2, is computed only. + + Fixes: http://tracker.ceph.com/issues/16463 + + Signed-off-by: Javier M. Mellid + (cherry picked from commit 078c513b6bc6b1d1da50db1d51fbbb65bddd44b9) + +commit cd848c1e9852c89a06e3baa669314cba2fdef965 +Author: Alexey Sheplyakov +Date: Sun Aug 13 16:33:00 2017 +0400 + + jewel: mon: fix force_pg_create pg stuck in creating bug + + Register the creating PG through the common path to get the PG mapped to an OSD. + Adapted from 9a41a0b7289fa59f4b747a63e152e88af6e8abd5 + + Fixes: http://tracker.ceph.com/issues/19182 + + Signed-off-by: Alexey Sheplyakov + +commit 648fabaa9fc1e78aa808a3a2c7c91dee464dbc76 +Author: Sage Weil +Date: Sat Aug 12 09:00:22 2017 -0400 + + qa/workunits/rados/test/test-upgrade-v11.0.0: skip Quota test + + This makes a pool go full which confounds the wait for healthy check + during restarts. + + Signed-off-by: Sage Weil + +commit 37b37e78f858a2d981698de2e9e1aafef7953642 +Author: Orit Wasserman +Date: Mon Jul 31 14:45:25 2017 +0300 + + rgw: Fix up to 1000 entries at a time in check_bad_index_multipart + + Fixes: http://tracker.ceph.com/issues/20772 + + Signed-off-by: Orit Wasserman + (cherry picked from commit 25cef9a09721e1a67d217535d4d624ab60adca02) + Signed-off-by: Matt Benjamin + +commit 6bd2dae1934f5f2a752b2c0edaa937b5a4163c36 +Author: Zhang Shaowen +Date: Wed Aug 9 13:51:40 2017 -0400 + + rgw: replace '+' with "%20" in canonical query string for s3 v4 auth. + + Fixes: http://tracker.ceph.com/issues/20501 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit 416bc51101b4ae5da569c9bc3d8d738eeadc25a6) + Signed-off-by: Matt Benjamin + +commit 3242b2b5629b951acfe90011a3c07533db1ab0a3 +Author: Greg Farnum +Date: Tue Dec 6 15:07:19 2016 -0800 + + ceph-fuse: start up log on parent process before shutdown + + Otherwise, we hit an assert in the Ceph context and logging teardown. + + Fixes: http://tracker.ceph.com/issues/18157 + + Signed-off-by: Greg Farnum + (cherry picked from commit cbf18b1d80d214e4203e88637acf4b0a0a201ee7) + +commit ff67388e24c93ca16553839c16f51030fa322917 +Author: Zhang Shaowen +Date: Tue Jan 10 16:36:13 2017 +0800 + + rgw: bucket index check in radosgw-admin removes valid index. + + Signed-off-by: Zhang Shaowen + (cherry picked from commit a786252ed9c0e1ba08a88a43902f7aa1e91c10cd) + Signed-off-by: Pavan Rallabhandi + + Conflicts: + src/rgw/rgw_bucket.cc + Jewel has RGWObjEnt, honor the same while populating obj oid + +commit 788cfa89dd2abc3db8dc35803e275d4c2fbb6837 +Author: Matt Benjamin +Date: Fri May 26 12:41:40 2017 -0400 + + rgw-admin: fix bucket limit check argparse, div(0) + + 1. normalize arg parsing for "bucket limit check" + 1.1 s/buckets/bucket/ + + 2. avoid dividing by num_shards when it is 0 + + Signed-off-by: Matt Benjamin + (cherry picked from commit fb8e2fa61f0b4621b5fdc83048467982a7ca2961) + Fixes: http://tracker.ceph.com/issues/20966 + +commit e6f86ba31d3092dbb45bdd35f344aba7b2c5a61b +Author: Sage Weil +Date: Wed Aug 9 09:56:21 2017 -0400 + + qa/workunits/rados/test-upgrade-v11.0.0: skip api_io *CmpExt* + + Signed-off-by: Sage Weil + +commit 5a7ea2790c391544a3a8ea4369ac8e46a0b3c4ec +Author: Abhishek Varshney +Date: Tue Aug 1 14:46:52 2017 +0000 + + rgw : fix race in RGWCompleteMultipart + + Fixes : http://tracker.ceph.com/issues/20861 + + Signed-off-by: Abhishek Varshney + (cherry picked from commit dd7dc62eaddb47447c01c03c87ad56cd7690693e) + Signed-off-by: Matt Benjamin + +commit 6d5ef4b27d0fad62646ddf82b59d9c277179d293 +Author: Sage Weil +Date: Mon Aug 7 14:01:58 2017 -0400 + + qa/workunits/rados/test-upgrade-11.0.0: skip RoundTrip3 + + This does the crc op, which isn't in jewel. + + Signed-off-by: Sage Weil + +commit d4fa37323596394feadaed6168b49ccbaf6fc089 +Merge: 5776904626 d3e81588ee +Author: Jason Dillaman +Date: Mon Aug 7 10:07:13 2017 -0400 + + Merge pull request #16343 from dillaman/wip-20630-jewel + + jewel: tests: qa/tasks: rbd-mirror daemon not properly run in foreground mode + + Reviewed-by: Mykola Golub + +commit f965bdd0134cbc3d947ac83bf96e5ce08541a198 +Author: Loic Dachary +Date: Thu Aug 3 10:56:24 2017 +0200 + + ceph-disk: dmcrypt cluster must default to ceph + + If ceph_fsid is not found, which is the case for legacy dmcrypted OSD, + the cluster must default to ceph, as it was before support for non + standard cluster names was introduced. + + Fixes: http://tracker.ceph.com/issues/20893 + + Signed-off-by: Loic Dachary + (cherry picked from commit ed22159fdd7071a110e81cd7b63d7e0f2296761b) + +commit 5776904626e17fd1ed73bcebeee742655523e833 +Merge: 8db71d796e 10636ef77f +Author: Nathan Cutler +Date: Tue Aug 1 13:06:54 2017 +0200 + + Merge pull request #13507 from shinobu-x/wip-18468-jewel + + jewel: mon: Disallow enabling 'hashpspool' option to a pool without some kind of --i-understand-this-will-remap-all-pgs flag + + Reviewed-by: Kefu Chai + +commit c49e249fb5a5232dc25b8250f4b7d2b4e3d47bef +Author: Yan, Zheng +Date: Tue Apr 25 16:21:24 2017 +0800 + + osdc/Filer: truncate large file party by party + + Fixes: http://tracker.ceph.com/issues/19755 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 5fab215e461e5ecc36c0f9d9ea867f6c45e80263) + + Conflicts: + src/osdc/Filer.h + src/osdc/Filer.cc + - add parameter to fit _modify (need onack parameter) + src/mds/MDCache.cc + - make truncate() consistency + +commit 314952c58993e6ea6a3fa1bb3b6f9a7118c52ea4 +Author: Nathan Cutler +Date: Thu Jul 6 20:17:49 2017 +0200 + + rgw: lease_stack: use reset method instead of assignment + + It seems that the intent of 45877d38fd9a385b2f8b13e90be94d784898b0b3 was to + change all instances of "lease_stack = ..." to "lease_stack.reset(...)", but + this one was missed. + + Signed-off-by: Nathan Cutler + (cherry picked from commit fc425afeb2e2a6ba3c98c612b3977aea619c9f73) + +commit 0930eb07d1c983412e27f7c42836a319a3161c7a +Author: fang.yuxiang +Date: Tue Jun 13 16:40:16 2017 +0800 + + rgw: meta sync thread crash at RGWMetaSyncShardCR + + Fixes: http://tracker.ceph.com/issues/20251 + + Signed-off-by: fang yuxiang fang.yuxiang@eisoo.com + (cherry picked from commit 45877d38fd9a385b2f8b13e90be94d784898b0b3) + +commit e35c938208a7e265387ba01cde9d84d08ec55ec0 +Author: David Disseldorp +Date: Wed Jul 5 16:23:37 2017 +0200 + + ceph-disk: don't activate suppressed journal devices + + Multipath device activation currently requires that devices representing + individual paths making up a multipath device are suppressed, to avoid + errors such as: + ceph_disk.main.Error: Error: /dev/sda1 is not a multipath block device + + Activation of suppressed OSD devices is currently handled by checks in + main_activate() and main_activate_space(). However, suppressed journal + and block devices are not detected. + + (Along with udev change) Fixes: http://tracker.ceph.com/issues/19489 + + Signed-off-by: David Disseldorp + (cherry picked from commit c729627450d4032ede7932f4c1b57a6d0cff73b2) + +commit 153f77544118613e19d5e88c030c3901234cf950 +Author: David Zafman +Date: Tue Jul 18 15:08:14 2017 -0700 + + osd: scrub_to specifies clone ver, but transaction include head write ver + + Fixes: http://tracker.ceph.com/issues/20041 + + Signed-off-by: David Zafman + (cherry picked from commit fd598a0d23d61c645633ae774c3404a43d035e3c) + + Conflicts: + src/osd/ReplicatedPG.cc (trivial) + +commit 2efd7cd6f32aa780fea5d26c8314c48cae734793 +Author: weiqiaomiao +Date: Mon Jul 3 09:34:08 2017 +0800 + + jewel:ceph-disk:remove the special check to bcache devices + + if we skip partition when coming cross the bcache device in ceph-disk, + the udev can't detect the osd in such devices when we reboot the osd's host, + so the osd who deploy in bcache device can't auto start when the host restart. + + And partition is now supported by bcache devices (https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/drivers/md/bcache?id=b8c0d911ac5285e6be8967713271a51bdc5a936a), + we can remove this special check now. + + This cannot be cherry-picked from master because 'accept bcache devices as data disks' [21f0216](https://github.com/ceph/ceph/commit/21f0216287485e6cce8811f324fee804ef733524) + is a jewel-only feature not present in master. + + Signed-off-by: Wei Qiaomiao + +commit 03ca042248586d1e7612f4d026551891701048c3 +Author: David Zafman +Date: Fri Jul 7 10:53:41 2017 -0700 + + jewel: mon: Fix status output warning for mon_warn_osd_usage_min_max_delta + + Fixes: http://tracker.ceph.com/issues/20544 + + Caued by: 489e810c37ed6fb9d32d1015634041a577501ee4 + + Signed-off-by: David Zafman + (cherry picked from commit 56f9808016ab289bdc0ce7cfbb0503c78b509593) + + Conflicts: + apply changes to src/mon/PGMonitor.cc instead of src/mon/PGMap.cc + +commit 8db71d796e50bcdbb6bd711feba6e4fdbecfcd29 +Merge: 2ee413f771 8885f3ab6a +Author: Matt Benjamin +Date: Thu Jul 20 15:00:32 2017 -0400 + + Merge pull request #16289 from cbodley/wip-20513 + + jewel: rgw: cls: ceph::timespan tag_timeout wrong units + +commit e9e7850b51c824a50dde96332e9f47fd3a62e60b +Author: Piotr DaÅ‚ek +Date: Fri Jun 16 13:34:19 2017 +0200 + + messages/MOSDPing: optimize encode and decode of dummy payload + + The dummy payload doesn't need to be processed, we can just skip over + it when decoding and we can use a single bufferptr instead of entire + bufferlist to encode it. + + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit 15ce0772841f913d1eef1daebad0834e5f862383) + +commit 8acfd7189a4a2fe937e06d12132df55af5d90fcb +Author: Piotr DaÅ‚ek +Date: Fri Jun 16 13:10:36 2017 +0200 + + messages/MOSDPing: fix the inflation amount calculation + + If user specifies a min_message_size small enough (or zero to disable + it altogether), OSDs will crash and burn while trying to allocate + almost 4GB of payload (both min_message_size and payload.length() are + unsigned, so it'll roll over back to 4GB and MAX(4GB, 0) will use 4GB). + If the size of dummy payload is 0, don't bother constructing bufferptr + and bufferlist, then encoding that. + + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit d959735a7d684018df564573a2ff88092d870fc1) + +commit 52f221b2103333facbc4ead30adc0eba8063983d +Author: Piotr DaÅ‚ek +Date: Fri Jun 16 13:05:10 2017 +0200 + + OSD: mark two heartbeat config opts as observed + + "osd heartbeat min size" and "osd heartbeat interval" can be changed + at runtime, because their values, when used, are always taken from + global Ceph configuration. Mark them as observed, so the message + the user sees once they're changed doesn't confuse them. + + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit 44b7839c788b20e0b9da76bc3838ae10d3ad2f89) + +commit f840864a5100dc65bb09a49e91fe4db776f69413 +Author: Sage Weil +Date: Thu Jun 15 22:18:08 2017 -0400 + + messages/MOSDPing: initialize MOSDPing padding + + This memory must be initialized or else valgrind will be very unhappy. + + Avoid the cost of zeroing (or even allocating) the buffer for normal + padding values by (re)using a static zero buffer. + + Fixes: http://tracker.ceph.com/issues/20323 + Signed-off-by: Sage Weil + (cherry picked from commit 9beaf5efd74daa8c15e50b42583264d1252a85f5) + +commit 71645604b6e07369f45034112710661167db052f +Author: Greg Farnum +Date: Mon Jun 5 13:33:14 2017 -0700 + + osd: heartbeat with packets large enough to require working jumbo frames. + + We get periodic reports that users somehow misconfigure one of their switches + so that it drops jumbo frames, yet the servers are still passing them along. In + that case, MOSDOp messages generally don't get through because they are much + larger than the 1500-byte non-jumbo limit, but the MOSDPing messages have kept + going (as they are very small and dispatched independently, even when the + server is willing to make jumbo frames). This means peer OSDs won't mark down + the ones behind the broken switch, despite all IO hanging. + Push the MOSDPing message size over the 1500-byte limit so that anybody in + this scenario will see the OSDs stuck behind a bad switch get marked down. + + Fixes: http://tracker.ceph.com/issues/20087 + + Signed-off-by: Greg Farnum + (cherry picked from commit 2096113d9e1589c571d96e34dd9cd841308a2567) + + Conflicts: + src/messages/MOSDPing.h + - Changed HEAD_VERSION to 3 and kept COMPAT_VERSION to 1. + - In class MOSDPing removed following line: + if (header.version >= 2) + - To keep ::decode(stamp, p) without condition because HEAD_Version + is already 3 now and this condition is removed in the backport commit. + +commit d3e81588eef9a3745d2cc27382b3a26b12bc8005 +Author: Jason Dillaman +Date: Fri Jul 14 10:32:28 2017 -0400 + + qa/tasks: rbd-mirror daemon not properly run in foreground mode + + Fixes: http://tracker.ceph.com/issues/20630 + Signed-off-by: Jason Dillaman + (cherry picked from commit 4fa1918717b25a5ffafbf649eedcfe7d5ab829c2) + +commit 713a88a5c9ec8e1140227ddcf0df8badfd96706d +Author: Zhang Shaowen +Date: Tue May 9 16:39:39 2017 +0800 + + rgw: VersionIdMarker and NextVersionIdMarker should be returned when listing + object versions if necessary. + + Fixes: http://tracker.ceph.com/issues/19886 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit f805c3e08948e379b7d2c4f2faf9e7f550e4cb23) + +commit 0a3227876c3142d60d137ef351cf91795227883a +Author: Zhang Shaowen +Date: Tue Jun 6 15:43:20 2017 +0800 + + rgw: datalog trim and mdlog trim handles the result returned by osd + incorrectly. + + Fixes: http://tracker.ceph.com/issues/20190 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit 7fd6e031e5b0b1f3eca70c5b459d50f6f214171f) + +commit 0cd7df3649d7486d444a61cab89c48a89ddd3e8d +Author: Jason Dillaman +Date: Thu Jun 29 14:54:40 2017 -0400 + + rbd: do not attempt to load key if auth is disabled + + Fixes: http://tracker.ceph.com/issues/19035 + Signed-off-by: Jason Dillaman + (cherry picked from commit 8b9c8df6d7f0b75c5451953bb322bc1f9afb6299) + +commit 787ba33e5dba285dff874955a8f0d7aabd3f87fe +Author: Jason Dillaman +Date: Mon Jun 5 08:17:05 2017 -0400 + + librbd: filter expected error codes from is_exclusive_lock_owner + + Fixes: http://tracker.ceph.com/issues/20182 + Signed-off-by: Jason Dillaman + (cherry picked from commit d4daaf54e6bc42cd4fb2111ea20b2042941b0c31) + +commit f9e87fef6a4771545cc23fe94c9cb9656ca5b773 +Author: Jason Dillaman +Date: Mon Jun 5 13:17:19 2017 -0400 + + rbd: properly decode features when using image name optional + + Fixes: http://tracker.ceph.com/issues/20185 + Signed-off-by: Jason Dillaman + (cherry picked from commit f1b05a2b062a59ec1b6682f7683bfd816433a931) + +commit 9a5425d5de16045b57c1307cb3b8263c739909b1 +Author: Casey Bodley +Date: Wed Apr 5 14:20:20 2017 -0400 + + rgw: allow larger payload for period commit + + testing with 3 zonegroups and 3 zones each, the period json grew larger + than 4k and caused decode failures on period commit + + updated to use the new config variable rgw_max_put_param_size + + Fixes: http://tracker.ceph.com/issues/19505 + + Signed-off-by: Casey Bodley + (cherry picked from commit 7f2871fe59d933b03f37fde40f1781b2320d0d50) + + Conflicts: + src/rgw/rgw_rest_realm.cc - in RGWOp_Period_Post::execute(), set max_size + explicitly instead of backporting rgw_max_put_param_size + +commit 61df8eaa02d3fcdc814568be20631933c34aa8a3 +Author: lu.shasha +Date: Tue May 9 15:05:03 2017 +0800 + + rgw: when create_bucket use the same num_shards with info.num_shards + + pr #14388 only fix the num_shards in BucketInfo, "init_bucket_index" function still use local num_shards + + Fixes: http://tracker.ceph.com/issues/19745 + + Signed-off-by: Shasha Lu + (cherry picked from commit 4ce64a190b4ff36985e785e574c077d39796feea) + + Conflicts: + src/rgw/rgw_rados.cc: init_bucket_index() called earlier + +commit 93799374a97e5acec00737bb7fd46dce314ec19a +Author: lu.shasha +Date: Fri Apr 7 15:34:27 2017 +0800 + + rgw: using the same bucket num_shards as master zg when create bucket in secondary zg + + create bucket in secondary zonegroup will forward to master. The master may have different num_shards option. + So when create bucket in local, should use master's num_shards instead of local num_shards option. + + Fixes: http://tracker.ceph.com/issues/19745 + + Signed-off-by: Shasha Lu + (cherry picked from commit a34c4b8fb13dd5590eb3c6ecb5e55207ed8e3ee8) + + Conflicts: + src/rgw/rgw_op.cc + - different argument list of store->create_bucket() in jewel, compared to + master + - no RGWBulkUploadOp:: in jewel; modifications to + RGWBulkUploadOp::handle_dir() omitted + +commit 8885f3ab6a529c451581046fb3c8f72fceec6e80 +Author: Matt Benjamin +Date: Thu Jun 29 15:19:36 2017 -0400 + + rgw: cls: ceph::timespan tag_timeout wrong units + + In rgw_dir_suggest(), the ceph::timespan tag_timeout is intended + to be a value in seconds, but has been taken as something much + smaller (millis?). The incorrect time scale likely induces a race + condition with object deletes. + + Fixes: http://tracker.ceph.com/issues/20380 + + Signed-off-by: Matt Benjamin + (cherry picked from commit e6763ebd6124c1b4736c5c7850077df7644bc8f5) + +commit 3105f118bccb5ae9209cb289cec5ccdba6d9d7b6 +Author: Mykola Golub +Date: Fri Dec 2 13:38:29 2016 +0200 + + rbd-mirror: set SEQUENTIAL and NOCACHE advise flags on image sync + + Fixes: http://tracker.ceph.com/issues/17127 + Signed-off-by: Mykola Golub + (cherry picked from commit 1167865e3b4c5284938cb1797ebeff15974f7260) + + Conflicts: + src/tools/rbd_mirror/image_sync/ObjectCopyRequest.cc (sparse reads are not + being backported to jewel) + +commit 24bd60136e033f14a556f8e6220cf4ea49520598 +Author: Orit Wasserman +Date: Mon Jun 26 14:28:21 2017 +0300 + + rgw: fix next marker to pass test_bucket_list_prefix in s3test + + Fixes: http://tracker.ceph.com/issues/19432 + Signed-off-by: Orit Wasserman + (cherry picked from commit 8fff351d7607c6183b77acc29057c9d55b11f9de) + +commit 28f0a8dba36a20b482a70e42241e4e5ee4771e5f +Author: Giovani Rinaldi +Date: Wed Apr 5 16:46:14 2017 -0300 + + rgw: fix listing of objects that start with underscore + + Current marker and prefix search utilized in rgw's function list_objects should respect index key name in order to correctly list objects which have names starting with underscore. + + Fixes: http://tracker.ceph.com/issues/19432 + + Signed-off-by: Giovani Rinaldi + (cherry picked from commit c1a1539af596e97dc412a505d5411ee6cfdd3980) + + Conflicts: + src/rgw/rgw_rados.cc - in jewel, the call to cur_marker.name.find() is in a + conditional block; not so in master + +commit 39b2b0b39aedea1c7ee5eab66ca7fb6c59a41e45 +Author: zhaokun +Date: Mon May 16 09:30:48 2016 +0800 + + rgw/rgw_common.cc: modify the end check in RGWHTTPArgs::sys_get + + Fixes: http://tracker.ceph.com/issues/16072 + + Signed-off-by: zhao kun + (cherry picked from commit 7e91c81702284f1eb68567fc5d9385ce22405e69) + +commit f16fa4b252b1601b00149f17ed1516bc90cbedf3 +Author: root +Date: Tue May 23 13:56:59 2017 +0800 + + rgw: multipart copy-part remove '/' for s3 java sdk request header. + + Fixes: http://tracker.ceph.com/issues/20075 + Signed-off-by: donglinpeng@cmss.chinamobile.com + (cherry picked from commit d60ddddfaf6964364faed40f45b18eb88a841023) + +commit 244a2ae6a91e2f288cf1ef8c930dec712b588e37 +Author: Yan, Zheng +Date: Sat Jun 3 12:33:36 2017 +0800 + + client: don't re-send interrupted flock request + + don't re-send interrupted flock request in cases of mds failover + and receiving request forward. + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 044fabd669fdc8287f5cab0f38a82dfbfe41f0cd) + + Conflicts: + src/client/Client.cc: UserPerms not in jewel + +commit 93c8ca6450146cc2a3e50597d91f29455b42c742 +Author: Yan, Zheng +Date: Sat Jun 3 12:06:10 2017 +0800 + + mds/flock: properly remove item from global_waiting_locks + + ceph_lock_state_t::remove_waiting() uses wrong key to search + global_waiting_locks. It should use item in waiting_locks as + key. + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 0d71c6120e61f31b803c3fb6488fc7e97134e348) + +commit e795086776e9dfc8d9068161b6e96e79e8c8f193 +Author: Yan, Zheng +Date: Sat Jun 3 12:01:27 2017 +0800 + + mds/flock: properly update ceph_lock_state_t::client_waiting_lock_counts + + no item is added to waiting_locks when deadlock check fails + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit a6b01939a199833568961ae4d30d8540a25a7740) + +commit 917240a291c6366b55ddab1a381e23e77b3264c1 +Author: Yan, Zheng +Date: Sat Jun 3 11:42:12 2017 +0800 + + mds/flock: don't import ceph_lock_state_t::waiting_locks + + Item in waiting_locks is associated with flock mds request in + exporter mds. If client re-sends the flock mds request to the + importer, the importer starts a new MDRequest. The new one's + 'flock_was_waiting' is false. + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 8d777c4855b0c8e58a8d6966371698b8b7721a42) + +commit 644bb1e81ca29e244cf2962bc1c06bdecaac427a +Author: Boris Ranto +Date: Fri Jul 7 12:37:55 2017 +0200 + + rpm: Fix undefined FIRST_ARG + + If FIRST_ARG is undefined, the rpms will show an error on upgrade + because the condition in the postun script gets broken. + + This was a regression introduced by commit for issue 20077 that moved + ceph-disk unit files to ceph-base. + + Fixes: http://tracker.ceph.com/issues/20077 + Signed-off-by: Boris Ranto + (cherry picked from commit 562816914ccca8e4e7d9c31f333db2f0da6f7c99) + +commit e9608e0c4097caa3c2e344fc3456ac3d6c816d5e +Author: Boris Ranto +Date: Mon Jun 5 18:44:18 2017 +0200 + + selinux: Install ceph-base before ceph-selinux + + We need to have ceph-base installed before ceph-selinux to use ceph-disk + in %post script. The default ordering is random and so the installation + randomly failed to relabel the files. + + Fixes: http://tracker.ceph.com/issues/20184 + Signed-off-by: Boris Ranto + (cherry picked from commit e69086645d3411a2ed781609b670eb5f16ac4810) + Conflicts: + ceph.spec.in: No _epoch_prefix in jewel + +commit 5c53ae3f9ac03445a99e84796f1b50ae32a365f2 +Author: Kefu Chai +Date: Mon Jun 12 11:55:36 2017 +0800 + + test/librbd: decouple ceph_test_librbd_api from libceph-common + + Fixes: http://tracker.ceph.com/issues/20175 + Signed-off-by: Kefu Chai + (cherry picked from commit b7287fdc4d70c5ecedda78ae367b98e5d8f61c5b) + + Conflicts: master has switched from autotools to cmake, so this is + somewhat an equivalent in automake to the cherry-picked change on + CMakeLists.txt + +commit 14fcdb7b699185e6e4ca1f158d34b47c63f6563b +Author: Kefu Chai +Date: Mon Jun 12 11:55:04 2017 +0800 + + test/librados: extract functions using libcommon in test.cc into test_common.cc + + Fixes: http://tracker.ceph.com/issues/20175 + Signed-off-by: Kefu Chai + + (cherry picked from commit 82a848c2053ea69ebc6d3ec1003e18921e2d08d2) + + Conflicts: since master has switched to cmake. the changes in this + commit on .am files are ported from counterpart of CMakeLists.txt. + +commit 7d959e02f79ed3c268b03bf6fdf689cbe73063dc +Author: Kefu Chai +Date: Mon Jun 12 11:01:06 2017 +0800 + + test/librbd: replace libcommon classes using standard library + + so ceph_test_librbd_api has less dependencies on libcommon + + Fixes: http://tracker.ceph.com/issues/20175 + Signed-off-by: Kefu Chai + + (cherry picked from commit bc8fa0193c8b2fb4b749ce9976bf6efbea833e96) + +commit 61f132078a535d10d10d2feb0688853855319ece +Author: Nathan Cutler +Date: Thu Jul 6 18:01:33 2017 +0200 + + tests: librbd: adapt test_mock_RefreshRequest for jewel + + Signed-off-by: Jason Dillaman + Signed-off-by: Nathan Cutler + +commit 97fdaa753e812dfeb5256ced3af1dbe5adfff95d +Author: Peng Xie +Date: Thu Jun 29 18:48:27 2017 +0800 + + osd/PrimaryLogPG solve cache tier osd high memory consumption + + during cache tier dirty data flushing, cache tier osd memroy consumption + will get increasing due to the accumulative pg log which will not be trimmed + + Fixes: http://tracker.ceph.com/issues/20464 + + Signed-off-by: Peng Xie + (cherry picked from commit da605aa35e2d0897597a0ab6e19be70d94e6da24) + + Conflicts: + src/osd/PrimaryLogPG.cc + - should modify on ReplicatedPG.cc + +commit f49c9c777ffca31fa4c338dd22154ae6ad4e2ecf +Author: Josh Durgin +Date: Wed Jun 21 15:05:49 2017 -0700 + + osd/ReplicatedBackend: reset thread heartbeat after every omap entry in deep-scrub + + Doing this every 100 entries could be after 100MB of reads. There's + little cost to reset this, so remove the option for configuring it. + + This reduces the likelihood of crashing the osd due to too many omap + values on an object. + + Fixes: http://tracker.ceph.com/issues/20375 + Signed-off-by: Josh Durgin + (cherry picked from commit 15ce60830aed7c4c2a0b10d2cb69d8daef418d20) + + Conflicts: + src/osd/ReplicatedBackend.cc + - remain the iterator checker (do not check status) + +commit 932342c1e3d704201dc4b4b42513c32a73ef0adf +Author: John Spray +Date: Mon Jun 5 11:30:45 2017 +0100 + + client: avoid returning negative space available + + ...when a quota is set and the used bytes exceed + the quota. + + Fixes: http://tracker.ceph.com/issues/20178 + Signed-off-by: John Spray + (cherry picked from commit 0144fde1b1639a6917e487f78490f2b84dceeae6) + +commit 6b6620ffefc6481d629e19cd9a6c50b39dba222c +Author: Yan, Zheng +Date: Wed Jun 21 15:48:54 2017 +0800 + + mds: save projected path into inode_t::stray_prior_path + + Otherwise, path string like #10000000000/xxx may get saved into + inode_t::stray_prior_path. + + Fixes: http://tracker.ceph.com/issues/20340 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit ba7472cbf2a3147136a31b611f7b88f883be5f6d) + + Conflicts: + src/mds/Server.cc + - remove counter `change_attr` because it does not involved + +commit dac0ca797cada404b4d5eeb29039b8eac84ce7d6 +Author: Sage Weil +Date: Tue Jun 6 15:13:50 2017 -0400 + + ceph_test_rados_api_misc: fix LibRadosMiscConnectFailure.ConnectFailure retry + + Fixes: http://tracker.ceph.com/issues/19901 + Signed-off-by: Sage Weil + (cherry picked from commit 087dff80cac707ee9bcb5bcfc98cb3ec047bd49f) + +commit ab70ffc815e23e4bffa1e563ade21a0e1e84b8bf +Author: Venky Shankar +Date: Mon Feb 20 12:04:10 2017 +0530 + + librbd: acquire exclusive-lock during copy on read + + Fixes: http://tracker.ceph.com/issues/18888 + Signed-off-by: Venky Shankar + (cherry picked from commit 7dba5311b12011a4a6e8564e68150e54c5af5ddd) + + Conflicts: + src/librbd/AioImageRequestWQ.h: + - in master this file has morphed into src/librbd/io/ImageRequestWQ.h + - jewel has AioImageRequest instead of ImageRequest + src/librbd/image/RefreshRequest.cc: + - rename image context element to "aio_work_queue" (from "io_work_queue") + because jewel doesn't have de95d862f57b56738e04d77f2351622f83f17f4a + src/test/librbd/image/test_mock_RefreshRequest.cc: + - rename image context element to "aio_work_queue" (from "io_work_queue") + because jewel doesn't have de95d862f57b56738e04d77f2351622f83f17f4a + +commit 7bf8b854ab573016bba10fe2904b4d4f4e9b1ee1 +Author: Sage Weil +Date: Thu Mar 2 15:03:57 2017 -0600 + + osd/osd_internal_types: wake snaptrimmer on put_read lock, too + + The snaptrimmer can block taking a write lock, which might happen due to + a conficting EC read. When the EC read completes, we need to wake up the + snaptrimmer. + + Fixes: http://tracker.ceph.com/issues/19131 + Signed-off-by: Sage Weil + (cherry picked from commit 993179870ef7eece47cb9ccfb7275c29bf8536eb) + + Conflicts: + src/osd/osd_internal_types.h: ObjectContext::put_lock_type() is + defined in src/osd/osd_types.h in Jewel, patch that file + +commit 00a79995523ae3b9ed6753b645188cb6759c1d07 +Author: Casey Bodley +Date: Wed Jun 28 13:32:35 2017 -0400 + + rgw: rest handlers for mdlog and datalog list dont loop + + the do-while loops are unnecessary, because cls_log_list() will already + give us the requested number of entries, unless truncated. and these + rest operations return the truncated flag and last_marker, which the + client side is already using to run the same loop + + Signed-off-by: Casey Bodley + (cherry picked from commit d75e6b967d2ddf84d6e82c78a53061578129294a) + +commit e89036abb20d33df60c9a7dc7db4c8cd9825c068 +Author: Casey Bodley +Date: Wed Jun 28 12:19:52 2017 -0400 + + rgw: fix RGWMetadataLog::list_entries() for null last_marker + + Signed-off-by: Casey Bodley + (cherry picked from commit dd2893ba05c1095405b3a5edc16b3b1c7916cd7d) + +commit e5902f442bf87d7ed319f8e74b2f1e85791a39b9 +Author: Casey Bodley +Date: Wed Jun 28 12:18:33 2017 -0400 + + rgw: RGWMetadataLog::list_entries() no longer splices + + Signed-off-by: Casey Bodley + (cherry picked from commit 112464483ecb407ef1388ba8a3f8d29cb0725594) + +commit 6f597f073fa2b4ad0941351606405d79d0899b67 +Author: Xie Rui +Date: Thu Jun 22 17:12:30 2017 +0800 + + fix infinite loop in rest api for log list + + as max_entries_str is empty, it will be infinite loop when log is more than MAX_ENTRIES(1000) from marker. + and max_entries maybe overflow if use it to count the left entries. + + Fixes: http://tracker.ceph.com/issues/20386 + Signed-off-by: xierui + (cherry picked from commit 9fbc5378d2737d38e2ac915f20b44d308e18bc68) + +commit 3fa277b479d69699bf5a6875cd4a5efcf9ae0788 +Author: Alexey Sheplyakov +Date: Tue Jun 27 16:07:01 2017 +0400 + + jewel: osd: unlock sdata_op_ordering_lock with sdata_lock hold to avoid missing wakeup signal + + Based on commit bc683385819146f3f6f096ceec97e1226a3cd237. The OSD code has + been refactored a lot since Jewel, hence cherry-picking that patch introduces + a lot of unrelated changes, and is much more difficult than reusing the idea. + + Fixes: http://tracker.ceph.com/issues/20428 + + Signed-off-by: Alexey Sheplyakov + +commit a36211c84d8c475c88820f33a467936e0b270420 +Author: lu.shasha +Date: Wed May 24 16:06:07 2017 +0800 + + rgw: update bucket cors in secondary zonegroup should forward to master + + pr#14082 is incomplete, cors should be redirect to master + + Fixes: http://tracker.ceph.com/issues/16888 + + Signed-off-by: Shasha Lu + (cherry picked from commit 7dd099588a47024b410d513cb8ea919731718fa7) + + Conflicts: + src/rgw/rgw_op.cc (jewel does not have 5fff6371d8e) + src/test/rgw/rgw_multi/tests.py (jewel does not have this file) + +commit fa419a87b64f7c88a302ac594af81e07eb0ea430 +Author: Casey Bodley +Date: Thu Apr 6 13:13:54 2017 -0400 + + rgw: fix for EINVAL errors on forwarded bucket put_acl requests + + PutACL rejects request that include both a canned_acl and a request + body. when forwarding requests with canned_acls, we were also including + the generated policy in the body + + Signed-off-by: Casey Bodley + (cherry picked from commit 1c863a78ed73cf1d89f05276627c7f0bde53ec9a) + +commit 1d7bd61d3f5f07a3f6d30faa9325f93c89800ade +Author: Guo Zhandong +Date: Wed Mar 22 18:00:37 2017 +0800 + + rgw: enable to update acl of bucket created in slave zonegroup + + Fixes: http://tracker.ceph.com/issues/16888 + + Signed-off-by: Guo Zhandong + (cherry picked from commit 5f89d37506adab0aa59e7a8a46eb962030565c72) + +commit a3c487448bbded31c98e752ff1c9518aa76c2e67 +Author: Loic Dachary +Date: Tue May 9 12:32:51 2017 +0200 + + ceph-disk: separate ceph-osd --check-needs-* logs + + It is using the OSD id zero but have nothing to do with OSD zero and + this is confusing to the user. The log themselves do not need to be kept + around and are stored in the run directory so that they can be disposed + of after reboot. + + Fixes: http://tracker.ceph.com/issues/19888 + + Signed-off-by: Loic Dachary + (cherry picked from commit c7b3c46bd63b78475868e405bf20d9c142f0336a) + +commit a4c181fa7ab6ced676b9ff4f1381555215d77152 +Author: Patrick Donnelly +Date: Thu Mar 16 21:45:46 2017 -0400 + + mds: set ceph-mds name uncond for external tools + + External tools like logrotate which use killall rely on the "ceph-mds" name to + find it in /proc/*/comm. This is normally the case but when ceph-mds respawns + using /proc/self/exe (on Linux), its name will change to "exe". This makes + logrotate fail to signal ceph-mds the log needs to be reopened and will lead to + the log growing until the disk is full. + + This patch unconditionally sets the name so on respawn the name is correct (and + in any other possible scenario, such as a misnamed executable). Note, there is + still a very small race between execve and ceph_pthread_setname where the + process name is wrong. + + Problem was introduced by 66a122025f6cf023cf7b2f3d8fbe4964fb7568a7. + + Fixes: http://tracker.ceph.com/issues/19291 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 4f177bb6b72cf9c8eb363051b27496c026b345f0) + + Conflicts: + src/ceph_mds.cc - use pthread_setname_np() instead of + ceph_pthread_setname(), drop compat.h include + +commit 3776d960e07570727cea9c6ef8516ffa9953b54e +Author: John Spray +Date: Thu Sep 29 17:14:54 2016 +0100 + + suites: update log whitelist for scrub msg + + Fixes: http://tracker.ceph.com/issues/16016 + Signed-off-by: John Spray + (cherry picked from commit 795094628b65eb9c3f5d51c6c895fe1443c5f4cf) + + Conflicts: + suites/fs/recovery/tasks/forward-scrub.yaml (file does not exist in jewel) + +commit d9234d47a9abc290475a317bb3fd070192df1840 +Author: John Spray +Date: Thu Mar 23 09:07:32 2017 -0400 + + mds: include advisory `path` field in damage + + This will just be whatever path we were looking + at at the point that damage was notified -- no + intention whatsoever of providing any up to date + path or resolution when there are multiple paths + to an inode. + + Fixes: http://tracker.ceph.com/issues/18509 + Signed-off-by: John Spray + (cherry picked from commit c0bff51ef409eb6e4b2fc248e06e5a7e43faf51e) + + Conflicts: + src/mds/CDir.cc - omit dout(10) because jewel does not have cb86740a + src/mds/ScrubStack.cc - jewel does not have 7b456109 which changed + in->make_path_string_projected() call to in->make_path_string() but + it's moot because that line is dropped + +commit 7675e41c88a38e107e9478bde32e0ece564f8878 +Author: John Spray +Date: Mon Sep 19 20:25:58 2016 +0100 + + mds: populate DamageTable from scrub and log more quietly + + Fixes: http://tracker.ceph.com/issues/16016 + Signed-off-by: John Spray + (cherry picked from commit 9c82040b1a762a3498c6794a29a43b3866f30dab) + +commit 88605fc76bc943697ca5b4e235d82f439766d14c +Author: John Spray +Date: Mon Sep 19 18:26:42 2016 +0100 + + mds: tidy up ScrubHeader + + Signed-off-by: John Spray + (cherry picked from commit 111d2cf2d8504cd4486180a95e52f253018364b3) + + Conflicts: + src/mds/CInode.cc (jewel does not have 5259683e7819c22c14b21b1dd678a33e14574f21) + +commit c15fce6e50eb5775687feb121da5ed59df34e28b +Author: John Spray +Date: Mon Sep 19 17:35:54 2016 +0100 + + mds: remove redundant checks for null ScrubHeader + + This was originally optional but now all the paths + that kick off a scrub should be going through + enqueue_scrub and thereby getting a header set. + + Signed-off-by: John Spray + (cherry picked from commit 0c890282699f877f42870408d674ec1e9f9322a3) + + Conflicts: + src/mds/CInode.cc (jewel does not have 5259683e7819c22c14b21b1dd678a33e14574f21) + +commit c17e3c1b7b6961f3fb866af76aa2d798cdb97c9f +Author: Michal Jarzabek +Date: Tue Oct 11 21:23:57 2016 +0100 + + mds/DamageTable: move classes to .cc file + + Signed-off-by: Michal Jarzabek + (cherry picked from commit 96018b0a85d0bc7eec285398dd596ee01d16fae7) + +commit 52a00b3bffc2db22c15d0e5b1e9580f9bc593555 +Author: Loic Dachary +Date: Fri Sep 16 10:56:51 2016 +0200 + + test: timeout verification that mon is unreachable + + Without a timeout on the command, it may hang for a very long time, + hunting for new mons. If it hangs for more than 60 seconds, it is + safe to assume the mon is indeed down. + + Fixes: http://tracker.ceph.com/issues/16477 + + Signed-off-by: Loic Dachary + (cherry picked from commit a5e5119bd138a97f35737c2b50d1e621fa8286d6) + +commit 3b5f9924b3db66fae952cf67331b69789045916f +Author: Loic Dachary +Date: Thu Sep 15 10:42:24 2016 +0200 + + cli: retry when the mon is not configured + + The mon may return on error if a command is sent to it while it is + still in configuring state. + + Fixes: http://tracker.ceph.com/issues/16477 + + Signed-off-by: Loic Dachary + (cherry picked from commit d5a3c8d6844ba632767baf3c2c790fa4d947a95e) + + Conflicts: + src/pybind/ceph_argparse.py (trivial resolution; jewel does not have + 8fc67075c6d7d4443747f53687e498439f80b57a) + +commit 00ce80b52f6f231125cc165ab477544238ed3a02 +Author: Nathan Cutler +Date: Tue May 9 11:42:58 2017 +0200 + + build/ops: rpm: fix python-Sphinx package name for SUSE + + This commit moves "BuildRequires: python-sphinx" down to the RH/CentOS/Fedora + distro conditional and adds a "BuildRequires: python-Sphinx" to the SUSE + conditional. + + Signed-off-by: Jan Matejek + Signed-off-by: Nathan Cutler + (cherry picked from commit 0688f57d1c35692cdddf219d9ac3571d03dbb8e0) + +commit 66c17ff10b1703d0d9098d0ddcaf34a644ff5fbe +Author: weiqiaomiao +Date: Tue Jun 14 15:34:08 2016 +0800 + + rgw: remove unnecessary output + + a lot of radosgw-admin command will output + "error in read_id for object name: default : (2) No such file or directory" + when the zone named 'default' is not exist: + + Signed-off-by: weiqiaomiao + (cherry picked from commit 4e9c7be08b9828db2795536ce170a675d25bc1ed) + +commit b786f7815b94e7659a07778a6318ffe5e5079fc0 +Author: Zhang Shaowen +Date: Mon Mar 20 15:19:22 2017 +0800 + + rgw: delete non-empty buckets in slave zonegroup returns error but the + buckets have actually been deleted. + + Fixes: http://tracker.ceph.com/issues/19313 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit 4714b17f53a9f30f7f155a69cfbfc682f809b4e4) + + Conflicts: + src/rgw/rgw_op.cc - first argument to delete_bucket() and + check_bucket_empty() is "s->bucket" in jewel (master: + "s->bucket_info") + src/rgw/rgw_rados.cc - RGWRados::delete_bucket() takes bucket instead + of bucket_info; adapt RGWRados::check_bucket_empty() to take bucket + instead of bucket_info as well + src/rgw/rgw_rados.h - ditto + +commit 7e3db1519e40ecdde5d7e83798a35f3fca7e5cd8 +Author: Casey Bodley +Date: Tue Apr 4 10:42:44 2017 -0400 + + rgw: fix for zonegroup redirect url + + local dest_url variable was shadowing the one in the enclosing scope, so + the changes were not applied and no Location header was written on redirect + + Fixes: http://tracker.ceph.com/issues/19488 + + Signed-off-by: Casey Bodley + (cherry picked from commit 542e188a40f0495720b48308372366951ae41e62) + +commit 45f0396cffe528a752fb8330d2323e1de8d8b8ac +Author: Casey Bodley +Date: Tue Apr 4 10:41:51 2017 -0400 + + rgw: use zonegroup's master zone endpoints for bucket redirect + + if no zonegroup endpoints are set, fall back to master zone endpoints + + Fixes: http://tracker.ceph.com/issues/19488 + + Signed-off-by: Casey Bodley + (cherry picked from commit 92f63c6392bdc4633a2e57cb3867051bb1a3fd55) + +commit 50f140768d56d7813efac7ab2def3619e9639b4c +Author: Zhang Shaowen +Date: Tue Jan 24 15:20:32 2017 +0800 + + rgw: put object's acl can't work well on the latest object when versioning + is enabled. + + Reported-by: Liu Hong + + Fixes: http://tracker.ceph.com/issues/18649 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit fe5f95fff30cc872484de6efb6cba1dd48b09316) + + Conflicts: + src/rgw/rgw_op.cc: read_op.prepare() takes no arguments in master; replace + this with read_op.prepare(NULL, NULL) to make jewel happy + +commit 01890abd953881ab1529652d148f7a19d171e18c +Author: Casey Bodley +Date: Fri Apr 21 15:04:48 2017 -0400 + + radosgw-admin: warn that 'realm rename' does not update other clusters + + Fixes: http://tracker.ceph.com/issues/19746 + + Signed-off-by: Casey Bodley + (cherry picked from commit 8a459c768ffecd689a53a79dfe33eb8f1bbc318f) + +commit 89a2f6476d81bd233d76771915e080fce66ff228 +Author: Willem Jan Withagen +Date: Sat Apr 29 13:36:07 2017 +0200 + + cls/log/cls_log.cc: reduce logging noise + + - The other reference in the source as already at 20. + ./src/cls/timeindex/cls_timeindex.cc:85: + CLS_LOG(20, "storing entry at %s", index.c_str()); + + And we need not always know where in the log items are stored. + So it looks like a leftover debug feature. + + Fixes: http://tracker.ceph.com/issues/19835 + Signed-off-by: Willem Jan Withagen + (cherry picked from commit d76010900bf9012f2e66335787710531772766b7) + +commit 938e5b0728c07997abf09d30c670ffe1737a65ab +Author: Matt Benjamin +Date: Mon May 15 17:30:29 2017 -0400 + + rgw_file: v3: fix write-timer action + + For now, unify with v4 write-on-close path, by calling + RGWFileHandle::close() on write-timer expire, since it will + call write_finish() as a side-effect. + + Fixes: http://tracker.ceph.com/issues/19932 + + Signed-off-by: Matt Benjamin + (cherry picked from commit ce6ecb553b85ea158af28c22827b93135a75d159) + +commit 0897afe74d381c19a9b1bc1c2b398f93568a86fe +Author: Matt Benjamin +Date: Tue Mar 7 09:48:57 2017 -0500 + + rgw_file: fix fs_inst progression + + Reported by Gui Hecheng. This change is a + variation on proposed fix by Dan Gryniewicz + to take root_fh.state.dev as fs_inst for new handles. + + Fixes: http://tracker.ceph.com/issues/19214 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 0e988edfb6ab9085d6d37cfc444d46e8a2841943) + +commit a54e6ccba31109d59abd8e7b9ba1f8fada30ecda +Author: Matt Benjamin +Date: Mon May 22 17:37:11 2017 -0400 + + rgw_file: remove post-unlink lookup check + + This could induce asserts in multi-nfs-gateway scenarios. + + Fixes: http://tracker.ceph.com/issues/20047 + + Signed-off-by: Matt Benjamin + (cherry picked from commit b3db617ddd6fa2477726b54828b6410b36989ac7) + +commit 7042733db61e8a773969d3ce5fc24a1df6ae417b +Author: Matt Benjamin +Date: Tue May 23 15:05:45 2017 -0400 + + rgw_file: release rgw_fh lock and ref on ENOTEMPTY + + An early return in new unlink bucket num_entries check was + missing a conditional unlock and unref. + + Fixes: http://tracker.ceph.com/issues/20061 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 51c25593dd741b4df2e839fcef82b143f8c8cfca) + +commit 4a32ef856554921dab503d70257bd4922159831d +Author: Matt Benjamin +Date: Mon May 22 14:51:19 2017 -0400 + + rgw_file: remove hidden uxattr objects from buckets on delete + + If a setattr (e.g., chown) has been performed on a bucket, then like + any directory it has a hidden object storing its attributes. This must + be deleted before attempting bucket delete, otherwise, actually empty + buckets will not be removable via NFS. + + Fixes: http://tracker.ceph.com/issues/20045 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 01e15c3ec6cf43a7a7c4e2d13aad5f385c9f9748) + + Conflicts: + src/rgw/rgw_file.cc (jewel does not have + "inline int valid_fs_bucket_name()" and + "inline int valid_fs_object_name()") + +commit b63b7886dc1fb704f8baa9749a20e09faa93c1d1 +Author: Mykola Golub +Date: Mon Apr 24 16:23:21 2017 +0200 + + test/librbd/test_notify.py: don't disable feature in slave + + On jewel it will have stolen the exclusive lock. Instead, ensure that + object map and fast diff are already disabled on the clone before the + start of the test. + + Fixes: http://tracker.ceph.com/issues/19716 + Signed-off-by: Mykola Golub + (cherry picked from commit e009e1bdd4b3997462feb9a050bd2eb201e028ba) + +commit 5c0986153e79d7ec4bc165e497689319bd95ada9 +Author: Mykola Golub +Date: Fri May 5 15:59:44 2017 +0200 + + rbd-nbd: relax size check for newer kernel versions + + Fixes: http://tracker.ceph.com/issues/19871 + Signed-off-by: Mykola Golub + (cherry picked from commit 8e912b9a0564a57f1b761e9e567771197bd0fb98) + +commit bc8c5d6c77880d21248c683609c3814145008f36 +Author: Mykola Golub +Date: Tue May 23 12:07:45 2017 +0200 + + librbd: potential read IO hang when image is flattened + + Fixes: http://tracker.ceph.com/issues/19832 + Signed-off-by: Jason Dillaman + (cherry picked from 10d58618e7c632ef01b9537492239e0a042dc17e) + + Conflicts: + src/librbd/AioObjectRequest.cc: manual backport because the master changes + are in a different file (src/librbd/io/ObjectRequest.cc) + +commit 2e278d821d1e5992f77e6ac1f0b3e1c7fcba7e12 +Author: redickwang +Date: Fri May 19 15:08:12 2017 +0800 + + rgw: segment fault when shard id out of range + + Fixes: http://tracker.ceph.com/issues/19732 + + Signed-off-by: redickwang + (cherry picked from commit ff4c40fc2e3c092d17a218ae6132de4e6034c8ee) + +commit 5adc66bc2abe5b8d58111d52b23619edfbebbc7f +Author: Thomas Serlin +Date: Wed May 24 12:07:41 2017 -0400 + + Set subman cron attributes in spec file + + Fixes: http://tracker.ceph.com/issues/20074 + + Signed-off-by: Thomas Serlin + (cherry picked from commit a9eb6ecea7b9512722e2283e5acb4fc6a1b7b734) + +commit 21b00c3ec0ae60848f6677b5fe23e6321b0f8de8 +Author: Sage Weil +Date: Thu Mar 30 13:50:41 2017 -0400 + + osd/PrimaryLogPG: do not expect FULL_TRY ops to get resent + + The objecter will not resend FULL_TRY requests that were sent prior to + becoming full, so we should not discard them. + + Fixes: http://tracker.ceph.com/issues/19430 + Signed-off-by: Sage Weil + (cherry picked from commit 3f7acdbc9a942fd18937dbcf07fbc7b752c50ba3) + +commit afd036cb6725f9e91cfd38995d6536d92deb934d +Author: lvshuhua +Date: Wed Dec 7 15:47:47 2016 +0800 + + rgw: fix versioned bucket data sync fail when upload is busy + + Fixes: http://tracker.ceph.com/issues/18208 + + Signed-off-by: lvshuhua + (cherry picked from commit ce7d00ac1642d84c1d9111156a544c37801c5adf) + + Conflicts: + src/rgw/rgw_data_sync.cc (in jewel, inc_marker is declared to be of + type rgw_bucket_shard_inc_sync_marker, while in master it is of + type rgw_bucket_shard_inc_sync_marker& - i.e. reference to + rgw_bucket_shard_inc_sync_marker) + +commit c2137f2f725d8536066b6b495f8565b126a720ed +Author: Nathan Cutler +Date: Mon Jun 19 13:51:50 2017 +0200 + + libradosstriper: delete striped objects of zero length + + This patch fixes the bug: "libradosstriper fails to delete striped objects of + zero length without returning any kind of error" + + N.B.: This is not cherry picked from master because + 7a50ea479e7e5c2909d899d89d33d3fb082257f8, which fixes the issue in master, is + too complicated to backport. + + Fixes: http://tracker.ceph.com/issues/20325 + Signed-off-by: Stan K + +commit fb79932be69545b286497d0ee24c96d5e466344b +Author: Sage Weil +Date: Tue Apr 18 13:54:56 2017 -0400 + + mon/PGMonitor: clean up min/max span warning + + Clean up option naming. + + Signed-off-by: Sage Weil + (cherry picked from commit 489e810c37ed6fb9d32d1015634041a577501ee4) + + Conflicts: + src/common/config_opts.h: Jewel's options are quite different from ones of master, + s/mon_warn_osd_usage_percent/mon_warn_osd_usage_min_max_delta/ + +commit 8180f1612a3dfac6ba5e8914f9e6a3faa8cf0297 +Author: David Zafman +Date: Thu Feb 16 22:23:06 2017 -0800 + + osd: Round fullness in message to correspond to df -h + + This really only works after journal drains because + we adjust for the journal. + + Signed-off-by: David Zafman + (cherry picked from commit 26dcb591f9af01ed444aa758c3d601e7f67261b2) + +commit 728097af06e1e49b5f02111887ce6716d3729213 +Author: David Zafman +Date: Thu Feb 16 17:25:12 2017 -0800 + + filestore: Account for dirty journal data in statfs + + Fixes: http://tracker.ceph.com/issues/16878 + + Signed-off-by: David Zafman + (cherry picked from commit 78adb70c21c6b8e6a9191b76917919b125a9490f) + + Conflicts: + src/os/filestore/FileStore.cc: adapt the code to use struct + statfs to keep changes minimal + +commit c6e4fff5e3f5c5a45b3c4fb647548bd2a2dfea0c +Author: David Zafman +Date: Tue Feb 14 16:37:07 2017 -0800 + + mon: Add warning if diff in OSD usage > config mon_warn_osd_usage_percent (10%) + + Signed-off-by: David Zafman + (cherry picked from commit c8004e6558359fb542e45bb4b483a6c91afdc0b4) + + Conflicts: + src/common/config_opts.h: some options in the original patch hunk + are not supported in Jewel, manually add the new `mon_warn_osd_usage_percent' + option. + +commit 0412bf2adaf07e527ac6659c9bce0d406edeca93 +Author: David Zafman +Date: Tue Feb 14 14:40:05 2017 -0800 + + mon: Bump min in ratio to 75% + + Signed-off-by: David Zafman + (cherry picked from commit 830cc7aa7be1ccd8f54f056b6a58e923cadd1c2b) + +commit 21e2a0337092d57f3e23d282b02b99146ed50a63 +Author: David Zafman +Date: Tue Feb 14 14:38:53 2017 -0800 + + osd: Fix ENOSPC crash message text + + Signed-off-by: David Zafman + (cherry picked from commit 50cfe03fcba253c8380b21043ed03879134d6836) + + Conflicts: + src/os/bluestore/BlueStore.cc: leave bluestore code as is, + bluestore users should use Kraken or Luminous + +commit 0068d9f3335fc8d6b7bfb5c29aa8cba87c0d01f2 +Author: Haomai Wang +Date: Tue Jun 13 10:19:55 2017 +0800 + + msg/async: go to open new session when existing already closed + + Fixes: http://tracker.ceph.com/issues/20230 + Signed-off-by: Haomai Wang + (cherry picked from commit 99f580a3959240f99061a9ad48ec591b39a9fd46) + + Changes: src/msg/async/AsyncConnection.cc: Mutex::Unlock() in Jewel + versus mutex::unlock() in master + +commit 28aa104c0c8f9d6c556aeab881231034191b55d1 +Author: Haomai Wang +Date: Tue Jun 13 10:16:47 2017 +0800 + + msg/async: fix accept_conn not remove entry in conns when lazy delete + + Signed-off-by: Haomai Wang + (cherry picked from commit bf98babb3289a7714543ff3cbd3872d80f0dc196) + +commit 9212d62007394d9219a1c629d875610aa9aeab4b +Author: Michal Jarzabek +Date: Sun Jun 19 16:01:31 2016 +0100 + + msg/AsyncMessenger.h:remove unneeded use of count + + Signed-off-by: Michal Jarzabek + (cherry picked from commit b9ccc756614870142ba878ffdf82c7c7c89e49a2) + +commit 8cf3f18c7af3a096da4f2e40f6c273c3e39c7e8f +Author: Casey Bodley +Date: Wed May 3 11:32:34 2017 -0400 + + rgw: RGWPeriodPusher spawns http thread before cr thread + + Fixes: http://tracker.ceph.com/issues/19834 + + Signed-off-by: Casey Bodley + (cherry picked from commit 21a943da45032a276997a0a885e869e2c2bc321d) + +commit 730c88e800ceedea51c92d9f3a59aeba709b692d +Author: weiqiaomiao +Date: Mon Jun 27 19:40:13 2016 +0800 + + rgw: should delete in_stream_req if conn->get_obj(...) return not zero value + + Signed-off-by: weiqiaomiao + (cherry picked from commit 494fbe9ce595b0b59597bd426cc3bc4d14ba6644) + +commit 9b12fe08098a686afe96f7965b24ee331c7902ab +Author: Casey Bodley +Date: Thu Apr 20 16:33:32 2017 -0400 + + rgw: dont spawn error_repo until lease is acquired + + if RGWDataSyncShardCR fails to acquire its lease, it doesn't call + error_repo->finish() to stop the coroutine. wait until the lease + succeeds before spawning the error_repo + + Fixes: http://tracker.ceph.com/issues/19446 + + Signed-off-by: Casey Bodley + (cherry picked from commit 1524a5eb249113fed8da1d47a4f92dec98db4566) + + Conflicts: + src/rgw/rgw_data_sync.cc (different argument list of RGWOmapAppend() + function in jewel, compared to master) + +commit 6b99bc9c6083190e65825f2fd4a2d18e7f03a4ec +Author: Nathan Cutler +Date: Fri Jun 2 09:45:06 2017 +0200 + + build/ops: deb: fix logrotate packaging + + This minimal jewel-only fix is not cherry-picked from master because + the Debian packaging was refactored between jewel and master and the + master fix is totally different. + + Fixes: http://tracker.ceph.com/issues/20316 + Signed-off-by: Nathan Cutler + +commit 4be3db597321fd61caa202af49f8c2d941db552d +Author: lu.shasha +Date: Thu Jan 5 11:50:42 2017 +0800 + + rgw: fix 'gc list --include-all' command infinite loop the first 1000 items + + When the items to gc over 1000, 'gc list --include-all' command will infinite loop the first 1000 items. + Add next_marker to move to the next 1000 items. + + Fixes: http://tracker.ceph.com/issues/19978 + + Signed-off-by: fang yuxiang + Signed-off-by: Shasha Lu + (cherry picked from commit fc29f52ebca63104a05515484088ff136dfb0b15) + +commit 7966b846a875c60b5272f32baec648a719a10b9e +Author: Casey Bodley +Date: Wed Jun 7 12:58:05 2017 -0400 + + test/rgw: wait for realm reload after set_master_zone + + Signed-off-by: Casey Bodley + (cherry picked from commit 5cc99db52423f9ee98a549b215559c677f178f48) + +commit 97ffe49defb213c26288744ed572fbb5b158583a +Author: Casey Bodley +Date: Wed Jun 7 12:56:20 2017 -0400 + + test/rgw: fixes for test_multi_period_incremental_sync() + + test was only creating objects in subsequent periods, which wasn't + adding any entries to the mdlog. this wasn't correctly testing + incremental metadata sync across periods + + Signed-off-by: Casey Bodley + (cherry picked from commit 2976fd36cded95f68766f8ba485d43f932e97db2) + +commit 7c19e375be379cd8366097b57adea9f6010d783c +Author: Casey Bodley +Date: Wed Jun 7 12:00:15 2017 -0400 + + test/rgw: meta checkpoint compares realm epoch + + avoid marker comparisons between different periods + + Signed-off-by: Casey Bodley + (cherry picked from commit 20df35ad94aea0c03be0c2c9739bd239354a46d8) + +commit cb957226083f7644db5b5826a3d7ab21c47def8e +Author: Casey Bodley +Date: Tue Mar 21 12:19:01 2017 -0400 + + rgw: remove rgw_realm_reconfigure_delay + + when the master zone is changed, this config variable was increasing the + window of time where the old master zone would continue to handle + requests to modify metadata. those changes would not be reflected by the + new metadata master zone, and would be lost to the cluster + + it was an attempt to optimize for the unlikely case of multiple period + changes in a short period of time, but the logic in reload() handles this + case correctly as is + + Signed-off-by: Casey Bodley + (cherry picked from commit f422d4f1841e15a4ecf2d9304aa77021e8bd8626) + +commit 48d596df141f5014ae5ca9ab4e8955a6c6ba755e +Author: Casey Bodley +Date: Tue Mar 21 16:10:27 2017 -0400 + + rgw: require --yes-i-really-mean-it to promote zone with stale metadata + + if a zone is promoted to master before it has a chance to sync from the + previous master zone, any metadata entries after its sync position will + be lost + + print an error if 'period commit' is trying to promote a zone that is + more than one period behind the current master, and only allow the + commit to proceed if the --yes-i-really-mean-it flag is provided + + Signed-off-by: Casey Bodley + (cherry picked from commit 721e3d6ee5917b19cfc15e3e9582d23623b8cca7) + +commit 81ced03d203ec00376fef5a143e4cac24aa65093 +Author: Casey Bodley +Date: Mon Mar 20 16:13:03 2017 -0400 + + rgw: period commit uses sync status markers + + Signed-off-by: Casey Bodley + (cherry picked from commit bb49e2fbed3a87de837329cfa0c11f8d97633a94) + + Conflicts: + src/rgw/rgw_rados.cc: RGWPeriod::update removed + +commit a9830dbdd43572995b3e8e157ecbc706d6481fac +Author: Casey Bodley +Date: Mon Aug 1 15:21:52 2016 -0400 + + rgw: use RGWShardCollectCR for RGWReadSyncStatusCoroutine + + Signed-off-by: Casey Bodley + (cherry picked from commit a4bf014b8642073f3eac226a93f6360cdd9cee25) + + Conflicts: + src/rgw/rgw_sync.cc: rgw_pool, rgw_raw_obj + +commit 0ab8e0ab5db988724bb0e26c88a279d099d3b8cd +Author: Casey Bodley +Date: Mon Aug 1 14:35:53 2016 -0400 + + rgw: change metadata read_sync_status interface + + makes the same change to read_sync_status() in RGWMetaSyncStatusManager, + needed to support multiple concurrent readers for the rest interface + + Signed-off-by: Casey Bodley + (cherry picked from commit 0372df20be86cb616600626ee4c755b31032f134) + +commit ac9045abba05818108655c75ecb57cdf065f56e8 +Author: Casey Bodley +Date: Fri Mar 17 09:55:47 2017 -0400 + + rgw: store realm epoch with sync status markers + + sync status markers can't be compared between periods, so we need to + record the current period's realm epoch with its markers. when the + rgw_meta_sync_info.realm_epoch is more recent than the marker's + realm_epoch, we must treat the marker as empty + + Signed-off-by: Casey Bodley + (cherry picked from commit 574ff5f5df62a0a1e9a8ff7e4a87cd65cc952d7e) + + Conflicts: + src/rgw/rgw_sync.cc: rgw_pool + +commit 013d349c791318a03cf7bd0bbbe6d4bec708359d +Author: Casey Bodley +Date: Mon Feb 27 15:19:54 2017 -0500 + + rgw: RGWBackoffControlCR only retries until success + + Signed-off-by: Casey Bodley + (cherry picked from commit a898fb76a4179add68ccb526f2917768736ac52b) + +commit 237368752b013ad639581b506fdb46e2119f155a +Author: Casey Bodley +Date: Tue Mar 7 12:28:33 2017 -0500 + + rgw: clean up RGWInitDataSyncStatusCoroutine + + RGWInitDataSyncStatusCoroutine operates on a given rgw_data_sync_status + pointer, which saves us from having to read it back from rados + + Signed-off-by: Casey Bodley + (cherry picked from commit 69be410d0e29cd8b4cf5171800e4a7fa938eb8c6) + + Conflicts: + src/rgw/rgw_data_sync.cc: rgw_pool, rgw_raw_obj + +commit 67011e51a7ba1538ad2c5f426311ae71bb5f8c34 +Author: Casey Bodley +Date: Tue Mar 7 11:16:43 2017 -0500 + + rgw: fix marker comparison to detect end of mdlog period + + Fixes: http://tracker.ceph.com/issues/18639 + + Signed-off-by: Casey Bodley + (cherry picked from commit 7c23713b1a3c14b135f8eb6fdb36d113ea860e4e) + +commit c19c72058e9a09ccfc316ebe0c53348be1e2ba32 +Author: Casey Bodley +Date: Mon Aug 22 22:06:15 2016 -0400 + + rgw: add == and != operators for period history cursor + + RGWMetaSyncCR was using operator== but it always returned true! + + Signed-off-by: Casey Bodley + (cherry picked from commit 09c847ff790f55004871fb7304361ae6c9845b1a) + +commit 1c344e254efcd802e417cc45b6678989c871ad0a +Author: Casey Bodley +Date: Wed Jun 8 09:37:26 2016 -0400 + + rgw: add empty_on_enoent flag to RGWSimpleRadosReadCR + + RGWSimpleRadosReadCR won't currently fail with ENOENT, but instead + passes an empty object to handle_data(). add an empty_on_enoent flag to + the constructor, defaulting to true, to make this behavior optional for + callers that do want to fail on ENOENT + + Signed-off-by: Casey Bodley + (cherry picked from commit c5c95e7f225d59a8bdd8eda3742053b77492c40c) + +commit bf973c8400db08dd541152812d42379cf113755d +Author: Boris Ranto +Date: Fri May 26 09:52:25 2017 +0200 + + rpm: Move ceph-disk to ceph-base + + The SELinux package now requires the ceph-disk binary but that one was + part of the ceph-osd package. The ceph-disk python library is already + packaged in ceph-base so moving ceph-disk to ceph-base seems like a + reasonable next step. + + Signed-off-by: Boris Ranto + (cherry picked from commit 6991764f3bff7b8f6be699603927aff882377878) + + Conflicts: + ceph.spec.in: we have ceph-disk-udev in jewel + ceph.spec.in: few if conditions were different in jewel + +commit 6ca61b1b478f5dbbd33ddf87e0fc1af999ed75cb +Author: Boris Ranto +Date: Thu May 25 14:36:13 2017 +0200 + + ceph-disk: Fix the file ownership, skip missing + + This commit fixes the file ownership for the /usr/bin/ and /etc/ceph + files and skips missing files as some of the files that we do specify + now can be missing from the system (not installed, e.f. radosgw). + + Fixes: http://tracker.ceph.com/issues/20077 + + Signed-off-by: Boris Ranto + (cherry picked from commit 077038b4393a28ccbd38ca4a90105dbd4c1ffcd5) + +commit 7d6eea0440f9856894570af80a14ba6c19a3c910 +Author: Boris Ranto +Date: Fri Apr 28 12:29:46 2017 +0200 + + selinux: Do parallel relabel on package install + + We can take advantage of ceph-disk fix subcommand when doing a package + install. We will keep using the differential fixfiles command otherwise. + + We also need to add relabel for /usr/bin/ daemons so that we could use + this. + + Fixes: http://tracker.ceph.com/issues/20077 + + Signed-off-by: Boris Ranto + (cherry picked from commit 1cecddf031991f1c64ea203f173189624f11940e) + +commit b9ce1aa618d1f488f91f349bed8c87a421fcd5ba +Author: Jason Dillaman +Date: Wed May 3 21:36:21 2017 -0400 + + rbd-mirror: ensure missing images are re-synced when detected + + Fixes: http://tracker.ceph.com/issues/19811 + Signed-off-by: Jason Dillaman + (cherry picked from commit 74bd4f230a0cb7b709f2cb5c6db3dc79f0d8dede) + + Conflicts: + src/test/rbd_mirror/image_replayer/test_mock_BootstrapRequest.cc: trivial resolution + src/tools/rbd_mirror/image_replayer/BootstrapRequest.h: trivial resolution + +commit 648dfa1e939fa65ef629b7e4a31f2eda2b0b55c0 +Author: Kefu Chai +Date: Mon Jun 5 15:40:10 2017 +0800 + + qa: add a sleep after restarting osd before "tell"ing it + + without the fast-fail feature, the monitor does not mark osd down after + a grace time. so we cannot truest the "healthy()" in ceph.restart task. + + also, "restart" task wait-for-healthy by default, so no need to do it + explicitly. + + Fixes: http://tracker.ceph.com/issues/16239 + Signed-off-by: Kefu Chai + Conflicts: this change is not cherry-picked from master. because, in + master we have the fast-fail feature, but we have'not + backport it to jewel. so adding a timeout would help to + make sure that the OSD is back online even "restart" + waits for "healthy" already. + +commit 01abfed8f26eab70dc3242aeaa4c44599f542af2 +Author: Greg Farnum +Date: Thu May 25 22:32:01 2017 -0700 + + osd: do not default-abort on leaked pg refs + + Signed-off-by: Greg Farnum + (cherry picked from commit 4caf2df0c380a1281db9509b3feb342705512b58) + + Conflicts: + qa/clusters/fixed-4.yaml + src/osd/OSD.cc + + Fixes: http://tracker.ceph.com/issues/20084 + + Signed-off-by: Greg Farnum + +commit 967d6a54055b438d6730ab7b7c1fc1a1b980c5e2 +Author: Greg Farnum +Date: Thu May 25 21:52:49 2017 -0700 + + osd: Reset() the snaptrimmer on shutdown + + We were failing to exit various wait states which held PGRefs. Error! + + Fixes: http://tracker.ceph.com/issues/19931 + + Signed-off-by: Greg Farnum + (cherry picked from commit b0e9deeea8a8e90f6d7e9d56b6b4aed890e01d7b) + + Conflicts: + src/osd/ReplicatedPG.cc + + Signed-off-by: Greg Farnum + +commit 328e2cc71aaefa07a04381a7f752dac46b566da0 +Author: Sage Weil +Date: Fri Feb 3 10:08:33 2017 -0500 + + mon/PGMap: factor mon_osd_full_ratio into MAX AVAIL calc + + If we only fill OSDs to 95%, we should factor that into + the MAX AVAIL calculation for the pool. + + Fixes: http://tracker.ceph.com/issues/18522 + Signed-off-by: Sage Weil + (cherry picked from commit f223ac92917f4bc18e5b9b3ad61afa155e4d088a) + + Conflicts: + src/mon/PGMap.cc: get_rule_avail() is a method of the PGMonitor + class in Jewel (and osd_stat is pg_map.osd_stat) + +commit b52bfe6b443f0ff88c8614441752102058063699 +Author: Ning Yao +Date: Thu Apr 6 11:12:04 2017 +0000 + + os/filestore: fix infinit loops in fiemap() + + since fiemap can get extents based on offset --> len + but we should consider last extents is retrieved when len == 0 + even though it is not last fiemap extents + + Signed-off-by: Ning Yao + (cherry picked from commit 36f6b668a8910d76847674086cbc86910c78faee) + +commit e3cba06bd02b1fca07414c987cf147f1ded99b68 +Author: Kefu Chai +Date: Fri May 5 12:02:05 2017 +0800 + + mon: check is_shutdown() in timer callbacks + + introduce a helper class: C_MonContext, and initialize all timer events + using it, to ensure that they do check is_shutdown() before doing their + work. + + Fixes: http://tracker.ceph.com/issues/19825 + Signed-off-by: Kefu Chai + (cherry picked from commit 561cbded0c7e28231b1c7ce18663b8d7d40aad6d) + + Conflicts: + src/mon/MgrMonitor.cc: no such service in Jewel + +commit ef5265f107858d37bbdeea165cec571db614b4a3 +Author: Kefu Chai +Date: Thu May 4 22:49:04 2017 +0800 + + mon/Elector: call cancel_timer() in shutdown() + + instead of doing it manually. + + Signed-off-by: Kefu Chai + (cherry picked from commit 12139ae529a49b6caedea89f910d034ddca094b6) + +commit 9693b6bd1685f3ff1a3a44972b7e7f0e03d5da12 +Author: Alexey Sheplyakov +Date: Wed May 17 17:50:10 2017 +0400 + + jewel: mon: add override annotation to callback classes + + The only purpose of this patch is to avoid merge conflicts while + cherry-picking commit 561cbded0c7e28231b1c7ce18663b8d7d40aad6d. + Alternatively one could cherry-pick 1effdfe19bf9fd6d546620b96eaf452e889b15dc, + but that one brings a lot of unrelated changes. + + Signed-off-by: Alexey Sheplyakov + +commit ea1b21d9604f19a48edeacc68ebabf8716143c2e +Author: Michal Jarzabek +Date: Mon Aug 1 16:52:46 2016 +0100 + + mon/PaxosService: move classes to cc file + + Signed-off-by: Michal Jarzabek + (cherry picked from commit a4e979a41c7d3649cf70f9d0768015d7ff4aca8a) + +commit 1869ed9b2d4225e2bf0f366baf75e0e14f202aea +Author: Michal Jarzabek +Date: Fri Sep 23 19:43:56 2016 +0100 + + mon/Paxos: move classes to .cc file + + Signed-off-by: Michal Jarzabek + (cherry picked from commit d21357a7e042424754d9ab41c134cae9e89945f9) + +commit 18cf302377aa7a09ad4922c07c64fefc047f2bdb +Author: Michal Jarzabek +Date: Sun Jul 24 10:51:54 2016 +0100 + + mon/Elector:move C_ElectionExpire class to cc file + + Signed-off-by: Michal Jarzabek + (cherry picked from commit c819596e59fd5f66b3258fedd1d10b20cf70f0a9) + +commit fa33e7600b0205ca9113a1c5be535516886a0701 +Author: Michal Jarzabek +Date: Sat Jul 30 09:58:30 2016 +0100 + + mon/Monitor: move C_Scrub, C_ScrubTimeout to .cc + + Signed-off-by: Michal Jarzabek + (cherry picked from commit e58750127cbe8728f4047411904af3890966490f) + +commit 9ec5d8b1a5ea7fa437b161a49d246a7f0ff653c8 +Author: Kefu Chai +Date: Thu May 11 13:13:39 2017 +0800 + + osd/PrimaryLogPG: do not call on_shutdown() if (pg.deleting) + + when a callback is called, it could be facing a PG already shut down by + OSD. but if that callback wants to shut that PG down. it should check + the PG's status first. + + Fixes: http://tracker.ceph.com/issues/19902 + Signed-off-by: Kefu Chai + (cherry picked from commit f3c44a0dfc859f6f625a92e727e0e521ed4a9207) + +commit 592293cdfb397337c2808117ae9b06d5dc77f7f2 +Author: Alexey Sheplyakov +Date: Tue Jan 31 13:54:38 2017 +0400 + + systemd/ceph-disk: make it possible to customize timeout + + When booting a server with 20+ HDDs udev has to process a *lot* of + events (especially if dm-crypt is used), and 2 minutes might be not + enough for that. Make it possible to override the timeout (via systemd + drop-in files), and use a longer timeout (5 minutes) by default. + + Fixes: http://tracker.ceph.com/issues/18740 + Signed-off-by: Alexey Sheplyakov + (cherry picked from commit 22332f6bae57a6975a99523a115eb70608f26331) + +commit 3828c1443b0a580fa23680da6d0b624d76a6de2a +Author: Boris Ranto +Date: Wed Mar 8 09:38:39 2017 +0100 + + ceph-disk: Add --system option for fix command + + This adds the ability to restore the labels of the underlying system + data in addition to ceph data. + + Signed-off-by: Boris Ranto + (cherry picked from commit 8d81af42fd507c7b92c8279eb114b0a733ac1da6) + +commit 5b4132266cc8a4d53f9e045bc4b21706a9eeabc1 +Author: Boris Ranto +Date: Thu Feb 16 11:34:27 2017 +0100 + + ceph-disk: Add more fix targets + + It turns out I forgot several more directories that needs to be fixed by + this script. We need to fix /var/log/ceph, /var/run/ceph and /etc/ceph + as well. + + Signed-off-by: Boris Ranto + (cherry picked from commit ae139307d6b2bfba47e21d29d6dbd3c8dc01b5b5) + +commit 7341ee445829114e3dfb57a61ca3a0e02b666a6e +Author: Boris Ranto +Date: Thu Feb 9 19:17:12 2017 +0100 + + ceph-disk: Add unit test for fix command + + This will simulate the command* functions to not actually run anything + thus excercising the python code directly. It also checks that the + proper (sub-strings) are in the output. + + Signed-off-by: Boris Ranto + (cherry picked from commit 1ec53dee9a690134936bdc3a09c9a02fecf13a9d) + +commit 3122fa8ca37475fb1cbab296b89c5904ea7b6f76 +Author: Boris Ranto +Date: Tue Jan 31 13:19:33 2017 +0100 + + ceph-disk: Add fix subcommand + + This subcommand will fix the SELinux labels and/or file permissions on + ceph data (/var/lib/ceph). + + The command is also optimized to run the commands in parallel (per + sub-dir in /var/lib/ceph) and do restorecon and chown at the same time + to take advantage of the caching mechanisms. + + Signed-off-by: Boris Ranto + (cherry picked from commit 6d5d30f6ed7538271579cc2ef4e2e364f01a4a6f) + + Conflicts: + doc/man/8/ceph-disk.rst: whitespacing changed + src/ceph-disk/ceph_disk/main.py: command_check_call changed type + +commit 618a82e11e53cf2f1d5d306a2eb330cdf5e459ca +Author: Jason Dillaman +Date: Thu May 4 17:56:22 2017 -0400 + + librbd: add no-op event when promoting an image + + The rbd-mirror process needs an event in the journal + to properly detect the transition between primary and + non-primary state between peers. + + Fixes: http://tracker.ceph.com/issues/19858 + Signed-off-by: Jason Dillaman + (cherry picked from commit 4031555dda7597d24e9eb04b9ff29173909586f7) + + Conflicts: + src/librbd/journal/DemoteRequest.cc: logic exists in Journal.cc + + (cherry picked from commit 7970ec586bebd26b1ca4955136ad8f48bb833af6) + + Conflicts: + src/librbd/journal/PromoteRequest.[h|cc]: logic exists in Journal.cc + src/librbd/journal/Types.[h|cc]: trivial resolution + src/test/librbd/journal/test_mock_PromoteRequest.cc: does not exist + +commit 7ec6e8bc50b62b43f27cf572c9d267c1a5f9520e +Author: Jason Dillaman +Date: Thu May 4 17:57:34 2017 -0400 + + rbd-mirror: prevent infinite loop when computing replay status + + If the image had a non-primary predecessor epoch whose tag tid + duplicates an epoch within its own journal, an infinite loop + would result. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3f179bf86216540d8e25aad469c604f96f6aecd8) + +commit 09f076ed968209507b1f8a27388c3959cb91c82b +Author: Sage Weil +Date: Fri Apr 14 13:21:38 2017 -0400 + + osd: fix occasional MOSDMap leak + + _committed_osd_maps() may return early (without putting + the ref) on shutdown. + + Fixes: http://tracker.ceph.com/issues/18293 + Signed-off-by: Sage Weil + (cherry picked from commit a74632f964e10a57fb8065aec90dc7b69bddba5b) + +commit cd8c51569baaccf3ea57507f427db373c415934e +Author: Alexey Sheplyakov +Date: Thu Apr 20 12:13:13 2017 +0400 + + rgw: add the remove-x-delete feature to cancel swift object expiration + + In openstack swift, it also support the feature to cancel the object expiration, + which could be found at last point in + https://docs.openstack.org/user-guide/cli-swift-set-object-expiration.html. we + can remove the object expiration by set 'X-Remove-Delete-At:'. + + This patch also could fix the bug that when we set the object expiration and + then upload the same object to the container again. The previous object expiration + also works, which is not compatible with the openstack swift. + + Fixes: http://tracker.ceph.com/issues/19074 + Signed-off-by: Jing Wenjun + (cherry picked from commit 230429ebc4ac9b5840bb93c7e0eeb5edbb949106) + + Conflicts: + src/rgw/rgw_file.cc: + - processor->complete() has no object_size argument + (compression is not supported in Jewel) + src/rgw/rgw_op.cc: + - processor->complete() has no object_size argument + (compression is not supported in Jewel) + - RGWPostObj::execute(): the code changed a lot in master, + adjust delete_at manually (patch(1) tries to apply + the corresponding hunk to a different function) + src/rgw/rgw_rest_swift.cc: + - trivial: STREAM_IO in Jewel versus dump_header in master + +commit 10636ef77f7327b85d9128c3ba0c0f05829ee821 +Author: Vikhyat Umrao +Date: Sat Jan 21 01:44:31 2017 +0530 + + osd/Pool: Disallow enabling 'hashpspool' option to a pool without + '--yes-i-really-mean-it' + + Fixes: http://tracker.ceph.com/issues/18468 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit 3715362883acf9b8a477eb058a9ad6ee6d81ae01) diff --git a/doc/changelog/v10.2.2.txt b/doc/changelog/v10.2.2.txt new file mode 100644 index 00000000..cda69548 --- /dev/null +++ b/doc/changelog/v10.2.2.txt @@ -0,0 +1,3002 @@ +commit 45107e21c568dd033c2f0a3107dec8f0b0e58374 (tag: refs/tags/v10.2.2) +Author: Jenkins Build Slave User +Date: Tue Jun 14 11:43:24 2016 +0000 + + 10.2.2 + +commit 008c5af59b045f9b6b8046a4c6d5e915cbe18bb3 +Merge: b733244 dd1ea65 +Author: Jason Dillaman +Date: Tue Jun 14 07:32:44 2016 -0400 + + Merge pull request #9692 from dillaman/wip-16292 + + jewel: librbd: remove should ignore mirror errors from older OSDs + + Reviewed-by: Jason Dillaman + +commit dd1ea65c2c8ae966c1f07ce78f0d1f16c9a315d9 +Author: Jason Dillaman +Date: Mon Jun 13 15:29:43 2016 -0400 + + librbd: remove should ignore mirror errors from older OSDs + + Fixes: http://tracker.ceph.com/issues/16268 + Signed-off-by: Jason Dillaman + (cherry picked from commit 5a97a9b7ef238c4ceb16225a0b937f9a0cdbb2b6) + +commit b733244b3dc46e11689ddfb46187877c01347d3a +Merge: 1feddef 2656881 +Author: Jason Dillaman +Date: Tue Jun 14 07:24:28 2016 -0400 + + Merge pull request #9691 from dillaman/wip-16260-jewel + + jewel: librbd: do not shut down exclusive lock while acquiring' + + Reviewed-by: Jason Dillaman + +commit 1feddef07c182d5a50b3aa3c4a7ff87f21dbd3e1 +Merge: ffb64cd a38caf9 +Author: Jason Dillaman +Date: Tue Jun 14 06:57:38 2016 -0400 + + Merge pull request #9690 from dillaman/wip-16290 + + jewel: rbd-mirror: FAILED assert(!m_status_watcher) + + Reviewed-by: Jason Dillaman + +commit 26568819e331ef3adec6667a801f07058d94845b +Author: Jason Dillaman +Date: Mon Jun 13 20:20:33 2016 -0400 + + librbd: track in-flight flush events for journaling + + The tracking for flush events was accidentally dropped. This + can result in the journal being closed too early since it + might miss in-flight flush ops. + + Signed-off-by: Jason Dillaman + (cherry picked from commit a1ea1edce9332fa1730625629e3b4e16f02caaf4) + +commit a85fbb4e9a9a409738e9f031c20a8e2beb1b514f +Author: Jason Dillaman +Date: Mon Jun 13 12:00:28 2016 -0400 + + librbd: do not shut down exclusive lock while acquiring + + Fixes: http://tracker.ceph.com/issues/16260 + Signed-off-by: Jason Dillaman + (cherry picked from commit c5694fc6766fb8e213c4b65d2cd7b9d066b07ff7) + +commit a38caf90c98a04d57b81519803271f9d85fb5d56 +Author: Mykola Golub +Date: Sun Jun 12 20:32:45 2016 +0300 + + rbd-mirror: FAILED assert(!m_status_watcher) + + Fixes: http://tracker.ceph.com/issues/16245 + Signed-off-by: Mykola Golub + (cherry picked from commit b8bfc0f2efb44d3eff7a5fd8bca24516c8815d62) + +commit ffb64cd0538cee05b4f360fa8334829da268d1b9 +Merge: 271406c edef63d +Author: Jason Dillaman +Date: Tue Jun 14 06:54:51 2016 -0400 + + Merge pull request #9654 from dillaman/wip-16246 + + jewel: librbd: recursive lock possible when disabling journaling + + Reviewed-by: Jason Dillaman + +commit 271406c77a6176057ba73b55a110a193d6872a48 +Merge: b5e344e 0579a48 +Author: Jason Dillaman +Date: Tue Jun 14 06:54:31 2016 -0400 + + Merge pull request #9673 from dillaman/wip-16265 + + jewel: rbd-mirror: do not re-use image id from mirror directory if creating image + + Reviewed-by: Jason Dillaman + +commit b5e344e1e3670214da803ff6f7eb6e50bf52e46f +Merge: 1720664 739f343 +Author: Jason Dillaman +Date: Mon Jun 13 23:37:06 2016 -0400 + + Merge pull request #9674 from dillaman/wip-16267 + + jewel: qa/workunits: ensure replay has started before checking position + + Reviewed-by: Jason Dillaman + +commit 739f343ec880eacd13b935d493b5dbfcc5efa387 +Author: Jason Dillaman +Date: Mon Jun 13 00:19:37 2016 -0400 + + qa/workunits: ensure replay has started before checking position + + Fixes: http://tracker.ceph.com/issues/16248 + Signed-off-by: Jason Dillaman + (cherry picked from commit 6a68b68e0d2741e6694fd28d31766808ba881815) + +commit 0579a483bf7b0f1cc590fb1dbc6c740c17679dac +Author: Jason Dillaman +Date: Mon Jun 13 02:09:00 2016 -0400 + + rbd-mirror: reset local image id when creating new image + + Fixes: http://tracker.ceph.com/issues/16253 + Signed-off-by: Jason Dillaman + (cherry picked from commit 1948047acbc129de2982d53e130da1f577af224b) + +commit ec809870cc2902d2bdf6543d911e23e71567303c +Author: Jason Dillaman +Date: Mon Jun 13 02:07:54 2016 -0400 + + rbd-mirror: handle an attempt to delete a non-mirrored image + + Signed-off-by: Jason Dillaman + (cherry picked from commit 45dda67b3ef3d5dc5abb327fc1f242140f004d90) + +commit 6c303007af20a317f02b5caf7d3cb9f2214d2ee5 +Author: Jason Dillaman +Date: Mon Jun 13 02:03:29 2016 -0400 + + cls_rbd: disallow setting an empty mirror image entry to disabling + + Signed-off-by: Jason Dillaman + (cherry picked from commit 7b2f99a97ff64451f3ae72081186dff41c507271) + +commit edef63d56bc329638f79ce8017e72810dcd768f1 +Author: Jason Dillaman +Date: Sun Jun 12 21:42:59 2016 -0400 + + librbd: avoid holding owner_lock waiting for exclusive lock + + Fixes: http://tracker.ceph.com/issues/16235 + Signed-off-by: Jason Dillaman + (cherry picked from commit b96ab805eed49d4bdb494c8919d2e1ee7ad0a7e6) + +commit 1720664ddcb32dd300b2bd046ff15ed4916676a4 +Merge: f902309 2eaaf2e +Author: Gregory Farnum +Date: Mon Jun 13 01:26:53 2016 -0700 + + Merge pull request #9656 from gregsfortytwo/wip-jewel-16024 + + Jewel client: fix bugs accidentally disabling readahead + +commit f902309bc9c159c0d6a798c0398a95f64bb682ed +Merge: 89d6545 d61e3dd +Author: Gregory Farnum +Date: Mon Jun 13 01:22:22 2016 -0700 + + Merge pull request #9655 from gregsfortytwo/wip-jewel-15508 + + Jewel mds: order directories by hash and fix simultaneous readdir races + +commit d61e3ddf6d99a4b9b72fd769d635bf9b2bffaf0e +Author: Yan, Zheng +Date: Mon May 9 22:12:48 2016 +0800 + + client: fix simultaneous readdirs race + + Current readdir code uses list to track the order of the dentries + in readdir replies. When handling a readdir reply, it pushes the + resulting dentries to the back of directory's dentry_list. After + readdir finishes, the dentry_list reflects how MDS sorts dentries. + + This method is racy when there are simultaneous readdirs. The fix + is use vector instead of list to trace how dentries are sorted in + its parent directory. As long as shared_gen doesn't change, each + dentry is at fixed position of the vector. So cocurrent readdirs + do not affect each other. + + Fixes: http://tracker.ceph.com/issues/15508 + Signed-off-by: Yan, Zheng + (cherry picked from commit 9d297c5e98f814b282dadc379ab70dfa678db73e) + + Signed-off-by: Greg Farnum +Date: Mon Apr 25 23:24:46 2016 +0800 + + client: move dir_{release,ordered}_count into class Inode + + We close Inode::dir when it's empty. Once closing the dir, we lose + track of {release,ordered}_count. This causes direcotry to be wrongly + marked as complete. (dir is trimmed to empty in the middle of readdir) + + Signed-off-by: Yan, Zheng + (cherry picked from commit 235fcf68f5d96a4d9d6cc260d12da912fa7ea4a8) + + Signed-off-by: Greg Farnum +Date: Mon Apr 25 17:59:35 2016 +0800 + + ceph_test_libcephfs: check order of entries in readdir result + + Signed-off-by: Yan, Zheng + (cherry picked from commit 9b17d145c15a469caa29853312b8dcb0b19f55f0) + + Signed-off-by: Greg Farnum +Date: Mon Apr 25 15:52:32 2016 +0800 + + mds: don't reset readdir offset if client supports hash order dentry + + Now the ordering of dentries is stable across directory fragmentation. + There is no need to reset readdir offset if directory get fragmented + in the middle of readdir. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 98a01af2cd8e01f14ab7be32c31a43571ef8bb87) + + Signed-off-by: Greg Farnum +Date: Mon Apr 25 15:31:27 2016 +0800 + + client: using hash value to compose dentry offset + + If MDS sorts dentries in dirfrag in hash order, we use hash value to + compose dentry offset. dentry offset is: + + (0xff << 52) | ((24 bits hash) << 28) | + (the nth entry hash hash collision) + + This offset is stable across directory fragmentation. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 680766ec131b95271e320f54dfe6d69ea8d4fbb3) + + Signed-off-by: Greg Farnum +Date: Mon Apr 25 10:50:17 2016 +0800 + + client: record 'offset' for each entry of dir_result_t::buffer + + This is preparation for using hash value as dentry 'offset' + + Signed-off-by: Yan, Zheng + (cherry picked from commit bd6546e5e8bfb4ef8927807492d63d5285534618) + + Signed-off-by: Greg Farnum +Date: Mon May 9 11:51:36 2016 +0800 + + client: fix cached readdir after seekdir + + Client::seekdir doesn't reset dirp->at_cache_name for a forward seek + within same frag. So the dentry with name == at_cache_name may not be + the one prior to the readdir postion. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 0e32115bae2f1ac2c59b57852976b0de5587abac) + + Signed-off-by: Greg Farnum +Date: Thu Apr 21 17:31:10 2016 +0800 + + mds: define end/complete in readdir reply as single u16 flags + + so that we can introduce new flags for readdir reply. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 92cfbdf526d1030891da366299b635e589dd5f8e) + + Signed-off-by: Greg Farnum +Date: Sat Apr 23 16:03:48 2016 +0800 + + mds: sort dentries in CDir in hash order + + This gives us stable ordering of dentries. (Previously ordering of + dentries changes after directory gets fragmented) + + Signed-off-by: Yan, Zheng + (cherry picked from commit f483224a0bc70b9eb5f62cd6cbb8b97df5b65953) + + Signed-off-by: Greg Farnum +Date: Fri Apr 22 09:43:54 2016 +0800 + + client: save readdir result into dir_result_t directly + + Current code saves the readdir result into MedaRequest, then updates + dir_result_t according to MetaRequest. I can't see any reason why + we need to do this. + + Signed-off-by: Yan, Zheng + (cherry picked from commit db5d60d1b8d01afd43da09a063f00aa6ab312903) + + Signed-off-by: Greg Farnum +Date: Fri Apr 22 09:31:00 2016 +0800 + + client: don't allocate dir_result_t::buffer dynamically + + Signed-off-by: Yan, Zheng + (cherry picked from commit c41ceb9f1425432295a52965de8d4a23b15fe5e5) + + Signed-off-by: Greg Farnum +Date: Thu Apr 21 20:53:55 2016 +0800 + + client: simplify 'offset in frag' + + don't distinguish leftmost frag from other frags. always use 2 as + first entry's offset. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 6572c2a24ea2abec4c7eecef92a292c2cc72c762) + + Signed-off-by: Greg Farnum +Date: Fri Jun 10 17:33:04 2016 -0400 + + client: move readahead ref get/put to obj constr + + The readahead context was incrementing the file handle reference count but only + decreasing in finish which is not called if readahead is a no-op. + + This fixes a bug caught in testing where readahead was causing inode to become + disconnected: + + 2016-06-10 19:46:48.953018 7f2a4351be80 1 client.4125 dump_inode: DISCONNECTED inode 10000000502 #10000000502 ref 110000000502.head(faked_ino=2307 ref=1 ll_ref=0 cap_refs={1024=0,2048=0,4096=0,8192=0} open={1=0,2=0} mode=100666 size=4194304/0 mtime=2016-06-10 19:29:45.107417 caps=-(0=pAsLsXsFscr) objectset[10000000502 ts 2/4012653 objects 0 dirty_or_tx 0] 0x7f2a24300d00) + 2016-06-10 19:46:48.953032 7f2a4351be80 2 client.4125 cache still has 0+155 items, waiting (for caps to release?) + + Signed-off-by: Patrick Donnelly + (cherry picked from commit b5a0773259ce9f2ef44e8e6925ab11dc1a5e55e6) + + Signed-off-by: Greg Farnum +Date: Thu May 26 16:32:58 2016 -0400 + + client: use fh min readahead to enable readahead + + The client was using the configured maximum readahead of 0 which was changed in + 95ee69989129750fddce6a3b5644238c4b88ed74. This prevented readahead from ever + running (without setting a different default from 0). + + Fixes: http://tracker.ceph.com/issues/16024 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 01c179bcce2dc8a269d78eb1be8198b12bd161f7) + + Signed-off-by: Greg Farnum +Date: Fri May 27 11:43:31 2016 -0400 + + client: update comment + + Default was changed to unlimited in 11e4680e7394e6e02612441c964e05207b97737b. + + Signed-off-by: Patrick Donnelly + (cherry picked from commit bee02a073f4c551798bc490618a0e8d862893c25) + + Signed-off-by: Greg Farnum +Date: Thu May 26 15:08:52 2016 -0400 + + client: use layout.get_period() helper + + Signed-off-by: Patrick Donnelly + (cherry picked from commit b331d12a43a4177369a003c3ab9d525da6a89950) + + Signed-off-by: Greg Farnum +Date: Fri Jun 10 15:44:26 2016 -0400 + + librbd: recursive lock possible when disabling journaling + + If pool-level mirroring is enabled, deleting the journal + could cause a deadlock attempting to delete remote peer + sync-point snapshots. + + Fixes: http://tracker.ceph.com/issues/16235 + Signed-off-by: Jason Dillaman + (cherry picked from commit fb255e6c3cd44c8d24c53e3cd70395a11a712574) + +commit 89d65456ed1303b09e9bc054bbb62c0808db4565 +Merge: c526386 e15bfff +Author: Jason Dillaman +Date: Sun Jun 12 08:16:35 2016 -0400 + + Merge pull request #9553 from Abhishekvrshny/wip-16038-jewel + + jewel: pybind: rbd API should default features parameter to None + + Reviewed-by: Jason Dillaman + +commit c526386b4b087029e6fc00315b7726a2cf9caecb +Merge: 6f9f830 6af7b22 +Author: Jason Dillaman +Date: Sun Jun 12 08:13:16 2016 -0400 + + Merge pull request #9552 from Abhishekvrshny/wip-15981-jewel + + jewel: qa: dynamic_features.sh races with image deletion + + Reviewed-by: Jason Dillaman + +commit 6f9f8307d7cff313bd2f476236591141d3c45c71 +Merge: 7edf393 dc38a26 +Author: Jason Dillaman +Date: Sun Jun 12 08:08:39 2016 -0400 + + Merge pull request #9629 from dillaman/wip-16231 + + jewel: rbd-mirror: fix deletion propagation edge cases + + Reviewed-by: Jason Dillaman + +commit 7edf393743b2f7811d784e02a42fce13af19e8bc +Merge: 39f530a bc658ed +Author: Jason Dillaman +Date: Sun Jun 12 08:08:23 2016 -0400 + + Merge pull request #9630 from dillaman/wip-16233 + + jewel: rbd-mirror: do not propagate deletions when pool unavailable + + Reviewed-by: Jason Dillaman + +commit 39f530a224d85cd12294ce125d8548cbe1e3e1c0 +Merge: bd454ff cb50679 +Author: Jason Dillaman +Date: Sun Jun 12 08:07:42 2016 -0400 + + Merge pull request #9628 from dillaman/wip-16224 + + jewel: rbd-mirror: fix journal shut down ordering + + Reviewed-by: Jason Dillaman + +commit bd454ff3a95244d2be2177180814439667db73f1 +Merge: 3fe2f1b 3a2cd16 +Author: Jason Dillaman +Date: Sun Jun 12 08:07:10 2016 -0400 + + Merge pull request #9627 from dillaman/wip-16217 + + jewel: rbd-mirror: refresh image after creating sync point + + Reviewed-by: Jason Dillaman + +commit 3fe2f1b652d7d6d80f9375174885b002db503f40 +Merge: 2a9fee9 99ff1fc +Author: Sage Weil +Date: Fri Jun 10 21:48:26 2016 -0400 + + Merge pull request #9579 from Abhishekvrshny/wip-16006-jewel + + jewel: BackoffThrottle spins unnecessarily with very small backoff while the throttle is full + + Reviewed-by: Sage Weil + +commit 2a9fee94f10cba7675f564edbeac35620e8a6602 +Merge: ac1b354 4a967eb +Author: Sage Weil +Date: Fri Jun 10 17:34:19 2016 -0400 + + Merge pull request #9638 from ceph/wip-16211-jewel + + Jewel: remove reliance on FLAG_OMAP for reads + + Reviewed-by: Sage Weil + +commit bc658ede5b2e68210852b66585bfa5560964f405 +Author: Jason Dillaman +Date: Fri Jun 10 08:15:19 2016 -0400 + + rbd-mirror: do not propagate deletions when pool unavailable + + Fixes: http://tracker.ceph.com/issues/16229 + Signed-off-by: Jason Dillaman + (cherry picked from commit d321634414fa4b90c66474557ec990dfc935ae29) + +commit dc38a26e2e48f0a1fabdb51f1819e402e5b214ce +Author: Jason Dillaman +Date: Fri Jun 10 00:12:06 2016 -0400 + + rbd-mirror: image deleter properly handles multiple snapshots + + Fixes: http://tracker.ceph.com/issues/16226 + Signed-off-by: Jason Dillaman + (cherry picked from commit d72a8cb67fbdc7361f8f9e265c659ddb96dc0f74) + +commit 0a74552b5a4c297855f5e04336a9d5cf00441d9e +Author: Jason Dillaman +Date: Thu Jun 9 22:32:33 2016 -0400 + + rbd-mirror: propagate deletions even if image replayer is stopped + + If an image deletion which causes the replayer to stop (due to an error) + before the deletion is detected, the deletion should still occur. + + Signed-off-by: Jason Dillaman + (cherry picked from commit a0c526a23783fe543737f6445a2d9438cc73b137) + +commit da6d409ab670e45e34c1dcf7de3f775632423d3f +Author: Jason Dillaman +Date: Thu Jun 9 21:14:27 2016 -0400 + + qa/workunits/rbd: improve deletion propagation test case + + Signed-off-by: Jason Dillaman + (cherry picked from commit de15b198cd7b5e94016605c8016a5cf38c07c6f6) + +commit cb50679bad91fa1a0e360dca0331996b543fdadd +Author: Jason Dillaman +Date: Wed Jun 8 10:12:04 2016 -0400 + + librbd: quickly check for duplicate snap name upon create + + During journal replay, quickly check for a duplicate snap name + before allocating a snapshot sequence from the OSDs and + reverting due to the duplicate name. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8374d45c7644666103f88c410a2b1b781f3a0cb8) + +commit 43f3bbf130c9914f895bf4834305f951d0228954 +Author: Jason Dillaman +Date: Tue Jun 7 14:45:16 2016 -0400 + + rbd-mirror: stop external replayer before closing remote journaler + + Signed-off-by: Jason Dillaman + (cherry picked from commit 88bd3002082184c045bb82547929b30da1526cfb) + +commit f0bf15e9d38e3de63c959bac0ae90b609dafc514 +Author: Jason Dillaman +Date: Tue Jun 7 12:42:52 2016 -0400 + + librbd: stop journal recorder before starting external replay + + Fixes: http://tracker.ceph.com/issues/16165 + Signed-off-by: Jason Dillaman + (cherry picked from commit 5aa6eb2782bdb5cde6a050a5f7a4e683800414c0) + +commit 3a2cd16e6c35b7b8ba0dd113b9a8cc586c1086b0 +Author: Jason Dillaman +Date: Wed Jun 8 12:49:04 2016 -0400 + + rbd-mirror: refresh image after creating sync point snapshot + + Fixes: http://tracker.ceph.com/issues/16196 + Signed-off-by: Jason Dillaman + (cherry picked from commit c9a3e3be7ddc31992167d55de12bbe6849447b43) + +commit 6b77d2268e7b17911f0a6809045d356d97d1621a +Author: Jason Dillaman +Date: Wed Jun 8 12:03:33 2016 -0400 + + rbd-mirror: consistently use dout/derr for debug logging + + Signed-off-by: Jason Dillaman + (cherry picked from commit 03f5e4a917b3c18f8ccdaa5ce676ed9731dd2a8f) + +commit ac1b35478eea6bad574fac8641b47c0fcaee20f4 +Merge: 966186f 03466f0 +Author: Jason Dillaman +Date: Fri Jun 10 12:32:21 2016 -0400 + + Merge pull request #9612 from dillaman/wip-16208 + + jewel: rbd-mirror: support bootstrap canceling + + Reviewed-by: Jason Dillaman + +commit 966186f3c20080475d3e692e918cc363cac1ae47 +Merge: 49ed4ff bddf944 +Author: Jason Dillaman +Date: Fri Jun 10 12:32:02 2016 -0400 + + Merge pull request #9610 from dillaman/wip-16209 + + jewel: librbd: prevent error messages when journal externally disabled + + Reviewed-by: Jason Dillaman + +commit 49ed4ffeb2c17f266559137030ab32182750b321 +Merge: 8e533c8 0014a9e +Author: Jason Dillaman +Date: Fri Jun 10 12:19:47 2016 -0400 + + Merge pull request #9611 from dillaman/wip-16210 + + jewel: librbd: journal IO error results in failed assertion in AioCompletion + + Reviewed-by: Jason Dillaman + +commit 8e533c877e5d7bac84867d418aada1998425ef72 +Merge: a768a1c e424482 +Author: Jason Dillaman +Date: Fri Jun 10 12:16:49 2016 -0400 + + Merge pull request #9580 from Abhishekvrshny/wip-15996-jewel + + jewel: librbd: reuse ImageCtx::finisher and SafeTimer for lots of images case + + Reviewed-by: Jason Dillaman + +commit a768a1cb7b0062963714361ce94f8a834db44bd4 +Merge: ba5d490 bb279f1 +Author: Jason Dillaman +Date: Fri Jun 10 12:15:51 2016 -0400 + + Merge pull request #9609 from dillaman/wip-16216 + + jewel: librbd: refresh image if needed in mirror functions + + Reviewed-by: Jason Dillaman + +commit ba5d490824efa63c63713fee418631cd684293c4 +Merge: 41c5c27 3b8cb63 +Author: Jason Dillaman +Date: Fri Jun 10 12:15:32 2016 -0400 + + Merge pull request #9608 from dillaman/wip-16189 + + jewel: cls_rbd: mirror image status summary should read full directory + + Reviewed-by: Jason Dillaman + +commit 41c5c273b1f52d0284c6b08f15db3edb17cd674c +Merge: 7d217b9 cec6870 +Author: Jason Dillaman +Date: Fri Jun 10 12:15:08 2016 -0400 + + Merge pull request #9556 from Abhishekvrshny/wip-16162-jewel + + jewel: ceph_test_librbd_fsx crashes during journal replay shut down + + Reviewed-by: Jason Dillaman + +commit 7d217b9cc55778fa73f0ce4a0c2c5994f5f31c87 +Merge: 32f90a7 6c0e202 +Author: Jason Dillaman +Date: Fri Jun 10 12:14:49 2016 -0400 + + Merge pull request #9554 from Abhishekvrshny/wip-16084-jewel + + jewel: librbd: validate image metadata configuration overrides + + Reviewed-by: Jason Dillaman + +commit 32f90a7c98ebd5a272ece71b1af7009be2742cb5 +Merge: 3715d20c 09200d4 +Author: Jason Dillaman +Date: Fri Jun 10 12:13:06 2016 -0400 + + Merge pull request #9555 from Abhishekvrshny/wip-16147-jewel + + jewel: Object Map is showing as invalid, even when Object Map is disabled for that Image. + + Reviewed-by: Jason Dillaman + +commit 3715d20c25c19ec1d1c58d275cef4e7ddb5b7778 +Merge: 7ea13df 73464af +Author: Jason Dillaman +Date: Fri Jun 10 12:12:47 2016 -0400 + + Merge pull request #9550 from Abhishekvrshny/wip-15969-jewel + + jewel: Initial python APIs to support mirroring + + Reviewed-by: Jason Dillaman + +commit 7ea13dfb9d85613d5c4daf92811a786293ffc2be +Merge: 2c22131 3084cf3 +Author: Jason Dillaman +Date: Fri Jun 10 12:12:37 2016 -0400 + + Merge pull request #9548 from Abhishekvrshny/wip-15963-jewel + + jewel: Disabling journaling feature results in "Transport endpoint is not connected" error + + Reviewed-by: Jason Dillaman + +commit 2c221318e27fb4c4b68780c0037b9acae5862d6e +Merge: 4d68ae0 69a9500 +Author: Loic Dachary +Date: Fri Jun 10 00:55:47 2016 +0200 + + Merge pull request #9424 from SUSE/wip-16107-jewel + + jewel: ceph gid mismatch on upgrade from hammer with pre-existing ceph user (SUSE) + + Reviewed-by: Samuel Just + Reviewed-by: Loic Dachary + +commit 4d68ae062b90599c184282b807f7d16cfaf2f6ad +Merge: 57b4542 b443fdf +Author: Loic Dachary +Date: Fri Jun 10 00:54:52 2016 +0200 + + Merge pull request #8802 from SUSE/wip-15606-jewel + + jewel: ceph-{mds,mon,osd,radosgw} systemd unit files need wants=time-sync.target + + Reviewed-by: Samuel Just + Reviewed-by: Loic Dachary + +commit 57b45426b5efa7ec4e293f9276f1f4299b5bf3ac +Merge: 3cf6533 555cec9 +Author: Samuel Just +Date: Thu Jun 9 15:44:13 2016 -0700 + + Merge pull request #9320 from SUSE/wip-16017-jewel + + jewel: ceph: cli: exception when pool name has non-ascii characters + + Reviewed-by: Samuel Just + +commit 3cf653328c988da5cf6be678cf3f0cb4c80c094d +Merge: a422d03 663d7c2 +Author: Samuel Just +Date: Thu Jun 9 15:43:48 2016 -0700 + + Merge pull request #9270 from Abhishekvrshny/wip-15852-jewel + + jewel: mon/Monitor: memory leak on Monitor::handle_ping() + + Reviewed-by: Samuel Just + +commit a422d0372719841ea4cc63f87e77ddc1dee7d815 +Merge: 34b193b 8356021 +Author: Samuel Just +Date: Thu Jun 9 15:43:04 2016 -0700 + + Merge pull request #9237 from SUSE/wip-15961-jewel + + jewel: ceph-osd valgrind invalid reads/writes + + Reviewed-by: Samuel Just + +commit 34b193be043f0d88c42c5ae177a660b747e81486 +Merge: e2a035e 64f15b3 +Author: Samuel Just +Date: Thu Jun 9 15:42:32 2016 -0700 + + Merge pull request #9103 from Abhishekvrshny/wip-15797-jewel + + jewel: deadlock in OSD::_committed_osd_maps + + Reviewed-by: Samuel Just + +commit e2a035eeb19e9043c41e5132d2ea0b8a59ac1bed +Merge: 2c35fe7 adfbe95 +Author: Samuel Just +Date: Thu Jun 9 15:41:52 2016 -0700 + + Merge pull request #9101 from Abhishekvrshny/wip-15799-jewel + + jewel: osd boot race with noup being set + + Reviewed-by: Samuel Just + +commit 2c35fe7e739e99452cf4d039281185e8c4a40b1c +Merge: 6528e43 f4306de +Author: Samuel Just +Date: Thu Jun 9 15:40:43 2016 -0700 + + Merge pull request #9104 from Abhishekvrshny/wip-15795-jewel + + jewel: LibRadosWatchNotifyPPTests/LibRadosWatchNotifyPP.WatchNotify2Timeout/1 segv + + Reviewed-by: Samuel Just + +commit 6528e4371e0ab1c385e539646d08f4ea1dded893 +Merge: 50143ed b989084 +Author: Samuel Just +Date: Thu Jun 9 15:37:43 2016 -0700 + + Merge pull request #9427 from SUSE/wip-16104-jewel + + jewel: ceph-disk: workaround gperftool hang + + Reviewed-by: Loic Dachary + +commit 50143ed004ef198f2161b9f360bfeccd16503954 +Merge: b328e99 a32820d +Author: Sage Weil +Date: Thu Jun 9 14:55:31 2016 -0400 + + Merge pull request #9614 from ceph/wip-16113-jewel + + osd: hobject_t::get_max() vs is_max() discrepancy + + Reviewed-by: Sage Weil + +commit 03466f096adcfe3322cad49c959fec976d887860 +Author: Mykola Golub +Date: Wed May 4 15:30:05 2016 +0300 + + rbd-mirror: don't return split-brain error if we still in MIRROR_PEER_STATE_SYNCING + + Signed-off-by: Mykola Golub + (cherry picked from commit 3ac620c5d66d8516e68264fcdb5e97b0e803d0ec) + +commit dfefd343e35b1c69fc2c938c7ebc30352e1320d4 +Author: Mykola Golub +Date: Tue May 3 12:48:06 2016 +0300 + + rbd-mirror: refactor split-brain detection code + + to make it more readable and extendable. + + Signed-off-by: Mykola Golub + (cherry picked from commit 039cd2d2e3bb6a9c5042c125d2c67ec9adc02c47) + +commit c94e5b740628b98008e5342b8a3b2b888ff7b794 +Author: Mykola Golub +Date: Tue May 31 15:00:30 2016 +0300 + + rbd-mirror: support bootstrap canceling + + Signed-off-by: Mykola Golub + (cherry picked from commit 21f895f48498e518c3675a9e851559f4d071f6dd) + +commit c8a3e759298c3a2adfa67d932178d284619d460e +Author: Mykola Golub +Date: Mon May 30 16:24:24 2016 +0300 + + rbd-mirror: return ECANCELED when ImageReplayer start is canceled + + Signed-off-by: Mykola Golub + (cherry picked from commit f581dbcb2eca108ce9440629b8f00f3229c07b95) + +commit 0014a9e284c6cfc7678e63b56d707a8ad9b93127 +Author: Jason Dillaman +Date: Tue Jun 7 01:01:09 2016 -0400 + + librbd: flush journal commit positions before starting op + + Ensure all IO has been properly flushed and committed to the + journal before starting an op that could affect the IO path. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 636129653c7cac9665d0c423f6aafad5fd0c480a) + +commit 3cec45a17a3d8bdcd19c63c31dad6b9150a9fbfd +Author: Jason Dillaman +Date: Tue Jun 7 00:11:34 2016 -0400 + + librbd: leaked AioCompletion if IO issued after image shut down + + Signed-off-by: Jason Dillaman + (cherry picked from commit d3d4e068396e01c58832e0ea1224ca34bafb808e) + +commit ef12536830082194da52df3a0dc8e22a3f69cb54 +Author: Jason Dillaman +Date: Mon Jun 6 19:00:47 2016 -0400 + + librbd: resize and snap create can hang on journal replay failure + + Signed-off-by: Jason Dillaman + (cherry picked from commit 1032f19b3c9d9c7916669d04af909131574b3cab) + +commit c8b4cabea0e1a74a62fd9b25ccb5e0b15df38733 +Author: Jason Dillaman +Date: Mon Jun 6 14:54:23 2016 -0400 + + librbd: missing journal state for flushing/restarting replay + + Fixes: http://tracker.ceph.com/issues/16077 + Signed-off-by: Jason Dillaman + (cherry picked from commit a7f5bc181c9cd677d39f95ad78134e0f85c22acb) + +commit bc7649be5867fca46c1e86dacb99c1f8b18ad2e8 +Author: Jason Dillaman +Date: Thu May 12 21:22:56 2016 -0400 + + librbd: track IO in the order issued + + Fixes: http://tracker.ceph.com/issues/15034 + Signed-off-by: Jason Dillaman + (cherry picked from commit eb8dda5296eb5c19aa27e96d6e92eaa0c352cb62) + +commit 602ffd78f3de00d6655236dd914aa83006a8f862 +Author: Jason Dillaman +Date: Thu May 12 15:15:04 2016 -0400 + + librbd: AioCompletion should retrieve CephContext from ImageCtx + + Signed-off-by: Jason Dillaman + (cherry picked from commit 133b1ffb21c982003c7aa9dafd585062f9b2eb51) + +commit 6e20662a9f5b9eabbd83eb91760532d8171d96b8 +Author: Hector Martin +Date: Wed May 25 20:41:40 2016 +0900 + + librbd: only mark async completion as done after callback + + This change in behavior was introduced in fde9f78. + + Signed-off-by: Hector Martin + (cherry picked from commit 77f7c1cf829e5417eb356ebf3bf1fbc8ff7a25a5) + +commit de29be73c043c0cd49b4d35a160ddd3910d423e8 +Author: Jason Dillaman +Date: Mon May 9 18:17:49 2016 -0400 + + librbd: Journal no longer requires AioCompletion for IO events + + Signed-off-by: Jason Dillaman + (cherry picked from commit 82587a31f1d8ba1765f164391796753cf97a1878) + +commit 65556aa507e3e70352bb61c1549f340af0c4a9fb +Author: Jason Dillaman +Date: Mon May 9 17:59:09 2016 -0400 + + librbd: bubble journal error up via existing AioObjectRequests + + The journal cannot directly fail the AioCompletion because it + might have one-or-more outstanding requests associated with + it. + + Fixes: http://tracker.ceph.com/issues/15791 + Signed-off-by: Jason Dillaman + (cherry picked from commit 79c934742fb15c803780519b36070408599a74c5) + +commit bddf944797df5ffb93b587f8ac245846a48bd2e3 +Author: Jason Dillaman +Date: Mon Jun 6 22:34:30 2016 -0400 + + librbd: potential duplicate snap removal can result in crash + + Signed-off-by: Jason Dillaman + (cherry picked from commit 276fed6b7078158c2cd04fba14a11531c27898e0) + +commit 4ce4130d0e6deef315dcbd5dc899faf5de9ab0e7 +Author: Jason Dillaman +Date: Thu Jun 2 00:43:53 2016 -0400 + + ObjectCacher: do not merge uncommitted journal bhs + + Avoid the possibility of an overwrite callback for regions + that were never associated with a journal write. + + Signed-off-by: Jason Dillaman + (cherry picked from commit c6060ade16205337de3941a10d05e234b738fa07) + +commit 6e645985e77bd0597eab6755b6e4071b79967584 +Author: Zhiqiang Wang +Date: Wed Feb 24 21:54:34 2016 +0800 + + ObjectCacher: don't loop the extents of OSDRead in map_read + + Looping the extents of OSDRead is done in _readx. The looping in + map_read is not needed. + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit fae912c3856cab6d03183411eecab90c6e6732d2) + +commit c5f281d64221c62e3736f9630204f85d67328670 +Author: Zhiqiang Wang +Date: Wed Feb 24 21:49:56 2016 +0800 + + ObjectCacher: fix the bytes_written in writex + + The BufferHead returned after map_write may include other dirty data to + the left and/or right. The actual length of data been written is in the + ObjectExtent. + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit ca6f1681e4baf61682e258c5761536d67bf6bdb8) + +commit 1c00d813791cdd8c6e685c1ebf6f93ef4aa0adbe +Author: Zhiqiang Wang +Date: Wed Feb 24 21:45:45 2016 +0800 + + osdc: don't loop the extents of OSDWrite in map_write + + We are looping all the extents of the OSDWrite in writex. The looping in + map_write is not needed. And if there are same object in these + extents,they will be mapped multiple times. + + Signed-off-by: Zhiqiang Wang + (cherry picked from commit 322f1059670898762a890a01af6d3b0dd3ccf826) + +commit b48cdb21da2ba02ae4ee5398c38b48e857dba8cf +Author: Jason Dillaman +Date: Thu Jun 2 00:42:30 2016 -0400 + + librbd: notify image feature update before releasing lock + + If a client is waiting for the lock, ensure it sees the latest + version of the image features. + + Signed-off-by: Jason Dillaman + (cherry picked from commit f601ea835bb78554ac767ccb11789df960765bf9) + +commit 680efbdcc3d2e28b6de991e7ad5c18e0d71cc551 +Author: Jason Dillaman +Date: Wed Jun 1 23:19:20 2016 -0400 + + librbd: refresh image after acquiring exclusive lock + + It's possible that the object map or journaling features have + been disabled while the lock was not owned. + + Fixes: http://tracker.ceph.com/issues/16114 + Signed-off-by: Jason Dillaman + (cherry picked from commit 03c54f52d15d6283c630bac6f75427e6829f7d0a) + +commit bb279f1b288f1069b83d7661588f883716c80d9d +Author: Jon Bernard +Date: Wed Jun 1 21:01:30 2016 -0400 + + librbd: refresh image if needed in mirror functions + + Fixes: http://tracker.ceph.com/issues/16096 + + Signed-off-by: Jon Bernard + (cherry picked from commit a355c8f6d9e792517a8d0e096a99a64474369cfc) + +commit 3b8cb634b34dd7742bbdea2ca354a358cb0fe089 +Author: Jason Dillaman +Date: Tue Jun 7 09:36:02 2016 -0400 + + cls_rbd: mirror image status summary should read full directory + + Previously only retrieved the status for the first 64 images in + the rbd_mirroring directory. + + Fixes: http://tracker.ceph.com/issues/16178 + Signed-off-by: Jason Dillaman + (cherry picked from commit 61f86e7ec14233ea0dee5b3370595ce050ee28c3) + +commit 4a967eb42a7409b9d78d569585af2155414234d2 (refs/remotes/origin/wip-16211-jewel) +Author: Samuel Just +Date: Thu Jun 9 10:36:44 2016 -0700 + + Revert "osd/ReplicatedPG: for copy_get get omap, firstly check ob whether has omap." + + This reverts commit 771c869651132013054599f3decfc1017092a25f. + +commit fd8f8af2456bc197877793a60d4401751f828032 +Author: Samuel Just +Date: Thu Jun 9 10:36:39 2016 -0700 + + Revert "osd/ReplicatedPG: For omap read ops, it should check object wether has omap" + + This reverts commit 98caba1d0b4dd334748e3bcaf1bfb3f79f75eb65. + +commit d59ca31a4fcc472809b1f1bd3379fc3521c28fb0 +Author: Samuel Just +Date: Thu Jun 9 10:36:31 2016 -0700 + + Revert "osd/ReplicatedPG: When do omapclear, it should check object whether is omap." + + This reverts commit aeb8141c29cdd337961430bbf3e93a79e3e1bcd3. + + Conflicts: + src/osd/ReplicatedPG.cc + +commit b328e998b2aa066f5f42577abd0c74a5f3d42694 +Merge: b1c4c4c 188318b +Author: Nathan Cutler +Date: Wed Jun 8 12:00:31 2016 +0200 + + Merge pull request #8938 from SUSE/wip-15739-jewel + + jewel: ceph.spec.in: drop support for RHEL<7 and SUSE<1210 in jewel and above + + Reviewed-by: Boris Ranto + Reviewed-by: Ken Dreyer + +commit f4306de66d6c071cb240a0d77e8f877841f87033 +Author: Sage Weil +Date: Fri May 6 09:09:43 2016 -0400 + + osdc/Objecter: upper bound watch_check result + + This way we always return a safe upper bound on the amount of time + since we did a check. Among other things, this prevents us from + returning a value of 0, which is confusing. + + Fixes: http://tracker.ceph.com/issues/15760 + Signed-off-by: Sage Weil + (cherry picked from commit 2e2ce365866a7569b55aff338a82c132aa927089) + +commit 64f15b3cfd15faa65e7a36c9779713ea2436cf16 +Author: Xinze Chi +Date: Wed May 4 09:49:40 2016 +0800 + + OSD: fix deadlock in OSD::_committed_osd_maps + + Fixes: http://tracker.ceph.com/issues/15701 + Signed-off-by: Xinze Chi + (cherry picked from commit 4fbf3891aab16347d02782f7c1c0400f9e0896af) + +commit adfbe9554be2cb79a6cbccc7c4a556139b4aed50 +Author: Sage Weil +Date: Mon May 2 23:28:18 2016 -0400 + + osd: handle boot racing with NOUP set + + This is a follow-on to 7139a232d26beef441ffbc13bc087baab3505ea8, + which handled the NOUP set + clear case when the OSD found out + about the flag being cleared. However, it's possible that the + flag will get cleared but the OSD won't get a map update (because + it hasn't subscribed and is not doing any work). + + This means that it is *more* likely than before that we will + restart the boot process even though the OSD did successfully + mark us up. However, as before, it is unavoidable because there + is no notification of whether our boot request succeeds or not. + + And it is still mostly harmless (an extra mark down + up cycle). + + Fixes: http://tracker.ceph.com/issues/15678 + Signed-off-by: Sage Weil + (cherry picked from commit 11e4242fbdb2f2f6f654d4cb3a7c95d5b38a88c2) + +commit e424482d0e79ad0a0c44b14f0977cfa69d1b7f72 +Author: Haomai Wang +Date: Sun Feb 28 23:35:17 2016 +0800 + + TaskFinisher: use singleton SafeTimer and Finisher + + Fix #13938 + Signed-off-by: Haomai Wang + + (cherry picked from commit dc6d6ce8b29de51b69242e569517f69acfe226f4) + +commit 99ff1fc34215da3339ccd227c4f17caf8294a32f +Author: Samuel Just +Date: Wed May 18 12:09:10 2016 -0700 + + BackoffThrottle: wait() if past max + + Otherwise, we risk spinning on wait_for() with a small + delay. + + Fixes: http://tracker.ceph.com/issues/15953 + Signed-off-by: Samuel Just + (cherry picked from commit 6f835726a7df5b29a96849fc1362186fd2116d9b) + +commit 5ce43eb7682535deeee149600f1226b87e41defd +Author: Samuel Just +Date: Wed May 18 11:49:19 2016 -0700 + + BackoffThrottle: use wait_for instead of wait_until + + On some platforms, wait_until won't surrender the lock + with a negative argument. + + Signed-off-by: Samuel Just + (cherry picked from commit 846808ff3f3837b1772f293ae71dba5eda609cc4) + +commit cec6870572621ed9abbe3791ba6e1a460333dfc0 +Author: Jason Dillaman +Date: Thu Jun 2 10:41:18 2016 -0400 + + test/rbd: fsx needs to shut down the journal + + Fixes: http://tracker.ceph.com/issues/16123 + Signed-off-by: Jason Dillaman + (cherry picked from commit d10ffaafbd2a5831154757b848ed8504dad99069) + +commit 09200d4b5002f8ef9e75a9218fe85aaa5da33a8b +Author: xinxin shu +Date: Thu Jun 2 14:13:09 2016 +0800 + + remove invalid objectmap flag when objectmap is disabled + Fixes: http://tracker.ceph.com/issues/16076 + Signed-off-by: xinxin shu + + (cherry picked from commit b2d475686ee7617bb2023d753941e3d6952f0878) + +commit 6c0e202573110de522d531e0aa8978e843b5167e +Author: zhuangzeqiang +Date: Sat Oct 7 16:52:07 2017 +0800 + + rbd: check value of config override when setting image-meta + + Fixes: http://tracker.ceph.com/issues/15522 + + Signed-off-by: zhuangzeqiang + (cherry picked from commit 4538f8152d0e73bdefc09874113c87467bdda622) + +commit e15bfff2e822e15e0a34d09825e04cee381d8737 +Author: Mykola Golub +Date: Mon May 23 09:18:34 2016 +0300 + + pybind/rbd: create/clone/copy: default to None for features param + + If None is specified don't set the features so that the defaults is + used. + + Fixes: http://tracker.ceph.com/issues/15982 + Signed-off-by: Mykola Golub + (cherry picked from commit b8b3a9757f7d517210a91f2893b0961b6b35afab) + +commit f9e32ac68a83932945165612dc64c307f0411b19 +Author: Mykola Golub +Date: Mon May 23 09:16:38 2016 +0300 + + librbd: clone: default to parent features + + Fixes: http://tracker.ceph.com/issues/15982 + Signed-off-by: Mykola Golub + (cherry picked from commit d305eaad8d57a6f64e6d80eebcd0839a65c9a668) + +commit 6af7b223f3d0a8d51cd472cb7024a5ec70d30f61 +Author: Mykola Golub +Date: Thu May 12 09:15:53 2016 +0300 + + qa: dynamic_features.sh: return error only if it failed on alive QEMU + + Fixes: #15500 + Signed-off-by: Mykola Golub + (cherry picked from commit 8a71a79d24f2e1f999a5fc0a4154a10401d5a261) + +commit 73464af844b45137049b0fff294449ed3a6f13bb +Author: Mykola Golub +Date: Wed May 11 14:33:00 2016 +0300 + + test: initial python APIs to support mirroring + + Signed-off-by: Mykola Golub + (cherry picked from commit bfad0ca33b9d65dcec65bc1a18596d35fb3098f3) + +commit 5c312669ba2d208acaa8e819812e50ce23418208 +Author: Mykola Golub +Date: Wed May 11 14:29:17 2016 +0300 + + rbd: initial python APIs to support mirroring + + Fixes: http://tracker.ceph.com/issues/15656 + Signed-off-by: Mykola Golub + (cherry picked from commit ef0ea8ee3c926a31b54e410c18e887415f6ea3cf) + +commit 3084cf32463a07cecec66befa1562a187bc1734f +Author: Yuan Zhou +Date: Mon May 16 16:18:59 2016 +0800 + + rbd: close journal before removing + + Otherwise there is some unwanted error message. + + Fixes: http://tracker.ceph.com/issues/15863 + + Signed-off-by: Yuan Zhou + (cherry picked from commit ecdad4acca635d4b9f0b407889dde9985ab3a506) + +commit a32820d15fd5d2f817bc5fc94b731f4e7adafbf3 (refs/remotes/origin/wip-16113-jewel) +Author: Samuel Just +Date: Thu Jun 2 17:13:09 2016 -0700 + + src/: remove all direct comparisons to get_max() + + get_max() now returns a special singleton type from which hobject_t's + can be assigned and constructed, but which cannot be directly compared. + + This patch also cleans up all such uses to use is_max() instead. + + This should prevent some issues like 16113 by preventing us from + checking for max-ness by comparing against a sentinel value. The more + complete fix will be to make all fields of hobject_t private and enforce + a canonical max() representation that way. That patch will be hard to + backport, however, so we'll settle for this for now. + + Fixes: http://tracker.ceph.com/issues/16113 + Signed-off-by: Samuel Just + (cherry picked from commit 7c5f2acaa57bd6caaf4b13b48154df3ad6fbe84d) + +commit f869594332fb8ffa4d29aae22573afd094c39f54 +Author: Samuel Just +Date: Thu Jun 2 17:39:09 2016 -0700 + + PG::replica_scrub: don't adjust pool on max object + + Signed-off-by: Samuel Just + (cherry picked from commit 8b7b7c7a2379ce77173bbdfd90c98c561d786155) + +commit 1737ff3f49080904ef07a7519d200ee608fab446 +Author: Samuel Just +Date: Thu Jun 2 17:36:21 2016 -0700 + + hobject: compensate for non-canonical hobject_t::get_max() encodings + + This closes a loop-hole that could allow a non-canonical in memory + hobject_t::get_max() object which would return true for is_max(), but + false for *this == hobject_t::get_max(). + + Fixes: http://tracker.ceph.com/issues/16113 + Signed-off-by: Samuel Just + (cherry picked from commit 42fad4b76def50a0984bf3de06f78ed434d56954) + +commit b1c4c4c456d1d20ccc91de4f762dbe46d8e339a3 +Merge: 24404c9 5d9ee88 +Author: John Spray +Date: Fri Jun 3 12:37:00 2016 +0100 + + Merge pull request #9430 from ceph/wip-manila-backports + + jewel: backports needed for Manila + + Reviewed-by: John Spray + +commit 24404c928b878d28a34439b8adaf43854547d317 +Merge: 1aa81ce 208659f +Author: Jason Dillaman +Date: Thu Jun 2 12:03:12 2016 -0400 + + Merge pull request #9423 from dillaman/wip-16101 + + jewel: rbd-mirror: replicate cloned images + + Reviewed-by: Jason Dillaman + +commit 5d9ee88e2a0ee57455581350bafe613fef8e3da2 +Author: Xiaoxi Chen +Date: Tue Apr 26 17:51:48 2016 -0500 + + pybind: configurable cephfs_vol_client prefix and ns_prefix. + + Which is useful if we would like to have multiple backends + in manila and potentially set different layout based on prefix. + + And also make ns_prefix configurable also in order to support + multiple backend. + + Fixes #15417 + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit d1a21b07ede77ab3f2be7a753426d76de0343086) + +commit 470605c38f772e5bcc466e71ac232294b41be276 +Author: Ramana Raja +Date: Wed Apr 13 14:03:51 2016 +0530 + + ceph_volume_client: evict client also based on mount path + + Evict clients based on not just their auth ID, but also based on the + volume path mounted. This is needed for the Manila use-case, where + the clients using an auth ID are denied further access to a share. + + Fixes: http://tracker.ceph.com/issues/15855 + + Signed-off-by: Ramana Raja + (cherry picked from commit 68714b9dda8ed6010cad6730e0ddf54b3219150d) + (cherry picked from commit aaa0e9aea9fcf2f63e73e544bd40c10a0d694408) + +commit 726292eb305d58661993803dea613e9d98a64f4f +Author: John Spray +Date: Wed May 11 13:18:23 2016 +0100 + + client: report root's quota in statfs + + When user is mounted a quota-restricted inode + as the root, report that inode's quota status + as the filesystem statistics in statfs. + + This allows us to have a fairly convincing illusion + that someone has a filesystem to themselves, when + they're really mounting a restricted part of + the larger global filesystem. + + Fixes: http://tracker.ceph.com/issues/15599 + Signed-off-by: John Spray + (cherry picked from commit b6d2b6d1a51969c210ae75fef93c71ac21f511a6) + +commit 46c2bd0864f8f7ace80a8cad07b873d9aa57ead9 +Author: John Spray +Date: Fri Apr 1 14:27:31 2016 +0100 + + pybind: fix unicode handling in CephFSVolumeClient::purge + + os.path.join is sensitive to string encoding, but + just doing a straight substitution should not be. + + Signed-off-by: John Spray + (cherry picked from commit e590f4d05fdb46747e83e35e66a26d9f4aa0314d) + +commit b989084dfc28659445fe08847537f8e5ad275cdd +Author: Loic Dachary +Date: Thu May 26 12:55:51 2016 +0200 + + ceph-disk: workaround gperftool hang + + Temporary workaround: if ceph-osd --mkfs does not + complete within 5 minutes, assume it is blocked + because of https://github.com/gperftools/gperftools/issues/786 + + References http://tracker.ceph.com/issues/13522 + + Signed-off-by: Loic Dachary + (cherry picked from commit c092321c24b9ca493d90a9ccc8f0b4b9a38677f1) + +commit 69a9500d900b2d5b9bdb0e989f83fe60ddddeda0 +Author: Nathan Cutler +Date: Thu May 12 19:23:31 2016 +0200 + + rpm: unconditionally set ceph user's primary group to ceph (SUSE) + + This commit brings the user/group creation into greater semantic alignment + with the Debian packaging. + + Fixes: http://tracker.ceph.com/issues/15869 + Signed-off-by: Nathan Cutler + (cherry picked from commit b3dfa8d90962e60b6841555db830c8ea635f4cce) + +commit 208659fdebc888cab35239ec848f27320477420f +Author: Jason Dillaman +Date: Thu May 26 12:49:45 2016 -0400 + + qa/workunits/rbd: basic cloned image test + + Signed-off-by: Jason Dillaman + (cherry picked from commit 943ff829874f96f720d6c6299e1212e4da24c6c5) + +commit af6be1bc15dfc2757cf74772078dd8516ed889be +Author: Jason Dillaman +Date: Thu May 26 08:22:16 2016 -0400 + + rbd-mirror: copy snapshot parent image settings + + Signed-off-by: Jason Dillaman + (cherry picked from commit f5fd09373714ebe8886bcf51bb97732038fffe55) + +commit 8405c2c377c7f9e755a349bfc90494f7ee7cc477 +Author: Jason Dillaman +Date: Thu May 26 12:01:15 2016 -0400 + + cls_rbd: asynchronous helper method to set parent + + Signed-off-by: Jason Dillaman + (cherry picked from commit fcfdebb471650a1730306f6a309f1775ba7a5eee) + +commit 26f4edcbb3b24eed98f111a2c77a5380cbf16927 +Author: Jason Dillaman +Date: Wed May 25 17:38:06 2016 -0400 + + rbd-mirror: add support for cloning images from mirrored parent + + Fixes: http://tracker.ceph.com/issues/14937 + Signed-off-by: Jason Dillaman + (cherry picked from commit ae6e03dfb1fa3be61e6deac4fe39982e7e7c18aa) + +commit b8b01c57949955b1ff6a6a35dcae05108a2dda58 +Author: Jason Dillaman +Date: Wed May 25 17:36:06 2016 -0400 + + librbd: extend internal API to clone from open parent image + + Signed-off-by: Jason Dillaman + (cherry picked from commit bfaa112c30da7091fd2d539b80a4a211176a6031) + +commit 9081c58a31aa8fa6f966f3b682b9870e2b6f8297 +Author: Jason Dillaman +Date: Wed May 25 17:13:59 2016 -0400 + + cls_rbd: asynchronous helper methods to retrieve mirror image metadata + + Signed-off-by: Jason Dillaman + (cherry picked from commit 5a26080447cfa4b7bfdacdc13242569258a64076) + +commit 2c2f4b251d0c8b870728293d06e9c853856c8092 +Author: Jason Dillaman +Date: Wed May 25 15:16:28 2016 -0400 + + rbd-mirror: helper state machine to open remote/read-only images + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3731c3c34c15f8dcfbab444bdbf3c05976b03431) + +commit 1aa81ce5ba492e8eeea2b20f08b77a18a94cd738 +Merge: 54bfefb 0bcc295 +Author: Jason Dillaman +Date: Tue May 31 13:11:22 2016 -0400 + + Merge pull request #9409 from dillaman/wip-16068 + + jewel: rbd-mirror: support multiple replicated pools + + Reviewed-by: Jason Dillaman + +commit 0bcc295363d9ca20d43fd313084370158513bc62 +Author: Jason Dillaman +Date: Fri May 27 11:40:58 2016 -0400 + + rbd-mirror: cluster-level asok commands need to support multiple pools + + Signed-off-by: Jason Dillaman + (cherry picked from commit f4339ee8cb64d5f1a164e017fea942600ffb0ea9) + +commit e4547c036ef641d48ab03808f59e035b56136745 +Author: Jason Dillaman +Date: Thu May 26 23:26:20 2016 -0400 + + rbd-mirror: replayer should only handle a single pool + + The pool watcher now only needs to scan a single pool for + its associated replayer since a peer is inherently tied to + a single pool. + + Fixes: http://tracker.ceph.com/issues/16045 + Signed-off-by: Jason Dillaman + (cherry picked from commit c5a8b780edeb9b62a601f0718459837f3d66e63d) + +commit 6fc5328e93b7d005479f925cca1268e7e7e10234 +Author: Jason Dillaman +Date: Thu May 26 16:03:59 2016 -0400 + + rbd-mirror: group peers by local pools + + The peer structure is automatically unique per pool due to its + UUID, so grouping local pools by a single peer doesn't work. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 020f0282a0771c0d321732a62f53cee10a193715) + + Conflicts: + src/tools/rbd_mirror/ClusterWatcher.cc: trivial resolution + +commit 0745cc3db35a349799891c8397249bf8d088ef83 +Author: Jason Dillaman +Date: Wed May 25 14:00:34 2016 -0400 + + rbd-mirror: stop stale replayers before starting new replayers + + If the connection details are tweaked for a remote peer, stop + the existing replayer before potentially starting a new replayer + against the same remote. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 6a2adca2a47b384f64c20996b9fc77010a70bc22) + +commit 91f8373613a38d48d71f2762e75e21ec817305be +Author: Jason Dillaman +Date: Thu May 26 13:29:49 2016 -0400 + + rbd-mirror: normalize debug log message prefix + + Signed-off-by: Jason Dillaman + (cherry picked from commit d52843190d84d533ab50a1702cf4a829b71ad68b) + +commit 5f0d89a9258fdf2f7392c63ca5d6488c4e3f210d +Author: Jason Dillaman +Date: Thu May 26 13:26:57 2016 -0400 + + qa/workunits/rbd: create secondary replicated pool + + Signed-off-by: Jason Dillaman + (cherry picked from commit 839544ee6446b959f01290667592e44fc5ee6991) + +commit 54bfefb7d108667058eda56fda24b0029a560746 +Merge: 522c7f9 61542c1 +Author: Jason Dillaman +Date: Tue May 31 11:51:05 2016 -0400 + + Merge pull request #9373 from dillaman/wip-16055 + + jewel: journal: support asynchronous shutdown + + Reviewed-by: Jason Dillaman + +commit 522c7f9432e029f4db2b7455fb83b4aeb3ff4a4e +Merge: f04972c 6375c78 +Author: Jason Dillaman +Date: Tue May 31 11:49:39 2016 -0400 + + Merge pull request #9372 from dillaman/wip-15995 + + jewel: rbd-mirror: Delete local image mirror when remote image mirroring is disabled + + Reviewed-by: Jason Dillaman + +commit 61542c14d34c4192f1468e2d7865fe913cce21b8 +Author: Jason Dillaman +Date: Wed May 25 02:31:11 2016 -0400 + + rbd-mirror: image replay now uses asynchronous journal shutdown + + Signed-off-by: Jason Dillaman + (cherry picked from commit a1b0a1b1b9a237ae363a52c7b4038b19e87052a5) + +commit bf4c45830330b025bf818286e13693b837f1f2c5 +Author: Jason Dillaman +Date: Wed May 25 00:21:14 2016 -0400 + + librbd: integrate with async journaler shutdown API + + Signed-off-by: Jason Dillaman + (cherry picked from commit ad297850b1be8ed38f77b86913c6821748f3368b) + +commit 36cf42a3f47c23db82a8aca7a5560857cc3e0027 +Author: Jason Dillaman +Date: Tue May 24 16:12:16 2016 -0400 + + journal: extend asynchronous shutdown to facade + + Fixes: http://tracker.ceph.com/issues/14530 + Signed-off-by: Jason Dillaman + (cherry picked from commit f40c595255a6828e27abfe63b4209ebae03e237b) + +commit 1b0422d7272788561253479a43f5b3dcdbb6282b +Author: Jason Dillaman +Date: Tue May 24 15:53:12 2016 -0400 + + journal: trimmer now has asynchronous shutdown + + Signed-off-by: Jason Dillaman + (cherry picked from commit 59ca9916ba2e2b144eff5ee471a314b9c4391936) + +commit f913946ff74924fc14c7336fef6c73a4c6edfdfa +Author: Jason Dillaman +Date: Tue May 24 15:36:17 2016 -0400 + + journal: metadata init and shutdown now asynchronous + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0543e1b29eb253bf1d9e9af7af6f22fa394dd854) + +commit 1a9d60f8244d6ba8697b2254d967907fdb618cdb +Author: Jason Dillaman +Date: Tue May 24 12:06:26 2016 -0400 + + journal: player shutdown is now handled asynchronously + + Fixes: http://tracker.ceph.com/issues/15949 + Signed-off-by: Jason Dillaman + (cherry picked from commit 79b41346678b3acdeb547fe07e44d8d0543d37a7) + +commit 4af5bb1d2d86de68be0cef3713e09dfe0f1a9030 +Author: Jason Dillaman +Date: Mon May 23 22:26:05 2016 -0400 + + test: use randomized write sizes for rbd-mirror stress test + + Signed-off-by: Jason Dillaman + (cherry picked from commit b9edff2174ff04bb8b6353dd2d2218c64757aae1) + +commit df2b8d9f0f399dcf9bb0e3eba3a39e14de504c49 +Author: Jason Dillaman +Date: Mon May 23 22:21:33 2016 -0400 + + journal: eliminate watch delay for object refetches + + The randomized write sizes of the modified rbd-mirror stress + test results in a lot of journal object with few entries. + Immediately fetch objects when performing a refetch check prior + to closing an empty object. + + Signed-off-by: Jason Dillaman + (cherry picked from commit d7b511b854c8ab633dcdb1c935014218b83f4e09) + +commit c65614f155ceccebd1960d6042d55e13b31e62ba +Author: Jason Dillaman +Date: Mon May 23 14:57:03 2016 -0400 + + journal: keep active tag to assist with pruning watched objects + + It's possible that there might be additional entries to prune in + objects that haven't been prefetched yet. Keep the active tag + to allow these entries to be pruned after they have been loaded. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0fb730e6be632e25d76695e1f37eba542162d620) + +commit 30c7f4dbe0a7c515d14be98f3f59ba8a8cdb1dcf +Author: Jason Dillaman +Date: Mon May 23 12:15:49 2016 -0400 + + journal: update commit entry object number upon overflow + + Otherwise the recorded object positions might point to an older + object that doesn't contain the actual entry. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 5fbf5f82de8214c5c676d38feae7682a006fcab1) + +commit fa08330dadb9ce973db866ad641a79d5d2dd290c +Author: Jason Dillaman +Date: Mon May 23 11:01:05 2016 -0400 + + journal: cleanup watch refetch flag handling + + Clear the refetch required flag while scheduling the watch + and remove the stale object after the watch completes if still + empty. Previously, it was possible for the flag to become + out-of-sync with whether or not it was actually refreshed + and pruned. + + Fixes: http://tracker.ceph.com/issues/15993 + Signed-off-by: Jason Dillaman + (cherry picked from commit ff2cc27ae592646b495bf1b614d35bd50c091a3d) + +commit 6375c7831de551c52f1dbf74bf9f65be3b6d8adf +Author: Ricardo Dias +Date: Fri May 13 16:47:25 2016 +0100 + + rbd-mirror: test: added image-deleter test case when mirroring is disabled + + Signed-off-by: Ricardo Dias + (cherry picked from commit d85e312ead1da7c35d5ee4fe4be3d6e69a68b572) + +commit 1ba650539c1e90b82727a6bd9f1c16796b92b821 +Author: Ricardo Dias +Date: Fri May 13 16:44:53 2016 +0100 + + rbd-mirror: Unregister clients from non-primary images journal + + A non-primary image may have registered clients on its journal + (for instance a primary image that was later demoted). We must + unregister the clients when disabling image mirroring with the + force option. + + Signed-off-by: Ricardo Dias + (cherry picked from commit 9cb0b180bc8a12ea2ebb0d7e32279b696ddd127e) + +commit a53cf28ab95a704b78cfa46cf758c2eec8058619 +Author: Ricardo Dias +Date: Tue Apr 19 12:35:49 2016 +0100 + + rbd-mirror: test: Added unit test for testing image-deleter thread + + Signed-off-by: Ricardo Dias + (cherry picked from commit ac9514941b0accb6c738ce4aa0953c36cdcf69a6) + +commit 78b13a504c32685090bb5b6512be9c050df2d8b6 +Author: Ricardo Dias +Date: Mon Apr 18 12:22:19 2016 +0100 + + rbd-mirror: test: Fixed test_PoolWatcher to support the new changes in PoolWatcher class + + Signed-off-by: Ricardo Dias + (cherry picked from commit e3677f115e1f369a49227fba51a1d34505d487ac) + +commit fef7456f8bc85f32cbdb28ce81198a9eb7d56d3b +Author: Ricardo Dias +Date: Tue Apr 5 09:47:32 2016 +0100 + + rbd-mirror: Replayer: bootstrap existing mirrored images + + Signed-off-by: Ricardo Dias + (cherry picked from commit 3c2615aa6da837bfef2365f701f56a34c49b536f) + +commit 97eb85f971a74678e4075b16cb5a8e836a985b56 +Author: Ricardo Dias +Date: Thu Apr 28 11:49:43 2016 +0100 + + rbd-mirror: replayer: Added image-deleter thread to replayer + + Fixes: http://tracker.ceph.com/issues/14421 + + Signed-off-by: Ricardo Dias + (cherry picked from commit a6d698829d925894e4afcdec0ee42b1fc1205db0) + +commit 24406c5f8ea12d2c19573116ea84c90ba7446f8b +Author: Ricardo Dias +Date: Thu Apr 28 11:48:05 2016 +0100 + + rbd-mirror: Added image-deleter thread to rbd-mirror + + Signed-off-by: Ricardo Dias + (cherry picked from commit 011984d40bce448fe0febfc6a9fcf57d2c7b4768) + +commit 0780230b4af7e4ca923dab5f77735d0a11409202 +Author: Ricardo Dias +Date: Wed Apr 13 15:17:40 2016 +0100 + + rbd-mirror: Added implementation of image-deleter thread + + image-deleter thread will handle the deletion of local images that have + been disabled for mirroring by the primary site. + + Signed-off-by: Ricardo Dias + (cherry picked from commit 6cc6e663ed2ec336a9475d93ab2cb605644e6ee0) + +commit 38514adc847a227dbd28318650931a8c2a7df7db +Author: runsisi +Date: Wed May 11 20:42:37 2016 +0800 + + rbd-mirror: librbd::mirror_peer_list never returns -ENOENT + + no need to check -ENOENT specially + + Signed-off-by: runsisi + (cherry picked from commit 81ff42253369a9f57118bd26b29115c86a1748c5) + +commit 4e7233ad43d368a5f6e812870cec77545e034186 +Author: runsisi +Date: Wed May 11 20:52:38 2016 +0800 + + rbd-mirror: fix typo + + Signed-off-by: runsisi + (cherry picked from commit 25bfd4c786d0701fe6ae06e3d120098bd82f8aa0) + +commit c3b1bf1e530a4cf55585886a4b4038b9d2862471 +Author: Mykola Golub +Date: Wed May 18 10:07:55 2016 +0300 + + rbd-mirror: calculate behind_master only if mirror tag is not newer than master + + Fixes: http://tracker.ceph.com/issues/15916 + Signed-off-by: Mykola Golub + (cherry picked from commit cbd8d526f94523c9de3c575d426063e63d7e1802) + +commit f04972c8be28fc6d3133363b5474f22ebac5fd15 +Merge: c194c5d cb950fc +Author: Jason Dillaman +Date: Tue May 31 11:48:06 2016 -0400 + + Merge pull request #9377 from dillaman/wip-16063 + + jewel: test: failure in journal.sh workunit test + + Reviewed-by: Jason Dillaman + +commit cb950fca12395a1c62421d4b0bce64b4a52b2fd4 +Author: Mykola Golub +Date: Wed May 25 21:54:16 2016 +0300 + + test: workaround failure in journal.sh + + With the changes to ensure that the commit position of a new + client is initialized to the minimum position of other clients, + the 'journal inspect/export' commands return zero records because + the master client has committed all of its entries. + + Workaround this by restoring the initial commit position after + writing to the image. + + Fixes: http://tracker.ceph.com/issues/16011 + Signed-off-by: Mykola Golub + (cherry picked from commit e9ed8ac33b1884c6ed5cdfb23023094ec790b116) + +commit f92c2a5604d4a8e83504b7283114d3d59bc45f38 +Author: Mykola Golub +Date: Wed May 25 14:51:43 2016 +0300 + + cls::journal: treat empty commit position as minimal + + Signed-off-by: Mykola Golub + (cherry picked from commit 16846e8085b0c594f065322a768e6dfcbd5d2444) + +commit c194c5d8d454d0b387e191d03fec9d916271ff7f +Merge: 4d3b668 8fbb555 +Author: Jason Dillaman +Date: Tue May 31 11:46:30 2016 -0400 + + Merge pull request #9376 from dillaman/wip-15994 + + jewel: cls_journal: initialize empty commit position upon client register + + Reviewed-by: Jason Dillaman + +commit 4d3b66842d4477ec4c4a418a91723fc9b800101c +Merge: dafe375 e5ebb51 +Author: Jason Dillaman +Date: Tue May 31 11:45:43 2016 -0400 + + jewel: librbd: write-after-write might result in an inconsistent replicated image + + jewel: librbd: write-after-write might result in an inconsistent replicated image + + Reviewed-by: Jason Dillaman + +commit dafe375640967e10d1a94b02970d399c51980076 +Merge: 409fc64 305ebbc +Author: Jason Dillaman +Date: Tue May 31 11:30:47 2016 -0400 + + Merge pull request #9318 from Abhishekvrshny/wip-15957-jewel + + jewel: Metadata config overrides are applied synchronously + + Reviewed-by: Jason Dillaman + +commit 409fc64799aec36e183e6ba2bb25c3bf7e3d603b +Merge: cd6ed4d 0c99028 +Author: Jason Dillaman +Date: Tue May 31 11:29:45 2016 -0400 + + Merge pull request #9317 from Abhishekvrshny/wip-15956-jewel + + jewel: rbd-mirror should disable the rbd cache for local images + + Reviewed-by: Jason Dillaman + +commit cd6ed4deb0f4b66a10ea7bd5e027daee3a93d1f4 +Merge: 9fa8596 be9e85d +Author: Kefu Chai +Date: Tue May 31 18:48:58 2016 +0800 + + Merge pull request #9403 from dachary/wip-16088-jewel + + jewel: tests: rm -fr /tmp/*virtualenv* + + Reviewed-by: Kefu Chai + +commit be9e85d83f3d025cec16b7da85d8a2ce1f64e8fa +Author: Loic Dachary +Date: Fri May 20 13:19:07 2016 +0200 + + tests: rm -fr /tmp/*virtualenv* + + Signed-off-by: Loic Dachary + (cherry picked from commit 8f0eefba00d1c6ad656302a608217fc3395d0401) + +commit 9fa85963a8accd669b0f0fbb17f4b721290432c6 +Merge: a046d2a 3674341 +Author: Kefu Chai +Date: Tue May 31 13:46:31 2016 +0800 + + Merge pull request #8968 from Abhishekvrshny/wip-15728-jewel + + jewel: osd: acting_primary not updated on split + + Reviewed-by: Kefu Chai + +commit a046d2a8c37182652d5f300f58673f70c8485114 +Merge: 954af78 8bbb5ad +Author: Kefu Chai +Date: Tue May 31 13:42:28 2016 +0800 + + Merge pull request #9100 from Abhishekvrshny/wip-15856-jewel + + jewel: Hammer (0.94.3) OSD does not delete old OSD Maps in a timely fashion (maybe at all?) + + Reviewed-by: Kefu Chai + +commit 954af787526a77b923fe85ed1282ba98277738e4 +Merge: e8e572c fae360f +Author: Yehuda Sadeh +Date: Mon May 30 13:53:45 2016 +0300 + + Merge pull request #9245 from dreamhost/wip-15974-jewel + + rgw: fix manager selection when APIs customized + + Reviewed-by: Yehuda Sadeh + +commit e8e572c6454816119448240fa7813be7995fd250 +Merge: c11db6f ffd545b +Author: Orit Wasserman +Date: Mon May 30 11:15:18 2016 +0200 + + Merge pull request #9239 from yehudasa/wip-15886-jewel + + rgw: keep track of written_objs correctly + Reviewed-by: Orit Wasserman + +commit 8fbb555befb1415ef5218c8aaa149ca44017d73d +Author: Venky Shankar +Date: Thu May 19 22:45:34 2016 +0530 + + cls_journal: Select min commit position for new clients + + When a new client registers, its commit position is initialized + to the least commit position of all other clients. + + Fixes: http://tracker.ceph.com/issues/15757 + Signed-off-by: Venky Shankar + (cherry picked from commit dd2e3dae8adb3778e7e381db5dbfca0948571c55) + +commit 576ff0ca804779d1eb0b1c44d6ce38e0658b6a05 +Author: runsisi +Date: Mon May 9 15:15:31 2016 +0800 + + cls_journal: remove duplicated key generation + + Signed-off-by: runsisi + (cherry picked from commit 715e99c83e1ebc01ceb9eff0f66da8e2b598766a) + +commit fae360f0e419266b80f001a25a6864668e772d08 +Author: Robin H. Johnson +Date: Fri May 20 16:00:33 2016 -0700 + + rgw: fix manager selection when APIs customized + + When modifying rgw_enable_apis per RGW instance, such as for staticsites, you + can end up with RESTManager instance being null in some cases, which returns a + HTTP 405 MethodNotAllowed to all requests. + + Example configuration to trigger the bug: + rgw_enable_apis = s3website + + Backport: jewel + X-Note: Patch from Yehuda in private IRC discussion, 2016/05/20. + Fixes: http://tracker.ceph.com/issues/15973 + Fixes: http://tracker.ceph.com/issues/15974 + Signed-off-by: Robin H. Johnson + (cherry picked from commit 7c7a465b55f7100eab0f140bf54f9420abd1c776) + +commit 8bbb5add6208a552979270baf4623430cf45e1b3 +Author: Kefu Chai +Date: Fri May 13 11:26:31 2016 +0800 + + osd/OpRequest: reset connection upon unregister + + this helps to free the resources referenced by the connection, among + other things, in the case of MOSDOp, the OSD::Session and OSDMap. this + helps to free the resource earlier and trim the osdmaps in time. + + Fixes: http://tracker.ceph.com/issues/13990 + Signed-off-by: Kefu Chai + (cherry picked from commit 87850e96ea6fa45a8368bacabee50f9e95b40ae9) + +commit e97cc2d1e9bcee0a43f54ed592d3078182571874 +Author: Kefu Chai +Date: Thu May 12 20:28:11 2016 +0800 + + osd: reset session->osdmap if session is not waiting for a map anymore + + we should release the osdmap reference once we are done with it, + otherwise we might need to wait very long to update that reference with + a newer osdmap ref. this appears to be an OSDMap leak: it is held by an + quiet OSD::Session forever. + + the osdmap is not reset in OSD::session_notify_pg_create(), because its + only caller is wake_pg_waiters(), which will call + dispatch_session_waiting() later. and dispatch_session_waiting() will + check the session->osdmap, and will also reset the osdmap if + session->waiting_for_pg.empty(). + + Fixes: http://tracker.ceph.com/issues/13990 + Signed-off-by: Kefu Chai + (cherry picked from commit 82b0af7cedc3071cd83ee53479f834c23c62b7d0) + +commit 555cec9a92568666880d70b9ae8f6e9748eca204 +Author: Ricardo Dias +Date: Tue May 17 18:04:28 2016 +0100 + + ceph.in: fix exception when pool name has non-ascii characters + + When deleting a pool without the --i-really-really-mean-it option, if + the pool name has non-ascii characters, the format of the command + message raises a UnicodeEncodeError exception. + + Fixes: http://tracker.ceph.com/issues/15913 + + Signed-off-by: Ricardo Dias + (cherry picked from commit 805873fed0135616a4cf8b499d1ba0b10dac004c) + +commit 305ebbc36473cf8bfd22513ffe55d3a4a99d5ef1 +Author: Jason Dillaman +Date: Wed May 18 19:19:24 2016 -0400 + + librbd: metadata retrieval added to open image state machine + + Fixes: http://tracker.ceph.com/issues/15928 + Signed-off-by: Jason Dillaman + (cherry picked from commit b64cb31f8e7796175b4709929c017b3236649462) + +commit 5c9ecea87d3eb90201a967d8da827018cd728f0d +Author: Jason Dillaman +Date: Wed May 18 17:50:07 2016 -0400 + + cls_rbd: async version of metadata_list helper method + + Signed-off-by: Jason Dillaman + (cherry picked from commit 985cb38211c51c95d84479df231c4f53847cb2ec) + +commit 0c99028582326c4ac142a03f168ab1bcf0ddd3c2 +Author: Jason Dillaman +Date: Wed May 18 20:53:26 2016 -0400 + + rbd-mirror: disable librbd caching for replicated images + + Each image has its own cache and each cache uses its own thread. With + a large replicated cluster, this could result in thousands of extra + threads and gigabytes of extra memory. + + Fixes: http://tracker.ceph.com/issues/15930 + Signed-off-by: Jason Dillaman + (cherry picked from commit ea35f148257282fe3f3ae02fe7a26cf245cda952) + +commit 188318b7b567f206d60dfb754fedbb0bfc74ef91 +Author: Boris Ranto +Date: Mon May 23 17:06:19 2016 +0200 + + rpm: Restore /var/run/ceph context manually + + The fixfiles command won't fix label for /var/run/ceph (/run is probably + excluded from relabel), we need to restore the context manually. + + Signed-off-by: Boris Ranto + (cherry picked from commit 6de39ce73737f79d4511dfc4e1d10d7f3733ab1b) + +commit ab1f65dd0429647c30fdae1dd97ff6f393dbc1a8 +Author: Boris Ranto +Date: Fri May 20 08:09:42 2016 +0200 + + rpm: Mute semodule in postun script + + Currently, we don't mute the semodule output in postun script. This + results in the following message when removing ceph-selinux package: + + libsemanage.semanage_direct_remove_key: Removing last ceph module (no + other ceph module exists at another priority). + + The fix is to simply mute the output of the command. + + Signed-off-by: Boris Ranto + (cherry picked from commit 3c104b106540fabdba43e0d04a3828d77f83e89d) + +commit 587fb3df704973071114a30bc55288768dbc2720 +Author: Nathan Cutler +Date: Wed Apr 27 11:13:06 2016 +0200 + + install-deps.sh: systemd-rpm-macros must be installed on SUSE + + Otherwise the script breaks. + + Fixes: http://tracker.ceph.com/issues/15627 + Signed-off-by: Nathan Cutler + (cherry picked from commit a7f5ad5f6f9c01ef81f90a7071b6e2243b6da4e7) + +commit 69470d406d2b539e8021afd4def7de931ac91857 +Author: Boris Ranto +Date: Tue May 10 18:20:13 2016 +0200 + + rpm: Drop SELinux priority setting + + Older versions of semodule binary that are in Centos/RHEL do not + support priority setting, dropping it. + + Fixes: #15822 + Signed-off-by: Boris Ranto + (cherry picked from commit 7e606f29f499eac83ecb7053ea6874fcfd092924) + +commit 128dbc8af0095622d48b962ddd9476aa4140bc16 +Author: Boris Ranto +Date: Wed May 4 09:09:47 2016 +0200 + + rpm: Fix SELinux relabel on fedora + + The SELinux userspace utilities stopped providing versions when they + switched to CIL language. We need to use a different technique to + relabel the files. + + Fixes: #15725 + Signed-off-by: Boris Ranto + (cherry picked from commit bd26641d705a34a1148a781eea08d203e81b750d) + +commit 8182b9a4d2750bb8f0f035d84e9d8476abc62c3c +Author: Nathan Cutler +Date: Tue Apr 12 15:33:45 2016 +0200 + + Test-enable XIO messenger and IB/RDMA support + + Fixes: http://tracker.ceph.com/issues/15472 + + Signed-off-by: Lars Marowsky-Bree + Signed-off-by: Nathan Cutler + (cherry picked from commit d4b74c56d6cbb2c6852bf66f2f34b8a877d7a9ef) + +commit 50626cec7a55637764ba379d6cb71e0b485290a8 +Author: Nathan Cutler +Date: Thu Apr 28 19:29:00 2016 +0200 + + rpm: do a full make check when --with-tests is given + + The check-local target tests the CLI tools only. + + Signed-off-by: Nathan Cutler + (cherry picked from commit e1514809ae3d2df08a0c47882f9b3bd0ed68d200) + +commit fb6858c283d96de15c70fbe8ffc33b5dada82739 +Author: Nathan Cutler +Date: Tue Apr 26 17:03:28 2016 +0200 + + rpm: drop sysvinit bits from relabel_files function + + Signed-off-by: Nathan Cutler + (cherry picked from commit 20df58799a4853ed3798501176988ffaf888936b) + +commit db4f2d677df5c9fc00592fc9e003bccb44af6da6 +Author: Nathan Cutler +Date: Sun Oct 11 18:27:45 2015 +0200 + + rpm: replace literal paths with RPM macros + + The only place we should write out literal paths is in the RPM scriptlets, + and there only for things that are not installed by this package. + + Signed-off-by: Nathan Cutler + (cherry picked from commit e0346b36fc0e6e17c80c047b13997448ccf1c76e) + +commit 3abf89517b0b2142698610debbaa3c6b535424f3 +Author: Nathan Cutler +Date: Sun Oct 11 18:05:12 2015 +0200 + + rpm: drop udev/95-ceph-osd-alt.rules + + This udev rules file was needed on older RHEL platforms, which are + unsupported as of jewel. + + Signed-off-by: Nathan Cutler + (cherry picked from commit ee4acb31593dd33da99138998fd0f30ebc2f1a6e) + +commit a7e01dd4ff08607fc6d99e41189e3db1a3c1d4da +Author: Nathan Cutler +Date: Sun Oct 11 17:20:46 2015 +0200 + + rpm: global replace $RPM_BUILD_ROOT with %{buildroot} + + Signed-off-by: Nathan Cutler + (cherry picked from commit bed92b6a86cdef784e89c38952fa779ce5fc5a91) + +commit d81cec99421e544e2cf7d212680b04d51ef675f3 +Author: Nathan Cutler +Date: Sun Oct 11 10:37:47 2015 +0200 + + rpm: put dependencies in alphabetical order + + Signed-off-by: Nathan Cutler + (cherry picked from commit 66042c03df012754215ed848e475f2195ee988a0) + +commit e8338a5844aea6dad8e61f00dbd94ca4e04df7be +Author: Nathan Cutler +Date: Sun Oct 11 10:32:46 2015 +0200 + + rpm: drop sysvinit-specific dependencies + + Obsolete in jewel and above. + + Signed-off-by: Nathan Cutler + (cherry picked from commit c655cb896ad10e001b95848f4a4b64dd1ef6984f) + +commit b18d8ac0d65f91929fc956980d3b5977bb2970e6 +Author: Nathan Cutler +Date: Sun Oct 11 10:32:05 2015 +0200 + + rpm: move boost-random dependency to appropriate section + + Signed-off-by: Nathan Cutler + (cherry picked from commit 46b16c19f73d82cc357b16e6201926a3479046f2) + +commit 94efaef9c28347baebc374e27d3e81f143e642e0 +Author: Nathan Cutler +Date: Sat Apr 23 19:57:49 2016 +0200 + + rpm: move unified python-sphinx build dependency + + Now that the python-sphinx build dependency is unified, move it + to the proper section of the spec file. + + Signed-off-by: Nathan Cutler + (cherry picked from commit 1d897da861c6134778136fa2b8b33e36c08faff9) + +commit 54dc8bf5703e2fb8962a97f7737a6114132b9b20 +Author: Nathan Cutler +Date: Sat Apr 23 19:41:06 2016 +0200 + + rpm: drop init-ceph.in-fedora.patch + + Signed-off-by: Nathan Cutler + (cherry picked from commit e8cf501d0f22c757a0860a0c91dcb1d7a472ed34) + +commit 641e5bb0808a14d2b59cba141bad4acf5bbfb63a +Author: Nathan Cutler +Date: Sun Oct 11 10:22:37 2015 +0200 + + rpm: drop dead conditionals + + This commit drops conditionals that no longer serve any purpose, since + jewel and above do not support the distro versions they are checking for. + + Signed-off-by: Nathan Cutler + (cherry picked from commit 1332fac70e537014b5e03810aa983e2c9210d8dc) + +commit 4317a17997f21019e1dec59606928a2a9f4d94b9 +Author: Nathan Cutler +Date: Sun Oct 11 10:18:33 2015 +0200 + + rpm: drop python-argparse dependency + + This was only necessary for older (now unsupported) distro versions. + + Signed-off-by: Nathan Cutler + (cherry picked from commit 6c42066d488d03142a56f92cff99d9c29d106214) + +commit 70466ffd386795082f02d718e804ad9e9c494401 +Author: Nathan Cutler +Date: Sun Oct 11 10:02:40 2015 +0200 + + rpm: drop _with_systemd + + Ceph versions jewel and above only support systemd. + + Signed-off-by: Nathan Cutler + (cherry picked from commit 2ca6dd250b6a049f27fa17c5e8ca11674acb63f6) + +commit 928a8158aa71012db9f451a4302e8661783b5d37 +Author: Nathan Cutler +Date: Sun Oct 11 09:43:06 2015 +0200 + + rpm: drop python_sitelib/sitearch conditional + + This conditional was required to support older versions of RHEL/CentOS that are + no longer supported in infernalis and above. + + Signed-off-by: Nathan Cutler + (cherry picked from commit 98d52120f89af3e93896d0518dbea4c4f660af48) + +commit 9f76b9ff31525eac01f04450d72559ec99927496 +Author: Sage Weil +Date: Mon Apr 18 09:16:02 2016 -0400 + + udev: remove 60-ceph-partuuid-workaround-rules + + These were added to get /dev/disk/by-partuuid/ symlinks to work on + wheezy. They are no longer needed for the supported distros (el7+, + jessie+, trusty+), and they apparently break dm by opening devices they + should not. + + Fixes: http://tracker.ceph.com/issues/15516 + Signed-off-by: Sage Weil + (cherry picked from commit 9f77244b8e0782921663e52005b725cca58a8753) + +commit 1ad390197af21d8cd7e507e2959f803028d3d09d +Author: Nathan Cutler +Date: Wed Apr 20 17:21:56 2016 +0200 + + rpm: refrain from installing systemd unit files twice + + These files are already installed by systemd/Makefile.am + + Fixes: http://tracker.ceph.com/issues/15549 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 6d3cbaa509525f1807ac34bf5fed0fe99255f40f) + +commit 9c81f25b76ef2211910e453ba2bc4577fc921d7f +Author: Boris Ranto +Date: Tue Feb 23 05:57:14 2016 +0100 + + test/ec: build the libs only when 'make check' + + Currently, we are always building the erasure code libraries while we + need them only when 'make check' is run. Moving the test libraries to + check_LTLIBRARIES should fix this for us. + + We no longer need to remove the libec libs manually, remove the lines + that do that. + + Signed-off-by: Boris Ranto + (cherry picked from commit 0bbfea5cf13c138bbb2f0993607fa0dbf756281b) + +commit 663d7c2901ddf0b6e4184ec344bf0af00582eaf2 +Author: xie xingguo +Date: Wed May 4 16:53:18 2016 +0800 + + mon/Monitor: use CEPH_MON_PORT for CRC output + + The default monitor port will be changed from 6789 to 3300, which has + been assigned to us by IANA. So update this accordingly for better + tracing and understanding. + + Signed-off-by: xie xingguo + (cherry picked from commit 2b3d5686d76ee65fceca31d0d3343c2eaa4f2364) + +commit 64b948c21a4608a7680012e247f23dd2a3393f3f +Author: xie xingguo +Date: Wed May 4 15:03:55 2016 +0800 + + mon/Monitor: fix memory leak + + Fixes: http://tracker.ceph.com/issues/15793 + Signed-off-by: xie xingguo + (cherry picked from commit ae5184ac07523a050584a3d621954baeb0dca01a) + +commit 9c3c6d57552a0a2cd448f0e60ded2f96ef9802ef +Author: xie xingguo +Date: Wed May 4 14:54:32 2016 +0800 + + mon/Monitor: use VOID_TEMP_FAILURE_RETRY wrapper for fd close(). + + This is safer and much more robust. + + Signed-off-by: xie xingguo + (cherry picked from commit bfa40363b2d8fc25b4aed0164579d55137ac9e8b) + +commit 544c538d3720d7f18fca29ba15fd47200d3e05fc +Author: xie xingguo +Date: Wed May 4 10:02:01 2016 +0800 + + mon/Monitor: add "host" to tracked_conf_key + + The get_tracked_conf_keys() method gets the specified keys + registered and works as filters for configuration changing, + so we can track these key configuration changing and react + properly. + + Right now graylog prints host in its log entry, so + Monitor::update_log_clients() also reads from conf.host + and pass the host read from conf to graylog. That is + why we shall get "host" to the tracked_conf_key too. + + Signed-off-by: xie xingguo + (cherry picked from commit c79fc3305be42bd6126e8a60ae1f220d86754830) + +commit e5ebb51f22c43d49d716129ffcb5f87390b7acab +Author: Jason Dillaman +Date: Thu May 19 15:52:16 2016 -0400 + + journal: replay position might change after pruning stale tags + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0f5f1c375d8ef7b301cfd20b6848bdc81a761746) + +commit 9ecc3dcb76cc8f6d2904118d6b246d77d10cd9cf +Author: Jason Dillaman +Date: Thu May 19 15:50:04 2016 -0400 + + librbd: delay commit of overwritten journal event + + With the cache enabled and write-after-write IOs to the same + object extents, it was possible for the overwritten journal event + to be committed before the overwriter journal event was written + to disk. If a client crash occurs before the event is written, + the image will be inconsistent on replay. + + Fixes: http://tracker.ceph.com/issues/15938 + Signed-off-by: Jason Dillaman + (cherry picked from commit e8bf64cc85ffe3d2dda23eab1834f7a5f104f6fe) + +commit 070dc7c98daaacaa05f72f50561d47ce459984da +Author: Jason Dillaman +Date: Thu May 19 14:13:46 2016 -0400 + + ObjectCacher: pass new journal tid when overwriting extent + + librbd needs to ensure the new journal event has been safely + committed to disk before it can mark an overwritten journal + event as committed. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0051316effe0b25804378975b117691d7ad08a3b) + +commit 0dfc787ef58fe9aa8177742f7c6e294e3b5d4b89 +Author: Jason Dillaman +Date: Thu May 19 13:48:22 2016 -0400 + + qa/workunits/rbd: record rbd CLI debug messages during mirror stress + + The debug messages from 'rbd bench-write' and 'rbd snap create', + in addition to the existing debug messages from rbd-mirror, make + it possible to determine the source of any image inconsistency. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 714ed5e64e65fed9ac886537becf3a85ae6ae7fd) + +commit ffd545bf173c5a076c47541cbe3889175188d73e +Author: Yehuda Sadeh +Date: Mon May 16 14:35:12 2016 -0700 + + rgw: keep track of written_objs correctly + + Fixes: http://tracker.ceph.com/issues/15886 + + Only add a rados object to the written_objs list if the write + was successful. Otherwise if the write will be canceled for some + reason, we'd remove an object that we didn't write to. This was + a problem in a case where there's multiple writes that went to + the same part. The second writer should fail the write, since + we do an exclusive write. However, we added the object's name + to the written_objs list anyway, which was a real problem when + the old processor was disposed (as it was clearing the objects). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 8fd74d11682f9d0c9085d2dc445fc3eb5631f6e0) + +commit 8356021ef3d3d21fd632d3caa660ba9a03cf80d3 +Author: Samuel Just +Date: Thu May 12 16:57:49 2016 -0700 + + Pipe: take a ref to existing while we are waiting + + Otherwise, if it is reaped while we are waiting, it'll be a + use-after-free. + + Fixes: http://tracker.ceph.com/issues/15870 + Signed-off-by: Samuel Just + (cherry picked from commit b224912d249453d754fc0478d3680f8cfa1a5c22) + +commit c11db6f103b2dd0049894a606916a84d66933833 +Merge: 7834070 e0dfc55 +Author: Jason Dillaman +Date: Fri May 20 14:57:00 2016 -0400 + + Merge pull request #9232 from jdurgin/wip-mirror-workunit-jewel + + jewel: qa/workunits/rbd: fixed rbd_mirror teuthology runtime errors + + Reviewed-by: Jason Dillaman + +commit e0dfc55ac874f2531bd0b88aa1c81156d7f7aec9 +Author: Jason Dillaman +Date: Wed May 18 14:17:13 2016 -0400 + + qa/workunits/rbd: fixed rbd_mirror teuthology runtime errors + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8ef09c4d8d3c7c6fbc9b6f7ef17cca0179e73468) + +commit 7834070fd8ead19e49fb8c766ea3ce8bfe63f032 +Merge: 9873fc1 5f09b9a +Author: Jason Dillaman +Date: Fri May 20 09:02:51 2016 -0400 + + Merge pull request #9226 from dillaman/wip-15950 + + jewel: rbd-mirror: potential crash during image status update + + Reviewed-by: Jason Dillaman + +commit 9873fc13d5647e94ec6f0152f903dd67b2882b0d +Merge: aee6f7e 6c2973c +Author: Jason Dillaman +Date: Fri May 20 09:02:06 2016 -0400 + + Merge pull request #9069 from dillaman/fixup-mirror_image_status_list-jewel + + jewel: cls::rbd: mirror_image_status_list returned max 64 items + + Reviewed-by: Jason Dillaman + +commit 5f09b9aef8f30d9dc7e5ec934b228d885e6456e2 +Author: Jason Dillaman +Date: Thu May 19 10:11:12 2016 -0400 + + journal: reset watch step after pruning expired tag + + Signed-off-by: Jason Dillaman + (cherry picked from commit 48c2f4e079000021b6ebe807bb1dba0dc1a6a11d) + +commit 2ee1e0a583d0ca851db4671b561eff9d493ca7d3 +Author: Jason Dillaman +Date: Wed May 18 11:01:22 2016 -0400 + + rbd-mirror: additional debug messages during image replayer start/stop + + Signed-off-by: Jason Dillaman + (cherry picked from commit afc891f7fcb000d106b1d722386f6d81ddeddab6) + +commit f9e6bd8f1b6750d500fba3dd134257b7baac08c3 +Author: Jason Dillaman +Date: Wed May 18 00:55:01 2016 -0400 + + rbd-mirror: ensure proper handling of status updates during shutdown + + Previously, several shutdown race conditions could occur due to the + use of the async work queue for scheduling updates. + + Fixes: http://tracker.ceph.com/issues/15909 + Signed-off-by: Jason Dillaman + (cherry picked from commit 9ae4edc05660665c3a135536a7c51d4070d28a40) + +commit f789d83cbb9dbb1a6daa15585e2be2980ea19616 +Author: Jason Dillaman +Date: Tue May 17 23:31:02 2016 -0400 + + rbd-mirror: track bootstrap state within image status + + Signed-off-by: Jason Dillaman + (cherry picked from commit e5dd97b4bf4a993911febf34dce90470a2a91d59) + +commit e0b3879692d38bcc01d928cef09f74bc850cef86 +Author: Jason Dillaman +Date: Tue May 17 23:25:25 2016 -0400 + + rbd-mirror: combine ImageReplayer stopped and uninitialized states + + Signed-off-by: Jason Dillaman + (cherry picked from commit a8f6dde4dbae8039380f31e026030a22a89fb4bd) + +commit 9c7977da45aef44160efadb48cb2d606568d4a7b +Author: Jason Dillaman +Date: Tue May 17 16:14:42 2016 -0400 + + rbd-mirror: lock ordering issue in status update callback + + Signed-off-by: Jason Dillaman + (cherry picked from commit 5c04c1361074ca9e9df1bc1c2dd82dfafc2a1304) + +commit 66f7f2d7bda7f2db6871870f5622594d6391b921 +Author: Mykola Golub +Date: Wed May 4 15:23:11 2016 +0300 + + rbd-mirror: don't unregister asok commands if image replayer start failed + + Signed-off-by: Mykola Golub + (cherry picked from commit 2fd6fdd3dc9ecb915362f5e3aa8a224210273540) + +commit 569f06f1241309a710a0570d4ede950c1dc6e5d1 +Author: Mykola Golub +Date: Wed May 4 15:25:04 2016 +0300 + + rbd-mirror: avoid potential deadlock + + Signed-off-by: Mykola Golub + (cherry picked from commit 46bf727d43af4975beeb514630a99d59cfb0a406) + +commit aee6f7ed791abd63ff9d1158a258d51db6c5ad28 +Merge: 2d0669e 0d19390 +Author: Jason Dillaman +Date: Fri May 20 09:01:50 2016 -0400 + + Merge pull request #9217 from dillaman/wip-15945 + + jewel: journal: live replay might skip entries from previous object set + + Reviewed-by: Jason Dillaman + +commit 0d193905b1d552600b542a466759af054c80e498 +Author: Jason Dillaman +Date: Mon May 16 21:17:09 2016 -0400 + + qa/workunits/rbd: rbd-mirror daemon stress test + + This test repeatedly runs rbd bench-write, kills the process + randomly to create an unclean journal shutdown, and verifies + that the image content replicates correctly. + + Signed-off-by: Jason Dillaman + (cherry picked from commit e2ab3128a37f4f36c9a1de6ddf2c0fe2e48aa7e2) + +commit d020b6ab1d10daa92fc99d1506222987b4306b26 +Author: Jason Dillaman +Date: Mon May 16 18:08:35 2016 -0400 + + journal: helper method to detect newer tags + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0a8a6126ea35344e85af7eb64ffc490938edba51) + +commit 56515070710a6723ae4adc3e3b166e9ae9a35fdf +Author: Jason Dillaman +Date: Sun May 15 09:52:41 2016 -0400 + + journal: skip partially complete tag entries during playback + + If a journal client does not fully write out its buffered entries + before quiting, replay should skip over all remaining out-of- + sequence entries for the tag. + + Fixes: http://tracker.ceph.com/issues/15864 + Signed-off-by: Jason Dillaman + (cherry picked from commit 9454f7e4c62437b1c288f371009feba1fd374584) + +commit 18f663d834edd03b42e2c08b9428e72fdc6bae9d +Author: Jason Dillaman +Date: Sat May 14 18:58:41 2016 -0400 + + journal: close, advance, and open object set ordering + + Flush in-flight appends to open objects before advancing the + active object set. Additionally, don't start recording to the + new objects until after advancing the active set. + + Signed-off-by: Jason Dillaman + (cherry picked from commit de830057d0f7286914e019540c6263423cb60428) + +commit 27fba6ad7e7cb566d32c6e63f35aff966fc60bd7 +Author: Jason Dillaman +Date: Sat May 14 18:13:38 2016 -0400 + + journal: new ObjectRecorder closed callback + + The callback will be invoked if there were in-flight appends + when the close was requested. + + Signed-off-by: Jason Dillaman + (cherry picked from commit bba91437dbe3b7a9b6da8a61ccc4c597858c8efc) + +commit 870c21c738e42d2cf34478bfa0631d602175dadc +Author: Jason Dillaman +Date: Fri May 13 16:34:44 2016 -0400 + + journal: do not flag append as full if already known to be full + + Once an object has overflowed or a close is in-progress, re-attempting + to close the object is not needed since the async process is already + underway. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 45620dc312ca2aeaf084638144aaa4783b622c4a) + +commit 1cdebc7b896dd36bfee30f12aa3abd602c15af3e +Author: Jason Dillaman +Date: Fri May 13 16:28:50 2016 -0400 + + journal: delay object overflow event until in-flight appends settled + + Signed-off-by: Jason Dillaman + (cherry picked from commit ee8d311a1fcdf7a85cdc168e1740fbaa252e87d3) + +commit 821d92af2fcc43ff560f01c78ff699ad7df33daa +Author: Jason Dillaman +Date: Fri May 13 16:17:37 2016 -0400 + + journal: ignore flush on closed/overflowed object + + The journal would be in-progress on transitioning to a new + object recorder in a newer object set. Once the records + re-attach to the new object player they will automatically + flush. + + Signed-off-by: Jason Dillaman + (cherry picked from commit a13cb821f71b6b1b3378464bcc2d8318eb0da48a) + +commit 3d860d5db37f77c1e8c76d214529266062caaa75 +Author: Jason Dillaman +Date: Fri May 13 16:10:11 2016 -0400 + + journal: implicitly detach future's flush handler on append + + If the future is already in-flight, there is no purpose served + by requesting the future be flushed to disk. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 1cb9b1a1b25d0f4c2d9a9e22661636e195fc70a0) + +commit f98e1289ce10aeb059a0b7d7cc8d17d6f1d60219 +Author: Jason Dillaman +Date: Fri May 13 15:22:30 2016 -0400 + + journal: async callback for advancing the active object set + + Signed-off-by: Jason Dillaman + (cherry picked from commit ca89abfd9e6f0e8edc3234afea387757ef694826) + +commit 86e51ebcb301d823fb5c8b30bdc07107704679b4 +Author: Jason Dillaman +Date: Fri May 13 14:49:07 2016 -0400 + + journal: re-fetch active object before advancing set during replay + + During a live replay, it's possible that an append and and overflow + into the next object could race with the live playback of the same + object. Re-fetch an "empty" object at least once before advancing + to next set to ensure all records have been read. + + Fixes: http://tracker.ceph.com/issues/15665 + Signed-off-by: Jason Dillaman + (cherry picked from commit 6056f8c45c99bd37cb18933a37cc238c7e9a7c7d) + +commit 2d0669e172c37d38f118332574a474a534d27020 +Merge: f3979cd e885f1e +Author: Yehuda Sadeh +Date: Thu May 19 13:08:00 2016 -0700 + + Merge pull request #9210 from yehudasa/wip-15926-jewel + + radosgw-admin: fix 'period push' handling of --url + +commit e885f1e3be0f9a0c6457c5387f1c38b6e8b6a492 +Author: Casey Bodley +Date: Mon May 16 09:37:05 2016 -0400 + + radosgw-admin: fix 'period push' handling of --url + + was calling send_to_remote_gateway(), but passing 'url' instead of + 'remote'. now uses send_to_remote_or_url() to accept either + + Fixes: http://tracker.ceph.com/issues/15926 + + Signed-off-by: Casey Bodley + +commit f3979cd1d2fe910185db6dc3894722dd385379bd +Merge: 1356d29 37ecfa6 +Author: Boris Ranto +Date: Thu May 19 12:56:15 2016 +0200 + + Merge pull request #9194 from ceph/wip-jewel-no-lttng-global-link + + Do not link lttng into libglobal + + Reviewed-by: Boris Ranto + +commit 37ecfa6c754683cac1c6f4c66a1a491d2fd5db1d +Author: Karol Mroz +Date: Mon May 2 14:01:27 2016 +0200 + + global: don't link lttng into libglobal + + Rely on dynamic initialization instead. Linking lttng in this way had + the unfortunate side effect of causing radosgw to segfault (when + daemonized) during sigterm processing (ie. during lttng_ust_exit()). + + This was originally removed in 638738f, but accidentally re-added via + 5f61d36. + + Signed-off-by: Karol Mroz + +commit 1356d29c70afedcbd55599d29aab93d2f79a02ad +Merge: 15c4ad4 16ba13c +Author: Jason Dillaman +Date: Wed May 18 13:23:39 2016 -0400 + + Merge pull request #9180 from dillaman/wip-15746-jewel + + jewel: doc: update mirroring guide to include pool/image status commands + + Reviewed-by: Jason Dillaman + +commit 16ba13c83d678656723173c061318dd83805768a +Author: Mykola Golub +Date: Thu May 12 11:15:34 2016 +0300 + + doc: update mirroring guide to include pool/image status commands + + Fixes: http://tracker.ceph.com/issues/15746 + Signed-off-by: Mykola Golub + (cherry picked from commit 4381e341c435c80793b847115eed616b8359c4e6) + +commit 818166e25d2ccac5d9bb3541f6166fcb8c25fd64 +Author: Mykola Golub +Date: Thu May 12 11:11:55 2016 +0300 + + doc: fixup: "rbd-mirror daemon" instead of "rbd-daemon" + + Signed-off-by: Mykola Golub + (cherry picked from commit ddd6345f8f7edcff638ed435aef316ba3e0e40dd) + +commit 15c4ad44010c798af7804e287ba71dcc289f806f +Merge: 3a66dd4 7be281d +Author: Sage Weil +Date: Wed May 18 05:11:55 2016 -0400 + + Merge pull request #8815 from ktdreyer/wip-15646-jewel-system-targets + + jewel: debian: install systemd target files + + Reviewed-by: Kefu Chai + +commit 7be281dab96c15b53fcfc3c2ffe6d17aec84b315 +Author: Sage Weil +Date: Thu Apr 28 09:13:50 2016 -0400 + + debian/control: dh_systemd_start is in the dh-systemd package + + Fixes: http://tracker.ceph.com/issues/15573 + Signed-off-by: Sage Weil + (cherry picked from commit 89154d1e01dbc58dc92f37741031f7ddb0448d2e) + +commit e463aa8b92dabdc7c13e150585eb09790da638ba +Author: Kefu Chai +Date: Fri Apr 22 21:07:58 2016 +0800 + + debian: install systemd target files + + * enable it using dh_systemd_enable + * start the target using dh_systemd_start + * move the dh_installinit, dh_systemd_enable, dh_systemd_start calls + down, so they can identify the service files if they care about them. + + Fixes: http://tracker.ceph.com/issues/15573 + Signed-off-by: Kefu Chai + (cherry picked from commit f950a0a7f5b35e13668379bc69dcb5d98a2dfc1f) + +commit 72c9b6f70752faf779b9272724f428e68d6499bb +Author: Kefu Chai +Date: Mon May 9 14:15:36 2016 +0800 + + osd: remove all stale osdmaps in handle_osd_map() + + in a large cluster, there are better chances that the OSD fails to trim + the cached osdmap in a timely manner. and sometimes, it is just unable + to keep up with the incoming osdmap if skip_maps, so the osdmap cache + can keep building up to over 250GB in size. in this change + + * publish_superblock() before trimming the osdmaps, so other osdmap + consumers of OSDService.superblock won't access the osdmaps being + removed. + * trim all stale osdmaps in batch of conf->osd_target_transaction_size + if skip_maps is true. in my test, it happens when the osd only + receives the osdmap from monitor occasionally because the osd happens + to be chosen when monitor wants to share a new osdmap with a random + osd. + * always use dedicated transaction(s) for trimming osdmaps. so even in + the normal case where we are able to trim all stale osdmaps in a + single batch, a separated transaction is used. we can piggy back + the commits for removing maps, but we keep it this way for simplicity. + * use std::min() instead MIN() for type safety + + Fixes: http://tracker.ceph.com/issues/13990 + Signed-off-by: Kefu Chai + (cherry picked from commit 369db9930887d75b498927da9c97733bff4472b6) + +commit 6c2973cd08503a3d91eeb881732c79213e42599f +Author: Mykola Golub +Date: Wed May 11 14:14:46 2016 +0300 + + cls::rbd: mirror_image_status_list returned max 64 items + + Signed-off-by: Mykola Golub + (cherry picked from commit e925ce86243c91e6d64ff8d7b45166e4e3f2650b) + +commit 36743419ba49df4f97cdbe9ac25d9b08b0685108 +Author: Sage Weil +Date: Fri Apr 29 15:24:09 2016 -0400 + + osd/PG: update info.stats.* mappings on split + + These are updated in the init and start_peering_interval paths, but not + on split. + + Fixes: http://tracker.ceph.com/issues/15523 + Signed-off-by: Sage Weil + (cherry picked from commit 8b42294d98dd70715184991da5ba495fbe93d009) + +commit b443fdf9402df621400ab7ca66799f597e8b2c23 +Author: Nathan Cutler +Date: Sat Apr 23 11:42:25 2016 +0200 + + ceph.spec.in: recommend ntp-daemon on SUSE + + SUSE has settled on "ntp-daemon" as the generic package name. The "ntp" and + "chrony" etc. packages have "Provides: ntp-daemon" in their respective spec + files. + + References: http://tracker.ceph.com/issues/15419 + Signed-off-by: Nathan Cutler + (cherry picked from commit 23108547454f53b95e193086d82d433570312ad4) + +commit 299f84ccdbf4d91412e216042fb248fd802af89d +Author: Nathan Cutler +Date: Thu Apr 7 20:54:21 2016 +0200 + + deb: make ceph-base and radosgw recommend time-daemon + + References: http://tracker.ceph.com/issues/15419 + + Signed-off-by: Nathan Cutler + (cherry picked from commit f27cda03b7a961e445cce4ad35db6417e9e55959) + +commit 2da7cb2c7daad3ce2f9d2614e019291f75d4737d +Author: Nathan Cutler +Date: Thu Apr 7 20:17:44 2016 +0200 + + systemd: make Ceph daemon units "want" time-sync.target + + Fixes: http://tracker.ceph.com/issues/15419 + + Signed-off-by: Nathan Cutler + (cherry picked from commit df893f395e62c8b1db18a277b38b44cab8b2016f) diff --git a/doc/changelog/v10.2.3.txt b/doc/changelog/v10.2.3.txt new file mode 100644 index 00000000..a21d1b7a --- /dev/null +++ b/doc/changelog/v10.2.3.txt @@ -0,0 +1,5957 @@ +commit ecc23778eb545d8dd55e2e4735b53cc93f92e65b +Author: Jenkins Build Slave User +Date: Tue Sep 20 22:04:23 2016 +0000 + + 10.2.3 + +commit 9bfc0cf178dc21b0fe33e0ce3b90a18858abaf1b +Merge: aeee80e 1cbc839 +Author: Loic Dachary +Date: Mon Aug 29 13:43:15 2016 +0200 + + Merge pull request #10804 from dachary/wip-17089-jewel + + jewel: OSD failed to subscribe skipped osdmaps after ceph osd pause + + Reviewed-by: Kefu Chai + +commit aeee80e64af2f685ac9785c3444f40b60d0877f2 +Merge: 3168a84 dc154cd +Author: Loic Dachary +Date: Mon Aug 29 13:43:00 2016 +0200 + + Merge pull request #10760 from dachary/wip-16865-jewel + + jewel: saw valgrind issues in ReplicatedPG::new_repop + + Reviewed-by: Kefu Chai + +commit 3168a8482211a2aaf9b4d715c0f7a920e896d9bb +Merge: 12b374f ce986aa +Author: Loic Dachary +Date: Fri Aug 26 22:12:39 2016 +0200 + + Merge pull request #10662 from dachary/wip-16901-jewel + + jewel: segfault in RGWOp_MDLog_Notify + + Reviewed-by: Yehuda Sadeh + +commit 12b374fccfb9792998ab88a4d7777f8b8134cb5c +Merge: 91ee75f f298643 +Author: Orit Wasserman +Date: Fri Aug 26 10:31:06 2016 +0200 + + Merge pull request #10763 from dachary/wip-17034-jewel + + jewel: rgw: object expirer's hints might be trimmed without processing in some circumstances + Reviewed-by: Orit Wasserman + +commit 91ee75f39c05fe0c25aab2664f1fa71f858e7c6f +Merge: d8bdc22 a865f26 +Author: Orit Wasserman +Date: Fri Aug 26 10:28:10 2016 +0200 + + Merge pull request #10658 from dachary/wip-16862-jewel + + jewel: default zone and zonegroup cannot be added to a realm + Reviewed-by: Orit Wasserman + +commit d8bdc2245ddec91c2f55d367045e4407112d2af1 +Merge: 6d270f6 fa2e42d +Author: Orit Wasserman +Date: Fri Aug 26 10:26:53 2016 +0200 + + Merge pull request #10659 from dachary/wip-16863-jewel + + jewel: use zone endpoints instead of zonegroup endpoints + Reviewed-by: Orit Wasserman + +commit 6d270f6084a035040638638ff65c14f5d76eeef1 +Merge: fe23c2e 2485efc +Author: Orit Wasserman +Date: Fri Aug 26 10:24:20 2016 +0200 + + Merge pull request #10660 from dachary/wip-16864-jewel + + jewel: multisite segfault on ~RGWRealmWatcher if realm was deleted + Reviewed-by: Orit Wasserman + +commit fe23c2edc70d1ad15e640195570e624b31415aef +Merge: a57c21a 577336e +Author: Loic Dachary +Date: Fri Aug 26 00:46:17 2016 +0200 + + Merge pull request #10847 from gregsfortytwo/jewel-fix-mds + + mds: fix double-unlock on shutdown + + Reviewed-by: Patrick Donnelly + +commit a57c21afa686967a3afc4ddabb97c665e5894b21 +Merge: 49022d4 ce5e250 +Author: Loic Dachary +Date: Thu Aug 25 23:04:37 2016 +0200 + + Merge pull request #10663 from dachary/wip-16934-jewel + + jewel: Add zone rename to radosgw_admin + + Reviewed-by: Casey Bodley + +commit 49022d4b2e2c5506dd83f3d894ac0a4ba83f8c7b +Merge: f7afbbf 22c9df1 +Author: Loic Dachary +Date: Thu Aug 25 23:04:22 2016 +0200 + + Merge pull request #10664 from dachary/wip-16958-jewel + + jewel: Bug when using port 443s in rgw. + + Reviewed-by: Casey Bodley + +commit f7afbbf094e5eabc1a651379f522d0b1544b01a3 +Merge: 7b672cb 73cc608 +Author: Loic Dachary +Date: Thu Aug 25 23:04:07 2016 +0200 + + Merge pull request #10764 from dachary/wip-17032-jewel + + jewel: multisite: RGWPeriodPuller tries to pull from itself + + Reviewed-by: Casey Bodley + +commit 7b672cbe343955228b2a701eba91a30f5cac7fe5 +Merge: 28bc826 55460e2 +Author: Loic Dachary +Date: Thu Aug 25 23:03:40 2016 +0200 + + Merge pull request #10765 from dachary/wip-17006-jewel + + jewel: Increase log level for messages occuring while running rgw admin command + + Reviewed-by: Casey Bodley + +commit 28bc826e9140520e86e2eb34470103979d10ae49 +Merge: 8b37c68 21da103 +Author: Loic Dachary +Date: Thu Aug 25 22:25:21 2016 +0200 + + Merge pull request #10845 from cbodley/wip-16702 + + jewel: rgw: add tenant support to multisite sync + + Reviewed-by: Loic Dachary + +commit 8b37c68f761d59025678c184a4f9b1755c90a628 +Merge: 94eb163 2266287 +Author: Loic Dachary +Date: Thu Aug 25 09:17:52 2016 +0200 + + Merge pull request #9405 from SUSE/wip-16083-jewel + + jewel: mds: wrongly treat symlink inode as normal file/dir when symlink inode is stale on kcephfs + + Reviewed-by: Greg Farnum + +commit 94eb163c19e02ffae06659ced714140bd55584f0 +Merge: 9de2e93 f5db5a4 +Author: Loic Dachary +Date: Thu Aug 25 09:02:17 2016 +0200 + + Merge pull request #10654 from dachary/wip-9577-jewel + + jewel: mon: "mon metadata" fails when only one monitor exists + + Reviewed-by: John Spray + +commit 577336e20f68aa289311103e54d4def793b0cc01 +Author: Greg Farnum +Date: Wed Aug 24 13:34:43 2016 -0700 + + mds: fix double-unlock on shutdown + + We did a bad backport or something and accidentally ended up with two Unlock() + calls on mds_lock. Don't. + + Signed-off-by: Greg Farnum + +commit 21da1039fc57bcf4054c0e7a13bb2732781770f6 +Author: Yehuda Sadeh +Date: Tue Jul 12 20:36:35 2016 -0700 + + rgw: collect skips a specific coroutine stack + + Fixes: http://tracker.ceph.com/issues/16665 + + Instead of drain_all_but() that specifies number of stacks to leave behind, + added drain_all_but_stack() that has a specific stack specified. This is needed + so that we don't call wakeup() through lease_cr->go_down() on a cr stack that + was already collected. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5a2e8f0526db92a290c711f82627fc5042c290ea) + +commit 9de2e93d1b55c5f5f54b3dbf334d1513abb3f174 +Merge: 1d5dedf d1e0512 +Author: Loic Dachary +Date: Wed Aug 24 22:08:58 2016 +0200 + + Merge pull request #10791 from dachary/wip-17004-jewel + + jewel: rbd-mirror: FAILED assert(m_state == STATE_STOPPING) + + Reviewed-by: Jason Dillaman + +commit 1d5dedf0307f0fddf55f6487486a281c2625ef92 +Merge: e30c76e ecea6dc +Author: Loic Dachary +Date: Wed Aug 24 22:08:30 2016 +0200 + + Merge pull request #10827 from dillaman/wip-16950-jewel + + jewel: librbd: delay acquiring lock if image watch has failed + + Reviewed-by: Jason Dillaman + +commit 98779c32de98efc367e888b99fd154ad4e5274d9 +Author: Josh Durgin +Date: Mon Jul 11 17:38:43 2016 -0700 + + rgw: fix compilation + + Signed-off-by: Josh Durgin + (cherry picked from commit 874de58024e12d893ae050cd421ef67c9521c753) + +commit f5d9537d3e69197c7eadb21a6d0d01373530e2de +Author: Casey Bodley +Date: Thu Jul 7 14:42:00 2016 -0400 + + rgw: remove datalog keys from error repo on ENOENT + + Signed-off-by: Casey Bodley + (cherry picked from commit 16976eedb70292e821193e39bb577a68df1bc95a) + +commit 32505b2c8d703d09224b6a2f7007b20a79e0fb3d +Author: Casey Bodley +Date: Fri Jul 1 12:36:04 2016 -0400 + + test/rgw: add optional --tenant flag to test_multi.py + + Signed-off-by: Casey Bodley + (cherry picked from commit 6f65d192cd3917cdcf7d9deb5396750d2c641842) + +commit f68337aaa535ea182258eb4934af739fb703f556 +Author: Casey Bodley +Date: Thu Jun 30 15:50:00 2016 -0400 + + rgw: add tenant id to GetBucketInstanceInfo + + use the rgw_bucket overload of get_bucket_instance_info() so it can + supply the tenant id + + Signed-off-by: Casey Bodley + (cherry picked from commit 3cf715c6828d7d9732bf6a6fd9b46bbd8c08de5f) + +commit a0ffffa5aad423f363bf10a6b8dbaf19a47262a2 +Author: Casey Bodley +Date: Wed Jun 29 11:58:55 2016 -0400 + + rgw: carry tenant id with data sync + + use rgw_bucket_shard to track buckets, which includes tenant id + + Fixes: http://tracker.ceph.com/issues/16469 + + Signed-off-by: Casey Bodley + (cherry picked from commit d945e2099525e39588b572e357b115df98c8cdca) + +commit bff626f7b32b3fe918510c147f88c49ead5007fa +Author: Casey Bodley +Date: Thu Jun 30 17:43:40 2016 -0400 + + rgw: add tenant to url for RGWRESTStreamWriteRequest + + Signed-off-by: Casey Bodley + (cherry picked from commit 2a1e1a776c58f62fbcb57877d56b92eb1e8933e6) + +commit dc50687f9ee7291192b2291c3c5770c46c852677 +Author: Casey Bodley +Date: Thu Jun 30 17:42:54 2016 -0400 + + rgw: add tenant to rgw_bucket json format + + Signed-off-by: Casey Bodley + (cherry picked from commit fc0df4802b48fa095587b93557c82da5446d9ca3) + +commit 06223adc51d2ccc1494c5e6891ad367edde69a91 +Author: Casey Bodley +Date: Thu Jun 30 00:13:47 2016 -0400 + + rgw: add rgw_bucket_parse_bucket_key() + + Signed-off-by: Casey Bodley + (cherry picked from commit d5ac140040ea2f17e33d2846870cb033c7ae6ffa) + +commit b4f687ee7fce682a41c707af7e2feb6b3a1cbe15 +Author: Casey Bodley +Date: Tue Jun 28 11:24:46 2016 -0400 + + rgw: add tenant name to datalog entries + + Signed-off-by: Casey Bodley + (cherry picked from commit c8aa668fc3e34a7651ce6e2dda62902ced808541) + +commit dda0ee035fe9bb0c2fc4366df8355184db5034e3 +Author: Casey Bodley +Date: Wed Jul 6 11:50:47 2016 -0400 + + rgw: convert bucket instance listings back to metadata key format + + Signed-off-by: Casey Bodley + (cherry picked from commit 3eae201c8a1513bae23233700c754ec076360664) + +commit 6225a6d45b8e76f9afaa741fa61d4b9742ef60fb +Author: Casey Bodley +Date: Tue Jul 5 09:00:19 2016 -0400 + + rgw: use tenant/ for bucket instance metadata keys + + to work around the ambiguity of parsing tenant: and :shard in the same + bucket instance metadata key, use tenant/ instead + + to preserve backward compatibility with existing objects, new helper + function rgw_bucket_instance_key_to_oid() converts this / back to a : + before being used as an object name + + Signed-off-by: Casey Bodley + (cherry picked from commit a0befa1e7be3aeb37209bac2e2a7de0edf5d5a95) + +commit cac6612a8a4f344e910d0c880ee8d020fac1ec79 +Author: Casey Bodley +Date: Thu Jun 30 18:09:03 2016 -0400 + + rgw: add get_key() methods to format rgw_buckets + + Signed-off-by: Casey Bodley + (cherry picked from commit 51ff8ef7c6bb7c9f55f3ca8ad059b029a4088cdf) + +commit ac557e04e2d104fe9fdeae1d1ca31e212cfc89f6 +Author: Yehuda Sadeh +Date: Mon Jun 6 16:16:33 2016 -0700 + + rgw: data sync debug logging + + a high level debug logging of the data sync process. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 97ef16c0cc0ad8345b5a897108717d83ab0aa9ab) + +commit 6bb8c15a38e1ebf4e2b03f43bb527d460cd82dc3 +Author: Pritha Srivastava +Date: Thu Jun 16 14:45:57 2016 +0530 + + rgw: modifying multi-site log messages. + + Increasing the log level and removing 'ERROR' from messages that appear during normal multi-site operation. + Fixes: http://tracker.ceph.com/issues/16121 + + Signed-off-by: Pritha Srivastava + (cherry picked from commit e1737ddaa035f23757d021dd34b0c87d24ce372c) + +commit e30c76ee33ddcb1a58835637c5e506c6c4b61b12 +Merge: df71e57 308f514 +Author: Loic Dachary +Date: Wed Aug 24 18:57:23 2016 +0200 + + Merge pull request #10653 from dachary/wip-10495-jewel + + jewel : 60-ceph-partuuid-workaround-rules still needed by debian jessie (udev 215-17) + + Reviewed-by: Loic Dachary + +commit df71e5740255ffc0a809b2c437ce37826aed11d3 +Merge: 286b30f f80d10c +Author: Loic Dachary +Date: Wed Aug 24 18:51:54 2016 +0200 + + Merge pull request #10357 from SUSE/wip-16748-jewel + + jewel: mount.ceph: move from ceph-base to ceph-common and add symlink in /sbin for SUSE + + Reviewed-by: Loic Dachary + +commit 286b30fc54c1ea6a41c38a80c5227f9deeb13741 +Merge: eb28401 48ee3aa +Author: Loic Dachary +Date: Wed Aug 24 17:48:00 2016 +0200 + + Merge pull request #10790 from dachary/wip-17005-jewel + + jewel: ImageReplayer::is_replaying does not include flush state + + Reviewed-by: Jason Dillaman + +commit eb28401a59e2ca1a30d0f29aab7a2ea5eb704aea +Merge: 4f3605b d336735 +Author: Loic Dachary +Date: Wed Aug 24 17:47:45 2016 +0200 + + Merge pull request #10792 from dachary/wip-16978-jewel + + jewel: rbd-mirror: FAILED assert(m_on_update_status_finish == nullptr) + + Reviewed-by: Jason Dillaman + +commit 4f3605b0c3cba436b362318487bec4358ea8c4d0 +Merge: 0c60d47 8316b6a +Author: Loic Dachary +Date: Wed Aug 24 17:47:36 2016 +0200 + + Merge pull request #10646 from dachary/wip-16576-jewel + + jewel: rbd-mirror: FAILED assert(m_local_image_ctx->object_map != nullptr) + + Reviewed-by: Jason Dillaman + +commit 0c60d47579591f07bc4e8d24a52c0355fbd17917 +Merge: 6dd0327 5968664 +Author: Loic Dachary +Date: Wed Aug 24 17:47:18 2016 +0200 + + Merge pull request #10647 from dachary/wip-16593-jewel + + jewel: FAILED assert(object_no < m_object_map.size()) + + Reviewed-by: Jason Dillaman + +commit 6dd0327b40b35e19cb14ce30dec0d75d5a7da086 +Merge: cb4cb4a e098fb1 +Author: Loic Dachary +Date: Wed Aug 24 17:47:08 2016 +0200 + + Merge pull request #10786 from dachary/wip-17061-jewel + + jewel: bashism in src/rbdmap + + Reviewed-by: Jason Dillaman + +commit cb4cb4a02b160d9dd65e624cd762c12284eed241 +Merge: 089bb43 46246e3 +Author: Loic Dachary +Date: Wed Aug 24 14:12:34 2016 +0200 + + Merge pull request #10421 from SUSE/wip-16659-jewel + + jewel: ReplicatedBackend doesn't increment stats on pull, only push + + Reviewed-by: Kefu Chai + +commit 089bb43b146408e5e670c3788990b712d8d26543 +Merge: 59b6c20 28697fc +Author: Loic Dachary +Date: Tue Aug 23 15:42:11 2016 +0200 + + Merge pull request #10501 from Abhishekvrshny/wip-16621-jewel + + jewel: mds: tell command blocks forever with async messenger (TestVolumeClient.test_evict_client failure) + + Reviewed-by: Douglas Fuller + Reviewed-by: Greg Farnum + +commit 59b6c20ea5bfb2d7062f7119ffbecd312d342bc4 +Merge: e1ddce7 f4fb598 +Author: Loic Dachary +Date: Tue Aug 23 15:23:34 2016 +0200 + + Merge pull request #10816 from SUSE/wip-17092-jewel + + jewel: build/ops: need rocksdb commit 7ca731b12ce for ppc64le build + + Reviewed-by: Loic Dachary + +commit ecea6dcf1c36bc5d478cf030f7ba1e01ca35a2d0 +Author: Jason Dillaman +Date: Thu Aug 4 13:24:54 2016 -0400 + + librbd: delay acquiring exclusive lock if watch has failed + + Fixes: http://tracker.ceph.com/issues/16923 + Signed-off-by: Jason Dillaman + (cherry picked from commit dfe9f3eac9cca3b83962e0e1b7eac38e6e76d7a5) + +commit 49a39ebf6f7c6b7b0b19e4486fc10e57637e143c +Author: Jason Dillaman +Date: Thu Aug 4 13:47:33 2016 -0400 + + librbd: convert ImageWatcher class to template + + Signed-off-by: Jason Dillaman + (cherry picked from commit 814c305ce8c35b5ce01d7e29a912d5ef3978754b) + + Conflicts: + src/librbd/ImageWatcher.cc: no shrink guard + src/librbd/Operations.cc: no shrink guard + +commit e1ddce7654698f3e41d89406981b1eb26f8f72a3 +Merge: 2c387d5 a7987f0 +Author: Loic Dachary +Date: Tue Aug 23 08:48:19 2016 +0200 + + Merge pull request #10103 from xiaoxichen/wip-16037-jewel + + jewel: MDSMonitor::check_subs() is very buggy + + Reviewed-by: Greg Farnum + +commit 2c387d5cd2785d518982f1c0d209235c240cb7ae +Merge: 128251c 64d99b1 +Author: Loic Dachary +Date: Tue Aug 23 08:48:01 2016 +0200 + + Merge pull request #10105 from xiaoxichen/wip-16515-jewel + + jewel: Session::check_access() is buggy + + Reviewed-by: Greg Farnum + +commit 128251ceddf6129a1836a6d991a727adc93869df +Merge: d27c6ac bce5646 +Author: Loic Dachary +Date: Tue Aug 23 08:47:37 2016 +0200 + + Merge pull request #10106 from xiaoxichen/wip-16215-jewel + + jewel: client: crash in unmount when fuse_use_invalidate_cb is enabled + + Reviewed-by: Greg Farnum + +commit d27c6ac57b5cd2f5566c5ecf476b8fe37041ab27 +Merge: 63422d0 fd7ff96 +Author: Loic Dachary +Date: Tue Aug 23 08:47:23 2016 +0200 + + Merge pull request #10108 from xiaoxichen/wip-16320-jewel + + jewel: fuse mounted file systems fails SAMBA CTDB ping_pong rw test with v9.0.2 + + Reviewed-by: Greg Farnum + +commit 63422d08ea6d401cefd6b438a7de48c1528da114 +Merge: 9fd5291 aa39361 +Author: Loic Dachary +Date: Tue Aug 23 08:47:10 2016 +0200 + + Merge pull request #10199 from SUSE/wip-16625-jewel + + jewel: Failing file operations on kernel based cephfs mount point leaves unaccessible file behind on hammer 0.94.7 + + Reviewed-by: Greg Farnum + +commit 9fd5291345e4f7d08faf8110ba78df244d030db6 +Merge: 2823714 2beb56a +Author: Loic Dachary +Date: Tue Aug 23 08:46:53 2016 +0200 + + Merge pull request #10499 from Abhishekvrshny/wip-16299-jewel + + jewel: mds: fix SnapRealm::have_past_parents_open() + + Reviewed-by: Greg Farnum + +commit 282371465476e37408f65fc33145f8a76cf35ac7 +Merge: e2f7de6 1d3a816 +Author: Loic Dachary +Date: Tue Aug 23 08:46:38 2016 +0200 + + Merge pull request #10500 from Abhishekvrshny/wip-16620-jewel + + jewel: Fix shutting down mds timed-out due to deadlock + + Reviewed-by: Greg Farnum + +commit e2f7de68393dcf008e366cfc40b199b5acfcd428 +Merge: 6f287bf 7c2eab1 +Author: Loic Dachary +Date: Tue Aug 23 08:46:13 2016 +0200 + + Merge pull request #10502 from Abhishekvrshny/wip-16797-jewel + + jewel: MDS Deadlock on shutdown active rank while busy with metadata IO + + Reviewed-by: Greg Farnum + +commit 6f287bf2b99b8f6b1ae21f017d905dfa4a569649 +Merge: d68d41e d244b7a +Author: Loic Dachary +Date: Tue Aug 23 08:45:41 2016 +0200 + + Merge pull request #10104 from xiaoxichen/wip-16560-jewel + + jewel: mds: enforce a dirfrag limit on entries + + Reviewed-by: Patrick Donnelly + +commit d68d41ebdae92666b4dcf6cc8455cf17ab1d903a +Merge: bc6e329 a5f5513 +Author: Loic Dachary +Date: Tue Aug 23 01:19:33 2016 +0200 + + Merge pull request #10074 from ceph/jewel-16002 + + jewel: ObjectCacher split BufferHead read fix + + Reviewed-by: Greg Farnum + +commit f4fb59896ccb0d8ac01434cd4cf6ad67776fb0a0 +Author: Nathan Cutler +Date: Mon Aug 22 20:56:38 2016 +0200 + + build/ops: bump rocksdb submodule + + Fixes a FTBFS on ppc64le + + Fixes: http://tracker.ceph.com/issues/17092 + Signed-off-by: Nathan Cutler + +commit bc6e3291b4960779fb84b2976079490d5f8f4935 +Merge: 46106f0 e825dd2 +Author: Loic Dachary +Date: Mon Aug 22 10:37:14 2016 +0200 + + Merge pull request #10537 from theanalyst/wip-16778-jewel + + jewel: rgw multisite: preserve zone's extra pool + + Reviewed-by: Orit Wasserman + +commit 46106f0c0cfeb8746a521559bb466a5021a2c221 +Merge: 1bf76cd 96ad2d1 +Author: Orit Wasserman +Date: Mon Aug 22 10:31:39 2016 +0200 + + Merge pull request #10655 from dachary/wip-16163-jewel + + jewel: rgw: can set negative max_buckets on RGWUserInfo + Reviewed-by: Orit Wasserman + +commit 1bf76cd58ec3635291e5c0080df47f0845088b77 +Merge: 3cef399 8b9954d +Author: Orit Wasserman +Date: Mon Aug 22 10:29:40 2016 +0200 + + Merge pull request #10580 from dreamhost/wip-16928-jewel + + jewel: rgw: Fix civetweb IPv6 + Reviewed-by: Orit Wasserman + +commit 3cef399857b5cb234e0f4cd54933d58744736f62 +Merge: e1bc847 9e5a3ae +Author: Orit Wasserman +Date: Mon Aug 22 10:28:14 2016 +0200 + + Merge pull request #10216 from SUSE/wip-16637-jewel + + jewel: add socket backlog setting for via ceph.conf + Reviewed-by: Orit Wasserman + +commit e1bc84776e7a95062311fb6b00a85a5327926c92 +Merge: 089967f 429e9c0 +Author: Orit Wasserman +Date: Mon Aug 22 10:27:03 2016 +0200 + + Merge pull request #10167 from jmunhoz/aws4-streaming-backport-jewel + + jewel: rgw: aws4: add STREAMING-AWS4-HMAC-SHA256-PAYLOAD support + Reviewed-by: Orit Wasserman + +commit 089967f4374569495d177c7dea1e345ca08c772a +Merge: 8e2de35 44decb4 +Author: Orit Wasserman +Date: Mon Aug 22 10:13:51 2016 +0200 + + Merge pull request #9544 from Abhishekvrshny/wip-16085-jewel + + jewel: A query on a static large object fails with 404 error + Reviewed-by: Orit Wasserman + +commit 8e2de35324258cdbe44dfe8e7ce757ca1b3ef99b +Merge: 3f007a1 059ed62 +Author: Orit Wasserman +Date: Mon Aug 22 10:10:25 2016 +0200 + + Merge pull request #10525 from Abhishekvrshny/wip-16732-jewel + + jewel: Bucket index shards orphaned after bucket delete + Reviewed-by: Orit Wasserman + +commit 3f007a192f8629b7a6000846db41550eb94cdcb2 +Merge: 1019325 8655803 +Author: Orit Wasserman +Date: Mon Aug 22 10:09:21 2016 +0200 + + Merge pull request #10188 from dreamhost/wip-16618-jewel + + jewel: rgw: fix multi-delete query param parsing. + Reviewed-by: Orit Wasserman + +commit 1019325af6c7153893a74b126f2c5e6534841bc4 +Merge: 0cd574f 4a3c9f3 +Author: Orit Wasserman +Date: Mon Aug 22 10:06:51 2016 +0200 + + Merge pull request #9266 from Abhishekvrshny/wip-15964-jewel + + jewel: rgw: realm pull fails when using apache frontend + Reviewed-by: Orit Wasserman + +commit 0cd574f5a9a1db4ddfe262e2c4eb4643c5af9075 +Merge: cdd4ab2 dbf8cf0 +Author: Loic Dachary +Date: Mon Aug 22 10:02:20 2016 +0200 + + Merge pull request #10710 from rzarzynski/wip-16393-jewel + + jewel: rgw: improve support for Swift's object versioning. + + Reviewed-by: Orit Wasserman + +commit 1cbc839ebd11acb2ed0ebf0b0117eab09b5141c3 +Author: Kefu Chai +Date: Mon Aug 15 15:42:29 2016 +0800 + + osd: set objecter.osdmap when starts + + if any OSD is full or the pause flag is set in cluster, objecter will + always try to subscribe the next osdmap using the mon client shared with + OSD. but if the OSD's osdmap is very far behind on osd maps due to some + reasons, `MonClient::sub_want_increment()` will reject the subscribe + request from OSD, because it's asking for older maps while the mon client + is about to send the request from objecter for the *next* osdmap. + + so we need to update objecter with the latest local osdmap, so it is + able to skip the new osdmaps if OSD needs to catch up with the cluster + first. + + Fixes: http://tracker.ceph.com/issues/17023 + Signed-off-by: Kefu Chai + (cherry picked from commit 1515e08e7d425f01d2e9d02c34b2ae40cdf2611a) + +commit 4d37cfb6eed1737b21d9f3f18eee6169f48445b2 +Author: Kefu Chai +Date: Fri Aug 12 19:19:51 2016 +0800 + + mon/MonClient: should update sub_sent with sub_new + + std::map::insert() does not overwrite existing items with the same key. + so we need to do this in a different way. and we will check sub_sent + aftewards, so we need to keep an updated sub_sent around. + + Fixes: http://tracker.ceph.com/issues/17023 + Signed-off-by: Kefu Chai + (cherry picked from commit 550814900ebca9dd89e088b9abe24f66eb5e3e6d) + +commit cdd4ab2897a3d0004b1e50401754004f95559e18 +Merge: 38433ad 5498377 +Author: Loic Dachary +Date: Sun Aug 21 21:48:20 2016 +0200 + + Merge pull request #10797 from trociny/wip-17080-jewel + + jewel: the option 'rbd_cache_writethrough_until_flush=true' dosn't work + + Reviewed-by: Mykola Golub + +commit 5498377205523052476ed81aebb2c2e6973f67ef +Author: Jason Dillaman +Date: Wed Aug 17 12:08:37 2016 -0400 + + librbd: cache was not switching to writeback after first flush + + Fixes: http://tracker.ceph.com/issues/16654 + Signed-off-by: Jason Dillaman + (cherry picked from commit 2d9840af39555ce00246b50e4a5c186798bd88ff) + +commit 471871e752963bf8cc42dcc1ec7e44e34e7e0ca2 +Author: Jason Dillaman +Date: Tue Jul 26 23:28:43 2016 -0400 + + test: unit test cases for disabling librbd journal by policy + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4a256f5044ac54a8a0a9598ee7fd151b8ea08f84) + + Conflicts: + src/test/librbd/CMakeLists.txt (test_ConsistencyGroups.cc) + +commit 062162f88f1bdaaaa96713429007757b72ec92f9 +Author: Jason Dillaman +Date: Wed Jul 27 10:56:48 2016 -0400 + + librbd: utilize factory methods to create AioObjectRequest objects + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2e5076eb19172919deeb0f4d11f2b2b6cc03fab3) + +commit d8eddc6b58fa2b0589719fab54beb42bc8e440bf +Author: Jason Dillaman +Date: Wed Jul 27 09:07:00 2016 -0400 + + librbd: convert AioObjectRequest/AioObjectRead classes to templates + + Signed-off-by: Jason Dillaman + (cherry picked from commit 840a473e7fb94124ca7c571fc3dd2c787e0d265a) + +commit 1a7cb60ee4b898aaea43a9963e95ed575ec66f56 +Author: Jason Dillaman +Date: Wed Jul 27 09:54:44 2016 -0400 + + librbd: move read callback helpers to narrowest scope + + Signed-off-by: Jason Dillaman + (cherry picked from commit 65b336f68596a430629692a8682c5cfe883c31f1) + +commit 026f6d2da25d41f21f5bb5f8ee367cc7601296f7 +Author: Jason Dillaman +Date: Tue Jul 26 23:26:08 2016 -0400 + + librbd: convert AioImageRequest derived classes to templates + + Signed-off-by: Jason Dillaman + (cherry picked from commit a945c2c235d9259b1d4a8a579d7e6efc2ed35916) + +commit 61f0acb82ba344139bc2aa486fb096e5576e2553 +Author: Jason Dillaman +Date: Wed Jul 27 08:49:44 2016 -0400 + + librbd: removed namespace indentation from legacy classes + + Better follows the Ceph C++ style guide + + Signed-off-by: Jason Dillaman + (cherry picked from commit f1e391982b43ddfb363ff913260460368a6d5834) + +commit e83866bcf01f32c35af94a47ee614361b4a787e6 +Author: Jason Dillaman +Date: Tue Jul 26 22:58:24 2016 -0400 + + librbd: do not record journal events if append is disabled by policy + + Signed-off-by: Jason Dillaman + (cherry picked from commit 405142c615352613e8bacee46e92484eb0c08f26) + +commit a9a84bad431f2d9916bdf88980b1cd2d0e36a1e5 +Author: Jason Dillaman +Date: Tue Jul 26 20:57:40 2016 -0400 + + librbd: remove unused journal replay canceled callback + + Signed-off-by: Jason Dillaman + (cherry picked from commit f453554edcb16ec72714b2456c08bab9e339b1eb) + +commit 942950007f9c424949eacf1d1cf3a74ef3b95725 +Author: Jason Dillaman +Date: Tue Jul 26 20:48:13 2016 -0400 + + librbd: optionally support disabling journal appends via policy + + Signed-off-by: Jason Dillaman + (cherry picked from commit f7eeacd02f8f80c5d1d5d9cfed35bbd23f64b018) + +commit 1f63307a339fcfe3045cc001a72d1ecc197a7010 +Author: shawn +Date: Fri Jun 17 01:45:58 2016 -0400 + + librbd: optimize header file dependency & modify related file. + + Signed-off-by: Xiaowei Chen + (cherry picked from commit 2185a6275c89d9462611e965da407ea0d504987d) + +commit c49398dcd92bab90ab852407427bcc2c23147779 +Author: shawn +Date: Tue Jun 7 03:12:55 2016 -0400 + + librbd: optimize operation header file dependency + + Signed-off-by: Xiaowei Chen + (cherry picked from commit 88afa408683238b803606f3d63de326ead8cefee) + +commit 5366973897c1103a1c291c2f886692da4170d901 +Author: shawn +Date: Tue Jun 7 01:59:05 2016 -0400 + + librbd: optimize journal header file dependency + + Signed-off-by: Xiaowei Chen + (cherry picked from commit 59397e27a04fb0f2b990a86dcaf3c418457d1b72) + +commit c95b83e7c0cae0b322af713045745fb1c8fa411a +Author: shawn +Date: Mon Jun 6 23:36:06 2016 -0400 + + librbd: optimize image_watcher header file dependency + + Signed-off-by: Xiaowei Chen + (cherry picked from commit aee1559f312e9493d6580e5ffcb606fe21ee3c59) + +commit e955496fb638163427c71b0734f6506aa6636d28 +Author: shawn +Date: Mon Jun 6 23:22:39 2016 -0400 + + librbd: optimize image header file dependency + + Signed-off-by: Xiaowei Chen + (cherry picked from commit 461958ebc7e8ccef76b3f08a979482762267c10b) + +commit f403abafd5da00e5afc13abba7514fa2bdce9760 +Author: shawn +Date: Mon Jun 6 22:56:49 2016 -0400 + + librbd: optimize exclusive_lock header file dependency + + Signed-off-by: Xiaowei Chen + (cherry picked from commit 01282eb5cdeda7bbbb77438c7d1953d023ea54b6) + +commit 0ca8071e13492a9124be8322843cd96ca2bba531 +Author: shawn +Date: Mon Jun 6 03:37:22 2016 -0400 + + librbd: optimize object-map header file dependency + + Signed-off-by: Xiaowei Chen + (cherry picked from commit 1a2276927d5956918f7a4830b4a44048ac090328) + +commit 03314145d1bb5f4330a92d945af9df8856284724 +Author: Mykola Golub +Date: Thu Jun 30 14:31:23 2016 +0300 + + test: fix librbd tests for rbd_skip_partial_discard + + Signed-off-by: Mykola Golub + (cherry picked from commit 9717417b7b8aa1b24a82a0bfddbfc23748188641) + + Conflicts: + src/rocksdb this was a mistake in the original commit + +commit d0c0c2fce39091915428e815bc6aee265ac9e351 +Author: Mykola Golub +Date: Thu Jun 30 14:30:08 2016 +0300 + + librbd: discard hangs when 'rbd_skip_partial_discard' is enabled + + Fixes: http://tracker.ceph.com/issues/16386 + Signed-off-by: Mykola Golub + (cherry picked from commit dc41731fbfd73d9fbb63d3ff360d4c5dd62deaf1) + +commit 5bf4398e373ecc26958d8480171f4322341a9d82 +Author: xinxin shu +Date: Tue Jun 7 12:07:55 2016 +0800 + + librbd: object_may_exist always return true when you write an empty object + + if you write an empty object, object map is updated firstly + + Signed-off-by: xinxin shu + (cherry picked from commit a54073808146d205d54d6a932a6e0fd750f1dc38) + +commit 67861061fcd85f143e7d26077c71a582c6439745 +Author: Jason Dillaman +Date: Mon Jul 25 12:43:13 2016 -0400 + + librbd: ensure that AIO ops are started prior to request + + Fixes: http://tracker.ceph.com/issues/16708 + Signed-off-by: Jason Dillaman + (cherry picked from commit 6064f2346de0a8bf2878bf5bfac9a992cda7c4ca) + +commit 47279f8e0158d0483011bca01455ef9735453b34 +Author: Jason Dillaman +Date: Mon Jul 25 12:42:26 2016 -0400 + + librbd: helper method for creating and starting AioCompletions + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3df7213c0a9f0186e3a37c9e4a10f1c8bc84446e) + +commit 38433ad90b81b4e398ae6f4b8e196af1a9ea20b8 +Merge: b98e27c 9fc5b41 +Author: Loic Dachary +Date: Fri Aug 19 20:35:19 2016 +0200 + + Merge pull request #10649 from dachary/wip-16867-jewel + + jewel: mkfs.xfs slow performance with discards and object map + + Reviewed-by: Jason Dillaman + +commit d3367354b02be7ee231a50b9ad8bca098f840f46 +Author: Jason Dillaman +Date: Mon Aug 8 14:41:00 2016 -0400 + + rbd-mirror: potential assertion failure during error-induced shutdown + + Fixes: http://tracker.ceph.com/issues/16956 + Signed-off-by: Jason Dillaman + (cherry picked from commit 6a465d9dad417e8b52909c5478f7e3e433748948) + +commit d1e05127b73c53a02944edc267548656732231fd +Author: Jason Dillaman +Date: Wed Aug 10 12:50:53 2016 -0400 + + rbd-mirror: potential race condition during failure shutdown + + Fixes: http://tracker.ceph.com/issues/16980 + Signed-off-by: Jason Dillaman + (cherry picked from commit 74ec7c91f17630c77647cfc9813090d688b3410d) + +commit 48ee3aacef8b1628f41936bd13cc0327c44e59ef +Author: Jason Dillaman +Date: Tue Aug 9 08:13:30 2016 -0400 + + rbd-mirror: replaying state should include flush action + + Fixes: http://tracker.ceph.com/issues/16970 + Signed-off-by: Jason Dillaman + (cherry picked from commit 7246f1b771b4d1f336ac11b9e881c9eb32bcd4e1) + +commit e098fb14f106bf294780abd5d580244e7ce3b20c +Author: Jason Dillaman +Date: Mon Aug 15 14:10:27 2016 -0400 + + doc: added rbdmap man page to RBD restructured index + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4e05cbf7e6eda797a9b08e0081aead19523d5762) + +commit b7793d757fca99aa2eb371934e667b3cc555d666 +Author: Jason Dillaman +Date: Mon Aug 15 14:07:43 2016 -0400 + + rbdmap: specify bash shell interpreter + + Fixes: http://tracker.ceph.com/issues/16608 + Signed-off-by: Jason Dillaman + (cherry picked from commit 51237c33d1ec4034c5c07f5d63d63838a76bce88) + +commit b98e27c42f29f4fa44cbe7f4b7d9ab3633404f0c +Merge: eb706ab 92d7882 +Author: Loic Dachary +Date: Fri Aug 19 07:12:40 2016 +0200 + + Merge pull request #10684 from dillaman/wip-16904-jewel + + jewel: rbd-mirror: reduce memory footprint during journal replay + + Reviewed-by: Loic Dachary + Reviewed-by: Jason Dillaman + +commit 92d7882661d632af9e9f07817610297411c0248f +Author: Mykola Golub +Date: Thu Jun 30 16:18:56 2016 +0300 + + rbd-mirror: remove ceph_test_rbd_mirror_image_replay test case + + Fixes: http://tracker.ceph.com/issues/16539 + Signed-off-by: Mykola Golub + (cherry picked from commit 06a333b116383de4d39c9e098e6e5fa195ceb370) + +commit 0d9d57385bcb544115ccdb00d6bbd67b987dbad0 +Author: Jason Dillaman +Date: Wed Jul 20 16:18:23 2016 -0400 + + qa/workunits/rbd: override rbd-mirror integration test poll frequency + + Signed-off-by: Jason Dillaman + (cherry picked from commit 574be7486ad737892422aed0322f80e5750a75a0) + +commit 96cdb11934e359024c1a2f7cbffd55a5c7f6715b +Author: Jason Dillaman +Date: Thu Jul 21 07:28:54 2016 -0400 + + rbd-mirror: do not cancel maintenance ops with missing finish events + + librbd will replay these ops when opening an image, so rbd-mirror + should also ensure these ops are replayed. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 862e581553fff510286b58135a1fd69705c06096) + +commit d47a23272765633df2303e142d67d78af5bd2bf4 +Author: Jason Dillaman +Date: Tue Jul 19 15:46:49 2016 -0400 + + rbd-mirror: potential memory leak when attempting to cancel image sync + + The cancel request could race with the actual scheduling of the image + sync operation. + + Signed-off-by: Jason Dillaman + (cherry picked from commit e6cdf955bad500561ddada2791641eba5fb27762) + +commit 1e4d98cdd4c5d671870735823a80e80751ba13ae +Author: Jason Dillaman +Date: Tue Jul 19 15:42:27 2016 -0400 + + rbd-mirror: fix issues detected when attempting clean shut down + + Fixed lockdep issue from status update callback and fixed the + potential for a stuck status state. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0275c7ca23b27dc5250cd33f317e2273470a9fe8) + +commit e4c43190b49e94ccfeda05ac7a7a8835d81b49a5 +Author: Jason Dillaman +Date: Tue Jul 19 13:50:20 2016 -0400 + + rbd-mirror: shut down image replayers in parallel + + When multiple pools are being replicated, start the shut down + process concurrently across all pool replayers. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 73cdd08007c27d2c3c41fe644601e7a144f21c82) + +commit 1e3821268fbd17581a1352401af626a3e56ee3d4 +Author: Jason Dillaman +Date: Tue Jul 19 00:50:14 2016 -0400 + + rbd-mirror: configuration options to control replay throttling + + Fixes: http://tracker.ceph.com/issues/16223 + Signed-off-by: Jason Dillaman + (cherry picked from commit 24883e0605907d1f9bcd1206c8a95c3bde30d5dc) + +commit 549aada7f90b9f7d4a4447d2794c18d5f61807a5 +Author: Jason Dillaman +Date: Wed Jul 20 08:11:53 2016 -0400 + + librbd: new configuration option to restrict journal payload size + + Ensure that, by default, IO journal events are broken up into manageable + sizes when factoring in that an rbd-mirror daemon might be replaying + events from thousands of images. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 11d7500b9bcda7b7c1d8756ade3373f404257f32) + +commit 99195e89e4d229922c6e88aed6a024619e939040 +Author: Jason Dillaman +Date: Tue Jul 19 00:42:16 2016 -0400 + + librbd: wait for journal commit op event to be safely recorded + + Operation request op finish events should not be fire and forget. + Instead, ensure the event is committed to the journal before + completing the op. This will avoid several possible split-brain + events during mirroring. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 47e0fbf231e52d00069c97b72c57c3158445bcf0) + + Conflicts: + src/test/librbd/operation/test_mock_ResizeRequest.cc: no shrink restriction + +commit 3ae52ebadb5ef0de63ba30f937dcbcad507a7048 +Author: Jason Dillaman +Date: Wed Jul 20 16:17:41 2016 -0400 + + journal: optimize speed of live replay journal pruning + + When streaming playback, avoid the unnecessary watch delay when + one or more entries have been pruned. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 08a8ee98c03b5dfb30341c8d209f0c231b2c5d27) + +commit 3850ded99728d1d6acfcaa72cf3923e791dd8fed +Author: Jason Dillaman +Date: Wed Jul 20 10:04:21 2016 -0400 + + journal: possible deadlock during flush of journal entries + + If a future flush is requested at the exact same moment that an + overflow is detected, the two threads will deadlock since locks + are not taken in a consistent order. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2c65471de4b0f54b8ed722f5deaf51ba62632e37) + +commit b4b984325f67a617c890ce6ccfbea5f42322cec5 +Author: Jason Dillaman +Date: Wed Jul 20 09:15:26 2016 -0400 + + journal: improve debug log messages + + rbd-mirror debugging involved potentially thousands of journals + concurrently running. The instance address will correlate log + messages between journals. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 11475f4fe740cccdfea459ebeabdca8cb94dc911) + +commit 196de276d5f1102a1cb4c7600252c9f1e783acc6 +Author: Jason Dillaman +Date: Mon Jul 18 15:34:53 2016 -0400 + + journal: support streaming entry playback + + Now that it's possible for the ObjectPlayer to only read a + partial subset of available entries, the JournalPlayer needs + to detect that more entries might be available. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 28d5ca16cbcb445f985469413b2a8a3048ab66b7) + +commit b08335d052ba04765690397f70d0d7f9b54898ac +Author: Jason Dillaman +Date: Mon Jul 18 15:15:58 2016 -0400 + + journal: replay should only read from a single object set + + Previously it was prefetching up to 2 object sets worth of journal + data objects which consumed too much memory. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2666d366645b22a5db2a2bcbfce466726bf0b3c0) + +commit c6f5303fb2d12830d0c9ac8605884b0c89d16539 +Author: Jason Dillaman +Date: Wed Jul 20 08:06:13 2016 -0400 + + journal: optionally restrict maximum entry payload size + + Journal playback will need to read at least a full entry which was + currently limited to the maximum object size. In memory constrained + environment, this new optional limit will set a fix upper bound on + memory usage. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8c1877b82fee0db1dba76252b32ff348226d41a7) + +commit 6dc609f24e54c8363a5acecef982aa67beb6130e +Author: Jason Dillaman +Date: Mon Jul 18 11:01:26 2016 -0400 + + journal: optionally fetch entries in small chunks during replay + + Support fetching the full object or incremental chunks (with a + minimum of at least a single decoded entry if available). + + Signed-off-by: Jason Dillaman + (cherry picked from commit f7362e9a57e484fffd840ca0eef01778dcacb65b) + +commit 91c70f34edabfb3983da643478d746568ed6b738 +Author: Jason Dillaman +Date: Mon Jul 18 09:31:40 2016 -0400 + + journal: helper class for organizing optional settings + + Additional runtime configuration settings will be needed. The + new class will avoid the need to expand the constructor. + + Signed-off-by: Jason Dillaman + (cherry picked from commit dad8328f2d502d18923c35f7b86a0cc2ccec133a) + +commit d68fe79eedc475c11858c9da5cb3fd2b66ed2b2f +Author: Jason Dillaman +Date: Mon Jul 11 15:32:45 2016 -0400 + + rbd-mirror: preprocess journal events prior to applying + + Fixes: http://tracker.ceph.com/issues/16622 + Signed-off-by: Jason Dillaman + (cherry picked from commit 4df913d10b2dd0444db806fccb2812547efa1b56) + +commit 01f5f3f15c0da44588b4644905953e234a551def +Author: Jason Dillaman +Date: Fri Jul 8 16:19:52 2016 -0400 + + rbd-mirror: event preprocessor to handle snap rename operations + + Signed-off-by: Jason Dillaman + (cherry picked from commit fdfca557370c9d86acb81d50edb6aafc42044747) + +commit f71dc87e509ada03b40b2bec5ea82579709e0d2d +Author: Jason Dillaman +Date: Fri Jul 8 15:16:04 2016 -0400 + + librbd: improve journaling debug log messages + + Signed-off-by: Jason Dillaman + (cherry picked from commit 270cb74bc276bfb1f828a6a6933fa827f6cdce42) + + Conflicts: + src/librbd/journal/Replay.cc: no snap limit restriction + +commit 14db53587aa9a918174b616f006c38d1b4c99e58 +Author: Jason Dillaman +Date: Fri Jul 8 14:37:14 2016 -0400 + + librbd: separate journal event decoding and processing + + Signed-off-by: Jason Dillaman + (cherry picked from commit 57cd75e8058b84b5dce38f3d8f4b7b4138ac6c9a) + +commit 0c4a73fb422ea78e4c5db0763866206cbb54f120 +Author: Jason Dillaman +Date: Fri Jul 8 09:14:58 2016 -0400 + + librbd: record original snap name in snap rename journal event + + Remote peers need a key to map snapshot ids between clusters. + + Signed-off-by: Jason Dillaman + (cherry picked from commit f70b90c48d9520bbb4bb29058375e8205cf63771) + +commit 1a25490367343d7d4083961163c62f1c32cac105 +Author: Jason Dillaman +Date: Fri Jul 8 09:13:07 2016 -0400 + + librbd: simple duplicate op checks for all maintenance operations + + Signed-off-by: Jason Dillaman + (cherry picked from commit 77699bfe749bc7a898024638fb8347c53fe12123) + + Conflicts: + src/test/librbd/mock/MockOperations.h: no shrink restriction + +commit 45a0b74a3eb50395a8e5ebb0f2a87add5090ddc1 +Author: Jason Dillaman +Date: Thu Jul 7 22:16:51 2016 -0400 + + qa/workunits/rbd: exercise snapshot renames within rbd-mirror test + + Snapshot rename operations utilize the (cluster) unique snapshot + sequence to prevent attempts at replays. When mirroring to a + different cluster, these sequences will not align. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 2f4cb26d8bbd1457bc261547103b56ad40b3c464) + +commit c7ab24e7ed63dd1754753c7b0e5c8981a8454a0b +Author: Mykola Golub +Date: Wed Jun 15 11:31:14 2016 +0300 + + librbd: re-register watch on old format image rename + + The watching object name is changed when renaming an old format image, + so unregister the watcher before the rename, and register back after, + to avoid "Transport endpoint is not connected" error. + + Fixes: http://tracker.ceph.com/issues/16321 + Signed-off-by: Mykola Golub + (cherry picked from commit 1a3973c8814200dc449a557a4fc8212911633985) + +commit 46fdba458750a13d217708ae3209b0f8bd058072 +Author: Jason Dillaman +Date: Thu Jun 23 20:28:33 2016 -0400 + + rbd-mirror: gracefully restart pool replayer when blacklisted + + Fixes: http://tracker.ceph.com/issues/16349 + Signed-off-by: Jason Dillaman + (cherry picked from commit 2f55aa5e33b2fe242ebb9702ba9ff6f8d5cef96c) + +commit a806cdbb057e6bf14322ec6c3da8670ea2e9cfdc +Author: Jason Dillaman +Date: Thu Jun 23 20:28:02 2016 -0400 + + rbd-mirror: do not clear image replayer error code after shut down + + Signed-off-by: Jason Dillaman + (cherry picked from commit 1fc27545c2092c178293ed636b6aadb11bc8cbd3) + +commit b88a851d96b224d8332aa76a61d17a659dd5d14e +Author: Jason Dillaman +Date: Thu Jun 23 16:57:50 2016 -0400 + + rbd-mirror: image deleter should use provided librados connection + + Signed-off-by: Jason Dillaman + (cherry picked from commit 03c2aec4c613f11fcfed5bcd47855005f42abd79) + +commit 4b05677581ce9910e356e84203000251c92d8405 +Author: Jason Dillaman +Date: Thu Jun 23 16:03:03 2016 -0400 + + rbd-mirror: each pool replayer should use its own librados connection + + Signed-off-by: Jason Dillaman + (cherry picked from commit 48f301decbf1f27937bb77a3b47e54933f272d7d) + +commit 569fbee99d1367bc0d51e96e42dcf64eeb930648 +Author: Jason Dillaman +Date: Mon Jun 27 09:05:33 2016 -0400 + + rbd-mirror: clean up ImageReplayer before stopping state machine + + Fixes: http://tracker.ceph.com/issues/16489 + Signed-off-by: Jason Dillaman + (cherry picked from commit c97f7245a015dbdda25584134840d023fd65cdd1) + +commit eb706abd814fbd5cc704f21f3f9839ff09aaea6e +Merge: 3167918 fcc00f7 +Author: Loic Dachary +Date: Wed Aug 17 19:17:56 2016 +0200 + + Merge pull request #10679 from dillaman/wip-16735-jewel + + jewel: rbd-nbd does not properly handle resize notifications + + Reviewed-by: Jason Dillaman + +commit 3167918679b519ae7d2625ea08b96419111c9992 +Merge: e6f9f28 2afc176 +Author: Loic Dachary +Date: Wed Aug 17 19:10:04 2016 +0200 + + Merge pull request #10148 from SUSE/wip-16599-jewel + + jewel: rgw: Swift API returns double space usage and objects of account metadata + + Reviewed-by: Pritha Srivastava + +commit 55460e2e7b0f1298796b37b38a64820a8f23f6e2 +Author: Shilpa Jagannath +Date: Sat Aug 6 14:25:48 2016 +0530 + + rgw: raise log levels for common radosgw-admin errors + + Currently while running radosgw-admin command we see these messages thrown at + the endusers since debug level is set to 0: + + 2016-08-02 14:48:28.687251 7f9e630639c0 0 Cannot find zone + id=7a2a89b9-4f5e-4f60-a29e-451ac9acc5a8 (name=us-west), switching to local + zonegroup configuration + 2016-08-02 14:48:35.742185 7f9e630639c0 0 error read_lastest_epoch + .rgw.root:periods.a3db7884-2445-4bab-a165-6730f8573b8f:staging.latest_epoch + + Raising the log level to 1. + + Fixes: http://tracker.ceph.com/issues/16935 + Signed-off-by: Shilpa Jagannath + (cherry picked from commit 8ff2b8e71abd34648c8eefb6b158ae5de46bd709) + +commit 73cc60862891cba8581370e3d5726a9f75ba1651 +Author: Casey Bodley +Date: Fri Aug 5 11:28:13 2016 -0400 + + rgw: fixes for period puller + + * reset epoch=0 before RGWPeriod::init() so we get the latest_epoch + * if we're the metadata master, don't try to pull periods from ourself + + Fixes: http://tracker.ceph.com/issues/16939 + + Signed-off-by: Casey Bodley + (cherry picked from commit 06c384f1c5aa5b4b6404a3caf8a5f88ee40b0b03) + +commit f29864302648f38050626086bb87d47448a72aaf +Author: Radoslaw Zarzynski +Date: Fri Jul 15 17:18:23 2016 +0200 + + rgw: ONLY improve code formatting in rgw_object_expirer_core.{cc,h}. + + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit bc1ecdfb42bf9c9c5825af035409359536ed5b1e) + +commit e7be5a544a712142742323d573586dc9e98cbd77 +Author: Radoslaw Zarzynski +Date: Fri Jul 15 17:11:04 2016 +0200 + + rgw: fix skipping some objects to delete by RadosGW's object expirer. + + Wei Qiaomiao has found that expired objects, which should be removed by + the object expirer of RadosGW, might be left unprocessed till next + restart of a RadosGW's instance. This happens when process_single_shard + method of RGWObjectExpirer class exhaust a time slot for a single round + and finishes without informing caller about the situation. + + Fixes: http://tracker.ceph.com/issues/16705 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 99f7d6eb565cee116c662305411df2adef002cae) + +commit af7e1e0dde953a56f33197c80da499e89f3dfc93 +Author: Radoslaw Zarzynski +Date: Fri Jul 15 17:05:37 2016 +0200 + + rgw: fix trimming object expirer's hints. + + Fixes: http://tracker.ceph.com/issues/16684 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 83cd7852ed1fd8350d7c95a1b8811ffd34d7789f) + +commit dc154cd1e497b02386b91fde28a658d79ec6659e +Author: Kefu Chai +Date: Mon Jul 25 11:12:14 2016 +0800 + + osd: fix the mem leak of RepGather + + ReplicatedPG::new_repop() returns a pointer to RepGather with two refcounts, + one is held by ReplicatedPG::repop_queue, the other is supposed to be + held by the caller of this function. but it's caller + ReplicatedPG::submit_log_entries() assigns it to a + boost::intrusive_ptr() directly, why by default add_ref() in + its constructor. this makes the refcount 3. that's why we have a leak of + RepGather in `ReplicatedPG::new_repop(ObcLockManager&&, + boost::optional>&&)`. + + Fixes: http://tracker.ceph.com/issues/16801 + Signed-off-by: Kefu Chai + (cherry picked from commit d3a28465fc7b7002f38cff364fdf601f7486add3) + +commit e6f9f287e226e44035920827be2a45753f7452d1 +Merge: 84e3810 90d29fc +Author: Loic Dachary +Date: Wed Aug 17 13:41:12 2016 +0200 + + Merge pull request #10678 from dillaman/wip-16701-jewel + + jewel: rbd-mirror: include local pool id in resync throttle unique key + + Reviewed-by: Jason Dillaman + +commit 84e38109472b4a2a169eb8286c6632da4b1edb6e +Merge: c2defb0 0ff0960 +Author: Loic Dachary +Date: Wed Aug 17 13:39:02 2016 +0200 + + Merge pull request #10614 from SUSE/wip-16959-jewel + + jewel: rpm: OBS needs ExclusiveArch + + Reviewed-by: Loic Dachary + +commit c2defb0cea4ba9eed88af3f234c248c57ba48f4f +Merge: 6d7ebb1 461782e +Author: Loic Dachary +Date: Wed Aug 17 13:38:27 2016 +0200 + + Merge pull request #10519 from Abhishekvrshny/wip-16312-jewel + + jewel: selinux denials in RGW + + Reviewed-by: Loic Dachary + +commit 6d7ebb10e6b20f7c3656fd763d96e64ac247e59f +Merge: 338a58c b26acc0 +Author: Loic Dachary +Date: Wed Aug 17 13:37:51 2016 +0200 + + Merge pull request #10364 from SUSE/wip-16750-jewel + + jewel: ceph-osd-prestart.sh contains Upstart-specific code + + Reviewed-by: Loic Dachary + +commit 338a58ca2ed9ba27f9d66c22e725322ce15466af +Merge: c7a1c81 c1a47c7 +Author: Loic Dachary +Date: Wed Aug 17 13:36:47 2016 +0200 + + Merge pull request #10008 from dachary/wip-16099-jewel + + jewel: ceph-base requires parted + + Reviewed-by: Loic Dachary + +commit c7a1c812c4aab478ee38db60947e6f686e8a7407 +Merge: 2d5ada4 ad3b788 +Author: Loic Dachary +Date: Wed Aug 17 13:35:54 2016 +0200 + + Merge pull request #9917 from SUSE/wip-16461-jewel + + jewel: ceph Resource Agent does not work with systemd + + Reviewed-by: Loic Dachary + +commit 96ad2d16df6ec43cd730a4c21b866524a188c532 +Author: Yehuda Sadeh +Date: Thu Jun 2 04:28:30 2016 -0700 + + rgw: can set negative max_buckets on RGWUserInfo + + This can be used to disable user's bucket creation + + Fixes: http://tracker.ceph.com/issues/14534 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 626d795139a6c5104be098780b70500c2de9b8f4) + +commit 2d5ada4ef8ee7d6803a903b7395e0c2b19b781ea +Merge: aa03e1d 00f3fd4 +Author: Loic Dachary +Date: Tue Aug 16 16:39:22 2016 +0200 + + Merge pull request #10303 from ukernel/jewel-16655 + + jewel: ceph-fuse: link to libtcmalloc or jemalloc + + Reviewed-by: Loic Dachary + +commit aa03e1dbe6b243c56ed40eee8734051f434c2ed2 +Merge: 0280773 3da251f +Author: Loic Dachary +Date: Tue Aug 16 16:21:01 2016 +0200 + + Merge pull request #10420 from SUSE/wip-16798-jewel + + jewel: ceph command line tool chokes on ceph –w (the dash is unicode 'en dash' &ndash, copy-paste to reproduce) + + Reviewed-by: Kefu Chai + +commit dbf8cf0b5d46cc49eaf0a14bcc05a4fb215d98fb +Author: Radoslaw Zarzynski +Date: Fri May 13 18:23:12 2016 +0200 + + rgw: improve support for Swift's object versioning. + + This patch allows RadosGW to pass the RefStack with an accuracy + to the RFC7230 violation issue which is clearly a Tempest bug. + + Fixes: http://tracker.ceph.com/issues/15925 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 237ad1210f5a6e4f191293ce532ca15869612a93) + + Conflicts: + src/rgw/rgw_op.cc + In contrast to master, Jewel doesn't support + container quota of Swift API. All tracks of this + feature have been eradicated from the patch. + src/rgw/rgw_rest_swift.cc + Jewel doesn't include boost/optional.hpp but has + boost/utility/in_place_factory.hpp. The conflict + has been resolved to pull in both headers. + +commit 02807732b0f66826c2d110fe06ece15751924760 +Merge: 1e04a35 67eb961 +Author: Loic Dachary +Date: Tue Aug 16 10:40:05 2016 +0200 + + Merge pull request #10520 from Abhishekvrshny/wip-16319-jewel + + jewel: radosgw-admin: inconsistency in uid/email handling + + Reviewed-by: Orit Wasserman + +commit 1e04a357a6e9e67c81b5104f57ab61e5ce07a5e3 +Merge: f6e927c 3f76e4a +Author: Casey Bodley +Date: Mon Aug 15 17:18:36 2016 -0400 + + Merge pull request #10073 from SUSE/wip-16565-jewel + + jewel: rgw: data sync stops after getting error in all data log sync shards + + Reviewed-by: Casey Bodley + +commit f6e927cfe3e296ebd5e3b22c3f05d717f87cd4ed +Merge: d2e8692 93d7875 +Author: Casey Bodley +Date: Mon Aug 15 17:18:06 2016 -0400 + + Merge pull request #10524 from Abhishekvrshny/wip-16731-jewel + + jewel: failed to create bucket after upgrade from hammer to jewel + + Reviewed-by: Casey Bodley + +commit d2e869255869ae68ca419d5f0a3bbfbcf3a91710 +Merge: 87e71aa dc96383 +Author: Casey Bodley +Date: Mon Aug 15 17:16:41 2016 -0400 + + Merge pull request #10523 from Abhishekvrshny/wip-16700-jewel + + jewel: rgw: segmentation fault on error_repo in data sync + + Reviewed-by: Casey Bodley + +commit 87e71aae7a2d73b7b5444e1a5ab283ece570e3fb +Merge: cc60230 fe57ace +Author: Casey Bodley +Date: Mon Aug 15 17:16:06 2016 -0400 + + Merge pull request #10518 from Abhishekvrshny/wip-16272-jewel + + jewel: rgw ldap: fix ldap bindpw parsing + + Reviewed-by: Casey Bodley + +commit cc60230eef82173eafa52df3d2015c8c0473d236 +Merge: 31264f4 489f8ce +Author: Loic Dachary +Date: Mon Aug 15 17:59:51 2016 +0200 + + Merge pull request #10144 from dillaman/wip-fix-missing-return-jewel + + jewel: librbd: fix missing return statement if failed to get mirror image state + + Reviewed-by: Loic Dachary + +commit 31264f4126f79c26cff73b2a4d2bea77426c5cd9 +Merge: 4ee9117 c6546bb +Author: Loic Dachary +Date: Mon Aug 15 17:55:42 2016 +0200 + + Merge pull request #10552 from ceph/wip-16507-jewel + + jewel: expose buffer const_iterator symbols + + Reviewed-by: Loic Dachary + +commit 4ee9117d52d41a72444722afe81ce2074dbf58d3 +Merge: 5b7899e 3d6d36a +Author: Loic Dachary +Date: Mon Aug 15 17:53:40 2016 +0200 + + Merge pull request #10497 from Abhishekvrshny/wip-16586-jewel + + jewel: partprobe intermittent issues during ceph-disk prepare + + Reviewed-by: Loic Dachary + +commit 5b7899e89154eceb53625cd6f7ae33984298857f +Merge: c65536c bd70d6d +Author: Josh Durgin +Date: Mon Aug 15 08:35:57 2016 -0700 + + Merge pull request #10716 from ceph/wip-16975 + + qa: add rados test script for upgrades + + Reviewed-by: Sage Weil + +commit c65536cf4f3433fea2cc4683da930676f2def223 +Merge: 40e3e2e 5ffdc34 +Author: Jason Dillaman +Date: Mon Aug 15 08:28:32 2016 -0400 + + Merge pull request #10732 from dillaman/wip-rbd-default-format-jewel + + doc: format 2 now is the default image format + + Reviewed-by: Jason Dillaman + +commit 5ffdc344401e91c4db89f9ed017adb15e535ebb4 +Author: Chengwei Yang +Date: Fri Aug 12 17:44:16 2016 +0800 + + doc: format 2 now is the default image format + + Signed-off-by: Chengwei Yang + (cherry picked from commit c8c92f8a2c2106d11b18c70c4c183c3724c2f3c2) + +commit 40e3e2e075f21c2e4d36219747d6fdba530d5ed8 +Merge: f58ca19 2c39d36 +Author: Loic Dachary +Date: Mon Aug 15 11:14:58 2016 +0200 + + Merge pull request #10217 from SUSE/wip-16636-jewel + + jewel: rgw: document multi tenancy + + Reviewed-by: Loic Dachary + +commit f58ca19f36179a64e50e2d14555b1efbb8fbfa79 +Merge: 40fc75e 546141c +Author: Orit Wasserman +Date: Mon Aug 15 10:02:12 2016 +0200 + + Merge pull request #9453 from wido/jewel-issue-15348 + + jewel: rgw: Set Access-Control-Allow-Origin to a Asterisk if allowed in a rule + Reviewed-by: Orit Wasserman + +commit 40fc75ef4fafada6aa3fac47963da060f50646b0 +Merge: ec14cf5 3ff6e8f +Author: Orit Wasserman +Date: Fri Aug 12 17:41:07 2016 +0200 + + Merge pull request #10693 from dreamhost/wip-15975-jewel + + rgw: Fallback to Host header for bucket name. + Reviewed-by: Orit Wasserman + +commit bd70d6ddba1bc237a6ffafa0dadea16b2c65a39c +Author: Josh Durgin +Date: Thu Aug 11 20:39:20 2016 -0700 + + qa: remove tmap_migrate tests from upgrade testing + + tmap_upgrade only exists in jewel + + Signed-off-by: Josh Durgin + +commit 49db733bad375645214ddb8f9b95b8817f9b41e1 +Author: Josh Durgin +Date: Thu Aug 11 16:05:04 2016 -0700 + + qa: add rados test script for upgrades + + Disable master tests that are not meant to work on jewel + + Signed-off-by: Josh Durgin + +commit 3ff6e8fa852346f4b69cd8c10b2f14ae4983d527 +Author: Robin H. Johnson +Date: Thu May 26 15:41:20 2016 -0700 + + rgw: Fallback to Host header for bucket name. + + RGW should fallback to using the Host header as the bucket name if valid & + possible even when it is NOT a suffix match against the DNS names, or a match + against the CNAME rule. + + This mirrors AWS S3 behavior for these cases (The AWS S3 does not do any DNS + lookups regardless). + + Backport: jewel + Fixes: http://tracker.ceph.com/issues/15975 + Signed-off-by: Robin H. Johnson + (cherry picked from commit 46aae19eeb91bf3ac78a94c9d4812a788d9042a8) + +commit 90d29fc94a826b1f56ff99e5b5d81a735abbc4cd +Author: Jason Dillaman +Date: Mon Jul 11 21:58:45 2016 -0400 + + rbd-mirror: include local pool id in resync throttle unique key + + Fixes: http://tracker.ceph.com/issues/16536 + Signed-off-by: Jason Dillaman + (cherry picked from commit 8ad36cab7cbf3492bfa972b43e4a5f75a110bfe6) + +commit 03c76148ef9e10fad649a407374f4fc855529377 +Author: Jason Dillaman +Date: Tue Jun 28 15:18:51 2016 -0400 + + test: ensure unique template specializations per test case + + With optimizations disabled, there can be cross translation unit + symbol leaking that is not present when inlining is enabled. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 995a16ebcbe79fd14e6de3b25087373744238294) + +commit ea9e031e2144ee32b3776cfe2237681f7065861b +Author: Jason Dillaman +Date: Tue Jun 28 14:59:17 2016 -0400 + + test: missing template specialization for unittest_rbd_mirror + + Signed-off-by: Jason Dillaman + (cherry picked from commit 187e2c87b50d64e93736a42fcf449c55e8550125) + +commit c2e6d08469ea733dac984770c30d8ab6356f3eca +Author: Jason Dillaman +Date: Wed Jun 15 17:49:54 2016 -0400 + + qa/workunits/rbd: increase writes in large image count test + + This will help to test edge cases where the remote image does + or does not own the exclusive lock when the sync starts. + + Signed-off-by: Jason Dillaman + (cherry picked from commit d16698f96c65b9627cc1f64ef80b7f1e39d69d45) + +commit 88a7c5c1b28c6a077d35577787757b0a98b7b2a5 +Author: Jason Dillaman +Date: Wed Jun 15 17:42:59 2016 -0400 + + rbd-mirror: prune sync points referencing missing snapshots + + Signed-off-by: Jason Dillaman + (cherry picked from commit 378914f6b8a8a8c5517fee8fa186268078fbcbfb) + +commit 9a6bad3bd7eaa733042c0a23aaf48be4fa6f84ce +Author: Jason Dillaman +Date: Wed Jun 15 16:34:44 2016 -0400 + + rbd-mirror: ignore empty snapshot sequence mapping + + This invalid condition will be gracefully detected and handled + when the snapshot mappings are computed. + + Fixes: http://tracker.ceph.com/issues/16329 + Signed-off-by: Jason Dillaman + (cherry picked from commit 58ed8a18e91401333bc3f3f957ce5d715b6687b6) + +commit c8089dea98fd40651664ae80b0e16834bf727540 +Author: Jason Dillaman +Date: Mon Jun 27 13:01:13 2016 -0400 + + qa/workunits/rbd: remove temporary image exports + + Signed-off-by: Jason Dillaman + (cherry picked from commit 45498d04990861a034e2aad69a93658e018c991a) + +commit bdb2189c94badb6e389a3a05794ad8af3eceda1c +Author: Jason Dillaman +Date: Mon Jun 27 11:13:29 2016 -0400 + + rbd-mirror: fix potential image replayer state transition race + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3e224c6c03a6a5de0e179bd788387cfa3ff49e9d) + +commit e7d7990958bdd8add7cfdcf037bcda5dd05c59d4 +Author: Jason Dillaman +Date: Mon Jun 27 11:06:57 2016 -0400 + + rbd-mirror: cancel image deletion callback on shut down + + Signed-off-by: Jason Dillaman + (cherry picked from commit c3f1cb3a34e1b4d258877d519e683e25bf65c65a) + +commit bba7811489170e01471ef7c086066a006f57fb6b +Author: Jason Dillaman +Date: Mon Jun 27 10:58:09 2016 -0400 + + rbd-mirror: fixed potential leaking image deletion context callback + + Signed-off-by: Jason Dillaman + (cherry picked from commit 9d1cd90c220f95d23d2694b4f1fb6b2fed073ced) + +commit b71efb090708e30225502d0cbf974b880def1eb8 +Author: Jason Dillaman +Date: Mon Jun 27 09:45:25 2016 -0400 + + rbd-mirror: ImageReplayer doesn't need image deleted callback + + The Replayer will detect that the ImageReplayer is stopped and will + schedule the "wait for deleted" callback before attempting to + restart the ImageReplayer. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 7e5afc71dfd3ec3e7b0ddaca96f92ac6e0414006) + +commit b657d1849a37bc4461edb18337078041a5460818 +Author: Jason Dillaman +Date: Mon Jun 27 09:21:05 2016 -0400 + + rbd-mirror: use async callback when deletion not in-progress + + Fixes: http://tracker.ceph.com/issues/16491 + Signed-off-by: Jason Dillaman + (cherry picked from commit c136f443366fe804057a9c1f8c01c3f0a33a4d63) + +commit c9c1216b3c06e49d3f0addeb7a4f6f5796c00d30 +Author: Ricardo Dias +Date: Thu Jun 9 10:40:23 2016 +0100 + + rbd-mirror: tests: ImageSyncThrottler unit tests + + Signed-off-by: Ricardo Dias + (cherry picked from commit 8ca9a84f36efa73ad17fd27f545dff3716cd798c) + +commit c56d6ec4c1898e710aad307b5d3696b9b159ba0c +Author: Ricardo Dias +Date: Wed Jun 8 16:38:01 2016 +0100 + + rbd-mirror: Usage of image-sync throttler in BootstrapRequest + + Fixes: http://tracker.ceph.com/issues/15239 + + Signed-off-by: Ricardo Dias + (cherry picked from commit 6a91146255d84229688bd8b378732be5975a778b) + +commit 5323ebd40a96484f5341574ed8a783c2e696f5dc +Author: Ricardo Dias +Date: Wed Jun 8 16:37:20 2016 +0100 + + rbd-mirror: Implementation of image-sync throttler + + Signed-off-by: Ricardo Dias + (cherry picked from commit c4f926d6980d1efd95771885a11d8cc4ebd2e4c3) + +commit 783bd686c451ae816ea9c7001b3c6a0ef1b5f554 +Author: Ricardo Dias +Date: Tue Jun 14 16:43:19 2016 +0100 + + rbd-mirror: tests: Support for inflight image sync point update + + Signed-off-by: Ricardo Dias + (cherry picked from commit cee543bd96bc99f219024aedbfafc5dcd99abb5a) + +commit b878f5ffc75e70b1f09eee461f93b1cb5031586e +Author: Ricardo Dias +Date: Thu Jun 2 10:04:41 2016 +0100 + + rbd-mirror: image-sync: Periodically update sync point object number + + Fixes: http://tracker.ceph.com/issues/15108 + + Signed-off-by: Ricardo Dias + (cherry picked from commit c2eedf4d27b73d7eaf3fda54f9b0ee74e455bc1d) + +commit 2ba61a73b1c616fab5acb1b92fe0a0b7ce7b64cb +Author: Ricardo Dias +Date: Mon Jun 27 11:07:41 2016 +0100 + + rbd-mirror: image-replayer: Fix bug in resync listener remotion + + Fixes: http://tracker.ceph.com/issues/16488 + + Signed-off-by: Ricardo Dias + (cherry picked from commit 11a5851e90bca2c1813156bf12dda0192965db37) + +commit cbd1ab461d5d75baf6e8387788740a6bcb3520de +Author: Ricardo Dias +Date: Thu May 19 12:06:08 2016 +0100 + + rbd-mirror: resync: Added unit tests + + Signed-off-by: Ricardo Dias + (cherry picked from commit 8953825956f2a560d17c7b651d1724a95f2f7d1d) + +commit 5fe93a4383521b7b67d7f168e4f20735440bb8ca +Author: Ricardo Dias +Date: Thu May 12 18:12:33 2016 +0100 + + rbd-mirror: image-replayer: Implementation of resync operation + + Fixes: http://tracker.ceph.com/issues/15670 + + Signed-off-by: Ricardo Dias + (cherry picked from commit f2b114238103315197a9eefc8490786c484c8520) + +commit c2b786ca92728ef6ceeb836133598a837cd18a2c +Author: Ricardo Dias +Date: Thu May 12 18:10:38 2016 +0100 + + rbd: journal: Support for listening updates on client metadata + + Currently we only support listening for image resync requests. + + Signed-off-by: Ricardo Dias + (cherry picked from commit 0dd85739e9034912b86250ced2834dd7fb3d92fd) + +commit 21d2ba5eefd1ef904360ce09b4335df77c952d95 +Author: Ricardo Dias +Date: Thu May 12 18:09:09 2016 +0100 + + journal: Support for registering metadata listeners in the Journaler + + Signed-off-by: Ricardo Dias + (cherry picked from commit c535eb0399cd649371db233ee1ed01cf5441a4b3) + +commit fcc00f7ac2c9ed517d12ef9ebab735bdd0d1a162 +Author: Mykola Golub +Date: Mon Jun 27 10:53:09 2016 +0300 + + test: fsx: fix rbd-nbd daemon logging + + Signed-off-by: Mykola Golub + (cherry picked from commit 09710c46d3811e602250f858fe7292925c1e3c06) + +commit 63fbed0f39da22374f6818030674c6b5e73f41dd +Author: Mykola Golub +Date: Fri Jun 3 21:11:21 2016 +0300 + + qa/workunits/rbd: image resize test for rbd-nbd + + Signed-off-by: Mykola Golub + (cherry picked from commit fa58acbb6fcc79e5a9bfd4b86250a0e2b9c8efa1) + +commit 3db1a3c8ea5a6829e1e44ecd0c96316c759bf048 +Author: Mykola Golub +Date: Tue May 24 15:52:00 2016 +0300 + + rbd-nbd: use librbd API method to watch image size update + + Fixes: http://tracker.ceph.com/issues/15715 + Signed-off-by: Mykola Golub + (cherry picked from commit 1e1d3b1609432ea80d6fd1c5b3df49f38ad579f1) + +commit 8f94f5e3f7ba0cb3578952ffbca85c0dc6a772a0 +Author: Mykola Golub +Date: Tue May 24 15:50:22 2016 +0300 + + librbd: API: methods to watch image stat update + + Signed-off-by: Mykola Golub + (cherry picked from commit 9952b75a0c8c9bed9792cb77671fd5588f32630f) + + Conflicts: + src/include/rbd/librbd.h: removed CG references + src/tracing/librbd.tp: removed CG references + +commit ec14cf5ce3e8d04eee3f13aadcfc2d7f22c5a633 +Merge: c587e9e 393bf7e +Author: Orit Wasserman +Date: Thu Aug 11 11:31:40 2016 +0200 + + Merge pull request #9790 from SUSE/wip-16381-jewel + + jewel: comparing return code to ERR_NOT_MODIFIED in rgw_rest_s3.cc (needs minus sign) + Reviewed-by: Orit Wasserman + +commit 22c9df1d9bef3f48ab2a12357035fc54fbde141d +Author: Pritha Srivastava +Date: Fri Jul 1 14:15:42 2016 +0530 + + rgw: Fix for using port 443 with pre-signed urls. + + Fixes http://tracker.ceph.com/issues/16548 + + Signed-off-by: Pritha Srivastava + (cherry picked from commit 44b9ed37ac659d83fbd4bb99c69da6b9dec06b8d) + +commit ce5e250405449c6035b805bbcdcca73ad4399d68 +Author: Shilpa Jagannath +Date: Fri Jun 17 18:29:42 2016 +0530 + + rgw: added zone rename to radosgw_admin + + Added zone rename option to radosgw-admin help + + Signed-off-by: Shilpa Jagannath + (cherry picked from commit da3235234eaf41f9dbd378fb0d9994d2c4096947) + +commit ce986aa6e8b3ee54697802a361246c256e8097b4 +Author: Casey Bodley +Date: Thu Jul 14 13:38:44 2016 -0400 + + rgw: RGWMetaSyncCR holds refs to stacks for wakeup + + because RGWCoroutine::wakeup() calls RGWCoroutinesStack::wakeup(), the + stack must also stay alive + + Fixes: http://tracker.ceph.com/issues/16666 + + Signed-off-by: Casey Bodley + (cherry picked from commit e4bc16044e1b80636855dbc39da1d121a3508308) + +commit 2485efc26d68b6848cda02d66b54dd58769fcbd8 +Author: Casey Bodley +Date: Tue Jul 26 12:50:13 2016 -0400 + + rgw: clear realm watch on failed watch_restart + + if the realm is deleted while the gateway has a watch, it's disconnected + and watch_restart() will fail. this results in a watch handle of 0, + which leads to a segfault on ~RGWRealmWatcher when we pass it to + unwatch() + + this commit cleans up the watch when watch_restart() fails, so we don't + try to unwatch() on destruction + + Fixes: http://tracker.ceph.com/issues/16817 + + Signed-off-by: Casey Bodley + (cherry picked from commit e5b8b5b27502fdacdac38effd7a55fd719911e85) + +commit fa2e42d4614619f761a5cf4c86e3db7d7e101e11 +Author: Casey Bodley +Date: Wed Jul 27 12:16:57 2016 -0400 + + rgw: use endpoints from master zone instead of zonegroup + + Fixes: http://tracker.ceph.com/issues/16834 + + Signed-off-by: Casey Bodley + (cherry picked from commit d4872ec9f7554ff49f4be336fe59cdd2051ee2a5) + +commit a865f26e68a991eaf55dc5f105b7fd7cb4634bc3 +Author: Casey Bodley +Date: Thu Jul 28 09:55:05 2016 -0400 + + radosgw-admin: zone[group] modify can change realm id + + allows the default zone and zonegroup (created with empty realm_id) to + be later added to a realm. the 'modify' command now accepts either + --realm_id=id or --rgw-realm=name + + Fixes: http://tracker.ceph.com/issues/16839 + + Signed-off-by: Casey Bodley + (cherry picked from commit 064b7e953dd6ace2c32b94150e70959e95a01761) + +commit c587e9e5c73cd8a990106708a43222fcb5a2a709 +Merge: aacb793 3250c4d +Author: Loic Dachary +Date: Wed Aug 10 13:33:12 2016 +0200 + + Merge pull request #10026 from SUSE/wip-16392-jewel + + jewel: master: build failures with boost > 1.58 + + Reviewed-by: Loic Dachary + +commit f5db5a4b0bb52fed544f277c28ab5088d1c3fc79 +Author: John Spray +Date: Tue May 17 17:53:56 2016 +0100 + + mon: tolerate missing osd metadata + + Just because one OSD's metadata is missing, + don't give up on outputting all the other + OSDs' metadata. + + Signed-off-by: John Spray + (cherry picked from commit 2c7dd5f22288c4aee814573baa6af131421f36a4) + +commit 36e5c86469eda59f7d5d15b16e15d0aab81a34fa +Author: John Spray +Date: Tue May 17 14:03:09 2016 +0100 + + mon: fix metadata dumps for empty lists + + Because 'r' was set inside loop, these would + fail to set it (leaving ENOSYS) if no + metadata is present. + + Signed-off-by: John Spray + (cherry picked from commit 5fe4fe4d92f5b2d67896beac9b5b3b48b309a6b4) + + Conflicts: + src/mon/Monitor.cc and src/mon/MDSMonitor.cc + changes relate to features that are not backported to jewel + +commit de99bd53f5efe84647e1a1d79a8db330887b7704 +Author: Kefu Chai +Date: Sun May 15 10:32:28 2016 +0800 + + mon: 'std::move` Metadata when updating it + + to avoid copying of the std::map + + Signed-off-by: Kefu Chai + (cherry picked from commit dd67eaab00698d747bf8669a3065c72ea68f7784) + +commit 828df3995430ce89fe9be40c6c19c44fb6f14752 +Author: John Spray +Date: Thu May 12 15:49:23 2016 +0100 + + mon: fix 'mon metadata' for lone monitors + + Previously, writing to the store was only + triggered when MMonMetadata was received + from peers, so if you had a single mon then + you would always get ENOENT from "mon metadata" + + Fixes: http://tracker.ceph.com/issues/15866 + Signed-off-by: John Spray + (cherry picked from commit 93ab00c77059e93b52ac4caa703e259944be1d1e) + +commit 308f5143a9e9b121fb5c4df0a227ba30bda4636e +Author: runsisi +Date: Mon Jul 4 13:52:03 2016 +0800 + + ceph.spec.in: fix rpm package building error as follows: + + error: Installed (but unpackaged) file(s) found: + /usr/lib/udev/rules.d/60-ceph-by-parttypeuuid.rules + + Signed-off-by: runsisi + (cherry picked from commit 49dfad1f53d7abe0e9efc7817aaaf1735df5a9c9) + +commit 727a704e79995c8a74f2b5768c63e90eecf9a883 +Author: Loic Dachary +Date: Thu Jun 23 09:23:09 2016 +0200 + + udev: always populate /dev/disk/by-parttypeuuid + + ceph-disk activate-all walks /dev/disk/by-parttypeuuid at boot time. It + is not necessary when udev fires ADD event for each partition and + 95-ceph-osd.rules gets a chance to activate a ceph disk or journal. + + There are various reasons why udev ADD events may not be fired at + boot (for instance Debian Jessi 8.5 never does it and CentOS 7.2 seems + to be racy in that regard when a LVM root is being used). + + Populating /dev/disk/by-parttypeuuid fixes ceph-disk activate-all that + would not work without it. And it guarantees disks are activated at boot + time regardless of wether udev fires ADD events at the right time (or at + all). + + The new udev file is a partial resurection of the + 60-ceph-partuuid-workaround-rules that was removed by + 9f77244b8e0782921663e52005b725cca58a8753. It is given a name that + reflects its new purpose. + + Fixes http://tracker.ceph.com/issues/16351 + + Signed-off-by: Loic Dachary + (cherry picked from commit 35004a628b2969d8b2f1c02155bb235165a1d809) + +commit 9fc5b41598f09414572e89572e8980fd3d3c76e0 +Author: Jason Dillaman +Date: Mon Jul 18 14:03:01 2016 -0400 + + librbd: optimize away unnecessary object map updates + + Fixes: http://tracker.ceph.com/issues/16689 + Signed-off-by: Jason Dillaman + (cherry picked from commit e5b4188635c4ee1ee0c4353cfc5ecd6e887d536b) + +commit 81a2534742e5051fa92549029303cef3f3d187a6 +Author: Jason Dillaman +Date: Mon Jul 18 13:37:37 2016 -0400 + + rbd-replay: decode and replay discard IO operations + + Fixes: http://tracker.ceph.com/issues/16707 + Signed-off-by: Jason Dillaman + (cherry picked from commit b7a4db213d0d4812aa6cd9c54e9646ff57d10411) + +commit 5968664fd4ddf8e26989360ebbc048faa8431251 +Author: Jason Dillaman +Date: Thu Jun 30 15:00:32 2016 -0400 + + librbd: failed assertion after shrinking a clone image twice + + Fixes: http://tracker.ceph.com/issues/16561 + Signed-off-by: Jason Dillaman + (cherry picked from commit 34d2297eed040f694b4d1c5e2606af04752c9e1a) + +commit 8316b6a6bad28343f8bade63f05b5fb93f4fe415 +Author: Jason Dillaman +Date: Thu Jun 30 10:24:01 2016 -0400 + + rbd-mirror: gracefully fail if object map is unavailable + + If the exclusive lock was lost due to a watch failure from an + overloaded cluster, gracefully abort the image sync. + + Fixes: http://tracker.ceph.com/issues/16558 + Signed-off-by: Jason Dillaman + (cherry picked from commit 6f573ca2d63784e4a2b1e7a410044afdf58f6801) + +commit aacb793948a69294e518f8458be6e670df23fe53 +Merge: 954e978 5ae0e43 +Author: Loic Dachary +Date: Tue Aug 9 17:09:42 2016 +0200 + + Merge pull request #10625 from dachary/wip-16969-jewel + + jewel: src/script/subman fails with KeyError: 'nband' + + Reviewed-by: Kefu Chai + +commit 5ae0e43e7f75a3a6d96d9fc5f03c4b0a86c7481b +Author: Loic Dachary +Date: Tue Aug 9 09:13:17 2016 +0200 + + subman: use replace instead of format + + Otherwise all {} are assumed to be substituted. Add a test. + + Fixes: http://tracker.ceph.com/issues/16961 + + Signed-off-by: Loic Dachary + (cherry picked from commit b006c136761746e12704e349a672325b8b6e51f5) + +commit 0ca27727173501856e9f17785b9f555684661709 +Author: Ali Maredia +Date: Thu Apr 21 20:32:47 2016 -0400 + + cmake: script that sets env vars for unit tests + + Signed-off-by: Ali Maredia + (cherry picked from commit 15a669435aaa78562746f6728bb185b1e99a4274) + +commit 954e978bc8cd233ac149a2e490d8730d9782583a +Merge: d387bf4 cbc9636 +Author: Loic Dachary +Date: Tue Aug 9 08:41:30 2016 +0200 + + Merge pull request #10054 from dachary/wip-16484-jewel + + jewel: ExclusiveLock object leaked when switching to snapshot + + Reviewed-by: Mykola Golub + +commit d387bf44d405a3a8658697134e6bfc9ae077dfef +Merge: 14a4484 cf65ed9 +Author: Loic Dachary +Date: Tue Aug 9 08:28:44 2016 +0200 + + Merge pull request #10041 from dachary/wip-16315-jewel + + jewel: When journaling is enabled, a flush request shouldn't flush the cache + + Reviewed-by: Jason Dillaman + +commit 14a448466e9bda6b8d565f34b248a0ab6f9f90b3 +Merge: fc39bd8 757babb +Author: Loic Dachary +Date: Tue Aug 9 08:27:50 2016 +0200 + + Merge pull request #10055 from dachary/wip-16485-jewel + + jewel: Whitelist EBUSY error from snap unprotect for journal replay + + Reviewed-by: Mykola Golub + +commit fc39bd804e479fbaefa6f81befd899b8a1a82581 +Merge: fc084a3 d9c3f28 +Author: Loic Dachary +Date: Tue Aug 9 08:27:22 2016 +0200 + + Merge pull request #10053 from dachary/wip-16483-jewel + + jewel: Close journal and object map before flagging exclusive lock as released + + Reviewed-by: Mykola Golub + +commit fc084a32ecf7c1868cbbbd808b273f2d095746f0 +Merge: 543dd04 b1d9698 +Author: Loic Dachary +Date: Tue Aug 9 08:27:08 2016 +0200 + + Merge pull request #10052 from dachary/wip-16482-jewel + + jewel: Timeout sending mirroring notification shouldn't result in failure + + Reviewed-by: Mykola Golub + +commit 543dd0460228f778ca10e8ff238c8db3f1b239fe +Merge: 8fb4121 51defea +Author: Loic Dachary +Date: Tue Aug 9 08:26:50 2016 +0200 + + Merge pull request #10051 from dachary/wip-16460-jewel + + jewel: Crash when utilizing advisory locking API functions + + Reviewed-by: Mykola Golub + +commit 8fb4121c53850f0f60eadb6e2a3bfc8c750e5935 +Merge: 64d5ff9 db28ddc +Author: Loic Dachary +Date: Tue Aug 9 08:26:40 2016 +0200 + + Merge pull request #10050 from dachary/wip-16459-jewel + + jewel: rbd-mirror should disable proxied maintenance ops for non-primary image + + Reviewed-by: Mykola Golub + +commit 64d5ff97ced5cc0cfa4f15b66b54cc2fb11b2c22 +Merge: 4fe02a6 70bf746 +Author: Loic Dachary +Date: Tue Aug 9 08:26:21 2016 +0200 + + Merge pull request #10047 from dachary/wip-16426-jewel + + jewel: Possible race condition during journal transition from replay to ready + + Reviewed-by: Mykola Golub + +commit 4fe02a62b7ad2c6b4a32962741a73d8b1db9fb11 +Merge: b86aec9 f3f4a4a +Author: Loic Dachary +Date: Tue Aug 9 08:26:11 2016 +0200 + + Merge pull request #10046 from dachary/wip-16425-jewel + + jewel: rbd-mirror: potential race condition accessing local image journal + + Reviewed-by: Mykola Golub + +commit b86aec99e8375eb2de1d495338ab212e1880a0f7 +Merge: 4a6e48e 0399958 +Author: Loic Dachary +Date: Tue Aug 9 08:26:00 2016 +0200 + + Merge pull request #10045 from dachary/wip-16424-jewel + + jewel: Journal needs to handle duplicate maintenance op tids + + Reviewed-by: Mykola Golub + +commit 4a6e48ed85914413b919e4da5a67ee4f95f34ae2 +Merge: adcf5a7 6a28d63 +Author: Loic Dachary +Date: Tue Aug 9 08:25:48 2016 +0200 + + Merge pull request #10044 from dachary/wip-16423-jewel + + jewel: Journal duplicate op detection can cause lockdep error + + Reviewed-by: Mykola Golub + +commit adcf5a7fbf181505c6319c4399572cd3e9259a47 +Merge: eab8994 1e85da9 +Author: Loic Dachary +Date: Tue Aug 9 08:25:35 2016 +0200 + + Merge pull request #10043 from dachary/wip-16371-jewel + + jewel: rbd-mirror: ensure replay status formatter has completed before stopping replay + + Reviewed-by: Mykola Golub + +commit eab89942c53ef5bff15cd837dea8ba42a228dc8f +Merge: 289c2d2 bf58eab +Author: Loic Dachary +Date: Tue Aug 9 08:25:11 2016 +0200 + + Merge pull request #10042 from dachary/wip-16372-jewel + + jewel: Unable to disable journaling feature if in unexpected mirror state + +commit 289c2d2a512723e039bc1465353dbb39084edb80 +Merge: e01ebb9 dd635e4 +Author: Loic Dachary +Date: Tue Aug 9 08:24:55 2016 +0200 + + Merge pull request #10010 from dachary/wip-16486-jewel + + jewel: Object map/fast-diff invalidated if journal replays the same snap remove event + + Reviewed-by: Mykola Golub + +commit e01ebb9319d17fd71b83bd0ccf9cb0f231a1783e +Merge: 28575db db7ce96 +Author: Loic Dachary +Date: Tue Aug 9 08:24:38 2016 +0200 + + Merge pull request #10009 from dachary/wip-16514-jewel + + jewel: Image removal doesn't necessarily clean up all rbd_mirroring entries + + Reviewed-by: Mykola Golub + +commit 0ff096073f4c26bbccd9125a345372f090754d63 +Author: Michel Normand +Date: Fri Aug 5 16:34:48 2016 +0200 + + ExclusiveArch for suse_version + + for SLES supports only x86_64 and aarch64 targets + for openSUSE (Tumbleweed and Leap) add ppc64/ppc64le targets. + + fixes: http://tracker.ceph.com/issues/16936 + Signed-off-by: Michel Normand + (cherry picked from commit a8db0f4d96d71223083bf6c2275acd892666a13e) + +commit 28575db3fb1579cdfa85b14b0484363cc0634a2e +Merge: 3e36f8c 1f19dbd +Author: Loic Dachary +Date: Mon Aug 8 08:47:34 2016 +0200 + + Merge pull request #9952 from dillaman/wip-fix-use-after-free-jewel + + jewel: librbd: potential use after free on refresh error + + Reviewed-by: Loic Dachary + +commit 3e36f8c66326d3de97a79859eab363e509dfc8c2 +Merge: 5c98730 6b41d76 +Author: Loic Dachary +Date: Mon Aug 8 08:45:58 2016 +0200 + + Merge pull request #9752 from dillaman/wip-fix-task-finisher-jewel + + jewel: librbd: cancel all tasks should wait until finisher is done + + Reviewed-by: Loic Dachary + +commit 5c98730854f11b0efb3b3e03be426ce2b7a999af +Merge: f014619 7e1ba28 +Author: David Zafman +Date: Fri Aug 5 12:46:10 2016 -0700 + + Merge pull request #10561 from dzafman/wip-16672-jewel + + Reviewed-by: Samuel Just + +commit f0146196ccfbcfd923191f63d93e4e81219523b1 +Merge: e400999 c025010 +Author: Loic Dachary +Date: Fri Aug 5 15:30:52 2016 +0200 + + Merge pull request #9562 from Abhishekvrshny/wip-16152-jewel + + jewel: client: fstat cap release + + Reviewed-by: John Spray + +commit e400999a2cb0972919e35dd8510f8d85f48ceace +Merge: 0cb5ca6 c3f6d82 +Author: Loic Dachary +Date: Fri Aug 5 15:30:41 2016 +0200 + + Merge pull request #9561 from Abhishekvrshny/wip-16136-jewel + + jewel: MDSMonitor fixes + + Reviewed-by: John Spray + +commit 0cb5ca6db018461c6275636f0d9cc1b1c8f56e53 +Merge: 67f2eb0 19c1366 +Author: Loic Dachary +Date: Fri Aug 5 15:29:33 2016 +0200 + + Merge pull request #9557 from Abhishekvrshny/wip-15898-jewel + + jewel: Confusing MDS log message when shut down with stalled journaler reads + + Reviewed-by: John Spray + +commit 67f2eb01deff699016c16a312448d665cbef3922 +Merge: 7ec15f6 eea0e91 +Author: Loic Dachary +Date: Fri Aug 5 15:29:23 2016 +0200 + + Merge pull request #9560 from Abhishekvrshny/wip-16135-jewel + + jewel: MDS: fix getattr starve setattr + + Reviewed-by: John Spray + +commit 7ec15f69f83e78ac862515c1068a64769caaff91 +Merge: e51060a 2c7fc95 +Author: Loic Dachary +Date: Fri Aug 5 15:29:08 2016 +0200 + + Merge pull request #9559 from Abhishekvrshny/wip-16041-jewel + + jewel: mds/StrayManager.cc: 520: FAILED assert(dnl->is_primary()) + + Reviewed-by: John Spray + +commit e51060ad8190bddf2b9b367c4d0a67e8cce7daef +Merge: fda98f7 edd3f79 +Author: Loic Dachary +Date: Fri Aug 5 15:17:22 2016 +0200 + + Merge pull request #9996 from dachary/wip-16437-jewel + + jewel: async messenger mon crash + + Reviewed-by: Samuel Just + Reviewed-by: Haomai Wang + +commit fda98f780134c26e491ce15fca0890dc240d67cf +Merge: 56bbcb1 18fdc1c +Author: Loic Dachary +Date: Fri Aug 5 15:10:27 2016 +0200 + + Merge pull request #9997 from dachary/wip-16431-jewel + + jewel: librados,osd: bad flags can crash the osd + + Reviewed-by: Samuel Just + +commit 56bbcb1aa11a2beb951de396b0de9e3373d91c57 +Merge: 7586d69 a826bb8 +Author: Loic Dachary +Date: Fri Aug 5 15:10:08 2016 +0200 + + Merge pull request #9998 from dachary/wip-16429-jewel + + jewel: OSDMonitor: drop pg temps from not the current primary + + Reviewed-by: Samuel Just + +commit 7586d693e1c4f08a17e60f89fda5abcb31d2f80d +Merge: 3b28428 6554d46 +Author: Loic Dachary +Date: Fri Aug 5 15:09:52 2016 +0200 + + Merge pull request #10001 from dachary/wip-16427-jewel + + jewel: prepare_pgtemp needs to only update up_thru if newer than the existing one + + Reviewed-by: Samuel Just + +commit 3b28428f901c1a6ed08b6c23b4f9991b87fe0960 +Merge: 6996b76 762db30 +Author: Casey Bodley +Date: Fri Aug 5 09:09:23 2016 -0400 + + Merge pull request #9743 from vumrao/wip-vumrao-16339 + + jewel : rgw: support size suffixes for --max-size in radosgw-admin command + + Reviewed-by: Casey Bodley + +commit 8b9954d0ccab9694c7519002209be8cb9dc03362 +Author: Robin H. Johnson +Date: Thu Aug 4 17:15:18 2016 -0700 + + rgw: Fix civetweb IPv6 + + Commit c38e3cbb6f7c6221209f2b512cba18c564c895a4 introduced a second + compiled version of src/civetweb/src/civetweb.c, but did not pass the + configuration header (civetweb/include/civetweb_conf.h). + + As a result, USE_IPV6 was not defined when it was compiled, and that + copy was included into the radosgw binary. This caused breakage for the + civetweb frontend when used with IPv6: + rgw frontends = civetweb port=[::]:7480 + + Reintroduce the header so that civetweb is compiled correctly again. + + Fixes: http://tracker.ceph.com/issues/16928 + Backport: jewel + Signed-off-by: Robin H. Johnson + (cherry picked from commit 921c556b65eafe2136f2afcc8234681711aa7348) + +commit 6996b76d35b20a558d13d35fafaaad47fe331434 +Merge: 8586e9b 74dd035 +Author: Loic Dachary +Date: Thu Aug 4 14:45:05 2016 +0200 + + Merge pull request #10007 from dachary/wip-15806-jewel + + jewel: New pools have bogus stuck inactive/unclean HEALTH_ERR messages until they are first active and clean + + Reviewed-by: xie xingguo + +commit 8586e9bd49d1fc083a7c37a2b1865744bbcce26a +Merge: e85b58b a2e8ae6 +Author: Loic Dachary +Date: Thu Aug 4 14:43:36 2016 +0200 + + Merge pull request #10006 from dachary/wip-16249-jewel + + jewel: sparse_read on ec pool should return extends with correct offset + + Reviewed-by: Kefu Chai + +commit e85b58bbe6aa217e4f9c5cef052aabedf728b9fe +Merge: f05eaae f8e4911 +Author: Loic Dachary +Date: Thu Aug 4 14:43:22 2016 +0200 + + Merge pull request #9740 from vumrao/wip-vumrao-16338 + + jewel : rados: Add cleanup message with time to rados bench output + + Reviewed-by: Kefu Chai + +commit f05eaaea3f39159cc5e1a127a7d9913f479a7bf4 +Merge: 093f30d b8f7aa2 +Author: Loic Dachary +Date: Thu Aug 4 14:42:53 2016 +0200 + + Merge pull request #10004 from dachary/wip-16374-jewel + + jewel: AsyncConnection::lockmsg/async lockdep cycle: AsyncMessenger::lock, MDSDaemon::mds_lock, AsyncConnection::lock + + Reviewed-by: Haomai Wang + +commit 093f30d1788b4a7225e3ab1c3345db14e40a5237 +Merge: 648442b 3dbb08a +Author: Loic Dachary +Date: Thu Aug 4 14:42:32 2016 +0200 + + Merge pull request #10003 from dachary/wip-16380-jewel + + jewel: msg/async: connection race hang + + Reviewed-by: Haomai Wang + +commit 648442bfea4ea72c04fad441fc933d03d980f80c +Merge: a35e2fa caad884 +Author: Loic Dachary +Date: Thu Aug 4 12:35:14 2016 +0200 + + Merge pull request #10036 from liewegas/wip-16297-jewel + + mon: Monitor: validate prefix on handle_command() + + Reviewed-by: Loic Dachary + +commit a35e2fa5f1a22ea5798c559196d50d1d38d7679e +Merge: e499d1c 7b0318a +Author: Loic Dachary +Date: Thu Aug 4 09:53:10 2016 +0200 + + Merge pull request #9547 from jcsp/wip-jewel-15705 + + jewel backport: mds: fix mdsmap print_summary with standby replays + + Reviewed-by: Loic Dachary + +commit 7e1ba28b1e218deb7d54ad6bef8853c9d19411a0 +Author: David Zafman +Date: Tue Aug 2 22:32:02 2016 -0700 + + os: Fix HashIndex::recursive_remove() to remove everything but original path + + Fixes: http://tracker.ceph.com/issues/16672 + + Signed-off-by: David Zafman + (cherry picked from commit ba88a3aac0d3b620986e32ed718237513d6592f6) + +commit cb1f17f05422ac802378df0de698ce20a1f2976e +Author: David Zafman +Date: Tue Aug 2 23:26:41 2016 -0700 + + filestore: Clear objects before calling collection_list() again + + Signed-off-by: David Zafman + (cherry picked from commit 892303cd02b64b622669183c2acffcdd7a8f3547) + +commit bdcfcaf821add71c518b01d6fb3dccb7c2e074a7 +Author: David Zafman +Date: Tue Aug 2 23:24:12 2016 -0700 + + filestore: Improve logging + + Signed-off-by: David Zafman + (cherry picked from commit b78c457785553e3a6e4f901bfebb41fc9c4d9bd5) + +commit e499d1c8fb216b490a739f2712b3c733623d45d1 +Merge: 269d742 8981f3b +Author: Casey Bodley +Date: Tue Aug 2 10:28:00 2016 -0400 + + Merge pull request #10293 from theanalyst/wip-16589-jewel + + jewel: multisite sync races with deletes + + Reviewed-by: Casey Bodley + Reviewed-by: Yehuda Sadeh + +commit 269d7427dfa9de7b1a288da0532505810bdf283b +Merge: 894a5f8 e1eb8af +Author: John Spray +Date: Tue Aug 2 12:31:18 2016 +0100 + + Merge pull request #10453 from ajarr/wip-manila-backports-jewel + + jewel: essential backports for OpenStack Manila + + Reviewed-by: John Spray + +commit e1eb8afea9f202947eef33e8361a0aac0e955eea +Author: Ramana Raja +Date: Thu Jul 7 17:15:13 2016 +0530 + + ceph_volume_client: version on-disk metadata + + Version on-disk metadata with two attributes, + 'compat version', the minimum CephFSVolume Client + version that can decode the metadata, and + 'version', the version that encoded the metadata. + + Signed-off-by: Ramana Raja + (cherry picked from commit 1c1d65a45f4574ca5f33cc9d949089a5c956e363) + +commit e8dd1eeec7ee2fd11a2985843825a3ec0f522b0c +Author: Ramana Raja +Date: Wed Jul 6 15:33:06 2016 +0530 + + ceph_volume_client: add versioning + + Add class attributes to CephFSVolumeClient to version + its capabilities. + + 'version' attribute stores the current version number + of CephFSVolumeClient. + + 'compat_version' attribute stores the earliest version + number of CephFSVolumeClient that the current version is + compatible with. + + Fixes: http://tracker.ceph.com/issues/15406 + + Signed-off-by: Ramana Raja + (cherry picked from commit 46876fb2ceb22082c0a1703fe77ad1694b508ad8) + +commit a0ffc859f5763850342a165ec4c49b3b1e83bb95 +Author: Ramana Raja +Date: Thu Jun 23 23:22:12 2016 +0530 + + ceph_volume_client: disallow tenants to share auth IDs + + Restrict an auth ID to a single OpenStack tenant to enforce + strong tenant isolation of shares. + + Signed-off-by: Ramana Raja + (cherry picked from commit 82445a20a258a4c8800f273dc5f2484aace0e413) + +commit d3e22db9841404d6c305012032427d6bb5311253 +Author: Ramana Raja +Date: Thu Jun 23 17:11:33 2016 +0530 + + ceph_volume_client: cleanup auth meta files + + Remove auth meta files on last rule for an auth ID deletion + + Signed-off-by: Ramana Raja + (cherry picked from commit ec2e6e37d01c961d269d83661d0b95ada6a8449e) + +commit 2e9c37adfb7b9f7e67801ffc2e1fa6c85674c9c1 +Author: Ramana Raja +Date: Thu Jun 23 16:55:30 2016 +0530 + + ceph_volume_client: fix log messages + + Log the path of the volume during creation and deletion of volumes. + + Signed-off-by: Ramana Raja + (cherry picked from commit 7731287761f91e1fdee0e6306d9ecf9b04ad363c) + +commit 7e93d3d0e631f375a496673174667934d5ecc08e +Author: Ramana Raja +Date: Thu Jun 23 16:31:23 2016 +0530 + + ceph_volume_client: create/delete VMeta for create/delete volume + + Create and delete volume meta files during creation and deletion of + volumes. + + Signed-off-by: Ramana Raja + (cherry picked from commit 37fbfc7aa8f10d37f5202603a906425507271ff5) + +commit 7cea0eee455c83fbdd64fff192c6aa10235a2c40 +Author: Ramana Raja +Date: Thu Jun 23 16:06:53 2016 +0530 + + ceph_volume_client: modify locking of meta files + + File locks are applied on meta files before updating the meta + file contents. These meta files would need to be cleaned up + sometime, which could lead to locks being held on unlinked meta + files. Prevent this by checking whether the file had been deleted + after lock was acquired on it. + + Signed-off-by: Ramana Raja + (cherry picked from commit f7c037229bcf3f5a3d06897ec7fe0c5419dd7143) + +commit e77684fc68cfd3dfb33a80e7c5604356921a40b0 +Author: Ramana Raja +Date: Thu Jun 23 17:39:32 2016 +0530 + + cephfs.pyx: implement python bindings for fstat + + Signed-off-by: Ramana Raja + (cherry picked from commit f58403f3d19e22edeb8f91b6f87a0b7947b0ff21) + +commit d2792ef1babd452d76528ce5ca511106d8c836b4 +Author: Ramana Raja +Date: Wed Jun 8 16:57:01 2016 +0530 + + ceph_volume_client: restrict volume group names + + Prevent craftily-named volume groups from colliding with meta files. + + Signed-off-by: Ramana Raja + (cherry picked from commit 7f7d2a76ae9b556c1de418f0eab8461c538f91d9) + +commit 4f874dd9a9c4ce58f623c635c31bb67012a72199 +Author: Ramana Raja +Date: Wed Jun 8 16:34:56 2016 +0530 + + ceph_volume_client: use fsync instead of syncfs + + Signed-off-by: Ramana Raja + (cherry picked from commit 27eb51baab4cda6b385aef53fc7c3962a9debae5) + +commit bde2c8f111d8276b026a3b1e37a5c9081a498ec9 +Author: Xiaoxi Chen +Date: Fri Apr 29 14:47:42 2016 -0500 + + pybind: expose fsync in cephfs binding. + + So we don't necessary to syncfs when want to persistent + some file. + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit 1c952fbaf0fd393ef2dcb83a3db721a077b4274e) + +commit 0c13bf2d028eab4cd062209be7ed985cdf28960c +Author: Ramana Raja +Date: Wed Jun 8 00:42:18 2016 +0530 + + ceph_volume_client: recover from dirty auth and auth meta updates + + Check dirty flag after locking something and call recover() if we are + opening something dirty (racing with another instance of the driver + restarting after failure) -- only required if someone running multiple + manila-share instances with Ceph loaded. + + Signed-off-by: Ramana Raja + (cherry picked from commit 647a2447f0c4354dc21d1083043591d2b6f6f94f) + +commit 8f7defb5d084f8e781fa44e9c21edf6c472cfb4a +Author: Ramana Raja +Date: Tue Jun 21 12:14:56 2016 +0530 + + ceph_volume_client: modify data layout in meta files + + Notable changes to data layout in auth meta and volume meta files: + + In the auth meta files, add a 'dirty' flag to track the status of auth + updates to a single volume. + + In the volume meta file, make the 'dirty' flag track the status of + auth updates for a single ID. + + Optimize the recovery of partial auth update changes to auth meta, + volume meta, and the Ceph backend, facilitated by changes in the + data layout in the meta files. + + Signed-off-by: Ramana Raja + (cherry picked from commit 7c8a28a7e817d030a4d419b0cc627c30c1064270) + +commit 748a5a08ecc1e212e4bd10e0c8eff0a805fc931f +Author: John Spray +Date: Wed Mar 2 12:30:45 2016 +0000 + + pybind: ceph_volume_client authentication metadata + + Store a two-way mapping between auth IDs and volumes. + + Enables us to record some metadata on auth ids (which + openstack tenant created it) so that we can avoid exposing + keys to other tenants who try to use the same ceph + auth id. + + Enables us to expose the list of which auth ids have access + to a volume, so that Manila's update_access() can be + implemented efficiently. + + DNM: see TODOs inline. + + Fixes: http://tracker.ceph.com/issues/15615 + + Signed-off-by: John Spray + (cherry picked from commit d2e9eb55ca6ed5daa094cf323faf143615b9380b) + +commit e14dc25e1fca7fd74971cbda74d1fcadff5be3b4 +Author: John Spray +Date: Mon Mar 7 13:06:41 2016 +0000 + + pybind: enable integer flags to libcephfs open + + The 'rw+' style flags are handy and convenient, but + they don't capture all possibilities. Change to + optionally accept an integer here for advance users + who want to specify arbitrary combinations of + flags. + + Signed-off-by: John Spray + (cherry picked from commit 5678584f4176d07301acd7f57acc4efd7fb20e43) + +commit c6546bb29b25fb96f270257b959426f949eb9418 +Author: Noah Watkins +Date: Wed Mar 16 14:12:05 2016 -0700 + + buffer: fix iterator_impl visibility through typedef + + The following program doesn't compile because of symbol visibility issues. + While bufferlist::iterator is a class implementation with visibility specified, + it is unclear after google-fu how to do the same through typedef. + + int main() + { + ceph::bufferlist bl; + ceph::bufferlist::const_iterator it = bl.begin(); + (void)it; + return 0; + } + + [nwatkins@bender ~]$ g++ -Wall -std=c++11 -Iinstall/include -Linstall/lib -o test test.cc -lrados + /tmp/cciR9MUj.o: In function `main': + test.cc:(.text+0x43): undefined reference to `ceph::buffer::list::iterator_impl::iterator_impl(ceph::buffer::list::iterator const&)' + /usr/bin/ld: test: hidden symbol `_ZN4ceph6buffer4list13iterator_implILb1EEC1ERKNS1_8iteratorE' isn't defined + /usr/bin/ld: final link failed: Bad value + collect2: error: ld returned 1 exit status + + Signed-off-by: Noah Watkins + (cherry picked from commit 16bc3e59325d4057d36cd63a57111ab36fbc50fd) + +commit e825dd2f3fc9048995062bfe96e32e6df7ef37d9 +Author: Abhishek Lekshmanan +Date: Fri Jul 22 10:57:45 2016 +0200 + + rgw multisite: preserve zone's extra pool + + In current multisite scenarios,if a bucket is created in master, we end + up storing multipart metadata in `$source-zone.rgw.buckets.non-ec` pool + instead of the zone's own non-ec pool, so we end up additionally + creating this pool and storing multipart metadata entries in it. Also if + a bucket is created in a secondary zone, and we initiate a multipart + upload, before mdlog sync with master, we end up getting errors during + complete multipart requests as omap entries are partly stored in the + `$zone.rgw.buckets.non-ec` as well as `$source-zone.rgw.buckets.non-ec` + pools which leads to total number of parts mismatch. + + Fixes: http://tracker.ceph.com/issues/16712 + + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit d4ecc956f603a567bd4043c2be39b3e7e3402c75) + +commit 059ed62ff937ce63b7255d72bf9b3cf687c4b532 +Author: Orit Wasserman +Date: Mon Jul 4 15:01:51 2016 +0200 + + rgw: remove bucket index objects when deleting the bucket + + Fixes: http://tracker.ceph.com/issues/16412 + Signed-off-by: Orit Wasserman + (cherry picked from commit 3ae276390641ad5fc4fef0c03971db95948880b4) + +commit 93d787557939d77c6a15854520a42f3d0f358370 +Author: Orit Wasserman +Date: Fri Jul 8 10:41:59 2016 +0200 + + rgw: add missing master_zone when running with old default region config + + Fixes: http://tracker.ceph.com/issues/16627 + + Signed-off-by: Orit Wasserman + (cherry picked from commit a0420741d446341a4979d78db7e2e58f396fdc4b) + +commit dc963833af2d81984c7fd023f718f5b7e58a37dc +Author: Casey Bodley +Date: Wed Jul 6 09:15:29 2016 -0400 + + rgw: fix error_repo segfault in data sync + + RGWDataSyncShardCR will only allocate an error_repo if it's doing + incremental sync, so RGWDataSyncSingleEntryCR needs to guard against a + null error_repo + + also, RGWDataSyncShardCR::stop_spawned_services() was dropping the last + reference to the error_repo before calling drain_all(), which meant that + RGWDataSyncSingleEntryCR could still be holding a pointer. now uses a + boost::intrusive_ptr in RGWDataSyncSingleEntryCR to account for its + reference + + Fixes: http://tracker.ceph.com/issues/16603 + + Signed-off-by: Casey Bodley + (cherry picked from commit 28609029cf1be2fc9f8c8e3f47320636db29014a) + +commit 67eb961927664cbded6b01c5f76bfd9db8481f8c +Author: Matt Benjamin +Date: Mon Jan 18 16:06:15 2016 -0500 + + rgw: add line space between inl. member function defns (rgw_user.h) + + This is a cosmetic change only. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 5a7f7f5560e57f8dc64a3c84c1e668be834d81e0) + +commit 3f8298a049e255f542a012688b4148456d465d8d +Author: Matt Benjamin +Date: Mon Jan 18 15:58:07 2016 -0500 + + rgw-admin: return error on email address conflict (add user) + + Fixes the error return inconsistency documented in upstream + Ceph issue #13598 + + Revised after upstream review, permits changing email address as + originally (but use case-insensitive comp). + + Signed-off-by: Matt Benjamin + (cherry picked from commit 90c143efa2156e55dc017ebe81005315cacaf2c5) + +commit 962e7dc47dcaa64f4774a197ae21d0ee59f7854f +Author: Matt Benjamin +Date: Mon Jan 18 15:06:19 2016 -0500 + + rgw-admin: convert user email addresses to lower case + + Fixes the email address inconsistency documented in upstream + Ceph BUG #13598 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 4c438dbbc0e6eda6b9a3018d60019a1a780d6f65) + +commit 461782ee6b755b14f6ae90ea56ebcb656e305b94 +Author: Boris Ranto +Date: Mon Jun 13 12:34:39 2016 +0200 + + selinux: allow chown for self and setattr for /var/run/ceph + + Fixes: http://tracker.ceph.com/issues/16126 + + Signed-off-by: Boris Ranto + (cherry picked from commit 2a6c738abda35f540af6f9398406d4e49337c34d) + +commit fe57aceeb02ad9163feb2d196589b5927cedfa0f +Author: Matt Benjamin +Date: Mon Jun 6 16:19:17 2016 -0400 + + rgw ldap: fix ldap bindpw parsing + + Also add additional LDAP debugging output at 0, 10, and 15 to make + troubleshooting easier. + + Fixes DN search issue using QE configuration of MS AD. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 72b2f3e8dcb879be3dac7ac03142fd4a13ff28ac) + +commit 429e9c03f3f47e3804f54cac380db0add18584f2 +Author: Javier M. Mellid +Date: Tue Jun 14 11:04:23 2016 +0200 + + rgw: aws4: fix buffer sharing issue with chunked uploads + + Signed-off-by: Javier M. Mellid + (cherry picked from commit dd9f53115a452e1e4268a1036f8fb69f9c1b86f7) + +commit 7c2eab19e2c088e97de924f7f1a633a9f291439d +Author: Patrick Donnelly +Date: Fri Jul 1 21:06:17 2016 -0400 + + mds: move Finisher to unlocked shutdown + + This commit resolves a deadlock reported in i16042 where the thread calling + MDSRankDispatcher::shutdown would hold the mds_lock while asynchronous + callbacks in the Finisher would attempt to lock mds_lock. + + For simplicity, I merged the finisher stop with the messenger shutdown as both + need the mds_lock dropped. + + Fixes: http://tracker.ceph.com/issues/16042 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit b1d6689b6cae579d5f1b2047fd3c653cda422454) + + Conflicts: + src/mds/MDSRank.cc + trivial conflict in MDSRankDispatcher::shutdown() + +commit 28697fc5101395be2a1bd778445983e61a2dc089 +Author: Douglas Fuller +Date: Mon Jun 27 12:30:11 2016 -0700 + + mds: Kill C_SaferCond in evict_sessions() + + MDSRankDispatcher::evict_sessions waits on a C_SaferCond for + kill_session to complete on each of its victims. Change the + command handling flow to pass command messages all the way down + to MDSRankDispatcher. Extract the MDSDaemon's reply path into a + static function callable from a new context in the MDSRankDispatcher. + + See: http://tracker.ceph.com/issues/16288 + Signed-off-by: Douglas Fuller + (cherry picked from commit 3a4d63ee67765010a8e53af5a89aef4f49fafd56) + +commit 1d3a816814c6cb87f645f205362de800cc84d484 +Author: Zhi Zhang +Date: Mon Jun 27 13:00:26 2016 +0800 + + mds: fix shutting down mds timed-out due to deadlock + + Signed-off-by: Zhi Zhang + (cherry picked from commit ca069149654ecd10778cd5327bf59b9643e23967) + +commit 49a1ce936d76b4bbf7a3b46be300ad5ebb6d301e +Author: Zhi Zhang +Date: Mon Jun 27 12:59:08 2016 +0800 + + msg/async: remove the unnecessary checking to wakup event_wait + + Signed-off-by: Zhi Zhang + (cherry picked from commit 560dc32771be00664c4b22a0ebca5190cd246e0a) + +commit 2beb56a10a0319b6d061caf1da769bb3c9f5f90b +Author: Yan, Zheng +Date: Thu Jun 2 17:03:05 2016 +0800 + + mds: fix SnapRealm::have_past_parents_open() + + the '!' got delete accidentally in commit f7fb2cb52c (mds: fix open + snap parents tracking) + + Signed-off-by: Yan, Zheng + (cherry picked from commit f28f72635c7d11f0db4f156a6d108a480295056d) + +commit 3d6d36a12bd4823352dc58e2135d03f261d18dbe +Author: Loic Dachary +Date: Thu May 26 09:38:47 2016 +0200 + + ceph-disk: partprobe should block udev induced BLKRRPART + + Wrap partprobe with flock to stop udev from issuing BLKRRPART because + this is racy and frequently fails with a message like: + + Error: Error informing the kernel about modifications to partition + /dev/vdc1 -- Device or resource busy. This means Linux won't know about + any changes you made to /dev/vdc1 until you reboot -- so you shouldn't + mount it or use it in any way before rebooting. + + Opening a device (/dev/vdc for instance) in write mode indirectly + triggers a BLKRRPART ioctl from udev (starting version 214 and up) + when the device is closed (see below for the udev release note). + + However, if udev fails to acquire an exclusive lock (with + flock(fd, LOCK_EX|LOCK_NB); ) the BLKRRPART ioctl is not issued. + + https://github.com/systemd/systemd/blob/045e00cf16c47bc516c0823d059b7548f3ce9c7c/src/udev/udevd.c#L1042 + + Acquiring an exclusive lock before running the process that opens the + device in write mode is therefore an effective way to control this + behavior. + + git clone git://anonscm.debian.org/pkg-systemd/systemd.git + systemd/NEWS: + CHANGES WITH 214: + + * As an experimental feature, udev now tries to lock the + disk device node (flock(LOCK_SH|LOCK_NB)) while it + executes events for the disk or any of its partitions. + Applications like partitioning programs can lock the + disk device node (flock(LOCK_EX)) and claim temporary + device ownership that way; udev will entirely skip all event + handling for this disk and its partitions. If the disk + was opened for writing, the close will trigger a partition + table rescan in udev's "watch" facility, and if needed + synthesize "change" events for the disk and all its partitions. + This is now unconditionally enabled, and if it turns out to + cause major problems, we might turn it on only for specific + devices, or might need to disable it entirely. Device Mapper + devices are excluded from this logic. + + Fixes: http://tracker.ceph.com/issues/15176 + + Signed-off-by: Marius Vollmer + Signed-off-by: Loic Dachary + (cherry picked from commit 8519481b72365701d01ee58a0ef57ad1bea2c66c) + +commit 8cd7f44d8066a796cccd872dd2593582ac061331 +Author: Javier M. Mellid +Date: Fri Jun 3 17:34:10 2016 +0200 + + rgw: aws4: add STREAMING-AWS4-HMAC-SHA256-PAYLOAD support + + When authenticating requests using the Authorization header in AWS4, you have + the option of uploading the payload in chunks. You can send data in fixed size + or variable size chunks. + + This patch enables streaming mode and signed headers support with chunked + uploads. + + Fixes: http://tracker.ceph.com/issues/16146 + + Signed-off-by: Javier M. Mellid + (cherry picked from commit 5de5876a535537f7878615898bb9cf7887204cb1) + + Conflicts: + src/rgw/rgw_rest_s3.cc + + No change required to resolve the conflict. Manual merge was enough. + +commit 276ec72e85d6650782aef2c96f4b1fbc47918f42 +Author: Radoslaw Zarzynski +Date: Fri Mar 11 17:34:33 2016 +0100 + + rgw: use std::unique_ptr for rgw_aws4_auth management. + + This is purely for code maintainability. + + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 6f273eb52c07b27c7aa2d69be3e5ff5d6578558c) + +commit 2c422e306989f65d9112f95a131ff29479b2d0f0 +Author: Radoslaw Zarzynski +Date: Fri Mar 11 17:33:47 2016 +0100 + + rgw: add handling of memory allocation failure in AWS4 auth. + + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit ddbb0ab9d5046672795ec876221de9ebd466364f) + +commit 2cd3ed8a59786be28b55a0983a438af1aab226ea +Author: Ramana Raja +Date: Wed Apr 27 23:26:44 2016 +0530 + + ceph_volume_client: allow read-only authorization for volumes + + Allow clients to be restricted to read-only mount of the volume + by restricting their ceph auth ID's MDS and OSD caps to read-only. + + Fixes: http://tracker.ceph.com/issues/15614 + + Signed-off-by: Ramana Raja + (cherry picked from commit 011ea5e7fb35ee07848e0c3abac24702a778ad63) + +commit 46246e39b8cadc14aede930559eddd09059301fc +Author: Kefu Chai +Date: Wed Jul 6 19:41:54 2016 +0800 + + osd: increment stas on recovery pull also + + PGMap::recovery_rate_summary() summaries the recovery progress from + a pool's + pool_stat_t.stats.sum.num_{objects_recovered,bytes_recovered,keys_recovered}, + now we only increment stats on completion of recovery push, but there + are chances that a PG recovers by pulling data from replicas to primary. + in that case, teuthology will erroneously consider recovery hung: a zero + recovering_keys_per_sec or recovering_bytes_per_sec or + recovering_objects_per_sec. so we should increment stats on pull as + well. + + Fixes: http://tracker.ceph.com/issues/16277 + Signed-off-by: Kefu Chai + (cherry picked from commit 9c6c4d8fef67380e2a6d93f6c101744c926d8b9b) + +commit 3da251fe7f3bafa9a936df209b1906824764e5f6 +Author: Kefu Chai +Date: Fri Jul 22 15:55:16 2016 +0800 + + pybind/ceph_argparse: handle non ascii unicode args + + we raise UnicodeDecodeError at seeing non-ascii args if we fail to match + it with any command signatures. instead, we should use a unicode string + for representing the error in that case. please note, the exception is + not printed at all in real-world. =) + + Fixes: http://tracker.ceph.com/issues/12287 + Signed-off-by: Kefu Chai + (cherry picked from commit 5864626d275c423cdb8d3e52a91fe4cc6b8e6f90) + +commit b01af21ceeb83e3b2fb7cee608f2a9229e6eed7e +Author: Oleh Prypin +Date: Wed Jun 15 00:50:20 2016 +0300 + + Fix tabs->whitespace in ceph_argparse + + Signed-off-by: Oleh Prypin + (cherry picked from commit bef2c83c1da7dcc32fc2ff98cf214fc93bef75b8) + +commit bb2dc9537612b56a79f1237618126faecbeccc9e +Author: Oleh Prypin +Date: Wed Jun 15 00:54:08 2016 +0300 + + Make usage of builtins in ceph_argparse compatible with Python 3 + + Signed-off-by: Oleh Prypin + (cherry picked from commit ddf06041ef80ac9606da8d57f048d2e23233d122) + +commit f80d10c82034fcd9d53b3890afe62a4dbfeb1799 +Author: Nathan Cutler +Date: Wed Jul 20 10:23:48 2016 +0200 + + rpm: move libatomic_ops-devel to non-distro-specific section + + Signed-off-by: Nathan Cutler + (cherry picked from commit 94e4f2190b6ab3ff7b57b0b6095fea6d9228d917) + +commit a28810c69b356d1865d1ce9e989bcc9e8a66017a +Author: Nathan Cutler +Date: Wed Jul 20 10:22:37 2016 +0200 + + rpm: move gperftools-devel to non-distro-specific section + + Signed-off-by: Nathan Cutler + (cherry picked from commit 06940e29b702c7437dc9f8df365fcc383cb882e1) + +commit e6b7a4ba8a1a8ea13d6f7178bd69432a3705754b +Author: Nathan Cutler +Date: Sat Jul 9 22:55:54 2016 +0200 + + rpm: use new name of libatomic_ops-devel + + The previous form, libatomic-ops-devel, has been deprecated since May 23, 2012. + + Signed-off-by: Nathan Cutler + (cherry picked from commit c835f6ddf5839c418d29db1c2f46da32fbf05d2c) + +commit 9bbf2e8d874201460c3cf1dfd14cfd17752d397d +Author: Dan Horák +Date: Fri May 6 13:29:03 2016 +0200 + + fix tcmalloc handling in spec file + + - there is no gperftools/tcmalloc on s390(x) yet + - explicitly disable tcmalloc when built without + + Signed-off-by: Dan Horák + (cherry picked from commit efa7f7b365d27797573bf4e5a9878f94f41aede2) + +commit 894a5f8d878d4b267f80b90a4bffce157f2b4ba7 +Merge: b15cf42 2538b77 +Author: John Spray +Date: Thu Jul 21 13:58:16 2016 +0100 + + Merge pull request #10373 from ceph/jewel-mds-snap-failover + + Jewel mds snap failover + + Reviewed-by: John Spray + +commit b26acc03ab42ba7eacb804ef8dc08c03a6e64e2d +Author: Nathan Cutler +Date: Mon Jun 13 10:27:18 2016 +0200 + + ceph-osd-prestart.sh: drop Upstart-specific code + + Before this patch, the ceph-osd-prestart.sh script would do Upstart-specific + things if the journal device failed to appear after a 5-second timeout. + + Fixes: http://tracker.ceph.com/issues/15984 + Signed-off-by: Nathan Cutler + (cherry picked from commit 47a06e608b7f686252d42c5a879373d8ebb65d9d) + +commit 1e622a5d3b79a89a6affb56f282e1305c48ec835 +Author: Ricardo Dias +Date: Tue Jul 19 15:40:36 2016 +0100 + + rpm: Fix creation of mount.ceph symbolic link for SUSE distros + + Signed-off-by: Ricardo Dias + (cherry picked from commit 976c9d4f31793712b2af334e4a7a58745af8c099) + +commit 89cb116ca14abf5764edf07373d045bb127ca7eb +Author: Nathan Cutler +Date: Mon Jul 18 19:09:54 2016 +0200 + + build/ops: build mount.ceph and mount.fuse.ceph as client binaries + + Signed-off-by: Nathan Cutler + (cherry picked from commit b2675ff82445cda9873292ac2be8186e054098ed) + +commit 84b45b75c47e6234aac9d3ee1cf1c6844b898ae9 +Author: Nathan Cutler +Date: Mon Jul 18 16:16:11 2016 +0200 + + rpm: move mount.ceph from ceph-base to ceph-common + + Ceph clients use mount.ceph to mount CephFS filesystems, and + ceph-base is not expected to be installed on client systems. + + Signed-off-by: Nathan Cutler + (cherry picked from commit b8c24bf2f8c6a6b125778ca92d68d8e64ccf9ae0) + +commit e028cd140840b15a8f99962dcf8ec646da3f1f60 +Author: Nathan Cutler +Date: Wed Jul 6 10:13:03 2016 +0200 + + rpm: create mount.ceph symlink in /sbin (SUSE only) + + Fixes: http://tracker.ceph.com/issues/16598 + Signed-off-by: Nathan Cutler + (cherry picked from commit b090e9da326a72068260682599c886c2d11f06b3) + +commit ad67d1c15f49233fe1108258d9b968c8b2301330 +Author: Kefu Chai +Date: Thu Jun 2 02:08:45 2016 +0800 + + makefile: install mount.fuse.ceph,mount.ceph into /usr/sbin + + Signed-off-by: Kefu Chai + (cherry picked from commit 52021ff9f0b23c36a012f19c7388dcfb2281b523) + + Conflicts: + src/CMakeLists.txt (Install mount.ceph to ${CMAKE_INSTALL_SBINDIR} + instead of sbin; install mount.fuse.ceph to ${CMAKE_INSTALL_SBINDIR} as + well) + +commit 2538b77a2f219a76c19289ab3e675927f6914149 +Author: Yan, Zheng +Date: Mon Jul 11 15:32:41 2016 +0800 + + client: fix MetaRequest::set_other_inode() + + Signed-off-by: Yan, Zheng + (cherry picked from commit 265f96bda7e106883063f074133450ce39ee262c) + +commit ffcfe69ef7abaaa3c663de86fb04ea986dc90b15 +Author: Yan, Zheng +Date: Mon Jul 11 11:25:37 2016 +0800 + + client: close directory's snapdir when deleting directory + + Signed-off-by: Yan, Zheng + (cherry picked from commit 3099cabd11a16d22c6707631861bef0aa176ed02) + +commit b9007025f3dd49532a45267d7478dcdc5308ce3a +Author: Yan, Zheng +Date: Mon Jul 11 11:07:01 2016 +0800 + + client: invalidate snap inodes after removing snapshot + + Signed-off-by: Yan, Zheng + (cherry picked from commit f180ad149ab510626fcd6cbd8221f550f9858126) + +commit d9f957a5cda55adcdba5db28689aeb344d10e413 +Author: Yan, Zheng +Date: Mon Jul 11 10:51:13 2016 +0800 + + mds: fix incorrect "unconnected snaprealm xxx" warning + + If a snaprealm has no child/parent snaprelam, and the snaprealm inode + is not in the cache while client reconnects. The snaprealm does not + get properly removed from MDCache::reconnected_snaplrealm. This causes + incorrect "unconnected snaprealm xxx" warning + + Signed-off-by: Yan, Zheng + (cherry picked from commit 85e687de876ca7e0174734ba81130949c4ab6a40) + +commit 3e745ef3172aeef07038c9156d4668ca08078f18 +Author: Yan, Zheng +Date: Thu Jun 30 16:05:57 2016 +0800 + + qa/workunits/fs: fix expect_failure function in test scripts + + The origin expect_failure function return 0 regardness of command's + return value. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 16f7d7c71e65cd68cecde3e5b89d189ab5950548) + +commit 37157d146f1983b94588135e4b0468a9c59c3ead +Author: Yan, Zheng +Date: Wed Jun 29 20:49:40 2016 +0800 + + client: make sure snapflush is sent before normal cap message + + MDS does null snapflush when it receives normal cap message. So client + must send snapflush first. + + Signed-off-by: Yan, Zheng + (cherry picked from commit d3916717e2edc8000400f678fa7134ca1406a074) + +commit 326d46b54280ff5612ee571671cc4956fcb7e8eb +Author: Yan, Zheng +Date: Tue Jun 28 20:39:08 2016 +0800 + + client: unify cap flush and snapcap flush + + This patch includes following changes + - assign flush tid to snapcap flush + - remove session's flushing_capsnaps list. add inode with snapcap + flushes to session's flushing_caps list instead. + - when reconnecting to MDS, re-send one inode's snapcap flushes and + cap flushes at the same time. + + Signed-off-by: Yan, Zheng + (cherry picked from commit a05e996b2a2c36496abd8538829ac4897392f6eb) + +commit 5c2ff04061cc686c8ece37cee3393365769d2bf1 +Author: Yan, Zheng +Date: Wed Jun 29 17:15:01 2016 +0800 + + mds: handle partly purged directory + + For a snapshoted direcotry whose snaprealm parents are being opened, + MDS does not know if the directory is purgeable. So MDS can't skip + committing dirfrags of the directory. But if the direcotry is purgeale, + some dirfrags could have already been deleted during MDS failover. + Committing them could return -ENOENT. + + Signed-off-by: Yan, Zheng + (cherry picked from commit bc50e0309280c08c3ca79dfa5514ac3a15f81a23) + +commit 57b39f04087f3ba855248950723c949e3b7dcd7c +Author: Yan, Zheng +Date: Wed Jun 29 11:42:42 2016 +0800 + + mds: do files recovery after processing cap flushes + + File recovery may update inode and trigger inode COW. MDS relies on + client caps to setup CInode::client_need_snapflush. But for a given + client, the reconnected caps may not include the flushing caps. + (Before MDS failover, client released and flushed some caps at the + same time. When MDS recovers, client re-send the cap flush and send + cap reconnect to the MDS.) This may cause later snapflush to get + dropped. + + Signed-off-by: Yan, Zheng + (cherry picked from commit dd98448d3d0bbb7d338f03f7ad1e40f217eebe0d) + +commit bace1c8c7ce7d29676b9ed6925cdee41af8a8425 +Author: Yan, Zheng +Date: Wed Jun 29 11:25:12 2016 +0800 + + mds: combine MDCache::{reconnected_caps,cap_imports_dirty} + + Signed-off-by: Yan, Zheng + (cherry picked from commit 57067e032e84bbdb69c499aa7ea93ca68082569b) + +commit 365bda18e3fe960be69d81882e11dcb9932a002c +Author: Yan, Zheng +Date: Fri Jun 24 17:09:34 2016 +0800 + + mds: remove CEPH_LOCK_IFLOCKL from cinode_lock_info + + Currently we don't support dirty CEPH_CAP_FLOCK_EXCL + + Signed-off-by: Yan, Zheng + (cherry picked from commit cfc3ec17b6f245e6d8a0be4fdf6cfa64d2fb725f) + +commit 55367c5cda09167778839eb8474f86903857f53a +Author: Yan, Zheng +Date: Thu Jun 23 16:59:46 2016 +0800 + + mds: rebuild the internal states that tracking pending snapflush + + Signed-off-by: Yan, Zheng + (cherry picked from commit 1b7d198f633a8608b704f82f01a3f4a4a3a4892b) + +commit 0897fc4f15804a25a667bf7e495dc4ff1209127b +Author: Yan, Zheng +Date: Wed Jun 22 20:34:41 2016 +0800 + + mds: using cap_reconnect_t to track cap recconect + + Previous commit extended cap_reconnect_t to include snapflush + related information. This information are needed in various + places + + Signed-off-by: Yan, Zheng + (cherry picked from commit 25b6011dcf07c1fc663cbe29ffd119b66545a0ac) + +commit ac508dc9202ebdb8f39bf1304bb459637cae1cb9 +Author: Yan, Zheng +Date: Wed Jun 22 15:56:29 2016 +0800 + + mds: add 'follows' of first pending snapflush to cap reconnect message + + This helps the recovering MDS to reconstruct the internal states that + tracking pending snapflush. + + Signed-off-by: Yan, Zheng + (cherry picked from commit dd3963a878d4bb2fb5992278ccbc9f7633fb8786) + +commit c258f52afa68bf991b4d6c76d36271333c3e49bf +Author: Yan, Zheng +Date: Tue Jun 21 17:17:56 2016 +0800 + + mds: journal snap inodes that need flush when expiring log segment + + Treat snap inodes that need flush in the same way as open files. + When MDS recovers, this make sure that journal replay bring snap + inodes that need flush into the cache + + Signed-off-by: Yan, Zheng + (cherry picked from commit 306153b3d012832bdfa20402077fa60a9a5d626c) + +commit 42dd72df1a514175be05d5d613d9b00296cb1b1e +Author: Yan, Zheng +Date: Tue Jun 21 16:20:58 2016 +0800 + + mds: properly update client_snap_caps when splitting snap inode + + update the new snap inode's client_snap_caps according to the old + snap inode. + + Signed-off-by: Yan, Zheng + (cherry picked from commit 4883779935219817c7e391940a025be1679daeb5) + +commit b15cf42a4be7bb290e095cd5027d7f9ac604a97d +Author: Oleh Prypin +Date: Thu Jul 14 01:06:51 2016 +0300 + + install-deps: Get the latest virtualenv in a temporary folder + to work around a bug in old virtualenv + + Signed-off-by: Oleh Prypin + (cherry picked from commit 2699b6d89b8c1c193fd86b5233d1ea86458753a0) + +commit 00f3fd4a39f35780e602acfa4023bf59031b3617 +Author: Yan, Zheng +Date: Tue Jul 12 16:07:53 2016 +0800 + + ceph-fuse: link to libtcmalloc or jemalloc + + Fixes: http://tracker.ceph.com/issues/16655 + Signed-off-by: Yan, Zheng + (cherry picked from commit e644f6eb64037b1e21ce55d4dcffa43571ac1327) + +commit d794e295786599102d5ea1a4c10002f4f8d85649 +Merge: bb94997 7178f23 +Author: Patrick Donnelly +Date: Thu Jul 14 12:10:11 2016 -0400 + + Merge remote-tracking branch 'upstream/pull/10298/head' into jewel + + * upstream/pull/10298/head: + doc: fix standby replay config + +commit 7178f23c1bcb800bec2c7bec138ac02b22dbad2b +Author: Patrick Donnelly +Date: Tue Jul 12 15:43:23 2016 -0400 + + doc: fix standby replay config + + I tried using these settings in tests without success. The correct config names + are prefixed with "mds". + + Fixes: http://tracker.ceph.com/issues/16664 + + Signed-off-by: Patrick Donnelly + +commit 8981f3beb5732f51197a5be84df18edde64217ca +Author: Casey Bodley +Date: Tue Jun 21 15:09:53 2016 -0400 + + rgw: add pg_ver to tombstone_cache + + a tombstone cache was added to remember the mtime of deleted objects for + use with the HTTP_IF_MODIFIED_SINCE header, but the comparison was still + failing because of a missing pg_ver. added pg_ver to the tombstone cache + so it can be passed with HTTP_DEST_PG_VER + + Signed-off-by: Casey Bodley + (cherry picked from commit adb529f2fb983df671a1db58a0b17862a29762f0) + +commit 6c32fe8a75f535f21d3bec089bf06a82db5ec876 +Author: Yehuda Sadeh +Date: Fri Jun 10 14:35:01 2016 -0700 + + rgw: add obj tombstone cache + + The obj tombstone cache is used in multi-zone environmet to keep + track of removed objects' mtime. This is then used to fetch remote + object only if its newer than the object that was removed, otherwise + we're just fetching ghost of the past. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit eb10214920c23b24edd94ca53d0f36c85404644d) + +commit f651a8f0cc2a11eb1a037338e35de3cf165f5ac2 +Author: Yehuda Sadeh +Date: Fri Jun 10 14:34:41 2016 -0700 + + rgw: rgw_obj comparison also accounts for bucket id + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a7f32c4b1bd951b1a18b7d13013dc8e2822d6ffc) + +commit 354e81c1800066e4e8f525706214c41d90816b9d +Author: Yehuda Sadeh +Date: Thu Jun 9 14:30:42 2016 -0700 + + cls/rgw: reduce tag_timeout significantly + + The tag timeout is used for applying dir_suggest changes. Shorten it + so that changes will be reported early and can be used in data sync. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 99efdc673b7aed439eebdaa92ff117ba9646dd7c) + +commit 24d483119035a78973a1ee3827f5f7c8cb20ce5a +Author: Yehuda Sadeh +Date: Thu Jun 9 14:22:07 2016 -0700 + + cls_rgw: dir_suggest entries bucket index logging + + Fixes: http://tracker.ceph.com/issues/16222 + + Log entries that were set through the dir_suggest mechanism in + the bucket index log. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ae00c5529219d81987425160dbb2a4e937661a6c) + +commit bdef8b23714eaff933992ed8c02fb35cd8d11818 +Author: Yehuda Sadeh +Date: Thu Jun 9 12:59:35 2016 -0700 + + cls/rgw: fix timespan comparison + + Fixes: http://tracker.ceph.com/issues/16220 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit e0a07f70f7740a66ffa2646e0a57e8bdc0285373) + +commit c34dbd4b19dcc35483306f95932b3ed6ed8332fd +Author: Yehuda Sadeh +Date: Sat Jun 4 05:47:50 2016 -0700 + + rgw: data sync squash, prioritize object removal + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 2fcd8b1d49aae2fd03b986dd10bb3f98d3b8f32e) + +commit 09eee3be8fcd79ef46ecfbd277e8cc2bf4f28d93 +Author: Yehuda Sadeh +Date: Sat Jun 4 03:29:12 2016 -0700 + + rgw: squash bi complete bi log entries + + only process the newest complete operation in a bilog listing. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f69db8e455f07c5594363c5beac329cb964be1ff) + +commit 571a13255aff4ca072ff88bb4ce54da086fbad86 +Author: Yehuda Sadeh +Date: Fri Jun 3 02:03:13 2016 -0700 + + rgw: stop bucket lease only after draining object sync operations + + Fixes: http://tracker.ceph.com/issues/16143 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit be6ad9a76c3008ea25a737c0de718faab8fca611) + +commit 7af0306de5778340fc7c9395b237bf4e73716d0a +Author: Casey Bodley +Date: Tue May 24 12:57:19 2016 -0400 + + rgw: don't leak RGWRados::cr_registry on error + + Signed-off-by: Casey Bodley + (cherry picked from commit 53a7f1a9951fa21cb46b5fb3914db3547b568aa5) + +commit 9591e505c1d2c7b66b4c17421f94b6fc7e68913f +Author: Casey Bodley +Date: Tue May 24 10:40:25 2016 -0400 + + rgw: dont need atomic RGWRados::next_rados_handle + + next_rados_handle is only accessed under an exclusive handle_lock + + Signed-off-by: Casey Bodley + (cherry picked from commit 1adff94b720d01240040fdffebdbf53efdd528a5) + +commit 047379c2521434f2dbbe67ebbf53e59ed92654f0 +Author: Casey Bodley +Date: Tue May 24 10:23:26 2016 -0400 + + rgw: remove unneeded RGWRados::num_rados_handles + + Signed-off-by: Casey Bodley + (cherry picked from commit 72d5a485e41ac5824c30556b6cfe659094cd303c) + +commit 7848482988711406c9cde48d828a0d118f764ad1 +Author: Casey Bodley +Date: Tue May 3 10:35:41 2016 -0400 + + rgw: use vector for librados handles + + using a vector instead of an array of pointers cleans up our + initialization/shutdown logic + + Signed-off-by: Casey Bodley + (cherry picked from commit 02fb39d7f5835ada4d6304f318203444dc7eedc9) + +commit bb94997bf4548a430b686a7ceb98052fdb051223 +Merge: 6ae4d13 a40cfe4 +Author: Casey Bodley +Date: Tue Jul 12 10:09:34 2016 -0400 + + Merge pull request #9268 from theanalyst/wip-15992-jewel + + jewel: radosgw-admin: EEXIST messages for create operations + + Reviewed-by: Casey Bodley + +commit 6ae4d13e81d4b98e34d7094e939a8eab5820f608 +Merge: bf73c9a 21f0216 +Author: Loic Dachary +Date: Sun Jul 10 23:03:16 2016 +0200 + + Merge pull request #8497 from sabaini/jewel + + ceph-disk: Accept bcache devices as data disks + + Reviewed-by: Loic Dachary + +commit 2c39d3652acbab77e8da50fa1b7ef537374ac109 +Author: Pete Zaitcev +Date: Tue Jun 7 17:44:20 2016 -0600 + + rgw: Add documentation for the Multi-tenancy feature + + Signed-off-by: Pete Zaitcev + (cherry picked from commit 0e622020fa2a185eaf0546d93a20b06d44e7f691) + +commit 9e5a3ae3cd35ccbd7a9f48c555fb93d5beee57cb +Author: Feng Guo +Date: Fri Jun 24 09:26:16 2016 +0800 + + RGW:add socket backlog setting for via ceph.conf + http://tracker.ceph.com/issues/16406 + + Signed-off-by: Feng Guo + (cherry picked from commit 3e4df832d34c782795a32b5a30f5c7414a1c3fa9) + +commit aa3936131d6525e656cd56315947bbf9ddc508ce +Author: Yan, Zheng +Date: Fri Apr 15 20:15:14 2016 +0800 + + mds: disallow 'open truncate' non-regular inode + + Signed-off-by: Yan, Zheng + (cherry picked from commit 0e4b6f2332bb4822cf324587a94144f1c98e4b97) + +commit 3af7b422a3a97c0e89dbff757c5ed0f4557a6602 +Author: Yan, Zheng +Date: Fri Apr 15 19:45:23 2016 +0800 + + mds: only open non-regular inode with mode FILE_MODE_PIN + + ceph_atomic_open() in kernel client does lookup and open at the same + time. So it can open a symlink inode with mode CEPH_FILE_MODE_WR. + Open a symlink inode with mode CEPH_FILE_MODE_WR triggers assertion + in Locker::check_inode_max_size(); + + Signed-off-by: Yan, Zheng + (cherry picked from commit 4d15eb12298e007744486e28924a6f0ae071bd06) + +commit 8655803d8fb9ac21f75b636fb6d666f387462934 +Author: Robin H. Johnson +Date: Thu Jul 7 14:14:36 2016 -0700 + + rgw: fix multi-delete query param parsing. + + Multi-delete is triggered by a query parameter on POST, but there are + multiple valid ways of representing it, and Ceph should accept ANY way + that has the query parameter set, regardless of what value or absence of + value. + + This caused the RubyGem aws-sdk-v1 to break, and has been present since + multi-delete was first added in commit 0a1f4a97da, for the bobtail + release. + + Fixes: http://tracker.ceph.com/issues/16618 + Signed-off-by: Robin H. Johnson + (cherry picked from commit a7016e1b67e82641f0702fda4eae799e953063e6) + +commit bf73c9ad08ed2cc8db821c08694b11461549fb26 +Merge: f672ddf f858f94 +Author: Matt Benjamin +Date: Wed Jul 6 14:18:44 2016 -0400 + + Merge pull request #9545 from Abhishekvrshny/wip-16117-jewel + + jewel: rgw: aws4 parsing issue + +commit 546141c94a1c5e45dcb70e2d5fd06fe1ac0b1599 +Author: Wido den Hollander +Date: Tue Apr 5 11:14:16 2016 +0200 + + rgw: Set Access-Control-Allow-Origin to a Asterisk if allowed in a rule + + Before this patch the RGW would respond with the Origin send by the client in the request + if a wildcard/asterisk was specified as a valid Origin. + + This patch makes sure we respond with a header like this: + + Access-Control-Allow-Origin: * + + This way a resource can be used on different Origins by the same browser and that browser + will use the content as the asterisk. + + We also keep in mind that when Authorization is send by the client different rules apply. + In the case of Authorization we may not respond with an Asterisk, but we do have to + add the Vary header with 'Origin' as a value to let the browser know that for different + Origins it has to perform a new request. + + More information: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + + Fixes: #15348 + + Signed-off-by: Wido den Hollander + (cherry picked from commit 0021e224480c7164330eaa7cc1078bb8795169bf) + +commit f672ddfc5ad6ac86051987985067318436f0667b +Merge: aa211cb ec884a3 +Author: Loic Dachary +Date: Wed Jul 6 11:55:13 2016 +0200 + + Merge pull request #9568 from dreamhost/wip-16182 + + jewel: rgw: backport merge of static sites fixes + + Reviewed-by: Yehuda Sadeh + +commit 2afc176a2792a9ef389f34c7de1aba697fca6a31 +Author: Albert Tu +Date: Tue Jun 28 10:38:07 2016 +0800 + + rgw: fix double counting in RGWRados::update_containers_stats() + + Fixes: http://tracker.ceph.com/issues/16188 + Signed-off-by: Albert Tu + (cherry picked from commit 5dd825aed25588843dc4834be3f5fdf10d93bc68) + +commit 489f8ce48b30c708879a002a55aecc080421b5a1 +Author: runsisi +Date: Tue Jul 5 16:08:40 2016 +0800 + + librbd: fix missing return statement if failed to get mirror image state + + Signed-off-by: runsisi + (cherry picked from commit ea775178b61ba38237343b07a90d19802f0b7dac) + +commit a7987f060479f81d6181f8949e8ed2c8b3029dfd +Author: Yan, Zheng +Date: Wed May 25 18:33:49 2016 +0800 + + MDSMonitor.cc: fix mdsmap. subscriptions + + Signed-off-by: Yan, Zheng + (cherry picked from commit 8f09dd15cb07597c57d0a6ae981f15a47de11bb9) + +commit d244b7a0c6eb4a57a424297d4293184dff28b94c +Author: Patrick Donnelly +Date: Fri Jun 17 11:53:32 2016 -0400 + + mds: add maximum fragment size constraint + + This commit adds a new config option + + mds_bal_fragment_size_max = 10000*10 + + which is an order of magnitude larger than mds_bal_split_size. + + This limit prevents a fragment from getting too large which results in large + omap directories. + + Right now the limit is enforced only in the RPC paths and in stray directory + entry creation. + + Fixes http://tracker.ceph.com/issues/16164 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 60af83c80910070d8fb10ac7a4f6f24d49521c1b) + +commit 64d99b160d9d6a8758b7a9b3783bd1d153e15c9a +Author: Yan, Zheng +Date: Fri Jun 17 11:58:13 2016 +0800 + + mds: fix Session::check_access() + + It calls CInode::make_path_string(...) with the second argument is + false. The second argument makes the third argument useless. For + newly created inode, the path string is something like #1xxxxxxxxx. + This can cause the access check to fail. + + Fixes: http://tracker.ceph.com/issues/16358 + Signed-off-by: Yan, Zheng + (cherry picked from commit a94ef56523a383c44c7a52e473e37a43fa0cb6a2) + +commit bce5646cd7c9bc9c753bfcefeff37991763b9066 +Author: Yan, Zheng +Date: Mon Jun 6 16:41:49 2016 +0800 + + client: skip executing async invalidates while umounting + + Fixes: http://tracker.ceph.com/issues/16137 + Signed-off-by: Yan, Zheng + (cherry picked from commit b95e603a3f9568debeb76fc49aae9a6ee4b75c6b) + +commit fd7ff96cbc4a2e9b38d805f36cd4e72a32f04925 +Author: Yan, Zheng +Date: Mon Aug 10 15:15:48 2015 +0800 + + ceph-fuse: add option to disable kernel pagecache + + When multiple clients read/write to a file at the same time, we need + to disable cache and let reads/writes go to OSDs. In ceph-fuse case, + there are two caches, one is in ceph-fuse, another one is in kernel. + We can't disable/enable the kernel cache dynamically. So adding an + config option to completely disable kernel cache. Disabling kernel + cache may reduce performance, so option is disabled by default. + + Fixes: 12653 + Signed-off-by: Yan, Zheng + (cherry picked from commit 0f11ec237d4692d313a038ed61aa07a3f40555ba) + + Conflicts: + src/common/config_opts.h + follow the content in patchset, set fuse_use_invalidate_cb + to True. Which is also the backport + for http://tracker.ceph.com/issues/15634 + +commit 3f76e4acf243dda26c44ae95919b3d4444bd7d88 +Author: Yehuda Sadeh +Date: Wed Jun 29 14:50:12 2016 -0700 + + rgw: finish error_repo cr in stop_spawned_services() + + Fixes: http://tracker.ceph.com/issues/16530 + + Need to call finish, otherwise drain_all() wouldn't be able to + drain it. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 492bb608733c83a5d85319cf47c4d86402344376) + +commit a5f5513ede87d7d77d83a9327e8d178767f734ea +Author: Greg Farnum +Date: Tue Jun 28 14:39:46 2016 -0700 + + test: fix CMake build of ceph_test_objectcacher_stress + + Signed-off-by: Greg Farnum + (cherry picked from commit 2ee3d02c8f5de8d2a0ae3e22f3029b269fe4a212) + +commit 17f1bffdb891a155532d966b7d3ab4983c9016cf +Author: Greg Farnum +Date: Mon May 23 15:14:21 2016 -0700 + + ObjectCacher: fix bh_read_finish offset logic + + If we have an incoming read split across multiple BufferHeads, we want to + line up the BufferHead's bl with the incoming OSDOp's bl at the right offset. We + were erroneously using this nonsense calculation (always equal to zero!) when + a much simpler comparison of the BufferHead's logical object offset to the + incoming OSDOp's logical offset will do the trick nicely. + + Fixes: http://tracker.ceph.com/issues/16002 + + Signed-off-by: Greg Farnum + (cherry picked from commit 9ec6e7f608608088d51e449c9d375844631dcdde) + +commit 73bc6d11745246df45ea6c4b5fbf9be3b9e91c09 +Author: Greg Farnum +Date: Thu Jun 23 14:23:51 2016 -0700 + + osd: provide some contents on ObjectExtent usage in testing + + Signed-off-by: Greg Farnum + (cherry picked from commit a555d9a0c7d3b6c2206520cf78445234b0834639) + +commit 3446fa498266ec2902a1d4d9215de4e4b1d9c455 +Author: Greg Farnum +Date: Fri Jun 10 17:01:09 2016 -0700 + + test: build a correctness test for the ObjectCacher + + For now it's very specifically designed to reproduce + http://tracker.ceph.com/issues/16002, but it can + be extended to other patterns in the future. + + Signed-off-by: Greg Farnum + (cherry picked from commit 0fd55a9886dd8da344c23a5e9898ee5c5061e8f9) + +commit b6684914e29fdc375d91be7c80cdf9615d637c8c +Author: Greg Farnum +Date: Tue May 31 16:18:19 2016 -0700 + + test: split objectcacher test into 'stress' and 'correctness' + + Signed-off-by: Greg Farnum + (cherry picked from commit cc9aab1b0a22c3f7320046b97f75dccf2b86cc6d) + +commit 74f59203a13da4ec5ca673a921ed3d07e8d5fc9b +Author: Greg Farnum +Date: Thu Jun 23 13:41:46 2016 -0700 + + test: add a data-storing MemWriteback for testing ObjectCacher + + Signed-off-by: Greg Farnum + (cherry picked from commit ed5801492bf2850e80a328ce5a61cb1ff2709215) + +commit aa211cb4ff0a7e9cac4779187848b3ba00c39bf9 +Merge: e3ccf0f d48a1ed +Author: Orit Wasserman +Date: Thu Jun 30 10:36:20 2016 +0200 + + Merge pull request #9099 from Abhishekvrshny/wip-15841-jewel + + jewel: s3website: x-amz-website-redirect-location header returns malformed HTTP response + Reviewed-by: Orit Wasserman + +commit e3ccf0f9d31c9e35edb551dc24da7af7265799c1 +Merge: 448deed a08caa6 +Author: Orit Wasserman +Date: Thu Jun 30 10:35:23 2016 +0200 + + Merge pull request #9265 from Abhishekvrshny/wip-15965-jewel + + jewel: No Last-Modified, Content-Size and X-Object-Manifest headers if no segments in DLO manifest + Reviewed-by: Orit Wasserman + +commit 448deed8484b06bdbbdad62cbe34cfab7958bbc1 +Merge: ad182de ff9c29a +Author: Orit Wasserman +Date: Thu Jun 30 10:34:42 2016 +0200 + + Merge pull request #9267 from Abhishekvrshny/wip-15960-jewel + + jewel: rgw: custom metadata aren't camelcased in Swift's responses + Reviewed-by: Orit Wasserman + +commit ad182de1ca849d90fbbbf2ec057b476f32e86d8b +Merge: 3ccfac6 108638f +Author: Orit Wasserman +Date: Thu Jun 30 10:28:45 2016 +0200 + + Merge pull request #9316 from Abhishekvrshny/wip-15954-jewel + + jewel: rgw: initial slashes are not properly handled in Swift's BulkDelete + Reviewed-by: Orit Wasserman + +commit 3ccfac6b8e98afef19e6c113bd38ae7ab0c51c24 +Merge: 4e1ebac 0bdc8fd +Author: Orit Wasserman +Date: Thu Jun 30 10:26:09 2016 +0200 + + Merge pull request #9390 from vumrao/wip-vumrao-16071 + + jewel: rgw : cleanup radosgw-admin temp command as it was deprecated + Reviewed-by: Orit Wasserman + +commit 4e1ebac3048ee1750978e11115144df074923e22 +Merge: 4957014 4eded9a +Author: Orit Wasserman +Date: Thu Jun 30 10:25:51 2016 +0200 + + Merge pull request #9542 from Abhishekvrshny/wip-15967-jewel + + jewel: rgw: account/container metadata not actually present in a request are deleted during POST through Swift API + Reviewed-by: Orit Wasserman + +commit 4957014a0e7a744af6c782e6d4e9e5a89c934ace +Merge: bb02d3e e8b7dd4 +Author: Orit Wasserman +Date: Thu Jun 30 10:25:30 2016 +0200 + + Merge pull request #9543 from Abhishekvrshny/wip-16040-jewel + + jewel: rgw: updating CORS/ACLs might not work in some circumstances + Reviewed-by: Orit Wasserman + +commit 757babb03a9024d6aa42fb327244fd983c066545 +Author: Jason Dillaman +Date: Thu Jun 23 09:03:24 2016 -0400 + + librbd: memory leak possible if journal op event failed + + Signed-off-by: Jason Dillaman + (cherry picked from commit f5069750849c2c43caa4bff766301169a4bfc6ca) + +commit e7ec20e6c54f913dd4bf52a949488ac9d258c150 +Author: Jason Dillaman +Date: Thu Jun 23 08:45:59 2016 -0400 + + librbd: ignore snap unprotect -EBUSY errors during journal replay + + Fixes: http://tracker.ceph.com/issues/16445 + Signed-off-by: Jason Dillaman + (cherry picked from commit beef0b4b024e9692305f4b413e6c6b520fdaa7f9) + +commit cbc963684def355b9c27932fdb4c605bf373ed6e +Author: Jason Dillaman +Date: Thu Jun 23 09:23:32 2016 -0400 + + librbd: delete ExclusiveLock instance when switching to snapshot + + Fixes: http://tracker.ceph.com/issues/16446 + Signed-off-by: Jason Dillaman + (cherry picked from commit 677832ceb24096ddbeaf2d60e0ac72d28c399f02) + +commit d9c3f28f1200e99c8ecf92f50ec4e8840d74a0f1 +Author: Jason Dillaman +Date: Thu Jun 23 13:34:56 2016 -0400 + + librbd: mark exclusive lock as released after journal is closed + + Fixes: http://tracker.ceph.com/issues/16450 + Signed-off-by: Jason Dillaman + (cherry picked from commit 1811e62aa0ba3bab85c536eaab8f3adec6d1fffa) + +commit b1d969868bdd898958236212ee847f7a401c6406 +Author: Jason Dillaman +Date: Fri Jun 24 10:03:53 2016 -0400 + + librbd: do not propagate mirror status notification failures + + These should be treated as a broadcast since no ACK is required. The + peer will eventually see the notification or its watch will have timed + out and it will re-sync. + + Fixes: http://tracker.ceph.com/issues/16470 + Signed-off-by: Jason Dillaman + (cherry picked from commit 97bade9f76af62765d7aa8c2154e51a7b231e40f) + +commit 51defeada069c0e33b03b96be962f155ce3df295 +Author: Jason Dillaman +Date: Wed Jun 22 18:19:52 2016 -0400 + + librbd: fix crash while using advisory locks with R/O image + + Fixes: http://tracker.ceph.com/issues/16364 + Signed-off-by: Jason Dillaman + (cherry picked from commit 1007aea3d78ca5aead8a11f932da0c1d9d67259e) + +commit db28ddcf88c13aef80e5a7131db463b305102abe +Author: Jason Dillaman +Date: Wed Jun 22 10:14:21 2016 -0400 + + rbd-mirror: block proxied ops with -EROFS return code + + When replicating to a local image, the daemon will own the + exclusive lock and will receive any proxied maintenance ops + from other clients. Since the image is non-primary, respond + with -EROFS. + + Fixes: http://tracker.ceph.com/issues/16411 + Signed-off-by: Jason Dillaman + (cherry picked from commit 07b49df24e5f30460ce3ab584a89370ea3ff7cc8) + +commit ebce8ceb9353052d1d43d18e2bb76c68e581272e +Author: Jason Dillaman +Date: Wed Jun 22 10:13:45 2016 -0400 + + librbd: optionally block proxied requests with an error code + + Signed-off-by: Jason Dillaman + (cherry picked from commit 93e2faf38e866fb3e32a7b3f3527d97215c60d31) + +commit bb02d3e7a4db89d693ed1555d2ac82c5452978e1 +Merge: 8542898 b4a80cb +Author: Loic Dachary +Date: Thu Jun 30 09:41:20 2016 +0200 + + Merge pull request #9631 from dillaman/wip-16232 + + jewel: test: improve rbd-mirror test case coverage + + Reviewed-by: Loic Dachary + +commit 70bf7465ad7c75c9c7623a446218ab501f329bd3 +Author: Jason Dillaman +Date: Mon Jun 20 09:39:24 2016 -0400 + + librbd: potential race when replaying journal ops + + Fixes: http://tracker.ceph.com/issues/16198 + Signed-off-by: Jason Dillaman + (cherry picked from commit 75b0f58e37b0ede5e8cf8dcaea980cf71a5ca908) + +commit f3f4a4a20ab3039f8dfeda23c773141bf6d95792 +Author: Jason Dillaman +Date: Thu Jun 16 09:27:50 2016 -0400 + + librbd: journal callback to interrupt replay + + If the exclusive lock is lost while the journal is in the + replay state, the journal close will block until the replay + completes. The new callback will facilitate stopping replay + in a timely fashion so that the journal can be closed. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 9687e5e34aca98934fcf04089ead2794629455a1) + +commit b203168e21c0cfba9df55e9ff43e73a5905119d6 +Author: Jason Dillaman +Date: Wed Jun 15 23:04:48 2016 -0400 + + rbd-mirror: keep local pointer to image journal + + Fixes: http://tracker.ceph.com/issues/16230 + Signed-off-by: Jason Dillaman + (cherry picked from commit 47e25e59a8ed4c4e64ae58b41c03125c6d3c4104) + +commit 0399958f6cc2a16487f0962b5d5a317dc1d9ff21 +Author: Jason Dillaman +Date: Mon Jun 20 11:41:31 2016 -0400 + + rbd-mirror: keep events from different epochs independent + + Fixes: http://tracker.ceph.com/issues/16362 + Signed-off-by: Jason Dillaman + (cherry picked from commit 3a5b491ec61134dc2e18cbe4e27a54e64b17f7d2) + +commit 6a28d63ac609c4e3eb43a31cabe36f2c79c875d2 +Author: Jason Dillaman +Date: Mon Jun 20 10:32:04 2016 -0400 + + librbd: fix lockdep issue when duplicate event detected + + Fixes: http://tracker.ceph.com/issues/16363 + Signed-off-by: Jason Dillaman + (cherry picked from commit 86ef725c34ae950c0e41e89c1aa0c6a15e40f369) + +commit 1e85da9cb97f6262eb25d8de234d45e8daccd461 +Author: Jason Dillaman +Date: Thu Jun 16 17:32:20 2016 -0400 + + rbd-mirror: ensure replay status formatter has completed before stopping + + Fixes: http://tracker.ceph.com/issues/16352 + Signed-off-by: Jason Dillaman + (cherry picked from commit cccdca460b4be310f99877cf43c48300713150df) + +commit bf58eabf561fdb041ed170e54e5d35c46cbe3258 +Author: Jason Dillaman +Date: Thu Jun 16 10:37:56 2016 -0400 + + journal: do not log watch errors against deleted journal + + The peer rbd-mirror process will eventually notice that the journal has + been removed and clean itself up. This avoids flooding the log with + expected error messages when journaling is disabled. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8317ce1611c39ad6a58bf2d760a010587d91ec60) + +commit deb6ca84e4083b1cf569d22b84f3194b1fb27a4b +Author: Jason Dillaman +Date: Thu Jun 16 09:38:28 2016 -0400 + + librbd: force-remove journal when disabling feature and removing image + + If mirroring is enabled, it's nearly certain that the peer rbd-mirror + daemon will be a registered client within the journal. Without + forcing the removal, this would prevent the removal from occurring. + + Signed-off-by: Jason Dillaman + (cherry picked from commit d83aa1e0e44784e1f38698a839f8a353c87027eb) + +commit 415ea77fdad016faf7da150630e933930c5ac4b6 +Author: Jason Dillaman +Date: Thu Jun 16 09:31:03 2016 -0400 + + librbd: ignore ENOENT error when removing image from mirror directory + + Fixes: http://tracker.ceph.com/issues/16348 + Signed-off-by: Jason Dillaman + (cherry picked from commit 4255afd34927ad6c303074aa6814538a8b5ae96e) + +commit cf65ed998b175e5d766364ff18741554b775b632 +Author: Yuan Zhou +Date: Thu May 12 18:22:12 2016 +0800 + + rbd: Skip rbd cache flush if journaling is enabled under aio_flush + + With journaling rbd writes will be persisteted on rbd journal objects. + The journal will be replayed if crash happen. So it's not necessary to + flush rbd_cache in this case. This will improve the flush latency. + + This patch adds checking on handling aio_flush: if journaling is + enabled, rbd cache flushing is skipped. + In a system flush(ImageCtx::flush) the cache is flushed even w/ journaling + where we truly do need to flush all IO out to disk. + + Fixes: http://tracker.ceph.com/issues/15761 + + Signed-off-by: Yuan Zhou + (cherry picked from commit f2def83b7a4a98bc60db5ba8936d78a49abace88) + +commit caad884704ce22ae0a860a12693d7529a5837212 +Author: youji +Date: Tue Jun 14 11:12:16 2016 -0700 + + mon: Monitor: validate prefix on handle_command() + + Fixes: http://tracker.ceph.com/issues/16297 + + Signed-off-by: You Ji + (cherry picked from commit 7cb3434fed03a5497abfd00bcec7276b70df0654) + +commit 3250c4d5a0bd9fc32eb6b1831a38363581f7c1bd +Author: Abhishek Lekshmanan +Date: Mon Jun 20 15:56:50 2016 +0200 + + rgw_swift: newer versions of boost/utility no longer include in_place + + boost > 1.58 no longer includes in_place in boost/utility, we need to + include in_place_factory explicitly. This causes build failures in + distros that ship with a higher version of boost. Since the only call is for + swift_ver_location, another possibility is to use emplace() + instead (though this requires boost ~ 1.56) + + Fixes: http://tracker.ceph.com/issues/16391 + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit a14f0f3869bb7defa7587ad9ccb18c3f086b2c3d) + + Conflicts: + src/rgw/rgw_rest_swift.cc + jewel does not have #include + +commit 85428983070c8df663056404a7c63959bb8ef693 +Merge: 2817f99 e9f9916 +Author: Loic Dachary +Date: Wed Jun 29 16:47:15 2016 +0200 + + Merge pull request #9294 from theanalyst/wip-16009-jewel + + jewel: radosgw-admin: failure for user create after upgrade from hammer to jewel + + Reviewed-by: Casey Bodley + +commit dd635e46ee2425335264ae493cb6b8437cd712fc +Author: Jason Dillaman +Date: Thu Jun 23 10:25:54 2016 -0400 + + librbd: ignore missing object map during snap remove + + Fixes: http://tracker.ceph.com/issues/16350 + Signed-off-by: Jason Dillaman + (cherry picked from commit 68b296b0f107db39b16fa90c186fdc920d97170d) + +commit db7ce96a3093e661f535efdd5e7e37177ba0732b +Author: Jason Dillaman +Date: Fri Jun 24 10:52:16 2016 -0400 + + librbd: removal of partially deleted image needs id lookup + + Several operations depend on the image id but if the image cannot be + opened to retrieve the id, these cleanup operations cannot be executed. + + Fixes: http://tracker.ceph.com/issues/16471 + Signed-off-by: Jason Dillaman + (cherry picked from commit 6a9e7da6c3da40c7b25ff3d5ac84027e94beb287) + +commit c1a47c7728a17dbfc71280270b0c3079e5961ffb +Author: Ken Dreyer +Date: Tue May 31 17:50:05 2016 -0600 + + packaging: move parted requirement to -osd subpkg + + Prior to this change, ceph-base required the "parted" package, which + meant that any installation of ceph-osd, ceph-mon, or ceph-mds would + pull in the parted package. + + Move the parted dependency to ceph-osd, since ceph-disk is the only + thing that uses parted. + + The advantage of this change is that Mon and MDS systems will not need + to install the parted package. + + Fixes: http://tracker.ceph.com/issues/16095 + + Signed-off-by: Ken Dreyer + (cherry picked from commit 115349680bad520a0aa56ce3a346d93f541a905c) + +commit 74dd0359d4d6db3c6dac4fd41703270e5020aad7 +Author: Sage Weil +Date: Mon May 2 14:28:55 2016 -0400 + + osd/PG: set last_* PG fields on a creating PG + + Use the value from pg_history_t that ultimately came from the + mon if last_epoch_started == 0. This establishes a sane lower + bound on these timestamps, and prevents a mon health error from + coming up about how a PG is stuck in whatever state while it is + being created. + + (We addressed half of this problem in commit 6ca6aeac, but the + warning comes back as soon as the OSD reports with a creating + state.) + + Fixes: http://tracker.ceph.com/issues/14952 + Signed-off-by: Sage Weil + (cherry picked from commit 3be3bc60c12448a36f607c8d4fbf3300c7bbdbee) + +commit 2c03e02a04c217b8461b858fd3b46b73c4a370d1 +Author: Sage Weil +Date: Mon May 2 14:27:16 2016 -0400 + + osd: set pg history last_clean_scrub_stamp on create + + We were setting the other two; set this one as well. + + Signed-off-by: Sage Weil + (cherry picked from commit 47f540d5b7ecc4ae193057df429db24ca6b3de8d) + +commit a2e8ae68ea452d03519359cb0cd344e71e603fa9 +Author: kofiliu +Date: Fri May 27 03:45:06 2016 -0400 + + osd: sparse_read offset may not be zero for ecpool + + Signed-off-by: kofiliu + (cherry picked from commit 65e8738611cde0090619b3566a2e25f83b4c8468) + +commit 2817f9978f73014b1b1363cecacabdd98e499c72 +Merge: 38a2542 8b82bb8 +Author: Mykola Golub +Date: Wed Jun 29 11:42:43 2016 +0300 + + Merge pull request #9721 from trociny/wip-16289-jewel + + jewel: qa/workunits/rbd: respect RBD_CREATE_ARGS environment variable + + Reviewed-by: Jason Dillaman + +commit b8f7aa28c394830bac9aa73429131e92f7499aa0 +Author: Haomai Wang +Date: Sat Jun 11 13:39:23 2016 +0800 + + msg/async/AsyncConnection: make verify auth callback without connection lock + + Fixes: http://tracker.ceph.com/issues/16237 + Signed-off-by: Haomai Wang + (cherry picked from commit 2b7776545c3f87d7f54a53190e65ec48378eaa05) + +commit 3dbb08a069c8e8238d2884a78b04f0a0d01a36e3 +Author: Haomai Wang +Date: Thu May 12 12:01:35 2016 +0800 + + AsyncConnection: create writable event for in progress connection + + Previously we use a tricky with ceph msgr protocol, if initiator side got + in progress connection state, it will wait until read event. Because if + tcp session built successfully server side will send the banner firstly + and initiator side will get read event. Otherwise, if connection failed, + read event also be called. + + But actually man(2)[http://man7.org/linux/man-pages/man2/connect.2.html] + specify if we want to get notification whether connection built, we need + to listen writable event. It means when connection built, send buffer + is ready to be written. + + This patch follow the strict nonblock connect process. Not fully sure fix + http://tracker.ceph.com/issues/15849 + + Signed-off-by: Haomai Wang + (cherry picked from commit a74ce419133881ff8618733a0501c4a47e1368e3) + +commit 6554d462059b68ab983c0c8355c465e98ca45440 +Author: Samuel Just +Date: Tue Jun 7 17:15:05 2016 -0700 + + OSDMonitor::prepare_pgtemp: only update up_thru if newer + + Fixes: http://tracker.ceph.com/issues/16185 + Signed-off-by: Samuel Just + (cherry picked from commit 5f2bd7b6b28aad96d68444b22c04b8b24564616b) + +commit a826bb818b02edac71b69fdd97e9318bb42ebc36 +Author: Samuel Just +Date: Thu Jun 2 10:43:17 2016 -0700 + + OSDMonitor: drop pg temp from sources other than the current primary + + Fixes: http://tracker.ceph.com/issues/16127 + Signed-off-by: Samuel Just + (cherry picked from commit 1a07123c38e3fecb3fb2e43bbbae962d8411d287) + +commit 18fdc1c9f061b396df8095907c5b0ffb0591e76d +Author: Sage Weil +Date: Tue May 24 14:02:32 2016 -0400 + + osd: reject PARALLELEXEC ops with EINVAL + + Errors are better than crashing. + + Signed-off-by: Sage Weil + (cherry picked from commit 407495197dd878b62f1356f6d939e33ab50d78c6) + +commit f91da931bcca9fd9f055a8d42d86ba3c3d3ea25f +Author: Sage Weil +Date: Tue May 24 14:02:14 2016 -0400 + + ceph_test_rados_api_misc: test rados op with bad flas + + Pass the bad PARALLELEXEC flag to remove(), which takes a flags arg. + + Signed-off-by: Sage Weil + (cherry picked from commit 1aa807f4f29b4b016cc737ffa443e8f30c3b7693) + +commit edd3f799fb1e5d70244412c5a1be17f74397aae2 +Author: Haomai Wang +Date: Sun Jun 19 23:42:36 2016 +0800 + + msg/async: close STATE_WAIT connection in short period + + 1. in practice, STATE_WAIT connection caused by racing connect should be + resolved in milliseconds level. we don't need to keep this connection + forever. + 2. it will avoid unexpected osd peering hang because of outside network + problem. + + Fixes: http://tracker.ceph.com/issues/16378 + Signed-off-by: Haomai Wang + (cherry picked from commit 4de5407ac96686748497253e4daf51177f809a95) + +commit af8e86c20e9b1124abe33f0dff58817fc8aad7c9 +Author: Haomai Wang +Date: Sun Jun 19 23:12:10 2016 +0800 + + test_msgr: add assert if wait for shutdown hang + + Signed-off-by: Haomai Wang + (cherry picked from commit ca22e0bc09c1a13c8dac14b25c00501e912b8006) + +commit 42ef435554a21dfd5daec53002440a38f4d9f705 +Author: Haomai Wang +Date: Sun Jun 19 23:04:46 2016 +0800 + + test/test_msgr: add shutdown hang debug info + + Signed-off-by: Haomai Wang + (cherry picked from commit 37b53d69d3d8c848d4627475fd63c80e15e118e7) + +commit d4c531dca281560b904ec14b2749bc2924f470fb +Author: Haomai Wang +Date: Sun May 22 23:43:47 2016 +0800 + + test_msgr: add verbose info for pending connections + + Signed-off-by: Haomai Wang + (cherry picked from commit 39515b0f7c49d0cedbec0cf0dc2196b9d6d6339c) + +commit 90ce35c4f449bfd48398b8a164e423f3d72609b2 +Author: Haomai Wang +Date: Sun Jun 19 23:03:07 2016 +0800 + + msg/async/AsyncConnection: lower racing case debug log level + + Signed-off-by: Haomai Wang + (cherry picked from commit d8cc985fe0ebc18d4ff725f50304a5ff36a77cd0) + +commit 38a25420a0120288029d65cf924f1cbe5f3eb3fd +Merge: 980abcf 75d3261 +Author: Loic Dachary +Date: Wed Jun 29 09:56:58 2016 +0200 + + Merge pull request #9425 from cbodley/wip-rgw-sync-retry-jewel + + jewel: rgw: retry on bucket sync errors + + Reviewed-by: Loic Dachary + +commit 980abcfd3966c29b4871d5a0913051a8312d866c +Merge: e230023 933fdef +Author: Loic Dachary +Date: Wed Jun 29 09:55:26 2016 +0200 + + Merge pull request #9327 from cbodley/wip-rgw-zone-modify-master-jewel + + jewel: rgw: add_zone only clears master_zone if --master=false + + Reviewed-by: Loic Dachary + +commit e2300232b07175a12b92f23352deb34210d8ae41 +Merge: e63dcb0 8163c4d +Author: Loic Dachary +Date: Wed Jun 29 09:50:04 2016 +0200 + + Merge pull request #9242 from yehudasa/wip-15911-jewel + + jewel: rgw: don't unregister request if request is not connected to manager + + Reviewed-by: Loic Dachary + +commit e63dcb08083dff3a8382900f90df9f3311c9ec99 +Merge: c9f2fda b751d48 +Author: Jason Dillaman +Date: Tue Jun 28 15:53:03 2016 -0400 + + Merge pull request #9883 from dillaman/wip-16422 + + jewel: librbd: flag image as updated after proxying maintenance op + + Reviewed-by: Jason Dillaman + +commit c9f2fda32c55f85f717ec26dfcf9140b16fa8cc6 +Merge: 9aafefe 70018bf +Author: Samuel Just +Date: Mon Jun 27 12:43:11 2016 -0700 + + Merge pull request #9105 from Abhishekvrshny/wip-15768-jewel + + jewel: FileStore: umount hang because sync thread doesn't exit + + Reviewed-by: Samuel Just + +commit 9aafefeab6b0f01d7467f70cb2f1b16ae88340e8 +Merge: 25c807b cb9e9e1 +Author: Loic Dachary +Date: Mon Jun 27 17:50:39 2016 +0200 + + Merge pull request #9633 from liewegas/wip-async-jewel + + msg/async: backports of all asyncmsgr fixes to jewel + + Reviewed-by: Haomai Wang + +commit 25c807b1919fe11b8d8183b06cdfc5465357d509 +Merge: ae34e37 6619bd9 +Author: Sage Weil +Date: Mon Jun 27 09:12:14 2016 -0400 + + Merge pull request #9576 from Abhishekvrshny/wip-16148-jewel + + jewel: Scrub error: 0/1 pinned + + Reviewed-by: Sage Weil + +commit ae34e3742651f7b679e4b524676d26d4fb906562 +Merge: e16830c b7f0e73 +Author: Sage Weil +Date: Mon Jun 27 09:11:43 2016 -0400 + + Merge pull request #9575 from Abhishekvrshny/wip-16150-jewel + + jewel: crash adding snap to purged_snaps in ReplicatedPG::WaitingOnReplicas + + Reviewed-by: Sage Weil + +commit e16830c6287323aae4fdddd9f4192793a6c48e74 +Merge: 2cf8d58 6c1163c +Author: Sage Weil +Date: Mon Jun 27 09:10:36 2016 -0400 + + Merge pull request #8754 from kmroz/wip-backport-fix-run-dir-chown + + jewel: global-init: fixup chown of the run directory along with log and asok files + + Reviewed-by: Sage Weil + +commit 1f19dbd0f092390b44acfb5fe9dc3936c6732fdd +Author: Mykola Golub +Date: Mon Jun 27 14:45:02 2016 +0300 + + librbd: potential use after free on refresh error + + Signed-off-by: Mykola Golub + (cherry picked from commit e92b3950cd261d36de422ccaa4a2441d41c80d0c) + +commit 2cf8d58beb164017d065e91fdbf8c7a380a4dddb +Merge: b861c30 3f8642d +Author: Loic Dachary +Date: Mon Jun 27 10:12:35 2016 +0200 + + Merge pull request #9578 from Abhishekvrshny/wip-16080-jewel + + jewel: osd:sched_time not actually randomized + + Reviewed-by: Loic Dachary + +commit b861c30bdf86378845379bd3e66db32f264b23ee +Merge: eea4851 1c7abcb +Author: Loic Dachary +Date: Mon Jun 27 10:08:25 2016 +0200 + + Merge pull request #9574 from Abhishekvrshny/wip-16153-jewel + + jewel: Missing export for rados_aio_get_version in src/include/rados/librados.h + + Reviewed-by: Loic Dachary + +commit eea48519d76e53ebe94947165c9404259397a37e +Merge: 057ff74 9415d38 +Author: Loic Dachary +Date: Mon Jun 27 10:06:54 2016 +0200 + + Merge pull request #9565 from dzafman/wip-15767-jewel + + jewel: Fixes for list-inconsistent-* + + Reviewed-by: Loic Dachary + +commit 057ff74ede5510e1b28b19e3f99d823781d5da39 +Merge: 50e242c b2d1df1 +Author: Loic Dachary +Date: Mon Jun 27 09:42:28 2016 +0200 + + Merge pull request #8904 from SUSE/wip-15700-jewel + + jewel: rados/test.sh workunit timesout on OpenStack + + Reviewed-by: Loic Dachary + +commit ad3b788b0c83ffb1339d940cd86555dbc3b1b55f +Author: Nathan Cutler +Date: Sat Apr 23 20:33:17 2016 +0200 + + Drop ceph Resource Agent + + This RA wraps the ceph sysvinit script. As of Jewel, none of the supported + distros are using sysvinit anymore. So, drop it. + + Incidentally, Pacemaker can control systemd units without any wrappers. + + References: http://tracker.ceph.com/issues/14828 + Signed-off-by: Nathan Cutler + (cherry picked from commit bb624c7334ee4241ea3bf892f88e25d165dc3477) + +commit b751d4854aa8629f46f0e3dd835aff27b8be709d +Author: Jason Dillaman +Date: Tue Jun 21 14:56:43 2016 -0400 + + librbd: flag image as updated after proxying maintenance op + + Fixes: http://tracker.ceph.com/issues/16404 + Signed-off-by: Jason Dillaman + (cherry picked from commit 478dd5f173591914b41d87b8c6d035c32cac8d3e) + +commit 50e242c28b766bd35c924f0f01c0298ed166d20a +Merge: a34b227 9b75275 +Author: Josh Durgin +Date: Tue Jun 21 16:43:20 2016 -0700 + + Merge branch 'wip-dmick-install-deps-jewel' into jewel + + install-deps.sh: use mk-build-deps instead of processing control + + Reviewed-by: Erwan Velu + Reviewed-by: Josh Durgin + +commit 9b7527537547b388d1cd75cb70a522712420a455 +Author: Dan Mick +Date: Wed Mar 23 17:43:53 2016 -0700 + + install-deps.sh: use mk-build-deps instead of processing control + + mk-build-deps is designed to handle installing build dependencies; + use that instead, so '|' indications are handled properly. + + Signed-off-by: Dan Mick + (cherry picked from commit 99bca09b8d09c41077a9d2141ff556b74328e57a) + +commit a34b227c1ed11f51d830ea48a6fbfc0c74a981a6 +Author: Roi Dayan +Date: Wed Apr 20 17:56:16 2016 +0300 + + xio: add MNop.h to dist tarball + + This file is needed when we want to build a package with xio messenger + but was not added to dist tarball. + + Signed-off-by: Roi Dayan + (cherry picked from commit ac50842d81d271569d4149737834ac53b2f51db2) + +commit 393bf7ef409253123e0721cdfe3b78aa4fd55148 +Author: Nathan Cutler +Date: Wed Jun 15 16:53:16 2016 +0200 + + rgw: check for -ERR_NOT_MODIFIED in rgw_rest_s3.cc + + Fixes: http://tracker.ceph.com/issues/16327 + Signed-off-by: Nathan Cutler + (cherry picked from commit fc38346c596d8b0bc156183970d6a327943cb577) + +commit 6b41d76f53337a696523cddb47b53b703cdfa571 +Author: Haomai Wang +Date: Tue Jun 14 11:03:19 2016 +0800 + + TaskFinisher: cancel all tasks wait until finisher done + + Otherwise, caller may think pending task won't be executed but actually + finisher may execute callback which may cause refer to freed object. + + Signed-off-by: Haomai Wang + (cherry picked from commit 40c5679ef038375e2bde982f401d78c1f3e05c6c) + +commit 762db30a3c2c43e56b227017b993802369c07219 +Author: Vikhyat Umrao +Date: Tue May 24 09:29:32 2016 +0530 + + rgw: support size suffixes for --max-size in + radosgw-admin command + + Fixes: http://tracker.ceph.com/issues/16339 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit 62eec902c70463173e758e55fa38594c594f868f) + +commit e3a99c082e3ebd56d5b40d7d94d98e35629df81e +Author: Vikhyat Umrao +Date: Thu May 26 23:30:25 2016 +0530 + + common: add int64_t template for strict_si_cast() + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit 8e429d05370fbe7935212d0ae9608e7547f39860) + +commit f8e491168d4802ab071e30e4fdd654dca018bfe6 +Author: Vikhyat Umrao +Date: Mon May 9 18:00:28 2016 +0530 + + rados: Add cleanup message with time to rados bench output + + Fixes: http://tracker.ceph.com/issues/16338 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit 885ebb1650bb4a355600d85ca436c1ecd4916dce) + +commit 8b82bb85e4f2d6fb81c3c4ccc6789856c78f4984 +Author: Mykola Golub +Date: Tue Jun 14 15:28:06 2016 +0300 + + qa/workunits/rbd: respect RBD_CREATE_ARGS environment variable + + Fixes: http://tracker.ceph.com/issues/16289 + Signed-off-by: Mykola Golub + (cherry picked from commit 3048d3c7ce800a6174c54946b838e4e4079ec609) + +commit 9415d38139a66b86ff40e0521b769665f31fd36b +Author: David Zafman +Date: Thu May 5 23:20:58 2016 -0700 + + rados: Improve list-inconsistent json format + + Use array "errors" of strings for the error bits + Change snapshot number to integer instead of hex + + Signed-off-by: David Zafman + (cherry picked from commit 07dc844d6804db93055573ec83e6753773a4c049) + +commit 2fd6e7cf78f2eabbec669f3f9c4e60f1aa3ee8bd +Author: David Zafman +Date: Fri May 6 19:54:11 2016 -0700 + + test: Fix test to not use jq -S which isn't avail in all distributions + + Fixes: http://tracker.ceph.com/issues/15766 + + Signed-off-by: David Zafman + (cherry picked from commit a2147ad3cb256c34541ff7dc285594a22a24dfc6) + +commit c789aa39f27dc83f52465ba2d5b513a06b99c9d2 +Author: David Zafman +Date: Tue May 3 12:10:38 2016 -0700 + + test: Add testing of new scrub commands in rados + + Test list-inconsistent-pg + Test list-inconsistent-obj + Test inconsistent-snapset + + Signed-off-by: David Zafman + (cherry picked from commit db517ba9176f1ee829453b016b1bd43c6054a555) + +commit a6f3f762505849994c91efea98c345da16561a22 +Author: David Zafman +Date: Fri Apr 29 11:25:18 2016 -0700 + + rados: Don't bother showing list-inconsistent-* errors that aren't set + + Signed-off-by: David Zafman + (cherry picked from commit a551b6bd5c4eba11c170afe63994258e7598c3d2) + +commit 4c72195a6c5cb9eeca952f12edf62a10ec666f10 +Author: David Zafman +Date: Fri Apr 29 17:09:13 2016 -0700 + + osd, rados: Fixes for list-inconsistent-snapset + + Signed-off-by: David Zafman + (cherry picked from commit fdca113fc24adbb4f60bfdc55fbbd5044b711b5d) + +commit 4e4e562926d38371f70ba2cf2f7003daa251b9f0 +Author: David Zafman +Date: Fri Apr 29 11:26:39 2016 -0700 + + include, rados: Fixes for list-inconsistent-obj and librados + + Signed-off-by: David Zafman + (cherry picked from commit 4fc4326b36aa00092043514746aa39aedad06b0f) + +commit 80f0dd348f32ff6e1f98ca29ea2ed38b5b7f5854 +Author: David Zafman +Date: Tue Apr 26 18:16:22 2016 -0700 + + rados: Balance format sections in same do_get_inconsistent_cmd() + + Signed-off-by: David Zafman + (cherry picked from commit de4681b80a5d24e72bbc7ac6dfee4775987fd834) + +commit d248aba10ed232df116729591fea5b195a245735 +Author: David Zafman +Date: Mon Mar 21 20:41:03 2016 -0700 + + rados: Include epoch in the list-inconsistent-* command output + + Signed-off-by: David Zafman + (cherry picked from commit df4bc16c4d49489f7398eb1ecc7b9aef93258414) + +commit 43141e383ebac822221b3f22392f02b95b015ef5 +Author: David Zafman +Date: Mon Mar 21 20:39:53 2016 -0700 + + rados: Improve error messages for list-inconsistent commands + + Signed-off-by: David Zafman + (cherry picked from commit cea7cf56ee3b9593c935d0c74ce6e4b28b14c2da) + +commit 502540faf67308fa595e03f9f446b4ba67df731d +Author: Jenkins Build Slave User +Date: Fri May 13 17:50:34 2016 +0000 + + 10.2.1 + +commit b4a80cb1e30f8da8e2b0fc2b18fc846609282879 +Author: Mykola Golub +Date: Sat Jun 11 20:01:31 2016 +0300 + + qa/workunits/rbd: specify source path + + otherwise it looks in $PATH for the script + + Signed-off-by: Mykola Golub + (cherry picked from commit 698242e7435c9c4d1db7cb6d5aab3faf57eda840) + +commit 70c97bd07e6764e1c6ff83225f6a2a9dcdfb989e +Author: Jason Dillaman +Date: Thu Jun 9 16:23:52 2016 -0400 + + qa/workunits/rbd: additional rbd-mirror stress tests + + Fixes: http://tracker.ceph.com/issues/16197 + Signed-off-by: Jason Dillaman + (cherry picked from commit db3e583a5fe4a7985b1e7f1740114da414835af5) + +commit c7cfb4825fbcc82e74b5b1461fc86591098a8599 +Author: Jason Dillaman +Date: Thu Jun 9 17:14:36 2016 -0400 + + vstart: add --nolockdep option + + rbd-mirror stress test cases need a way to disable lockdep when + initiated in a vstart environment. + + Signed-off-by: Jason Dillaman + (cherry picked from commit d5eec7b2f4222dde0cfdaa9e0e4b43be015c3692) + +commit d48a1ed7845843cfc7598d97dce6b10992079ec3 +Author: Robin H. Johnson +Date: Sun Apr 17 08:23:23 2016 -0700 + + rgw/s3website: Fix x-amz-website-redirect-location support. + + Support for the x-amz-website-redirect-location header was broken in the + feature merging of Jewel, as it previously depended on the error handler to + redirect, which was overkill. Simplify it to work. + + Backport: jewel + Fixes: http://tracker.ceph.com/issues/15531 + Signed-off-by: Robin H. Johnson + (cherry picked from commit 7cbb63bb748c4c78c02926acb4ad9bcea5593695) + +commit 3f8642d134c473be331a53f420d122b4f390dee6 +Author: xie xingguo +Date: Sat May 14 11:28:04 2016 +0800 + + osd: fix sched_time not actually randomized + + The test program: + + main() + { + for (int i = 0; i < 1000; i++) { + double before = rand() / RAND_MAX; + double after = rand() / (double)RAND_MAX; + cout << "before: " << before << " after: " << after << endl; + } + } + + And the output(partial and with "-std=c++11" option): + + before: 0 after: 0.394383 + before: 0 after: 0.79844 + before: 0 after: 0.197551 + before: 0 after: 0.76823 + before: 0 after: 0.55397 + before: 0 after: 0.628871 + before: 0 after: 0.513401 + before: 0 after: 0.916195 + before: 0 after: 0.717297 + before: 0 after: 0.606969 + before: 0 after: 0.242887 + before: 0 after: 0.804177 + before: 0 after: 0.400944 + before: 0 after: 0.108809 + before: 0 after: 0.218257 + before: 0 after: 0.839112 + before: 0 after: 0.296032 + before: 0 after: 0.524287 + + Fixes: http://tracker.ceph.com/issues/15890 + Signed-off-by: xie xingguo + (cherry picked from commit d3b7767a64af0cd57d17b888e4ec3bdae6fdab87) + +commit 6619bd9dbe257bfeb19931cf7f94c56520ae1ebf +Author: Samuel Just +Date: Fri May 20 13:59:10 2016 -0700 + + ReplicatedPG: adjust num_pinned in _delete_oid + + Fixes: http://tracker.ceph.com/issues/15952 + Signed-off-by: Samuel Just + (cherry picked from commit 907d4e25c676fd3e1c2be90ce8ab5b64b362b0bc) + +commit b7f0e73223687035e470fcd7ffc7b851c04aba00 +Author: Samuel Just +Date: Thu May 19 16:00:35 2016 -0700 + + PG: update PGPool to detect map gaps and reset cached_removed_snaps + + Fixes: http://tracker.ceph.com/issues/15943 + Signed-off-by: Samuel Just + (cherry picked from commit 5798fb3bf6d726d14a9c5cb99dc5902eba5b878a) + +commit 1c7abcbfe58f77d9d915dd2fc2fc4c75883d46c1 +Author: Jim Wright +Date: Thu Jun 2 15:12:30 2016 +0100 + + librados: Added declaration for rados_aio_get_version + + Was missing from librados.h and hence had an incorrect + visability. + + Fixes: #15535 + (cherry picked from commit a5a1c1732e50be7d27f8742e794eba88d35c1c7f) + +commit ec884a3406568ccb4c997b4da8924d25d3e2473b +Author: Robin H. Johnson +Date: Tue May 17 17:38:38 2016 -0700 + + rgw/s3website: whitespace style fixes + + Signed-off-by: Robin H. Johnson + (cherry picked from commit fd35ad001c9430753cc2b1f91a7d48f591c6754e) + +commit bf26b6eeb7fb806bff0ee306467277a273dcc887 +Author: Robin H. Johnson +Date: Tue May 17 17:35:41 2016 -0700 + + rgw/s3website: Fix ErrocDoc memory leak. + + Yehuda pointed [1] out a memory leak with the RGWGetObj not being handed back, and + suggested that shared_ptr was used to handle it, rather than the prior approach + of explicitly calling handler->put_op. + + This commit implements just that change, in isolation from other changes, for + ease of comparision testing. + + X-Reference-1: https://github.com/ceph/ceph/pull/8669#discussion_r63445516 + Signed-off-by: Robin H. Johnson + (cherry picked from commit 2fd7bc8cbe4a2e23553e716ce0be75937853e07b) + +commit 36672c61be8289ba00dd694c92cd9057dbf5cf29 +Author: Robin H. Johnson +Date: Sun Apr 17 08:23:23 2016 -0700 + + rgw/s3website: Fix x-amz-website-redirect-location support. + + Support for the x-amz-website-redirect-location header was broken in the + feature merging of Jewel, as it previously depended on the error handler to + redirect, which was overkill. Simplify it to work. + + Backport: jewel + Fixes: http://tracker.ceph.com/issues/15531 + Signed-off-by: Robin H. Johnson + (cherry picked from commit 7cbb63bb748c4c78c02926acb4ad9bcea5593695) + +commit 3c0ac8eb9c9d19a6418e3d84df36e4a87f24fb23 +Author: Robin H. Johnson +Date: Wed Apr 20 15:52:51 2016 -0700 + + rgw/s3website: Implement ErrorDoc & fix Double-Fault handler + + Fix more last minute breakage from merges, now has has a working ErrorDoc as + well as working double-fault. Also moves some s3website-specific code out of + the main S3 codepath. + + Fixes: #15532 + Fixes: #15555 + Signed-off-by: Robin H. Johnson + (cherry picked from commit fcb3cf169f1fa7cf878eb154dc3f1ff78e278056) + +commit cb9e9e1c322cb7fb2150b15b17bde4371fd1e703 +Author: Piotr DaÅ‚ek +Date: Fri Feb 26 13:54:20 2016 +0100 + + msg/async: Implement smarter worker thread selection + + This changeset makes AsyncMessenger a bit smarter when it comes + to assigning worker threads to AsyncConnections. Each time a worker + is assigned, its reference count is increased. Next time when Async + Messenger needs to assign another worker to new AsyncConnection, it + picks the one with the lowest reference count. If it cannot find an + idle one, and number of currently instantiated workers is less than + specified with "ms async op max threads", the new worker is created + and returned. + Once AsyncConnection goes away, the reference count on assigned + worker is decreased. + This does not prevent, but greatly reduces chances of having a single + async worker thread doing most (or even all) of the ops, and also + removes the need to manually tune the "ms async op threads" option. + + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit 3e80f8d74a535e14d4092b27ea5417bacff8394e) + +commit 578ac8aacfdd0ecfecb3ae3ebeb8a0b3ff53b67d +Author: Haomai Wang +Date: Wed Apr 20 14:23:20 2016 -0400 + + Event: fix delete_time_event while in processing list + + Signed-off-by: Haomai Wang + (cherry picked from commit 1ddeede83200566666fce80867eb7cb5a61a4f62) + +commit 8c7a13fdfa46095621b96a7da8d3b9ce09439509 +Author: Haomai Wang +Date: Fri Apr 15 13:33:35 2016 +0800 + + test_msgr: add delay inject test + + Signed-off-by: Haomai Wang + (cherry picked from commit 0a2392919f9ad7286ae4b5924566197c1069474f) + +commit 846992f025586fa83c69eaec3ed09b6ab6677fcc +Author: Haomai Wang +Date: Fri Apr 15 11:43:42 2016 +0800 + + AsyncConnection: make delay message happen within original thread + + Fixes: http://tracker.ceph.com/issues/15503 + Signed-off-by: Haomai Wang + (cherry picked from commit 83f7db58aad2509e1a8742e862d4e8bbfd85c37c) + +commit 9b199d0b19220bf4adb9b0754f493e7c1ad78a4e +Author: Piotr DaÅ‚ek +Date: Tue Apr 5 09:37:23 2016 +0200 + + msg/async: add missing DelayedDelivery and delay injection + + Delay injection was missing from a few spots, also, DelayedDelivery + was added. + + Fixes: http://tracker.ceph.com/issues/15372 + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit 49a0c9981bd4bf61b520ece8fb8adfdf7439185b) + +commit 0e6324a726e85e498946a49393e0f7c228c2f913 +Author: Haomai Wang +Date: Sun May 1 08:32:24 2016 +0800 + + Event: replace ceph_clock_now with coarse_real_clock + + reduce cpu utilization on real clock latency + + Signed-off-by: Haomai Wang + (cherry picked from commit 79343a8a093630f1c0696f135c6e3bef0c23da28) + +commit 6597fab4cc27de6d6f1dcfa070ed401612bfed76 +Author: Yan Jun +Date: Mon Apr 25 09:45:20 2016 +0800 + + msg/async: fix some return values and misspellings. + + Signed-off-by: Yan Jun + (cherry picked from commit 0519f938e13d0adf53c1328fd636b9fa5e6c5b93) + +commit 18f18c7beee3c7a072009838c02d5ba1f97fef2c +Author: Yan Jun +Date: Mon Mar 28 15:33:30 2016 +0800 + + msg/async: delete the confused comments. + + Signed-off-by: Yan Jun + (cherry picked from commit 69a587b139815812433f2b651db6bd723353605d) + +commit 79354f4223191c9d8ce6f92aaadf3481f9abf72d +Author: Yan Jun +Date: Fri Mar 25 17:34:12 2016 +0800 + + msg/async: add numevents statistics for external_events + + Maybe we need to add the statistics for external_events. + + Signed-off-by: Yan Jun + (cherry picked from commit f08ca0a0892767a8c40e06e336297109aa6142a1) + +commit 4005a5193a1cb3e3a0ac1e6f019bead0837ea552 +Author: Haomai Wang +Date: Sun Mar 13 12:24:35 2016 +0800 + + AsyncConnection: remove unnecessary "send" flag + + Signed-off-by: Haomai Wang + (cherry picked from commit 5c0a689d720f1016846ff945ca75b9f91756170d) + +commit 441847d9951e230b48776fa0fbe639d7b23a595b +Author: Haomai Wang +Date: Sat Mar 12 21:02:51 2016 +0800 + + async: skip unnecessary steps when parsing simple messages + + Signed-off-by: Haomai Wang + (cherry picked from commit a9ac1c4f88ffb5f66c43527ea0ae1deef1be3a96) + +commit c02501005b0316ba9f0ae1cd316a92c567b37c3b +Author: Noah Watkins +Date: Wed May 4 17:22:14 2016 +0800 + + client: fstat should take CEPH_STAT_CAP_INODE_ALL + + Fixes: http://tracker.ceph.com/issues/15723 + Signed-off-by: Noah Watkins + Signed-off-by: Yan, Zheng + (cherry picked from commit 4b1a5d4ef9c3a116bb08100edd576819930047e3) + +commit c3f6d82d86f9720a373ec9792b927292f01897c0 +Author: xie xingguo +Date: Wed Jun 1 14:28:17 2016 +0800 + + mon/MDSMonitor: fix wrongly set expiration time of blacklist + + Signed-off-by: xie xingguo + (cherry picked from commit 0c3a92bb999e90212a9f38f9f4dc3bf89bd20acb) + +commit d4017ae915e8355f9146844a443942c0dce32476 +Author: xie xingguo +Date: Wed Jun 1 11:17:32 2016 +0800 + + mon/MDSMonitor: fix wrong positive of jewel flag check + + Signed-off-by: xie xingguo + (cherry picked from commit 24b82bafffced97384135e55ab2a97091e9a7b4b) + +commit eea0e916640c3ac2d69ffb9c335dde6332b03938 +Author: Yan, Zheng +Date: Fri May 6 19:07:07 2016 +0800 + + mds: finish lock waiters in the same order that they were added. + + Current code first processes lock waiters who have smaller wait mask. + Lock waiters who have large wait mask can starve if client keeps + sending requests that add waiter with small mask. + + Signed-off-by: Yan, Zheng + (cherry picked from commit d463107473382170c07d9250bb7ace0e5a2a7de2) + +commit 2c7fc95e06f6b1b52bef89904399de4088efaff1 +Author: Yan, Zheng +Date: Mon May 23 17:40:05 2016 +0800 + + mds: fix race between StrayManager::{eval_stray,reintegrate_stray} + + StrayManager::eval_stray() is called after Server::respond_to_request() + drops locks. So it can race with StrayManager::reintegrate_stray() + + Fixes: http://tracker.ceph.com/issues/15920 + Signed-off-by: Yan, Zheng + (cherry picked from commit 65827a0fd4d4ecb6d5e2eccf3a1818026ce1f10c) + +commit 19c13669ecb1bc9788b6741753d3eedbde713620 +Author: John Spray +Date: Mon May 2 22:23:04 2016 +0100 + + osdc: send error to recovery waiters on shutdown + + ...instead of sending them '0', which gets things + confused. + + Fixes: http://tracker.ceph.com/issues/15689 + Signed-off-by: John Spray + (cherry picked from commit 62c7a3c59ce479d5240eb5fbef01edf11388c7bb) + +commit 7b0318aad79a08f1549bbf9054519a18c9e8c379 +Author: John Spray +Date: Mon May 2 22:14:07 2016 +0100 + + mds: fix mdsmap print_summary with standby replays + + Fixes: http://tracker.ceph.com/issues/15705 + Signed-off-by: John Spray + (cherry picked from commit 899a16e50a6c22359e7a5c5ac720a605f6a4b67e) + +commit f858f94c9dcd2b2845fe59ff9d213b59574144c5 +Author: Yehuda Sadeh +Date: Wed Jun 1 04:24:34 2016 -0700 + + rgw: reduce string copy + + As suggested by Casey Bodley. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f8f1f217314c32cf65ac1fa4e8e0132b501ee184) + +commit 67e3be38fdfcec8fa4b00dfc703a45ffa101679b +Author: Yehuda Sadeh +Date: Thu May 19 15:02:21 2016 -0700 + + rgw: rework aws4 header parsing + + Fixes: #15940 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit e3618c87026b5ced8ef81adbcafc7f9b34f2d48d) + +commit 5bdd13e6f2bc8c52f9a4829a5cc80691947233bb +Author: Yehuda Sadeh +Date: Thu May 19 12:52:54 2016 -0700 + + rgw: don't add port to aws4 canonical string if using default port + + Fixes: #15939 + + When either port 80 is used, or if it's a secure connection and port 443 is used, + and when going through the presigned url auth, don't add the port to the signed + string. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 033888bbd0e4d8d81358bf61a099276dddb5692b) + +commit 474739e87231dc1fc3e3a805584c3f15e1dd1f94 +Author: Yehuda Sadeh +Date: Thu May 19 11:30:44 2016 -0700 + + rgw: use correct method to get current epoch + + Fixes: #15939 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 310f5bdf56a9deb09347aadc158da25750fb6735) + +commit fc34fbd469dd1c35804305a96d4e650828049d51 +Author: Yehuda Sadeh +Date: Wed May 18 17:21:28 2016 -0700 + + rgw: check for aws4 headers size where needed + + Fixes: #15940 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 493cc5d1241693f3ea52f4d7f3a194d9e0ec1905) + +commit 44decb4ea1d8e60ba929500e0ccbdac3417c3647 +Author: Radoslaw Zarzynski +Date: Wed May 25 14:23:29 2016 +0200 + + rgw: properly handle initial slashes in SLO's segment path. + + Fixes: http://tracker.ceph.com/issues/16015 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit d384b2b8e0ed670f229eb889a14f521fa8d194fc) + +commit e8b7dd47018ab115ffa27b7e72470956de738fd3 +Author: Radoslaw Zarzynski +Date: Mon May 23 13:27:24 2016 +0200 + + rgw: remove unnecessary data copying in RGWPutMetadataBucket. + + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 19c12bbc233a118496f8ad5d640d19bb0e2c5d05) + +commit 63e0993e33b10adc4d9e1f80c4fe4c5ee9c5f4ff +Author: Radoslaw Zarzynski +Date: Sun May 22 15:32:19 2016 +0200 + + rgw: Fix updating CORS/ACLs during POST on Swift's container. + + Introduced in: 7a7de9b75265b978ba4e53966f614fac033972cb + Fixes: http://tracker.ceph.com/issues/15976 + Signed-off-by: Radoslaw Zarzynski + + (cherry picked from commit d9e4727b7e6ffa1cb2918b610381d41439a056e8) + +commit 4eded9aa94384e60e765accb4c9f093bd2534970 +Author: Radoslaw Zarzynski +Date: Sat May 21 02:47:12 2016 +0200 + + rgw: fix update of already existing account/bucket's custom attributes. + + Introduced in: 3f3b18bff16f6a5b36987f888ba3f2a0d1ea3155. + Fixes: http://tracker.ceph.com/issues/15977 + Signed-off-by: Radoslaw Zarzynski + + (cherry picked from commit d6129e664fc8d25e70bfaf83e340703005f8f73f) + +commit 30ee18018ae890a058ae40a6006e1045258d36d5 +Author: Radoslaw Zarzynski +Date: Mon May 9 17:22:45 2016 +0200 + + rgw: fix updating account/container metadata of Swift API. + + This patch rectifies an issue with handling of user metadata that are + actually stored by an updated resource (account or container). + The expected behaviour is they will be merged with new medadata coming + from an HTTP client. + + Backport: Jewel + Fixes: http://tracker.ceph.com/issues/15779 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 3f3b18bff16f6a5b36987f888ba3f2a0d1ea3155) + +commit 75d326117dd57acdae355cec5ac25112e70ff2ba +Author: Yehuda Sadeh +Date: Fri May 13 14:13:27 2016 -0700 + + rgw: back off if error repo is empty + + Don't check it every time + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit dbf6dcb29faa853c2439457c767d550d5fcdc0f2) + +commit 8dcd2a1d93f08db6ede05b3028c3fc601defe932 +Author: Yehuda Sadeh +Date: Fri May 13 11:13:48 2016 -0700 + + rgw: data sync retries sync on prevously failed bucket shards + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f1ccc4cd973d16e7676b2374eeefe4ee6f6a4630) + +commit 3e5210ddedd1d98473e0bcff04a03958b0b850fc +Author: Yehuda Sadeh +Date: Wed May 11 15:59:27 2016 -0700 + + rgw: store failed data sync entries in separate omap + + so that we can reiterate over them + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b7deb7cb09304f1b0963139296bdb3abb22895ff) + +commit d08ca528ea869cf5a899fd684caecf030b96f5fe +Author: Yehuda Sadeh +Date: Fri May 13 11:20:49 2016 -0700 + + rgw: configurable window size to RGWOmapAppend + + We want to be able to disable buffering for certain operations. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 94ff675e2e7763650d14f62aaf1ff9ddb05cc380) + +commit 368e88409e57d6827c7b10f72761d0320cdb4dc2 +Author: Yehuda Sadeh +Date: Thu May 12 09:14:29 2016 -0700 + + rgw: add a cr for omap keys removal + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 20c1b4b8a3695b818c5c64d61d5ea4f84c48c782) + +commit 933fdefb56ce1ab883e6d3ee09c34fb2aa14808e +Author: Casey Bodley +Date: Mon May 16 11:03:45 2016 -0400 + + rgw: add_zone only clears master_zone if --master=false + + Fixes: http://tracker.ceph.com/issues/15901 + + Signed-off-by: Casey Bodley + (cherry picked from commit 40c4d150757cba4b05938c6c760ab9f0296c2ff6) + +commit e9f99166f7fc1b4b468e146a47ec9ac71541bec9 +Author: Orit Wasserman +Date: Fri May 20 09:52:01 2016 +0200 + + rgw: add missing metadata_heap pool to old zones + + Fixes: http://tracker.ceph.com/issues/15937 + + Signed-off-by: Orit Wasserman + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit b79856bd3f7db8498231d7f35b53b4bcb44a0422) + +commit 22662875320717d1ee939732f9cf7939db697106 +Author: Zhi Zhang +Date: Tue May 3 17:12:26 2016 +0800 + + mds: wrongly treat symlink inode as normal file/dir when symlink inode is stale on kcephfs + + Signed-off-by: Zhi Zhang + (cherry picked from commit 88b6d669e37924536152a552db46ef43a7353562) + +commit 0bdc8fd58ce790638c62bbe5264294ed5e1f710a +Author: Vikhyat Umrao +Date: Thu May 26 15:43:41 2016 +0530 + + rgw : cleanup radosgw-admin temp command as it was deprecated + and also implementation code for this command was removed in commit + 8d7c8828b02c46e119adc4b9e8f655551512fc2d + + Fixes: http://tracker.ceph.com/issues/16071 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit 949f917af80ae0bd9a5448129d3ce8979acf7e0b) + +commit 108638f366a70ca634a21b7fe4c9206368791514 +Author: Radoslaw Zarzynski +Date: Tue Mar 15 16:48:26 2016 +0100 + + rgw: handle initial slashes properly in BulkDelete of Swift API. + + Fixes: http://tracker.ceph.com/issues/15948 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 1dde062c21c3d6fa3cc01e8c922d7f89c6973bfa) + +commit a40cfe4df81c03b197dc31888f5d77927eeae7c5 +Author: Abhishek Lekshmanan +Date: Tue May 3 14:56:38 2016 +0200 + + rgw: remove -EEXIST error msg for ZoneCreate + + currently for any admin operations like user create etc. you would + always see: + + `RGWZoneParams::create(): error creating default zone params: (17) File + Exists` + + in stdout as the debug level is set to 0, which doesn't make much sense + for an end user, so skip the error message, callers of the function handle + the error message anyway, so we skip it here + + Fixes: http://tracker.ceph.com/issues/15720 + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit 2ace9d7f349ef09d3ed87fb216cda3e305ef706f) + +commit ff9c29a0e7a3719858ad94f632b6d1af3f3ec73e +Author: Radoslaw Zarzynski +Date: Mon May 16 18:24:55 2016 +0200 + + rgw: camelcase names of custom attributes in Swift's responses. + + Fixes: http://tracker.ceph.com/issues/15902 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit cfde4c42c0248b52ef1b855f7de79ee1e229e73f) + +commit 4a3c9f338fb0f2cee71f31652cf31a8ba61d5e4e +Author: Orit Wasserman +Date: Fri May 13 15:39:32 2016 +0200 + + rgw: fix realm pull and period pull for apache frontend + + add missing content-type and content-length headers + + Fixes: http://tracker.ceph.com/issues/15846 + + Signed-off-by: Orit Wasserman + (cherry picked from commit 8454ff1a91322697224332f0e6f0c7a9c856ec9a) + +commit a08caa6d3cbca0395a9ed5f487f9de33b615f59f +Author: Radoslaw Zarzynski +Date: Tue May 10 17:45:20 2016 +0200 + + rgw: handle errors properly during GET on Swift's DLO. + + Backport: Jewel, Hammer + Fixes: http://tracker.ceph.com/issues/15812 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 5ef0202a86a1e4cb56bd29d926555f114a1acdd8) + +commit 8163c4dd34d24249bf662c1110c49136ff335bf9 +Author: Yehuda Sadeh +Date: Tue May 10 15:34:19 2016 -0700 + + rgw: don't unregister request if request is not connected to manager + + That means that request is already complete and done with the manager. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 16c0605bf276b245fbf41cb3e000ecdf7b049e15) + +commit 70018bfe6f5e298791c34ae4ad6eac2140d6f761 +Author: Kefu Chai +Date: Tue May 3 17:20:04 2016 +0800 + + os/FileStore::sync_entry check for stop in after wait + + there is chance that the sync_entry() gets signaled in the + WaitInterval(max_interval) call because of sync_cond.Signal() call after + "stop = true" in umount(), so without this change, sync_entry() will + continue wait until min_interval is reached. this forces umount() to + wait even it has called d_force_sync(), and hence slows down the + progress of umount(). so we need to check for `stop` if we are not + signalled because of `force_sync`. + + Fixes: http://tracker.ceph.com/issues/15695 + Reported-by: Haomai Wang + Signed-off-by: Kefu Chai + (cherry picked from commit 65426a522d9d052fd7c38964f143087f277816c5) + +commit b2d1df129bc4403d98b66873ee6bca64ba1ea264 +Author: Loic Dachary +Date: Wed Apr 6 15:39:23 2016 +0200 + + tests: be more generous with test timeout + + When the thrasher is in action together with a validater (lockdep or + valgrind), a single test may hang for more than 360 seconds. Increase to + 1200: it does not matter if the value is large, only that it prevents + the test from hanging forever. + + Fixes: http://tracker.ceph.com/issues/15403 + + Signed-off-by: Loic Dachary + (cherry picked from commit af89474b3fb2c4aa63680aa6b30d71fad2fdd373) + +commit 6c1163cd6e39ba293be1be4a3f82e60fd054a348 +Author: Karol Mroz +Date: Mon Apr 25 17:24:07 2016 +0200 + + admin-socket: use chown instead of fchown + + fchown() returns success, but does not change asok file + ownership. chown() does. + + Signed-off-by: Karol Mroz + (cherry picked from commit 3d051a58cc117ff79d4cdd768603d1dec8ca7f60) + +commit 3963de78635d760924a36eeb1e8b7782dd5a276e +Author: Karol Mroz +Date: Sat Apr 23 13:55:18 2016 +0200 + + global-init: fixup inconsistent use of ceph ctx and conf + + Signed-off-by: Karol Mroz + (cherry picked from commit 088cc66a94886130df647976050c9d98fcd7572e) + +commit 2bc41945ca6a8e8e8e852ae0b7e888bc223dd7a3 +Author: Karol Mroz +Date: Sat Apr 23 13:54:45 2016 +0200 + + global-init: chown pid files + + Signed-off-by: Karol Mroz + (cherry picked from commit 9c82d8466a264c0f07fd3ec4cc58c1ddb88cc84f) + +commit 5681b78ac74728db70a89bc86845a74ff7d81217 +Author: Karol Mroz +Date: Sat Apr 23 13:47:58 2016 +0200 + + global-init: chown run dir + + Also performs log file chown() operations if permission drop has been + deferred. Documents that admin socket chown() happen in the common init + path. + + Signed-off-by: Karol Mroz + (cherry picked from commit 9d513793b3fe4b7e1402e36a4a675553edd6f317) + +commit c2075448f052ef7e49bc95c1f8240c2ff559b5ae +Author: Karol Mroz +Date: Sat Apr 23 13:40:08 2016 +0200 + + common-init: chown admin socket after service thread started + + Signed-off-by: Karol Mroz + (cherry picked from commit 206585c1d0fc6826c91f7830cde8ded86288abef) + +commit f7e6b3cf9c363a3a65da4e176c7324d027352420 +Author: Karol Mroz +Date: Sat Apr 23 13:36:01 2016 +0200 + + global-init: check init flags and set accordingly + + If init flags have changed between the time ceph context was + instantiated and now, update them. This can happen, for example, if + between manual global_pre_init() and global_init() calls, a daemon adds + modifies it's init flags. + + Signed-off-by: Karol Mroz + (cherry picked from commit a0ad13db7aba95537808a570ad4c90f6ac4ca0b8) + +commit d4afe947578a7ae4956a99fbc9350920e2239e0b +Author: Karol Mroz +Date: Sat Apr 23 13:35:02 2016 +0200 + + global-init: add a path chown wrapper function + + Signed-off-by: Karol Mroz + (cherry picked from commit 860977b105595dbb50320a30dc0edb922279cb00) + +commit 770ae9eecf5c8e064529efec29020f38a3675a63 +Author: Karol Mroz +Date: Sat Apr 23 13:32:45 2016 +0200 + + ceph-context: add function to set init flags + + Signed-off-by: Karol Mroz + (cherry picked from commit aecab14089bcfd33d6a18adabede6a54040460d4) + +commit 21f0216287485e6cce8811f324fee804ef733524 +Author: Peter Sabaini +Date: Fri Apr 8 00:30:55 2016 +0200 + + ceph-disk: Accept bcache devices as data disks + + Fixes: http://tracker.ceph.com/issues/13278 + Signed-off-by: Peter Sabaini diff --git a/doc/changelog/v10.2.4.txt b/doc/changelog/v10.2.4.txt new file mode 100644 index 00000000..f9b388f6 --- /dev/null +++ b/doc/changelog/v10.2.4.txt @@ -0,0 +1,4586 @@ +commit 9411351cc8ce9ee03fbd46225102fe3d28ddf611 +Author: Jenkins Build Slave User +Date: Mon Dec 5 22:15:20 2016 +0000 + + 10.2.4 + +commit a9444915a10038c35d5726485e110e56349fe3df +Merge: 4d9a28d 4d6f848 +Author: Loic Dachary +Date: Mon Dec 5 14:50:23 2016 +0100 + + Merge pull request #12167 from liewegas/wip-osdmap-encoding-jewel + + jewel: osd: condition OSDMap encoding on features + + Reviewed-by: Loic Dachary + +commit 4d9a28d26d84a1dab90d22a09b1a044c193a41ad +Merge: 6d17188 d194db8 +Author: Loic Dachary +Date: Sat Dec 3 10:57:18 2016 +0100 + + Merge pull request #12067 from SUSE/wip-17953-jewel + + jewel: mon: OSDMonitor: only reject MOSDBoot based on up_from if inst matches + + Reviewed-by: Samuel Just + +commit d194db826bb26483f847235bf062ba7b225be147 +Author: Samuel Just +Date: Mon Nov 14 11:50:23 2016 -0800 + + OSDMonitor: only reject MOSDBoot based on up_from if inst matches + + If the osd actually restarts, there is no guarrantee that the epoch will + advance past up_from. If the inst is different, it can't really be a + dup. At worst, it might be a queued MOSDBoot from a previous inst, but + in that case, the real inst would see itself marked up, and then back + down causing it to try booting again. + + Fixes: http://tracker.ceph.com/issues/17899 + Signed-off-by: Samuel Just + (cherry picked from commit 033ad5b46c0492134e72a8372e44e3ef1358d2df) + +commit 6d17188786ef7bd574dd8336d1e97e069db9de74 +Merge: b168c26 79be070 +Author: Josh Durgin +Date: Fri Dec 2 08:16:27 2016 -0800 + + Merge pull request #12207 from jdurgin/wip-librados-setxattr-overload-jewel + + librados: remove new setxattr overload to avoid breaking the C++ ABI + + Reviewed-by: Sage Weil + +commit b168c262f4c04d748b8a71aa6289e13385398764 +Merge: be5c828 00de014 +Author: Loic Dachary +Date: Fri Dec 2 10:01:39 2016 +0100 + + Merge pull request #12267 from dachary/wip-17904-jewel + + jewel: Error EINVAL: removing mon.a at 172.21.15.16:6789/0, there will be 1 monitors + + Reviewed-by: Samuel Just + +commit 00de0140410ec8457ca25920866f8409f0d54a10 +Author: Joao Eduardo Luis +Date: Wed Nov 2 15:38:36 2016 +0000 + + mon: MonmapMonitor: drop unnecessary 'goto' statements + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 20dcb597e35e6961db81831facefbe22cecddec3) + +commit 25f1b390525d975f90d0c7232b785415431d0f3e +Author: Joao Eduardo Luis +Date: Wed Nov 2 15:33:52 2016 +0000 + + mon: MonmapMonitor: return success when monitor will be removed + + Fixes: http://tracker.ceph.com/issues/17725 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit c9d46cfbf2512bc3495c6901de2b8f711bef9bae) + +commit be5c82829916c581765f7c0130b738395a27720c +Merge: 427f357 3cc29c6 +Author: Samuel Just +Date: Thu Dec 1 11:08:04 2016 -0800 + + Merge pull request #12001 from dachary/wip-17915-jewel + + jewel: filestore: can get stuck in an unbounded loop during scrub + + Reviewed-by: Samuel Just + +commit 79be070a4d442229d62b168ab87c95b662df1a9c +Author: Josh Durgin +Date: Mon Nov 28 22:06:56 2016 -0800 + + librados: remove new setxattr overload to avoid breaking the C++ ABI + + Fixes: http://tracker.ceph.com/issues/18058 + Signed-off-by: Josh Durgin + (cherry picked from commit b8ff781ddcf737882163cf56d7c9b11e815fb699) + + Conflicts: + src/include/rados/librados.hpp (trivial namespace change in removed line) + +commit 4d6f8481b22ecfa5e55b2a6f8f8660f2d0445030 +Author: Sage Weil +Date: Wed Nov 23 14:15:50 2016 -0500 + + crush: condition latest tunable encoding on features + + This avoids throwing hammer OSDMap encodings off. + + Signed-off-by: Sage Weil + (cherry picked from commit 9e5ff86487bd1f5979866b5e16300dd4a3979f97) + +commit bf96b30eaf552148249953ed4fb654cbb101c3d0 +Author: Sage Weil +Date: Mon Nov 28 14:35:53 2016 -0500 + + crush/CrushWrapper: encode with features + + No behavior change yet; just fixing callers. + + Signed-off-by: Sage Weil + (cherry picked from commit b7c9e055848c8aa951bc48c957cff3ef323ea441) + + [Updated write_file to use all feaetures] + [Updated OSDMonitor.cc to use mon->quorum_features instead of the + mon->get_quorum_con_featuers() helper] + [trivial conflict from removed write_file and read_file] + + Conflicts: + src/crush/CrushWrapper.h + src/mgr/PyModules.cc + src/mon/OSDMonitor.cc + src/tools/ceph_monstore_tool.cc + +commit c5f5b94fc2e18b38d05f00fec04d2d7e3c35c54c +Author: Sage Weil +Date: Mon Nov 28 14:35:24 2016 -0500 + + crush/CrushWrapper: drop unused 'lean' encode() argument + + No callers, no users. + + Signed-off-by: Sage Weil + (cherry picked from commit 638a38bbb55c07ad0358a35a56418e66874d1c26) + + Conflicts: + src/crush/CrushWrapper.h + + [trivial conflict due to removal of write_file and read_file] + +commit c66c556852b08e18d409e769eb7bd945c35e43cf +Author: Sage Weil +Date: Wed Nov 23 13:51:59 2016 -0500 + + osd/osd_types: encode pg_pool_t like hammer if features indicate hammer + + If the target features are missing the new OSDOp encoding, the + first feature we added post-hammer, encode like hammer. + + Signed-off-by: Sage Weil + (cherry picked from commit 2f8cfb632823ba4e63eaff394392d6af7979d7c8) + +commit 85caf34924bbfb0e872abd096ec571fff73035ae +Author: Sage Weil +Date: Wed Nov 23 13:48:35 2016 -0500 + + osd/osd_types: conditional pg_pool_t encoding + + Align this with decode. + + Signed-off-by: Sage Weil + (cherry picked from commit 01d9e8a20bbc3c039f67b040da95018e2c7b00b6) + +commit 3cc29c6736007c97f58ba3a77ae149225e96d42a +Author: Sage Weil +Date: Thu Nov 10 13:56:24 2016 -0500 + + os/filestore/HashIndex: fix list_by_hash_* termination on reaching end + + If we set *next to max, then the caller (a few lines up) doesn't terminate + the loop and will keep trying to list objects in every following hash + dir until it reaches the end of the collection. In fact, if we have an + end bound we will never to an efficient listing unless we hit the max + first. + + For one user, this was causing OSD suicides when scrub ran because it + wasn't able to list all objects before the timeout. In general, this would + cause scrub to stall a PG for a long time and slow down requests. + + Broken by refactor in 921c4586f165ce39c17ef8b579c548dc8f6f4500. + + Fixes: http://tracker.ceph.com/issues/17859 + Signed-off-by: Sage Weil + (cherry picked from commit c5180262a086c2d3895aff4bf0fb0ff9a6666149) + +commit 427f357f0eed32c9ce17590ae9303a94e8b710e7 +Merge: 0c38c46 8b595f5 +Author: Loic Dachary +Date: Wed Nov 9 20:53:18 2016 +0100 + + Merge pull request #11822 from SUSE/wip-17816-jewel + + jewel: Missing comma in ceph-create-keys causes concatenation of arguments + + Reviewed-by: Loic Dachary + +commit 8b595f567407be2a759e4987f33ce79e3763ea49 +Author: Patrick Donnelly +Date: Sun Sep 18 16:26:29 2016 -0400 + + ceph-create-keys: add missing argument comma + + The arguments "get" and "client.admin" were being concatenated into + "getclient.admin". + + Found using ceph-ansible + strace: + + 13031 execve("/usr/bin/ceph", ["ceph", "--cluster=ceph", "--name=mon.", "--keyring=/var/lib/ceph/mon/ceph-ceph-mon0/keyring", "auth", "getclient.admin"], ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin", "LANG=en_US.UTF-8", "CLUSTER=ceph", "TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=134217728", "CEPH_AUTO_RESTART_ON_UPGRADE=no"] + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 482022233d845b75876b04ca23fb137281a9f6ab) + +commit 0c38c464fff2280a6345b470f1c83aa6229776cc +Merge: eb67259 eea546f +Author: Loic Dachary +Date: Mon Nov 7 14:39:48 2016 +0100 + + Merge pull request #11679 from dachary/wip-17734-jewel + + jewel: Upgrading 0.94.6 -> 0.94.9 saturating mon node networking + + Reviewed-by: Kefu Chai + +commit eea546fafcf22573e33332ce91e3d112202ac207 +Author: xie xingguo +Date: Sat May 21 14:11:55 2016 +0800 + + mon: expose require_jewel_osds flag to user + + Signed-off-by: xie xingguo + (cherry picked from commit 83ffc2b761742d563777e50959faa6a6010edae0) + +commit f8ee076ac4559dc9dbf828121618e78ad11687fd +Author: Sage Weil +Date: Fri Oct 21 12:25:08 2016 -0400 + + mon/OSDMonitor: encode OSDMap::Incremental with same features as OSDMap + + The Incremental encode stashes encode_features, which is + what we use later to reencode the updated OSDMap. Use + the same features so that the encoding will match! + + Signed-off-by: Sage Weil + (cherry picked from commit 916ca6a0aaa32bd9c2b449e0d7fbd312c29f06e5) + +commit 1f629b2ba91c793db34614f319d12594646f5ce2 +Author: Sage Weil +Date: Thu Oct 13 12:16:40 2016 -0400 + + mon/OSDMonitor: health warn if require_{jewel,kraken} flags aren't set + + We want to prompt users to set these flags as soon as their + upgrades complete. + + Signed-off-by: Sage Weil + (cherry picked from commit 12e508313dbd5d1d38c76859cb7de2ce22404e12) + + Conflicts: + src/mon/OSDMonitor.cc: remove references to kraken + + if ((osdmap.get_up_osd_features() & CEPH_FEATURE_SERVER_KRAKEN) && + !osdmap.test_flag(CEPH_OSDMAP_REQUIRE_KRAKEN)) { + string msg = "all OSDs are running kraken or later but the" + " 'require_kraken_osds' osdmap flag is not set"; + summary.push_back(make_pair(HEALTH_WARN, msg)); + if (detail) { + detail->push_back(make_pair(HEALTH_WARN, msg)); + } + } else + +commit 34555f11b068eb335866d4b536c9e10fe1de62e5 +Author: Sage Weil +Date: Fri Sep 30 18:02:39 2016 -0400 + + mon/OSDMonitor: encode canonical full osdmap based on osdmap flags + + If the JEWEL or KRAKEN flags aren't set, encode the full map without + those features. This ensure that older OSDs in the cluster will be able + to correctly encode the full map with a matching CRC. At least, that is + true as long as the encoding changes are guarded by those feature bits. + That appears to be true currently, and we plan to ensure that it is true + in the future as well. + + Signed-off-by: Sage Weil + (cherry picked from commit 5e0daf6642011bf1222c4dc20aa284966fa5df9f) + + Conflicts: + src/mon/OSDMonitor.cc: removed reference to kraken + + if (!tmp.test_flag(CEPH_OSDMAP_REQUIRE_KRAKEN)) { + dout(10) << __func__ << " encoding without feature SERVER_KRAKEN" << dendl; + features &= ~CEPH_FEATURE_SERVER_KRAKEN; + } + +commit eb672598ad8209dcb7b7454fea31f921d255af1f +Merge: 5e079cf d48e603 +Author: Loic Dachary +Date: Fri Nov 4 15:31:05 2016 +0100 + + Merge pull request #11742 from tchaikov/wip-17728-jewel + + jewel: test/ceph_test_msgr: do not use Message::middle for holding transient… + + Reviewed-by: Loic Dachary + +commit 5e079cfd46e4649e0eb24b15cb2c45887f5762fe +Merge: 7b3ec11 eb30cc5 +Author: Loic Dachary +Date: Thu Nov 3 15:54:28 2016 +0100 + + Merge pull request #11746 from liewegas/wip-post-file-key-jewel + + jewel: ceph-post-file: use new ssh key + + Reviewed-by: Loic Dachary + Reviewed-by: Brad Hubbard + +commit eb30cc5ad6b439417298b7c615ff8ae15bf00fa2 +Author: David Galloway +Date: Fri Aug 19 16:11:32 2016 -0400 + + ceph-post-file: Ignore keys offered by ssh-agent + + In my case, I had multiple private keys in ssh-agent which resulted in + the sftp connection failing despite explicitly specifying the private + key to use + + Signed-off-by: David Galloway + (cherry picked from commit a61fcb2eac35a149b49efdc9b2ffa675afb968e8) + +commit 43282b0657ff19060dad25df79981ce17a76900f +Author: Sage Weil +Date: Wed Nov 2 09:37:41 2016 -0400 + + ceph-post-file: migrate to RSA SSH keys + + DSA keys are being deprecated: http://www.openssh.com/legacy.html + + drop.ceph.com will continue to allow the old DSA key but eventually, + users submitting logs using ceph-post-file will run into issues when + OpenSSH completely drops support for the algorithm. + + Fixes: http://tracker.ceph.com/issues/14267 + + Signed-off-by: David Galloway + (cherry picked from commit ecd02bf3f1c7a07a3271b2736a9e12dd6e897821) + + # Conflicts: + # src/CMakeLists.txt + +commit d48e603d6c6715fbc127003226d327b79f30713a +Author: Sage Weil +Date: Sun Oct 23 18:40:57 2016 -0500 + + msg: adjust byte_throttler from Message::encode + + Normally we never call encode on a message that has a byte_throttler set + because we only use it for messages we received. However, for forwarded + messages that we clear_payload() before resending, we *do* reencode, and in + that case we need to retake the appropriate number of bytes from the + throttler--just like we release them in clear_payload(). + + Signed-off-by: Sage Weil + (cherry picked from commit a9651282f7c16df872757b82d3d2995d92458d5c) + +commit 1bc616138fea897f36c1c25851f87df91404011c +Author: Sage Weil +Date: Sun Oct 23 18:10:00 2016 -0500 + + msg/Message: fix set_middle vs throttler + + Signed-off-by: Sage Weil + (cherry picked from commit e7bf50b27a495ed75def67025d1ceca83861ba35) + +commit 5d5b5952322bb6a571c9cd58fd3e683eb32a2509 +Author: Sage Weil +Date: Sat Oct 22 14:01:34 2016 -0400 + + messages/MForward: reencode forwarded message if target has differing features + + This ensures we reencode the payload with the + appropriate set of features if the client, us, or the + target do not have identical features. Otherwise we + may forward an encoding with more features than the + target can handle. + + Signed-off-by: Sage Weil + (cherry picked from commit a433455e59067a844c3df4a0d6080db2ceb4ec59) + +commit e068c9206a3d618b3b04975d03f61ca64a92c4d4 +Author: Sage Weil +Date: Wed Sep 28 11:44:28 2016 -0400 + + messages/MForward: fix encoding features + + We were encoding the message with the sending client's + features, which makes no sense: we need to encode with + the recipient's features so that it can decode the + message. + + The simplest way to fix this is to rip out the bizarre + msg_bl handling code and simply keep a decoded Message + reference, and encode it when we send. + + We encode the encapsulated message with the intersection + of the target mon's features and the sending client's + features. This probably doesn't matter, but it's + conceivable that there is some feature-dependent + behavior in the message encode/decode that is important. + + Fixes: http://tracker.ceph.com/issues/17365 + Signed-off-by: Sage Weil + (cherry picked from commit d4f5e88f36e5388ae9e062c4bc49ac1c684a3f3c) + +commit 158b003751d8bedafdca60d859aef67e69d9a732 +Author: Michal Jarzabek +Date: Sat Jun 4 23:24:06 2016 +0100 + + all: add const to operator<< param + + Signed-off-by: Michal Jarzabek + (cherry picked from commit 0a157e088b2e5eb66177421f19f559ca427240eb) + +commit 3e1edde98610b11b94c59d23de979d6cd79dd8fe +Author: Kefu Chai +Date: Sat Oct 29 01:54:58 2016 +0800 + + test/ceph_test_msgr: do not use Message::middle for holding transient data + + Message::middle is used for holding encoded data, so we we can not stuff + it with payload and leave the "payload" field empty. this change + refactors the ceph_test_msgr by introducing a Payload class which + encodes all test data in it. + + Fixes: http://tracker.ceph.com/issues/17728 + Signed-off-by: Kefu Chai + (cherry picked from commit 56896a7ed20869ce91ade4c77c1d6cbab8d50de1) + Conflicts: + src/test/msgr/test_msgr.cc: do not use the new-style DENC() + framework for implementing the encoder of Payload class. DENC() was + introduced after jewel was released. + +commit 8f75bd64768b6984c537dd15b5d9159070b86d91 +Author: Kefu Chai +Date: Mon Aug 8 23:20:58 2016 +0800 + + test/ceph_test_msgr: fix circular locking dependency + + * do not acquire lock when sending message + * remove lock in session + * reduce the scope guarded by locks for better performance. + + Fixes: http://tracker.ceph.com/issues/16955 + Signed-off-by: Kefu Chai + (cherry picked from commit cf1801c260c42aa93850538eea7a194440ebe350) + +commit f960db4646a9535bcee6d53740811b84e0678c93 +Author: Haomai Wang +Date: Thu Jul 7 14:59:51 2016 +0800 + + ceph_test_msgr: use ceph log infrastructure to output + + because we want to get the right log sequence which mixes ceph logginer and + cerr. Otherwise, cerr output make the logs a little disordered. + + Signed-off-by: Haomai Wang + (cherry picked from commit d1268a6aa895ee93cd9fee6fc6c759317e681a85) + +commit 7b3ec119cb968a26526ad95355c5bf7525fb5346 +Merge: 5efb6b1 779af22 +Author: Josh Durgin +Date: Tue Nov 1 17:05:27 2016 -0700 + + Merge pull request #11728 from ceph/wip-librados-upgrade-jewel + + qa: remove EnumerateObjects from librados upgrade tests + +commit 5efb6b1c2c9eb68f479446e7b42cd8945a18dd53 +Merge: 3c9fe54 39b8e78 +Author: Loic Dachary +Date: Fri Oct 28 14:29:20 2016 +0200 + + Merge pull request #11669 from ceph/wip-jewel-11566 + + rgw: fix put_acls for objects starting and ending with underscore + + Reviewed-by: Loic Dachary + +commit 3c9fe545dccf13413bb491098c089d3e4a76bcd2 +Merge: 5ca8791 6356664 +Author: Loic Dachary +Date: Thu Oct 27 21:40:26 2016 +0200 + + Merge pull request #11472 from dachary/wip-17510-jewel + + jewel: ERROR: got unexpected error when trying to read object: -2 + + Reviewed-by: Yehuda Sadeh + +commit 39b8e783defb930b1dd8eeecdfee68d0d886d03b +Author: Orit Wasserman +Date: Wed Oct 19 21:51:01 2016 +0200 + + rgw: fix put_acls for objects starting and ending with underscore + + Fixes: http://tracker.ceph.com/issues/17625 + Signed-off-by: Orit Wasserman + (cherry picked from commit 14d4d912c7b47c56b16ae0bdc6bc08d208de3461) + +commit 5ca879114fcc98b906cac64a5ef5cb2a8568cb60 +Merge: ed9a824 dc2ffda +Author: Matt Benjamin +Date: Thu Oct 27 13:52:22 2016 -0400 + + Merge pull request #11662 from linuxbox2/jewel-17635 + + jewel: rgw: handle empty POST condition + +commit ed9a824f2075e15ac245b9aac683cb28183ecd3a +Merge: e08b0f3 f5e37ab +Author: Loic Dachary +Date: Thu Oct 27 16:48:43 2016 +0200 + + Merge pull request #11634 from dillaman/wip-17590-jewel + + jewel: journal: do not prematurely flag object recorder as closed + + Reviewed-by: Jason Dillaman + +commit 779af22fc920f1fdfdd3fa2b01d8587088372bd4 +Author: Josh Durgin +Date: Wed Oct 26 16:33:53 2016 -0700 + + qa: remove EnumerateObjects from librados upgrade tests + + These rely on new rados functionality not present in jewel + + Signed-off-by: Josh Durgin + +commit e08b0f308f5af45c1b1867ab5b757486bba51333 +Merge: 0aee633 4cb83c1 +Author: Loic Dachary +Date: Wed Oct 26 23:00:35 2016 +0200 + + Merge pull request #11644 from ceph/wip-17695 + + jewel: librbd: discard after write can result in assertion failure + + Reviewed-by: Jason Dillaman + +commit 4cb83c14dbe09d4b371f7b728d9b5c0549e59f1a +Author: Jason Dillaman +Date: Tue Oct 25 09:43:06 2016 -0400 + + librbd: discard after write can result in assertion failure + + With journaling enabled, the proper lock is not held when handling + a discard after write to overlapping extents. This issue is only present + on the jewel branch due to design changes on the master branch. + + Fixes: http://tracker.ceph.com/issues/17695 + Signed-off-by: Jason Dillaman + +commit dc2ffda7819d2ebeed3526d9e6da8f53221818de +Author: Yehuda Sadeh +Date: Thu Oct 20 10:17:36 2016 -0700 + + rgw: handle empty POST condition + + Fixes: http://tracker.ceph.com/issues/17635 + + Before accessing json entity, need to check that iterator is valid. + If there is no entry return appropriate error code. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 23cb642243e09ca4a8e104f62a3bb7b2cbb6ea12) + +commit 0aee6331ad93a3caf212b84412bb648171758fff +Merge: 06f7d7a cd99a64 +Author: Loic Dachary +Date: Wed Oct 26 16:47:03 2016 +0200 + + Merge pull request #11657 from dachary/wip-17707-jewel + + jewel: ceph-disk: using a regular file as a journal fails + + Reviewed-by: Kefu Chai + +commit 06f7d7a9b2403cf8b7af5301dae575d6f21c71ce +Merge: 7ff2c10 7964187 +Author: Loic Dachary +Date: Wed Oct 26 14:04:20 2016 +0200 + + Merge pull request #11321 from linuxbox2/jewel-11051 + + jewel: rgw: Do not archive metadata by default + + Reviewed-by: Matt Benjamin + +commit 7ff2c108ea12451b6dcb25dab4574f2de68162d1 +Merge: 0fb486d 2f9a5be +Author: Loic Dachary +Date: Wed Oct 26 11:55:49 2016 +0200 + + Merge pull request #11626 from ceph/wip-jewel-11567 + + jewel: don't loop forever when reading data from 0 sized segment. + + Reviewed-by: Orit Wasserman + +commit 0fb486d59e1574e936564e4b048a089dee8b267b +Merge: bf5c47a 86eef27 +Author: Loic Dachary +Date: Wed Oct 26 11:39:40 2016 +0200 + + Merge pull request #11478 from dachary/wip-17312-jewel + + jewel: build/ops: allow building RGW with LDAP disabled + + Reviewed-by: Orit Wasserman + +commit cd99a642a088c7cd010e45a81d6680cdfca16ca6 +Author: Jayashree Candadai +Date: Fri Oct 21 13:52:05 2016 -0400 + + ceph-disk: allow using a regular file as a journal + + Because of a missing return, ceph-disk prepare would fail if given a + regular file as a journal. If the journal file does not exist, ceph-disk + will create it but fail to ensure that the ceph user owns it. The + symlink to the journal file is not set when the journal file is + specified on the command line and the journal file does not exist at + all. The ceph-osd daemon will silently create it as a file but it will + not be the file given in argument. + + Add a test case to verify using a regular file as a journal works as + expected. + + Fixes: http://tracker.ceph.com/issues/17662 + + Signed-off-by: Jayashree Candadai + Signed-off-by: Loic Dachary + (cherry picked from commit db917d50eb5f86a07a5487e130f46a6b1d27672a) + +commit a80040230cddc395809d2323392c87a4a1fef923 +Author: Anirudha Bose +Date: Wed Aug 17 12:19:33 2016 +0530 + + ceph-disk: PEP8ify + + Signed-off-by: Anirudha Bose + (cherry picked from commit f7a15ccfa2cc214c3688a2b41ac45be1abfb7700) + + Conflicts: + src/ceph-disk/setup.py: python 2.7 restriction not backported + +commit e200b17016a1a7cd103affde2d2b265916755498 +Author: Anirudha Bose +Date: Wed Aug 17 12:15:25 2016 +0530 + + ceph-disk: Set space_symlink to the path, not file object + + Signed-off-by: Anirudha Bose + (cherry picked from commit d290454cf5f660c1681eefd70a38e79da683525f) + +commit 9191825c06b3d92e2caa26c9efdb69a79cc3964b +Author: Anirudha Bose +Date: Wed Aug 17 12:13:53 2016 +0530 + + ceph-disk: Use os.path.isabs instead of .startswith('/') + + Signed-off-by: Anirudha Bose + (cherry picked from commit 6f795356de00dd7c33282183b11a03da800fde7b) + +commit f1c2de768535ce18259d4fc187cd370766c1e6cf +Author: Anirudha Bose +Date: Sun Jun 19 05:10:27 2016 +0530 + + ceph-disk: Use context manager with FileLock + + acquire and release methods of FileLock are dropped + + Signed-off-by: Anirudha Bose + (cherry picked from commit c1011d514ce0c7d340a5acd6f9c640165e169156) + +commit 26cb5b6bfbd6eee46bfa3cf005b1cd9f06b0e262 +Author: Anirudha Bose +Date: Sun Jun 19 04:05:42 2016 +0530 + + ceph-disk: Fix bug in FileLock + + Python fcntl.lockf() accepts a file descriptor, not a file object + + Signed-off-by: Anirudha Bose + (cherry picked from commit df9cc2ce938a969f4044b63fd80030d00f64f060) + +commit 91a9ca374f646966e31b015928a2cc60bc5225aa +Author: Anirudha Bose +Date: Thu Jun 16 16:37:00 2016 +0530 + + ceph-disk: Use true integer division in get_dev_size + + Signed-off-by: Anirudha Bose + (cherry picked from commit f1bb72c82806cc03e85e0b19c83d61409c6b2d51) + +commit 2373ccb7a991069406e344b91fa70c0b2d1aa5e0 +Author: Anirudha Bose +Date: Tue Jun 14 21:42:02 2016 +0530 + + ceph-disk: Compatibility fixes for Python 3 + + ceph-disk: Misc cleanups + + Signed-off-by: Anirudha Bose + (cherry picked from commit d0e29c74f84a2ed3014a516c0106172619314bdc) + + Conflicts: + src/ceph-disk/tox.ini: python3 is not supported in jewel + +commit 79cf6330d67ad52af5690f4d4efd29aa2722acb2 +Author: Shylesh Kumar +Date: Thu Jul 7 20:45:57 2016 +0530 + + ceph-disk: change ownership of init file to ceph:ceph + + Fixes: http://tracker.ceph.com/issues/16280 + Signed-off-by: Shylesh Kumar + (cherry picked from commit aab9d03e1b50ba10a383663088400b9fabe306cb) + +commit 796418746ecd2a4971e365499c6952e131e74913 +Author: root +Date: Mon Sep 12 14:30:43 2016 +0530 + + rgw: Do not archive metadata by default + + Fixes: http://tracker.ceph.com/issues/17256 + Signed-off-by: Pavan Rallabhandi + Signed-off-by: Matt Benjamin + + (cherry picked from commit c617ea83e0cca0061af18e0811c7ef8b4e836519) + +commit bf5c47a28abe6d91dfdace8d6803a7016bbf02fb +Merge: 7714689 1eedf18 +Author: Loic Dachary +Date: Tue Oct 25 15:49:55 2016 +0200 + + Merge pull request #11642 from tchaikov/wip-17685-jewel + + jewel: mon: fix missing osd metadata (again) + + Reviewed-by: Loic Dachary + +commit 77146891ab254bc796e38e2a45b8500c0119745f +Merge: 3ccc17b e8e1acb +Author: Loic Dachary +Date: Tue Oct 25 15:40:01 2016 +0200 + + Merge pull request #11467 from dachary/wip-17262-jewel + + jewel: rbd-nbd IO hang + + Reviewed-by: Jason Dillaman + +commit 1eedf181176ce75212a8cfbb87ac927350a826ed +Author: John Spray +Date: Wed May 25 17:56:51 2016 +0100 + + mon: fix missing osd metadata (again) + + The JSON output was getting broken by continuing + in the wrong place. + + Fixes: http://tracker.ceph.com/issues/17685 + Signed-off-by: John Spray + (cherry picked from commit c5700ce4b45b3a385fe4c2111da852bea7d86da2) + +commit f5e37abefcb015b2cb58295cfdf109fd6f5833b0 +Author: Jason Dillaman +Date: Mon Oct 17 09:48:20 2016 -0400 + + journal: do not prematurely flag object recorder as closed + + Fixes: http://tracker.ceph.com/issues/17590 + Signed-off-by: Jason Dillaman + (cherry picked from commit 2be6367cb0119d86dfecfa94eb4a3a102c40162a) + +commit 2f9a5beb9a903220b70a780b30564d9741e9f0e5 +Author: Marcus Watts +Date: Thu Oct 13 21:12:36 2016 -0400 + + Don't loop forever when reading data from 0 sized segment. + + The 0 sized segment can arise depending on how + the client uploads the object in the first place. + The cpu loop then happens during a swift `GET'. + + Signed-off-by: Marcus Watts + (cherry picked from commit 46c5f9773246522e66bb2cca49345d0b62a16c42) + +commit 3ccc17b81d2794406d803ff4210e930a1fa67455 +Merge: 112b89d 0b30a1d +Author: Loic Dachary +Date: Mon Oct 24 12:03:13 2016 +0200 + + Merge pull request #10757 from dachary/wip-17056-jewel + + jewel: mon/osdmonitor: decouple adjust_heartbeat_grace and min_down_reporters + + Reviewed-by: Kefu Chai + +commit 112b89dc315dd1240d68eb50fba1438057002327 +Merge: 7ab1e02 0dcefd2 +Author: Loic Dachary +Date: Mon Oct 24 12:03:01 2016 +0200 + + Merge pull request #10759 from dachary/wip-16866-jewel + + jewel: OSD: ceph osd df does not show summarized info correctly if one or more OSDs are out + + Reviewed-by: Kefu Chai + +commit 7ab1e0275101a30c2d318bcd55787f61c687328f +Merge: e053b20 4f9e02c +Author: Loic Dachary +Date: Mon Oct 24 11:55:41 2016 +0200 + + Merge pull request #11590 from dachary/wip-17642-jewel + + jewel: TestJournalReplay: sporadic assert(m_state == STATE_READY || m_state == STATE_STOPPING) failure + + Reviewed-by: Loic Dachary + +commit 4f9e02c40ac5359f344d29f20332ec6ed8575b8e +Author: Jason Dillaman +Date: Thu Oct 13 10:04:24 2016 -0400 + + test: TestJournalReplay test cases need to wait for committed journal event + + Fixes: http://tracker.ceph.com/issues/17566 + Signed-off-by: Jason Dillaman + (cherry picked from commit 1bdf7a425eb7436838c9445ea2c8ab42dfd3a1b6) + +commit e8e1acb1d5154b749d251efa88b45e8ad3edb2bb +Author: Jason Dillaman +Date: Thu Sep 8 11:51:34 2016 -0400 + + librbd: ignore cache busy errors when shrinking an image + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4ce663845679dc35f2f15b893c6f988c4a60b25b) + + Conflicts: + src/test/librbd/operation/test_mock_ResizeRequest.cc: + when_resize does not have the allow_shrink argument because + d1f2c557b2c039730baca9efa3f5244bc19dcb1a has not been + backported + +commit ba2e87e0443069b0552b698cc7a508898a3f585d +Author: Jason Dillaman +Date: Thu Sep 8 09:59:37 2016 -0400 + + librbd: invalidate cache before trimming image + + Any potential writeback outside the extents of a shrunk image + would result in orphaned objects. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3f93a1917437ba7b69b306e4ff971b79e8b79c89) + +commit d7c0873ea77234b7b736080c3de4012d2f6adaee +Author: Jason Dillaman +Date: Wed Sep 7 11:49:26 2016 -0400 + + rbd-nbd: mask out-of-bounds IO errors caused by image shrink + + Signed-off-by: Jason Dillaman + (cherry picked from commit c6cfb616a846959a2cd1c0e540b14668c61a2afd) + +commit 0ce342d39f359d23c92ab94efb910b84a634094a +Author: Jason Dillaman +Date: Mon Sep 5 10:01:45 2016 -0400 + + rbd-nbd: fix kernel deadlock during teuthology testing + + Fixes: http://tracker.ceph.com/issues/16921 + Signed-off-by: Jason Dillaman + (cherry picked from commit ce7c1520a8019f011fa34dd898af317f78974577) + +commit e053b2085b0d0be0e8c9912c82c7142bb0871783 +Merge: f6d7290 caf08d7 +Author: Casey Bodley +Date: Thu Oct 20 11:17:49 2016 -0400 + + Merge pull request #11519 from dachary/wip-17576-jewel + + jewel: RGW loses realm/period/zonegroup/zone data: period overwritten if somewhere in the cluster is still running Hammer + + Reviewed-by: Casey Bodley + +commit f6d729082359b450950513080c9c08461d6f557c +Merge: 9e9a38d 40689d1 +Author: Casey Bodley +Date: Thu Oct 20 11:17:22 2016 -0400 + + Merge pull request #11471 from dachary/wip-17511-jewel + + jewel: s3tests-test-readwrite failing with 500 + + Reviewed-by: Casey Bodley + +commit 9e9a38df303749147a638f0df42ad875c829d294 +Merge: 9b0fa2b 5a53ffa +Author: Casey Bodley +Date: Thu Oct 20 11:16:38 2016 -0400 + + Merge pull request #11469 from dachary/wip-17538-jewel + + jewel: rgw:user email can modify to empty when it has values + + Reviewed-by: Casey Bodley + +commit 9b0fa2b27386dd0c09aead832c9f049ef10b26fb +Merge: 0eac635 4babd3f +Author: Loic Dachary +Date: Thu Oct 20 16:31:10 2016 +0200 + + Merge pull request #11466 from dachary/wip-17290-jewel + + jewel: ImageWatcher: use after free within C_UnwatchAndFlush + + Reviewed-by: Jason Dillaman + +commit 0eac63545da063a8bbab4b1ea6c9a765023617fc +Merge: 51d5ed0 b73356b +Author: Loic Dachary +Date: Thu Oct 20 16:30:53 2016 +0200 + + Merge pull request #11464 from dachary/wip-17373-jewel + + jewel: image.stat() call in librbdpy fails sometimes + + Reviewed-by: Jason Dillaman + +commit 51d5ed0ddbe7e1018be1fa46c912d2e0ca07a984 +Merge: d2150fb b410c8e +Author: Loic Dachary +Date: Thu Oct 20 16:30:44 2016 +0200 + + Merge pull request #11463 from dachary/wip-17384-jewel + + jewel: helgrind: TestLibRBD.TestIOPP potential deadlock closing an image with read-ahead enabled + + Reviewed-by: Jason Dillaman + +commit d2150fb54e894039e03855352708fad6b08d75d0 +Merge: f8989ef 32d84e0 +Author: Loic Dachary +Date: Thu Oct 20 16:30:32 2016 +0200 + + Merge pull request #11462 from dachary/wip-17404-jewel + + jewel: update_features API needs to support backwards/forward compatibility + + Reviewed-by: Jason Dillaman + +commit f8989ef7a79dd37f58fc9bddbd1e3fcd83e14f42 +Merge: ac2ce6d 7d6801b +Author: Loic Dachary +Date: Thu Oct 20 16:28:18 2016 +0200 + + Merge pull request #11459 from dachary/wip-17483-jewel + + jewel: RBD should restrict mirror enable/disable actions on parents/clones + + Reviewed-by: Jason Dillaman + +commit ac2ce6dcda27a70a45e17270cab4d5e9a856abc7 +Merge: cd48521 391936a +Author: Loic Dachary +Date: Thu Oct 20 16:27:36 2016 +0200 + + Merge pull request #11460 from dachary/wip-17482-jewel + + jewel: Enable/Disable of features is allowed even the features are already enabled/disabled + + Reviewed-by: Jason Dillaman + +commit cd48521cde8bb69b6879977f51404a3014571a84 +Merge: 410a368 dd93e00 +Author: Loic Dachary +Date: Thu Oct 20 16:26:53 2016 +0200 + + Merge pull request #11461 from dachary/wip-17481-jewel + + jewel: Proxied operations shouldn't result in error messages if replayed + + Reviewed-by: Jason Dillaman + +commit 410a368e9bdf31f6512be5e9a783c7990ba9003f +Merge: 07a8d8a d66bb7a +Author: Loic Dachary +Date: Thu Oct 20 12:42:01 2016 +0200 + + Merge pull request #11431 from ceph/wip-jewel-tarball + + jewel: build/ops: include more files in "make dist" tarball + + Reviewed-by: Nathan Cutler + Reviewed-by: Boris Ranto + +commit 07a8d8aedfa101a52e4764cc211fd2a1d8f36582 +Merge: 62f7f64 50fd48f +Author: Loic Dachary +Date: Thu Oct 20 11:48:49 2016 +0200 + + Merge pull request #11474 from dachary/wip-17350-jewel + + jewel: rgw:response information is error when geting token of swift account + + Reviewed-by: Orit Wasserman + +commit 62f7f646b85f81c0c812f3d5adc1926d4cee3f7d +Merge: 638590c 91bd342 +Author: Loic Dachary +Date: Thu Oct 20 11:47:43 2016 +0200 + + Merge pull request #11492 from SUSE/wip-17575-jewel + + jewel: aarch64: Compiler-based detection of crc32 extended CPU type is broken + + Reviewed-by: Kefu Chai + +commit 638590c97a5365df118c72aab2e510ffcd2a9470 +Merge: c58d626 6575545 +Author: Loic Dachary +Date: Thu Oct 20 11:28:29 2016 +0200 + + Merge pull request #11475 from dachary/wip-17349-jewel + + jewel: Modification for TEST S3 ACCESS section in INSTALL CEPH OBJECT GATEWAY page + + Reviewed-by: Loic Dachary + +commit c58d62677449b08023b761762a52cc4ceaf69def +Merge: 3cb4bf4 7423661 +Author: Loic Dachary +Date: Thu Oct 20 11:27:54 2016 +0200 + + Merge pull request #11473 from dachary/wip-17509-jewel + + jewel: Config parameter rgw keystone make new tenants in radosgw multitenancy does not work + + Reviewed-by: Loic Dachary + +commit 3cb4bf43b923a71872525b0222b4b0fc73664fb0 +Merge: fb74b16 de672a0 +Author: Loic Dachary +Date: Thu Oct 20 11:27:18 2016 +0200 + + Merge pull request #11201 from ceph/wip-backport-logrotate-jewel + + jewel: build/ops: backport 'logrotate: Run as root/ceph' + + Reviewed-by: Loic Dachary + +commit fb74b1688603c0351e80ed504be4faad320a67e6 +Merge: 9d3373d 25a35d4 +Author: Loic Dachary +Date: Thu Oct 20 11:22:45 2016 +0200 + + Merge pull request #11126 from tchaikov/wip-17179-jewel + + jewel: add a tool to rebuild mon store from OSD + + Reviewed-by: huanwen ren + Reviewed-by: Ken Dreyer + +commit 9d3373d71f8af16a8f0220aa0d0682e2f3bb5a8c +Merge: 0c83eb3 eb6c3cb +Author: Loic Dachary +Date: Thu Oct 20 09:39:15 2016 +0200 + + Merge pull request #11563 from ceph/wip-jewel-acl-underscore + + rgw: fix regression with handling double underscore + + Reviewed-by: Loic Dachary + +commit eb6c3cbcc6cadd4eff9de0d6332f42c785486f7b +Author: Yehuda Sadeh +Date: Thu Sep 29 18:35:59 2016 -0700 + + rgw: set correct instance on the object + + Fixes: http://tracker.ceph.com/issues/17443 + + This was broken by commit bc840afafdfe5e528e5c1b711e71420ac3cb5a67 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d2ada35c8c0d938a704ecf9974988ea30a9c0105) + +commit 0c83eb355e989fb6ed38a3b82f9705fd5d700e89 +Merge: 7496388 f400ff2 +Author: Loic Dachary +Date: Wed Oct 19 23:14:23 2016 +0200 + + Merge pull request #11548 from dachary/wip-17609-jewel + + jewel: tests: ceph-disk must ignore debug monc + + Reviewed-by: Sage Weil + +commit 7496388468688763cab7fab9cc2f61cfaeeb4e7c +Merge: f8055a9 d205b74 +Author: Loic Dachary +Date: Wed Oct 19 23:11:24 2016 +0200 + + Merge pull request #11411 from dachary/wip-17245-jewel + + jewel: tests: scsi_debug fails /dev/disk/by-partuuid + + Reviewed-by: Loic Dachary + +commit f8055a9453e228079a8c61ba398e93e9fbdcf55a +Merge: 3b2d360 dea93dc +Author: Loic Dachary +Date: Wed Oct 19 23:11:04 2016 +0200 + + Merge pull request #10884 from dachary/wip-17149-jewel + + jewel: ceph-disk: expected systemd unit failures are confusing + + Reviewed-by: Loic Dachary + +commit 084108e440b7b9b8f0d36282dd4eba64a4b96f4b +Author: Orit Wasserman +Date: Wed Aug 31 22:25:57 2016 +0200 + + rgw: fix regression with handling double underscore + + Fixes: http://tracker.ceph.com/issues/16856 + Signed-off-by: Orit Wasserman + (cherry picked from commit bc840afafdfe5e528e5c1b711e71420ac3cb5a67) + +commit 3b2d36039305bc070ac1eaf5142d5b5bfa7accb1 +Merge: d15d6dc 483d8c4 +Author: Loic Dachary +Date: Wed Oct 19 16:50:44 2016 +0200 + + Merge pull request #11408 from dachary/wip-17345-jewel + + jewel: Ceph Status - Segmentation Fault + + Reviewed-by: Kefu Chai + +commit d15d6dc896d0ac30ddff4354600d7c2ecb61b54a +Merge: d4197dc 5ae4f31 +Author: Loic Dachary +Date: Wed Oct 19 16:50:22 2016 +0200 + + Merge pull request #11407 from dachary/wip-17360-jewel + + jewel: ceph-objectstore-tool crashes if --journal-path + + Reviewed-by: Kefu Chai + +commit d4197dcae43b073d121c4b12ff7cca2f619745e1 +Merge: 54bb909 c94244d +Author: Loic Dachary +Date: Wed Oct 19 09:47:00 2016 +0200 + + Merge pull request #11158 from dillaman/wip-rbdmap-jewel + + jewel: systemd: add install section to rbdmap.service file + + Reviewed-by: Loic Dachary + +commit 54bb9092a8d658ab2f352ed8c850d719b2468d83 +Merge: dc59575 c3c2910 +Author: Loic Dachary +Date: Wed Oct 19 09:46:19 2016 +0200 + + Merge pull request #10862 from dachary/wip-17095-jewel + + jewel: rpm: ceph installs stuff in %_udevrulesdir but does not own that directory + + Reviewed-by: Loic Dachary + +commit f400ff222e531feb00de3ebf1860a0d4bcca736e +Author: Loic Dachary +Date: Tue Oct 18 17:33:23 2016 +0200 + + tests: ceph-disk: force debug monc = 0 + + The sh function will collect both stderr and stdout and debug + will mess the json parsing. + + Fixes: http://tracker.ceph.com/issues/17607 + + Signed-off-by: Loic Dachary + (cherry picked from commit 469a53a4adc335ea4ff8e34a958b12f0f222a6c1) + +commit dc59575b2fec477bdcf152f91a02532fcdfd1a10 +Merge: 778d884 c2cf21d +Author: Loic Dachary +Date: Wed Oct 19 08:56:46 2016 +0200 + + Merge pull request #10860 from dachary/wip-17121-jewel + + jewel: the %USED of ceph df is wrong + + Reviewed-by: Kefu Chai + Reviewed-by: Samuel Just + +commit 778d884512d2cf298c60634cda9a6f66dc2b948b +Merge: 82edc5b a25a483 +Author: Loic Dachary +Date: Wed Oct 19 01:35:13 2016 +0200 + + Merge pull request #10886 from dachary/wip-17144-jewel + + jewel: mark_all_unfound_lost() leaves unapplied changes + + Reviewed-by: David Zafman + +commit 82edc5bc526e02d7c535d01642d8ef7f00d19939 +Merge: c4f4f8a e6ac214 +Author: Loic Dachary +Date: Tue Oct 18 13:05:43 2016 +0200 + + Merge pull request #10784 from dachary/wip-17067-jewel + + jewel: Request exclusive lock if owner sends -ENOTSUPP for proxied maintenance op + + Reviewed-by: Ilya Dryomov + +commit 25a35d43a8bf7e1a7d78d5d1d2a5556dff98f5e8 +Author: Kefu Chai +Date: Mon Oct 10 18:43:39 2016 +0800 + + doc: fill keyring with caps before passing it to ceph-monstore-tool + + to make sure the recovered monitor store is ready for use. + + Signed-off-by: Kefu Chai + (cherry picked from commit af8e21163735377071b6832d8a81b035bb835257) + +commit 73ea9264803bdf53a5da64992c1b91e94633f5e3 +Author: Kefu Chai +Date: Mon Oct 10 16:32:27 2016 +0800 + + tools/ceph_monstore_tool: bail out if no caps found for a key + + we take it as an error if no caps is granted to an entity in the + specified keyring file when rebuilding the monitor db. + + Signed-off-by: Kefu Chai + (cherry picked from commit b4bd4004a836121c11b0bb97d8123df54c271f04) + +commit 4ebf87bccdb17bd04b2c615e6278a7816ae1ff43 +Author: Kefu Chai +Date: Fri Sep 30 17:58:14 2016 +0800 + + tools/ceph_monstore_tool: update pgmap_meta also when rebuilding store.db + + we should rebuild pgmap_meta table from the collected osdmaps + + Fixes: http://tracker.ceph.com/issues/17400 + Signed-off-by: Kefu Chai + (cherry picked from commit cdfa7a69f63d047205dcfccd63b5d58ab0d4695b) + +commit d2deed6bfbc5693e3bd8a10a2f9be8df8ef1b0e5 +Author: xie xingguo +Date: Sun Sep 18 11:40:56 2016 +0800 + + tools/rebuild_mondb: kill compiling warning + + As follow: + + [ 72%] Building CXX object src/tools/CMakeFiles/ceph-objectstore-tool.dir/RadosDump.cc.o + /home/jenkins-build/build/workspace/ceph-pull-requests/src/tools/rebuild_mondb.cc: In function ‘int update_mon_db(ObjectStore&, OSDSuperblock&, const string&, const string&)’: + /home/jenkins-build/build/workspace/ceph-pull-requests/src/tools/rebuild_mondb.cc:289:22: warning: ‘crc’ may be used uninitialized in this function [-Wmaybe-uninitialized] + if (have_crc && osdmap.get_crc() != crc) { + ^ + /home/jenkins-build/build/workspace/ceph-pull-requests/src/tools/rebuild_mondb.cc:238:14: note: ‘crc’ was declared here + uint32_t crc; + + Signed-off-by: xie xingguo + (cherry picked from commit f16a31476a3f9b44a7c3dabf0dfd2a0d015b11b9) + +commit 09701269de225e556099b9e5c511faa44acae024 +Author: xie xingguo +Date: Sun Sep 18 10:33:56 2016 +0800 + + tools/rebuild_mondb: avoid unnecessary result code cast + + In general we return negative codes for error cases, so there is + no need perform the cast here. + + Signed-off-by: xie xingguo + (cherry picked from commit 6a1c01d334fe65124043aa68a6e0cfaea43836b5) + +commit 5191b06294cf505716d0c64ac36528e9ea57b0a8 +Author: Kefu Chai +Date: Sat Oct 1 14:18:55 2016 +0800 + + doc: add rados/operations/disaster-recovery.rst + + document the process to recover from leveldb corruption. + + Fixes: http://tracker.ceph.com/issues/17179 + Signed-off-by: Kefu Chai + (cherry picked from commit 79a9f299253e24d20547131b3c9c9e0667e3b869) + Conflicts: + src/tools/rebuild_mondb.cc: + remove the code change in this file from this commit. + and the code gets removed is added in anther commit. + +commit 8c8d5ce529fa826bc0d453edf5fb5e98e29294d3 +Author: Kefu Chai +Date: Mon Aug 29 19:53:11 2016 +0800 + + tools/ceph_monstore_tool: add "rebuild" command + + Fixes: http://tracker.ceph.com/issues/17179 + Signed-off-by: Kefu Chai + (cherry picked from commit d909fa035c8fbbded786b2ca072acc10ea6b6052) + +commit 1fcb0bb81a8989b31a79bc565354f6817ceb12d7 +Author: Kefu Chai +Date: Mon Aug 29 19:52:19 2016 +0800 + + tools/ceph-objectstore-tool: add "update-mon-db" command + + Fixes: http://tracker.ceph.com/issues/17179 + Signed-off-by: Kefu Chai + Conflicts: + src/tools/CMakeLists.txt: this file was added in master, so + update src/CMakeLists.txt instead + src/tools/Makefile-server.am: jewel is still using autotools, + so update this file also. + src/tools/rebuild_mondb.cc: move the code spilled into + doc/rados/troubleshooting/troubleshooting-mon.rst + by accident back to this commit. + (cherry picked from commit 24faea7ce446bbf09cbd4a9d3434dd5444a6c295) + +commit 416750258fb63064a36eaf53f586a51fc3ea63e0 +Author: Kefu Chai +Date: Wed Aug 31 13:11:24 2016 +0800 + + mon/AuthMonitor: make AuthMonitor::IncType public + + so ceph-objectstore-tool is able to use it when rebuilding monitor + db. + + Fixes: http://tracker.ceph.com/issues/17179 + Signed-off-by: Kefu Chai + (cherry picked from commit 19ef4f16b3aba04119ac647cd6261c74a57ce829) + +commit c4f4f8a72421e9c43c09eb9dfb5a3c6fe2123886 +Merge: ded7c27 5ef9085 +Author: Samuel Just +Date: Mon Oct 17 11:56:30 2016 -0700 + + Merge pull request #10885 from dachary/wip-17145-jewel + + jewel: PG::choose_acting valgrind error or ./common/hobject.h: 182: FAILED assert(!max || (*this == hobject_t(hobject_t::get_max()))) + + Reviewed-by: Samuel Just + +commit ded7c27a2d0fc0ae307321de2bf419e065c36ba1 +Merge: bdcdedd 58b7c52 +Author: Samuel Just +Date: Mon Oct 17 11:54:29 2016 -0700 + + Merge pull request #10883 from dachary/wip-17141-jewel + + jewel: PG::_update_calc_stats wrong for CRUSH_ITEM_NONE up set items + + Reviewed-by: Samuel Just + +commit bdcdedd32f9e8a71735ae1d4d3ca18b41bde3378 +Merge: 757f8e8 3bb2a9e +Author: Loic Dachary +Date: Mon Oct 17 18:08:46 2016 +0200 + + Merge pull request #11420 from dachary/wip-17556-jewel + + jewel: librbd::Operations: update notification failed: (2) No such file or directory + + Reviewed-by: Jason Dillaman + +commit 757f8e87e0aa39af05f0bc7b8146c826191e8032 +Merge: 4d2bc33 bd63666 +Author: Loic Dachary +Date: Mon Oct 17 18:08:32 2016 +0200 + + Merge pull request #10857 from dachary/wip-16984-jewel + + jewel: Disabling pool mirror mode with registered peers results orphaned mirrored images + + Reviewed-by: Jason Dillaman + +commit 4d2bc33101aaadbab73cdae3327fc0888a15e25a +Merge: 23d91cf 18a66cb +Author: Loic Dachary +Date: Mon Oct 17 17:55:10 2016 +0200 + + Merge pull request #10645 from dachary/wip-16458-jewel + + jewel: Potential crash during journal::Replay shut down + + Reviewed-by: Jason Dillaman + +commit 23d91cfcd1c77766972577639ef72db353076e37 +Merge: 51c2794 775c78d +Author: Loic Dachary +Date: Mon Oct 17 17:54:55 2016 +0200 + + Merge pull request #10652 from dachary/wip-16951-jewel + + jewel: ceph 10.2.2 rbd status on image format 2 returns (2) No such file or directory + + Reviewed-by: Jason Dillaman + +commit 51c279425e26626884ec54add6043c7ed3873920 +Merge: ee32be2 bb81f9d +Author: Loic Dachary +Date: Mon Oct 17 17:37:41 2016 +0200 + + Merge pull request #11337 from SUSE/wip-17060-jewel + + jewel: librbd: cannot disable journaling or remove non-mirrored, non-primary image + + Reviewed-by: Jason Dillaman + +commit ee32be2ae3c328238fd2bbb953c18d3b9f0a51b1 +Merge: 7d0dd1c 2b27212 +Author: Loic Dachary +Date: Mon Oct 17 17:37:06 2016 +0200 + + Merge pull request #10650 from dachary/wip-16868-jewel + + jewel: Prevent the creation of a clone from a non-primary mirrored image + + Reviewed-by: Loic Dachary + +commit 7d0dd1cf6f6568f86fa593de0a7845462a510d31 +Merge: f1c21c6 1c76ef4 +Author: Loic Dachary +Date: Mon Oct 17 17:06:51 2016 +0200 + + Merge pull request #11433 from dillaman/wip-17416-jewel + + jewel: rbd-mirror: improve resiliency of stress test case + + Reviewed-by: Loic Dachary + +commit f1c21c6f01e20949753198e5f3ad160e0213cc5b +Merge: 986a8b5 80e25b0 +Author: Loic Dachary +Date: Mon Oct 17 17:04:11 2016 +0200 + + Merge pull request #10796 from dillaman/wip-17059-jewel + + jewel: rbd: bench io-size should not be larger than image size + + Reviewed-by: Loic Dachary + +commit 986a8b5eacbf0d6084121eef8407088a24d27ffd +Merge: c7b7f2e 10e603b +Author: Loic Dachary +Date: Mon Oct 17 14:28:06 2016 +0200 + + Merge pull request #11414 from dachary/wip-17477-jewel + + jewel: Crash in Client::_invalidate_kernel_dcache when reconnecting during unmount + + Reviewed-by: John Spray + +commit c7b7f2e8c0de596255e651ae5e499c586f1e4493 +Merge: ada7edd 3320da0 +Author: Loic Dachary +Date: Mon Oct 17 14:27:53 2016 +0200 + + Merge pull request #11412 from dachary/wip-17479-jewel + + jewel: Duplicate damage table entries + + Reviewed-by: John Spray + +commit ada7edd1d21073b71c1d4538ab66b15b978cf418 +Merge: 1412b17 3a79db1 +Author: Loic Dachary +Date: Mon Oct 17 14:27:43 2016 +0200 + + Merge pull request #11415 from dachary/wip-17476-jewel + + jewel: Failure in snaptest-git-ceph.sh + + Reviewed-by: John Spray + +commit 1412b171c057fabd05abaf9adcf31aa29a4f5b00 +Merge: 368c96c 0a17741 +Author: Loic Dachary +Date: Mon Oct 17 14:27:30 2016 +0200 + + Merge pull request #11416 from dachary/wip-17474-jewel + + jewel: Failure in dirfrag.sh + + Reviewed-by: John Spray + +commit 368c96c513cd5424d7935fc02edd6297fb680bb7 +Merge: 4486e3b 2c4e1c1 +Author: Loic Dachary +Date: Mon Oct 17 14:27:17 2016 +0200 + + Merge pull request #11418 from dachary/wip-17246-jewel + + jewel: Log path as well as ino when detecting metadata damage + + Reviewed-by: John Spray + +commit 4486e3b5e00e809bc3391613cc5160810ce5bf1e +Merge: b174220 5173563 +Author: Loic Dachary +Date: Mon Oct 17 14:27:04 2016 +0200 + + Merge pull request #11419 from dachary/wip-17244-jewel + + jewel: Failure in snaptest-git-ceph.sh + + Reviewed-by: John Spray + +commit b1742204e10d563573bbda82917b843c01b20420 +Merge: 54240c4 c0db9fb +Author: Loic Dachary +Date: Mon Oct 17 14:26:30 2016 +0200 + + Merge pull request #10877 from dachary/wip-16946-jewel + + jewel: client: nlink count is not maintained correctly + + Reviewed-by: John Spray + +commit 54240c4d3dfeef97c6fba343fe501f0303c73f1b +Merge: 8b5aa5d 430ab1b +Author: Loic Dachary +Date: Mon Oct 17 13:40:13 2016 +0200 + + Merge pull request #10758 from dachary/wip-17007-jewel + + jewel: ceph-disk should timeout when a lock cannot be acquired + + Reviewed-by: Loic Dachary + +commit caf08d731c7cec40fe6635189de877d1f047e8b4 +Author: Orit Wasserman +Date: Tue Oct 11 14:18:29 2016 +0200 + + rgw: avoid corruption when running old radosgw-admin on a newer rgw + + Fixes:http://tracker.ceph.com/issues/17371 + Signed-off-by: Orit Wasserman + (cherry picked from commit 8eab9454b4d45ed8092a1292bd1904ef928c2120) + +commit e5f7854ddfc2a6c123d77b1d33e659b4f870fbe6 +Author: Orit Wasserman +Date: Tue Oct 11 11:19:01 2016 +0200 + + rgw: Fix missing master zone for default region conversion + + Fixes:http://tracker.ceph.com/issues/17371 + Signed-off-by: Orit Wasserman + (cherry picked from commit cd3bccdef2ecd1d294ab1192ab3b9e731b5592e0) + +commit ec2fb022307eea93a802f80307b957bfb2581249 +Author: Orit Wasserman +Date: Tue Oct 11 11:00:00 2016 +0200 + + rgw: mark configuration as converted to avoid corruption when running older admins + + Fixes: http://tracker.ceph.com/issues/17371 + Signed-off-by: Orit Wasserman + (cherry picked from commit ceafa2863dd9c02da8a30c5a5324b472ed5d3404) + +commit 8b5aa5d94fd24793c160372f02b02735632b5fd0 +Merge: 6baac41 2311ab2 +Author: Loic Dachary +Date: Fri Oct 14 18:13:09 2016 +0200 + + Merge pull request #10864 from dachary/wip-17131-jewel + + jewel: Jewel: segfault in ObjectCacher::FlusherThread + + Reviewed-by: Greg Farnum + +commit 6baac417eb95df880b97cdc720e6b00f6f8f27d8 +Merge: 19922c5 ca8fc6f +Author: Sage Weil +Date: Fri Oct 14 09:26:32 2016 -0500 + + Merge pull request #11417 from dachary/wip-17347-jewel + + jewel: ceph-create-keys: sometimes blocks forever if mds allow is set + + Reviewed-by: Sage Weil + +commit 19922c5b818e82c297dfc0d2eb914276945e9a2e +Merge: 952a81a 35660d1 +Author: Sage Weil +Date: Fri Oct 14 09:25:42 2016 -0500 + + Merge pull request #11272 from aiicore/wip-17402-jewel + + jewel: OSDMonitor: Missing nearfull flag set + + Reviewed-by: Sage Weil + +commit 952a81aed3bae88239e448fcae1ce73e725d9966 +Merge: e34b7da 165e5ab +Author: Sage Weil +Date: Fri Oct 14 09:24:42 2016 -0500 + + Merge pull request #11193 from SUSE/wip-17377-jewel + + jewel: LIBRADOS modify Pipe::connect() to return the error code + + Reviewed-by: Sage Weil + +commit e34b7dad7e11f1db45f2bd636b1f3ed73742540a +Merge: f9c969e 7d92e2e +Author: Sage Weil +Date: Fri Oct 14 09:23:30 2016 -0500 + + Merge pull request #10861 from dachary/wip-17135-jewel + + jewel: ceph mon Segmentation fault after set crush_ruleset ceph 10.2.2 + + Reviewed-by: Sage Weil + +commit f9c969eb54fef6f474bc8f784735123039ffeccc +Merge: 4bcc21b 117aa35 +Author: Sage Weil +Date: Fri Oct 14 09:22:05 2016 -0500 + + Merge pull request #10855 from dachary/wip-16657-jewel + + jewel: i386 tarball gitbuilder failure on master + + Reviewed-by: Sage Weil + +commit 4bcc21b9288ed046a2781e95e781bfc71636b9c1 +Merge: 92a3538 5d0e2f8 +Author: Loic Dachary +Date: Fri Oct 14 15:37:25 2016 +0200 + + Merge pull request #11409 from dachary/wip-17341-jewel + + jewel: librados memory leaks from ceph::crypto (WITH_NSS) + + Reviewed-by: Orit Wasserman + +commit 92a353847852dbec003e4795e3322d2a92752b9d +Merge: 67d0ded 8833c64 +Author: Loic Dachary +Date: Fri Oct 14 13:45:46 2016 +0200 + + Merge pull request #11311 from dzafman/wip-scrub-boundary-jewel + + jewel: osd: adjust scrub boundary to object without SnapSet + + Reviewed-by: Sage Weil + +commit 67d0ded8d3ceda56ab7c0aaca25f3c1c51731c72 +Merge: 52e596f 9cb45e1 +Author: Loic Dachary +Date: Fri Oct 14 13:43:27 2016 +0200 + + Merge pull request #11231 from badone/wip-17376 + + jewel: common: Log.cc: Assign LOG_INFO priority to syslog calls + + Reviewed-by: Loic Dachary + +commit 52e596ffe0b8a83bfeae0ad836227a73d7d6facb +Merge: 65e8bbc cca589f +Author: Loic Dachary +Date: Fri Oct 14 13:30:05 2016 +0200 + + Merge pull request #9872 from odivlad/fix-init-el7-jewel + + jewel: remove SYSTEMD_RUN from initscript + + Reviewed-by: Orit Wasserman + +commit 91bd342df6de15263004f3a41c285f6658a16d45 +Author: Alexander Graf +Date: Mon Sep 26 10:26:30 2016 +0200 + + AArch64: Detect crc32 extension support from assembler + + The used compiler may or may not be recent enough to recognize the + crc32 extended cpu type. However, it does not really have to know about + them either, since all we do is pass inline assembly instructions to + the assembler. + + This patch moves the crc cpu extension detection from compiler based + to assembler based, so that we can build optimized code even when the + compiler does not know about the cpu type yet. + + Signed-off-by: Alexander Graf + + (manual backport of e70ab48b7f6d39a281b3ec65098535a55018b681 - manual backport + was undertaken because jewel uses autotools) + +commit 65e8bbccdb73cc6696736367a3df59ea3dcfda1f +Merge: 7c9f1c7 086f6e0 +Author: Casey Bodley +Date: Thu Oct 13 14:52:30 2016 -0400 + + Merge pull request #10891 from dachary/wip-16793-jewel + + jewel: rgw: upgrade from old multisite to new multisite fails + + Reviewed-by: Casey Bodley + +commit 7c9f1c7940c77451b2d44ef22a278fdfb2938cea +Merge: e3839ab 27626ba +Author: Casey Bodley +Date: Thu Oct 13 14:51:59 2016 -0400 + + Merge pull request #10889 from dachary/wip-17143-jewel + + jewel: rgw: rgw file uses too much CPU in gc/idle thread + + Reviewed-by: Casey Bodley + +commit e3839ab5ce63abd248d886dcf362f3a6c49f382e +Merge: 0561550 416ec6f +Author: Casey Bodley +Date: Thu Oct 13 14:51:38 2016 -0400 + + Merge pull request #10868 from dachary/wip-17064-jewel + + jewel: rgw: radosgw daemon core when reopen logs + + Reviewed-by: Casey Bodley + +commit 05615509d946c340d03af7e407a31e3e53447ac8 +Merge: abc8e3d f034fd0 +Author: Casey Bodley +Date: Thu Oct 13 14:51:17 2016 -0400 + + Merge pull request #10867 from dachary/wip-17118-jewel + + jewel: rgw: period commit return error when the current period has a zonegroup which doesn't have a master zone + + Reviewed-by: Casey Bodley + +commit abc8e3dd0388778d01a19f3de15a1ffcb662549f +Merge: 8adc55d 83a91ba +Author: Loic Dachary +Date: Thu Oct 13 17:43:52 2016 +0200 + + Merge pull request #11367 from linuxbox2/jewel-s3-versioning + + jewel: rgw: S3 object versioning fails when applied on a non-master zone + + Reviewed-by: Orit Wasserman + +commit 8adc55d0d3f98acde4d91ba6f8ab9fb379ec10d9 +Merge: 50404ae 77ea511 +Author: Loic Dachary +Date: Thu Oct 13 16:43:04 2016 +0200 + + Merge pull request #11342 from SUSE/wip-17505-jewel + + jewel: rgw: doc: description of multipart part entity is wrong + + Reviewed-by: Loic Dachary + +commit 50404aef1f36cd2035c4384ecdf608910e6cb215 +Merge: f1c55ad de0c4e1 +Author: Loic Dachary +Date: Thu Oct 13 16:42:45 2016 +0200 + + Merge pull request #11330 from cbodley/wip-17073 + + jewel: rgw: RGWDataSyncCR fails on errors from RGWListBucketIndexesCR + + Reviewed-by: Loic Dachary + +commit f1c55ad7eeeb633e5ad3414e37ebb5dacccb930b +Merge: a336110 e2ce857 +Author: Loic Dachary +Date: Thu Oct 13 16:39:06 2016 +0200 + + Merge pull request #11139 from cbodley/wip-radosgw-admin-man-jewel + + jewel: add orphan options to radosgw-admin --help and man page + + Reviewed-by: Loic Dachary + +commit a336110785ea06f4404f136dddcce61660d85b2f +Merge: 79885ae cf47628 +Author: Loic Dachary +Date: Thu Oct 13 16:35:57 2016 +0200 + + Merge pull request #10832 from ceph/jewel-default-quota + + jewel: rgw - default quota fixes + + Reviewed-by: Loic Dachary + +commit 79885ae86be1e444985446ab8315a21ad6d24634 +Merge: 9d1f756 54b6b5e +Author: Loic Dachary +Date: Thu Oct 13 14:58:33 2016 +0200 + + Merge pull request #10107 from xiaoxichen/wip-16313-jewel + + jewel: client: FAILED assert(root_ancestor->qtree == __null) + + Reviewed-by: John Spray + Reviewed-by: Yan, Zheng + +commit d205b74e07ab364378afb4fc63cb08814a8a1f4e +Author: Loic Dachary +Date: Tue Aug 23 12:17:00 2016 +0200 + + tests: populate /dev/disk/by-partuuid for scsi_debug + + The scsi_debug SCSI devices do not have a symlink in /dev/disk/by-partuuid + because they are filtered out by 60-persistent-storage.rules. That was + worked around by 60-ceph-partuuid-workaround-rules which has been + removed by 9f76b9ff31525eac01f04450d72559ec99927496. + + Add create rules targetting this specific case, only for tests since the + problem does not show in real use cases. + + Fixes: http://tracker.ceph.com/issues/17100 + + Signed-off-by: Loic Dachary + (cherry picked from commit 7cbf1f0a5eced402e6c7242015550668e3b568f3) + +commit 86eef272304f3896a9cda5cde7e882d09d0269c0 +Author: Daniel Gryniewicz +Date: Fri Jun 10 11:33:56 2016 -0400 + + Allow building RGW with LDAP disabled + + Signed-off-by: Daniel Gryniewicz + (cherry picked from commit 38abfcb5d036c050a363533a2c7b658d528d3612) + +commit 657554574414dcece6126bfa1b4008b038c3f729 +Author: la-sguduru +Date: Thu May 12 11:53:25 2016 +0530 + + doc: Modification for "TEST S3 ACCESS" section + + Signed-off-by: SirishaGuduru sirishaguduru99@gmail.com + (cherry picked from commit 27d6cf0c6958de9f0533bedb90a74c4020b53675) + +commit 50fd48fbdc8f4f0e9151eb405eb112b710304bb9 +Author: qiankunzheng +Date: Fri Mar 18 13:58:22 2016 -0400 + + rgw:response information is error when geting token of swift account + The header is X-Trans-Id instead of x-amz-request-id in the response header + + Fixes:#15195 + Signed-off-by: Qiankun Zheng + (cherry picked from commit 08e909d0b844e8be3cb82d6add3e87d38e19e80e) + +commit 742366116d368d3adff4b7941a4751d362073b35 +Author: SirishaGuduru +Date: Mon Sep 19 10:21:06 2016 +0530 + + doc: Radosgw multitenancy config paramater change + + Radosgw multitenancy configuration parameter + "rgw keystone make new tenants" never works even + applied. When gone through the code, itseems this + parameter is not used. But "rgw keystone implicit + tenants" works as the code looks for this. + + Modified the configuration parameter in two files + mentioned below from "rgw keystone make new tenants" + to "rgw keystone implicit tenants" + + Fixes: http://tracker.ceph.com/issues/17293 + + Signed-off-by: SirishaGuduru + (cherry picked from commit bd9695d50cfd472508a8a704f1ea5fc62dc08faf) + +commit 635666412c464228edb014b525abb0af3a55ac50 +Author: Yang Honggang +Date: Tue Oct 4 09:18:09 2016 +0800 + + rgw: fix versioned object IO error + + When accessing a copied destination object, its source object's instance ID + information is needed, however it's missing now in the destination object's + manifest. + + In order to fix this problem, we can record source object's version_id/instance + into dest object's manifest(a new filed 'tail_instance' is added). When creating + a new object(not copy), 'tail_instance' should be equal to its instance value. + When copy/get a object, 'tail_instance' should always be used to get the right + tail objects. + + Fixes: http://tracker.ceph.com/issues/17111 + Signed-off-by: Yang Honggang + + (cherry picked from commit d43b69e529328f73da6c29cd746557788a989ae0) + +commit 40689d1acab4da963d05540eb837fd12a4411269 +Author: Yehuda Sadeh +Date: Fri Sep 30 16:13:00 2016 -0700 + + rgw: don't fail if lost race when setting acls + + Fixes: http://tracker.ceph.com/issues/16930 + + When concurrently setting acls on object/bucket, we could lose in a race. + Instead of retry, just return success (same effect as if we won and then + other writer overwrote us). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 6e9a915b565923081f609048072b8d75716a74ea) + +commit 5a53ffa8a9e8590ea0d1992fad9a30cde135cbac +Author: Yehuda Sadeh +Date: Wed Oct 5 11:41:42 2016 -0700 + + rgw: remove user email index using helper function + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 10dbfc540aef5c3d45b7e3aabe61090c302f47ab) + +commit ad54bf9a0dc541cb6d664edec9ca7f3ec6ffbc93 +Author: Weijun Duan +Date: Sat Feb 27 04:28:14 2016 -0500 + + rgw:user email can modify to empty + + Fixes: http://tracker.ceph.com/issues/13286 + + Signed-off-by: Weijun Duan + (cherry picked from commit ebfd713d9a40e1cb33dfdf2198c20d621e387e36) + +commit 4babd3fa335351bd4327cded47a1ffe5a8cfd897 +Author: Jason Dillaman +Date: Sat Sep 17 08:29:15 2016 -0400 + + librbd: corrected use-after-free in ImageWatcher + + Fixes: http://tracker.ceph.com/issues/17289 + Signed-off-by: Jason Dillaman + (cherry picked from commit 2f4d4868e3b721c932c35ae7e8f0dd96b36a37fc) + +commit 1ca4dc6d1bd6aebece500c6e91f6a9871af0e1f1 +Author: Jason Dillaman +Date: Fri Sep 9 10:42:50 2016 -0400 + + librbd: possible deadlock if cluster connection closed after image + + Fixes: http://tracker.ceph.com/issues/17254 + Signed-off-by: Jason Dillaman + (cherry picked from commit 818c2f2abc972f689acb7d783c2a684bcc9e6e51) + +commit b73356b500f9ff364c09e6d78e62fc0e79fbfbac +Author: Jason Dillaman +Date: Tue Sep 20 07:25:36 2016 -0400 + + librbd: block name prefix might overflow fixed size C-string + + The issue which resulted in too large v2 image ids was fixed + under #16887. + + Fixes: http://tracker.ceph.com/issues/17310 + Signed-off-by: Jason Dillaman + (cherry picked from commit 61734d266c6ee476c2f5fcfbbaefc7d0c7939617) + +commit b410c8ea2164eb53ee7882859f0a977b67cf8b80 +Author: Jason Dillaman +Date: Tue Sep 20 10:19:45 2016 -0400 + + librbd: potential deadlock closing image with in-flight readahead + + Fixes: http://tracker.ceph.com/issues/17198 + Signed-off-by: Jason Dillaman + (cherry picked from commit c971d58f8a5550b19374b74bb89d69143423479b) + +commit 32d84e0eed671f0cfe37057d59f0afe1b63f3c4d +Author: Jason Dillaman +Date: Tue Sep 20 14:47:36 2016 -0400 + + librbd: update_features should handle Infernalis OSDs + + Fixes: http://tracker.ceph.com/issues/17330 + Signed-off-by: Jason Dillaman + (cherry picked from commit 8cb2ccda1b847e0f33c0d34bf57e9ec29bbbb43b) + +commit b4e13808b004fd10d342e3daa17a3d4e830d4d00 +Author: Jason Dillaman +Date: Tue Sep 20 14:34:16 2016 -0400 + + cls/rbd: set_features should adjust the mask to known features + + Signed-off-by: Jason Dillaman + (cherry picked from commit a26c7a5cacebf8814e20a2f3d5b69c20d8798871) + +commit dd93e009a222e8e86041661742b4df9c92b097f7 +Author: Vikhyat Umrao +Date: Mon Jun 27 23:36:09 2016 +0530 + + rbd: cleanup - Proxied operations shouldn't result + in error messages if replayed + + Fixes: http://tracker.ceph.com/issues/16130 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit d09c9c471f40f15c14f392a93a04353ca30b1c5e) + +commit 391936a30cc6022f067cb11c2e39bd47b9e58d61 +Author: Lu Shi +Date: Wed Jun 15 09:24:43 2016 +0800 + + librbd: enable/disable of features is not allowed when already enabled/disabled + + Fixes: http://tracker.ceph.com/issues/16079 + + Signed-off-by: Lu Shi + (cherry picked from commit a8a633396a4105991c9643c2b39391621934c26d) + +commit 7d6801bdd376f8eb5e1fbfa8f3a9f4de5dc710a1 +Author: zhuangzeqiang +Date: Sat Jun 25 10:21:25 2016 +0800 + + rbd: restrict mirror enable/disable actions on parents/clones + + Fixes: http://tracker.ceph.com/issues/16056 + + Signed-off-by: zhuangzeqiang zhuang.zeqiang@h3c.com + (cherry picked from commit 11dee0bbf0a85f2c197192d0560bd486bc2ad6fc) + +commit cf476284ae9089e73e5fdf5ddfefdd5842246190 +Author: root +Date: Sun Jun 19 13:06:06 2016 +0530 + + rgw: Add documentation for RGW default quota + + Fixes http://tracker.ceph.com/issues/16447 + + This was modified to use size in kB, rather than size in bytes, since + Jewel has not yet been converted to use size in bytes. + + Signed-off-by: Pavan Rallabhandi + Signed-off-by: Daniel Gryniewicz + (cherry picked from commit e3ab3476146cf0fe604783e9e5a0d63237271735) + +commit 22348154ad51c20d73aa7715695244b8d85fac37 +Author: root +Date: Sun Jun 19 12:48:42 2016 +0530 + + rgw: Do not bother to check against conf values during quota handling + + Fixes http://tracker.ceph.com/issues/16447 + + This was modified to use size in kB, rather than size in bytes, since + Jewel has not yet been converted to use size in bytes. + + Signed-off-by: Pavan Rallabhandi + Signed-off-by: Daniel Gryniewicz + (cherry picked from commit 17d2c1712a5b72315a47ab0f8380331bfd478c0b) + +commit 0b8ecce6ac5abafe0175c941dbf55862b1515b1d +Author: root +Date: Mon May 23 15:34:58 2016 +0530 + + rgw: Let the default quota settings take effect during user creation + + Fixes http://tracker.ceph.com/issues/16447 + + Signed-off-by: Pavan Rallabhandi + Signed-off-by: Daniel Gryniewicz + (cherry picked from commit 400d7c982f18efd7cf96acfc3a63078791d1ec0a) + +commit 1c76ef4e3ea7cb401345af0938d6b76652061d05 +Author: Mykola Golub +Date: Sat Oct 1 11:21:21 2016 +0300 + + journal: ensure in-flight ops are complete destroying journaler + + Fixes: http://tracker.ceph.com/issues/17446 + Signed-off-by: Jason Dillaman + (cherry picked from commit a25b1d7cbebb7b19cebee4cfb362cd744bbb4607) + +commit 9bc5e444543fade1f6d78788cadeb7bfdd29710b +Author: Mykola Golub +Date: Thu Sep 29 16:55:22 2016 +0300 + + journal: complete action only after notification completed + + Signed-off-by: Mykola Golub + (cherry picked from commit 55762cca2bf586d037cb9f32775ec158dc3287c1) + +commit 74873322da011d0e6221c90ff39d137de80720ce +Author: Jason Dillaman +Date: Tue Oct 4 21:29:31 2016 -0400 + + qa/workunits: reduce amount of client IO for rbd-mirror stress + + Journal IO is faster now, resulting in OSDs quickly filling up + under the stress test case. + + Signed-off-by: Jason Dillaman + (cherry picked from commit a6dd6b50d632aa6995a0f4b6fc5e1a1bda23e2a0) + +commit d51a2f6689391274bba41f9359acb9395574e629 +Author: Jason Dillaman +Date: Tue Oct 4 12:22:06 2016 -0400 + + rbd-mirror: potential race allocating tag during shut down + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8c2ff9bce61a8af024150b8be9dee484f339f7df) + +commit cea000c6225c809b35b6c643919a01d940522c55 +Author: Jason Dillaman +Date: Fri Sep 30 12:32:37 2016 -0400 + + librbd: ignore attempts to request lock if already lock owner + + Signed-off-by: Jason Dillaman + (cherry picked from commit 355c79cb7c955e62e3153cf28046a9b8a6d0d25c) + +commit 912ce3728c09b2bf613da287f5013b97920cc27c +Author: Jason Dillaman +Date: Fri Sep 30 12:59:16 2016 -0400 + + journal: clean up object recorder closed/overflow callback + + Signed-off-by: Jason Dillaman + (cherry picked from commit 24faead086a50ea1b9614268d4dd5f3ea7bbe445) + +commit 310f3f79cf54daeefa8f00aba0d7b692261e4a33 +Author: Jason Dillaman +Date: Thu Sep 29 08:36:53 2016 -0400 + + journal: delay moving overflowed buffers until quiesced + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4483531aa3aa3d0f298778062e2b9a339ad05075) + +commit 9f3614377043efb56c606905a4b4f5c86b3e074e +Author: Jason Dillaman +Date: Thu Sep 29 08:19:52 2016 -0400 + + journal: use reverse iterator search to find flush record + + Signed-off-by: Jason Dillaman + (cherry picked from commit a96065815558e50361af4c701c23e5248962dfe0) + +commit 21502d90ecc72e70faa19b1202f9c7095341aaec +Author: Jason Dillaman +Date: Wed Sep 28 08:35:36 2016 -0400 + + journal: avoid holding lock while sending journal append + + Signed-off-by: Jason Dillaman + (cherry picked from commit dc77a629ed353d586b63f0bd8e20f54a7595afba) + +commit e0de824f7e728b06025a572a0c8213ef9fb1f112 +Author: Jason Dillaman +Date: Wed Sep 21 15:41:55 2016 -0400 + + rbd-mirror: wait for in-flight event commit notifications + + Fixes: http://tracker.ceph.com/issues/17355 + Signed-off-by: Jason Dillaman + (cherry picked from commit f810c106ad4e9ae94494801fea6c580d81b9156b) + +commit efa12f7187b6e037c22ba62563030eb883dab5f9 +Author: Jason Dillaman +Date: Tue Oct 11 13:55:21 2016 -0400 + + journal: fix AsyncOpTracker compiler error + + The master branch has an async JournalTrimmer which shouldn't be + backported to the Jewel branch yet. This change addresses the + missing sync AsyncOpTracker::wait_for_ops method from the backported + class. + + Signed-off-by: Jason Dillaman + +commit 2460a3dbe7d04f1a4daa44d7367d24d47fa070fb +Author: Jason Dillaman +Date: Wed Sep 21 13:02:34 2016 -0400 + + common: move AsyncOpTracker to common library + + Signed-off-by: Jason Dillaman + (cherry picked from commit 72d8992f054a7e36f92fdd2e01278ce3b9ede2eb) + + Conflicts: + src/journal/CMakeLists.txt: doesn't exist in Jewel + +commit 1748b38da48beb8e25dc5ca831a540d389a963ee +Author: Jason Dillaman +Date: Thu Jul 28 16:35:48 2016 -0400 + + librbd: support deleting image by id instead of name + + The rbd-mirror daemon will use this API to delete images instead + of attempting to use the local image name. + + Fixes: http://tracker.ceph.com/issues/16227 + Signed-off-by: Jason Dillaman + (cherry picked from commit 87b32d15914207f61595c1c943817d983faceacd) + +commit bb5f6b6872e81291176543e954bf3654eb88120f +Author: Jason Dillaman +Date: Wed Jul 13 14:49:06 2016 -0400 + + rbd-mirror: use pool id + global image id as deletion primary key + + Fixes: http://tracker.ceph.com/issues/16538 + Signed-off-by: Jason Dillaman + (cherry picked from commit 25203a8a9d59ff025d223ec1afaeb14946d54993) + +commit 96d551d7e8f10f98cc0a6ae5d90d33e6bca968a5 +Author: Jason Dillaman +Date: Thu Sep 15 18:14:15 2016 -0400 + + rbd-mirror: concurrent access of event might result in heap corruption + + Fixes: http://tracker.ceph.com/issues/17283 + Signed-off-by: Jason Dillaman + (cherry picked from commit ac9ad37ab80db8913f9f1149707bd0009f8235c4) + +commit 8070d6a560044e5b45af7bd6995345ab30489d84 +Author: Ricardo Dias +Date: Wed Sep 21 23:08:18 2016 +0100 + + rbd-mirror: test: Fixed timeout problem in rbd_mirror_stress.sh + + Signed-off-by: Ricardo Dias + (cherry picked from commit 5c737038dd6d44bd76605587486ddf9457bc2d96) + +commit 6ea4cde78ac7db6081e83d2530552946368021ef +Author: Ricardo Dias +Date: Tue Sep 6 17:28:22 2016 +0100 + + rbd: Fix race between journal flush and append events + + Signed-off-by: Ricardo Dias + (cherry picked from commit aa959e71fe5a8cec43de75007fc9cef8de5ee3a5) + +commit 180a86b61498e6a27a59c7673f74e32ce1ae02cf +Author: Ricardo Dias +Date: Wed Sep 7 15:26:34 2016 +0100 + + journal: make librados call async in ObjectRecorder + + Signed-off-by: Ricardo Dias + (cherry picked from commit 7b740f5b4ac1c66ac3c80782d2d34e846d00fddd) + +commit 5edbfe278532225aaaa6bb3fe6bef84a4c693d83 +Author: Ricardo Dias +Date: Mon Jul 25 17:00:50 2016 +0100 + + journal: increase concurrency of journal recorder + + Signed-off-by: Ricardo Dias + (cherry picked from commit 5c88edd68a1ee7c77f11e4113251fbe5768b8d99) + +commit 9ad132e670564c738e448bf719503cc73525fd8a +Author: Jason Dillaman +Date: Mon Sep 19 11:24:17 2016 -0400 + + journal: send update notification when tag allocated + + Signed-off-by: Jason Dillaman + (cherry picked from commit f1cd613e3d8ccb6d05b9adfe1956927991a4f4fe) + +commit f9aae06152e281c271f50201a8dd1852a132447f +Author: Jason Dillaman +Date: Tue Sep 13 21:54:46 2016 -0400 + + librbd: new journal listener event for force promotion + + Fixes: http://tracker.ceph.com/issues/16974 + Signed-off-by: Jason Dillaman + (cherry picked from commit fd005490e95d7fca85be4cad34344a58986f64d6) + +commit 4f5ce86349e246e12abe8e0c55380f400bf05ebb +Author: Jason Dillaman +Date: Tue Sep 13 16:38:51 2016 -0400 + + librbd: helper class for quiescing in-flight async ops + + Signed-off-by: Jason Dillaman + (cherry picked from commit 39d9e5cc9b38de2ee9ad2faf8e04253314160811) + +commit 829ff8c5fa9d9470f1e5370cf601509809b39674 +Author: Jason Dillaman +Date: Tue Sep 13 12:37:53 2016 -0400 + + librbd: unify journal event callbacks into single interface + + Signed-off-by: Jason Dillaman + (cherry picked from commit dbbcecf4a289ca36b734b7bda9530cc0a59f84ac) + +commit 41cf3d93356bde801c32dec4b7a21ae065295aa7 +Author: Jason Dillaman +Date: Tue Sep 13 16:28:50 2016 -0400 + + journal: expose ability to retrieve partial tag list + + Signed-off-by: Jason Dillaman + (cherry picked from commit 277b6dd9f13a8390cbf7c9ac7a313813ecad4d27) + +commit 2f9e6412982826fe0712a0b98e004c405b60fac3 +Author: Jason Dillaman +Date: Wed Sep 14 08:49:39 2016 -0400 + + qa/workunits/rbd: fix remove mirrored image race conditions + + Signed-off-by: Jason Dillaman + (cherry picked from commit a0f65b968b350629dfad978c191fc878ca26d093) + +commit 2ec5e93806f8487bdc5f8df23740aab5738cde1f +Author: Jason Dillaman +Date: Tue Sep 13 12:32:45 2016 -0400 + + qa/workunits/rbd: new mirroring forced promotion test + + Signed-off-by: Jason Dillaman + (cherry picked from commit a43268a4a30c06233152d531cbf2550224fb8a15) + +commit 5d1d898e1132325cae7045dc764a533878d56e00 +Author: Jason Dillaman +Date: Tue Sep 20 13:31:36 2016 -0400 + + test/rbd: fix possible mock journal race conditions + + Fixes: http://tracker.ceph.com/issues/17317 + Signed-off-by: Jason Dillaman + (cherry picked from commit 471898392372ba4c404376410fb56f3af5287c80) + +commit 775a999e8bac9d0dc02cb40f0206b96c5864b8d1 +Author: Mykola Golub +Date: Wed Jul 6 12:59:25 2016 +0300 + + qa/workunits/rbd: before removing image make sure it is not bootstrapped + + If an image is being bootstrapped, it implies that the rbd-mirror + daemon currently has the image open. The removal API will prevent the + removal of any image that is opened by another client. + + Works-around: http://tracker.ceph.com/issues/16555 + Signed-off-by: Mykola Golub + (cherry picked from commit 9737a8d6cbaf1b79bbc6008249d39acbae883941) + +commit 3bbd8ba4282ea7f3fa286d0a1944e9e93d321365 +Author: Jason Dillaman +Date: Tue Sep 27 14:47:02 2016 -0400 + + librbd: fix journal create compilation error + + The synchronous journal create method no longer exists on the master + branch and the associated change to introduce an asynchronous journal + creation state machine should be delayed to provide more testing time + on the master branch before being backported to jewel. + + Signed-off-by: Jason Dillaman + +commit 89c6618df89dc0d5d3eb1f855f6f93c72be75939 +Author: Jason Dillaman +Date: Thu Aug 11 21:11:07 2016 -0400 + + test: fixed unused function warnings in unittest_rbd_mirror + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3545d9ed19be8d3956f0db901ea9d3bb8b10d13d) + +commit ca94f25aa960bb352043a9d53eee361071d537da +Author: Jason Dillaman +Date: Thu Aug 11 20:48:27 2016 -0400 + + rbd-mirror: prevent syncing to non-primary image after failover + + Signed-off-by: Jason Dillaman + (cherry picked from commit beaef377d69f555277b706afff944a15086da28e) + +commit 7a434842ac2a2799b611aa87422009c244418922 +Author: Jason Dillaman +Date: Mon Aug 8 23:45:46 2016 -0400 + + rbd-mirror: demote/promote in same cluster results in split-brain + + Fixes: http://tracker.ceph.com/issues/16855 + Signed-off-by: Jason Dillaman + (cherry picked from commit a6901ca1a065419426b3ad704e27e43ba8d591b8) + +commit f8f3bbd7246d9a1d5a82f6b0b112f185323a5fb3 +Author: Jason Dillaman +Date: Thu Aug 11 19:39:21 2016 -0400 + + librbd: normalize journal promotion/demotion events + + A non-primary image's commit possition won't accurately reflect + the current demotion/promotion chain. Therefore, directly specify + the predecessor for promotion events. + + Signed-off-by: Jason Dillaman + (cherry picked from commit ac590e85a472533005cad73c82b2d61db161ab7a) + +commit 4baea6ace14bd834a3cb2c1d9d5202e94546e264 +Author: Jason Dillaman +Date: Thu Aug 11 19:09:09 2016 -0400 + + librbd: block RPC requests when demoting the image + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8b195e1fc8fe70a0e5417934302d5831b1f8dfb3) + +commit 8ccdad6d9d09e0f09431df6d3ebb2fbed47040c6 +Author: Jason Dillaman +Date: Tue Aug 9 12:24:19 2016 -0400 + + librbd: separate journal::TagData predecessor data into new struct + + Signed-off-by: Jason Dillaman + (cherry picked from commit 718befdae711141ef4a1e2e9f5e9aca97f1b5513) + +commit 13daaffb451e7187d5492a82bb85488c1bfe55d2 +Author: Jason Dillaman +Date: Mon Aug 8 20:57:45 2016 -0400 + + rbd-mirror: include tag tid in bootstrap debug log messages + + Signed-off-by: Jason Dillaman + (cherry picked from commit 47d1e625006d554164f020e496a847735240ec95) + +commit d775680dc4eb53c08a692e746dd65c57a560496d +Author: Jason Dillaman +Date: Mon Aug 8 10:39:01 2016 -0400 + + qa/workunits/rbd: demote/promote image on same cluster + + Signed-off-by: Jason Dillaman + (cherry picked from commit e6aa18ea0df6dc4d1add597bc2d972c79699bf4c) + +commit f7ffbfa71d6f8c417b140ce434b7714cd0053b09 +Author: Mykola Golub +Date: Wed Aug 10 13:46:46 2016 +0300 + + rbd-mirror: option to automatically resync after journal client disconnect + + Signed-off-by: Mykola Golub + (cherry picked from commit 77fd6a1c2016262d734b0bb5387e6b6a41232e8b) + + Conflicts: + src/common/config_opts.h: trivial resolution + +commit 0b402390381dfbfcf4d3810f3179f90c4aa995ef +Author: Mykola Golub +Date: Wed Jul 27 13:45:32 2016 +0300 + + rbd-mirror: stop replay when client is disconnected + + Signed-off-by: Mykola Golub + (cherry picked from commit 330dba00ba3153ba2862eef52714e0dceae05192) + +commit 80aa7e0b4fae6f71a34e28ad1225e3540f9606ed +Author: Mykola Golub +Date: Wed Aug 10 11:22:16 2016 +0300 + + rbd-mirror: resync was possible only when image replayer start had succeeded + + Signed-off-by: Mykola Golub + (cherry picked from commit 4bf6912f3c75560b89324fc29286028750f122c1) + +commit 170476e408308fad622063eddbd282a38a28ed89 +Author: Mykola Golub +Date: Tue Jul 26 16:10:30 2016 +0300 + + rbd-mirror: decode_client_meta should return false on error + + Signed-off-by: Mykola Golub + (cherry picked from commit cd5eb36e98f46a1d84bddeafa4e7dcad415aa4a2) + +commit 7382e1a5a2b801cdfcbf7cda109343c365d005f3 +Author: Mykola Golub +Date: Wed Aug 3 14:19:51 2016 +0300 + + rbd: new command to disconnect journal client + + Signed-off-by: Mykola Golub + (cherry picked from commit fc3ba54b3c101498a08a3f34ac8f7eab0152ad7c) + +commit d3ad2ff9dff192d93d2fbef82ec0ccd37809d2ca +Author: Mykola Golub +Date: Wed Jul 27 14:06:42 2016 +0300 + + librbd: optionally flag "laggy" journal clients disconnected + + Fixes: http://tracker.ceph.com/issues/14738 + Signed-off-by: Mykola Golub + (cherry picked from commit b8eafefba9f2221a0ce927568795cb1c3ac0fa9c) + +commit 4056e360117b3aacfba2ae98cd4ecb60e356730c +Author: Mykola Golub +Date: Wed Jul 13 15:49:40 2016 +0300 + + journal: allow to trim journal for "laggy" clients + + Signed-off-by: Mykola Golub + (cherry picked from commit 0b8b1aaedc10f7f46e91bf6ad809414feb770c8d) + +commit 3aec576572066a4329488c0b4420fe863cbbeeb2 +Author: Mykola Golub +Date: Wed Jul 27 13:42:19 2016 +0300 + + cls/journal: add async client_update_state method + + Signed-off-by: Mykola Golub + (cherry picked from commit 58b8c66d5bfa60e6dd3ad2ec79360c2eca165c58) + +commit d66bb7a991affb8b77eb9440d7c8874cc0b3bbf4 +Author: Ken Dreyer +Date: Mon Oct 3 14:43:25 2016 -0600 + + build: include more files in "make dist" tarball + + Include all the documentation, qa, and CMakeLists.txt files in the "make + dist" tarball. + + Kraken and newer releases will already do this. This change is + restricted to releases that still use autotools. + + The purpose of this change is to make it easier to apply downstream + patches on an unpacked upstream tarball, because often those patches are + cherry-picks of commits that touch files under doc/, qa/, or + CMakeLists.txt. + + Signed-off-by: Ken Dreyer + +commit 9d1f756dfa1775338c2fa1cf6bfafd45b842b75f +Merge: 59f0f4c 57f08fe +Author: Loic Dachary +Date: Tue Oct 11 12:30:44 2016 +0200 + + Merge pull request #11389 from jcsp/wip-17466-jewel + + jewel: mon: don't crash on invalid standby_for_fscid + + Reviewed-by: John Spray + +commit 59f0f4c7cc81b20fc584b8e6fff84887ec9c26dd +Merge: b747903 c2d4239 +Author: Loic Dachary +Date: Tue Oct 11 12:30:25 2016 +0200 + + Merge pull request #10997 from batrick/i17105-backport + + jewel: multimds: allow_multimds not required when max_mds is set in ceph.conf at startup + + Reviewed-by: John Spray + +commit b7479037472c7ce633e2130fb6dbc302dbb3affb +Merge: db2e822 cf211d7 +Author: Loic Dachary +Date: Tue Oct 11 12:30:03 2016 +0200 + + Merge pull request #10958 from ukernel/jewel-16764 + + jewel: client: fix shutdown with open inodes + + Reviewed-by: John Spray + +commit db2e8224853dc344b71871317204f13a0a53d808 +Merge: 4769027 1bc047b +Author: Loic Dachary +Date: Tue Oct 11 12:29:36 2016 +0200 + + Merge pull request #10921 from jcsp/wip-client-lock-backport + + jewel: client: add missing client_lock for get_root + + Reviewed-by: John Spray + +commit 4769027f0c83cb22f25186356b56e86b49579b8b +Merge: f49bac2 494687b +Author: Loic Dachary +Date: Tue Oct 11 12:29:05 2016 +0200 + + Merge pull request #11400 from ceph/wip-rbd-cli-jewel + + jewel: krbd-related CLI patches + + Reviewed-by: Loic Dachary + +commit f49bac2cbbda6aefef676b03f6656a98ec390b87 +Merge: 2a348d2 5ab5e82 +Author: Loic Dachary +Date: Tue Oct 11 11:03:40 2016 +0200 + + Merge pull request #11171 from ceph/wip-rasize-doc-jewel + + jewel: doc: fix description for rsize and rasize + + Reviewed-by: Loic Dachary + +commit 3bb2a9ed9602b0d280a357f53bc90c6cf83ffe32 +Author: Jason Dillaman +Date: Mon Oct 10 11:57:03 2016 -0400 + + librbd: ignore notify errors on missing image header + + The rename op on v1 images fails since the header no longer exists. In + the general case, the removal of the header object will also fail the + watcher which has its own recovery path. + + Fixes: http://tracker.ceph.com/issues/17549 + Signed-off-by: Jason Dillaman + (cherry picked from commit fe3e2eafa087f81c9ab59f3fbc39600d6adaa9c2) + +commit 5173563fbfc2799cc2328468bb197d65a94b4d7a +Author: Yan, Zheng +Date: Fri Sep 2 16:19:29 2016 +0800 + + client: properly set inode number of created inode in replay request + + Fixes: http://tracker.ceph.com/issues/17172 + Signed-off-by: Yan, Zheng + (cherry picked from commit e59385f16afc607ec700397b0bea5229ce69df30) + +commit 2c4e1c1cd1d01e51d5e4ad500d6b31832591d201 +Author: John Spray +Date: Tue Sep 6 13:16:04 2016 +0100 + + mds: log path with CDir damage messages + + Previously you just got the inode number, which + wasn't terribly useful for e.g. a missing fragment + object, as you couldn't readily resolve the parent + path. + + Fixes: http://tracker.ceph.com/issues/16973 + Signed-off-by: John Spray + (cherry picked from commit 439cd5e1b4725e594786785189a37184243828d9) + + Conflicts: + src/mds/CDir.cc: the go_bad() prototype which is part of the + context of the patch has changed. + +commit d52f190d449a2e68baed0659367795ebfb0dcb3d +Author: John Spray +Date: Tue Sep 6 13:07:38 2016 +0100 + + mds: s/used_ions/used_inos/ + + Signed-off-by: John Spray + (cherry picked from commit bd3645fb07714d43fb7bd3d66b7e34b33768a8e8) + +commit 494687b7f11d0c9ca56d96b6b4480de96847bec2 +Author: Ilya Dryomov +Date: Fri Oct 7 12:32:43 2016 +0200 + + rbd: expose rbd unmap options + + Reuse rbd map -o infrastructure to expose rbd unmap options in + a similar fashion. Currently it's just one bool option, but we may + need more in the future. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit 620f5e1455fdcb05cd3873c1e260141849829e35) + + Conflicts: + doc/man/8/rbd.rst [ PR #9151 ("rbd: add methods to set and get + snapshot limits") not in jewel ] + +commit 6b0226774e2f09f98751e6fa3b0125a960417cc0 +Author: Ilya Dryomov +Date: Fri Oct 7 11:14:16 2016 +0200 + + rbd: fix up terminology in help texts + + Signed-off-by: Ilya Dryomov + (cherry picked from commit ba8f9ee791d55c4cf25ad751213ea6ba770b7434) + +commit 071bd4778547930d9aab9340dcabbb6d9ffdd890 +Author: Ilya Dryomov +Date: Mon Oct 3 14:09:11 2016 +0200 + + rbd: recognize lock_on_read option + + Signed-off-by: Ilya Dryomov + (cherry picked from commit e857b7896527b676155d6e01c78567337dc33b1c) + +commit 7d0714e17557ad281bd92907e10462894a482ce9 +Author: Ilya Dryomov +Date: Tue Oct 4 10:21:36 2016 +0200 + + doc: clarify rbd size units + + It wasn't clear from the man page that --size defaults to M. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit d38dc29ed588b8933da3b66e46e1f0dd4cbb2cf4) + + Conflicts: + doc/man/8/rbd.rst [ PR #9066 ("rbd: introduce a simple bench + for read") not in jewel ] + +commit ca8fc6fc8baae2e4da842e16e25b91d304702cb5 +Author: John Spray +Date: Sat Jul 23 22:56:45 2016 +0100 + + ceph-create-keys: fix existing-but-different case + + We just have to refrain from calling get-or-create + if the named key already exists, to avoid potentially + having an error when the default creation args don't + match the key as it has already been created, such + as on certain upgrades. + + Fixes: http://tracker.ceph.com/issues/16255 + Signed-off-by: John Spray + (cherry picked from commit 278196d86c52b0be3cb9c17ed7f8f3e3502a217a) + +commit 0a17741861faa1643bc338459397072268e469bd +Author: Yan, Zheng +Date: Tue Sep 20 18:07:56 2016 +0800 + + client: fix readdir vs fragmentation race + + following sequence of events tigger the race + + client readdir frag 0* -> got item 'A' + MDS merges frag 0* and frag 1* + client send readdir request (frag 1*, offset 2, readdir_start 'A') + MDS reply items (that are after item 'A') in frag * + + Fixes: http://tracker.ceph.com/issues/17286 + Signed-off-by: Yan, Zheng + (cherry picked from commit feb63776d4f2b03ece189715fdd75da5cae2afc2) + +commit 3a79db10f259d66ca17c2152cf639a63f245505d +Author: Yan, Zheng +Date: Wed Sep 14 18:22:01 2016 +0800 + + mds: remove fail-safe queueing replay request + + MDSRank::queue_one_replay() does not create active request + immediately, it just queues corresponding C_MDS_RetryMessage + for execution. So the fail-safe code can queue an extra replay + request. This can cause replay requests be processed out-of-order + + Fixes: http://tracker.ceph.com/issues/17271 + Signed-off-by: Yan, Zheng + (cherry picked from commit d755a4a78242293dd3103bdd0748292df3034563) + +commit 10e603b1e3024c760cd5567dbbc73fbb3c1281f3 +Author: Yan, Zheng +Date: Wed Sep 21 21:57:25 2016 +0800 + + client: fix segment fault in Client::_invalidate_kernel_dcache(). + + when umounting, root can be NULL + + Fixes: http://tracker.ceph.com/issues/17253 + Signed-off-by: Yan, Zheng + (cherry picked from commit ddea9a5b78151c0abe834e4a9872f7cf5f918ebc) + +commit 3320da0adb346af15a5d50a45e0aea5ca234eb79 +Author: John Spray +Date: Mon Sep 19 15:18:24 2016 +0100 + + mds: catch duplicates in DamageTable + + There was an implicit assumption in the code that callers + wouldn't hit the notify_*damaged paths twice because they would + have checked is_*_damaged paths first. + + However, that's not really true in all cases, e.g. scrub + code isn't required to respect existing damage entries + when trying to load a CDir. + + Simply fix this by having the DamageTable notify* functions + check the key they're inserting doesn't already exist. + + Fixes: http://tracker.ceph.com/issues/17173 + Signed-off-by: John Spray + (cherry picked from commit c9cfaef104e9aaefad55583d7e54f8b4665904b3) + +commit 5d0e2f8690b08418fc404dc43df7a3a16ac83309 +Author: Casey Bodley +Date: Fri Sep 2 14:13:19 2016 -0400 + + common: only call crypto::init once per CephContext + + Fixes: http://tracker.ceph.com/issues/17205 + + Signed-off-by: Casey Bodley + (cherry picked from commit 9dfc1537564c4ce65e4d0230a83f0d8d47503b16) + +commit 483d8c41a241aa917878284765aef2ba2ced0bb3 +Author: Brad Hubbard +Date: Tue Jun 14 17:34:44 2016 +1000 + + cephx: Fix multiple segfaults due to attempts to encrypt or decrypt + an empty secret and a null CryptoKeyHandler + + Fixes: http://tracker.ceph.com/issues/16266 + Signed-off-by: Brad Hubbard + (cherry picked from commit 009e777fbd18602e5fd66f97bdad95e977e6fecc) + +commit 5ae4f316b2cf37ce5d13b1ced4b65962c5583882 +Author: Kefu Chai +Date: Tue Sep 20 17:39:24 2016 +0800 + + os/filestore/FileJournal: fail out if FileJournal is not block device or regular file + + otherwise JournalingFileStore will assert when deleting FileJournal + which still has the non block/regular file opened. + + Fixes: http://tracker.ceph.com/issues/17307 + Signed-off-by: Kefu Chai + (cherry picked from commit 7431eec6fd24cd08ca6c76a9893e3f6e8c63a916) + +commit 2a348d23e5a047bf6a9c80140cf31ba2d6d4113f +Merge: da04ac0 29a8701 +Author: Loic Dachary +Date: Mon Oct 10 20:30:54 2016 +0200 + + Merge pull request #10812 from SUSE/wip-17094-jewel + + jewel: build/ops: ceph-osd-prestart.sh fails confusingly when data directory does not exist + + Reviewed-by: Loic Dachary + +commit da04ac055188e2e84d21b29feee3069bb95e5ebe +Merge: a80aacf 1a7faefd +Author: Matt Benjamin +Date: Mon Oct 10 10:46:33 2016 -0400 + + Merge pull request #11335 from linuxbox2/jewel-nfs + + jewel: rgw: nfs backports + +commit a80aacf048c2809bc2b7fd7e2f41e12b5470c5ab +Merge: e795450 a10d700 +Author: Matt Benjamin +Date: Mon Oct 10 10:45:07 2016 -0400 + + Merge pull request #11332 from linuxbox2/jewel-ldap + + jewel: rgw: combined LDAP backports + +commit c2d4239331e397e6a48b1ee7a4c69dad0c951f94 +Author: Patrick Donnelly +Date: Mon Aug 29 16:25:10 2016 -0400 + + mds: remove max_mds config option + + It is now required that all changes to max_mds use the run-time `ceph fs + set max_mds` command. The rationale for this change is that it is + confusing to have a configuration for max_mds which is only observed at + file system creation. + + Fixes: http://tracker.ceph.com/issues/17105 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 52f4e545e0ce4782d5f2239d31080d392c12eba2) + +commit e7954500dab4f3e3bead824ba0da66105940e36a +Merge: eac384a 0b93a9a +Author: Sage Weil +Date: Mon Oct 10 08:54:02 2016 -0500 + + Merge pull request #10761 from dachary/wip-16377-jewel + + jewel: msgr/async: Messenger thread long time lock hold risk + + Reviewed-by: Sage Weil + +commit eac384a5a158191e3276940d340ee2fe0b4b4b73 +Merge: c21e1de d94e5bc +Author: Sage Weil +Date: Mon Oct 10 08:52:59 2016 -0500 + + Merge pull request #10278 from SUSE/wip-16667-jewel + + jewel: incorrect value of CINIT_FLAG_DEFER_DROP_PRIVILEGES + + Reviewed-by: Sage Weil + +commit 57f08fe72269b573d95791b44f25de044d40fba6 +Author: John Spray +Date: Fri Sep 30 21:57:35 2016 +0100 + + mds: make mds_role_t member order match constructor + + Previously this was mildy confusing. + + Signed-off-by: John Spray + (cherry picked from commit 63d711d4e9decd2940c55aa697e6a588593da23a) + +commit c19326cef28ca3764340434cacc1f77e5899b887 +Author: John Spray +Date: Mon Oct 3 07:33:27 2016 +0100 + + mon: don't crash on invalid standby_for_fscid + + Fixes: http://tracker.ceph.com/issues/17466 + Signed-off-by: John Spray + (cherry picked from commit 92fdcf36bd7d57b97f5d887d0370a181860e388c) + +commit cbd9a39e83258a7fa98d3d33aea652def17d3906 +Author: John Spray +Date: Mon Oct 3 07:40:12 2016 +0100 + + messages: fix MMDSBeacon constructor + + This was leaving garbage in some fields during decode + when decoding messages with an older version. + + Fixes: http://tracker.ceph.com/issues/17466 + Signed-off-by: John Spray + (cherry picked from commit f1fb667dfd21cd241f4f45ce9ef3f8393d114c60) + +commit c21e1de83294fea247bd2a458143639544f91f6d +Merge: 8a84877 f7d23d5 +Author: Loic Dachary +Date: Mon Oct 10 12:26:02 2016 +0200 + + Merge pull request #10794 from SUSE/wip-17082-jewel + + jewel: disable LTTng-UST in openSUSE builds + + Reviewed-by: Loic Dachary + +commit 8a8487711339596f2f22da572e59a194c6166c69 +Merge: 4c526a4 47605a2 +Author: Loic Dachary +Date: Mon Oct 10 12:21:59 2016 +0200 + + Merge pull request #9739 from vumrao/wip-vumrao-16337 + + jewel: osd: add peer_addr in heartbeat_check log message + + Reviewed-by: Samuel Just + +commit 4c526a4211f29a5151c5d79d3f0aa221f3d24221 +Merge: c362c71 5ffee35 +Author: Loic Dachary +Date: Mon Oct 10 12:20:30 2016 +0200 + + Merge pull request #9388 from vumrao/wip-vumrao-16069 + + jewel: mon: Display full flag in ceph status if full flag is set + + Reviewed-by: Loic Dachary + +commit c362c71ef34b136112852cce7a769a8bac30626c +Merge: f707d1d 79e2acb +Author: Loic Dachary +Date: Mon Oct 10 12:03:51 2016 +0200 + + Merge pull request #10496 from Abhishekvrshny/wip-16583-jewel + + jewel: mon crash: crush/CrushWrapper.h: 940: FAILED assert(successful_detach) + + Reviewed-by: Kefu Chai + +commit f707d1d4f1cae66927e630da9a4524d2af6c9a11 +Merge: 84adafe f337a07 +Author: Loic Dachary +Date: Mon Oct 10 09:31:29 2016 +0200 + + Merge pull request #11018 from ceph/wip-17223-jewel + + jewel: krbd qa scripts and concurrent.sh test fix + + Reviewed-by: Loic Dachary + +commit cca589fdb18147ea61e79b8d98b886ef30cd65d5 +Author: Vladislav Odintsov +Date: Mon Jul 4 15:29:22 2016 +0300 + + init-radosgw: do not use systemd-run in sysvinit + + `systemd-run` logic in initscripts was introduced because of ticket + http://tracker.ceph.com/issues/7627. + + If we have systemd-based operating system, we should use systemd unit files + from systemd directory to start/stop ceph daemons. + Otherwise, `daemon()` from `/etc/init.d/functions` on systemd distro starts service + in `system.slice` and everything works well. + + `systemd-run` can not be run on non-systemd distros, so it's not needed + on SysV systems. + + also, ceph-disk is now able to run the "systemctl" + to enable and start the ceph-osd, and ceph-deploy is also now + playing well with systemd when it comes to ceph-mon and ceph-mds + + Fixes: http://tracker.ceph.com/issues/16440 + + Signed-off-by: Vladislav Odintsov + (cherry picked from commit 1fd4f92a025e80092b8d08d9b7da2e0b73a52f0f) + +commit 83a91baff05f03f907fb80702ae1c68194b5308b +Author: Yehuda Sadeh +Date: Thu Jun 30 17:36:16 2016 -0700 + + rgw: forward input data when forwarding set_bucket_version to master + + Fixes: http://tracker.ceph.com/issues/16494 + + Needed to keep input data around to be forwarded correctly. Also, master + does not send any data back, so don't try to parse anything. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 1eec00bef1e5540bf3e31d1f8fb1645eb64b1e62) + +commit 0986aff2aafdf64847a7e9608abb84edaea59eb1 +Author: Yehuda Sadeh +Date: Thu Jun 30 17:34:38 2016 -0700 + + rgw: set args when rebuilding req_info + + Was missing args, so it didn't sign requests with subresources + correctly when forwarding. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit dd1068c54e50671d8904b99189823418a5a5bc07) + +commit bb81f9dd83da76704a5b6ba3e718fef3ac918290 +Author: Jason Dillaman +Date: Fri Aug 12 12:39:45 2016 -0400 + + librbd: permit disabling journaling if in corrupt state + + Fixes: http://tracker.ceph.com/issues/16740 + Signed-off-by: Jason Dillaman + (cherry picked from commit 6afb884d755697528684fad54dbb69b15d4386f1) + +commit b14d7f148c8f64d2e2da533fe2b35661536810c4 +Author: Jason Dillaman +Date: Fri Aug 12 12:21:02 2016 -0400 + + librbd: new journal policy to disable initializing the journal + + This will be used in the case where the journal is being disabled. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 73e4c65c809a1e4161229f49285b21b2cfc623ca) + + Conflicts: + src/librbd/Makefile.am (no CreateRequest.h or RemoveRequest.h in jewel) + +commit 77ea51138f05b4fa1c603ade0e62f961ec708441 +Author: weiqiaomiao +Date: Wed Aug 10 14:11:43 2016 +0800 + + doc/radosgw: fix description of response elements 'Part' + + Signed-off-by: weiqiaomiao + (cherry picked from commit 9c3fe46a7eb89aedc52582737c200e58d63738a5) + +commit 1a7faefd035aa8f31ab11ddfe1046989d0e69aac +Author: Matt Benjamin +Date: Wed Sep 21 17:18:20 2016 -0400 + + rgw_file: pre-assign times + + Set unix timestamps based on RGW values for creation, modification + time for buckets, objects in stat requests. Regard any saved + value of these in unix attributes as an overlay. + + Fixes: http://tracker.ceph.com/issues/17367 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 969750e96380859a350e25015bc8cbf9bdf88512) + + Fixes: http://tracker.ceph.com/issues/17394 + +commit 0c932b9078a249bcb9dbb8c425788787f1cd48f2 +Author: Matt Benjamin +Date: Tue Sep 20 17:32:03 2016 -0400 + + rgw_file: fix set_attrs operation + + The effective part of this change is to always set a value + for RGW_ATTR_UNIX_KEY1 (because it is expected later). + + Secondarily, do not pass the address of the to-set attributes + buffer::list as remove attrs--this is confusing. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 08afb40b2812270a6af3cd1965e8c03c10392ace) + + Fixes: http://tracker.ceph.com/issues/17393 + +commit 0de33909012f2a8305ff2038906669c78070cbcd +Author: Matt Benjamin +Date: Thu Apr 14 19:18:37 2016 -0400 + + rgw_file: implement rgw_setattr + + Introduce a new RGWSetattrs RGWOp descendant, to create or replace + sets of attrs on buckets or objects. + + This version of the change uses the standard RGWRADOS::set_attrs op + (we want attribute changes to (e.g.) sync with other changes). + + Previous versions of this changed incorrectly masked the values + of st->st_ino in RGWFileHandle::stat(), now fixed. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 4de1c3c260265f821ebee842d49cb35bf49d8e4e) + + Fixes: http://tracker.ceph.com/issues/17311 + Fixes: http://tracker.ceph.com/issues/17332 + +commit 00f3fbe7dc940d8c9176a8da35fccd42e6ddc10f +Author: zhangweibing +Date: Fri Aug 26 10:49:48 2016 +0800 + + rgw: remove duplicated calls to getattr + + Signed-off-by: Weibing Zhang + (cherry picked from commit 87b550ed2fba472d4ef2e1f771bb5f9fd248804f) + + Fixes: http://tracker.ceph.com/issues/17327 + +commit c53992856d6058b71bed55337c3830dbaefb6823 +Author: Min Chen +Date: Fri Aug 19 01:02:50 2016 -0400 + + rgw: rgw file fix bug of rgw_lookup can not exact match file name + + bug reproduce steps: + in nfs-client (connect to nfs-ganesha server): + 1. mv file file.rename + 2. stat file // get file attrs, not return with -ENOENT + + the reason is that: + RGWStatLeafRequest does not exact match the file name, + just take file name as a prefix filter + + Signed-off-by: Min Chen + (cherry picked from commit 9d813bafc8e197507457c58ab4f365ccdb7f3589) + + Fixes: http://tracker.ceph.com/issues/17326 + +commit 9f5c7377143c56b169a62a96dba5c6ff800e4d5c +Author: Yan Jun +Date: Tue Aug 23 12:51:10 2016 +0800 + + rgw: fix the wrong return value + + Here `parent->readdir` will return negative numbers When there is an error. + so we should just return it. + + Signed-off-by: Yan Jun + (cherry picked from commit c979be7810793534715c24c6a9f7c8b0ed31de8d) + + Fixes: http://tracker.ceph.com/issues/17325 + +commit cf1353c24917ecb9056272da7f6b3e73bba11fa8 +Author: Matt Benjamin +Date: Wed Aug 17 10:28:48 2016 -0400 + + rgw_file: restore local definition of RGWLibFS gc interval + + Signed-off-by: Matt Benjamin + (cherry picked from commit 31936caa09b46e86700faad969adfa9d43176206) + + Fixes: http://tracker.ceph.com/issues/17323 + +commit 7a648ed991630541b5875a329820b67b269af570 +Author: Matt Benjamin +Date: Tue Aug 23 16:50:42 2016 -0400 + + rgw_file: explain semantics of RGWFileHandle::commit + + Add a comment explaining why the method currently returns 0 + unconditionally. + + Signed-off-by: Matt Benjamin + (cherry picked from commit b1da1354320cc5f69277b225a293a03cc2a5054f) + +commit 0135da74e2a08fccc2e2da9f1b7e55478bf79157 +Author: Matt Benjamin +Date: Tue Aug 23 15:57:06 2016 -0400 + + ceph_timer: prefer using directive to typedef + + This change replaces the existing member-hook typedef as well as + the new set-type typedefs, so committed separately. + + Signed-off-by: Matt Benjamin + (cherry picked from commit f7d4d418658d2091652033045abdb4bfbeb637aa) + +commit 2a9233f1fbff38c12d378d5b6528a7e576a62e3e +Author: Matt Benjamin +Date: Tue Aug 23 14:18:43 2016 -0400 + + librgw: add API version defines for librgw and rgw_file + + This change borrows the major, minor+extra format used by libcephfs. + The version numbering is starting at 1,1,0 on the theory that the + implicit version at Jewel is 1,0,0. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 355ccc5ded7f0b459bca24bc8b504b41807c583d) + +commit 2d6966f7e1f4c6dab12f7500746f1021b52d91af +Author: Matt Benjamin +Date: Wed Aug 17 11:24:01 2016 -0400 + + rgw file: allow RGWLibFS::write_completion_interval_s to be set in conf + + Signed-off-by: Matt Benjamin + (cherry picked from commit 70dad0fba561edaf0bb4e746e29b92a4e9b014b2) + +commit 7071845f2e477648c322f0072e54490c47ed4154 +Author: Matt Benjamin +Date: Wed Aug 17 11:00:22 2016 -0400 + + rgw_file: log on write completion events at level 10 + + Signed-off-by: Matt Benjamin + (cherry picked from commit d1e512d8c0e20df5a96ccb5f775a7a2ca123efbe) + +commit 95310c7f960eead2e22bc02c0e9d94ec863cafd6 +Author: Matt Benjamin +Date: Wed Aug 17 10:52:58 2016 -0400 + + rgw_file: add RGW_OPEN_FLAG_STATELESS as a synonym for V3 + + Signed-off-by: Matt Benjamin + (cherry picked from commit da596eb3af69c2cdf191893eb44a8947662634cf) + +commit 697d4ef7837061bb6b5ebaad07ae86836cdbe126 +Author: Matt Benjamin +Date: Tue Aug 16 18:17:53 2016 -0400 + + rgw_file: implement stateless write completion timer + + Implements a temporal mechanism to enforce write completion for setups + which lack open state tracking (e.g., NFS3). + + Signed-off-by: Matt Benjamin + (cherry picked from commit 2c83ed4bd43fcb5d5497151a157b1dc08022fed9) + +commit 4a31509c5ae7e40dd1538b2075287d8cc202f159 +Author: Matt Benjamin +Date: Fri Aug 12 16:52:51 2016 -0400 + + rgw_file: fix/update rgw_create flag arguments + + Allow passing POSIX open flags as well as api call flags. Needed + for NFS3 support. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 2d0ea2b4649e76cbbb87f44c57754d7ea9c46dce) + +commit 73f9a0b147914f3ef4f7b69a3b57899034406bca +Author: Matt Benjamin +Date: Fri Aug 12 10:39:21 2016 -0400 + + rgw_file: fix/update rgw_open flag arguments + + Allow passing POSIX open flags as well as api call flags. Needed + for NFS3 support. + + Signed-off-by: Matt Benjamin + (cherry picked from commit ada29f7f8323be2301588941bcd5c60190b32a4b) + +commit 4ceb70eba4d777ecc34cce9d1d10002807a6e770 +Author: Matt Benjamin +Date: Tue Aug 9 16:49:41 2016 -0400 + + rgw file: remove busy-wait in RGWLibFS::gc() + + This is a background thread. However, CPU is wasted. + + Signed-off-by: Matt Benjamin + (cherry picked from commit ca33241286f52d849dbde8092507131b8b1108cc) + + Fixes: http://tracker.ceph.com/issues/17321 + Signed-off-by: Matt Benjamin + +commit 8e1515b068991567136042fb11384fb0fd0620fe +Author: Matt Benjamin +Date: Tue Aug 9 14:23:00 2016 -0400 + + rgw_file: unlock() must precede out label + + In lookup_handle(...). + + Signed-off-by: Matt Benjamin + (cherry picked from commit 9f64f34e481278a683e962b17c7aa811005783a8) + +commit 88eeaa967494ba6b536d493d06bc4bdbe92e452f +Author: Matt Benjamin +Date: Sun Aug 7 18:39:33 2016 -0400 + + rgw nfs: fix write continuations + + Signed-off-by: Matt Benjamin + (cherry picked from commit b4d079f2b5a4d49b2ba7576b272a2a3f3b0d66c8) + +commit f0b1799910564706766fccb8ec2b1c2c27a10467 +Author: Matt Benjamin +Date: Fri Aug 5 10:03:33 2016 -0400 + + rgw nfs: don't leak fh->mtx in lookup_handle() + + This change fixes a serious latent locking problem, noticed after + updating the ganesha/rgw driver invalidation after renames. + + Signed-off-by: Matt Benjamin + (cherry picked from commit d74d46170d7104a6553674f111bbdbe3a116cf54) + +commit f16ac90f9c097352de2763215f0c83812503e815 +Author: Matt Benjamin +Date: Mon Aug 8 10:18:35 2016 -0400 + + rgw file: refuse to rename directories + + The representation of paths as an aggregate involving any + number of objects argues against ever permitting such + operations. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 297220fd2a96c0cf34701127b8cf724e24e6865f) + +commit 23b749f93ed9a7de93aabc871df0adeeebac4e0f +Author: Matt Benjamin +Date: Wed Aug 3 13:53:15 2016 -0400 + + rgw_file: refuse ops on deleted targets + + Detect these illegal cases, as they are indicate various incorrect + behaviors/bugs. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 34224ecd8360e03603a1a5dd1c1c9f0a31f1c1d5) + +commit 345de45cbf5932174222b733bf71820e818fbfd5 +Author: Matt Benjamin +Date: Thu Apr 14 19:18:37 2016 -0400 + + rgw_file: implement rgw_setattr + + Introduce a new RGWSetattrs RGWOp descendant, to create or replace + sets of attrs on buckets or objects. + + This version of the change uses the standard RGWRADOS::set_attrs op + (we want attribute changes to (e.g.) sync with other changes). + + Previous versions of this changed incorrectly masked the values + of st->st_ino in RGWFileHandle::stat(), now fixed. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 4de1c3c260265f821ebee842d49cb35bf49d8e4e) + +commit 88b5027850618f14c562d07ba25a664fd4c22771 +Author: Matt Benjamin +Date: Wed Jul 13 10:16:59 2016 -0400 + + rgw_file: refuse partial, out-of-order writes + + A single file object may be opened only once per gateway + instance, and writes to that object must be complete, and in-order. + Enforce this. + + If an invalid write is seen, deletes the current write transaction. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 12aded803e24539266ce9698c678088e2158a82a) + +commit be243695c1309acfc293f7080cf213edbc558d14 +Author: Matt Benjamin +Date: Tue Jul 12 17:43:43 2016 -0400 + + rgw_file: fix rename cases and unify unlink + + Rather ordinary rename cases failed in the unlink step. Fix this, + unifying the unlink path while at it. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 05af1fbb870a905ea8903594dfc607d346c9dd31) + +commit a10d700697d8f432aca2b1bff6766e2478ac060d +Author: Harald Klein +Date: Wed Aug 31 17:41:26 2016 +0200 + + add ldap auth custom search filter feature patch - http://tracker.ceph.com/issues/17185 + + Signed-off-by: Harald Klein + (cherry picked from commit c935885ae9d5fd413495448a0b0e5fce899c9b73) + + Fixes: http://tracker.ceph.com/issues/17185 + +commit 7486638563c1eeda7781dcf58b0c536d11f17a0b +Author: Matt Benjamin +Date: Thu Aug 18 10:54:16 2016 -0400 + + rgw ldap: protect rgw::from_base64 from non-base64 input + + Also adds unit tests for: + 1. empty output from from_base64 (turns out to be harmless) + 2. random and specific non-base64 and sort strings + (modified from upstream to avoid alteration of src/test/test_rgw_token.cc) + + Signed-off-by: Matt Benjamin + (cherry picked from commit 0a4c91ec7652d02673a9b156cd16144d778a3844) + + Fixes: http://tracker.ceph.com/issues/17324 + +commit 68788fb898118c826b136b7cd7f60265a6dfef79 +Author: Matt Benjamin +Date: Fri Aug 5 10:02:03 2016 -0400 + + rgw ldap: enforce simple_bind w/LDAPv3 + + Found by Harald Klein . + + Signed-off-by: Matt Benjamin + (cherry picked from commit 08d54291435e4d1cb5e02cda3951bc6e8510b0e2) + +commit 871caeb5011b06d54bd41370ee20ba38e84c9ac0 +Author: Matt Benjamin +Date: Mon Aug 1 17:36:17 2016 -0400 + + rgw: add reinit/rebind logic (ldap) + + Gracefully handle stale LDAP connections by rebinding--verified + with MS AD. Rebind is attempted once per request until rebound-- + not worse than misconfiguring the environment. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 9b8fccf68789ba5c5986766c544b23aeada0e87e) + +commit de0c4e1281b5b67af1459aa11fbb292a0cae2ab2 +Author: Casey Bodley +Date: Tue Aug 16 16:58:51 2016 -0400 + + rgw: RGWDataSyncCR fails on errors from RGWListBucketIndexesCR + + Fixes: http://tracker.ceph.com/issues/17073 + + Signed-off-by: Casey Bodley + (cherry picked from commit e77a523f1d74768f4fef58c05cc167705d219036) + +commit 8833c64459edb77fa0d394b2eda2f79cd0f6dba9 +Author: Samuel Just +Date: Mon Oct 3 10:34:51 2016 -0700 + + PG: block writes and scan log for scrub using inclusive upper bound + + See comment in commit. + + Signed-off-by: Samuel Just + +commit 0e2338e5ec5441e5fc173a7af69343c775b02a13 +Author: David Zafman +Date: Mon Oct 3 14:34:19 2016 -0700 + + osd_types,PG: force the map used in _scrub to be sorted correctly + + Previously, ScrubMap::objects was always sorted bitwise (nibblewise + before the comparator change was made. It didn't matter because we + always scrubbed whole hash values. Now, we need the objects in the + objectstore ordering because we may be missing objects at the tail of + the scanned range and need them to show up at the tail of the + ScrubMap::objects mapping. We don't need to do anything else to handle + the upgrade process since the actual objects *in* the map were + determined by the objectstore ordering. + + Signed-off-by: Samuel Just + (cherry picked from commit 6d410e97232afdad4f226151333b209d8b50f4ed) + +commit 16f9d95204f3eca6908ae241e5bacc48b006cb23 +Author: Samuel Just +Date: Wed Sep 28 13:24:56 2016 -0700 + + src/osd: relax the requirement that we scrub a whole hash value + + Previously, we needed to scrub all objects in clones in a single + hash value mainly to ensure that _scrub had access to all clones + of a single object at the same time. Instead, just avoid letting + head or snapdir be a boundary (see the comment in the commit + for details). + + Signed-off-by: Samuel Just + (cherry picked from commit 27bdc8ce6d0a7d8ae47f29540f281ba417e16b4c) + +commit 2176c847d588fbec654653db48c4ad156a87aac2 +Author: Samuel Just +Date: Wed Sep 28 13:25:42 2016 -0700 + + hobject: clarify is_snap and has_snapset for max + + Signed-off-by: Samuel Just + (cherry picked from commit a2c27c9423b43b8c5633fb0af95f28b0de94b365) + +commit 84adafe3fe6f57d49b4bdf1e036e1b686e6b0f55 +Merge: 5246f81 fb36dd0 +Author: Matt Benjamin +Date: Fri Sep 30 14:02:43 2016 -0400 + + Merge pull request #10656 from dachary/wip-16564-jewel + + jewel: cors auto memleak + +commit 35660d1aabd8b27bf3ba71e50d00ba1cf1cecf00 +Author: Igor Podoski +Date: Wed Sep 14 07:36:43 2016 -0400 + + mon: OSDMonitor: Missing nearfull flag set + + Output from 'ceph -s -f json-pretty' wans't showing nearfull flag set. + + Signed-off-by: Igor Podoski + (cherry picked from commit 754887b575795ef96cda095f7f0d8c898e20f00f) + +commit 5246f8135124dd49466268ead3c8c10d241c94f9 +Merge: 9c464a5 3cb0a5e +Author: Josh Durgin +Date: Thu Sep 29 15:54:05 2016 -0700 + + Merge pull request #11252 from ceph/wip-offline-split-jewel + + ceph-objectstore-tool: add a way to split filestore directories offline + + Reviewed-by: Josh Durgin + +commit 9c464a55c8ffe7278450c88cc208f2f2e7bce1a0 +Merge: 085e9e3 457d78f +Author: Yehuda Sadeh +Date: Thu Sep 29 11:34:44 2016 -0700 + + Merge pull request #10866 from dachary/wip-17122-jewel + + jewel: COPY broke multipart files uploaded under dumpling + +commit 085e9e369c5c6fbe48f888009e3997d86dcaf968 +Merge: cb46489 23d73dc +Author: Yehuda Sadeh +Date: Thu Sep 29 11:32:09 2016 -0700 + + Merge pull request #10890 from dachary/wip-17140-jewel + + jewel: rgw: period commit loses zonegroup changes: region_map converted repeatedly + +commit cb46489b92b14c5722368e88a4c66712ecc1623d +Merge: a0fce63 cefd6f5 +Author: Yehuda Sadeh +Date: Thu Sep 29 10:51:09 2016 -0700 + + Merge pull request #11021 from cbodley/wip-16794 + + jewel: rgw: back off bucket sync on failures, don't store marker + +commit a0fce6302013b2e9ddad8466d7ab34c370d3786e +Merge: 4e61538 92581a3 +Author: Yehuda Sadeh +Date: Thu Sep 29 10:49:28 2016 -0700 + + Merge pull request #10657 from dachary/wip-16792-jewel + + jewel: metadata sync can skip markers for failed/incomplete entries + +commit 3cb0a5e0b0517701ad3b44bdf6d4b60d6a51e8ee +Author: Josh Durgin +Date: Fri Aug 5 11:45:00 2016 -0700 + + ceph-objectstore-tool: add a way to split filestore directories offline + + Use the usual split code, and split each dir that meets the + usual split criteria. + + This can be run with lower than usual split settings, to avoid costly + online splits. To make sure the directories are not merged again, use + a load merge threshold (e.g. filestore merge threshold = 1), and + adjust the split multiplier accordingly. + + Fixes: http://tracker.ceph.com/issues/17220 + Signed-off-by: Josh Durgin + (cherry picked from commit e7b0428e0e8d8f5459311dc698d94a3ac4f04684) + + Conflicts: + src/os/filestore/FileStore.cc + src/tools/ceph_objectstore_tool.cc + (trivial resolution) + +commit de672a09f1e2b29de1e0e6e15d26be99315c41b9 +Author: Boris Ranto +Date: Fri Aug 5 11:14:53 2016 +0200 + + logrotate: Run as root/ceph + + Currently, we run the logrotate scripts as ceph/ceph but that way we + cannot rotate the scripts created by qemu (they are root/ceph and 644). + The original su line was introduced in commit 73d7bed9 because logrotate + complained that the directory was writable by a non-root group and it + needed a su line to supress that error. This way, we keep the group + settings and we can access and rotate the qemu logs as well. + + Signed-off-by: Boris Ranto + +commit 4e61538d9f1b372f28e61ad94c368c782be09d92 +Merge: ecc2377 e72e7a2 +Author: Sage Weil +Date: Tue Sep 27 15:37:17 2016 -0500 + + Merge pull request #10888 from dachary/wip-17062-jewel + + jewel: tests: fix TestClsRbd.mirror_image failure in upgrade:jewel-x-master-distro-basic-vps + +commit 9cb45e11ec392da7c22578539b99619bdbf37e35 +Author: Brad Hubbard +Date: Tue May 10 16:44:44 2016 +1000 + + log: Log.cc: Assign LOG_INFO priority to syslog calls + + LOG_DEBUG prio messages are not logged by a default syslog + configuration so log at LOG_INFO instead. + + Fixes: http://tracker.ceph.com/issues/15808 + Signed-off-by: Brad Hubbard + (cherry picked from commit 3ab5a660a45506d6c4c41bfeb5babdf188e62b3d) + +commit 165e5abdbf6311974d4001e43982b83d06f9e0cc +Author: Vikhyat Umrao +Date: Fri Apr 1 16:55:36 2016 +0530 + + librados: modify Pipe::connect() to return the error code + + Fixes: http://tracker.ceph.com/issues/15308 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit cad38dca0c90fb2ee4b589f336f8272122f50ad6) + +commit 5ab5e8268174bd34a095a1e96a1a969ad9e3531b +Author: Andreas Gerstmayr +Date: Thu Sep 15 22:02:23 2016 +0200 + + doc: fix description for rsize and rasize + + Signed-off-by: Andreas Gerstmayr + (cherry picked from commit a004254a02cafdee848a382f893f89c3c5a9845a) + +commit c94244d3b132b6cf1f8ad309644cf48739282f04 +Author: Jelle vd Kooij +Date: Thu Sep 1 00:42:34 2016 +0200 + + Add Install section to systemd rbdmap.service file + + Signed-off-by: Jelle vd Kooij + (cherry picked from commit 57b6f656e17124a5ab4cd1400840d9c7c87a3cc3) + +commit e2ce8576f547b1e073c169ef331c7063319d9783 +Author: tserlin +Date: Mon Sep 19 14:40:12 2016 -0400 + + Add two options to radosgw-admin.rst manpage + + Add '--job-id' and '--max-concurrent-ios' to Orphan Search Options + + Fixes: http://tracker.ceph.com/issues/17281 + Signed-off-by: Thomas Serlin + (cherry picked from commit 697f30d86f49b73c981c06375ab2937570b1db01) + +commit 4e66f9e9d1179204a6fdf08e43608a852d2b7fd3 +Author: Ken Dreyer +Date: Thu Sep 15 12:56:39 2016 -0600 + + radosgw-admin: add "--orphan-stale-secs" to --help + + The radosgw-admin --help did not include the description of the + `--orphan-stale-secs` option of the `orphans find` command. The option + sets the number of seconds to wait before declaring an object to be an + orphan. + + Fixes: http://tracker.ceph.com/issues/17280 + Signed-off-by: Ken Dreyer + (cherry picked from commit 354059ae43b4f4cc797da1669715399cd96a4738) + +commit bfa90a152867e0277ae05c64b6bdc429b659b9a5 +Author: Ken Dreyer +Date: Thu Sep 15 11:40:14 2016 -0600 + + doc: add "--orphan-stale-secs" to radosgw-admin(8) + + The radosgw-admin(8) manual page did not include the description of the + `--orphan-stale-secs` option of the `orphans find` command. The option sets + the number of seconds to wait before declaring an object to be an + orphan. + + Fixes: http://tracker.ceph.com/issues/17280 + Signed-off-by: Ken Dreyer + (cherry picked from commit a676c516069cc448591018ecf4f7d1f7f7bc3bfd) + +commit cefd6f51068df3ed04c755b1167dd146b85a0741 +Author: Yehuda Sadeh +Date: Wed Jul 20 12:59:50 2016 -0700 + + rgw: fix collection of object sync errors + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit aacc31f72cef6f151459e4a0543850edeeaf1938) + +commit aa369817c9bf10cffa420bfb88a27957407fb625 +Author: Yehuda Sadeh +Date: Wed Jul 20 12:43:48 2016 -0700 + + rgw: fix marker tracker completion handling + + Was not tracking high markers correctly. Could only work if there was a single + hole in the completion range. Just keep a map of all the complete entries. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f5801c726efdc2f3067a071e6bb5ac83fd0cd147) + +commit bce19a39b6f6ff23b6373f82ed2e6e12d65a77ef +Author: Yehuda Sadeh +Date: Wed Jul 20 12:42:52 2016 -0700 + + rgw: collect() stops if error encoutered + + and returns true if needed to be called again + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 5528932e4c327a0fb0ce34a676eb59707a575325) + +commit f82b59363d12e38446b4f06f554b932a3cbdb1fb +Author: Yehuda Sadeh +Date: Tue Jul 19 15:32:03 2016 -0700 + + rgw: back off bucket sync on failures, don't store marker + + Fixes: http://tracker.ceph.com/issues/16742 + + If we fail on any single entry in bucket, skip updating the marker tracker + so that next time we'll go over that entry, and back off. This will trigger + a report to the data sync error repo and eventually a retry on the failing + object. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 1f3fec807043fd313ef7c66ff48f18b82c8bfa66) + +commit f337a0720713329b5305ddd9e5c18e8d2b11b475 +Author: Ilya Dryomov +Date: Fri Jun 3 17:24:48 2016 +0200 + + krbd: don't segfault if images are unmapped concurrently + + "rbd map c" can die from a NULL dereference on any of this_pool, + this_image or this_snap in wait_for_udev_add(): + + + rbd map c + rbd map b + rbd unmap a + rbd unmap b + + However unlikely, this segfault is triggered by the rbd/concurrent.sh + workunit on a regular basis. + + Similarly, "rbd showmapped" can die if an image to be listed is + unmapped. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit 2bfecb1c0a0b2a314a5d137e6ca2cccd9ddc9b54) + +commit 2399d4ae54780cb18c313a8da79b697a70a87146 +Author: Ilya Dryomov +Date: Fri May 13 17:57:12 2016 +0200 + + qa: rbd/simple_big.sh: drop extraneous sudo + + Signed-off-by: Ilya Dryomov + (cherry picked from commit 6643f4d9723e5d9c5195680ac9abb9915ef42a56) + +commit 472cb29c5712c4fbbeaef26cdfddc1afd5f2945d +Author: Ilya Dryomov +Date: Fri May 13 15:05:53 2016 +0200 + + qa: rbd/concurrent.sh: suppress rbd map output + + rbd_map_image() echoes the id of the image and is used in command + substitution: + + id=$(rbd_map_image "${image}") + + Output from rbd map isn't consumed and clobbers the return. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit a7d4189587e343a581660f1a118f6667c26e5bd4) + +commit 667d42aad7e19e36200ee7cd979efdd19154876a +Author: Ilya Dryomov +Date: Thu May 12 15:07:12 2016 +0200 + + qa: rbd: don't modprobe, chown sysfs files or udevadm settle + + This is a followup to 38a572011dbb ("qa: rbd/map-snapshot-io.sh: don't + chown sysfs files") for the rest of the workunits: + + - /sys/bus/rbd/add_single_major is used if present, so chown'ing + /sys/bus/rbd/add doesn't help. Use sudo on rbd map instead. + + - Don't modprobe or udevadm settle - rbd CLI tool takes care of that. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit 6bddef8ecff97f732bf707d9ba6d2386bc147f5a) + +commit 866c3e594b754d10bf960375f8498ba573c531dd +Author: Ilya Dryomov +Date: Wed May 11 17:26:39 2016 +0200 + + qa: rbd/map-snapshot-io.sh: don't chown sysfs files + + /sys/bus/rbd/add_single_major is used if present, so chown'ing + /sys/bus/rbd/add doesn't help. Use sudo on rbd map instead. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit 38a572011dbbf8298cb7ba8ebf43909967eec689) + +commit cf211d7dc2eef46cb409b425caa72aac1b24bd7c +Author: John Spray +Date: Sun Jul 24 17:19:55 2016 +0100 + + client: fix shutdown with open inodes + + This piece of code was dereferencing an invalid + iterator (invalidated by call to erase()) + + Fixes: http://tracker.ceph.com/issues/16764 + Signed-off-by: John Spray + (cherry picked from commit d642b4faec3266f609e4871ccdccdcd73707dc23) + +commit 1bc047b1c6ccc1a1757c97e52da5e4db5bc8f801 +Author: Patrick Donnelly +Date: Wed Jun 29 15:45:30 2016 -0400 + + client: add missing client_lock for get_root + + A segmentation fault was observed in a recent test failure + (test_client_cache_size) [1]. An analysis of the core dump revealed that the + client->root inode was NULL. The client log [2] showed that the root inode was + deleted prior to the segfault: + + 2016-06-27 14:24:13.358500 7fe75cff9700 20 client.4161 _ll_put 0x7fe76000ba40 100000003e9 1 -> 0 + 2016-06-27 14:24:13.358502 7fe75cff9700 10 client.4161 put_inode on 100000003e9.head(faked_ino=0 ref=1 ll_ref=0 cap_refs={} open={} mode=41777 size=0/0 mtime=2016-06-27 14:24:10.700562 caps=pAsLsXsFs(0=pAsLsXsFs) 0x7fe76000ba40) + 2016-06-27 14:24:13.358513 7fe75cff9700 15 inode.put on 0x7fe76000ba40 100000003e9.head now 0 + 2016-06-27 14:24:13.358515 7fe75cff9700 10 client.4161 remove_cap mds.0 on 100000003e9.head(faked_ino=0 ref=0 ll_ref=0 cap_refs={} open={} mode=41777 size=0/0 mtime=2016-06-27 14:24:10.700562 caps=pAsLsXsFs(0=pAsLsXsFs) 0x7fe76000ba40) + 2016-06-27 14:24:13.358538 7fe75cff9700 15 client.4161 remove_cap last one, closing snaprealm 0x7fe76000c1b0 + 2016-06-27 14:24:13.358544 7fe75cff9700 20 client.4161 put_snap_realm 1 0x7fe76000c1b0 1002 -> 1001 + 2016-06-27 14:24:13.358546 7fe75cff9700 10 client.4161 put_inode deleting 100000003e9.head(faked_ino=0 ref=0 ll_ref=0 cap_refs={} open={} mode=41777 size=0/0 mtime=2016-06-27 14:24:10.700562 caps=- 0x7fe76000ba40) + + After looking through the reference count inc/dec, I noticed this mismatched inc/dec: + + 2016-06-27 14:24:13.352622 7fe75dffb700 3 client.4161 ll_forget 100000003e9 1 + 2016-06-27 14:24:13.352601 7fe7767fc700 1 -- 172.21.15.58:0/3762258427 >> 172.21.15.57:6804/11121 conn(0x7fe789bf3b60 sd=20 :-1 s=STATE_OPEN_MESSAGE_READ_FOOTER_AND_DISPATCH pgs=7 cs=1 l=0). == rx == mds.0 seq 1473 0x7fe764037a80 client_reply(???:470 = 0 (0) Success safe) v1 + 2016-06-27 14:24:13.352665 7fe75dffb700 20 client.4161 _ll_put 0x7fe76000ba40 100000003e9 1 -> 1 + 2016-06-27 14:24:13.352687 7fe75d7fa700 3 client.4161 ll_lookup 0x7fe76000ba40 testdir + 2016-06-27 14:24:13.352699 7fe75d7fa700 20 client.4161 _lookup have dn testdir mds.-1 ttl 0.000000 seq 0 + 2016-06-27 14:24:13.352705 7fe75d7fa700 15 inode.get on 0x7fe760011da0 100000003ea.head now 537 + 2016-06-27 14:24:13.352693 7fe76effd700 1 -- 172.21.15.58:0/3762258427 <== mds.0 172.21.15.57:6804/11121 1473 ==== client_reply(???:470 = 0 (0) Success safe) v1 ==== 27+0+0 (3458149698 0 0) 0x7fe764037a80 con 0x7fe789bf3b60 + 2016-06-27 14:24:13.352708 7fe75d7fa700 10 client.4161 _lookup 100000003e9.head(faked_ino=0 ref=3 ll_ref=1 cap_refs={} open={} mode=41777 size=0/0 mtime=2016-06-27 14:24:10.700562 caps=pAsLsXsFs(0=pAsLsXsFs) 0x7fe76000ba40) testdir = 100000003ea.head(faked_ino=0 ref=537 ll_ref=999 cap_refs={} open={} mode=40755 size=0/0 mtime=2016-06-27 14:24:13.325297 caps=pAsLsXsFsx(0=pAsLsXsFsx) COMPLETE parents=0x7fe750001f50 0x7fe760011da0) + + This sequence of ll_forget/ll_lookup is repeated in this test several hundred times. This is the prior sequence (in one thread): + + 2016-06-27 14:24:13.324896 7fe75dffb700 3 client.4161 ll_forget 100000003e9 1 + 2016-06-27 14:24:13.324904 7fe75dffb700 20 client.4161 _ll_put 0x7fe76000ba40 100000003e9 1 -> 1 + 2016-06-27 14:24:13.324915 7fe75dffb700 3 client.4161 ll_lookup 0x7fe76000ba40 testdir + 2016-06-27 14:24:13.324921 7fe75dffb700 20 client.4161 _lookup have dn testdir mds.-1 ttl 0.000000 seq 0 + 2016-06-27 14:24:13.324931 7fe75dffb700 15 inode.get on 0x7fe760011da0 100000003ea.head now 621 + 2016-06-27 14:24:13.324904 7fe7767fc700 1 -- 172.21.15.58:0/3762258427 >> 172.21.15.57:6804/11121 conn(0x7fe789bf3b60 sd=20 :-1 s=STATE_OPEN_MESSAGE_READ_FOOTER_AND_DISPATCH pgs=7 cs=1 l=0). == rx == mds.0 seq 1387 0x7fe764026720 client_reply(???:385 = 0 (0) Success safe) v1 + 2016-06-27 14:24:13.324934 7fe75dffb700 10 client.4161 _lookup 100000003e9.head(faked_ino=0 ref=3 ll_ref=2 cap_refs={} open={} mode=41777 size=0/0 mtime=2016-06-27 14:24:10.700562 caps=pAsLsXsFs(0=pAsLsXsFs) 0x7fe76000ba40) testdir = 100000003ea.head(faked_ino=0 ref=621 ll_ref=998 cap_refs={} open={} mode=40755 size=0/0 mtime=2016-06-27 14:24:13.321021 caps=pAsLsXsFsx(0=pAsLsXsFsx) COMPLETE parents=0x7fe750001f50 0x7fe760011da0) + + The key line is `_lookup 100000003e9.head(...)`. ll_ref=2 is the expected count + after this sequence but, as we see at 14:24:13.352708, ll_ref=1. + + This racing behavior is not serialized by client_lock because + Client::get_root() does not lock the client_lock. Additionally, this race is + not easy to identify in the logs because Client::get_root() does not use + Client::_ll_get to increment the reference, which hides the increments in the + logs. Instead it directly increments the reference using Inode:ll_get(). + + This commit adds the client_lock for Client::get_root() and + Client::get_root_ino() (which may not strictly be necessary but can't hurt). + + [1] http://pulpito.ceph.com/pdonnell-2016-06-27_06:54:23-fs-wip-pdonnell-i16164---basic-smithi/280361/ + [2] http://qa-proxy.ceph.com/teuthology/pdonnell-2016-06-27_06:54:23-fs-wip-pdonnell-i16164---basic-smithi/280361/remote/smithi058/log/ceph-client.0.23448.log.gz + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 208e3b6fd58237b309aae15b18dcd82672b133af) + +commit 086f6e0c07c807dc5001e40d18a72d53c5a10f66 +Author: Orit Wasserman +Date: Wed Jul 20 13:02:03 2016 +0200 + + rgw: fix upgrade from old multisite to new multisite configuration + + We need to store the updated current period after adding the old converted regions + + Fixes: http://tracker.ceph.com/issues/16751 + Signed-off-by: Orit Wasserman + (cherry picked from commit 6d7841c6f050f6bd813d54df65d38e7f6934d22d) + +commit 23d73dca4e8fd9472b8e39d9219fda90323478fb +Author: Casey Bodley +Date: Tue Aug 23 15:10:44 2016 -0400 + + rgw: delete region map after upgrade to zonegroup map + + convert_regionmap() reads the region map and uses it to initialize the + zonegroup map. but it doesn't remove the region_map afterwards, so + radosgw (and some radosgw-admin commands) will keep doing this on + startup, overwriting any changes made to the period/zonegroup map + + Fixes: http://tracker.ceph.com/issues/17051 + + Signed-off-by: Casey Bodley + (cherry picked from commit 215cd6f6ff7b8cb74df6dc3b94a5928f56ab9540) + +commit 27626ba9cc7495e312bf5caba6be8d6ee2f1ea64 +Author: Matt Benjamin +Date: Wed Aug 17 10:28:48 2016 -0400 + + rgw_file: restore local definition of RGWLibFS gc interval + + Signed-off-by: Matt Benjamin + (cherry picked from commit 31936caa09b46e86700faad969adfa9d43176206) + +commit 91b65e7b4976103ea45c923bac9d21321d962773 +Author: Matt Benjamin +Date: Tue Aug 9 16:49:41 2016 -0400 + + rgw file: remove busy-wait in RGWLibFS::gc() + + This is a background thread. However, CPU is wasted. + + Signed-off-by: Matt Benjamin + (cherry picked from commit ca33241286f52d849dbde8092507131b8b1108cc) + +commit e72e7a26f22022e6520232481f66f509367073a1 +Author: Jason Dillaman +Date: Fri Aug 12 14:44:09 2016 -0400 + + qa/workunits: support filtering cls_rbd unit test cases + + Fixes: http://tracker.ceph.com/issues/16529 + Signed-off-by: Jason Dillaman + (cherry picked from commit 0891ede57cd254aa75c66301fde4a2eb6957a3d6) + +commit a25a4835ef91f2c249107a3f402c299d8c5c40da +Author: Samuel Just +Date: Fri Jun 3 14:41:13 2016 -0700 + + ReplicatedPG: call op_applied for submit_log_entries based repops + + Signed-off-by: Samuel Just + (cherry picked from commit 8bde0ae122f384817f4e522604379d1e9b21d8d9) + +commit 5ef90856ce26761b31cfd4eb1bea4dfbe88cfb13 +Author: Tao Chang +Date: Mon May 9 09:50:17 2016 -0400 + + Cleanup: delete find_best_info again + + After called find_best_info find a auth_pg_shard, it must be not incomplete, + so it will not enter find_best_info again. + + Signed-off-by: Tao Chang + (cherry picked from commit a25cfc4d46c03d8d78e0254c728ea5c29e2246e1) + +commit dea93dc35859ebf31366dfe5f2b8c2ebebc4f6a6 +Author: Boris Ranto +Date: Mon Jun 27 11:48:17 2016 +0200 + + ceph-disk: do not activate device that is not ready + + If the journal (or data) device is not ready when we are activating the + data (or journal) device, just print an info message and exit with 0 so + that the ceph-disk systemd service won't fail in this case. + + Fixes: http://tracker.ceph.com/issues/15990 + Signed-off-by: Boris Ranto + (cherry picked from commit 73a7a65f65b1f6e90c4cae101bd43fabaeac3045) + +commit 58b7c52db2df0105aea3fbc36a0b2bc0d299415f +Author: Samuel Just +Date: Thu Aug 11 08:57:51 2016 -0700 + + PG: use upset rather than up for _update_calc_stats + + Fixes: http://tracker.ceph.com/issues/16998 + Signed-off-by: Samuel Just + (cherry picked from commit 200cae8c9db99b3dede377f74413cc0b15033e1f) + +commit 4e2b4917c30b431f87b0da0d090664f2210f7ad2 +Author: Samuel Just +Date: Thu Aug 11 08:57:35 2016 -0700 + + PG: introduce and maintain upset + + Signed-off-by: Samuel Just + (cherry picked from commit 80a5c21d97116e7a66351a0e1f5d9b561f8663ac) + +commit c0db9fb831dc67ae138056c2f03c31dcc7f6adbf +Author: Jeff Layton +Date: Mon Aug 1 09:01:15 2016 -0400 + + ceph: don't fudge the ctime in stat() unless it's really older than the mtime + + The current code just looks at the sec field, but the difference may + only be evident in the nsec field. + + Signed-off-by: Jeff Layton + (cherry picked from commit 14ee7bcbf0bdd6553dc1b78898ae429aae644100) + +commit 66cd43bfedddbbc82e3c303554f089f20eabf0f6 +Author: Jeff Layton +Date: Mon Aug 1 09:01:15 2016 -0400 + + client: only skip querying the MDS in _lookup when we have the necessary caps + + If we don't have the caps we'll need later, then we must reissue the + lookup to get them regardless of whether we have a lease on the + dentry. + + Fixes: http://tracker.ceph.com/issues/16668 + Signed-off-by: Jeff Layton + (cherry picked from commit 9e8476743eef195a0a9bc6ef82392a8781e82549) + +commit fb4a9398a8d60f40ed4c8f57965de54dac1df983 +Author: Jeff Layton +Date: Mon Aug 1 09:01:14 2016 -0400 + + client: plumb a mask argument into _lookup + + ...and attempt to pass in a sane value there, based on what we'll do + with the resulting inode. + + Signed-off-by: Jeff Layton + (cherry picked from commit f3605d39e53b3ff777eb64538abfa62a5f98a4f2) + +commit b5cbd5766fbf2a9ff5ee0e58b4ea42c706f4505a +Author: Jeff Layton +Date: Mon Aug 1 09:01:14 2016 -0400 + + client: add mask parameter to _do_lookup + + We need to allow callers to specify caps to acquire during a lookup, as + they may need to scrape certain info out of the inode later. Allow them + to pass in a mask. For now, _lookup just passes in 0 for the mask, + but verify_reply_trace passes in the regetattr_mask to match what we'd + request in the _getattr request if there were a traceless reply. + + Signed-off-by: Jeff Layton + (cherry picked from commit a2ce16f8bfdb16ac485b8c4ad9a51ade5c256a5b) + +commit 416ec6ff91c602f385385acd8ac458ac58f13222 +Author: weiqiaomiao +Date: Tue Aug 16 14:19:20 2016 +0800 + + rgw: fix radosgw daemon core when reopen logs + + the rgw_user_st_syn thread use the pointer meta_mgr in RGWUserStatsCache::sync_all_users() fuction, so we should close the thread before delete the pointer in RGWRados::finalize() function when close storage before reopen_logs. + + Fixes: http://tracker.ceph.com/issues/17036 + + Signed-off-by: weiqiaomiao + (cherry picked from commit ea5d7fdd7fa978deadeee42bc0ea33fb11662e59) + +commit f034fd0a7b959dc3553fb0708da989ba6ac77db3 +Author: weiqiaomiao +Date: Wed Aug 24 09:38:03 2016 +0800 + + rgw: fix period update --commit return error + + period commit return error when the current period has a zonegroup which doesn't have a master zone + + Fixes: http://tracker.ceph.com/issues/17110 + Signed-off-by: weiqiaomiao + (cherry picked from commit fcedda6e5dfbaff3975b4474d8546cf77f78cc83) + +commit 457d78f4f497fdaa0f0f116228ebf135a1ce7fb6 +Author: Yehuda Sadeh +Date: Thu Jul 7 18:01:54 2016 -0700 + + rgw: adjust manifest head object + + adjust the manifest head object: + - when reading manifest, set the head object to the object + we read the manifest from (and its size). Some manifests are + broken and point at a different object + - when copying multipart object, set the manifest head object to + point at the new head object + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 419264586fc46337322f0d60b0ffcdcce3bb5c5a) + +commit 77e497da5c618a30fb908cb3915aa1ca7279ce7f +Author: Yehuda Sadeh +Date: Thu Jul 7 15:49:07 2016 -0700 + + rgw: adjust objs when copying obj with explicit_objs set + + If the head object contains data, need to set it in the list of + objs (in addition to being pointed at by head_obj). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 1e012112b99004745952accc6fb11ada5e8e0045) + +commit c1250ee6cbc4a7710399e603ff3ee0e46aa92d49 +Author: Yehuda Sadeh +Date: Thu Jul 7 15:36:33 2016 -0700 + + rgw: patch manifest to handle explicit objs copy issue + + Fixes: http://tracker.ceph.com/issues/16435 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b51476466e5bb03bbaa6e428bb6bb189a259b9fd) + +commit 2311ab24049805ea274451607949ba9b54028470 +Author: Yan, Zheng +Date: Fri Jul 15 11:32:18 2016 +0800 + + ObjectCacher: fix last_write check in bh_write_adjacencies() + + Make the last_write check in bh_write_adjacencies() match corresponding + check in flush(). + + Fixes: http://tracker.ceph.com/issues/16610 + Signed-off-by: Yan, Zheng + (cherry picked from commit ce166c2cd706b8573deabd331d29544e75e85972) + +commit c3c2910fbe8c6cc206e1cd70d267503f8ab36e74 +Author: Nathan Cutler +Date: Sun Aug 7 23:08:48 2016 +0200 + + rpm: proper packaging of udev directories + + The issue here is that ceph.spec.in does not package the directories + /usr/lib/udev and /usr/lib/udev/rules.d. The problem was not showing because + hdparm, which is brought in as a build dependency, packages these directories. + However, in SUSE a recent update to hdparm changes that and the problem + manifests. + + This PR addresses the issue by adding udev as a build dependency, which should + cover /usr/lib/udev, and by adding explicit "%dir %{_udevrulesdir}" to the + packages that put files in this directory. + + Fixes: http://tracker.ceph.com/issues/16949 + Signed-off-by: Nathan Cutler + (cherry picked from commit 1a164bc94d661b9d83b4a80e957712ed6f5cd122) + +commit 7d92e2ea1855a21f9a444c716c590e90dcb9f978 +Author: songbaisen +Date: Mon Apr 25 10:34:42 2016 +0800 + + crush: When consider rule size use the correct method. + + Signed-off-by: song baisen + (cherry picked from commit 4cf4791ea1200528ccc0d65b3d4a0fbc234c5df0) + +commit c2cf21dcce9f481a53c8309800707c80c77754e1 +Author: Kefu Chai +Date: Fri Aug 5 14:27:43 2016 +0800 + + mon/PGMonitor: calc the %USED of pool using used/(used+avail) + + we were using + "the raw space used by this pool" / "the raw space of the whole cluster" + as the %USED. but it's wrong: + + - there is chance that not all OSDs are assigned to the pool in question + - we can not utilize all the raw space for the pool: there is overhead. + and the size of available space for a pool is capped by the assigned + OSD with minimal free space. + + so we should use + USED / (USED + AVAIL) + as the %USED. so once we have no AVAIL space left, %USED will be 100%. + + Fixes: http://tracker.ceph.com/issues/16933 + Signed-off-by: Kefu Chai + (cherry picked from commit 08532ea166dfd97c548d9f1fb478e163021cdda3) + +commit 109da6fd2fa8a6f8e56a1fe2daa6a738bb2a1fde +Author: Kefu Chai +Date: Sun Aug 7 00:58:04 2016 +0800 + + mon/PGMonitor: mark dump_object_stat_sum() as static + + so we can test this method without create an instance of PGMonitor. + + Signed-off-by: Kefu Chai + (cherry picked from commit af3d3e25823ca9b40ddf09835edb82795ac68f33) + +commit bd636662a2ff26d9af13955b08f9ab20f29de771 +Author: Jason Dillaman +Date: Fri Aug 12 09:52:21 2016 -0400 + + librbd: fix possible inconsistent state when disabling mirroring + + Fixes: http://tracker.ceph.com/issues/16984 + Signed-off-by: Jason Dillaman + (cherry picked from commit 7cfedb54ea0cf496cc4b55d08a787abc2d6a4bbe) + +commit 117aa35094c059dbf5770b01ac13a583471e54aa +Author: Kefu Chai +Date: Sun Jun 26 01:02:03 2016 +0800 + + common: instantiate strict_si_cast not strict_si_cast + + this fixes the build on armf. + + on 32bit platforms, cstdint is very likely to + + typedef long long int int64_t; + + this results in compilation error like + + `common/strtol.cc:190:75: error: duplicate explicit instantiation of 'T + strict_si_cast(const char, std::string) [with T = long long int; + std::string = std::basic_string]' + + [-fpermissive] + template int64_t strict_si_cast(const char *str, std::string *err); + ^` + + we can address this by instantiate the primitive type of `long long` + instead of `in64_t`. + + Fixes: http://tracker.ceph.com/issues/16398 + Signed-off-by: Kefu Chai + (cherry picked from commit 31db4c5f9f725e13e38f3c90744e299e023d02a4) + +commit d93eda88048d2bcefe4be3ea0aaa6ca0289eabbf +Author: Vikhyat Umrao +Date: Thu May 26 23:30:25 2016 +0530 + + common: add int64_t template for strict_si_cast() + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit 8e429d05370fbe7935212d0ae9608e7547f39860) + +commit f7cd28460147530cfd265a593b32d02adb93abe6 +Author: Kefu Chai +Date: Sat Apr 30 18:31:37 2016 +0800 + + common/config: cast OPT_U32 options using uint32_t + + the OPT_U32 options was translated using strict_si_cast(), and then + cast the converted result to uint32_t. this could cause integer + underflow. we could have lifted the burden of checking invalid input + from the user of this option to the strict_si_cast<>() function. so in + this change, we use strict_si_cast() instead, before casting + the converted value into `uint32_t`. + + Signed-off-by: Kefu Chai + (cherry picked from commit b7babd6aa671d688eef0af61ca17fd11eec22773) + +commit 518883d939f34ec0afa03aea1bac35960fb579f2 +Author: Loic Dachary +Date: Thu Aug 25 09:09:40 2016 +0200 + + Revert "common: add int64_t template for strict_si_cast()" + + This reverts commit e3a99c082e3ebd56d5b40d7d94d98e35629df81e. + +commit 29a87012f560c213e34b893cd8dd9dedfd0b11da +Author: Nathan Cutler +Date: Mon Aug 22 11:52:45 2016 +0200 + + ceph-osd-prestart.sh: check existence of OSD data directory + + Fixes: http://tracker.ceph.com/issues/17091 + Signed-off-by: Nathan Cutler + (cherry picked from commit d6ffa770784f0efb88827ee7c65ff2e5f9029434) + +commit 80e25b00554e3955f7bee2e03eba6c55a955999b +Author: Jason Dillaman +Date: Fri Aug 12 08:26:49 2016 -0400 + + rbd: bench io-size should not be larger than image size + + Fixes: http://tracker.ceph.com/issues/16967 + Signed-off-by: Jason Dillaman + (cherry picked from commit 113775eb583fa28a669c6dc1f8dbf47a8ecd789c) + + Conflicts: + src/tools/rbd/action/BenchWrite.cc: trivial resolution + +commit f7d23d59535dee004686c5baa79c7b0815ab610a +Author: Michel Normand +Date: Fri Aug 5 15:19:50 2016 +0200 + + LTTng-UST disabled for openSUSE + + LTTng-UST not yet supported in openSUSE so do not enable lltng for it. + The (1) is where is defined "is_opensuse" + + Remove value for test of suse_version in spec file + and change related comment from SLES12 to SLE + as per comment in https://github.com/ceph/ceph/pull/10592 + + (1) https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto#Detect_a_distribution_flavor_for_special_code + + Fixes: http://tracker.ceph.com/issues/16937 + Signed-off-by: Michel Normand + (cherry picked from commit 7da19b6db7eaefb5fe159375cc5a465a722d3897) + +commit e6ac214f8a6d8773de032c83f5fdd7c65b68d53f +Author: Jason Dillaman +Date: Thu Jul 28 15:09:53 2016 -0400 + + librbd: request exclusive lock if current owner cannot execute op + + The initial krbd implementation will not support executing maintenance + ops and instead will return -EOPNOTSUPP. In this case, librbd can take + the lock and execute the operation. + + Fixes: http://tracker.ceph.com/issues/16171 + Signed-off-by: Jason Dillaman + (cherry picked from commit d2d2d90d64663905c2b81f7809f1d636db6b7fb1) + +commit 0b93a9a1e7929bc0709ec139fbc6686783f99044 +Author: Wei Jin +Date: Thu Apr 28 19:00:48 2016 +0800 + + fast dispatch heartbeat message + + Signed-off-by: Wei Jin + (cherry picked from commit 6f1f717446314618db7a165c75dfd6a76a01f55e) + +commit 0dcefd2352c06b719960a2df970ac3cbdcce8f52 +Author: xie xingguo +Date: Mon Jul 18 13:57:08 2016 +0800 + + mon/osdmonitor: fix incorrect output of "osd df" due to osd out + + If an osd is automatically marked as out, the output of "osd df" + is not right, as follow: + + -5 10.00999 - 5586G 2989G 2596G 0 0 host ceph192-9-9-8 + 11 0.90999 1.00000 931G 542G 388G 58.25 0.99 osd.11 + 14 0.90999 1.00000 931G 530G 400G 56.97 0.97 osd.14 + 20 0.90999 1.00000 931G 716G 214G 76.99 1.31 osd.20 + 22 0.90999 1.00000 931G 477G 453G 51.29 0.87 osd.22 + 26 0.90999 0 0 0 0 0 0 osd.26 + 28 0.90999 1.00000 931G 587G 343G 63.09 1.07 osd.28 + 30 0.90999 1.00000 931G 602G 328G 64.75 1.10 osd.30 + 16 0.90999 1.00000 931G 589G 341G 63.34 1.08 osd.16 + 18 0.90999 1.00000 931G 530G 400G 56.93 0.97 osd.18 + 24 0.90999 1.00000 931G 202G 728G 21.77 0.37 osd.24 + 32 0.90999 1.00000 931G 477G 454G 51.23 0.87 osd.32 + + Two problems are identified from the above output: + + 1. the total capacity(total, total used, total avial) + only includes osd.32, osd.24, osd.18, osd.16, osd.30, osd.28, and other + healthy osds such as osd.11, osd.14 etc. are excluded. + + 2. the average utilization/deviation are forced resetted. + + Fixes: http://tracker.ceph.com/issues/16706 + Signed-off-by: xie xingguo + (cherry picked from commit 1e4735440ca329f4b95d9bd6f58d9efab7d28d20) + +commit ac27352743a4ac1e4a4bec422d41a0ad8f17e41a +Author: xie xingguo +Date: Fri Jul 15 16:08:33 2016 +0800 + + mon/osdmonitor: initialize local variable "kb_avail_i" + + Signed-off-by: xie xingguo + (cherry picked from commit 98f50cebe1d1708adeeb6fc6d0aa2cdc85ac942c) + +commit 430ab1b83e67dfb697b034e669b06b7a600bcc6b +Author: Loic Dachary +Date: Tue Jul 12 16:56:52 2016 +0200 + + ceph-disk: timeout ceph-disk to avoid blocking forever + + When ceph-disk runs from udev or init script, it is in the background + and should it block for any reason, it may keep a lock forever. All + calls to ceph-disk in these context are changed to timeout. + + The TimeoutStartSec= and TimeoutStopSec= which are both set via + TimeoutSec= do not apply to Type=oneshot services. + + https://www.freedesktop.org/software/systemd/man/systemd.service.html + + Fixes: http://tracker.ceph.com/issues/16580 + + Signed-off-by: Loic Dachary + (cherry picked from commit bed1a5cc05a9880b91fc9ac8d8a959efe3b3d512) + +commit 0b30a1d210710593678462b287ff33f22de52323 +Author: Zengran Zhang +Date: Mon Apr 25 22:45:56 2016 -0400 + + mon/osdmonitor: decouple adjust_heartbeat_grace and min_down_reporters + + if cancel mon_osd_adjust_heartbeat_grace, we must set mon_osd_min_down_reporters to zero. + otherwise the next checking for + reporters_by_subtree.size() >= g_conf->mon_osd_min_down_reporters + will allways be fail.the two options should take effect respectively... + + Signed-off-by: Zengran Zhang + (cherry picked from commit 7ac5ca5698cfdaab019bf282b537bcc897f9444c) + +commit 92581a388462039a7f4dc748e8318c4226f068d3 +Author: Yehuda Sadeh +Date: Wed Jul 20 12:43:48 2016 -0700 + + rgw: fix marker tracker completion handling + + Was not tracking high markers correctly. Could only work if there was a single + hole in the completion range. Just keep a map of all the complete entries. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f5801c726efdc2f3067a071e6bb5ac83fd0cd147) + +commit fb36dd0c7a72ce5f3affd69d1f77e6222e26de94 +Author: Yan Jun +Date: Tue Jun 28 16:17:58 2016 +0800 + + rgw: fix potential memory leaks in RGWPutCORS_ObjStore_S3::get_params + + We should free `data` before return or jump to `done_err` label. + + Signed-off-by: Yan Jun + (cherry picked from commit 69c6cf551754e51debb4e645716a89e29517f4ee) + +commit 775c78d4bb31640a006d255ec0cb3818b6a5d23a +Author: Jason Dillaman +Date: Thu Aug 4 20:40:10 2016 -0400 + + librbd: prevent creation of v2 image ids that are too large + + The librbd API is capped at 24 characters for expressing the + object prefix for data blocks (including trailing null byte). + + Fixes: http://tracker.ceph.com/issues/16887 + Signed-off-by: Jason Dillaman + (cherry picked from commit 4de7c8d0a7222c83268d03b99015c6b9d25f124d) + +commit 2b272126de6ea6e75b9dcf4fedac5c216093e36d +Author: Mykola Golub +Date: Mon Jul 4 13:54:32 2016 +0300 + + librbd: prevent creation of clone from non-primary mirrored image + + Fixes: http://tracker.ceph.com/issues/16449 + Signed-off-by: Mykola Golub + (cherry picked from commit ba849e3b04a5c513849d40a7fe4151375265302a) + +commit 18a66cb375bf6540a3908f843b004c652eacc2dc +Author: Jason Dillaman +Date: Wed Jun 22 18:09:29 2016 -0400 + + librbd: journal::Replay no longer holds lock while completing callback + + Fixes: http://tracker.ceph.com/issues/16433 + Signed-off-by: Jason Dillaman + (cherry picked from commit 3112a93b49c24f9ae101a7f252c8e708e0d3e260) + +commit 79e2acb9a585ede5b97d804550b5394f277e7cc4 +Author: Kefu Chai +Date: Fri Jul 1 20:44:35 2016 +0800 + + crush: reset bucket->h.items[i] when removing tree item + + * crush: so we don't see the reference after the removing, this keeps + check_item_loc() happy, and move_bucket() use check_item_loc() to see if + the removed bucket disappears after the removal. + * test: also add unittest_crush_wrapper::CrushWrapper.insert_item + + Fixes: http://tracker.ceph.com/issues/16525 + Signed-off-by: Kefu Chai + (cherry picked from commit a7069c7aab6b3f605f3d8f909af96f87977e8698) + +commit d94e5bc0903a40d8ea353327ddaa7b8567b95f5f +Author: Casey Bodley +Date: Wed Apr 27 16:53:26 2016 -0400 + + common: fix value of CINIT_FLAG_DEFER_DROP_PRIVILEGES + + 0x16 (binary 10110) was overlapping two other flags + + Signed-off-by: Casey Bodley + (cherry picked from commit dfb897ad576e4861a3cb75d85dffbbeaad5e980e) + +commit 54b6b5e42bca2b7f05b9ff77315de61d3ba14daf +Author: Yan, Zheng +Date: Wed Jun 8 17:47:58 2016 +0800 + + client: kill QuotaTree + + Multiple clients can modify cephfs at the same time. It is + very tricky to keep QuotaTree consistant with the global FS + hiberarchy. This patch kills the quota tree. + + After removing the quota tree, we traverse inode's path to + find quota root. + + Fixes: http://tracker.ceph.com/issues/16066 + Fixes: http://tracker.ceph.com/issues/16067 + Signed-off-by: Yan, Zheng + (cherry picked from commit 161954bbfeb13d5588668637d5258221948128ea) + +commit 47605a2fdde65265e3c4dc60aac206c6ae712be5 +Author: Sage Weil +Date: Fri May 6 09:46:06 2016 -0400 + + msg/msg_types: update sockaddr, sockaddr_storage accessors + + Return sockaddr_storage by value. New sockaddr-based accessors. + + Signed-off-by: Sage Weil + Signed-off-by: Vikhyat Umrao + (cherry picked from commit 0038d362d38181bd348881bc0fbe717211eb8d15) + +commit d5c77c8ff6ad0e4b4242669e4f218f607f433310 +Author: Vikhyat Umrao +Date: Fri May 20 15:47:23 2016 +0530 + + osd: add peer_addr in heartbeat_check log message + + Fixes: http://tracker.ceph.com/issues/16337 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit f235b9cc1541d33c210e2d56e8061e8908b91ac9) + +commit 5ffee353cb947bfb79925ca4d62daec248c3ba4a +Author: Vikhyat Umrao +Date: Fri May 20 23:09:46 2016 +0530 + + mon : Display full flag in ceph status if + full flag is set + + Fixes: http://tracker.ceph.com/issues/16069 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit 6b1c894b2b083bf6cead21e9f96d304b2eb7887d) diff --git a/doc/changelog/v10.2.5.txt b/doc/changelog/v10.2.5.txt new file mode 100644 index 00000000..53d3f100 --- /dev/null +++ b/doc/changelog/v10.2.5.txt @@ -0,0 +1,37 @@ +commit c461ee19ecbc0c5c330aca20f7392c9a00730367 +Author: Jenkins Build Slave User +Date: Fri Dec 9 20:08:24 2016 +0000 + + 10.2.5 + +commit 2c7d2b99d3be6f23188af4bf95f2d6f4a4fb516a +Merge: 9411351 f7abffe +Author: Samuel Just +Date: Thu Dec 8 07:55:27 2016 -0800 + + Merge pull request #12376 from liewegas/wip-msgr-eagain-loop-jewel + + msg/simple/Pipe: avoid returning 0 on poll timeout + + Reviewed-by: Greg Farnum + +commit f7abffec751e454d119df273dc6e49e5f7106078 +Author: Sage Weil +Date: Wed Dec 7 18:25:55 2016 -0600 + + msg/simple/Pipe: avoid returning 0 on poll timeout + + If poll times out it will return 0 (no data to read on socket). In + 165e5abdbf6311974d4001e43982b83d06f9e0cc we changed tcp_read_wait from + returning -1 to returning -errno, which means we return 0 instead of -1 + in this case. + + This makes tcp_read() get into an infinite loop by repeatedly trying to + read from the socket and getting EAGAIN. + + Fix by explicitly checking for a 0 return from poll(2) and returning + EAGAIN in that case. + + Fixes: http://tracker.ceph.com/issues/18184 + Signed-off-by: Sage Weil + (cherry picked from commit 6c3d015c6854a12cda40673848813d968ff6afae) diff --git a/doc/changelog/v10.2.6.txt b/doc/changelog/v10.2.6.txt new file mode 100644 index 00000000..4628c7ca --- /dev/null +++ b/doc/changelog/v10.2.6.txt @@ -0,0 +1,5165 @@ +commit 656b5b63ed7c43bd014bcafd81b001959d5f089f +Author: Jenkins Build Slave User +Date: Tue Mar 7 13:29:40 2017 +0000 + + 10.2.6 + +commit 420a9a0796e327676cb704bc18b2020f9941d7b6 +Merge: 9267dec 88f4895 +Author: Zack Cerza +Date: Thu Mar 2 14:00:13 2017 -0700 + + Merge pull request #13749 from zmc/wip-openstack-volumes-jewel + + qa/suites/upgrade/hammer-x: Add some volumes + +commit 88f48955900e9401680f5434f9a162907b146e74 +Author: Zack Cerza +Date: Thu Mar 2 10:57:54 2017 -0700 + + qa/suites/upgrade/hammer-x: Add some volumes + + Signed-off-by: Zack Cerza + +commit 9267dec7e794afb67d0904bf9795e9ac7a0b2a78 +Merge: c66683d 0c242d1 +Author: Zack Cerza +Date: Wed Mar 1 16:35:37 2017 -0700 + + Merge pull request #13708 from zmc/wip-openstack-volumes-jewel + + qa/suites/ceph-deploy: Drop OpenStack volume count + +commit 0c242d18c4f4b2009467d6cbc0ef26a08a9d9865 +Author: Zack Cerza +Date: Tue Feb 28 13:07:15 2017 -0700 + + qa/suites/ceph-deploy: Drop OpenStack volume count + + Looks like we only need two per node, since there is only one OSD per + node, and ceph-deploy wants two disks per OSD to account for the + journal. + + Signed-off-by: Zack Cerza + (cherry picked from commit 87072e277c9ef259c9ee2ae1f761e252aa216713) + +commit c66683d908de4a747de9ddffee353206f50bf50a +Merge: d5a778c ccd0265 +Author: Yuri Weinstein +Date: Wed Mar 1 07:26:30 2017 -0800 + + Merge pull request #13710 from tmuthamizhan/wip-mv-centos-version + + qa: replace centos 7.2 with centos 7.3 + + Reviewed-by: Yuri Weinstein + +commit d5a778ced47a7601cfcea79b660ba6367e740e01 +Merge: 7187b61 2cbec5b +Author: Yuri Weinstein +Date: Tue Feb 28 16:05:32 2017 -0800 + + Merge pull request #13705 from ceph/wip_remove_dumpling_jewel + + qa: Removed dumplin test 13234.yaml as not needed anymore + + Reviewed-by: Josh Durgin + +commit ccd0265a0540e4c4e9423b177b04fae60716bc1c +Author: Tamil Muthamizhan +Date: Tue Feb 28 16:02:57 2017 -0800 + + qa: replace centos 7.2 with centos 7.3 + + s/centos_7.2/centos_7.3 + + Signed-off-by: Tamil Muthamizhan + +commit 2cbec5b909920a05afd34e83c6fa00c5ece4a991 +Author: Yuri Weinstein +Date: Tue Feb 28 15:17:54 2017 -0800 + + Removed dumplin test 13234.yaml as not needed anymore + + Signed-off-by: Yuri Weinstein + +commit 7187b617ccdc7ba70134ba468eb4c3848a555a41 +Merge: ac3ba2a 771e1d9 +Author: Zack Cerza +Date: Mon Feb 27 12:23:18 2017 -0700 + + Merge pull request #13674 from zmc/wip-openstack-volumes-jewel + + qa/suites/{ceph-ansible,rest}: OpenStack volumes + +commit 771e1d98a2b5cd437dcf68e03d504f3dec4f2e06 +Author: Zack Cerza +Date: Mon Feb 27 09:14:41 2017 -0700 + + qa/suites/rest: Openstack volumes + + Signed-off-by: Zack Cerza + (cherry picked from commit 99d942145f4206c00aca30c0bb74f0edc4bac798) + +commit a18640fcd7df45eea0baf2b0cfb1d717f982490b +Author: Zack Cerza +Date: Mon Feb 27 09:06:26 2017 -0700 + + qa/suites/ceph-ansible: Openstack volumes + + Signed-off-by: Zack Cerza + (cherry picked from commit 964b983bdbd412311bce56184d12d1b6d43c7f28) + +commit ac3ba2adcd21ac011ad556ac4506623e61fbe696 +Merge: 016238b 841688b +Author: Zack Cerza +Date: Fri Feb 24 17:22:17 2017 -0700 + + Merge pull request #13642 from zmc/wip-fs-openstack-jewel + + qa/suites/fs: Add openstack volume configuration + +commit 841688bb2e46bade3ede4a902c0b42a99e6a62f6 +Author: Zack Cerza +Date: Fri Feb 24 15:25:19 2017 -0700 + + qa/suites/fs: Add openstack volume configuration + + Signed-off-by: Zack Cerza + (cherry picked from commit b076d89a3f1fbad7d477913812b2e17529abeacf) + +commit 016238b06938064afb6debb2c6dd753037c05279 +Merge: 48bc625 9778743 +Author: Zack Cerza +Date: Fri Feb 24 14:44:10 2017 -0700 + + Merge pull request #13639 from zmc/wip-openstack-volumes-jewel + + qa/suites/{knfs,hadoop,samba}: OpenStack volume configuration + +commit 48bc625c721f426b29eed4f19f030f1243048649 +Merge: f5643f8 ba35859 +Author: Zack Cerza +Date: Fri Feb 24 14:43:40 2017 -0700 + + Merge pull request #13636 from zmc/wip-kcephfs-openstack-jewel + + qa/suites/kcephfs: Openstack volume configuration + +commit 9778743547fb9337e98e636fb7ad801fe1ff39ca +Author: Zack Cerza +Date: Fri Feb 24 13:46:54 2017 -0700 + + qa/suites/samba: Openstack volume configuration + + Signed-off-by: Zack Cerza + (cherry picked from commit e0296d706422ea4dc01d84f8786f6f7104c3d996) + +commit cd1e8ef4fc2ccfe5abc11b6282a496185af49455 +Author: Zack Cerza +Date: Fri Feb 24 13:45:18 2017 -0700 + + qa/suites/hadoop: Openstack volume configuration + + Signed-off-by: Zack Cerza + (cherry picked from commit 3fef0a49da2ccfdceba7b98e9096be8305da1111) + +commit ac7add155f0b787d6a7a55b597da84278b785ae8 +Author: Zack Cerza +Date: Fri Feb 24 13:44:33 2017 -0700 + + qa/suites/knfs: Add openstack volume configuration + + Signed-off-by: Zack Cerza + (cherry picked from commit 62c6fd3371adf0f420c12d9c7e2b3a2a0c69256b) + +commit ba35859ef26b49ecab750cd36c87a98315e8c023 +Author: Zack Cerza +Date: Fri Feb 24 13:37:23 2017 -0700 + + qa/suites/kcephfs: Openstack volume configuration + + (cherry picked from commit ec6fb28eaf8e2db327e4afc115879a40c7664e07) + Signed-off-by: Zack Cerza + +commit f5643f8818772a4778e2c553d483c7c6ab67ac18 +Merge: bfac1be aced718 +Author: Zack Cerza +Date: Fri Feb 24 12:15:41 2017 -0700 + + Merge pull request #13632 from zmc/wip-krbd-openstack-jewel + + qa/suites/krbd: Add openstack volume configuration + +commit bfac1bee09c90ec81b6d969ecaccbbe047a82604 +Merge: d9eaab4 94d5888 +Author: Zack Cerza +Date: Fri Feb 24 12:15:22 2017 -0700 + + Merge pull request #13612 from ceph/wip-rgw-openstack-jewel + + qa/suites/rgw: Add openstack volume configuration + +commit aced718032fdfedfdfad441a5761f26f04028af3 +Author: Zack Cerza +Date: Fri Feb 24 11:17:45 2017 -0700 + + qa/suites/krbd: Add openstack volume configuration + + Signed-off-by: Zack Cerza + (cherry picked from commit 201b4d0d1e92bf95ac6a8f2951b664763030f12d) + +commit 94d5888cea0ddac8fa03b32225c937955d83dd86 +Author: Zack Cerza +Date: Thu Feb 23 10:14:05 2017 -0700 + + qa/suites/rgw: Add openstack volume configuration + + Without this, OSDs will fail to create on instances whose root fs isn't + xfs. + + (cherry picked from commit 8af4c35f9577ef5a88307ea5cbbe2561a473926c) + Signed-off-by: Zack Cerza + +commit d9eaab456ff45ae88e83bd633f0c4efb5902bf07 +Merge: ecdfb7c bf3400f +Author: Nathan Cutler +Date: Thu Feb 23 16:32:20 2017 +0100 + + Merge pull request #13184 from smithfarm/wip-18720-jewel + + jewel: build/ops: systemd restarts Ceph Mon to quickly after failing to start + +commit ecdfb7ce0c29aa5eb954b3644e5be1544e018515 +Merge: 96b4cb8 5c328f0 +Author: Loic Dachary +Date: Thu Feb 23 07:32:01 2017 +0100 + + Merge pull request #13240 from smithfarm/wip-18804-jewel + + jewel: tests: ignore bogus ceph-objectstore-tool error in ceph_manager + + Reviewed-by: Loic Dachary + +commit 96b4cb8eab5e7531eeaf412cf4b10db5947bef70 +Merge: 27095f3 20e7502 +Author: Loic Dachary +Date: Thu Feb 23 07:30:30 2017 +0100 + + Merge pull request #13058 from wido/issue-18635-jewel + + jewel: systemd: Restart Mon after 10s in case of failure + + Reviewed-by: Loic Dachary + +commit 27095f36b51a91ff5575bd42d12a16d2af11b731 +Merge: 0766a8b 67e7a90 +Author: Loic Dachary +Date: Thu Feb 23 07:28:16 2017 +0100 + + Merge pull request #13048 from SUSE/wip-18457-jewel + + jewel: selinux: Allow ceph to manage tmp files + + Reviewed-by: Loic Dachary + +commit 0766a8bc604d0c4ee7a7d93427022105f5eb6425 +Merge: 9f36610 463e88e +Author: Nathan Cutler +Date: Wed Feb 22 22:59:41 2017 +0100 + + Merge pull request #13131 from ovh/bp-osdmap-hammer-compat + + jewel: mon: OSDMonitor: clear jewel+ feature bits when talking to Hammer OSD + + Reviewed-by: Josh Durgin + Reviewed-by: Sage Weil + +commit 9f366100bb7c9882146def8b5ed9ce9eddd4db21 +Merge: 083e0f4 78d296b +Author: Nathan Cutler +Date: Wed Feb 22 22:36:07 2017 +0100 + + Merge pull request #13255 from liewegas/wip-enxio-jewel + + jewel: osd: do not send ENXIO on misdirected op by default + + Reviewed-by: Josh Durgin + +commit 083e0f4ac06f922c32b806d6d027f738c5057cae +Merge: 04a8492 8a75f98 +Author: Nathan Cutler +Date: Tue Feb 21 21:40:14 2017 +0100 + + Merge pull request #13050 from SUSE/wip-18406-jewel + + jewel: tests: Cannot reserve CentOS 7.2 smithi machines + +commit 04a8492dfed7ec6f235cb201ab6de14201e27bbd +Merge: d10a8e6 ebb2f73 +Author: Nathan Cutler +Date: Tue Feb 21 10:27:51 2017 +0100 + + Merge pull request #13459 from ukernel/jewel-18708 + + jewel: mds: fix incorrect assertion in Server::_dir_is_nonempty() + + Reviewed-by: John Spray + +commit d10a8e6d927ea8171e29b7a7c10afcc2c10c5392 +Merge: a009942 cb7bb0c +Author: Sage Weil +Date: Mon Feb 20 10:20:58 2017 -0600 + + Merge pull request #13533 from smithfarm/wip-stress-split-ec + + jewel: qa/suites/upgrade/hammer-x: break stress split ec symlinks + +commit a00994299fb360c1c086baad3b65e6889579a4ba +Merge: 40eedcc 1e75e23 +Author: Sage Weil +Date: Mon Feb 20 10:20:51 2017 -0600 + + Merge pull request #13222 from liewegas/wip-hammer-x-jewel + + jewel: tests: qa/suites/upgrade/hammer-x/stress-split: finish thrashing before final upgrade + +commit 40eedcc9428abc8bc988594b6e624bbc3c732405 +Merge: 786b318 e9a6dec +Author: Loic Dachary +Date: Mon Feb 20 16:42:59 2017 +0100 + + Merge pull request #13273 from asheplyakov/jewel-bp-18773 + + jewel: rgw: fix period update crash + + Reviewed-by: Casey Bodley + +commit 786b31877fcf1c13bfb5034ca92e5044d5d6a78f +Merge: 7566139 b06d6f5 +Author: Loic Dachary +Date: Mon Feb 20 16:41:56 2017 +0100 + + Merge pull request #13341 from dreamhost/wip-17550-jewel + + jewel: rgw: bucket resharding + + Reviewed-by: Yehuda Sadeh + +commit 7566139391f43616e7847e806c657c527e7a098d +Merge: b3bb9cc b1d6c2e +Author: Loic Dachary +Date: Mon Feb 20 16:41:29 2017 +0100 + + Merge pull request #13004 from asheplyakov/jewel-bp-18563 + + jewel: rgw: leak from RGWMetaSyncShardCR::incremental_sync + + Reviewed-by: Casey Bodley + +commit cb7bb0c49315cc66130336625ede92c70beaec74 +Author: Nathan Cutler +Date: Mon Feb 20 11:44:49 2017 +0100 + + tests: reduce stress-split-erasure-code-x86_64 dependency on stress-split + + This patch breaks the symlinks for two files from stress-split that + are being changed by https://github.com/ceph/ceph/pull/13222 in a way + that would break this test otherwise. + + Signed-off-by: Nathan Cutler + +commit b3bb9cc382e11f535a874675d65015829d1a3254 +Merge: 7d6e915 7cf37f6 +Author: Loic Dachary +Date: Mon Feb 20 11:48:26 2017 +0100 + + Merge pull request #12754 from Abhishekvrshny/wip-18285-jewel + + jewel: rbd: partition func should be enabled When load nbd.ko for rbd-nbd + + Reviewed-by: Mykola Golub + +commit 7d6e915a2f7d78741d8fcdfdc7d44e71236ac48d +Merge: 7e844b6 401271e +Author: Loic Dachary +Date: Mon Feb 20 11:45:29 2017 +0100 + + Merge pull request #13183 from smithfarm/wip-17313-jewel + + jewel: build/ops: add ldap lib to rgw lib deps based on build config + + Reviewed-by: Loic Dachary + +commit 8ae18863d013655e05a46e53de53f9f97fc4d42d +Author: Nathan Cutler +Date: Mon Feb 20 11:44:49 2017 +0100 + + tests: reduce stress-split-erasure-code dependency on stress-split + + This patch breaks the symlinks for two files from stress-split that + are being changed by https://github.com/ceph/ceph/pull/13222 in a way + that would break this test otherwise. + + Signed-off-by: Nathan Cutler + +commit 7e844b66848ba6e911aa357ebfca0ebf20aa46d3 +Merge: 5cda572 4d4b38e +Author: Yuri Weinstein +Date: Fri Feb 17 14:43:00 2017 -0800 + + Merge pull request #13502 from tmuthamizhan/wip-ansible-rm-trusty + + qa: drop ubuntu trusty support + + Reviewed-by: Yuri Weinstein + +commit 4d4b38eca81f7b57e3d3b31e1c13e7ab0ba5b30f +Author: Tamil Muthamizhan +Date: Fri Feb 17 21:06:43 2017 +0000 + + qa: drop ubuntu trusty support + + ceph-ansible dropped support for OS that doesnt support systemd + + Signed-off-by: Tamil Muthamizhan + +commit 5cda5722e05784163190b6110dcc2dd164142e90 +Merge: 87f8341 260801f +Author: Loic Dachary +Date: Thu Feb 16 22:27:53 2017 +0100 + + Merge pull request #13276 from rzarzynski/wip-rgw-18364-2-jewel + + jewel: rgw: be aware abount tenants on cls_user_bucket -> rgw_bucket conversion + + Reviewed-by: Casey Bodley + +commit 87f8341909e791e420a4b9344810e3840c1e83cc +Merge: 3d9a584 a0ee8b9 +Author: Loic Dachary +Date: Thu Feb 16 16:30:56 2017 +0100 + + Merge pull request #12729 from liupan1111/wip-fix-disable-rgw-compile-error + + jewel: build/ops: fixed compilation error when --with-radowsgw=no + + Reviewed-by: Loic Dachary + +commit 3d9a584bf0f335caf65265345faf2a940f901519 +Merge: 9f1e1ce 89248e1 +Author: Loic Dachary +Date: Thu Feb 16 15:43:32 2017 +0100 + + Merge pull request #12239 from liupan1111/wip-fix-makefile-bug + + jewel: build/ops: fixed the issue when --disable-server, compilation fails. + + Reviewed-by: Loic Dachary + +commit ebb2f73e48092c8d2ecf18c75ce70f1a88c9bb22 +Author: Yan, Zheng +Date: Wed Jan 18 16:23:49 2017 +0800 + + mds: fix incorrect assertion in Server::_dir_is_nonempty() + + when filelock is in XLOCKDONE state. client of xlocker can rdlock + the filelock. In that case, only client of xlocker can read the lock. + + Fixes: http://tracker.ceph.com/issues/18708 + Signed-off-by: Yan, Zheng + (cherry picked from commit fe4ab52b30079a785be053a9fd0197d6990737fe) + +commit 9f1e1ce394c7779420ef27bda793bc719cdb9096 +Merge: 792a0c8 36ff758 +Author: Loic Dachary +Date: Wed Feb 15 23:39:11 2017 +0100 + + Merge pull request #12380 from dachary/wip-18183-jewel + + jewel: cephfs metadata pool: deep-scrub error omap_digest != best guess omap_digest + + Reviewed-by: Kefu Chai + +commit 792a0c8160a1e239f7388cb1ca5be412d850aa82 +Merge: f95cbe0 3eff1ac +Author: Loic Dachary +Date: Wed Feb 15 17:08:26 2017 +0100 + + Merge pull request #13130 from rjfd/wip-18608-jewel + + jewel: librbd: allow to open an image without opening parent image + + Reviewed-by: Jason Dillaman + +commit f95cbe064639d31c218079d93c5831821e7cd13c +Merge: 49b16ee 214ce1b +Author: Loic Dachary +Date: Wed Feb 15 17:06:53 2017 +0100 + + Merge pull request #13233 from smithfarm/wip-18556-jewel + + jewel: rbd: Potential race when removing two-way mirroring image + + Reviewed-by: Jason Dillaman + +commit 49b16eed6bf5303667df6657238735b47f573ebb +Merge: cd9e5df 8742203 +Author: Loic Dachary +Date: Wed Feb 15 10:48:21 2017 +0100 + + Merge pull request #13113 from jcsp/wip-18679 + + jewel: mds: finish clientreplay requests before requesting active state + + Reviewed-by: Loic Dachary + +commit cd9e5df1593f999c943376b82de49a3eba291f8c +Merge: 3192ef6 21622c1 +Author: Loic Dachary +Date: Wed Feb 15 10:47:59 2017 +0100 + + Merge pull request #13139 from jcsp/wip-18100 + + jewel: mds: fix MDSMap upgrade decoding + + Reviewed-by: Loic Dachary + +commit 3192ef6a034bf39becead5f87a0e48651fcab705 +Merge: e84b3f8 384e5c0 +Author: Loic Dachary +Date: Wed Feb 15 10:18:04 2017 +0100 + + Merge pull request #12490 from linuxbox2/jewel-rgw-header + + jewel: rgw: add option to log custom HTTP headers (rgw_log_http_headers) + + Reviewed-by: Loic Dachary + +commit e84b3f8e073ec02f7a45387768490b90d6d777b4 +Merge: 9b4175e d7a479c4 +Author: Loic Dachary +Date: Wed Feb 15 10:14:23 2017 +0100 + + Merge pull request #12079 from rzarzynski/wip-rgw-17961 + + jewel: rgw: TempURL properly handles accounts created with the implicit tenant + + Reviewed-by: Orit Wasserman + +commit 9b4175e491286f0578bcba5152a72e0e3b934051 +Merge: 2420d47 732405e +Author: Loic Dachary +Date: Wed Feb 15 10:13:32 2017 +0100 + + Merge pull request #12044 from Abhishekvrshny/wip-17886-jewel + + jewel: rgw: multisite: ECANCELED & 500 error on bucket delete + + Reviewed-by: Orit Wasserman + +commit 2420d474a8d22f3237b9fb28a78f0ff3f168ba34 +Merge: 81efc40 256b850 +Author: Nathan Cutler +Date: Wed Feb 15 00:39:48 2017 +0100 + + Merge pull request #13422 from smithfarm/wip-fix-hammer-x-fix + + tests: remove extra indentation in exec block + + Reviewed-by: Loic Dachary + Reviewed-by: Yuri Weinstein + +commit 81efc40b11fc0f146f5d2388033333aeb9ad9d56 +Merge: 994df97 4824ad2 +Author: Tamilarasi Muthamizhan +Date: Tue Feb 14 13:59:58 2017 -0800 + + Merge pull request #13364 from tmuthamizhan/wip-ansible-jewel + + qa: ceph-ansible smoke suite modified for jewel + +commit 256b850fc1a80f71b0b8365c6d66abea84482f9e +Author: Nathan Cutler +Date: Tue Feb 14 22:13:37 2017 +0100 + + tests: remove extra indentation in exec block + + The exec block was indented by an extra space, causing + + line 439, in parse_block_mapping_key + "expected , but found %r" % token.id, token.start_mark) + yaml.parser.ParserError: while parsing a block mapping + in "", line 111, column 3: + sequential: + ^ + expected , but found '' + in "", line 126, column 4: + - exec: + ^ + + when trying to run upgrade/hammer-x + + Reported-by: Yuri Weinstein + Signed-off-by: Nathan Cutler + +commit 994df972dd64fc39ef7acce1acfff0e9e8440e1f +Merge: 9bf8dcf 898702d +Author: Sage Weil +Date: Mon Feb 13 18:44:37 2017 -0600 + + Merge pull request #13404 from smithfarm/wip-fix-hammer-x + + tests: add require_jewel_osds to upgrade/hammer-x/tiering + + Reviewed-by: Yuri Weinstein + +commit 898702d58f3e26c41713e44625fcf357841f52af +Author: Nathan Cutler +Date: Mon Feb 13 22:04:17 2017 +0100 + + tests: add require_jewel_osds to upgrade/hammer-x/tiering + + Without this, the test tends to fail, but sometimes passes (apparently because + the "wait-for-healthy: true" in the last ceph.restart is racy - HEALTH_OK is + received before the MONs notice that all OSDs are running jewel without + require_jewel_osds. + + Signed-off-by: Nathan Cutler + +commit 214ce1b96c112c193614aeeabaa278bd1004f6b2 +Author: Mykola Golub +Date: Wed Aug 31 22:49:36 2016 +0300 + + librbd: async method to check journal tag owner + + Signed-off-by: Mykola Golub + (cherry picked from commit 953561f84140efcc870ec4a8f1ecb732b8e99409) + + Conflicts: + src/librbd/Journal.cc - trivial context difference (master does not + have "class SafeTimerSingleton"), + added "typedef ::journal::Journaler Journaler;" in + C_IsTagOwner template to fix build failure + +commit 5723b932cfb12ed67cb54347a127c5f3539d0bcf +Author: Mykola Golub +Date: Mon Jan 9 10:40:46 2017 +0100 + + rbd-mirror: check image mirroring state when bootstrapping + + Fixes: http://tracker.ceph.com/issues/18447 + Signed-off-by: Mykola Golub + (cherry picked from commit 5fc5a8ac895524f05eed6e7db20b0dda3a8cb60f) + +commit 8361a60c3cb272d2d4895840dadbbc6c50294f51 +Author: Mykola Golub +Date: Mon Jan 9 09:23:19 2017 +0100 + + rbd-mirror: async request to test if image is primary + + Signed-off-by: Mykola Golub + (cherry picked from commit 0a1cb35caacdf85029f31a0364dc07a5d7462f5f) + + Conflicts: + src/tools/rbd_mirror/CMakeLists.txt - file doesn't exist in jewel + (ported the patch to src/tools/Makefile-client.am) + src/tools/rbd_mirror/image_replayer/BootstrapRequest.cc - Journal is + implemented by a typedef in jewel + src/tools/rbd_mirror/image_replayer/OpenLocalImageRequest.cc - + no compat.h include in jewel, Journal is implemented by a typedef + in jewel + +commit 9bf8dcf914e76a340fed29d2b46346f8ada6d0c7 +Merge: 748f75c 7515a77 +Author: Loic Dachary +Date: Mon Feb 13 08:20:53 2017 +0100 + + Merge pull request #13331 from smithfarm/wip-18869-jewel + + jewel: tests: SUSE yaml facets in qa/distros/all are out of date + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Loic Dachary + +commit 748f75cd845e3b33687d9d235508f9bc7ebdcefb +Merge: c27aba8 21ded74 +Author: Kefu Chai +Date: Mon Feb 13 14:52:59 2017 +0800 + + Merge pull request #11410 from dachary/wip-17334-jewel + + jewel: crushtool --compile is create output despite of missing item + + Reviewed-by: Kefu Chai + +commit 21ded748e7bbf2c02b3bf381cf796afe99a62ce0 +Author: Kefu Chai +Date: Wed Sep 21 22:58:49 2016 +0800 + + test/cli/crushtool: fix the test of compile-decompile-recompile.t + + should read the map from $TESTDIR, + it's a regression introduced by b2c0a07 + + Fixes: http://tracker.ceph.com/issues/17306 + Signed-off-by: Kefu Chai + (cherry picked from commit 404043980d7882f320f48fbaed4b18f31bb15eb7) + +commit d92738c0c9491c97fd189ff49ca57427316b9eb7 +Author: Kefu Chai +Date: Tue Sep 20 14:10:16 2016 +0800 + + crush/CrushCompiler: error out as long as parse fails + + do not output compiled crush map if anything goes wrong when parsing + crush map. + + Fixes: http://tracker.ceph.com/issues/17306 + Signed-off-by: Kefu Chai + (cherry picked from commit b2c0a079dc074c907e1bc429861230096534f597) + +commit 4824ad27345f32ed0043c2cb20fe5fc7e019555a +Author: Tamil Muthamizhan +Date: Fri Feb 10 12:37:51 2017 -0800 + + qa: ceph-ansible smoke suite modified for jewel + + Signed-off-by: Tamil Muthamizhan + +commit c27aba8f723b013baeb0704fe84c6956d1cb005d +Merge: 8c87d09 5ed454d +Author: Matt Benjamin +Date: Fri Feb 10 15:04:02 2017 -0500 + + Merge pull request #13358 from linuxbox2/wip-jewel-marker + + jewel: rgw: fix use of marker in List::list_objects() + +commit 5ed454dd8f470749ef661782a8f4e866ae8193e2 +Author: Yehuda Sadeh +Date: Thu Jan 26 16:26:42 2017 -0800 + + rgw: fix use of marker in List::list_objects() + + Fixes: http://tracker.ceph.com/issues/18331 + + List marker is an index key, so treat it as such. This + fixes infinite loop in orphans find command. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a5d1fa0587184f43c69d8e03114b58d43f320781) + +commit b06d6f5f8fb6693dcf4f480d1f80b1081cd63305 +Author: Robin H. Johnson +Date: Thu Feb 9 14:38:02 2017 -0800 + + Backport bucket reshard to jewel. + + Fixes: http://tracker.ceph.com/issues/17756 + Signed-off-by: Robin H. Johnson + +commit 25af6e5c2448d2478ac3d8def6141fcbfb086f3c +Author: Yehuda Sadeh +Date: Mon Oct 3 17:00:41 2016 -0700 + + rgw_admin: add a few admin commands to the usage + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 91ed1216d7465a42d11546cb967c70997ea5b1d8) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit b429331f4fb22e845edcd526b618b10c82db6286 +Author: Yehuda Sadeh +Date: Mon Oct 3 16:43:44 2016 -0700 + + rgw_admin: add bi purge command + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit aaf0d213eb39192ceb252c9c7db68c1a48ba1272) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit eb65394363676629726aed2aac8182a745ba96e6 +Author: Yehuda Sadeh +Date: Wed Sep 28 12:54:47 2016 -0700 + + rgw: bucket resharding, adjust logging + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit e2b8dc6113e2625bdf65ea6f2c42510229d04c87) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit e197ec0312cb07d576c0bf045b803454702ccc81 +Author: Yehuda Sadeh +Date: Wed Sep 28 10:41:45 2016 -0700 + + cls/rgw: bi_list() fix is_truncated returned param + + is_truncated was never set. Also, make sure that we don't return + more entries than requested. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 47f422a4e0382d53023af6f651433011606b8625) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit 81daefa473a4e6826be5afa4dae5ea63d66bd1be +Author: Yehuda Sadeh +Date: Tue Sep 27 15:13:37 2016 -0700 + + rgw_admin: require --yes-i-really-mean-it for bucket reshard + + in the case where num shards are less or equal to current bucket + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 75da4375ee0e36c58f96cbf2920c3b9aadf12733) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit 4adb247e56e8e77cbdfecca8f90240edbd04742f +Author: Yehuda Sadeh +Date: Tue Sep 27 14:35:31 2016 -0700 + + rgw_admin: better bucket reshard logging + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ac88b5d9e6bc3c8b59c500bf79a0e3daa923a47c) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit 139842d7451ef44cb0548676a818d3056e2e4ac6 +Author: Yehuda Sadeh +Date: Tue Sep 27 14:11:41 2016 -0700 + + rgw: limit bucket reshard num shards to max possible + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d9c88afec4b52848f9ad8957bab5a86fdafecded) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit 7e4493a4cca99bfa817803c0255755e1cd330cbf +Author: Yehuda Sadeh +Date: Tue Sep 27 11:55:32 2016 -0700 + + rgw_admin: fix bi list command + + Changes scoping of json section, and push the --object param in so that + an object can be specified as a filter. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 716d096bbb8e836aefa6a451b799389d3bd85620) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit 1604b521730577fc6aa5345127381b1bfc5625b7 +Author: Yehuda Sadeh +Date: Mon Sep 26 15:49:37 2016 -0700 + + rgw_admin: use aio operations for bucket resharding + + also created shards manager to make things slightly cleaner + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 97e7ee9ca213ccf4b8f537e02125bd0c4ef24103) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit cd2e35e84599d25e94f28fad8e4a743883fec94d +Author: Yehuda Sadeh +Date: Mon Sep 26 10:45:17 2016 -0700 + + rgw: bucket reshard updates stats + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit dd712384ffe72ee23cbe0a20d7400aff7fb779a8) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit 678dac9289ce52f1e5f13e603b5858a3b867c216 +Author: Yehuda Sadeh +Date: Mon Sep 26 09:52:29 2016 -0700 + + cls/rgw: add bucket_update_stats method + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4cc7d3a33a28602b45ec04ff5384e6bc62b376cb) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit d39eac038266a61a6081c820360c2165279bd8c1 +Author: Yehuda Sadeh +Date: Sat Sep 24 10:46:36 2016 -0700 + + rgw_admin: reshard also links to new bucket instance + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 094fe3f0cfeb27b32abfc93b07054b60de363a20) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit 29c9e9872c2cef6b6e874bf95c797a72a580e84c +Author: Yehuda Sadeh +Date: Sat Sep 24 10:33:57 2016 -0700 + + rgw: rgw_link_bucket, use correct bucket structure for entry point + + The bucket structure might be different than the one that we were using + before. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f2d9fc015556d6d70e596f75c382cc7157add411) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit b40ce2738964c6fc1c9c390af18758b16820cdb9 +Author: Yehuda Sadeh +Date: Sat Sep 24 10:01:00 2016 -0700 + + radosgw-admin: bucket reshard needs --num-shards to be specified + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d0569f913340cb251c1a49f1e470b176d8b34346) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit d9df7451a70a4fe64443e7f4669e995c54d74361 +Author: Yehuda Sadeh +Date: Sat Sep 24 05:49:37 2016 -0700 + + cls/rgw: fix bi_list objclass command + + was filtering entries, even if filter was not specified, and need to + set boundary for plain entries. Also, list_instance_entries() was not + working correctly, and added list_olh_entries(). + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f87c4b2c2a6ecadaf9f0e0cfef4b6061878a023b) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit 4892def3643555720619b987bc1ccb508cdd8ac7 +Author: Yehuda Sadeh +Date: Mon Sep 26 16:09:34 2016 -0700 + + rgw_admin: bucket rehsrading, initial work + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit d8c5931bceaa42ad47ae5ad9b2c32bb6c321484a) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + + Conflicts: + src/rgw/rgw_admin.cc + +commit c1cf61f3612844fc644a832f7c61f716f28ecb46 +Author: Yehuda Sadeh +Date: Mon Sep 26 16:09:15 2016 -0700 + + rgw: utilities to support raw bucket index operations + + and other related changes. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit b01e732f3d597670f4f781be3db81786e63d5053) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + + Conflicts: + src/rgw/rgw_rados.cc + +commit 0ce2a125f4d400abaf2a65ff90d1d40ee000aea9 +Author: Yehuda Sadeh +Date: Mon Sep 26 16:06:17 2016 -0700 + + rgw: use bucket_info.bucket_id instead of marker where needed + + We used to use these interchangeably, but they actually have diffent meaning. + The marker is the prefix we assign to the objects in this bucket, whereas + the bucket_id is the bucket instance's id. These used to hold the same + value, but with bucket resharding it's not going to be true anymore. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 94afaf722fc8289af6e75025ba7d783f11c4b7d0) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit 5fe58c5bf22ad593d650d68b059d462be49214ed +Author: Yehuda Sadeh +Date: Mon Sep 26 16:01:39 2016 -0700 + + cls/rgw: utilities to support raw bucket index operations + + New flavour of bi_put() call, and a function to extract key off + a raw bi entry. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 9b3a2a40a5732689be98a940f7e6c3c4a6e73c53) + See: http://tracker.ceph.com/issues/17556 + See: https://github.com/ceph/ceph/pull/11368 + Signed-off-by: Robin H. Johnson + +commit 7515a77bf1d06ec7cea448adecc56e50c417540f +Author: Nathan Cutler +Date: Wed Feb 8 21:23:54 2017 +0100 + + tests: drop buildpackages.py + + The buildpackages suite has been moved to teuthology. This cleans up a file + that was left behind by https://github.com/ceph/ceph/pull/13297 + + Fixes: http://tracker.ceph.com/issues/18846 + Signed-off-by: Nathan Cutler + (cherry picked from commit 6b7443fb50c117ee7f20d53bbc7530bb0eb7ebd5) + +commit 36f96f40e7ce9abf1fc21878c91365d300dee281 +Author: Nathan Cutler +Date: Wed Feb 8 15:27:00 2017 +0100 + + tests: update SUSE yaml facets in qa/distros/all + + Fixes: http://tracker.ceph.com/issues/18856 + Signed-off-by: Nathan Cutler + (cherry picked from commit 0bd56e871a8549d4b0b1211f09dad2d1120fb606) + +commit 8c87d0927447233697d623c995163fde25524fa5 +Merge: a00efd8 bb3c594 +Author: Loic Dachary +Date: Wed Feb 8 13:16:25 2017 +0100 + + Merge pull request #13299 from dachary/wip-18848-jewel + + jewel: tests: remove qa/suites/buildpackages + + Reviewed-by: Nathan Cutler + +commit 7cf37f68e14935d6d6c3d540ab5fd6b7a2ebb605 +Author: Pan Liu +Date: Tue Dec 6 21:04:03 2016 +0800 + + rbd-nbd: support partition for rbd-nbd mapped raw block device. + + Fixes: http://tracker.ceph.com/issues/18115 + Signed-off-by: Pan Liu pan.liu@istuary.com + (cherry picked from commit 42645a301869b08b4be860fcac491ae4189b313a) + + Conflicts: + src/tools/rbd_nbd/rbd-nbd.cc + Removed exclusive option + +commit bb3c5941d15f9e6ae35c51334f0774dc3ef17f64 +Author: Loic Dachary +Date: Tue Feb 7 18:33:29 2017 +0100 + + buildpackages: remove because it does not belong + + It should live in teuthology, not in Ceph. And it is currently broken: + there is no need to keep it around. + + Fixes: http://tracker.ceph.com/issues/18846 + + Signed-off-by: Loic Dachary + (cherry picked from commit 5a43f8d57925da227c95480501ceec10a29395d8) + + Conflicts: + qa/tasks/buildpackages/common.sh (remove) + qa/tasks/buildpackages/make-rpm.sh (remove) + +commit 5c328f0ec51f435e51357f015bb088a450277ece +Author: Nathan Cutler +Date: Mon Feb 6 18:43:49 2017 +0100 + + tests: fix regression in qa/tasks/ceph_master.py + + https://github.com/ceph/ceph/pull/13194 introduced a regression: + + 2017-02-06T16:14:23.162 INFO:tasks.thrashosds.thrasher:Traceback (most recent call last): + File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 722, in wrapper + return func(self) + File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 839, in do_thrash + self.choose_action()() + File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 305, in kill_osd + output = proc.stderr.getvalue() + AttributeError: 'NoneType' object has no attribute 'getvalue' + + This is because the original patch failed to pass "stderr=StringIO()" to run(). + + Fixes: http://tracker.ceph.com/issues/16263 + Signed-off-by: Nathan Cutler + Signed-off-by: Kefu Chai + (cherry picked from commit db2582e25e390fcaf75952eb59a73dcff643f49c) + +commit a00efd8d2d22aaca89747f4db818866b9d5fc982 +Merge: 84a0fdb 0cf7a61 +Author: Samuel Just +Date: Mon Feb 6 16:31:06 2017 -0800 + + Merge pull request #13280 from athanatos/wip-revert-jewel-18581 + + Revert "Merge pull request #12978 from asheplyakov/jewel-18581" + + Reviewed-by: Josh Durgin + +commit 0cf7a6133ee0d4609242d94088dd77e83665aa93 +Author: Samuel Just +Date: Mon Feb 6 10:20:55 2017 -0800 + + Revert "Merge pull request #12978 from asheplyakov/jewel-18581" + + See: http://tracker.ceph.com/issues/18809 + + This reverts commit 8e69580c97622abfcbda73f92d9b6b6780be031f, reversing + changes made to c05730ceb3387fb43c35937f0506297a34a44452. + + Signed-off-by: Samuel Just + +commit 260801f9bb78169648c3f2052ebc3e1328113367 +Author: Radoslaw Zarzynski +Date: Wed Feb 1 19:05:50 2017 +0100 + + rgw: be aware abount tenants on cls_user_bucket -> rgw_bucket conversion. + + Fixes: http://tracker.ceph.com/issues/18364 + Fixes: http://tracker.ceph.com/issues/16355 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 871e1f51afe9d6c8b88debc07460b4316121f999) + +commit e9a6dec55b894b34e3278dbf6b226063fd461cd5 +Author: Orit Wasserman +Date: Sun Jan 22 15:05:30 2017 +0200 + + rgw: add check for update return value + + Signed-off-by: Orit Wasserman + (cherry picked from commit 125955e0625461065dc4755b900e51c3598cadb4) + +commit a27f6a72ec836af1672e8aa344fb80d067ed20a8 +Author: Orit Wasserman +Date: Sun Jan 22 14:42:14 2017 +0200 + + rgw: we need to reinit the zonegroup after assignment to avoid invalid cct and store + + Fixes: http://tracker.ceph.com/issues/18631 + Signed-off-by: Orit Wasserman + (cherry picked from commit ac9a7565ddf801121f22476cf3f66668f311833e) + +commit 006140adf7413ec3d482971bb44bfc3ffada2fbf +Author: Orit Wasserman +Date: Sun Jan 22 14:40:16 2017 +0200 + + rgw: fix init_zg_from_period when default zone is not set as default + + Signed-off-by: Orit Wasserman + (cherry picked from commit 5393077e07bed45b9fc007591d365f1229d3e815) + +commit 78d296b076a284e35ef4bae931756e7d17a5c09d +Author: Sage Weil +Date: Fri Feb 3 17:40:29 2017 -0500 + + osd: do not send ENXIO on misdirected op by default + + In practice this tends to get bubbled up the stack as an error on + the caller, and they usually do not handle it properly. For example, + with librbd, this turns into EIO and break the VM. + + Instead, this will manifest as a hung op on the client. That is + also not ideal, but given that the root cause here is generally a + bug, it's not clear what else would be better. + + We already log an error in the cluster log, so teuthology runs will + continue to fail. + + Signed-off-by: Sage Weil + (cherry picked from commit 923e7f5ce5ed437af15e178299a61029ff48e4a2) + + # Conflicts: + # PendingReleaseNotes + # src/common/config_opts.h + +commit 30fb615c3686154275cf10a567a0c3ad961cbb50 +Author: Nathan Cutler +Date: Tue Jan 31 00:46:22 2017 +0100 + + tests: ignore bogus ceph-objectstore-tool error in ceph_manager + + Fixes: http://tracker.ceph.com/issues/16263 + Signed-off-by: Nathan Cutler + (cherry picked from commit 046e873026c59e733f1844b28ffdc030cbe57b36) + +commit 3eff1ac2d680d2f6ae1f7ff0d8fe6b6329a17522 +Author: Ricardo Dias +Date: Tue Jan 10 15:11:19 2017 +0000 + + librbd: allow to open an image without opening parent image + + Fixes: http://tracker.ceph.com/issues/18325 + + Signed-off-by: Ricardo Dias + (cherry picked from commit 61af1c25015de087a2423811548d975dd7d430b4) + + Conflicts: + src/librbd/ImageState.cc - added missing arg to RefreshRequest::create + src/librbd/exclusive_lock/PostAcquireRequest.cc - + deleted, does not exist in jewel + src/librbd/image/OpenRequest.cc - added missing arg to + RefreshRequest::create + src/librbd/internal.cc - added missing arg to ImageState::open + src/librbd/librbd.cc - added missing arg to ImageState::open + src/test/librbd/exclusive_lock/test_mock_PostAcquireRequest.cc - + deleted, does not exist in jewel + src/test/rbd_mirror/image_replayer/test_mock_CreateImageRequest.cc - + added missing arg to ImageState::open + src/test/rbd_mirror/test_PoolWatcher.cc - added missing arg to + ImageState::open + +commit bee1d2c24ab463a0f5c1e28cb70f6b89e0278d22 +Author: Mykola Golub +Date: Mon Jan 9 15:02:02 2017 +0100 + + rbd-mirror: hold owner lock when testing if lock owner + + Signed-off-by: Mykola Golub + (cherry picked from commit 82aa89668d666f434cd19ff444223017b5512c6a) + +commit 463e88e24378470ef405bdfb2eb823b04e017e5e +Author: Piotr DaÅ‚ek +Date: Fri Jan 20 16:07:10 2017 +0100 + + OSDMonitor: clear jewel+ feature bits when talking to Hammer OSD + + During upgrade from Hammer to Jewel, when upgrading MONs first and OSDs + last, Jewel MONs send OSDMaps with components in encoding version not + encodable by Hammer OSDs, generating extra load on MONs due to requests + for full OSDMap after failing the CRC check. + Fix this by not including CEPH_FEATURE_NEW_OSDOP_ENCODING (which + is responsible for encoding pg_pool_t in version 24 instead of 21) and + CEPH_FEATURE_CRUSH_TUNABLES5 (responsible for adding chooseleaf_stable + field into encoded CRUSH map) when CEPH_OSDMAP_REQUIRE_JEWEL flag + is not present. + Note that this issue applies only to upgrade from Hammer to Jewel, + because direct upgrade from Hammer to any other later release is not + supported. For that reason, there is no need to have this patch in any + release other than Jewel. + + Fixes: http://tracker.ceph.com/issues/18582 + Signed-off-by: Piotr DaÅ‚ek + +commit b1d6c2ebee2e6216cb6aa2afaa9e32ce5e571aa9 +Author: Casey Bodley +Date: Thu Jan 5 13:10:50 2017 -0500 + + rgw: RGWCloneMetaLogCoroutine uses RGWMetadataLogInfoCompletion + + Fixes: http://tracker.ceph.com/issues/18412 + + Signed-off-by: Casey Bodley + (cherry picked from commit 34a2edbf53f26a21e3206027dc61efc70d9c6aad) + + Minor changes: + RGWCloneMetaLogCoroutine::state_read_shard_status(): use + boost::intrusive_ptr ctor instead of reset() to be compatible + with older boost versions (there's no bundled boost in jewel) + +commit 7ca400b9bd7b6fd382a9143b450de5a2dbcf057a +Author: Casey Bodley +Date: Thu Jan 5 13:10:18 2017 -0500 + + rgw: expose completion for RGWMetadataLog::get_info_async() + + Signed-off-by: Casey Bodley + (cherry picked from commit 7b3532e2ad0f478a1670ceb61fd68209df87aa8b) + +commit 335a7326a9e8416b114467096d938fafe6b09605 +Author: Casey Bodley +Date: Wed Dec 21 14:32:04 2016 -0500 + + rgw: RGWMetaSyncShardCR drops stack refs on destruction + + if the coroutine is canceled before collect_children() can clean up + all of its child stacks, those stack refs will leak. store these + stacks as boost::intrusive_ptr so the ref is dropped automatically on + destruction + + Fixes: http://tracker.ceph.com/issues/18300 + + Signed-off-by: Casey Bodley + (cherry picked from commit 060fe72faf6a483a36d481207c6624c46a414231) + +commit e5646a0192c1968a542b42dbfe907565b604971e +Author: Sage Weil +Date: Mon Sep 26 11:19:50 2016 -0400 + + rgw: librados aio wait_for_safe, not wait_for_complete + + We want to wait for the op to be durable, not ordered. + + Note that wait_for_safe works for read ops as well, despite a + name that implies an update. + + Signed-off-by: Sage Weil + (cherry picked from commit 2e447eafb34a7019ca15189d73a3ad3341640dc5) + +commit 84a0fdb8b464734a58bfc98edb010f1278fa25f2 +Merge: 96626c2 73cef9f +Author: Nathan Cutler +Date: Thu Feb 2 00:08:29 2017 +0100 + + Merge pull request #11872 from dachary/wip-17838-jewel + + jewel: leak in RGWFetchAllMetaCR + + Reviewed-by: Nathan Cutler + +commit 96626c2555b4bab7c293ee8a6f3382614c6306d1 +Merge: 3322556 73d2114 +Author: Nathan Cutler +Date: Wed Feb 1 23:58:29 2017 +0100 + + Merge pull request #13182 from smithfarm/wip-18498-jewel + + jewel: rgw: Realm set does not create a new period + +commit 3322556f3ebabcd82be703bcffbd539454b191e0 +Merge: bc704b1 33c6ef5 +Author: Nathan Cutler +Date: Wed Feb 1 23:57:40 2017 +0100 + + Merge pull request #13180 from smithfarm/wip-18547-jewel + + jewel: rgw: multisite: segfault after changing value of rgw_data_log_num_shards + +commit bc704b1beb1897286e6eaa62f03ba8ddabb17ee9 +Merge: f46c125 8b124c8 +Author: Nathan Cutler +Date: Wed Feb 1 23:56:21 2017 +0100 + + Merge pull request #13177 from smithfarm/wip-18676-jewel + + jewel: rgw: librgw: objects created from s3 apis are not visible from nfs mount point + +commit f46c1259dcd63ce335715817e3aeb18def59c503 +Merge: a3cb5e6 2cb0307 +Author: Nathan Cutler +Date: Wed Feb 1 23:55:25 2017 +0100 + + Merge pull request #13175 from smithfarm/wip-18684-jewel + + jewel: rgw: multisite: sync status reports master is on a different period + +commit a3cb5e61d18cc48d176b0630fb21ebc603472b4c +Merge: 73ccbdc 0a47342 +Author: Nathan Cutler +Date: Wed Feb 1 23:54:33 2017 +0100 + + Merge pull request #13173 from smithfarm/wip-18710-jewel + + jewel: rgw: slave zonegroup cannot enable the bucket versioning + +commit 73ccbdce630350a4601255483469959f00829c45 +Merge: 5d0f2f3 7e51bec +Author: Nathan Cutler +Date: Wed Feb 1 23:53:39 2017 +0100 + + Merge pull request #13171 from smithfarm/wip-18712-jewel + + jewel: rgw: radosgw-admin period update reverts deleted zonegroup + +commit 5d0f2f3ec893f5990860f901f40b870a6fd2e737 +Merge: 2f4990d e8f55f6 +Author: Nathan Cutler +Date: Wed Feb 1 23:13:11 2017 +0100 + + Merge pull request #13001 from asheplyakov/jewel-bp/18559 + + jewel: rgw multisite: fix ref counting of completions + + Reviewed-by: Nathan Cutler + +commit 2f4990d7a6cb355b059e5b8cfb97b6e371155dde +Merge: a379c01 c21622d +Author: Nathan Cutler +Date: Wed Feb 1 23:10:37 2017 +0100 + + Merge pull request #12997 from asheplyakov/jewel-bp-18569 + + jewel: radosgw valgrind "invalid read size 4" RGWGetObj + + Reviewed-by: Nathan Cutler + +commit a379c01ee916e73c12da4ba8ef1c7620be81e3b8 +Merge: 5834732 9a59ce9 +Author: Nathan Cutler +Date: Wed Feb 1 23:02:14 2017 +0100 + + Merge pull request #12764 from SUSE/wip-17342-jewel + + jewel: tests: assertion failure in a radosgw-admin related task + +commit 5834732ad44d67b9414d782799f41e320d66bcf2 +Merge: 9486ccd 9a1258d +Author: Nathan Cutler +Date: Wed Feb 1 23:01:02 2017 +0100 + + Merge pull request #12738 from SUSE/wip-18286-jewel + + jewel: rgw: multisite: coroutine deadlock in RGWMetaSyncCR after ECANCELED errors + +commit 9486ccd9bd13e3020947a0d669c2e70248f24bfb +Merge: edf2e6e 5aa9387 +Author: Nathan Cutler +Date: Wed Feb 1 23:00:12 2017 +0100 + + Merge pull request #12678 from Abhishekvrshny/wip-18348-jewel + + jewel: rgw ldap: enforce simple_bind w/LDAPv3 redux + + Reviewed-by: Nathan Cutler + +commit edf2e6eaccf5d0fa848d56c0920d44c980a86298 +Merge: 2f087a3 d584f9e +Author: Nathan Cutler +Date: Wed Feb 1 22:45:54 2017 +0100 + + Merge pull request #12622 from wido/jewel-15776 + + jewel: rgw: log name instead of id for SystemMetaObj on failure + + Reviewed-by: Abhishek Lekshmanan + +commit 2f087a37bc3d9ed86c4a6268bd21fe42c843cbb7 +Merge: 2d5f8fd 87a2a95 +Author: Nathan Cutler +Date: Wed Feb 1 22:39:52 2017 +0100 + + Merge pull request #12542 from dreamhost/wip-17076-jewel + + jewel: rgw: Replacing '+' with "%20" in canonical uri for s3 v4 auth. + + Reviewed-by: Nathan Cutler + +commit 2d5f8fda98cba07ce48a3e85896c83b3459a5973 +Merge: 9897021 ddb5403 +Author: Nathan Cutler +Date: Wed Feb 1 22:38:17 2017 +0100 + + Merge pull request #12428 from SUSE/wip-18216-jewel + + jewel: rgw-admin: missing command to modify placement targets + +commit 9897021fd29716974ba547814c35f8a606dce88f +Merge: bf1e63b 26c87fd +Author: Nathan Cutler +Date: Wed Feb 1 22:36:19 2017 +0100 + + Merge pull request #12426 from SUSE/wip-18214-jewel + + jewel: add max_part and nbds_max options in rbd nbd map, in order to keep consistent with + + http://tracker.ceph.com/issues/17851#note-59 + +commit bf1e63b6441af02404ad680462de5380e8714c43 +Merge: 9c83af8 8b10d3b +Author: Nathan Cutler +Date: Wed Feb 1 22:34:15 2017 +0100 + + Merge pull request #12419 from SUSE/wip-18217-jewel + + jewel: rgw sends omap_getvals with (u64)-1 limit + + Reviewed-by: Nathan Cutler + +commit 9c83af87ee8716dd7785c2e21fcc8007a92f9c92 +Merge: c0e845c fe753db +Author: Nathan Cutler +Date: Wed Feb 1 22:32:24 2017 +0100 + + Merge pull request #12405 from jan--f/wip-18199-jewel + + jewel: build/ops: install-deps.sh based on /etc/os-release + + Reviewed-by: Nathan Cutler + +commit c0e845c4f6b03f3c28c31ba2278be5b20e5be13c +Merge: 45281fb 4eb7c73 +Author: Nathan Cutler +Date: Wed Feb 1 22:29:24 2017 +0100 + + Merge pull request #12397 from linuxbox2/jewel-next + + jewel: rgw: do not abort when accept a CORS request with short origin + + Reviewed-by: Nathan Cutler + +commit 45281fb4d3ddca81d051cd776269cb111cc26bc1 +Merge: 1f85f84 7db6d1d +Author: Nathan Cutler +Date: Wed Feb 1 22:15:35 2017 +0100 + + Merge pull request #12316 from dachary/wip-18101-jewel + + jewel: Add workaround for upgrade issues for older jewel versions + + Reviewed-by: Nathan Cutler + +commit 1f85f847b6a8413047891d6d46e838ad83d5a8b7 +Merge: 735be97 3839727 +Author: Nathan Cutler +Date: Wed Feb 1 21:37:45 2017 +0100 + + Merge pull request #12890 from dillaman/wip-18453-jewel + + jewel: librbd: new API method to force break a peer's exclusive lock + + Reviewed-by: Nathan Cutler + +commit 1e75e23b9973c9c5203b3c3ed2cec35333b40d77 +Author: Sage Weil +Date: Wed Feb 1 15:24:50 2017 -0500 + + qa/suites/upgrade/hammer-x: wrap thrash and workloads + + We need the thrashing to stop before we do the final upgrade step. + + Signed-off-by: Sage Weil + +commit 735be9772f0029eb6c7f9aef7d0469107897521a +Merge: ce309b8 5400673 +Author: Loic Dachary +Date: Wed Feb 1 20:23:36 2017 +0100 + + Merge pull request #12302 from SUSE/wip-18135-jewel + + jewel: build/ops: add hostname sanity check to run-{c}make-check.sh + + Reviewed-by: Loic Dachary + +commit ce309b8493a3e69498d3495bbbdfa7b2c2e31cf5 +Merge: 4cbe0e3 478e40a +Author: Nathan Cutler +Date: Wed Feb 1 16:18:04 2017 +0100 + + Merge pull request #12315 from dachary/wip-18102-jewel + + jewel: rgw: Unable to commit period zonegroup change + + Reviewed-by: Nathan Cutler + +commit 4cbe0e398ad9b46eefafbfd2d0202d0cbb65402a +Merge: e371af6 b502b96 +Author: Nathan Cutler +Date: Wed Feb 1 16:14:15 2017 +0100 + + Merge pull request #12314 from dachary/wip-18107-jewel + + jewel: multisite: failed assertion in 'radosgw-admin bucket sync status' + + Reviewed-by: Nathan Cutler + +commit e371af6b7d17020c1bda09f0de28036a920303fd +Merge: 056f8ac ece622d +Author: Nathan Cutler +Date: Wed Feb 1 16:12:40 2017 +0100 + + Merge pull request #12313 from dachary/wip-18112-jewel + + jewel: rgw: multisite requests failing with '400 Bad Request' with civetweb 1.8 + + Reviewed-by: Nathan Cutler + +commit 056f8ac054c82358ec4ea20782a7da327e6ad19e +Merge: 41fcf74 d9c1d86 +Author: Nathan Cutler +Date: Wed Feb 1 16:02:05 2017 +0100 + + Merge pull request #12258 from rzarzynski/wip-rgw-17931-jewel + + jewel: rgw: add support for the prefix parameter in account listing of Swift API + + Reviewed-by: Nathan Cutler + +commit 41fcf740ba9205c08a2995fd69dc29051ed81b6a +Merge: 8a86bf5 a0b4e60 +Author: Nathan Cutler +Date: Wed Feb 1 15:56:48 2017 +0100 + + Merge pull request #12156 from dachary/wip-17969-jewel + + jewel: rgw: multisite upgrade from hammer -> jewel ignores rgw_region_root_pool + + Reviewed-by: Nathan Cutler + +commit 8a86bf508503f7b22b47c6663b56f6fd7012df4c +Merge: d71c75a d1df8f7 +Author: Nathan Cutler +Date: Wed Feb 1 15:34:45 2017 +0100 + + Merge pull request #11990 from asheplyakov/jewel-17908 + + jewel: rgw: for the create_bucket api, if the input creation_time is zero, we … + + Reviewed-by: Nathan Cutler + +commit d71c75ac6bc2ed576344e0f75fe99ce860b8914d +Merge: 7d0c6de 6a3c10f +Author: Nathan Cutler +Date: Wed Feb 1 15:31:21 2017 +0100 + + Merge pull request #11876 from dachary/wip-17839-jewel + + jewel: rgw: the value of total_time is wrong in the result of 'radosgw-admin log show' opt + + Reviewed-by: Nathan Cutler + +commit 7d0c6dee032c1254a2c78b589bb48bea335ca0f2 +Merge: a695e8d 3239ce8 +Author: Nathan Cutler +Date: Wed Feb 1 15:26:21 2017 +0100 + + Merge pull request #11868 from dachary/wip-17512-jewel + + jewel: multisite: metadata master can get the wrong value for 'oldest_log_period' + + Reviewed-by: Nathan Cutler + +commit a695e8d167ada37260b4ef8ed4595f758fc4421b +Merge: 4395560 0b7577e +Author: Nathan Cutler +Date: Wed Feb 1 15:24:11 2017 +0100 + + Merge pull request #11866 from dachary/wip-17709-jewel + + jewel: rgw: multisite: coroutine deadlock assertion on error in FetchAllMetaCR + + Reviewed-by: Nathan Cutler + +commit 4395560d686cc7ccdc28eaba1f6cbadf57e1bba5 +Merge: 1bc9432 8d3b0e7 +Author: Nathan Cutler +Date: Wed Feb 1 15:21:33 2017 +0100 + + Merge pull request #11497 from rzarzynski/wip-rgw-slashinfo-jewel + + jewel: rgw: add suport for Swift-at-root dependent features of Swift API + + Reviewed-by: Nathan Cutler + +commit 1bc9432e744c42fae98c570f09ddc3f4606d2297 +Merge: 92d385e 6c1edcd +Author: Nathan Cutler +Date: Wed Feb 1 15:18:42 2017 +0100 + + Merge pull request #11477 from dachary/wip-17119-jewel + + jewel: rgw: multisite: assert(next) failed in RGWMetaSyncCR + + Reviewed-by: Nathan Cutler + +commit 92d385e8cb4cff91051464a8552ab5aed4cbfae4 +Merge: a61be36 d54b354 +Author: Nathan Cutler +Date: Wed Feb 1 15:17:03 2017 +0100 + + Merge pull request #11476 from dachary/wip-17162-jewel + + jewel: rgw: multisite doesn't retry RGWFetchAllMetaCR on failed lease + + Reviewed-by: Nathan Cutler + +commit a61be367615f7ef5f8101d0fbbe40615782d8c5c +Merge: 5821e8d aa24a8f +Author: Nathan Cutler +Date: Wed Feb 1 15:15:01 2017 +0100 + + Merge pull request #11470 from dachary/wip-17514-jewel + + jewel: rgw:bucket check remove _multipart_ prefix + + Reviewed-by: Nathan Cutler + +commit 5821e8d9c448f95f9a4b73e6353db8f7d2cfb534 +Merge: bb702bc 19a836b +Author: Nathan Cutler +Date: Wed Feb 1 15:12:51 2017 +0100 + + Merge pull request #10661 from dachary/wip-16871-jewel + + jewel: rgw: Have a flavor of bucket deletion in radosgw-admin to bypass garbage collection + + Reviewed-by: Nathan Cutler + +commit bb702bc4b9b720af86f759d0e040d57a9a91b3da +Merge: c5461bc 18545a2 +Author: Loic Dachary +Date: Wed Feb 1 14:02:56 2017 +0100 + + Merge pull request #13187 from asheplyakov/jewel-bp-18729 + + jewel: cli: ceph-disk: convert none str to str before printing it + + Reviewed-by: Loic Dachary + +commit c5461bc9703a9062c3c2ea8022b9f4d4842e0b65 +Merge: 1c6eacb 1481c8f +Author: Nathan Cutler +Date: Wed Feb 1 13:29:50 2017 +0100 + + Merge pull request #13153 from smithfarm/wip-no-firefly-on-centos + + jewel: tests: upgrade:hammer-x: install firefly only on Ubuntu 14.04 + + Reviewed-by: Loic Dachary + +commit 1c6eacb6f905cd39248663383da8f797aaef9ebe +Merge: 5784855 5c4fffa +Author: Nathan Cutler +Date: Wed Feb 1 13:17:48 2017 +0100 + + Merge pull request #13118 from smithfarm/wip-18274-jewel + + jewel: Memory leaks in object_list_begin and object_list_end + + Reviewed-by: Sage Weil + +commit 5784855782385186a40696c8bcec151403bfae0c +Merge: cc867e1 173ea7f +Author: Loic Dachary +Date: Wed Feb 1 13:15:09 2017 +0100 + + Merge pull request #13025 from SUSE/wip-18605-jewel + + jewel: ceph-disk prepare writes osd log 0 with root owner + + Reviewed-by: Loic Dachary + +commit cc867e1ed2b631c6dd380a575c4475973b5a2a4d +Merge: 864f915 3a02868 +Author: Nathan Cutler +Date: Wed Feb 1 13:12:57 2017 +0100 + + Merge pull request #13106 from ceph/wip-cd-dev-option + + qa/tasks: jewel backport - ceph-deploy use of dev option + + Reviewed-by: Yuri Weinstein + +commit 864f9159a97b671f4332b917b72a29600c79aa4d +Merge: 8e69580 ff91688 +Author: Nathan Cutler +Date: Wed Feb 1 13:02:54 2017 +0100 + + Merge pull request #13062 from asheplyakov/jewel-bp-18379 + + jewel: msg/simple: clear_pipe when wait() is mopping up pipes + + Reviewed-by: Sage Weil + +commit 8e69580c97622abfcbda73f92d9b6b6780be031f +Merge: c05730c 509de4d +Author: Nathan Cutler +Date: Wed Feb 1 12:53:06 2017 +0100 + + Merge pull request #12978 from asheplyakov/jewel-18581 + + jewel: ReplicatedBackend: take read locks for clone sources during recovery + + Reviewed-by: Josh Durgin + +commit c05730ceb3387fb43c35937f0506297a34a44452 +Merge: 36005e9 fcdd5e7 +Author: Nathan Cutler +Date: Wed Feb 1 12:33:19 2017 +0100 + + Merge pull request #12755 from Abhishekvrshny/wip-18284-jewel + + jewel: Need CLI ability to add, edit and remove omap values with binary keys + + Reviewed-by: Sage Weil + +commit 36005e9efa4a5b75efecfd0eec6effc17639d7db +Merge: 615549a dcc9483 +Author: Nathan Cutler +Date: Wed Feb 1 12:31:13 2017 +0100 + + Merge pull request #12677 from SUSE/wip-18104-jewel + + jewel: mon: ceph osd down detection behaviour + + Reviewed-by: Sage Weil + +commit 615549abbf7eed157289dde4603e3c0b25a40d2e +Merge: 90c9ad7 8a774cc +Author: Nathan Cutler +Date: Wed Feb 1 12:28:50 2017 +0100 + + Merge pull request #12291 from asheplyakov/jewel-18108 + + jewel: msg/simple/Pipe: error decoding addr + + Reviewed-by: Sage Weil + +commit 90c9ad7fe60b89a87f53b2b224100befc334dbe1 +Merge: ef7d826 a9da605 +Author: Nathan Cutler +Date: Wed Feb 1 12:27:46 2017 +0100 + + Merge pull request #11998 from Abhishekvrshny/wip-17877-jewel + + jewel: FileStore: fiemap cannot be totally retrieved in xfs when the number of extents > 1364 + + Reviewed-by: Sage Weil + +commit ef7d82679e91d1e2364e3fb433542940511598ee +Merge: d1a019a fff2127 +Author: Nathan Cutler +Date: Wed Feb 1 12:26:28 2017 +0100 + + Merge pull request #11991 from asheplyakov/jewel-17909 + + jewel: osd: limit omap data in push op + + Reviewed-by: Josh Durgin + +commit d1a019ad3b0a35bd8f339f0ceefd5f8617ee18fa +Merge: 0b33f2c b044361 +Author: Matt Benjamin +Date: Tue Jan 31 11:40:41 2017 -0500 + + Merge pull request #12045 from Abhishekvrshny/wip-17875-jewel + + jewel: rgw: file: remove spurious mount entries for RGW buckets + +commit 0b33f2caf7bf2762ac66779fba0032868e9488e5 +Merge: 92827ae 75d0580 +Author: Loic Dachary +Date: Tue Jan 31 16:42:14 2017 +0100 + + Merge pull request #13161 from smithfarm/wip-lfn-upgrade-hammer + + jewel: tests: add require_jewel_osds before upgrading last hammer node + + Reviewed-by: Loic Dachary + +commit 92827aeb4ea557f204f850a86d69eeed74812c93 +Merge: 790f2a1 077290b +Author: Nathan Cutler +Date: Tue Jan 31 16:36:17 2017 +0100 + + Merge pull request #12425 from SUSE/wip-18190-jewel + + jewel: rbd-mirror: gmock warnings in bootstrap request unit tests + + Reviewed-by: Jason Dillaman + +commit 790f2a11860378785bab7fb0195a455ec1d70857 +Merge: 32890c1 649b1d4 +Author: Nathan Cutler +Date: Tue Jan 31 15:16:45 2017 +0100 + + Merge pull request #13129 from smithfarm/wip-18558-jewel + + jewel: rbd: bench-write will crash if --io-size is 4G + + Reviewed-by: Jason Dillaman + +commit 32890c153dcd8abb3e1ea942f16718582bd0c836 +Merge: c0e3ae3 dd1f425 +Author: Nathan Cutler +Date: Tue Jan 31 15:15:30 2017 +0100 + + Merge pull request #13155 from smithfarm/wip-18494-jewel + + jewel: rbd: [rbd-mirror] sporadic image replayer shut down failure + +commit c0e3ae3332a51dab3a17f1546b6e8258eaea09eb +Merge: 7849ea5 c2f86a4 +Author: Nathan Cutler +Date: Tue Jan 31 15:14:31 2017 +0100 + + Merge pull request #13128 from smithfarm/wip-18633-jewel + + jewel: rbd: [qa] crash in journal-enabled fsx run + + http://tracker.ceph.com/issues/13512 + +commit 7849ea5166030e7f0b331ef21d0867b235fedb2d +Merge: 833c58e 61e1b0c +Author: Nathan Cutler +Date: Tue Jan 31 15:11:43 2017 +0100 + + Merge pull request #13104 from idryomov/wip-fio-unmap-devices-jewel + + qa/tasks: backport rbd_fio fixes to jewel + + Reviewed-by: Jason Dillaman + +commit 833c58edc0445fc54364cc5ae7a58e1c17a96422 +Merge: 26798a1 16a2fec +Author: Nathan Cutler +Date: Tue Jan 31 15:10:03 2017 +0100 + + Merge pull request #13156 from smithfarm/wip-18455-jewel + + jewel: rbd: Attempting to remove an image w/ incompatible features results in partial removal + + Reviewed-by: Jason Dillaman + +commit 26798a1850c2ee6de2e6ec2fd9b9597e447f63dd +Merge: dff349c 99bafc1 +Author: Nathan Cutler +Date: Tue Jan 31 14:59:56 2017 +0100 + + Merge pull request #13157 from smithfarm/wip-18434-jewel + + jewel: rbd: Improve error reporting from rbd feature enable/disable + + Reviewed-by: Jason Dillaman + +commit dff349c8249388e5b31314dc6297446bf9f0f9e3 +Merge: f9b56db 1555638 +Author: Nathan Cutler +Date: Tue Jan 31 14:59:04 2017 +0100 + + Merge pull request #13168 from trociny/wip-18550-jewel + + jewel: librbd: metadata_set API operation should not change global config setting + + Reviewed-by: Jason Dillaman + +commit f9b56dbdb28cd02ea665f0dfde630f8419a1067c +Merge: 586f4ea 9c84a65 +Author: Nathan Cutler +Date: Tue Jan 31 14:55:58 2017 +0100 + + Merge pull request #12739 from SUSE/wip-18323-jewel + + jewel: JournalMetadata flooding with errors when being blacklisted + + Reviewed-by: Mykola Golub + Reviewed-by: Jason Dillaman + +commit 586f4ead083518e95115d31dbecfbf4d5995e7ed +Merge: 9af8b21 ad869de +Author: Nathan Cutler +Date: Tue Jan 31 14:54:19 2017 +0100 + + Merge pull request #12416 from SUSE/wip-18219-jewel + + jewel: msg: don't truncate message sequence to 32-bits + + Reviewed-by: Kefu Chai + +commit 9af8b2191268d1b2b4e4d4ba234ba12d265e3731 +Merge: 1a9eb84 336c351 +Author: Nathan Cutler +Date: Tue Jan 31 14:52:00 2017 +0100 + + Merge pull request #13115 from smithfarm/wip-18404-jewel + + jewel: mon: cache tiering: base pool last_force_resend not respected (racing read got wrong version) + + Reviewed-by: Kefu Chai + +commit 1a9eb8454368160be35e966b5264c296db87ac0a +Merge: b03280d 35e10a0 +Author: Nathan Cutler +Date: Tue Jan 31 14:50:52 2017 +0100 + + Merge pull request #13045 from SUSE/wip-18553-jewel + + jewel: mon: peon wrongly delete routed pg stats op before receive pg stats ack + + Reviewed-by: Kefu Chai + +commit b03280d67c2464599289da659152a6877da65827 +Merge: e524035 7bbb5a8 +Author: Nathan Cutler +Date: Tue Jan 31 14:49:56 2017 +0100 + + Merge pull request #13117 from smithfarm/wip-18280-jewel + + jewel: mon: osd flag health message is misleading + + Reviewed-by: Kefu Chai + +commit e5240357a6901a7e37440f01883ecac56fbc771f +Merge: c4f8684 820ab7d +Author: Matt Benjamin +Date: Tue Jan 31 08:34:22 2017 -0500 + + Merge pull request #12320 from dachary/wip-18061-jewel + + jewel: rgw:fix for deleting objects name beginning and ending with underscores of one bucket using POST method of js sdk. + +commit c4f868406274881a8b5bbe97bc19e32146efe861 +Merge: e47969e 13fa5db +Author: Matt Benjamin +Date: Tue Jan 31 08:31:34 2017 -0500 + + Merge pull request #11759 from Abhishekvrshny/wip-17783-jewel + + jewel: rgw: json encode/decode of RGWBucketInfo missing index_type field + +commit e47969e5d5cdf51149c23da4eec04dd0a2faec6f +Merge: b278ece edac06f +Author: John Spray +Date: Tue Jan 31 14:10:46 2017 +0100 + + Merge pull request #12153 from dachary/wip-18010-jewel + + jewel: Cleanly reject session evict command when in replay + +commit b278ece85be7ed4f57dec6f524f187d1d10f4616 +Merge: 2d2e4af e1af490 +Author: John Spray +Date: Tue Jan 31 14:10:23 2017 +0100 + + Merge pull request #12324 from dachary/wip-18103-jewel + + jewel: truncate can cause unflushed snapshot data lose + +commit 2d2e4afa3eef29ee82ec8057d6172f5706f4b872 +Merge: 916e95d 7819adb +Author: John Spray +Date: Tue Jan 31 14:09:59 2017 +0100 + + Merge pull request #12783 from SUSE/wip-18413-jewel + + jewel: cephfs: lookup of /.. in jewel returns -ENOENT + +commit 916e95d13692e9a025e47b11724aa65d51860411 +Merge: 384a425 8404426 +Author: John Spray +Date: Tue Jan 31 14:08:56 2017 +0100 + + Merge pull request #12921 from xiaoxichen/wip-18520-jewel + + Jewel: speed up readdir by skipping unwanted dn + +commit 384a425cf69b7554e460d528e7f788c3b0c2eff1 +Merge: 4fd62b6 b147022 +Author: John Spray +Date: Tue Jan 31 14:08:30 2017 +0100 + + Merge pull request #13119 from smithfarm/wip-18565-jewel + + jewel: MDS crashes on missing metadata object + +commit 4fd62b65c2097052378043ee82c937bb702263c1 +Merge: 01a6b1f bc9b779 +Author: John Spray +Date: Tue Jan 31 14:08:20 2017 +0100 + + Merge pull request #13120 from smithfarm/wip-18551-jewel + + jewel: ceph-fuse crash during snapshot tests + +commit 01a6b1f31eafc66cea06702984a77391562e0ad1 +Merge: 831c1d8 fef3de8 +Author: John Spray +Date: Tue Jan 31 14:08:01 2017 +0100 + + Merge pull request #13123 from smithfarm/wip-18282-jewel + + jewel: monitor cannot start because of FAILED assert(info.state == MDSMap::STATE_STANDBY) + +commit 831c1d8c8fc3e8777559da8a154aff104f1c831d +Merge: 7fbe164 df4558c +Author: John Spray +Date: Tue Jan 31 14:07:52 2017 +0100 + + Merge pull request #13125 from smithfarm/wip-18195-jewel + + jewel: cephfs: fix missing ll_get for ll_walk + +commit 7fbe164962d488a6b2c2b921619794fea254b848 +Merge: 3793798 5eda4aa +Author: John Spray +Date: Tue Jan 31 14:07:41 2017 +0100 + + Merge pull request #13126 from smithfarm/wip-18192-jewel + + jewel: standby-replay daemons can sometimes miss events + +commit 75d05809a66bee219031a7ccb64d414a2d6c8775 +Author: Nathan Cutler +Date: Fri Jan 27 22:27:18 2017 +0100 + + tests: add require_jewel_osds before upgrading last hammer node + + Note: this commit was inspired by + http://github.com/ceph/ceph-qa-suite/commit/50758a4810794d265c5d36a71d1e16799251a00d + + As of 10.2.4, when upgrading a cluster from hammer to jewel, after the last + node is upgraded the MON will put the cluster into HEALTH_WARN and say: "all + OSDs are running jewel or later but the 'require_jewel_osds' osdmap flag is not + set". The release notes say: + + This is a signal for the admin to do "ceph osd set require_jewel_osds" – by + doing this, the upgrade path is complete and no more pre-Jewel OSDs may be + added to the cluster. + + Fixes: http://tracker.ceph.com/issues/18719 + Signed-off-by: Nathan Cutler + +commit 3793798049ba74f8f3a5742c50398c8e89bbac0b +Merge: a1a209e 23680e0 +Author: Nathan Cutler +Date: Tue Jan 31 11:19:39 2017 +0100 + + Merge pull request #13049 from SUSE/wip-18433-jewel + + jewel: rados bench seq must verify the hostname + + Reviewed-by: Nathan Cutler + +commit a1a209ed1b33fbb78a4335f69f1f2d5d9085bda4 +Merge: 25bd0be c2bbf7f +Author: Nathan Cutler +Date: Tue Jan 31 08:40:52 2017 +0100 + + Merge pull request #13040 from SUSE/wip-fs-thrash-jewel + + jewel: tests: run fs/thrash on xfs instead of btrfs + + Reviewed-by: John Spray + +commit 25bd0befb0749bb2759059559405f5bafe933d20 +Merge: bdb5e36 7a341a8 +Author: Nathan Cutler +Date: Tue Jan 31 08:39:35 2017 +0100 + + Merge pull request #13029 from SUSE/wip-18611-jewel + + jewel: cephfs: client segfault on ceph_rmdir path / + + Reviewed-by: John Spray + +commit bdb5e362dfec1debf1de5db6c14b23a63437a0d6 +Merge: 1bc16a4 f24c3ff +Author: Nathan Cutler +Date: Tue Jan 31 08:34:46 2017 +0100 + + Merge pull request #12875 from asheplyakov/jewel-bp-18485 + + jewel: osd/PG: publish PG stats when backfill-related states change + + Reviewed-by: Sage Weil + +commit 1bc16a4333e27c9c3b603af6c52722183ce10a51 +Merge: 1722b46 2296c87 +Author: Nathan Cutler +Date: Tue Jan 31 08:32:58 2017 +0100 + + Merge pull request #12789 from SUSE/wip-18417-jewel + + jewel: osd: leveldb corruption leads to Operation not permitted not handled and assert + + Reviewed-by: Nathan Cutler + +commit 1722b4684808eb968b0997b8584477a51cd8940a +Merge: 345bcdc bbf4c27 +Author: Nathan Cutler +Date: Tue Jan 31 08:28:22 2017 +0100 + + Merge pull request #12761 from SUSE/wip-18402-jewel + + jewel: tests: objecter_requests workunit fails on wip branches + + Reviewed-by: Nathan Cutler + +commit 345bcdc0a41ac362ae813a64756fcd3f1d2ff2f4 +Merge: 85ae998 ef2709a +Author: Nathan Cutler +Date: Tue Jan 31 08:10:20 2017 +0100 + + Merge pull request #11947 from SUSE/wip-17884-jewel + + jewel: mon: OSDs marked OUT wrongly after monitor failover + + Reviewed-by: Kefu Chai + +commit 85ae998886c5f8b429b20a8a7d80b2ed4ce57e37 +Merge: 0ddbaf3 4f8287f +Author: Nathan Cutler +Date: Tue Jan 31 08:07:40 2017 +0100 + + Merge pull request #11508 from SUSE/wip-17583-jewel + + jewel: utime.h: fix timezone issue in round_to_* funcs. + + Reviewed-by: Orit Wasserman + +commit 3a02868be40f3431d2bfedf16737b37ebf1a7e89 +Author: Vasu Kulkarni +Date: Thu Jan 26 13:21:30 2017 -0800 + + Revert "use the create option during instantiation" + + jewel cephfs still uses old Filesystem initializtion method + + Signed-off-by: Vasu Kulkarni + +commit ebdc0d2ce82ba67aecfaa25e66270c9529238700 +Author: Vasu Kulkarni +Date: Thu Dec 15 14:11:00 2016 -0800 + + use dev option instead of dev-commit + + Fixes: http://tracker.ceph.com/issues/18736 + + Signed-off-by: Vasu Kulkarni + +commit 0ddbaf384a76e87f218af1babb99f4a08da5abce +Merge: 4ef0a63 016b059 +Author: Matt Benjamin +Date: Mon Jan 30 13:25:23 2017 -0500 + + Merge pull request #13169 from linuxbox2/jewel-mg-errortrans + + jewel:rgw: fix interface compliance of RGWCivetWeb::write_data() + +commit 3839727f2969337a6d70e948db3de034a1346e90 +Author: Jason Dillaman +Date: Mon Jan 30 11:38:21 2017 -0500 + + librbd: ensure owner lock is held before purging cache + + Signed-off-by: Jason Dillaman + +commit d0c12edc52d45a0e429e0d4cca78f8724e39e926 +Author: Jason Dillaman +Date: Fri Jan 6 11:17:10 2017 -0500 + + librados: blacklist_add should wait for latest OSD map + + This ensures that future operations against the OSDs force + a OSD map update to notice the blacklisted client. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 9242a2e4e1a5a9fcea48d8135b1589493fc28242) + +commit bf8b78c3a6fb8a6b516793493c4169ceee15d9f8 +Author: Jason Dillaman +Date: Thu Jan 5 13:31:57 2017 -0500 + + librbd: prevent assertion failure when journal IO is blacklisted + + Fixes: http://tracker.ceph.com/issues/18429 + Signed-off-by: Jason Dillaman + (cherry picked from commit c720f6e3704ed7e8cf41dffdb931dbb05d59a003) + +commit 2ca703073fd7563c06a310b66191fb4a99d4fa63 +Author: Jason Dillaman +Date: Wed Jan 4 12:12:27 2017 -0500 + + librbd: ignore blacklist error when releasing exclusive lock + + This ensures the journal and object map are properly closed so that the + image can be properly closed w/o failing any assertions. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 418dcf29cb8c450049047e09a4dad2941af87018) + +commit 7aa424ab450afb6ff308272cedc854a33420d081 +Author: Jason Dillaman +Date: Tue Jan 3 15:29:17 2017 -0500 + + librbd: fail immediately if the exclusive lock cannot be acquired + + Fixes: http://tracker.ceph.com/issues/16988 + Signed-off-by: Jason Dillaman + (cherry picked from commit 47b89f4d48a0b99876462167389df28893a8d418) + +commit 5d96332700cbb05f541c211c375ca97506b41aad +Author: Jason Dillaman +Date: Tue Jan 3 14:51:14 2017 -0500 + + librbd: add new lock_get_owners / lock_break_lock API methods + + If the client application supports failover, let the application + force break the current lock and blacklist the owner. This is + required in case the current lock owner is alive from the point-of-view + of librbd but failover was required due to a higher level reason. + + Fixes: http://tracker.ceph.com/issues/18327 + Signed-off-by: Jason Dillaman + (cherry picked from commit 9a5a8c75a025143cee6f92f3dbc3a12f2b6a9ad7) + + Conflicts: + src/pybind/rbd/rbd.pyx: trivial resolution + src/test/pybind/test_rbd.py: trivial resolution + +commit 245898aa9ae3d6fe03668f3a88b2fac84d11cb29 +Author: Jason Dillaman +Date: Thu Dec 22 15:00:23 2016 -0500 + + librbd: separate break lock logic into standalone state machine + + The current lockers are now queried before the lock is attempted to + prevent any possible race conditions when one or more clients attempt + to break the lock of a dead client. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 23f60fee86d1ff9b261fbb6411746a2a9479cf19) + +commit 968a10b2adc56a45f292ac9faf9b671f2f66b996 +Author: Jason Dillaman +Date: Thu Dec 22 17:24:47 2016 -0500 + + librbd: separate locker query into standalone state machine + + Signed-off-by: Jason Dillaman + (cherry picked from commit 03533b912c59d5e433d0f006e1a063e014468ca5) + + Conflicts: + src/test/librbd/exclusive_lock/test_mock_AcquireRequest.cc: trivial resolution + +commit 652e65a2143f9fa2a69822fe9924e59a83ba5c21 +Author: Danny Al-Gaaf +Date: Mon Feb 22 15:17:20 2016 +0100 + + librbd/exclusive_lock/AcquireRequest.cc: init lock_type + + Fixup for: + + CID 1351687 (#1 of 1): Uninitialized scalar variable (UNINIT) + var_decl: Declaring variable lock_type without initializer + uninit_use: Using uninitialized value lock_type. + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit da9ede90cd257ff605ab3ebfcc1aa995f655f1cc) + +commit d4085d34f31fa9eed73d69f241184b99e5198b22 +Author: Mykola Golub +Date: Wed Jun 8 15:11:02 2016 +0300 + + librbd: API methods to directly acquire and release the exclusive lock + + Fixes: http://tracker.ceph.com/issues/15632 + Signed-off-by: Mykola Golub + (cherry picked from commit 8f1b47fd5da021ec320fd0b5fc0fd68ffff8a706) + + Conflicts: + src/common/config_opts.h: trivial resolution + src/include/rbd/librbd.h: trivial resolution + src/librbd/CMakeLists.txt: trivial resolution + src/librbd/Makefile.am: trivial resolution + src/test/librbd/test_librbd.cc: trivial resolution + +commit 476e2b14364daa4363425b392199e9cc23c2f02b +Author: Mykola Golub +Date: Fri Jun 10 14:04:04 2016 +0300 + + rbd-mirror: fix error messages formatting + + Signed-off-by: Mykola Golub + (cherry picked from commit 2af72480d94b2b90ed6eac7b3e131437864eada7) + + Conflicts: + src/tools/rbd_mirror/image_replayer/BootstrapRequest.cc: trivial resolution + +commit 374d89f3706aea019f053350c9d790cd8c2c1423 +Author: Jason Dillaman +Date: Sun Sep 11 09:08:41 2016 -0400 + + librbd: ignore partial refresh error when acquiring exclusive lock + + Fixes: http://tracker.ceph.com/issues/17227 + Signed-off-by: Jason Dillaman + (cherry picked from commit 24396dcba77a97342d19916fdd285bae0c38fd19) + +commit 0bd843aa7bcf212bf370800a4c0c3176af5d6e9e +Author: Jason Dillaman +Date: Fri Sep 9 08:31:52 2016 -0400 + + librbd: potential seg fault when blacklisting an image client + + Fixes: http://tracker.ceph.com/issues/17251 + Signed-off-by: Jason Dillaman + (cherry picked from commit 7025fe8976f8672a2fce05ea693c06a8e9faed19) + +commit 273fd99085f13fb5f76e9e60a81012c22c49418d +Author: Jason Dillaman +Date: Sun Sep 4 10:48:48 2016 -0400 + + librbd: potential double-unwatch of watch handle upon error + + Fixes: http://tracker.ceph.com/issues/17210 + Signed-off-by: Jason Dillaman + (cherry picked from commit 1068ded0cba59831a0712f347946731689a68553) + +commit 33e037a089337b5c96a03befac44549e680db13d +Author: Jason Dillaman +Date: Wed Aug 31 21:33:54 2016 -0400 + + librbd: deadlock when replaying journal during image open + + Fixes: http://tracker.ceph.com/issues/17188 + Signed-off-by: Jason Dillaman + (cherry picked from commit 3dc13067f5f0d140ee76b0166eb4cec568610211) + +commit bca65c46fdac4829132308f7fcf2ac59e2aaea6c +Author: Jason Dillaman +Date: Wed Aug 31 20:56:54 2016 -0400 + + librbd: improve image state machine debug log messages + + Signed-off-by: Jason Dillaman + (cherry picked from commit c71182a73146c65dfe7bf955ad67ebeebcf7b1fd) + +commit a12f435041860f3329e2465586805a168dcc87c9 +Author: Jason Dillaman +Date: Wed Aug 17 15:16:37 2016 -0400 + + librbd: remove unused refresh request logic + + Signed-off-by: Jason Dillaman + (cherry picked from commit 5156b438d5ad69803b4d4529083039db825d6c8c) + +commit a475bfb4d2c8906cfad52a7d81196a87c4c2f0bc +Author: Jason Dillaman +Date: Wed Aug 17 14:58:22 2016 -0400 + + librbd: interlock image refresh and lock operations + + Fixes: http://tracker.ceph.com/issues/16773 + Signed-off-by: Jason Dillaman + (cherry picked from commit 583ac91872859e81d68c9d346516522c6aa1614c) + +commit 3d61b69b11ef67719e78d77fec000403d43d70d3 +Author: Jason Dillaman +Date: Wed Aug 17 14:02:32 2016 -0400 + + librbd: image state machine now has hooks for lock requests + + Signed-off-by: Jason Dillaman + (cherry picked from commit a5b8c9c1d81ed609e71a5a8abe4d0e90194408cc) + +commit 4ea8d55c95304e07a90a6c4b8890787ccaeecedf +Author: Jason Dillaman +Date: Tue Aug 16 16:23:57 2016 -0400 + + librbd: integrate asynchronous image rewatch state machine + + Signed-off-by: Jason Dillaman + (cherry picked from commit d0d97fcca2cb427adbdf5c32f0e07830c38aaf4b) + +commit 62f265b30531141dfda8a7490d18b1d0d787fe13 +Author: Jason Dillaman +Date: Mon Aug 15 15:46:23 2016 -0400 + + librbd: helper state machine for asynchronous watch recovery + + Signed-off-by: Jason Dillaman + (cherry picked from commit 32180aaf42050a01981c33f84edd95eff931ee6c) + + Conflicts: + src/librbd/CMakeLists.txt: trivial resolution + src/librbd/Makefile.am: trivial resolution + +commit ead7201874ed8617d86dc548798aa4bde7168fdb +Author: Jason Dillaman +Date: Tue Aug 16 14:20:20 2016 -0400 + + librbd: exclusive lock now supports reacquiring a lost lock + + Signed-off-by: Jason Dillaman + (cherry picked from commit 66c605573f840c0db8b3630315ea50e9fc987509) + +commit 38ca4ff1d8d21db17f382a6821d098e472be4657 +Author: Jason Dillaman +Date: Tue Aug 16 13:11:19 2016 -0400 + + librbd: store exclusive lock cookie instead of recalculating + + Signed-off-by: Jason Dillaman + (cherry picked from commit aa53f74ad261f453e971bf3cef0b96bba4932b7b) + +commit 73a445572e8fab135c7d87b80e374355e77d2e28 +Author: Jason Dillaman +Date: Tue Aug 16 12:28:09 2016 -0400 + + librbd: helper state machine to update lock cookie + + Signed-off-by: Jason Dillaman + (cherry picked from commit d523df8dafac472f95233805d3a82edb3b3b02ea) + +commit 98a5e116c28ec9096ce68308be06e794883ce29e +Author: Jason Dillaman +Date: Mon Aug 15 16:50:43 2016 -0400 + + cls_lock: support updating the lock cookie without releasing the lock + + Fixes: http://tracker.ceph.com/issues/17015 + Signed-off-by: Jason Dillaman + (cherry picked from commit 377f57652f8ddae53f44c59f21e89c51b2bf0f7b) + +commit 8a75f980d3cb00cc31c479f5e4253a6385563663 +Author: Nathan Cutler +Date: Mon Jan 30 14:19:05 2017 +0100 + + tests: make distros/all/centos.yaml be a symlink to centos_7.3 + + Before this commit, tests that used distros/all/centos.yaml would + fail on VPS because VPS defaults to centos 7.0 when os_version is not + specified. + + Signed-off-by: Nathan Cutler + +commit 4ef0a63e7a29eafad6dda52ea3c92846f03f268d +Merge: efad365 900f2ac +Author: Nathan Cutler +Date: Mon Jan 30 13:26:37 2017 +0100 + + Merge pull request #12323 from dachary/wip-18024-jewel + + jewel: rbd: FAILED assert(m_processing == 0) while running test_lock_fence.sh + + Reviewed-by: Jason Dillaman + +commit efad365753b7847ecce1280fe267d97d2ccf2888 +Merge: a1e7c06 64c0cae +Author: Nathan Cutler +Date: Mon Jan 30 13:25:48 2017 +0100 + + Merge pull request #12649 from xiaoxichen/wip-18278-jewel + + jewel: rbd: librbd: use proper snapshot when computing diff parent overlap + + Reviewed-by: Jason Dillaman + +commit a1e7c06dcb1b47eceea273e9b6ae5044c5958a07 +Merge: ed50d14 8877ee4 +Author: Nathan Cutler +Date: Mon Jan 30 13:24:22 2017 +0100 + + Merge pull request #12741 from SUSE/wip-18320-jewel + + jewel: rbd status: json format has duplicated/overwritten key + + Reviewed-by: Jason Dillaman + +commit ed50d14b4fa4acd13b4197e881666b2120525601 +Merge: b7481a8 d313e42 +Author: Nathan Cutler +Date: Mon Jan 30 13:23:44 2017 +0100 + + Merge pull request #12753 from Abhishekvrshny/wip-18288-jewel + + jewel: rbd-mirror: image sync object map reload logs message + + Reviewed-by: Jason Dillaman + +commit b7481a85453ed059b7ab40932e57ac5354b7581f +Merge: 2ebb894 944ec03 +Author: Nathan Cutler +Date: Mon Jan 30 13:23:09 2017 +0100 + + Merge pull request #12756 from Abhishekvrshny/wip-18276-jewel + + jewel: rbd-nbd: invalid error code for "failed to read nbd request" messages + + Reviewed-by: Jason Dillaman + +commit 2ebb8948858a33c077f6a1481a1ce3e3f23d5d74 +Merge: 60a2037 b359935 +Author: Nathan Cutler +Date: Mon Jan 30 13:22:37 2017 +0100 + + Merge pull request #12822 from SUSE/wip-18450-jewel + + jewel: tests: update rbd/singleton/all/formatted-output.yaml to support ceph-ci + + Reviewed-by: Jason Dillaman + +commit 60a2037ef52a6fc75171260067cee9c9bcc66bd9 +Merge: 60bc353 cdd6cbf +Author: Nathan Cutler +Date: Mon Jan 30 13:21:25 2017 +0100 + + Merge pull request #12909 from dillaman/wip-18290-jewel + + jewel: librbd: properly order concurrent updates to the object map + + Reviewed-by: Jason Dillaman + +commit 60bc35357cdbe39e8c85ebd217526c1b9ad4fc76 +Merge: 18cb72c aa8e57d +Author: Nathan Cutler +Date: Mon Jan 30 13:20:07 2017 +0100 + + Merge pull request #12529 from SUSE/wip-18270-jewel + + jewel: rbd: add image id block name prefix APIs + + Reviewed-by: Mykola Golub + +commit 18cb72c129d6c90afa489fd1cda6713fe8a9e1ed +Merge: 20a480d 4a157ea +Author: Nathan Cutler +Date: Mon Jan 30 13:18:32 2017 +0100 + + Merge pull request #12322 from dachary/wip-18110-jewel + + jewel: diff calculate can hide parent extents when examining first snapshot in clone + + Reviewed-by: Mykola Golub + +commit 18545a27eccfa0b22b1782bb52e3f47afef8ec39 +Author: Kefu Chai +Date: Tue Jan 3 20:40:00 2017 +0800 + + ceph-disk: convert none str to str before printing it + + Error('somethings goes wrong', e) is thrown if exception `e` is caught + in ceph-disk, where e is not a string. so we can not just concat it in + Error's __str__(). so cast it to str before doing so. + + introduced by d0e29c7 + + Fixes: http://tracker.ceph.com/issues/18371 + Signed-off-by: Kefu Chai + (cherry picked from commit 5e0dd1e7df43a3be589d17878714756a22052d8e) + +commit 077290b873e2cd991a995de14a116d85d83ba66e +Author: Mykola Golub +Date: Tue Dec 6 23:19:54 2016 +0200 + + rbd-mirror: fix gmock warnings in bootstrap request unit tests + + Fixes: http://tracker.ceph.com/issues/18156 + Signed-off-by: Mykola Golub + (cherry picked from commit 376026d7b24c77a59ef95d0f66686494caf0e9d0) + +commit ce32297c880779532ba3482edb93fc4e4340d94b +Author: Mykola Golub +Date: Fri Dec 2 10:10:52 2016 +0200 + + qa/workunits/rbd: test_status_in_pool_dir: explicitly check grep return value + + Otherwise, it does not work as supposed to work in statements like below: + + set -e + test_status_in_pool_dir ... && ... + + (e.g. in wait_for_status_in_pool_dir) + + Signed-off-by: Mykola Golub + (cherry picked from commit 7c078eda0fc260f6a885fa43f377b47844867d12) + +commit 6d729d231401f9253aa1cbde06e57cd8bd066a90 +Author: Mykola Golub +Date: Tue Nov 29 11:44:05 2016 +0200 + + rbd-mirror: make 'rbd mirror image resync' work after split-brain + + Fixes: http://tracker.ceph.com/issues/18051 + Signed-off-by: Mykola Golub + (cherry picked from commit 6cb1ed485f89f30fe6dda31e77e16e23f9b5b2ab) + +commit e34a403df5e247b0937abee617758e0838fc0c8e +Author: Mykola Golub +Date: Tue Nov 29 11:40:14 2016 +0200 + + rbd-mirror: split-brain issues should be clearly visible in mirror status + + Fixed: http://tracker.ceph.com/issues/16991 + Signed-off-by: Mykola Golub + (cherry picked from commit cccca67d5f898c43207a19a6e029a1abb86efbcb) + +commit 8f9a93c68947c05636a633c92dbbd69d2ed70c3d +Author: Mykola Golub +Date: Sun Nov 27 16:27:51 2016 +0200 + + qa/workunits/rbd: use image id when probing for image presence + + This fixes a race in resync tests leading to false negative results. + + Fixes: http://tracker.ceph.com/issues/18048 + Signed-off-by: Mykola Golub + (cherry picked from commit c23f56b9835f4e59d72f20a2218de8236574e65f) + +commit 1f2d30cbb735d2c7fd3eea6431f1a1e9555d5942 +Author: Mykola Golub +Date: Mon Oct 3 10:10:33 2016 +0300 + + qa/workunits/rbd: check status also in pool dir after asok commands + + wait_for_image_replay_stopped returns not when the state is stopped, + but when the state is not replaying. So a race was possible when an + asok command was running when the previos stop command was still in + progress, leading to unexpected results. + + Signed-off-by: Mykola Golub + (cherry picked from commit 2882f8c01a42ee3cfe22a838b64f21c93cf84d16) + + Conflicts: + qa/workunits/rbd/rbd_mirror.sh (tests for not backported features) + +commit 5d0fba44501130165416a57a10490ff8ba292d48 +Author: Mykola Golub +Date: Tue Aug 2 20:06:17 2016 +0300 + + qa/workunits/rbd: wait for image deleted before checking health + + This is a fixup to the previous commit. + + Signed-off-by: Mykola Golub + (cherry picked from commit a5f63f726146c2c230d172f6909d8ca1ad46895a) + +commit 38e06fbfcd8ba3a529af0a902c1af6168cf7b0f6 +Author: Mykola Golub +Date: Thu Jul 28 14:45:56 2016 +0300 + + qa/workunits/rbd: wait for image deleted before checking health + + When a primiry image is being deleted, the mirrored image might + temporary be reported in error state, before deletion is propagated. + + Signed-off-by: Mykola Golub + (cherry picked from commit 8dbe42d34520d0b44b189ae4d8b96559752a57da) + +commit 735e32bb53fd370058ed8dfb0e29e4a9cfc6e86f +Author: Mykola Golub +Date: Thu Jul 28 14:49:37 2016 +0300 + + qa/workunits/rbd: small fixup and improvements for rbd-mirror tests + + - log to stderr; + - log status if a `wait_for` function failed; + - don't needlessly sleep in `wait_for` functions after the last + unsuccessful iteration; + - make `wait_for_pool_images` work for image removal case; + - fix `wait_for_pool_images` reset timeout (last_count set). + + Signed-off-by: Mykola Golub + (cherry picked from commit fdb971a2660111d35f0a3077f17a9ca85ca2ef54) + +commit bf3400f7f1dbc14917f3392c8f9221b6b02df185 +Author: Wido den Hollander +Date: Mon Jan 23 08:18:27 2017 +0100 + + systemd: Restart Mon after 10s in case of failure + + In some situations the IP address the Monitor wants to bind to + might not be available yet. + + This might for example be a IPv6 Address which is still performing + DAD or waiting for a Router Advertisement to be send by the Router(s). + + Have systemd wait for 10s before starting the Mon and increase the amount + of times it does so to 5. + + This allows the system to bring up IP Addresses in the mean time while + systemd waits with restarting the Mon. + + Fixes: #18635 + + Signed-off-by: Wido den Hollander + (cherry picked from commit e73eb8cc1e0d45af1f0b7852c551f2ddfb82a520) + +commit 20a480defb607e6e5a72f2bcc3868fb14f9e56de +Merge: 6b4bcd3 bcd4698 +Author: Nathan Cutler +Date: Sun Jan 29 13:22:49 2017 +0100 + + Merge pull request #13043 from SUSE/wip-18570-jewel + + jewel: Python Swift client commands in Quick Developer Guide don't match configuration in vstart.sh + + Reviewed-by: Casey Bodley + Reviewed-by: Nathan Cutler + +commit 401271e353fcfd59bf0285c53643b667281954d0 +Author: Nathan Cutler +Date: Sun Jan 29 13:12:43 2017 +0100 + + build/ops: add libldap dependency for RGW + + This is a minimal manual backport of the relevant parts of + a4c7e13d17ceff3ee15fc311c2a344cd4573821d and + b3b3185008a0a2149dcba59813e0f0400d2e47de + + Fixes: http://tracker.ceph.com/issues/17313 + Signed-off-by: Nathan Cutler + +commit 73d2114ed60e8297d26b7f31f0500034b3d784e7 +Author: Orit Wasserman +Date: Sun Jan 1 12:56:44 2017 +0200 + + radosgw-admin: check for name mistmatch in realm set + + Signed-off-by: Orit Wasserman + (cherry picked from commit 4facc5f4f3e842d371115a9a04d86257280014f0) + +commit e4b6cf633a88dc7fcd48f9a4a54d10fea7bef7e2 +Author: Orit Wasserman +Date: Sun Jan 1 12:40:37 2017 +0200 + + radosgw-admin: relam set can use input redirection + + Signed-off-by: Orit Wasserman + (cherry picked from commit b8b3ae3be3f8e4c05cb23062d25c701b15900475) + + Conflicts: + src/rgw/rgw_admin.cc ("return EINVAL" in master, "return -EINVAL" in + jewel; but it's irrelevant because the whole block is deleted) + +commit 3cd42f4b75c9ea9d253c276e61789d5a2b2395b4 +Author: Orit Wasserman +Date: Sun Jan 1 12:36:04 2017 +0200 + + radosgw-admin: realm set should create a new realm + + Fixes: http://tracker.ceph.com/issues/18333 + Signed-off-by: Orit Wasserman + (cherry picked from commit e23339c9ef34f6b9df90b1ab64b550af9b541d9e) + +commit 33c6ef53413ef83f84be3bc3825125030aa2281b +Author: Casey Bodley +Date: Wed Jan 11 09:32:59 2017 -0500 + + rgw: fix off-by-one in RGWDataChangesLog::get_info + + Fixes: http://tracker.ceph.com/issues/18488 + + Signed-off-by: Casey Bodley + (cherry picked from commit a0974fdcf62e60cf31bc15588e7b718da6f6ade3) + +commit 8b124c84749e0fdd6663aa8302e0bd93a52626e7 +Author: Matt Benjamin +Date: Thu Jan 19 18:14:30 2017 -0500 + + rgw_file: add timed namespace invalidation + + With change, librgw/rgw_file consumers can provide an invalidation + callback, which is used by the library to invalidate directories + whose contents should be forgotten. + + The existing RGWLib GC mechanism is being used to drive this. New + configuration params have been added. The main configurable is + rgw_nfs_namespace_expire_secs, the expire timeout. + + Updated post Yehuda review. + + Fixes: http://tracker.ceph.com/issues/18651 + + Signed-off-by: Matt Benjamin + (cherry picked from commit deb2c1ea985fcb906e47b93fd3d0117794e2d0a1) + + Conflicts: + src/rgw/rgw_lib_frontend.h - in class RGWLibProcess : public RGWProcess + there was no public method stop() in jewel (now there is) + +commit 2cb0307e7522a8dac9e6a400d987e22b9c09b56a +Author: Abhishek Lekshmanan +Date: Fri Jan 13 16:32:55 2017 +0100 + + rgw_admin: read master log shards from master's current period + + Also make the sync output look similar to the output of data sync + Signed-off-by: Abhishek Lekshmanan + + (cherry picked from commit cc306c506ca6607223cb89cd388f8e18673c4fe2) + +commit b2fedddd3daf544d935ba4f80a5feef35400f2e3 +Author: Abhishek Lekshmanan +Date: Fri Jan 13 16:29:47 2017 +0100 + + rgw: allow getting master log shards info on specified period + + This is needed for rgw admin's sync status or else we end up always + publishing that we're behind since we are always checking against + master's first period to sync from + + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit 063c949d4409a18a22b64791d497e20f7473bc01) + +commit a0e08935b342ff3713ab9172a541e284fd1bb006 +Author: Abhishek Lekshmanan +Date: Thu Jan 12 22:09:01 2017 +0100 + + rgw_admin: get master's period from store's current period info + + This ensures that we get the current period in contrast to the admin log + which gets the master's earliest period. + + Fixes: http://tracker.ceph.com/issues/18064 + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit 4ca18df7198a9f0ded8b0100a70b5db7187c3de4) + +commit 0a4734261bd2f02f8b1acfae8ae65daf6b54d7d7 +Author: Orit Wasserman +Date: Mon Dec 12 14:00:05 2016 +0100 + + rgw: complete versioning enablement after sending it to meta master + + Fixes: http://tracker.ceph.com/issues/18003 + Signed-off-by: Orit Wasserman + (cherry picked from commit 2d8aafb9dbe64bd9dd2b7d5ed50c6e9550cbe1ab) + +commit 7e51bec0dd77bedc248a595e1ab63f87d7a30458 +Author: Orit Wasserman +Date: Sun Dec 25 12:36:34 2016 +0200 + + rgw: clear master_zonegroup when reseting RGWPeriodMap + + Fixes: http://tracker.ceph.com/issues/17239 + Signed-off-by: Orit Wasserman + (cherry picked from commit d8f42fe6be659c1d48bf04b30aa54ad616936145) + +commit 509de4d9a2d3ba95e9f9e0375bd13239280b0e66 +Author: Samuel Just +Date: Wed Jan 18 10:24:13 2017 -0800 + + PrimaryLogPG::try_lock_for_read: give up if missing + + The only users calc_*_subsets might try to read_lock an object which is + missing on the primary. Returning false in those cases is perfectly + reasonable and avoids the problem. + + Fixes: http://tracker.ceph.com/issues/18583 + Signed-off-by: Samuel Just + (cherry picked from commit 3833440adea6f8bcb0093603c3a9d16360ed57ec) + +commit cedaecf88efd3e4807e764d023bb956f806051da +Author: Samuel Just +Date: Wed Nov 23 15:41:13 2016 -0800 + + ReplicatedBackend: take read locks for clone sources during recovery + + Otherwise, we run the risk of a clone source which hasn't actually + come into existence yet being used if we grab a clone which *just* + got added the the ssc, but has not yet actually had time to be + created (can't rely on message ordering here since recovery messages + don't necessarily order with client IO!). + + Fixes: http://tracker.ceph.com/issues/17831 + Signed-off-by: Samuel Just + (cherry picked from commit 68defc2b0561414711d4dd0a76bc5d0f46f8a3f8) + + Conflicts: + src/osd/ReplicatedBackend.cc: + PGBackend::failed_push() takes a single pg_shard_t in jewel + src/osd/ReplicatedPG.h: + trivial: get_obc() is not declared as override in jewel, + no pgb_{set,clear}_object_snap_mapping() in jewel + +commit 6b4bcd388829d6c5b78a7acb6d75d6f905a60f53 +Merge: c9ece04 7b74238 +Author: vasukulkarni +Date: Sat Jan 28 17:58:45 2017 -0800 + + Merge pull request #13166 from smithfarm/wip-drop-ext4-test + + tests: Remove ext4 option from rados:thrash tests + +commit 016b059fcf2993f721e97212d50b5e6da8180a03 +Author: Radoslaw Zarzynski +Date: Sat Jan 28 14:17:10 2017 -0500 + + rgw: fix interface compliance of RGWCivetWeb::write_data() + + Backport of (portions of) civet web error handling bugfixes. + + Adapted from 3a9f50c55e0be6733893a7ae1a5b4f504a3b0f61. + + Signed-off-by: Matt Benjamin + +commit 15556389c3c3bf9d6855aaa4699545a787d9fe7a +Author: Mykola Golub +Date: Mon Jan 9 18:31:21 2017 +0100 + + librbd: metadata_set API operation should not change global config setting + + Fixes: http://tracker.ceph.com/issues/18465 + Signed-off-by: Mykola Golub + (cherry picked from commit 27465b5916b55ac3c2846c74b89f4362ad17ff1e) + + Conflicts: + src/librbd/Operations.cc (after jewel set_metadata migrated to Operations) + +commit 7b7423837ea4f400507cf775f609c676a4cf3c8e +Author: Nathan Cutler +Date: Sat Jan 28 12:11:08 2017 +0100 + + tests: Remove ext4 option from rados:thrash tests + + Signed-off-by: Vasu Kulkarni + (manual cherry-pick from ceph-qa-suite 1fcc4457144278f77dd8462ecf34948a11dcb2a9) + +commit c9ece0444611994ddc1292a83e6c091f7773212f +Merge: efcbcac 4e60be5 +Author: Yehuda Sadeh +Date: Fri Jan 27 12:57:32 2017 -0800 + + Merge pull request #13160 from ceph/revert-13068-jewel-rgw-multipart-upload-copy + + Revert "jewel: rgw: multipart upload copy" + + Reverting, will require further testing before merging. Some tests fail. + +commit 4e60be5867975b4ae5fe6f53aacd6abe128a18c3 +Author: Matt Benjamin +Date: Fri Jan 27 15:53:47 2017 -0500 + + Revert "jewel: rgw: multipart upload copy" + +commit efcbcac34e034cd3f3bc542fb71d527d64e66688 +Merge: a632cc4 514e2ba +Author: Matt Benjamin +Date: Fri Jan 27 13:04:46 2017 -0500 + + Merge pull request #13068 from linuxbox2/jewel-rgw-multipart-upload-copy + + DNM: jewel:rgw: multipart upload copy + +commit 99bafc1bab8eb8349e44b601f5971af97c131bd9 +Author: Nathan Cutler +Date: Fri Jan 27 18:41:25 2017 +0100 + + rbd: enabling/disabling rbd feature should report missing dependency + + Currently while enabling or disabling rbd feature command does not + give missing dependency for eg: attempting to enable the journaling + feature on an image that doesn't have the exclusive-lock feature + enabled should give missing dependency error message. + + Fixes: http://tracker.ceph.com/issues/16985 + + Reported-by: Jason Dillaman + Signed-off-by: Gaurav Kumar Garg + (manual cherry pick of bd023cfec8e9aaa8fb0095a8d9534c21b3209020) + +commit 16a2feca3523a4b0495769c2750dd1f5d70de25c +Author: Dongsheng Yang +Date: Thu Dec 22 21:00:41 2016 -0500 + + librbd: don't remove an image w/ incompatible features + + Fixes: http://tracker.ceph.com/issues/18315 + Signed-off-by: Dongsheng Yang + (cherry picked from commit f76127b5e617923d14adb62bfb836a635c14f209) + +commit dd1f4252ed3a89407063cd283eebdbdc7cf5653c +Author: Jason Dillaman +Date: Fri Jan 6 15:59:22 2017 -0500 + + rbd-mirror: avoid processing new events after stop requested + + Fixes: http://tracker.ceph.com/issues/18441 + Signed-off-by: Jason Dillaman + (cherry picked from commit d30873b269441815b5fc7de14c7d9a1077a17d8d) + +commit de1ebc36943208057e1aa427f9fda631d0bd717d +Author: Nathan Cutler +Date: Fri Jan 27 16:59:44 2017 +0100 + + tests: explicitly use centos 7.3 in distros/supported + + Signed-off-by: Nathan Cutler + +commit 0133d6316fc83373977c132cdbaa6f99d4f1140e +Author: Yuri Weinstein +Date: Tue Jan 3 15:59:18 2017 -0800 + + qa: fixed distros links + + Signed-off-by: Yuri Weinstein + (cherry picked from commit fbb560c90101937317380a6621a70564f10e0ae3) + +commit 1481c8fac899e395757ef81ae5b7baffe8e492ab +Author: Nathan Cutler +Date: Fri Jan 27 15:29:27 2017 +0100 + + tests: upgrade: install firefly only on Ubuntu 14.04 + + The upgrade:hammer-x/f-h-x-offline test installs firefly, but firefly does not + build on CentOS anymore, just Ubuntu 14.04. + + References: http://tracker.ceph.com/issues/18089 + Signed-off-by: Nathan Cutler + +commit 514e2ba64f2babdf6f58c57a7e8e1263abbf187c +Author: Yehuda Sadeh +Date: Thu Sep 29 17:44:08 2016 -0700 + + rgw: minor optimization + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4919dc9987c6376d3d4e143702c26417449524c5) + +commit 7f76bb1229f40c4b535d97f163f26ee642798e2b +Author: Yehuda Sadeh +Date: Thu Sep 29 17:43:00 2016 -0700 + + rgw: rgw_obj_key use adjustment in multipart copy part + + This fixes a case where objects start with double underscore. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 29fece3545cc1df404a25eec46706b16f893a5df) + +commit f99ead1570a23a9050e396383006deb2e7e1d9f8 +Author: Yehuda Sadeh +Date: Thu Sep 29 17:43:35 2016 -0700 + + rgw: multipart copy-part handle versionId + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 53521efffb1cb92e5f5ce992d4127bf9498d7c33) + +commit 679348947910a92bf9bb7920c071142536272b19 +Author: Yehuda Sadeh +Date: Thu Sep 29 14:24:13 2016 -0700 + + rgw: multipart copy part minor parsing cleanup + + no need for range.size() + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 6e9b824d5d4017239d58b4752ebc43bfad8f698d) + +commit 2ca1bcdacc37e74cb61c2ed9855150b4cc9537e9 +Author: Yehuda Sadeh +Date: Thu Sep 29 14:11:43 2016 -0700 + + rgw: multipart copy, check for empty bucket, improve logging + + also reduce log level for non critical user errors. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 2bcb3d286b230ef917d5ba96c8276a942f544689) + +commit e5ac1204c26a26b29b146d350ff5034bfd9fc798 +Author: Yehuda Sadeh +Date: Thu Sep 29 14:07:14 2016 -0700 + + rgw: multipart copy part, chunked read + + Don't read the entire range from source object, read it in parts. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4049e47a0cfc1eef6efd502590b68ba7234589d3) + +commit a54a7ada65fafc88251897b2739b364bf59be128 +Author: Javier M. Mellid +Date: Tue Jul 26 14:56:50 2016 +0200 + + rgw: doc: add multipart uploads copy part feature as supported + + Signed-off-by: Javier M. Mellid + (cherry picked from commit 8a7ebeee2ff3f10ceb23b7fa43e43c3c450efe22) + +commit 987b42561e4c98c54963055f357955d243881238 +Author: Javier M. Mellid +Date: Tue Jul 26 14:53:44 2016 +0200 + + rgw: multipart uploads copy part support + + Add multipart uploads copy part feature. + + Fixes: http://tracker.ceph.com/issues/12790 + + Signed-off-by: Javier M. Mellid + (cherry picked from commit 949480c2e9760855ed6a0501d364d5e766c8207d) + Signed-off-by: Matt Benjamin + +commit 21622c13468d85f017d139a376097267943ea328 +Author: John Spray +Date: Mon Nov 21 12:10:05 2016 +0000 + + src/mds: fix MDSMap upgrade decoding + + Hammer MDSMonitors did not validate the state in beacons + and would apply anything to the mds_info_t for a standby, + such as setting it to down:dne. We must handle this + case during upgrade. + + Fixes: http://tracker.ceph.com/issues/17837 + Signed-off-by: John Spray + (cherry picked from commit a977c9029ff80b4eb4f3b128965693694b729425) + +commit be8bc1195270b87bdc0840b36684863d990404df +Author: Patrick Donnelly +Date: Fri Jul 15 23:40:17 2016 -0400 + + mds: use FSMap::insert to add to standby_daemons + + This reduces the number of code sites which modify standby_daemons. + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 9566ae27b33dd4d266ee9223dc73738922b6eceb) + +commit 649b1d4253a1753c3f4d783a8e2d7b48f861db08 +Author: Gaurav Kumar Garg +Date: Tue Jan 10 15:25:13 2017 +0100 + + rbd: bench-write should return error if io-size >= 4G + + Currently if user perform bench-write with io-size > 4G + then its crashing because currently during memory allocation + bufferptr taking size of buffer as a unsigned and io-size > 4G + will overflow with unsigned. so during memset operation it will + try to set io_size size of memory area pointed by bufferptr, + (bufferptr area is: (4G - io_size)), so it will cause + segmentation fault. + + Fix is to return error if io-size >= 4G + + Fixes: http://tracker.ceph.com/issues/18422 + + Reported-by: Jason Dillaman + Signed-off-by: Gaurav Kumar Garg + (cherry picked from commit 6ab73e5f420e89e19b52e39dab28fa4c94e00197) + + Conflicts: + src/tools/rbd/action/BenchWrite.cc - jewel has rbd_bencher b(&image) + while in master this has become rbd_bencher b(&image, io_type, + io_size) + +commit c2f86a461ea556cc5f9d93a7143cd80fb3e7dc96 +Author: Jason Dillaman +Date: Fri Jan 20 14:26:43 2017 -0500 + + journal: don't hold future lock during assignment + + It's possible that the future raced with its owner and reaches + an empty reference count. This was resulting in the future being + destructed while its lock was still held. + + Fixes: http://tracker.ceph.com/issues/18618 + Signed-off-by: Jason Dillaman + (cherry picked from commit 0f21ceef8336e35ca16148a9d58f511037911418) + +commit 5eda4aac77200b858371ebab50d8779f70fe0dca +Author: John Spray +Date: Fri Nov 18 21:11:54 2016 +0000 + + mds: fix dropping events in standby replay + + Ensure that we never drop the last segment during + standby replay -- this avoids the case where we + start ignoring events because we think we're + still waiting to see a subtreemap. + + Fixes: http://tracker.ceph.com/issues/17954 + Signed-off-by: John Spray + (cherry picked from commit e3f2fa356f419cbac8d72bd068313f64769ef3af) + +commit df4558c9d5779ac8916811ea63d1106c2390638f +Author: Gui Hecheng +Date: Thu Nov 17 18:01:22 2016 +0800 + + cephfs: fix missing ll_get for ll_walk + + Fixs: http://tracker.ceph.com/issues/18086 + + Signed-off-by: Gui Hecheng + (cherry picked from commit ad846d10d5fbab2ded5fddc47475b95a788c223c) + + Conflicts: + src/client/Client.cc - jewel has fill_stat(in, attr) instead of + fill_statx(in, mask, stx) in master + +commit fef3de88d0381322d49ce7842f777454b0b40b63 +Author: John Spray +Date: Thu Dec 8 16:49:04 2016 +0000 + + mon/MDSMonitor: fix iterating over mutated map + + If a standby is promoted, this was modifying the + standby_daemons map that we were iterating over + in maybe_promote_standby. + + Fixes: http://tracker.ceph.com/issues/18166 + Signed-off-by: John Spray + (cherry picked from commit db3deb80d6e4a8e8ca7a2cf6278d5d5cb24eb616) + +commit 05916271c17050fd4c1ad2351b6da17d3b89fc15 +Author: Patrick Donnelly +Date: Thu Jul 7 19:09:56 2016 -0400 + + mon: use clearer code structure + + The failed map is not changed in the first if, so the second if should be an + else. + + Signed-off-by: Patrick Donnelly + (cherry picked from commit adba77e34c3fbf983d221729dd340afcc942778b) + +commit bc9b7792e4d44c199b526c2d5b17916d948b0354 +Author: Yan, Zheng +Date: Tue Jan 10 17:16:40 2017 +0800 + + client: fix Client::handle_cap_flushsnap_ack() crash + + Struct CapSnap holds a reference to its parent inode. So erasing + struct CapSnap from Inode::cap_snaps may drop inode's last reference. + The inode gets freed in the middle of erasing struct CapSnap + + Fixes: http://tracker.ceph.com/issues/18460 + Signed-off-by: Yan, Zheng + (cherry picked from commit 525c52fd491ed1ced385c8047872e3f557f8423f) + + Conflicts: + src/client/Client.cc (jewel does in->cap_snaps.erase(follows), master + does not; put it after the tmp_ref assignment) + +commit b14702209f5bad7d3aa65d3acba89b7757f725dd +Author: Yan, Zheng +Date: Wed Jan 11 15:50:52 2017 +0800 + + qa/tasks: add test_open_ino_errors + + Validate that errors encountered during opening inos are properly + propagated + + Signed-off-by: Yan, Zheng + (cherry picked from commit 6526ecc084733b34129aa1f21085fa41fb53b785) + +commit 3385419e8f41d0af986dc088e1c9ce83b569eb19 +Author: Yan, Zheng +Date: Tue Jan 3 11:11:12 2017 +0800 + + mds: propagate error encountered during opening inode by number + + Fixes: http://tracker.ceph.com/issues/18179 + Signed-off-by: Yan, Zheng + (cherry picked from commit 2213cc2dcc0e8fb01bcae3863d0d8a4a1fd8873f) + +commit 5c4fffa878c6ea881cc29b0ee4f99cde5e0e4ea8 +Author: Brad Hubbard +Date: Wed Dec 14 16:29:08 2016 +1000 + + librados: Memory leaks in object_list_begin and object_list_end + + We allocate a cursor in the constructor but simply reassign it in these + functions without cleaning up the original. We have a utility setter that + handles this exact case so we should use it. + + Fixes: http://tracker.ceph.com/issues/18252 + + Signed-off-by: Brad Hubbard + (cherry picked from commit 8d9d84bce923a009054ad2b223a97d7eb00e6774) + +commit 7bbb5a8918c7828d925f4796d2c25a583c8323e3 +Author: Sage Weil +Date: Wed Dec 7 09:50:26 2016 -0500 + + mon/OSDMonitor: only show interesting flags in health warning + + Also add PAUSEREC flag into the list. + + Fixes: http://tracker.ceph.com/issues/18175 + Signed-off-by: Sage Weil + (cherry picked from commit 26220f0608f5ed4a7d97fb8d10d0d12a0fcf5583) + +commit 336c3515043f89494e452266069f778d7d8fe821 +Author: Sage Weil +Date: Thu Dec 29 12:08:28 2016 -0500 + + mon/OSDMonitor: set last_force_op_resend on overlay pool too + + We currently set the last_force_op_resend field on the + base pool when we set or clear the overlay. Set it on + the cache/overlay pool too. The Objecter should resend + even with a change only to the base pool, but the OSD + needs to see the change on the overlay pool to correctly + discard the op. + + Fixes: http://tracker.ceph.com/issues/18366 + Signed-off-by: Sage Weil + (cherry picked from commit 08c3618771b852840aa88cff1ca98d980d802941) + +commit 874220371890a59b8459bb6306a5db047e32563e +Author: Yan, Zheng +Date: Tue Jan 10 11:16:47 2017 +0800 + + mds: finish clientreplay requests before requesting active state + + All clientreplay requests' finish contexts should be executed + before MDCache::export_remaining_imported_caps(). Otherwise + MDCache::try_reconnect_cap() may fail to reconnect client caps. + + Fixes: http://tracker.ceph.com/issues/18461 + Signed-off-by: Yan, Zheng + (cherry picked from commit 80dae314ee90e79d60e2cfee301e43a435c10801) + +commit b3599351225bd8f6299121e84b62a582f698199b +Author: Nathan Cutler +Date: Sat Jan 7 13:48:51 2017 +0100 + + tests: subst repo and branch in qemu test urls + + References: http://tracker.ceph.com/issues/18440 + Signed-off-by: Nathan Cutler + (cherry picked from commit 2484a5546160560a4050d35400a6edce37ae48ad) + + Conflicts: + qa/suites/rbd/qemu/workloads/#qemu_xfstests.yaml# + (file does not exist in jewel) + +commit f66bd81d7082af3c1e28cfee19e46906a35835ee +Author: Nathan Cutler +Date: Sat Jan 7 13:45:10 2017 +0100 + + tests: subst branch and repo in qa/tasks/qemu.py + + References: http://tracker.ceph.com/issues/18440 + Signed-off-by: Nathan Cutler + (cherry picked from commit 74689df754561e11a3377998840efcea9e780755) + +commit 69a0efa7a689b5ec80d44119858cdcf86ca85588 +Author: Nathan Cutler +Date: Fri Jan 6 21:09:23 2017 +0100 + + tests: subst repo name in krbd/unmap/tasks/unmap.yaml + + Signed-off-by: Nathan Cutler + (cherry picked from commit ed0e8be0b2c4d7a3e6e0716a0211d19e8b93f125) + +commit 2931aefc952ca0592eca26606864cbfa724b4c07 +Author: Nathan Cutler +Date: Fri Jan 6 21:06:11 2017 +0100 + + tests: subst repo name in qa/tasks/cram.py + + Inspired by bcbe45d948f1c4da02e27b3be5f29a8b52745e28 + + Fixes: http://tracker.ceph.com/issues/18440 + Signed-off-by: Nathan Cutler + (cherry picked from commit 56e37e41f4dddd289dd3c1886b192cd328ed311b) + +commit 205403b02156e4ed6b2b53a2b21189b5122162f8 +Author: Venky Shankar +Date: Fri Dec 9 15:11:49 2016 +0530 + + cram: support fetching from sha1 branch, tag, commit hash + + Signed-off-by: Venky Shankar + (cherry picked from commit d2f0d745987a2e2eee4e1822146aad8da5d42708) + + Conflicts: + suites/rbd/singleton/all/formatted-output.yaml (has been moved + under qa/) + +commit a632cc41755be4393a12dd768726ade86a49bbc9 +Merge: e55b84e ea65450 +Author: Jason Dillaman +Date: Wed Jan 25 10:40:25 2017 -0500 + + Merge pull request #13103 from dillaman/wip-18672 + + jewel: qa/workunits/rbd: use more recent qemu-iotests that support Xenial + + Reviewed-by: Jason Dillaman + +commit ea65450c49083f186781a3cbffe6cd24ed3c7a00 +Author: Jason Dillaman +Date: Mon Dec 5 13:46:02 2016 -0500 + + qa/workunits/rbd: use more recent qemu-iotests that support Xenial + + Fixes: http://tracker.ceph.com/issues/18149 + Signed-off-by: Jason Dillaman + (cherry picked from commit 4314cb945a9c2296e2f7cd357b09015777f233c0) + +commit f449e3d1745ffd09e32058ea66342b486090d394 +Author: Jason Dillaman +Date: Wed Dec 7 09:59:39 2016 -0500 + + qa/workunits/rbd: removed qemu-iotest case 077 + + The test case is not stable due to racing console output. This + results in spurious failures. + + Fixes: http://tracker.ceph.com/issues/10773 + Signed-off-by: Jason Dillaman + (cherry picked from commit 2c70df978d605a45ff81971b86f5afbefbdaabb6) + +commit 61e1b0caddfbc3721cd9fa2de5b90b2f65740f79 +Author: Ilya Dryomov +Date: Wed Aug 31 19:30:19 2016 +0200 + + tasks/rbd_fio: unmap rbd devices on cleanup + + Not doing so leads to issues and can interfere with subsequent jobs. + One example is the invocation of vgs(8) during the inital test setup: + it will issue a read to the left-behind rbd device(s) whose backing + cluster is long gone, locking up the job. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit 15be2d29be3e42644b0c541f5c70461f1874f24f) + +commit 5fcfa32f21709054f054bcda719df090777f52d5 +Author: Ilya Dryomov +Date: Wed Aug 31 19:05:25 2016 +0200 + + tasks/rbd_fio: don't use sudo unnecessarily + + Creating and cloning images doesn't require sudo. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit ec97445740bbf7848488fbb6213e74d50a355547) + +commit e55b84e4cdb13839d8466cf162adb001d4134687 +Merge: ce3e387 ea9665b +Author: John Spray +Date: Wed Jan 25 14:57:17 2017 +0100 + + Merge pull request #12137 from jcsp/wip-17974 + + jewel: client: fix stale entries in command table + +commit ce3e387766f2d6839798dfac96eacbf6334e4674 +Merge: 9dd1251 d0b0d41 +Author: John Spray +Date: Wed Jan 25 14:56:24 2017 +0100 + + Merge pull request #12686 from SUSE/wip-18272-jewel + + jewel: tests: Workunits needlessly wget from git.ceph.com + +commit 9dd1251efdcd20ec9ce3467118b16b4d10a5360e +Merge: a9c1fe0 85fbddd +Author: John Spray +Date: Wed Jan 25 14:56:03 2017 +0100 + + Merge pull request #12836 from SUSE/wip-18462-jewel + + jewel: Decode errors on backtrace will crash MDS + +commit a9c1fe0f693020d5e01aad5f7c2264939591cbf4 +Merge: 0bcd904 bf873a7 +Author: John Spray +Date: Wed Jan 25 14:55:46 2017 +0100 + + Merge pull request #13023 from SUSE/wip-18603-jewel + + jewel: cephfs test failures (ceph.com/qa is broken, should be download.ceph.com/qa) + +commit 0bcd9049b469d4afcc547169ee1f9585557d3e0d +Merge: 966bdbd 05e5a5a +Author: John Spray +Date: Wed Jan 25 14:55:28 2017 +0100 + + Merge pull request #12155 from dachary/wip-17956-jewel + + jewel: Clients without pool-changing caps shouldn't be allowed to change pool_namespace + +commit 966bdbd7a1ef7fbe1023b6e7bde0f78c2eb4ab7a +Merge: d276861 e725605 +Author: John Spray +Date: Wed Jan 25 14:55:11 2017 +0100 + + Merge pull request #12325 from dachary/wip-18026-jewel + + jewel: ceph_volume_client.py : Error: Can't handle arrays of non-strings + +commit d276861915979e6a82662e7b4eba0b399c6ddca8 +Merge: dd703bc 50a3fa1 +Author: John Spray +Date: Wed Jan 25 14:54:51 2017 +0100 + + Merge pull request #13060 from asheplyakov/jewel-bp-18615 + + jewel: mds: fix null pointer dereference in Locker::handle_client_caps + +commit dd703bc028eeb9c58dc1ef39ae506c73642ea948 +Merge: 347f71d 36186d0 +Author: John Spray +Date: Wed Jan 25 14:54:35 2017 +0100 + + Merge pull request #11656 from ajarr/wip-17705-jewel + + jewel: ceph_volume_client: fix recovery from partial auth update + +commit 347f71dc21c51d61ea42269236568756c7d0742a +Merge: e90396f 6efad69 +Author: John Spray +Date: Wed Jan 25 14:54:06 2017 +0100 + + Merge pull request #12154 from dachary/wip-18008-jewel + + jewel: Cannot create deep directories when caps contain path=/somepath + +commit e90396f16c495df0ac74acff841703b919e596b9 +Merge: 72b24f0 89dcd8b +Author: John Spray +Date: Wed Jan 25 14:53:45 2017 +0100 + + Merge pull request #13085 from jcsp/wip-18361-jewel + + jewel: client: populate metadata during mount + +commit 85fbddd4f68ab159425c9198740c0d5787adc739 +Author: Nathan Cutler +Date: Tue Jan 24 15:49:24 2017 +0100 + + qa/tasks/cephfs/filesystem.py: backport _write_data_xattr() function + + This is a partial manual backport of 5f77f09b019b607b84e6a8f89ce19065383ca108 + + It is needed by test_corrupt_backtrace() in qa/tasks/cephfs/test_damage.py + + Signed-off-by: Nathan Cutler + +commit 89dcd8b6287da7d97af0e7cad45ee023a5a39811 +Author: John Spray +Date: Fri Jan 13 00:30:28 2017 +0000 + + client: populate metadata during mount + + This way we avoid having to over-write the "root" + metadata during mount, and any user-set overrides (such + as bad values injected by tests) will survive. + + Because Client instances may also open sessions without + mounting to send commands, add a call into populate_metadata + from mds_command as well. + + Fixes: http://tracker.ceph.com/issues/18361 + Signed-off-by: John Spray + (cherry picked from commit 1dbff09ad553f9ff07f4f4217ba7ece6c2cdc5d2) + +commit ff9168803ebb2e3e0c4b42268765cd4b53e50d68 +Author: Sage Weil +Date: Thu Dec 22 17:18:08 2016 -0500 + + msg/simple: clear_pipe when wait() is mopping up pipes + + When wait is mopping up connections it may hit one that + is in the process of accepting. It will unregister it + whilst the accept() thread is trying to set it up, + aborting the accept and getting it reaped. However, + the pipe mop-up does not clear_pipe() the way that + mark_down(), mark_down_all(), and fault() do, which + leads to this assert. + + Pipe is accepting... + + -161> 2016-12-22 17:31:45.460613 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=0 pgs=0 cs=0 l=1 c=0x3e2a6f40).accept: setting up session_security. + -160> 2016-12-22 17:31:45.460733 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=0 pgs=0 cs=0 l=1 c=0x3e2a6f40).accept new session + -159> 2016-12-22 17:31:45.460846 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=2 pgs=7 cs=1 l=1 c=0x3e2a6f40).accept success, connect_seq = 1, sending READY + -158> 2016-12-22 17:31:45.460959 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=2 pgs=7 cs=1 l=1 c=0x3e2a6f40).accept features 1152921504336314367 + + wait() is shutting down... + + -156> 2016-12-22 17:31:45.461882 9506ac0 20 -- 172.21.15.14:6804/20738 wait: stopping accepter thread + -155> 2016-12-22 17:31:45.462994 9506ac0 10 accepter.stop accept listening on: 15 + ... + -116> 2016-12-22 17:31:45.482137 9506ac0 10 -- 172.21.15.14:6804/20738 wait: closing pipes + -115> 2016-12-22 17:31:45.482850 9506ac0 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=2 pgs=7 cs=1 l=1 c=0x3e2a6f40).unregister_pipe + -114> 2016-12-22 17:31:45.483421 9506ac0 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=2 pgs=7 cs=1 l=1 c=0x3e2a6f40).stop + + ...which interrupts the accept()... + + -113> 2016-12-22 17:31:45.484164 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=4 pgs=7 cs=1 l=1 c=0x3e2a6f40).accept fault after register + + and makes accept() return failure, and reader() to exit + and reap... + + -110> 2016-12-22 17:31:45.486103 9506ac0 10 -- 172.21.15.14:6804/20738 wait: waiting for pipes 0x3e2a5c20 to close + -109> 2016-12-22 17:31:45.487146 37353700 10 -- 172.21.15.14:6804/20738 queue_reap 0x3e2a5c20 + -108> 2016-12-22 17:31:45.487658 9506ac0 10 -- 172.21.15.14:6804/20738 reaper + -107> 2016-12-22 17:31:45.487722 9506ac0 10 -- 172.21.15.14:6804/20738 reaper reaping pipe 0x3e2a5c20 172.21.15.35:0/146098963 + -106> 2016-12-22 17:31:45.487816 9506ac0 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=4 pgs=7 cs=1 l=1 c=0x3e2a6f40).discard_queue + -105> 2016-12-22 17:31:45.494742 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=4 pgs=7 cs=1 l=1 c=0x3e2a6f40).reader done + ... + -92> 2016-12-22 17:31:45.527589 9506ac0 -1 /mnt/jenkins/workspace/ceph-dev-new-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos7/DIST/centos7/MACHINE_SIZE/huge/release/11.1.0-6151-ge1781dd/rpm/el7/BUILD/ceph-11.1.0-6151-ge1781dd/src/msg/simple/SimpleMessenger.cc: In function 'void SimpleMessenger::reaper()' thread 9506ac0 time 2016-12-22 17:31:45.488264 + /mnt/jenkins/workspace/ceph-dev-new-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos7/DIST/centos7/MACHINE_SIZE/huge/release/11.1.0-6151-ge1781dd/rpm/el7/BUILD/ceph-11.1.0-6151-ge1781dd/src/msg/simple/SimpleMessenger.cc: 235: FAILED assert(!cleared) + + Fixes: http://tracker.ceph.com/issues/15784 + Signed-off-by: Sage Weil + (cherry picked from commit 948f97b3bdd39269a38277238a61f24e5fec6196) + +commit 50a3fa1ba1ab94ab736abf73830762afc0d05352 +Author: Yan, Zheng +Date: Fri Jan 6 15:42:52 2017 +0800 + + mds: fix null pointer dereference in Locker::handle_client_caps + + Locker::handle_client_caps delays processing cap message if the + corresponding inode is freezing or frozen. When the message gets + processed, client can have already closed the session. + + Fixes: http://tracker.ceph.com/issues/18306 + Signed-off-by: Yan, Zheng + (cherry picked from commit e281a0b9c1fdeaf09f1b01f34cecd62e4f49d02e) + +commit 20e75023d6c9498ac19d3ee55e556063e94ea6e6 +Author: Wido den Hollander +Date: Mon Jan 23 08:18:27 2017 +0100 + + systemd: Restart Mon after 10s in case of failure + + In some situations the IP address the Monitor wants to bind to + might not be available yet. + + This might for example be a IPv6 Address which is still performing + DAD or waiting for a Router Advertisement to be send by the Router(s). + + Have systemd wait for 10s before starting the Mon and increase the amount + of times it does so to 5. + + This allows the system to bring up IP Addresses in the mean time while + systemd waits with restarting the Mon. + + Fixes: #18635 + + Signed-off-by: Wido den Hollander + (cherry picked from commit e73eb8cc1e0d45af1f0b7852c551f2ddfb82a520) + +commit aa0e45040f8b02c38a97670c41b8993742171cfb +Author: Sage Weil +Date: Thu Dec 22 17:19:42 2016 -0500 + + qa/distros: centos_7.yaml -> centos.yaml + + Signed-off-by: Sage Weil + (cherry picked from commit 004ef2c648c0c70a2efcd9b5f211369a2eb14f1d) + +commit b0c1e8863d84cbd04c74c54e6141a6a8355a3dee +Author: Sage Weil +Date: Thu Dec 22 15:41:25 2016 -0500 + + qa/suites: centos_7.2.yaml -> centos_7.yaml + + Signed-off-by: Sage Weil + (cherry picked from commit e9f119bda70554b79ca7f344571902c936c92f49) + + Conflicts: + qa/suites/upgrade/jewel-x/point-to-point-x/distros (this directory used + to be a symlink to distros/supported) + +commit 8a98f06f25951a0113f2044ce2c062500eaea2e5 +Author: Sage Weil +Date: Thu Dec 22 15:39:41 2016 -0500 + + qa/distros: add centos 7.3 + + Signed-off-by: Sage Weil + (cherry picked from commit c168ce92aa1c1d834adecfe8fe32fe442ea7d21c) + +commit a45ad83c8f057da7054892d8ebc9767fc9238611 +Author: Sage Weil +Date: Thu Dec 22 15:39:35 2016 -0500 + + qa/distros: add centos 7 yaml; use that instead + + No need to be picky about the point release here. + + Signed-off-by: Sage Weil + (cherry picked from commit 6e7db2329b917cf179390bd87937098f153aa513) + +commit 23680e080758be00a950e15594235b88b1e55b01 +Author: Loic Dachary +Date: Thu Oct 6 19:39:20 2016 +0200 + + doc: document hostname constraints for rados bench + + Fixes: http://tracker.ceph.com/issues/17526 + + Signed-off-by: Loic Dachary + (cherry picked from commit 1d7e8188b9067f4f51958a13a23da1e105d89c63) + +commit 67e7a904373ee0863ca21eaa7da6edd559bb463d +Author: Boris Ranto +Date: Thu Sep 29 12:08:39 2016 +0200 + + selinux: Allow ceph to manage tmp files + + Two new denials showed up in testing that relate to ceph trying to + manage (rename and unlink) tmp files. This commit allows ceph to manage + the files. + + Fixes: http://tracker.ceph.com/issues/17436 + + Signed-off-by: Boris Ranto + (cherry picked from commit f8a0e201ee54759695ef44f7ed98b3b9705fafe3) + +commit 35e10a010f58fe50d9f236ae57db46e96b0ffed3 +Author: Mingxin Liu +Date: Mon Jan 2 13:20:10 2017 +0800 + + mon: do not send duplicated osdmap msg to not sync'ed osd + + prior to this change: + a peon may forward the pgstats to leader, and record it locally, but leader will + check if osd has the latest map before process, if not, will use a route op to + indicate peon to send it, then poen will delete routed op when fininaly send + out which make peon cannot send pgstatack when leader has processed the + pgstat update. so osd will always track it util reach a threshold block pgstats + sending, at worst, reopen mon session. + also, both leader and peon will send out the osdmap message to the osd. + + after this change: + only the peon will send out the osdmap message. and the pgstatack message + will be routed to the osd as expected. so the osd will not keep track of the + "acked" pg stats in its queue forever before times out. + + Fixes: http://tracker.ceph.com/issues/18458 + Signed-off-by: Mingxin Liu + (cherry picked from commit 57274488c072ec6912b700288ce5b1ea8372d162) + +commit bcd4698115011810e7a8370ef04a5c3f0b9a3fb0 +Author: Ronak Jain +Date: Fri Jan 13 16:57:45 2017 +0530 + + Doc: Fixes Python Swift client commands + + Fixes: http://tracker.ceph.com/issues/17746 + Signed-off-by: Ronak Jain + (cherry picked from commit 8c79959557d60f619adf1a3ed1b5bd1112ceaabb) + +commit c2bbf7ff4f929a63e0c7d6f70bb66e906a6c6cab +Author: Nathan Cutler +Date: Sat Jan 21 14:24:25 2017 +0100 + + tests: run fs/thrash on xfs instead of btrfs + + Signed-off-by: Nathan Cutler + +commit 7a341a8886c93a8c4f266f8035784dd2e9528e3f +Author: Michal Jarzabek +Date: Thu Jan 12 21:22:20 2017 +0000 + + client/Client.cc: prevent segfaulting + + The segfaulting in the rmdir function is caused by calling + filepath::last_dentry() function. + last_dentry() function assumes that the bits vector has always at + least one element, which is not the case for the the filepath object + created with "/" input. + This commit also fixes other functions affected by this bug: + link, unlink, rename, mkdir, mknod and symlink. + + Fixes: http://tracker.ceph.com/issues/9935 + Signed-off-by: Michal Jarzabek + (cherry picked from commit 6ed7f2364ae5507bab14c60b582929aa7b0ba400) + + Conflicts: + src/client/Client.cc (Client.cc - path_walk(), may_create(), and + _link() take fewer parameters in jewel) + src/test/libcephfs/test.cc (preceding tests are missing in jewel) + +commit 173ea7f9856e37ee4febc5d1c13709bb81a4f37b +Author: Samuel Matzek +Date: Mon Jan 16 11:11:31 2017 -0600 + + Ceph-disk to use correct user in check_journal_req + + The ceph-disk tool calls ceph-osd to check the journal requirements + using OSD id 0. This creates a log file for osd-0 on the system + using the current user/group for file permissions. When ceph-disk + is run as root this makes the file owned by root which makes + the osd daemon for osd.0 unable to write to its own log file. + + This commit changes the journal reqs calls of ceph-osd to pass + the ceph user and group so ceph-osd creates the log file with the + appropriate permissions. + + Fixes: http://tracker.ceph.com/issues/18538 + + Signed-off-by: Samuel Matzek + (cherry picked from commit bcf7514bf53693ec61e482341787c80494589faf) + +commit bf873a73cc3ee7e0fa5d7a1d2280fc3e3dd26ab0 +Author: John Spray +Date: Tue Jan 17 17:12:46 2017 +0100 + + qa: update remaining ceph.com to download.ceph.com + + Fixes: http://tracker.ceph.com/issues/18574 + Signed-off-by: John Spray + (cherry picked from commit 549d993d3fd8ffffa280ed4a64aca41d1c6f2da1) + + Conflicts: + qa/tasks/cram.py (trivial resolution) + +commit 72b24f0f47bebaed793d7b75ce0eacc3c1533ab5 +Merge: 174ed80 95edad2 +Author: Nathan Cutler +Date: Fri Jan 20 15:50:16 2017 +0100 + + Merge pull request #12766 from jtlayton/wip-18408-jewel + + client: Fix lookup of "/.." in jewel + + Reviewed-by: Yan, Zheng + Reviewed-by: Gregory Farnum + +commit 174ed80fb77b172b6a7d3edb7c97cb49afe98ae8 +Merge: 01ff675 bee7e3a +Author: Loic Dachary +Date: Fri Jan 20 12:31:26 2017 +0100 + + Merge pull request #12147 from dachary/wip-18007-jewel + + jewel: ceph-disk: ceph-disk@.service races with ceph-osd@.service + + Reviewed-by: Nathan Cutler + +commit e8f55f65cc908cb43fe44c271866ed7672773f1f +Author: Casey Bodley +Date: Thu Jan 5 16:06:45 2017 -0500 + + rgw: RGWAsyncRadosRequest drops notifier ref on cancel + + Signed-off-by: Casey Bodley + (cherry picked from commit 1d586f76a11fed937fc7bb0f7cf6a44ca0506881) + +commit 3f509aac28fc81c464d3fc2a0b4c011260533e93 +Author: Casey Bodley +Date: Mon Nov 7 10:58:50 2016 -0500 + + rgw: remove circular reference in RGWAsyncRadosRequest + + RGWAsyncRadosRequest does not need a reference to its calling coroutine, + it only needs the completion notifier. this eliminates a circular + reference between RGWAsyncRadosRequest and the coroutines that create + them + + Fixes: http://tracker.ceph.com/issues/17792 + Fixes: http://tracker.ceph.com/issues/17793 + + Signed-off-by: Casey Bodley + (cherry picked from commit 7f670c0ea5de7c6969e1d332824d80c55c8d6af0) + +commit 0ef1bdf973ae94e982c1e678862645f87ea85bdd +Author: Casey Bodley +Date: Wed Jan 4 11:36:00 2017 -0500 + + rgw: release RGWAioCompletionNotifier refs on destruction + + Fixes: http://tracker.ceph.com/issues/18407 + Fixes: http://tracker.ceph.com/issues/18414 + + Signed-off-by: Casey Bodley + (cherry picked from commit 7a4975adba8b890e211d47662896e445a9822970) + +commit c21622d31d830d59278808805238e11888d39350 +Author: Matt Benjamin +Date: Fri Jan 6 12:30:42 2017 -0500 + + rgw_rados: add guard assert in add_io() + + Use the iterator-returning insert operation in std::map, check + assert the insert case. As a side effect, this makes use of the + inserted object record more clear. + + Signed-off-by: Matt Benjamin + (cherry picked from commit d10c37adf925d8b34daa81b419463ea376ec27aa) + +commit 585eb484956c1666bfb870e67a9c506a8154294e +Author: Matt Benjamin +Date: Fri Jan 6 15:16:32 2017 -0500 + + rgw_rados: sanitize dout print in GWRados::get_obj_iterate_cb(...) + + We cannot assume pbl may be deferenced. Per review, move the dout + print into the r < 0 condition--since it's now an error, make it's + trace level 0. + + Signed-off-by: Matt Benjamin + (cherry picked from commit c0233c4abb9f99304e3d82272bbb4385086bbfc0) + +commit 01ff6751e1705094fe1c8057685fa7216bd56118 +Merge: 25a9e5f e2eaae4 +Author: vasukulkarni +Date: Wed Jan 18 12:43:34 2017 -0800 + + Merge pull request #12983 from ceph/wip-cherry-pick-4vasu + + qa: Wip cherry pick https://github.com/ceph/ceph/pull/12969 + +commit e2eaae4b4260df473cb5b7d9a467d5e4ca82d417 +Author: Vasu Kulkarni +Date: Mon Jan 9 16:45:01 2017 -0800 + + Add ceph-create-keys to explicitly create admin/bootstrap keys + + Signed-off-by: Vasu Kulkarni + (cherry picked from commit 68f9b7eb3c0548c88650f67fb72c6ff9bc0f3ead) + +commit 2adc0ee858062a646380c8f594fa6a6207da29a3 +Author: Vasu Kulkarni +Date: Mon Jan 9 17:59:20 2017 -0800 + + Remove debug overrides + + the high level of debug for mon/osd is causing remoto to hang during get key + + Signed-off-by: Vasu Kulkarni + (cherry picked from commit f7dcc74cd3f119a2f65584fdb544c08d115f8c39) + +commit 8f36e23b49191f5a37184f9ee9b670025eecc4eb +Author: Vasu Kulkarni +Date: Tue Jan 10 15:43:12 2017 -0800 + + use the create option during instantiation + + Signed-off-by: Vasu Kulkarni + (cherry picked from commit be836bb30960000468c79e08fb416ceefd79d7db) + +commit 25a9e5f526d2758543357d7072dbdc2ec9031e5f +Merge: 601fb96 0ab5b7a +Author: Loic Dachary +Date: Wed Jan 18 17:12:54 2017 +0100 + + Merge pull request #12210 from ddiss/tracker18049_ceph_disk_trigger_flock_timeout_jewel + + jewel: systemd/ceph-disk: reduce ceph-disk flock contention + + Reviewed-by: Nathan Cutler + +commit 601fb96599ebcb07017951542ddc58b2ab2abfd4 +Merge: de70003 1ea9de2 +Author: Jason Dillaman +Date: Tue Jan 17 08:41:25 2017 -0500 + + Merge pull request #12959 from SUSE/wip-18545-jewel + + jewel: [teuthology] update Ubuntu image url after ceph.com refactor + + Reviewed-by: Jason Dillaman + +commit 1ea9de2c14ebf6a4683cb0b796e92f86a58f3d59 +Author: Jason Dillaman +Date: Mon Jan 16 22:12:51 2017 -0500 + + qa/tasks/qemu: update default image url after ceph.com redesign + + Fixes: http://tracker.ceph.com/issues/18542 + Signed-off-by: Jason Dillaman + (cherry picked from commit 6d17befb3bbc3d83c9d23d763ad95e1e7b2e4be0) + +commit 36186d03ebd5c6eb14a720a0fca3a5bbeb49c0a9 +Author: Ramana Raja +Date: Tue Oct 11 14:18:29 2016 +0530 + + test_volume_client: remove superfluous arguments + + Signed-off-by: Ramana Raja + (cherry picked from commit bb60e01904187db417e8c7d6e57401823a0072fd) + +commit 75496812dc3d35a1737bc091b588ea7ad533ca54 +Author: Ramana Raja +Date: Tue Oct 11 13:40:43 2016 +0530 + + test_volume_client: check volume size + + Check that the total size shown by the df output of a mounted volume + is same as the volume size and the quota set on the volume. + + Signed-off-by: Ramana Raja + (cherry picked from commit 91c74f4778ce5433968226345ffe26e876eb56a7) + +commit 3e3ffcf7362a9a6c8fc8eebcc527e92330cf5a5e +Author: Ramana Raja +Date: Tue Sep 6 17:31:04 2016 +0530 + + tasks/cephfs: test recovery of partial auth update + + ... in ceph_volume_client. + + Signed-off-by: Ramana Raja + (cherry picked from commit f0134a3db576282ed05d4b94b969b9593297669d) + +commit 3320ef1944a10cc5835510ee752750237cbefc7a +Author: Ramana Raja +Date: Tue Oct 4 13:55:46 2016 +0530 + + ceph_volume_client: fix partial auth recovery + + ... for volumes whose group_id is None. + + Signed-off-by: Ramana Raja + (cherry picked from commit 0ab8badcf3ffe685135af17dc28b238f6e686922) + +commit 5115c217bb9070aa9d0f0ea15a84cfb7862345b3 +Author: Ramana Raja +Date: Wed Sep 28 14:06:54 2016 +0530 + + ceph_volume_client: check if volume metadata is empty + + ... when recovering from partial auth updates. + + Auth update happens in the following order: + auth metadata update, volume metadata update, and then Ceph auth + update. + + A partial auth update can happen such that auth metadata is updated, + but the volume metadata isn't updated and is empty, and the auth + update did not propogate to Ceph. When recovering from such a + scenario, check if volume metadata is empty and if so remove the + partial auth update info in auth metadata. + + Signed-off-by: Ramana Raja + (cherry picked from commit a95de7882cdf70e04e3c918ff41fc690d0d9bda3) + +commit bf33cd52a395b99453f72af016ea8f559ad3a13a +Author: Ramana Raja +Date: Tue Oct 4 16:50:13 2016 +0530 + + ceph_volume_client: fix _recover_auth_meta() method + + It needs to be an instance method. + + Fixes: http://tracker.ceph.com/issues/17216 + Signed-off-by: Ramana Raja + (cherry picked from commit 675cb91b68c1b54698708d604253ab9d1b2abdec) + +commit 84044262635cd8674dbda79b9b6a7ab29cb554c8 +Author: Xiaoxi Chen +Date: Tue Jan 10 19:11:08 2017 -0700 + + mds/server: skip unwanted dn in handle_client_readdir + + We can skip unwanted dn which < (offset_key, snap) via map.lower_bound, rather than + iterate across them. + + Previously we iterate and skip dn which < (offset_key, dn->last), as dn->last >= snap + means (offset_key, dn->last) >= (offset_key, snap), and such iterate_and_skip logic + still keep, so this commit doesnt change code logic but an optimization. + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit 52fe52baf920c672ac7f63a3087dcd31137891b6) + +commit de70003fda092d3fdf86b3323ab5a42038139c11 +Merge: 15c081c 06e40eb +Author: Loic Dachary +Date: Fri Jan 13 11:10:39 2017 +0100 + + Merge pull request #12745 from SUSE/wip-18386-jewel + + jewel: tests: use ceph-jewel branch for s3tests + + Reviewed-by: Loic Dachary + +commit a0ee8b930a41b56cd964b232e7230859d8d3b4aa +Author: Pan Liu +Date: Sun Jan 1 17:32:39 2017 +0800 + + jewel: fix compile error for dencode test case when --with-radosgw=no + + If cannot disable radosgw, the user has to always compile radosgw part, + even only want to use block device or file storage. Cherry-pick cannot + be done because ceph master doesn't have Makefile.am any more. + + Fixes: http://tracker.ceph.com/issues/18512 + Signed-off-by: Pan Liu + +commit 5e6c72946374895dca65f25d590615428ab3d8ef +Author: Pan Liu +Date: Sun Jan 1 17:19:35 2017 +0800 + + jewel: fixed compile error when --with-radosgw=no + + If cannot disable radosgw, the user has to always compile radosgw part, + even only want to use block device or file storage. Cherry-pick cannot + be done because ceph master doesn't have Makefile.am any more. + + Fixes: http://tracker.ceph.com/issues/18512 + Signed-off-by: Pan Liu + +commit cdd6cbfdfe5a77008ba298667bb7add8c236027a +Author: Jason Dillaman +Date: Fri Dec 9 09:39:39 2016 -0500 + + librbd: block concurrent in-flight object map updates for the same object + + Signed-off-by: Jason Dillaman + (cherry picked from commit 7d743bfce61c6ede0a34fc0982e52be1d367d772) + +commit 15c081c6433e9ee4b6dd7c145e8e6aaddf334e69 +Merge: 988cd95 04cee05 +Author: Josh Durgin +Date: Thu Jan 12 13:58:42 2017 -0800 + + Merge pull request #12912 from liewegas/wip-workunits-jewel + + qa/tasks/workunits: backport misc fixes to jewel + + Reviewed-by: Josh Durgin + +commit 04cee0521681a49eca733d196011be3213c34682 +Author: Sage Weil +Date: Thu Dec 22 13:05:22 2016 -0500 + + qa/tasks/workunit: clear clone dir before retrying checkout + + If we checkout ceph-ci.git, and don't find a branch, + we'll try again from ceph.git. But the checkout will + already exist and the clone will fail, so we'll still + fail to find the branch. + + The same can happen if a previous workunit task already + checked out the repo. + + Fix by removing the repo before checkout (the first and + second times). Note that this may break if there are + multiple workunit tasks running in parallel on the same + role. That is already racy, so if it's happening, we'll + want to switch to using a truly unique clonedir for each + instantiation. + + Fixes: http://tracker.ceph.com/issues/18336 + Signed-off-by: Sage Weil + (cherry picked from commit 2a7013cd5a033c5be43350505d75f088e831e201) + +commit 1a98850578577dfe8a20df84be5e1638dc682e8b +Author: Sage Weil +Date: Fri Dec 16 15:06:16 2016 -0500 + + qa/tasks/workunit: retry on ceph.git if checkout fails + + Signed-off-by: Sage Weil + (cherry picked from commit 72d73b8c8836ae35c518fa09f44805a74038f02a) + +commit c101fba58b97015e77e5362d2db4112f8a8586fc +Author: Sage Weil +Date: Thu Dec 15 13:26:14 2016 -0500 + + qa/tasks/workunit.py: add CEPH_BASE env var + + Root of git checkout + + Signed-off-by: Sage Weil + (cherry picked from commit 27b8eac24922f8b4bd065e6e7f0bc8e2ba37b5d5) + +commit c7b74cda893e651750dc744185f009e46d115c0e +Author: Sage Weil +Date: Thu Dec 15 13:25:23 2016 -0500 + + qa/tasks/workunit: leave workunits inside git checkout + + Signed-off-by: Sage Weil + (cherry picked from commit 4602884ab8f5a256d13091f7239d938990482d95) + +commit 384e5c05b4986e19a0ca45173d23da7d573d894a +Author: Matt Benjamin +Date: Thu Dec 8 10:11:42 2016 -0500 + + rgw: add 'rgw log http headers' gloss to config-ref.rst + + Explain the option for upstream doc. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 04bf0f8ca1dfb949bc912b93a4ff84bf8bac57aa) + +commit 9fd29b440990c3458e4e65f22733d9da0c2606bc +Author: Matt Benjamin +Date: Wed Dec 14 16:31:19 2016 -0500 + + use std::map + + (adaptation commit for #7639) + + Signed-off-by: Matt Benjamin + +commit 8838bcbabcd2c9b3d7aec2403cad0bad4ad9a057 +Author: Matt Benjamin +Date: Fri Feb 12 17:02:53 2016 -0500 + + rgw: add rgw_log_http_headers option + + Tracks headers that should be handled conditionally (currently, + can only log, so using minimal structure to represent the + mapping). + + Adds map of custom headers to rgw_log_entry, and populate it with + headers pre-selected for custom logging in RGWREST. Added to encoder + and Formatter output. + + Some additional optimization possible. + + (cherry picked from commit b82919a152217b3cd49afdc28bb890f329c2742a) + + Signed-off-by: Matt Benjamin + +commit 87557754f591607a1667fecfc8dabc7e52bbbca0 +Author: Jason Dillaman +Date: Wed Dec 7 22:38:47 2016 -0500 + + librbd: new block guard helper to prevent concurrent IO to blocks + + Signed-off-by: Jason Dillaman + (cherry picked from commit b1d624b43ec159d4a07616e86557ea48f089b7a1) + + Conflicts: + src/librbd/BlockGuard.h: fixed compile issue + src/librbd/Makefile.am: added BlockGuard + src/test/Makefile-client.am: added BlockGuard test + src/test/librbd/CMakeLists.txt: trivial resolution + +commit 5d306fd015d3e6d0aa35f368d3ca6cde6e7ca77b +Author: Jason Dillaman +Date: Thu Dec 8 18:27:33 2016 -0500 + + librbd: convert ObjectMap to template for unit testing + + Signed-off-by: Jason Dillaman + (cherry picked from commit ea7b30a4fb105e052603c55ac2dc2aca11e66545) + + Conflicts: + src/librbd/image/CreateRequest.cc: not in jewel + src/librbd/internal.cc: trivial resolution + src/librbd/object_map/CreateRequest.cc: not in jewel + src/librbd/object_map/RemoveRequest.cc: not in jewel + src/test/librbd/test_ObjectMap.cc: trivial resolution + +commit c53df3780dd9221cfe602c09651eeee06046ebeb +Author: Jason Dillaman +Date: Wed Dec 7 22:41:56 2016 -0500 + + librbd: clean up object map update interface + + Signed-off-by: Jason Dillaman + (cherry picked from commit 477ae54a568bd1081fd2c77b570b04dd1b983cd9) + + Conflicts: + src/librbd/AioObjectRequest.cc: trivial resolution + src/librbd/ObjectMap.cc: trivial resolution + src/librbd/operation/TrimRequest.cc: removed optimizations + src/tools/rbd_mirror/image_sync/ObjectCopyRequest.cc: trivial resolution + +commit 6fe9be8de391aa239fc82f5483508d762a44cb99 +Author: Jason Dillaman +Date: Wed Dec 7 16:28:22 2016 -0500 + + librbd: update in-memory object map after on-disk update committed + + Concurrent IO to the same object would previously result in the first + IO pausing to update the object map while the other IO would proceed + to directly update the object before the object map state was properly + updated. + + Fixes: http://tracker.ceph.com/issues/16176 + Signed-off-by: Jason Dillaman + (cherry picked from commit 378b810cbaadb1a12a7f0d21ed9a33e2a9640f55) + + Conflicts: + test/librbd/object_map/test_mock_UpdateRequest.cc: resize op signature + +commit 988cd95d84be7973f774a4dae2d09faf4dbc30c3 +Merge: d4b1341 895ab24 +Author: Loic Dachary +Date: Thu Jan 12 07:29:34 2017 +0100 + + Merge pull request #12791 from athanatos/wip-15943-jewel + + jewel: crash adding snap to purged_snaps in ReplicatedPG::WaitingOnReplicas (part 2) + + Reviewed-by: Loic Dachary + +commit f24c3fffc0ee26fddbc416620bbb9c0b353a0cf2 +Author: Sage Weil +Date: Fri Dec 30 17:28:59 2016 -0500 + + osd/PG: publish PG stats when backfill-related states change + + These frequently get flushed because other updates + happen, but we should explicitly ensure that the mon + sees these state changes. + + Fixes: http://tracker.ceph.com/issues/18369 + Signed-off-by: Sage Weil + (cherry picked from commit d4adeb7500a113097fdd717ada0231f68badafbb) + + Conflicts: + src/osd/PG.cc: trivial - PG::RecoveryState::Recovering::Recovering() + hunk fails to apply since there's no PG::queue_recovery(), + it's pg->osd->queue_for_recovery(pg) in jewel + + Fixes: http://tracker.ceph.com/issues/18485 + Signed-off-by: Alexey Sheplyakov + +commit d4b1341cf38f430f047f7263d713c0161b44730f +Merge: 5b402f8 182babf +Author: Samuel Just +Date: Tue Jan 10 16:25:18 2017 -0800 + + Merge pull request #12868 from athanatos/wip-17899-jewel + + OSDMonitor: only reject MOSDBoot based on up_from if inst matches + + Reviewed-by: Sage Weil + +commit fe753dbc9b4bd03d7a6063724edc59c2f860fccf +Author: Jan Fajerski +Date: Tue Jan 10 09:42:18 2017 +0100 + + install-deps.sh: unify indentation in case statement + + Signed-off-by: Jan Fajerski + +commit 94ab8d85b59ff8bd8919930b9d912d1bf55eb9ed +Author: Nitin A Kamble +Date: Mon Oct 31 11:46:13 2016 -0700 + + install-deps.sh: allow building on SLES systems + + Avoids this error on SLES systems: + + > ./install-deps.sh + sles is unknown, dependencies will have to be installed manually. + + Signed-off-by: Nitin A Kamble + (cherry picked from commit 266f4d4f20a1756e825ee54d79fe5f8d931d4b77) + + Conflict in install-deps.sh due to indentation. Trivial resolution. + +commit 7159265ac154ab798f64272b97aa5d7154d0b303 +Author: John Spray +Date: Thu Jan 5 13:40:41 2017 +0000 + + qa/tasks: add test_corrupt_backtrace + + Validate that we get EIO and a damage table entry + when seeing a decode error on a backtrace. + + Signed-off-by: John Spray + (cherry picked from commit 5f6cdab80f6e2f09af5783c8f616d8ddd6d9f428) + +commit 893d4ab72fec1529550b28ee930be8de5a74ee2b +Author: John Spray +Date: Tue Dec 20 18:04:47 2016 +0000 + + mds: check for errors decoding backtraces + + Fixes: http://tracker.ceph.com/issues/18311 + Signed-off-by: John Spray + (cherry picked from commit 6f489c74ac0040631fde0ceb0926cbab24d3ad55) + +commit 895ab243fe5d3bd07bff0bd422d1dc9cb561f0a0 +Author: Samuel Just +Date: Mon Dec 12 10:35:38 2016 -0800 + + PG: fix cached_removed_snaps bug in PGPool::update after map gap + + 5798fb3bf6d726d14a9c5cb99dc5902eba5b878a actually made 15943 worse + by always creating an out-of-date cached_removed_snaps value after + a map gap rather than only in the case where the the first map after + the gap did not remove any snapshots. + + Introduced: 5798fb3bf6d726d14a9c5cb99dc5902eba5b878a + Fixes: http://tracker.ceph.com/issues/15943 + Signed-off-by: Samuel Just + (cherry picked from commit 5642e7e1b3bb6ffceddacd2f4030eb13a17fcccc) + +commit 299478a1e69c9da8dc902e2f102d5d272412fdc8 +Author: Samuel Just +Date: Wed Dec 14 15:48:59 2016 -0800 + + qa/config/rados.yaml: enable osd_debug_verify_cached_snaps + + Also, make map gaps more likely. + + Signed-off-by: Samuel Just + (cherry picked from commit d4b6615a49e4635113f9ba900e9c57147b224357) + +commit b492c0089de858cfe2d7030eddd046acac6872ab +Author: Samuel Just +Date: Mon Dec 12 10:33:13 2016 -0800 + + PG::handle_advance_map: add debugging option to verify cached_removed_snaps + + Signed-off-by: Samuel Just + (cherry picked from commit aeb8fef92469831d94f06db457a4ba15b5b0e3c5) + +commit 2296c87e2e8c885c5c6bee1ea1807aa7862f88fc +Author: Nathan Cutler +Date: Thu Nov 24 18:23:43 2016 +0100 + + osd: improve error message when FileStore op fails due to EPERM + + References: http://tracker.ceph.com/issues/18037 + Signed-off-by: Nathan Cutler + (cherry picked from commit f7723e59b6e10e1aef35543639e0ea1fcac65574) + +commit 7819adb3b5f9af813d4df05d3483175ee54e10df +Author: Jeff Layton +Date: Fri Aug 12 18:48:12 2016 -0400 + + client: don't use special faked-up inode for /.. + + The CEPH_INO_DOTDOT thing is quite strange. Under most OS (Linux + included), the parent of the root is itself. IOW, at the root, '.' and + '..' refer to the same inode. + + Change the ceph client to do the same, as this allows users to get + valid stat info for '..', as well as elimnating some special-casing. + + Also in several places, we're checking dn_set.empty as an indicator + of being the root. While that is true for the root, it's also true + for unlinked directories. + + This patch has treats them the same. An unlinked directory will + be reparented to itself, effectively acting as a root of its own. + + Signed-off-by: Jeff Layton + (cherry picked from commit 30d4ca01db0de9a1e12658793ba9bf9faf0331dd) + +commit 95edad2d058575231bb9b5468559f7b42667f40e +Author: Jeff Layton +Date: Tue Jan 3 12:56:51 2017 -0500 + + client: don't use special faked-up inode for /.. + + The CEPH_INO_DOTDOT thing is quite strange. Under most OS (Linux + included), the parent of the root is itself. IOW, at the root, '.' and + '..' refer to the same inode. + + Change the ceph client to do the same, as this allows users to get + valid stat info for '..', as well as elimnating some special-casing. + + Also in several places, we're checking dn_set.empty as an indicator + of being the root. While that is true for the root, it's also true + for unlinked directories. + + This patch has treats them the same. An unlinked directory will + be reparented to itself, effectively acting as a root of its own. + + Fixes: http://tracker.ceph.com/issues/18408 + Signed-off-by: Jeff Layton + (cherry picked from commit 30d4ca01db0de9a1e12658793ba9bf9faf0331dd) + +commit 9a59ce946c4f73d200969d9352b7049c6690eaf4 +Author: Orit Wasserman +Date: Mon Sep 19 15:05:22 2016 +0200 + + rgw: fix decoding of creation_time and last_update. + + Fixes: http://tracker.ceph.com/issues/17167 + Signed-off-by: Orit Wasserman + (cherry picked from commit 3afe715381ca63539bb20609b614f5e60561711a) + +commit bbf4c27cab6476e284feed1fa151cca8763cd442 +Author: Sage Weil +Date: Thu Dec 15 13:35:02 2016 -0500 + + qa/tasks/admin_socket: subst in repo name + + It is either ceph.git or ceph-ci.git. + + Signed-off-by: Sage Weil + (cherry picked from commit bcbe45d948f1c4da02e27b3be5f29a8b52745e28) + +commit 944ec0348e5b4cd69c8aedda833cf5e468a98dc9 +Author: Mykola Golub +Date: Tue Dec 13 18:54:17 2016 +0200 + + rbd-nbd: invalid error code for "failed to read nbd request" messages + + Fixes: http://tracker.ceph.com/issues/18242 + Signed-off-by: Mykola Golub + (cherry picked from commit 42c2514fe22d34e1bd5a5d2686e06f7e01b7c0c3) + +commit fcdd5e75c3a3107e4b8c8562036fd54e8ea40ddf +Author: Jason Dillaman +Date: Fri Dec 2 13:36:35 2016 -0500 + + rados: optionally support reading omap key from file + + Fixes: http://tracker.ceph.com/issues/18123 + Signed-off-by: Jason Dillaman + (cherry picked from commit 286ceb1e035f060cc564c1ef7400382331893101) + +commit d313e42db210e3ab04b5e7e513f7f2660ba1aa1d +Author: runsisi +Date: Wed Dec 14 15:18:18 2016 +0800 + + librbd: ignore error when object map is already locked by current client + + otherwise when using rbd cli to rollback image with object-map feature + enabled, the following error message will be printed out on the screen, + which is confusing to users: + librbd::object_map::LockRequest: failed to lock object map: (17) File exists + + Fixes: http://tracker.ceph.com/issues/16179 + + Signed-off-by: runsisi + (cherry picked from commit 711da4e2396a8967cd457133a847d40cb46b0a5a) + +commit d0b0d4114bb5933bbc6b707e781f1a9262b56fd5 +Author: Nathan Cutler +Date: Mon Jan 2 22:49:13 2017 +0100 + + tests: rbd/test_lock_fence.sh: fix rbdrw.py relative path + + This commit fixes a regression introduced by + cf294777ea92f0911813a7132068584d4f73a65a + + Fixes: http://tracker.ceph.com/issues/18388 + Signed-off-by: Nathan Cutler + (cherry picked from commit 91231de16dbe4d0e493ec617165a2b38078d122b) + +commit 06e40eb27f65df861b8f9992f0706fbc464d3f39 +Author: Orit Wasserman +Date: Mon Jan 4 10:03:08 2016 +0100 + + tests: use ceph-jewel branch for s3tests + + Signed-off-by: Nathan Cutler + +commit 8877ee4d48b025c6dc171f3ba6064c72b9171ddc +Author: Mykola Golub +Date: Fri Dec 16 12:50:50 2016 +0200 + + rbd: fix json formatting for image and journal status output + + Fixes: http://tracker.ceph.com/issues/18261 + Signed-off-by: Mykola Golub + (cherry picked from commit 4c2659a0f49ff5f709a8275d6adaa817daf8f76a) + +commit 9c84a657e25ccb32be7f775fef3d4c563d4e95b9 +Author: Jason Dillaman +Date: Wed Dec 14 20:49:46 2016 -0500 + + journal: prevent repetitive error messages after being blacklisted + + Fixes: http://tracker.ceph.com/issues/18243 + Signed-off-by: Jason Dillaman + (cherry picked from commit 60f1b1a2f2a96cfe72acfc6855b9cc26b480732d) + +commit d069464be70c3a6286cb7918eb83d555e1d52759 +Author: Jason Dillaman +Date: Tue Dec 13 14:40:23 2016 -0500 + + journal: avoid logging an error when a watch is blacklisted + + Fixes: http://tracker.ceph.com/issues/18243 + Signed-off-by: Jason Dillaman + (cherry picked from commit b82a1c1d1fc43e13aa6e76f5468f43a1f779f7fa) + +commit 9a1258de21d4ee2b965b3cdeb65bd71ceac573c1 +Author: Casey Bodley +Date: Mon Dec 12 16:42:15 2016 -0500 + + rgw: use explicit flag to cancel RGWCoroutinesManager::run() + + RGWCoroutinesManager::run() was setting ret = -ECANCELED to break out of + the loop when it sees going_down. coroutines that failed with -ECANCELED + were confusing this logic and leading to coroutine deadlock assertions + below. when we hit the going_down case, set a 'canceled' flag, and check + that flag when deciding whether to break out of the loop + + Fixes: http://tracker.ceph.com/issues/17465 + + Signed-off-by: Casey Bodley + (cherry picked from commit 73cd8df887fb5e45f2d49275cedfeab31809ddc8) + +commit a67dca4a45cf68625b6f673b251e101fe713e5b5 +Author: Sage Weil +Date: Thu Dec 22 13:05:22 2016 -0500 + + qa/tasks/workunit: clear clone dir before retrying checkout + + If we checkout ceph-ci.git, and don't find a branch, + we'll try again from ceph.git. But the checkout will + already exist and the clone will fail, so we'll still + fail to find the branch. + + The same can happen if a previous workunit task already + checked out the repo. + + Fix by removing the repo before checkout (the first and + second times). Note that this may break if there are + multiple workunit tasks running in parallel on the same + role. That is already racy, so if it's happening, we'll + want to switch to using a truly unique clonedir for each + instantiation. + + Fixes: http://tracker.ceph.com/issues/18336 + Signed-off-by: Sage Weil + (cherry picked from commit 2a7013cd5a033c5be43350505d75f088e831e201) + +commit e5c81c34bb766d94d2ef21b407d70d2d089c425b +Author: Sage Weil +Date: Fri Dec 16 15:06:16 2016 -0500 + + qa/tasks/workunit: retry on ceph.git if checkout fails + + Signed-off-by: Sage Weil + (cherry picked from commit 72d73b8c8836ae35c518fa09f44805a74038f02a) + +commit efaedb355dbc4697a3f9c3147053a5c92642e785 +Author: Sage Weil +Date: Mon Dec 19 14:08:11 2016 -0500 + + qa/workunits: include extension for nose tests + + When you have a relative path you have to include the extension. + Weird. + + Signed-off-by: Sage Weil + (cherry picked from commit 5666fd61d6dbd40be1d79354227cabd562e829ea) + Signed-off-by: Nathan Cutler + + Conflicts: + qa/workunits/rados/test_python.sh (nosetests instead of nose) + +commit de15912c3bb714f9ff48ad8e10b8b4dd6961069e +Author: Sage Weil +Date: Thu Dec 15 15:10:28 2016 -0500 + + qa/workunits: use relative path instead of wget from git + + Signed-off-by: Sage Weil + (cherry picked from commit cf294777ea92f0911813a7132068584d4f73a65a) + + Conflicts: + qa/workunits/rados/test_python.sh (nosetests instead of nose) + +commit 74aac99ce20462de0aca042b6128ea479d17bb4b +Author: Sage Weil +Date: Thu Dec 15 13:26:14 2016 -0500 + + qa/tasks/workunit.py: add CEPH_BASE env var + + Root of git checkout + + Signed-off-by: Sage Weil + (cherry picked from commit 27b8eac24922f8b4bd065e6e7f0bc8e2ba37b5d5) + +commit 117d38e2382bc0016729387aba1dfaae9bb7a684 +Author: Sage Weil +Date: Thu Dec 15 13:25:23 2016 -0500 + + qa/tasks/workunit: leave workunits inside git checkout + + Signed-off-by: Sage Weil + (cherry picked from commit 4602884ab8f5a256d13091f7239d938990482d95) + +commit 5aa9387555c98666a83f909646b62c8688ac24d7 +Author: Weibing Zhang +Date: Thu Dec 22 14:38:27 2016 +0800 + + rgw: ldap: simple_bind() should set ldap option on tldap + + ldap_set_option() should set option for "tldap" other than "ldap". + The current code will lead to "Protocol error" as the ldap version + of tldap is not set. + + Signed-off-by: Weibing Zhang + (cherry picked from commit 96cf7fa06a1192293b24c823ad9d08456f81ac8a) + +commit dcc9483cbd605997876983ec65f6fb80d5da8a52 +Author: xie xingguo +Date: Thu Apr 7 16:43:17 2016 +0800 + + mon: OSDMonitor: trigger an immediate propose if any newly down osd is detected during tick() + + Currently we rely on OSDs to watch over each other and perform failure detection + and report to OSDMonitor. Before we can safely and undoubtedly mark an OSD as down, + enough reports from a certain number of different reporters must have been collected. + Also, the victimed OSD has to be declared failed long enough before we make any final + decision in order to avoid temperary problems such as network failure, network traffic jam etc., + which if handled carelessly, may cause even serious problem such as flapping. + + Form the above analysis, even if we have gathered enough witnesses, we have to wait long + enough to sentence the guilty OSD to death. Therefore we rely on the tick() thread to + do such an hourglass job. However, the problem here is currently the tick() thread is + unable to trigger a propose even if it has witnessed such a memont, and this is our goal + to solve such an embrassing situation. + + Signed-off-by: xie xingguo + (cherry picked from commit a80d6c500ab247013a1c068c457c1b9bfbc750b2) + +commit 64c0caeab21f1f764bb48c0355b24f24dda2cfe2 +Author: Xiaoxi Chen +Date: Fri Dec 9 02:40:03 2016 +0800 + + librbd/diff_iterator: use proper snap to query parent overlap + + If no snapshot has been made, we will use CEPH_NOSNAP instead of 0, + to query the parent overlap. + + Fixes bug http://tracker.ceph.com/issues/18200 + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit a88ceff2767761483aee73590767c412116a7489) + +commit d584f9e124cfd1da1b8d8dbfa1a0d370185c6835 +Author: Abhishek Lekshmanan +Date: Mon May 9 11:41:19 2016 +0200 + + rgw: log name instead of id for SystemMetaObj on failure + + Currently if we fail to read a SystemMetaObj we try to log the + MetaObject id, however this will not be set mostly as read_id has + failed, so we end up logging an empty id, changing this to log + the object name instead + + Fixes: http://tracker.ceph.com/issues/15776 + Signed-off-by: Abhishek Lekshmanan + Signed-off-by: Wido den Hollander + (cherry picked from commit e9f896a9efea74c42d56dd5a7feb8b8710d6becc) + +commit 1a0becf4e45e753503d27719540b966d74fdafff +Author: Abhishek Lekshmanan +Date: Mon May 9 14:05:06 2016 +0200 + + rgw: drop unnecessary spacing in rgw zg init log + + Dropping unneeded space when we're printing the failed reading zg info + message + + Signed-off-by: Abhishek Lekshmanan + Signed-off-by: Wido den Hollander + (cherry picked from commit a43ac6e56857ac9b2bf7d6aa2956b7bcc045d5ce) + +commit 5b402f8a7b5a763852e93cd0a5decd34572f4518 +Merge: e565d89 3dbf0c9 +Author: Loic Dachary +Date: Thu Dec 22 00:18:11 2016 +0100 + + Merge remote-tracking branch 'ceph/jewel-next' into jewel + +commit e565d8924241ba0520a836fc96040de41582906f +Merge: f97b399 5799d5f +Author: jtlayton +Date: Wed Dec 21 09:18:18 2016 -0500 + + Merge pull request #12591 from jtlayton/wip-18308-jewel + + Clear setuid bits on ownership changes + +commit 5799d5fdba9b890634a9b3d6fa038dfde3818779 +Merge: a0ae9a8 f97b399 +Author: jtlayton +Date: Tue Dec 20 15:36:39 2016 -0500 + + Merge branch 'jewel' into wip-18308-jewel + +commit f97b399896261612aa0b8bab2c720446d908a644 +Merge: c067b58 f15c8da +Author: jtlayton +Date: Tue Dec 20 15:35:54 2016 -0500 + + Merge pull request #12592 from jtlayton/wip-18307-jewel + + Fix mount root for ceph_mount users and change tarball format + +commit f15c8dafbcc15982265f072aeddb9d5dfc7166d6 +Author: Jeff Layton +Date: Tue Dec 20 14:44:04 2016 -0500 + + ceph_disk: fix a jewel checkin test break + + Silly python: + + ceph_disk/main.py:173:1: E305 expected 2 blank lines after class or function definition, found 1 + ceph_disk/main.py:5011:1: E305 expected 2 blank lines after class or function definition, found 1 + + Signed-off-by: Jeff Layton + +commit 8e0cffdd435eeb24f4ea3658cf1db9973759dd29 +Author: Jeff Layton +Date: Tue Dec 20 11:54:25 2016 -0500 + + automake: convert to tar-pax + + We hit some recent build issues with the merge of ceph-qa-suite into + the main repo. The ustar format barfs on >100 character symlink + paths. + + Convert to using "tar-pax" which should make it use the posix format. + Any build machine that we're reasonably targeting should support it. + + Signed-off-by: Jeff Layton + +commit a0ae9a83df222fce75f41d3b5a3e3d0396dd748a +Author: Jeff Layton +Date: Tue Dec 20 08:17:21 2016 -0500 + + client: drop setuid/setgid bits on ownership change + + When we hold exclusive auth caps, then the client is responsible for + handling changes to the mode. Make sure we remove any setuid/setgid + bits on an ownership change. + + Signed-off-by: Jeff Layton + (cherry picked from commit 18d2499d6c85a10b4b54f3b8c335cddf86c4588f) + +commit d49e628361a17cca65f31f85350468228a0ec2d7 +Author: Jeff Layton +Date: Tue Dec 20 08:16:43 2016 -0500 + + mds: clear setuid/setgid bits on ownership changes + + If we get a ownership change, POSIX mandates that you clear the + setuid and setgid bits unless you are "appropriately privileged", in + which case the OS is allowed to leave them intact. + + Linux however always clears those bits, regardless of the process + privileges, as that makes it simpler to close some potential races. + Have ceph do the same. + + Signed-off-by: Jeff Layton + (cherry picked from commit 6da72500882d9749cb2be6eaa2568e6fe6e5ff4d) + +commit f2dfc200dbf93927ca1059ae203c8242b23eeb40 +Author: Jeff Layton +Date: Tue Dec 20 08:07:23 2016 -0500 + + client: set metadata["root"] from mount method when it's called with a pathname + + Currently, we only set the root properly config file or the + --client_metadata command line option. If a userland client program + tries to call ceph_mount with a pathname, it's not being properly + set. + + Since we already hold the mutex, we can just update it directly. + + Signed-off-by: Jeff Layton + (cherry picked from commit 9f8810008c82eebe6e354e7e321e33a3dcba8407) + +commit 87a2a95ad1103cecf4b710776d35182920e72823 +Author: Pritha Srivastava +Date: Mon Aug 29 14:32:42 2016 +0530 + + rgw: Replacing '+' with "%20" in canonical uri for s3 v4 auth. + + s3cmd encodes space as "%20" while signature computation and + encodes space as '+' while sending the canonical uri. This + results in a SignatureMismatch Error in rgw, since rgw + computes the signature based on the request received from + the client (s3cmd in this case). + + Fixes http://tracker.ceph.com/issues/17076. + + Signed-off-by: Pritha Srivastava + (cherry picked from commit 20e5ff023ebad89c386a520d07613547d4836399) + +commit aa8e57d0d4fa855ec6b2201274dd78504ab9e5c9 +Author: Jason Dillaman +Date: Thu Oct 6 12:56:31 2016 -0400 + + rbd: utilize new API methods for image id and block name prefix + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0a0a88c71552aa5858384fa802a3161da90e7c86) + + Conflicts: + src/tools/rbd/action/Info.cc (jewel does not have + 653bc453e3c8f1062cdbc4d0d8f77f623f48915b) + +commit 05295eff568aec5ff9f5d01bb73b7c7bd1dee581 +Author: Jason Dillaman +Date: Thu Oct 6 12:48:22 2016 -0400 + + librbd: new API methods to retrieve image id and block name prefix + + Signed-off-by: Jason Dillaman + (cherry picked from commit 366e6075cab2748efab395cd23882eaee4ba402f) + +commit 240431bea219412edf9588490f6d72d16b1f01b6 +Author: Nathan Cutler +Date: Mon Sep 5 15:40:33 2016 +0200 + + build/ops: fix /etc/os-release parsing in install-deps.sh + + 85a370e35fc42031a7f7e24dea9e50a649c0f309 introduced the DISTRO variable whose + value was obtained by parsing /etc/os-release like this: + + DISTRO=$(grep "^ID=" /etc/os-release | sed "s/ID=//") + + This unfortunately picks up the double-quotes, so on a CentOS system DISTRO + will be equal to '"centos"'. + + Signed-off-by: Nathan Cutler + (cherry picked from commit fd37e87f6de0b8e272a2859ec52d6ceab277db7a) + +commit f6519509049362ec3f378e2178e577f761a72c42 +Author: Jan Fajerski +Date: Wed Jun 29 09:40:07 2016 +0200 + + install-deps.sh: initial distro detection based on /etc/os-release + + This avoids initial distribution detection (before lsb_release is available) + based on the presence of a specific package manager. This caused an + issue with openSUSE Tumbleweed before since both zypper and apt-get are + available. + + Signed-off-by: Jan Fajerski + (cherry picked from commit 85a370e35fc42031a7f7e24dea9e50a649c0f309) + +commit c067b589128fac3fb382f64ac91ade3be3c69a51 +Merge: c461ee1 d2380d7 +Author: Sage Weil +Date: Wed Dec 14 11:39:56 2016 -0600 + + Merge pull request #12454 from liewegas/qa-suite-jewel + + jewel: merge ceph-qa-suite + +commit d2380d7d1d4fd568b286e0fb90d8d192f361f7c9 +Merge: c461ee1 1c28e7f +Author: Sage Weil +Date: Wed Dec 14 11:29:59 2016 -0600 + + merge ceph-qa-suite + +commit 1c28e7f08d0e42a14e28b78e12b57a219ce8796c +Author: Sage Weil +Date: Wed Dec 14 11:29:55 2016 -0600 + + move ceph-qa-suite dirs into qa/ + +commit 282451d8cf8d98ca90502e29081aaf7c4a4c9508 +Author: Sage Weil +Date: Wed Dec 14 12:27:58 2016 -0500 + + Revert "tasks/workunit.py: depth 1 clone" + + This reverts commit e6f61ea9f19d0f1fad4a6547775fa80616eeeb89. + +commit e6f61ea9f19d0f1fad4a6547775fa80616eeeb89 +Author: Sage Weil +Date: Wed Dec 14 12:19:44 2016 -0500 + + tasks/workunit.py: depth 1 clone + + Signed-off-by: Sage Weil + (cherry picked from commit 4faf77a649cb3f8ddf497ca81937b3dbf63a18dc) + +commit 426f7cf2d151a1122cb603a2c9f224a25c9702a2 +Author: Sage Weil +Date: Wed Dec 14 12:18:29 2016 -0500 + + tasks/workunit: remove kludge to use git.ceph.com + + This was hard-coded to ceph.git (almost) and breaks when + you specify --ceph-repo. Remove it entirely. We'll see if + github.com is better at handling our load than it used to + be! + + Signed-off-by: Sage Weil + (cherry picked from commit 159c455a0326eef2c017b3e3cf510f918b5ec76c) + +commit 1ba5995b7d9816bab936bc1ba557504821e94c89 +Author: Kefu Chai +Date: Sat Dec 10 02:36:52 2016 +0800 + + tasks/ceph: restore context of osd mount path before mkfs + + all newly created files and directories under the mount dir inherit the + SELinux type of their parent directory. so we need to set it before + mkfs. + + Fixes: http://tracker.ceph.com/issues/16800 + Signed-off-by: Kefu Chai + (cherry picked from commit 53225d5272a1d35d4183fcfa55a139f55f77e122) + +commit 26c87fd1f1d105e5aa1c4c32c73f75414ea3d04f +Author: Pan Liu +Date: Thu Dec 8 20:03:30 2016 +0800 + + rbd: --max_part and --nbds_max options for nbd map + + Fixes: http://tracker.ceph.com/issues/18186 + Signed-off-by: Pan Liu + (cherry picked from commit 45ceb389b685a5ec7bc0b8ef9e180ce851646082) + + Conflicts: + src/test/cli/rbd/help.t (no --exclusive in jewel-next) + src/tools/rbd/action/Nbd.cc (no --exclusive in jewel-next) + +commit ddb5403605f843b4bc5abd1093b034e087c07f8b +Author: Casey Bodley +Date: Wed Nov 30 14:36:38 2016 -0500 + + radosgw-admin: 'zone placement modify' doesnt require pool names + + Signed-off-by: Casey Bodley + (cherry picked from commit b59afea4dbb06454b1e14f03dd65ba2449674a15) + + Conflicts: + src/rgw/rgw_admin.cc (jewel-next lacks --tier* options) + +commit 7cfc346cf1427e37be38ebb92ad9518afa982b83 +Author: Casey Bodley +Date: Wed Nov 30 13:43:28 2016 -0500 + + radosgw-admin: add 'zonegroup placement default' command + + Signed-off-by: Casey Bodley + (cherry picked from commit 711cc132528f2dfeb6c1f8defb19493ffe7cb9be) + +commit dbc1b614add263fe80ef6fc0c09c0597fb9cddff +Author: Casey Bodley +Date: Wed Nov 30 13:08:38 2016 -0500 + + radosgw-admin: fix 'placment' typos + + Fixes: http://tracker.ceph.com/issues/18078 + + Signed-off-by: Casey Bodley + (cherry picked from commit 0cf08985683820cd11492a9ad684d06565a04f34) + +commit 4f7147cb79aa0637e156a3a29739fcbadc37e62d +Author: Yehuda Sadeh +Date: Tue Nov 29 14:55:52 2016 -0800 + + rgw_admin: commands to manage placement targets + + Fixes: http://tracker.ceph.com/issues/18078 + + added the following commands: + + radosgw-admin zone placement add + radosgw-admin zone placement modify + radosgw-admin zone placement rm + radosgw-admin zone placement list + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ead132ae84bf3b2738fa0443f4f9666d59edbb43) + + Conflicts: + src/rgw/rgw_admin.cc (jewel-next lacks the --tier* and --sync-from* options) + src/test/cli/radosgw-admin/help.t (jewel-next lacks the --tier* and --sync-from* options) + +commit 155641f9ce6a16ee1fdb3231d76bea0eafc89ff8 +Author: Yehuda Sadeh +Date: Tue Nov 29 14:15:09 2016 -0800 + + rgw-admin: add commands to manage zonegroup placement fields + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a91c7b5cc699b2c37d449974d2ebf2eece9506a0) + + Conflicts: + src/rgw/rgw_admin.cc (chose raw_storage_ops_list from master) + +commit bb9678bf44b8ed0dd8bb1f895da3c78edc792eeb +Author: Yehuda Sadeh +Date: Tue Nov 29 14:05:27 2016 -0800 + + rgw: use set for zonegroup placement target tags + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 12162d654ce24db0617e4bc3de24aebc28b50996) diff --git a/doc/changelog/v10.2.7.txt b/doc/changelog/v10.2.7.txt new file mode 100644 index 00000000..473f45e1 --- /dev/null +++ b/doc/changelog/v10.2.7.txt @@ -0,0 +1,1530 @@ +commit 50e863e0f4bc8f4b9e31156de690d765af245185 +Author: Jenkins Build Slave User +Date: Mon Apr 10 11:43:44 2017 +0000 + + 10.2.7 + +commit a64d3e4b33e904aa6585464df8ffff6aafdec10c +Merge: c92640a 6c2a40a +Author: Ken Dreyer +Date: Fri Mar 31 10:27:07 2017 -0600 + + Merge pull request #14230 from linuxbox2/wip-jewel-expand-argv + + jewel: rgw_file: expand argv + + Reviewed-by: Casey Bodley + +commit c92640a113843a491678c11319d2352f14486f17 +Merge: 7c35658 fcc3ada +Author: Ken Dreyer +Date: Fri Mar 31 10:17:10 2017 -0600 + + Merge pull request #14233 from ktdreyer/wip-19421-jewel + + jewel: librbd: possible race in ExclusiveLock handle_peer_notification + + Reviewed-by: Jason Dillaman + +commit 7c3565899af5f1f474d82d8802d15c6c216ea894 +Merge: 12467f6 eedb9f7 +Author: Ken Dreyer +Date: Fri Mar 31 10:16:48 2017 -0600 + + Merge pull request #14231 from linuxbox2/wip-jewel-fhcache + + jewel: rgw_fh: RGWFileHandle dtor must also cond-unlink from FHCache + + Reviewed-by: Casey Bodley + +commit 12467f6c3f346072d81c444ed68eb206402d8c33 +Merge: 2d2521c 78c8be7 +Author: Ken Dreyer +Date: Fri Mar 31 10:09:14 2017 -0600 + + Merge pull request #14215 from mdw-at-linuxbox/wip-jewel-rgw-openssl-fix1 + + rgw: fix openssl + + Reviewed-by: Ken Dreyer + Reviewed-by: Casey Bodley + +commit 2d2521c0300000421740c611a5133c82d2e4d0f6 +Merge: 0840cf8 7e4e290 +Author: Ken Dreyer +Date: Fri Mar 31 10:07:48 2017 -0600 + + Merge pull request #14206 from linuxbox2/wip-gui-jewel + + jewel: rgw_file: various fixes + + Reviewed-by: Casey Bodley + +commit 0840cf86214c793794c6f913b63cc67e0ab3fc94 +Merge: 0bf6360 b24a8c2 +Author: Ken Dreyer +Date: Fri Mar 31 10:07:03 2017 -0600 + + Merge pull request #14205 from linuxbox2/wip-dir-orphan-jewel + + jewel: rgw_file: wip dir orphan + + Conflicts: + src/rgw/rgw_file.cc (whitespace, trivial resolution) + + Reviewed-by: Casey Bodley + +commit 0bf636057ba853d1d1a777147014a740d5149b17 +Merge: 83b5a7f fb85c68 +Author: Ken Dreyer +Date: Fri Mar 31 10:05:40 2017 -0600 + + Merge pull request #14169 from linuxbox2/wip-18650-jewel + + jewel: rgw: rgw_file: FHCache residence check should be exhaustive + + Reviewed-by: Casey Bodley + +commit 83b5a7f1c589546645e0f377d5d5f7b1f7363a59 +Merge: 6a175f2 a969c44 +Author: Ken Dreyer +Date: Fri Mar 31 10:02:58 2017 -0600 + + Merge pull request #13869 from smithfarm/wip-19161-jewel + + jewel: rgw: rgw_file: fix marker computation + + Reviewed-by: Casey Bodley + +commit fb85c68dfbfcfb299cac3a7e6723067f216483ef +Author: Matt Benjamin +Date: Tue Feb 28 15:49:06 2017 -0500 + + rgw_file: use fh_hook::is_linked() to check residence + + Previously we assumed that !deleted handles were resident--there + is an observed case where a !deleted handle is !linked. Since + we currently use safe_link mode, an is_linked() check is + available, and exhaustive. + + Fixes: http://tracker.ceph.com/issues/19111 + + Signed-off-by: Matt Benjamin + (cherry picked from commit c0aa515f8d8c57ec5ee09e3b60df3cac60453c40) + +commit fcc3ada733bac74a642ccd0f1ed6301ad7318a30 +Author: Mykola Golub +Date: Tue Mar 28 15:55:11 2017 +0200 + + jewel: librbd: possible race in ExclusiveLock handle_peer_notification + + This is a cherry-pick from kraken -- the master diverged after + ManagedLock refactoring and is not affected. + + Fix: http://tracker.ceph.com/issues/19368 + Signed-off-by: Mykola Golub + (cherry picked from commit df59d6d5f7deb586cf14a6ef6984e6847db08852) + +commit eedb9f7d2d2a4047b473f23c5a6956c40a3da126 +Author: Matt Benjamin +Date: Tue Feb 28 20:24:12 2017 -0500 + + rgw_file: RGWFileHandle dtor must also cond-unlink from FHCache + + Formerly masked in part by the reclaim() action, direct-delete now + substitutes for reclaim() iff its LRU lane is over its high-water + mark, and in particular, like reclaim() the destructor is certain + to see handles still interned on the FHcache when nfs-ganesha is + recycling objects from its own LRU. + + Fixes: http://tracker.ceph.com/issues/19112 + + Signed-off-by: Matt Benjamin + (cherry picked from commit d51a3b1224ba62bb53c6c2c7751fcf7853c35a4b) + +commit 6c2a40a800277ded302f3183ac6c68b01ca3ed41 +Author: Matt Benjamin +Date: Tue Jan 17 11:23:45 2017 -0500 + + rgw_file: split last argv on ws, if provided + + This is intended to allow an "extra" unparsed argument string + containing various cmdline options to be passed as the last argument + in the argv array of librgw_create(), which nfs-ganesha is + expecting to happen. + + While at it, hook env_args() too. + + Signed-off-by: Matt Benjamin + (cherry picked from commit fbc19e4effc736c98cc1cc283e5c7b131a0fa766) + +commit d2ca03b391340c6944ba453b106f3e1c45b75f1d +Author: Matt Benjamin +Date: Sun Feb 12 20:18:26 2017 -0500 + + rgw_file: fix hiwat behavior + + Removed logic to skip reclaim processing conditionally on hiwat, + this probably meant to be related to a lowat value, which does + not exist. + + Having exercised the hiwat reclaim behavior, noticed that the + path which moves unreachable objects to LRU, could and probably + should remove them altogether when q.size exceeds hiwat. Now + the max unreachable float is lane hiwat, for all lanes. + + Signed-off-by: Matt Benjamin + (cherry picked from commit b8791b2217e9ca87b2d17b51f283fa14bd68b581) + Signed-off-by: Matt Benjamin + +commit 166cb7f85c240eeaffc70968abf5352d9cd45bd9 +Author: Matt Benjamin +Date: Sun Feb 12 18:20:43 2017 -0500 + + rgw_file: refcnt bugfixes + + This change includes 3 related changes: + + 1. add required lock flags for FHCache updates--this is a crash + bug under concurrent update/lookup + + 2. omit to inc/dec refcnt on root filehandles in 2 places--the + root handle current is not on the lru list, so it's not + valid to do so + + 3. based on observation of LRU behavior during creates/deletes, + update (cohort) LRU unref to move objects to LRU when their + refcount falls to SENTINEL_REFCNT--this cheaply primes the + current reclaim() mechanism, so very significanty improves + space use (e.g., after deletes) in the absence of scans + (which is common due to nfs-ganesha caching) + + Signed-off-by: Matt Benjamin + (cherry picked from commit beaeff059375b44188160dbde8a81dd4f4f8c6eb) + Signed-off-by: Matt Benjamin + +commit 31a71be9c9f24e22cf7e6eb390d3b39811ee3577 +Author: Matt Benjamin +Date: Sat Feb 11 16:38:05 2017 -0500 + + rgw_file: add refcount dout traces at debuglevel 17 + + These are helpful for checking RGWFileHandle refcnt invariants. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 462034e17f919fb783ee33e2c9fa8089f93fd97d) + Signed-off-by: Matt Benjamin + +commit 1d6c72fe9a59561fb8f33889895b6708342b2856 +Author: Matt Benjamin +Date: Fri Feb 10 17:14:16 2017 -0500 + + rgw_file: add pretty-print for RGWFileHandle + + Signed-off-by: Matt Benjamin + (cherry picked from commit ef330f385d3407af5f470b5093145f59cc4dcc79) + Signed-off-by: Matt Benjamin + +commit a969c449272ce88ddcbbd509432134f19520c8c3 +Author: Matt Benjamin +Date: Mon Feb 20 15:05:18 2017 -0500 + + rgw_file: fix marker computation + + Fixes: http://tracker.ceph.com/issues/19018 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 4454765e7dd08535c50d24205858e18dba4b454c) + +commit a70e83c90eb42439ba194ca197f507f972a18c3c +Author: Matt Benjamin +Date: Sun Feb 19 20:34:31 2017 -0500 + + rgw_file: rgw_readdir can't list multi-segment dirs + + This issue has one root cause in librgw, namely that the marker + argument to these requests was incorrectly formatted (though the + marker cache was working as intended). + + Secondarily, for nfs-ganesha users, there is a compounding issue + that the RGW fsal was required by "temporary" convention to + populate the entire dirent cache for a directory on a single + readdir() invocation--the cache_inode/mdcache implementations + invariantly pass (before future 2.5 changesets, currently in + progress) a null pointer for the start cookie offset, intended + to convey this. + + Fixes: http://tracker.ceph.com/issues/18991 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 2cd60ee9712291b906123aca1704288b18a9742b) + +commit 209987e1c764cac7574bf0bb969e93fcf55b4361 +Author: Matt Benjamin +Date: Sun Feb 19 18:21:06 2017 -0500 + + rgw_file: allow setattr on placeholder directories + + When a POSIX path /foo/ is known only as an implicit path + segment from other objects (e.g., /foo/bar.txt), a case + that would usually arise from S3 upload of such an object, an + RGWFileHandle object representing "/foo/" will be constructed + as needed, with no backing in RGW. + + This is by design, but subsequently, if a setattr is performed on + such a handle, we must be ready to create the object inline with + storing the attributes. + + Fixes: http://tracker.ceph.com/issues/18989 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 55eec1c0a0e136736961423b7b6244d0f3693c1a) + +commit 6a175f27961bd4f0fda8f94c200458f17865c9f9 +Merge: d32ae21 f3face6 +Author: Ken Dreyer +Date: Tue Mar 28 16:36:35 2017 -0600 + + Merge pull request #14140 from smithfarm/wip-19341-jewel + + jewel: 'period update' does not remove short_zone_ids of deleted zones + + Reviewed-by: Casey Bodley + +commit d32ae21128d664370f7d07ed14427b75e10da7f8 +Merge: 4dfeed9 0be4e89 +Author: Ken Dreyer +Date: Tue Mar 28 16:35:16 2017 -0600 + + Merge pull request #13886 from cbodley/wip-17786 + + jewel: rgw: clear data_sync_cr if RGWDataSyncControlCR fails + + Reviewed-by: Nathan Cutler + +commit 4dfeed949655a5b5041f612b868225c234e86bba +Merge: d69c54a 1985662 +Author: Ken Dreyer +Date: Tue Mar 28 16:34:57 2017 -0600 + + Merge pull request #13867 from smithfarm/wip-19159-jewel + + jewel: rgw: multisite: RGWMetaSyncShardControlCR gives up on EIO + + Reviewed-by: Casey Bodley + +commit d69c54aca9dde3d64b56e5ee72f1cd29057a80c6 +Merge: 0830135 dfaaec0 +Author: Ken Dreyer +Date: Tue Mar 28 16:34:24 2017 -0600 + + Merge pull request #13858 from smithfarm/wip-19152-jewel + + jewel: rgw_file: restore (corrected) fix for dir partial match (return of FLAG_EXACT_MATCH) + + Reviewed-by: Casey Bodley + +commit 0830135f40ac37ac9027bece65b8aac64c2c7ec9 +Merge: 4dd3a9f 97fed01 +Author: Ken Dreyer +Date: Tue Mar 28 16:33:18 2017 -0600 + + Merge pull request #13848 from smithfarm/wip-19150-jewel + + jewel: rgw_file: avoid interning .. in FHCache table and don't ref for them + + Reviewed-by: Casey Bodley + +commit 4dd3a9f628053784cff2aa5849ab3c4cdb2acf4e +Merge: 5eeba9c d333add +Author: Ken Dreyer +Date: Tue Mar 28 16:29:30 2017 -0600 + + Merge pull request #13844 from smithfarm/wip-19148-jewel + + jewel: rgw: DUMPABLE flag is cleared by setuid preventing coredumps + + Reviewed-by: Casey Bodley + +commit 5eeba9cb85e9111ef124acd36dccf77c6f00b3e4 +Merge: ae632b0 f7ce5df +Author: Ken Dreyer +Date: Tue Mar 28 16:26:48 2017 -0600 + + Merge pull request #13823 from asheplyakov/19176-bp-jewel + + jewel: rgw: fix swift cannot disable object versioning with empty X-Versions-Location + + Reviewed-by: Casey Bodley + +commit ae632b0da6cc90a993fcae31b56f97c834d15aa1 +Merge: 874120f e8041f6 +Author: Ken Dreyer +Date: Tue Mar 28 16:22:23 2017 -0600 + + Merge pull request #13778 from smithfarm/wip-18811-jewel + + jewel: librgw: RGWLibFS::setattr fails on directories + + Reviewed-by: Matt Benjamin + +commit 874120f627f509c75b28d1be699812fce881f4bb +Merge: b0108ea e475bfa +Author: Ken Dreyer +Date: Tue Mar 28 16:21:44 2017 -0600 + + Merge pull request #13717 from asheplyakov/19115-bp-jewel + + jewel: rgw_file: ensure valid_s3_object_name for directories, too + + Reviewed-by: Matt Benjamin + +commit b0108ea3bae1662e90c7fb9a911257f45193798c +Merge: 6518d70 db928d6 +Author: Ken Dreyer +Date: Tue Mar 28 16:19:03 2017 -0600 + + Merge pull request #13596 from dillaman/wip-19038-jewel + + jewel: rbd-mirror: deleting a snapshot during sync can result in read errors + + Reviewed-by: Mykola Golub + +commit 6518d70b89686b9a4e8854a4c6290381fbcdd8c3 +Merge: db50938 8941881 +Author: Ken Dreyer +Date: Tue Mar 28 16:10:43 2017 -0600 + + Merge pull request #13583 from asheplyakov/jewel-bp-18901 + + jewel: rgw_file: interned RGWFileHandle objects need parent refs + + Reviewed-by: Casey Bodley + +commit db50938013f0b1c1fe8a23247c91bbfc38d36a8c +Merge: 7536871 d44263f +Author: Ken Dreyer +Date: Tue Mar 28 16:02:43 2017 -0600 + + Merge pull request #13503 from linuxbox2/wip-jewel-10156 + + jewel: rgw: make sending Content-Length in 204 and 304 controllable + + Reviewed-by: Casey Bodley + Reviewed-by: Radoslaw Zarzynski + +commit 75368712aafc51b062b674b263354cca2dd4b49a +Merge: 250071e 2f20328 +Author: Ken Dreyer +Date: Tue Mar 28 15:53:49 2017 -0600 + + Merge pull request #13232 from ovh/wip-rework-recovery-priorities-jewel + + jewel: osd: Increase priority for inactive PGs backfill + + Reviewed-by: Sage Weil + +commit 250071eb8dc744237acfed01df2cf04f2d88bc85 +Merge: 6f57a77 9910eac +Author: Ken Dreyer +Date: Tue Mar 28 15:51:46 2017 -0600 + + Merge pull request #13219 from linuxbox2/jewel-rgw-multipart-upload-copy-4 + + jewel: rgw: multipart uploads copy part support + + Reviewed-by: Casey Bodley + +commit 6f57a775301edce7a1039a4aa4479bbd8883cbf6 +Merge: 8c02e54 3fce77a +Author: Ken Dreyer +Date: Tue Mar 28 15:51:24 2017 -0600 + + Merge pull request #13108 from vumrao/wip-vumrao-jewel-18657 + + jewel: osd: fix OSD network address in OSD heartbeat_check log message + + Reviewed-by: Josh Durgin + +commit b24a8c2f3890b6fcc60f3b52cba93d573b9d45a2 +Author: Gui Hecheng +Date: Thu Mar 2 17:21:57 2017 +0800 + + rgw_file: posix style atime,ctime,mtime + + As an ganesha FSAL backend, rgw_file should properly maintain + the atime,ctime,mtime properly against operations such as: + (read,write) for file + (create,unlink,mkdir,rmdir,rename) for dir + (setattr) for file and dir + + Signed-off-by: Gui Hecheng + (cherry picked from commit ac25da2479b9be876cbdb820560ac46a6e2b17d7) + +commit b6181833be925b7eb11afffff7f03486bdde2d25 +Author: Matt Benjamin +Date: Mon Feb 20 15:05:18 2017 -0500 + + rgw_file: fix marker computation + + Fixes: http://tracker.ceph.com/issues/19018 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 4454765e7dd08535c50d24205858e18dba4b454c) + Signed-off-by: Matt Benjamin + +commit ed9308cba2af227991a50a9535df30cf9bb18a82 +Author: Matt Benjamin +Date: Sun Feb 19 20:34:31 2017 -0500 + + rgw_file: rgw_readdir can't list multi-segment dirs + + This issue has one root cause in librgw, namely that the marker + argument to these requests was incorrectly formatted (though the + marker cache was working as intended). + + Secondarily, for nfs-ganesha users, there is a compounding issue + that the RGW fsal was required by "temporary" convention to + populate the entire dirent cache for a directory on a single + readdir() invocation--the cache_inode/mdcache implementations + invariantly pass (before future 2.5 changesets, currently in + progress) a null pointer for the start cookie offset, intended + to convey this. + + Fixes: http://tracker.ceph.com/issues/18991 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 2cd60ee9712291b906123aca1704288b18a9742b) + Signed-off-by: Matt Benjamin + +commit 26a38e2e1525714978feda018c03698d7af65129 +Author: Matt Benjamin +Date: Sun Feb 19 18:21:06 2017 -0500 + + rgw_file: allow setattr on placeholder directories + + When a POSIX path /foo/ is known only as an implicit path + segment from other objects (e.g., /foo/bar.txt), a case + that would usually arise from S3 upload of such an object, an + RGWFileHandle object representing "/foo/" will be constructed + as needed, with no backing in RGW. + + This is by design, but subsequently, if a setattr is performed on + such a handle, we must be ready to create the object inline with + storing the attributes. + + Fixes: http://tracker.ceph.com/issues/18989 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 55eec1c0a0e136736961423b7b6244d0f3693c1a) + Signed-off-by: Matt Benjamin + +commit 7e4e29038bd820e171d007360cf383c85f67879b +Author: Gui Hecheng +Date: Wed Mar 8 16:23:11 2017 +0800 + + rgw_file: fix reversed return value of getattr + + When ::getattr returns -ESTALE, rgw_getattr returns ESTALE, + which is a not expected postive. + + Signed-off-by: Gui Hecheng + (cherry picked from commit 39203cf872b8f4af86eb0e4a0f96dffd9cc92b41) + +commit 3c02ee4fe9ae70f30328a7b015f5cac4a1804c67 +Author: Gui Hecheng +Date: Mon Mar 20 10:53:46 2017 +0800 + + rgw_file: fix non-negative return code for open operation + + The nfs-ganesha expects a negative retcode for errors. + + Signed-off-by: Gui Hecheng + (cherry picked from commit b5f70ef7b066f9ff44770cc8a50ccadaa02f4691) + +commit e9a4903c6e77caae6f161056e8aaa5ba10ae5ef2 +Author: Gui Hecheng +Date: Wed Mar 15 15:01:05 2017 +0800 + + rgw_file: fix double unref on rgw_fh for rename + + Skip unref after unlink to fix the problem. + + Signed-off-by: Gui Hecheng + (cherry picked from commit bff228734c73b536d2482e2e2fa4ad38b206ebff) + +commit 9910eac98474930369d694b236c06ffd627fee04 +Author: Yehuda Sadeh +Date: Thu Sep 29 22:20:10 2016 -0700 + + rgw: multipart part copy, fix regression + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 66fbe9384703c004c01783eb664f55895d310439) + + Signed-off-by: Matt Benjamin + +commit a3fdf0e246637ef4145b6b5ba1f4b114ec7ebc62 +Author: Yehuda Sadeh +Date: Thu Sep 29 17:44:08 2016 -0700 + + rgw: minor optimization + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4919dc9987c6376d3d4e143702c26417449524c5) + + Signed-off-by: Matt Benjamin + +commit 2161376baf413acfbf02df07e404d2918729bfcc +Author: Yehuda Sadeh +Date: Thu Sep 29 17:43:00 2016 -0700 + + rgw: rgw_obj_key use adjustment in multipart copy part + + This fixes a case where objects start with double underscore. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 29fece3545cc1df404a25eec46706b16f893a5df) + + Signed-off-by: Matt Benjamin + +commit 135f84d860d10a2961f430708983113a87ddf899 +Author: Yehuda Sadeh +Date: Thu Sep 29 17:43:35 2016 -0700 + + rgw: multipart copy-part handle versionId + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 53521efffb1cb92e5f5ce992d4127bf9498d7c33) + + Signed-off-by: Matt Benjamin + +commit 9ab65f5501fb59aac17cfdde57371b00af03d84b +Author: Yehuda Sadeh +Date: Thu Sep 29 14:24:13 2016 -0700 + + rgw: multipart copy part minor parsing cleanup + + no need for range.size() + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 6e9b824d5d4017239d58b4752ebc43bfad8f698d) + + Signed-off-by: Matt Benjamin + +commit 3eb9dc96ff8e655415500a3595a78cab80739826 +Author: Yehuda Sadeh +Date: Thu Sep 29 14:11:43 2016 -0700 + + rgw: multipart copy, check for empty bucket, improve logging + + also reduce log level for non critical user errors. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 2bcb3d286b230ef917d5ba96c8276a942f544689) + + Signed-off-by: Matt Benjamin + +commit 2588e95d9d422d3b33fd710de1f5884873465483 +Author: Yehuda Sadeh +Date: Thu Sep 29 14:07:14 2016 -0700 + + rgw: multipart copy part, chunked read + + Don't read the entire range from source object, read it in parts. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4049e47a0cfc1eef6efd502590b68ba7234589d3) + + Signed-off-by: Matt Benjamin + +commit bd118b556562176ce2390a935b3bb8c25a62d0c4 +Author: Javier M. Mellid +Date: Tue Jul 26 14:56:50 2016 +0200 + + rgw: doc: add multipart uploads copy part feature as supported + + Signed-off-by: Javier M. Mellid + (cherry picked from commit 8a7ebeee2ff3f10ceb23b7fa43e43c3c450efe22) + + Signed-off-by: Matt Benjamin + +commit b56b719299becc38ec36d427a36b8c29f2416c08 +Author: Javier M. Mellid +Date: Tue Jul 26 14:53:44 2016 +0200 + + rgw: multipart uploads copy part support + + Add multipart uploads copy part feature. + + Fixes: http://tracker.ceph.com/issues/12790 + + Signed-off-by: Javier M. Mellid + (cherry picked from commit 949480c2e9760855ed6a0501d364d5e766c8207d) + + Signed-off-by: Matt Benjamin + +commit d44263fc91da12ea0ad4fec0cd2877b36ddb9e9f +Author: Radoslaw Zarzynski +Date: Fri Feb 17 00:56:34 2017 +0100 + + rgw: make sending Content-Length in 204 and 304 controllable + + This commit introduces a new configurable "rgw print prohibited + content length" to let operator decide whether RadosGW complies + to RFC 7230 (a part of the HTTP specification) or violates it + but follows the Swift's behavior. + + Fixes: http://tracker.ceph.com/issues/16602 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit d8e3e64ec97a3c222a56bb6f510e5e23d7858615) + + Signed-off-by: Matt Benjamin + +commit f3face61351a61f3b71dfb8268a4b645c4d92da2 +Author: Casey Bodley +Date: Thu Mar 9 15:24:08 2017 -0500 + + rgw: clear old zone short ids on period update + + the short ids of old, removed zones were being kept in the period to + guard against hash collisions with new zones + + but for a hash collision to cause a wrong object to sync, that object + would have to be uploaded simultaneously to two different zones that had + the same short id + + to avoid this, we just have to prevent the period from containing two + colliding zones at the same time - we don't have to remember old zone + short ids forever + + Fixes: http://tracker.ceph.com/issues/15618 + + Signed-off-by: Casey Bodley + (cherry picked from commit 9c45633c836c966ab1f75ea2b1ad3fa0a4886600) + +commit 8c02e54a747644d24feb98dbc15a15cdd55d1afd +Merge: 9d222b9 952f34f +Author: David Zafman +Date: Fri Mar 24 08:13:02 2017 -0700 + + Merge pull request #13146 from dzafman/wip-18502-jewel-zafman + + jewel: osd: Scrub improvements and other fixes + + Reviewed-by: Kefu Chai + +commit 9d222b943217a2ec022678e50b34766d231004ce +Merge: ce2e989 cb9fae5 +Author: Nathan Cutler +Date: Thu Mar 23 16:49:13 2017 +0100 + + Merge pull request #14100 from smithfarm/wip-18781 + + Manually merge PR#13143 which was mistakenly merged to jewel-next + + Reviewed-by: Loic Dachary + Reviewed-by: Ken Dreyer + +commit cb9fae56ebdfda28b0606ee89631deb60e5f7de7 +Merge: ce2e989 ee3c67c +Author: Nathan Cutler +Date: Thu Mar 23 09:46:53 2017 +0100 + + Merge branch 'jewel-next' into jewel + + Branch "jewel-next" was merged to jewel on Dec 22 (5b402f8a7b), and then PR + https://github.com/ceph/ceph/pull/13143 merged to jewel-next much later (Feb + 1st), and then jewel-next was never merged to jewel again before we tagged + v10.2.6. + + This merge brings in a single commit, i.e. the one from + https://github.com/ceph/ceph/pull/13143 + + Reported-by: Ken Dreyer + Signed-off-by: Nathan Cutler + +commit ce2e9897c08775cfbe318f637d61e07eb5433df5 +Merge: 656b5b6 d0a0d2f +Author: Zack Cerza +Date: Tue Mar 14 09:19:28 2017 -0600 + + Merge pull request #13952 from smithfarm/wip-fix-merge-error + + tests: fix merge error in rgw/singleton/all/radosgw-admin.yaml + +commit 0be4e89419f2083d081ac784891e4653290cd530 +Author: Casey Bodley +Date: Tue Oct 11 15:21:42 2016 -0400 + + rgw: hold a reference on data_sync_cr over run() + + run() will drop its reference to data_sync_cr, so we need to hold a + reference until we can reacquire the lock + + Signed-off-by: Casey Bodley + (cherry picked from commit 4cf0d2a768e7402e71280ca16b47353ca2a68505) + +commit 18ffdb7baf4aff1fd7f894af1054081f3ee61d28 +Author: Casey Bodley +Date: Tue Oct 11 15:19:37 2016 -0400 + + rgw: clear data_sync_cr if RGWDataSyncControlCR fails + + async notifications will still try to call wakeup() on RGWDataSyncControlCR + if it fails, leading to segfault + + Fixes: http://tracker.ceph.com/issues/17569 + + Signed-off-by: Casey Bodley + (cherry picked from commit 5cc599b9bf2dde31de16a5b2831baf06851d69d5) + + Conflicts: + src/rgw/rgw_data_sync.cc: declaration of 'int r' + +commit d0a0d2f4bf1dacf7c1f38b968be84a5e905554a8 +Author: Nathan Cutler +Date: Tue Mar 14 01:26:23 2017 +0100 + + tests: fix merge error in rgw/singleton/all/radosgw-admin.yaml + + Introduced by 94d5888c + + Reported-by: Robin H. Johnson + Signed-off-by: Nathan Cutler + +commit 19856624cd5ea8cb82bc5b46e062beb39674bd34 +Author: Casey Bodley +Date: Mon Feb 20 16:00:01 2017 -0500 + + rgw: RGWMetaSyncShardControlCR retries with backoff on all error codes + + RGWBackoffControlCR only treats EBUSY and EAGAIN as 'temporary' error + codes, with all other errors being fatal when exit_on_error is set + + to RGWMetaSyncShardControlCR, a 'fatal' error means that no further sync + is possible on that shard until the gateway restarts + + this changes RGWMetaSyncShardControlCR to set exit_on_error to false, so + that it will continue to retry with backoff no matter what error code it + gets + + Fixes: http://tracker.ceph.com/issues/19019 + + Signed-off-by: Casey Bodley + (cherry picked from commit 3e4059557fd6cad5d31014327f60832b36d04a6c) + +commit dfaaec0446c3db458bffe1d725518ab4f7cc2fa8 +Author: Matt Benjamin +Date: Thu Feb 23 10:21:38 2017 -0500 + + rgw_file: return of RGWFileHandle::FLAG_EXACT_MATCH + + Allow callers of rgw_lookup() on objects attested in an + rgw_readdir() callback the ability to bypass exact match in + RGWLibFS::stat_leaf() case 2, but restore exact match enforcement + for general lookups. + + This preserves required common_prefix namespace behavior, but + prevents clients from eerily permitting things like "cd sara0" via + partial name match on "sara01." + + Fixes: http://tracker.ceph.com/issues/19059 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 70ef7d45e0abf2661bd4e23161d4e70cf5178079) + +commit 9b3784d924112d9ba42b2088d5fb2656ef74fadc +Author: Matt Benjamin +Date: Sun Feb 19 17:43:17 2017 -0500 + + rgw_file: invalid use of RGWFileHandle::FLAG_EXACT_MATCH + + The change which introduced this flag also caused it to be + given as the flags argument to RGWLibFS::stat_leaf() when called + from rgw_lookup(). + + This was incorrect: in particular, when a directory is known only + as a common prefix of other objects, the AWS namespace mapping + convention requires lookup("foo") to match a non-materialized + instance of "foo/" (case 2 in RGWLibFS::stat_leaf's stat loop). + + Fixes: http://tracker.ceph.com/issues/18992 + + Signed-off-by: Matt Benjamin + (cherry picked from commit e31e9eb980f958640150e8d7f17de1b9e5478b1e) + +commit 7761376c92eb38a2dd3d19f0b3d81895a4b1167c +Author: Matt Benjamin +Date: Wed Feb 22 14:57:59 2017 -0500 + + rgw_file: rgw_lookup: don't ref for "/" or ".." + + These refs won't be returned by nfs-ganesha, and are sufficiently + magical that other consumers should be persuaded to understand + their specialness. + + Fixes: http://tracker.ceph.com/issues/19060 + + Signed-off-by: Matt Benjamin + (cherry picked from commit dea8d1ee373399a21851690a9753388b659b8ede) + +commit 97fed013f66a89c404bac5145080e5d556ff5c42 +Author: Matt Benjamin +Date: Wed Feb 22 10:24:29 2017 -0500 + + rgw_file: avoid stranding invalid-name bucket handles in fhcache + + To avoid a string copy in the common mkdir path, handles for + proposed buckets currently are staged in the handle table, before + being rejected. They need to be destaged, not just marked deleted + (because deleted objects are now assumed not to be linked, as of + beaeff059375b44188160dbde8a81dd4f4f8c6eb). + + This triggered an unhandled Boost assert when deleting staged + handles, as current safe_link mode requires first removing from + the FHCache. + + Fixes: http://tracker.ceph.com/issues/19036 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 6cde812c92e5bba9f85fbf8486ebe69b55952370) + +commit d333addb71a0a92fbac5a7b922dbd69fc9e0604e +Author: Brad Hubbard +Date: Mon Feb 27 13:06:59 2017 +1000 + + rgw: set dumpable flag after setuid post ff0e521 + + ff0e521 resolved the issue for the other daemons but not for rgw since + it calls setuid (via civetweb) after the new code sets PR_SET_DUMPABLE. + Add another prctl call before wait_shutdown. + + Fixes: http://tracker.ceph.com/issues/19089 + + Signed-off-by: Brad Hubbard + (cherry picked from commit bc458d39630b599e0e1ca9fe25ad7455fcffdd10) + +commit f7ce5df4064e5538156cb44f9525d7552a0dd098 +Author: Jing Wenjun +Date: Wed Feb 8 15:07:43 2017 +0800 + + rgw: fix swift cannot disable object versioning with empty X-Versions-Location + + we should be able to disable object verioning by removing its X-Versions-Location + metadata header by sending an empty key value. this description can be found at + No.8 in http://docs.openstack.org/user-guide/cli-swift-set-object-versions.html. + + Fixes: http://tracker.ceph.com/issues/18852 + Signed-off-by: Jing Wenjun + (cherry picked from commit 17c5a0edd2227703cec867f0f588d4eae36dfe1c) + +commit 2f2032814189a4ecbf8dc01b59bebfae8ab3f524 +Author: BartÅ‚omiej ÅšwiÄ™cki +Date: Fri Dec 2 16:54:46 2016 +0100 + + osd: Increase priority for inactive PGs backfill + + This change does prioritize backfill of PGs which don't + have min_size active copies. Such PGs would cause IO stalls + for clients and would increase throttlers usage. + + This change also fixes few subtlle out-of-bounds bugs. + + Signed-off-by: BartÅ‚omiej ÅšwiÄ™cki + (cherry picked from commit 6a76adcdb1f92c136841d960aa7cd4e5b94addec) + + Conflicts: + PendingReleaseNotes (removed version number, merged conflicts) + +commit e8041f627c6a05a59dba29819ed610ea0896f4dd +Author: Matt Benjamin +Date: Fri Feb 3 13:44:45 2017 -0500 + + rgw_file: fix RGWLibFS::setattr for directory objects + + Fixes: http://tracker.ceph.com/issues/18808 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 4ad5a9226852d6d564baf2e63278ed6c4c185ecb) + +commit e475bfaf7d3a1b0e54172083a92546560219665a +Author: Matt Benjamin +Date: Thu Feb 23 16:02:07 2017 -0500 + + rgw_file: ensure valid_s3_object_name for directories, too + + The logic in RGWLibFS::mkdir() validated bucket names, but not + object names (though RGWLibFS::create() did so). + + The negative side effect of this was not creating illegal objects + (we won't), but in a) failing with -EIO and b) more importantly, + not removing up the proposed object from FHCache, which produced a + boost assert when recycled. + + Fixes: http://tracker.ceph.com/issues/19066 + + Signed-off-by: Matt Benjamin + (cherry picked from commit eb1cd3b30c0504385f05bf2d2dd5e2251b7efed7) + +commit 78c8be7a0df3d1c669f8a2a8fd7a5676d0823209 +Author: Marcus Watts +Date: Thu Feb 23 02:30:52 2017 -0500 + + rgw/openssl fix: xenial autoconf logic problem: gcc/ld got too smart... + + On xenial, cc -o foo -lssl -lcrypto doesn't always + record libssl.so libcrypto.so as runtime library dependencies. + It is necessary to actually *use* a function from the library before + it gets recorded. The ld(1) options "--as-needed" and "no-as-needed" + control this. Evidently the default has changed in xenial. + That caused my smart "soname" detecting logic for openssl to + stop working. To make it work, the test program has to + actually reference routines or variables inside the library. + + This is a quick fix for xenial / autoconf. There needs to be + a better fix for cmake and master. + + Signed-off-by: Marcus Watts + +commit db928d6b3f983b3a1ccc07440fcd3680700a1188 +Author: Jason Dillaman +Date: Tue Feb 21 15:33:01 2017 -0500 + + rbd-mirror: retry object copy after -ENOENT error + + Fixes: http://tracker.ceph.com/issues/18990 + Signed-off-by: Jason Dillaman + (cherry picked from commit b4f36d5dc3f4f3cbb23f61cbb945b222248a50df) + + Conflicts: + src/test/librados_test_stub/MockTestMemIoCtxImpl.h: sparse reads not supported + src/test/rbd_mirror/image_sync/test_mock_ObjectCopyRequest.cc: sparse reads not supported + +commit a643fa80e03b41edcc720ff77b69ebaf24a23f3e +Author: Jason Dillaman +Date: Tue Feb 21 13:09:39 2017 -0500 + + rbd-mirror: object copy should always reference valid snapshots + + If a remote snapshot is deleted while an image sync is in-progress, + associate the read request against the most recent, valid remote + snapshot for a given snapshot object clone. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 9a91efc3047963364944f8be91cee8e8f6afc49a) + +commit 37bbc95d56f73e4ec9c6e13ddbae199b14b104b4 +Author: Jason Dillaman +Date: Tue Feb 21 11:52:00 2017 -0500 + + rbd-mirror: replace complex object op tuple with struct + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0c181527c0e151784a0f7c466aaa70b0772f91b1) + + Conflicts: + src/tools/rbd_mirror/image_sync/ObjectCopyRequest.cc: sparse reads not supported + src/tools/rbd_mirror/image_sync/ObjectCopyRequest.h: sparse reads not supported + +commit 8941881e8986af0b2871c15d188d94d49e95dc02 +Author: Matt Benjamin +Date: Fri Dec 30 23:30:16 2016 -0500 + + rgw_file: interned RGWFileHandle objects need parent refs + + RGW NFS fhcache/RGWFileHandle operators assume existence of the + full chain of parents from any object to the its fs_root--this is + a consequence of the weakly-connected namespace design goal, and + not a defect. + + This change ensures the invariant by taking a parent ref when + objects are interned (when a parent ref is guaranteed). Parent + refs are returned when objects are destroyed--essentially by the + invariant, such a ref must exist. + + The extra ref is omitted when parent->is_root(), as that node is + not in the LRU cache. + + Fixes: http://tracker.ceph.com/issues/18650 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 0e5299f3f43e633a5d8a9360893b4b11f6217d81) + +commit 952f34f39cdd0438e4a4fb369ea8ca20b26488a8 +Author: David Zafman +Date: Mon Dec 12 15:53:25 2016 -0800 + + test: Update for new error message when doing scrub with deep-scrub errors + + Signed-off-by: David Zafman + (cherry picked from commit 85e0774a7dded4aa6c67f237416041e25a7680bc) + +commit b655b98e48989ae954dc150fcb3d8976978cd90d +Author: David Zafman +Date: Fri Dec 9 12:14:06 2016 -0800 + + osd: Add "trigger_scrub" admin socket command + + This allows testing to fake a schedule scrub (must_scrub not set) + + Signed-off-by: David Zafman + (cherry picked from commit c8dc945260ee2ee841aca00fbc802d41036033d6) + +commit 94c958d2c9570e55305384ac86185e328746d2ff +Author: David Zafman +Date: Thu Dec 8 23:00:13 2016 -0800 + + test: Add test for keeping deep-scrub information + + Signed-off-by: David Zafman + (cherry picked from commit 64a7012e986ec88994c073b738fd08e8958395c3) + +commit 42eb24f18d5114410bd2a3e84e9219584d9e165e +Author: David Zafman +Date: Thu Dec 1 16:39:42 2016 -0800 + + osd: When deep-scrub errors present upgrade regular scrubs + + Previously, if a weekly deep-scrub found errors the next daily scrub + would cause the deep-scrub information to be removed. + + Signed-off-by: David Zafman + (cherry picked from commit 532a759dca466181f37a329f86045c34f1a2506f) + +commit 76a457aa7c411dc5ed22f171954b8ed3c4661845 +Author: David Zafman +Date: Wed Oct 19 17:10:29 2016 -0700 + + tasks/scrub_test.py: Make test deterministic by updating digests + + ceph_test_rados: Get coverage of digest updates in deep-scrub/repair + + Signed-off-by: David Zafman + (cherry picked from commit e000ab2f46b7b98a223176a2a25bb7195e601af6) + +commit bd1f1983129d6e1787b8b5eb4884c5e908f7b274 +Author: David Zafman +Date: Wed Oct 19 17:10:07 2016 -0700 + + repair_test, scrub_test: Fix whitelists for scrub changes + + Signed-off-by: David Zafman + (cherry picked from commit 5fe8522df47f56842d227e08b2912623504afe24) + +commit 28106f06404407df7d05b35f9f570a80e785e635 +Author: David Zafman +Date: Wed Aug 31 12:02:31 2016 -0700 + + scrub_test: Fix for list-inconsistent-obj output changes + + Signed-off-by: David Zafman + (cherry picked from commit 5ae0f5c75a8236d4a026f9ddcb5ff59964d90579) + +commit abcefc1395f76e5b05a988b970457a7f6dac6e8e +Author: David Zafman +Date: Tue Aug 30 12:11:44 2016 -0700 + + doc, test: Add schemas for list-inconsistent-* rados command output + + If jsonschema cmd is available use it to test output against schema + + Signed-off-by: David Zafman + (cherry picked from commit eb73dd473600fbbb45fad00194f7c46b565d6b81) + +commit 2fa2b64676555a91883a5aabb4e4237124308629 +Author: David Zafman +Date: Tue Aug 30 12:22:55 2016 -0700 + + test: Update testing for new list-inconsistent-obj output + + Signed-off-by: David Zafman + (cherry picked from commit b7bacd219b000869b9c93e21edba4f8a3ace60d9) + + Adapted for difference in Jewel object_info + +commit 304f697ff1106695188b572e0da2415437040a6c +Author: David Zafman +Date: Tue Aug 30 12:22:29 2016 -0700 + + rados, osd: Improve attrs output of list-inconsistent-obj + + Persist the user_version and shard id of scrubbed obj + Rados command dump inconsistent obj's version and shard-id + so they can be passed to repair command + Rados list-inconsistent-obj output of attrs + Make attrs an array since there are more than one + Use base64 encode for values with non-printable chars + Add indication if base64 encoding used + Add checking for ss_attr_missing and ss_attr_corrupted + Rename attr errors to attr_key_mismatch and attr_value_mismatch + Add missing size_mismatch_oi scrub checking + For erasure coded pools add ec_size_error and ec_hash_error not just read_error + Use oi_attr_missing and oi_attr_corrupted just like list-inconsistent-snap does + Pick an object info based on version and use that to find specific shards in error + Check for object info inconsistency which should be rare + Make all errors based on comparing shards to each other object errors + We don't want give the impression that we've picked the correct one + + Signed-off-by: Kefu Chai + Signed-off-by: David Zafman + (cherry picked from commit df3ff6dafeadb3822b35c424a890db9a14d7f60f) + +commit ea52f527e530b111b1bb26d10824c0230d662c4a +Author: David Zafman +Date: Thu Sep 1 14:45:01 2016 -0700 + + osd: Fix logging to help with diagnostics + + These messages were not outputing the intended information + + Signed-off-by: David Zafman + (cherry picked from commit b39001ec6ff0996860bcb5a3578bc2c66355c781) + +commit 5e8f8a2288aa1a9f1de86d3f7d0f9c66c795113e +Author: David Zafman +Date: Tue Jun 21 18:05:25 2016 -0700 + + test: Fix use of wait_for_clean() + + Signed-off-by: David Zafman + (cherry picked from commit d0503a52d0fe5505bdb38dfd613c03a20500c05d) + +commit 2230e6adc66ca3e5dbe81aecccdb4a435e93e256 +Author: David Zafman +Date: Tue Aug 30 10:56:06 2016 -0700 + + common: Change cleanbin() to use base64 encoding, update ceph-objectstore-tool + + Signed-off-by: David Zafman + (cherry picked from commit 92e982c71995b863466d83671468f84761cb1793) + +commit 83ea077ee560d31a5c302a62b55451a2571fda8d +Author: David Zafman +Date: Tue Aug 30 11:05:16 2016 -0700 + + common: Move cleanbin() function to common/util.cc + + Signed-off-by: David Zafman + (cherry picked from commit 5c79074ffaee34b2956d9dfc67b1eff9f39b47f3) + + Conflicts: + src/tools/CMakeLists.txt (changes goes in src/CMakeLists.txt) + +commit ba84ca9fa391d963d1d4e46fbf27ce3dbff397be +Author: David Zafman +Date: Wed Jun 8 09:48:00 2016 -0700 + + test: Add test support for deep-scrub + + Signed-off-by: David Zafman + (cherry picked from commit 907e79e2b77835d1aca9e8ba2fae5fa2fd437e5a) + +commit 6a421d19d0be4d59beed5c69bb0aa4477d65a14e +Author: David Zafman +Date: Sat Jun 18 17:58:36 2016 -0700 + + common: Fix indentation + + Signed-off-by: David Zafman + (cherry picked from commit a74418a29e4e469117fc0c4edd80f78b62944c98) + +commit c7c3e070336dc898460d4338b4d78b8963467c8a +Author: David Zafman +Date: Fri Aug 12 12:06:31 2016 -0700 + + osd: Handle corrupt attributes in get_object_context() + + Signed-off-by: David Zafman + (cherry picked from commit 30f8b0d6593718dd10bcf6ff459c95b4bb68c05c) + +commit 8006ba7e86ebb8201a040c427cc95197901064be +Author: Kefu Chai +Date: Fri Nov 11 21:37:50 2016 +0800 + + ReplicatedPG::failed_push: release read lock on failure + + and requeue the blocked ops. + + Fixes: http://tracker.ceph.com/issues/17857 + Signed-off-by: Kefu Chai + (cherry picked from commit b3224a18f6acc7ed54c2162b140a33b6146a16be) + +commit 5ca69d57dbe2ee7acc64d28ca35bb390bf463199 +Author: David Zafman +Date: Fri Oct 14 16:17:55 2016 -0700 + + test.sh: Make check for flags more robust + + Low space broke test, saw "flags nearfull,pauserd,pausewr...." + + Signed-off-by: David Zafman + (cherry picked from commit b4c080b1b4378d659c1ca8a17811cd6f84595166) + +commit 1be38e5ebd2d01d5d527b05e64b026df955ffe69 +Author: David Zafman +Date: Thu Jul 21 17:36:34 2016 -0700 + + test: Remove extra objectstore_tool call which causes a recovery + + Caused by: 70e000a9a42c50eda48f5d3b9e432ffc3a70f75b + + Signed-off-by: David Zafman + (cherry picked from commit 6904529d1b53993304de2927500937ba0d493e9e) + +commit 026f181e72f2e09e769a8821dfe2c99f6213e6a3 +Author: David Zafman +Date: Tue Jun 14 20:09:15 2016 -0700 + + test: Handle object removals in a non-racey way + + Signed-off-by: David Zafman + (cherry picked from commit bfe3ebd94fdc1ef36ebe6e8f9d38acea322eca22) + +commit c5ef385c25086dc1582ebe5343481d05283b0cc6 +Author: David Zafman +Date: Thu May 26 22:09:42 2016 -0700 + + osd: Fix hang on unfound object after mark_unfound_lost is done + + Signed-off-by: David Zafman + (cherry picked from commit 73a27533beba3587f8447b4d41d200427c45042b) + + Conflicts: + src/osd/ReplicatedPG.cc (trivial) + +commit 6284f745157458439699c76e8616455c50d1eb71 +Author: David Zafman +Date: Fri May 20 15:20:18 2016 -0700 + + osd: Handle recovery read errors + + Fixes: http://tracker.ceph.com/issues/13937 + + Signed-off-by: David Zafman + (cherry picked from commit c51d70e1e837c972e42ddd5fa66f7ca4477b95cc) + + Conflicts: + src/osd/ReplicatedPG.h (trivial) + +commit 27393a8c05d4656f342ecd32817307e558a2e400 +Author: David Zafman +Date: Fri May 20 18:19:42 2016 -0700 + + osd: Fix log messages + + Signed-off-by: David Zafman + (cherry picked from commit b40ec3fe890679b4c73778815e1bedd492cb264b) + +commit cbf66f3b16f194dd0c67b46e0fec247e02e84134 +Author: David Zafman +Date: Fri May 20 13:58:32 2016 -0700 + + osd: CLEANUP: Remove unused pending_read member + + Remove unused struct + + Signed-off-by: David Zafman + (cherry picked from commit 36fd68c96653e83f87767feb08530a9fc6e841b0) + +commit 228b91d72a15b62adc10591604c4e8a849df53d5 +Author: David Zafman +Date: Tue Oct 11 18:08:12 2016 -0700 + + test/osd-scrub-repair.sh: Use test case specific object names to help with diagnostics + + Signed-off-by: David Zafman + (cherry picked from commit 0bf4da589155ee50969812492cfbc66368efb54c) + +commit ee3c67c9cbfdeeb3e628bac34b708cf150b3862e +Merge: 3dbf0c9 39848e4 +Author: Nathan Cutler +Date: Wed Feb 1 23:28:22 2017 +0100 + + Merge pull request #13143 from linuxbox2/jewel-mdw-rgw-lf + + jewel: rgw: radosgw/swift: clean up flush / newline behavior. + + Reviewed-by: Nathan Cutler + +commit 39848e41b7c517cc5faab1ccf77c2804fd7d2628 +Author: Marcus Watts +Date: Wed Jan 11 00:06:15 2017 -0500 + + radosgw/swift: clean up flush / newline behavior. + + The current code emits a newline after swift errors, but fails + to account for it when it calculates 'content-length'. This results in + some clients (go github.com/ncw/swift) producing complaints about the + unsolicited newline such as this, + Unsolicited response received on idle HTTP channel starting with "\n"; err= + + This logic eliminates the newline on flush. This makes the content length + calculation correct and eliminates the stray newline. + + There was already existing separator logic in the rgw plain formatter + that can emit a newline at the correct point. It had been checking + "len" to decide if previous data had been emitted, but that's reset to 0 + by flush(). So, this logic adds a new per-instance variable to separately + track state that it emitted a previous item (and should emit a newline). + + Fixes: http://tracker.ceph.com/issues/18473 + Signed-off-by: Marcus Watts + Signed-off-by: Matt Benjamin + (cherry picked from commit 5f229d6a33eae4906f22cdb90941835e47ee9f02) + +commit 3fce77ab3662496368e25cbbf6d1b37d3c140db9 +Author: Vikhyat Umrao +Date: Wed Jan 25 21:54:27 2017 +0530 + + osd: jewel fix OSD network address in OSD heartbeat_check log message + + Fixes: http://tracker.ceph.com/issues/18657 + + Signed-off-by: Vikhyat Umrao + +commit 14a6aabe22f68436ea3297ce0851700f86ee5b12 +Author: Marcus Watts +Date: Wed Aug 3 17:36:55 2016 -0400 + + rgw: Handle multiple listening addreses w/ optional ssl "correctly" with civetweb. + + For civetweb: accept a range of port numbers joined with '+'. + Port numbers may include an ipaddress: prefix and 's' suffix. + Additionally, use "mg_get_local_addr" to correctly deduce host port per + incoming connection. + + civetweb can accept connections on multiple ports, some of which + might have SSL turned on and some not. Both s3 and swift have various + authorization protocols in which the port number matters. In the generic + radosgw frontend process, each frontend only has one port number, but + we should want to have both ssl and non-ssl connections managed within + one rgw frontend, because the thread pool is also per front-end, and + that *is* a scarce resource. + + So, this patch enables the use of multiple ports with a single civetweb + frontend. To indicate https: append an 's' to portno. To use multiple + ports, use +. So 80+443s indicates use of the usual default http ports. + The parsed port is not stored in the frontend structure, + + So instead, this patch adds logic to use the results of + mg_get_local_addr() on a per-connection basis insetad of the generic + front-end port number. This will affect "v4" s3 authorization, and also + affect swift pre-signed URLs. + + mg_get_local_addr() is a new customization to civetweb; that submodule + was updated (in a temporary repository) by the previous commit to this. + + Signed-off-by: Marcus Watts + (cherry picked from commit 8bc6decc0774fae9ac881f91e73da55deebe3360) + +commit 698250563ccc4c69e5ca5aebf65dc352d80a8bdd +Author: Marcus Watts +Date: Tue Dec 20 00:22:02 2016 -0500 + + rgw: s3: secure_port should override port, also apply ssl default right. + + Without https, only port is set. With https, secure_port and port are + both set to the same value. The previous logic looked at port first and + had overly simplified conditional logic which was liable to try to apply + both non-default cases. The correct behavior is: look secure_port first, + and if secure_port is set, then only check to see if it's a non-default + port. + + Signed-off-by: Marcus Watts + (cherry picked from commit a113cf5ff5a642d2ee4cc83f5c7001b4bfe0a5df) + +commit 28f2841c8b9a832e486b9f89c574a4591bf3d448 +Author: Marcus Watts +Date: Wed Nov 2 00:18:48 2016 -0400 + + rgw: Get civetweb ssl enhancement: wip-listen3 = mg_get_local_addr + + The logic inside of radosgw that computes aws v4 signatures wants to know + what server port the client connected. The patch to civetweb patch adds a + call mg_get_local_addr() which will permit that code to actually find out + on what address a connection was received, rather than merely guessing + based on configuration as it previously did. + + Signed-off-by: Marcus Watts + (cherry picked from commit 46ced9ddd2795f00f014e22e5637070b49e7a6d5) + +commit 8d83dfb4176ede7490d0cab589e9566bc7d4e387 +Author: Marcus Watts +Date: Wed Mar 23 17:32:14 2016 -0400 + + rgw: Document that radosgw now supports SSL. + + This includes information on file format and configuration file syntax. + + Signed-off-by: Marcus Watts + (cherry picked from commit d4e72dfed30274b3cfbad4ac58c0746a98c0148b) + +commit e3f80c9d0ed6762a39fc242561f5ea26f0f26546 +Author: Marcus Watts +Date: Fri Jan 13 03:39:57 2017 -0500 + + rgw: civetweb/openssl: automagic: load libssl.so and libcrypto.so by soname. + + If building with radosgw, always look for openssl library (even when + building with nss). Then, use objdump to fetch SONAME from the copies + of libssl and libcrypto that were found. When building civetweb; pass + the library soname values in as the libraries to load with "dlopen". + + The issue reported here against master + http://tracker.ceph.com/issues/16535 + reflects stuff that doesn't seem to have made it into jewel + (which had: -lssl -lcrypto hard-wired into it.) + Still, since people were pretty riled about making that change, + this puts things in congruence to the final result in master. + (which is: runtime shared object load of ssl crypto by soname.) + + Fixes: http://tracker.ceph.com/issues/11239 + + Signed-off-by: Marcus Watts + (inspired by commit 7caa0bd002110b62514da83a37a2a3deb841267a) + +commit 045551485415309ba9bad77e1aee28a0008881ca +Author: Marcus Watts +Date: Mon Jul 11 17:54:07 2016 -0400 + + rgw: civetweb/openssl: Load libssl.so and libcrypto.so by soname. + + If building with radosgw, always look for openssl library (even when + building with nss). Then, use objdump to fetch SONAME from the copies + of libssl and libcrypto that were found. When building civetweb; pass + the library soname values in as the libraries to load with "dlopen". + + This is a problem that went away for a bit, but came back with some + changes for + http://tracker.ceph.com/issues/16535 + + Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1341775 + Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1258961 + + Fixes: http://tracker.ceph.com/issues/11239 + + Signed-off-by: Marcus Watts + (cherry picked from commit 7caa0bd002110b62514da83a37a2a3deb841267a) + +commit 386640865dee30d38f17e55fc87535e419bc3cb5 +Author: Marcus Watts +Date: Thu Nov 3 23:33:44 2016 -0400 + + rgw: cmake: remove useless civetweb include path side effect. + + For 'target_include_directories" for the cmake object library + 'civetweb_common_objs', change from PUBLIC to PRIVATE. This doesn't + break anything, so it wasn't doing anything useful. If it has it + any effect, it would be to cause everything that linked against this + "library" to also use the indictated include path. Which would be great + except everything in ceph wants to include "civetweb/civetweb.h" and + not "civetweb.h". We already make separate arrangements elsewhere for + that to work. Additionally, static object libraries in cmake aren't + really libraries, so I'm not entirely sure this even does anything. + So: making this public is not useful, and could be harmful. Making it + private makes this only take effect for building civetweb.c itself, + exactly the effect we we require, and no more. + + Signed-off-by: Marcus Watts + (cherry picked from commit 8308a13b0257c9460fd2a721c20b0c37cb9e7c57) diff --git a/doc/changelog/v10.2.8.txt b/doc/changelog/v10.2.8.txt new file mode 100644 index 00000000..575a7b06 --- /dev/null +++ b/doc/changelog/v10.2.8.txt @@ -0,0 +1,5435 @@ +commit f5b1f1fd7c0be0506ba73502a675de9d048b744e +Author: Jenkins Build Slave User +Date: Thu Jul 6 14:56:18 2017 +0000 + + 10.2.8 + +commit 66dbf9beef04988dbd3653591e51afa6d84e3990 +Merge: 2f491b2e5e f46ccf2cb4 +Author: Nathan Cutler +Date: Tue Jul 4 17:43:57 2017 +0200 + + Merge pull request #14710 from smithfarm/wip-start-race + + tests: rados: sleep before ceph tell osd.0 flush_pg_stats after restart + + Reviewed-by: Sage Weil + Reviewed-by: Kefu Chai + Reviewed-by: David Zafman + +commit 2f491b2e5e8b1f340b28415c3bd3d9628603c377 +Merge: 552a573f84 a372b4eca1 +Author: Yuri Weinstein +Date: Tue Jul 4 07:31:50 2017 -0700 + + Merge pull request #16089 from ceph/wip_fix_point_jewel + + qa/Fixed upgrade sequence to 10.2.0 -> 10.2.7 -> latest -x (10.2.8) + + Reviewed-by: Nathan Cutler + +commit 552a573f8426ecfec1a0df21a6c3941afd4e460c +Merge: 53a3be7261 55eeaadfc4 +Author: Yuri Weinstein +Date: Mon Jul 3 17:23:43 2017 -0700 + + Merge pull request #16088 from smithfarm/wip-fix-client-upgrade-centos + + tests: run upgrade/client-upgrade on latest CentOS 7.3 + + Reviewed-by: Yuri Weinstein + +commit a372b4eca1f25647541943918ae737f20783db11 +Author: Yuri Weinstein +Date: Mon Jul 3 14:18:14 2017 -0700 + + Fixed upgrade sequence to 10.2.0 -> 10.2.7 -> latest -x (10.2.8) + + Signed-off-by: Yuri Weinstein + +commit 55eeaadfc4025c83cb63c951265710868df0325f +Author: Nathan Cutler +Date: Mon Jul 3 22:55:21 2017 +0200 + + tests: run upgrade/client-upgrade on latest CentOS 7.3 + + Before this patch, all centos jobs were failing because there are no longer any + CentOS 7.2 machines in Sepia. + + Signed-off-by: Nathan Cutler + +commit 53a3be7261cfeb12445fbdba8238eefa40ed09f5 +Merge: 84bd162978 d33b30cdb0 +Author: Nathan Cutler +Date: Fri Jun 30 16:43:38 2017 +0200 + + Merge pull request #15504 from Vicente-Cheng/wip-20151-jewel + + jewel: ceph-disk: do not setup_statedir on trigger + + Reviewed-by: Josh Durgin + +commit 84bd162978e48eead40335bcbd92e4ab18e9c590 +Merge: c710689109 8e0e4a0ce7 +Author: Nathan Cutler +Date: Wed Jun 28 10:20:23 2017 +0200 + + Merge pull request #15904 from smithfarm/wip-20413-jewel + + jewel: tests: upgrade:hammer-x/stress-split-erasure-code-x86_64 fails in 10.2.8 integration testing + + Reviewed-by: Brad Hubbard + +commit c7106891096c895f0cc5c2cef438078ea48de95d +Merge: 5c6cb14806 9d3110c276 +Author: Nathan Cutler +Date: Wed Jun 28 08:16:33 2017 +0200 + + Merge pull request #14930 from smithfarm/wip-19829-jewel + + jewel: tests: New upgrade test for #14930 + + Reviewed-by: Josh Durgin + +commit 5c6cb1480699f5ce464e25b9cacdda770ce3660d +Merge: bdc085d02a d43e19d886 +Author: Nathan Cutler +Date: Wed Jun 28 08:16:04 2017 +0200 + + Merge pull request #14392 from asheplyakov/19508-jewel + + jewel: osd: pg_pool_t::encode(): be compatible with Hammer <= 0.94.6 + + Reviewed-by: Josh Durgin + +commit 9d3110c276917055b078cd14c181b2bda2625821 +Author: Nathan Cutler +Date: Sun Jun 25 10:32:16 2017 +0200 + + tests: upgrade/hammer-x/v0-94-6-mon-overload: tweak packages list + + Include some hammer dependencies that aren't in the jewel default packages + list, and exclude some java packages that may not be in the hammer repo and are + not needed for the upgrade test in any case. + + N.B.: This cannot be cherry-picked from master because upgrade/hammer-x was + dropped in master. + + Signed-off-by: Nathan Cutler + +commit 6a64f8901bb3b218a8dc58b11d6c13033d45f067 +Author: Nathan Cutler +Date: Wed May 3 11:39:27 2017 +0200 + + tests: upgrade/hammer-x: new v0-94-6-mon-overload subsuite + + This is not a cherry-pick from master because direct upgrades + from hammer to kraken+ are not supported. + + Fixes: http://tracker.ceph.com/issues/19829 + References: http://tracker.ceph.com/issues/19508 + Signed-off-by: Nathan Cutler + +commit bdc085d02ab9723f6b90b6a3047bc51cf224b930 +Merge: e41ae4a7b1 d2d4b7202d +Author: Nathan Cutler +Date: Tue Jun 27 12:41:59 2017 +0200 + + Merge pull request #15936 from batrick/i20412 + + qa: enable quotas for pre-luminous quota tests + + Reviewed-by: John Spray + Reviewed-by: Nathan Cutler + +commit d2d4b7202d77e5696eb18c4da4f7d614116ced36 +Author: Patrick Donnelly +Date: Mon Jun 26 19:04:48 2017 -0700 + + qa: enable quotas for pre-luminous quota tests + + This cannot be cherry-picked from master because the config option is removed + since 0f250a889dba2100d3afcea0a18e4f6a8d086b86. + + Fixes: http://tracker.ceph.com/issues/20412 + + Signed-off-by: Patrick Donnelly + +commit e41ae4a7b1b9cc4394473e21f6e6d6ef9cab1d59 +Merge: a21af3b7a1 682b4d717c +Author: Sage Weil +Date: Mon Jun 26 21:24:11 2017 -0500 + + Merge pull request #15933 from smithfarm/wip-hammer-jewel-x + + jewel: tests: drop upgrade/hammer-jewel-x + +commit 682b4d717c96b516c315a01b1174af3503dedba6 +Author: Nathan Cutler +Date: Tue Jun 27 02:27:22 2017 +0200 + + tests: drop upgrade/hammer-jewel-x + + This suite doesn't have any test logic in it. Its existence in the jewel branch + appears to be an oversight. + + This cannot be cherry-picked from master because the upgrade/hammer-jewel-x + suite is present (and justified) in master and is not currently being dropped + there. + + Signed-off-by: Nathan Cutler + +commit a21af3b7a1ea5abfa4f344800e413d6249824204 +Merge: 615a6ab9b7 a744340790 +Author: John Spray +Date: Mon Jun 26 16:25:12 2017 -0400 + + Merge pull request #15438 from Vicente-Cheng/wip-20027-jewel + + jewel: mds: issue new caps when sending reply to client + + Reviewed-by: John Spray + +commit 615a6ab9b723d204c6de567750fe9450742fcedb +Merge: 9b13b48b3e 8ac0e5c363 +Author: John Spray +Date: Mon Jun 26 16:23:48 2017 -0400 + + Merge pull request #15000 from jan--f/wip-19846-jewel + + jewel: cephfs: normalize file open flags internally used by cephfs + + Reviewed-by: John Spray + +commit 9b13b48b3ed919340789a41d065eb4a9a27110de +Merge: d217da1742 b429fa1807 +Author: Nathan Cutler +Date: Mon Jun 26 18:25:03 2017 +0200 + + Merge pull request #15383 from asheplyakov/20014-bp-jewel + + jewel: cls/rgw: list_plain_entries() stops before bi_log entries + + Reviewed-by: Orit Wasserman + +commit d217da174252f9126d530868aa472230ecba31ca +Merge: e520040ece 4028774122 +Author: Zack Cerza +Date: Mon Jun 26 10:17:03 2017 -0600 + + Merge pull request #15870 from smithfarm/wip-swift-task-move-jewel + + tests: move swift.py task from teuthology to ceph, phase one (jewel) + +commit e520040ecec756ce181f716dad1c0bad41c77a7d +Merge: dde8656e6b 1c0c9093ab +Author: Nathan Cutler +Date: Mon Jun 26 09:24:04 2017 +0200 + + Merge pull request #15842 from smithfarm/wip-sortbitwise-jewel + + qa/suites/upgrade/hammer-x: set "sortbitwise" for jewel clusters + + Reviewed-by: Kefu Chai + +commit dde8656e6b5e7ffe66a6fd695cbc17dfb18fb43e +Merge: 498c96e66a 06cf9f3650 +Author: John Spray +Date: Sun Jun 25 19:59:40 2017 -0400 + + Merge pull request #15468 from smithfarm/wip-20140-jewel + + jewel: cephfs: Journaler may execute on_safe contexts prematurely + + Reviewed-by: John Spray + +commit 4028774122954023265d7825fbf9e91dc526fdee +Author: Nathan Cutler +Date: Sun Jun 25 12:42:36 2017 +0200 + + tests: swift.py: tweak imports + + The ".." form only works within the teuthology repo. With swift.py now in the + Ceph repo, we have to be explicit. + + Error message was: "ValueError: Attempted relative import beyond toplevel + package + + Signed-off-by: Nathan Cutler + +commit 8e0e4a0ce7489542f47522e0a5161a5bf123c744 +Author: Nathan Cutler +Date: Sun Jun 25 10:27:58 2017 +0200 + + tests: upgrade/hammer-x/stress-split: tweak packages list + + Include some hammer dependencies that aren't in the jewel default packages + list, and exclude some java packages that may not be in the hammer repo and are + not needed for the upgrade test in any case. + + N.B.: This cannot be cherry-picked from master because upgrade/hammer-x was + dropped in master. + + Signed-off-by: Nathan Cutler + +commit a86ce728954a765797ce634025d43650d990e480 +Author: Nathan Cutler +Date: Sun Jun 25 09:27:47 2017 +0200 + + tests: swift.py: clone the ceph-jewel branch + + The master branch of ceph/swift.git contains tests that are incompatible with + Jewel and Hammer. The ceph-jewel branch omits these tests. + + Signed-off-by: Nathan Cutler + +commit 498c96e66a91edc8bd614cfc8fc5a14b3d210a76 +Merge: 38af498f9f cda721bbbf +Author: John Spray +Date: Fri Jun 23 08:02:48 2017 -0400 + + Merge pull request #15472 from smithfarm/wip-20148-jewel + + jewel: mds: Too many stat ops when trying to probe a large file + + Reviewed-by: John Spray + +commit 3d5b489369bb2cecccb1f36347654c0a37069d1c +Merge: 38af498f9f 7b58ac97e9 +Author: Nathan Cutler +Date: Fri Jun 23 08:35:27 2017 +0200 + + Merge branch 'master' of /home/smithfarm/src/ceph/upstream/teuthology into wip-swift-task-move-jewel + +commit 7b58ac97e9dd195f4170e9e0ea00bae76d1f3ccd +Author: Nathan Cutler +Date: Fri Jun 23 08:27:42 2017 +0200 + + tests: move swift.py task to qa/tasks + + In preparation for moving this task from ceph/teuthology.git into ceph/ceph.git + + The move is necessary because jewel-specific changes are needed, yet teuthology + does not maintain a separate branch for jewel. Also, swift.py is a + Ceph-specific task so it makes more sense to have it in Ceph. + + Signed-off-by: Nathan Cutler + +commit 38af498f9f7b62f9f851364ae7f2691832423198 +Merge: d0ae1de51f aa0cd461df +Author: Nathan Cutler +Date: Thu Jun 22 22:07:23 2017 +0200 + + Merge pull request #15529 from badone/wip-async-sleep-timer-fix-jewel + + jewel: osd: Implement asynchronous scrub sleep + + Reviewed-by: Josh Durgin + +commit 1c0c9093ab913a82c1dc5656a54b4009bdc35c9c +Author: Nathan Cutler +Date: Thu Jun 22 11:32:42 2017 +0200 + + qa/suites/upgrade/hammer-x: set "sortbitwise" for jewel clusters + + Inspired by 3734280522a913ca8340ebc98b80978f63bade6f + + This cannot be cherry-picked from master because master does not have + qa/suites/upgrade/hammer-x + + Signed-off-by: Nathan Cutler + +commit d0ae1de51f5faf26a2f4b0d5b7f494a4923f870d +Merge: 64c011a8c4 de76fdbb9f +Author: Kefu Chai +Date: Thu Jun 22 11:59:51 2017 +0800 + + Merge pull request #15824 from tchaikov/jewel + + qa/workunits/rados/test-upgrade-*: whitelist tests the right way + + Reviewed-by: Sage Weil + +commit de76fdbb9f435652e2c15326d00b01d26ab007a7 +Author: Kefu Chai +Date: Thu Jun 22 08:06:43 2017 +0800 + + qa/workunits/rados/test-upgrade-*: whitelist tests the right way + + --gtest_filter=POSTIVE_PATTERNS[-NEGATIVE_PATTERNS], so we cannot add + multiple exclusive patterns using -pattern:-pattern, instead, we should + use: -pattern:pattern + + Signed-off-by: Kefu Chai + Conflicts: + qa/workunits/rados/test-upgrade-v11.0.0.sh: this change is not + cherry-picked from master, because the clone-range op was removed + from master. and only supported in pre-luminous releases. + +commit 64c011a8c4af27dc095b1a9190ccf1ca76d2cc8f +Merge: e8da5e376f ab78cd040f +Author: Nathan Cutler +Date: Tue Jun 20 22:54:00 2017 +0200 + + Merge pull request #14661 from smithfarm/wip-19575-jewel + + jewel: rgw: unsafe access in RGWListBucket_ObjStore_SWIFT::send_response() + + Reviewed-by: Casey Bodley + +commit e8da5e376fc426f85fcab84a5ae71b3c17ed0068 +Merge: 5a1e849ecf 1af6781d3c +Author: Kefu Chai +Date: Tue Jun 20 22:42:47 2017 +0800 + + Merge pull request #15778 from tchaikov/wip-upgrade-without-clone-range-jewel + + qa/workunits/rados/test-upgrade-*: whitelist tests for master + + Reviewed-by: Sage Weil + +commit d43e19d88692bd318f0569559867df919c26d8db +Author: Alexey Sheplyakov +Date: Fri Apr 7 12:34:20 2017 +0400 + + jewel: osd: pg_pool_t::encode(): be compatible with Hammer <= 0.94.6 + + This patch is necessary for Jewel only since direct upgrades from Hammer + to Kraken and newer are not supported. + + Fixes: http://tracker.ceph.com/issues/19508 + + Signed-off-by: Alexey Sheplyakov + +commit 1af6781d3c60421930087d31124e62cae530ca24 +Author: Kefu Chai +Date: Tue Jun 20 19:49:14 2017 +0800 + + qa/workunits/rados/test-upgrade-*: whitelist tests for master + + The jewel-x upgrade test now runs this script against a mixed cluster on + a machine with code from master installed. That means we have to + skip any new tests that will fail on a mixed cluster. CloneRange was + removed in 0d7b0b7. + + Signed-off-by: Kefu Chai + Conflicts: + qa/workunits/rados/test-upgrade-v11.0.0.sh: this change is not + cherry-picked from master, because the clone-range op was removed from + master. and only supported in pre-luminous releases. + +commit a74434079088129244b7aae6ccc6df7094282eba +Author: Yan, Zheng +Date: Sat Apr 22 12:27:12 2017 +0800 + + mds: issue new caps when sending reply to client + + After Locker::issue_new_caps() adds new Capability data struct, + do not issue caps immediately. Let CInode::encode_inodestate() + do the job instead. This can avoid various races that early reply + is not allowed, caps that haven't been sent to client gets revoked. + + Fixes: http://tracker.ceph.com/issues/19635 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 799703a4acb49db0b6cc99a23e4326767e694c3a) + +commit d33b30cdb019937ff88f9724599f52f4e00d37cf +Author: Loic Dachary +Date: Thu Jun 1 11:37:20 2017 +0200 + + ceph-disk: do not setup_statedir on trigger + + trigger may run when statedir is unavailable and does not use it. + + Fixes: http://tracker.ceph.com/issues/19941 + + Signed-off-by: Loic Dachary + (cherry picked from commit 16bfbdd3d9988523bba31aace516c303057daa58) + +commit f46ccf2cb4701cd93cd9b15a4e57b5b97798b947 +Author: Nathan Cutler +Date: Fri Apr 21 11:05:05 2017 +0200 + + tests: rados: sleep before ceph tell osd.0 flush_pg_stats after restart + + Even though we wait for HEALTH_OK after restarting the daemons, they are not + ready to respond to flush_pg_stats. + + The reason why the osd is not ready for "tell" command after "ceph health" + shows that the cluster is "HEALTH_OK" is that the monitor fails to be notified + that the osd in question is not up in "heatbeat_interval". Because infernalis + does not have the osd_fast_fail_on_connection_refused support, the monitor + needs longer to detect that an osd is down, and osd_heartbeat_grace is used to + determine if an osd is down. + + References: http://tracker.ceph.com/issues/16239 + Signed-off-by: Nathan Cutler + Signed-off-by: Kefu Chai + +commit ab78cd040f6d3946ed40b6638ebcf52969a7cbb6 +Author: Yehuda Sadeh +Date: Wed Mar 8 14:52:34 2017 -0800 + + rgw: fix crash when listing objects via swift + + Fixes: http://tracker.ceph.com/issues/19249 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a9ec5e8ce184e19c009863db4d3519f9d8af91bd) + + Conflicts: + src/rgw/rgw_rest_swift.cc ("key" element of RGWObjEnt struct + is not a reference; fix) + + (cherry picked from commit 92b35155ff7b7492f3c50bf4f2ff0ffef2ca1c55) + +commit 5a1e849ecf215d82e31b9bdd0970cb04200de2c9 +Merge: 2469085d57 66c3db7aee +Author: Nathan Cutler +Date: Mon Jun 19 22:46:47 2017 +0200 + + Merge pull request #14752 from cbodley/wip-19474 + + jewel: rgw: allow system users to read SLO parts + + Reviewed-by: Casey Bodley + +commit cda721bbbfae00ec4244718ae20cbd9ae914c630 +Author: Yan, Zheng +Date: Fri May 19 09:37:15 2017 +0800 + + client: update the 'approaching max_size' code + + The old 'approaching max_size' code expects MDS set max_size to + '2 x reported_size'. This is no longer true. The new code reports + file size when half of previous max_size increment has been used. + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 9316b0442c6f828dcf8da952e4c7a63c4db1398d) + + Conflicts: + src/client/Client.cc - in jewel, second argument to check_caps() is + a bool (see 0df562a8e13 which is not in jewel) + +commit 439f39128ec278ce78139d4b96ed098c68efa3f5 +Author: Yan, Zheng +Date: Wed May 17 19:08:37 2017 +0800 + + mds: limit client writable range increment + + For very large file, setting the writable range to '2 * file_size' + causes file recovery to run a long time. To recover a 1T file, Filer + needs to probe 2T~1T range. + + Fixes: http://tracker.ceph.com/issues/19955 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 538f35bef944b18e9bca2b15ed7f4e8807ef0554) + + Conflicts: + src/mds/Locker.h - in jewel, file_update_finish() has different + arguments than it does in master + +commit 06cf9f365033f7913051bdf4060f0bc6fc0444d7 +Author: Yan, Zheng +Date: Tue May 23 21:46:54 2017 +0800 + + osdc/Journaler: avoid executing on_safe contexts prematurely + + Journaler::_do_flush() can skip flushing some data when prezered + journal space isn't enough. Before updating Journaler::next_safe_pos, + we need to check if Journaler::_do_flush() has flushed enough data. + + Fixes: http://tracker.ceph.com/issues/20055 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 6511e7a9e35a14216c03cd6921ca4d232274f953) + +commit 2e299b50de4a297fee2aec21290632336d239857 +Author: Yan, Zheng +Date: Wed Apr 12 16:00:18 2017 +0800 + + osdc/Journaler: make header write_pos align to boundary of flushed entry + + This can speed up the process that detects and drops partial written + entry in the log tail. + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 8ae2962b79903e217fda83cea4140af64b5d6883) + + Conflicts: + src/osdc/Journaler.cc - 8d4f6b92cba is not being backported to jewel + src/osdc/Journaler.h - Journaler::Journaler initializer list is different in jewel, compared to master + +commit 2469085d57a05933589165f6f99a67b2e28c7022 +Merge: 42c3fbc129 d57437e338 +Author: John Spray +Date: Wed Jun 14 10:01:27 2017 -0400 + + Merge pull request #14672 from smithfarm/wip-19334-jewel + + jewel: MDS heartbeat timeout during rejoin, when working with large amount of caps/inodes + + Reviewed-by: John Spray + +commit 8ac0e5c363bd6439071d26874b6714cf2376736f +Author: Yan, Zheng +Date: Fri May 12 10:38:51 2017 +0800 + + pybind: fix cephfs.OSError initialization + + Traceback (most recent call last): + File "", line 1, in + File "cephfs.pyx", line 672, in cephfs.LibCephFS.open (/home/zhyan/Ceph/ceph-2/build/src/pybind/cephfs/pyrex/cephfs.c:10160) + File "cephfs.pyx", line 155, in cephfs.OSError.__init__ (/home/zhyan/Ceph/ceph-2/build/src/pybind/cephfs/pyrex/cephfs.c:1889) + TypeError: __init__() takes exactly 3 positional arguments (2 given) + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit e6493f64ba4592b8dca54ece4464efa6c7f331a7) + +commit 09b9410c2e69a466b001d92fc14eb44d768009f1 +Author: Yan, Zheng +Date: Wed May 10 08:13:52 2017 +0800 + + pybind: fix open flags calculation + + (O_WRONLY | O_RDWR) is invaild open flags + + Fixes: http://tracker.ceph.com/issues/19890 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 2c25c99cb4572ffae97555a56b24a4c4097dcdec) + +commit 42c3fbc129cbb60d447c1a6b0402a9def1656446 +Merge: 71d45e1905 7347f11939 +Author: John Spray +Date: Wed Jun 14 09:43:05 2017 -0400 + + Merge pull request #14677 from smithfarm/wip-19665-jewel + + jewel: mds: C_MDSInternalNoop::complete doesn't free itself + + Reviewed-by: John Spray + +commit 71d45e190528124a8ff7e4674f7bfb7c340f80ee +Merge: 27c915f5d2 e6daee8a9f +Author: John Spray +Date: Wed Jun 14 09:35:08 2017 -0400 + + Merge pull request #15466 from smithfarm/wip-19762-jewel + + jewel: cephfs: non-local quota changes not visible until some IO is done + + Reviewed-by: John Spray + +commit 27c915f5d21bd84502e35eb269d955fafc47de0b +Merge: a76357622a db053da618 +Author: John Spray +Date: Wed Jun 14 09:32:47 2017 -0400 + + Merge pull request #14700 from smithfarm/wip-19709-jewel + + jewel: mds: enable start when session ino info is corrupt + + Reviewed-by: John Spray + +commit a76357622a2773850153aa1f6ea02b1737942c4b +Merge: 85aab833f7 db86a24e79 +Author: John Spray +Date: Wed Jun 14 09:31:22 2017 -0400 + + Merge pull request #14685 from smithfarm/wip-19675-jewel + + jewel: cephfs: Test failure: test_data_isolated (tasks.cephfs.test_volume_client.TestVolumeClient) + + Reviewed-by: John Spray + +commit 85aab833f7f66ac81d8b12f4203fa215787f8d2a +Merge: f6b395115e 7b9283beec +Author: John Spray +Date: Wed Jun 14 09:30:53 2017 -0400 + + Merge pull request #14684 from smithfarm/wip-19673-jewel + + jewel: cephfs: mds is crushed, after I set about 400 64KB xattr kv pairs to a file + + Reviewed-by: John Spray + +commit f6b395115e4de15d73269ff6b96f2ee0fd0ea9c3 +Merge: ff60fceb5f b52c508861 +Author: John Spray +Date: Wed Jun 14 09:30:13 2017 -0400 + + Merge pull request #14683 from smithfarm/wip-19671-jewel + + jewel: cephfs: MDS assert failed when shutting down + + Reviewed-by: John Spray + +commit ff60fceb5f5f7f9df4a48da4ad8bd863b9a04e2d +Merge: 6a6d57d2de 96e801fb53 +Author: John Spray +Date: Wed Jun 14 09:29:50 2017 -0400 + + Merge pull request #14682 from smithfarm/wip-19668-jewel + + jewel: cephfs: MDS goes readonly writing backtrace for a file whose data pool has been removed + + Reviewed-by: John Spray + +commit 6a6d57d2de674c5a971e999cb2731b2d8ae1b523 +Merge: 8260669efa f34489dd52 +Author: John Spray +Date: Wed Jun 14 09:27:13 2017 -0400 + + Merge pull request #14679 from smithfarm/wip-19666-jewel + + jewel: cephfs: The mount point break off when mds switch hanppened. + + Reviewed-by: John Spray + +commit 8260669efa74f41d3b1b1039fb7b34e070951c34 +Merge: 013529b61f 824b19a9a6 +Author: John Spray +Date: Wed Jun 14 09:26:40 2017 -0400 + + Merge pull request #14676 from smithfarm/wip-19619-jewel + + jewel: cephfs: MDS server crashes due to inconsistent metadata. + + Reviewed-by: John Spray + +commit 013529b61fc4fbf02656f7c6cb0baa1bc6004758 +Merge: b518522f64 eab56dae67 +Author: John Spray +Date: Wed Jun 14 09:24:38 2017 -0400 + + Merge pull request #14674 from smithfarm/wip-19482-jewel + + jewel: cephfs: No output for ceph mds rmfailed 0 --yes-i-really-mean-it command + + Reviewed-by: John Spray + +commit b518522f64b66f4a14618a9345b6314ca0f2c54c +Merge: 388e0d1bc3 63f41d543f +Author: John Spray +Date: Wed Jun 14 09:23:27 2017 -0400 + + Merge pull request #14671 from smithfarm/wip-19044-jewel + + jewel: tests: buffer overflow in test LibCephFS.DirLs + + Reviewed-by: John Spray + +commit 388e0d1bc35985a6916d3eb1ca5184a0907b6e8b +Merge: d7c7ce7ebb 7146816065 +Author: John Spray +Date: Wed Jun 14 09:23:13 2017 -0400 + + Merge pull request #14670 from smithfarm/wip-18949-jewel + + jewel: mds: avoid reusing deleted inode in StrayManager::_purge_stray_logged + + Reviewed-by: John Spray + +commit d7c7ce7ebbb663dab0dfa8058c845d494d7615cc +Merge: d717ef73bc d8b139b584 +Author: John Spray +Date: Wed Jun 14 09:22:28 2017 -0400 + + Merge pull request #14669 from smithfarm/wip-18900-jewel + + jewel: cephfs: Test failure: test_open_inode + + Reviewed-by: John Spray + +commit d717ef73bc0d5ef24551ec9157385c8b0521380b +Merge: c2a3b7567f 36c86f71ef +Author: John Spray +Date: Wed Jun 14 09:21:43 2017 -0400 + + Merge pull request #14668 from smithfarm/wip-18705-jewel + + jewel: mds: fragment space check can cause replayed request fail + + Reviewed-by: John Spray + +commit c2a3b7567fbe0b2f62bcd38cd9bb9a5a2a238743 +Merge: fd9256b770 5b56214519 +Author: John Spray +Date: Tue Jun 13 19:05:55 2017 +0100 + + Merge pull request #14698 from smithfarm/wip-19677-jewel + + jewel: cephfs: ceph-fuse does not recover after lost connection to MDS + + Reviewed-by: John Spray + +commit fd9256b77010066c934fd0016eb6d3f9c1fb54e1 +Merge: 26ada59c81 c49b114e8d +Author: Abhishek L +Date: Fri Jun 9 19:39:17 2017 +0200 + + Merge pull request #14766 from smithfarm/wip-19757-jewel + + jewel: rgw: fix failed to create bucket if a non-master zonegroup has a single zone + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Casey Bodley + +commit 26ada59c810bfda5c16f2d935a2b98711e7b2c76 +Merge: fdd25c2bdb e552d91f73 +Author: Abhishek L +Date: Fri Jun 9 19:38:46 2017 +0200 + + Merge pull request #14787 from linuxbox2/jewel-rgw-shard-limit-ck + + jewel: rgw: add bucket size limit check to radosgw-admin + + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Casey Bodley + +commit fdd25c2bdb9ec6bb8e3061088b8782bfb2331bc4 +Merge: cfd6750416 fb3ee2efcc +Author: Abhishek L +Date: Fri Jun 9 19:38:23 2017 +0200 + + Merge pull request #14789 from mdw-at-linuxbox/wip-jewel-rgw-rvk + + jewel: rgw: swift: disable revocation thread if sleep == 0 || cache_size == 0 + + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Casey Bodley + +commit cfd6750416baeb2bbd3836bc7dc55d83fc214c20 +Merge: ce1fc3492e 86980a045b +Author: Abhishek L +Date: Fri Jun 9 19:36:02 2017 +0200 + + Merge pull request #14815 from smithfarm/wip-19786-jewel + + jewel: rgw: failure to create s3 type subuser from admin rest api + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Casey Bodley + +commit ce1fc3492e87c669f7059c2047a3bed077418a89 +Merge: 7ca0252560 aa99558934 +Author: Nathan Cutler +Date: Wed Jun 7 20:13:15 2017 +0200 + + Merge pull request #15312 from theanalyst/wip-20078 + + jewel: rgw: only append zonegroups to rest params if not empty + + Reviewed-by: Casey Bodley + +commit 7ca0252560d1ff23384afb50a9c2ae2aad2ce85c +Merge: 62c500f522 59bd6711a4 +Author: Nathan Cutler +Date: Wed Jun 7 13:48:06 2017 +0200 + + Merge pull request #15382 from theanalyst/wip-mem-leak2 + + jewel: rgw:fix memory leaks in data/md sync + + Reviewed-by: Casey Bodley + +commit aa0cd461df5fee6d143bc07440ec6de829761cef +Author: Brad Hubbard +Date: Mon May 22 13:21:25 2017 +1000 + + osd: Move scrub sleep timer to osdservice + + PR 14886 erroneously creates a scrub sleep timer for every pg resulting + in a proliferation of threads. Move the timer to the osd service so + there can be only one. + + Fixes: http://tracker.ceph.com/issues/19986 + + Signed-off-by: Brad Hubbard + (cherry picked from commit f110a82437df79dc20207d296e8229fc0e9ce18b) + + Conflicts: + src/osd/PG.cc - ceph_clock_now requires a CephContext argmunent + in Jewel + +commit c47bd0562b1187ffb0b1b2c1ef5f105aa7951d10 +Author: Brad Hubbard +Date: Mon Apr 24 14:10:47 2017 +1000 + + osd: Implement asynchronous scrub sleep + + Rather than blocking the main op queue just do an async sleep. + + Fixes: http://tracker.ceph.com/issues/19497 + + Signed-off-by: Brad Hubbard + (cherry picked from commit 7af3e86c2e4992db35637864b83832535c94d0e6) + +commit e6daee8a9fbc576da2a03550a81056d093a516c9 +Author: Nathan Cutler +Date: Sun Jun 4 20:39:58 2017 +0200 + + Client.cc: adjust Client::_getattr calls + + Signed-off-by: Nathan Cutler + +commit a2c7a2262ac8ecbea78f09e6e8e6a37498568d57 +Author: John Spray +Date: Wed Mar 15 19:36:08 2017 +0000 + + qa/cephfs: use getfattr/setfattr helpers + + Signed-off-by: John Spray + (cherry picked from commit dd43d3bc646aeab88486b0963fc83de0b18800c4) + + Conflicts: + qa/tasks/cephfs/test_data_scan.py: difference in the + self._mount.run_shell() call in NonDefaultLayout::write (which is + being dropped by this commit) - in jewel it has "sudo", and in + master it doesn't + +commit 12aa35a6d50f612df77199ac4f35c7baeed0583e +Author: John Spray +Date: Wed Jun 22 13:00:44 2016 +0100 + + tasks/cephfs: fix race while mounting + + This could fail if the mount hadn't finished + coming up. + + Signed-off-by: John Spray + (cherry picked from commit adfb757c898a80f18c15dafd02e29840c5931c87) + +commit a7b699269b65c76361fcb1d10593812be40c7612 +Author: John Spray +Date: Wed Mar 15 19:26:30 2017 +0000 + + qa: add test for reading quotas from different clients + + Fixes: http://tracker.ceph.com/issues/17939 + Signed-off-by: John Spray + (cherry picked from commit 61617f8f10a6322603a9add77980865cd972ef97) + +commit 8b8ee392b8093b9b140dbbe895691f69ae40440f +Author: John Spray +Date: Wed Mar 15 17:51:44 2017 +0000 + + client: _getattr on quota_root before using in statfs + + ...so that after someone adjusts the quota settings + on an inode that another client is using as its mount root, + the change is visible immediately on the other client. + + Signed-off-by: John Spray + (cherry picked from commit 3d25941aadd223669448d0f5d3c0bd1fefa72308) + +commit dd7d59a08141d6a24b172c22f5e27c8962e25fb9 +Author: John Spray +Date: Wed Mar 15 15:32:47 2017 +0000 + + client: getattr before read on ceph.* xattrs + + Previously we were returning values for quota, layout + xattrs without any kind of update -- the user just got + whatever happened to be in our cache. + + Clearly this extra round trip has a cost, but reads of + these xattrs are fairly rare, happening on admin + intervention rather than in normal operation. + + Fixes: http://tracker.ceph.com/issues/17939 + Signed-off-by: John Spray + (cherry picked from commit 532dc4b68e538c189ef828f67cecd0d647a62250) + +commit 62c500f52240eaa5faadd3795bd9ec84bdcbc6c7 +Merge: 2badc2416c 8dd93cabd5 +Author: David Zafman +Date: Fri Jun 2 09:54:22 2017 -0700 + + Merge pull request #15416 from dzafman/wip-20126 + + Reviewed-by: Josh Durgin + +commit 8dd93cabd52cbafc29a47862f343431eb6f1cfe3 +Author: David Zafman +Date: Wed May 31 15:39:19 2017 -0700 + + osd: Object level shard errors are tracked and used if no auth available + + Shards with object mismatch are tracked to mark them inconsistent + Fix test because storing omap_digest in object_info not behaving as before + + Fixes: http://tracker.ceph.com/issues/20089 + + Signed-off-by: David Zafman + + (cherry picked from commit 1cacbea763c7aabfeaaf4bd5e878301044184117) + + Conflicts: + src/test/osd/osd-scrub-repair.sh (no alloc_hint in object_info) + +commit 59bd6711a47c354117a612dd4ef033d70d449383 +Author: weiqiaomiao +Date: Wed Jun 1 17:20:49 2016 +0800 + + rgw:fix memory leaks + + Signed-off-by: weiqiaomiao + (cherry picked from commit 73e5be2b6133cf4caa0e5e5c8c9eae748b785dbf) + +commit b429fa1807062716c9705ddcf316ed9b2741cc43 +Author: Casey Bodley +Date: Fri May 5 14:56:40 2017 -0400 + + cls/rgw: list_plain_entries() stops before bi_log entries + + list_plain_entries() was using encode_obj_versioned_data_key() to set + its end_key, which gives a prefix of BI_BUCKET_OBJ_INSTANCE_INDEX[=2] + + that range between start_key and end_key would not only span the + BI_BUCKET_OBJS_INDEX[=0] prefixes, but BI_BUCKET_LOG_INDEX[=1] prefixes + as well. this can result in list_plain_entries() trying and failing to + decode a rgw_bi_log_entry as a rgw_bucket_dir_entry + + Fixes: http://tracker.ceph.com/issues/19876 + + Signed-off-by: Casey Bodley + (cherry picked from commit b29a1633a57abf443d5790c13d680d2917f86037) + +commit 2badc2416c9e16babbc91364502dcb03877e88bf +Merge: 5d2a68eb90 1f895c2403 +Author: Sage Weil +Date: Tue May 30 09:39:47 2017 -0500 + + Merge pull request #15360 from liewegas/wip-jewel-master-mixed + + qa/workunits/rados/test-upgrade-*: whitelist tests for master + + Reviewed-by: Kefu Chai + +commit 1f895c24030b79ae9f2eae16b09582fc72928b6a +Author: Sage Weil +Date: Tue May 30 09:58:09 2017 -0400 + + qa/workunits/rados/test-upgrade-*: whitelist tests for master + + The jewel-x upgrade test now runs this script against a mixed cluster on + a machine with code from master installed. That means we have to skip + any new tests that will fail on a mixed cluster. + + Signed-off-by: Sage Weil + +commit 5d2a68eb903f533689d1a1cbc410ca940baeaff3 +Merge: 998d1ee4f5 81e35b9416 +Author: Nathan Cutler +Date: Sat May 27 09:21:44 2017 +0200 + + Merge pull request #15208 from liewegas/wip-sortbitwise-jewel + + mon: fix 'sortbitwise' warning on jewel + + Reviewed-by: Josh Durgin + +commit 998d1ee4f503cb4875283fe8d2140f3b10a26643 +Merge: 54bc1e13ea 99c65bbc18 +Author: Nathan Cutler +Date: Sat May 27 02:46:55 2017 +0200 + + Merge pull request #14851 from yehudasa/wip-rgw-support-ragweed-jewel + + jewel: rgw: add apis to support ragweed suite + + Reviewed-by: Nathan Cutler + +commit aa99558934c6143cb35e722148b87f35ccecc397 +Author: Yehuda Sadeh +Date: Tue Aug 23 10:22:42 2016 -0700 + + rgw: rest conn functions cleanup, only append zonegroup if not empty + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4e41af19846db75081cb0ddb7b33dc2bb9321ace) + +commit 5d90798432a6446636699fc03b2f548010b1212f +Author: Karol Mroz +Date: Thu Mar 17 10:32:14 2016 +0100 + + rgw: rest and http client code to use param vectors + + Replaces param/header lists with vectors. In these cases, we're only ever + adding to the back of the list, so a vector should be more efficient. + Also moves param_pair_t/param_vec_t higher up the include chain for + cleaner function signatures. + + Signed-off-by: Karol Mroz + (cherry picked from commit d4a2527872e0f5c3ae2874bb7d0ff459ae83cfd4) + + Conflicts: + src/rgw/rgw_http_client.cc + trivial ws conflict on rebase + +commit 54bc1e13ea19642c8d5893f29e96ee5c053f9c59 +Merge: 966f222917 43327f83ef +Author: Alfredo Deza +Date: Thu May 25 12:45:30 2017 -0400 + + Merge pull request #14765 from smithfarm/wip-18972-jewel + + jewel: ceph-disk does not support cluster names different than 'ceph' + + Reviewed-by: Alfredo Deza + +commit 81e35b941659a0f6dff8a935c27c7dd6d5cc4213 +Author: Sage Weil +Date: Wed May 24 09:48:11 2017 -0400 + + qa/suites/rados/singleton-nomsgr/*: set sortbitwise after upgrade + + Signed-off-by: Sage Weil + +commit f2814e4dbb2821a415310559fce405c2eab23947 +Author: huanwen ren +Date: Tue Dec 27 10:54:45 2016 +0000 + + mon/OSDMonitor: fixup sortbitwise flag warning + + "ceph -s" does not report warning when using + command "ceph osd unset sortbitwise" to drop + sortbitwise flag. + we should use "osdmap.get_up_osd_features() & + CEPH_FEATURE_OSD_BITWISE_HOBJ_SORT" + instead of "(osdmap.get_features(CEPH_ENTITY_TYPE_OSD, NULL) & + CEPH_FEATURE_OSD_BITWISE_HOBJ_SORT)", + because osdmap.get_features only get local "features" + + Signed-off-by: huanwen ren + (cherry picked from commit c25ee187e28724846d0011cd8145e16956d3636e) + +commit 02617188688eebde759c375a2257e076e4538491 +Author: Sage Weil +Date: Tue Nov 1 12:09:57 2016 -0400 + + mon: remove config option to disable no sortbitwise warning + + We'll require this soon. + + Signed-off-by: Sage Weil + (cherry picked from commit 04e3319e8aecde9ca58ccb7c89016f9079c7d657) + +commit 966f2229178c5d72722982d0f6a40f4d01210d9a +Merge: 6537fc741c 4ceaa7cce9 +Author: Nathan Cutler +Date: Wed May 17 09:29:21 2017 +0200 + + Merge pull request #13450 from dreamhost/wip-18887-jewel + + jewel: msg: IPv6 Heartbeat packets are not marked with DSCP QoS - simple messenger + + Reviewed-by: Josh Durgin + +commit bb79663490468b4ac2832aa9e3cbac019c1f712d +Author: Jan Fajerski +Date: Thu Apr 20 18:38:43 2017 +0200 + + fs: normalize file open flags internally used by cephfs + + The file open flags (O_foo) are platform specific. Normalize these flags + before they are send to the MDS. For processing of client messages the + MDS should only compare to these normalized flags. + Otherwise this can lead to bogus flags getting transmitted on ppc64. + + Signed-off-by: Jan Fajerski + (cherry picked from commit 88d2da5e93198e69435e288ce00d216d5fe27f80) + + Conflicts: + src/client/Client.cc + Conflicts can be resolved by choosing changes from HEAD and + adding a call to ceph_flags_sys2wire where flags are logged. + src/mds/Server.cc + Conflicts can be resolved by choosing changes from HEAD and + while making sure that the MDS compares request O_ flags the + the CEPH_O_ flags, since all wire O_ flags are normalized. + +commit 4ceaa7cce9c9132d47564d79204b48b1d02e531c +Author: Robin H. Johnson +Date: Wed May 3 22:31:40 2017 -0700 + + msg/simple/Pipe: manual backport of fix in PR#14795 + + Manual backport of errno fixup from PR#14795 + (6f1037e22c2a304795895498cdc955e0ef80f8e3), as noted by + https://github.com/ceph/ceph/pull/13450#discussion_r114696885. + + Signed-off-by: Robin H. Johnson + +commit 6537fc741c3267472e607e581c002854d8eafd46 +Merge: af31b453f4 82ea0971b3 +Author: Nathan Cutler +Date: Wed May 3 13:04:27 2017 +0200 + + Merge pull request #14667 from smithfarm/wip-18699-jewel + + jewel: client: fix the cross-quota rename boundary check conditions + + Reviewed-by: Gregory Farnum + +commit af31b453f404cb73ee7bdb8b6b02d71ad8aab7e7 +Merge: 472034cbe0 335258f975 +Author: Nathan Cutler +Date: Wed May 3 10:33:24 2017 +0200 + + Merge pull request #14332 from shinobu-x/wip-19396-jewel + + jewel: Objecter::epoch_barrier isn't respected in _op_submit() + + Reviewed-by: Josh Durgin + +commit 472034cbe0735131f3419205e9f7e6530377bfba +Merge: afe98ba074 acf608a903 +Author: Nathan Cutler +Date: Wed May 3 10:32:37 2017 +0200 + + Merge pull request #14204 from dzafman/wip-18533-jewel + + jewel: core: two instances of omap_digest mismatch + + Reviewed-by: Josh Durgin + +commit afe98ba07436ea105f4c9c42a52795ce3757419e +Merge: 0353a91bfd 043d70461c +Author: Nathan Cutler +Date: Wed May 3 10:31:38 2017 +0200 + + Merge pull request #13884 from shinobu-x/wip-19119-jewel + + jewel: pre-jewel "osd rm" incrementals are misinterpreted + + Reviewed-by: Josh Durgin + +commit 0353a91bfd799077ddd87de901e8a07f5da6a13d +Merge: 460b12c259 608785a007 +Author: Nathan Cutler +Date: Wed May 3 10:30:32 2017 +0200 + + Merge pull request #13647 from mslovy/wip-19083-jewel + + jewel: osd: preserve allocation hint attribute during recovery + + Reviewed-by: Gregory Farnum + +commit 460b12c259f5563d9d1b2477149fe79486ba5bcd +Merge: 630cfca36c 905c4acb99 +Author: Nathan Cutler +Date: Fri Apr 28 10:24:35 2017 +0200 + + Merge pull request #14791 from smithfarm/wip-19774-jewel + + jewel: osd: promote throttle parameters are reversed + + Reviewed-by: Sage Weil + +commit 630cfca36c5a42a58882966c5598752aac9ff54e +Merge: 013e781b45 3ec1a9bf16 +Author: Nathan Cutler +Date: Fri Apr 28 10:23:45 2017 +0200 + + Merge pull request #14763 from smithfarm/wip-19562-jewel + + jewel: api_misc: [ FAILED ] LibRadosMiscConnectFailure.ConnectFailure + + Reviewed-by: Sage Weil + +commit 99c65bbc1899663d0b23e2cec3d6e516d0e95ad7 +Author: Yehuda Sadeh +Date: Mon Jan 9 13:04:43 2017 -0800 + + rgw: new rest api to retrieve object layout + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 2768583dc486109e49d209243675b99fdd39e92c) + +commit 33745a342433716ad8a07ef846dbea9b57de5017 +Author: Yehuda Sadeh +Date: Thu Jan 5 13:47:24 2017 -0800 + + rgw: rest api to read zone config params + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a220a2efbfd675e6abf14ae33c21005bcbf6dadf) + +commit 013e781b45e28af15da4ddc32025aad713f128e8 +Merge: d144d99f00 b698d1fa4c +Author: Nathan Cutler +Date: Thu Apr 27 21:46:41 2017 +0200 + + Merge pull request #14481 from dillaman/wip-19468-jewel + + jewel: librbd: is_exclusive_lock_owner API should ping OSD + + Reviewed-by: Jason Dillaman + +commit d144d99f008776dc02c5838feb5a9eb9b84a400b +Merge: 0f0cd82eda dbe90c79b8 +Author: Nathan Cutler +Date: Thu Apr 27 21:05:11 2017 +0200 + + Merge pull request #14666 from smithfarm/wip-19612-jewel + + jewel: librbd: Issues with C API image metadata retrieval functions + + Reviewed-by: Jason Dillaman + +commit 0f0cd82edabcb2feb0b29793e5b45eb424f1c42d +Merge: eba821ce9c 216156b5d4 +Author: Nathan Cutler +Date: Thu Apr 27 21:04:27 2017 +0200 + + Merge pull request #14664 from smithfarm/wip-19325-jewel + + jewel: rbd: [api] temporarily restrict (rbd_)mirror_peer_add from adding multiple peers + + Reviewed-by: Jason Dillaman + +commit eba821ce9c61bcb197895e6949ce30a5c07097fa +Merge: 25e29c9215 b8fd297eb6 +Author: Nathan Cutler +Date: Thu Apr 27 20:46:08 2017 +0200 + + Merge pull request #14694 from ceph/wip-bp-systemd + + [backport] qa/tasks: systemd test backport to jewel + + Reviewed-by: Nathan Cutler + +commit 25e29c921557883da4bf48ff2496bcec6448e6ec +Merge: d7b63e21ca 7c6c3c753c +Author: Nathan Cutler +Date: Thu Apr 27 08:44:26 2017 +0200 + + Merge pull request #13544 from shinobu-x/wip-18932-jewel + + jewel: tests: 'ceph auth import -i' overwrites caps, should alert user before overwrite + + Reviewed-by: Kefu Chai + +commit acf608a9034e915e38ccea6002ee808c46620433 +Author: David Zafman +Date: Mon Mar 20 17:28:45 2017 -0700 + + filestore, tools: Fix logging of DBObjectMap check() repairs + + Signed-off-by: David Zafman + (cherry picked from commit 1704f62c0831e6b07138f7dd14a89fef3c9ed2c1) + +commit fecc52338b2a58bf1730f7b7a3e4a293e45160d2 +Author: David Zafman +Date: Fri Mar 3 15:04:02 2017 -0800 + + osd: Simplify DBObjectMap by no longer creating complete tables + + Bump the version for new maps to 3 + Make clone less efficient but simpler + Add rename operation (use instead of clone/unlink) + For now keep code that understands version 2 maps + + Signed-off-by: David Zafman + (cherry picked from commit 738156a99ed1caf61e5a8230eb8048360056c08e) + + No ghobject_t::operator>() so use Kraken cmp_bitwise() instead + Need to use MIN_GHOBJ/MAX_GHOBJ instead of std::min/std::max + +commit 6902c3141eeaefaacd92f33877cf319872f626c7 +Author: David Zafman +Date: Wed Feb 15 16:17:32 2017 -0800 + + ceph-osdomap-tool: Fix seg fault with large amount of check error output + + Signed-off-by: David Zafman + (cherry picked from commit 1dda0411f4fbb14ce1e0062da9f14ec3af505d39) + +commit 4a3e4bcf40cd004fc53e7be467a29084dedc3e1c +Author: David Zafman +Date: Wed Feb 15 15:02:33 2017 -0800 + + osd: Add automatic repair for DBObjectMap bug + + Add repair command to ceph-osdomap-tool too + + Under some situations the previous rm_keys() code would + generated a corrupt complete table. There is no way to + figure out what the table should look like now. By removing + the entries we fix the corruption and aren't much worse off + because the corruption caused some deleted keys to re-appear. + + This doesn't breaking the parent/child relationship during + repair because some of the keys may still be contained + in the parent. + + Signed-off-by: David Zafman + (cherry picked from commit 4cd3c74c928a32e065ed9543d6c91d8718a6ae3d) + + Conflicts: + src/os/filestore/DBObjectMap.h (trivial) + +commit d4f0ac0a405266f638b25ec475c0110741e3c431 +Author: David Zafman +Date: Wed Feb 15 14:59:40 2017 -0800 + + ceph-osdomap-tool: Fix tool exit status + + Signed-off-by: David Zafman + (cherry picked from commit 666f14ed90655a2d1bedde8561949625db7a9e6c) + +commit 5f36c319cd7fa4be15efd27b8aabbebc99d8999c +Author: Samuel Just +Date: Fri Feb 10 15:51:42 2017 -0800 + + DBObjectMap: rewrite rm_keys and merge_new_complete + + Leverage the updated in_complete_region and needs_parent to simplify + these methods. + + Signed-off-by: Samuel Just + (cherry picked from commit c4dffb68eaafe724f7fdae93a4285a7f8003ea29) + +commit 1fe4b856a37b29c85a9317e514c7f15f8e4905d5 +Author: Samuel Just +Date: Fri Feb 10 15:50:57 2017 -0800 + + DBObjectMap: strengthen in_complete_region post condition + + Previously, in_complete_region didn't guarantee anything about + where it left complete_iter pointing. It will be handy for + complete_iter to be pointing at the lowest interval which ends + after to_test. Make it so. + + Signed-off-by: Samuel Just + (cherry picked from commit 97b35f4d7d4862da4b6f50ecaef0d292a671fd04) + +commit 85f2151fec991e5db13d8e6f44b27e092605fb35 +Author: Samuel Just +Date: Fri Feb 10 15:48:57 2017 -0800 + + DBObjectMap: fix next_parent() + + The previous implementation assumed that + lower_bound(parent_iter->key()) always leaves the iterator + on_parent(). There isn't any guarantee, however, that that + key isn't present on the child as well. + + Signed-off-by: Samuel Just + (cherry picked from commit 74a7631d0938d7b44894f022224eab10a90d5cec) + +commit 484ccda5c53a8ee151b9f97687edd160ad7ebbd7 +Author: Samuel Just +Date: Thu Feb 9 10:47:59 2017 -0800 + + test_object_map: add tests to trigger some bugs related to 18533 + + Signed-off-by: Samuel Just + (cherry picked from commit f131dbcf5bb17107c029f942a57e9bf4432a26ee) + +commit cdeb690869bf6dd52226476c21514cf03ff37d6e +Author: David Zafman +Date: Tue Feb 14 12:40:33 2017 -0800 + + test: Add ceph_test_object_map to make check tests + + Signed-off-by: David Zafman + (cherry picked from commit 0e97a01bd7291458881ee53cece2d887f6333669) + +commit cf5d588d39498c8d65bc64bd2935aecac8546e40 +Author: David Zafman +Date: Wed Feb 8 18:56:27 2017 -0800 + + ceph-osdomap-tool: Add --debug and only show internal logging if enabled + + Signed-off-by: David Zafman + (cherry picked from commit 5fb2b2d13953979e5da9f571ab8c4b0b510b8368) + +commit 4c4a06ff525d9fa2271099db73701c7994054d36 +Author: David Zafman +Date: Wed Feb 8 18:55:48 2017 -0800 + + osd: DBOjectMap::check: Dump complete mapping when inconsistency found + + Signed-off-by: David Zafman + (cherry picked from commit fcf1e17c645e8fad5216c3e59627c817e5c858c7) + +commit 6c128ff8c6944e57059008959f49bd03635c5417 +Author: David Zafman +Date: Wed Feb 8 15:38:51 2017 -0800 + + test_object_map: Use ASSERT_EQ() for check() so failure doesn't stop testing + + Signed-off-by: David Zafman + (cherry picked from commit 053a273cbc02d6902a4bb1f11db1ea946498df3a) + +commit aa769a9d08ac7490f5063bb44c3a44c77a5d7232 +Author: David Zafman +Date: Wed Feb 8 10:02:40 2017 -0800 + + tools: Check for overlaps in internal "complete" table for DBObjectMap + + Changed check to return an error count and fix tool error message + + Signed-off-by: David Zafman + (cherry picked from commit e5e8eb962db6187ea19b96ba29ac83469c90b4ea) + + Conflicts: + src/os/filestore/DBObjectMap.h (trivial) + +commit 761ee7c6af8802ab6b668a0b7ccaa819b2764456 +Author: David Zafman +Date: Wed Feb 8 09:40:49 2017 -0800 + + tools: Add dump-headers command to ceph-osdomap-tool + + Signed-off-by: David Zafman + (cherry picked from commit f4101591ad701a62fe027c4744ca8ea505f44bdc) + + Conflicts: + src/os/filestore/DBObjectMap.h (trivial) + +commit 117db1c6d6952d181614f4fe22f0b1866eed6f10 +Author: David Zafman +Date: Mon Feb 6 21:09:42 2017 -0800 + + tools: Add --oid option to ceph-osdomap-tool + + Signed-off-by: David Zafman + (cherry picked from commit 2d94889e9ee3359017b1efd560f3557ce03ccee6) + +commit 4d8120d3b3975ce101f6272240e5e43bcfe0e742 +Author: David Zafman +Date: Mon Feb 6 21:31:18 2017 -0800 + + osd: Remove unnecessary assert and assignment in DBObjectMap + + Fix and add comment(s) + + Signed-off-by: David Zafman + (cherry picked from commit 937e6a03ea4692cc44d53faa0615f8e808c9eb03) + +commit 86980a045b7176428062a19758d145e38e515b40 +Author: snakeAngel2015 +Date: Mon Jul 18 14:51:37 2016 +0800 + + rgw: add suport for creating S3 type subuser of admin rest api + + Fixes: http://tracker.ceph.com/issues/16682 + + The original code cannot support create s3 type subuser of admin rest api as when i execute the following command: + + ./s3curl.pl --id=personal --put -- http://radosgw.h3c.com:8000/admin/user?subuser\&uid=yrf2\&subuser=yrf2:yrf1\&key-type=s3 -v + + it would return msg as follows : + + < HTTP/1.1 403 Forbidden + < Date: Thu, 14 Jul 2016 07:04:40 GMT + * Server Apache/2.4.7 (Ubuntu) is not blacklisted + < Server: Apache/2.4.7 (Ubuntu) + < x-amz-request-id: tx00000000000000006608f-0057873988-8551-slave + < Accept-Ranges: bytes + < Content-Length: 114 + < Content-Type: application/json + < + * Connection #0 to host slave.com left intact + {"Code":"InvalidAccessKeyId","RequestId":"tx00000000000000006608f-0057873988-8551-slave","HostId":"8551-slave-us"} + + But i have modified the codes for support it ,and it will return actual msg as follows : + + "subusers": [ + { + "id": "yrf2:yrf1", + "permissions": "" + } + ], + "keys": [ + { + "user": "yrf2", + "access_key": "B46PXYFEWUX0IMHGKP8C", + "secret_key": "2JYxywXizqwiiMd74UXrJdSJMPNlBtYwF5z8rNvh" + }, + { + "user": "yrf2:yrf1", + "access_key": "INO55WXJ7JQ1ZZGSAB6B", + "secret_key": "GgCKEfF9hArV2hglunbO7KtvKZnbhmsDpqjSj5DL" + } + ], + + Please check it ,thanks . + + Signed-off-by: snakeAngel2015 + (cherry picked from commit 6535f6ad2137ee55bf5531e865c05aa10bd39bd0) + +commit d7b63e21ca9818e21afeb2945b882e24b7a9b10b +Merge: a3fae531cd f32b5c613a +Author: Nathan Cutler +Date: Wed Apr 26 21:32:31 2017 +0200 + + Merge pull request #14809 from tchaikov/wip-18193-jewel + + jewel: tests: test/librados/tmap_migrate: g_ceph_context->put() upon return + + Reviewed-by: Nathan Cutler + +commit a3fae531cdb8c2c64c66d38c947ca139f4ede83d +Merge: 89d6ddb1f5 6c4826606d +Author: Nathan Cutler +Date: Wed Apr 26 21:32:09 2017 +0200 + + Merge pull request #14701 from smithfarm/wip-18193-jewel + + jewel: core: transient jerasure unit test failures + + Reviewed-by: Kefu Chai + +commit 89d6ddb1f5ee08b0f019dfaadc5857a788c92a09 +Merge: c5f1fce21d be9e83281b +Author: Matt Benjamin +Date: Wed Apr 26 14:28:29 2017 -0400 + + Merge pull request #14776 from linuxbox2/jewel-pullup-civet-chunked + + [DNM] jewel: pullup civet chunked + +commit c5f1fce21d0996cce751b6bcca5e57da2cafc135 +Merge: 4d97e0ba8e 97cd21afc5 +Author: Nathan Cutler +Date: Wed Apr 26 19:32:07 2017 +0200 + + Merge pull request #14416 from smithfarm/wip-19557-jewel + + jewel: tests: upgrade/hammer-x failing with OSD has the store locked when Thrasher runs ceph-objectstore-tool on down PG + + Reviewed-by: Kefu Chai + +commit be9e83281b8c765cd111d5687a516fcd3ca521a5 +Author: Matt Benjamin +Date: Tue Apr 25 09:44:39 2017 -0400 + + civetweb: pullup chunked encoding by Marcus + + Fixes: http://tracker.ceph.com/issues/19736 + + Signed-off-by: Matt Benjamin + +commit 608785a0079f807ff860c56d96b1b67bf6a2ed74 +Author: yaoning +Date: Fri Jun 24 09:51:07 2016 +0800 + + os: make zero values noops for set_alloc_hint() in FileStore + + Signed-off-by: yaoning + (cherry picked from commit e2ec24f61b55457caccefecd56f9f08b98264802) + +commit f32b5c613a8acd50e32747c3581131d28d209efa +Author: Kefu Chai +Date: Wed Apr 26 22:58:30 2017 +0800 + + test/librados/tmap_migrate: g_ceph_context->put() upon return + + Signed-off-by: Kefu Chai + Conflict: test/librados/tmap_migrate.cc + this change is not cherry-picked from master, because tmap_migrate was + removed in master. so we are applying the same change in + cb1cda96713b2ec0f6418c4cbe3d964c2020729c to this test. + +commit 905c4acb99f9ea78ff615034dae969ab089bda06 +Author: Mark Nelson +Date: Tue May 3 09:56:47 2016 -0500 + + Fix reveresed promote throttle default parameters. + + Signed-off-by: Mark Nelson + (cherry picked from commit 793ceac2f3d5a2c404ac50569c44a21de6001b62) + +commit fb3ee2efcc13c37db90faa1bc8bad584bab22efa +Author: Marcus Watts +Date: Thu Apr 13 05:33:55 2017 -0400 + + rgw: swift: disable revocation thread if sleep == 0 || cache_size == 0 + + Keystone tokens can be revoked. This causes them to fail + validation. However, in ceph, we cache them. As long as + they're in the cache we trust them. To find revoked tokens + there's a call OSI-PKI/revoked but that's only useful for + pki tokens. Installations using fernet/uuid may not even + have the proper credentials to support the call, in which + case the call blows up in various ways filling up logs + with complaints. + + This code makes the revocation thread optional; by disabling it, + the complaints go away. A further fix is in the works + to use other more modern calls available in modern keystone + installations to properly deal with non-PKI/PKIZ tokens. + + (NB: jewel has this logic in src/rgw/rgw_swift.cc not in src/rgw/rgw_keystone.h) + + To disable the revocation thread, use at least one of these: + rgw_keystone_token_cache_size = 0 + using this will cause tokens to be validated on every call. + You may instead want to set + rgw_keystone_revocation_interval = 0 + using just this will disable the revocation thread, + but leaves the cache in use. That avoids the extra + validation overhead, but means token revocation won't + work very well. + + Fixes: http://tracker.ceph.com/issues/9493 + Fixes: http://tracker.ceph.com/issues/19499 + + Signed-off-by: Marcus Watts + (cherry picked from commit 003291a8cbca455c0e8731f66759395a0bb1f555) + +commit 4d97e0ba8ebc89b7797b0936a9e046ef59cc3899 +Merge: cc820a0d4c c2efeb4b62 +Author: Nathan Cutler +Date: Tue Apr 25 21:06:26 2017 +0200 + + Merge pull request #14686 from smithfarm/wip-19686-jewel + + jewel: osd: Give requested scrubs a higher priority + + Reviewed-by: David Zafman + +commit e552d91f73d996c44821f5fbfb28cfc3e5cddc9a +Author: Matt Benjamin +Date: Sat Nov 5 13:13:47 2016 -0400 + + rgw: add bucket size limit check to radosgw-admin + + The change adds a new list of all buckets x all users, with + fields for bucket name, tenant name, current num_objects, + current num_shards, current objects per shard, and the + corresponding fill_status--the latter consisting of 'OK', + 'WARN %', or 'OVER %.' + + The warning check is relative to two new tunables. The threshold + max objects per shard is set as rgw_bucket_safe_max_objects_per_shard, + which defaults to 100K. The value rgw_bucket_warning_threshold is + a percent of the current safe max at which to warn (defaults to + 90% of full). + + From review: + + * fix indentation (rgw_admin) + * if user a user_id is provided, check only buckets for that user + * update shard warn pct to be pct-of-fill (not 100 - pct-of-fill) + * print only buckets near or over per-shard limit, if --warnings-only + * s/bucket limitcheck/bucket limit check */ + * sanity shard limit should be 90, not 10 (because that changed) + * fixes for memleaks and other points found by cbodley + + Fixes: http://tracker.ceph.com/issues/17925 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 7bc144ce36fedc16a3dedc54598b0d75fb8c68bc) + +commit cc820a0d4c2676799383aeaf49a9269e104853ce +Merge: 5ee54cfe8f d079b91479 +Author: Nathan Cutler +Date: Tue Apr 25 17:38:21 2017 +0200 + + Merge pull request #14605 from asheplyakov/19476-jewel + + jewel: rgw: don't return skew time in pre-signed url + + Reviewed-by: Casey Bodley + +commit 5ee54cfe8f0a955b11edb4819a652ee420f43e5d +Merge: 37254aee6c c05bd1cb1f +Author: Nathan Cutler +Date: Tue Apr 25 17:37:16 2017 +0200 + + Merge pull request #14660 from smithfarm/wip-19478-jewel + + jewel: rgw: zonegroupmap set does not work + + Reviewed-by: Casey Bodley + +commit 37254aee6c3f725cf60deb5c7a3fc28405c51216 +Merge: 09919f938f faeb8088ac +Author: Nathan Cutler +Date: Tue Apr 25 17:36:23 2017 +0200 + + Merge pull request #14607 from asheplyakov/19607-jewel + + jewel: rgw: multisite: fetch_remote_obj() gets wrong version when copying from remote + + Reviewed-by: Casey Bodley + +commit 09919f938f3c1e9e81963f676a9dd13114d54e73 +Merge: d5e1345a2a 527911fab7 +Author: Nathan Cutler +Date: Tue Apr 25 15:50:26 2017 +0200 + + Merge pull request #14587 from asheplyakov/19617-jewel + + jewel: mon/MonClient: make get_mon_log_message() atomic + + Reviewed-by: Sage Weil + +commit 6c4826606dc81fdd847959a49454c69a958bb1d8 +Author: Kefu Chai +Date: Mon Dec 5 20:23:21 2016 +0800 + + test/ceph_crypto: do not read ceph.conf in global_init() + + ForkDeathTest.MD5 expect an empty output while global_init() complains + if ceph.conf is missing if 0 is passed in as the `flags`. this test + passes if ceph.conf is in current working directory, but jenkins does + not prepare this file for this test. + + Fixes: http://tracker.ceph.com/issues/18128 + Signed-off-by: Kefu Chai + (cherry picked from commit c72a2271a8012a66d7bbccf5766a73da5bb878d6) + + Conflicts: + src/test/ceph_crypto.cc - jewel does not have + 5af29540675b674c1985ff98b28a783ed124acf6 + +commit aca2659952528aa1b40b02828293342128657194 +Author: Loic Dachary +Date: Thu Dec 8 12:40:42 2016 +0100 + + tests: fix erasure-code premature deallocation of cct + + The setup function returns before the run function, the cct variable + must be a data member, not a local variable that gets de-allocated + before run() starts. + + Signed-off-by: Loic Dachary + (cherry picked from commit efa1e54362423d4cfd1541fb8c68237b7b9ebbe3) + +commit 8bddd427d9a4bca75a352ca333847dbd6d2c369c +Author: Pan Liu +Date: Thu Feb 16 22:17:52 2017 +0800 + + rbd-nbd: no need create asok file for unmap and list-mapped commands. + + Fixes: http://tracker.ceph.com/issues/17951 + Signed-off-by: Pan Liu + (cherry picked from commit 72352653d585ef89043a4ece371b5c0cb3f6f32a) + +commit 328bfbd25c63b1b0e253865abedada7a9e5858e4 +Author: Jason Dillaman +Date: Tue Nov 29 12:36:00 2016 -0500 + + rbd-nbd: restart parent process logger after forking + + Fixes: http://tracker.ceph.com/issues/18070 + Signed-off-by: Jason Dillaman + (cherry picked from commit 29baf254d72cc593572b5a6215360ba51e3be198) + +commit 192e7bcdcd1bc02b40b29eff86a335cc8919f663 +Author: Kefu Chai +Date: Wed Nov 23 19:45:57 2016 +0800 + + crushtool: do not release g_ceph_context at exit + + it is but a work around of occasionally timeout. + + Signed-off-by: Kefu Chai + (cherry picked from commit d305cc51b18cbf4b2757bbacb5d43324461306a9) + +commit 8a2f27cc632c26d7c2b8e8528b4d459b1d78705b +Author: Kefu Chai +Date: Tue Nov 15 14:21:03 2016 +0800 + + common,test: g_ceph_context->put() upon return + + prior to this change, global_init() could create a new CephContext + and assign it to g_ceph_context. it's our responsibilty to release + the CephContext explicitly using cct->put() before the application + quits. but sometimes, we fail to do so. + + in this change, global_init() will return an intrusive_ptr, + which calls `g_ceph_context->put()` in its dtor. this ensures that + the CephContext is always destroyed before main() returns. so the + log is flushed before _log_exp_length is destroyed. + + there are two cases where global_pre_init() is called directly. + - ceph_conf.cc: g_ceph_context->put() will be called by an intrusive_ptr<> + deleter. + - rgw_main.cc: global_init() is called later on on the success code + path, so it will be taken care of. + + Fixes: http://tracker.ceph.com/issues/17762 + Signed-off-by: Kefu Chai + (cherry picked from commit cb1cda96713b2ec0f6418c4cbe3d964c2020729c) + + Conflicts: + src/ceph_fuse.cc + src/ceph_mgr.cc + src/global/global_init.cc + src/rgw/rgw_main.cc + src/test/compressor/test_compression.cc + src/test/compressor/test_compression_plugin.cc + src/test/compressor/test_compression_plugin_snappy.cc + src/test/compressor/test_compression_plugin_zlib.cc + src/test/compressor/test_compression_snappy.cc + src/test/compressor/test_compression_zlib.cc + src/test/erasure-code/TestErasureCode.cc + src/test/erasure-code/TestErasureCodeExample.cc + src/test/erasure-code/TestErasureCodeIsa.cc + src/test/erasure-code/TestErasureCodeJerasure.cc + src/test/erasure-code/TestErasureCodeLrc.cc + src/test/erasure-code/TestErasureCodePlugin.cc + src/test/erasure-code/TestErasureCodePluginIsa.cc + src/test/erasure-code/TestErasureCodePluginJerasure.cc + src/test/erasure-code/TestErasureCodePluginLrc.cc + src/test/erasure-code/TestErasureCodePluginShec.cc + src/test/erasure-code/TestErasureCodeShec.cc + src/test/erasure-code/TestErasureCodeShec_thread.cc + src/test/fio/fio_ceph_objectstore.cc + src/test/librados/misc.cc + src/test/mon/PGMap.cc + src/test/msgr/test_async_networkstack.cc + src/test/msgr/test_userspace_event.cc + src/test/objectstore/Allocator_test.cc + src/test/objectstore/BitAllocator_test.cc + src/test/objectstore/test_bluefs.cc + src/test/objectstore/test_bluestore_types.cc + src/test/objectstore/test_memstore_clone.cc + src/test/osd/TestPGLog.cc + src/test/rgw/test_http_manager.cc + src/test/rgw/test_rgw_compression.cc + src/test/test_mempool.cc + src/tools/rados/rados.cc + +commit d5e1345a2a6bd8456417db6bb60d61871165e6bd +Merge: 256f48f463 5096fc9c7c +Author: Nathan Cutler +Date: Tue Apr 25 15:42:43 2017 +0200 + + Merge pull request #14665 from smithfarm/wip-19610-jewel + + jewel: [librados_test_stub] cls_cxx_map_get_XYZ methods don't return correct value + + Reviewed-by: Jason Dillaman + +commit 256f48f46354f11a2f238f24fa9d890b55f4f4fc +Merge: 4f67da1b9d 21a83e1276 +Author: Nathan Cutler +Date: Tue Apr 25 09:20:19 2017 +0200 + + Merge pull request #14653 from smithfarm/wip-19662-jewel + + jewel: rgw_file: fix event expire check, don't expire directories being read + + Reviewed-by: Matt Benjamin + +commit 4f67da1b9d554a1a5371665573b1f56d3f903de3 +Merge: c2452c5364 33af18e592 +Author: Loic Dachary +Date: Tue Apr 25 09:17:33 2017 +0200 + + Merge pull request #14635 from smithfarm/wip-19690-jewel + + jewel: doc: Improvements to crushtool manpage + + Reviewed-by: Loic Dachary + +commit 040ff013d5c8aded8beedc59bbc4f5afccc64e46 +Author: Kefu Chai +Date: Wed Nov 16 11:56:09 2016 +0800 + + crushtool: s/exit(EXIT_FAILURE)/return EXIT_FAILURE/ + + so the destructor(s) can be called. + + Signed-off-by: Kefu Chai + (cherry picked from commit e01b89ed6be6b99fec5c725f4bc5769b42468cac) + + Conflicts: + src/tools/crushtool.cc - jewel does not have 17feefbcb3105553b763cb7ce123b20b77b95857 + +commit 8e993e6e43ecd6e2b444961d1e6c945081b64207 +Author: Kefu Chai +Date: Wed Nov 16 11:19:04 2016 +0800 + + global/signal_handler: reset injected segv after test + + ~CephContext() => ~TypedSingletonWrapper() => ~MempoolObs => + unregister_command() => ldout() << "unregister_command" => + Log::submit_entry() => *(volatile int *)(0) = 0xdead; + + Signed-off-by: Kefu Chai + (cherry picked from commit d932c8f2f23263924103a900714db82ee87f6eef) + + Conflicts: + src/log/Log.cc - jewel has "namespace log" instead of "namespace + logging" (trivial resolution) + +commit f1c0042b831826e5bd72ada79a4918a9c26bda24 +Author: Kefu Chai +Date: Tue Nov 15 14:42:35 2016 +0800 + + test_cors.cc: fix the mem leak + + Signed-off-by: Kefu Chai + (cherry picked from commit c8a3777203482cabf6739a8ba69b127df8697628) + +commit c49b114e8dde6c3f3c5a5b663bd8299b4f2feafb +Author: weiqiaomiao +Date: Tue Sep 6 16:34:52 2016 +0800 + + rgw: fix failed to create bucket if a non-master zonegroup has a single zone + + If a non-master zonegroup has a single zone, the metadata sync thread not running and + the non-master zonegroup can't sync user from master zonegroup, + so we can't create bucket(or other metadata update) in it + because the authenticated user not found in the zone of non-master zonegroup. + + Signed-off-by: weiqiaomiao + (cherry picked from commit 949af79b21098e6410bc29274cf36eae2d89faea) + + Conflicts: + src/rgw/rgw_rados.cc - retain d32654b7cd60ccc4e23d3f05b9e4385a697bacd6 + which was merged after this commit + +commit 43327f83efcbc5ce54be866a30da8dd1e58d6707 +Author: Loic Dachary +Date: Wed Feb 22 01:49:12 2017 +0100 + + ceph-disk: dmcrypt activate must use the same cluster as prepare + + When dmcrypt is used, the fsid cannot be retrieved from the data + partition because it is encrypted. Store the fsid in the lockbox to + enable dmcrypt activation using the same logic as regular activation. + + The fsid is used to retrive the cluster name that was used during + prepare, reason why activation does not and must not have a --cluster + argument. + + Fixes: http://tracker.ceph.com/issues/17821 + + Signed-off-by: Loic Dachary + (cherry picked from commit 7f66672b675abbc0262769d32a38112c781fefac) + + Conflicts: + src/ceph-disk/ceph_disk/main.py - in master, self.create_key() takes an + argument (self.args.cluster) but in jewel it takes no argument + +commit c2452c53641fca416268c2e31c774b8b7e609c88 +Merge: 82b8c89e47 01d04e28db +Author: Nathan Cutler +Date: Tue Apr 25 07:20:41 2017 +0200 + + Merge pull request #13608 from smithfarm/wip-19063-jewel + + jewel: tests: eliminate race condition in Thrasher constructor + + Reviewed-by: Kefu Chai + Reviewed-by: David Zafman + +commit 3ec1a9bf16e2c305096e11223aaa8db94dc4084d +Author: Sage Weil +Date: Fri Mar 31 10:06:42 2017 -0400 + + ceph_test_librados_api_misc: fix stupid LibRadosMiscConnectFailure.ConnectFailure test + + Sometimes the cond doesn't time out and it wakes up instead. Just repeat + the test many times to ensure that at least once it times out (usually + it doesn't; it's pretty infrequent that it doesn't). + + Fixes: http://tracker.ceph.com/issues/15368 + Signed-off-by: Sage Weil + (cherry picked from commit 8bc197400d94ee2716d3f2fa454247379a676cf9) + +commit 82b8c89e477610641a6e21123b7c929e9c560729 +Merge: 28c7ce595a 30c9527353 +Author: Nathan Cutler +Date: Mon Apr 24 22:27:33 2017 +0200 + + Merge pull request #14195 from cbodley/wip-19353 + + jewel: rgw: use separate http_manager for read_sync_status + + Reviewed-by: Yehuda Sadeh + +commit 28c7ce595ab8fef7c0076f091f249f6b3548ad54 +Merge: c05ecff3f0 2e50fe1684 +Author: Nathan Cutler +Date: Mon Apr 24 22:26:50 2017 +0200 + + Merge pull request #14066 from asheplyakov/19321-bp-jewel + + jewel: rgw: fix break inside of yield in RGWFetchAllMetaCR + + Reviewed-by: Yehuda Sadeh + +commit c05ecff3f0cb5af2f3aa52b68188742796335ddb +Merge: 3240cbf4ef dc4e7a1a86 +Author: Nathan Cutler +Date: Mon Apr 24 22:26:14 2017 +0200 + + Merge pull request #14064 from asheplyakov/19211-bp-jewel + + jewel: rgw: "cluster [WRN] bad locator @X on object @X...." in cluster log + + Reviewed-by: Yehuda Sadeh + +commit 3240cbf4ef60733f55800039051e85f2a7ace61d +Merge: d4672acbb8 85fbb00f6e +Author: Nathan Cutler +Date: Mon Apr 24 22:25:21 2017 +0200 + + Merge pull request #13842 from smithfarm/wip-19145-jewel + + jewel: rgw: a few cases where rgw_obj is incorrectly initialized + + Reviewed-by: Yehuda Sadeh + +commit d4672acbb82daf81eaf259e659dd627ec9f3bc79 +Merge: 61ed719d75 ec0668c201 +Author: Nathan Cutler +Date: Mon Apr 24 22:24:29 2017 +0200 + + Merge pull request #13837 from smithfarm/wip-19048-jewel + + jewel: rgw: multisite: some yields in RGWMetaSyncShardCR::full_sync() resume in incremental_sync() + + Reviewed-by: Yehuda Sadeh + +commit 61ed719d75bf3606fa9e3ae8c8ed776aa2ee4313 +Merge: f5e51db564 ced799f9c6 +Author: Nathan Cutler +Date: Mon Apr 24 22:23:24 2017 +0200 + + Merge pull request #13724 from asheplyakov/18626-bp-jewel + + jewel: rgw: Use decoded URI when verifying TempURL + + Reviewed-by: Yehuda Sadeh + +commit 66c3db7aee5b53f83e87ee8c8f081ab9b0336177 +Author: Casey Bodley +Date: Wed Mar 8 16:31:34 2017 -0500 + + rgw: data sync skips slo data when syncing the manifest object + + Fixes: http://tracker.ceph.com/issues/19027 + + Signed-off-by: Casey Bodley + (cherry picked from commit 8b69847d7b3e92c70090d1dddf7cea5c44fb6b20) + + Conflicts: bucket cleanup, overrides + +commit 303a62f7f15c69413165ed604869909587714a94 +Author: Casey Bodley +Date: Mon Mar 13 11:33:02 2017 -0400 + + rgw: RGWGetObj applies skip_manifest flag to SLO + + Signed-off-by: Casey Bodley + (cherry picked from commit 987377ae34382e107e1d54f0bfc1121fcedb4513) + +commit f3d99ae8aafaa65e91cd233b5ce8054678d8fa11 +Author: Casey Bodley +Date: Tue Feb 21 10:27:13 2017 -0500 + + rgw: allow system users to read SLO parts + + multisite data sync relies on fetching the object as the system user + + Fixes: http://tracker.ceph.com/issues/19027 + + Signed-off-by: Casey Bodley + (cherry picked from commit d50d18c500fd5dd89e7cada1162cf453b36df370) + + Conflicts: auth rework + +commit f5e51db5644d4eafdbe3b2d541582a17febed139 +Merge: c90cfb7a32 eac0e27193 +Author: Nathan Cutler +Date: Fri Apr 21 22:51:59 2017 +0200 + + Merge pull request #14643 from smithfarm/wip-revert-14427 + + Wip revert 14427 + + Reviewed-by: Josh Durgin + +commit db053da61807e26876d97786550a769295c7955a +Author: John Spray +Date: Mon Mar 27 12:56:31 2017 +0100 + + mds: validate prealloc_inos on sessions after load + + Mitigates http://tracker.ceph.com/issues/16842 + + Signed-off-by: John Spray + (cherry picked from commit c39aaf90ed1b23343eba2b341bb8ee6a50a4ea74) + + Conflicts: + src/mds/InoTable.cc - no 5259683e7819c22c14b21b1dd678a33e14574f21 in jewel + src/mds/InoTable.h - no 5259683e7819c22c14b21b1dd678a33e14574f21 in jewel + +commit 2b5eb8fa141fa8bd9173dee206ec3530d702fc3a +Author: John Spray +Date: Mon Mar 27 12:33:59 2017 +0100 + + mds: operator<< for Session + + Use this to get a nice human readable name + when available (also including the session id in + parentheses) + + Signed-off-by: John Spray + (cherry picked from commit 0f89787d8312f132ebb621f16c44e950b17a395a) + +commit 5b562145197833c6a6f48f006dfb13b6e38f9084 +Author: Henrik Korkuc +Date: Sun Feb 19 11:44:20 2017 +0200 + + client/Client.cc: add feature to reconnect client after MDS reset + + Client.cc marks session as stale instead of reconecting after received + reset from MDS. On MDS side session is closed so MDS is ignoring cap + renew. This adds option to reconnect stale client sessions instead of + just marking sessions stale. + + Fixes: http://tracker.ceph.com/issues/18757 + + Signed-off-by: Henrik Korkuc + (cherry picked from commit e0bbc704676ef4aed510daff075ef63c9e73b7b3) + +commit 8f21038d30097622e319ab986631b03f87f5d907 +Author: Kefu Chai +Date: Tue Mar 21 12:49:45 2017 +0800 + + doc: cephfs: fix the unexpected indent warning + + Signed-off-by: Kefu Chai + (cherry picked from commit e423f0b59711422b40c4b3de0bdc73b0947c04d3) + +commit f9a1954e113e807b5f9ee6fd56351adc2841730a +Author: Barbora AnÄincová +Date: Thu Feb 16 10:45:36 2017 +0100 + + doc: additional edits in FUSE client config + + Signed-off-by: Bara Ancincova (bara@redhat.com) + (cherry picked from commit b6cad3364c020abd3acf906643fa0b6cbb862a0a) + +commit 018649f8a4628881c706a6df9b3eef48403fe91e +Author: Barbora AnÄincová +Date: Thu Jan 26 12:23:34 2017 +0100 + + doc: Dirty data are not the same as corrupted data + + Signed-off-by: Bara Ancincova (bara@redhat.com) + (cherry picked from commit 80db40f8559128baadad42b925ae813e51a31409) + +commit 1d8a5b6d64a26a36fb3a227c52908631d95bef79 +Author: Barbora AnÄincová +Date: Mon Jan 23 16:34:55 2017 +0100 + + doc: minor changes in fuse client config reference + + Signed-off-by: Bara Ancincova (bara@redhat.com) + (cherry picked from commit e57605681f10436f4b2c85e95179a2904b8c80da) + +commit 1ae46b2b94280b8b4a1db89b2cbed8f12bcbcc53 +Author: Patrick Donnelly +Date: Sun Jul 24 23:21:29 2016 -0400 + + doc: add client config ref + + Fixes: http://tracker.ceph.com/issues/16743 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 9ad2ccf29830d5309336fc7de877b6926e5dbacd) + +commit b8fd297eb64cd29c58596d0a5b0be8fbe9d94a72 +Author: Vasu Kulkarni +Date: Tue Apr 11 13:51:47 2017 -0700 + + use sudo to check check health + + Signed-off-by: Vasu Kulkarni + (cherry picked from commit 7af157ad4ce7f7e2b8de97ee10eeaf64b9099bc0) + +commit 1b91ffc0fbe76c5475f17d4e15ea295ee3680688 +Author: Vasu Kulkarni +Date: Wed Mar 29 09:27:20 2017 -0700 + + Add reboot case for systemd test + + test systemd units restart after reboot + + Signed-off-by: Vasu Kulkarni + (cherry picked from commit 7b587304a54d9b21041ffdfbc85fad8d87859c49) + +commit 3d8d1dad8a698a9fb45be7b31c92f8b71ee67720 +Author: Vasu Kulkarni +Date: Wed Mar 29 09:56:11 2017 -0700 + + Fix distro's, point to latest version + + Signed-off-by: Vasu Kulkarni + (cherry picked from commit 1947648669971c1bd1ca189870ed9b25bbd48d3a) + +commit c90cfb7a327fcbb9508e617c2353becb7e5cb45f +Merge: 327276cf3d 9b77b16b88 +Author: Nathan Cutler +Date: Thu Apr 20 22:05:57 2017 +0200 + + Merge pull request #14602 from asheplyakov/19646-jewel + + jewel: ceph-disk: enable directory backed OSD at boot time + + Reviewed-by: Loic Dachary + +commit 327276cf3d4fb7a2558620a8a7d9cc90e5d6e5c5 +Merge: 7008c64c51 25e43ac256 +Author: Nathan Cutler +Date: Thu Apr 20 22:04:41 2017 +0200 + + Merge pull request #14449 from smithfarm/wip-test-doc-oversight + + tests: fix oversight in yaml comment + + Reviewed-by: Loic Dachary + +commit f34489dd52f07aeb88e1dbf361ead63f09bb9c65 +Author: YunfeiGuan +Date: Mon Apr 10 05:48:47 2017 +0000 + + cephfs: fix mount point break off problem after mds switch occured + + The hot-standby become active as we expected but the mount piont broken strangely + when the active mds is down. The root reason is the new mds use last_cap_renews + decoded from ESesson::replay in find_idle_sessions and wrongly killed the session. + Maybe we should reset session->last_cap_renew to the current time when server send + OPEN to client in reconnect stage. + + Fixes: http://tracker.ceph.com/issues/19437 + Signed-off-by: Guan yunfei + (cherry picked from commit 4ef830c5d6f22bf0d4f82a8624c772ecbbda44a6) + + Conflicts: + src/mds/Server.cc (leave '\n' in because jewel does not have + 693132eb00b1803d5e97a79908521d5a6903e9f8; jewel ceph_clock_now takes a + CephContext object) + +commit 7008c64c5143a3ea19d6679a3e521897f74ff69a +Merge: d62644abcd f8aa6be06c +Author: Nathan Cutler +Date: Thu Apr 20 19:26:52 2017 +0200 + + Merge pull request #13606 from smithfarm/wip-19062-jewel + + jewel: build/ops: enable build of ceph-resource-agents package on rpm-based os + + Reviewed-by: Ken Dreyer + +commit d62644abcde0fd99da24922ce7638d173952ceb4 +Merge: 8df8960553 482bd1adab +Author: Nathan Cutler +Date: Thu Apr 20 18:18:05 2017 +0200 + + Merge pull request #14654 from smithfarm/wip-19461-jewel + + jewel: admin ops: fix the quota section + + Reviewed-by: Casey Bodley + +commit c2efeb4b62e6dc4e6975561eb8b20cfca66f7237 +Author: David Zafman +Date: Mon Apr 17 14:58:02 2017 -0700 + + osd: Give requested scrub work a higher priority + + Once started we now queue scrub work at higher priority than + scheduled scrubs. + + Fixes: http://tracker.ceph.com/issues/15789 + + Signed-off-by: David Zafman + (cherry picked from commit ebab8b1f4f67fbdec1e147c580329c1e2b5cf7cd) + + Conflicts: + src/osd/OSD.h - in jewel, the PGScrub() call is enclosed within + op_wq.queue(make_pair(...)) instead of enqueue_back() + +commit db86a24e7906ca7c70c60b1752f1230d56361bcd +Author: Yan, Zheng +Date: Wed Feb 22 17:33:05 2017 +0800 + + client: wait for lastest osdmap when handling set file/dir layout + + Fixes: http://tracker.ceph.com/issues/18914 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 76f5eb86cdd61dde4e6c7cfeb5cf34f0c0334f21) + + Conflicts: + src/client/Client.cc (jewel does not have 201c56039) + src/client/Client.h (jewel does not have 201c56039) + +commit 7b9283beec0c4bf8e2067558fc4e03e336849b77 +Author: Yang Honggang +Date: Thu Apr 13 20:09:07 2017 +0800 + + cephfs: fix write_buf's _len overflow problem + + After I have set about 400 64KB xattr kv pair to a file, + mds is crashed. Every time I try to start mds, it will crash again. + The root reason is write_buf._len overflowed when doing + Journaler::append_entry(). + + This patch try to fix this problem through the following changes: + + 1. limit file/dir's xattr size + 2. throttle journal entry append operations + + Fixes: http://tracker.ceph.com/issues/19033 + Signed-off-by: Yang Honggang joseph.yang@xtaotech.com + (cherry picked from commit eb915d0eeccbe523f8f70f6571880003ff459459) + +commit b52c5088618011a569f157616c5c667c2fc1e9fe +Author: John Spray +Date: Wed Mar 8 12:13:46 2017 +0000 + + mds: shut down finisher before objecter + + Some of the finisher contexts would try to call into Objecter. + We mostly are protected from this by mds_lock+the stopping + flag, but at the Filer level there's no mds_lock, so in the + case of file size probing we have a problem. + + Fixes: http://tracker.ceph.com/issues/19204 + Signed-off-by: John Spray + (cherry picked from commit 177a97d5c55ee6a2d5dcd3cf0893546190b10f7a) + + Conflicts: + src/mds/MDSRank.cc (no purge_queue.shutdown() in jewel because jewel + does not have 8ebf7d95a9071de24bb1e56a6423c505169cb4de) + +commit 96e801fb53941214c669ac01c1804a4d1f27086c +Author: John Spray +Date: Tue Mar 28 14:13:33 2017 -0400 + + mds: ignore ENOENT on writing backtrace + + We get ENOENT when a pool doesn't exist. This can + happen because we don't prevent people deleting + former cephfs data pools whose files may not have + had their metadata flushed yet. + + http://tracker.ceph.com/issues/19401 + Signed-off-by: John Spray + (cherry picked from commit 3fccc2372f2715d075b05e459140360cf6e7ca96) + +commit 8df896055366d777ca309dd4a7840f2a2a5a72cc +Merge: da888fa871 7468689314 +Author: Nathan Cutler +Date: Thu Apr 20 14:53:30 2017 +0200 + + Merge pull request #14680 from smithfarm/wip-19711-jewel + + jewel: [test] test_notify.py: rbd.InvalidArgument: error updating features for image test_notify_clone2 + + Reviewed-by: Jason Dillaman + +commit 74686893147f2d7e1fd1287de37587554fea96c6 +Author: Jason Dillaman +Date: Wed Apr 19 09:26:31 2017 -0400 + + test: rbd master/slave notify test should test active features + + Fixes: http://tracker.ceph.com/issues/19692 + Signed-off-by: Jason Dillaman + (cherry picked from commit 0dcba41cba96566d0b8da54cf0316d523b88ded2) + +commit 7347f1193963666ce07ff9163064aeb0cf343d38 +Author: Yan, Zheng +Date: Wed Apr 5 21:29:10 2017 +0800 + + mds: make C_MDSInternalNoop::complete() delete 'this' + + Fixes: http://tracker.ceph.com/issues/19501 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 424e0c6744e7f63459ca0ff7deab751726aa30cd) + + Conflicts: + src/mds/MDSContext.h (omit "override" because jewel does not have + 1a91aeab987870b3ccbcf2f1e476fac8b534d449) + +commit 824b19a9a66261a90c4e4de64e877a42438febd2 +Author: John Spray +Date: Wed Mar 29 19:38:37 2017 +0100 + + tools/cephfs: set dir_layout when injecting inodes + + When we left this as zero, the MDS would interpret it was HASH_LINUX + rather than the default HASH_RJENKINS. Potentially that + could cause problems if there perhaps were already dirfrags in + the metadata pool that were set up using rjenkins. Mainly + it just seems more appropriate to explicitly set this field + rather than hit the fallback behaviour. + + Related: http://tracker.ceph.com/issues/19406 + Signed-off-by: John Spray + (cherry picked from commit 7d6d542885bd29b71214f9ca52bd26e9183c5d01) + +commit eab56dae6714706cf9650dff172b20a764f5481c +Author: John Spray +Date: Thu Mar 9 13:15:46 2017 +0000 + + mon: fix hiding mdsmonitor informative strings + + Local `stringstream ss` declarations were hiding + the real variable used to feed back to the user. + + Fixes: http://tracker.ceph.com/issues/16709 + Signed-off-by: John Spray + (cherry picked from commit 00404ae9bd4cce0518a44d36d2d6a5612f4f9d04) + +commit da888fa8713178cc23c1069ce2651e02c98aad05 +Merge: 8068b546af 2271cd8128 +Author: Kefu Chai +Date: Thu Apr 20 19:10:33 2017 +0800 + + Merge pull request #14402 from shinobu-x/wip-17331-jewel + + jewel: ceph-disk: ceph-disk list reports mount error for OSD having mount options with SELinux context + + Reviewed-by: Loic Dachary + Reviewed-by: Brad Hubbard + Reviewed-by: Kefu Chai + +commit 8068b546afbe8e774c9d699205a32215e38c5d4f +Merge: 118ccad0ba 754b4a482c +Author: Nathan Cutler +Date: Thu Apr 20 13:06:33 2017 +0200 + + Merge pull request #13865 from smithfarm/wip-19158-jewel + + jewel: rgw: health check errors out incorrectly + + Reviewed-by: Radoslaw Zarzynski + +commit d57437e338984c5db84f9d16387e082ada5a0a33 +Author: John Spray +Date: Mon Mar 6 11:51:31 2017 +0000 + + mds: reset heartbeat in export_remaining_imported_caps + + This loop can be very long. + + Fixes: http://tracker.ceph.com/issues/19118 + Signed-off-by: John Spray + (cherry picked from commit 85071f1509beba4a390730e6a3a4332484646d63) + +commit 6adf1904ed7209b70328b20f248a701fbdd3127c +Author: John Spray +Date: Mon Mar 6 11:24:50 2017 +0000 + + mds: heartbeat_reset in dispatch + + Previously we only heartbeated in tick. However, our locking is + not guaranteed to be fair, so on a super-busy dispatch queue it may be + possible for the heartbeat to time out while the tick() function + is waiting for mds_lock. + + Fixes: http://tracker.ceph.com/issues/19118 + Signed-off-by: John Spray + (cherry picked from commit 819394549af10532419d88742fae3a69d2ea487d) + +commit 63f41d543f8a5f1f55a12612d39c6a2a1cf9c114 +Author: Yan, Zheng +Date: Wed Feb 15 11:45:26 2017 +0800 + + test/libcephfs: avoid buffer overflow when testing ceph_getdents() + + The buffer size should be at least "2 * sizeof(struct dirent)". + Otherwise, the code that checks dentry '..' overflow. + + Fixes: http://tracker.ceph.com/issues/18941 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit fa6671345b8f3a82dcd232f99e55a982b0a641f1) + +commit 7146816065bea55b4e3fec59048a459bcff50f55 +Author: Zhi Zhang +Date: Fri Feb 10 10:56:46 2017 +0800 + + mds/StrayManager: aviod reusing deleted inode in StrayManager::_purge_stray_logged + + Signed-off-by: Zhi Zhang + (cherry picked from commit 4978e57419482384279d7e784a625f5e5c10961a) + +commit d8b139b5847cb46aa13486ee85e26f26421f36d6 +Author: John Spray +Date: Wed Feb 1 00:38:08 2017 +0000 + + tasks/cephfs: switch open vs. write in test_open_inode + + Do the write after opening the file, so that we get good + behaviour wrt the change in Mount.open_background that uses + file existence to confirm that the open happened. + + Signed-off-by: John Spray + (cherry picked from commit a027dba78fc8bc84ae39d7998b386ce21c01e1bf) + +commit e8ae80fc8721e500782c7e87a7cb89128c2a9687 +Author: John Spray +Date: Thu Jan 26 16:48:58 2017 +0000 + + qa: fix race in Mount.open_background + + Previously a later remote call could end up executing + before the remote python program in open_background + had actually got as far as opening the file. + + Fixes: http://tracker.ceph.com/issues/18661 + Signed-off-by: John Spray + (cherry picked from commit c6d91dd91252e703d08b8ac62ac6a47ee82c0bed) + +commit 36c86f71efc10f9a651aedf01dc6fb9d1bfed703 +Author: Yan, Zheng +Date: Wed Jan 25 15:28:23 2017 +0800 + + mds: don't purge strays when mds is in clientreplay state + + MDS does not trim log when it's in clientreplay state. If mds hang + at clientreplay state (due to bug), purging strays can submit lots + of log events and create very large mds log. + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 86bbc7fff02668077f27d0924ba3efe6544b77f6) + +commit 8b01cf33575783661a1e1151c8214d327a08b6f9 +Author: Yan, Zheng +Date: Wed Jan 25 11:03:45 2017 +0800 + + mds: skip fragment space check for replayed request + + when handling replayed request, stray directory can be different + from the stray directory used by the original request. The fragment + space check for stray directory can fail. + + Fixes: http://tracker.ceph.com/issues/18660 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit afe889cbc5baab196567c2aad01f49fe90901fda) + +commit 82ea0971b3cb07c32ec837cb85de63d4068a70d7 +Author: Greg Farnum +Date: Wed Dec 14 12:09:44 2016 -0800 + + client: fix the cross-quota rename boundary check conditions + + We were previously rejecting a rename if either of the involved directories + was a quota root, even if the other directory was part of the same quota + "tree". What we really want to do is identify the correct quota root + (whether local or ancestral) for each directory and compare them. So + now we do. + + Signed-off-by: Greg Farnum + (cherry picked from commit 8e8892aa46accb519faa4bb9fecf66618f1b11b2) + + Conflicts: + src/client/Client.cc (do not pass perm to get_quota_root() because + jewel does not have 3caa4d233633fb7a67747f2c79c4a0ab89112294) + +commit dbe90c79b86743c7d143d33eb5389fcee0ac76ef +Author: Mykola Golub +Date: Tue Apr 11 22:31:43 2017 +0200 + + librbd: fix rbd_metadata_list and rbd_metadata_get + + - properly check for val_len in rbd_metadata_list + - don't expect output buffers are zero pre-filled + + Fixes: http://tracker.ceph.com/issues/19588 + Signed-off-by: Mykola Golub + (cherry picked from commit 75afc74ea681402e22b6dec8b83276d145fc786b) + +commit 5096fc9c7c62e3043a9a0638eb2516792526fdd7 +Author: Jason Dillaman +Date: Wed Apr 12 10:47:28 2017 -0400 + + test/librados_test_stub: fixed cls_cxx_map_get_keys/vals return value + + Fixes: http://tracker.ceph.com/issues/19597 + Signed-off-by: Jason Dillaman + (cherry picked from commit 9ffd464dac102f684d6dfa78e58d2cb45e165ed6) + +commit 216156b5d4e2666ca592eaab2211940028422bc0 +Author: Jason Dillaman +Date: Fri Mar 10 10:56:38 2017 -0500 + + rbd: prevent adding multiple mirror peers to a single pool + + The rbd-mirror daemon does not currently support replication + from multiple peers. Until that is supported, add a temporary + restriction to prevent confusion. + + Fixes: http://tracker.ceph.com/issues/19256 + Signed-off-by: Jason Dillaman + (cherry picked from commit c0c9d1014d57b3d5b95e7513fcc38d04b9ea5165) + +commit c05bd1cb1f570c42b1999fbc70c86b0a72a7fcb3 +Author: Orit Wasserman +Date: Wed Apr 5 13:31:08 2017 +0300 + + radosgw-admin: use zone id when creating a zone + + Fixes: http://tracker.ceph.com/issues/19498 + Signed-off-by: Orit Wasserman + (cherry picked from commit 3fea36d635fcba8ca584a1c0ec9f07840009402c) + +commit ba81cbbdee1ccf95ceff56eef0a1b2b06be4024a +Author: Casey Bodley +Date: Tue Mar 14 15:43:13 2017 -0400 + + qa: rgw task uses period instead of region-map + + Signed-off-by: Casey Bodley + (cherry picked from commit e3e3a71d1f1fb43bb4172ce2dfac9a28ca89df0f) + +commit a755c95262e10fac774716e460e2ba2eaee9df70 +Author: Casey Bodley +Date: Tue Mar 14 14:18:15 2017 -0400 + + rgw-admin: remove deprecated regionmap commands + + Fixes: http://tracker.ceph.com/issues/18725 + + Signed-off-by: Casey Bodley + (cherry picked from commit 5830c1849a0c0110d17c37784808e456e6dcb7b3) + + Conflicts: + src/rgw/rgw_admin.cc (trivial resolution) + +commit 482bd1adabf6f54c8f2bd73090d2e4c02d07f8a3 +Author: hrchu +Date: Wed Mar 29 02:17:04 2017 +0000 + + doc: rgw: correct the quota section + + Add the missing option and fix typo. + + Fixes: http://tracker.ceph.com/issues/19397 + + Signed-off-by: Chu, Hua-Rong + (cherry picked from commit 51a88267f0d7f51aeb62092949b66b9f6c062e15) + +commit 21a83e1276e415e98a3780d0374bb9d4feb191d9 +Author: Matt Benjamin +Date: Wed Mar 15 16:35:16 2017 -0400 + + rgw_file: remove unused rgw_key variable + + Signed-off-by: Matt Benjamin + (cherry picked from commit 1100a1c26e76485569cfebcf863b18cf908f6161) + +commit ebad040b3ab62e702afc52edd9d99d984b24cdc1 +Author: Matt Benjamin +Date: Fri Apr 14 15:56:37 2017 -0400 + + rgw_file: fix readdir after dirent-change + + Also, fixes link count computation off-by-one, update of state.nlink + after computation, link computation reset at start, and a time print + in debug log. + + Fixes: http://tracker.ceph.com/issues/19634 + + Signed-off-by: Matt Benjamin + + link count + + Signed-off-by: Matt Benjamin + (cherry picked from commit e0f80266ecd424bf9466579b3edc03911a7c5719) + +commit dd9833cacaec20e5bd1a70ec46a427a7352eb5d6 +Author: Matt Benjamin +Date: Tue Apr 11 06:42:07 2017 -0400 + + rgw_file: don't expire directories being read + + If a readdir expire event turns out to be older than last_readdir, + just reschedule it (but actually, we should just discard it, as + another expire event must be in queue. + + Fixes: http://tracker.ceph.com/issues/19625 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 007b7451c26716c51207c161dc347e9a00da53f1) + +commit 30a5e857aade2474c5bd621c57938dfe333c3ae5 +Author: Matt Benjamin +Date: Wed Mar 15 16:40:35 2017 -0400 + + rgw_file: rgw_readdir: return dot-dirs only when *offset is 0 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 61482c2b85a07519f2256b1a3f2b6d8aa99d5f06) + +commit fe836bfb7a286c87c57576d29d6862be2514ada5 +Author: Matt Benjamin +Date: Tue Apr 11 05:56:13 2017 -0400 + + rgw_file: chunked readdir + + Adjust readdir callback path for new nfs-ganesha chunked readdir, + including changes to respect the result of callback to not + continue. + + Pending introduction of offset name hint, our caller will just be + completely enumerating, so it is possible to remove the offset map + and just keep a last offset. + + Fixes: http://tracker.ceph.com/issues/19624 + + Signed-off-by: Matt Benjamin + (cherry picked from commit e0191d74e3aef06bf300df045a53a3952a71f651) + +commit 16eeb8c2acc8a1f843fa87967c2ee4c0ed2cd8bd +Author: Gui Hecheng +Date: Fri Mar 31 10:42:40 2017 +0800 + + rgw_file: fix missing unlock in unlink + + Fixes: http://tracker.ceph.com/issues/19435 + + Signed-off-by: Gui Hecheng + (cherry picked from commit cb6808a6366a70f54d0cc16437d16aa1b7819c84) + +commit 8c7cb8227c39b09060cdca4e11dec75cf7f2336c +Author: Matt Benjamin +Date: Mon Mar 13 21:52:08 2017 -0400 + + rgw_file: implement reliable has-children check (unlink dir) + + Bug report and discussion provided by + Gui Hecheng in nfs-ganesha upstream + github. Briefly, while a reliable check is potentially costly, + it is necessary. + + Fixes: http://tracker.ceph.com/issues/19270 + + Signed-off-by: Matt Benjamin + (cherry picked from commit b05f1c6d61aa4501a971e87de6dcaf3e58c3d9b4) + +commit 18f14dd86400b50f46930a9ef56666d82035507e +Author: Matt Benjamin +Date: Tue Apr 4 20:16:13 2017 -0400 + + rgw_file: introduce rgw_lookup type hints + + The new type hints optimize object type deduction, when the + rgw_lookup is called from an rgw_readdir callback. + + Fixes: http://tracker.ceph.com/issues/19623 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 2e66c7a7cc763c5c0d6f5db04855f60f2b2ceed3) + +commit 118ccad0ba763b98c9ee3de225a947be5372dc0d +Merge: bf30ecd7cb 65465356b5 +Author: Nathan Cutler +Date: Thu Apr 20 11:08:45 2017 +0200 + + Merge pull request #14383 from smithfarm/wip-19547-jewel + + jewel: build/ops: rbdmap.service not included in debian packaging (jewel-only) + + Reviewed-by: Ken Dreyer + +commit bf30ecd7cb8dea43a9d55cb1b02c72bfda6bad09 +Merge: 376c5e4753 9e123e6d6c +Author: Nathan Cutler +Date: Thu Apr 20 11:02:39 2017 +0200 + + Merge pull request #14143 from smithfarm/wip-19355-jewel + + jewel: rgw: when converting region_map we need to use rgw_zone_root_pool + + Reviewed-by: Casey Bodley + +commit 376c5e47531a2803ac9b7ea236b989c528268a9f +Merge: da306df4de e2ee70a8ad +Author: Nathan Cutler +Date: Thu Apr 20 11:01:49 2017 +0200 + + Merge pull request #14136 from smithfarm/wip-19330-jewel + + jewel: rgw: upgrade to multisite v2 fails if there is a zone without zone info + + Reviewed-by: Casey Bodley + +commit da306df4deaaa782c0bad72539affd3ee1ec7efc +Merge: 57b210da41 5ee8feaba4 +Author: Nathan Cutler +Date: Thu Apr 20 11:00:35 2017 +0200 + + Merge pull request #13872 from smithfarm/wip-19163-jewel + + jewel: doc: radosgw-admin: add the 'object stat' command to usage + + Reviewed-by: Casey Bodley + +commit 57b210da4185d624524d05bcd9ad01c2df16ca76 +Merge: db92019e9a 9cd7dd8490 +Author: Nathan Cutler +Date: Thu Apr 20 10:59:33 2017 +0200 + + Merge pull request #13863 from smithfarm/wip-19155-jewel + + jewel: rgw: typo in rgw_admin.cc + + Reviewed-by: Casey Bodley + +commit db92019e9af43c2367fdf7865c0fab8cb38453e6 +Merge: 6dcd5fa847 6add2a457e +Author: Nathan Cutler +Date: Thu Apr 20 10:56:35 2017 +0200 + + Merge pull request #13779 from smithfarm/wip-18866-jewel + + jewel: rgw: 'radosgw-admin sync status' on master zone of non-master zonegroup + + Reviewed-by: Casey Bodley + +commit eac0e27193c67ffca60b5e7c61e7769ad8ace6aa +Author: Nathan Cutler +Date: Wed Apr 19 16:53:57 2017 +0200 + + Revert "osdc/Objecter: If osd full, it should pause read op which w/ rwordered flag." + + This reverts commit 2d68822c784eb4d62d3b0198ed4ec04404dbffb3. + + Signed-off-by: Nathan Cutler + +commit 0efe16d2566f0d6040f61fafd38c6661f08da1cd +Author: Nathan Cutler +Date: Wed Apr 19 16:53:49 2017 +0200 + + Revert "osdc/Objecter: resend RWORDERED ops on full" + + This reverts commit f2474042ecd6560323673170c13f2cb964406e70. + + Signed-off-by: Nathan Cutler + +commit 33af18e59298926d9636023faf871a191d582c1a +Author: Nathan Cutler +Date: Tue Apr 18 08:06:01 2017 +0200 + + doc: mention --show-mappings in crushtool manpage + + Fixes: http://tracker.ceph.com/issues/19649 + Signed-off-by: Loic Dachary + Signed-off-by: Nathan Cutler + (cherry picked from commit b48b6f4ed8b5f5b5852cbbfd5b3d5b650efb7f1b) + +commit 6dcd5fa8474c3a43ffca2394557b11f4906ee1ff +Merge: 7c006fc164 68fcb01211 +Author: Gregory Farnum +Date: Wed Apr 19 02:47:27 2017 -0400 + + Merge pull request #14596 from gregsfortytwo/wip-17916-divergent + + Wip 17916 divergent + + Reviewed-by: Josh Durgin + +commit 97cd21afc54efe3afb482b041f9c34ab6cdc682e +Author: Nathan Cutler +Date: Sun Apr 9 20:11:27 2017 +0200 + + tests: Thrasher: handle "OSD has the store locked" gracefully + + On slower machines (VPS, OVH) it takes time for the OSD to go down. + + Fixes: http://tracker.ceph.com/issues/19556 + Signed-off-by: Nathan Cutler + (cherry picked from commit a5b19d2d73540b730392f8001c8601f2cecc1b51) + +commit faeb8088ac3bd16bc04a1e5a55fec50285a7253f +Author: Casey Bodley +Date: Wed Apr 5 16:19:57 2017 -0400 + + rgw: fix for null version_id in fetch_remote_obj() + + commit 8b43c9781206c22d9aedb4beb8d669bf1e23169f fixed the wrong use of + the dest_obj's version, but removed the check for "null" version + + Signed-off-by: Casey Bodley + (cherry picked from commit 915370776df5b964c2ee8d9f9329562919eef8d5) + +commit 6180fcb4ec33bdade37f5693193712f8016b2560 +Author: Zhang Shaowen +Date: Fri Mar 17 16:26:56 2017 +0800 + + rgw: version id doesn't work in fetch_remote_obj + + Signed-off-by: Zhang Shaowen + (cherry picked from commit 8b43c9781206c22d9aedb4beb8d669bf1e23169f) + + Conflicts: + src/rgw/rgw_rados.cc: trivial: dest_obj.key.instance in master + versus dest_obj.get_instance() in Jewel + +commit d079b91479abfb474fad4fafe54c119f009ea572 +Author: liuchang0812 +Date: Fri Feb 10 18:02:03 2017 +0800 + + rgw: don't return skew time in pre-signed url + + Fixes: http://tracker.ceph.com/issues/18828 + + Signed-off-by: liuchang0812 + (cherry picked from commit dd8b348f4aad0124e8a4457117bf3f5f76af7bdb) + +commit 9b77b16b888b8efbf7d50d333e1880a6ec70d87a +Author: Loic Dachary +Date: Thu Apr 13 23:49:50 2017 +0200 + + ceph-disk: enable directory backed OSD at boot time + + https://github.com/ceph/ceph/commit/539385b143feee3905dceaf7a8faaced42f2d3c6 + introduced a regression preventing directory backed OSD from starting at + boot time. + + For device backed OSD the boot sequence starts with ceph-disk@.service + and proceeds to + + systemctl enable --runtime ceph-osd@.service + + where the --runtime ensure ceph-osd@12 is removed when the machine + reboots so that it does not compete with the ceph-disk@/dev/sdb1 unit at + boot time. + + However directory backed OSD solely rely on the ceph-osd@.service unit + to start at boot time and will therefore fail to boot. + + The --runtime flag is selectively set for device backed OSD only. + + Fixes: http://tracker.ceph.com/issues/19628 + + Signed-off-by: Loic Dachary + (cherry picked from commit f425a127b7487d2093c8c943f0bcdec3d673d601) + + Conflicts: + src/ceph-disk/ceph_disk/main.py: trivial: Jewel does not support + OpenRC and other inits, hence no corresponding 'elif' + +commit 68fcb01211e064f0d200cc9c9576254e9a6b949c +Author: Greg Farnum +Date: Mon Apr 17 18:09:55 2017 -0700 + + pglog: require users set a config option before ignoring divergent_priors + + Signed-off-by: Greg Farnum + +commit b9477303b010b3653934f77fa533df01aeff1c3c +Author: Greg Farnum +Date: Fri Apr 7 14:33:20 2017 -0700 + + osd: pglog: clean up divergent_priors off disk when running; don't assert on startup + + Fixes: http://tracker.ceph.com/issues/17916 + + Signed-off-by: Greg Farnum + +commit 7c006fc1640d2f6b9dc9002bfd994ecdf25510ee +Merge: e31a540dce 721b2083cd +Author: Gregory Farnum +Date: Mon Apr 17 17:41:19 2017 -0400 + + Merge pull request #14492 from gregsfortytwo/wip-jewel-snaptrim + + Backport snap trimming improvements to Jewel + + Reviewed-by: Josh Durgin + +commit 721b2083cd2ed8567d41aba6b17caf30b678e6b3 +Merge: a84dc8fe74 e31a540dce +Author: Gregory Farnum +Date: Mon Apr 17 17:39:59 2017 -0400 + + Merge branch 'jewel' into wip-jewel-snaptrim + +commit a84dc8fe747d1e17c7910c9857f7f5d3d56e2dff +Author: Greg Farnum +Date: Mon Apr 17 14:32:38 2017 -0700 + + PendingReleaseNotes: discuss snap trim improvements + + Signed-off-by: Greg Farnum + +commit 360a9d9af003c650cdf00534909d6488c702c413 +Author: Greg Farnum +Date: Wed Apr 12 16:30:55 2017 -0700 + + PrimaryLogPG: reimplement osd_snap_trim_sleep within the state machine + + Rather than blocking the main op queue, just pause for that amount of + time between state machine cycles. + + Also, add osd_snap_trim_sleep to a few of the thrasher yamls. + + Signed-off-by: Samuel Just + (cherry picked from commit 2ed7759cfeb03e71f0fbd98fe7c2db2bb741861c) + + Conflicts: + src/osd/PrimaryLogPG.cc + + Signed-off-by: Greg Farnum + (cherry picked from commit 67336454a4cee66522bc0ca01b2c58b8960f75ec) + + Conflicts: + qa/suites/rados/thrash/thrashers/default.yaml + qa/suites/rados/thrash/thrashers/pggrow.yaml + src/osd/OSD.h + src/osd/ReplicatedPG.cc + src/osd/ReplicatedPG.h + + Signed-off-by: Greg Farnum + +commit 18dbf6a0245e35dbbdb5ddb760182795b37983c0 +Author: Samuel Just +Date: Thu Jan 26 15:41:21 2017 -0800 + + rados: check that pool is done trimming before removing it + + Signed-off-by: Samuel Just + (cherry picked from commit 4aebf59d906fa3e03d21bdac182f89fe3cd4c802) + (cherry picked from commit 34398c29b3c57f00d932cf96570f882dce64a82b) + +commit 7f78450bd184335ba0098f3ded0fefa2c79a5dd5 +Author: Greg Farnum +Date: Tue Apr 11 14:04:19 2017 -0700 + + osd/ReplicatedPG: limit the number of concurrently trimming pgs + + This patch introduces an AsyncReserver for snap trimming to limit the + number of pgs on any single OSD which can be trimming, as with backfill. + Unlike backfill, we don't take remote reservations on the assumption + that the set of pgs with trimming work to do is already well + distributed, so it doesn't seem worth the implementation overhead to get + reservations from the peers as well. + + Signed-off-by: Samuel Just + (cherry picked from commit 21cc515adfb225ba70f1d80b1b76f0345c214c22) + + Conflicts: + src/osd/PrimaryLogPG.cc + src/osd/PrimaryLogPG.h + + Signed-off-by: Greg Farnum + + (cherry picked from commit 68ea24396ca6450d4d8042a7c5f51306b7d199fa) + (cherry picked from commit c7176b869898c870b56b1762958652d801af4c4c) + + Conflicts: Many. As evidenced by involving two distinct patches + in this one commit, it wasn't a clean backport. + + Signed-off-by: Greg Farnum + +commit 527911fab78b4752313a4a2a5d3ab0ae736bc50f +Author: Kefu Chai +Date: Mon Apr 10 14:53:46 2017 +0800 + + mon/MonClient: make get_mon_log_message() atomic + + * LogClient: move reset_session() into get_mon_log_message() and add a + "flush" param to the latter. so it can get_mon_log_message() + atomically. otherwise another call changing the log queue could sneak + in between reset_session() and get_mon_log_message(). + * MonClient: add a "flush" param to do_send() so we can reset the + LogClient session once we are connected to a monitor. + + Fixes: http://tracker.ceph.com/issues/19427 + Signed-off-by: Kefu Chai + (cherry picked from commit 5215e291da2b527d85e129eda86043490843178e) + + Conflicts: + src/mon/MonClient.cc: handle_auth: replaced 'log_client->reset_session(); + send_log();' sequence with newly introduced 'send_log(true);' like + the original patch does + +commit e31a540dcea96b3d5b4f7ecd20e2d54e81a68e2b +Merge: 7c36d1650f 06916a8798 +Author: Nathan Cutler +Date: Fri Apr 14 22:28:51 2017 +0200 + + Merge pull request #13834 from smithfarm/wip-18969-jewel + + jewel: rgw: Change loglevel to 20 for 'System already converted' message + + Reviewed-by: Casey Bodley + Reviewed-by: Nathan Cutler + +commit 7c36d1650fdb7a357ff724b37cf59b4da413f76b +Merge: 0e3aa2cb01 4c1f302f7d +Author: Nathan Cutler +Date: Fri Apr 14 22:26:51 2017 +0200 + + Merge pull request #13833 from smithfarm/wip-18908-jewel + + jewel: rgw: the swift container acl does not support field .ref + + Reviewed-by: Radoslaw Zarzynski + +commit b698d1fa4ce4aca5e392eeec600e3357c3cf71a9 +Author: Jason Dillaman +Date: Thu Mar 16 12:28:41 2017 -0400 + + librbd: is_exclusive_lock_owner API should ping OSD + + This is required to detect if a peer has been silently blacklisted + and is therefore no longer the lock owner. + + Fixes: http://tracker.ceph.com/issues/19287 + Signed-off-by: Jason Dillaman + (cherry picked from commit e15db05960a284bdf3701256722299d553cfd5aa) + + Conflicts: + src/librbd/ManagedLock.[h|cc]: logic moved to ExclusiveLock + + (cherry picked from commit 7e30b630e2806c73ea503871599f958b58df7934) + +commit 0e3aa2cb011be8a2af69040b94ee240ea6c1e663 +Merge: 8d5a5ddfec 419c9926d9 +Author: Nathan Cutler +Date: Thu Apr 13 11:09:27 2017 +0200 + + Merge pull request #13214 from ovh/bp-osd-updateable-throttles-jewel + + jewel: osd: allow client throttler to be adjusted on-fly, without restart + + Reviewed-by: Josh Durgin + +commit 8d5a5ddfecc7c020eeb8aeb927e007bc04885534 +Merge: 091aaa2ab7 bcd3c906e5 +Author: Nathan Cutler +Date: Thu Apr 13 10:44:23 2017 +0200 + + Merge pull request #14326 from shinobu-x/wip-15025-jewel + + jewel: osd: new added OSD always down when full flag is set + + Reviewed-by: Josh Durgin + +commit d311eea6bc5b2c88984cfc16340970ea1459b74a +Author: Robin H. Johnson +Date: Sat Feb 11 10:32:53 2017 -0800 + + msg/simple/Pipe: support IPv6 QoS. + + Extend DSCP marking for heartbeat packets to IPv6, as commit + 9b9a682fe035c985e416ee1c112fa58f9045a27c only implemented + support for IPv4. + + Conflicts: Cherry-picked 91a29bc490fdfbbef0875fa620c7ba1a1a6492ae from master to avoid conflict. + Backport: jewel, luminious + Fixes: http://tracker.ceph.com/issues/18887 + Signed-off-by: Robin H. Johnson + (cherry picked from commit 2d6021fbf7a728f73c2998be17e9224f14b83a30) + +commit 332b5174c769f395074255e075de8d2cc1ee4021 +Author: Jason Dillaman +Date: Thu Mar 16 12:27:08 2017 -0400 + + pybind: fix incorrect exception format strings + + Signed-off-by: Jason Dillaman + (cherry picked from commit 68617455f534a612ade1331f43b032ab524704ae) + +commit 091aaa2ab768858e840e2d05e0896c229ce69984 +Merge: 3f2e4cd2d5 d30c4d55ad +Author: Nathan Cutler +Date: Wed Apr 12 11:38:48 2017 +0200 + + Merge pull request #13874 from smithfarm/wip-19171-jewel + + jewel: doc: rgw S3 create bucket should not do response in json + + Reviewed-by: Abhishek Lekshmanan + +commit 3f2e4cd2d53f1cbdbdb1fc8687c5ffe0d46b346b +Merge: ea0bc6c553 0e11a938c5 +Author: Nathan Cutler +Date: Wed Apr 12 11:06:40 2017 +0200 + + Merge pull request #13492 from shinobu-x/wip-18516-jewel + + jewel: build/ops: "osd marked itself down" will not recognised if host runs mon + osd on shutdown/reboot + + Reviewed-by: Nathan Cutler + +commit ea0bc6c553454f7641a2594013412aee142fbd11 +Merge: 845972f4de d012c381e8 +Author: Nathan Cutler +Date: Wed Apr 12 11:01:23 2017 +0200 + + Merge pull request #13254 from shinobu-x/wip-14609-jewel + + jewel: common: radosstriper: protect aio_write API from calls with 0 bytes + + Reviewed-by: Kefu Chai + +commit 845972f4de1d803aa4dab0e1afaed693bbba088f +Merge: a3deef997f cfa37d6a16 +Author: Nathan Cutler +Date: Wed Apr 12 10:52:10 2017 +0200 + + Merge pull request #13489 from shinobu-x/wip-18955-jewel + + jewel: ceph-disk: bluestore --setgroup incorrectly set with user + + Reviewed-by: Loic Dachary + Reviewed-by: Nathan Cutler + +commit a3deef997ff0800b9e3e2d141cfc6fdc73cac837 +Merge: 702edb5519 39aab763a4 +Author: Nathan Cutler +Date: Wed Apr 12 10:51:42 2017 +0200 + + Merge pull request #14070 from smithfarm/wip-19339-jewel + + jewel: tests: dummy suite fails in OpenStack + + Reviewed-by: Loic Dachary + +commit 702edb5519e67bc5f8c5b65c6f63c9635cd758cf +Merge: f509ccc4b7 a20d2b89ee +Author: Nathan Cutler +Date: Wed Apr 12 10:51:12 2017 +0200 + + Merge pull request #14329 from smithfarm/wip-19493-jewel + + jewel: ceph-disk: Racing between partition creation & device node creation + + Reviewed-by: Loic Dachary + Reviewed-by: Sébastien Han + +commit f509ccc4b734697267cec35ff57dd7f1c5aaaddb +Merge: c8c4bff2af f2474042ec +Author: Nathan Cutler +Date: Wed Apr 12 10:48:29 2017 +0200 + + Merge pull request #14427 from smithfarm/wip-19140-jewel + + jewel: osdc/Objecter: If osd full, it should pause read op which w/ rwordered flag + + Reviewed-by: Kefu Chai + +commit c8c4bff2afa7fe0339a97f32e69bb9d0546f1318 +Merge: 349baea1a4 b5b441abaa +Author: Nathan Cutler +Date: Wed Apr 12 10:48:08 2017 +0200 + + Merge pull request #14324 from shinobu-x/wip-19371-jewel + + jewel: common: monitor creation with IPv6 public network segfaults + + Reviewed-by: Kefu Chai + +commit 349baea1a4486e475e0381a6b316d64a6ce0139c +Merge: dd466b7d9a 72e2476a13 +Author: Nathan Cutler +Date: Wed Apr 12 10:45:35 2017 +0200 + + Merge pull request #14112 from shinobu-x/wip-19192-jewel + + jewel: tools: brag fails to count "in" mds + + Reviewed-by: Kefu Chai + +commit dd466b7d9acb03c8830bdd83b3b73602c68083c2 +Merge: b8f8bd0a94 ee06517547 +Author: Nathan Cutler +Date: Wed Apr 12 10:45:11 2017 +0200 + + Merge pull request #14150 from smithfarm/wip-18823-jewel + + jewel: tests: run-rbd-unit-tests.sh assert in lockdep_will_lock, TestLibRBD.ObjectMapConsistentSnap + + Reviewed-by: Jason Dillaman + +commit b8f8bd0a949c917b119eca91aec95c6a971a1fb4 +Merge: 222916a375 1cc8d0d085 +Author: Nathan Cutler +Date: Wed Apr 12 10:44:47 2017 +0200 + + Merge pull request #14152 from smithfarm/wip-18893-jewel + + jewel: librbd: Incomplete declaration for ContextWQ in librbd/Journal.h + + Reviewed-by: Jason Dillaman + +commit 222916a3758b0253bcb851b5e955f6970f171306 +Merge: 49f84b1a14 b85677397e +Author: Nathan Cutler +Date: Wed Apr 12 10:44:25 2017 +0200 + + Merge pull request #14154 from smithfarm/wip-18948-jewel + + jewel: tests: additional rbd-mirror test stability improvements + + Reviewed-by: Jason Dillaman + +commit 49f84b1a14295e80ef35204ed691b3131c5f744c +Merge: 2a232d43a1 f6489d01ca +Author: Nathan Cutler +Date: Wed Apr 12 10:44:04 2017 +0200 + + Merge pull request #14148 from smithfarm/wip-18778-jewel + + jewel: rbd: rbd --pool=x rename y z does not work + + Reviewed-by: Jason Dillaman + +commit 2a232d43a18b47399f96abeac3ac800f204a9eaf +Merge: 413ac584d6 8bed107b84 +Author: Nathan Cutler +Date: Wed Apr 12 10:43:41 2017 +0200 + + Merge pull request #14083 from smithfarm/wip-19357-jewel + + jewel: rbd: systemctl stop rbdmap unmaps all rbds and not just the ones in /etc/ceph/rbdmap + + Reviewed-by: Jason Dillaman + +commit 413ac584d63fd469ea28defa68c39538444d01b1 +Merge: 23d595b1b0 547e867628 +Author: Nathan Cutler +Date: Wed Apr 12 10:43:21 2017 +0200 + + Merge pull request #13154 from smithfarm/wip-18496-jewel + + jewel: librbd: Possible deadlock performing a synchronous API action while refresh in-progress + + Reviewed-by: Jason Dillaman + +commit 23d595b1b0fb874adfd1507d86db261cf6a193a9 +Merge: 4add6f5580 915dbace5d +Author: Nathan Cutler +Date: Wed Apr 12 10:42:54 2017 +0200 + + Merge pull request #13244 from smithfarm/wip-18775-jewel + + jewel: rbd: qemu crash triggered by network issues + + Reviewed-by: Jason Dillaman + +commit 4add6f5580b7d65571bc426e95fac35be7150ff4 +Merge: 37ab19cc29 1a4e1e09b1 +Author: Nathan Cutler +Date: Wed Apr 12 10:42:23 2017 +0200 + + Merge pull request #13809 from asheplyakov/18321-bp-jewel + + jewel: librbd: remove image header lock assertions + + Reviewed-by: Jason Dillaman + +commit 37ab19cc29d61970e08af1b4627137cfcaa99474 +Merge: f7c04e3ca6 8d0140a9ed +Author: Nathan Cutler +Date: Wed Apr 12 10:41:56 2017 +0200 + + Merge pull request #13107 from smithfarm/wip-18669-jewel + + jewel: tests: [ FAILED ] TestLibRBD.ImagePollIO in upgrade:client-upgrade-kraken-distro-basic-smithi + + Reviewed-by: Jason Dillaman + +commit f7c04e3ca69c7fc134b267e825277eccea228c9b +Merge: d2909bdb4c a18a2dd108 +Author: Nathan Cutler +Date: Wed Apr 12 10:39:26 2017 +0200 + + Merge pull request #13585 from asheplyakov/jewel-bp-16585 + + jewel: msg: set close on exec flag + + Reviewed-by: Kefu Chai + +commit d2909bdb4cf135de850cc865f735cc61eb3d4ea6 +Merge: cd748603da 6d47615c11 +Author: Nathan Cutler +Date: Wed Apr 12 03:56:22 2017 +0200 + + Merge pull request #14371 from tchaikov/wip-19429-jewel + + jewel: tests: clone workunit using the branch specified by task + + Nathan Cutler + +commit cd748603da43c0b7377b5ef07aff618711b4879c +Merge: 1a20c12355 dd25a8f36b +Author: Nathan Cutler +Date: Wed Apr 12 03:54:11 2017 +0200 + + Merge pull request #14325 from shinobu-x/wip-18619-jewel + + jewel: osd: degraded and misplaced status output inaccurate + + Reviewed-by: Josh Durgin + +commit 1a20c123556e2f566af7e87ab3da6fc2ca328bb9 +Merge: 4838c4db4c 7fdf4d41c5 +Author: Nathan Cutler +Date: Wed Apr 12 03:53:25 2017 +0200 + + Merge pull request #14236 from smithfarm/wip-19392-jewel + + jewel: mon: remove bad rocksdb option + + Reviewed-by: Josh Durgin + +commit 4838c4db4c610926edc599677cb7e74f3bdc3077 +Merge: e26b7033eb 3860ccf16d +Author: Nathan Cutler +Date: Wed Apr 12 03:52:41 2017 +0200 + + Merge pull request #14181 from mslovy/wip-19394-jewel + + jewel: osd: bypass readonly ops when osd full + + Reviewed-by: Josh Durgin + +commit e26b7033ebd4a09210d482a54677806fe2c03505 +Merge: 389150bcc3 819af9e413 +Author: Nathan Cutler +Date: Wed Apr 12 03:49:49 2017 +0200 + + Merge pull request #14113 from shinobu-x/wip-19319-jewel + + jewel: cli: RadosImport::import should return an error if Rados::connect fails + + Reviewed-by: Brad Hubbard + Reviewed-by: David Zafman + +commit 389150bcc376702022cf15c0c79dbe856a97dffa +Merge: a8b10082f5 90de64bd81 +Author: Nathan Cutler +Date: Wed Apr 12 03:45:33 2017 +0200 + + Merge pull request #14047 from asheplyakov/reindex-on-pg-split + + jewel: osd: reindex properly on pg log split + + Reviewed-by: Sage Weil + Reviewed-by: Josh Durgin + +commit a8b10082f5761ea1132b85bd916a84f87e0276e2 +Merge: 32ed9b7897 ae498e84ff +Author: Nathan Cutler +Date: Wed Apr 12 03:45:15 2017 +0200 + + Merge pull request #14044 from mslovy/wip-19311-jewel + + jewel: core: os/filestore: fix clang static check warn use-after-free + + Reviewed-by: Sage Weil + Reviewed-by: Josh Durgin + +commit 32ed9b789733e21a2d597c7016eabf95763e50ae +Merge: 6705e911a2 335b5fa4a9 +Author: Nathan Cutler +Date: Wed Apr 12 03:44:25 2017 +0200 + + Merge pull request #13932 from asheplyakov/18911-bp-jewel + + jewel: rbd-nbd: check /sys/block/nbdX/size to ensure kernel mapped correctly + + Reviewed-by: Mykola Golub + Reviewed-by: Jason Dillaman + +commit 6705e911a229cee50d5ac992c7dd9af834f2400d +Merge: 3d21a0080d 714eb863c3 +Author: Nathan Cutler +Date: Wed Apr 12 03:42:13 2017 +0200 + + Merge pull request #13831 from jan--f/wip-19206-jewel + + jewel: fs: Invalid error code returned by MDS is causing a kernel client WARNING + + Reviewed-by: John Spray + +commit 3d21a0080dfd00c0b89ed23fd8049e46c3041af4 +Merge: 8a6d64331b 6b5322c5f6 +Author: Nathan Cutler +Date: Wed Apr 12 03:41:36 2017 +0200 + + Merge pull request #13827 from tchaikov/wip-19185-jewel + + jewel: osd: ReplicatedPG: try with pool's use-gmt setting if hitset archive not found + + Reviewed-by: Sage Weil + Reviewed-by: Josh Durgin + +commit 8a6d64331b73a4a24a59f4dcdb6771f1dc638879 +Merge: f96392a589 cebba011e5 +Author: Nathan Cutler +Date: Wed Apr 12 03:40:09 2017 +0200 + + Merge pull request #13788 from shinobu-x/wip-18235-jewel + + jewel: core: os/filestore/HashIndex: be loud about splits + + Reviewed-by: Josh Durgin + +commit f96392a58970ab1e81653d5657d3d680120a02b6 +Merge: 8fe6ffcfef 1d054c3856 +Author: Nathan Cutler +Date: Wed Apr 12 03:39:27 2017 +0200 + + Merge pull request #13786 from shinobu-x/wip-19129-jewel + + jewel: build/ops: ceph-base package missing dependency for psmisc + + Reviewed-by: Nathan Cutler + +commit 8fe6ffcfef8918fd8634e87255ad3fe7a544aa16 +Merge: 6f589a159e b249fd5bd8 +Author: Nathan Cutler +Date: Wed Apr 12 03:38:34 2017 +0200 + + Merge pull request #13732 from liewegas/wip-19119-jewel + + jewel: doc: PendingReleaseNotes: note about 19119 + + Reviewed-by: Nathan Cutler + +commit 6f589a159e4eb5f6c96634a742acaf6cd6e174c2 +Merge: b8f2d35884 8c7a1df251 +Author: Nathan Cutler +Date: Wed Apr 12 03:36:21 2017 +0200 + + Merge pull request #13541 from shinobu-x/wip-18929-jewel + + jewel: osd: restrict want_acting to up+acting on recovery completion + + Reviewed-by: Josh Durgin + Reviewed-by: Nathan Cutler + +commit b8f2d35884a52586a28f1ff4eaf99c8c3ba1c43f +Merge: 40d1443d68 2d17092fab +Author: Nathan Cutler +Date: Wed Apr 12 03:34:54 2017 +0200 + + Merge pull request #13477 from asheplyakov/jewel-bp-18951 + + jewel: osd: --flush-journal: sporadic segfaults on exit + + Reviewed-by: Sage Weil + Reviewed-by: Josh Durgin + +commit 40d1443d68b788737f83c10db3811bc37dbe8dda +Merge: 50e863e0f4 07501dec6f +Author: Nathan Cutler +Date: Wed Apr 12 03:33:25 2017 +0200 + + Merge pull request #13261 from shinobu-x/wip-18587-jewel + + jewel: mon: OSDMonitor: make 'osd crush move ...' work on osds + + Reviewed-by: Josh Durgin + Reviewed-by: Nathan Cutler + +commit 25e43ac25619d883d5a04e2df1cf6f57fea73fd0 +Author: Nathan Cutler +Date: Tue Apr 11 08:23:23 2017 +0200 + + tests: fix oversight in yaml comment + + When the file was copied from the hammer version, the word "hammer" + was not changed to "infernalis". + + Signed-off-by: Nathan Cutler + + This cannot be cherry-picked from master because the test has been dropped. + +commit f2474042ecd6560323673170c13f2cb964406e70 +Author: Sage Weil +Date: Thu Mar 2 21:20:08 2017 -0600 + + osdc/Objecter: resend RWORDERED ops on full + + Our condition for respecting the FULL flag is complex, and involves + the WRITE | RWORDERED flags vs the FULL_FORCE | FULL_TRY flags. Previously, + we could block a read bc of RWORDRED but not resend it later. + + Fix by capturing the complex condition in a respects_full() bool and using + it both for the blocking-on-send and resending-on-possibly-notfull-later + checks. + + Fixes: http://tracker.ceph.com/issues/19133 + Signed-off-by: Sage Weil + (cherry picked from commit c4b73f19a7be13ff412eef804efcd8c18ed4dae6) + +commit 2d68822c784eb4d62d3b0198ed4ec04404dbffb3 +Author: Jianpeng Ma +Date: Thu May 5 23:44:57 2016 +0800 + + osdc/Objecter: If osd full, it should pause read op which w/ rwordered flag. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit 07b2a22210e26eac1b2825c30629788da05e5e12) + +commit 2271cd81282f3f026316134cbab630f3e4f47782 +Author: Brad Hubbard +Date: Mon Apr 3 13:37:17 2017 +1000 + + ceph-disk: Populate mount options when running "list" + + Also tidy up by moving duplicated code into a function + + Fixes: http://tracker.ceph.com/issues/17331 + Signed-off-by: Brad Hubbard + (cherry picked from commit 7943ab2e01e24f2dfc5b6f1d3ffdc8a49e01af45) + +commit 65465356b5e7cb6cba67f8cbb81259d21e888dfb +Author: Ken Dreyer +Date: Tue Feb 16 12:56:34 2016 -0700 + + debian: replace SysV rbdmap with systemd service + + Stop shipping /etc/init.d/rbdmap in the Debian packages. Ship the + rbdmap.service systemd unit file instead. + + The corresponding change has already been made for RPMs, in + 9224ac2ad25f7d017916f58b642c0ea25305c3e5. + + For Upstart-based systems (eg Ubuntu Trusty), the Debian packages + already contain rbdmap.conf. + + (This gets us a tiny bit closer to being able to remove the rbdmap SysV + script from our tree entirely.) + + Signed-off-by: Ken Dreyer + (cherry picked from commit 839807118dda2fb4d57ed9d50ec46e3ee0e2820a) + + Conflicts: + debian/ceph-common.install (retain /etc/init.d/rbdmap so jewel users can choose sysvinit or systemd) + debian/rules (retain /etc/init.d/rbdmap so jewel users can choose sysvinit or systemd) + +commit 6d47615c11a216733ba368f0dbd9a0a1b9c8fd35 +Author: Kefu Chai +Date: Sat Apr 1 23:04:22 2017 +0800 + + qa/tasks/workunit.py: use "overrides" as the default settings of workunit + + otherwise the settings in "workunit" tasks are always overridden by the + settings in template config. so we'd better follow the way of how + "install" task updates itself with the "overrides" settings: it uses the + "overrides" as the *defaults*. + + Fixes: http://tracker.ceph.com/issues/19429 + Signed-off-by: Kefu Chai + (cherry picked from commit 47080150a17d238f38d9da824d227393ad767aad) + +commit fdc71e75cd6361be49c4c20e77d3bdff017b38bf +Author: Kefu Chai +Date: Thu Mar 30 12:37:01 2017 +0800 + + tasks/workunit.py: specify the branch name when cloning a branch + + c1309fb failed to specify a branch when cloning using --depth=1, which + by default clones the HEAD. and we can not "git checkout" a specific + sha1 if it is not HEAD, after cloning using '--depth=1', so in this + change, we dispatch "tag", "branch", "HEAD" using three Refspec classes. + + Signed-off-by: Kefu Chai + Signed-off-by: Dan Mick + (cherry picked from commit 9ca7ccf5f1739f731da8bf31260594aea3a2932d) + + Conflicts: + qa/tasks/workunit.py (trivial resolution) + +commit 6c14a803894d71bae858705855551a44bdf9bf67 +Author: Dan Mick +Date: Tue Mar 28 20:08:13 2017 -0700 + + tasks/workunit.py: when cloning, use --depth=1 + + Help avoid killing git.ceph.com. A depth 1 clone takes about + 7 seconds, whereas a full one takes about 3:40 (much of it + waiting for the server to create a huge compressed pack) + + Signed-off-by: Dan Mick + (cherry picked from commit c1309fbef300a062138ac40eb5d3e5081b833072) + +commit f8aa6be06cc628b1cf64c9196c30045d020d657e +Author: Nathan Cutler +Date: Fri Apr 7 06:59:13 2017 +0200 + + build/ops: rpm: move $CEPH_EXTRA_CONFIGURE_ARGS to right place + + Signed-off-by: Nathan Cutler + +commit bb3eb4284fe74cbf78e4a406c7b5f67a8e3c84b3 +Author: Nathan Cutler +Date: Fri Apr 7 06:48:51 2017 +0200 + + build/ops: rpm: explicitly provide --with-ocf to configure + + Fixes: http://tracker.ceph.com/issues/19546 + Signed-off-by: Nathan Cutler + + (Note: This cannot be cherry-picked because master uses cmake, but + the fix does bring the jewel spec file into better alignment its master + counterpart, at least as far as this one little bit is concerned.) + +commit 30c952735327d05b6049e9364c1a053ebf651751 +Author: lu.shasha +Date: Mon Feb 27 15:52:43 2017 +0800 + + rgw: use separate http_manager for read_sync_status + + concurrent users of read_sync_status() use different cr managers, when get_resource must + use http_manager related to the cr manager. + + Fixes: http://tracker.ceph.com/issues/19236 + + Signed-off-by: Shasha Lu + (cherry picked from commit c412024889f8995d98096ac863bafee71624bd70) + +commit 87cb8474f523be1b281882c46a8a3597977a51c9 +Author: Casey Bodley +Date: Thu Jul 28 20:20:29 2016 -0400 + + rgw: pass cr registry to managers + + Signed-off-by: Casey Bodley + (cherry picked from commit ef4d7eab11fb5d2a41c9c28b9eb8b075aaff0d05) + + Conflicts: + src/rgw/rgw_rados.cc: removed ref to RGWSyncLogTrimThread (not backported) + +commit 1a6d7c0506d4bcda775dda05bb357d4d5695dabb +Author: Casey Bodley +Date: Fri Jul 22 11:00:16 2016 -0400 + + rgw: use separate cr manager for read_sync_status + + RGWCoroutinesManager::run() is not reentrant, so concurrent users of + read_sync_status() must use different managers + + Signed-off-by: Casey Bodley + (cherry picked from commit 6b1e40d7a21c549b55e6576ec56973c8d3c092d1) + +commit c466adee9c8f7a97ff7e99bee56da8ce51bf0f00 +Author: Casey Bodley +Date: Thu Jul 21 23:46:20 2016 -0400 + + rgw: change read_sync_status interface + + RGWDataSyncStatusManager::read_sync_status() now operates on the given + parameter, rather than its internal member variable. this allows + multiple concurrent readers, which is needed for the rest interface + + Signed-off-by: Casey Bodley + (cherry picked from commit b7cd4e0e8b879b5e528de75bea3307585b96cbf2) + +commit 36921a3f3d01547508dc6270f6b19f2576e067d9 +Author: Casey Bodley +Date: Wed Jun 8 11:24:11 2016 -0400 + + rgw: don't ignore ENOENT in RGWRemoteDataLog::read_sync_status() + + rest handlers for sync status need to return ENOENT errors. the only + other callers are in radosgw-admin, so the ENOENT errors are ignored at + those call sites instead + + Signed-off-by: Casey Bodley + (cherry picked from commit 2cc533b30c0f23c0750ea8d02c51b3b3d3b4821a) + +commit b249fd5bd816a63b445db12c8f846cfda199c8b8 +Author: Sage Weil +Date: Wed Mar 1 13:18:44 2017 -0600 + + PendingReleaseNotes: warning about 'osd rm ...' and #19119 + + See http://tracker.ceph.com/issues/19119 + + Signed-off-by: Sage Weil + (cherry picked from commit be96003c464481d8e84825178d600234a0d64d22) + +commit 335258f975a8e8539774e8cb22690d746ec90d9f +Author: Ilya Dryomov +Date: Tue Mar 28 11:49:08 2017 +0200 + + osdc/Objecter: respect epoch barrier in _op_submit() + + Epoch barrier instructs us to avoid sending (i.e. pause) any OSD ops + until we see a barrier epoch. The only thing epoch_barrier check in + target_should_be_paused() does is keep already paused ops paused. We + need to actually pause incoming OSD ops in _op_submit(). + + Fixes: http://tracker.ceph.com/issues/19396 + Signed-off-by: Ilya Dryomov + (cherry picked from commit f8e8efc0a53d7bd807cc0c2178aef7c4bed62ab7) + +commit a20d2b89ee13e311cf1038c54ecadae79b68abd5 +Author: Erwan Velu +Date: Fri Mar 31 14:54:33 2017 +0200 + + ceph-disk: Adding retry loop in get_partition_dev() + + There is very rare cases where get_partition_dev() is called before the actual partition is available in /sys/block/. + + It appear that waiting a very short is usually enough to get the partition beein populated. + + Analysis: + update_partition() is supposed to be enough to avoid any racing between events sent by parted/sgdisk/partprobe and + the actual creation on the /sys/block//* entrypoint. + On our CI that race occurs pretty often but trying to reproduce it locally never been possible. + + This patch is almost a workaround rather than a fix to the real problem. + It offer retrying after a very short to be make a chance the device to appear. + This approach have been succesful on the CI. + + Note his patch is not changing the timing when the device is perfectly created on time and just differ by a 1/5th up to 2 seconds when the bug occurs. + + A typical output from the build running on a CI with that code. + command_check_call: Running command: /usr/bin/udevadm settle --timeout=600 + get_dm_uuid: get_dm_uuid /dev/sda uuid path is /sys/dev/block/8:0/dm/uuid + get_partition_dev: Try 1/10 : partition 2 for /dev/sda does not in /sys/block/sda + get_partition_dev: Found partition 2 for /dev/sda after 1 tries + get_dm_uuid: get_dm_uuid /dev/sda uuid path is /sys/dev/block/8:0/dm/uuid + get_dm_uuid: get_dm_uuid /dev/sda2 uuid path is /sys/dev/block/8:2/dm/uuid + + fixes: #19428 + + Signed-off-by: Erwan Velu + (cherry picked from commit 93e7b95ed8b4c78daebf7866bb1f0826d7199075) + +commit 2d5d0aec60ec9689d44a53233268e9b9dd25df95 +Author: Erwan Velu +Date: Wed Mar 22 10:11:44 2017 +0100 + + ceph-disk: Reporting /sys directory in get_partition_dev() + + When get_partition_dev() fails, it reports the following message : + ceph_disk.main.Error: Error: partition 2 for /dev/sdb does not appear to exist + The code search for a directory inside the /sys/block/get_dev_name(os.path.realpath(dev)). + + The issue here is the error message doesn't report that path when failing while it might be involved in. + + This patch is about reporting where the code was looking at when trying to estimate if the partition was available. + + Signed-off-by: Erwan Velu + (cherry picked from commit 413c9fcfbe8e6ab33d73b8428090ccacc33c5d15) + +commit bcd3c906e5b57e7f44df1963c6e11b78ff89482c +Author: Mingxin Liu +Date: Mon Mar 13 23:41:58 2017 +0800 + + osd: don't share osdmap with objecter when preboot + + Signed-off-by: Mingxin Liu + (cherry picked from commit a5a3644eecc49b4eea890c6999fe87536495dcbe) + +commit dd25a8f36bef1901f3ce6193cfcbdaf7ab2424a1 +Author: David Zafman +Date: Wed Jan 18 08:33:40 2017 -0800 + + osd: Calculate degraded and misplaced more accurately + + Calculate num_object_copies based on the larger of pool size, + up set size and acting set size. + + Calculate num_objects_degraded as the difference between num_object_copies + and all copies found on acting set and backfilling up set OSDs. + + Calculate num_objects_misplaced as all copies on acting set OSDs not in up set + less copies that have been backfilled to up set OSDs. + + Fixes: http://tracker.ceph.com/issues/18619 + + Signed-off-by: David Zafman + (cherry picked from commit 8423bc40759cca137f61e7b755411719a84369d4) + +commit b5b441abaa852e85ddefd8b22835c9b85898cc06 +Author: Fabian Grünbichler +Date: Wed Mar 22 16:13:50 2017 +0100 + + common: fix segfault in public IPv6 addr picking + + sockaddr is only 16 bytes big, so declaring net as sockaddr + and then casting to sockaddr_in6 in case of IPv6 cannot + work. + + using sockaddr_storage works for both IPv4 and IPv6, and is + used in other code parts as well. + + note that the tests did not find this issue as they declared + the bigger structs and casted the references to (sockaddr *) + + Fixes: http://tracker.ceph.com/issues/19371 + Signed-off-by: Fabian Grünbichler + (cherry picked from commit ae2ee3d3835fe25b35eeb1a841ee5234cd69eb65) + +commit 7fdf4d41c5bef14269cb302301a08d5a3a57a768 +Author: Sage Weil +Date: Mon May 2 15:29:12 2016 -0400 + + mon: remove bad rocksdb option + + Signed-off-by: Sage Weil + (cherry picked from commit 0ac671ece258e509f71a05253e62a9878e279840) + +commit 3860ccf16d7dfb137face9886c3d7f29cd527835 +Author: Jianpeng Ma +Date: Thu May 5 23:07:06 2016 +0800 + + osd: bypass readonly ops when osd full. + + Signed-off-by: Jianpeng Ma + (cherry picked from commit e2a0ae8e88e6b7354b14adb503fd8ba8525bee39) + See: http://tracker.ceph.com/issues/19394 + + Signed-off-by: yaoning + +commit b85677397ef9a3fe16c087e67d3f752851bbe070 +Author: Jason Dillaman +Date: Mon Nov 21 15:31:43 2016 -0500 + + qa/workunits/rbd: resolve potential rbd-mirror race conditions + + Fixes: http://tracker.ceph.com/issues/18935 + Signed-off-by: Jason Dillaman + (cherry picked from commit 63eae97afc1a92412525468263fb8696a243ebac) + +commit 1cc8d0d08560af4e8785d7c4c6a925b1fc9f988e +Author: Boris Ranto +Date: Wed Feb 8 23:47:57 2017 +0100 + + librbd: Include WorkQueue.h since we use it + + We use m_work_queue of type ContextWQ in handle_update function but we + do not include common/WorkQueue.h that defines ContextWQ. This results + in dereference of an incomplete type and causes build error in latest + Fedora rawhide (future 26). + + Fixes: http://tracker.ceph.com/issues/18862 + + Signed-off-by: Boris Ranto + (cherry picked from commit 480f82847ad1fc7959f1fe5a90761a5a24550993) + +commit ee06517547ae174472d739f966c0a27d3a97d742 +Author: Jason Dillaman +Date: Wed Jan 18 20:54:22 2017 -0500 + + librbd: avoid possible recursive lock when racing acquire lock + + Fixes: http://tracker.ceph.com/issues/17447 + Signed-off-by: Jason Dillaman + (cherry picked from commit 5e46e8eb664f573bd70ae7c96a6d9a98b0deb09e) + +commit f6489d01ca41d6979b5de28e3cde6b43fcaa8edb +Author: Gaurav Kumar Garg +Date: Mon Jan 30 13:03:20 2017 +0100 + + rbd: destination pool should be source pool if it is not specified + + Currently if user perform image rename operation and user give pool + name as a optional parameter (--pool=) then currently + its taking this optional pool name for source pool and making + destination pool name default pool name. + With this fix if user provide pool name as a optional pool name + parameter then it will consider both soruce and destination pool + name as optional parameter pool name. + + Fixes: http://tracker.ceph.com/issues/18326 + + Reported-by: ÐœÐРК КОРЕÐБЕРГ + Signed-off-by: Gaurav Kumar Garg + (cherry picked from commit 01f23aa99fb694da326ab408e75b33c640ce660b) + +commit 9e123e6d6c8bbd54514b498df5a22d961f0cefbb +Author: Orit Wasserman +Date: Sun Mar 12 12:11:28 2017 +0200 + + rgw: use rgw_zone_root_pool for region_map like is done in hammer + + Fixes: http://tracker.ceph.com/issues/19195 + Signed-off-by: Orit Wasserman + (cherry picked from commit c91dd6d9efd148e0fe0f027dde537e977de9aa26) + +commit e2ee70a8ad51992bbd763d2465f6d8a01dad6a31 +Author: Orit Wasserman +Date: Thu Mar 9 13:03:24 2017 +0200 + + rgw: skip conversion of zones without any zoneparams + + Fixes: http://tracker.ceph.com/issues/19231 + Signed-off-by: Orit Wasserman + (cherry picked from commit 36cf5a5c8179c6313346b2e29286c537c6fefce8) + +commit c7d292bf6714d7aaf10412e5109badb90f5dc208 +Author: Orit Wasserman +Date: Thu Mar 9 11:16:26 2017 +0200 + + rgw: better debug information for upgrade + + Signed-off-by: Orit Wasserman + (cherry picked from commit e9f3bf8eab1dd46a92f54b0f7afe1f4c0e4204db) + +commit 11f5c841c7698e6239017478fa05f742b7c0ab1c +Author: Danny Al-Gaaf +Date: Tue Jan 31 18:01:32 2017 +0100 + + rgw/rgw_rados.cc: prefer ++operator for non-primitive iterators + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 7086cf9a73f2ec1eb96c0e752beb1b74fca18570) + +commit 819af9e4139997cd845dc24a137d43218d8a40a8 +Author: Brad Hubbard +Date: Tue Mar 21 12:22:20 2017 +1000 + + tools/rados: Check return value of connect + + Fail gracefully if Rados::connect returns an error. + + Fixes: http://tracker.ceph.com/issues/19319 + Signed-off-by: Brad Hubbard + (cherry picked from commit c119091ef0844e4a1ddd790a8bfef8f06bb57d58) + +commit 72e2476a130e14abcd541ff61328454cb69ad9c3 +Author: Kefu Chai +Date: Mon Mar 6 11:33:27 2017 +0800 + + brag: count the number of mds in fsmap not in mdsmap + + this change was introduced in 4e9b953 + + Fixes: http://tracker.ceph.com/issues/19192 + Signed-off-by: Peng Zhang + (cherry picked from commit 2d25a9c0c760664d3de33ecca0e0272c1031cd46) + +commit 3cb192779a1c3662d27bba7715eb31c5f7b6a5b7 +Author: Oleh Prypin +Date: Thu Jun 30 00:51:50 2016 +0300 + + brag: Assume there are 0 MDS instead of crashing when data is missing + + Signed-off-by: Oleh Prypin + +commit 8bed107b84efdc8c735245cdfb51bfd8d07da13b +Author: David Disseldorp +Date: Fri Feb 10 19:19:46 2017 +0100 + + doc: update description of rbdmap unmap[-all] behaviour + + Fixes: http://tracker.ceph.com/issues/18884 + + Signed-off-by: David Disseldorp + (cherry picked from commit f987396e126d5e61240a6645ffed439f79b072b4) + +commit da4e0b56c60f4bc2c67daa5dfe4d5255ab8bfc03 +Author: Nathan Cutler +Date: Thu Dec 15 18:23:41 2016 +0100 + + doc: add verbiage to rbdmap manpage + + Fixes: http://tracker.ceph.com/issues/18262 + Signed-off-by: Nathan Cutler + (cherry picked from commit fbac4a081547d83bb2436cd60b0b7ee7250f8a6c) + +commit 167d4fd7ccf0cdac536f95250bbfa3e9879ab769 +Author: David Disseldorp +Date: Fri Feb 10 17:50:12 2017 +0100 + + rbdmap: unmap RBDMAPFILE images unless called with unmap-all + + When called with a "map" parameter, the rbdmap script iterates the list + of images present in RBDMAPFILE (/etc/ceph/rbdmap), and maps each entry. + When called with "unmap", rbdmap currently iterates *all* mapped RBD + images and unmaps each one, regardless of whether it's listed in the + RBDMAPFILE or not. + + This commit adds functionality such that only RBD images listed in the + configuration file are unmapped. This behaviour is the new default for + "rbdmap unmap". A new "unmap-all" parameter is added to offer the old + unmap-all-rbd-images behaviour, which is used by the systemd service. + + Fixes: http://tracker.ceph.com/issues/18884 + + Signed-off-by: David Disseldorp + (cherry picked from commit e58413abf408cbe254232e563f3e30d2dc0d707c) + +commit 39aab763a44e45e025c311cdfff95116df11a4c4 +Author: Nathan Cutler +Date: Thu Dec 15 13:01:02 2016 +0100 + + Revert "dummy: reduce run time, run user.yaml playbook" + + This reverts commit d4e3cec1851ae35889127b90912e133178085bc6. + + Fixes: http://tracker.ceph.com/issues/18259 + Signed-off-by: Nathan Cutler + (cherry picked from commit a8a2a8c3e68b910dbaeb3186576898bf9f89f9fd) + +commit 2e50fe1684f73ebe96969c341242b6f20c8470a0 +Author: Casey Bodley +Date: Thu Oct 20 15:01:01 2016 -0400 + + rgw: fix break inside of yield in RGWFetchAllMetaCR + + the yield macro is implemented with for/switch, so the breaks in + RGWFetchAllMetaCR weren't being applied to the for loop as expected - + so any of these breaks send RGWFetchAllMetaCR into an infinite loop + + removed the yield {} block, so that breaks will apply to the for loop as + intended, then added a single yield; statement to allow the + entries_index consumer to run one per iteration + + Fixes: http://tracker.ceph.com/issues/17655 + + Signed-off-by: Casey Bodley + (cherry picked from commit 190bd385a7be52867d65740c410884f5c8cbc21f) + +commit dc4e7a1a865ea0ae7362c1b6a7a542aa5f72107d +Author: Casey Bodley +Date: Fri Mar 3 12:10:40 2017 -0500 + + rgw: delete_system_obj() fails on empty object name + + Signed-off-by: Casey Bodley + (cherry picked from commit 67401193f871db95a6045915fa59dce8c5dd1012) + +commit e9a577c8c535702d1eb285429978bdbb395e2d5c +Author: Casey Bodley +Date: Fri Mar 3 11:42:45 2017 -0500 + + rgw: if user.email is empty, dont try to delete + + Fixes: http://tracker.ceph.com/issues/18980 + + Signed-off-by: Casey Bodley + (cherry picked from commit 022ecf0fcc8e44912c8758ee1d9a452dc23cbbce) + +commit 90de64bd81fedcb9540e40d50420e169a4a81248 +Author: Alexey Sheplyakov +Date: Mon Mar 20 14:05:17 2017 +0400 + + jewel: osd/PGLog: reindex properly on pg log split + + When PGLog::IndexedLog::split_into runs it builds the list, which means + the old indices are wrong (point to bad memory), but index() will not + rebuild them because ever since b858e86 we won't rebuild them if they + are already built. Fix that by calling unindex() before the split. + + Based on 643ae42cf27f16dd6ed4e1402acc0483bb9fca74. Notice that both + the child and the parent log are re-indexed in Jewel, so the only + problem is missing unindex(). + + Signed-off-by: Alexey Sheplyakov + +commit ae498e84ffcff7424721f0d2704ec739d1cc092d +Author: liuchang0812 +Date: Tue Dec 20 13:21:40 2016 +0800 + + os/filestore: fix clang static check warn use-after-free + + Signed-off-by: liuchang0812 + (cherry picked from commit 1d359455b3dd6abb383542ba596a03f14ac54dbd) + See: http://tracker.ceph.com/issues/19311 + + Signed-off-by: yaoning + +commit 335b5fa4a9694620546422f9a02bdcc16549d7cc +Author: Mykola Golub +Date: Thu Feb 2 11:11:35 2017 +0100 + + rbd-nbd: check /sys/block/nbdX/size to ensure kernel mapped correctly + + Fixes: http://tracker.ceph.com/issues/18335 + Signed-off-by: Mykola Golub + (cherry picked from commit 596e5ea8a5df72002672eef0a6d20572ca6f60f0) + + Conflicts: + qa/workunits/rbd/rbd-nbd.sh: the original commit removes + TOO_LARGE_IMAGE test, do the same thing + src/tools/rbd_nbd/rbd-nbd.cc: help git to add + "include/stringify.h" + + Other changes: + src/tools/rbd_nbd/rbd-nbd.cc: #include so + the code compiles + + Signed-off-by: Alexey Sheplyakov + +commit ced799f9c6558482d538f8dec854c62162685ad0 +Author: Michal Koutný +Date: Thu Jan 26 16:08:09 2017 -0500 + + rgw: Use decoded URI when verifying TempURL + + Instead of calliing url_decode directly, we reuse s->decoded_uri that is + initialized in RGWREST::preprocess(). + + Fixes: http://tracker.ceph.com/issues/18590 + + Adapted from 4e1318f4dcbfd64c3ec94f4addf6e38ddd6c013a. Cherry-picking + that patch requires a quite a number of unrelated changes, hence this + patch does s/s->info.request_uri/s->decoded_uri/ to keep the fix as + minimal as possible. + + Signed-off-by: Alexey Sheplyakov + +commit 043d70461c1eb874d9185f9bd671930fad05ff65 +Author: Ilya Dryomov +Date: Wed Mar 1 17:19:04 2017 +0100 + + osd/OSDMap: don't set weight to IN when OSD is destroyed + + Since commit 4e28f9e63644 ("osd/OSDMap: clear osd_info, osd_xinfo on + osd deletion"), weight is set to IN when OSD is deleted. This changes + the result of applying an incremental for clients, not just OSDs. + Because CRUSH computations are obviously affected, pre-4e28f9e63644 + servers disagree with post-4e28f9e63644 clients on object placement, + resulting in misdirected requests. + + Fixes: http://tracker.ceph.com/issues/19119 + Signed-off-by: Ilya Dryomov + (cherry picked from commit a6009d1039a55e2c77f431662b3d6cc5a8e8e63f) + +commit 6b5322c5f62f4b90c4206c6ddcc70d090fa7eeb9 +Author: Kefu Chai +Date: Tue Mar 7 18:49:46 2017 +0800 + + osd/ReplicatedPG: try with pool's use-gmt setting if hitset archive not found + + due to http://tracker.ceph.com/issues/19185, a hammer OSD could store + pg_hit_set_info_t with "use-gmt = true" even the pool setting is false. + so we use the pool setting as a fallback if the hitset archive is not + found locally and the pool.use_gmt does not match with hitset.use_gmt. + + Fixes: http://tracker.ceph.com/issues/19185 + Signed-off-by: Kefu Chai + + Conflicts: + osd/ReplicatedPG.cc: This cannot be cherry-picked from master + because: hammer should upgrade to jewel first before moving to a + higher version. so there is no necessary to include this workaround + in releases later than jewel. + +commit d30c4d55ad52e2b63fdbd06ce256d92fc3fd36c9 +Author: Abhishek Lekshmanan +Date: Thu Feb 16 17:40:50 2017 +0100 + + doc: rgw: make a note abt system users vs normal users + + Mention that system users don't behave like normal users in context of + normal rest operations + + Fixes: http://tracker.ceph.com/issues/18889 + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit a47bcf70c9f51a6601b809cba219f5615b204d34) + + Conflicts: + doc/radosgw/multisite.rst (trivial whitespace difference) + +commit 5ee8feaba469886f9e3bd3909475ffef62ba261d +Author: root +Date: Tue Feb 7 14:37:36 2017 +0530 + + rgw: Let the object stat command be shown in the usage + + Fixes: http://tracker.ceph.com/issues/19013 + Signed-off-by: Pavan Rallabhandi + (cherry picked from commit 0fe76f83d19be098ef54fb0492a376fef3aa9e23) + +commit 754b4a482cb0369215beed58103a1e241231cf77 +Author: root +Date: Tue Feb 21 16:33:29 2017 +0530 + + rgw: Correct the return codes for the health check feature + Fixes: http://tracker.ceph.com/issues/19025 + Signed-off-by: Pavan Rallabhandi + + (cherry picked from commit 4da2bf310f6d43423554c32e43ebf90ad2c3f3a9) + +commit 9cd7dd84909abdb9e603ff3aeb9958cdab8c70ad +Author: Ronak Jain +Date: Wed Feb 22 12:03:46 2017 +0530 + + rgw: Fixes typo in rgw_admin.cc + + Issue: http://tracker.ceph.com/issues/19026 + Signed-off-by: Ronak Jain + (cherry picked from commit 58837ef6ce8cbcfc2cac29d5f833b2cf62d8737a) + +commit 85fbb00f6ef5f11bc5d615ccd8e2202ce3896fd1 +Author: Yehuda Sadeh +Date: Mon Feb 27 10:35:01 2017 -0800 + + rgw: don't init rgw_obj from rgw_obj_key when it's incorrect to do so + + Fixes: http://tracker.ceph.com/issues/19096 + + rgw_obj_key currently deals with the bucket index key, and not + representing a (name, instance, ns) tupple. Need to initialize + it in two steps. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 392c5d9dae6ba699014ffe6e1e67818fa62d7e41) + +commit ec0668c201a71b4a17ef0ab3c5908f57229aa6ef +Author: Casey Bodley +Date: Tue Nov 29 11:29:41 2016 -0500 + + rgw: fix for broken yields in RGWMetaSyncShardCR + + Fixes: http://tracker.ceph.com/issues/18076 + + Signed-off-by: Casey Bodley + (cherry picked from commit e62d48a9bf2e309eab1a863f167af5267ebcc371) + +commit 6afe3efa4b636ede1cd77086cb2e70ed09fa2e95 +Author: Abhishek Lekshmanan +Date: Mon Jul 25 11:21:11 2016 +0200 + + rgw: kill a compile warning for rgw_sync + + killing the compile warning for + + ``` + /ceph/src/rgw/rgw_sync.cc:1462:12: + warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses] + if (can_adjust_marker) yield { + ^ + ``` + + Signed-off-by: Abhishek Lekshmanan + Signed-off-by: Casey Bodley + (cherry picked from commit 831640bb46621a6f003ad562cef7928ffa9a7ad3) + +commit 06916a8798439ec033294d791749ce7381d92f51 +Author: Vikhyat Umrao +Date: Mon Feb 13 23:07:25 2017 +0530 + + rgw: change log level to 20 for 'System already converted' message + + Fixes: http://tracker.ceph.com/issues/18919 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit 55b567c767830170d04de4cdc8f10aba30a3f379) + +commit 4c1f302f7d71bedb0dead220f17eeb84e7e3f737 +Author: Jing Wenjun +Date: Wed Jan 11 05:28:43 2017 +0800 + + rgw: the swift container acl should support field .ref + + On the openstack-swift. The container acl supports .ref, which is ignored on ceph swift. + + Fixes: http://tracker.ceph.com/issues/18484 + Signed-off-by: Jing Wenjun + (cherry picked from commit b06f9cd9f0900db7b0d0fbcaea69cdd0d4b10132) + + Conflicts: + src/rgw/rgw_acl_swift.cc - no extract_referer_urlspec() in jewel + see https://github.com/ceph/ceph/pull/8657 + +commit 714eb863c30df4e653068e6ea16630504e58b704 +Author: xie xingguo +Date: Tue Jun 14 19:32:01 2016 +0800 + + server: negative error code when responding to client + + As the comment suggests. Also a zero or positive return code + shall indicates a success, which does not match our intention here. + + Signed-off-by: xie xingguo + (cherry picked from commit 26931f888ce4661765cca106b3a3dc66702266df) + Signed-off-by: Jan Fajerski + +commit 1a4e1e09b1e562bf97cfe96f5cb9f937b6987165 +Author: Jason Dillaman +Date: Tue Dec 13 14:10:58 2016 -0500 + + librbd: remove image header lock assertions + + This assertions can sporadically fail if the watch is lost and + recovered in the background. Upon a true loss of the lock, the + client would either be blacklisted or it would have completed + all in-flight ops before releasing. + + Fixes: http://tracker.ceph.com/issues/18244 + Signed-off-by: Jason Dillaman + (cherry picked from commit ce4f2a52ec0a794d89e7576b59c9b9aefe3db288) + + Conflicts: + src/librbd/operation/SnapshotCreateRequest.cc: rbd class + does not support the snapshot namespaces in Jewel, skip + the corresponding argument + +commit cebba011e502f7009208bbddc295eb17f88f1bb9 +Author: Dan van der Ster +Date: Fri Dec 9 22:06:26 2016 +0100 + + os/filestore/HashIndex: be loud about splits + + Filestore splits are a rare yet important enough event that an + OSD should visibly report when they happen. + + Without this reporting an operator could spend hours trying to + understand the cause of any split-induced slow requests. + + Fixes: http://tracker.ceph.com/issues/18235 + Signed-off-by: Dan van der Ster + (cherry picked from commit 61c47acd3a1f3e01f0106d4a541bb7f28a1301d8) + +commit 1d054c3856a63ceebe44f66ff83fda691c374f71 +Author: Nathan Cutler +Date: Thu Mar 2 12:41:07 2017 +0100 + + build/ops: add psmisc dependency to ceph-base (deb and rpm) + + Fixes: http://tracker.ceph.com/issues/19129 + Signed-off-by: Nathan Cutler + (cherry picked from commit 769b695465162bc8424abf8e2f259e6765b5bbff) + + Conflicts: + debian/control (jewel does not have f11acf2b 7e71cd2c) + +commit 6add2a457e2826b71c0e9e82c6f6686cecbc4584 +Author: Jing Wenjun +Date: Fri Nov 25 21:31:22 2016 +0800 + + rgw: metadata sync info should be shown at master zone of slave zonegroup + + When executing 'radosgw-admin sync status', the metadata sync info should be shown on the srceen at master zone of slave zonegroup. + + Using the function store->is_meta_master() instead of 'zonegroup.is_master && zone.id == zonegroup.master_zone' + + Fixes: http://tracker.ceph.com/issues/18091 + Signed-off-by: Jing Wenjun + (cherry picked from commit c12d0af2f98b246a73cc3ee027449a22192795b3) + +commit 0e11a938c5c9acd8a50efa9a154ea3bf21bcafc5 +Author: Boris Ranto +Date: Wed Jan 25 12:39:40 2017 +0100 + + systemd: Start OSDs after MONs + + Currently, we start/stop OSDs and MONs simultaneously. This may cause + problems especially when we are shutting down the system. Once the mon + goes down it causes a re-election and the MONs can miss the message + from the OSD that is going down. + + Resolves: http://tracker.ceph.com/issues/18516 + + Signed-off-by: Boris Ranto + (cherry picked from commit 7f4acf45dd0d86e7d9992a8c30e5876fb57b1914) + + Conflicts: + systemd/ceph-osd@.service (jewel does not have 4179aa8d) + +commit 3bdd4398f1dcad0b7e22f1750ca524b97feca15a +Author: yaoning +Date: Mon Jun 6 13:31:52 2016 +0800 + + osd: preserve allocation hint attribute during recovery + + Signed-off-by: yaoning + (cherry picked from commit e15be792960da6bac2bd469acf7d30007be61781) + + Conflicts: + src/osd/ReplicatedBackend.cc (in master, it contains alloc_hint_flags for set_alloc_hint) + src/osd/ReplicatedPG.cc (in master, it contains alloc_hint_flags in object_info_t struct) + src/osd/osd_types.cc (in master, it contains alloc_hint_flags in message serialization) + alloc_hint_flags is used in master bluestore, filestore does not use alloc_hint_flags. + therefore, remove alloc_hint_flags here in jewel + + Signed-off-by: yaoning + +commit 8d0140a9eda814beadf1f59c9b4205f30a1d2e35 +Author: Jason Dillaman +Date: Tue Jan 24 09:24:52 2017 -0500 + + librbd: improve debug logging for lock / watch state machines + + Signed-off-by: Jason Dillaman + (cherry picked from commit cc046597983bd491cc66081cc33d9046264fe24b) + + Conflicts: + NOTE: cherry-picked from kraken commit to avoid conflicts + +commit 62ce3461c3b205eaa9062113526cf572184d0a27 +Author: Jason Dillaman +Date: Mon Jan 23 21:24:41 2017 -0500 + + test: use librados API to retrieve config params + + The CephContext object is not ABI-stable, so it is necessary to + use the "conf_get" librados methods to safely retrieve a setting. + + Fixes: http://tracker.ceph.com/issues/18617 + Signed-off-by: Jason Dillaman + (cherry picked from commit 2ed02f3cd56bf89984c3538ac3f21ec2321cd3b7) + + Conflicts: + src/test/librbd/test_librbd.cc (jewel does not have + 006138e2d80b779d8c15b141002bb4b3852f6c4a or + cb3712e08cdc2c37a983b479f4692bbdfe83b220) + +commit 01d04e28db7c2969b86df5b38a20b9eb156cf393 +Author: Nathan Cutler +Date: Thu Feb 2 23:23:54 2017 +0100 + + tests: Thrasher: eliminate a race between kill_osd and __init__ + + If Thrasher.__init__() spawns the do_thrash thread before initializing the + ceph_objectstore_tool property, do_thrash races with the rest + of Thrasher.__init__() and in some cases do_thrash can call kill_osd() before + Trasher.__init__() progresses much further. This can lead to an exception + ("AttributeError: Thrasher instance has no attribute 'ceph_objectstore_tool'") + being thrown in kill_osd(). + + This commit eliminates the race by making sure the ceph_objectstore_tool + attribute is initialized before the do_thrash thread is spawned. + + Fixes: http://tracker.ceph.com/issues/18799 + Signed-off-by: Nathan Cutler + (cherry picked from commit b519d38fb1967628ad8a1c46fcfb3f984de58790) + + Conflicts: + qa/tasks/ceph_manager.py (jewel has only one if statement after + "self.thread = gevent.spawn(self.do_thrash)" while master has four; + jewel lacks 66836c957ffd974dec136997e23261ec7de2f0aa which disables + ceph-objectstore-tool testing in master) + +commit 08a667883b68ccc72e3a4bc3013856deef1df93d +Author: Nathan Cutler +Date: Sat Feb 18 14:33:25 2017 +0100 + + rpm: build ceph-resource-agents by default + + To align with debian build + + Fixes: http://tracker.ceph.com/issues/17613 + Signed-off-by: Nathan Cutler + (cherry picked from commit 3e157bf16c3020ac11cb26df5df3ed331faf3c25) + +commit d22becab0f2c541584ce891d392760a5c4f1d153 +Author: Yan Jun +Date: Thu Jul 14 19:10:29 2016 +0800 + + msg/simple: cleanups + + should save the `errno` which may be changed by `ldout` and/or `<<` operator + + Signed-off-by: Yan Jun + (cherry picked from commit 91a29bc490fdfbbef0875fa620c7ba1a1a6492ae) + Signed-off-by: Robin H. Johnson + +commit a18a2dd108678d2e4b57e08b559c1f9a262d6923 +Author: Kefu Chai +Date: Fri Jun 17 13:58:55 2016 +0800 + + msg/simple: set close on exec on server sockets + + mds execv() when handling the "respawn" command, to avoid fd leakage, + and enormous CLOSE_WAIT connections after respawning, we need to set + FD_CLOEXEC flag for the socket fds. + + Fixes: http://tracker.ceph.com/issues/16390 + Signed-off-by: Kefu Chai + (cherry picked from commit f019ad563ce90f5aea0d8dd8b7b98688441596e0) + +commit 91a968b8fc7b363cae351b8648259211a1e71d18 +Author: Kefu Chai +Date: Fri Jun 17 01:17:05 2016 +0800 + + msg/async: set close on exec on server sockets + + mds execv() when handling the "respawn" command, to avoid fd leakage, + and enormous CLOSE_WAIT connections after respawning, we need to set + FD_CLOEXEC flag for the socket fds. + + Fixes: http://tracker.ceph.com/issues/16390 + Signed-off-by: Kefu Chai + (cherry picked from commit eaf68c724144d07f9506037a14d9192cb9f16d70) + + Conflicts: + src/msg/async/AsyncMessenger.cc: Processor::accept(): applied + the hunk manually (invoke set_close_on_exec on a socket + returned by accept) + +commit 547e867628975c7144590e9332aa62b0ef82a433 +Author: Jason Dillaman +Date: Thu Jan 5 12:12:57 2017 -0500 + + librbd: possible deadlock with flush if refresh in-progress + + Fixes: http://tracker.ceph.com/issues/18419 + Signed-off-by: Jason Dillaman + (cherry picked from commit b95f92a5572d3035c20eba07e76d2c825a9853f7) + + Conflicts: + src/librbd/ImageState.h (master commit just adds a function + declaration, so just add it to jewel as well) + +commit 07501dec6f1c70afd4e4c2a50d7f874c39f2220b +Author: Sage Weil +Date: Wed Jan 18 17:02:54 2017 -0600 + + mon/OSDMonitor: make 'osd crush move ...' work on osds + + Currently it only allows you to move buckets, which is annoying and much + less useful. To move an OSD you need to use create-or-move, which is + harder to use. + + Fixes: http://tracker.ceph.com/issues/18587 + Signed-off-by: Sage Weil + (cherry picked from commit 47956475dea8bb8e07331dd76344a60b776b5158) + + Conflicts: + qa/workunits/mon/crush_ops.sh: adapted "ceph osd find" to jewel syntax + +commit 7c6c3c753ccdd3baea834338e1a761f05b4e0a12 +Author: Vikhyat Umrao +Date: Thu Feb 16 23:51:11 2017 +0530 + + auth: 'ceph auth import -i' overwrites caps, if caps are not specified + in given keyring file, should alert user and should not allow this import. + Because in 'ceph auth list' we keep all the keyrings with caps and importing + 'client.admin' user keyring without caps locks the cluster with error[1] + because admin keyring caps are missing in 'ceph auth'. + + [1] Error connecting to cluster: PermissionDeniedError + + Fixes: http://tracker.ceph.com/issues/18932 + + Signed-off-by: Vikhyat Umrao + (cherry picked from commit 90144aa64c11a685b6a7cb3aafea75d427f569be) + +commit 8c7a1df251e8289e7cf2df5b3096b91d8640695d +Author: Sage Weil +Date: Tue Feb 14 15:00:09 2017 -0500 + + osd/PG: restrict want_acting to up+acting on recovery completion + + On recovery completion we recalculate want_acting to see if we + should add recently backfilled osds into acting. However, at + this point we may have gotten infos from others OSDs outside + of up/acting that could be used for want_acting. We currently + assert that only up/acting osds are used in + PG::RecoveryState::Active::react(const AdvMap&), so we must + restrict want_acting to up/acting here. + + We could remove this restriction, but it would mean + + 1) checking on every map change that want_acting hasn't been + invalidated, and if so, recalculating want_acting and requesting + a new pg_temp. Also, presumably + + 2) on each new info, checking whether we can construct a better + want_acting, and if so, doing it. + + That would be a good thing, but is a more complicated change. In + reality this case comes up very rarely, so simply make our + post-recovery want_acting calculation limit itself to up+acting. + + See 1db67c443d84dc5d1ff53cc820fdfd4a2128b680 for the assertion. + + Signed-off-by: Sage Weil + (cherry picked from commit 0f2dee9aa48a00a7f2f809cd4d20e98df771da81) + +commit cfa37d6a1674e3f6f8eef4d8519823a7af70df01 +Author: craigchi +Date: Thu Feb 16 19:21:48 2017 +0800 + + ceph-disk: Fix getting wrong group name when --setgroup in bluestore + + ceph-disk prepare --setgroup will be wrong when using with + bluestore + + Signed-off-by: craigchi + (cherry picked from commit a8c0870e7370a0948e8e7fd53d3376b85bf9c649) + +commit 2d17092fab8080f819369d74d4c76d8ae58d899b +Author: Alexey Sheplyakov +Date: Tue Feb 7 16:47:45 2017 +0400 + + ceph-osd: --flush-journal: sporadic segfaults on exit + + FileStore holds a number of recources like op thread pool and work + queue, key/value DB threads, etc. These should be properly stopped + (released) before exiting to avoid segfaults on exit. + + Note: more code paths (mkfs, dump_journal, etc) need similar fixes, + these will be submitted as separate patches. + + Fixes: http://tracker.ceph.com/issues/18820 + Signed-off-by: Alexey Sheplyakov + (cherry picked from commit 00184814c156f6194a6ba4b696073ca1c18a3f8f) + + Adjustments: + - release g_ceph_context in the same way as the main code path does + +commit d012c381e8c59994ea9a40dc006d23f1bdd6a026 +Author: Sebastien Ponce +Date: Tue May 10 11:27:59 2016 +0200 + + radosstriper : protect aio_write API from calls with 0 bytes + + an assertion was failing so far, while we only have to return without doing anything + + Signed-off-by: Sebastien Ponce + (cherry picked from commit 7cce1e8c51640f466d8bb37a21c0d5f1b00db8ab) + +commit 915dbace5ddea69fff29f7965f213229b6fbc0ac +Author: Jason Dillaman +Date: Tue Jan 17 11:55:00 2017 -0500 + + osdc: cache should ignore error bhs during trim + + A read error (such as injecting a timeout into an OSD op) might result + in a bh in an error state. These should be trimable by the cache. + + Fixes: http://tracker.ceph.com/issues/18436 + Signed-off-by: Jason Dillaman + (cherry picked from commit 5910ed9de9856b5821488a1836487bbbd3d6460e) + +commit 419c9926d9ed57cb60228bc95956a9a1471b92cb +Author: Piotr DaÅ‚ek +Date: Tue Jan 31 16:07:18 2017 +0100 + + OSD: allow client throttler to be adjusted on-fly, without restart + + This patch allows the osd_client_message_cap and + osd_client_message_size_cap to be adjusted on-fly, using admin socket + functionality. + + Fixes: http://tracker.ceph.com/issues/18791 + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit 64c309d7e18a975931b526e6f5d6f610c3a0d632) + + Conflicts: + src/osd/OSD.cc (suppressed post-jewel option) + +commit 957c19b844fb44cde78ad59f872815f82bbf23b8 +Author: Ali Maredia +Date: Thu Nov 10 13:58:35 2016 -0500 + + swift: added "--cluster" to rgw-admin command for multisite support + + Signed-off-by: Ali Maredia + +commit 8423bc1eefa45366bdd215a17c61701c9b05dfdd +Merge: 6dc30c4140 c078534376 +Author: Andrew Schoen +Date: Thu Apr 23 14:49:30 2015 -0500 + + Merge pull request #470 from ceph/wip-remote + + Add timeouts to Remote connection functions + +commit 6dc30c4140a833fd6cd126f8b5c1eceebad90510 +Merge: d55484f9e5 c078534376 +Author: Andrew Schoen +Date: Mon Apr 20 12:38:29 2015 -0500 + + Merge pull request #466 from ceph/wip-11426 + + Log stderr in get_latest_image_version_deb() + +commit d55484f9e562779e7d47a8f63ff029337dc01eef +Merge: c078534376 cd72cf2b31 +Author: Dan Mick +Date: Wed Apr 15 10:30:46 2015 -0700 + + Merge pull request #462 from ceph/wip-ssh-keys + + When modifying authorized_keys, store a backup + +commit c078534376d594aa3bf70d1d2e5dfc09ca8ae248 +Merge: cd72cf2b31 fce2ed683f +Author: Zack Cerza +Date: Tue Apr 14 11:38:15 2015 -0600 + + Merge pull request #460 from zhouyuan/mkdir_p + + Make parent directories as needed + +commit cd72cf2b3132e7c6371aa4dbfe7564ad3ad0509e +Author: Yehuda Sadeh +Date: Mon Nov 24 09:59:30 2014 -0800 + + swift: set full access to subusers creation + + Default subuser permissions are 'none'. + + Signed-off-by: Yehuda Sadeh + +commit fce2ed683fcd3798db968a40200f8e8f215595fa +Author: Zack Cerza +Date: Wed Aug 6 10:06:34 2014 -0600 + + Remove most ceph-specific tasks. They are in ceph-qa-suite now. + + Signed-off-by: Zack Cerza + +commit fac452ae55594aea482db5c13a0bd0207b6ecff6 +Author: Zack Cerza +Date: Thu Mar 27 11:35:28 2014 -0500 + + Revert "Lines formerly of the form '(remote,) = ctx.cluster.only(role).remotes.keys()'" + + This reverts commit d693b3f8950ffd1f2492a4db0f8234fee31f00f0. + +commit e98b107302e06fa5c3c628a7ab0e7455de9ab568 +Author: Warren Usui +Date: Fri Feb 28 19:13:40 2014 -0800 + + Lines formerly of the form '(remote,) = ctx.cluster.only(role).remotes.keys()' + and '(remote,) = ctx.cluster.only(role).remotes.iterkeys()' would fail with + ValueError and no message if there were less than 0 or more than 1 key. + Now a new function, get_single_remote_value() is called which prints out + more understandable messages. + + Fixes: 7510 + Reviewed-by: Josh Durgin + Signed-off-by: Warren Usui + +commit e5fe884edfec66cc7e520938bd520aa8f1344f85 +Merge: 8e2cdbf5ed f8bf53c4fe +Author: Alfredo Deza +Date: Wed Feb 19 16:40:17 2014 -0500 + + Merge pull request #186 from ceph/wip-7369 + + Fix #7369: "sed expression must be raw string" + +commit 8e2cdbf5ede871ebde260e6bdaec13daae03cfc5 +Merge: 132f3e8ae6 f8bf53c4fe +Author: Zack Cerza +Date: Fri Feb 14 14:59:04 2014 -0600 + + Merge pull request #188 from ceph/wip-calamari-onefile + + Add Calamari test tasks, test script + +commit 132f3e8ae664a35cad89896b7300be13b5c604ec +Merge: 24363351c3 7b63876676 +Author: Zack Cerza +Date: Fri Feb 14 11:50:55 2014 -0600 + + Merge pull request #192 from ceph/wip-6537-wusui + + Readjust the indentation of mon_clock_skew_check.py and mon_thrash.py. + +commit 24363351c3b1d23a8d6ef4e3f952855415f97ba8 +Merge: 4eb147291f 7b63876676 +Author: Zack Cerza +Date: Fri Feb 14 11:45:51 2014 -0600 + + Merge pull request #194 from ceph/wip-6534-wusui + + Add docstrings to internal.py + +commit 4eb147291fccdb2164a46e977ee43dbf50894e5a +Merge: ad9aaf8fa3 f4284b520a +Author: Zack Cerza +Date: Fri Feb 14 11:45:19 2014 -0600 + + Merge pull request #193 from ceph/wip-6538-wusui + + Add doc strings to Swift tests + +commit ad9aaf8fa35d49c33373fa69df7b38d3aca6abc5 +Merge: 7b63876676 f8bf53c4fe +Author: Zack Cerza +Date: Fri Feb 14 11:43:15 2014 -0600 + + Merge pull request #187 from ceph/wip-better-debug + + Debug output improvements + +commit f4284b520a554b1cbe130731741e53a7fcf4e35f +Author: Warren Usui +Date: Thu Feb 13 21:11:34 2014 -0800 + + Add doc strings to Swift tests + + Fixes: 6538 + Signed-off-by: Warren Usui + +commit 7b63876676f1a6845ba3b9147cf7bb2348ef2468 +Author: Warren Usui +Date: Tue Feb 11 20:21:06 2014 -0800 + + Add docstrings to s3 related tasks. + + Fixes: 6536 + Signed-off-by: Warren Usui + +commit f8bf53c4fe52009abdf730b05e2cb2ddbb412dea +Author: Zack Cerza +Date: Tue Sep 24 14:19:24 2013 -0500 + + Fix namespace collision + +commit db6efe3e0ba7446ca42baf2a50eef18a10cf4a10 +Merge: 611733c8b5 66555a4039 +Author: Alfredo Deza +Date: Tue Sep 24 08:17:22 2013 -0700 + + Merge pull request #106 from ceph/wip-mirror + + Remove lots of ceph.com hardcoding; default to upstream sources + +commit 66555a4039c61db9b96d6eecf8d2f298c98b6bad +Author: Zack Cerza +Date: Fri Sep 20 15:53:58 2013 -0500 + + Don't hardcode the git://ceph.com/git/ mirror + + Default to https://github.com/ceph/ but add a ~/teuthology.yaml option + +commit 611733c8b5ea55206df50c122efac612cb146c2f +Merge: 2346f1d735 6e8a3807c7 +Author: Sage Weil +Date: Fri Sep 6 13:24:34 2013 -0700 + + Merge pull request #78 from ceph/wip-6247 + + Move helper scripts to /usr/local/bin to clean up logs. + +commit 6e8a3807c766f728027c3099eebfa24cdc645bd1 +Author: Zack Cerza +Date: Fri Sep 6 15:08:01 2013 -0500 + + Helper scripts live in /usr/local/bin now! + +commit 2346f1d735ccb40d00b8ff61d4acb446f684b3b2 +Author: Joe Buck +Date: Fri Aug 23 19:54:53 2013 -0700 + + s3tests: extend for multi-region tests + + Added code to the s3tests task to extract + multi-region info so that that data + can be added to the S3TEST_CONF file + used to run S3 tests. + + Signed-off-by: Joe Buck + Reviewed-by: Josh Durgin + +commit d3b6d633e161bc422f4781c7be5011f8a7ed8a32 +Merge: 442a36c57c 09b01b27a3 +Author: Alfredo Deza +Date: Mon Aug 19 14:10:18 2013 -0700 + + Merge pull request #41 from ceph/wip-3791 + + Various usability and documentation fixes + +commit 442a36c57c3173b36ce17e5f85a49abf7e80ea93 +Merge: 09b01b27a3 9b2c4fa4ad +Author: wusui +Date: Fri Aug 16 14:47:59 2013 -0700 + + Merge pull request #40 from ceph/wip-teutharm-wusui + + Wip teutharm wusui + +commit 09b01b27a3a1310d4257133def60896ad37fb575 +Author: Zack Cerza +Date: Thu Aug 15 08:49:35 2013 -0500 + + Fix some instances where print is being used instead of log + +commit 9b2c4fa4ad4c4258b26526afb0c16c71ce47f593 +Author: Josh Durgin +Date: Wed Jul 31 13:32:58 2013 -0700 + + s3/swift tests: call radosgw-admin as the right client + + This allows the right region and zone info to be read from ceph.conf + + Signed-off-by: Josh Durgin + +commit 3b3816df58a3ba1f2f850faf8969ad070aa0046e +Author: Yehuda Sadeh +Date: Thu Jul 25 16:47:34 2013 -0700 + + s3tests: clone correct branch + + Signed-off-by: Yehuda Sadeh + +commit f5170fb460a2183aed33122b4e6d0117a4220fec +Merge: 7207a31e58 bd56af707a +Author: Sandon Van Ness +Date: Thu Jul 25 19:50:39 2013 -0700 + + Merge branch 'master' of github.com:ceph/teuthology + +commit 7207a31e5812dd0b29f2d6378360015622ddf4aa +Merge: bd56af707a 3da945512e +Author: Sandon Van Ness +Date: Thu Jul 25 19:50:02 2013 -0700 + + Merge remote-tracking branch 'origin/wip-sandon-vm' + + Conflicts: + teuthology/lock.py + teuthology/misc.py + teuthology/task/install.py + +commit bd56af707ae50c98ec46344cf57eb333061847b1 +Merge: 3da945512e 343a42c0d8 +Author: Josh Durgin +Date: Fri Jul 19 14:44:51 2013 -0700 + + Merge branch 'wip-centos-rgw' + +commit 343a42c0d86af5b8630a30716c03fc84ba22f944 +Author: Josh Durgin +Date: Tue Jul 9 18:50:52 2013 -0700 + + s3tests: fix client configurations that aren't dictionaries + + They're always used as dictionaries later on. + + Signed-off-by: Josh Durgin + +commit 3da945512ed78081be5dbe9ba59c836a311e1973 +Merge: 2c34d1971f 253cc98d98 +Author: Sage Weil +Date: Mon Jun 24 16:18:36 2013 -0700 + + Merge pull request #15 from ceph/wip-ulimits + + Reviewed-by: Warren Usui + +commit 253cc98d98855d65be7ebcdd46a39aa1004f8e67 +Author: Sage Weil +Date: Sun Jun 23 09:15:28 2013 -0700 + + enable-coredump -> adjust-ulimits + + and set max_files to be big, too! + +commit 2c34d1971f1e82311b364bf8efe60b223158d676 +Merge: 61dba20d1f b366ad334a +Author: Warren Usui +Date: Tue May 7 19:27:51 2013 -0700 + + Merge branch 'wip-teuth4768a-wusui' + + Conflicts: + teuthology/task/install.py + +commit 61dba20d1fce774eac5b56f0d61d4229460875c0 +Merge: a9f3eb6310 5a7267f85c +Author: Sage Weil +Date: Mon May 6 21:31:36 2013 -0700 + + Merge branch 'next' + +commit a9f3eb631064931cbdde7ef218c16e154bdb9991 +Author: Sage Weil +Date: Thu May 2 13:47:46 2013 -0700 + + s3tests: add force-branch with higher precdence than 'branch' + + This way we can force a branch despite something in overrides. + + Signed-off-by: Sage Weil + +commit b366ad334af55867ba781e22c8f87b6ac7775bf2 +Merge: 2a51e32891 5a7267f85c +Author: Josh Durgin +Date: Wed May 1 09:52:02 2013 -0700 + + Merge remote branch 'origin/next' + +commit 5a7267f85c80f88aca1b0081b07de1de3909f2e7 +Author: Josh Durgin +Date: Tue Apr 30 17:07:53 2013 -0700 + + fix some errors found by pyflakes + + Signed-off-by: Josh Durgin + +commit f866037f045887ccc5da15404935ce3361a74a08 +Author: Josh Durgin +Date: Tue Apr 30 13:23:22 2013 -0700 + + s3tests: revert useless portion of 1c50db6a4630d07e72144dafd985c397f8a42dc5 + + Perhaps it was attempting to debug something, but it shouldn't have been committed. + + Signed-off-by: Josh Durgin + +commit 2dcce57c00264b85cfb906223dfb89db9cc61ba5 +Author: Josh Durgin +Date: Tue Apr 30 16:49:04 2013 -0700 + + rgw tests: remove users after each test + + These should all be cleanup up at some point. They're + almost all the same code. + + Signed-off-by: Josh Durgin + +commit 3c604251d9014dba45f3adbb2008bac16ff6346d +Author: Josh Durgin +Date: Tue Apr 30 16:47:34 2013 -0700 + + rgw tests: clean up immediately after the test + + There's no need for an explicit cleanup function, so move it back + to where it came from (except in s3roundtrip, which did not have it). + + Instead, since these use a nested contextmanager, pass through + and yield to the top-level run_tasks after the nested + contextmanager has finished (and thus run all the cleanup steps + in the subtasks for this test). + + Signed-off-by: Josh Durgin + +commit 022bd4aa42312b80917169282cbfba655bbad6f1 +Author: Yehuda Sadeh +Date: Tue Apr 30 07:06:03 2013 -0700 + + swift, s3readwrite: add missing yield + + Signed-off-by: Yehuda Sadeh + +commit 820c72b8d0177b01f69887ec64d98702db37077c +Author: Yehuda Sadeh +Date: Mon Apr 29 11:24:04 2013 -0700 + + s3tests, s3readwrite, swift: cleanup explicitly + + Cleaning up test dir explicitly after run, so that + consecutive runs don't fail. + + Signed-off-by: Yehuda Sadeh + +commit 2a51e328913f16917a881129b475a4aeeab24ed0 +Merge: cccadb9b03 617534e769 +Author: Yehuda Sadeh +Date: Wed Feb 20 14:10:50 2013 -0800 + + Merge remote-tracking branch 'origin/wip-3634' + +commit cccadb9b03ca4421a5fd841a61bf252c329e3649 +Merge: 3eb19c8107 fa1f89478a +Author: Sage Weil +Date: Tue Feb 19 21:04:24 2013 -0800 + + Merge branch 'unstable' + + Conflicts: + teuthology/task/workunit.py + +commit fa1f89478a76373cb33cf2524e2ebf68b3cd622c +Author: Sander Pool +Date: Wed Feb 6 19:16:52 2013 +0000 + + Install ceph debs and use installed debs + + The ceph task installs ceph using the debian + packages now, and all invocations of binaries installed + in {tmpdir}/binary/usr/local/bin/ are replace with + the use of the binaries installed in standard locations + by the debs. + + Author: Sander Pool + Signed-off-by: Sam Lang + +commit 3eb19c810725b011baacdb8a6f5b172f4720a39a +Author: Sam Lang +Date: Wed Jan 23 14:37:39 2013 -0600 + + Replace /tmp/cephtest/ with configurable path + + Teuthology uses /tmp/cephtest/ as the scratch test directory for + a run. This patch replaces /tmp/cephtest/ everywhere with a + per-run directory: {basedir}/{rundir} where {basedir} is a directory + configured in .teuthology.yaml (/tmp/cephtest if not specified), + and {rundir} is the name of the run, as given in --name. If no name + is specified, {user}-{timestamp} is used. + + To get the old behavior (/tmp/cephtest), set test_path: /tmp/cephtest + in .teuthology.yaml. + + This change was modivated by #3782, which requires a test dir that + survives across reboots, but also resolves #3767. + + Signed-off-by: Sam Lang + Reviewed-by: Josh Durgin + +commit 2f829870e140c87b30e5b7aa3ad237a90dcb2179 +Author: Yehuda Sadeh +Date: Fri Dec 21 10:20:02 2012 -0800 + + task/swift: change upstream repository url + + Signed-off-by: Yehuda Sadeh + +commit 334d6386753510c312898552c6f92313942786ef +Merge: b8e6ce4db9 26df886d82 +Author: Joao Eduardo Luis +Date: Thu Nov 29 00:53:59 2012 +0000 + + Merge branch 'wip-mon-thrasher' + +commit b8e6ce4db9a603ce3523b1759c65eeadee55daa7 +Author: Sage Weil +Date: Thu Nov 22 13:59:58 2012 -0800 + + s3tests: fix typo + +commit 26df886d825e28c25b630887b8dcc1c8c6d687d8 +Author: Yehuda Sadeh +Date: Mon Nov 19 16:19:06 2012 -0800 + + rgw-logsocket: a task to verify opslog socket works + + Signed-off-by: Yehuda Sadeh + +commit 617534e76978acb09a9f925f18bba475a65a7dd2 +Author: Sage Weil +Date: Mon Sep 10 11:08:57 2012 -0700 + + s3tests: run against arbitrary branch/sha1 of s3-tests.git + +commit 7d5c7ee8c6f2bfedd193a8d3b7102b4cfe0bf74f +Author: Sage Weil +Date: Wed Jun 6 16:00:55 2012 -0700 + + pull s3-tests.git using git, not http + +commit ce951cf4caffd5d6883cc8dcd24372bcdf03690a +Author: Sage Weil +Date: Sat May 5 09:30:41 2012 -0700 + + ceph.newdream.net -> ceph.com + +commit 2b879905fcfd660e242ed1a804d1c8301d17ab84 +Merge: 1ac4bb10fc 1970713a2f +Author: Mark Nelson +Date: Wed Mar 14 15:32:23 2012 -0500 + + Merge branch 'master' of github.com:ceph/teuthology + +commit 1970713a2fc43e3afae376712356ca93a65d9e1f +Author: Sage Weil +Date: Fri Mar 2 10:55:19 2012 -0800 + + github.com/NewDreamNetwork -> github.com/ceph + +commit 1ac4bb10fc4b7d8d07c44b0e92b1627c721ab925 +Author: Josh Durgin +Date: Tue Feb 21 14:54:33 2012 -0800 + + Add necessary imports for s3 tasks, and keep them alphabetical. + +commit 92110e5a4460281139233dcea3f629d01182d398 +Author: Yehuda Sadeh +Date: Tue Feb 21 12:12:03 2012 -0800 + + rgw: access key uses url safe chars + + Signed-off-by: Yehuda Sadeh + +commit 709d9441127fec93da74c7702cafa54a47e10e8f +Author: Sage Weil +Date: Sun Jan 15 22:48:33 2012 -0800 + + use local mirrors for (most) github urls + + A cronjob on ceph.newdream.net updates these every 15 minutes. Sigh. + +commit 9598e47949ba65030c722947dc433e38875b1bd6 +Author: Tommi Virtanen +Date: Mon Dec 5 10:07:25 2011 -0800 + + Rename "testrados" and "testswift" tasks to not begin with "test". + + Anything "test*" looks like a unit test, and shouldn't be used for + actual code. + +commit 6236e7db22edac7b51fc6329188b6afa74f3fc78 +Author: Yehuda Sadeh +Date: Thu Nov 17 16:53:21 2011 -0800 + + testswift: fix config + +commit 1dd607cabb07126769b4beb1ba6677e21c448719 +Author: Yehuda Sadeh +Date: Wed Nov 16 16:00:01 2011 -0800 + + rgw: add swift task + + still not completely working (for some reason it skips all the tests) + +commit cb425c158085568cd92c239a071e282c74eddf1a +Author: Greg Farnum +Date: Fri Sep 30 09:26:42 2011 -0700 + + s3-tests: use radosgw-admin instead of radosgw_admin + + Signed-off-by: Greg Farnum + +commit 37d7d515345ab04c333d6fada722e432e5816eb3 +Author: Tommi Virtanen +Date: Fri Sep 16 11:09:45 2011 -0700 + + s3tests: Clone repository from github. + + Signed-off-by: Tommi Virtanen + +commit 29a242d97dd4a5a9110710027cdddb244b8b0e29 +Author: Tommi Virtanen +Date: Tue Sep 13 14:53:02 2011 -0700 + + Move orchestra to teuthology.orchestra so there's just one top-level package. + +commit ec49a5f263f71aa473257e3fd49d86e475fe9456 +Author: Tommi Virtanen +Date: Fri Sep 9 13:22:03 2011 -0700 + + Callers of task s3tests.create_users don't need to provide dummy "fixtures" dict. + +commit d7d995e82b45e6077040b467c8ef9a82a573faf7 +Author: Stephon Striplin +Date: Tue Aug 9 13:43:46 2011 -0700 + + allow s3tests.create_users defaults be overridden + +commit 0086109767d5bfbbc370ca13d3fe91895b207821 +Author: Josh Durgin +Date: Thu Jul 14 16:47:29 2011 -0700 + + Make targets a dictionary mapping hosts to ssh host keys. + +commit 1b2c96416f554c0890b2690291b9a2dc8a6dc17a +Author: Tommi Virtanen +Date: Wed Jul 6 14:17:24 2011 -0700 + + Skip s3-tests marked fails_on_rgw, they will fail anyway. + +commit 06fb9b95e39985630d89e1635dcd12510686d9cd +Author: Tommi Virtanen +Date: Tue Jul 5 09:27:28 2011 -0700 + + The shell exits after the command, hence there is no need for pushd/popd. + +commit cd524a6904bf8254edc73a9148308f642638e33d +Author: Josh Durgin +Date: Fri Jun 24 17:09:47 2011 -0700 + + Add s3tests task. diff --git a/doc/changelog/v10.2.9.txt b/doc/changelog/v10.2.9.txt new file mode 100644 index 00000000..551f268e --- /dev/null +++ b/doc/changelog/v10.2.9.txt @@ -0,0 +1,63 @@ +commit 2ee413f77150c0f375ff6f10edd6c8f9c7d060d0 +Author: Jenkins Build Slave User +Date: Thu Jul 13 13:04:57 2017 +0000 + + 10.2.9 + +commit 9295f588535c45431d19b9601b4063c8de88752d +Merge: 7b10d629ae fef1c8718f +Author: Nathan Cutler +Date: Thu Jul 13 10:31:31 2017 +0200 + + Merge pull request #16282 from smithfarm/wip-20599-jewel + + jewel: cephfs: Damaged MDS with 10.2.8 + + Reviewed-by: Yan, Zheng + +commit fef1c8718f77c190a0908d353f38b16b7c3832ab +Author: Nathan Cutler +Date: Wed Jul 12 08:40:20 2017 +0200 + + Revert "osdc/Journaler: make header write_pos align to boundary of flushed entry" + + This reverts commit 2e299b50de4a297fee2aec21290632336d239857. + + Signed-off-by: Nathan Cutler + +commit 3f89971e9edb88e313e1c190f7d05a83b52e6d91 +Author: Nathan Cutler +Date: Wed Jul 12 08:40:13 2017 +0200 + + Revert "osdc/Journaler: avoid executing on_safe contexts prematurely" + + This reverts commit 06cf9f365033f7913051bdf4060f0bc6fc0444d7. + + Signed-off-by: Nathan Cutler + +commit 7b10d629ae32122b267486fe9e176f5cd0e330cf +Merge: f5b1f1fd7c 6b479c275a +Author: Sage Weil +Date: Tue Jul 11 15:58:04 2017 -0500 + + Merge pull request #16273 from smithfarm/wip-jewel-pending-release-notes + + jewel: doc: clarify status of jewel PendingReleaseNotes + +commit 6b479c275a24451c278074d81758a385eca12869 +Author: Nathan Cutler +Date: Tue Jul 11 22:53:56 2017 +0200 + + doc: zero PendingReleaseNotes in preparation for v10.2.9 + + Signed-off-by: Nathan Cutler + +commit 55de93f9d711e13980168cc884dcb04d8849708e +Author: Nathan Cutler +Date: Tue Jul 11 22:27:33 2017 +0200 + + doc: clarify status of jewel PendingReleaseNotes + + Status as of 10.2.8 release + + Signed-off-by: Nathan Cutler diff --git a/doc/changelog/v11.2.1.txt b/doc/changelog/v11.2.1.txt new file mode 100644 index 00000000..0decf8f6 --- /dev/null +++ b/doc/changelog/v11.2.1.txt @@ -0,0 +1,8020 @@ +commit e0354f9d3b1eea1d75a7dd487ba8098311be38a7 +Author: Jenkins Build Slave User +Date: Tue Aug 8 19:07:05 2017 +0000 + + 11.2.1 + +commit 11d5c2b0aae372f9c993a7dea5a914ee74e7480c +Merge: 397b553932 6b428b77f2 +Author: Nathan Cutler +Date: Wed Aug 2 15:08:48 2017 +0200 + + Merge pull request #14702 from ceph/wip-bp-kraken-systemd + + kraken: qa/tasks: misc systemd updates + + Reviewed-by: Nathan Cutler +Date: Wed Aug 2 07:55:48 2017 +0200 + + Merge pull request #15509 from ceph/wip-ceph-disk-fix-kraken + + kraken: selinux: Do parallel relabel on package install + + Reviewed-by: Kefu Chai + +commit 0bab3f3a1026c41736e06f72f8ede68b3386d772 +Merge: 646f2b3c26 a91253ec50 +Author: Nathan Cutler +Date: Tue Aug 1 20:19:15 2017 +0200 + + Merge pull request #14612 from smithfarm/wip-19651 + + tests: backport Sage's fixes to qa/suites/upgrade/jewel-x + + Reviewed-by: Kefu Chai + +commit 646f2b3c260ea5af3657d5f289753b114ba0d71e +Merge: e9c255689f cf06edd36b +Author: Nathan Cutler +Date: Tue Aug 1 14:39:37 2017 +0200 + + Merge pull request #16298 from smithfarm/wip-20517-kraken + + kraken: rbd: cli: map with cephx disabled results in error message + + Reviewed-by: Jason Dillaman + +commit e9c255689fcf2a7afe1deda3b987591162767daa +Merge: 143e431d76 1fc14857a9 +Author: Nathan Cutler +Date: Tue Aug 1 14:17:40 2017 +0200 + + Merge pull request #16175 from smithfarm/wip-20263-kraken + + kraken: rgw: datalog trim can't work as expected + + Reviewed-by: Orit Wasserman + +commit 143e431d769ad68101df436735154c1230f3732b +Merge: c9a545dba6 b758348447 +Author: Nathan Cutler +Date: Tue Aug 1 14:16:54 2017 +0200 + + Merge pull request #15985 from prallabh/kraken + + kraken: rgw: Custom data header support + + Reviewed-by: Orit Wasserman + +commit c9a545dba68fe09e7aa971aec00c7e5aa1f217d2 +Merge: 245bf9205d 45b4c86452 +Author: Nathan Cutler +Date: Tue Aug 1 14:15:33 2017 +0200 + + Merge pull request #16186 from smithfarm/wip-20264-kraken + + kraken: rbd: [cli] ensure positional arguments exist before casting + + Reviewed-by: Jason Dillaman + +commit 245bf9205dc811b4bbe99e53bf20b32daeb85f8d +Merge: 3d19b8acf0 f2d61c199d +Author: Nathan Cutler +Date: Tue Aug 1 14:12:58 2017 +0200 + + Merge pull request #16342 from dillaman/wip-20630-kraken + + kraken: tests: qa/tasks: rbd-mirror daemon not properly run in foreground mode + + Reviewed-by: Nathan Cutler + +commit 3d19b8acf0f76794c2b9c48f6ab386b6e5d14139 +Merge: a57772db99 f72ea68186 +Author: Nathan Cutler +Date: Tue Aug 1 13:14:09 2017 +0200 + + Merge pull request #16290 from smithfarm/wip-19759-kraken + + kraken: rgw: multisite: after CreateBucket is forwarded to master, local bucket may use different value for bucket index shards + + Reviewed-by: Casey Bodley + +commit a57772db99068c5e05b7b8cd1e346bdfb1fba292 +Merge: a1ff4e61af af0a6df270 +Author: Nathan Cutler +Date: Tue Aug 1 13:12:37 2017 +0200 + + Merge pull request #16180 from smithfarm/wip-20347-kraken + + kraken: rgw: meta sync thread crash at RGWMetaSyncShardCR + + Reviewed-by: Casey Bodley + +commit a1ff4e61aff4497e84d07070de984e34c6539bf0 +Merge: d0d98362e7 17fd055a4f +Author: Nathan Cutler +Date: Tue Aug 1 12:47:45 2017 +0200 + + Merge pull request #16190 from smithfarm/wip-20026-kraken + + kraken: mds: unresponsive when truncating a very large file + + Reviewed-by: Patrick Donnelly + +commit d0d98362e7363fd84334941085203aa3bfd7a2d2 +Merge: 72e5d6116c 719ed0101b +Author: Nathan Cutler +Date: Tue Aug 1 11:08:47 2017 +0200 + + Merge pull request #15526 from badone/wip-async-sleep-timer-fix-kraken + + kraken: osd: Implement asynchronous scrub sleep + + Reviewed-by: Josh Durgin + +commit 72e5d6116cc1afd83f96e26e32c5949548c1dcbc +Merge: 16ca3c7f40 533ff8a540 +Author: Nathan Cutler +Date: Mon Jul 31 16:47:45 2017 +0200 + + Merge pull request #16137 from smithfarm/wip-20024-kraken + + kraken: tests: HEALTH_WARN pool rbd pg_num 244 > pgp_num 224 during upgrade + + Reviewed-by: Kefu Chai + +commit 16ca3c7f40d37f1fb6e38665dd0c33fe3ab5a060 +Merge: a1c2cbd074 4d1272e5c6 +Author: Nathan Cutler +Date: Mon Jul 31 15:31:12 2017 +0200 + + Merge pull request #14734 from smithfarm/wip-19670-kraken + + kraken: build/ops: logrotate is missing from debian package (kraken, master) + + Reviewed-by: Kefu Chai + +commit a1c2cbd074dbc2954fea0d2808a80958f17fe9c3 +Merge: fd6816bb72 ccb33bab37 +Author: Nathan Cutler +Date: Mon Jul 31 15:21:02 2017 +0200 + + Merge pull request #16166 from smithfarm/wip-19840-kraken + + kraken: rgw: civetweb frontend segfaults in Luminous + + Reviewed-by: Radoslaw Zarzynski + +commit a91253ec50dd5c2ab85b00d52361fd22580e1ed3 +Author: Sage Weil +Date: Tue Mar 7 22:35:02 2017 -0500 + + qa/suites/upgrade/jewel-x: do not thrash cluster full during upgrade + + The mon command varies. + + Signed-off-by: Sage Weil + (cherry picked from commit 39fdc53fe5f33678fbbd00cf8810b6d523d0040c) + +commit afb5f4b0b6eb0bbbfbdd628ff466e1fad6e6e4ef +Author: Sage Weil +Date: Mon Mar 6 15:16:13 2017 -0500 + + qa/suites/upgrade/jewel-x/parallel: expand workload matrix + + These should run independently against a racing upgrade. + + Signed-off-by: Sage Weil + (cherry picked from commit 1a0ad2b48839fea75d4d3339f7d198404ff1ac37) + +commit a88bd845df01b9fa8d1b0482b1c4d6bfae301f40 +Author: Sage Weil +Date: Mon Mar 6 14:11:53 2017 -0500 + + qa/suites/upgrade/jewel-x/stress-split-erasure-code: box thrashosds + + Signed-off-by: Sage Weil + (cherry picked from commit b2d354d56359d08b35cbea58f811c7bafb700d31) + +commit d4521fc2b9b13cee58abb4b578e8ba00c6aca0ae +Author: Sage Weil +Date: Mon Mar 6 14:07:53 2017 -0500 + + qa/suites/upgrade/jewel-x/stress-split: finish client.0 upgrade too + + Signed-off-by: Sage Weil + (cherry picked from commit 56f9387736eed136b38c087a4805821063e9f8ab) + +commit 907888f881cc7224f9f9c17f38cc98773ca33906 +Author: Sage Weil +Date: Sun Mar 5 14:14:40 2017 -0500 + + qa/suites/upgrade/jewel-x: remove kraken references + + Signed-off-by: Sage Weil + (cherry picked from commit 468285b65d6bef2d86c80ebdfecf0920294ca5cd) + +commit 70415451e90d5aba473dbb3b1bd00ce4de0d077b +Author: Sage Weil +Date: Wed Mar 1 19:01:20 2017 -0600 + + qa/suite/upgrade/jewel-x: drop x86 ec test + + Signed-off-by: Sage Weil + (cherry picked from commit 1e0e53c80d8fa88970cee1d61aaa8514004547ac) + +commit fa7934b3abe395d52f127c6e170a54296d936211 +Author: Sage Weil +Date: Mon Feb 20 14:38:49 2017 -0500 + + qa/suites/upgrade/jewel-x: fix upgrade order; fix split grouping + + Signed-off-by: Sage Weil + (cherry picked from commit 269eafb2027ea6dfbad730f6fb1481a1cabc5e60) + + Conflicts: + stress-split/6-kraken.yaml (do not delete) + stress-split/6-luminous.yaml (do not add) + stress-split-erasure-code/6-kraken.yaml (do not delete) + stress-split-erasure-code/6-luminous.yaml (do not add) + +commit b574cb341c9ce0f9d986c79c03951c7c9eafb0b8 +Author: Sage Weil +Date: Mon Mar 6 19:01:12 2017 -0500 + + qa/suites/upgrade/jewel-x/parallel: upgrade mons before osds + + Signed-off-by: Sage Weil + (cherry picked from commit 3c80e15c3b34ac2adc4e70f09929e3bc01785594) + +commit 4eb3c2dbf321cf7a110b2ac7022d5d9cc80b8f3a +Author: Sage Weil +Date: Wed Mar 1 13:58:07 2017 -0600 + + qa/suites/upgrade/jewel-x/parallel: fix upgrade to luminous + + Signed-off-by: Sage Weil + (cherry picked from commit 2e3ea53b41cacc4b4bbc4ffe7342fb00233009cf) + + Conflicts: + 4-kraken.yaml (do not delete) + 4-luminous.yaml (do not add) + +commit fd6816bb725f7699537276c13f68d815a7406228 +Merge: a6fdfccd11 b7503d3a80 +Author: Nathan Cutler +Date: Mon Jul 31 12:32:45 2017 +0200 + + Merge pull request #13871 from smithfarm/wip-19162-kraken + + kraken: rgw: rgw_file: fix marker computation + +commit a6fdfccd117180cf3906e1349b7af19462eae0e1 +Merge: b50909c861 a7af766aa8 +Author: Nathan Cutler +Date: Mon Jul 31 12:26:47 2017 +0200 + + Merge pull request #16133 from smithfarm/wip-18378-kraken + + kraken: msg/simple/SimpleMessenger.cc: 239: FAILED assert(!cleared) + + Reviewed-by: Josh Durgin + +commit b50909c861450f1aeb40d3fa1a0ca4d997d09a0c +Merge: 938b723717 c6542ac7e6 +Author: Nathan Cutler +Date: Mon Jul 31 12:23:08 2017 +0200 + + Merge pull request #16134 from smithfarm/wip-19340-kraken + + kraken: An OSD was seen getting ENOSPC even with osd_failsafe_full_ratio passed + + Reviewed-by: David Zafman + +commit 17fd055a4f68cb3c51baa1ac1fb089d15b818312 +Author: Yan, Zheng +Date: Tue Apr 25 16:21:24 2017 +0800 + + osdc/Filer: truncate large file party by party + + Fixes: http://tracker.ceph.com/issues/19755 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 5fab215e461e5ecc36c0f9d9ea867f6c45e80263) + + Conflicts: + src/osdc/Filer.h + src/osdc/Filer.cc + src/mds/MDCache.cc + +commit 938b723717745eff4e3ab18b9a0f11cfc5190876 +Merge: e56d4c481d b8dfa2f73a +Author: Nathan Cutler +Date: Mon Jul 31 11:58:20 2017 +0200 + + Merge pull request #16131 from smithfarm/wip-swift-kraken + + tests: swift.py: clone the ceph-jewel branch + + Reviewed-by: Casey Bodley + +commit 719ed0101b1bfdd4b71ef84101515492597153f9 +Author: Brad Hubbard +Date: Mon May 22 13:21:25 2017 +1000 + + osd: Move scrub sleep timer to osdservice + + PR 14886 erroneously creates a scrub sleep timer for every pg resulting + in a proliferation of threads. Move the timer to the osd service so + there can be only one. + + Fixes: http://tracker.ceph.com/issues/19986 + + Signed-off-by: Brad Hubbard + (cherry picked from commit f110a82437df79dc20207d296e8229fc0e9ce18b) + +commit 460a820a3b2fbd48c8a7966502b235aae8d5d298 +Author: Brad Hubbard +Date: Mon Apr 24 14:10:47 2017 +1000 + + osd: Implement asynchronous scrub sleep + + Rather than blocking the main op queue just do an async sleep. + + Fixes: http://tracker.ceph.com/issues/19497 + + Signed-off-by: Brad Hubbard + (cherry picked from commit 7af3e86c2e4992db35637864b83832535c94d0e6) + +commit e56d4c481dead2f8ccb7baaae80db2f4acfc7bf0 +Merge: 024272160d bdb16fd0f5 +Author: Nathan Cutler +Date: Tue Jul 25 07:14:37 2017 +0200 + + Merge pull request #16493 from smithfarm/wip-suppress-upgrade-fail + + tests: run certain upgrade/jewel-x tests on Xenial only + + Reviewed-by: Josh Durgin + Reviewed-by: Gregory Farnum + +commit 024272160de37c3ed2a2df701fc1e8f4c11c2da5 +Merge: d8e0ddc57b 838d7840f0 +Author: Nathan Cutler +Date: Tue Jul 25 07:13:48 2017 +0200 + + Merge pull request #14597 from gregsfortytwo/wip-kraken-snaptrim + + kraken: core: improve control and throttling of the snap trimmer + + Reviewed-by: Josh Durgin + +commit bdb16fd0f533691b7b7a01b176764ad907143814 +Author: Nathan Cutler +Date: Sat Jul 22 10:13:22 2017 +0200 + + tests: upgrade/jewel-x/parallel: drop duplicate kraken.yaml + + This yaml file has the effect of re-running "ceph osd set require_kraken_osds" + at the very end of the test. Drop it. + + Signed-off-by: Nathan Cutler + +commit dc8c2231cefdbc8811cdea380d7c856b57c62251 +Author: Nathan Cutler +Date: Sat Jul 22 00:06:48 2017 +0200 + + tests: run certain upgrade/jewel-x tests on Xenial only + + This PR drops two upgrade/jewel-x test cases that are not compatible with + https://github.com/ceph/ceph/pull/14597 + + Signed-off-by: Nathan Cutler + +commit b8dfa2f73aff0998a4aebf6f61865983f476b8d1 +Author: Nathan Cutler +Date: Sun Jun 25 09:27:47 2017 +0200 + + tests: swift.py: clone the ceph-jewel branch + + The master branch of ceph/swift.git contains tests that are incompatible with + Jewel and Hammer. The ceph-jewel branch omits these tests. + + Signed-off-by: Nathan Cutler + (cherry picked from commit a86ce728954a765797ce634025d43650d990e480) + + Conflicts: + qa/tasks/swift.py: clone ceph-kraken branch instead of ceph-jewel + +commit d8e0ddc57b0e2632baf70bebf409d52808c202fa +Merge: c539ea49a8 19c7524ace +Author: Nathan Cutler +Date: Fri Jul 21 08:22:25 2017 +0200 + + Merge pull request #16111 from smithfarm/wip-20497-kraken + + kraken: tests: insufficient timeout in radosbench task + + Reviewed-by: Gregory Farnum + +commit af0a6df270f3c469280cae877c177086ddf10245 +Author: Nathan Cutler +Date: Thu Jul 6 20:17:49 2017 +0200 + + rgw: lease_stack: use reset method instead of assignment + + It seems that the intent of 45877d38fd9a385b2f8b13e90be94d784898b0b3 was to + change all instances of "lease_stack = ..." to "lease_stack.reset(...)", but + this one was missed. + + Signed-off-by: Nathan Cutler + (cherry picked from commit fc425afeb2e2a6ba3c98c612b3977aea619c9f73) + + Conflicts: + src/rgw/rgw_sync.cc (trivial) + +commit c539ea49a8dab85bade53140d80f2a05f3f1860c +Merge: 0a9badb3e2 640a7a2629 +Author: Nathan Cutler +Date: Thu Jul 20 16:38:27 2017 +0200 + + Merge pull request #16178 from smithfarm/wip-20268-kraken + + kraken: rgw: get wrong content when download object with specific range when compression was enabled + + Reviewed-by: Casey Bodley + +commit d24edde072ec63d35965e30a58aaaf02547f9c57 +Author: Boris Ranto +Date: Fri Jul 7 12:37:55 2017 +0200 + + rpm: Fix undefined FIRST_ARG + + If FIRST_ARG is undefined, the rpms will show an error on upgrade + because the condition in the postun script gets broken. + + This was a regression introduced by commit for issue 20077 that moved + ceph-disk unit files to ceph-base. + + Fixes: http://tracker.ceph.com/issues/20077 + Signed-off-by: Boris Ranto + (cherry picked from commit 562816914ccca8e4e7d9c31f333db2f0da6f7c99) + +commit eac6a0dd475e22512cc24bb3b8fe018c70cf7bc8 +Author: Boris Ranto +Date: Mon Jun 5 18:44:18 2017 +0200 + + selinux: Install ceph-base before ceph-selinux + + We need to have ceph-base installed before ceph-selinux to use ceph-disk + in %post script. The default ordering is random and so the installation + randomly failed to relabel the files. + + Fixes: http://tracker.ceph.com/issues/20184 + Signed-off-by: Boris Ranto + (cherry picked from commit e69086645d3411a2ed781609b670eb5f16ac4810) + Conflicts: + ceph.spec.in: No _epoch_prefix in kraken. + +commit 0a9badb3e2be41be5e7de6d865a8e323b3706fa8 +Merge: 13b04089ce baa772372c +Author: Nathan Cutler +Date: Wed Jul 19 23:09:32 2017 +0200 + + Merge pull request #16114 from smithfarm/wip-20500-kraken + + kraken: cephfs: src/test/pybind/test_cephfs.py fails + + Reviewed-by: Patrick Donnelly + +commit 13b04089ceff7136785c37595f526841574cdcd9 +Merge: 34c32b9d07 b941ca7eac +Author: Nathan Cutler +Date: Wed Jul 19 23:03:19 2017 +0200 + + Merge pull request #16108 from smithfarm/wip-19763-kraken + + kraken: cephfs: non-local quota changes not visible until some IO is done + + Reviewed-by: Patrick Donnelly + +commit 34c32b9d0721407511a8420ad3888cbee2fd8f5f +Merge: bb95e12790 4241a6eef0 +Author: Nathan Cutler +Date: Wed Jul 19 23:02:09 2017 +0200 + + Merge pull request #16107 from smithfarm/wip-19710-kraken + + kraken: mds: enable daemon to start when session ino info is corrupt + + Reviewed-by: Patrick Donnelly + +commit bb95e127909052679a883375feb55935ccb127d5 +Merge: 8202ddcf11 0b1dee0edc +Author: Nathan Cutler +Date: Wed Jul 19 23:01:01 2017 +0200 + + Merge pull request #16106 from smithfarm/wip-19680-kraken + + kraken: mds: damage reporting by ino number is useless + + Reviewed-by: Patrick Donnelly + +commit 8202ddcf1156093c58a0c161d6cdc3455fc440b5 +Merge: e2efa6e9e7 f458d60838 +Author: Nathan Cutler +Date: Wed Jul 19 23:00:13 2017 +0200 + + Merge pull request #16105 from smithfarm/wip-19678-kraken + + kraken: cephfs: ceph-fuse does not recover after lost connection to MDS + + Reviewed-by: Patrick Donnelly + +commit e2efa6e9e742dba2b9779e8b7382c173abfea0af +Merge: 055319bfe7 7674f84ddf +Author: Nathan Cutler +Date: Wed Jul 19 22:58:56 2017 +0200 + + Merge pull request #16104 from smithfarm/wip-19676-kraken + + kraken: cephfs: Test failure: test_data_isolated (tasks.cephfs.test_volume_client.TestVolumeClient) + + Reviewed-by: Patrick Donnelly + +commit 055319bfe7e6dd15417e30b708590a4040d2a884 +Merge: 5c6a770308 bee73d2429 +Author: Nathan Cutler +Date: Wed Jul 19 22:56:04 2017 +0200 + + Merge pull request #16103 from smithfarm/wip-19674-kraken + + kraken: cephfs: mds is crushed, after I set about 400 64KB xattr kv pairs to a file + + Reviewed-by: Patrick Donnelly + +commit 5c6a770308200788231173c270833a15d04765ed +Merge: 8d86192e34 32c7ebe3e6 +Author: Nathan Cutler +Date: Wed Jul 19 22:55:17 2017 +0200 + + Merge pull request #16102 from smithfarm/wip-19672-kraken + + kraken: mds: assert fail when shutting down + + Reviewed-by: Patrick Donnelly + +commit 8d86192e34dfd3d91a99a354545fb3e5b7b94f79 +Merge: 99d0afda7f b267a1a8be +Author: Nathan Cutler +Date: Wed Jul 19 22:54:07 2017 +0200 + + Merge pull request #16101 from smithfarm/wip-19669-kraken + + kraken: mds: daemon goes readonly writing backtrace for a file whose data pool has been removed + + Reviewed-by: Patrick Donnelly + +commit 99d0afda7f8748b13940267c3d5286b8a98d5a8f +Merge: 818ecc66c7 93e81a87ac +Author: Nathan Cutler +Date: Wed Jul 19 22:53:11 2017 +0200 + + Merge pull request #16100 from smithfarm/wip-19667-kraken + + kraken: cephfs: mount point break off problem after mds switch + + Reviewed-by: Patrick Donnelly + +commit 818ecc66c71e3ccb351353a36b32b3dd0c6c2123 +Merge: c8ccfc72b3 e72d6362c1 +Author: Nathan Cutler +Date: Wed Jul 19 22:05:12 2017 +0200 + + Merge pull request #16099 from smithfarm/wip-19664-kraken + + kraken: mds: C_MDSInternalNoop::complete doesn't free itself + + Reviewed-by: Patrick Donnelly + +commit c8ccfc72b3556969722c24eacdd78828a3194b7f +Merge: fbcef7d42a 3c4a5ea385 +Author: Nathan Cutler +Date: Wed Jul 19 22:03:52 2017 +0200 + + Merge pull request #14998 from jan--f/wip-19845-kraken + + kraken: cephfs: normalize file open flags internally used by cephfs + + Reviewed-by: Patrick Donnelly + +commit fbcef7d42a3832c2e404aa0d141238252045d3d9 +Merge: dbaae75029 f32e26e909 +Author: Nathan Cutler +Date: Wed Jul 19 16:51:05 2017 +0200 + + Merge pull request #16168 from smithfarm/wip-20031-kraken + + kraken: rgw: Swift's at-root features (/crossdomain.xml, /info, /healthcheck) are broken + + Reviewed-by: Radoslaw Zarzynski + +commit dbaae750299d9169e2e1dda9d0af98521c8abb5e +Merge: e26575be67 e773b304ee +Author: Nathan Cutler +Date: Wed Jul 19 16:15:21 2017 +0200 + + Merge pull request #16164 from smithfarm/wip-19777-kraken + + kraken: rgw: swift: disable revocation thread under certain circumstances + + Reviewed-by: Radoslaw Zarzynski + +commit e26575be67e00dbf674ff77ef6e7729f22750d8b +Merge: 415174d29e 53024570e7 +Author: Nathan Cutler +Date: Wed Jul 19 15:43:16 2017 +0200 + + Merge pull request #16191 from smithfarm/wip-20028-kraken + + kraken: cephfs: Deadlock on two ceph-fuse clients accessing the same file + + Reviewed-by: Yan, Zheng + +commit 415174d29e20f73884e81773fd0b4d1055d439b4 +Merge: 2879b80281 b27595ae9c +Author: Nathan Cutler +Date: Wed Jul 19 15:32:52 2017 +0200 + + Merge pull request #16183 from smithfarm/wip-20405-kraken + + kraken: rgw: Lifecycle thread will still handle the bucket even if it has been removed + + Reviewed-by: Casey Bodley + Reviewed-by: Daniel Gryniewicz + +commit 2879b80281c1d4bd8b8daeb5662879a296274fca +Merge: eed9a165bd 3105e2327e +Author: Nathan Cutler +Date: Wed Jul 19 15:31:50 2017 +0200 + + Merge pull request #16181 from smithfarm/wip-20363-kraken + + kraken: rgw: VersionIdMarker and NextVersionIdMarker are not returned when listing object versions + + Reviewed-by: Casey Bodley + +commit eed9a165bd1dd95f5afe8ccd78a742fbf16a4503 +Merge: b759d4362b d0e742cafa +Author: Nathan Cutler +Date: Wed Jul 19 15:31:14 2017 +0200 + + Merge pull request #16179 from smithfarm/wip-20269-kraken + + kraken: rgw: wrong object size after copy of uncompressed multipart objects + + Reviewed-by: Casey Bodley + +commit b759d4362b7a3ae2bc4174eb0ef328f919644e6c +Merge: 82e9c73fe7 90288afc10 +Author: Nathan Cutler +Date: Wed Jul 19 15:30:33 2017 +0200 + + Merge pull request #16174 from smithfarm/wip-20261-kraken + + kraken: rgw: 'radosgw-admin usage show' listing 0 bytes_sent/received + + Reviewed-by: Casey Bodley + +commit 82e9c73fe70b5e78bc170ad566fa7900191ece70 +Merge: 2c5b063f43 dda4d912cd +Author: Nathan Cutler +Date: Wed Jul 19 15:29:57 2017 +0200 + + Merge pull request #16173 from smithfarm/wip-20156-kraken + + kraken: fix: rgw crashed caused by shard id out of range when listing data log + + Reviewed-by: Casey Bodley + +commit 2c5b063f4386663f00ff897beee0523fa6e95acd +Merge: 423d6c319f f8235c5c0a +Author: Nathan Cutler +Date: Wed Jul 19 15:29:22 2017 +0200 + + Merge pull request #16165 from smithfarm/wip-19839-kraken + + kraken: rgw: reduce log level of 'storing entry at' in cls_log + + Reviewed-by: Casey Bodley + +commit 423d6c319f55fb3eddc0602954645b3b1f1d7bd8 +Merge: 0af35a358e 68a853a14d +Author: Nathan Cutler +Date: Wed Jul 19 15:28:30 2017 +0200 + + Merge pull request #16163 from smithfarm/wip-19766-kraken + + kraken: rgw: when uploading the objects continuesly in the versioned bucket, some objects will not sync + + Reviewed-by: Casey Bodley + +commit 0af35a358ea8a8b3376faf4d77bd75edb1e808fe +Merge: 872a8b53ea 9a7a73edf1 +Author: Nathan Cutler +Date: Wed Jul 19 15:27:38 2017 +0200 + + Merge pull request #16162 from smithfarm/wip-19725-kraken + + kraken: rgw: S3 v4 authentication issue with X-Amz-Expires + + Reviewed-by: Casey Bodley + +commit 872a8b53ea022923e9c442011432df5e403520ae +Merge: 129345c319 d52aeec031 +Author: Nathan Cutler +Date: Wed Jul 19 15:25:48 2017 +0200 + + Merge pull request #16161 from smithfarm/wip-19614-kraken + + kraken: multisite: rest api fails to decode large period on 'period commit' + + Reviewed-by: Casey Bodley + +commit 129345c3196effdaea08f9678d1a9f1cd8265d81 +Merge: 72c3a04f23 91569f6385 +Author: Nathan Cutler +Date: Wed Jul 19 15:24:59 2017 +0200 + + Merge pull request #16139 from smithfarm/wip-20147-kraken + + kraken: rgw: 'gc list --include-all' command infinite loop the first 1000 items + + Reviewed-by: Casey Bodley + +commit 72c3a04f23a227713f50527b8b8651580556d45a +Merge: 762901080c 6d2f959735 +Author: Nathan Cutler +Date: Wed Jul 19 14:29:31 2017 +0200 + + Merge pull request #16096 from smithfarm/wip-19336-kraken + + kraken: rbd: refuse to use an ec pool that doesn't support overwrites + + Reviewed-by: Jason Dillaman + +commit 762901080c3e7982a0f38705cd09578be1c6d940 +Merge: ac8bd5ea97 5dab0825d7 +Author: Nathan Cutler +Date: Wed Jul 19 14:28:08 2017 +0200 + + Merge pull request #16097 from smithfarm/wip-19609-kraken + + kraken: tests: [librados_test_stub] cls_cxx_map_get_XYZ methods don't return correct value + + Reviewed-by: Jason Dillaman + +commit ac8bd5ea97b7f87533d0320048335f80dcc66224 +Merge: c5d53bd299 ac706f2b4a +Author: Nathan Cutler +Date: Wed Jul 19 14:27:11 2017 +0200 + + Merge pull request #16184 from smithfarm/wip-20154-kraken + + kraken: rbd: Potential IO hang if image is flattened while read request is in-flight + + Reviewed-by: Jason Dillaman + +commit c5d53bd299807d90d3311625554e055696898e71 +Merge: f73412843d 18f1830e8a +Author: Nathan Cutler +Date: Wed Jul 19 14:24:05 2017 +0200 + + Merge pull request #16187 from smithfarm/wip-20266-kraken + + kraken: rbd: [api] is_exclusive_lock_owner shouldn't return -EBUSY + + Reviewed-by: Jason Dillaman + +commit f73412843db6cb9e3416d66a2ddf92e1b8d7038f +Merge: 0d01813a8c ce874ab676 +Author: Nathan Cutler +Date: Wed Jul 19 14:22:57 2017 +0200 + + Merge pull request #16195 from dillaman/wip-20351-kraken + + kraken: tests: test/librbd: decouple ceph_test_librbd_api from libceph-common + + Reviewed-by: Nathan Cutler + +commit 0d01813a8c72e0d797d100e8e45d99f1ff99ba5a +Merge: 771ebef418 379309b552 +Author: Nathan Cutler +Date: Wed Jul 19 12:56:47 2017 +0200 + + Merge pull request #15486 from dillaman/wip-20022-kraken + + kraken: rbd-mirror: ensure missing images are re-synced when detected + + Reviewed-by: Mykola Golub + +commit 771ebef418eb0d585ca9bd9dd565ea9f1caf3766 +Merge: 9d6e0f2ef8 3173da6e3b +Author: Nathan Cutler +Date: Wed Jul 19 12:50:22 2017 +0200 + + Merge pull request #14540 from smithfarm/wip-18910-kraken + + kraken: rbd-nbd: check /sys/block/nbdX/size to ensure kernel mapped correctly + + Reviewed-by: Mykola Golub + +commit 9d6e0f2ef86b34b0bd2443f8c8a747bb15732e7c +Merge: bb1b7c3b10 9a26882289 +Author: Nathan Cutler +Date: Wed Jul 19 08:05:11 2017 +0200 + + Merge pull request #16140 from smithfarm/wip-20271-kraken + + kraken: tests: LibRadosMiscConnectFailure.ConnectFailure hang + + Reviewed-by: Kefu Chai + +commit bb1b7c3b1060b983eeb8e3a3f9607306b47ead77 +Merge: 5ea47f79c9 76fedab576 +Author: Nathan Cutler +Date: Tue Jul 18 23:14:59 2017 +0200 + + Merge pull request #16112 from smithfarm/wip-20499-kraken + + kraken: tests: ObjectStore/StoreTest.OnodeSizeTracking/2 fails on bluestore + + Reviewed-by: Sage Weil + +commit 5ea47f79c91229b57981bac77472102c868cfa89 +Merge: 1913303660 47f751f48b +Author: Yehuda Sadeh +Date: Tue Jul 18 13:58:14 2017 -0700 + + Merge pull request #14960 from yehudasa/wip-19704 + + kraken: civetweb: move to post 1.8 version + + Reviewed-by: Yehuda Sadeh + +commit 838d7840f023c5802507727231983311182a1c05 +Author: Greg Farnum +Date: Mon Jul 10 13:33:26 2017 -0700 + + osd: do not default-abort on leaked pg refs + + Signed-off-by: Greg Farnum + (cherry picked from commit 4caf2df0c380a1281db9509b3feb342705512b58) + +commit 4bf34200896ce120bba2e2d974c4f3dadb342821 +Author: Greg Farnum +Date: Thu May 25 22:14:38 2017 -0700 + + osd: shutdown our reserver_finisher earlier in the process + + This finisher thread has a lot of callbacks which can hold PGRefs. Make + sure we drain them out before checking that all the PGs have finished + and have no outstanding references. + + Moving this should be safe; we've already stopped the op thread et al + and the only things still running are the OSDService's objecter_finisher, + recovery_request_timer, and snap_sleep_timer (which has definitely been emptied + by the time we get here as it's synchronously cleared out on PG shutdown). + + Signed-off-by: Greg Farnum + (cherry picked from commit 66ea9c1f66ae31035e62bd4335b08948b1e8e5e2) + +commit 2d5cafdf6461c213aa2642210a3c4efabce61efd +Author: Greg Farnum +Date: Thu May 25 21:52:49 2017 -0700 + + osd: Reset() the snaptrimmer on shutdown + + We were failing to exit various wait states which held PGRefs. Error! + + Fixes: http://tracker.ceph.com/issues/19931 + + Signed-off-by: Greg Farnum + (cherry picked from commit b0e9deeea8a8e90f6d7e9d56b6b4aed890e01d7b) + +commit cc0046a999600b2e684c17fddaebcf451c259443 +Author: Greg Farnum +Date: Wed May 24 18:43:34 2017 -0700 + + osd: print out pg debug ref counts on acquire/drop + + Signed-off-by: Greg Farnum + (cherry picked from commit a3b028a6d1ba74ed975ebd665b1b50fb7e5039a4) + +commit c6542ac7e6408f26ce7376d3a58eed0661a17099 +Author: David Zafman +Date: Fri Jul 7 10:53:41 2017 -0700 + + mon: Fix status output warning for mon_warn_osd_usage_min_max_delta + + Fixes: http://tracker.ceph.com/issues/20544 + + Caued by: 489e810c37ed6fb9d32d1015634041a577501ee4 + + Signed-off-by: David Zafman + (cherry picked from commit 56f9808016ab289bdc0ce7cfbb0503c78b509593) + + Conflicts: + src/mon/PGMap.cc: + kraken has no daa0793c393a21bd2dd2ec52a0efd181e1032400 so we manually + apply the changes from 56f9808016ab289bdc0ce7cfbb0503c78b509593 to + src/mon/PGMonitor.cc instead of to src/mon/PGMap.cc + +commit 2f26f8cbd3e81700c42202f8d933f1576772e212 +Author: Sage Weil +Date: Tue Apr 18 13:54:56 2017 -0400 + + mon/PGMonitor: clean up min/max span warning + + Clean up option naming. + + Signed-off-by: Sage Weil + (cherry picked from commit 489e810c37ed6fb9d32d1015634041a577501ee4) + +commit 90b7fd8a0accc2f8f458d35199361344652d8859 +Author: David Zafman +Date: Fri Feb 17 12:27:36 2017 -0800 + + bluestore: Fix BlueStore::statfs available amount to not include bluefs min reserved + + This fixes OSD crashes because checking osd_failsafe_full_ratio won't work + without accurate statfs information. + + Signed-off-by: David Zafman + (cherry picked from commit 72d83f848a35e8831d66e8529c4e26f51e845da6) + +commit d69e4e5e6ad633e38fc62ca0859cea1f146744b1 +Author: David Zafman +Date: Thu Feb 16 22:23:06 2017 -0800 + + osd: Round fullness in message to correspond to df -h + + This really only works after journal drains because + we adjust for the journal. + + Signed-off-by: David Zafman + (cherry picked from commit 26dcb591f9af01ed444aa758c3d601e7f67261b2) + +commit eb887e3cb1f55f016ca70ac3d4441aa03478d934 +Author: David Zafman +Date: Thu Feb 16 17:25:12 2017 -0800 + + filestore: Account for dirty journal data in statfs + + Fixes: http://tracker.ceph.com/issues/16878 + + Signed-off-by: David Zafman + (cherry picked from commit 78adb70c21c6b8e6a9191b76917919b125a9490f) + +commit bc324e0446d5fd6b35651b024926c5a3099a0aff +Author: David Zafman +Date: Tue Feb 14 16:37:07 2017 -0800 + + mon: Add warning if diff in OSD usage > config mon_warn_osd_usage_percent (10%) + + Signed-off-by: David Zafman + (cherry picked from commit c8004e6558359fb542e45bb4b483a6c91afdc0b4) + +commit 2c2e0a353bd518f1e44435376ad1ad9a0ee6fe67 +Author: David Zafman +Date: Tue Feb 14 14:40:05 2017 -0800 + + mon: Bump min in ratio to 75% + + Signed-off-by: David Zafman + (cherry picked from commit 830cc7aa7be1ccd8f54f056b6a58e923cadd1c2b) + +commit 899f3fca7f89ab37d20cb1ec06b911ba039c52a3 +Author: David Zafman +Date: Tue Feb 14 14:38:53 2017 -0800 + + osd: Fix ENOSPC crash message text + + Signed-off-by: David Zafman + (cherry picked from commit 50cfe03fcba253c8380b21043ed03879134d6836) + +commit 19133036602d9dc9eb234b5e4dec6b845b4ade4b +Merge: 7224ebc1f1 85cefa113b +Author: Nathan Cutler +Date: Tue Jul 18 19:50:46 2017 +0200 + + Merge pull request #16143 from smithfarm/wip-20365-kraken + + kraken: mon: osd crush set crushmap need sanity check + + Reviewed-by: Loic Dachary + +commit 7224ebc1f18fec1f472688f6494ed10d2b574f88 +Merge: 47359c12e6 ea186807c3 +Author: Nathan Cutler +Date: Tue Jul 18 19:48:51 2017 +0200 + + Merge pull request #16138 from smithfarm/wip-20034-kraken + + kraken: ceph-disk: Racing between partition creation & device node creation + + Reviewed-by: Loic Dachary + +commit 47359c12e69fbde4c36403ccd7992fe4ecf9223b +Merge: 9860e65818 f04eb66d36 +Author: Nathan Cutler +Date: Tue Jul 18 19:47:34 2017 +0200 + + Merge pull request #16135 from smithfarm/wip-20010-kraken + + kraken: ceph-disk: separate ceph-osd --check-needs-* logs + + Reviewed-by: Loic Dachary + +commit f2d61c199d7ba103290178573984db98e8c8ed21 +Author: Jason Dillaman +Date: Fri Jul 14 10:32:28 2017 -0400 + + qa/tasks: rbd-mirror daemon not properly run in foreground mode + + Fixes: http://tracker.ceph.com/issues/20630 + Signed-off-by: Jason Dillaman + (cherry picked from commit 4fa1918717b25a5ffafbf649eedcfe7d5ab829c2) + +commit cf06edd36b176a10e6ce3d62eb957bfdb0146703 +Author: Jason Dillaman +Date: Thu Jun 29 14:54:40 2017 -0400 + + rbd: do not attempt to load key if auth is disabled + + Fixes: http://tracker.ceph.com/issues/19035 + Signed-off-by: Jason Dillaman + (cherry picked from commit 8b9c8df6d7f0b75c5451953bb322bc1f9afb6299) + +commit f72ea6818691e1824d4c22630e856d3b280a008c +Author: lu.shasha +Date: Tue May 9 15:05:03 2017 +0800 + + rgw: when create_bucket use the same num_shards with info.num_shards + + pr #14388 only fix the num_shards in BucketInfo, "init_bucket_index" function still use local num_shards + + Fixes: http://tracker.ceph.com/issues/19745 + + Signed-off-by: Shasha Lu + (cherry picked from commit 4ce64a190b4ff36985e785e574c077d39796feea) + + Conflicts: + src/rgw/rgw_rados.cc - init_bucket_index() called earlier + +commit 9182c279cf2f2228471d506113c61566cbfea4bb +Author: lu.shasha +Date: Fri Apr 7 15:34:27 2017 +0800 + + rgw: using the same bucket num_shards as master zg when create bucket in secondary zg + + create bucket in secondary zonegroup will forward to master. The master may have different num_shards option. + So when create bucket in local, should use master's num_shards instead of local num_shards option. + + Fixes: http://tracker.ceph.com/issues/19745 + + Signed-off-by: Shasha Lu + (cherry picked from commit a34c4b8fb13dd5590eb3c6ecb5e55207ed8e3ee8) + + Conflicts: + src/rgw/rgw_op.cc - no RGWBulkUploadOp:: methods in kraken; modifications + to RGWBulkUploadOp::handle_dir() omitted + +commit b758348447e60af23b114aa47c28f151ffd97792 +Author: Pavan Rallabhandi +Date: Fri Apr 14 21:42:45 2017 +0530 + + rgw: add a field to store generic user data in the bucket index, + that can be populated/fetched via a configurable custom http header + + Signed-off-by: Pavan Rallabhandi + (cherry picked from commit abca7a86c3cfbb58fafb5d057d9d6f5017a53704) + + Conflicts: + src/rgw/rgw_op.cc + Signature fixes for RGWPutObjProcessor_Multipart::do_complete(). + + src/rgw/rgw_op.h + A new member field `crypt_http_responses` is added in the class `RGWPutObj` in master version, which is not required in Kraken. + + src/rgw/rgw_rados.cc + In RGWRados::Bucket::UpdateIndex::complete, RGWObjEnt has been removed in master, which has to be retained in Kraken. + In RGWRados::cls_obj_complete_op, user_data is added to the rgw_bucket_dir_entry_meta + In RGWRados::cls_bucket_list, the user_data field of RGWObjEnt is populated. + + src/rgw/rgw_rados.h + In UpdateIndex::complete(), remove_objs is of type rgw_obj_key in Kraken instead of rgw_obj_index_key + RGWPutObjProcessor_Multipart is not part of this file in Kraken. + + src/rgw/rgw_rest_swift.cc + In RGWListBucket_ObjStore_SWIFT::send_response(), there is no meta struct in Kraken. + + src/rgw/rgw_common.h + Add user_data field in RGWObjEnt structure. + + src/rgw/rgw_json_enc.cc + Add user_data field while dumping RGWObjEnt. + +commit 4fa19ce669338bb2d4c3233c70da8a3829a468f6 +Author: Greg Farnum +Date: Mon Jul 10 13:31:21 2017 -0700 + + osd: repair the PG_DEBUG_REFS build + + Signed-off-by: Greg Farnum + (cherry picked from commit ec4185d1980b48b01687a177248d0894f326dc37) + + Conflicts: + src/osd/OSD.cc + src/osd/Session.h + +commit 2a3e66c388892efcecebd8eb3d7bf082be485bab +Author: Greg Farnum +Date: Wed May 24 00:19:51 2017 -0700 + + osd: use PGRef instead of boost::intrusive_ptr everywhere + + Signed-off-by: Greg Farnum + (cherry picked from commit 306ad85f0fb4597ba3bb3c04a67abdaba556ba74) + +commit 9860e658189e3ac775102b3f66676b0a77a80ba7 +Merge: 6e1023ad24 c65eaaafb1 +Author: Sage Weil +Date: Sat Jul 8 21:39:59 2017 -0500 + + Merge pull request #16215 from liewegas/wip-17743 + + kraken: CMakeLists.txt: disable memstore make check test + + Reviewed-by: Josh Durgin + +commit c65eaaafb174ac1f62fe8fc08ae63deadeffd0ad +Author: Sage Weil +Date: Fri Jul 7 11:38:25 2017 -0400 + + CMakeLists.txt: disable memstore make check test + + This fails frequently on kraken, but is probably a wontfix. + + See http://tracker.ceph.com/issues/17743 + + Signed-off-by: Sage Weil + +commit 379309b552db51dcab9b08ba5437c1dae5cd45a7 +Author: Jason Dillaman +Date: Wed May 3 21:36:21 2017 -0400 + + rbd-mirror: ensure missing images are re-synced when detected + + Fixes: http://tracker.ceph.com/issues/19811 + Signed-off-by: Jason Dillaman + (cherry picked from commit 74bd4f230a0cb7b709f2cb5c6db3dc79f0d8dede) + + Conflicts: + src/test/rbd_mirror/image_replayer/test_mock_BootstrapRequest.cc: trivial resolution + src/tools/rbd_mirror/image_replayer/BootstrapRequest.h: trivial resolution + +commit 6e1023ad2482f5829c06a54adb4271643b1e53c4 +Merge: 6353508134 076e4b7991 +Author: Nathan Cutler +Date: Fri Jul 7 09:49:51 2017 +0200 + + Merge pull request #14067 from asheplyakov/19322-bp-kraken + + kraken: rgw: fix break inside of yield in RGWFetchAllMetaCR + + Reviewed-by: Orit Wasserman + +commit 6353508134bd4d2bcbca7d0f9a42788895fe5c27 +Merge: 425992f92d 87811ff161 +Author: Nathan Cutler +Date: Fri Jul 7 09:48:57 2017 +0200 + + Merge pull request #14509 from smithfarm/wip-18499-kraken + + kraken: rgw: Realm set does not create a new period + + Reviewed-by: Orit Wasserman + +commit 425992f92d30c8503053311471322a9849a37746 +Merge: 39bf493984 6860fce424 +Author: Nathan Cutler +Date: Fri Jul 7 09:48:01 2017 +0200 + + Merge pull request #14511 from smithfarm/wip-18772-kraken + + kraken: rgw: crash when updating period with placement group + + Reviewed-by: Orit Wasserman + +commit 39bf493984cb98c5a3f7691458188fea7a246c70 +Merge: eb397c1780 1cb9868456 +Author: Nathan Cutler +Date: Fri Jul 7 09:45:15 2017 +0200 + + Merge pull request #14513 from smithfarm/wip-18843-kraken + + kraken: rgw: usage stats and quota are not operational for multi-tenant users + + Reviewed-by: Orit Wasserman + +commit eb397c178028530d061e9edc32f84ddd6d826a89 +Merge: 1ed342d75d 5f4c38fa6b +Author: Nathan Cutler +Date: Fri Jul 7 09:44:21 2017 +0200 + + Merge pull request #14515 from smithfarm/wip-18904-kraken + + kraken: rgw: first write also tries to read object + + Reviewed-by: Orit Wasserman + +commit 1ed342d75d0befb602597385b5f49d27a244d450 +Merge: d3a2417cf1 935cc11595 +Author: Nathan Cutler +Date: Fri Jul 7 09:42:36 2017 +0200 + + Merge pull request #14516 from smithfarm/wip-18909-kraken + + kraken: rgw: the swift container acl does not support field .ref + + Reviewed-by: Orit Wasserman + Reviewed-by: Radoslaw Zarzynski + +commit d3a2417cf11e6ccebf25de8fe12242c1e8eda626 +Merge: ce95f0f7d8 ffe5bbfc6e +Author: Nathan Cutler +Date: Fri Jul 7 09:25:43 2017 +0200 + + Merge pull request #14517 from smithfarm/wip-19047-kraken + + kraken: rgw: fix use of marker in List::list_objects() + + Reviewed-by: Orit Wasserman + +commit ce95f0f7d81af4bfbad7afb4f429b9cfa2e37726 +Merge: aab812c517 03e5be4498 +Author: Nathan Cutler +Date: Fri Jul 7 09:24:13 2017 +0200 + + Merge pull request #14524 from smithfarm/wip-19477-kraken + + kraken: rgw: S3 v4 authentication issue with X-Amz-Expires + + Reviewed-by: Orit Wasserman + Reviewed-by: Radoslaw Zarzynski + +commit aab812c51706fc3395af3c34b0b3720e84c30b61 +Merge: a441042e00 a5fe812483 +Author: Nathan Cutler +Date: Fri Jul 7 09:22:26 2017 +0200 + + Merge pull request #14525 from smithfarm/wip-19479-kraken + + kraken: rgw: zonegroupmap set does not work + + Reviewed-by: Orit Wasserman + +commit a441042e00cb752737e303c4c38322fadf13a2f6 +Merge: 3b128e458f cac2647189 +Author: Nathan Cutler +Date: Fri Jul 7 09:21:22 2017 +0200 + + Merge pull request #14528 from smithfarm/wip-19534-kraken + + kraken: rgw: Error parsing xml when get bucket lifecycle + + Reviewed-by: Daniel Gryniewicz + Reviewed-by: Orit Wasserman + +commit 3b128e458f86a23e8b6ff987b0f0774e7d5597bb +Merge: 6366b2382b 8f81bb33c7 +Author: Nathan Cutler +Date: Fri Jul 7 09:19:08 2017 +0200 + + Merge pull request #14606 from asheplyakov/19608-kraken + + kraken: rgw: multisite: fetch_remote_obj() gets wrong version when copying from remote + + Reviewed-by: Orit Wasserman + +commit 6366b2382b8d457ab9e544cc889aa77f024a626f +Merge: 19280ae91e 727653623f +Author: Nathan Cutler +Date: Fri Jul 7 09:18:10 2017 +0200 + + Merge pull request #15384 from asheplyakov/20015-bp-kraken + + kraken: cls/rgw: list_plain_entries() stops before bi_log entries + + Reviewed-by: Orit Wasserman + +commit 19280ae91e710cbb9569fc1dc3a6a24b6ea05ca4 +Merge: eb56af6c0d 595c31f390 +Author: Nathan Cutler +Date: Fri Jul 7 09:03:16 2017 +0200 + + Merge pull request #14522 from smithfarm/wip-19472-kraken + + kraken: rgw: add the remove-x-delete feature to cancel swift object expiration + + Reviewed-by: Radoslaw Zarzynski + +commit eb56af6c0d8eea0e19a16da4e186e8edbfe13148 +Merge: 4ccd32619f f8db63f24d +Author: Nathan Cutler +Date: Fri Jul 7 09:00:43 2017 +0200 + + Merge pull request #14523 from smithfarm/wip-19475-kraken + + kraken: rgw: multisite: EPERM when trying to read SLO objects as system/admin user + + Reviewed-by: Radoslaw Zarzynski + +commit 4ccd32619f39a4f6fa7a6700c8c90c622c83d67a +Merge: e59eba0ff3 c3d8444890 +Author: Nathan Cutler +Date: Fri Jul 7 08:58:44 2017 +0200 + + Merge pull request #14519 from smithfarm/wip-19175-kraken + + kraken: swift API: cannot disable object versioning with empty X-Versions-Location + + Reviewed-by: Radoslaw Zarzynski + +commit e59eba0ff375011c18b3a8dcdb228c71c9085fe9 +Merge: aaa7992ee5 faf80bc1dd +Author: Nathan Cutler +Date: Fri Jul 7 08:56:47 2017 +0200 + + Merge pull request #14526 from smithfarm/wip-19524-kraken + + kraken: rgw: 'radosgw-admin zone create' command with specified zone-id creates a zone with different id + + Reviewed-by: Radoslaw Zarzynski + +commit aaa7992ee5fd2767d8a144c47255489080f5fb47 +Merge: 6c3daeb297 e5719234b4 +Author: Nathan Cutler +Date: Fri Jul 7 08:55:30 2017 +0200 + + Merge pull request #14529 from smithfarm/wip-19573-kraken + + kraken: rgw: Response header of swift API returned by radosgw does not contain x-openstack-request-id. But Swift returns it. + + Reviewed-by: Radoslaw Zarzynski + +commit ce874ab676e8b5a09e32db19f077c650cff9979b +Author: Kefu Chai +Date: Sat Jun 10 23:59:19 2017 +0800 + + test/librbd: decouple ceph_test_librbd_api from libceph-common + + Fixes: http://tracker.ceph.com/issues/20175 + Signed-off-by: Kefu Chai + (cherry picked from commit b7287fdc4d70c5ecedda78ae367b98e5d8f61c5b) + + Conflicts: + src/test/librbd/CMakeLists.txt: trivial resolution + +commit 57f7213d9fd5a9a82e46c4ca3f3dda87c3dde717 +Author: Kefu Chai +Date: Sat Jun 10 23:31:53 2017 +0800 + + test/librbd: replace libcommon classes using standard library + + so ceph_test_librbd_api has less dependencies on libcommon + + Fixes: http://tracker.ceph.com/issues/20175 + Signed-off-by: Kefu Chai + (cherry picked from commit bc8fa0193c8b2fb4b749ce9976bf6efbea833e96) + + Conflicts: + src/test/librbd/test_librbd.cc: trivial resolution + +commit 7d044c6fbdcabc92d4dae7d9759dc63f87b2e4f4 +Author: Kefu Chai +Date: Sat Jun 10 23:58:47 2017 +0800 + + test/librados: extract functions using libcommon in test.cc into test_common.cc + + Fixes: http://tracker.ceph.com/issues/20175 + Signed-off-by: Kefu Chai + (cherry picked from commit 82a848c2053ea69ebc6d3ec1003e18921e2d08d2) + + Conflicts: + src/test/librados/CMakeLists.txt: trivial resolution + src/test/librados/test.cc: trivial resolution + +commit 53024570e75f2963da84f3a045f1ac1f9ee4081e +Author: Yan, Zheng +Date: Sat Apr 22 12:27:12 2017 +0800 + + mds: issue new caps when sending reply to client + + After Locker::issue_new_caps() adds new Capability data struct, + do not issue caps immediately. Let CInode::encode_inodestate() + do the job instead. This can avoid various races that early reply + is not allowed, caps that haven't been sent to client gets revoked. + + Fixes: http://tracker.ceph.com/issues/19635 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 799703a4acb49db0b6cc99a23e4326767e694c3a) + +commit 18f1830e8acaa386d0113171ec649b5b33698dd9 +Author: Jason Dillaman +Date: Mon Jun 5 08:17:05 2017 -0400 + + librbd: filter expected error codes from is_exclusive_lock_owner + + Fixes: http://tracker.ceph.com/issues/20182 + Signed-off-by: Jason Dillaman + (cherry picked from commit d4daaf54e6bc42cd4fb2111ea20b2042941b0c31) + +commit 45b4c86452d19eaf3078704ba951e2fdb2e49a30 +Author: Jason Dillaman +Date: Mon Jun 5 13:17:19 2017 -0400 + + rbd: properly decode features when using image name optional + + Fixes: http://tracker.ceph.com/issues/20185 + Signed-off-by: Jason Dillaman + (cherry picked from commit f1b05a2b062a59ec1b6682f7683bfd816433a931) + +commit d463de9b8ae357a4edbfcf63e65740ecd4845b26 +Author: fang.yuxiang +Date: Tue Jun 13 16:40:16 2017 +0800 + + rgw: meta sync thread crash at RGWMetaSyncShardCR + + Fixes: http://tracker.ceph.com/issues/20251 + + Signed-off-by: fang yuxiang fang.yuxiang@eisoo.com + (cherry picked from commit 45877d38fd9a385b2f8b13e90be94d784898b0b3) + + Conflicts: + src/rgw/rgw_data_sync.cc + - kraken RGWContinuousLeaseCR() has slightly different options + src/rgw/rgw_sync.cc + - kraken RGWContinuousLeaseCR() has slightly different options + - added "override" qualifier to ~RGWFetchAllMetaCR() definition + +commit d52aeec0310d3f1dab986a43bee2f4fc768efc06 +Author: Casey Bodley +Date: Sat Jun 10 18:12:52 2017 -0400 + + rgw: only log metadata on metadata master zone + + Fixes: http://tracker.ceph.com/issues/20244 + + Signed-off-by: Casey Bodley + (cherry picked from commit b8272f3607074a2f7cbfd08f7bbc82f22cf120ba) + +commit 9651ed95894707d6d5517979b18a8acdbcc1b004 +Author: Casey Bodley +Date: Fri Apr 21 15:04:48 2017 -0400 + + radosgw-admin: warn that 'realm rename' does not update other clusters + + Fixes: http://tracker.ceph.com/issues/19746 + + Signed-off-by: Casey Bodley + (cherry picked from commit 8a459c768ffecd689a53a79dfe33eb8f1bbc318f) + +commit 4e4cd5453670af8d87b217c60dc84dd39e192952 +Author: Casey Bodley +Date: Tue Apr 4 10:42:44 2017 -0400 + + rgw: fix for zonegroup redirect url + + local dest_url variable was shadowing the one in the enclosing scope, so + the changes were not applied and no Location header was written on redirect + + Fixes: http://tracker.ceph.com/issues/19488 + + Signed-off-by: Casey Bodley + (cherry picked from commit 542e188a40f0495720b48308372366951ae41e62) + +commit 693d88081358f2059a65de5ddb4d35272ef1f3fe +Author: Casey Bodley +Date: Tue Apr 4 10:41:51 2017 -0400 + + rgw: use zonegroup's master zone endpoints for bucket redirect + + if no zonegroup endpoints are set, fall back to master zone endpoints + + Fixes: http://tracker.ceph.com/issues/19488 + + Signed-off-by: Casey Bodley + (cherry picked from commit 92f63c6392bdc4633a2e57cb3867051bb1a3fd55) + +commit f23df08430c6b62314898a4c95f81d8cb01f93c3 +Author: Casey Bodley +Date: Wed Apr 5 14:20:20 2017 -0400 + + rgw: allow larger payload for period commit + + testing with 3 zonegroups and 3 zones each, the period json grew larger + than 4k and caused decode failures on period commit + + updated to use the new config variable rgw_max_put_param_size + + Fixes: http://tracker.ceph.com/issues/19505 + + Signed-off-by: Casey Bodley + (cherry picked from commit 7f2871fe59d933b03f37fde40f1781b2320d0d50) + +commit dea9a69c3f85504070a56f8a2dbf1a4c129b9ef4 +Author: Abhishek Lekshmanan +Date: Fri Mar 3 16:50:33 2017 +0100 + + rgw: make a configurable size for requests with xml params + + We currently read all user input for a few apis accepting xml, avoid + doing this and error out early, most s3 apis limit to about 1000 xml + entries, make this configurable via a new config param, + `rgw_max_put_param_size` defaulting to 1MB. Also modified + `rgw_rest_read_all_input` with an additional param to not allow for + chunked uploads, though we error out in a better way by responding with + content length required rather than S3's 501 if chunked is set. + + This also adds the same behavior in RGWPutCORS reusing + `rgw_rest_read_all_input`, and using a data_deleter to manage the char* + + Signed-off-by: Abhishek Lekshmanan + + rgw: rgw_rest_s3: make PUT CORS accept only a configured max input + + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit 35375b75160dc93beeb04c7fe010dc0d21952534) + +commit ac706f2b4a4aee7b813a0b5ba0589431b84f3dcd +Author: Mykola Golub +Date: Tue May 23 12:07:45 2017 +0200 + + librbd: potential read IO hang when image is flattened + + Fixes: http://tracker.ceph.com/issues/19832 + Signed-off-by: Jason Dillaman + (cherry picked from commit 10d58618e7c632ef01b9537492239e0a042dc17e) + +commit b27595ae9c3490a4ff1d39b0d864a4a47a941981 +Author: Zhang Shaowen +Date: Wed Jun 14 10:29:53 2017 +0800 + + rgw: lifecycle thread shouldn't process the bucket which has been deleted. + + Fixes: http://tracker.ceph.com/issues/20285 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit a2b042fe9f7e6503273fa4c2a4c56e399d7c338f) + +commit 3105e2327ea29558fdd97dfb6da2c7ee9ec08f8f +Author: Zhang Shaowen +Date: Tue May 9 16:39:39 2017 +0800 + + rgw: VersionIdMarker and NextVersionIdMarker should be returned when listing + object versions if necessary. + + Fixes: http://tracker.ceph.com/issues/19886 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit f805c3e08948e379b7d2c4f2faf9e7f550e4cb23) + +commit d0e742cafae325cf794a2160b6df19296ac398a4 +Author: fang.yuxiang +Date: Thu May 4 15:58:37 2017 +0800 + + rgw: set object accounted size correctly + + sometimes, object accounted size is set wrong, + because we don't konw the object size if don't resort to the compression info or manifest. + e.g, when i use s3cmd do copy object(bucket_A/obj_A -> bucket_B/obj_B, assume the size of obj_A is 4M). + then i use s3cmd do list bucket, I got obj_B size is 512K, it is the head size apparently. + + Fixes: http://tracker.ceph.com/issues/20071 + + Signed-off-by: fang yuxiang + (cherry picked from commit 539985a99eebdc72c8d2446acc1108664a162f68) + +commit 640a7a26296e652ffb8b8bfab87839d7bfd66d1b +Author: fang.yuxiang +Date: Sat May 27 15:20:30 2017 +0800 + + rgw: get wrong content when download object with specific range when + compression was enabled + + look at the prototype: + RGWGetObj_Decompress::handle_data(bufferlist& bl, off_t bl_ofs, off_t bl_len) + we should trim the bl using bl_ofs and bl_len. + + Fixes: http://tracker.ceph.com/issues/20100 + + Signed-off-by: fang yuxiang + (cherry picked from commit afe9d99570059b88837690950a4f4525e0e60262) + +commit 6c3daeb2970f52970145eb31d4bef56b33df8b40 +Merge: 08b8a736e2 bd9aec00ec +Author: Nathan Cutler +Date: Thu Jul 6 17:46:06 2017 +0200 + + Merge pull request #16113 from smithfarm/wip-19807-kraken + + kraken: tests: remove hard-coded image name from TestLibRBD.Mirror + + Reviewed-by: Jason Dillaman + Reviewed-by: Mykola Golub + +commit 1fc14857a9dd81b1b4726428f115ef5cfb495781 +Author: Zhang Shaowen +Date: Tue Jun 6 15:43:20 2017 +0800 + + rgw: datalog trim and mdlog trim handles the result returned by osd + incorrectly. + + Fixes: http://tracker.ceph.com/issues/20190 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit 7fd6e031e5b0b1f3eca70c5b459d50f6f214171f) + +commit 90288afc10d878b59dacb99383ada309377e4bb4 +Author: Pritha Srivastava +Date: Mon Mar 20 11:41:48 2017 +0530 + + rgw: Added code to correctly account for bytes sent/ received during a 'PUT' operation. + + Currently, the bytes sent/ received are both set to zero after + an object is uploaded to a bucket. Added code to correct the logic. + + Signed-off-by: Pritha Srivastava + (cherry picked from commit 85735c972f5db1a110f55e01a4f6249202152553) + +commit dda4d912cd753e1443beac4e7f92d97f24b57992 +Author: redickwang +Date: Fri May 19 15:08:12 2017 +0800 + + rgw: segment fault when shard id out of range + + Fixes: http://tracker.ceph.com/issues/19732 + + Signed-off-by: redickwang + (cherry picked from commit ff4c40fc2e3c092d17a218ae6132de4e6034c8ee) + +commit f32e26e909c3d56160e9a33d051d690fa4366bbd +Author: Radoslaw Zarzynski +Date: Thu Apr 6 17:08:23 2017 +0200 + + rgw: fix broken /crossdomain.xml, /info and /healthcheck of Swift API. + + Fixes: http://tracker.ceph.com/issues/19520 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit fe2afd42aaf706d38d6ed611796a181ae9e02ae8) + +commit ccb33bab37e45bf47dad5577602e9be9d1d683c6 +Author: Abhishek Lekshmanan +Date: Tue Apr 25 14:46:09 2017 +0200 + + rgw: use a vector for options passed to civetweb + + Since the array we used needs additional check to ensure that the size + is correct, and causes undefined behaviour in a few platforms, using a + vector and passing the c array back to mg_start so that we don't go past + the end of array. + + Fixes: http://tracker.ceph.com/issues/19749 + Signed-off-by: Abhishek Lekshmanan + Signed-off-by: Jesse Williamson + (cherry picked from commit 3959a8b52c2910e4060f7d273c8939bbdc83e48a) + +commit f8235c5c0a64eb409957d80d4c4a22a87280d0b2 +Author: Willem Jan Withagen +Date: Sat Apr 29 13:36:07 2017 +0200 + + cls/log/cls_log.cc: reduce logging noise + + - The other reference in the source as already at 20. + ./src/cls/timeindex/cls_timeindex.cc:85: + CLS_LOG(20, "storing entry at %s", index.c_str()); + + And we need not always know where in the log items are stored. + So it looks like a leftover debug feature. + + Fixes: http://tracker.ceph.com/issues/19835 + Signed-off-by: Willem Jan Withagen + (cherry picked from commit d76010900bf9012f2e66335787710531772766b7) + +commit e773b304eefa3d2ca7c1fe0817c89082bf574a38 +Author: Marcus Watts +Date: Thu Apr 13 05:33:55 2017 -0400 + + rgw: swift: disable revocation thread if sleep == 0 || cache_size == 0 + + Keystone tokens can be revoked. This causes them to fail + validation. However, in ceph, we cache them. As long as + they're in the cache we trust them. To find revoked tokens + there's a call OSI-PKI/revoked but that's only useful for + pki tokens. Installations using fernet/uuid may not even + have the proper credentials to support the call, in which + case the call blows up in various ways filling up logs + with complaints. + + This code makes the revocation thread optional; by disabling it, + the complaints go away. A further fix is in the works + to use other more modern calls available in modern keystone + installations to properly deal with non-PKI/PKIZ tokens. + + To disable the revocation thread, use at least one of these: + rgw_keystone_token_cache_size = 0 + using this will cause tokens to be validated on every call. + You may instead want to set + rgw_keystone_revocation_interval = 0 + using just this will disable the revocation thread, + but leaves the cache in use. That avoids the extra + validation overhead, but means token revocation won't + work very well. + + Fixes: http://tracker.ceph.com/issues/9493 + Fixes: http://tracker.ceph.com/issues/19499 + + Signed-off-by: Marcus Watts + (cherry picked from commit 003291a8cbca455c0e8731f66759395a0bb1f555) + +commit 68a853a14d89261fcd0a132a1a7a7151721b84c8 +Author: lvshuhua +Date: Wed Dec 7 15:47:47 2016 +0800 + + rgw: fix versioned bucket data sync fail when upload is busy + + Fixes: http://tracker.ceph.com/issues/18208 + + Signed-off-by: lvshuhua + (cherry picked from commit ce7d00ac1642d84c1d9111156a544c37801c5adf) + +commit 9a7a73edf1f432df98984ab7ad60306aa6aca6e3 +Author: liuchang0812 +Date: Fri Feb 10 18:02:03 2017 +0800 + + rgw: don't return skew time in pre-signed url + + Fixes: http://tracker.ceph.com/issues/18828 + + Signed-off-by: liuchang0812 + (cherry picked from commit dd8b348f4aad0124e8a4457117bf3f5f76af7bdb) + +commit 08b8a736e2b49bba39cf8fe51fe3435a7d381e72 +Merge: f45de0f39d 405503472e +Author: Nathan Cutler +Date: Thu Jul 6 09:28:26 2017 +0200 + + Merge pull request #16132 from smithfarm/wip-20522-kraken + + kraken: FAILED assert(object_contexts.empty()) (live on master only from Jan-Feb 2017, all other instances are different) + + Reviewed-by: Josh Durgin + +commit f45de0f39db316219207d674198ecc578ed76f7e +Merge: 4ca8f1f4a9 ff19977fbc +Author: Nathan Cutler +Date: Thu Jul 6 09:27:37 2017 +0200 + + Merge pull request #15962 from asheplyakov/20443-bp-kraken + + kraken: osd: unlock sdata_op_ordering_lock with sdata_lock hold to avoid missing wakeup signal + + Reviewed-by: Josh Durgin + +commit 4ca8f1f4a9c5cdb15bd273f74df7ac6cda218f66 +Merge: d45c64d1b9 2aec591cfe +Author: Nathan Cutler +Date: Thu Jul 6 09:26:40 2017 +0200 + + Merge pull request #15066 from asheplyakov/19916-bp-kraken + + kraken: osd: osd/PrimaryLogPG: do not call on_shutdown() if (pg.deleting) + + Reviewed-by: Josh Durgin + +commit d45c64d1b94fb6a91c78e8333f924a2be08fcddb +Merge: 4890ba0df0 62bb2086af +Author: Nathan Cutler +Date: Thu Jul 6 09:24:26 2017 +0200 + + Merge pull request #14942 from shinobu-x/wip-18293-kraken + + kraken: osd: leaked MOSDMap + + Reviewed-by: Sage Weil + Reviewed-by: Josh Durgin + +commit 4890ba0df02403b8bc5348235d1aadb76ab8f4c1 +Merge: c45570b4a6 d5aea7a68b +Author: Nathan Cutler +Date: Thu Jul 6 09:20:56 2017 +0200 + + Merge pull request #14736 from smithfarm/wip-19326-kraken + + kraken: bluestore bdev: flush no-op optimization is racy + + Reviewed-by: Josh Durgin + +commit c45570b4a61243839e7d4e64c5e1f1b017bb3948 +Merge: 5a1116c0d5 e76725f4e9 +Author: Nathan Cutler +Date: Thu Jul 6 09:19:50 2017 +0200 + + Merge pull request #14732 from smithfarm/wip-19560-kraken + + kraken: objecter: full_try behavior not consistent with osd + + Reviewed-by: Josh Durgin + +commit 5a1116c0d5c1fa8810031104cd093ed1b1e8cb3a +Merge: 7133d4db9b 1bc9cfff42 +Author: Nathan Cutler +Date: Thu Jul 6 09:18:24 2017 +0200 + + Merge pull request #13542 from shinobu-x/wip-18929-kraken + + kraken: osd: bogus assert when checking acting set on recovery completion in rados/upgrade + + Reviewed-by: Josh Durgin + +commit 7133d4db9b31b0627c6278f2f72b690ea366551e +Merge: 6db580b6cf 56ca3b0190 +Author: Nathan Cutler +Date: Thu Jul 6 09:11:09 2017 +0200 + + Merge pull request #14939 from rzarzynski/wip-rgw-19754-kraken + + kraken: rgw: fix RadosGW hang during multi-chunk upload of AWSv4 + + Reviewed-by: Matt Benjamin + +commit 6db580b6cfdf3ef14403adbbcd27a2f16cbf15fc +Merge: be8b7610d1 59391c40db +Author: Nathan Cutler +Date: Thu Jul 6 08:54:16 2017 +0200 + + Merge pull request #14530 from smithfarm/wip-19574-kraken + + kraken: rgw: unsafe access in RGWListBucket_ObjStore_SWIFT::send_response() + + Reviewed-by: Yehuda Sadeh + +commit be8b7610d164bf2798bb4b9676db330ef5fb6c27 +Merge: e12eae92b0 1f86be6e19 +Author: Nathan Cutler +Date: Thu Jul 6 08:40:16 2017 +0200 + + Merge pull request #13868 from smithfarm/wip-19160-kraken + + kraken: rgw: multisite: RGWMetaSyncShardControlCR gives up on EIO + + Reviewed-by: Orit Wasserman + +commit 85cefa113b31c9dc6b8a7a88e3343de923278c7d +Author: Loic Dachary +Date: Sat Mar 18 10:04:20 2017 +0100 + + mon: osd crush set crushmap need sanity check + + The sanity check verifying the new crushmap does not remove crush rules + that are in use is not exclusive to ceph setcrushmap. + + Fixes: http://tracker.ceph.com/issues/19302 + + Signed-off-by: Loic Dachary + (cherry picked from commit ed760457bf154c10adf75c6df046eecab7eb8e4b) + +commit 9a26882289e1746fe8ca1443666ed0a583e07021 +Author: Sage Weil +Date: Tue Jun 6 15:13:50 2017 -0400 + + ceph_test_rados_api_misc: fix LibRadosMiscConnectFailure.ConnectFailure retry + + Fixes: http://tracker.ceph.com/issues/19901 + Signed-off-by: Sage Weil + (cherry picked from commit 087dff80cac707ee9bcb5bcfc98cb3ec047bd49f) + +commit 91569f63852f12d958175bf970967fa9d25b2cfc +Author: lu.shasha +Date: Thu Jan 5 11:50:42 2017 +0800 + + rgw: fix 'gc list --include-all' command infinite loop the first 1000 items + + When the items to gc over 1000, 'gc list --include-all' command will infinite loop the first 1000 items. + Add next_marker to move to the next 1000 items. + + Fixes: http://tracker.ceph.com/issues/19978 + + Signed-off-by: fang yuxiang + Signed-off-by: Shasha Lu + (cherry picked from commit fc29f52ebca63104a05515484088ff136dfb0b15) + +commit ea186807c3fb7ac79f8ef1a8ae874ced69aec6e1 +Author: Erwan Velu +Date: Fri Mar 31 14:54:33 2017 +0200 + + ceph-disk: Adding retry loop in get_partition_dev() + + There is very rare cases where get_partition_dev() is called before the actual partition is available in /sys/block/. + + It appear that waiting a very short is usually enough to get the partition beein populated. + + Analysis: + update_partition() is supposed to be enough to avoid any racing between events sent by parted/sgdisk/partprobe and + the actual creation on the /sys/block//* entrypoint. + On our CI that race occurs pretty often but trying to reproduce it locally never been possible. + + This patch is almost a workaround rather than a fix to the real problem. + It offer retrying after a very short to be make a chance the device to appear. + This approach have been succesful on the CI. + + Note his patch is not changing the timing when the device is perfectly created on time and just differ by a 1/5th up to 2 seconds when the bug occurs. + + A typical output from the build running on a CI with that code. + command_check_call: Running command: /usr/bin/udevadm settle --timeout=600 + get_dm_uuid: get_dm_uuid /dev/sda uuid path is /sys/dev/block/8:0/dm/uuid + get_partition_dev: Try 1/10 : partition 2 for /dev/sda does not in /sys/block/sda + get_partition_dev: Found partition 2 for /dev/sda after 1 tries + get_dm_uuid: get_dm_uuid /dev/sda uuid path is /sys/dev/block/8:0/dm/uuid + get_dm_uuid: get_dm_uuid /dev/sda2 uuid path is /sys/dev/block/8:2/dm/uuid + + fixes: #19428 + + Signed-off-by: Erwan Velu + (cherry picked from commit 93e7b95ed8b4c78daebf7866bb1f0826d7199075) + +commit f7f6375b54233f1085ba8d64df1053c038ff3991 +Author: Erwan Velu +Date: Wed Mar 22 10:11:44 2017 +0100 + + ceph-disk: Reporting /sys directory in get_partition_dev() + + When get_partition_dev() fails, it reports the following message : + ceph_disk.main.Error: Error: partition 2 for /dev/sdb does not appear to exist + The code search for a directory inside the /sys/block/get_dev_name(os.path.realpath(dev)). + + The issue here is the error message doesn't report that path when failing while it might be involved in. + + This patch is about reporting where the code was looking at when trying to estimate if the partition was available. + + Signed-off-by: Erwan Velu + (cherry picked from commit 413c9fcfbe8e6ab33d73b8428090ccacc33c5d15) + +commit 533ff8a540b0b30378a9562953f1da46291e9832 +Author: Kefu Chai +Date: Wed May 3 18:28:01 2017 +0800 + + qa/tasks/ceph_manager: always fix pgp_num when done with thrashosd task + + Fixes: http://tracker.ceph.com/issues/19771 + Signed-off-by: Kefu Chai + (cherry picked from commit da1161cbd8b50b8a980e8a3b48154a97f988426c) + +commit f04eb66d365c088e0e6985864d54bdc4fc3d3bfd +Author: Loic Dachary +Date: Tue May 9 12:32:51 2017 +0200 + + ceph-disk: separate ceph-osd --check-needs-* logs + + It is using the OSD id zero but have nothing to do with OSD zero and + this is confusing to the user. The log themselves do not need to be kept + around and are stored in the run directory so that they can be disposed + of after reboot. + + Fixes: http://tracker.ceph.com/issues/19888 + + Signed-off-by: Loic Dachary + (cherry picked from commit c7b3c46bd63b78475868e405bf20d9c142f0336a) + +commit a7af766aa89b9435c72cdb93e5d67a9e9331c635 +Author: Sage Weil +Date: Thu Dec 22 17:18:08 2016 -0500 + + msg/simple: clear_pipe when wait() is mopping up pipes + + When wait is mopping up connections it may hit one that + is in the process of accepting. It will unregister it + whilst the accept() thread is trying to set it up, + aborting the accept and getting it reaped. However, + the pipe mop-up does not clear_pipe() the way that + mark_down(), mark_down_all(), and fault() do, which + leads to this assert. + + Pipe is accepting... + + -161> 2016-12-22 17:31:45.460613 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=0 pgs=0 cs=0 l=1 c=0x3e2a6f40).accept: setting up session_security. + -160> 2016-12-22 17:31:45.460733 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=0 pgs=0 cs=0 l=1 c=0x3e2a6f40).accept new session + -159> 2016-12-22 17:31:45.460846 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=2 pgs=7 cs=1 l=1 c=0x3e2a6f40).accept success, connect_seq = 1, sending READY + -158> 2016-12-22 17:31:45.460959 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=2 pgs=7 cs=1 l=1 c=0x3e2a6f40).accept features 1152921504336314367 + + wait() is shutting down... + + -156> 2016-12-22 17:31:45.461882 9506ac0 20 -- 172.21.15.14:6804/20738 wait: stopping accepter thread + -155> 2016-12-22 17:31:45.462994 9506ac0 10 accepter.stop accept listening on: 15 + ... + -116> 2016-12-22 17:31:45.482137 9506ac0 10 -- 172.21.15.14:6804/20738 wait: closing pipes + -115> 2016-12-22 17:31:45.482850 9506ac0 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=2 pgs=7 cs=1 l=1 c=0x3e2a6f40).unregister_pipe + -114> 2016-12-22 17:31:45.483421 9506ac0 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=2 pgs=7 cs=1 l=1 c=0x3e2a6f40).stop + + ...which interrupts the accept()... + + -113> 2016-12-22 17:31:45.484164 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=4 pgs=7 cs=1 l=1 c=0x3e2a6f40).accept fault after register + + and makes accept() return failure, and reader() to exit + and reap... + + -110> 2016-12-22 17:31:45.486103 9506ac0 10 -- 172.21.15.14:6804/20738 wait: waiting for pipes 0x3e2a5c20 to close + -109> 2016-12-22 17:31:45.487146 37353700 10 -- 172.21.15.14:6804/20738 queue_reap 0x3e2a5c20 + -108> 2016-12-22 17:31:45.487658 9506ac0 10 -- 172.21.15.14:6804/20738 reaper + -107> 2016-12-22 17:31:45.487722 9506ac0 10 -- 172.21.15.14:6804/20738 reaper reaping pipe 0x3e2a5c20 172.21.15.35:0/146098963 + -106> 2016-12-22 17:31:45.487816 9506ac0 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=4 pgs=7 cs=1 l=1 c=0x3e2a6f40).discard_queue + -105> 2016-12-22 17:31:45.494742 37353700 10 -- 172.21.15.14:6804/20738 >> 172.21.15.35:0/146098963 pipe(0x3e2a5c20 sd=31 :6804 s=4 pgs=7 cs=1 l=1 c=0x3e2a6f40).reader done + ... + -92> 2016-12-22 17:31:45.527589 9506ac0 -1 /mnt/jenkins/workspace/ceph-dev-new-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos7/DIST/centos7/MACHINE_SIZE/huge/release/11.1.0-6151-ge1781dd/rpm/el7/BUILD/ceph-11.1.0-6151-ge1781dd/src/msg/simple/SimpleMessenger.cc: In function 'void SimpleMessenger::reaper()' thread 9506ac0 time 2016-12-22 17:31:45.488264 + /mnt/jenkins/workspace/ceph-dev-new-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos7/DIST/centos7/MACHINE_SIZE/huge/release/11.1.0-6151-ge1781dd/rpm/el7/BUILD/ceph-11.1.0-6151-ge1781dd/src/msg/simple/SimpleMessenger.cc: 235: FAILED assert(!cleared) + + Fixes: http://tracker.ceph.com/issues/15784 + Signed-off-by: Sage Weil + (cherry picked from commit 948f97b3bdd39269a38277238a61f24e5fec6196) + +commit 6d2f95973561c9f0911fce04dff2036f73a77442 +Author: Jason Dillaman +Date: Mon Nov 28 13:36:01 2016 -0500 + + test: added missing IoCtx copy/assignment methods in librados_test_stub + + Signed-off-by: Jason Dillaman + (cherry picked from commit c35d307c62961072b4c00f94e37486e3371c1a21) + +commit 405503472ea6b3a2965455c8c064dc0e4d713ad4 +Author: Samuel Just +Date: Tue Feb 14 12:47:37 2017 -0800 + + ReplicatedBackend: don't queue Context outside of ObjectStore with obc + + We only flush the ObjectStore callbacks, not everything else. Thus, + there isn't a guarrantee that the obc held by pull_complete_info will + be cleaned up before the Flush callback is triggered. Instead, just + defer clearing the pull state until the callback (it'll be cleaned up + during the interval change) and remove the ObjectContext from + pull_complete_info. + + Introduced: 68defc2b0561414711d4dd0a76bc5d0f46f8a3f8 + Fixes: http://tracker.ceph.com/issues/18927 + Signed-off-by: Samuel Just + (cherry picked from commit 51eee55c475a3d931844831e040ed3d66ee59af4) + +commit 5257d1a643fb1af36b80650ea2b014b4887dc10f +Author: Samuel Just +Date: Fri Feb 3 13:12:47 2017 -0800 + + osd/: don't leak context for Blessed*Context or RecoveryQueueAsync + + This has always been a bug, but until + 68defc2b0561414711d4dd0a76bc5d0f46f8a3f8, nothing deleted those contexts + without calling complete(). + + Fixes: http://tracker.ceph.com/issues/18809 + Bug shadowed until: 68defc2b0561414711d4dd0a76bc5d0f46f8a3f8 + Signed-off-by: Samuel Just + (cherry picked from commit 91b74235027c8a4872dcab6b37767b12c3267061) + +commit e12eae92b04d30d322740a6c7a33d86e448bf9c5 +Merge: 7bdc3ef238 73fe367bc4 +Author: Nathan Cutler +Date: Wed Jul 5 22:04:41 2017 +0200 + + Merge pull request #15792 from liewegas/wip-bluestore-leaks-kraken + + kraken: os/bluestore: deep decode onode value + + Reviewed-by: Josh Durgin + +commit 7bdc3ef238228bb156f8f97867a66138fcc93807 +Merge: 0a71e1899b 27e9644ceb +Author: Nathan Cutler +Date: Wed Jul 5 22:01:58 2017 +0200 + + Merge pull request #15729 from asheplyakov/20315-bp-kraken + + kraken: mon: fail to form large quorum; msg/async busy loop + + Reviewed-by: Josh Durgin + +commit 0a71e1899bd8ee84640059e18126461d3a1748a3 +Merge: d7598df528 d38a752999 +Author: Nathan Cutler +Date: Wed Jul 5 22:00:17 2017 +0200 + + Merge pull request #15084 from asheplyakov/19928-bp-kraken + + kraken: mon crash on shutdown, lease_ack_timeout event + + Reviewed-by: Josh Durgin + +commit d7598df5281e1648c5890a4b18b7b64d74b8dc95 +Merge: 0dbbd5001e 47a4544176 +Author: Nathan Cutler +Date: Wed Jul 5 21:59:03 2017 +0200 + + Merge pull request #14735 from smithfarm/wip-19685-kraken + + kraken: osd: Give requested scrubs a higher priority + + Reviewed-by: Josh Durgin + +commit 0dbbd5001ea84906d15bb27c99b73493d20eab75 +Merge: 0d177d5c99 7a275769b6 +Author: Nathan Cutler +Date: Wed Jul 5 21:57:53 2017 +0200 + + Merge pull request #14733 from smithfarm/wip-19561-kraken + + kraken: api_misc: [ FAILED ] LibRadosMiscConnectFailure.ConnectFailure + + Reviewed-by: Josh Durgin + +commit 0d177d5c992ca8cd99afa8e9be3f429a933d490a +Merge: 11ed483791 0227920438 +Author: Nathan Cutler +Date: Wed Jul 5 21:51:26 2017 +0200 + + Merge pull request #13883 from shinobu-x/wip-19119-kraken + + kraken: pre-jewel "osd rm" incrementals are misinterpreted + + Reviewed-by: Josh Durgin + +commit 11ed483791849905910c879152d1eea41d95604e +Merge: 74b0c9da46 fa2753245d +Author: Nathan Cutler +Date: Wed Jul 5 19:39:54 2017 +0200 + + Merge pull request #14646 from gregsfortytwo/wip-17916-kraken + + kraken: osd: pglog: with config, don't assert in the presence of stale diverg… + + Reviewed-by: Josh Durgin + +commit 74b0c9da461825ef53ddf79ec00d08168e33025c +Merge: 7a87735243 648c6adf52 +Author: Nathan Cutler +Date: Wed Jul 5 18:41:59 2017 +0200 + + Merge pull request #15237 from asheplyakov/20035-bp-kraken + + kraken: mon/PGMap: factor mon_osd_full_ratio into MAX AVAIL calc + + Reviewed-by: Josh Durgin + +commit 7a877352430e49f94dff614dc0a697a4697f6a77 +Merge: 4a7c26083f 5c7a07677a +Author: Nathan Cutler +Date: Wed Jul 5 18:19:05 2017 +0200 + + Merge pull request #14331 from shinobu-x/wip-19396-kraken + + kraken: Objecter::epoch_barrier isn't respected in _op_submit() + + Reviewed-by: Josh Durgin + +commit 4a7c26083feebca273044691c7f7ef0dbf8305eb +Merge: f978b2514c 071f111abb +Author: Nathan Cutler +Date: Wed Jul 5 17:54:30 2017 +0200 + + Merge pull request #16083 from smithfarm/wip-18677-kraken + + kraken: osd: metadata reports filestore when using bluestore + + Reviewed-by: Josh Durgin + +commit f978b2514cb17dabd341b5c801bd541a489071a7 +Merge: 56c65b120f 7054ff69d0 +Author: Nathan Cutler +Date: Wed Jul 5 17:51:36 2017 +0200 + + Merge pull request #16098 from smithfarm/wip-19621-kraken + + kraken: rbd-nbd: add signal handler + + Reviewed-by: Jason Dillaman + +commit 56c65b120f1ef7323109889c6a82287e5e4f5371 +Merge: e13f5467fa 27cbff1114 +Author: Nathan Cutler +Date: Wed Jul 5 17:50:21 2017 +0200 + + Merge pull request #15612 from smithfarm/wip-19611-kraken + + kraken: rbd: Issues with C API image metadata retrieval functions + + Reviewed-by: Jason Dillaman + Reviewed-by: Mykola Golub + +commit e13f5467fac1e296d2d56b8ed4dc89d5cdfa0f5d +Merge: 19deb31d39 b19d6eb311 +Author: Nathan Cutler +Date: Wed Jul 5 17:48:24 2017 +0200 + + Merge pull request #14833 from smithfarm/wip-19794-kraken + + kraken: tests: test_notify.py: assert(not image.is_exclusive_lock_owner()) on line 147 + + Reviewed-by: Jason Dillaman + +commit 19deb31d399715716b02c8fdf58ea2845b42d58c +Merge: cc5241e4aa c79d45ff52 +Author: Nathan Cutler +Date: Wed Jul 5 17:26:58 2017 +0200 + + Merge pull request #14543 from smithfarm/wip-19173-kraken + + kraken: rbd: rbd_clone_copy_on_read ineffective with exclusive-lock + + Reviewed-by: Jason Dillaman + +commit cc5241e4aab227b8b272774bb5d4ff1f37ed3446 +Merge: e705528331 9efeb6bc2d +Author: Nathan Cutler +Date: Wed Jul 5 09:37:01 2017 +0200 + + Merge pull request #14974 from dillaman/wip-19872-kraken + + kraken: rbd-mirror: failover and failback of unmodified image results in split-brain + + Reviewed-by: Mykola Golub + +commit e70552833137eed1f9ede6c3eb59d345a50ac9ce +Merge: 2b73b570e0 d51b755391 +Author: Nathan Cutler +Date: Wed Jul 5 09:36:14 2017 +0200 + + Merge pull request #14934 from dillaman/wip-19833-kraken + + kraken: cls_rbd: default initialize snapshot namespace for legacy clients + + Reviewed-by: Mykola Golub + +commit 2b73b570e060d2c77b6c86579cecc84221b166f9 +Merge: dbe8a8ba84 e0f90f03dd +Author: Nathan Cutler +Date: Wed Jul 5 09:30:07 2017 +0200 + + Merge pull request #14539 from smithfarm/wip-18771-kraken + + kraken: rbd: Improve compatibility between librbd + krbd for the data pool + + Reviewed-by: Jason Dillaman + +commit baa772372c52ca2f5b27bad59798734def8656f1 +Author: Yan, Zheng +Date: Fri May 12 10:38:51 2017 +0800 + + pybind: fix cephfs.OSError initialization + + Traceback (most recent call last): + File "", line 1, in + File "cephfs.pyx", line 672, in cephfs.LibCephFS.open (/home/zhyan/Ceph/ceph-2/build/src/pybind/cephfs/pyrex/cephfs.c:10160) + File "cephfs.pyx", line 155, in cephfs.OSError.__init__ (/home/zhyan/Ceph/ceph-2/build/src/pybind/cephfs/pyrex/cephfs.c:1889) + TypeError: __init__() takes exactly 3 positional arguments (2 given) + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit e6493f64ba4592b8dca54ece4464efa6c7f331a7) + +commit ac9aed9c2c46bd64384ae047f461b990cb3f6ffe +Author: Yan, Zheng +Date: Wed May 10 08:13:52 2017 +0800 + + pybind: fix open flags calculation + + (O_WRONLY | O_RDWR) is invaild open flags + + Fixes: http://tracker.ceph.com/issues/19890 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 2c25c99cb4572ffae97555a56b24a4c4097dcdec) + +commit bd9aec00ec284e2e828625b5e92165465aee38b6 +Author: Jason Dillaman +Date: Thu Apr 27 16:21:33 2017 -0400 + + test: remove hard-coded image name from RBD metadata test + + Fixes: http://tracker.ceph.com/issues/19798 + Signed-off-by: Jason Dillaman + (cherry picked from commit 8f72e745e157cc12d76ca6babe956c5698ee297f) + +commit 474d504dd67378588d2dd243b06b844737ab64d5 +Author: Mykola Golub +Date: Thu Mar 2 17:18:18 2017 +0100 + + librbd: relax "is parent mirrored" check when enabling mirroring for pool + + If the parent is in the same pool and has the journaling feature enabled + we can assume the mirroring will eventually be enabled for it. + + Fixes: http://tracker.ceph.com/issues/19130 + Signed-off-by: Mykola Golub + (cherry picked from commit fe31bca22f90ce02f461d6421a4f66539db888d3) + +commit 44c116dfd6f519538b6c1401e3c3bc283d31b78a +Author: Mykola Golub +Date: Mon Jan 9 10:40:46 2017 +0100 + + rbd-mirror: check image mirroring state when bootstrapping + + Fixes: http://tracker.ceph.com/issues/18447 + Signed-off-by: Mykola Golub + (cherry picked from commit 5fc5a8ac895524f05eed6e7db20b0dda3a8cb60f) + +commit d5fa6a65b52c3f2cf5363ebb55af7e96d8be90ab +Author: Mykola Golub +Date: Mon Jan 9 09:23:19 2017 +0100 + + rbd-mirror: async request to test if image is primary + + Signed-off-by: Mykola Golub + (cherry picked from commit 0a1cb35caacdf85029f31a0364dc07a5d7462f5f) + +commit 4035dc6fdaf9df06ffeb8b86813046a1b5e0cff2 +Author: Mykola Golub +Date: Mon Jan 9 15:02:02 2017 +0100 + + rbd-mirror: hold owner lock when testing if lock owner + + Signed-off-by: Mykola Golub + (cherry picked from commit 82aa89668d666f434cd19ff444223017b5512c6a) + +commit 76fedab57612ea0e15d18729e779ec43bf830704 +Author: xie xingguo +Date: Tue Dec 27 19:39:51 2016 +0800 + + os/bluestore: fix OnodeSizeTracking testing + + [ FAILED ] 1 test, listed below: + [ FAILED ] ObjectStore/StoreTest.OnodeSizeTracking/2, where GetParam() = "bluestore" + + 1 FAILED TEST + + The above test failure happens as the bluestore mount() process + will try to load all collections and put them into the coll_map, + which will be also tracked as mempool::bluestore_meta_other. + So total_bytes from mempool won't be equal to zero. + + Signed-off-by: xie xingguo + (cherry picked from commit 1d97862f716ce24bfe227b192ecc5e1eb3f76757) + +commit 19c7524ace7aeb4f1bc7986162191f4a88bcb4d2 +Author: Sage Weil +Date: Fri Jun 23 11:12:01 2017 -0400 + + qa/tasks/radosbench: increase timeout + + The current timeout isn't enough in some cases (powercycle thrashing leaves + osds down for a long time because rebooting is so slow). + + Signed-off-by: Sage Weil + (cherry picked from commit dfa95db57d2c73923918ecf7014c801a925ddfb7) + +commit fa88fc77b4df0c548cda8783334862e33867abac +Author: Jason Dillaman +Date: Wed Mar 15 14:49:13 2017 -0400 + + librbd: image create validates that pool supports overwrites + + Fixes: http://tracker.ceph.com/issues/19081 + Signed-off-by: Jason Dillaman + (cherry picked from commit a16beba7843539bef4e5035148253a7b594a5cfd) + + Conflicts: + src/librbd/image/CreateRequest.cc - kraken uses create_rados_ack_callback; + in master, this has been renamed ceph_rados_callback + +commit d5aea7a68b8b2603cb9fa57df3a3ae5a44ec450a +Author: Sage Weil +Date: Fri Mar 24 12:15:50 2017 -0400 + + os/bluestore/KernelDevice: fix uninit value + + Signed-off-by: Sage Weil + (cherry picked from commit 42db0c70bc7ef595f0925657c043ce081799b2b9) + + Conflicts: + src/os/bluestore/KernelDevice.h + - flush_lock mutex is still used in kraken, so keep it + +commit c08720553f6ae787fe3b0edbdd1497859cdfe0d4 +Author: Sage Weil +Date: Thu Mar 9 16:51:21 2017 -0500 + + os/bluestore/BlueFS: fix flush_bdev placement + + We need to flush any new writes on any fsync(). Notably, this includes + the rocksdb log. However, previously _fsync was only doing a bdev flush if + we also had a dirty bluefs journal and called into _sync_and_flush_journal. + If we didn't, we weren't doing a flush() at all, which could lead to + corrupted data. + + Fix this by moving the first flush_bdev *out* of _sync_and_flush_log. (The + second one is there to flush the bluefs journal; the first one was to + ensure prior writes are stable.) Instead, flush prior writes in all of the + callers prior to calling _sync_and_flush_log. This includes _fsync (and + fixes the bug by covering the non-journal-flush path) as well as several + other callers. + + Fixes: http://tracker.ceph.com/issues/19250 + Signed-off-by: Sage Weil + (cherry picked from commit 2924a96493d8570317e55854a25fc64911ecf151) + +commit 594332631e442f3da1b7e6aa49248a6e3c46a30f +Author: Sage Weil +Date: Thu Mar 9 16:51:05 2017 -0500 + + os/bluestore/KernelDevice: make flush() thread safe + + flush() may be called from multiple racing threads (notably, rocksdb can call fsync via + bluefs at any time), and we need to make sure that if one thread sees the io_since_flush + command and does an actual flush, that other racing threads also wait until that flush is + complete. This is accomplished with a simple mutex! + + Also, set the flag on IO *completion*, since flush is only a promise about + completed IOs, not submitted IOs. + + Document. + + Fixes: http://tracker.ceph.com/issues/19251 + Signed-off-by: Sage Weil + (cherry picked from commit 6b3c52643c8e5fa820c53d96608862b7649c3fd0) + +commit dbe8a8ba848d5567db935d7cc945fdd85d8e9d3f +Merge: ccde4da15c 5dcf60702c +Author: Nathan Cutler +Date: Tue Jul 4 13:32:46 2017 +0200 + + Merge pull request #14065 from asheplyakov/19212-bp-kraken + + kraken: rgw: "cluster [WRN] bad locator @X on object @X...." in cluster log + + Reviewed-by: Orit Wasserman + +commit b941ca7eac3090bf219b6ced4a9239e315f663de +Author: John Spray +Date: Wed Mar 15 19:36:08 2017 +0000 + + qa/cephfs: use getfattr/setfattr helpers + + Signed-off-by: John Spray + (cherry picked from commit dd43d3bc646aeab88486b0963fc83de0b18800c4) + + Conflicts: + qa/tasks/cephfs/test_data_scan.py - the master commit drops p = + self._mount.run_shell(...) assignment which isn't present in kraken + (trivial resolution) + +commit f8843445aa1b027c7a2ab5729b715d0da616bfb7 +Author: John Spray +Date: Wed Mar 15 19:26:30 2017 +0000 + + qa: add test for reading quotas from different clients + + Fixes: http://tracker.ceph.com/issues/17939 + Signed-off-by: John Spray + (cherry picked from commit 61617f8f10a6322603a9add77980865cd972ef97) + +commit b7f46973b03bc9e113ccd55ede0f766a1b1eb0d3 +Author: John Spray +Date: Wed Mar 15 17:51:44 2017 +0000 + + client: _getattr on quota_root before using in statfs + + ...so that after someone adjusts the quota settings + on an inode that another client is using as its mount root, + the change is visible immediately on the other client. + + Signed-off-by: John Spray + (cherry picked from commit 3d25941aadd223669448d0f5d3c0bd1fefa72308) + +commit 5a69e33057982d78157b75bce3fc458e03260d9e +Author: John Spray +Date: Wed Mar 15 15:32:47 2017 +0000 + + client: getattr before read on ceph.* xattrs + + Previously we were returning values for quota, layout + xattrs without any kind of update -- the user just got + whatever happened to be in our cache. + + Clearly this extra round trip has a cost, but reads of + these xattrs are fairly rare, happening on admin + intervention rather than in normal operation. + + Fixes: http://tracker.ceph.com/issues/17939 + Signed-off-by: John Spray + (cherry picked from commit 532dc4b68e538c189ef828f67cecd0d647a62250) + +commit 4241a6eef03e93918d18e4a4c2ac38d4a55b82b6 +Author: John Spray +Date: Mon Mar 27 12:56:31 2017 +0100 + + mds: validate prealloc_inos on sessions after load + + Mitigates http://tracker.ceph.com/issues/16842 + + Signed-off-by: John Spray + (cherry picked from commit c39aaf90ed1b23343eba2b341bb8ee6a50a4ea74) + +commit 41be67e80909962a004c66491815195e9a6fbf39 +Author: John Spray +Date: Mon Mar 27 12:33:59 2017 +0100 + + mds: operator<< for Session + + Use this to get a nice human readable name + when available (also including the session id in + parentheses) + + Signed-off-by: John Spray + (cherry picked from commit 0f89787d8312f132ebb621f16c44e950b17a395a) + +commit ccde4da15c9ea50a4663b0697d0cef827c26f9c7 +Merge: a1ed9bac52 52ee6a4c49 +Author: Nathan Cutler +Date: Tue Jul 4 13:18:48 2017 +0200 + + Merge pull request #16092 from smithfarm/wip-20150-kraken + + kraken: ceph-disk: fails if OSD udev rule triggers prior to mount of /var + + Reviewed-by: Loic Dachary + +commit 0b1dee0edcf3fe38289c10262655875d61a0dbbf +Author: John Spray +Date: Thu Mar 23 09:07:32 2017 -0400 + + mds: include advisory `path` field in damage + + This will just be whatever path we were looking + at at the point that damage was notified -- no + intention whatsoever of providing any up to date + path or resolution when there are multiple paths + to an inode. + + Fixes: http://tracker.ceph.com/issues/18509 + Signed-off-by: John Spray + (cherry picked from commit c0bff51ef409eb6e4b2fc248e06e5a7e43faf51e) + + Conflicts: + src/mds/CDir.cc - trivial resolution (kraken does not have + cb86740a5f4aa3eed43c7f09ac5e7e525a5c1d67) + +commit f458d60838628c4ed08448998956bc6ce7228f9b +Author: Henrik Korkuc +Date: Sun Feb 19 11:44:20 2017 +0200 + + client/Client.cc: add feature to reconnect client after MDS reset + + Client.cc marks session as stale instead of reconecting after received + reset from MDS. On MDS side session is closed so MDS is ignoring cap + renew. This adds option to reconnect stale client sessions instead of + just marking sessions stale. + + Fixes: http://tracker.ceph.com/issues/18757 + + Signed-off-by: Henrik Korkuc + (cherry picked from commit e0bbc704676ef4aed510daff075ef63c9e73b7b3) + +commit 7674f84ddf8f8f8f0a3fe8c3b336bacc0718eeed +Author: Yan, Zheng +Date: Wed Feb 22 17:33:05 2017 +0800 + + client: wait for lastest osdmap when handling set file/dir layout + + Fixes: http://tracker.ceph.com/issues/18914 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 76f5eb86cdd61dde4e6c7cfeb5cf34f0c0334f21) + +commit bee73d2429628e7d27cf9b1ca67eb5d5f049f285 +Author: Yang Honggang +Date: Thu Apr 13 20:09:07 2017 +0800 + + cephfs: fix write_buf's _len overflow problem + + After I have set about 400 64KB xattr kv pair to a file, + mds is crashed. Every time I try to start mds, it will crash again. + The root reason is write_buf._len overflowed when doing + Journaler::append_entry(). + + This patch try to fix this problem through the following changes: + + 1. limit file/dir's xattr size + 2. throttle journal entry append operations + + Fixes: http://tracker.ceph.com/issues/19033 + Signed-off-by: Yang Honggang joseph.yang@xtaotech.com + (cherry picked from commit eb915d0eeccbe523f8f70f6571880003ff459459) + +commit 32c7ebe3e6d19d37f198a8ae6bdc46d68fb3ed05 +Author: John Spray +Date: Wed Mar 8 12:13:46 2017 +0000 + + mds: shut down finisher before objecter + + Some of the finisher contexts would try to call into Objecter. + We mostly are protected from this by mds_lock+the stopping + flag, but at the Filer level there's no mds_lock, so in the + case of file size probing we have a problem. + + Fixes: http://tracker.ceph.com/issues/19204 + Signed-off-by: John Spray + (cherry picked from commit 177a97d5c55ee6a2d5dcd3cf0893546190b10f7a) + + Conflicts: + src/mds/MDSRank.cc - kraken has no 7189b53b410424d4a662486c1081181b2bd662ff + so we omit the purge_queue.shutdown() call + +commit b267a1a8be0ea4893abb77695f1d1b2a0dac2c90 +Author: John Spray +Date: Tue Mar 28 14:13:33 2017 -0400 + + mds: ignore ENOENT on writing backtrace + + We get ENOENT when a pool doesn't exist. This can + happen because we don't prevent people deleting + former cephfs data pools whose files may not have + had their metadata flushed yet. + + http://tracker.ceph.com/issues/19401 + Signed-off-by: John Spray + (cherry picked from commit 3fccc2372f2715d075b05e459140360cf6e7ca96) + +commit 93e81a87ac99080a8670b7485dc9c8c801477518 +Author: YunfeiGuan +Date: Mon Apr 10 05:48:47 2017 +0000 + + cephfs: fix mount point break off problem after mds switch occured + + The hot-standby become active as we expected but the mount piont broken strangely + when the active mds is down. The root reason is the new mds use last_cap_renews + decoded from ESesson::replay in find_idle_sessions and wrongly killed the session. + Maybe we should reset session->last_cap_renew to the current time when server send + OPEN to client in reconnect stage. + + Fixes: http://tracker.ceph.com/issues/19437 + Signed-off-by: Guan yunfei + (cherry picked from commit 4ef830c5d6f22bf0d4f82a8624c772ecbbda44a6) + +commit 78ccba49d3a1f53c3fd7ffe0d6b6bb45eb66c801 +Author: Sage Weil +Date: Sun Mar 5 21:59:45 2017 -0500 + + common: remove \n on clog messages + + Confirmed these aren't needed, and are inconsistently included. + Remove them where they do appear. + + Signed-off-by: Sage Weil + (cherry picked from commit 693132eb00b1803d5e97a79908521d5a6903e9f8) + + Conflicts: + src/mon/OSDMonitor.cc - trivial resolution + src/osd/PrimaryLogPG.cc - trivial resolution + +commit e72d6362c15668e2340212dcdeaa07fc94d12ba7 +Author: Yan, Zheng +Date: Wed Apr 5 21:29:10 2017 +0800 + + mds: make C_MDSInternalNoop::complete() delete 'this' + + Fixes: http://tracker.ceph.com/issues/19501 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 424e0c6744e7f63459ca0ff7deab751726aa30cd) + + Conflicts: + src/mds/MDSContext.h - omit "override" because kraken does not have + 1a91aeab987870b3ccbcf2f1e476fac8b534d449 + +commit a1ed9bac523d3115fe5120b2f74f450a739d89b1 +Merge: 4c8d3ed4dc 8d64dd4f29 +Author: Nathan Cutler +Date: Tue Jul 4 11:37:29 2017 +0200 + + Merge pull request #14604 from asheplyakov/19647-kraken + + kraken: ceph-disk: enable directory backed OSD at boot time + + Reviewed-by: Loic Dachary + +commit 7054ff69d0450ecd86aff5c9c78a0a93f536d179 +Author: Pan Liu +Date: Fri Mar 31 00:23:12 2017 +0800 + + rbd-nbd: remove debug message from do_unmap + + Global context is not initialized when do_unmap is called. + + Signed-off-by: Pan Liu + (cherry picked from commit cd748f9b260a3c388b45091ff0bfc041257acd0c) + +commit 36e2199f0bfd869054506476f64af7f603ee6541 +Author: Kefu Chai +Date: Wed Mar 29 19:07:34 2017 +0800 + + rbd-nbd: s/cpp_error/cpp_strerror/ to fix FTBFS + + the build failure was introduced by ff4dcf0 + + Signed-off-by: Kefu Chai + (cherry picked from commit c12ecd984df0f9ac0d7de81b9d689f6182a3646a) + +commit 4d310c24af51bb0539426a5a7ca6f2b1ca31a1d0 +Author: Pan Liu +Date: Tue Mar 28 16:48:21 2017 +0800 + + rbd-nbd: polish the output info before and after ioctl NBD_DISCONNECT. + + Signed-off-by: Pan Liu + (cherry picked from commit ff4dcf029028e8a3636ac71a6c5ac5380bf274e4) + +commit e6a01244e6ae2862b1c6e78be67b3c2be6899364 +Author: Pan Liu +Date: Tue Mar 28 16:33:25 2017 +0800 + + rbd-nbd: support signal handle for SIGHUP, SIGINT, and SIGTERM. + + Fixes: http://tracker.ceph.com/issues/19349 + Signed-off-by: Pan Liu + (cherry picked from commit 3ba01aa6ce052d1afa42132feffc2353d73caae6) + +commit 5dab0825d705d84926fd5f2f106fa945492bda34 +Author: Jason Dillaman +Date: Wed Apr 12 10:47:28 2017 -0400 + + test/librados_test_stub: fixed cls_cxx_map_get_keys/vals return value + + Fixes: http://tracker.ceph.com/issues/19597 + Signed-off-by: Jason Dillaman + (cherry picked from commit 9ffd464dac102f684d6dfa78e58d2cb45e165ed6) + +commit 8ed81b033a7a9120a24611c9e193d85e109ad2e5 +Author: Jason Dillaman +Date: Wed Mar 15 16:33:58 2017 -0400 + + librbd: clean up debug messages within image create state machine + + Signed-off-by: Jason Dillaman + (cherry picked from commit d4e27c48aa3f96f650d6cbfe103be5aa980e0f56) + +commit fbd296933bb64239f49909a123fcd654000f910f +Author: Jason Dillaman +Date: Wed Mar 15 14:12:35 2017 -0400 + + librbd: removed legacy state machine callbacks from CreateRequest + + Signed-off-by: Jason Dillaman + (cherry picked from commit 8d79bf2bcba1d09d8e5589c5a8ee6dca1d27f800) + + Conflicts: + src/librbd/image/CreateRequest.cc - kraken does not have 5f2689b62ae + +commit f1cf9465984801b17ce536a6a94b2789b482d1a7 +Author: Jason Dillaman +Date: Thu Mar 2 10:29:36 2017 -0500 + + librbd: avoid duplicating librados IoCtx objects if not needed + + This introduces the potential for shutdown race conditions within + the unit tests. + + Signed-off-by: Jason Dillaman + (cherry picked from commit cc5ac6aa66f4c97cbe1c7d6334b3f710610f6742) + +commit 4c8d3ed4dc7fc51d7116bb65915ed5cf8ac468bd +Merge: 8452c0c134 d186951730 +Author: Nathan Cutler +Date: Tue Jul 4 10:26:43 2017 +0200 + + Merge pull request #14616 from smithfarm/wip-18723-kraken + + kraken: osd: calc_clone_subsets misuses try_read_lock vs missing + + Reviewed-by: Kefu Chai + +commit b7503d3a80b14dd99f6e46fe63414815afcff814 +Author: Matt Benjamin +Date: Fri Apr 14 15:56:37 2017 -0400 + + rgw_file: fix readdir after dirent-change + + Also, fixes link count computation off-by-one, update of state.nlink + after computation, link computation reset at start, and a time print + in debug log. + + Fixes: http://tracker.ceph.com/issues/19634 + + Signed-off-by: Matt Benjamin + + link count + + Signed-off-by: Matt Benjamin + (cherry picked from commit e0f80266ecd424bf9466579b3edc03911a7c5719) + +commit ea3aec3334871c5952986fcf14aac61348f1cc00 +Author: Matt Benjamin +Date: Tue Apr 11 06:42:07 2017 -0400 + + rgw_file: don't expire directories being read + + If a readdir expire event turns out to be older than last_readdir, + just reschedule it (but actually, we should just discard it, as + another expire event must be in queue. + + Fixes: http://tracker.ceph.com/issues/19625 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 007b7451c26716c51207c161dc347e9a00da53f1) + +commit 247f897c31f15c48fa0521311b1afc557e5a10ae +Author: Matt Benjamin +Date: Tue Apr 11 05:56:13 2017 -0400 + + rgw_file: chunked readdir + + Adjust readdir callback path for new nfs-ganesha chunked readdir, + including changes to respect the result of callback to not + continue. + + Pending introduction of offset name hint, our caller will just be + completely enumerating, so it is possible to remove the offset map + and just keep a last offset. + + Fixes: http://tracker.ceph.com/issues/19624 + + Signed-off-by: Matt Benjamin + (cherry picked from commit e0191d74e3aef06bf300df045a53a3952a71f651) + +commit ac1dd8d323c5d90e20fd88e56031441f704ee95a +Author: Matt Benjamin +Date: Tue Feb 28 20:24:12 2017 -0500 + + rgw_file: RGWFileHandle dtor must also cond-unlink from FHCache + + Formerly masked in part by the reclaim() action, direct-delete now + substitutes for reclaim() iff its LRU lane is over its high-water + mark, and in particular, like reclaim() the destructor is certain + to see handles still interned on the FHcache when nfs-ganesha is + recycling objects from its own LRU. + + Fixes: http://tracker.ceph.com/issues/19112 + + Signed-off-by: Matt Benjamin + (cherry picked from commit d51a3b1224ba62bb53c6c2c7751fcf7853c35a4b) + +commit 78e251632dd3103c5476544ea7386203bd5ff7a2 +Author: Gui Hecheng +Date: Thu Mar 2 17:21:57 2017 +0800 + + rgw_file: posix style atime,ctime,mtime + + As an ganesha FSAL backend, rgw_file should properly maintain + the atime,ctime,mtime properly against operations such as: + (read,write) for file + (create,unlink,mkdir,rmdir,rename) for dir + (setattr) for file and dir + + Signed-off-by: Gui Hecheng + (cherry picked from commit ac25da2479b9be876cbdb820560ac46a6e2b17d7) + +commit 59a965a8e017da3dc6c79a25d55441b945cd50bc +Author: Gui Hecheng +Date: Wed Mar 8 16:23:11 2017 +0800 + + rgw_file: fix reversed return value of getattr + + When ::getattr returns -ESTALE, rgw_getattr returns ESTALE, + which is a not expected postive. + + Signed-off-by: Gui Hecheng + (cherry picked from commit 39203cf872b8f4af86eb0e4a0f96dffd9cc92b41) + +commit e5c78f8bf2733b803f4e8e051884c8130809e506 +Author: Gui Hecheng +Date: Wed Mar 15 15:01:05 2017 +0800 + + rgw_file: fix double unref on rgw_fh for rename + + Skip unref after unlink to fix the problem. + + Signed-off-by: Gui Hecheng + (cherry picked from commit bff228734c73b536d2482e2e2fa4ad38b206ebff) + +commit f97ab40539385494f9d4a66806c2bfc08d3654bb +Author: Matt Benjamin +Date: Wed Feb 22 14:57:59 2017 -0500 + + rgw_file: rgw_lookup: don't ref for "/" or ".." + + These refs won't be returned by nfs-ganesha, and are sufficiently + magical that other consumers should be persuaded to understand + their specialness. + + Fixes: http://tracker.ceph.com/issues/19060 + + Signed-off-by: Matt Benjamin + (cherry picked from commit dea8d1ee373399a21851690a9753388b659b8ede) + +commit 6e0b260154328b14c45ecbea00007e537ce220ac +Author: Matt Benjamin +Date: Thu Feb 23 16:02:07 2017 -0500 + + rgw_file: ensure valid_s3_object_name for directories, too + + The logic in RGWLibFS::mkdir() validated bucket names, but not + object names (though RGWLibFS::create() did so). + + The negative side effect of this was not creating illegal objects + (we won't), but in a) failing with -EIO and b) more importantly, + not removing up the proposed object from FHCache, which produced a + boost assert when recycled. + + Fixes: http://tracker.ceph.com/issues/19066 + + Signed-off-by: Matt Benjamin + (cherry picked from commit eb1cd3b30c0504385f05bf2d2dd5e2251b7efed7) + +commit 349de8a5b30691b0579708ce95f91ce8b929a393 +Author: Matt Benjamin +Date: Fri Feb 3 13:44:45 2017 -0500 + + rgw_file: fix RGWLibFS::setattr for directory objects + + Fixes: http://tracker.ceph.com/issues/18808 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 4ad5a9226852d6d564baf2e63278ed6c4c185ecb) + +commit 2b9a77edf203ef39049677a94e13db0fdf0fed8d +Author: Matt Benjamin +Date: Tue Apr 4 20:16:13 2017 -0400 + + rgw_file: introduce rgw_lookup type hints + + The new type hints optimize object type deduction, when the + rgw_lookup is called from an rgw_readdir callback. + + Fixes: http://tracker.ceph.com/issues/19623 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 2e66c7a7cc763c5c0d6f5db04855f60f2b2ceed3) + +commit 64cce346c0fcc1402d4dab548f6f7536430703e7 +Author: Matt Benjamin +Date: Thu Feb 23 10:21:38 2017 -0500 + + rgw_file: return of RGWFileHandle::FLAG_EXACT_MATCH + + Allow callers of rgw_lookup() on objects attested in an + rgw_readdir() callback the ability to bypass exact match in + RGWLibFS::stat_leaf() case 2, but restore exact match enforcement + for general lookups. + + This preserves required common_prefix namespace behavior, but + prevents clients from eerily permitting things like "cd sara0" via + partial name match on "sara01." + + Fixes: http://tracker.ceph.com/issues/19059 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 70ef7d45e0abf2661bd4e23161d4e70cf5178079) + +commit fa208008dad8cb165ee72a8cf96ead36d855ba30 +Author: Matt Benjamin +Date: Tue Feb 28 15:49:06 2017 -0500 + + rgw_file: use fh_hook::is_linked() to check residence + + Previously we assumed that !deleted handles were resident--there + is an observed case where a !deleted handle is !linked. Since + we currently use safe_link mode, an is_linked() check is + available, and exhaustive. + + Fixes: http://tracker.ceph.com/issues/19111 + + Signed-off-by: Matt Benjamin + (cherry picked from commit c0aa515f8d8c57ec5ee09e3b60df3cac60453c40) + +commit 29fe4cfeb71a1b0a74fb7a073c2348cf2d1d143d +Author: Matt Benjamin +Date: Sun Feb 12 18:20:43 2017 -0500 + + rgw_file: refcnt bugfixes + + This change includes 3 related changes: + + 1. add required lock flags for FHCache updates--this is a crash + bug under concurrent update/lookup + + 2. omit to inc/dec refcnt on root filehandles in 2 places--the + root handle current is not on the lru list, so it's not + valid to do so + + 3. based on observation of LRU behavior during creates/deletes, + update (cohort) LRU unref to move objects to LRU when their + refcount falls to SENTINEL_REFCNT--this cheaply primes the + current reclaim() mechanism, so very significanty improves + space use (e.g., after deletes) in the absence of scans + (which is common due to nfs-ganesha caching) + + Signed-off-by: Matt Benjamin + (cherry picked from commit beaeff059375b44188160dbde8a81dd4f4f8c6eb) + +commit 99941105a982f77513c8df576176f4a707daf26a +Author: Matt Benjamin +Date: Sat Feb 11 16:38:05 2017 -0500 + + rgw_file: add refcount dout traces at debuglevel 17 + + These are helpful for checking RGWFileHandle refcnt invariants. + + Signed-off-by: Matt Benjamin + (cherry picked from commit 462034e17f919fb783ee33e2c9fa8089f93fd97d) + +commit a446c724aa2404f4f4ff8efc2da3e12ca2bf6892 +Author: Matt Benjamin +Date: Fri Feb 10 17:14:16 2017 -0500 + + rgw_file: add pretty-print for RGWFileHandle + + Signed-off-by: Matt Benjamin + (cherry picked from commit ef330f385d3407af5f470b5093145f59cc4dcc79) + +commit 1553877b1673b21694a4a3b3ef9811800e67144e +Author: Matt Benjamin +Date: Fri Dec 30 23:30:16 2016 -0500 + + rgw_file: interned RGWFileHandle objects need parent refs + + RGW NFS fhcache/RGWFileHandle operators assume existence of the + full chain of parents from any object to the its fs_root--this is + a consequence of the weakly-connected namespace design goal, and + not a defect. + + This change ensures the invariant by taking a parent ref when + objects are interned (when a parent ref is guaranteed). Parent + refs are returned when objects are destroyed--essentially by the + invariant, such a ref must exist. + + The extra ref is omitted when parent->is_root(), as that node is + not in the LRU cache. + + Fixes: http://tracker.ceph.com/issues/18650 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 0e5299f3f43e633a5d8a9360893b4b11f6217d81) + +commit 4af9f6fef77597a826cfdf5d0b3a814ce4629bc3 +Author: Matt Benjamin +Date: Wed Feb 22 10:24:29 2017 -0500 + + rgw_file: avoid stranding invalid-name bucket handles in fhcache + + To avoid a string copy in the common mkdir path, handles for + proposed buckets currently are staged in the handle table, before + being rejected. They need to be destaged, not just marked deleted + (because deleted objects are now assumed not to be linked, as of + beaeff059375b44188160dbde8a81dd4f4f8c6eb). + + This triggered an unhandled Boost assert when deleting staged + handles, as current safe_link mode requires first removing from + the FHCache. + + Fixes: http://tracker.ceph.com/issues/19036 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 6cde812c92e5bba9f85fbf8486ebe69b55952370) + +commit e03a5cba8ff4a2ceebf85a2697e90d525185b2d2 +Author: Gui Hecheng +Date: Fri Mar 31 10:42:40 2017 +0800 + + rgw_file: fix missing unlock in unlink + + Fixes: http://tracker.ceph.com/issues/19435 + + Signed-off-by: Gui Hecheng + (cherry picked from commit cb6808a6366a70f54d0cc16437d16aa1b7819c84) + +commit 34553f919ccf0324138b990ff928b32dc0e4baf2 +Author: Matt Benjamin +Date: Wed Mar 15 16:35:16 2017 -0400 + + rgw_file: remove unused rgw_key variable + + Signed-off-by: Matt Benjamin + (cherry picked from commit 1100a1c26e76485569cfebcf863b18cf908f6161) + +commit b04d051fd765a88a270041c5238a65481180528c +Author: Matt Benjamin +Date: Wed Mar 15 16:40:35 2017 -0400 + + rgw_file: rgw_readdir: return dot-dirs only when *offset is 0 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 61482c2b85a07519f2256b1a3f2b6d8aa99d5f06) + +commit b350b61bd2c75bc176f854bb3a39a453a2faec97 +Author: Matt Benjamin +Date: Mon Mar 13 21:52:08 2017 -0400 + + rgw_file: implement reliable has-children check (unlink dir) + + Bug report and discussion provided by + Gui Hecheng in nfs-ganesha upstream + github. Briefly, while a reliable check is potentially costly, + it is necessary. + + Fixes: http://tracker.ceph.com/issues/19270 + + Signed-off-by: Matt Benjamin + (cherry picked from commit b05f1c6d61aa4501a971e87de6dcaf3e58c3d9b4) + +commit 7faa917cdb1c484018dd47559c5f25b6b33b5529 +Author: Matt Benjamin +Date: Mon Feb 20 15:05:18 2017 -0500 + + rgw_file: fix marker computation + + Fixes: http://tracker.ceph.com/issues/19018 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 4454765e7dd08535c50d24205858e18dba4b454c) + +commit 50955a5aef10f18f050735af03734189f519f585 +Author: Matt Benjamin +Date: Thu Jan 19 18:14:30 2017 -0500 + + rgw_file: add timed namespace invalidation + + With change, librgw/rgw_file consumers can provide an invalidation + callback, which is used by the library to invalidate directories + whose contents should be forgotten. + + The existing RGWLib GC mechanism is being used to drive this. New + configuration params have been added. The main configurable is + rgw_nfs_namespace_expire_secs, the expire timeout. + + Updated post Yehuda review. + + Fixes: http://tracker.ceph.com/issues/18651 + + Signed-off-by: Matt Benjamin + (cherry picked from commit deb2c1ea985fcb906e47b93fd3d0117794e2d0a1) + + Conflicts: + src/rgw/rgw_lib_frontend.h - in class RGWLibProcess : public RGWProcess + there was no public method stop() in kraken (now there is) + +commit c613ee7e5853c40c89215efdc231c9e5274aec58 +Author: Matt Benjamin +Date: Sun Feb 19 20:34:31 2017 -0500 + + rgw_file: rgw_readdir can't list multi-segment dirs + + This issue has one root cause in librgw, namely that the marker + argument to these requests was incorrectly formatted (though the + marker cache was working as intended). + + Secondarily, for nfs-ganesha users, there is a compounding issue + that the RGW fsal was required by "temporary" convention to + populate the entire dirent cache for a directory on a single + readdir() invocation--the cache_inode/mdcache implementations + invariantly pass (before future 2.5 changesets, currently in + progress) a null pointer for the start cookie offset, intended + to convey this. + + Fixes: http://tracker.ceph.com/issues/18991 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 2cd60ee9712291b906123aca1704288b18a9742b) + +commit 2e27aa9bb2484512620d885c0a19e35b1de7b652 +Author: Matt Benjamin +Date: Sun Feb 19 18:21:06 2017 -0500 + + rgw_file: allow setattr on placeholder directories + + When a POSIX path /foo/ is known only as an implicit path + segment from other objects (e.g., /foo/bar.txt), a case + that would usually arise from S3 upload of such an object, an + RGWFileHandle object representing "/foo/" will be constructed + as needed, with no backing in RGW. + + This is by design, but subsequently, if a setattr is performed on + such a handle, we must be ready to create the object inline with + storing the attributes. + + Fixes: http://tracker.ceph.com/issues/18989 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 55eec1c0a0e136736961423b7b6244d0f3693c1a) + +commit 70ebe961de881734b637c7d13e7dd63bc09066c6 +Author: Matt Benjamin +Date: Sun Feb 19 17:43:17 2017 -0500 + + rgw_file: invalid use of RGWFileHandle::FLAG_EXACT_MATCH + + The change which introduced this flag also caused it to be + given as the flags argument to RGWLibFS::stat_leaf() when called + from rgw_lookup(). + + This was incorrect: in particular, when a directory is known only + as a common prefix of other objects, the AWS namespace mapping + convention requires lookup("foo") to match a non-materialized + instance of "foo/" (case 2 in RGWLibFS::stat_leaf's stat loop). + + Fixes: http://tracker.ceph.com/issues/18992 + + Signed-off-by: Matt Benjamin + (cherry picked from commit e31e9eb980f958640150e8d7f17de1b9e5478b1e) + +commit 52ee6a4c49e5749463811b57f4af4a0824875b70 +Author: Loic Dachary +Date: Thu Jun 1 11:37:20 2017 +0200 + + ceph-disk: do not setup_statedir on trigger + + trigger may run when statedir is unavailable and does not use it. + + Fixes: http://tracker.ceph.com/issues/19941 + + Signed-off-by: Loic Dachary + (cherry picked from commit 16bfbdd3d9988523bba31aace516c303057daa58) + +commit 8452c0c134a1cae30ac9e80eb7e08c6e54b16239 +Merge: e8312132ff 75cdc3f3a1 +Author: Nathan Cutler +Date: Tue Jul 4 00:02:05 2017 +0200 + + Merge pull request #14852 from yehudasa/wip-rgw-support-ragweed-kraken + + kraken: rgw: add apis to support ragweed suite + + Reviewed-by: Nathan Cutler + +commit e8312132ff8caee9b0f83b641bfc0a1875bacf3f +Merge: 7540396a34 6e5ac14ab6 +Author: Nathan Cutler +Date: Mon Jul 3 22:28:08 2017 +0200 + + Merge pull request #13514 from rzarzynski/wip-rgw-controllable-204-kraken + + kraken: rgw: make sending Content-Length in 204 and 304 controllable + + Reviewed-by: Yehuda Sadeh + +commit 7540396a34147fbb34558356fde18f0a11798d8f +Merge: f31033cb5b 910b989970 +Author: Nathan Cutler +Date: Mon Jul 3 17:05:34 2017 +0200 + + Merge pull request #14403 from shinobu-x/wip-17331-kraken + + kraken: ceph-disk list reports mount error for OSD having mount options with SELinux context + + Reviewed-by: Loic Dachary + +commit 071f111abbd7d6c7a90fc58f52c84907cf4d9860 +Author: Wido den Hollander +Date: Mon Jan 23 21:06:05 2017 +0100 + + osd: Return correct osd_objectstore in OSD metadata + + Do not simply read the configuration value as it might have changed + during OSD startup by reading the type from disk. + + Fixes: http://tracker.ceph.com/issues/18638 + + Signed-off-by: Wido den Hollander + (cherry picked from commit 8fe6a0303b02ac1033f5bfced9f94350fe3e33de) + + Conflicts: + src/osd/OSD.cc + - g_conf->osd_objectstore was changed to cct->_conf->osd_objectstore by + 1d5e967a05ddbcceb10efe3b57e242b3b6b7eb8c which is not in kraken + +commit ffe5bbfc6e09a47009dd281a38b35a8a3528812e +Author: Yehuda Sadeh +Date: Thu Jan 26 16:26:42 2017 -0800 + + rgw: fix use of marker in List::list_objects() + + Fixes: http://tracker.ceph.com/issues/18331 + + List marker is an index key, so treat it as such. This + fixes infinite loop in orphans find command. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a5d1fa0587184f43c69d8e03114b58d43f320781) + +commit 56ca3b01906ad7ee25b4bc2db0b6df51d2b162cb +Author: Radoslaw Zarzynski +Date: Tue Apr 25 12:22:54 2017 +0200 + + rgw: fix RadosGW hang during multi-chunk upload of AWSv4. + + Fixes: http://tracker.ceph.com/issues/19754 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 72c1e2e351d984d0425a20f2c772951cbc36f13e) + +commit cac26471897b6126a9b95e02f1a93a3a5386dae1 +Author: liuchang0812 +Date: Mon Mar 27 13:08:12 2017 +0800 + + rgw/lifecycle: do not send lifecycle rules when GetLifeCycle failed + + Now, RGW will send two HTTP responses when GetLifeCycle failed. The first one is + Error Respnse like 404, and the second is lifecycle rules. It will breaks s3 sdk + and s3 utilities. + + Fixes: http://tracker.ceph.com/issues/19363 + Signed-off-by: liuchang0812 + (cherry picked from commit c3c0c828da5a64ca896475c1b0c369fde1bbd76a) + +commit e5719234b48a90bbe59a693c96da3634884a0578 +Author: tone-zhang +Date: Thu Apr 6 17:56:05 2017 +0800 + + rgw: fix response header of Swift API + + Response header of Swift API returned by radosgw does not contain + "x-openstack-request-id", but Swift returns it. Enhance the + compatibility of radosgw. + + Fixes: http://tracker.ceph.com/issues/19443 + + Signed-off-by: tone-zhang + (cherry picked from commit e96db213079ab5e026156ab4b38418d1d4c23d27) + +commit 59391c40db969f2a9e97505cfcd2997d02ea86a3 +Author: Yehuda Sadeh +Date: Wed Mar 8 14:52:34 2017 -0800 + + rgw: fix crash when listing objects via swift + + Fixes: http://tracker.ceph.com/issues/19249 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a9ec5e8ce184e19c009863db4d3519f9d8af91bd) + + Conflicts: + src/rgw/rgw_rest_swift.cc ("key" element of RGWObjEnt struct + is not a reference; fix) + +commit e0f90f03ddf2824b448f6affc34ed40d4cead5d2 +Author: Jason Dillaman +Date: Thu Jan 26 14:02:11 2017 -0500 + + librbd: introduce new constants for tracking max block name prefix + + Fixes: http://tracker.ceph.com/issues/18653 + Signed-off-by: Jason Dillaman + (cherry picked from commit 2c08629c99d90aa7676b59263c055c9f1f577039) + +commit 3173da6e3bc7083ed2bdeea3a25bb3fa790bbc86 +Author: Pan Liu +Date: Thu Feb 16 22:17:52 2017 +0800 + + rbd-nbd: no need create asok file for unmap and list-mapped commands. + + Fixes: http://tracker.ceph.com/issues/17951 + Signed-off-by: Pan Liu + (cherry picked from commit 72352653d585ef89043a4ece371b5c0cb3f6f32a) + +commit 61c5957b30f807f5eab4c072deb00f19433f0a46 +Author: Mykola Golub +Date: Thu Feb 2 11:11:35 2017 +0100 + + rbd-nbd: check /sys/block/nbdX/size to ensure kernel mapped correctly + + Fixes: http://tracker.ceph.com/issues/18335 + Signed-off-by: Mykola Golub + (cherry picked from commit 596e5ea8a5df72002672eef0a6d20572ca6f60f0) + +commit c79d45ff52a636c136e0c5f8aec7911c04601b6f +Author: Venky Shankar +Date: Mon Feb 20 12:04:10 2017 +0530 + + librbd: acquire exclusive-lock during copy on read + + Fixes: http://tracker.ceph.com/issues/18888 + Signed-off-by: Venky Shankar + (cherry picked from commit 7dba5311b12011a4a6e8564e68150e54c5af5ddd) + + Conflicts: + src/librbd/AioImageRequestWQ.h: + - in master this file has morphed into src/librbd/io/ImageRequestWQ.h + - kraken has AioImageRequest instead of ImageRequest + src/librbd/image/RefreshRequest.cc: + - rename image context element to "aio_work_queue" (from "io_work_queue") + because kraken doesn't have de95d862f57b56738e04d77f2351622f83f17f4a + src/test/librbd/image/test_mock_RefreshRequest.cc: + - rename image context element to "aio_work_queue" (from "io_work_queue") + because kraken doesn't have de95d862f57b56738e04d77f2351622f83f17f4a + +commit d186951730d947881fea0e638a6e112718820ae0 +Author: Samuel Just +Date: Wed Jan 18 10:24:13 2017 -0800 + + PrimaryLogPG::try_lock_for_read: give up if missing + + The only users calc_*_subsets might try to read_lock an object which is + missing on the primary. Returning false in those cases is perfectly + reasonable and avoids the problem. + + Fixes: http://tracker.ceph.com/issues/18583 + Signed-off-by: Samuel Just + (cherry picked from commit 3833440adea6f8bcb0093603c3a9d16360ed57ec) + +commit 30ff11c84fd6d53c6439aaed8f7742b98a5b6218 +Author: Samuel Just +Date: Wed Nov 23 15:41:13 2016 -0800 + + ReplicatedBackend: take read locks for clone sources during recovery + + Otherwise, we run the risk of a clone source which hasn't actually + come into existence yet being used if we grab a clone which *just* + got added the the ssc, but has not yet actually had time to be + created (can't rely on message ordering here since recovery messages + don't necessarily order with client IO!). + + Fixes: http://tracker.ceph.com/issues/17831 + Signed-off-by: Samuel Just + (cherry picked from commit 68defc2b0561414711d4dd0a76bc5d0f46f8a3f8) + +commit e76725f4e9fb4a6cd7c76480d0313a8e0264eb73 +Author: Sage Weil +Date: Thu Mar 30 13:50:41 2017 -0400 + + osd/PrimaryLogPG: do not expect FULL_TRY ops to get resent + + The objecter will not resend FULL_TRY requests that were sent prior to + becoming full, so we should not discard them. + + Fixes: http://tracker.ceph.com/issues/19430 + Signed-off-by: Sage Weil + (cherry picked from commit 3f7acdbc9a942fd18937dbcf07fbc7b752c50ba3) + +commit 7a275769b6a281eaec1a659975ec50bfe847e679 +Author: Sage Weil +Date: Fri Mar 31 10:06:42 2017 -0400 + + ceph_test_librados_api_misc: fix stupid LibRadosMiscConnectFailure.ConnectFailure test + + Sometimes the cond doesn't time out and it wakes up instead. Just repeat + the test many times to ensure that at least once it times out (usually + it doesn't; it's pretty infrequent that it doesn't). + + Fixes: http://tracker.ceph.com/issues/15368 + Signed-off-by: Sage Weil + (cherry picked from commit 8bc197400d94ee2716d3f2fa454247379a676cf9) + +commit 4d1272e5c654c32a844a791b08a97ea8c28c5e5d +Author: Kefu Chai +Date: Tue Apr 18 14:07:04 2017 +0800 + + debian: package ceph.logroate properly + + see also "man dh_installlogrotate" + + Fixes: http://tracker.ceph.com/issues/19390 + Signed-off-by: Kefu Chai + (cherry picked from commit 17ca501fe8927d541d50a502da53a4d7628d2b4a) + +commit 47a45441762e610eef548273c719cf70643bfeac +Author: David Zafman +Date: Mon Apr 17 14:58:02 2017 -0700 + + osd: Give requested scrub work a higher priority + + Once started we now queue scrub work at higher priority than + scheduled scrubs. + + Fixes: http://tracker.ceph.com/issues/15789 + + Signed-off-by: David Zafman + (cherry picked from commit ebab8b1f4f67fbdec1e147c580329c1e2b5cf7cd) + + Conflicts: + src/osd/OSD.h - in kraken, the PGScrub() call is enclosed within + op_wq.queue(make_pair(...)) instead of enqueue_back() + +commit f31033cb5bc7764b44871c15717aed5a34921881 +Merge: b7a2e67460 795538210c +Author: Nathan Cutler +Date: Mon Jul 3 11:39:42 2017 +0200 + + Merge pull request #16069 from smithfarm/wip-20345-kraken + + kraken: make check fails with Error EIO: load dlopen(build/lib/libec_FAKE.so): build/lib/libec_FAKE.so: cannot open shared object file: No such file or directory + + Reviewed-by: Kefu Chai + +commit 795538210ce76adc7521fac2caf5de27856aee39 +Author: Kyr Shatskyy +Date: Wed Feb 8 16:02:52 2017 +0100 + + ceph.spec.in, debian/control: Add bc to build dependencies + + The bc is missing for ceph-helpers.sh + + Fixes: http://tracker.ceph.com/issues/18876 + Signed-off-by: Kyr Shatskyy + (cherry picked from commit 3ff4be6d6896346b7b9ec7f158fcde8866faeb38) + +commit 977770d828252c25004cb6344c43d85abd8ee6f5 +Author: Kefu Chai +Date: Wed Apr 12 17:31:52 2017 +0800 + + qa/workunits/ceph-helpers: do not error out if is_clean + + it would be a race otherwise, because we cannot be sure that the cluster + pgs are not all clean or not when run_osd() returns, but we can be sure + that they are expected to active+clean after a while. that's what + wait_for_clean() does. + + Signed-off-by: Kefu Chai + (cherry picked from commit 6cb4503a40ae4ebee5690fda024cae8d1a506bce) + +commit b1d3c1a322dd611b3608732e7ef31cf15e671845 +Author: Kefu Chai +Date: Wed Apr 12 12:33:53 2017 +0800 + + qa/workunits/ceph-helpers: display rejected string + + Signed-off-by: Kefu Chai + (cherry picked from commit 0196e154ed2e164cf55b0d7ed9f9cdd1f4f50100) + +commit 75cdc3f3a16d3799ae417862b9b5ee41cfcaee3e +Author: Yehuda Sadeh +Date: Mon Jan 9 13:04:43 2017 -0800 + + rgw: new rest api to retrieve object layout + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 2768583dc486109e49d209243675b99fdd39e92c) + +commit df30ac30112a0c15798c868dc1fb6bd58bcc05a2 +Author: Yehuda Sadeh +Date: Thu Jan 5 13:47:24 2017 -0800 + + rgw: rest api to read zone config params + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a220a2efbfd675e6abf14ae33c21005bcbf6dadf) + +commit 47f751f48ba972f2c93ecad919c66ee03b4aec70 +Author: Yehuda Sadeh +Date: Thu May 4 10:59:07 2017 -0700 + + civetweb: move to post 1.8 version + + Fixes: http://tracker.ceph.com/issues/19704 + + Version that went into kraken was pre 1.8, and had a few issues. + + Signed-off-by: Yehuda Sadeh + +commit ff19977fbc4cf4a787af80b6c0457df932004fd3 +Author: Alexey Sheplyakov +Date: Tue Jun 27 16:07:01 2017 +0400 + + kraken: osd: unlock sdata_op_ordering_lock with sdata_lock hold to avoid missing wakeup signal + + Based on commit bc683385819146f3f6f096ceec97e1226a3cd237. The OSD code has + been refactored a lot since Kraken, hence cherry-picking that patch introduces + a lot of unrelated changes, and is much more difficult than reusing the idea. + + Fixes: http://tracker.ceph.com/issues/20443 + + Signed-off-by: Alexey Sheplyakov + +commit 9efeb6bc2df559f8d91c480c396b4dd97b981d34 +Author: Jason Dillaman +Date: Thu May 4 17:56:22 2017 -0400 + + librbd: add no-op event when promoting an image + + The rbd-mirror process needs an event in the journal + to properly detect the transition between primary and + non-primary state between peers. + + Fixes: http://tracker.ceph.com/issues/19858 + Signed-off-by: Jason Dillaman + (cherry picked from commit 4031555dda7597d24e9eb04b9ff29173909586f7) + + Conflicts: + src/librbd/journal/DemoteRequest.cc: logic exists in Journal.cc + +commit 1d71475ff561c7f7d4936774d0ff821786b15fe6 +Author: Jason Dillaman +Date: Thu May 4 17:57:34 2017 -0400 + + rbd-mirror: prevent infinite loop when computing replay status + + If the image had a non-primary predecessor epoch whose tag tid + duplicates an epoch within its own journal, an infinite loop + would result. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3f179bf86216540d8e25aad469c604f96f6aecd8) + +commit b7a2e674601133f481449d3f8cdd3512ccbad51c +Merge: 2f5c65bfc2 9fd233c2d4 +Author: Zack Cerza +Date: Mon Jun 26 14:11:56 2017 -0600 + + Merge pull request #15869 from smithfarm/wip-swift-task-move-kraken + + tests: move swift.py task from teuthology to ceph, phase one (kraken) + +commit 9fd233c2d406a31bfc35993539d60e0b41a53cc0 +Author: Nathan Cutler +Date: Sun Jun 25 12:42:36 2017 +0200 + + tests: swift.py: tweak imports + + The ".." form only works within the teuthology repo. With swift.py now in the + Ceph repo, we have to be explicit. + + Error message was: "ValueError: Attempted relative import beyond toplevel + package + + Signed-off-by: Nathan Cutler + +commit 5d8ffee4d07d21f12a748af2a86820b1307f2e7c +Merge: 2f5c65bfc2 7b58ac97e9 +Author: Nathan Cutler +Date: Fri Jun 23 08:34:53 2017 +0200 + + Merge branch 'master' of /home/smithfarm/src/ceph/upstream/teuthology into wip-swift-task-move-kraken + +commit 7b58ac97e9dd195f4170e9e0ea00bae76d1f3ccd +Author: Nathan Cutler +Date: Fri Jun 23 08:27:42 2017 +0200 + + tests: move swift.py task to qa/tasks + + In preparation for moving this task from ceph/teuthology.git into ceph/ceph.git + + The move is necessary because jewel-specific changes are needed, yet teuthology + does not maintain a separate branch for jewel. Also, swift.py is a + Ceph-specific task so it makes more sense to have it in Ceph. + + Signed-off-by: Nathan Cutler + +commit 73fe367bc4bf27730479bdc46931dd7c3c710c39 +Author: Sage Weil +Date: Mon May 29 21:55:33 2017 -0400 + + os/bluestore: deep decode onode value + + In particular, we want the attrs (map) to be a deep + decode so that we do not pin this buffer, and so that any changed attr + will free the previous memory. + + Signed-off-by: Sage Weil + (cherry picked from commit f53f56350b893bfdd47fe730a4339ca5793791a0) + +commit 2f5c65bfc229cb43ac5c193fed7c9f51bd20cf79 +Merge: 4b1e8bcf4c f96262fc9c +Author: Nathan Cutler +Date: Tue Jun 20 22:59:27 2017 +0200 + + Merge pull request #13181 from smithfarm/wip-18548-kraken + + kraken: rgw: multisite: segfault after changing value of rgw_data_log_num_shards + + Reviewed-by: Orit Wasserman + +commit 4b1e8bcf4c86168ec66808a9a88a6fa556e97445 +Merge: 7706a386e2 291ffe1801 +Author: Nathan Cutler +Date: Tue Jun 20 22:56:59 2017 +0200 + + Merge pull request #13838 from smithfarm/wip-19049-kraken + + kraken: rgw: multisite: some yields in RGWMetaSyncShardCR::full_sync() resume in incremental_sync() + + Reviewed-by: Orit Wasserman + Reviewed-by: Casey Bodley + +commit 7706a386e255eec46fafa58ea1435293581218cc +Merge: 2f4a775d5f d1ec59544b +Author: Nathan Cutler +Date: Tue Jun 20 22:52:13 2017 +0200 + + Merge pull request #13224 from smithfarm/wip-18780-kraken + + kraken: rgw: Swift API: spurious newline after http body causes weird errors + + Reviewed-by: Orit Wasserman + +commit d38a7529995cd13b1a3d13a8e00d22ce0172aa5c +Author: Kefu Chai +Date: Fri May 5 12:02:05 2017 +0800 + + mon: check is_shutdown() in timer callbacks + + introduce a helper class: C_MonContext, and initialize all timer events + using it, to ensure that they do check is_shutdown() before doing their + work. + + Fixes: http://tracker.ceph.com/issues/19825 + Signed-off-by: Kefu Chai + (cherry picked from commit 561cbded0c7e28231b1c7ce18663b8d7d40aad6d) + +commit e7361176f4ad1d4b43a393e6e34c50233a73e829 +Author: Kefu Chai +Date: Thu May 4 22:49:04 2017 +0800 + + mon/Elector: call cancel_timer() in shutdown() + + instead of doing it manually. + + Signed-off-by: Kefu Chai + (cherry picked from commit 12139ae529a49b6caedea89f910d034ddca094b6) + +commit bf347e92a2d67032f4365a125f3bb9975930e912 +Author: Alexey Sheplyakov +Date: Wed May 17 17:50:10 2017 +0400 + + kraken: mon: add override annotation to callback classes + + The only purpose of this patch is to avoid merge conflicts while + cherry-picking commit 561cbded0c7e28231b1c7ce18663b8d7d40aad6d. + Alternatively one could cherry-pick 1effdfe19bf9fd6d546620b96eaf452e889b15dc, + but that one brings a lot of unrelated changes. + + Signed-off-by: Alexey Sheplyakov + +commit 3c4a5ea385c7d2f2dfe88328e2c5f7778928d92d +Author: Jan Fajerski +Date: Thu Apr 20 18:38:43 2017 +0200 + + fs: normalize file open flags internally used by cephfs + + The file open flags (O_foo) are platform specific. Normalize these flags + before they are send to the MDS. For processing of client messages the + MDS should only compare to these normalized flags. + Otherwise this can lead to bogus flags getting transmitted on ppc64. + + Signed-off-by: Jan Fajerski + (cherry picked from commit 88d2da5e93198e69435e288ce00d216d5fe27f80) + + Conflicts: + src/client/Client.cc - trivial resolution, add + ceph_flags_sys2wire when flags are logged + +commit b19d6eb3110cdf121c086a754176005a0e62797f +Author: Mykola Golub +Date: Mon Apr 24 16:23:21 2017 +0200 + + test/librbd/test_notify.py: don't disable feature in slave + + On jewel it will have stolen the exclusive lock. Instead, ensure that + object map and fast diff are already disabled on the clone before the + start of the test. + + Fixes: http://tracker.ceph.com/issues/19716 + Signed-off-by: Mykola Golub + (cherry picked from commit e009e1bdd4b3997462feb9a050bd2eb201e028ba) + +commit 2f4a775d5ffd170903c4412e4274ab2a188922ef +Merge: 358081d27a 4776067797 +Author: Nathan Cutler +Date: Tue Jun 20 08:46:28 2017 +0200 + + Merge pull request #13174 from smithfarm/wip-18711-kraken + + kraken: rgw: slave zonegroup cannot enable the bucket versioning + + Reviewed-by: Orit Wasserman + +commit f8db63f24dcb0d3aa93eba84e80a3450fb4bd666 +Author: Casey Bodley +Date: Wed Mar 8 16:31:34 2017 -0500 + + rgw: data sync skips slo data when syncing the manifest object + + Fixes: http://tracker.ceph.com/issues/19027 + + Signed-off-by: Casey Bodley + (cherry picked from commit 8b69847d7b3e92c70090d1dddf7cea5c44fb6b20) + + Conflicts: + src/rgw/rgw_rest_conn.cc (kraken is missing + 50c522ea89a756123bf74ab615138cf8478b2cee) + src/rgw/rgw_rest_s3.h (omitted override because kraken is missing + 3b247475a2c35526c129535021adfa621ecb5327) + +commit e3d4d5791867009c8c4b4bc867b65a23116653ae +Author: Casey Bodley +Date: Mon Mar 13 11:33:02 2017 -0400 + + rgw: RGWGetObj applies skip_manifest flag to SLO + + Signed-off-by: Casey Bodley + (cherry picked from commit 987377ae34382e107e1d54f0bfc1121fcedb4513) + +commit 6c1ba33a7bdffb7fdaf288596acf628ea8ed471c +Author: Casey Bodley +Date: Tue Feb 21 10:27:13 2017 -0500 + + rgw: allow system users to read SLO parts + + multisite data sync relies on fetching the object as the system user + + Fixes: http://tracker.ceph.com/issues/19027 + + Signed-off-by: Casey Bodley + (cherry picked from commit d50d18c500fd5dd89e7cada1162cf453b36df370) + +commit 6860fce4243f0a02bf424a477bf554da608cf90c +Author: Orit Wasserman +Date: Sun Jan 22 15:05:30 2017 +0200 + + rgw: add check for update return value + + Signed-off-by: Orit Wasserman + (cherry picked from commit 125955e0625461065dc4755b900e51c3598cadb4) + +commit b9c7c6503eff88bccea3bb19b4edeba89cb73718 +Author: Orit Wasserman +Date: Sun Jan 22 14:42:14 2017 +0200 + + rgw: we need to reinit the zonegroup after assignment to avoid invalid cct and store + + Fixes: http://tracker.ceph.com/issues/18631 + Signed-off-by: Orit Wasserman + (cherry picked from commit ac9a7565ddf801121f22476cf3f66668f311833e) + +commit db6fb3c005e05f0c6f503a367919e31943044e6b +Author: Orit Wasserman +Date: Sun Jan 22 14:40:16 2017 +0200 + + rgw: fix init_zg_from_period when default zone is not set as default + + Signed-off-by: Orit Wasserman + (cherry picked from commit 5393077e07bed45b9fc007591d365f1229d3e815) + +commit 5f4c38fa6b2162cb97162089a8a22095a7cde99d +Author: Yehuda Sadeh +Date: Fri Jan 20 17:05:24 2017 -0800 + + rgw: don't update bucket index multiple times in overwrite + + Instead of this for overwrites: + prepare (index), + write (head) [-EEXIST] + cancel (index) + read (head) + prepare (index) + write (head) + complete (index) + + We now do: + prepare (index), + write (head) [-EEXIST] + read (head) + write (head) + complete (index) + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 7f4818f9611ea8f7b3fac7df8c5c314964f657a2) + +commit 96c8161a786783b84a164afef162dd24c46abdc4 +Author: Yehuda Sadeh +Date: Fri Jan 20 16:17:49 2017 -0800 + + rgw: assume obj write is a first write + + if fails and object already exists then retry. This improves first obj + write performance on the expense of overwrites. + + Fixes: http://tracker.ceph.com/issues/18622 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 6f27f6089238d2a20e7a0f13066eddfc31192dc8) + +commit f2e39fec64df7592bc3b6191f122cdfb5d407d6a +Author: Yehuda Sadeh +Date: Fri Jan 20 14:40:58 2017 -0800 + + rgw: configurable write obj window size + + Fixes: http://tracker.ceph.com/issues/18623 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 66a82b4266acedfdd71c64394d68d9e50ed11b20) + +commit 8c67dd10c63009e5bc67c20493de732f7bf4abf7 +Author: Yehuda Sadeh +Date: Fri Jan 20 12:03:54 2017 -0800 + + rgw: change default chunk size to 4MB + + Fixes: http://tracker.ceph.com/issues/18621 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 54ef04bc957a3fb034dce903d62a42d77950dd72) + +commit f96262fc9c3805aa5fa04348f520dba8be1e4ae8 +Author: Casey Bodley +Date: Wed Jan 11 09:32:59 2017 -0500 + + rgw: fix off-by-one in RGWDataChangesLog::get_info + + Fixes: http://tracker.ceph.com/issues/18488 + + Signed-off-by: Casey Bodley + (cherry picked from commit a0974fdcf62e60cf31bc15588e7b718da6f6ade3) + +commit 935cc11595f4a0b56313c8c98aae0c7684bfff05 +Author: Radoslaw Zarzynski +Date: Fri Feb 3 14:41:50 2017 +0100 + + rgw: improve handling of illformed Swift's container ACLs. + + Fixes: http://tracker.ceph.com/issues/18796 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit f780fc6ec40395ad0941d4e0309d464fe33836b1) + +commit 500eac722d3e59ca8408d1bf9a23cc7368164c58 +Author: Jing Wenjun +Date: Wed Jan 11 05:28:43 2017 +0800 + + rgw: the swift container acl should support field .ref + + On the openstack-swift. The container acl supports .ref, which is ignored on ceph swift. + + Fixes: http://tracker.ceph.com/issues/18484 + Signed-off-by: Jing Wenjun + (cherry picked from commit b06f9cd9f0900db7b0d0fbcaea69cdd0d4b10132) + +commit d1ec59544b3894f8ce7a9d00b5e8fb937fb20b7a +Author: Marcus Watts +Date: Wed Jan 11 00:06:15 2017 -0500 + + radosgw/swift: clean up flush / newline behavior. + + The current code emits a newline after swift errors, but fails + to account for it when it calculates 'content-length'. This results in + some clients (go github.com/ncw/swift) producing complaints about the + unsolicited newline such as this, + Unsolicited response received on idle HTTP channel starting with "\n"; err= + + This logic eliminates the newline on flush. This makes the content length + calculation correct and eliminates the stray newline. + + There was already existing separator logic in the rgw plain formatter + that can emit a newline at the correct point. It had been checking + "len" to decide if previous data had been emitted, but that's reset to 0 + by flush(). So, this logic adds a new per-instance variable to separately + track state that it emitted a previous item (and should emit a newline). + + Fixes: http://tracker.ceph.com/issues/18473 + Signed-off-by: Marcus Watts + Signed-off-by: Matt Benjamin + (cherry picked from commit 5f229d6a33eae4906f22cdb90941835e47ee9f02) + +commit 1cb98684565427a28b286dcaaa6cce48626ba79b +Author: Radoslaw Zarzynski +Date: Wed Feb 1 19:05:50 2017 +0100 + + rgw: be aware abount tenants on cls_user_bucket -> rgw_bucket conversion. + + Fixes: http://tracker.ceph.com/issues/18364 + Fixes: http://tracker.ceph.com/issues/16355 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 871e1f51afe9d6c8b88debc07460b4316121f999) + +commit 87811ff161d3c6273050a6be5d7eb7582ecca23c +Author: Orit Wasserman +Date: Sun Jan 1 12:56:44 2017 +0200 + + radosgw-admin: check for name mistmatch in realm set + + Signed-off-by: Orit Wasserman + (cherry picked from commit 4facc5f4f3e842d371115a9a04d86257280014f0) + +commit ff888f8f9a4b81347b78ae6681a868cc9a7910e9 +Author: Orit Wasserman +Date: Sun Jan 1 12:40:37 2017 +0200 + + radosgw-admin: relam set can use input redirection + + Signed-off-by: Orit Wasserman + (cherry picked from commit b8b3ae3be3f8e4c05cb23062d25c701b15900475) + +commit 68d2d4bb91d6c508c0e1c154aff3b5de3dc347eb +Author: Orit Wasserman +Date: Sun Jan 1 12:36:04 2017 +0200 + + radosgw-admin: realm set should create a new realm + + Fixes: http://tracker.ceph.com/issues/18333 + Signed-off-by: Orit Wasserman + (cherry picked from commit e23339c9ef34f6b9df90b1ab64b550af9b541d9e) + +commit 291ffe18018029f1418afb2dc038c605a1e34157 +Author: Casey Bodley +Date: Tue Nov 29 11:29:41 2016 -0500 + + rgw: fix for broken yields in RGWMetaSyncShardCR + + Fixes: http://tracker.ceph.com/issues/18076 + + Signed-off-by: Casey Bodley + (cherry picked from commit e62d48a9bf2e309eab1a863f167af5267ebcc371) + +commit 4776067797b46b4d38d987caa5da4e6954d392aa +Author: Orit Wasserman +Date: Mon Dec 12 14:00:05 2016 +0100 + + rgw: complete versioning enablement after sending it to meta master + + Fixes: http://tracker.ceph.com/issues/18003 + Signed-off-by: Orit Wasserman + (cherry picked from commit 2d8aafb9dbe64bd9dd2b7d5ed50c6e9550cbe1ab) + +commit 27e9644ceb469fb2f54cea468d873ad13c1fe6c4 +Author: Haomai Wang +Date: Tue Jun 13 10:19:55 2017 +0800 + + msg/async: go to open new session when existing already closed + + Fixes: http://tracker.ceph.com/issues/20230 + Signed-off-by: Haomai Wang + (cherry picked from commit 99f580a3959240f99061a9ad48ec591b39a9fd46) + +commit 67ee45bbed3975f338b798caf81cd89f80ceb785 +Author: Haomai Wang +Date: Tue Jun 13 10:16:47 2017 +0800 + + msg/async: fix accept_conn not remove entry in conns when lazy delete + + Signed-off-by: Haomai Wang + (cherry picked from commit bf98babb3289a7714543ff3cbd3872d80f0dc196) + +commit 27cbff111458e77baae617c7a222610c8ff0abee +Author: Mykola Golub +Date: Tue Apr 11 22:31:43 2017 +0200 + + librbd: fix rbd_metadata_list and rbd_metadata_get + + - properly check for val_len in rbd_metadata_list + - don't expect output buffers are zero pre-filled + + Fixes: http://tracker.ceph.com/issues/19588 + Signed-off-by: Mykola Golub + (cherry picked from commit 75afc74ea681402e22b6dec8b83276d145fc786b) + +commit 30e3ae27e0b99ae9b7f3234dbb93260ebda91466 +Author: Boris Ranto +Date: Fri May 26 09:52:25 2017 +0200 + + rpm: Move ceph-disk to ceph-base + + The SELinux package now requires the ceph-disk binary but that one was + part of the ceph-osd package. The ceph-disk python library is already + packaged in ceph-base so moving ceph-disk to ceph-base seems like a + reasonable next step. + + Signed-off-by: Boris Ranto + (cherry picked from commit 6991764f3bff7b8f6be699603927aff882377878) + + Conflicts: + ceph.spec.in: ceph-disk-udev is present in kraken + +commit fa100ed57c3002b357d56398c3589f33cc651fcf +Author: Boris Ranto +Date: Thu May 25 14:36:13 2017 +0200 + + ceph-disk: Fix the file ownership, skip missing + + This commit fixes the file ownership for the /usr/bin/ and /etc/ceph + files and skips missing files as some of the files that we do specify + now can be missing from the system (not installed, e.f. radosgw). + + Fixes: http://tracker.ceph.com/issues/20077 + + Signed-off-by: Boris Ranto + (cherry picked from commit 077038b4393a28ccbd38ca4a90105dbd4c1ffcd5) + +commit 4e0cfecd593b267811e6bf92e81ba98dbede5317 +Author: Boris Ranto +Date: Fri Apr 28 12:29:46 2017 +0200 + + selinux: Do parallel relabel on package install + + We can take advantage of ceph-disk fix subcommand when doing a package + install. We will keep using the differential fixfiles command otherwise. + + We also need to add relabel for /usr/bin/ daemons so that we could use + this. + + Fixes: http://tracker.ceph.com/issues/20077 + + Signed-off-by: Boris Ranto + (cherry picked from commit 1cecddf031991f1c64ea203f173189624f11940e) + +commit 358081d27a9b2c39e9daed10244819df5291da48 +Merge: ae0eab53f0 bf26c56555 +Author: David Zafman +Date: Fri Jun 2 09:54:45 2017 -0700 + + Merge pull request #15421 from dzafman/wip-20125 + + Reviewed-by: Josh Durgin + +commit bf26c5655505369753142646ac357df2b8897ab7 +Author: David Zafman +Date: Wed May 31 15:39:19 2017 -0700 + + osd: Object level shard errors are tracked and used if no auth available + + Shards with object mismatch are tracked to mark them inconsistent + Fix test because storing omap_digest in object_info not behaving as before + + Fixes: http://tracker.ceph.com/issues/20089 + + Signed-off-by: David Zafman + (cherry picked from commit 1cacbea763c7aabfeaaf4bd5e878301044184117) + +commit 727653623f6cc616bdeeab2f0ce98f41a649ceee +Author: Casey Bodley +Date: Fri May 5 14:56:40 2017 -0400 + + cls/rgw: list_plain_entries() stops before bi_log entries + + list_plain_entries() was using encode_obj_versioned_data_key() to set + its end_key, which gives a prefix of BI_BUCKET_OBJ_INSTANCE_INDEX[=2] + + that range between start_key and end_key would not only span the + BI_BUCKET_OBJS_INDEX[=0] prefixes, but BI_BUCKET_LOG_INDEX[=1] prefixes + as well. this can result in list_plain_entries() trying and failing to + decode a rgw_bi_log_entry as a rgw_bucket_dir_entry + + Fixes: http://tracker.ceph.com/issues/19876 + + Signed-off-by: Casey Bodley + (cherry picked from commit b29a1633a57abf443d5790c13d680d2917f86037) + +commit 648c6adf52a7847a5b46d1523da45a29504a68da +Author: Sage Weil +Date: Fri Feb 3 10:08:33 2017 -0500 + + mon/PGMap: factor mon_osd_full_ratio into MAX AVAIL calc + + If we only fill OSDs to 95%, we should factor that into + the MAX AVAIL calculation for the pool. + + Fixes: http://tracker.ceph.com/issues/18522 + Signed-off-by: Sage Weil + (cherry picked from commit f223ac92917f4bc18e5b9b3ad61afa155e4d088a) + +commit 2aec591cfe1ba69631860b4886d34de80f752bd7 +Author: Kefu Chai +Date: Thu May 11 13:13:39 2017 +0800 + + osd/PrimaryLogPG: do not call on_shutdown() if (pg.deleting) + + when a callback is called, it could be facing a PG already shut down by + OSD. but if that callback wants to shut that PG down. it should check + the PG's status first. + + Fixes: http://tracker.ceph.com/issues/19902 + Signed-off-by: Kefu Chai + (cherry picked from commit f3c44a0dfc859f6f625a92e727e0e521ed4a9207) + +commit ae0eab53f0bb05c954fc98e019e2d5a054dbba45 +Merge: 9df2d772ff 28e1fd0f5d +Author: Boris Ranto +Date: Thu May 11 08:06:47 2017 +0200 + + Merge pull request #14345 from ceph/wip-ceph-disk-fix-kraken + + ceph-disk: Add fix subcommand kraken back-port + + Reviewed-by: Loic Dachary + Reviewed-by: Nathan Cutler + +commit 28e1fd0f5d1442d4b56194082014853db551def4 +Author: Boris Ranto +Date: Wed Mar 8 09:38:39 2017 +0100 + + ceph-disk: Add --system option for fix command + + This adds the ability to restore the labels of the underlying system + data in addition to ceph data. + + Signed-off-by: Boris Ranto + (cherry picked from commit 8d81af42fd507c7b92c8279eb114b0a733ac1da6) + +commit dfa721f48df5eac565d27388adc17c40991502c6 +Author: Boris Ranto +Date: Thu Feb 16 11:34:27 2017 +0100 + + ceph-disk: Add more fix targets + + It turns out I forgot several more directories that needs to be fixed by + this script. We need to fix /var/log/ceph, /var/run/ceph and /etc/ceph + as well. + + Signed-off-by: Boris Ranto + (cherry picked from commit ae139307d6b2bfba47e21d29d6dbd3c8dc01b5b5) + +commit 2db2fc81835ea8d0b35f563dd09691b030c920e9 +Author: Boris Ranto +Date: Thu Feb 9 19:17:12 2017 +0100 + + ceph-disk: Add unit test for fix command + + This will simulate the command* functions to not actually run anything + thus excercising the python code directly. It also checks that the + proper (sub-strings) are in the output. + + Signed-off-by: Boris Ranto + (cherry picked from commit 1ec53dee9a690134936bdc3a09c9a02fecf13a9d) + +commit 82764ca8e986c8efc31488f2b30d2a2706f9826c +Author: Boris Ranto +Date: Tue Jan 31 13:19:33 2017 +0100 + + ceph-disk: Add fix subcommand + + This subcommand will fix the SELinux labels and/or file permissions on + ceph data (/var/lib/ceph). + + The command is also optimized to run the commands in parallel (per + sub-dir in /var/lib/ceph) and do restorecon and chown at the same time + to take advantage of the caching mechanisms. + + Signed-off-by: Boris Ranto + (cherry picked from commit 6d5d30f6ed7538271579cc2ef4e2e364f01a4a6f) + +commit 9df2d772ff272386bff6b1657f3f1528fcaf4a8a +Merge: 6b1782959e 04f8186f37 +Author: Sage Weil +Date: Mon May 8 11:33:59 2017 -0500 + + Merge pull request #14983 from liewegas/wip-denc-dump-kraken + + ceph-object-corpus: kraken objects (kraken) + +commit 04f8186f37d5add0e68ff47a025f0296377e96d1 +Author: Sage Weil +Date: Mon Feb 27 16:10:34 2017 -0500 + + test/encoding/readable.sh: join children at finish + + Signed-off-by: Sage Weil + (cherry picked from commit c8a349eb4603be295a6f0e1683105cb93bfcd066) + +commit ba249885d1a37e703f37a08958af2f85eb227bd6 +Author: Sage Weil +Date: Mon Feb 27 16:10:24 2017 -0500 + + test/encoding/readable: fix passing of results to parent + + Signed-off-by: Sage Weil + (cherry picked from commit 1325ba672d5b5c8a12722a395ad029c98d1ff236) + +commit d97154e61bb615faf566a42a878b2e7a303d99ae +Author: Sage Weil +Date: Fri May 5 16:48:25 2017 -0400 + + messages/MCommand: fix type on decode + + Wow, this has been broken since v0.38, but apparently + the message never made it into the object corpus so + we never noticed! + + In reality the bug is harmless: decode_message() will + set_header which clobbers whatever version the default + ctor fills in, so this only affects ceph-dencoder's + test. + + Signed-off-by: Sage Weil + (cherry picked from commit 3018b907c1d0375b5ae20802811591c0a46b61be) + +commit b05fa6cd2ff07349d6cc76be0732e627f0290308 +Author: Sage Weil +Date: Fri May 5 16:32:48 2017 -0400 + + ceph-object-corpus: kraken objects + + Signed-off-by: Sage Weil + +commit 4ff0cb953e190806f7b9e6791d300bd22ad281d9 +Author: Sage Weil +Date: Fri May 5 16:31:02 2017 -0400 + + test/encoding/generate-corpus-objects: fix typo + + Signed-off-by: Sage Weil + (cherry picked from commit b89dff472c86c435fcee767ec9d992b308c4d816) + +commit 34e04de108004eccab82d6f791fbffc9ec97ab77 +Author: Sage Weil +Date: Fri May 5 09:19:23 2017 -0400 + + test/encoding/generate-corpus-objects.sh: simplify object corpus population + + Script that generates corpus objects. + + Signed-off-by: Sage Weil + (cherry picked from commit b38b663a71fdc37a2d5c3341836b6716d576cecc) + +commit 260352405e82009132755105d78a885ae327a418 +Author: Sage Weil +Date: Fri May 5 15:19:05 2017 -0400 + + qa/workunits/rgw/run-s3tests.sh: run s3-tests + + This works out of the box with a vstart environment and + + RGW=1 ../src/vstart.sh -n -l + PATH=bin:$PATH ../qa/workunits/rgw/run-s3tests.sh + + Signed-off-by: Sage Weil + (cherry picked from commit 40fe1d181cf8d31b80db6f8f99394bd66d2affd5) + +commit 2b107f91cefbdc6ab173890c3ccf3693768bc76c +Author: Sage Weil +Date: Thu May 4 18:33:21 2017 -0400 + + include/denc: support ENCODE_DUMP + + Signed-off-by: Sage Weil + (cherry picked from commit 97987b4ace737b86a4dc2dce94ce9d330fbe903c) + +commit 62bb2086af2f0d63c081a8a0b9d1de8d1c1179a7 +Author: Sage Weil +Date: Fri Apr 14 13:21:38 2017 -0400 + + osd: fix occasional MOSDMap leak + + _committed_osd_maps() may return early (without putting + the ref) on shutdown. + + Fixes: http://tracker.ceph.com/issues/18293 + Signed-off-by: Sage Weil + (cherry picked from commit a74632f964e10a57fb8065aec90dc7b69bddba5b) + +commit d51b7553919233d2f18d5fa79a0ff3c09e71ba8a +Author: Jason Dillaman +Date: Mon May 1 21:06:19 2017 -0400 + + cls_rbd: default initialize snapshot namespace for legacy clients + + Creating a snapshot on >=Kraken OSDs using <=Jewel clients can result + in an improperly initialized snapshot namespace. As a result, attempting + to remove the snapshot using a >=Kraken client will result in an -EINVAL + error. + + Fixes: http://tracker.ceph.com/issues/19413 + Signed-off-by: Jason Dillaman + (cherry picked from commit 03b0b03071f3e04754896664c69f73759ddb907a) + + Conflicts: + src/cls/rbd/cls_rbd.h: trivial resolution + +commit 6b1782959ee29de6eff9a2d2c81a108485347bbd +Author: Sage Weil +Date: Fri Apr 28 18:03:59 2017 -0400 + + mgr/DaemonServer: do not crash on bad authorizer + + Signed-off-by: Sage Weil + +commit 33c211bf9868156e41d7196cbac5dc6bff418248 +Author: Greg Farnum +Date: Mon Apr 17 14:32:38 2017 -0700 + + PendingReleaseNotes: discuss snap trim improvements + + Signed-off-by: Greg Farnum + +commit 911a894d64616b2cb5bfe92e3366e8033fb0f59e +Author: Greg Farnum +Date: Fri Apr 7 15:45:12 2017 -0700 + + PrimaryLogPG: reimplement osd_snap_trim_sleep within the state machine + + Rather than blocking the main op queue, just pause for that amount of + time between state machine cycles. + + Also, add osd_snap_trim_sleep to a few of the thrasher yamls. + + Signed-off-by: Samuel Just + (cherry picked from commit 2ed7759cfeb03e71f0fbd98fe7c2db2bb741861c) + + Conflicts: + src/osd/PrimaryLogPG.cc + + Signed-off-by: Greg Farnum + +commit 02a2ef41ae54dac7d903bc5753e6702582d55dd4 +Author: Samuel Just +Date: Thu Jan 26 15:41:21 2017 -0800 + + rados: check that pool is done trimming before removing it + + Signed-off-by: Samuel Just + (cherry picked from commit 4aebf59d906fa3e03d21bdac182f89fe3cd4c802) + +commit 95306559db139ad3cda3ee2eac36195582ff9329 +Author: Samuel Just +Date: Thu Jan 26 15:05:14 2017 -0800 + + osd/: add PG_STATE_SNAPTRIM[_WAIT] to expose snap trim state to user + + Signed-off-by: Samuel Just + (cherry picked from commit c2eac34c86517e410eb4842d8b8085da7d8d7973) + +commit 995ef4a6b01635ef09532487f7a4ea5fc90e721d +Author: Greg Farnum +Date: Fri Apr 7 15:41:18 2017 -0700 + + osd/PrimaryLogPG: limit the number of concurrently trimming pgs + + This patch introduces an AsyncReserver for snap trimming to limit the + number of pgs on any single OSD which can be trimming, as with backfill. + Unlike backfill, we don't take remote reservations on the assumption + that the set of pgs with trimming work to do is already well + distributed, so it doesn't seem worth the implementation overhead to get + reservations from the peers as well. + + Signed-off-by: Samuel Just + (cherry picked from commit 21cc515adfb225ba70f1d80b1b76f0345c214c22) + + Conflicts: + src/osd/PrimaryLogPG.cc + src/osd/PrimaryLogPG.h + + Signed-off-by: Greg Farnum + +commit 49f99c3b4d9051bccb34117075348e3ea58804db +Merge: 0d6953ec50 e9a10eaccd +Author: Nathan Cutler +Date: Wed Apr 26 19:53:49 2017 +0200 + + Merge pull request #14506 from smithfarm/wip-19119-kraken + + kraken: doc: PendingReleaseNotes: warning about 'osd rm ...' and #13733 + + Reviewed-by: Sage Weil + +commit 0d6953ec501f0ec6c9a5a72b532e99554dfe5d09 +Merge: 557fee8d0d 8d0c2297f1 +Author: Nathan Cutler +Date: Wed Apr 26 19:28:58 2017 +0200 + + Merge pull request #14692 from smithfarm/wip-fix-hammer-jewel-x + + qa/suites/upgrade: add tiering test to hammer-jewel-x + + Reviewed-by: Kefu Chai + +commit 557fee8d0dad8847728820b1d345e2d9ed9ab433 +Merge: e85b09f415 543e4b9060 +Author: Nathan Cutler +Date: Mon Apr 24 22:22:14 2017 +0200 + + Merge pull request #14425 from smithfarm/wip-19564-kraken + + kraken: build/ops: ceph-base missing dependency for psmisc in Ubuntu Xenial + + Reviewed-by: Ken Dreyer + +commit e85b09f4158296dbc559d3b2e0816364ca1c448c +Merge: d2c17adc14 8c2f590338 +Author: Nathan Cutler +Date: Sat Apr 22 10:55:16 2017 +0200 + + Merge pull request #13494 from shinobu-x/wip-18516-kraken + + kraken: build/ops: systemd: Start OSDs after MONs + + Reviewed-by: Nathan Cutler + +commit d2c17adc140d2358512c4c00e079299ae7f31f74 +Merge: 9aa180b7f1 02afe9855a +Author: Nathan Cutler +Date: Fri Apr 21 17:36:42 2017 +0200 + + Merge pull request #14588 from asheplyakov/19618-kraken + + kraken: mon/MonClient: make get_mon_log_message() atomic + + Reviewed-by: Kefu Chai + +commit 9aa180b7f13674a3de28115347534540ecf6ae38 +Merge: 8e2e3d8292 914d8a6109 +Author: Nathan Cutler +Date: Fri Apr 21 17:12:29 2017 +0200 + + Merge pull request #13543 from shinobu-x/wip-18954-kraken + + kraken: ceph-disk prepare get wrong group name in bluestore + + Reviewed-by: Loic Dachary + +commit 8e2e3d8292f93812933c049f9489871f249c9dfa +Merge: e68d3e14b8 d8946abf07 +Author: Nathan Cutler +Date: Fri Apr 21 08:53:25 2017 +0200 + + Merge pull request #12746 from SUSE/wip-18387-kraken + + kraken: tests: use ceph-kraken branch for s3tests + + Reviewed-by: Orit Wasserman + +commit 6b428b77f287b3a2b9b7061e3da3279381f7d3aa +Author: Vasu Kulkarni +Date: Tue Apr 11 13:51:47 2017 -0700 + + use sudo to check check health + + Signed-off-by: Vasu Kulkarni + (cherry picked from commit 7af157ad4ce7f7e2b8de97ee10eeaf64b9099bc0) + +commit 80c47c87e5c060d45ea704ac31709bb061d79db6 +Author: Vasu Kulkarni +Date: Wed Mar 29 09:27:20 2017 -0700 + + Add reboot case for systemd test + + test systemd units restart after reboot + + Signed-off-by: Vasu Kulkarni + (cherry picked from commit 7b587304a54d9b21041ffdfbc85fad8d87859c49) + +commit a6c2d7feb3248a0bbe0399323bb2fe11e23d15e1 +Author: Vasu Kulkarni +Date: Wed Mar 29 09:56:11 2017 -0700 + + Fix distro's, point to latest version + + Signed-off-by: Vasu Kulkarni + (cherry picked from commit 1947648669971c1bd1ca189870ed9b25bbd48d3a) + +commit 8d0c2297f1dbe95c236357861026263677aea0c5 +Author: Kefu Chai +Date: Mon Mar 6 15:50:59 2017 +0800 + + qa/suites/upgrade: add tiering test to hammer-jewel-x + + Related: http://tracker.ceph.com/issues/19185 + Signed-off-by: Kefu Chai + (cherry picked from commit e8c04a027b5d108b30e63ab759760add57d43198) + +commit e68d3e14b8ea42baa30ca4dd836c1651deb99dcd +Merge: 766a55ac87 1067764418 +Author: Nathan Cutler +Date: Thu Apr 20 21:12:42 2017 +0200 + + Merge pull request #14620 from smithfarm/wip-19659-kraken + + kraken: librbd: corrected resize RPC message backwards compatibility + + Reviewed-by: Jason Dillaman + +commit 766a55ac87cb7c08f1316cf7f0fd6bca834ad269 +Merge: 01804c78e0 55a15b18e7 +Author: Nathan Cutler +Date: Thu Apr 20 19:06:35 2017 +0200 + + Merge pull request #14574 from smithfarm/wip-19620-kraken + + kraken: cephfs: MDS server crashes due to inconsistent metadata. + + Reviewed-by: John Spray + +commit 01804c78e0af6fd518e8ad5de2bf39e6743e3039 +Merge: 1866332928 93efc1e948 +Author: Nathan Cutler +Date: Thu Apr 20 19:05:44 2017 +0200 + + Merge pull request #14573 from smithfarm/wip-19483-kraken + + kraken: cephfs: No output for ceph mds rmfailed 0 --yes-i-really-mean-it command + + Reviewed-by: John Spray + +commit 18663329283c9df32bd42e1dc41cff10ba2e7826 +Merge: 9ff3560ab4 941a356fa7 +Author: Nathan Cutler +Date: Thu Apr 20 19:04:34 2017 +0200 + + Merge pull request #14572 from smithfarm/wip-19335-kraken + + kraken: cephfs: MDS heartbeat timeout during rejoin, when working with large amount of caps/inodes + + Reviewed-by: John Spray + +commit 9ff3560ab4c4dfa35983beb845331f8fb261270b +Merge: 5554f5a82a 473ad4ea2a +Author: Nathan Cutler +Date: Thu Apr 20 19:03:42 2017 +0200 + + Merge pull request #14571 from smithfarm/wip-19045-kraken + + kraken: cephfs: buffer overflow in test LibCephFS.DirLs + + Reviewed-by: John Spray + +commit 5554f5a82ad2c78b93651aeef5f37e4ffb4586f1 +Merge: cc49802d76 64616bb2a5 +Author: Nathan Cutler +Date: Thu Apr 20 19:02:54 2017 +0200 + + Merge pull request #14570 from smithfarm/wip-18950-kraken + + kraken: cephfs: mds/StrayManager: avoid reusing deleted inode in StrayManager::_purge_stray_logged + + Reviewed-by: John Spray + +commit cc49802d769e3a59664fc5ef80d20171c07693df +Merge: 0c51569478 2d5d8f2767 +Author: Nathan Cutler +Date: Thu Apr 20 19:02:02 2017 +0200 + + Merge pull request #14569 from smithfarm/wip-18899-kraken + + kraken: cephfs: test_open_inode fails + + Reviewed-by: John Spray + +commit 0c51569478ebb75defb6ba059f60007db597016a +Merge: 63fd2b9884 a7831ccf79 +Author: Nathan Cutler +Date: Thu Apr 20 19:00:51 2017 +0200 + + Merge pull request #14568 from smithfarm/wip-18706-kraken + + kraken: cephfs: fragment space check can cause replayed request fail + + Reviewed-by: John Spray + +commit 63fd2b9884eeb7551e08875cb6421a79d22e9674 +Merge: f1affa93d1 eb12e3a752 +Author: Nathan Cutler +Date: Thu Apr 20 18:59:25 2017 +0200 + + Merge pull request #14567 from smithfarm/wip-18700-kraken + + kraken: cephfs: client: fix the cross-quota rename boundary check conditions + + Reviewed-by: John Spray + +commit f1affa93d15f5f37910debe73eee2b4c8774fe2c +Merge: 2887fb06aa 95335098d5 +Author: Nathan Cutler +Date: Thu Apr 20 18:58:08 2017 +0200 + + Merge pull request #14566 from smithfarm/wip-18616-kraken + + kraken: cephfs: segfault in handle_client_caps + + Reviewed-by: John Spray + +commit 2887fb06aa25aeb1b7a845b288ba4a556cab74bc +Merge: 655ab2a76f 91bec618f8 +Author: Nathan Cutler +Date: Thu Apr 20 18:57:08 2017 +0200 + + Merge pull request #14565 from smithfarm/wip-18566-kraken + + kraken: cephfs: MDS crashes on missing metadata object + + Reviewed-by: John Spray + +commit 655ab2a76f29c3a06e7d7e9bacd3b51b2725952e +Merge: bb08c04f26 a51e9b5af9 +Author: Nathan Cutler +Date: Thu Apr 20 18:56:04 2017 +0200 + + Merge pull request #14564 from smithfarm/wip-18562-kraken + + kraken: cephfs: test_client_recovery.TestClientRecovery fails + + Reviewed-by: John Spray + +commit bb08c04f26f1d05eedbbdc7cd23f51314edc13cf +Merge: e3db135268 ba7b6ced0a +Author: Nathan Cutler +Date: Thu Apr 20 18:55:01 2017 +0200 + + Merge pull request #14563 from smithfarm/wip-18552-kraken + + kraken: cephfs: ceph-fuse crash during snapshot tests + + Reviewed-by: John Spray + +commit e3db1352688fc68063707882cf0c26f34db4fabf +Merge: 7fda19ee7e 3bbd3c5dc3 +Author: Nathan Cutler +Date: Thu Apr 20 18:18:59 2017 +0200 + + Merge pull request #14521 from smithfarm/wip-19462-kraken + + kraken: doc: rgw: admin ops: fix the quota section + + Reviewed-by: Casey Bodley + +commit 7fda19ee7e8a80f0b34e9d539746c973c8c45707 +Merge: d1f066b7b5 d5398effcf +Author: Nathan Cutler +Date: Thu Apr 20 14:52:45 2017 +0200 + + Merge pull request #14641 from smithfarm/wip-19693-kraken + + kraken: [test] test_notify.py: rbd.InvalidArgument: error updating features for image test_notify_clone2 + + Reviewed-by: Jason Dillaman + +commit d1f066b7b58343e48ddaff398be7c799323fac4d +Merge: d82f0cd250 a0ad2d11ce +Author: Nathan Cutler +Date: Thu Apr 20 14:51:45 2017 +0200 + + Merge pull request #14533 from smithfarm/wip-18501-kraken + + kraken: rbd-mirror: potential race mirroring cloned image + + Reviewed-by: Jason Dillaman + +commit d82f0cd2505dd06507e1a08c30fa20fdbb024847 +Merge: 7638d3d0cd d826600ee2 +Author: Nathan Cutler +Date: Thu Apr 20 14:50:56 2017 +0200 + + Merge pull request #14534 from smithfarm/wip-18549-kraken + + kraken: rbd: 'metadata_set' API operation should not change global config setting + + Reviewed-by: Jason Dillaman + +commit 7638d3d0cd0b50bc7ae9cb537c7465152cf9e476 +Merge: 2c1d5db604 b9258ccfd8 +Author: Nathan Cutler +Date: Thu Apr 20 14:50:11 2017 +0200 + + Merge pull request #14536 from smithfarm/wip-18557-kraken + + kraken: rbd: 'rbd bench-write' will crash if --io-size is 4G + + Reviewed-by: Jason Dillaman + +commit 2c1d5db6048ed6dd239af0bdbfa79cbc14432fcc +Merge: 8794053597 e3a230cb19 +Author: Nathan Cutler +Date: Thu Apr 20 14:49:24 2017 +0200 + + Merge pull request #14537 from smithfarm/wip-18601-kraken + + kraken: rbd: Add missing parameter feedback to 'rbd snap limit' + + Reviewed-by: Jason Dillaman + +commit 87940535979da874b9b44e037b27d869972efae2 +Merge: b457cbd768 bafa2b0c83 +Author: Nathan Cutler +Date: Thu Apr 20 14:23:08 2017 +0200 + + Merge pull request #14538 from smithfarm/wip-18632-kraken + + kraken: rbd: [qa] crash in journal-enabled fsx run + + Reviewed-by: Jason Dillaman + +commit b457cbd768b12701532bfa57304e5c25e6b49528 +Merge: 24e6d0e440 3112ab5726 +Author: Nathan Cutler +Date: Thu Apr 20 14:19:59 2017 +0200 + + Merge pull request #14622 from smithfarm/wip-19037-kraken + + kraken: rbd-mirror: deleting a snapshot during sync can result in read errors + + Reviewed-by: Jason Dillaman + +commit 24e6d0e44080558f956d2c8446cf60f7137649bc +Merge: 13de280cfe 551ce273a1 +Author: Nathan Cutler +Date: Thu Apr 20 14:18:48 2017 +0200 + + Merge pull request #14545 from smithfarm/wip-19324-kraken + + kraken: rbd: [api] temporarily restrict (rbd_)mirror_peer_add from adding multiple peers + + Reviewed-by: Jason Dillaman + +commit fa2753245d056f39f0f6996988e193bf4917bc52 +Author: Greg Farnum +Date: Fri Apr 7 14:33:20 2017 -0700 + + osd: pglog: with config, don't assert in the presence of stale divergent_priors + + Fixes: http://tracker.ceph.com/issues/17916 + + Signed-off-by: Greg Farnum + +commit d5398effcfacb6d5436ae32e1ee40872efd5b504 +Author: Jason Dillaman +Date: Wed Apr 19 09:26:31 2017 -0400 + + test: rbd master/slave notify test should test active features + + Fixes: http://tracker.ceph.com/issues/19692 + Signed-off-by: Jason Dillaman + (cherry picked from commit 0dcba41cba96566d0b8da54cf0316d523b88ded2) + +commit d02d0e5d97fd7d9b3eac1e2ba55776d2c9f7f8ee +Author: Jason Dillaman +Date: Wed Apr 19 09:12:04 2017 -0400 + + qa/suites: client-upgrade/jewel-client-x should test multiple features + + Signed-off-by: Jason Dillaman + (cherry picked from commit 7ab93b7779b293ceda325a6d1cdb446cf624a6e3) + +commit 13de280cfe7379440185fefcb71a6d7d4a30e65f +Merge: 5d604d058b b8d988f7f1 +Author: Zack Cerza +Date: Tue Apr 18 14:17:02 2017 -0600 + + Merge pull request #14487 from zmc/wip-kraken-workunit + + qa/tasks/workunit: Backport repo fixes from master + +commit 5d604d058b0b1f7b7659390093437f109fcb9af7 +Merge: 959248d249 c2232643d0 +Author: Nathan Cutler +Date: Tue Apr 18 22:09:19 2017 +0200 + + Merge pull request #14531 from smithfarm/wip-18493-kraken + + kraken: rbd-mirror: sporadic image replayer shut down failure + + Reviewed-by: Jason Dillaman + +commit 959248d2497a48f98c0a4fd818fcce79c994ca61 +Merge: c195418b4f e91de89b0d +Author: Nathan Cutler +Date: Tue Apr 18 22:08:34 2017 +0200 + + Merge pull request #14532 from smithfarm/wip-18495-kraken + + kraken: rbd: Possible deadlock performing a synchronous API action while refresh in-progress + + Reviewed-by: Jason Dillaman + +commit 10677644181356f561cc10a19d76833d55917a43 +Author: Jason Dillaman +Date: Tue Apr 18 10:05:53 2017 -0400 + + librbd: corrected resize RPC message backwards compatibility + + Commit d1f2c557 incorrectly changed the order of variables within + the payload. This resulted in breaking the resize RPC message + with older versions of Ceph. + + Fixes: http://tracker.ceph.com/issues/19636 + Signed-off-by: Jason Dillaman + (cherry picked from commit 9db305a99fd945059a173f5ae8ae61744dd28615) + +commit c195418b4f240a8f4bf1b1739af9a64ba046c2d2 +Merge: 432bc8b416 81f3d86032 +Author: Nathan Cutler +Date: Tue Apr 18 16:58:39 2017 +0200 + + Merge pull request #14095 from shinobu-x/wip-19319-kraken + + kraken: RadosImport::import should return an error if Rados::connect fails + + Reviewed-by: David Zafman + +commit 8f81bb33c7791c46db5e4db1ee45ab02a70580d9 +Author: Casey Bodley +Date: Wed Apr 5 16:19:57 2017 -0400 + + rgw: fix for null version_id in fetch_remote_obj() + + commit 8b43c9781206c22d9aedb4beb8d669bf1e23169f fixed the wrong use of + the dest_obj's version, but removed the check for "null" version + + Signed-off-by: Casey Bodley + (cherry picked from commit 915370776df5b964c2ee8d9f9329562919eef8d5) + +commit ad2b140e01462d3dfe58fd03879f3868e561f165 +Author: Zhang Shaowen +Date: Fri Mar 17 16:26:56 2017 +0800 + + rgw: version id doesn't work in fetch_remote_obj + + Signed-off-by: Zhang Shaowen + (cherry picked from commit 8b43c9781206c22d9aedb4beb8d669bf1e23169f) + + Conflicts: + src/rgw/rgw_rados.cc: trivial: dest_obj.key.instance in master + versus dest_obj.get_instance() in Jewel + +commit 8d64dd4f29e1b0af51e7938d1aa363e4ff710154 +Author: Loic Dachary +Date: Thu Apr 13 23:49:50 2017 +0200 + + ceph-disk: enable directory backed OSD at boot time + + https://github.com/ceph/ceph/commit/539385b143feee3905dceaf7a8faaced42f2d3c6 + introduced a regression preventing directory backed OSD from starting at + boot time. + + For device backed OSD the boot sequence starts with ceph-disk@.service + and proceeds to + + systemctl enable --runtime ceph-osd@.service + + where the --runtime ensure ceph-osd@12 is removed when the machine + reboots so that it does not compete with the ceph-disk@/dev/sdb1 unit at + boot time. + + However directory backed OSD solely rely on the ceph-osd@.service unit + to start at boot time and will therefore fail to boot. + + The --runtime flag is selectively set for device backed OSD only. + + Fixes: http://tracker.ceph.com/issues/19628 + + Signed-off-by: Loic Dachary + (cherry picked from commit f425a127b7487d2093c8c943f0bcdec3d673d601) + +commit 02afe9855a4d04fe56951a9e9ffd3e32537ff77e +Author: Kefu Chai +Date: Mon Apr 10 14:53:46 2017 +0800 + + mon/MonClient: make get_mon_log_message() atomic + + * LogClient: move reset_session() into get_mon_log_message() and add a + "flush" param to the latter. so it can get_mon_log_message() + atomically. otherwise another call changing the log queue could sneak + in between reset_session() and get_mon_log_message(). + * MonClient: add a "flush" param to do_send() so we can reset the + LogClient session once we are connected to a monitor. + + Fixes: http://tracker.ceph.com/issues/19427 + Signed-off-by: Kefu Chai + (cherry picked from commit 5215e291da2b527d85e129eda86043490843178e) + + Conflicts: + src/mon/MonClient.cc: handle_auth: replaced 'log_client->reset_session(); + send_log();' sequence with newly introduced 'send_log(true);' like + the original patch does + +commit 432bc8b4168e70a68e53795dea538882f83a9a8e +Merge: 8eb10440ce c2cc96e6c1 +Author: Nathan Cutler +Date: Sun Apr 16 04:13:12 2017 +0200 + + Merge pull request #14323 from shinobu-x/wip-19371-kraken + + kraken: common: monitor creation with IPv6 public network segfaults + + Reviewed-by: Kefu Chai + Reviewed-by: Nathan Cutler + +commit 8eb10440ce144ddab2997ac0b8a868d28de932fe +Merge: 74907feb3f 1d25327b00 +Author: Nathan Cutler +Date: Sat Apr 15 10:08:15 2017 +0200 + + Merge pull request #13284 from shinobu-x/wip-18599-kraken + + kraken: osd: os/bluestore: fix statfs to not include DB partition in free space + + Reviewed-by: Sage Weil + Reviewed-by: Nathan Cutler + +commit 74907feb3fda64f9e9a1f7410ce71683a40f417c +Merge: fc5c4cd2c0 0e0d149895 +Author: Nathan Cutler +Date: Sat Apr 15 09:57:21 2017 +0200 + + Merge pull request #13046 from SUSE/wip-18554-kraken + + kraken: mon: peon wrongly delete routed pg stats op before receive pg stats ack + + Reviewed-by: Kefu Chai + +commit fc5c4cd2c01fa97f65b4bbad0d2cfe6dc7e3f9a9 +Merge: 19b8a9f1f8 7e30b630e2 +Author: Nathan Cutler +Date: Sat Apr 15 00:30:39 2017 +0200 + + Merge pull request #14480 from dillaman/wip-19467-kraken + + kraken: librbd: is_exclusive_lock_owner API should ping OSD + + Reviewed-by: Jason Dillaman + Reviewed-by: Mykola Golub + +commit 19b8a9f1f87b2b9ff69eb67b38e1f2e161ea1c1d +Merge: 91fbfaf3bd d4a43e1fd5 +Author: Nathan Cutler +Date: Sat Apr 15 00:28:19 2017 +0200 + + Merge pull request #13877 from smithfarm/wip-19178-kraken + + kraken: rgw: anonymous user error code of getting object is not consistent with SWIFT + + Reviewed-by: Radoslaw Zarzynski + +commit 91fbfaf3bdbb9dfcf6704effc271d5038263676d +Merge: abcf1b1e28 b39bef0961 +Author: Nathan Cutler +Date: Sat Apr 15 00:25:51 2017 +0200 + + Merge pull request #13866 from smithfarm/wip-19157-kraken + + kraken: rgw: health check errors out incorrectly + + Reviewed-by: Radoslaw Zarzynski + +commit abcf1b1e28c75feb702b100bbc0ca0ff9c4d14f6 +Merge: cbcb932d3d 47cf8f6699 +Author: Nathan Cutler +Date: Sat Apr 15 00:22:22 2017 +0200 + + Merge pull request #13843 from smithfarm/wip-19146-kraken + + kraken: rgw: a few cases where rgw_obj is incorrectly initialized + + Reviewed-by: Orit Wasserman + +commit cbcb932d3d40118101df350694eacbe2cfb22232 +Merge: 6702056568 03b1ab4b13 +Author: Nathan Cutler +Date: Sat Apr 15 00:20:29 2017 +0200 + + Merge pull request #13829 from smithfarm/wip-18898-kraken + + kraken: no http referer info in container metadata dump in swift API + + Reviewed-by: Radoslaw Zarzynski + +commit 670205656847742f1e9d46b152c66f725dfba5dc +Merge: 841216b781 c8d70ee012 +Author: Nathan Cutler +Date: Sat Apr 15 00:19:00 2017 +0200 + + Merge pull request #13780 from smithfarm/wip-18896-kraken + + kraken: should parse the url to http host to compare with the container referer acl + + Reviewed-by: Radoslaw Zarzynski + +commit 841216b781e229205476f633eae75355f87c27ae +Merge: eb84959bac bfc058d8f9 +Author: Nathan Cutler +Date: Sat Apr 15 00:15:15 2017 +0200 + + Merge pull request #12986 from Werkov/rgw-fix-tempurl-url-encoding + + kraken: rgw: Use decoded URI when verifying TempURL + + Reviewed-by: Radoslaw Zarzynski + +commit 55a15b18e7a2188f5ff74b5fa26ef0316ec9c005 +Author: John Spray +Date: Wed Mar 29 19:38:37 2017 +0100 + + tools/cephfs: set dir_layout when injecting inodes + + When we left this as zero, the MDS would interpret it was HASH_LINUX + rather than the default HASH_RJENKINS. Potentially that + could cause problems if there perhaps were already dirfrags in + the metadata pool that were set up using rjenkins. Mainly + it just seems more appropriate to explicitly set this field + rather than hit the fallback behaviour. + + Related: http://tracker.ceph.com/issues/19406 + Signed-off-by: John Spray + (cherry picked from commit 7d6d542885bd29b71214f9ca52bd26e9183c5d01) + +commit 93efc1e9484ea41f3eb831dcb3d19d63b044ef70 +Author: John Spray +Date: Thu Mar 9 13:15:46 2017 +0000 + + mon: fix hiding mdsmonitor informative strings + + Local `stringstream ss` declarations were hiding + the real variable used to feed back to the user. + + Fixes: http://tracker.ceph.com/issues/16709 + Signed-off-by: John Spray + (cherry picked from commit 00404ae9bd4cce0518a44d36d2d6a5612f4f9d04) + +commit 941a356fa77ffc2f41d5054a8e3f43b46523008e +Author: John Spray +Date: Mon Mar 6 11:51:31 2017 +0000 + + mds: reset heartbeat in export_remaining_imported_caps + + This loop can be very long. + + Fixes: http://tracker.ceph.com/issues/19118 + Signed-off-by: John Spray + (cherry picked from commit 85071f1509beba4a390730e6a3a4332484646d63) + +commit 5e19692bb68049ea8fed0c39534fe8abb10a5378 +Author: John Spray +Date: Mon Mar 6 11:24:50 2017 +0000 + + mds: heartbeat_reset in dispatch + + Previously we only heartbeated in tick. However, our locking is + not guaranteed to be fair, so on a super-busy dispatch queue it may be + possible for the heartbeat to time out while the tick() function + is waiting for mds_lock. + + Fixes: http://tracker.ceph.com/issues/19118 + Signed-off-by: John Spray + (cherry picked from commit 819394549af10532419d88742fae3a69d2ea487d) + +commit 473ad4ea2a35c74d89605b5579a4ff3866134c2d +Author: Yan, Zheng +Date: Wed Feb 15 11:45:26 2017 +0800 + + test/libcephfs: avoid buffer overflow when testing ceph_getdents() + + The buffer size should be at least "2 * sizeof(struct dirent)". + Otherwise, the code that checks dentry '..' overflow. + + Fixes: http://tracker.ceph.com/issues/18941 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit fa6671345b8f3a82dcd232f99e55a982b0a641f1) + +commit 64616bb2a5b84f8518ecbb9878a5ba3abaaf87ed +Author: Zhi Zhang +Date: Fri Feb 10 10:56:46 2017 +0800 + + mds/StrayManager: aviod reusing deleted inode in StrayManager::_purge_stray_logged + + Signed-off-by: Zhi Zhang + (cherry picked from commit 4978e57419482384279d7e784a625f5e5c10961a) + +commit 2d5d8f27679d40ff962c8329026b2d75a3fa7c78 +Author: John Spray +Date: Wed Feb 1 00:38:08 2017 +0000 + + tasks/cephfs: switch open vs. write in test_open_inode + + Do the write after opening the file, so that we get good + behaviour wrt the change in Mount.open_background that uses + file existence to confirm that the open happened. + + Signed-off-by: John Spray + (cherry picked from commit a027dba78fc8bc84ae39d7998b386ce21c01e1bf) + +commit 284cd5065f871fc7aeb134d0f9dd48ba9d1f12bf +Author: John Spray +Date: Thu Jan 26 16:48:58 2017 +0000 + + qa: fix race in Mount.open_background + + Previously a later remote call could end up executing + before the remote python program in open_background + had actually got as far as opening the file. + + Fixes: http://tracker.ceph.com/issues/18661 + Signed-off-by: John Spray + (cherry picked from commit c6d91dd91252e703d08b8ac62ac6a47ee82c0bed) + +commit a7831ccf795b31705a66be89beef63b0bbe817d3 +Author: Yan, Zheng +Date: Wed Jan 25 15:28:23 2017 +0800 + + mds: don't purge strays when mds is in clientreplay state + + MDS does not trim log when it's in clientreplay state. If mds hang + at clientreplay state (due to bug), purging strays can submit lots + of log events and create very large mds log. + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 86bbc7fff02668077f27d0924ba3efe6544b77f6) + +commit 224745491e5c9e495adce5abbf7731f7fae1ddc5 +Author: Yan, Zheng +Date: Wed Jan 25 11:03:45 2017 +0800 + + mds: skip fragment space check for replayed request + + when handling replayed request, stray directory can be different + from the stray directory used by the original request. The fragment + space check for stray directory can fail. + + Fixes: http://tracker.ceph.com/issues/18660 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit afe889cbc5baab196567c2aad01f49fe90901fda) + +commit eb12e3a7524fcbc009cabda333a6a958390743bd +Author: Greg Farnum +Date: Wed Dec 14 12:09:44 2016 -0800 + + client: fix the cross-quota rename boundary check conditions + + We were previously rejecting a rename if either of the involved directories + was a quota root, even if the other directory was part of the same quota + "tree". What we really want to do is identify the correct quota root + (whether local or ancestral) for each directory and compare them. So + now we do. + + Signed-off-by: Greg Farnum + (cherry picked from commit 8e8892aa46accb519faa4bb9fecf66618f1b11b2) + +commit 95335098d5fa1a8e308f697a6bcef6ce3e090ac9 +Author: Yan, Zheng +Date: Fri Jan 6 15:42:52 2017 +0800 + + mds: fix null pointer dereference in Locker::handle_client_caps + + Locker::handle_client_caps delays processing cap message if the + corresponding inode is freezing or frozen. When the message gets + processed, client can have already closed the session. + + Fixes: http://tracker.ceph.com/issues/18306 + Signed-off-by: Yan, Zheng + (cherry picked from commit e281a0b9c1fdeaf09f1b01f34cecd62e4f49d02e) + +commit 91bec618f87d4fc5dc0619d1b980c14ec7527d48 +Author: Yan, Zheng +Date: Wed Jan 11 15:50:52 2017 +0800 + + qa/tasks: add test_open_ino_errors + + Validate that errors encountered during opening inos are properly + propagated + + Signed-off-by: Yan, Zheng + (cherry picked from commit 6526ecc084733b34129aa1f21085fa41fb53b785) + +commit 4d5775092d29c2eb3c2d88d1fff93ce5af4779dd +Author: Yan, Zheng +Date: Tue Jan 3 11:11:12 2017 +0800 + + mds: propagate error encountered during opening inode by number + + Fixes: http://tracker.ceph.com/issues/18179 + Signed-off-by: Yan, Zheng + (cherry picked from commit 2213cc2dcc0e8fb01bcae3863d0d8a4a1fd8873f) + +commit a51e9b5af9fbdb5b81ec20e30dfda2222d6ac418 +Author: Yan, Zheng +Date: Mon Jan 9 20:47:37 2017 +0800 + + qa/tasks/cephfs: fix kernel force umount + + Fixes: http://tracker.ceph.com/issues/18396 + Signed-off-by: Yan, Zheng + (cherry picked from commit 4cdeeaac105d7824452a8b578632b7371275b45c) + +commit ba7b6ced0a69991bf4f095172575dc536736d40d +Author: Yan, Zheng +Date: Tue Jan 10 17:16:40 2017 +0800 + + client: fix Client::handle_cap_flushsnap_ack() crash + + Struct CapSnap holds a reference to its parent inode. So erasing + struct CapSnap from Inode::cap_snaps may drop inode's last reference. + The inode gets freed in the middle of erasing struct CapSnap + + Fixes: http://tracker.ceph.com/issues/18460 + Signed-off-by: Yan, Zheng + (cherry picked from commit 525c52fd491ed1ced385c8047872e3f557f8423f) + +commit 551ce273a132d4e7b59b818377568d40cf597f85 +Author: Jason Dillaman +Date: Fri Mar 10 10:56:38 2017 -0500 + + rbd: prevent adding multiple mirror peers to a single pool + + The rbd-mirror daemon does not currently support replication + from multiple peers. Until that is supported, add a temporary + restriction to prevent confusion. + + Fixes: http://tracker.ceph.com/issues/19256 + Signed-off-by: Jason Dillaman + (cherry picked from commit c0c9d1014d57b3d5b95e7513fcc38d04b9ea5165) + +commit 3112ab57269847233c1e006ca05ba02071d579b0 +Author: Jason Dillaman +Date: Tue Feb 21 15:33:01 2017 -0500 + + rbd-mirror: retry object copy after -ENOENT error + + Fixes: http://tracker.ceph.com/issues/18990 + Signed-off-by: Jason Dillaman + (cherry picked from commit b4f36d5dc3f4f3cbb23f61cbb945b222248a50df) + +commit 46ba56025c283a70b0f384ef38f47542f0885c5b +Author: Jason Dillaman +Date: Tue Feb 21 13:09:39 2017 -0500 + + rbd-mirror: object copy should always reference valid snapshots + + If a remote snapshot is deleted while an image sync is in-progress, + associate the read request against the most recent, valid remote + snapshot for a given snapshot object clone. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 9a91efc3047963364944f8be91cee8e8f6afc49a) + +commit d1ac70a4d06ed07a66e7886c00c712a26fd72e9d +Author: Jason Dillaman +Date: Tue Feb 21 11:52:00 2017 -0500 + + rbd-mirror: replace complex object op tuple with struct + + Signed-off-by: Jason Dillaman + (cherry picked from commit 0c181527c0e151784a0f7c466aaa70b0772f91b1) + +commit bafa2b0c83d32b97a6dd85e681f2344384c539ac +Author: Jason Dillaman +Date: Fri Jan 20 14:26:43 2017 -0500 + + journal: don't hold future lock during assignment + + It's possible that the future raced with its owner and reaches + an empty reference count. This was resulting in the future being + destructed while its lock was still held. + + Fixes: http://tracker.ceph.com/issues/18618 + Signed-off-by: Jason Dillaman + (cherry picked from commit 0f21ceef8336e35ca16148a9d58f511037911418) + +commit e3a230cb19d62bdcd18f3685d384d76e83b42ec5 +Author: tang.jin +Date: Mon Jan 16 22:28:23 2017 +0800 + + rbd: add error prompt when input command 'snap set limit' is incomplete + + Signed-off-by: Tang Jin + (cherry picked from commit 8860028f508a9be5a08f512022cfb042021fd19f) + +commit b9258ccfd836d49d64c8de3cb614a4f0ce9806aa +Author: Gaurav Kumar Garg +Date: Tue Jan 10 15:25:13 2017 +0100 + + rbd: bench-write should return error if io-size >= 4G + + Currently if user perform bench-write with io-size > 4G + then its crashing because currently during memory allocation + bufferptr taking size of buffer as a unsigned and io-size > 4G + will overflow with unsigned. so during memset operation it will + try to set io_size size of memory area pointed by bufferptr, + (bufferptr area is: (4G - io_size)), so it will cause + segmentation fault. + + Fix is to return error if io-size >= 4G + + Fixes: http://tracker.ceph.com/issues/18422 + + Reported-by: Jason Dillaman + Signed-off-by: Gaurav Kumar Garg + (cherry picked from commit 6ab73e5f420e89e19b52e39dab28fa4c94e00197) + +commit d826600ee2c1b50675a0c8642c70ad803bca02a9 +Author: Mykola Golub +Date: Mon Jan 9 18:31:21 2017 +0100 + + librbd: metadata_set API operation should not change global config setting + + Fixes: http://tracker.ceph.com/issues/18465 + Signed-off-by: Mykola Golub + (cherry picked from commit 27465b5916b55ac3c2846c74b89f4362ad17ff1e) + +commit a0ad2d11cea867eb19d40a121907ec43f37e39a3 +Author: Jason Dillaman +Date: Tue Dec 6 15:51:51 2016 -0500 + + librbd: delay mirror registration when creating clones + + Fixes: http://tracker.ceph.com/issues/17993 + Signed-off-by: Jason Dillaman + (cherry picked from commit 778e1126a0343e2221446b8e13b48df5ccac263c) + +commit e91de89b0d62ee4869992254ff291c6a23bcafcc +Author: Jason Dillaman +Date: Thu Jan 5 12:12:57 2017 -0500 + + librbd: possible deadlock with flush if refresh in-progress + + Fixes: http://tracker.ceph.com/issues/18419 + Signed-off-by: Jason Dillaman + (cherry picked from commit b95f92a5572d3035c20eba07e76d2c825a9853f7) + +commit c2232643d0ee38c8148f13e69065a90c003f46e3 +Author: Jason Dillaman +Date: Fri Jan 6 15:59:22 2017 -0500 + + rbd-mirror: avoid processing new events after stop requested + + Fixes: http://tracker.ceph.com/issues/18441 + Signed-off-by: Jason Dillaman + (cherry picked from commit d30873b269441815b5fc7de14c7d9a1077a17d8d) + +commit faf80bc1dd332f0ccaaa1caf2679c4b2be02288d +Author: Orit Wasserman +Date: Wed Apr 5 13:31:08 2017 +0300 + + radosgw-admin: use zone id when creating a zone + + Fixes: http://tracker.ceph.com/issues/19498 + Signed-off-by: Orit Wasserman + (cherry picked from commit 3fea36d635fcba8ca584a1c0ec9f07840009402c) + +commit a5fe8124831daaaa67eb89555058d87600d3fff0 +Author: Casey Bodley +Date: Tue Mar 14 15:43:13 2017 -0400 + + qa: rgw task uses period instead of region-map + + Signed-off-by: Casey Bodley + (cherry picked from commit e3e3a71d1f1fb43bb4172ce2dfac9a28ca89df0f) + +commit 0e964e477ac1e1a2f6f8c28b8fd0da8e9225360c +Author: Casey Bodley +Date: Tue Mar 14 14:18:15 2017 -0400 + + rgw-admin: remove deprecated regionmap commands + + Fixes: http://tracker.ceph.com/issues/18725 + + Signed-off-by: Casey Bodley + (cherry picked from commit 5830c1849a0c0110d17c37784808e456e6dcb7b3) + +commit 03e5be4498d31c738f08d534bf8f27381fb8c12b +Author: liuchang0812 +Date: Fri Feb 10 18:02:03 2017 +0800 + + rgw: don't return skew time in pre-signed url + + Fixes: http://tracker.ceph.com/issues/18828 + + Signed-off-by: liuchang0812 + (cherry picked from commit dd8b348f4aad0124e8a4457117bf3f5f76af7bdb) + +commit 595c31f390fda700e6e346c208849d23c74bdf5f +Author: Jing Wenjun +Date: Fri Feb 24 04:45:04 2017 +0800 + + rgw: add the remove-x-delete feature to cancel swift object expiration + + In openstack swift, it also support the feature to cancel the object expiration, + which could be found at last point in + https://docs.openstack.org/user-guide/cli-swift-set-object-expiration.html. we + can remove the object expiration by set 'X-Remove-Delete-At:'. + + This patch also could fix the bug that when we set the object expiration and + then upload the same object to the container again. The previous object expiration + also works, which is not compatible with the openstack swift. + + Fixes: http://tracker.ceph.com/issues/19074 + Signed-off-by: Jing Wenjun + (cherry picked from commit 230429ebc4ac9b5840bb93c7e0eeb5edbb949106) + +commit 3bbd3c5dc316ebd0fffc1a4cf22f44bd01330f6e +Author: hrchu +Date: Wed Mar 29 02:17:04 2017 +0000 + + doc: rgw: correct the quota section + + Add the missing option and fix typo. + + Fixes: http://tracker.ceph.com/issues/19397 + + Signed-off-by: Chu, Hua-Rong + (cherry picked from commit 51a88267f0d7f51aeb62092949b66b9f6c062e15) + +commit c3d8444890c394077177c555908ed78dc824a587 +Author: Jing Wenjun +Date: Wed Feb 8 15:07:43 2017 +0800 + + rgw: fix swift cannot disable object versioning + + we should be able to disable object verioning by removing its X-Versions-Location + metadata header by sending an empty key value. this description can be found at + No.8 in http://docs.openstack.org/user-guide/cli-swift-set-object-versions.html. + + Fixes: http://tracker.ceph.com/issues/18852 + Signed-off-by: Jing Wenjun + (cherry picked from commit 17c5a0edd2227703cec867f0f588d4eae36dfe1c) + +commit eb84959bac369dbb86674f9e4225ba1c836c104c +Merge: 85b7bc82e2 dc8ef3508b +Author: Nathan Cutler +Date: Thu Apr 13 18:20:05 2017 +0200 + + Merge pull request #13609 from smithfarm/wip-19064-kraken + + kraken: AttributeError: Thrasher instance has no attribute 'ceph_objectstore_tool' + + Reviewed-by: Kefu Chai + +commit e9a10eaccd1d36e74969127fea7a595a21645b6a +Author: Sage Weil +Date: Wed Mar 1 13:18:44 2017 -0600 + + PendingReleaseNotes: warning about 'osd rm ...' and #19119 + + See http://tracker.ceph.com/issues/19119 + + Signed-off-by: Sage Weil + (cherry picked from commit be96003c464481d8e84825178d600234a0d64d22) + + Conflicts: + PendingReleaseNotes + - drop "Calculation of recovery priorities has been updated" because + that was included in 11.2.0 release notes + - do not backport >=12.0.0 release notes + - change heading to 11.2.1 + +commit 85b7bc82e28c6f1da08c6f6829555724d43255d2 +Merge: dd44cfa736 46548c5125 +Author: Nathan Cutler +Date: Thu Apr 13 16:43:50 2017 +0200 + + Merge pull request #13790 from shinobu-x/wip-18298-kraken + + kraken: mon: force_create_pg could leave pg stuck in creating state + + Reviewed-by: Josh Durgin + +commit dd44cfa7368b193997bc59114e187c7f51e66cb1 +Merge: d477944262 177141ff17 +Author: Nathan Cutler +Date: Thu Apr 13 16:41:16 2017 +0200 + + Merge pull request #13500 from shinobu-x/wip-18587-kraken + + kraken: mon: 'osd crush move ...' doesnt work on osds + + Reviewed-by: Josh Durgin + Reviewed-by: Nathan Cutler + +commit d4779442620a8f6da5484be6188eeb9f636319c0 +Merge: 37bb087113 33d9a50dec +Author: Nathan Cutler +Date: Thu Apr 13 16:39:51 2017 +0200 + + Merge pull request #13490 from shinobu-x/wip-18820-kraken + + kraken: osd: --flush-journal: sporadic segfaults on exit + + Reviewed-by: Josh Durgin + Reviewed-by: Nathan Cutler + +commit 37bb087113e3c8f8f7a79ee256ae7651a5165bc2 +Merge: 8a6e631b29 d8c0141a75 +Author: Nathan Cutler +Date: Thu Apr 13 16:35:45 2017 +0200 + + Merge pull request #13295 from asheplyakov/kraken-bp-18497 + + kraken: osd: publish PG stats when backfill-related states change + + Reviewed-by: Josh Durgin + Reviewed-by: Sage Weil + +commit 8a6e631b292c56b4a577fd58cd604d31da8ba0bf +Merge: b7877d1bb5 af2af7015a +Author: Nathan Cutler +Date: Thu Apr 13 16:30:00 2017 +0200 + + Merge pull request #13253 from liewegas/wip-enxio-kraken + + kraken: osd: do not send ENXIO on misdirected op by default + + Reviewed-by: Josh Durgin + +commit b7877d1bb5e5a38ad2cae4b0833cbefeed2547cc +Merge: e1f548e38e b49a71daf5 +Author: Nathan Cutler +Date: Thu Apr 13 16:28:08 2017 +0200 + + Merge pull request #14322 from shinobu-x/wip-18619-kraken + + kraken: osd: ceph degraded and misplaced status output inaccurate + + Reviewed-by: Josh Durgin + +commit 7e30b630e2806c73ea503871599f958b58df7934 +Author: Jason Dillaman +Date: Thu Mar 16 12:28:41 2017 -0400 + + librbd: is_exclusive_lock_owner API should ping OSD + + This is required to detect if a peer has been silently blacklisted + and is therefore no longer the lock owner. + + Fixes: http://tracker.ceph.com/issues/19287 + Signed-off-by: Jason Dillaman + (cherry picked from commit e15db05960a284bdf3701256722299d553cfd5aa) + + Conflicts: + src/librbd/ManagedLock.[h|cc]: logic moved to ExclusiveLock + +commit e1f548e38ef38ad7dc9631ba61e35b52781dfc2f +Merge: 086a4c8de1 baa42b6d7c +Author: Nathan Cutler +Date: Thu Apr 13 11:11:44 2017 +0200 + + Merge pull request #13216 from ovh/bp-osd-updateable-throttles-kraken + + kraken: osd: allow client throttler to be adjusted on-fly, without restart + + Reviewed-by: Josh Durgin + +commit 086a4c8de1243c2324d18cbe2d67704218065f83 +Merge: 95d4b4cefd 6d719558eb +Author: Nathan Cutler +Date: Thu Apr 13 10:45:10 2017 +0200 + + Merge pull request #14321 from shinobu-x/wip-kraken-15025 + + kraken: osd: New added OSD always down when full flag is set + + Reviewed-by: Josh Durgin + +commit 95d4b4cefd0aff88e9c8fe25e44a4b33dfe66451 +Merge: c4e1e706dc 2b7083f8dd +Author: Nathan Cutler +Date: Thu Apr 13 10:42:31 2017 +0200 + + Merge pull request #13091 from dzafman/wip-18624-kraken + + kraken: osd: Revert "PrimaryLogPG::failed_push: update missing as well" + + Reviewed-by: Josh Durgin + +commit c4e1e706dc8b7efd723bffd9b770b8b09c9a2300 +Merge: 4ea954d75e 06093bcb91 +Author: Nathan Cutler +Date: Wed Apr 12 23:52:06 2017 +0200 + + Merge pull request #12790 from SUSE/wip-18418-kraken + + kraken: osd: leveldb corruption leads to Operation not permitted not handled and assert + + Reviewed-by: Josh Durgin + +commit 4ea954d75e0ff4969a5a35c77a229d43c66b9b28 +Merge: a4b0d2eeb5 478d0315cb +Author: Nathan Cutler +Date: Wed Apr 12 23:03:40 2017 +0200 + + Merge pull request #13172 from smithfarm/wip-18713-kraken + + kraken: rgw: radosgw-admin period update reverts deleted zonegroup + + Reviewed-by: Casey Bodley + +commit a4b0d2eeb579b5a347d5a09f97eff8ca5a428101 +Merge: ce6423ac2c 29f55d7dd3 +Author: Nathan Cutler +Date: Wed Apr 12 23:02:35 2017 +0200 + + Merge pull request #13176 from smithfarm/wip-18709-kraken + + kraken: rgw: multisite: sync status reports master is on a different period + + Reviewed-by: Casey Bodley + +commit ce6423ac2c3d92011ab5e2434a3daec82195e085 +Merge: 577e3b4f23 5e15025ffb +Author: Nathan Cutler +Date: Wed Apr 12 23:01:42 2017 +0200 + + Merge pull request #13864 from smithfarm/wip-19156-kraken + + kraken: rgw: typo in rgw_admin.cc + + Reviewed-by: Casey Bodley + +commit 577e3b4f23cca525d49cc02b6873a69ddf7f98e3 +Merge: fca689ec2f c56a3134eb +Author: Nathan Cutler +Date: Wed Apr 12 23:00:37 2017 +0200 + + Merge pull request #14137 from smithfarm/wip-19331-kraken + + kraken: rgw: upgrade to multisite v2 fails if there is a zone without zone info + + Reviewed-by: Casey Bodley + +commit fca689ec2f98ea40e3bc2ef7d338e73cb551934b +Merge: 16f9611e05 84447a42e8 +Author: Nathan Cutler +Date: Wed Apr 12 22:59:18 2017 +0200 + + Merge pull request #14141 from smithfarm/wip-19342-kraken + + kraken: rgw: "period update" does not remove short_zone_ids of deleted zones + + Reviewed-by: Casey Bodley + +commit 16f9611e054e24f0e9324079b07ab2571a699caa +Merge: 2fec93964c 76ce6841f7 +Author: Nathan Cutler +Date: Wed Apr 12 22:57:16 2017 +0200 + + Merge pull request #14142 from smithfarm/wip-19354-kraken + + kraken: rgw: multisite: some 'radosgw-admin data sync' commands hang + + Reviewed-by: Casey Bodley + +commit 2fec93964cccd43cedda95f724392f3f22bd47cb +Merge: 41770bef0d 51e8ba0a06 +Author: Nathan Cutler +Date: Wed Apr 12 22:56:22 2017 +0200 + + Merge pull request #14144 from smithfarm/wip-19356-kraken + + kraken: rgw: when converting region_map we need to use rgw_zone_root_pool + + Reviewed-by: Casey Bodley + +commit 41770bef0d640c5cee48ec117e2c90bd3e13f442 +Merge: 278ad230f3 f9e3e9f9ff +Author: Yuri Weinstein +Date: Wed Apr 12 10:08:40 2017 -0700 + + Merge pull request #14485 from zmc/wip-upgrade-openstack + + suites/upgrade/hammer-jewel-x: Add volumes + + Reviewed-by: Yuri Weinstein + +commit b8d988f7f19112c3cc2a8379a4ed20418414abba +Author: Kefu Chai +Date: Sat Apr 1 23:04:22 2017 +0800 + + qa/tasks/workunit.py: use "overrides" as the default settings of workunit + + otherwise the settings in "workunit" tasks are always overridden by the + settings in template config. so we'd better follow the way of how + "install" task updates itself with the "overrides" settings: it uses the + "overrides" as the *defaults*. + + Fixes: http://tracker.ceph.com/issues/19429 + Signed-off-by: Kefu Chai + (cherry picked from commit 47080150a17d238f38d9da824d227393ad767aad) + +commit 9212c1ec702be1b927a5a10dc1514803a13d85d5 +Author: Kefu Chai +Date: Thu Mar 30 12:37:01 2017 +0800 + + tasks/workunit.py: specify the branch name when cloning a branch + + c1309fb failed to specify a branch when cloning using --depth=1, which + by default clones the HEAD. and we can not "git checkout" a specific + sha1 if it is not HEAD, after cloning using '--depth=1', so in this + change, we dispatch "tag", "branch", "HEAD" using three Refspec classes. + + Signed-off-by: Kefu Chai + Signed-off-by: Dan Mick + (cherry picked from commit 9ca7ccf5f1739f731da8bf31260594aea3a2932d) + +commit 665f03a467c1b59eb80782e4ba3bbeb48b5d5efc +Author: Dan Mick +Date: Tue Mar 28 20:08:13 2017 -0700 + + tasks/workunit.py: when cloning, use --depth=1 + + Help avoid killing git.ceph.com. A depth 1 clone takes about + 7 seconds, whereas a full one takes about 3:40 (much of it + waiting for the server to create a huge compressed pack) + + Signed-off-by: Dan Mick + (cherry picked from commit c1309fbef300a062138ac40eb5d3e5081b833072) + +commit 63153e957862ac0b46b8a205ed81d319b66ea6f5 +Author: Kefu Chai +Date: Mon Feb 27 16:29:40 2017 +0800 + + qa/tasks/workunit: use ceph.git as an alternative of ceph-ci.git for workunit repo + + if we run upgrade test, where, for example, "jewel" is not in + ceph-ci.git repo, we should check ceph.git to clone the workunits. + + Signed-off-by: Kefu Chai + (cherry picked from commit edceabbd47697cb4e7d21798e57a58969a92ce79) + +commit 471303c79a552bbd3765a6c47507fc2f2926a29d +Author: Kefu Chai +Date: Fri Feb 24 16:43:07 2017 +0800 + + qa/tasks/workunit: use the suite repo for cloning workunit + + as "workunits" reside in ceph/qa/workunits, it's more intuitive to + respect suite-repo option when cloning workunits. + + Signed-off-by: Kefu Chai + (cherry picked from commit 4cf28de4c9a60a4618d101f555f5a2e59b7ab109) + +commit 278ad230f35c7742b6b066e693335dceaf291f3d +Merge: baeac21515 c4f8114c6b +Author: Nathan Cutler +Date: Wed Apr 12 16:42:37 2017 +0200 + + Merge pull request #14098 from shinobu-x/wip-19192-kraken + + kraken: tools: ceph-brag fails to count "in" mds + + Reviewed-by: Kefu Chai + +commit baeac21515b9f472330f72fab6762e4e2535e6ba +Merge: 29eb1ec09a d91697237a +Author: Nathan Cutler +Date: Wed Apr 12 16:11:30 2017 +0200 + + Merge pull request #14155 from smithfarm/wip-18947-kraken + + kraken: rbd-mirror: additional test stability improvements + + Reviewed-by: Jason Dillaman + +commit 29eb1ec09ab66cf8d1cee411809ab44a5a5d13b6 +Merge: c2e63ada80 6269f15223 +Author: Nathan Cutler +Date: Wed Apr 12 16:10:47 2017 +0200 + + Merge pull request #14153 from smithfarm/wip-18892-kraken + + kraken: librbd: Incomplete declaration for ContextWQ in librbd/Journal.h + + Reviewed-by: Jason Dillaman + +commit c2e63ada80e3baecbaa8f567695ab860257e5cc5 +Merge: 14caf24f1f 3b0a7a8d2a +Author: Nathan Cutler +Date: Wed Apr 12 16:09:55 2017 +0200 + + Merge pull request #14151 from smithfarm/wip-18822-kraken + + kraken: tests: run-rbd-unit-tests.sh assert in lockdep_will_lock, TestLibRBD.ObjectMapConsistentSnap + + Reviewed-by: Jason Dillaman + +commit 14caf24f1f3bc94d1a2a081957376474e8c3d66f +Merge: 041b553a14 85b5817567 +Author: Nathan Cutler +Date: Wed Apr 12 16:06:58 2017 +0200 + + Merge pull request #14149 from smithfarm/wip-18777-kraken + + kraken: rbd: rbd --pool=x rename y z does not work + + Reviewed-by: Jason Dillaman + +commit 041b553a144cf798679caebcdb16d2ce2104c7ab +Merge: 1d4617e1f2 24ecaed808 +Author: Nathan Cutler +Date: Wed Apr 12 15:50:51 2017 +0200 + + Merge pull request #14315 from smithfarm/wip-19460-kraken + + kraken: build/ops: spec file mentions non-existent ceph-create-keys systemd unit file, causing ceph-mon units to not be enabled via preset + + Reviewed-by: Ken Dreyer + +commit 1d4617e1f25498a6213cf94c3ff0701b61283ed2 +Merge: c860645bfa fcb86696eb +Author: Nathan Cutler +Date: Wed Apr 12 15:42:27 2017 +0200 + + Merge pull request #13875 from smithfarm/wip-19172-kraken + + kraken: rgw: S3 create bucket should not do response in json + + Reviewed-by: Abhishek Lekshmanan + +commit c860645bfaa89ae48c4343208be8613fdc2538ce +Merge: 2b7c762223 86a9450380 +Author: Nathan Cutler +Date: Wed Apr 12 15:34:55 2017 +0200 + + Merge pull request #13873 from smithfarm/wip-19164-kraken + + kraken: rgw: radosgw-admin: add the 'object stat' command to usage + + Reviewed-by: Casey Bodley + +commit 2b7c762223ee628a8e29e216fee4417b5b570edc +Merge: 2869d35262 d96ae9ead2 +Author: Nathan Cutler +Date: Wed Apr 12 15:32:54 2017 +0200 + + Merge pull request #13245 from smithfarm/wip-18776-kraken + + kraken: rbd: qemu crash triggered by network issues + + Reviewed-by: Jason Dillaman + +commit 2869d35262bc261783b3418649458d2d6e263f18 +Merge: 9b17d88cf2 85bda6e263 +Author: Nathan Cutler +Date: Wed Apr 12 15:32:17 2017 +0200 + + Merge pull request #13247 from smithfarm/wip-18456-kraken + + kraken: rbd: attempting to remove an image with incompatible features results in partial removal + + Reviewed-by: Jason Dillaman + +commit 9b17d88cf2ef4df40d26622ffa627d2fb70a557f +Merge: 4a3f60f04f deb6d2c64c +Author: Nathan Cutler +Date: Wed Apr 12 15:31:24 2017 +0200 + + Merge pull request #13132 from rjfd/wip-18609-kraken + + kraken: librbd: allow to open an image without opening parent image + + Reviewed-by: Jason Dillaman + +commit 4a3f60f04fde783fdfbf7ce1ea592ee348be34d3 +Merge: cfed98ae29 16b2fd00ec +Author: Nathan Cutler +Date: Wed Apr 12 15:17:09 2017 +0200 + + Merge pull request #13185 from smithfarm/wip-18721-kraken + + kraken: build/ops: systemd restarts Ceph Mon to quickly after failing to start + + Reviewed-by: Boris Ranto + Reviewed-by: Wido den Hollander + +commit 57f3656231b7780ff11f95a9feaaa28c3d573b35 +Author: Jason Dillaman +Date: Thu Mar 16 12:27:08 2017 -0400 + + pybind: fix incorrect exception format strings + + Signed-off-by: Jason Dillaman + (cherry picked from commit 68617455f534a612ade1331f43b032ab524704ae) + +commit cfed98ae291f12c119083ba08fe813b9f0bc9eb9 +Merge: 5abdffe950 e40f48dbfc +Author: Nathan Cutler +Date: Wed Apr 12 13:55:16 2017 +0200 + + Merge pull request #13845 from smithfarm/wip-19147-kraken + + kraken: rgw: DUMPABLE flag is cleared by setuid preventing coredumps + + Reviewed-by: Brad Hubbard + +commit 6e5ac14ab6f53424831e4cf08a3349a12b1ca947 +Author: Radoslaw Zarzynski +Date: Fri Feb 17 00:56:34 2017 +0100 + + rgw: make sending Content-Length in 204 and 304 controllable + + This commit introduces a new configurable "rgw print prohibited + content length" to let operator decide whether RadosGW complies + to RFC 7230 (a part of the HTTP specification) or violates it + but follows the Swift's behavior. + + Fixes: http://tracker.ceph.com/issues/16602 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit d8e3e64ec97a3c222a56bb6f510e5e23d7858615) + +commit 5abdffe950b51d5aff3500fd8dd7454a279da2fc +Merge: 0517890f58 6f06cf80a7 +Author: Nathan Cutler +Date: Wed Apr 12 13:43:09 2017 +0200 + + Merge pull request #13555 from smithfarm/wip-18707-kraken + + kraken: mds: failed filelock.can_read(-1) assertion in Server::_dir_is_nonempty + + Reviewed-by: Yan, Zheng + Reviewed-by: John Spray + +commit 0517890f58106eed3c0348a0a18b24bde7b340ab +Merge: a48a897710 b464d1a571 +Author: Nathan Cutler +Date: Wed Apr 12 13:37:49 2017 +0200 + + Merge pull request #13488 from shinobu-x/wip-18955-kraken + + kraken: ceph-disk: Fix getting wrong group name when --setgroup in bluestore + + Reviewed-by: Loic Dachary + +commit a48a8977100838fc4140d9d59511a6cc21ec0075 +Merge: 59c5511cb1 29c8c3fb86 +Author: Nathan Cutler +Date: Wed Apr 12 12:46:00 2017 +0200 + + Merge pull request #13112 from jcsp/wip-18678 + + kraken: mds: finish clientreplay requests before requesting active state + + Reviewed-by: Yan, Zheng + Reviewed-by: John Spray + +commit 59c5511cb18286db1b032db8f3459763cc8dbb7c +Merge: 8ded39b989 dab9fe761e +Author: Nathan Cutler +Date: Wed Apr 12 10:52:42 2017 +0200 + + Merge pull request #14048 from asheplyakov/reindex-on-pg-split-kraken + + kraken: osd: pg log split does not rebuild index for parent or child + + Reviewed-by: Kefu Chai + +commit 8ded39b9899ea461756650c17e1446682690c6f0 +Merge: 2a2bcc6051 35b13c6687 +Author: Nathan Cutler +Date: Wed Apr 12 10:47:12 2017 +0200 + + Merge pull request #13116 from smithfarm/wip-18403-kraken + + kraken: mon: cache tiering: base pool last_force_resend not respected (racing read got wrong version) + + Reviewed-by: Kefu Chai + +commit 2a2bcc6051ad0d4badfdbabb81bd3d9cfb449234 +Merge: 005e803abe 7475e44214 +Author: Nathan Cutler +Date: Wed Apr 12 10:41:21 2017 +0200 + + Merge pull request #13487 from shinobu-x/wip-18819-kraken + + kraken: common: possible lockdep false alarm for ThreadPool lock + + Reviewed-by: Jason Dillaman + Reviewed-by: Nathan Cutler + +commit 005e803abe5dbe652bbee1c3e353fb38db446800 +Merge: 42e93ae1b5 a379430d19 +Author: Nathan Cutler +Date: Wed Apr 12 10:36:12 2017 +0200 + + Merge pull request #14147 from smithfarm/wip-18769-kraken + + kraken: rbd: [ FAILED ] TestJournalTrimmer.RemoveObjectsWithOtherClient + + Reviewed-by: Jason Dillaman + +commit 42e93ae1b5e1e65a8abb3f37469030ed4145fbda +Merge: fb29415450 ecb459f083 +Author: Nathan Cutler +Date: Wed Apr 12 02:53:06 2017 +0200 + + Merge pull request #13026 from SUSE/wip-18606-kraken + + kraken: tools: ceph-disk prepare writes osd log 0 with root owner + + Reviewed-by: Loic Dachary + +commit f9e3e9f9ff22901d90e783a28efdfafa12be650f +Author: Zack Cerza +Date: Tue Apr 11 09:25:50 2017 -0600 + + suites/upgrade-hammer-jewel-x: Add volumes + + Signed-off-by: Zack Cerza + +commit 543e4b90603b5992ea5d1c66d89e077375faf14e +Author: Nathan Cutler +Date: Thu Mar 2 12:41:07 2017 +0100 + + build/ops: add psmisc dependency to ceph-base (deb and rpm) + + Fixes: http://tracker.ceph.com/issues/19129 + Signed-off-by: Nathan Cutler + (cherry picked from commit 769b695465162bc8424abf8e2f259e6765b5bbff) + +commit fb29415450eda1ec480600132a937efbe988a1f4 +Merge: 10b441aac7 6b3655fe4b +Author: Loic Dachary +Date: Sun Apr 9 22:40:21 2017 +0200 + + Merge pull request #13497 from shinobu-x/wip-17821-kraken + + kraken: ceph-disk: does not support cluster names different than 'ceph' + + Reviewed-by: Loic Dachary + +commit 910b9899702cfc08b74df6d988e1981efdb33f88 +Author: Brad Hubbard +Date: Mon Apr 3 13:37:17 2017 +1000 + + ceph-disk: Populate mount options when running "list" + + Also tidy up by moving duplicated code into a function + + Fixes: http://tracker.ceph.com/issues/17331 + Signed-off-by: Brad Hubbard + (cherry picked from commit 7943ab2e01e24f2dfc5b6f1d3ffdc8a49e01af45) + +commit 5c7a07677aa142fadbab36d0c1b24aea32ce9ad5 +Author: Ilya Dryomov +Date: Tue Mar 28 11:49:08 2017 +0200 + + osdc/Objecter: respect epoch barrier in _op_submit() + + Epoch barrier instructs us to avoid sending (i.e. pause) any OSD ops + until we see a barrier epoch. The only thing epoch_barrier check in + target_should_be_paused() does is keep already paused ops paused. We + need to actually pause incoming OSD ops in _op_submit(). + + Fixes: http://tracker.ceph.com/issues/19396 + Signed-off-by: Ilya Dryomov + (cherry picked from commit f8e8efc0a53d7bd807cc0c2178aef7c4bed62ab7) + +commit c2cc96e6c19c77d0ea13e8a015d0dfa66ba1b304 +Author: Fabian Grünbichler +Date: Wed Mar 22 16:13:50 2017 +0100 + + common: fix segfault in public IPv6 addr picking + + sockaddr is only 16 bytes big, so declaring net as sockaddr + and then casting to sockaddr_in6 in case of IPv6 cannot + work. + + using sockaddr_storage works for both IPv4 and IPv6, and is + used in other code parts as well. + + note that the tests did not find this issue as they declared + the bigger structs and casted the references to (sockaddr *) + + Fixes: http://tracker.ceph.com/issues/19371 + Signed-off-by: Fabian Grünbichler + (cherry picked from commit ae2ee3d3835fe25b35eeb1a841ee5234cd69eb65) + +commit b49a71daf51bf2fdd892cbfc033c0760cbce0464 +Author: David Zafman +Date: Wed Jan 18 08:33:40 2017 -0800 + + osd: Calculate degraded and misplaced more accurately + + Calculate num_object_copies based on the larger of pool size, + up set size and acting set size. + + Calculate num_objects_degraded as the difference between num_object_copies + and all copies found on acting set and backfilling up set OSDs. + + Calculate num_objects_misplaced as all copies on acting set OSDs not in up set + less copies that have been backfilled to up set OSDs. + + Fixes: http://tracker.ceph.com/issues/18619 + + Signed-off-by: David Zafman + (cherry picked from commit 8423bc40759cca137f61e7b755411719a84369d4) + +commit 6d719558eb8135b3104132e7e70c163169e93876 +Author: Mingxin Liu +Date: Mon Mar 13 23:41:58 2017 +0800 + + osd: don't share osdmap with objecter when preboot + + Signed-off-by: Mingxin Liu + (cherry picked from commit a5a3644eecc49b4eea890c6999fe87536495dcbe) + +commit 24ecaed8081f0bfec3324f86423f80e5d29c99b3 +Author: Sébastien Han +Date: Thu Mar 30 09:32:31 2017 +0200 + + systemd: remove all occurence of ceph-create-keys + + ceph-create-keys unit file does not exist anymore so there is no need to + call it. + + Signed-off-by: Sébastien Han + (cherry picked from commit 205cff12b3fe577a02db119ed3084d5c46ba76ce) + +commit b77d780c91f96ce9bb63fa1c09d507d02e555178 +Author: Sébastien Han +Date: Wed Mar 29 15:47:56 2017 +0200 + + systemd: remove ceph-create-keys from presets + + ceph-create-keys unit file was removed here: + + * https://github.com/ceph/ceph/commit/8bcb4646b6b9846bb965cdec3ca2a21eb3b26bab + * https://github.com/ceph/ceph/commit/dc5fe8d415858358bd0baf5d8dce0a753f5e0cea + + As a consequence the systemctl preset command now fails to run since the + unit does not exist anymore. Due to the redirection in /dev/null we + don't know what's happening. + + Ultimately the mon unit doesn't get enabled and the mon service won't + start after reboot. + Removing the old/non-existent unit makes the command succeed now. + + Signed-off-by: Sébastien Han + (cherry picked from commit 151c0ce213186b2196531ce74478ed7671eb9819) + +commit 10b441aac71ad2d7a7ee6181c958a8bb0f710213 +Merge: 55444ce3ae df59d6d5f7 +Author: Jason Dillaman +Date: Tue Mar 28 21:00:31 2017 -0400 + + Merge pull request #14163 from trociny/wip-19368 + + kraken: librbd: possible race in ExclusiveLock handle_peer_notification + + Reviewed-by: Jason Dillaman + +commit 55444ce3aea473f5cd7c8f6eeb770b819318a6a4 +Merge: 98a87fa97c 2d668468f6 +Author: David Zafman +Date: Tue Mar 28 15:25:39 2017 -0700 + + Merge pull request #14200 from dzafman/wip-18533-again + + Fixes: http://tracker.ceph.com/issues/19391 + + Reviewed-by: Josh Durgin + +commit 2d668468f60dd55a5591aa74bda491545368eee0 +Author: David Zafman +Date: Mon Mar 20 17:28:45 2017 -0700 + + filestore, tools: Fix logging of DBObjectMap check() repairs + + Signed-off-by: David Zafman + (cherry picked from commit 1704f62c0831e6b07138f7dd14a89fef3c9ed2c1) + +commit f4945116b70b2ca457565ed313d2e0b52cf13383 +Author: David Zafman +Date: Fri Mar 3 15:04:02 2017 -0800 + + osd: Simplify DBObjectMap by no longer creating complete tables + + Bump the version for new maps to 3 + Make clone less efficient but simpler + Add rename operation (use instead of clone/unlink) + For now keep code that understands version 2 maps + + Signed-off-by: David Zafman + (cherry picked from commit 738156a99ed1caf61e5a8230eb8048360056c08e) + + No ghobject_t::operator>() so use Kraken cmp_bitwise() instead + Need to use MIN_GHOBJ/MAX_GHOBJ instead of std::min/std::max + +commit 06c27d7ec0fa31000232b8f45a0fbeb6702f0180 +Author: David Zafman +Date: Wed Feb 15 16:17:32 2017 -0800 + + ceph-osdomap-tool: Fix seg fault with large amount of check error output + + Signed-off-by: David Zafman + (cherry picked from commit 1dda0411f4fbb14ce1e0062da9f14ec3af505d39) + +commit 4810c544b10972e6b276517a2bb4ba2da0b06697 +Author: David Zafman +Date: Wed Feb 15 15:02:33 2017 -0800 + + osd: Add automatic repair for DBObjectMap bug + + Add repair command to ceph-osdomap-tool too + + Under some situations the previous rm_keys() code would + generated a corrupt complete table. There is no way to + figure out what the table should look like now. By removing + the entries we fix the corruption and aren't much worse off + because the corruption caused some deleted keys to re-appear. + + This doesn't breaking the parent/child relationship during + repair because some of the keys may still be contained + in the parent. + + Signed-off-by: David Zafman + (cherry picked from commit 4cd3c74c928a32e065ed9543d6c91d8718a6ae3d) + + Conflicts: + src/os/filestore/DBObjectMap.h (trivial) + +commit 61dad6c15dc7ac94c4bea1fb57823d78ae2db5a1 +Author: David Zafman +Date: Wed Feb 15 14:59:40 2017 -0800 + + ceph-osdomap-tool: Fix tool exit status + + Signed-off-by: David Zafman + (cherry picked from commit 666f14ed90655a2d1bedde8561949625db7a9e6c) + +commit a72f923186ac490fe780f7168a6a34c7d933cf96 +Author: Samuel Just +Date: Fri Feb 10 15:51:42 2017 -0800 + + DBObjectMap: rewrite rm_keys and merge_new_complete + + Leverage the updated in_complete_region and needs_parent to simplify + these methods. + + Signed-off-by: Samuel Just + (cherry picked from commit c4dffb68eaafe724f7fdae93a4285a7f8003ea29) + +commit 960431a6b8e79f6832a85e462889dd1f26f12624 +Author: Samuel Just +Date: Fri Feb 10 15:50:57 2017 -0800 + + DBObjectMap: strengthen in_complete_region post condition + + Previously, in_complete_region didn't guarantee anything about + where it left complete_iter pointing. It will be handy for + complete_iter to be pointing at the lowest interval which ends + after to_test. Make it so. + + Signed-off-by: Samuel Just + (cherry picked from commit 97b35f4d7d4862da4b6f50ecaef0d292a671fd04) + +commit a3c3e3ef4e3d20baf28000f11b4ea5bb45e161f9 +Author: Samuel Just +Date: Fri Feb 10 15:48:57 2017 -0800 + + DBObjectMap: fix next_parent() + + The previous implementation assumed that + lower_bound(parent_iter->key()) always leaves the iterator + on_parent(). There isn't any guarantee, however, that that + key isn't present on the child as well. + + Signed-off-by: Samuel Just + (cherry picked from commit 74a7631d0938d7b44894f022224eab10a90d5cec) + +commit 86881dd361e21e3e4553b416331ca393e88b7a3e +Author: Samuel Just +Date: Thu Feb 9 10:47:59 2017 -0800 + + test_object_map: add tests to trigger some bugs related to 18533 + + Signed-off-by: Samuel Just + (cherry picked from commit f131dbcf5bb17107c029f942a57e9bf4432a26ee) + +commit 4c7fbea9e4c171ab21f3dcd6ca0b17abb3420979 +Author: David Zafman +Date: Tue Feb 14 12:40:33 2017 -0800 + + test: Add ceph_test_object_map to make check tests + + Signed-off-by: David Zafman + (cherry picked from commit 0e97a01bd7291458881ee53cece2d887f6333669) + +commit ef5aeab9b22292c366489668ee21ce4b9d2d8572 +Author: David Zafman +Date: Wed Feb 8 18:56:27 2017 -0800 + + ceph-osdomap-tool: Add --debug and only show internal logging if enabled + + Signed-off-by: David Zafman + (cherry picked from commit 5fb2b2d13953979e5da9f571ab8c4b0b510b8368) + +commit c5d462f3524f0e5eff1594d7ddf97c3c9c0882a8 +Author: David Zafman +Date: Wed Feb 8 18:55:48 2017 -0800 + + osd: DBOjectMap::check: Dump complete mapping when inconsistency found + + Signed-off-by: David Zafman + (cherry picked from commit fcf1e17c645e8fad5216c3e59627c817e5c858c7) + +commit b37b0298ca9c002033b3ae8ebcaeb7a24690447d +Author: David Zafman +Date: Wed Feb 8 15:38:51 2017 -0800 + + test_object_map: Use ASSERT_EQ() for check() so failure doesn't stop testing + + Signed-off-by: David Zafman + (cherry picked from commit 053a273cbc02d6902a4bb1f11db1ea946498df3a) + +commit 8f297204a428b48d2119df0e1a8da41e4f15e4fb +Author: David Zafman +Date: Wed Feb 8 10:02:40 2017 -0800 + + tools: Check for overlaps in internal "complete" table for DBObjectMap + + Changed check to return an error count and fix tool error message + + Signed-off-by: David Zafman + (cherry picked from commit e5e8eb962db6187ea19b96ba29ac83469c90b4ea) + + Conflicts: + src/os/filestore/DBObjectMap.h (trivial) + +commit bc2228a903bbb89a11d7863f9307d6c3b5d4928c +Author: David Zafman +Date: Wed Feb 8 09:40:49 2017 -0800 + + tools: Add dump-headers command to ceph-osdomap-tool + + Signed-off-by: David Zafman + (cherry picked from commit f4101591ad701a62fe027c4744ca8ea505f44bdc) + + Conflicts: + src/os/filestore/DBObjectMap.h (trivial) + +commit 97186735783a9758a1695a9938b22c2b4b46f530 +Author: David Zafman +Date: Mon Feb 6 21:09:42 2017 -0800 + + tools: Add --oid option to ceph-osdomap-tool + + Signed-off-by: David Zafman + (cherry picked from commit 2d94889e9ee3359017b1efd560f3557ce03ccee6) + +commit c208c91c7f845896b4fe0befd62cc66bee69018f +Author: David Zafman +Date: Mon Feb 6 21:31:18 2017 -0800 + + osd: Remove unnecessary assert and assignment in DBObjectMap + + Fix and add comment(s) + + Signed-off-by: David Zafman + (cherry picked from commit 937e6a03ea4692cc44d53faa0615f8e808c9eb03) + +commit df59d6d5f7deb586cf14a6ef6984e6847db08852 +Author: Mykola Golub +Date: Tue Mar 28 15:55:11 2017 +0200 + + kraken: librbd: possible race in ExclusiveLock handle_peer_notification + + This is a direct commit to kraken -- the master diverged after + ManagedLock refactoring and is not affected. + + Fix: http://tracker.ceph.com/issues/19368 + Signed-off-by: Mykola Golub + +commit d91697237ad77eaf60098536a2cd3538ea9aeabf +Author: Jason Dillaman +Date: Mon Nov 21 15:31:43 2016 -0500 + + qa/workunits/rbd: resolve potential rbd-mirror race conditions + + Fixes: http://tracker.ceph.com/issues/18935 + Signed-off-by: Jason Dillaman + (cherry picked from commit 63eae97afc1a92412525468263fb8696a243ebac) + +commit 6269f152238b77b0d02e4ad865164a531541d6db +Author: Boris Ranto +Date: Wed Feb 8 23:47:57 2017 +0100 + + librbd: Include WorkQueue.h since we use it + + We use m_work_queue of type ContextWQ in handle_update function but we + do not include common/WorkQueue.h that defines ContextWQ. This results + in dereference of an incomplete type and causes build error in latest + Fedora rawhide (future 26). + + Fixes: http://tracker.ceph.com/issues/18862 + + Signed-off-by: Boris Ranto + (cherry picked from commit 480f82847ad1fc7959f1fe5a90761a5a24550993) + +commit 3b0a7a8d2aa0dbc7cfce317bd327f88afce2469e +Author: Jason Dillaman +Date: Wed Jan 18 20:54:22 2017 -0500 + + librbd: avoid possible recursive lock when racing acquire lock + + Fixes: http://tracker.ceph.com/issues/17447 + Signed-off-by: Jason Dillaman + (cherry picked from commit 5e46e8eb664f573bd70ae7c96a6d9a98b0deb09e) + +commit 85b5817567c22acf63719a65bd65e77709ffce0c +Author: Gaurav Kumar Garg +Date: Mon Jan 30 13:03:20 2017 +0100 + + rbd: destination pool should be source pool if it is not specified + + Currently if user perform image rename operation and user give pool + name as a optional parameter (--pool=) then currently + its taking this optional pool name for source pool and making + destination pool name default pool name. + With this fix if user provide pool name as a optional pool name + parameter then it will consider both soruce and destination pool + name as optional parameter pool name. + + Fixes: http://tracker.ceph.com/issues/18326 + + Reported-by: ÐœÐРК КОРЕÐБЕРГ + Signed-off-by: Gaurav Kumar Garg + (cherry picked from commit 01f23aa99fb694da326ab408e75b33c640ce660b) + +commit a379430d1921a1e5a330b4bfe0189a9a21dc5f81 +Author: Jason Dillaman +Date: Mon Jan 30 17:41:51 2017 -0500 + + journal: stop processing removal after error + + Fixed: http://tracker.ceph.com/issues/18738 + Signed-off-by: Jason Dillaman + (cherry picked from commit 040004f53f7d334fc9452e3f5fd80169cad5f65e) + +commit 51e8ba0a06f2b5574f82f0ca63a9e9b73c291b51 +Author: Orit Wasserman +Date: Sun Mar 12 12:11:28 2017 +0200 + + rgw: use rgw_zone_root_pool for region_map like is done in hammer + + Fixes: http://tracker.ceph.com/issues/19195 + Signed-off-by: Orit Wasserman + (cherry picked from commit c91dd6d9efd148e0fe0f027dde537e977de9aa26) + +commit 76ce6841f7066b4902665dcf752568d0b5417652 +Author: lu.shasha +Date: Mon Feb 27 15:52:43 2017 +0800 + + rgw: use separate http_manager for read_sync_status + + concurrent users of read_sync_status() use different cr managers, when get_resource must + use http_manager related to the cr manager. + + Fixes: http://tracker.ceph.com/issues/19236 + + Signed-off-by: Shasha Lu + (cherry picked from commit c412024889f8995d98096ac863bafee71624bd70) + +commit 84447a42e82a21e08f71ea6113216d9a2cb2ab09 +Author: Casey Bodley +Date: Thu Mar 9 15:24:08 2017 -0500 + + rgw: clear old zone short ids on period update + + the short ids of old, removed zones were being kept in the period to + guard against hash collisions with new zones + + but for a hash collision to cause a wrong object to sync, that object + would have to be uploaded simultaneously to two different zones that had + the same short id + + to avoid this, we just have to prevent the period from containing two + colliding zones at the same time - we don't have to remember old zone + short ids forever + + Fixes: http://tracker.ceph.com/issues/15618 + + Signed-off-by: Casey Bodley + (cherry picked from commit 9c45633c836c966ab1f75ea2b1ad3fa0a4886600) + +commit c56a3134ebe1b531af09b19214a16b37e0e8a6d8 +Author: Orit Wasserman +Date: Thu Mar 9 13:03:24 2017 +0200 + + rgw: skip conversion of zones without any zoneparams + + Fixes: http://tracker.ceph.com/issues/19231 + Signed-off-by: Orit Wasserman + (cherry picked from commit 36cf5a5c8179c6313346b2e29286c537c6fefce8) + +commit d0d70359811c306116921cf8f3768a97da16a813 +Author: Orit Wasserman +Date: Thu Mar 9 11:16:26 2017 +0200 + + rgw: better debug information for upgrade + + Signed-off-by: Orit Wasserman + (cherry picked from commit e9f3bf8eab1dd46a92f54b0f7afe1f4c0e4204db) + +commit 01f5d8899b8d16e419e1bfdd4e8bbd80a058df93 +Author: Danny Al-Gaaf +Date: Tue Jan 31 18:01:32 2017 +0100 + + rgw/rgw_rados.cc: prefer ++operator for non-primitive iterators + + Signed-off-by: Danny Al-Gaaf + (cherry picked from commit 7086cf9a73f2ec1eb96c0e752beb1b74fca18570) + +commit c4f8114c6b86bc1e0afabecf9424dadd30b37006 +Author: Kefu Chai +Date: Mon Mar 6 11:33:27 2017 +0800 + + brag: count the number of mds in fsmap not in mdsmap + + this change was introduced in 4e9b953 + + Fixes: http://tracker.ceph.com/issues/19192 + Signed-off-by: Peng Zhang + (cherry picked from commit 2d25a9c0c760664d3de33ecca0e0272c1031cd46) + +commit 81f3d860324da49f71b757e6cc8f32966272cf5c +Author: Brad Hubbard +Date: Tue Mar 21 12:22:20 2017 +1000 + + tools/rados: Check return value of connect + + Fail gracefully if Rados::connect returns an error. + + Fixes: http://tracker.ceph.com/issues/19319 + Signed-off-by: Brad Hubbard + (cherry picked from commit c119091ef0844e4a1ddd790a8bfef8f06bb57d58) + +commit 076e4b7991e3bd734a41604fa7cb00c7b03d7749 +Author: Casey Bodley +Date: Thu Oct 20 15:01:01 2016 -0400 + + rgw: fix break inside of yield in RGWFetchAllMetaCR + + the yield macro is implemented with for/switch, so the breaks in + RGWFetchAllMetaCR weren't being applied to the for loop as expected - + so any of these breaks send RGWFetchAllMetaCR into an infinite loop + + removed the yield {} block, so that breaks will apply to the for loop as + intended, then added a single yield; statement to allow the + entries_index consumer to run one per iteration + + Fixes: http://tracker.ceph.com/issues/17655 + + Signed-off-by: Casey Bodley + (cherry picked from commit 190bd385a7be52867d65740c410884f5c8cbc21f) + +commit 5dcf60702cd1733dbe7f2d1d7dc68a096684bf77 +Author: Casey Bodley +Date: Fri Mar 3 12:10:40 2017 -0500 + + rgw: delete_system_obj() fails on empty object name + + Signed-off-by: Casey Bodley + (cherry picked from commit 67401193f871db95a6045915fa59dce8c5dd1012) + +commit dea53b3bf267709d2a8daacd961997892ad2d0f4 +Author: Casey Bodley +Date: Fri Mar 3 11:42:45 2017 -0500 + + rgw: if user.email is empty, dont try to delete + + Fixes: http://tracker.ceph.com/issues/18980 + + Signed-off-by: Casey Bodley + (cherry picked from commit 022ecf0fcc8e44912c8758ee1d9a452dc23cbbce) + +commit dab9fe761ec7f46b7da035f710f824516363119c +Author: Sage Weil +Date: Fri Feb 17 12:46:38 2017 -0500 + + osd/PGLog: avoid return by value on ginormous log + + Signed-off-by: Sage Weil + (cherry picked from commit a6ead998771753d95382abd082f451e6f67744e4) + +commit eac5610896e59bc8e711ed48446aa6967ebb61c8 +Author: Sage Weil +Date: Fri Feb 17 14:50:38 2017 -0500 + + osd/PGLog: reindex properly on pg log split + + When pg_log_t::split_out_child() runs it builds the list, which means the + old indexes are wrong (the point to bad memory), but index() will not + rebuild them because ever since b858e869e78927dccebaa350d246bd74af7f1de9 + we won't rebuild them if they are already built. + + Fix that by calling unindex() before the split. + + Further, the new child log also needs to be indexed. Fix that too. + + Fixes: http://tracker.ceph.com/issues/18975 + Signed-off-by: Sage Weil + (cherry picked from commit 643ae42cf27f16dd6ed4e1402acc0483bb9fca74) + +commit 0227920438d98a8c1d74f0ec7a95bc63fa066acf +Author: Ilya Dryomov +Date: Wed Mar 1 17:19:04 2017 +0100 + + osd/OSDMap: don't set weight to IN when OSD is destroyed + + Since commit 4e28f9e63644 ("osd/OSDMap: clear osd_info, osd_xinfo on + osd deletion"), weight is set to IN when OSD is deleted. This changes + the result of applying an incremental for clients, not just OSDs. + Because CRUSH computations are obviously affected, pre-4e28f9e63644 + servers disagree with post-4e28f9e63644 clients on object placement, + resulting in misdirected requests. + + Fixes: http://tracker.ceph.com/issues/19119 + Signed-off-by: Ilya Dryomov + (cherry picked from commit a6009d1039a55e2c77f431662b3d6cc5a8e8e63f) + +commit d4a43e1fd56cfce1e1b64827a3d98c14ec69e193 +Author: Jing Wenjun +Date: Fri Feb 3 19:06:31 2017 +0800 + + rgw: swift: fix anonymous user's error code of getting object + + The openstack swift will return 401 rather than 403 when + the anon user has no permission to get objects. + + Fixes: http://tracker.ceph.com/issues/18806 + Signed-off-by: Jing Wenjun + (cherry picked from commit 318de28e1011914dc7f3701549eb3ef227abbc3c) + +commit fcb86696eb4999689c7da71d565e1262beba9dec +Author: Abhishek Lekshmanan +Date: Thu Feb 16 17:40:50 2017 +0100 + + doc: rgw: make a note abt system users vs normal users + + Mention that system users don't behave like normal users in context of + normal rest operations + + Fixes: http://tracker.ceph.com/issues/18889 + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit a47bcf70c9f51a6601b809cba219f5615b204d34) + +commit 86a945038059d976e2f7227d9ee327ec2899d15c +Author: root +Date: Tue Feb 7 14:37:36 2017 +0530 + + rgw: Let the object stat command be shown in the usage + + Fixes: http://tracker.ceph.com/issues/19013 + Signed-off-by: Pavan Rallabhandi + (cherry picked from commit 0fe76f83d19be098ef54fb0492a376fef3aa9e23) + +commit 1f86be6e19dc3e26f62bf57c55d662414247b480 +Author: Casey Bodley +Date: Mon Feb 20 16:00:01 2017 -0500 + + rgw: RGWMetaSyncShardControlCR retries with backoff on all error codes + + RGWBackoffControlCR only treats EBUSY and EAGAIN as 'temporary' error + codes, with all other errors being fatal when exit_on_error is set + + to RGWMetaSyncShardControlCR, a 'fatal' error means that no further sync + is possible on that shard until the gateway restarts + + this changes RGWMetaSyncShardControlCR to set exit_on_error to false, so + that it will continue to retry with backoff no matter what error code it + gets + + Fixes: http://tracker.ceph.com/issues/19019 + + Signed-off-by: Casey Bodley + (cherry picked from commit 3e4059557fd6cad5d31014327f60832b36d04a6c) + +commit b39bef09611653723a29c989a6012064f17bd586 +Author: root +Date: Tue Feb 21 16:33:29 2017 +0530 + + rgw: Correct the return codes for the health check feature + Fixes: http://tracker.ceph.com/issues/19025 + Signed-off-by: Pavan Rallabhandi + + (cherry picked from commit 4da2bf310f6d43423554c32e43ebf90ad2c3f3a9) + +commit 5e15025ffbf80f65cde891ad47fe1f1b913465cd +Author: Ronak Jain +Date: Wed Feb 22 12:03:46 2017 +0530 + + rgw: Fixes typo in rgw_admin.cc + + Issue: http://tracker.ceph.com/issues/19026 + Signed-off-by: Ronak Jain + (cherry picked from commit 58837ef6ce8cbcfc2cac29d5f833b2cf62d8737a) + +commit e40f48dbfce23cbc2164f8789db4688fbec9c3bb +Author: Brad Hubbard +Date: Mon Feb 27 13:06:59 2017 +1000 + + rgw: set dumpable flag after setuid post ff0e521 + + ff0e521 resolved the issue for the other daemons but not for rgw since + it calls setuid (via civetweb) after the new code sets PR_SET_DUMPABLE. + Add another prctl call before wait_shutdown. + + Fixes: http://tracker.ceph.com/issues/19089 + + Signed-off-by: Brad Hubbard + (cherry picked from commit bc458d39630b599e0e1ca9fe25ad7455fcffdd10) + +commit 47cf8f6699ec0690e2a296b3abe289ce5d212e1c +Author: Yehuda Sadeh +Date: Mon Feb 27 10:35:01 2017 -0800 + + rgw: don't init rgw_obj from rgw_obj_key when it's incorrect to do so + + Fixes: http://tracker.ceph.com/issues/19096 + + rgw_obj_key currently deals with the bucket index key, and not + representing a (name, instance, ns) tupple. Need to initialize + it in two steps. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 392c5d9dae6ba699014ffe6e1e67818fa62d7e41) + +commit 03b1ab4b13780a53c7b9017f3a6207dab2ffff5b +Author: Jing Wenjun +Date: Thu Jan 19 21:00:26 2017 +0800 + + rgw: swift: the http referer acl in swift API should be shown + The container acl about http referer set should be shown in container metadata dump. + + Fixes: http://tracker.ceph.com/issues/18665 + Signed-off-by: Jing Wenjun + (cherry picked from commit 3860ddad084c5b8d9d5ec83aeb3220207cd0e5ad) + +commit 98a87fa97c9b23e21a05130c72730f5034691310 +Merge: 7e16ea218d e2074cef71 +Author: Sage Weil +Date: Sat Mar 4 11:22:44 2017 -0600 + + Merge pull request #13501 from shinobu-x/wip-18371-kraken + + kraken: ceph-disk: error on _bytes2str + +commit 46548c51255518e422d544f0d0776068051fdacc +Author: Adam C. Emerson +Date: Mon Nov 14 19:33:56 2016 -0500 + + common: Unskew clock + + In preparation to deglobalizing CephContext, remove the CephContext* + parameter to ceph_clock_now() and ceph::real_clock::now() that carries + a configurable offset. + + Signed-off-by: Adam C. Emerson + (cherry picked from commit 750ad8340c827d2f8896e1251e45f921dddb9f30) + + Conflicts: + src/mon/PGMonitor.cc + +commit 1120cd74d88b163f7cd1c81ae5670bf6d6153715 +Author: Sage Weil +Date: Tue Jan 31 12:31:42 2017 -0500 + + mon/PGMonitor: fix force_create_pg + + We weren't carefully registering the creating PG. In + particular, the current osd mappings (acting, up, etc.) + weren't getting filled in, which meant the PG wasn't + (necessarily) mapped to an OSD until the OSDMap updated + and we recalculated mappings. + + Fix by sending us through the common code path so that + all fields get updated properly. + + Fixes: http://tracker.ceph.com/issues/18298 + Signed-off-by: Sage Weil + (cherry picked from commit 9a41a0b7289fa59f4b747a63e152e88af6e8abd5) + + Conflicts: + src/mon/PGMonitor.cc + +commit 396f3325507cf899433da0a5f4964b81e0c2caa8 +Author: Sage Weil +Date: Tue Jan 31 12:31:12 2017 -0500 + + mon/PGMonitor: clean up some send_pg_creates cruft + + ff1fd4b4b69b52ef5ae734115b1d733aad03b03e already removed most of + this; remove the now useless stub and clean up the unneede con + check. + + Signed-off-by: Sage Weil + (cherry picked from commit b79a85e80a1a660c5a5746270edb86d3f09cd983) + + Conflicts: + src/mon/PGMonitor.cc + +commit 6196b6edd5ea87c9fabe598a309516e1c0ba73e9 +Author: Sage Weil +Date: Fri Dec 16 17:42:26 2016 -0500 + + mon/MonCommands: remove send_pg_creates from cmd table + + Forgot this in 6cbdd6750cf330047d52817b9ee9af31a7d318ae + + Signed-off-by: Sage Weil + (cherry picked from commit 15f17bcca0bde2ed15bb45d67659f4ebbd4cb516) + +commit c8d70ee0129ce2cc459a2be386531aeee5c6c422 +Author: Jing Wenjun +Date: Thu Jan 19 21:26:17 2017 +0800 + + rgw: swift: The http referer should be parsed to compare in swift API + The http referer should be parsed to compare with the url set on the container read acl. If we set .r:www.example.com on container read acl, we should parse the hostname 'www.example.com' of the http referer like 'http://www.example.com' from the http request. + + Fixes: http://tracker.ceph.com/issues/18685 + Signed-off-by: Jing Wenjun + (cherry picked from commit 941dfad67174ae3ec517e76bf4028c50fb46fe82) + +commit 7e16ea218d38703f1903dca002905f040a821590 +Merge: ccc1982472 6adf39b983 +Author: Kefu Chai +Date: Fri Mar 3 11:14:48 2017 +0800 + + Merge pull request #13757 from liewegas/wip-pgp-kraken + + qa/tasks: set pgp = pg num on thrashing finish + + Reviewed-by: Kefu Chai + +commit 6adf39b98305b6af8d0192b35ec22c5007293d32 +Author: Kefu Chai +Date: Sun Feb 19 13:10:44 2017 +0800 + + test: Thrasher: do not update pools_to_fix_pgp_num if nothing happens + + we should not update pools_to_fix_pgp_num if the pool is not expanded or + the pg_num is not increased due to pgs being created. this prevent us + from fixing the pgp_num after done with thrashing if we actually did + nothing when fixing the pgp_num when thrashing, but we removed the pool + from pools_to_fix_pgp_num after set_pool_pgpnum() returns. + + Signed-off-by: Kefu Chai + (cherry picked from commit c0f0cde399a80cea617c115417e5390a63ec674e) + +commit ab5538fd7e3b727616272edb565e3782d004632a +Author: Kefu Chai +Date: Sun Feb 12 13:16:57 2017 +0800 + + test: Thrasher: update pgp_num of all expanded pools if not yet + + otherwise wait_until_healthy will fail after timeout as seeing warning + like: + + HEALTH_WARN pool cephfs_data pg_num 182 > pgp_num 172 + + Signed-off-by: Kefu Chai + (cherry picked from commit 136483a8f940710cbe40804afa7af2eac6728d50) + +commit ccc1982472898efe2fcbd6b1cd3cad7afbf2c015 +Merge: ae8eff5f2d 2c9889bb76 +Author: Zack Cerza +Date: Wed Mar 1 15:16:17 2017 -0700 + + Merge pull request #13707 from zmc/wip-openstack-volumes-kraken + + qa/suites/ceph-deploy: Drop OpenStack volume count + +commit 2c9889bb768198fe292de0c3edb076707e8a50e0 +Author: Zack Cerza +Date: Tue Feb 28 13:07:15 2017 -0700 + + qa/suites/ceph-deploy: Drop OpenStack volume count + + Looks like we only need two per node, since there is only one OSD per + node, and ceph-deploy wants two disks per OSD to account for the + journal. + + Signed-off-by: Zack Cerza + (cherry picked from commit 87072e277c9ef259c9ee2ae1f761e252aa216713) + +commit ae8eff5f2dddcc064485ab69221c6d716e63925f +Merge: 9fa9248e92 f9a282bc9d +Author: Zack Cerza +Date: Mon Feb 27 12:23:10 2017 -0700 + + Merge pull request #13673 from zmc/wip-openstack-volumes-kraken + + qa/suites/{ceph-ansible,rest}: OpenStack volumes + +commit f9a282bc9dda98a103db2c7ebe63450dad23cc5b +Author: Zack Cerza +Date: Mon Feb 27 09:14:41 2017 -0700 + + qa/suites/rest: Openstack volumes + + Signed-off-by: Zack Cerza + (cherry picked from commit 99d942145f4206c00aca30c0bb74f0edc4bac798) + +commit e0332944c7647cc269d6b18ca867896d5bea2fa7 +Author: Zack Cerza +Date: Mon Feb 27 09:06:26 2017 -0700 + + qa/suites/ceph-ansible: Openstack volumes + + Signed-off-by: Zack Cerza + (cherry picked from commit 964b983bdbd412311bce56184d12d1b6d43c7f28) + +commit 9fa9248e92f34127ca8b0d3b021b5ac0da0f6609 +Merge: f159208832 b2e3692347 +Author: Brad Hubbard +Date: Sun Feb 26 09:23:43 2017 +1000 + + Merge pull request #13485 from shinobu-x/wip-18644-kraken + + kraken: osd: condition object_info_t encoding on required (not up) features + + Reviewed-by: Nathan Cutler + +commit f1592088328480c6545435a7031d8f06277a9d0c +Merge: c59d13d162 2ab8239b09 +Author: Zack Cerza +Date: Fri Feb 24 17:22:11 2017 -0700 + + Merge pull request #13641 from zmc/wip-fs-openstack-kraken + + qa/suites/fs: Add openstack volume configuration + +commit 2ab8239b09f5d1215ad828eae7c64fb0f199d663 +Author: Zack Cerza +Date: Fri Feb 24 15:25:19 2017 -0700 + + qa/suites/fs: Add openstack volume configuration + + Signed-off-by: Zack Cerza + (cherry picked from commit b076d89a3f1fbad7d477913812b2e17529abeacf) + +commit c59d13d162a2b2d51fe7c65a56a2a17b7d94aa8f +Merge: 8f1f2018fb 596cfbbd0f +Author: Zack Cerza +Date: Fri Feb 24 14:44:04 2017 -0700 + + Merge pull request #13638 from zmc/wip-openstack-volumes-kraken + + qa/suites/{knfs,hadoop,samba}: OpenStack volume configuration + +commit 8f1f2018fb06bd56b63cb661a852ba6b44c5e749 +Merge: 1e71356ee4 cec66c4dac +Author: Zack Cerza +Date: Fri Feb 24 14:43:34 2017 -0700 + + Merge pull request #13635 from zmc/wip-kcephfs-openstack-kraken + + qa/suites/kcephfs: Openstack volume configuration + +commit 6b3655fe4bd3c493e6b10dd597d791a5b572df2b +Author: Loic Dachary +Date: Wed Feb 22 01:49:12 2017 +0100 + + ceph-disk: dmcrypt activate must use the same cluster as prepare + + When dmcrypt is used, the fsid cannot be retrieved from the data + partition because it is encrypted. Store the fsid in the lockbox to + enable dmcrypt activation using the same logic as regular activation. + + The fsid is used to retrive the cluster name that was used during + prepare, reason why activation does not and must not have a --cluster + argument. + + Fixes: http://tracker.ceph.com/issues/17821 + + Signed-off-by: Loic Dachary + (cherry picked from commit 7f66672b675abbc0262769d32a38112c781fefac) + + Conflicts: + src/ceph-disk/ceph_disk/main.py + +commit 596cfbbd0fc521ef66e7e11a7098ea78adeb2565 +Author: Zack Cerza +Date: Fri Feb 24 13:46:54 2017 -0700 + + qa/suites/samba: Openstack volume configuration + + Signed-off-by: Zack Cerza + (cherry picked from commit e0296d706422ea4dc01d84f8786f6f7104c3d996) + +commit 3359050ce87426f3b41afe85c117de2d47ece395 +Author: Zack Cerza +Date: Fri Feb 24 13:45:18 2017 -0700 + + qa/suites/hadoop: Openstack volume configuration + + Signed-off-by: Zack Cerza + (cherry picked from commit 3fef0a49da2ccfdceba7b98e9096be8305da1111) + +commit a2ff395cb66fc20fd9a18e74a6cba5510d144a61 +Author: Zack Cerza +Date: Fri Feb 24 13:44:33 2017 -0700 + + qa/suites/knfs: Add openstack volume configuration + + Signed-off-by: Zack Cerza + (cherry picked from commit 62c6fd3371adf0f420c12d9c7e2b3a2a0c69256b) + +commit cec66c4dacb39600f74927c9f8890805d3f7acdc +Author: Zack Cerza +Date: Fri Feb 24 13:37:23 2017 -0700 + + qa/suites/kcephfs: Openstack volume configuration + + Signed-off-by: Zack Cerza + (cherry picked from commit ec6fb28eaf8e2db327e4afc115879a40c7664e07) + +commit 1e71356ee44828a0624d77f77b6a22580d1df28b +Merge: 90c61976e8 7439d4cff2 +Author: Zack Cerza +Date: Fri Feb 24 12:16:02 2017 -0700 + + Merge pull request #13633 from zmc/wip-krbd-openstack-kraken + + qa/suites/krbd: Add openstack volume configuration + +commit 90c61976e82c5e23d4d3cbae00eddb47e649bb65 +Merge: 91a2ab03e2 4c55a78a52 +Author: Zack Cerza +Date: Fri Feb 24 12:15:29 2017 -0700 + + Merge pull request #13613 from ceph/wip-rgw-openstack-kraken + + qa/suites/rgw: Add openstack volume configuration + +commit 91a2ab03e268227164ffec37b693d370485cc004 +Merge: 6c6b185bab 19ca0db392 +Author: Yuri Weinstein +Date: Fri Feb 24 10:37:12 2017 -0800 + + Merge pull request #13618 from tmuthamizhan/wip-rm-trusty-kraken + + qa: drop ubuntu trusty support + + Reviewed-by: Yuri Weinstein + +commit 7439d4cff231e31dbf7c19591560bc0aa778f68a +Author: Zack Cerza +Date: Fri Feb 24 11:17:45 2017 -0700 + + qa/suites/krbd: Add openstack volume configuration + + Signed-off-by: Zack Cerza + (cherry picked from commit 201b4d0d1e92bf95ac6a8f2951b664763030f12d) + +commit 4c55a78a52f9e089b97ab8a2feb9876ebdba0516 +Author: Zack Cerza +Date: Thu Feb 23 10:14:05 2017 -0700 + + qa/suites/rgw: Add openstack volume configuration + + Without this, OSDs will fail to create on instances whose root fs isn't + xfs. + + (cherry picked from commit 8af4c35f9577ef5a88307ea5cbbe2561a473926c) + Signed-off-by: Zack Cerza + +commit b2e369234705ae78774261c62081729e6a50e8e5 +Author: Ilya Dryomov +Date: Mon Feb 6 12:51:05 2017 +0100 + + osd/OSDMap: require OSD features only of OSDs + + Fix up commit 1a5cc32f0a3b ("osd/OSDMap: reflect REQUIRE_*_OSDS flag in + required features") -- require_*_osds shouldn't affect older clients. + + Fixes: http://tracker.ceph.com/issues/18831 + Signed-off-by: Ilya Dryomov + (cherry picked from commit ab558bbf2956157cbde59c155a5180a62ae73d07) + + Conflicts: + src/osd/OSDMap.cc + +commit 19ca0db392b7bdf9758aae4fb6bb6cb927411568 +Author: Tamil Muthamizhan +Date: Fri Feb 17 21:06:43 2017 +0000 + + qa: drop ubuntu trusty support + + ceph-ansible dropped support for OS that doesnt support systemd + + Signed-off-by: Tamil Muthamizhan + (cherry picked from commit 4d4b38eca81f7b57e3d3b31e1c13e7ab0ba5b30f) + Signed-off-by: Tamil Muthamizhan + +commit 6c6b185bab1e0b7d7446b97d5d314b4dd60360ff +Merge: 7d9ef63d65 8ea14ce9ce +Author: Yuri Weinstein +Date: Thu Feb 23 14:55:56 2017 -0800 + + Merge pull request #13283 from zmc/wip-smoke-openstack-kraken + + qa/suites/smoke: add openstack requirements + + Reviewed-by: Yuri Weinstein + +commit dc8ef3508b0b3f902772eed947e5861720036dab +Author: Nathan Cutler +Date: Thu Feb 2 23:23:54 2017 +0100 + + tests: Thrasher: eliminate a race between kill_osd and __init__ + + If Thrasher.__init__() spawns the do_thrash thread before initializing the + ceph_objectstore_tool property, do_thrash races with the rest + of Thrasher.__init__() and in some cases do_thrash can call kill_osd() before + Trasher.__init__() progresses much further. This can lead to an exception + ("AttributeError: Thrasher instance has no attribute 'ceph_objectstore_tool'") + being thrown in kill_osd(). + + This commit eliminates the race by making sure the ceph_objectstore_tool + attribute is initialized before the do_thrash thread is spawned. + + Fixes: http://tracker.ceph.com/issues/18799 + Signed-off-by: Nathan Cutler + (cherry picked from commit b519d38fb1967628ad8a1c46fcfb3f984de58790) + +commit 7d9ef63d65aad40ce1f2f9f324d68c5fa9d77369 +Merge: 033fdb1406 ab8558e05e +Author: Mykola Golub +Date: Tue Feb 21 16:16:26 2017 +0200 + + Merge pull request #13201 from dillaman/wip-18703-kraken + + kraken: librbd: prevent self-blacklisting during break lock + + Reviewed-by: Mykola Golub + +commit 033fdb14064d2a5ae9078944ab5ae8938a583d81 +Merge: f65754e312 cc04659798 +Author: Mykola Golub +Date: Tue Feb 21 16:15:35 2017 +0200 + + Merge pull request #13102 from dillaman/wip-18668 + + kraken: test: use librados API to retrieve config params + + Reviewed-by: Mykola Golub + +commit 6f06cf80a7ff7407af40f46a0aefb4b88f926390 +Author: Yan, Zheng +Date: Wed Jan 18 16:23:49 2017 +0800 + + mds: fix incorrect assertion in Server::_dir_is_nonempty() + + when filelock is in XLOCKDONE state. client of xlocker can rdlock + the filelock. In that case, only client of xlocker can read the lock. + + Fixes: http://tracker.ceph.com/issues/18578 + Signed-off-by: Yan, Zheng + (cherry picked from commit fe4ab52b30079a785be053a9fd0197d6990737fe) + +commit 914d8a6109f7c2125080104bd4bf463c45833c3c +Author: craigchi +Date: Thu Feb 16 19:21:48 2017 +0800 + + ceph-disk: Fix getting wrong group name when --setgroup in bluestore + + ceph-disk prepare --setgroup will be wrong when using with + bluestore + + Signed-off-by: craigchi + (cherry picked from commit a8c0870e7370a0948e8e7fd53d3376b85bf9c649) + +commit 1bc9cfff42237b572e90e976697b1ac5faafad4a +Author: Sage Weil +Date: Tue Feb 14 15:00:09 2017 -0500 + + osd/PG: restrict want_acting to up+acting on recovery completion + + On recovery completion we recalculate want_acting to see if we + should add recently backfilled osds into acting. However, at + this point we may have gotten infos from others OSDs outside + of up/acting that could be used for want_acting. We currently + assert that only up/acting osds are used in + PG::RecoveryState::Active::react(const AdvMap&), so we must + restrict want_acting to up/acting here. + + We could remove this restriction, but it would mean + + 1) checking on every map change that want_acting hasn't been + invalidated, and if so, recalculating want_acting and requesting + a new pg_temp. Also, presumably + + 2) on each new info, checking whether we can construct a better + want_acting, and if so, doing it. + + That would be a good thing, but is a more complicated change. In + reality this case comes up very rarely, so simply make our + post-recovery want_acting calculation limit itself to up+acting. + + See 1db67c443d84dc5d1ff53cc820fdfd4a2128b680 for the assertion. + + Signed-off-by: Sage Weil + (cherry picked from commit 0f2dee9aa48a00a7f2f809cd4d20e98df771da81) + +commit e2074cef713a973f7e8fe23055e6fa27cae50e42 +Author: Kefu Chai +Date: Tue Jan 3 20:40:00 2017 +0800 + + ceph-disk: convert none str to str before printing it + + Error('somethings goes wrong', e) is thrown if exception `e` is caught + in ceph-disk, where e is not a string. so we can not just concat it in + Error's __str__(). so cast it to str before doing so. + + introduced by d0e29c7 + + Fixes: http://tracker.ceph.com/issues/18371 + Signed-off-by: Kefu Chai + (cherry picked from commit 5e0dd1e7df43a3be589d17878714756a22052d8e) + +commit 177141ff1745e93996875b7d8d72af6f00307731 +Author: Sage Weil +Date: Wed Jan 18 17:02:54 2017 -0600 + + mon/OSDMonitor: make 'osd crush move ...' work on osds + + Currently it only allows you to move buckets, which is annoying and much + less useful. To move an OSD you need to use create-or-move, which is + harder to use. + + Fixes: http://tracker.ceph.com/issues/18587 + Signed-off-by: Sage Weil + (cherry picked from commit 47956475dea8bb8e07331dd76344a60b776b5158) + +commit 8c2f590338dec75dabfb1e9ae0d2c516c91b2636 +Author: Boris Ranto +Date: Wed Jan 25 12:39:40 2017 +0100 + + systemd: Start OSDs after MONs + + Currently, we start/stop OSDs and MONs simultaneously. This may cause + problems especially when we are shutting down the system. Once the mon + goes down it causes a re-election and the MONs can miss the message + from the OSD that is going down. + + Resolves: http://tracker.ceph.com/issues/18516 + + Signed-off-by: Boris Ranto + (cherry picked from commit 7f4acf45dd0d86e7d9992a8c30e5876fb57b1914) + +commit 33d9a50dec40346511f8480061dadab2a30174cc +Author: Alexey Sheplyakov +Date: Tue Feb 7 16:47:45 2017 +0400 + + ceph-osd: --flush-journal: sporadic segfaults on exit + + FileStore holds a number of recources like op thread pool and work + queue, key/value DB threads, etc. These should be properly stopped + (released) before exiting to avoid segfaults on exit. + + Note: more code paths (mkfs, dump_journal, etc) need similar fixes, + these will be submitted as separate patches. + + Fixes: http://tracker.ceph.com/issues/18820 + Signed-off-by: Alexey Sheplyakov + (cherry picked from commit 00184814c156f6194a6ba4b696073ca1c18a3f8f) + +commit b464d1a5719ef36410a38cb31e8c4aab802732a6 +Author: craigchi +Date: Thu Feb 16 19:21:48 2017 +0800 + + ceph-disk: Fix getting wrong group name when --setgroup in bluestore + + ceph-disk prepare --setgroup will be wrong when using with + bluestore + + Signed-off-by: craigchi + (cherry picked from commit a8c0870e7370a0948e8e7fd53d3376b85bf9c649) + +commit 7475e442143de0f0b1919ec8dab8b6d2446eb12b +Author: Mykola Golub +Date: Sat Feb 4 15:27:11 2017 +0100 + + common: possible lockdep false alarm for ThreadPool lock + + Fixes: http://tracker.ceph.com/issues/18819 + Signed-off-by: Mykola Golub + (cherry picked from commit 8677dea4cd462d2141da28623a82b208cbc926f6) + +commit f65754e312f11823c5bb7e9fe24655f3fd68bcd2 +Merge: 21b2aa49b3 476b535f85 +Author: Loic Dachary +Date: Mon Feb 13 08:19:36 2017 +0100 + + Merge pull request #13330 from smithfarm/wip-18870-kraken + + kraken: tests: SUSE yaml facets in qa/distros/all are out of date + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Loic Dachary + +commit 21b2aa49b35bbbbd87ad3b3f27920e79c569f17a +Merge: 958a4c9cc1 d819ec7198 +Author: Yuri Weinstein +Date: Fri Feb 10 15:41:06 2017 -0800 + + Merge pull request #12984 from ceph/wip-cherry-pick-4tamil + + qa: Wip cherry pick 4tamil ceph-ansible + + Reviewed-by: Yuri Weinstein + +commit 958a4c9cc135c34f18aa83a62b726bcefbb511b7 +Merge: b2955f4cc5 c968ed34b1 +Author: Kefu Chai +Date: Thu Feb 9 22:48:01 2017 +0800 + + Merge pull request #13239 from smithfarm/wip-18805-kraken + + kraken: tests: ignore bogus ceph-objectstore-tool error in ceph_manager + + Reviewed-by: Kefu Chai + +commit 476b535f85c5b9a8bcd294e1b1629849efe9e391 +Author: Nathan Cutler +Date: Wed Feb 8 21:23:54 2017 +0100 + + tests: drop buildpackages.py + + The buildpackages suite has been moved to teuthology. This cleans up a file + that was left behind by https://github.com/ceph/ceph/pull/13297 + + Fixes: http://tracker.ceph.com/issues/18846 + Signed-off-by: Nathan Cutler + (cherry picked from commit 6b7443fb50c117ee7f20d53bbc7530bb0eb7ebd5) + +commit ad456bfa2bab14032593c76b5a7f7434381bd1e8 +Author: Nathan Cutler +Date: Wed Feb 8 15:27:00 2017 +0100 + + tests: update SUSE yaml facets in qa/distros/all + + Fixes: http://tracker.ceph.com/issues/18856 + Signed-off-by: Nathan Cutler + (cherry picked from commit 0bd56e871a8549d4b0b1211f09dad2d1120fb606) + +commit b2955f4cc5506224d75e64c202392ee9a39fb7bf +Merge: ce8edcfed6 d24ddec58e +Author: Loic Dachary +Date: Wed Feb 8 18:50:52 2017 +0100 + + Merge pull request #13298 from dachary/wip-18849-kraken + + kraken: tests: remove qa/suites/buildpackages + + Reviewed-by: Nathan Cutler + +commit d24ddec58e0086ce6a5f08feb6a96c4022f13a4a +Author: Loic Dachary +Date: Tue Feb 7 18:33:29 2017 +0100 + + buildpackages: remove because it does not belong + + It should live in teuthology, not in Ceph. And it is currently broken: + there is no need to keep it around. + + Fixes: http://tracker.ceph.com/issues/18846 + + Signed-off-by: Loic Dachary + (cherry picked from commit 5a43f8d57925da227c95480501ceec10a29395d8) + +commit c968ed34b100baeb3a6a3245ad39c2a2d6fab04e +Author: Nathan Cutler +Date: Mon Feb 6 18:43:49 2017 +0100 + + tests: fix regression in qa/tasks/ceph_master.py + + https://github.com/ceph/ceph/pull/13194 introduced a regression: + + 2017-02-06T16:14:23.162 INFO:tasks.thrashosds.thrasher:Traceback (most recent call last): + File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 722, in wrapper + return func(self) + File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 839, in do_thrash + self.choose_action()() + File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 305, in kill_osd + output = proc.stderr.getvalue() + AttributeError: 'NoneType' object has no attribute 'getvalue' + + This is because the original patch failed to pass "stderr=StringIO()" to run(). + + Fixes: http://tracker.ceph.com/issues/16263 + Signed-off-by: Nathan Cutler + Signed-off-by: Kefu Chai + (cherry picked from commit db2582e25e390fcaf75952eb59a73dcff643f49c) + +commit d8c0141a7506cd38d385270f5a1cf315d808974e +Author: Sage Weil +Date: Fri Dec 30 17:28:59 2016 -0500 + + osd/PG: publish PG stats when backfill-related states change + + These frequently get flushed because other updates + happen, but we should explicitly ensure that the mon + sees these state changes. + + Fixes: http://tracker.ceph.com/issues/18369 + Signed-off-by: Sage Weil + (cherry picked from commit d4adeb7500a113097fdd717ada0231f68badafbb) + +commit 1d25327b00f01e987dec022412edb95040d69a42 +Author: Sage Weil +Date: Thu Jan 26 14:22:53 2017 -0500 + + os/bluestore: fix statfs to not include DB partition in free space + + If we report the DB space as vailable, ceph thinks the OSD can store more + data and will not mark the cluster as full as easily. And in reality, we + can't actually store data in this space--only metadata. Avoid the problem + by not reporting it as available. + + Fixes: http://tracker.ceph.com/issues/18599 + Signed-off-by: Sage Weil + (cherry picked from commit c66d5babb1e283869ba0f1f59029bead5ca5f37d) + +commit 8ea14ce9ce185204f6906b3919f7fac1419a26a9 +Author: Zack Cerza +Date: Thu Jan 12 14:55:26 2017 -0700 + + Add openstack requirements to smoke suite + + Signed-off-by: Zack Cerza + (cherry picked from commit fe9b7552d116b150f178c4cc778fa27cd8d956d1) + +commit af2af7015adb0e6617da619ffe89e70e0904fcec +Author: Sage Weil +Date: Fri Feb 3 17:38:05 2017 -0500 + + osd: do not send ENXIO on misdirected op by default + + In practice this tends to get bubbled up the stack as an error on + the caller, and they usually do not handle it properly. For example, + with librbd, this turns into EIO and break the VM. + + Instead, this will manifest as a hung op on the client. That is + also not ideal, but given that the root cause here is generally a + bug, it's not clear what else would be better. + + We already log an error in the cluster log, so teuthology runs will + continue to fail. + + Signed-off-by: Sage Weil + (cherry picked from commit 923e7f5ce5ed437af15e178299a61029ff48e4a2) + + # Conflicts: + # PendingReleaseNotes + +commit 85bda6e263400118830aa40a889bdb695d321b58 +Author: Dongsheng Yang +Date: Thu Dec 22 21:00:41 2016 -0500 + + librbd: don't remove an image w/ incompatible features + + Fixes: http://tracker.ceph.com/issues/18315 + Signed-off-by: Dongsheng Yang + (cherry picked from commit f76127b5e617923d14adb62bfb836a635c14f209) + +commit d96ae9ead2d2f58180e533a63c640098d5134047 +Author: Jason Dillaman +Date: Tue Jan 17 11:55:00 2017 -0500 + + osdc: cache should ignore error bhs during trim + + A read error (such as injecting a timeout into an OSD op) might result + in a bh in an error state. These should be trimable by the cache. + + Fixes: http://tracker.ceph.com/issues/18436 + Signed-off-by: Jason Dillaman + (cherry picked from commit 5910ed9de9856b5821488a1836487bbbd3d6460e) + +commit 9620088542f80efb97960b4d9d51876ff1784aa9 +Author: Nathan Cutler +Date: Tue Jan 31 00:46:22 2017 +0100 + + tests: ignore bogus ceph-objectstore-tool error in ceph_manager + + Fixes: http://tracker.ceph.com/issues/16263 + Signed-off-by: Nathan Cutler + (cherry picked from commit 046e873026c59e733f1844b28ffdc030cbe57b36) + +commit baa42b6d7c616e4d3518416fcb86fef5c12a82db +Author: Piotr DaÅ‚ek +Date: Tue Jan 31 16:07:18 2017 +0100 + + OSD: allow client throttler to be adjusted on-fly, without restart + + This patch allows the osd_client_message_cap and + osd_client_message_size_cap to be adjusted on-fly, using admin socket + functionality. + + Fixes: http://tracker.ceph.com/issues/18791 + Signed-off-by: Piotr DaÅ‚ek + (cherry picked from commit 64c309d7e18a975931b526e6f5d6f610c3a0d632) + +commit ab8558e05e765683691799acc4cfb2280cd537b2 +Author: Jason Dillaman +Date: Wed Jan 25 14:45:56 2017 -0500 + + librbd: prevent self-blacklisting during break lock + + Fixes: http://tracker.ceph.com/issues/18666 + Signed-off-by: Jason Dillaman + (cherry picked from commit 5c590acaec4dd66a9a8c3aa0ec8ab904dd350216) + + Conflicts: + src/librbd/exclusive_lock/BreakRequest.cc: managed lock refactor + src/test/librbd/exclusive_lock/test_mock_BreakRequest.cc: managed lock refactor + +commit 16b2fd00ecf7d7fcc7590f0ca030ff33a32f2196 +Author: Wido den Hollander +Date: Mon Jan 23 08:18:27 2017 +0100 + + systemd: Restart Mon after 10s in case of failure + + In some situations the IP address the Monitor wants to bind to + might not be available yet. + + This might for example be a IPv6 Address which is still performing + DAD or waiting for a Router Advertisement to be send by the Router(s). + + Have systemd wait for 10s before starting the Mon and increase the amount + of times it does so to 5. + + This allows the system to bring up IP Addresses in the mean time while + systemd waits with restarting the Mon. + + Fixes: #18635 + + Signed-off-by: Wido den Hollander + (cherry picked from commit e73eb8cc1e0d45af1f0b7852c551f2ddfb82a520) + +commit 29f55d7dd3f35423294fa63cd1e3ccb18e6f7449 +Author: Abhishek Lekshmanan +Date: Fri Jan 13 16:32:55 2017 +0100 + + rgw_admin: read master log shards from master's current period + + Also make the sync output look similar to the output of data sync + Signed-off-by: Abhishek Lekshmanan + + (cherry picked from commit cc306c506ca6607223cb89cd388f8e18673c4fe2) + +commit 0aebe210079e456c23e857e9c684495813151726 +Author: Abhishek Lekshmanan +Date: Fri Jan 13 16:29:47 2017 +0100 + + rgw: allow getting master log shards info on specified period + + This is needed for rgw admin's sync status or else we end up always + publishing that we're behind since we are always checking against + master's first period to sync from + + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit 063c949d4409a18a22b64791d497e20f7473bc01) + +commit 17d68c22da7c3eac336f5ea8ecac13b5e8d75568 +Author: Abhishek Lekshmanan +Date: Thu Jan 12 22:09:01 2017 +0100 + + rgw_admin: get master's period from store's current period info + + This ensures that we get the current period in contrast to the admin log + which gets the master's earliest period. + + Fixes: http://tracker.ceph.com/issues/18064 + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit 4ca18df7198a9f0ded8b0100a70b5db7187c3de4) + +commit 478d0315cb8457ecfd5cb6f96c82d12e066c7c2f +Author: Orit Wasserman +Date: Sun Dec 25 12:36:34 2016 +0200 + + rgw: clear master_zonegroup when reseting RGWPeriodMap + + Fixes: http://tracker.ceph.com/issues/17239 + Signed-off-by: Orit Wasserman + (cherry picked from commit d8f42fe6be659c1d48bf04b30aa54ad616936145) + +commit bfc058d8f951d7694104433f709fc73940511b0a +Author: Michal Koutný +Date: Wed Jan 18 20:15:29 2017 +0100 + + rgw: Use decoded URI when verifying TempURL + + Instead of calliing url_decode directly, we reuse s->decoded_uri that is + initialized in RGWREST::preprocess(). + + Fixes: http://tracker.ceph.com/issues/18590 + Signed-off-by: Michal Koutný + (cherry picked from commit 4e1318f4dcbfd64c3ec94f4addf6e38ddd6c013a) + +commit deb6d2c64c432869caf8747a75ed2e555acc772b +Author: Ricardo Dias +Date: Tue Jan 10 15:11:19 2017 +0000 + + librbd: allow to open an image without opening parent image + + Fixes: http://tracker.ceph.com/issues/18325 + + Signed-off-by: Ricardo Dias + (cherry picked from commit 61af1c25015de087a2423811548d975dd7d430b4) + + Conflicts: + src/librbd/exclusive_lock/PostAcquireRequest.cc - deleted, does not + exist in kraken + src/librbd/librbd.cc - removed rbd_group_* functions that don't exist + in kraken + +commit 35b13c6687026f08c100a28f2775d6e772a0e734 +Author: Sage Weil +Date: Thu Dec 29 12:08:28 2016 -0500 + + mon/OSDMonitor: set last_force_op_resend on overlay pool too + + We currently set the last_force_op_resend field on the + base pool when we set or clear the overlay. Set it on + the cache/overlay pool too. The Objecter should resend + even with a change only to the base pool, but the OSD + needs to see the change on the overlay pool to correctly + discard the op. + + Fixes: http://tracker.ceph.com/issues/18366 + Signed-off-by: Sage Weil + (cherry picked from commit 08c3618771b852840aa88cff1ca98d980d802941) + +commit ce8edcfed6cd908779efd229202eab1232d16f1c +Merge: 16fc6d8a2a 7db1bf762c +Author: John Spray +Date: Thu Jan 26 00:33:46 2017 +0100 + + Merge pull request #13024 from SUSE/wip-18604-kraken + + kraken: cephfs test failures (ceph.com/qa is broken, should be download.ceph.com/qa) + +commit 16fc6d8a2af89bb8a620298729d3951ef32945f7 +Merge: f36efa76d8 ed82de11f5 +Author: John Spray +Date: Thu Jan 26 00:31:53 2017 +0100 + + Merge pull request #12813 from SUSE/wip-18439-kraken + + kraken: fuse: TestVolumeClient.test_evict_client failure creating pidfile + +commit f36efa76d83205783ac5931ea678357ebddc62f6 +Merge: 08b560c51b 61ca8fc351 +Author: John Spray +Date: Thu Jan 26 00:29:55 2017 +0100 + + Merge pull request #12951 from jcsp/wip-18361-kraken + + kraken: client: populate metadata during mount + +commit 08b560c51b4218697b922cb208da2708f8c50021 +Merge: d50af9e948 8d0eb6e287 +Author: John Spray +Date: Thu Jan 26 00:29:00 2017 +0100 + + Merge pull request #13030 from SUSE/wip-18612-kraken + + kraken: client: segfault on ceph_rmdir path / + +commit d50af9e9488501778d1a82d32ba4042ecb5fca54 +Merge: 0fbf923290 8b79964696 +Author: John Spray +Date: Thu Jan 26 00:27:57 2017 +0100 + + Merge pull request #13028 from SUSE/wip-18531-kraken + + kraken: speed up readdir by skipping unwanted dn + +commit 0fbf9232903b8e7d7d93c91ea0dafcb4ff8f3c15 +Merge: e4d348b3d8 1ac9886896 +Author: John Spray +Date: Thu Jan 26 00:25:34 2017 +0100 + + Merge pull request #12835 from SUSE/wip-18463-kraken + + kraken: Decode errors on backtrace will crash MDS + +commit 29c8c3fb861a7153a13e3f56aaa7772c9116c751 +Author: Yan, Zheng +Date: Tue Jan 10 11:16:47 2017 +0800 + + mds: finish clientreplay requests before requesting active state + + All clientreplay requests' finish contexts should be executed + before MDCache::export_remaining_imported_caps(). Otherwise + MDCache::try_reconnect_cap() may fail to reconnect client caps. + + Fixes: http://tracker.ceph.com/issues/18461 + Signed-off-by: Yan, Zheng + (cherry picked from commit 80dae314ee90e79d60e2cfee301e43a435c10801) + +commit 2b7083f8dd4c8f281f6f8ccbd13f06f08de6bcc1 +Author: David Zafman +Date: Tue Jan 24 16:35:23 2017 -0800 + + Revert "PrimaryLogPG::failed_push: update missing as well" + + This reverts commit dd48b972afde2dfa9ab1a6942c7961750222986d. + + Fixes: http://tracker.ceph.com/issues/18659 + + Signed-off-by: David Zafman + +commit cc046597983bd491cc66081cc33d9046264fe24b +Author: Jason Dillaman +Date: Tue Jan 24 09:24:52 2017 -0500 + + librbd: improve debug logging for lock / watch state machines + + Signed-off-by: Jason Dillaman + +commit c5976ac36751e15fd81c67945a2c6d049dc7b316 +Author: Jason Dillaman +Date: Mon Jan 23 21:24:41 2017 -0500 + + test: use librados API to retrieve config params + + The CephContext object is not ABI-stable, so it is necessary to + use the "conf_get" librados methods to safely retrieve a setting. + + Fixes: http://tracker.ceph.com/issues/18617 + Signed-off-by: Jason Dillaman + (cherry picked from commit 8ad40645ac3948f8341e9a80ce8aff8ac5b9ad11) + + Conflicts: + src/test/librbd/test_librbd.cc: trivial resolution + +commit e4d348b3d850465ae25d7b3cbc8f21fac20ae478 +Merge: 03458fae64 f583485a4e +Author: Radoslaw Zarzynski +Date: Mon Jan 23 20:46:55 2017 +0100 + + Merge pull request #13006 from rzarzynski/wip-rgw-18476-kraken + + kraken: rgw: fix handling RGWUserInfo::system in RGWHandler_REST_SWIFT. + + Reviewed-by: Yehuda Sadeh + +commit f583485a4eacdf489ce00f93cd49dc147bfdb5f9 +Author: Radoslaw Zarzynski +Date: Tue Jan 10 12:09:50 2017 +0100 + + rgw: fix handling RGWUserInfo::system in RGWHandler_REST_SWIFT. + + Before this patch the flag was wrongly handled in the Swift API + implementation. In rare conditions this might result in setting + req_state::system_request. + + This may happen only if both of those conditions are fulfilled: + * RadosGW is running in a multi-site configuration (at least + one user with the system flag turned on is present), + * the "rgw_swift_account_in_url" configurable has been switched + to true. The value is false by default and our documentation + doesn't actually mention about the option. + + The issue doesn't affect Jewel nor any previous release. + + Fixes: http://tracker.ceph.com/issues/18476 + Signed-off-by: Radoslaw Zarzynski + (cherry picked from commit 8dac93392b6679c3ad9bb28ea66f6bb8c7be511d) + +commit 03458fae64df24d58426e5b3274dd1981ef42fc6 +Merge: 61b1beef1d dca2265c41 +Author: Nathan Cutler +Date: Mon Jan 23 19:29:57 2017 +0100 + + Merge pull request #13044 from SUSE/wip-18571-kraken + + kraken: Python Swift client commands in Quick Developer Guide don't match configuration in vstart.sh + + Reviewed-by: Casey Bodley + +commit 7db1bf762c5503933bbbb266e14fc1bd69120dd8 +Author: John Spray +Date: Tue Jan 17 17:12:46 2017 +0100 + + qa: update remaining ceph.com to download.ceph.com + + Fixes: http://tracker.ceph.com/issues/18574 + Signed-off-by: John Spray + (cherry picked from commit 549d993d3fd8ffffa280ed4a64aca41d1c6f2da1) + +commit 0e0d149895198ee74cff85353eabf19aa4677258 +Author: Mingxin Liu +Date: Mon Jan 2 13:20:10 2017 +0800 + + mon: do not send duplicated osdmap msg to not sync'ed osd + + prior to this change: + a peon may forward the pgstats to leader, and record it locally, but leader will + check if osd has the latest map before process, if not, will use a route op to + indicate peon to send it, then poen will delete routed op when fininaly send + out which make peon cannot send pgstatack when leader has processed the + pgstat update. so osd will always track it util reach a threshold block pgstats + sending, at worst, reopen mon session. + also, both leader and peon will send out the osdmap message to the osd. + + after this change: + only the peon will send out the osdmap message. and the pgstatack message + will be routed to the osd as expected. so the osd will not keep track of the + "acked" pg stats in its queue forever before times out. + + Fixes: http://tracker.ceph.com/issues/18458 + Signed-off-by: Mingxin Liu + (cherry picked from commit 57274488c072ec6912b700288ce5b1ea8372d162) + +commit dca2265c41bf035855b30d3279e1ec5726d74ffc +Author: Ronak Jain +Date: Fri Jan 13 16:57:45 2017 +0530 + + Doc: Fixes Python Swift client commands + + Fixes: http://tracker.ceph.com/issues/17746 + Signed-off-by: Ronak Jain + (cherry picked from commit 8c79959557d60f619adf1a3ed1b5bd1112ceaabb) + +commit 8d0eb6e2870593b94cb71f29bcac7a1f422cd101 +Author: Michal Jarzabek +Date: Thu Jan 12 21:22:20 2017 +0000 + + client/Client.cc: prevent segfaulting + + The segfaulting in the rmdir function is caused by calling + filepath::last_dentry() function. + last_dentry() function assumes that the bits vector has always at + least one element, which is not the case for the the filepath object + created with "/" input. + This commit also fixes other functions affected by this bug: + link, unlink, rename, mkdir, mknod and symlink. + + Fixes: http://tracker.ceph.com/issues/9935 + Signed-off-by: Michal Jarzabek + (cherry picked from commit 6ed7f2364ae5507bab14c60b582929aa7b0ba400) + +commit 61b1beef1dc4802c32367fc71968101a09042c15 +Merge: f223e27eeb 6206e1998a +Author: Sage Weil +Date: Fri Jan 20 11:14:24 2017 -0600 + + Merge pull request #13011 from liewegas/wip-18595-kraken + + os/bluestore: fix Allocator::allocate() int truncation + + Reviewed-by: Igor Fedotov + +commit 8b7996469652d01143806e1e815894afde3f426b +Author: Xiaoxi Chen +Date: Tue Jan 10 19:11:08 2017 -0700 + + mds/server: skip unwanted dn in handle_client_readdir + + We can skip unwanted dn which < (offset_key, snap) via map.lower_bound, rather than + iterate across them. + + Previously we iterate and skip dn which < (offset_key, dn->last), as dn->last >= snap + means (offset_key, dn->last) >= (offset_key, snap), and such iterate_and_skip logic + still keep, so this commit doesnt change code logic but an optimization. + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit 52fe52baf920c672ac7f63a3087dcd31137891b6) + +commit ecb459f0837dd05d2802320e7fac3246025e6c13 +Author: Samuel Matzek +Date: Mon Jan 16 11:11:31 2017 -0600 + + Ceph-disk to use correct user in check_journal_req + + The ceph-disk tool calls ceph-osd to check the journal requirements + using OSD id 0. This creates a log file for osd-0 on the system + using the current user/group for file permissions. When ceph-disk + is run as root this makes the file owned by root which makes + the osd daemon for osd.0 unable to write to its own log file. + + This commit changes the journal reqs calls of ceph-osd to pass + the ceph user and group so ceph-osd creates the log file with the + appropriate permissions. + + Fixes: http://tracker.ceph.com/issues/18538 + + Signed-off-by: Samuel Matzek + (cherry picked from commit bcf7514bf53693ec61e482341787c80494589faf) + +commit 6206e1998a1636f6339ef2f1bd2d67a69cd3abf0 +Author: Sage Weil +Date: Thu Jan 19 19:51:45 2017 -0600 + + os/bluestore: fix Allocator::allocate() int truncation + + An allocation of size 0x80000000 gets truncated to 0. Larger values can + break things in similar ways. + + Introduced in 5ab034345d7320fbc86a2133c0c29ec1aca4b71a. + + Fixes: http://tracker.ceph.com/issues/18595 + Signed-off-by: Sage Weil + (cherry picked from commit e19aa8484632ac7d83aa5dc868a1fe4dc167d9b9) diff --git a/doc/changelog/v12.2.1.txt b/doc/changelog/v12.2.1.txt new file mode 100644 index 00000000..dda1d4b5 --- /dev/null +++ b/doc/changelog/v12.2.1.txt @@ -0,0 +1,3737 @@ +commit 3e7492b9ada8bdc9a5cd0feafd42fbca27f9c38e +Author: Jenkins Build Slave User +Date: Tue Sep 26 16:27:07 2017 +0000 + + 12.2.1 + +commit bf5f5ec7cf0e06125515866acedcc04c393f90b9 +Merge: 63ce514631 d1a6631fc4 +Author: Jason Dillaman +Date: Tue Sep 26 11:53:56 2017 -0400 + + Merge pull request #17970 from idryomov/wip-pr-17346-luminous + + luminous: qa/suites/krbd: rbd_xfstests job overhaul + + Reviewed-by: Jason Dillaman + +commit d1a6631fc4f7eaf563377f52dcc6fdb5833c0dd1 +Author: Ilya Dryomov +Date: Fri Aug 18 17:49:03 2017 +0200 + + qa/suites/krbd: new rbd_xfstests job definition + + ext4 seems to be a better choice for our purposes -- less test churn, + rather small and reliable exclude list. + + All excluded tests but generic/050 fail with no krbd in the mix, most + have popped up on linux-ext4 list at least once. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit 6647c65ebe0688283cc8b9da9f638a4d6ffb75de) + +commit 902422c71d2e2322fa05dca2cf8d71e49033005c +Author: Ilya Dryomov +Date: Thu Aug 17 15:35:42 2017 +0200 + + qa/tasks/rbd.xfstests: take exclude list from yaml + + Different filesystems (and further, different configurations of the + same filesystem) need different exclude lists. Hard coding the list in + a wrapper script is inflexible. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit 01914be5a3b35479037054293b85d96596cb870b) + + Conflicts: + qa/run_xfstests_krbd.sh [ trivial, caused by commit + 3aae5ca6fda8 ("scripts: fix bash path in shebangs") ] + +commit 49284c671b335887244fcd06a3667952068cf5f2 +Author: Ilya Dryomov +Date: Wed Aug 16 11:47:19 2017 +0200 + + qa/run_xfstests.sh: quit building xfstests on test nodes + + xfstests is a pain to build on trusty, xenial and centos7 with a single + script. It is also very sensitive to dependencies, which again need to + be managed on all those distros -- different sets of supported commands + and switches, some versions have known bugs, etc. + + Download a pre-built, statically linked tarball and use it instead. + The tarball was generated using xfstests-bld by Ted Ts'o, with a number + of tweaks by myself (mostly concerning the build environment). + + Signed-off-by: Ilya Dryomov + (cherry picked from commit 1a982fea53c30fb246c2ab28822af6a69165ffea) + +commit e318dbd19883118885e8eb6c7375d0ca8a3699f6 +Author: Ilya Dryomov +Date: Wed Aug 16 11:47:19 2017 +0200 + + qa/run_xfstests.sh: drop *_MKFS_OPTIONS variables + + AFAICT ./check doesn't query EXT4_MKFS_OPTIONS or BTRFS_MKFS_OPTIONS, + We don't need anything special for xfs, so remove all of them to avoid + confusion. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit 7a0e45046d556c6624e0225ff006c31d8dbae2a8) + +commit b5aeb7921d86452b5b19ac144685b3a199707751 +Author: Ilya Dryomov +Date: Wed Aug 16 11:47:19 2017 +0200 + + qa/run_xfstests.sh: kill FS_TYPE variable + + ./check expects FSTYP, so use that throughout. + + Signed-off-by: Ilya Dryomov + (cherry picked from commit ca99f1e8406c14e5899d393ab0bb503061c47b9b) + +commit 63ce514631ab0106ebd242f0ece43409dc83f479 +Merge: 9f8d66ebc5 b335066f81 +Author: Nathan Cutler +Date: Mon Sep 25 22:40:05 2017 +0200 + + Merge pull request #17945 from batrick/i21540 + + luminous: qa whitelist fixes + + Reviewed-by: Nathan Cutler + +commit 9f8d66ebc5fb9ad48bdca4c56d54618a7a592415 +Merge: 35a23b861a 1dda4227a5 +Author: Nathan Cutler +Date: Mon Sep 25 22:32:17 2017 +0200 + + Merge pull request #17821 from smithfarm/wip-21472-luminous + + luminous: tests: kcephfs: ignorable MDS cache too large warning + + Reviewed-by: Patrick Donnelly + Reviewed-by: Yan, Zheng + +commit 1dda4227a5c8e2953c645c634e0b77dc6a0515a3 +Author: Patrick Donnelly +Date: Mon Aug 28 11:47:29 2017 -0700 + + qa: whitelist expected MDS_CACHE_OVERSIZED + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 71f0066f6ec32be18abc0c220a49e203ac3b9786) + + Conflicts: + qa/suites/kcephfs/recovery/tasks/client-limits.yaml - fix + already applied by some other commit + +commit b335066f81a0f990fb87b84f69c34dda037ba9cf +Author: Patrick Donnelly +Date: Mon Aug 28 11:52:36 2017 -0700 + + qa: whitelist expected rstat warning + + Signed-off-by: Patrick Donnelly + (cherry picked from commit c53d091e5110011866aa85495ff4e5abe0442d71) + +commit 35a23b861a037ca0e0bc77952c413b46e95141d4 +Merge: b6f38c4fcd d94b3ca2ae +Author: Nathan Cutler +Date: Mon Sep 25 15:43:06 2017 +0200 + + Merge pull request #17922 from batrick/kcephfs-backports + + luminous: qa: kcephfs whitelist fixes + + Reviewed-by: Yan, Zheng + +commit b6f38c4fcd0643fd24644bf0d0ad249112727a5e +Merge: 793b89dc80 16c5e4f0c3 +Author: Yuri Weinstein +Date: Fri Sep 22 13:25:59 2017 -0700 + + Merge pull request #17855 from smithfarm/wip-21490-luminous + + luminous: tests: test_rebuild_simple_altpool triggers MDS assertion + + Reviewed-by: Patrick Donnelly + +commit 16c5e4f0c3f365f22e5cd79021f55c2927347a26 +Author: Patrick Donnelly +Date: Wed Sep 20 15:44:40 2017 -0700 + + qa: get config only on running MDS + + Fixes: http://tracker.ceph.com/issues/21466 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 8a535d9c72965c79692dccc6ff418b46fb86c3eb) + +commit d94b3ca2ae04ff05937cb48a81901187212370a6 +Author: Patrick Donnelly +Date: Fri Sep 22 09:44:43 2017 -0700 + + qa: whitelist cache too large in client-limits + + Fixes: http://tracker.ceph.com/issues/21510 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 87039eb30a25158a192ab7099fa81fbb9ce02953) + +commit 018331f26c079c5d728a7009db24560e00407feb +Author: Patrick Donnelly +Date: Fri Sep 22 09:42:06 2017 -0700 + + qa: whitelist failover log warnings + + Fixes: http://tracker.ceph.com/issues/21509 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 37a7737712f36422b5f035a0e02bab25ae2da890) + +commit dbad9455f956a6e7ebd731b68c50cbb96038542f +Author: Patrick Donnelly +Date: Fri Sep 22 09:38:59 2017 -0700 + + qa: ignore evicted client in client-recovery + + Fixes: http://tracker.ceph.com/issues/21508 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 8ecef57bb10a83587f02ce087b657d303ae7c589) + +commit 793b89dc80c82a0f3027210d894dd1b4be6cc12b +Merge: e8a6c0cfdf 4bb1d89373 +Author: Patrick Donnelly +Date: Fri Sep 22 09:53:43 2017 -0700 + + Merge PR #17878 into luminous + + * refs/remotes/upstream/pull/17878/head: + qa/cephfs: Fix error in test_filtered_df + + Reviewed-by: Patrick Donnelly + Reviewed-by: Amit Kumar + +commit e8a6c0cfdf1a5ac2505afa7ca1814a9f356647d5 +Merge: 6f6a98619e b0cacf2684 +Author: Patrick Donnelly +Date: Fri Sep 22 09:53:41 2017 -0700 + + Merge PR #17877 into luminous + + * refs/remotes/upstream/pull/17877/head: + client: Delete onsafe + client: add mountedness check inside client_lock + + Reviewed-by: Patrick Donnelly + +commit 6f6a98619e9e121fea20d1604fa97122209a6a72 +Merge: 71b3f31cad 7a84f943ed +Author: Patrick Donnelly +Date: Fri Sep 22 09:53:39 2017 -0700 + + Merge PR #17870 into luminous + + * refs/remotes/upstream/pull/17870/head: + mds: reset Formatter on error + + Reviewed-by: Patrick Donnelly + Reviewed-by: Amit Kumar + +commit 71b3f31cad17a735ee0c278de04c88338b78b746 +Merge: 26beaa6667 69f0422310 +Author: Patrick Donnelly +Date: Fri Sep 22 09:53:37 2017 -0700 + + Merge PR #17854 into luminous + + * refs/remotes/upstream/pull/17854/head: + mds: void sending cap import message when inode is frozen + client: fix message order check in handle_cap_export() + + Reviewed-by: Patrick Donnelly + +commit 26beaa6667fbf95a371a2cf0d5130d8ff30327d9 +Merge: fc9043a2f5 97ab78548d +Author: Patrick Donnelly +Date: Fri Sep 22 09:53:35 2017 -0700 + + Merge PR #17852 into luminous + + * refs/remotes/upstream/pull/17852/head: + mds: check ongoing catter-gather process before capping log + + Reviewed-by: Patrick Donnelly + +commit fc9043a2f5ee3d641cb5710675fa43c44784fe87 +Merge: 5ae7723f80 13f0c9f534 +Author: Patrick Donnelly +Date: Fri Sep 22 09:53:33 2017 -0700 + + Merge PR #17822 into luminous + + * refs/remotes/upstream/pull/17822/head: + qa/cephfs: kill mount if it gets evicted by mds + qa/cephfs: fix test_evict_client + + Reviewed-by: Patrick Donnelly + Reviewed-by: Zheng Yan + +commit 5ae7723f8028a888df93b71252ce3b31fc77da8d +Merge: 653c332507 8d18150560 +Author: Yuri Weinstein +Date: Fri Sep 22 09:44:54 2017 -0700 + + Merge pull request #17817 from smithfarm/wip-21464-luminous + + luminous: qa: ignorable MDS_READ_ONLY warning + + Reviewed-by: Yan, Zheng + Reviewed-by: Yuri Weinstein + +commit 653c332507c6642a4f8167d022ba452c91315c92 +Merge: 8681be5725 105f82d550 +Author: Yuri Weinstein +Date: Fri Sep 22 09:41:18 2017 -0700 + + Merge pull request #17879 from smithfarm/wip-21449-luminous + + luminous: tests: test_misc creates metadata pool with dummy object resulting in WRN: POOL_APP_NOT_ENABLED + + Reviewed-by: Amit Kumar amitkuma@redhat.com + Reviewed-by: Yan, Zheng + +commit 8681be5725b7a9a1256e338600dd2050e1ddf2f7 +Merge: 09451bc47b f4b4467f8e +Author: Yuri Weinstein +Date: Fri Sep 22 09:40:46 2017 -0700 + + Merge pull request #17886 from smithfarm/wip-21486-luminous + + luminous: tests: [kcephfs] test_client_pin times out waiting for dentry release from kernel + + Reviewed-by: Amit Kumar amitkuma@redhat.com + Reviewed-by: Yan, Zheng + +commit 09451bc47bd1d061c022d098d462206f1dac83ac +Merge: 1700dc4f14 c902ebe7e8 +Author: Yuri Weinstein +Date: Fri Sep 22 09:39:26 2017 -0700 + + Merge pull request #17887 from smithfarm/wip-21487-luminous + + luminous: cephfs: MDS rank add/remove log messages say wrong number of ranks + + Reviewed-by: Amit Kumar amitkuma@redhat.com + Reviewed-by: Yan, Zheng + +commit 1700dc4f1409bbc8202b420deadfc494aaaaed74 +Merge: a931cf6812 f09786d294 +Author: Yuri Weinstein +Date: Fri Sep 22 09:37:42 2017 -0700 + + Merge pull request #17888 from smithfarm/wip-21488-luminous + + luminous: tests: failures from pjd fstest + + Reviewed-by: Amit Kumar amitkuma@redhat.com + Reviewed-by: Yan, Zheng + +commit a931cf68120d99661b785cc794e2b6965d621f06 +Merge: 0132a275aa 875f1c2519 +Author: Sage Weil +Date: Thu Sep 21 10:56:16 2017 -0500 + + Merge pull request #17812 from liewegas/wip-21410-luminous + + Revert "osd/OSDMap: allow bidirectional swap of pg-upmap-items" + + Reviewed-by: Josh Durgin + Reviewed-by: xie xingguo + +commit f09786d2940ca5532f6f59464be4fdf29a4d75b3 +Author: Yan, Zheng +Date: Sun Sep 17 16:51:04 2017 +0800 + + ceph: do link/rename semantic checks after srcdn is readable + + For hard link, source inode must not be directory. For rename, + types of source/destination inodes must match. If srcdn is replica + and we do these checks while it's not readble, it's possible that + wrong source inode is used in these checks. + + Fixes: http://tracker.ceph.com/issues/21383 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 46962b253563a867707e7c5d7887abf2060cc4d7) + +commit c902ebe7e89130f7aceaaf664074d74760b30926 +Author: John Spray +Date: Mon Sep 18 13:16:40 2017 -0400 + + mon/MDSMonitor: fix clog msgs on MDS rank add/rm + + Because these were generated before the actual + change, the get_num_in values did not make sense. + + Fixes: http://tracker.ceph.com/issues/21421 + Signed-off-by: John Spray + (cherry picked from commit 511439b515414ae93d791f54a187e44d5fdffa7b) + +commit f4b4467f8edc30f33c56e2bc22fb509061d814b6 +Author: Yan, Zheng +Date: Tue Sep 19 14:38:13 2017 +0800 + + client: set client_try_dentry_invalidate to false by default + + By default, ceph-fuse uses side effect of 'dentry invalidation' to + trim kernel dcache if it runs on kernel < 3.18. The implemention of + kernel function d_invalidate() changed in 3.18 kernel, the method no + longer works for upstream kernel >= 3.18. + + RHEL 3.10 kernel includes backport of patches that change implemention + of d_invalidate(). So checking kernel version to decide if 'dentry + invalidation' method works is unreliable. + + Fixes: http://tracker.ceph.com/issues/21423 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 69adaabface27880dd6c8dbfdeeb06cf3f3d346a) + +commit 105f82d5502deb3cabb87d8fdd83a98e880fd6e2 +Author: Douglas Fuller +Date: Tue Sep 12 13:22:09 2017 -0400 + + qa/tasks/cephfs: Whitelist POOL_APP_NOT_ENABLED for test_misc + + test_misc verifies that ceph fs new will not create a filesystem + on a pool that already contains objects. As part of the test, it + inserts a dummy object into a pool and then attempts to use it for + CephFS. This triggers POOL_APP_NOT_ENABLED. Setting the application + metadata for the pool (and having ceph fs new fail because of the + existing metadata) would then exercise a different failure case. + + Signed-off-by: Douglas Fuller + (cherry picked from commit eba01c48ca8b3113b1faf353990533a5ae39232c) + +commit 4bb1d893739e33fc35ae57ac0290606b5cf8b918 +Author: Douglas Fuller +Date: Wed Sep 13 14:00:20 2017 -0400 + + qa/cephfs: Fix error in test_filtered_df + + ceph df accounts for pool size, so there is no need to do it in the test. + + Fixes: http://tracker.ceph.com/issues/21381 + Signed-off-by: Douglas Fuller + (cherry picked from commit b059cb6290d81df07bd8ec4e1ec9ef0be24892a2) + +commit b0cacf2684bfe8c55282bb7defd54053dc7fa2e8 +Author: Jos Collin +Date: Thu Sep 7 12:41:40 2017 +0530 + + client: Delete onsafe + + Variable "onsafe" going out of scope leaks the storage it points to. This fixes the Coverity + Scan CID 1417473. + + Signed-off-by: Jos Collin + (cherry picked from commit e24a91e9189587c800ef5709c78f1bc0e0ac8419) + +commit f146b9f51da11e5698c7c4c9021635961b2790ad +Author: Jeff Layton +Date: Fri Aug 25 08:31:47 2017 -0400 + + client: add mountedness check inside client_lock + + Currently we check for mountedness in the high level wrappers, but those + checks are lockless. It's possible to have a call that races with + ceph_unmount(). It could pass one of the is_mounted() checks in the + wrapper, and then block on the client_lock while the unmount is actually + running. Eventually it picks up and runs after the unmount returns, with + questionable results -- possibly even a crash in some cases. + + For now, we can explain this away with a simple admonition that + applications should ensure that no calls are running when ceph_unmount + is called. In the future though, we may need to forcibly shut down the + mount when certain events occur (not returning a lease or delegation in + time, for instance). + + Sprinkle in a bunch of "unmounting" checks after taking the client_lock, + and simply have the functions return errors (or sensible values in some + cases) when the Client is being downed. With that, we ensure that this + sort of race can't occur, even when the unmount is not being driven by + userland. Note too that in some places I've replaced assertions in the + code with error returns, as that's nicer behavior for libraries. + + Note that this can't replace the ->is_mounted() checks in the lockless + wrappers as those are needed to determine whether the client pointer in + the ceph_mount_info is still valid. The admonition not to allow + ceph_unmount to race with other calls is therefore still necessary. + + Signed-off-by: Jeff Layton + (cherry picked from commit efca340596ef4da2b254ff1c64ec4c462d7b95a5) + +commit 7a84f943edcdabd013b8ee4eb701e04062ad931a +Author: Patrick Donnelly +Date: Tue Sep 5 14:44:49 2017 -0700 + + mds: reset Formatter on error + + This prevents partial results from concatenating with the error message. + + Fixes: http://tracker.ceph.com/issues/21252 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 2b2b3d2035a700a65c3c469eedae69ad31023cf6) + +commit 847cb76968bb225e4f3713cdfc0a5c38c4047e4e +Author: Douglas Fuller +Date: Wed Jul 12 10:48:42 2017 -0500 + + qa/cephfs: Refactor alternate pool test + + Remove the alternate pool recovery test from test_data_scan. Newer + commits will place the test in its own file. + + Signed-off-by: Douglas Fuller + (cherry picked from commit 47318f8ac4391148a1394846dd77c8452b7cf5ae) + +commit 3342ba0c6853fda90cf2c8c9bec9d523c9269855 +Author: Douglas Fuller +Date: Wed Jul 12 10:45:13 2017 -0500 + + qa/cephfs: test CephFS recovery pools + + Test recovering metadata in to a separate RADOS pool with + cephfs_data_scan and friends. + + Signed-off-by: Douglas Fuller + (cherry picked from commit 6af2ae80d327e564ad17f2caeded9c8142becf29) + +commit 5ac721394770de88a6218dd3f9bedbdbc9982232 +Author: Douglas Fuller +Date: Wed Jul 12 10:43:39 2017 -0500 + + qa/cephfs: support CephFS recovery pools + + Add support for testing recovery of CephFS metadata into an alternate + RADOS pool, useful as a disaster recovery mechanism that avoids + modifying the metadata in-place. + + Signed-off-by: Douglas Fuller + (cherry picked from commit 8f9a25202093339afb5308051d354d3ae79c6b2d) + +commit 0f5f99c1de5484e7563b5c5c9fa481200e1d00c6 +Author: Douglas Fuller +Date: Wed Jul 26 13:05:59 2017 -0400 + + qa/cephfs: Allow deferred fs creation + + Permit Filesystem objects to be created and settings modified before + calling Filesystem.create(). + + Signed-off-by: Douglas Fuller + (cherry picked from commit 5fafc03cb9e6d5f39ce494375ea28c89b896e2f5) + +commit 47e485e5ccedce3977b30503e05b743e09fc7c77 +Author: Douglas Fuller +Date: Wed Jul 12 10:41:11 2017 -0500 + + qa/ceph_test_case: support CephFS recovery pools + + Add support for testing recovery of CephFS metadata into an alternate + RADOS pool, useful as a disaster recovery mechanism that avoids + modifying the metadata in-place. + + Signed-off-by: Douglas Fuller + (cherry picked from commit c85562c94a80b8a18975b8d0ee6a7fbd932cf024) + +commit 69f042231056071dee16ed49aad95eaa3b0447f6 +Author: Yan, Zheng +Date: Tue Aug 29 11:35:56 2017 +0800 + + mds: void sending cap import message when inode is frozen + + To export an inode to other mds, mds need to: + + - Freeze the inode (stop issuing caps to clients) + - Flush client sessions (ensure client have received all cap messages) + - Send cap export message + + These steps guarantee that clients receive cap import/export messages + in proper order (In the case that inode gets exported servel times + within a short time) + + When inode is frozen, mds may have already flushed client sessions. + So mds shouldn't send cap import messages. + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 48a9e695e58ac15f1e494977e0db7a164bb2fe98) + +commit 25def78ceb4cb17c97ae911203a62fb410cd9399 +Author: Yan, Zheng +Date: Mon Aug 28 17:13:31 2017 +0800 + + client: fix message order check in handle_cap_export() + + If importer mds' cap already exists, but cap ID mismatches, client + should have received corresponding import message (the imported caps + got released later). Because cap ID does not change as long as client + holds the caps. + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 3c31256a4addcc4eca30c62109e33f77224258c2) + +commit 97ab78548d26f980ead8dc5c986304d2cfd3568d +Author: Yan, Zheng +Date: Thu Sep 21 10:56:07 2017 +0800 + + mds: check ongoing catter-gather process before capping log + + When deactivating mds, MDLog::trim() may start scatter-gather + process on mdsdir inode. Locker::scatter_writebehind() submits + log entry. So mds should make sure there is no scatter-gather + before capping log. + + Fixes: http://tracker.ceph.com/issues/21467 + Signed-off-by: "Yan, Zheng" + +commit 0132a275aa86ca80bf1dcacd9905243257317e6c +Merge: 1befcbebcb bc4095ee44 +Author: Josh Durgin +Date: Wed Sep 20 08:08:14 2017 -0700 + + Merge pull request #17829 from jdurgin/wip-21428-luminous + + osd/PrimaryLogPG: request osdmap update in the right block + + Reviewed-by: Sage Weil + +commit bc4095ee44f8c060a43470c29c08767517b4d749 +Author: Josh Durgin +Date: Wed Sep 20 01:18:35 2017 -0400 + + osd/PrimaryLogPG: request osdmap update in the right block + + Fixes: http://tracker.ceph.com/issues/21428 + Signed-off-by: Josh Durgin + (cherry picked from commit afc6624f768ea3c6e2d155122797db5cce8836f7) + +commit 13f0c9f534d0a9df362bb86ab546648fa046c104 +Author: Yan, Zheng +Date: Wed Sep 13 16:34:40 2017 +0800 + + qa/cephfs: kill mount if it gets evicted by mds + + otherwise, teardown() hange at umount + + Fixes: http://tracker.ceph.com/issues/21275 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 98d86a075242f0c4576814db15cc3f8fd8e06017) + +commit 651280281ab1347fb7d0e3114cf87b74398dbc87 +Author: Yan, Zheng +Date: Wed Sep 13 16:15:31 2017 +0800 + + qa/cephfs: fix test_evict_client + + executing mount_a.kill() twice, then executing mount_b.kill_cleanup() + twice do not make sense. + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 8433ced84733da86d545ccacc06ddea3a0282071) + +commit 1befcbebcbcedf398b782adfcc165038d13fc3da +Merge: ddf84249fa a6ce7bfcf3 +Author: Josh Durgin +Date: Tue Sep 19 16:45:40 2017 -0700 + + Merge pull request #17796 from jdurgin/wip-21428-luminous + + osd: request new map from PG when needed + + Reviewed-by: Sage Weil + +commit 8d18150560bbf0c41f4d62b17b642449b3610660 +Author: Yan, Zheng +Date: Tue Sep 5 17:09:32 2017 +0800 + + qa: whitelist expected MDS_READ_ONLY for kcephfs test + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 584241285f52fc420ebc4a6a6455497a3ed4d45a) + +commit a6ce7bfcf3ab00046f220a00ef2c283c3aa0bb31 +Author: Josh Durgin +Date: Mon Sep 18 22:31:10 2017 -0400 + + osd: request new map from PG when needed + + The fast dispatch refactor in 3cc48278bf0ee5c9535d04b60a661f988c50063b + eliminated the osdmap subscription in the ms_fast_dispatch path, which + meant ops could reach a PG without having the latest map. In a cluster + with few osdmap updates, where the monitor fails to send a new map to + an osd (it tries one random osd), this can result in indefinitely + blocked requests. + + Fix this by adding an OSDService mechanism for scheduling a new osdmap + subscription request. + + Fixes: http://tracker.ceph.com/issues/21428 + Signed-off-by: Josh Durgin + (cherry picked from commit dd33360e5a4ed06228af552edadee88e66c5aba9) + +commit 875f1c2519c15a94b4f4ccfa3ae0b0b191cfb1dc +Author: Sage Weil +Date: Fri Sep 15 16:52:28 2017 -0400 + + Revert "osd/OSDMap: allow bidirectional swap of pg-upmap-items" + + This reverts commit 09af9b8afb40cc8aa629501582a75e03edf0bf2e. + + We need to prevent duplicates in the final result. For example, we + can currently take + [1,2,3] and apply [(1,2)] and get [2,2,3] + or + [1,2,3] and apply [(3,2)] and get [1,2,2] + + The rest of the system is not prepared to handle duplicates in the + result set like this. + + The reverted commit was intended to allow + + [1,2,3] and [(1,2),(2,1)] to get [2,1,3] + + to reorder primaries. First, this bidirectional swap is hard to implement + in a way that also prevents dups. For example, + [1,2,3] and [(1,4),(2,3),(3,4)] would give [4,3,4] + but would we just drop the last step we'd have [4,3,3] which + is also invalid, etc. Simpler to just not handle bidirectional + swaps. In practice, they are not needed: if you just want to choose + a different primary then use primary_affinity, or pg_upmap + (not pg_upmap_items). + + Fixes: http://tracker.ceph.com/issues/21410 + Signed-off-by: Sage Weil + (cherry picked from commit 9c73305e3ad11177d58632eba6ece5d2c0e701da) + +commit ddf84249fa8a8ec3655c39bac5331ab81c0307b1 +Merge: d324411744 4c16e1b36b +Author: Abhishek L +Date: Fri Sep 15 22:46:27 2017 +0200 + + Merge pull request #17724 from theanalyst/wip-21374-luminous + + luminous: incorrect erasure-code space in command ceph df + + Reviewed-By: Josh Durgin + +commit d32441174440b7e639658a9218d7004ebe604b62 +Merge: df73cdcdfe 381ed45b49 +Author: Josh Durgin +Date: Fri Sep 15 13:35:36 2017 -0700 + + Merge pull request #17745 from tchaikov/wip-luminous-20529 + + luminous: rocksdb,cmake: build portable binaries + + Reviewed-by: Josh Durgin + +commit df73cdcdfec8263d5f1cd0af98d51928aa7659f3 +Merge: 24c5b9bfb7 e7158e8e41 +Author: Abhishek L +Date: Fri Sep 15 21:58:05 2017 +0200 + + Merge pull request #17635 from smithfarm/wip-21342-luminous + + luminous: ceph mgr versions shows active mgr as Unknown + + Reviewed-By: Josh Durgin + +commit 24c5b9bfb72461005585329f82a14b994c8546e4 +Merge: 57e798bc55 b10311dc73 +Author: Abhishek L +Date: Fri Sep 15 21:57:54 2017 +0200 + + Merge pull request #17634 from smithfarm/wip-21341-luminous + + luminous: mon/OSDMonitor: deleting pool while pgs are being created leads to assert(p != pools.end) in update_creating_pgs() + + Reviewed-By: Josh Durgin + +commit 57e798bc55ed5d1ae44d2279e2bba349abc88e76 +Merge: 9fc9577df0 fe2fe20100 +Author: Abhishek L +Date: Fri Sep 15 21:57:13 2017 +0200 + + Merge pull request #17624 from tchaikov/wip-luminous-pr-17599 + + luminous: encoding: reset optional<> if it is uninitialized + + Reviewed-By: Josh Durgin + +commit 9fc9577df0c91f8ee3c55464e57f31fb20060853 +Merge: 0c28640ba0 91dd0fe479 +Author: Abhishek L +Date: Fri Sep 15 21:55:41 2017 +0200 + + Merge pull request #17487 from smithfarm/wip-21231-luminous + + luminous: core: interval_set: optimize intersect_of insert operations + + Reviewed-By: Josh Durgin + +commit 0c28640ba09cd1035ae5b4103833ef6bd172ae6c +Merge: f52c6dcd60 24fe250bb5 +Author: Abhishek L +Date: Fri Sep 15 21:49:37 2017 +0200 + + Merge pull request #17712 from batrick/bp21221 + + luminous: MDCache::try_subtree_merge() may print N^2 lines of debug message + + Reviewed-By: Yan Zhen + +commit f52c6dcd60ea352f8762d98e2b2c245abed5c0fc +Merge: c9f0a6bd2e 9f65be2feb +Author: Abhishek L +Date: Fri Sep 15 21:45:04 2017 +0200 + + Merge pull request #17623 from liewegas/wip-pr-17572-luminous + + tools/ceph_objectstore_tool: fix 'dup' unable to duplicate meta PG + + Reviewed-By: Josh Durgin + +commit c9f0a6bd2ec55b308de28b8ddf1d1658887d263b +Merge: ece893d1e8 80d848f069 +Author: Abhishek L +Date: Fri Sep 15 21:43:22 2017 +0200 + + Merge pull request #17584 from jdurgin/wip-recovery-delete-encoding-luminous + + osd/PGBackend, MOSDPGRecoveryDelete[Reply]: handle incompatible encoding + + Reviewed-By: Sage Weil + +commit ece893d1e8ee7df9f0ee6413628aa2aeda311364 +Merge: dfc8a0fe47 eb6a0bf22e +Author: Abhishek L +Date: Fri Sep 15 21:39:49 2017 +0200 + + Merge pull request #17686 from ukernel/luminous-21070 + + luminous: mds: fix 'dirfrag end' check in Server::handle_client_readdir + + Reviewed-By: Patrick Donnelly + +commit dfc8a0fe47b950155eab2bdbe98f42645c3f6140 +Merge: 0be1e868f1 a1be6c9647 +Author: Abhishek L +Date: Fri Sep 15 21:38:36 2017 +0200 + + Merge pull request #17711 from batrick/bp20594 + + luminous: mds: support limiting cache by memory + + Reviewed-By: Yan Zheng + +commit 0be1e868f10601df3f293af58a173702db6efed0 +Merge: b0b4d07663 e7e3d8977b +Author: Abhishek L +Date: Fri Sep 15 21:36:00 2017 +0200 + + Merge pull request #17714 from batrick/bp21222 + + luminous: MDS: standby-replay mds should avoid initiating subtree export + + Reviewed-By: Yan, Zheng + +commit b0b4d0766345ffcc552a841be16101f4b80dcf55 +Merge: c69673d955 73ef8de0bf +Author: Abhishek L +Date: Fri Sep 15 21:25:56 2017 +0200 + + Merge pull request #17570 from theanalyst/wip-luminous-21233 + + luminous: rgw: memory leak in MetadataHandlers + + Reviewed-By: Casey Bodley + +commit c69673d955d784ca580fc283228b881b30065ff6 +Merge: 671740533e ccb3c1edc0 +Author: Abhishek L +Date: Fri Sep 15 21:25:31 2017 +0200 + + Merge pull request #17642 from theanalyst/wip-21350-luminous + + luminous: rgw: data encryption sometimes fails to follow AWS settings + + Reviewed-By: Casey Bodley + +commit 671740533e71ac742259d32b86102fa807ea7fee +Merge: 87d3d3419e 665c3a6397 +Author: Abhishek L +Date: Fri Sep 15 21:23:01 2017 +0200 + + Merge pull request #17674 from theanalyst/luminous-rgw-reshard-enable + + luminous: rgw: reshard enable + + Reviewed-By: Orit Wasserman + +commit 87d3d3419ebb9370aeb14496901c55c2a01fdf1e +Merge: 4bb174db3a 2be6c63f1b +Author: Abhishek L +Date: Fri Sep 15 21:22:05 2017 +0200 + + Merge pull request #17479 from smithfarm/wip-21139-luminous + + luminous: rgw: put lifecycle configuration fails if Prefix is not set + + Reviewed-By: Daniel Gryniewicz + +commit 381ed45b491fecd9254c2b8ee3da89064cfe8c1a +Author: Kefu Chai +Date: Fri Sep 15 10:30:16 2017 +0800 + + cmake: do not pass $SIMD_COMPILE_FLAGS to rocksdb cmake + + which enables SSE42 globally in rocksdb. and we will end up with a + binary not portable on non-SSE42 enabled machines. + + Fixes: http://tracker.ceph.com/issues/20529 + Signed-off-by: Kefu Chai + + Conflicts: + this change is not cherry-picked from master. because the + PR targeting master (https://github.com/ceph/ceph/pull/17388) is + still pending on review. and the cmake changes is different if + we want to use a recent commit of rocksdb, as it's doing differently + in cmake to address the portability issues. + +commit 9216086795a6a9c7b33000d44bea8ec9c62d41bb +Author: Kefu Chai +Date: Fri Sep 15 10:23:47 2017 +0800 + + rocksdb: pick up portable fixes + + to pick up the the fix to disable SSE42 globally, and only enable it on + crc32c. this change is pushed to ceph/rocksdb:luminous. + + Signed-off-by: Kefu Chai + Conflicts: + this change is not cherry-picked from master, as the master PR + (https://github.com/ceph/ceph/pull/17388) is still pending on review. + and the latest rocksdb's cmake was revised to address the portability + issues. so the fix on ceph side is different if we want to use a + recent rocksdb's commit. + +commit 73ef8de0bf147a3ca670ab8a4b04ddaaf0ed5bfd +Author: Luo Kexue +Date: Wed Aug 30 09:32:18 2017 +0800 + + rgw: fix resource leak in rgw_bucket.cc and rgw_user.cc + + Fixes: http://tracker.ceph.com/issues/21214 + + Signed-off-by: Luo Kexue + (cherry picked from commit 1f23976adab74e25ce06941692a881521885c6ee) + +commit 34548611d2d0394499e907ff7dd4b43cf53cd2cc +Author: Jos Collin +Date: Fri Aug 25 15:32:56 2017 +0530 + + rgw: add missing override in list_keys_init() + + Added missing override in list_keys_init(). + + Signed-off-by: Jos Collin + (cherry picked from commit bfc999f1db96293e6a2188922074031fa0b40ecc) + +commit 4bb174db3a3cc18b544d7282516289075763a1f3 +Merge: e8e4f1fd6d 98a53f929e +Author: Abhishek L +Date: Thu Sep 14 11:32:28 2017 +0200 + + Merge pull request #17612 from smithfarm/wip-qemu-cleanup + + build/ops: rpm: do not create librbd.so.1 symlink in /usr/lib64/qemu + + Reviewed-By: Ken Dreyer + +commit e8e4f1fd6d82540451be2896626e959e1b1bdaa8 +Merge: ad534c0d7a ce2a181834 +Author: Abhishek L +Date: Thu Sep 14 11:31:40 2017 +0200 + + Merge pull request #17478 from smithfarm/wip-21138-luminous + + luminous: rgw: object copied from remote src acl permission become full-control issue + + Reviewed-By: Orit Wasserman + +commit ad534c0d7adaa83b3b219592de5a7b1213cb6317 +Merge: f05328733a 07a15984c6 +Author: Abhishek L +Date: Thu Sep 14 11:31:23 2017 +0200 + + Merge pull request #17445 from smithfarm/wip-21110-luminous + + luminous: rgw: send data-log list infinitely + + Reviewed-By: Orit Wasserman + +commit 4c16e1b36b60028e9b6877dea7abcfe872b2e753 +Author: liuchang0812 +Date: Wed Sep 6 11:50:17 2017 +0800 + + mon: incorrect MAX AVAIL in "ceph df" + + Fixes: http://tracker.ceph.com/issues/21243 + + Signed-off-by: liuchang0812 + (cherry picked from commit 365558571c59dd42cf0934e6c31c7b4bf2c65026) + +commit f05328733a04acf454d229f73d79015292bd5fdf +Merge: 8d292af09f cac29c9618 +Author: Abhishek L +Date: Thu Sep 14 10:33:29 2017 +0200 + + Merge pull request #17488 from smithfarm/wip-21241-luminous + + luminous: rgw: usage of --inconsistent-index should require user confirmation and print a warning + + Reviewed-By: Casey Bodley + +commit 8d292af09f663a49d935011a7bebec096c77b04e +Merge: 038dc170c7 24803b76c8 +Author: Abhishek L +Date: Thu Sep 14 10:28:16 2017 +0200 + + Merge pull request #17484 from smithfarm/wip-21184-luminous + + luminous: tests: NameError: global name 'name' is not defined + + Reviewed-By: Orit Wasserman + +commit 038dc170c7928a415b0d08536be64b9eebd17511 +Merge: 67e87bff24 39b3b132f2 +Author: Abhishek L +Date: Thu Sep 14 10:26:12 2017 +0200 + + Merge pull request #17474 from smithfarm/wip-21114-luminous + + luminous: cephfs: tests: FS_DEGRADED spurious health warnings in some sub-suites + + Reviewed-By: Patrick Donelly + +commit 67e87bff24424a3e233a9a89bbdef1e1545c0df4 +Merge: ba746cd14d 25a651e100 +Author: Abhishek L +Date: Thu Sep 14 10:25:51 2017 +0200 + + Merge pull request #17471 from smithfarm/wip-21107-luminous + + luminous: cephfs: client/mds has wrong check to clear S_ISGID on chown + + Reviewed-By: Patrick Donelly + +commit e7e3d8977b4e46db7a370880d54094e7b7915826 +Author: Yan, Zheng +Date: Wed Sep 13 11:27:18 2017 +0800 + + ceph: fix "stopping mds can't export subtree" + + caused by commit + 790c34138f "Make standby-replay mds avoid initiating subtree export" + + Fixes: http://tracker.ceph.com/issues/21378 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit c294051987de1ff79540060a0563fa02c8f03f91) + +commit a0693c8ca4ea54950d44e9b5b2da0219d46ea5a6 +Author: Jianyu Li +Date: Mon Sep 4 21:49:26 2017 +0800 + + Make standby-replay mds not migrate empty subtree when trimming cache + + Signed-off-by: Jianyu Li + (cherry picked from commit 178ca58fec2d820f61724d223addac1c4fa67086) + +commit 70e814cf60c533fe2e850e451a7607ed5ffe7ed9 +Author: Jianyu Li +Date: Mon Sep 4 18:03:30 2017 +0800 + + Make standby-replay mds avoid initiating subtree export + + Signed-off-by: Jianyu Li + (cherry picked from commit 790c34138fbdf995c72e558057b9e64c882b522b) + +commit 24fe250bb5fbb8546f5fb280cca10162e3aabb2f +Author: Patrick Donnelly +Date: Mon Sep 4 11:36:00 2017 -0700 + + mds: print subtrees only after merge + + During up:resolve, the MDS tries to merge each subtree with its parent. During + testing, QE found that many thousands of subtrees in a directory (made possible + using pins) would cause the MDS to spend minutes printing out subtree maps to + the debug log. This causes the heartbeat code to consider the MDS as stalled so + beacons are no longer sent to the mons resulting in the MDS being removed from + the rank. + + A more complete solution to this problem is to selectively print subtrees + relating to the operation (e.g. the subtree and its parents). + + Fixes: http://tracker.ceph.com/issues/21221 + Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1485783 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit d0747a37fd06053b2206bb9a952f7ab77f0db2f0) + +commit a1be6c96470b843d46754ffda08c524a3c7b9a59 +Author: Yan, Zheng +Date: Wed Sep 13 15:55:46 2017 +0800 + + mds: optimize MDCache::rejoin_scour_survivor_replicas() + + avoid iterating dentries if dirfrag is non-auth + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit d32a2376047bc1363b9f7a2ed09060ec84c78b97) + +commit fb3afeb1e7572cda45966fa925102767dcd2f1b7 +Author: Yan, Zheng +Date: Wed Sep 13 15:54:45 2017 +0800 + + mds: fix MDSCacheObject::clear_replica_map + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit fd447405bef347da80ed5611331b211021b1628b) + +commit 179bf1831c6c4e88eb13ed689293a677ef5d2983 +Author: Patrick Donnelly +Date: Mon Sep 11 15:21:52 2017 -0700 + + mds: support limiting cache by memory + + This introduces two config parameters: + + mds_cache_memory_limit: Sets the soft maximum of the cache to the given + byte count. (Like mds_cache_size, this doesn't actually limit the maximum + size of the cache. It just dictates the steady-state size.) + + mds_cache_reservation: This replaces mds_health_cache_threshold everywhere + except the Beacon heartbeat sent to the mons. The idea here is to specify a + reservation of memory (5% by default) for operations and the MDS tries to + always maintain that reservation. So, the MDS will recall caps from clients + when it begins dipping into its reservation of memory. + + mds_cache_size still limits the cache by Inode count but is now by-default 0 + (i.e. unlimited). The new preferred way of specifying cache limits is by memory + size. The default is 1GB. + + Fixes: http://tracker.ceph.com/issues/20594 + Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1464976 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 06c94de584e6cd7d347bcdfb79d9fef4fed0d277) + + Conflicts: + PendingReleaseNotes + src/mds/MDCache.cc + +commit c4d393e6d0b4497e94ab88a8f61436c6271e2ab8 +Author: Patrick Donnelly +Date: Thu Sep 7 21:01:31 2017 -0700 + + common: refactor of lru + + Avoids an unnecessary "max" size of the LRU which was used to calculate the + midpoint. Instead, just dynamically move the LRUObjects between top and bottom + on-the-fly. + + This change is necessary for a cache which which does not limit by the number + of objects but by some other metric. (In this case, memory.) + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 12d615b3c546211b48ee75921f0e06371dd62dae) + +commit 009d3ab0bc3cb5248701a4383e58a86337ee4982 +Author: Patrick Donnelly +Date: Tue Sep 12 13:40:17 2017 -0700 + + mds: resolve unsigned coercion compiler warning + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 0c2032c2876c3e2cd0d23ab883fc72375731cadf) + +commit e25881b1e8c02dd1262c5b2b41eb353b293e1e37 +Author: Patrick Donnelly +Date: Thu Sep 7 20:51:56 2017 -0700 + + common: use safer uint64_t for list size + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 0ddd260a32e781ff6bfa49c1a01d6b2d80e5dcd3) + +commit f21d2fa7e57e18f368c2c62534eba2cc9d0c80fb +Author: Patrick Donnelly +Date: Sun Jul 30 16:09:32 2017 -0700 + + common: add bytes2str pretty print function + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 7fff24e10e9cacc94ec320b87e60c7735ff028b6) + +commit 97fdc68e029ed1567eff7c5d13a6c1c29bfe5d33 +Author: Patrick Donnelly +Date: Tue Sep 12 14:31:18 2017 -0700 + + mds: check if waiting is allocated before use + + This prevents accidental allocation of the map. + + Also, privatize the variable to protect from this in child classes. + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 055020ce80b1f08d258b4c023bf5465ed7a46034) + +commit d50f2c735ac40b9ccfbd8d3423fd817f76de9c3c +Author: Patrick Donnelly +Date: Tue Sep 12 14:29:49 2017 -0700 + + mds: go back to compact_map for replicas + + Zheng observed that an alloc_ptr doesn't really work in this case since any + call to get_replicas() will cause the map to be allocated, nullifying the + benefit. Use a compact_map until a better solution can be written. (This means + that the map will be allocated outside the mempool.) + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 5d67b5cc57ac803e60c2921f554cd0507ed4848e) + +commit 2ef222a58c3801eaac5a6d52dda2de1ffe37407b +Author: Patrick Donnelly +Date: Thu Jul 27 17:21:54 2017 -0700 + + mds: use mempool for cache objects + + The purpose of this is to allow us to track memory usage by cached objects so + we can limit cache size based on memory available/allocated to the MDS. + + This commit is a first step: it adds CInode, CDir, and CDentry to the mempool + but not all of the containers in these classes (e.g. std::map). However, + MDSCacheObject has been changed to allocate its containers through the mempool + by converting compact_* containers to the std versions offered through mempool + via the new alloc_ptr. + + (A compact_* class simply wraps a pointer to the std:: version to reduce memory + usage of an object when the container is only occasionally used. The alloc_ptr + allows us to achieve the same thing explicitly with only a little handholding: + when all entries in the wrapped container are deleted, the caller must call + alloc_ptr.release().) + + Signed-off-by: Patrick Donnelly + (cherry picked from commit e035b64fcb0482c3318656e1680d683814f494fe) + +commit f26412883c390b78df132e32d99afa5a14c525f3 +Author: Patrick Donnelly +Date: Thu Jul 27 12:06:23 2017 -0700 + + mds: cleanup replica_map access + + The gymnastics protecting the map failed as the code evolved. Just expose it + normally with a getter. + + Signed-off-by: Patrick Donnelly + (cherry picked from commit d1b6cadd6c1514aeacfbacec253305e1a715c387) + +commit 1bf3b1939ccdf30c4645009887c93fcb03d029e8 +Author: Patrick Donnelly +Date: Thu Jul 27 12:10:14 2017 -0700 + + common: add alloc_ptr smart pointer + + This ptr is like a unique_ptr except it allocates the underlying object on + access. The idea being that we can save memory if the object is only needed + sometimes. + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 5fa557d2713558038af7579de8a3ca56d58b8d90) + +commit 44e206f351297fc9092577a9280fabdadd993cc6 +Author: Patrick Donnelly +Date: Thu Jul 27 12:04:04 2017 -0700 + + common: add warning on base class use of mempool + + Signed-off-by: Patrick Donnelly + (cherry picked from commit c0d0fa804ee0fa775ae18f9b7bde2317bb6af52d) + +commit 8c82de6a32bcbc8df0f6dadb7aacd7c41bcf77d8 +Author: Patrick Donnelly +Date: Thu Jul 27 12:03:15 2017 -0700 + + common: use atomic uin64_t for counter + + Making this interface thread-safe... + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 59b5931a2f47f90fced779fb89e06868c739c688) + +commit ba746cd14ddd70a4f24a734f83ff9d276dd327d1 +Merge: 138acd38a6 21b9659cdd +Author: Abhishek L +Date: Wed Sep 13 23:13:03 2017 +0200 + + Merge pull request #17646 from theanalyst/wip-luminous-multifixes + + luminous: rgw fixes for multisite tests in luminous + + Reviewed-By: Casey Bodley + +commit eb6a0bf22e5777b3977226d831380f5e68ae3739 +Author: Yan, Zheng +Date: Mon Aug 28 11:24:13 2017 +0800 + + mds: fix 'dirfrag end' check in Server::handle_client_readdir + + The 'dirfrag end' check can be wrong when not reading from beginning + of dirfrag. + + Fixes: http://tracker.ceph.com/issues/21070 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 88332c0f2f0a7a99639d1de237d5bb68edddbe70) + +commit 138acd38a67bad303fb6804c1f5be0b4e5c4c47f +Merge: 6753d98d90 e2dda02e02 +Author: Jason Dillaman +Date: Tue Sep 12 16:04:54 2017 -0400 + + Merge pull request #17647 from dillaman/wip-21345 + + luminous: qa/workunits/rbd: relax greps to support upgrade formatting change + + Reviewed-by: Mykola Golub + +commit 2be6c63f1bf910562ecca8ffd70206b605f1fe07 +Author: lu.shasha +Date: Tue Sep 12 11:19:44 2017 +0800 + + rgw: LCFilter_S3::to_xml the second "prefix" missed "/" + + Signed-off-by: Shasha Lu + (cherry picked from commit dcef8555e1bf2656aeb5316c4b78f1facf2ae172) + +commit 21b9659cdd6c0dae63609ee58915fe1166487bbc +Author: Casey Bodley +Date: Wed Aug 30 11:16:25 2017 -0400 + + test/rgw: fix test_encrypted_object_sync for 3+ zones + + Signed-off-by: Casey Bodley + (cherry picked from commit 8762c4b29051b2b49bfd8c1e0ceaa1aee6417a74) + +commit 665c3a6397ed43d4dde0a0ad22483fc964ab61c8 +Author: Abhishek Lekshmanan +Date: Tue Sep 12 18:07:01 2017 +0200 + + luminous: rgw: re enable dynamic resharding + + Signed-off-by: Abhishek Lekshmanan + +commit 6753d98d90c65961e4abbea43f70acb938753f7a +Merge: 4102a50c0d 64fc7cf105 +Author: Alfredo Deza +Date: Tue Sep 12 08:01:43 2017 -0400 + + Merge pull request #17653 from ceph/backport-wip-bz1478598 + + luminous: ceph-volume allow filtering by `uuid`, do not require osd id + + Reviewed-by: Andrew Schoen + +commit 4102a50c0ddc969b7f58642f2f67b67e0f671b23 +Merge: 7ca6156003 63c9382eaf +Author: Abhishek L +Date: Tue Sep 12 13:02:35 2017 +0200 + + Merge pull request #17485 from smithfarm/wip-21185-luminous + + luminous: rgw: rgw_file: incorrect lane lock behavior in evict_block() + + Reviewed-By: Orit Wasserman + +commit 7ca615600393a8337426818fbe0390117752f0ef +Merge: ab9650b929 e171fa6a6d +Author: Abhishek L +Date: Tue Sep 12 12:40:44 2017 +0200 + + Merge pull request #17476 from smithfarm/wip-21135-luminous + + luminous: rgw: bucket index sporadically reshards to 65521 shards + + Reviewed-By: Orit Wasserman + +commit ab9650b929320320b6f88f31a39575e16d69c05d +Merge: 31dbc795cd 18442e1585 +Author: Abhishek L +Date: Tue Sep 12 11:06:05 2017 +0200 + + Merge pull request #17470 from smithfarm/wip-21104-luminous + + luminous: build/ops: ceph-fuse RPM should require fusermount + + Reviewed-By: Ken Dreyer + Reviewed-By: Kefu Chai + +commit 31dbc795cd1b71f572f99ba8bf5936de19fa9fb8 +Merge: 39385a7512 17626e01d8 +Author: Abhishek L +Date: Tue Sep 12 11:05:14 2017 +0200 + + Merge pull request #17477 from smithfarm/wip-21137-luminous + + luminous: mgr: 500 error when attempting to view filesystem data + + Reviewed-By: John Spray + +commit 39385a7512112570c98c95b40c1215f6d4aa19d9 +Merge: 75db027e25 d57399c9da +Author: Sage Weil +Date: Mon Sep 11 16:09:01 2017 -0500 + + Merge pull request #17495 from smithfarm/wip-21235-luminous + + luminous: tests: thrashosds read error injection doesn't take live_osds into account + +commit 75db027e25b07e93f8cdf62316dd51ed6e305df2 +Merge: 975af9c2a4 ca7e48c62e +Author: Sage Weil +Date: Mon Sep 11 16:07:22 2017 -0500 + + Merge pull request #17483 from smithfarm/wip-21183-luminous + + luminous: mgr: Crash in MonCommandCompletion + +commit 975af9c2a48394c04852b142ea9d5ffa98b12db1 +Merge: b755445f84 8e9b52ee88 +Author: Sage Weil +Date: Mon Sep 11 16:06:42 2017 -0500 + + Merge pull request #17486 from smithfarm/wip-21188-luminous + + luminous: pybind: dashboard usage graph getting bigger and bigger + + Reviewed-by: Sage Weil + +commit b755445f8443b2cd7bb31027996be6a6daef96a4 +Merge: e763746bbf 2a1ae18fa7 +Author: Sage Weil +Date: Mon Sep 11 16:05:24 2017 -0500 + + Merge pull request #17350 from liewegas/wip-pr-17334-luminous + + os/bluestore: reshard-fix wrong shard length + + Reviewed-by: Amit Kumar + Reviewed-by: Sage Weil + +commit e763746bbffd6139e49bb035b2c5763bc28dcd9c +Merge: 69552ed435 00ed756ae8 +Author: Abhishek L +Date: Mon Sep 11 22:31:14 2017 +0200 + + Merge pull request #17473 from smithfarm/wip-21112-luminous + + luminous: cephfs: get_quota_root sends lookupname op for every buffered write + + Reviewed-By: Patrick Donnelly + +commit 69552ed4352e25d90574da8e802f2c9572ea2529 +Merge: 71814348c2 a74b3267ee +Author: Abhishek L +Date: Mon Sep 11 22:29:32 2017 +0200 + + Merge pull request #17465 from smithfarm/wip-21045-luminous + + luminous: rbd: TestMirroringWatcher.ModeUpdated: periodic failure due to injected message failures + + Reviewed-By: Jason Dillaman + +commit 71814348c28071e14ebda8ac6bf257e9cbf08a79 +Merge: 2142746fe1 1e9983ac83 +Author: Abhishek L +Date: Mon Sep 11 22:28:59 2017 +0200 + + Merge pull request #17565 from theanalyst/wip-21278-luminous + + luminous: the standbys are not updated via ceph tell mds.* command + + Reviewed-By: Patrick Donnelly + +commit 2142746fe14f5717062b2e1f9931b36e12896336 +Merge: be9331252a 0ec531240a +Author: Abhishek L +Date: Mon Sep 11 22:28:06 2017 +0200 + + Merge pull request #17566 from theanalyst/wip-21267-luminous + + luminous: Incorrect grammar in FS message 1 filesystem is have a failed mds daemon + + Reviewed-By: Patrick Donnelly + +commit be9331252ae966a9d7ec1e5ce9321d8806061d6a +Merge: cfbd752f6d 22208c8237 +Author: Abhishek L +Date: Mon Sep 11 22:23:50 2017 +0200 + + Merge pull request #17557 from theanalyst/wip-21269-luminous + + luminous: some generic options can not be passed by rbd-nbd + + Reviewed-By: Jason Dillaman + +commit cfbd752f6d46fa96307d3529022524279c4896fe +Merge: b9ec9193d7 3f0ee2aa39 +Author: Abhishek L +Date: Mon Sep 11 21:43:48 2017 +0200 + + Merge pull request #17448 from smithfarm/wip-21118-luminous + + luminous: rgw: need to stream metadata full sync init + + Reviewed-By: Casey Bodley + +commit b9ec9193d7b49e44de3d34674f9dc2b8815f99df +Merge: 5f0ff20aca 5f0ba1353b +Author: Abhishek L +Date: Mon Sep 11 21:37:26 2017 +0200 + + Merge pull request #17464 from smithfarm/wip-20964-luminous + + luminous: rbd: switch to new config option getter methods + + Reviewed-By: Jason Dillaman + +commit 64fc7cf105ec4cdeacb6e2af3060b914ba47abeb +Author: Alfredo Deza +Date: Mon Sep 11 12:32:08 2017 -0400 + + ceph-volume lvm.trigger just split the osd_id once + + Signed-off-by: Alfredo Deza + (cherry picked from commit ecd5af88da2815603283742c661d27e2a48f9f7e) + +commit 7cdf1772d69e85646a55202c4faac1d0aaace5c4 +Author: Alfredo Deza +Date: Mon Sep 11 12:30:34 2017 -0400 + + ceph-volume tests catch improper parsing of osd uuid + + When the osd ID existed in the UUID in the same format (e.g. '1-') the + parsing would break returning a bogus UUID that is impossible to find + + Signed-off-by: Alfredo Deza + (cherry picked from commit 5392697121ef150f0edac05df14d116cf0148593) + +commit 944e69863347bb11450874980e4f64807d9e6e87 +Author: Andrew Schoen +Date: Fri Sep 8 15:32:15 2017 -0500 + + tests: remove 'ceph-' prefix from test node hostnames + + This updates our Vagrantfile to match the changes in ceph-ansible + introduced by https://github.com/ceph/ceph-ansible/commit/298a63c43 + + Signed-off-by: Andrew Schoen + (cherry picked from commit f41d359ebaec8762ed1a7b8cfd85c23f351a5070) + +commit f1b92868fa775ab4c210b3fd02e9a4913485db3a +Author: Alfredo Deza +Date: Fri Sep 8 12:25:57 2017 -0400 + + ceph-volume lvm.api PVolumes should filter by all matching tags, not just one + + Signed-off-by: Alfredo Deza + (cherry picked from commit b8613c1d7bf56c49d1b7f1c41a37073b8739bbc3) + +commit 54cdf1805a12fd691bd9da0441dab186446aef76 +Author: Alfredo Deza +Date: Fri Sep 8 12:25:31 2017 -0400 + + ceph-volume tests pv API should also match all pv_tags + + Signed-off-by: Alfredo Deza + (cherry picked from commit 120fd6a196045c8511c3eaafec37de43003bf450) + +commit 6a1189d1eb74d9c3d7653f4f32c480158d260901 +Author: Alfredo Deza +Date: Fri Sep 8 11:47:09 2017 -0400 + + ceph-volume tests prove all volume tags have to match in vgs + + Signed-off-by: Alfredo Deza + (cherry picked from commit fe2a7106decb586e83f5b60d6c18c454afe4883e) + +commit f4930e0b8327e5dcd6aafaac7cd51c1933b95456 +Author: Alfredo Deza +Date: Fri Sep 8 11:46:34 2017 -0400 + + ceph-volume lvm.api all vg tags should match, not just one + + Signed-off-by: Alfredo Deza + (cherry picked from commit 6d679855aa077e2de3f20316625d478a3697c78f) + +commit fafc161e1f6c825930c0848c32fa06b1d5edc849 +Author: Alfredo Deza +Date: Thu Sep 7 17:00:22 2017 -0400 + + ceph-volume tests prove all tags have to match in lvs + + Signed-off-by: Alfredo Deza + (cherry picked from commit 80e401ca970066541ae7255be1caf42883048df4) + +commit cdba58264732a648425dd1f78e75a91ea6a5198d +Author: Alfredo Deza +Date: Thu Sep 7 16:59:53 2017 -0400 + + ceph-volume lvm.api all lv tags should match, not just one + + Signed-off-by: Alfredo Deza + (cherry picked from commit dbaf30c3e4d921df2a92812383c8805a77eb8f5b) + +commit 12d638afea087189a1d3f350dd87185b0ade6617 +Author: Alfredo Deza +Date: Thu Sep 7 16:56:55 2017 -0400 + + ceph-volume lvm.activate allow not using osd_id + + Signed-off-by: Alfredo Deza + (cherry picked from commit 99a8a719695591558da29b3d16a347d5bff8bf3d) + +commit a50dc9647282c7b7455774502532f5281ae2aece +Author: Alfredo Deza +Date: Thu Sep 7 16:54:19 2017 -0400 + + ceph-volume tests prove missing args.osd_id is fine + + Signed-off-by: Alfredo Deza + (cherry picked from commit 8d1a1a885fd65073308c205949bc70b41805f92f) + +commit 834d4c0eabf18fe1219f52a70e3bf78235f51f62 +Author: Alfredo Deza +Date: Thu Sep 7 16:51:43 2017 -0400 + + ceph-volume tests add is_root and lv fixtures to conftest + + Signed-off-by: Alfredo Deza + (cherry picked from commit d18d5e139be82de36e1a60340525adbf79fdedd9) + +commit 5f0ff20aca1bb25f8758d6533f0aa38b3614c954 +Merge: 90fbef808e 5d229d18ec +Author: Abhishek L +Date: Mon Sep 11 21:22:44 2017 +0200 + + Merge pull request #17446 from smithfarm/wip-21115-luminous + + luminous: rgw multisite: objects encrypted with SSE-KMS are stored unencrypted in target zone + + Reviewed-By: Casey Bodley + +commit 90fbef808eb84f3cdc72172a8e4690f8857c960c +Merge: a05e676a6a a1a3c07ba4 +Author: Abhishek L +Date: Mon Sep 11 21:22:05 2017 +0200 + + Merge pull request #17468 from smithfarm/wip-21052-luminous + + luminous: build/ops: RHEL 7.3 Selinux denials at OSD start + + Reviewed-By: Ken Dreyer + +commit a05e676a6a619327929d1000e22a557e77c1dc6f +Merge: 16ccc2084c 7c3a82225e +Author: Abhishek L +Date: Mon Sep 11 21:19:17 2017 +0200 + + Merge pull request #17444 from smithfarm/wip-20968-luminous + + luminous: rgw: bytes_send and bytes_recv in the msg of usage show returning is 0 in master branch + + Reviewed-By: Casey Bodley + +commit 16ccc2084c7d477af362e2d99a409f7c929268ac +Merge: c0c79fd74d 4f7c155c2e +Author: Abhishek L +Date: Mon Sep 11 21:16:40 2017 +0200 + + Merge pull request #17555 from theanalyst/wip-21270-luminous + + luminous: rgw: shadow objects are sometimes not removed + + Reviewed-By: Orit Wasserman + +commit c0c79fd74df79c0746ee31ef0590dd60d586946c +Merge: 7b69aefc30 40d46c01b7 +Author: Abhishek L +Date: Mon Sep 11 21:00:36 2017 +0200 + + Merge pull request #17558 from theanalyst/wip-21277-luminous + + luminous: [cls] metadata_list API function does not honor `max_return` parameter. + + Reviewed-By: Jason Dillaman + +commit 7b69aefc30d11fd4cc3ea2bb9911761a5d0b7770 +Merge: 893ca2493a 3ac5343841 +Author: Abhishek L +Date: Mon Sep 11 20:59:53 2017 +0200 + + Merge pull request #17556 from theanalyst/wip-21265-luminous + + luminous: [cli] rename of non-existent image results in seg fault + + Reviewed-By: Jason Dillaman + +commit 893ca2493aa19b18859064a25034b77642f18fe6 +Merge: 8d180e4386 6468ddf8fc +Author: Abhishek L +Date: Mon Sep 11 20:59:28 2017 +0200 + + Merge pull request #17560 from theanalyst/wip-21288-luminous + + luminous: [test] various teuthology errors + + Reviewed-By: Jason Dillaman + +commit 8d180e4386f6385b2c76976de8e73ca4d93a5c08 +Merge: 06f566fd07 7989da7da6 +Author: Abhishek L +Date: Mon Sep 11 20:58:52 2017 +0200 + + Merge pull request #17561 from theanalyst/wip-21289-luminous + + luminous: [rbd] image-meta list does not return all entries + + Reviewed-By: Jason Dillaman + +commit e2dda02e02d25b3785c7355abffdad98a1242482 +Author: Jason Dillaman +Date: Thu Sep 7 08:55:27 2017 -0400 + + qa/workunits/rbd: relax greps to support upgrade formatting change + + Fixes: http://tracker.ceph.com/issues/21181 + Signed-off-by: Jason Dillaman + (cherry picked from commit 273c84578b06905229a7c6eae7b1a12bbe60de95) + + Conflicts: + qa/workunits/rbd/import_export.sh: trivial resolution + +commit 06f566fd073c25c674f0441f83e3ce8f4396e1d5 +Merge: 5e5002d993 9cd6899346 +Author: Abhishek L +Date: Mon Sep 11 20:08:14 2017 +0200 + + Merge pull request #17336 from tchaikov/wip-luminous-pr-16774 + + luminous: mgr/dashboard: fix rbd's pool sub menu + + Reviewed-By: Jason Dillaman + +commit ccb3c1edc0a45dfaadb5c4a4aa6700d0b8c8d92f +Author: hechuang +Date: Thu Jun 29 10:38:23 2017 +0800 + + rgw: Data encryption is not follow the AWS agreement + + Encryption request headers should not be sent for GET requests and HEAD + requests if your object uses SSE-KMS/SSE-S3 or you’ll get an HTTP 400 + BadRequest error. + + Signed-off-by: hechuang + (cherry picked from commit dfe1a7c1e6c470d623c70d83c32cc5b7a921bbc5) + +commit e7158e8e41e89eb845ecd7a888a5bfc6a008cc75 +Author: John Spray +Date: Thu Sep 7 09:44:36 2017 -0400 + + mon: fix dropping mgr metadata for active mgr + + drop_standby() was killing it and it was only getting added + back in certain locations. Instead, make the metadata + drop conditional and only do it in the places we're + really dropping the daemon, not when we're promoting + it to active. + + Fixes: http://tracker.ceph.com/issues/21260 + Signed-off-by: John Spray + (cherry picked from commit 29c6f9adf178f6611a625740f395e397cad9147b) + +commit f5ff82d8ff4c45aee345b271ef4a3d1b95f83237 +Author: John Spray +Date: Thu Sep 7 09:42:29 2017 -0400 + + qa/tasks/mgr: regression test for 21260 + + (aka http://tracker.ceph.com/issues/21260) + + Fixes: http://tracker.ceph.com/issues/21260 + Signed-off-by: John Spray + (cherry picked from commit 28cb4bb2e68298a8a307eb2de6121b60db43cb86) + +commit b10311dc730edfbd622a5a2ee7fe45293887b61a +Author: Joao Eduardo Luis +Date: Fri Sep 8 12:48:12 2017 +0100 + + mon/OSDMonitor: don't create pgs if pool was deleted + + A pool may be deleted while in the process of creating pgs. If that + happens, we should not queue additional pgs from that pool to be + created. + + Fixes: http://tracker.ceph.com/issues/21309 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 7a8a88032ec0bf7f1b485419a11646d7441faf2c) + +commit f847b164fda0e54a725e4a805124b78a61e545bf +Author: Joao Eduardo Luis +Date: Thu Sep 7 18:10:18 2017 +0100 + + mon/OSDMonitor: fix typo + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit bc5fe2e9099dbb560c2153d3ac85f38b46593a77) + +commit fe2fe20100f7f5349d7101bc718f040f5e45bde1 +Author: Kefu Chai +Date: Fri Sep 8 19:28:09 2017 +0800 + + encoding: reset optional<> if it is uninitialized + + * should reset it, in case we reuse it after initializing it. + * initialize the value of `p` using the C++11 style initializer, so it + is zero-initialized. + * revert 2a83ef3c which disables a warning of: + ./include/encoding.h:317:7: warning: 't' may be used uninitialized in + this function [-Wmaybe-uninitialized] + where the `t` is the temporary variable for initializing the value of + `p`. + + Signed-off-by: Kefu Chai + (cherry picked from commit 0363236dc754180a0215a818d58587943f84fb53) + +commit 9f65be2feb0186276e2b91fc58e6573779921970 +Author: xie xingguo +Date: Wed Sep 6 17:31:16 2017 +0800 + + tools/ceph_objectstore_tool: fix 'dup' unable to duplicate meta PG + + Recently we plan to bring a Jewel cluster into Luminous. + After that is done, which turns out to be a big success, + we then try to transform all FileStore osds into BlueStore ones + offline but with no luck. The ceph_objectstore_tool keeps complaining: + -------------------------------------------------------------------- + dup from filestore: /var/lib/ceph/osd/ceph-20.old + to bluestore: /var/lib/ceph/osd/ceph-20 + fsid d444b253-337d-4d15-9d63-86ae134ec9ac + 65 collections + 1/65 meta + cannot get bit count for collection meta: (61) No data available + -------------------------------------------------------------------- + + The root cause is that for FileStore Luminous will always try to rewrite + pg "bits" as a file attribute on "Load" if that is not available. + But since meta pg is never loaded (we skip it during OSD::load_pgs()), + we actually never get the chance to do so; hence making the + dup method from ceph_objectstore_tool very unhappy since it always + expects to see such a attribute from underlying store. + + Fix the above problem by manually skipping loading the "bits" attribute + if underlying OS is FileStore for dup. + + Signed-off-by: xie xingguo + + (cherry picked from commit af2c4847e42945a878e2864319185d795b0664a5) + +commit 5e5002d99360cc2a3c956aeee43ab4fb25a6eef9 +Merge: ec8fe46855 68f48c7af8 +Author: Sage Weil +Date: Sun Sep 10 14:16:20 2017 -0500 + + Merge pull request #17622 from liewegas/wip-more-lum-pi + + osd: update info only if new_interval + + Reviewed-by: Sage Weil + +commit ec8fe46855979e999f0e518f73ddd18ba40a23c6 +Merge: 6957c220ed 4683108903 +Author: Sage Weil +Date: Sun Sep 10 14:01:27 2017 -0500 + + Merge pull request #17564 from theanalyst/wip-21283-luminous + + qa/objectstore/bluestore*: less debug output + +commit 68f48c7af89fd5d8b224d52c8f60cfd2cdaf2df8 +Author: Kefu Chai +Date: Mon Sep 4 13:51:34 2017 +0800 + + osd: update info only if new_interval + + refactor OSD::build_initial_pg_history() so we update the info only if a + new interval is identified. also, this is consistent with + OSD::build_past_intervals_parallel(). + + Signed-off-by: Kefu Chai + (cherry picked from commit 4ae053439e526fab0451d1502576dce89eb6b44f) + +commit 6957c220edc5c1bab7d41fa0d3ca06f02ec268d5 +Merge: 462fc906e1 e2e81403f8 +Author: Sage Weil +Date: Sun Sep 10 13:59:45 2017 -0500 + + Merge pull request #17496 from smithfarm/wip-21236-luminous + + luminous: osd: build_initial_pg_history doesn't update up/acting/etc + +commit 462fc906e14bc994667f015f8dd1ece923861c0d +Merge: 0832adaaa7 a32f6a2e3a +Author: Sage Weil +Date: Sun Sep 10 13:56:51 2017 -0500 + + Merge pull request #17601 from liewegas/wip-21171-luminous + + os/bluestore: fix deferred write deadlock, aio short return handling + +commit 98a53f929ef92ac6c68f34e30df929eca3f323bc +Author: Nathan Cutler +Date: Tue Aug 29 00:19:24 2017 +0200 + + build/ops: rpm: do not create librbd.so.1 symlink in /usr/lib64/qemu + + As reported by Ademar de Souza Reis Jr : + + This symlink should not be necessary anymore. QEMU is properly linked to + ceph/librbd these days (look at the qemu-block-rbd sub-package in Fedora and + the respective package in RHEL). + + The symlink was a hack from a time when librbd was distributed and supported by + ceph and the rbd driver would be enabled at runtime only when/if the symlink + was present. + + So the right fix is to actually get rid of the symlink altogether and never + touch (much less own) /usr/lib64/qemu. + + Signed-off-by: Nathan Cutler + (cherry picked from commit be4d6b1a74a0612621c3ad2cedebaa1fa40ffbab) + +commit 0832adaaa7e7faaf60ff7a51d18229bfc6eebf76 +Merge: aba1e7cd34 d769b077b1 +Author: Jason Dillaman +Date: Fri Sep 8 14:04:14 2017 -0400 + + Merge pull request #17551 from dillaman/wip-21280 + + luminous: test/cls_rbd: mask newer feature bits to support upgrade tests + + Reviewed-by: Mykola Golub + +commit 80d848f069b9c5c97a720972f62bbb8eda1d3573 +Author: Josh Durgin +Date: Tue Sep 5 14:16:57 2017 -0700 + + osd/PGBackend, MOSDPGRecoveryDelete[Reply]: handle incompatible encoding + + Handle a pre-luminous encoding without min_epoch for both these + messages. Bump the header version, so the simple path of inline + decoding works for the future. For 12.2.0 and pre-luminous, we can + check the SERVER_LUMINOUS flag on the connection to tell which + encoding to use. + + This is not a cherry-pick from master since all upgrades must stop at + luminous, and will use the existing encoding before continuing. + + Signed-off-by: Josh Durgin + +commit aba1e7cd34bebca60187bed3fc8fcd75a18642b4 +Merge: 28e5f64ec3 ce434ac24f +Author: Sage Weil +Date: Fri Sep 8 10:58:39 2017 -0500 + + Merge pull request #17467 from smithfarm/wip-21046-luminous + + luminous: common: adding line break at end of some cli results + +commit 28e5f64ec3fc946bad8472c342c73c5d3bafb17f +Merge: 3a270224a5 e2cc9ef48a +Author: Sage Weil +Date: Fri Sep 8 10:57:33 2017 -0500 + + Merge pull request #17472 from smithfarm/wip-21108-luminous + + luminous: mon: OSDMonitor: osd pool application get support + + Reviewed-by: Sage Weil + +commit 3a270224a5a1e75eddcc74adc8e6effc39674e2d +Merge: 79750eab64 a656a38d28 +Author: Sage Weil +Date: Fri Sep 8 10:56:56 2017 -0500 + + Merge pull request #17475 from smithfarm/wip-21133-luminous + + luminous: osd: PrimaryLogPG: sparse read won't trigger repair correctly + + Reviewed-by: Sage Weil + +commit 79750eab642eca2b4d6227dfdf28932edcae1256 +Merge: fb1a23d974 0c75157a91 +Author: Sage Weil +Date: Fri Sep 8 10:55:55 2017 -0500 + + Merge pull request #17481 from smithfarm/wip-21182-luminous + + luminous: core: osd crush rule rename not idempotent + + Reviewed-by: Sage Weil + +commit fb1a23d974cae62ea9effc10f25a03e616f863ac +Merge: e5885fae2f 927b19ff77 +Author: Sage Weil +Date: Fri Sep 8 10:55:37 2017 -0500 + + Merge pull request #17494 from smithfarm/wip-21234-luminous + + luminous: bluestore: asyn cdeferred_try_submit deadlock + + Reviewed-by: Sage Weil + +commit e5885fae2ff8215d6c06acf23edb69d02e59ce46 +Merge: e22b3a9410 daacbfd90f +Author: Yuri Weinstein +Date: Fri Sep 8 08:51:33 2017 -0700 + + Merge pull request #17469 from smithfarm/wip-21103-luminous + + luminous: cephfs: client: missing space in some client debug log messages + + Reviewed-by: Nathan Cutler + +commit e22b3a941098cd54f4986b8bea8019483fefb214 +Merge: bcd492a062 dd5f9e5333 +Author: Yuri Weinstein +Date: Fri Sep 8 08:48:05 2017 -0700 + + Merge pull request #17562 from theanalyst/wip-21276-luminous + + luminous: os/bluestore/BlueFS.cc: 1255: FAILED assert(!log_file->fnode.extents.empty()) + + Reviewed-by: Sage Weil + +commit bcd492a062875c71047faaae58e77568dbaa4c41 +Merge: d48762a858 2c7fbc463c +Author: Sage Weil +Date: Fri Sep 8 09:28:35 2017 -0500 + + Merge pull request #17345 from liewegas/wip-pr-17311-luminous + + mon: use ceph_clock_now if message is self-generated + + Reviewed-by: Kefu Chai + +commit d48762a858f87177a7834f6ebab6a4be8f8a3d82 +Merge: 7c347e82e9 43ffb7c897 +Author: Sage Weil +Date: Fri Sep 8 09:28:17 2017 -0500 + + Merge pull request #17344 from liewegas/wip-pr-17330-luminous + + mon/OSDMonitor: make 'osd crush class rename' idempotent + +commit 7c347e82e9919bc8c72022b3b101e197089428de +Merge: 92ea7eb529 7b3ab3252f +Author: Sage Weil +Date: Fri Sep 8 09:27:55 2017 -0500 + + Merge pull request #17527 from liewegas/wip-pr-17510-luminous + + crush: fix fast rule lookup when uniform + +commit 92ea7eb529d915a17826dc69f0a266112ad2d0f3 +Merge: 2e60c1711d 81bf6cbfd4 +Author: Sage Weil +Date: Fri Sep 8 09:27:31 2017 -0500 + + Merge pull request #17511 from liewegas/wip-stupid-luminous + + os/bluestore: default to stupid allocator + + Reviewed-by: Brad Hubbard + +commit 2e60c1711da79e687b5002e40bfe4183ccee5f0a +Merge: 70c0d2ebf7 ac4cb6dd41 +Author: Sage Weil +Date: Fri Sep 8 09:26:27 2017 -0500 + + Merge pull request #17501 from smithfarm/wip-21242-luminous + + luminous: osd: osd/PG: discard msgs from down peers + + Reviewed-by: Kefu Chai + Reviewed-by: Sage Weil + +commit 70c0d2ebf79307ab4e42555672579dc5dfca4592 +Merge: 3ade14114d 8a0d7aa073 +Author: Sage Weil +Date: Fri Sep 8 09:25:37 2017 -0500 + + Merge pull request #17500 from smithfarm/wip-21240-luminous + + luminous: mon: rate limit on health check update logging + + Reviewed-by: Sage Weil + +commit 3ade14114da0798b05b59842a31c9630f0393269 +Merge: 9437427b3e 4c0073d20b +Author: Sage Weil +Date: Fri Sep 8 09:24:50 2017 -0500 + + Merge pull request #17498 from smithfarm/wip-21238-luminous + + luminous: osd: subscribe to new osdmap while waiting_for_healthy + + Reviewed-by: Kefu Chai + Reviewed-by: Sage Weil + +commit 9437427b3e7f544bbd02eeb698198ed6154983f0 +Merge: a06f09ea3f 3806293b1e +Author: Sage Weil +Date: Fri Sep 8 09:22:49 2017 -0500 + + Merge pull request #17497 from smithfarm/wip-21237-luminous + + luminous: bluestore: osd crash when change option bluestore_csum_type from none to CRC32 + + Reviewed-by: Sage Weil + +commit a06f09ea3f63ffc7874f12a29539201abfce8be8 +Merge: 0fd1035a6f 33dc4e65b2 +Author: Sage Weil +Date: Fri Sep 8 09:22:23 2017 -0500 + + Merge pull request #17378 from jan--f/wip-21187-luminous + + luminous: core: osd/PGLog: write only changed dup entries + + Reviewed-by: Josh Durgin + +commit a32f6a2e3a46c1709e5a3e0443d8b45df4bd9c99 +Author: Sage Weil +Date: Thu Sep 7 16:28:59 2017 -0400 + + os/bluestore/aio: handle short return from io_submit + + io_submit may return a value less than nr, indicating that only some of + the provided iocbs were queued. If that happens we should loop, not + return and silently drop those aios on the floor. + + Signed-off-by: Sage Weil + (cherry picked from commit dc17dfd9ff05b5676488c2b1bca53026b2ca6244) + +commit accd582d59efa2ba8349e6ad58775e1ca619d821 +Author: Sage Weil +Date: Wed Aug 30 17:18:18 2017 -0400 + + os/bluestore: more deferred debugging + + Signed-off-by: Sage Weil + (cherry picked from commit 11ac691dcc86aeed4ccb692a79ade4be04c5ef2f) + +commit e9b89c8b011fbbeeb128553b1b12708155a52628 +Author: Sage Weil +Date: Tue Aug 29 16:15:52 2017 -0400 + + os/bluestore: drop deferred_submit_lock + + This lock serves no purpose. It only protects the call to the aio_submit + on the OpSequencer running batch, but we are the only caller who will do + that submission, and a new batch won't be moved into place until ours is + completed and retired (by the completion for the aio we are queueing). + + More importantly, this fixes a deadlock: + + - thread A submits aio, but the queue is full, and blocks + - thread B blocks taking deferred_submit_lock while holding deferred_lock + - aio completion thread blocks trying to take deferred_lock, and thus + no further aios are drained. + + Fixes: http://tracker.ceph.com/issues/21171 + Signed-off-by: Sage Weil + (cherry picked from commit 7a5ef62af194373c3a8c307b05ae6d467e49c9f0) + +commit 0fd1035a6f280ebd38e6aabc925afb3d49fd53ea +Merge: 823585311c c9c168b0ea +Author: Pan Liu +Date: Fri Sep 8 09:34:36 2017 +0800 + + Merge pull request #17534 from liewegas/wip-pr-17459-luminous + + os/bluestore: add bluestore_prefer_deferred_size_hdd/ssd to tracked keys + +commit 0ec531240ad47dc2d11db68a50d7e9debfe67efe +Author: John Spray +Date: Mon Aug 28 13:50:46 2017 +0100 + + mds: fix "1 filesystem is have a..." message + + Like "Health check failed: 1 filesystem is have a failed mds daemon (FS_WITH_FAILED_MDS)" + + Fixes: http://tracker.ceph.com/issues/21153 + Signed-off-by: John Spray + (cherry picked from commit 7d21119a47212140d121df99efdb838a3f078a82) + +commit 1e9983ac833e8bd74fa82c6a03ad8fbba68747ac +Author: Kefu Chai +Date: Tue Sep 5 16:33:24 2017 +0800 + + ceph: collect all mds in mdsids() + + otherwise, only the active mds are returned. + + Fixes: http://tracker.ceph.com/issues/21230 + Signed-off-by: Kefu Chai + (cherry picked from commit dd702cc94e32f533f0f2e76f9d202d1fa7c6a57f) + +commit dabbe79e17269e8061aae60198008292601335f3 +Author: Kefu Chai +Date: Tue Sep 5 16:05:44 2017 +0800 + + ceph: always populate `targets` with ids_by_service() + + Signed-off-by: Kefu Chai + (cherry picked from commit b682e61ddc190b91da4c6cbaeba3c69d54652afb) + +commit 428c9934fdf78d378b2c75ac43759581710472fb +Author: Kefu Chai +Date: Tue Sep 5 16:00:59 2017 +0800 + + ceph: extract ids_by_service() so it can be reused + + Signed-off-by: Kefu Chai + (cherry picked from commit 25639f66910aa8a188d5b4b8fff8803e169da62a) + +commit 468310890376a9d6b055e01d1743a8c5753dce35 +Author: Sage Weil +Date: Tue Sep 5 17:43:28 2017 -0400 + + qa/objectstore/bluestore*: less debug output + + Let's see if this makes the spurious MON_DOWN failures go away? (See + http://tracker.ceph.com/issues/20910) + + Signed-off-by: Sage Weil + (cherry picked from commit 444f5aa08539cde827e7d93a514367a8ba39b122) + + Conflicts: + qa/objectstore/bluestore-bitmap.yaml + Added bluestore-bitmap.yaml to Luminous as well + +commit dd5f9e53335892fa04a1d489de1020d5655e1e3f +Author: Sage Weil +Date: Tue Sep 5 15:01:02 2017 -0400 + + os/bluestore/BlueFS: prevent _compact_log_async reentry + + _should_compact_log uses new_log != nullptr to tell whether compaction is + already in progress, but we don't set it until we are midway through the + process. Set it at the top of the method to prevent reentry. + + See 455cc6cea2e5e8bc1126b5047b6003fa583af1b5, which failed to implement + this properly. + + Fixes: http://tracker.ceph.com/issues/21250 + Signed-off-by: Sage Weil + (cherry picked from commit 6bd9db304f906e9e4a07ca5ce07ffffdbc1678f0) + +commit 7989da7da6b9c2fe1d0e183d8c6d67b9bcb7c097 +Author: Jason Dillaman +Date: Wed Sep 6 16:14:58 2017 -0400 + + rbd: support iterating over metadata items when listing + + Fixes: http://tracker.ceph.com/issues/21179 + Signed-off-by: Jason Dillaman + (cherry picked from commit 9c4f9856b034061aed052192b0ee09b9a9d09bc0) + +commit 6468ddf8fc17155229edd6e579db7f1c6405e27d +Author: Jason Dillaman +Date: Tue Sep 5 16:26:52 2017 -0400 + + qa/suites/rbd: reduce monitor requirements for mirroring tests + + Fixes: http://tracker.ceph.com/issues/21251 + Signed-off-by: Jason Dillaman + (cherry picked from commit 27194c30c50009eaf6391a21837f73b312fe5de6) + +commit 0cef781d74bf387a8b29f2197e492579aba42389 +Author: Jason Dillaman +Date: Tue Sep 5 16:20:26 2017 -0400 + + qa/suites/rbd: fixed cache override + + Fixes: http://tracker.ceph.com/issues/21251 + Signed-off-by: Jason Dillaman + (cherry picked from commit 98061bb3d7ce6309ddb04ea4d7e9d44a7ecd09c6) + +commit 8d6ec22730d6538f8bfce3fdc076d360f7cc0e6b +Author: Jason Dillaman +Date: Tue Sep 5 15:59:47 2017 -0400 + + qa/suites/rbd: reduce OSD debug log levels + + The teuthology machines are periodically running out of space + due to the aggressive log settings. + + Fixes: http://tracker.ceph.com/issues/21251 + Signed-off-by: Jason Dillaman + (cherry picked from commit 763f1877ecda680e62a2b7eff5815bb6b7dd18f2) + +commit 40d46c01b77891f64129ad18575f82cb6cf00534 +Author: Jason Dillaman +Date: Tue Sep 5 10:53:47 2017 -0400 + + cls/rbd: metadata_list not honoring max_return parameter + + Fixes: http://tracker.ceph.com/issues/21247 + Signed-off-by: Jason Dillaman + (cherry picked from commit 0130b85732849da8bb3e96f4afb7c023c958aef9) + +commit 22208c8237913c5865b4d4cf40ddb083f2ffe48c +Author: Pan Liu +Date: Sun Sep 3 12:12:15 2017 +0800 + + rbd-nbd: fix generic option issue + + Fixes: http://tracker.ceph.com/issues/20426 + Signed-off-by: Pan Liu + (cherry picked from commit 16f64a4c01068603736af476f640268d0baa338d) + +commit c34be1841d041d318ded0b63e95eab79d63bd0ef +Author: Pan Liu +Date: Tue Aug 29 23:30:15 2017 +0800 + + rbd-nbd: lower down the log level when return -EINVAL in aio_callback. + + Signed-off-by: Pan Liu + (cherry picked from commit dcd7e5bb82524bf111a6d80d9e0c050ae55b26a1) + +commit 3ac5343841805daa21a86be144da94c60a58590a +Author: Jason Dillaman +Date: Tue Sep 5 12:11:45 2017 -0400 + + librbd: rename of non-existent image results in seg fault + + Fixes: http://tracker.ceph.com/issues/21248 + Signed-off-by: Jason Dillaman + (cherry picked from commit 4a75ee43d3b108a9593a010160479fd62884eda8) + +commit 4f7c155c2eb241e87160db30de4e24e7d8931188 +Author: Yehuda Sadeh +Date: Wed Jul 5 16:10:38 2017 -0700 + + rgw: add tail tag to track tail instance + + Use tail_tag instead of idtag. The tail_tag is modified when either + creating a new tail, or adding a refcount to the tail (e.g., when + copying object). When just modifying the object's head, tail_tag + should remain the same. The gc will then use the tail_tag (if + exists, idtag if not) as the refcount id. + + Fixes: http://tracker.ceph.com/issues/20234 + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit f71a3e525d9a69fe537428f25930fb207a602afe) + +commit d769b077b1a6fa34bfddbef857ae543872df2f75 +Author: Jason Dillaman +Date: Tue Sep 5 21:37:16 2017 -0400 + + test/cls_rbd: mask newer feature bits to support upgrade tests + + Fixes: http://tracker.ceph.com/issues/21217 + Signed-off-by: Jason Dillaman + (cherry picked from commit aeb8f29d21625f3570e2f3e6dd26594d1a6df810) + +commit c9c168b0ea550fe13181e2e64b53cd8511794d22 +Author: xie xingguo +Date: Tue Sep 5 11:45:53 2017 +0800 + + os/bluestore: add bluestore_prefer_deferred_size_hdd/ssd to tracked keys + + To make these two keys can be changed online: + + ./bin/ceph tell osd.* injectargs "--bluestore_prefer_deferred_size_hdd 0" + osd.0: bluestore_prefer_deferred_size_hdd = '0' (not observed, change may require restart) + osd.1: bluestore_prefer_deferred_size_hdd = '0' (not observed, change may require restart) + osd.2: bluestore_prefer_deferred_size_hdd = '0' (not observed, change may require restart) + + Signed-off-by: xie xingguo + (cherry picked from commit cd1225634cf4d20e485f7c30d5a0438febc7ddcc) + +commit 7b3ab3252f9010590da1cc695919b70e09a3d5e8 +Author: Sage Weil +Date: Tue Sep 5 22:25:03 2017 -0400 + + crush: fix fast rule lookup when uniform + + Older clients will search for the first rule with a matching ruleset, + type, and size. The has_uniform_rules bool is only set if we have rule + ids and rulesets that line up, but we must also verify that the rest of the + mask matches or else we can get a different CRUSH mapping result because + the mask might not match and old clients will fail to find a rule and we + will find one. We also can't just check the ruleset as the legacy clients + find the *first* (of potentially many) matching rules; hence we only do + the fast check if all rulesets == rule id. + + Signed-off-by: Sage Weil + (cherry picked from commit f24095e0e9734531dbdbcd4bff1392c463188e8e) + +commit 81bf6cbfd4cdea04937bb04eb4902762114e5913 +Author: Sage Weil +Date: Tue Sep 5 23:04:15 2017 -0400 + + os/bluestore: mark bluestore_allocator as DEV + + We don't want users changing this without a good reason. + + Signed-off-by: Sage Weil + +commit 4b6a4a7ff3e82e015fc8268142d8c5c6437d089f +Author: Sage Weil +Date: Thu Aug 10 11:58:40 2017 -0400 + + os/bluestore: put StupidAllocator btree into bluestore_alloc mempool + + Signed-off-by: Sage Weil + (cherry picked from commit 6f189d8ab3c549a5c5e01616310c6eb39119fbc1) + +commit b943e7c5844d818b0cbc51e0d88fa147c31a44e2 +Author: Sage Weil +Date: Thu Aug 10 11:21:32 2017 -0400 + + os/bluestore: default 'bluefs_allocator = stupid' + + Signed-off-by: Sage Weil + (cherry picked from commit 2b6eea80eacd65cbb1aa3702a3a3b642304c04f5) + +commit 3e06813fe92c0ad07ac033aab14d088136b996f9 +Author: Sage Weil +Date: Tue Aug 8 12:14:07 2017 -0400 + + os/bluestore: default to bluestore_allocator = stupid + + Performance looks better, and code is simpler. + + Also fix config option annotations. + + Signed-off-by: Sage Weil + (cherry picked from commit 3750cf9cafabd3296c22b8b8dff35e44d18b9dd8) + +commit ac4cb6dd41adfc549d064756215421c33368dc86 +Author: Kefu Chai +Date: Thu Aug 24 16:04:54 2017 +0800 + + osd/PG: discard msgs from down peers + + if a repop is replied after a replica goes down in a new osdmap, and + before the pg advances to this new osdmap, the repop replies before this + repop can be discarded by that replica OSD, because the primary resets the + connection to it when handling the new osdmap marking it down, and also + resets the messenger sesssion when the replica reconnects. to avoid the + out-of-order replies, the messages from that replica should be discarded. + + Fixes: http://tracker.ceph.com/issues/19605 + Signed-off-by: Kefu Chai + (cherry picked from commit e3fce6be44506168a7a138aab93f6a4d6776397b) + +commit 8a0d7aa073eb14fa3324594449968d2755535d6c +Author: John Spray +Date: Mon Aug 7 07:52:42 2017 -0400 + + mon: rate limit on health check update logging + + Fixes: http://tracker.ceph.com/issues/20888 + Signed-off-by: John Spray + (cherry picked from commit 5b903c7b428c2c7024fdfc1dffacad0b1521b750) + +commit 2484a728e2694357de5e50dae2345ce6894d873b +Author: John Spray +Date: Fri Sep 1 05:33:16 2017 -0400 + + mon: add helper for emitting logs by health status + + We were starting to repeat our little "if(status==HEALTH_ERR" + blocks in too many places. + + Signed-off-by: John Spray + (cherry picked from commit 618a27868d65aa152ac67cce8057a75c4d61def9) + +commit 4c0073d20b72a30e67c97b1527d091d43c67a358 +Author: Sage Weil +Date: Thu Aug 24 17:56:13 2017 -0400 + + osd: subscribe to new osdmap while waiting_for_healthy + + If we are sitting around waiting until we are able to ping our "up" peers, + we need to be sure that our notion of "up" is still correct and we're not + just stuck on an old, stale OSDMap. + + Fixes: http://tracker.ceph.com/issues/21121 + Signed-off-by: Sage Weil + (cherry picked from commit fbafa659dae94faba435ca449ee5e77b51108b4b) + +commit 3806293b1ecc888f92fdc7f15ef3f25ac37ac29b +Author: xie xingguo +Date: Thu Aug 31 12:42:36 2017 +0800 + + os/bluestore: formatting nits + + So we don't output anything if csum is currently off: + + _do_alloc_write blob Blob(0x7fad7cc25950 blob([0x42a80000~10000] none/0x1) + + Signed-off-by: xie xingguo + (cherry picked from commit 22740cc9b3e489ae82b4b3071a17793c11abce79) + +commit ca667063b77445a2f45cdce04110b3affbdf6bed +Author: xie xingguo +Date: Thu Aug 31 11:42:37 2017 +0800 + + os/bluestore: don't re-initialize csum-setting for existing blobs + + The global checksum setting may change, e.g., from NONE to CRC32, + which can cause improper re-initialization of the csum-settings of + existing blobs(e.g., partial write/overwrite may turn out to shrink + 'csum_data'). + + We could develop some complicated solutions but for now let's not + bother since the above scenario is rare. + + Fixes: http://tracker.ceph.com/issues/21175 + Signed-off-by: xie xingguo + (cherry picked from commit 8ec4b4960f9b93ff6d85a02308ccda0bccadb599) + +commit e2e81403f8dd2329c0e99c8c8abbfa8351f0401e +Author: w11979 +Date: Fri Sep 1 10:02:34 2017 -0400 + + osd: fix build_initial_pg_history + + We need to update our info about the previous interval in order to + detect interval changes properly. + + Fixes: http://tracker.ceph.com/issues/21203 + + Signed-off-by: w11979 + Signed-off-by: Sage Weil + (cherry picked from commit afdacc6ed76dd288fdbc0f99857d9ffba23c5132) + +commit d57399c9dab0be6905a90b743d6b87ca93700cc6 +Author: Sage Weil +Date: Thu Aug 31 14:55:46 2017 -0400 + + qa/tasks/ceph_manager: revive osds before doing final rerr reset + + We assume below that rerrosd is up, but it may not be when we exit the + loop. + + Fixes: http://tracker.ceph.com/issues/21206 + Signed-off-by: Sage Weil + (cherry picked from commit 21027233b2a31b587e7caf95b1d85f5bcf0ae8ec) + +commit 927b19ff77b667d6d5b73b5024fd3007196d0002 +Author: Sage Weil +Date: Thu Aug 31 16:43:39 2017 -0400 + + os/bluestore: separate finisher for deferred_try_submit + + Reusing finishers[0], which is used for completions back into the OSD, + is deadlock-prone: the OSD code might block trying to submit new IO or + while waiting for some other bluestore work to complete. + + Fixes: http://tracker.ceph.com/issues/21207 + Signed-off-by: Sage Weil + (cherry picked from commit 2b6a9d1ec0778f66b6e9d9f216df21a00caeba3f) + +commit cac29c9618fc5ca8bfcc6a5b4b83ff51443654fa +Author: Orit Wasserman +Date: Wed Aug 23 12:13:24 2017 +0300 + + rgw-admin: require --yes-i-really-mean-it when using --inconsistent_index + + Signed-off-by: Orit Wasserman + Fixes: http://tracker.ceph.com/issues/20777 + (cherry picked from commit 1cd7ef0eb9bde5a08f8c758ce57c9e298fabad8d) + +commit 91dd0fe479c63e0b907ce218fa9f262fa950364f +Author: Zac Medico +Date: Sun Aug 27 05:25:01 2017 -0700 + + interval_set: optimize intersect_of for identical spans + + Optimize comparisons for identical spans of intervals. + When this patch is combined with the previous map insert + optimization, a benchmark using 400000 identical + intervals shows a 7 times performance improvement in + comparison to without the patches. + + Signed-off-by: Zac Medico + (cherry picked from commit b6a035666c2765f8895ee9991348dbc025613ed7) + +commit 83236f0c476bc7e36c11e934787e69c11283ec13 +Author: Zac Medico +Date: Fri Aug 25 09:41:07 2017 -0700 + + interval_set: optimize intersect_of insert operations + + Use the std::map insert method with hint iterator to optimize + inserts. This increases performance more than 3.5 times for + large numbers of intervals. This will help performance + especially in the PGPool::update method, where profiling data + has shown that intersection operations are a hot spot. The + following benchmark data is for 400000 intervals: + + 4 +-+--+----+----+----+----+----+----+----+----+--+-+ + P + + + + + + + + ************* + E | ******** | + R 3.5 +-+ **** +-+ + F | ****** | + O | ** | + R 3 +-+ **** +-+ + M | *** | + A | ** | + N 2.5 +-+ * +-+ + C | ** | + E | * | + 2 +-+ ** +-+ + R | ** | + A | ** | + T 1.5 +** +-+ + I |** | + O +* + + + + + + + + + + + 1 +*+--+----+----+----+----+----+----+----+----+--+-+ + 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 + + SET SIZE RATIO + + The above chart was generated using benchmark results + from the following program: + + #include + #include + #include "include/interval_set.h" + + int main(int argc, char *argv[]) + { + const int interval_count = std::stoi(argv[1]); + const int interval_distance = 4; + const int interval_size = 2; + const int sample_count = 8; + const int max_offset = interval_count * interval_distance; + interval_set a, b, intersection; + + for (int i = 0; i < max_offset; i+=interval_distance) { + a.insert(i, interval_size); + } + + for (int m = 1; m < 100; m++) { + float ratio = 1 / float(m); + + for (int i = 0; i < max_offset; i+=interval_distance*m) { + b.insert(i, interval_size); + } + + struct timeb start, end; + int ms = 0; + for (int i = 0; i < sample_count; i++) { + ftime(&start); + intersection.intersection_of(a, b); + ftime(&end); + ms += (int) (1000.0 * (end.time - start.time) + + (end.millitm - start.millitm)); + intersection.clear(); + } + b.clear(); + + std::cout << ratio << "\t" << ms << std::endl << std::flush; + } + } + + Signed-off-by: Zac Medico + (cherry picked from commit 32bc0430f70b057d1bba623252e92ab9f279028d) + +commit 8e9b52ee884dce49385855eed571ece6cdc9e0d7 +Author: yanyx +Date: Mon Aug 7 18:14:14 2017 +0800 + + pybind: fix chart becomes bigger when refresh + + Fixes: http://tracker.ceph.com/issues/20746 + Signed-off-by: Yixing Yan + (cherry picked from commit edf93427734ce156f5eaac7a25f4c16a92852b98) + +commit 63c9382eafb5d40441ce487c2430c98c214ce84a +Author: Matt Benjamin +Date: Fri Aug 25 17:55:11 2017 -0400 + + rgw_file: fix LRU lane lock in evict_block() + + Found by "Supriti Singh" . + + Fixes http://tracker.ceph.com/issues/21141 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 3301596734adcbda1e8e76a742935efdeb7518fd) + +commit 24803b76c804fb1717a4c6ed4f93c63fbd4a8f19 +Author: Casey Bodley +Date: Mon Aug 28 10:14:03 2017 -0400 + + qa: create_cache_pool no longer runs 'pool application enable' + + Fixes: http://tracker.ceph.com/issues/21155 + + Signed-off-by: Casey Bodley + (cherry picked from commit 054297450484ff99f95470905cd6d8986c26e2c4) + +commit ca7e48c62e6a18c5a627d5e71ed8016e1e41b9a1 +Author: John Spray +Date: Mon Aug 28 10:08:12 2017 -0400 + + mgr: fix crash in MonCommandCompletion + + Fixes: http://tracker.ceph.com/issues/21157 + Signed-off-by: John Spray + (cherry picked from commit 5fa61b2ed078a3cf333a3111d4f43584ce27ba9d) + +commit 0c75157a91506dc5edd3c4ae5eb95ac1a0c38aee +Author: xie xingguo +Date: Tue Aug 29 08:21:07 2017 +0800 + + mon/OSDMonitor: make 'osd crush rule rename' idempotent + + Fixes: http://tracker.ceph.com/issues/21162 + Signed-off-by: xie xingguo + (cherry picked from commit cd2191c3f192986e20beaab84b643dfaf49901f7) + +commit b575d00073ccf3f84d84a220f542058471a58472 +Author: Abhishek Lekshmanan +Date: Thu Aug 3 15:14:05 2017 +0200 + + rgw_lc: add support for optional filter argument and make ID optional + + Support Filter tag in Lifecycle XML similar to AWS S3, while S3 docs + mention that this tag is mandatory, older clients still default to + Prefix, and S3 itself seems to relaxed in enforcing the rule, this + implementation also follows a similar pattern. Filter optionally + supports filtering via (multiple) Object Tags, this is still a TODO. The + current implementation of object tags is still as an object xattr, and + since the LC processing still iterates over the bucket index which + currently doesn't have any info. on tags, this requires some thought + into for implementing without a larger performance penalty + + Fixes: http://tracker.ceph.com/issues/20872 + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit 93a858392a2a3bc8c16369dd8c3f6845e99af404) + +commit ce2a181834cf60f9d03bbcf849ae72a740bb10a9 +Author: Jiaying Ren +Date: Thu Aug 10 10:57:13 2017 +0800 + + rgw: fix obj copied from remote gateway acl full_control issue + + This part of the code is commit in + ea3efca + + When copy a object to a remote gateway, the check processing which is + done by + "Bitwise And" between source object's acl elements and + grants_headers_def array elements + will be done to produce the target object's acl elements. + + So when the full_control is the first element of grants_headers_def, no + matter the + source object's acl element permission field is write or read, the + result of + bitwise and will always be true, then call grants_by_type_add_one_grant + with + check_perm which is full_control, all of the permission field of the + target object's + acl elements will be full_control. + + Fixes: http://tracker.ceph.com/issues/20658 + + Signed-off-by: Enming Zhang + (cherry picked from commit 6bb2ed24ad175005e7ebd187166bb8735761493c) + +commit 17626e01d832bac0068697947f32202d2f8cc13a +Author: John Spray +Date: Thu Aug 10 11:10:09 2017 +0100 + + mgr/dashboard: fix FS status on old MDS daemons + + These may not have the version string. We already handled + this in the equivalent code in the status module, so just + do the same thing in dashboard. + + Fixes: http://tracker.ceph.com/issues/20692 + Signed-off-by: John Spray + (cherry picked from commit 800662c2fa3f040992987dc5c635dfbc14f0a0ea) + +commit e171fa6a6dd77b2d3490e2d656de149beb5daaab +Author: Aleksei Gutikov +Date: Mon Aug 21 17:04:45 2017 +0300 + + rgw: Prevent overflow of stats cached values + + Fixes: http://tracker.ceph.com/issues/20934 + Signed-off-by: Aleksei Gutikov + (cherry picked from commit 634215eea1ddd4e4f5dc0066c4a2e745cfc20475) + +commit a656a38d285acb413d07c5b8b3d0ea90d491ed53 +Author: xie xingguo +Date: Thu Aug 24 15:53:23 2017 +0800 + + osd/PrimaryLogPG: fix sparse read won't trigger repair correctly + + Normal reads instead of hole-reads should trigger auto-repair. + Also we shall quit on successfully triggering a repair, or else + we are at risk of doing the op multiple times. + + Signed-off-by: xie xingguo + (cherry picked from commit 4ad25c346215dc2ddc4b1a43948b6fe01316edf2) + +commit 39b3b132f24c2e66b7d862ef5b553992dd109cf4 +Author: Yan, Zheng +Date: Mon Aug 21 16:56:20 2017 +0800 + + qa: add health whitelist for kcephfs suite + + Fixes: http://tracker.ceph.com/issues/20892 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit b10989209f41ddb5abe16f816ffd8a3ce118fd02) + +commit 00ed756ae866f2f4777c3994f75032824f3ee5ac +Author: Dan van der Ster +Date: Thu Aug 10 11:33:46 2017 +0200 + + client: skip lookupname if writing to unlinked file + + When a client writes to an unlinked file, get_quota_root tries to + resolve the filename via an MDS lookupname op. The op always results in + -13 permission denied for path-restricted caps or -2 no such file or + directory otherwise. More importantly, the repeated lookupname ops slow + down buffered writes significantly. + + Don't do the lookupname for unlinked files; use the root_ancentor's + quota instead. + + Fixes: http://tracker.ceph.com/issues/20945 + Backport: jewel, luminous + Signed-off-by: Dan van der Ster + (cherry picked from commit 1d617eee2e8c32f7300cb2cb8dd37b3714a4699f) + +commit e2cc9ef48a7f7a2014c211a3baa10e7ac1a1a8a7 +Author: xie xingguo +Date: Wed Aug 9 21:24:49 2017 +0800 + + mon/OSDMonitor: "osd pool application ls" support + + It would be a pain if we have to call 'ceph osd dump --format=json-pretty' + to find out these each time... + + Demo output: + (1) ceph osd pool application get + { + "cephfs_data_b": { + "cephfs": {} + }, + "cephfs_metadata_a": { + "cephfs": {} + }, + "test_pool": { + "rbd": { + "test": "me" + } + } + } + + (2) ceph osd pool application get test_pool + { + "rbd": { + "test": "me" + } + } + + (3) ceph osd pool application get test_pool rbd + { + "test": "me" + } + + (4) ceph osd pool application get test_pool rbd test + me + + Fixes: http://tracker.ceph.com/issues/20976 + Signed-off-by: xie xingguo + (cherry picked from commit 46586b22882c0c08c099243e189f5a165063da0c) + +commit 25a651e100d5854d730f1218154838fa37868686 +Author: Patrick Donnelly +Date: Mon Aug 21 13:14:40 2017 -0700 + + qa: add chown test clearing S_ISGID and S_ISUID + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 7fd94abd0a2b682c1d7f01699962e27809c061cd) + +commit d9a8b3e797252114c930117e6311f924ef0588b3 +Author: Patrick Donnelly +Date: Wed Aug 16 10:48:21 2017 -0700 + + ceph-fuse: load supplementary groups by default + + Partially addresses POSIX test failures in [1] due to the config setting being + false by default. + + [1] https://bugzilla.redhat.com/show_bug.cgi?id=1480182#c6 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 08b077338cba1250c36232f91c708d189326bbb6) + +commit b9514d48471b40574a47ad433e3573674075e466 +Author: Patrick Donnelly +Date: Wed Aug 16 10:20:11 2017 -0700 + + client: clear suid/sgid bits on non-zero write + + According to [1], these bits should be cleared regardless of any exe bits on + the file. Also, add the required non-zero write check. + + [1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 24c9de5d11d5d1145da96a2af52dd22d81e0c89d) + +commit e41a8c25345020f47513c43269eb91e3ca6d0852 +Author: Patrick Donnelly +Date: Wed Aug 16 10:07:43 2017 -0700 + + client: add missing space in debug msg + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 3f806c72dd3b9b28761ee32f5e32001de8362028) + +commit f9eb24e74f948d85729432dbb440aa177789df85 +Author: Patrick Donnelly +Date: Wed Aug 16 09:52:36 2017 -0700 + + cephfs: clear suid/sgid if regular file is exe + + According to [1], the suid/sgid should be cleared if any of the executable bits + are set. + + Found this while experimenting for [2]. + + [1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html + [2] https://bugzilla.redhat.com/show_bug.cgi?id=1480182 + + Fixes: http://tracker.ceph.com/issues/21004 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit d306d74a60e6d2c79aa4e9a840f3fc12ee8461bc) + +commit 469e50646c7d83e1f4e59ea90aeeefbd437976e8 +Author: Patrick Donnelly +Date: Wed Aug 16 09:48:09 2017 -0700 + + client: refactor clear set uid/gid if -1 + + libfuse already does not set FUSE_SET_ATTR_UID if the chown uid is -1. However, + another libcephfs client could call setattr directly with -1 as the uid/gid so we + should handle that potential case. + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 6448d4927fb4cfc29392ff58da8775d68e3e875b) + +commit 18442e15854f7973c1b478befaff42f08b549505 +Author: Ken Dreyer +Date: Mon Aug 21 13:02:44 2017 -0600 + + rpm: ceph-fuse requires fuse package + + The ceph-fuse(8) man page describes using the "fusermount" tool to mount + CephFS. This utility is in the "fuse" package. Prior to this change, the + ceph-fuse RPM only depends on "fuse-libs", not "fuse". + + The Debian packaging has always depended on the full "fuse" (previously + "fuse-utils") package, so we should make the RPM packaging do the same. + + Fixes: http://tracker.ceph.com/issues/21057 + Signed-off-by: Ken Dreyer + (cherry picked from commit 6fba9cc3f910442d3d09b41f01f454a39bfdbc48) + +commit daacbfd90fb4e127dc73142674eacf63d618cdaf +Author: Zhu Shangzhong +Date: Wed Aug 23 10:20:17 2017 +0800 + + client: add blank space between function name and inode number for log + + Fixes: http://tracker.ceph.com/issues/21069 + + Signed-off-by: Zhu Shangzhong + (cherry picked from commit 0cb4d379fdd2b869bd765e1fcb424a8f8a8f6a04) + +commit a1a3c07ba41c2edea2499d1b31baba310e6417e2 +Author: Boris Ranto +Date: Fri Jun 9 14:38:28 2017 +0200 + + selinux: Allow nvme devices + + This commit allows nvme devices which use a different label than + standard block devices. + + Fixes: http://tracker.ceph.com/issues/19200 + Signed-off-by: Boris Ranto + (cherry picked from commit a8af61c8da9028adc13f7aea611d5a5fee9dbfd1) + +commit ce434ac24f89e3cd3f51fbbe63b37f500913bc7d +Author: songweibin +Date: Thu Aug 17 11:44:43 2017 +0800 + + common: add new line break when get command descriptions + + Signed-off-by: songweibin + (cherry picked from commit 19dd4203eb930ffb7a321cb617c580d99ceca9c1) + +commit 59a327e0a9a71802c61f8dddf8d217a5a7bfe2f6 +Author: songweibin +Date: Wed Aug 9 14:26:32 2017 +0800 + + rbd: adding newline operation when only '--format' used + + Signed-off-by: songweibin + (cherry picked from commit 992829d38cb89732f6994642c1bdaa2448e610b7) + +commit 94fcad155dd2b1d35264e628309b67977146dfff +Author: songweibin +Date: Tue Aug 1 19:48:04 2017 +0800 + + rbd: '--pretty-format' should return error if '--format' not used + + Signed-off-by: songweibin + (cherry picked from commit 47e7549826b55905e7f298717fedf0e8f220940a) + + Conflicts: + src/test/cli/rbd/help.t (master has several new commands compared to + luminous: omit these) + +commit a74b3267eef23f17eb90fff180db03c0f2fa61a6 +Author: Jason Dillaman +Date: Thu Aug 17 18:39:05 2017 -0400 + + test/librbd: TestMirroringWatcher unit tests should ignore duplicates + + Fixes: http://tracker.ceph.com/issues/21029 + Signed-off-by: Jason Dillaman + (cherry picked from commit 5d3d5ea5aca5807b09050fe8ad2245c4963a0f34) + +commit 5f0ba1353b6fe0eec5ed67489a9d1f7f87466d23 +Author: Jason Dillaman +Date: Tue Aug 1 15:03:57 2017 -0400 + + rbd: switched from legacy to new-style configuration options + + Fixes: http://tracker.ceph.com/issues/20737 + Signed-off-by: Jason Dillaman + (cherry picked from commit 7dc82bc08cbfabd424dcd0b83ed618d28db5fe8e) + +commit 3f0ee2aa39c7b48380617fe33871c7db5989abcb +Author: Yehuda Sadeh +Date: Fri Dec 9 16:23:59 2016 -0800 + + rgw: metadata full sync streams metadata keys + + We don't read the entire list of all metadata entries in a single + request. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 4a509a669125a9a2d74de11cce555df2547103d1) + +commit a8c156b4761edea882c7cabb981108d2d127f442 +Author: Yehuda Sadeh +Date: Fri Dec 9 15:43:16 2016 -0800 + + rgw: rest list metadata supports max-entries and marker + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a45fd78d08f4d862c273a13abf787a93ce8e0906) + +commit ebd09a4c7aaa8788fe6fbc5ba80b0ea3308ca3e2 +Author: Yehuda Sadeh +Date: Fri Dec 9 14:34:46 2016 -0800 + + rgw-admin: add marker to metadata list + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit ae600c2c3f765f409cb16557870ceb91d6714760) + +commit 8d1b349f860a7eaaae0ea281e2f5451ce8fd06f3 +Author: Yehuda Sadeh +Date: Fri Dec 9 14:30:57 2016 -0800 + + rgw: add marker to metadata api keys listing + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 84ece81bc3590b08e5565c5b96bcbb4cb97a4100) + +commit 298366deb4473370467e3f345dddadc2d5a87b71 +Author: Yehuda Sadeh +Date: Fri Dec 9 14:22:57 2016 -0800 + + rgw: marker for raw pool listing + + We now have a marker (cursor) that can be used for raw pool + listing. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit a24b8aeb1e376ce9e5e50535d8ce1a287c99fa90) + +commit 5d229d18ec89fbe49a95cb5004be1a18b6376c65 +Author: Casey Bodley +Date: Wed Aug 16 09:41:43 2017 -0400 + + test/rgw: add kms encryption key for teuthology + + Signed-off-by: Casey Bodley + (cherry picked from commit f27ebabe551f62241d1f5b55add9ec6b5d782073) + +commit d0c2adc1b71cea08a40805a65cb397b0dc5bedad +Author: Casey Bodley +Date: Wed Aug 16 09:01:28 2017 -0400 + + test/rgw: add multisite test_encrypted_object_sync + + Signed-off-by: Casey Bodley + (cherry picked from commit acb953a9ed83e5e760d9222c8f9ede6c8c73a341) + +commit cc9b83c2a759356142436eae2fc005cc8ce684a9 +Author: Casey Bodley +Date: Wed Jul 26 16:26:25 2017 -0400 + + rgw: rgwx-skip-decrypt header bypasses decryption filter on GetObj + + Fixes: http://tracker.ceph.com/issues/20668 + Fixes: http://tracker.ceph.com/issues/20671 + + Signed-off-by: Casey Bodley + (cherry picked from commit adf7a333017f52682c7319420804433b7d3851a0) + +commit b13a1d5ffa00030170bfb0bb944d94f1b011afb3 +Author: Casey Bodley +Date: Wed Jul 26 16:24:13 2017 -0400 + + rgw: add skip_decrypt to RGWRESTConn::get_obj() + + this adds a rgwx-skip-decrypt header to requests from + RGWRados::fetch_remote_obj() + + Signed-off-by: Casey Bodley + (cherry picked from commit 2a7a5be4b41641cb17fb9127b84ce717ca55d3fe) + +commit df4131c7a9bc6b61aadf315d33b0258b52b0fbed +Author: Casey Bodley +Date: Wed Jul 26 16:23:26 2017 -0400 + + rgw: name arguments to RGWRESTConn::get_obj() + + Signed-off-by: Casey Bodley + (cherry picked from commit 9bd1aa7facf94eed41c4235722490c91c9dbf399) + +commit 07a15984c665b5f4720aa6c69ce9f44a8216d859 +Author: fang.yuxiang +Date: Wed Aug 9 11:48:53 2017 +0800 + + rgw: break sending data-log list infinitely + + radosgw send data-log list infinitely when opposite end trimmed the data-log and in quiescence. + Fixes: http://tracker.ceph.com/issues/20951 + + Signed-off-by: fang yuxiang fang.yuxiang@eisoo.com + (cherry picked from commit 40db1fdbc7b24d56b2c7b463238e6b96f2d4bbd9) + +commit 7c3a82225e44305fcc5648b0f78719c0331ecca5 +Author: Marcus Watts +Date: Fri Aug 4 20:01:32 2017 -0400 + + Test bytes_sent bugs. + + Rearrange logic to make it easier to measure accumulation. + Instrument the boto request/response loop to count bytes in and out. + Accumulate byte counts in usage like structure. + Compare actual usage reported by ceph against local usage measured. + Report and assert if there are any short-comings. + Remove zone placement rule that was newly added at end: tests should be rerunable. + + Nit: the logic to wait for "delete_obj" is not quite right. + + Fixes: http://tracker.ceph.com/issues/19870 + Signed-off-by: Marcus Watts + (cherry picked from commit a45ab45f74042617ec382f3d50f4d45d883042f5) + +commit 8c9805921edac7257a135873e663aea5c4316d1e +Author: Marcus Watts +Date: Sun Jun 18 18:18:39 2017 -0400 + + Fix bytes_sent bugs. + + log bytes sent/received. + add cct to bufferingfilter + add cct to RGWRestfulIO + AccountingFilter - save cct for debugging output + implement AccountingFilter::complete_request() - account for bytes reported here. + BufferingFilter::complete_request() - ignore counts from send_content_length() complete_header(); + + Code quality note: + this patch makes "cct" available for a lot of newly added debug + statements. The debug statements are mostly not very useful (and should + go away in the future) - *But* the "cct" logic should be redone and + incorporated into some base class (such RestfulClient) so that it is + possible to easily add in debug statements such as these in the future. + + Fixes: http://tracker.ceph.com/issues/19870 + Signed-off-by: Marcus Watts + (cherry picked from commit 0172aab860abe324923a392baf51f956a65b64a5) + +commit 823585311c41729309809690a7df5cb83c4ece12 +Merge: 85bc024bd9 e1253e2c24 +Author: Sage Weil +Date: Sat Sep 2 13:47:29 2017 -0500 + + Merge pull request #17383 from liewegas/wip-luminous-mon-bits-luminous + + mon: final luminous mon bits + + Reviewed-by: Kefu Chai + +commit e1253e2c248446cb1ef57777e1796d376f2ae97e +Author: Sage Weil +Date: Sat Sep 2 14:46:47 2017 -0400 + + PendingReleaseNotes: must upgrade to 12.2.1 before mimic + + Signed-off-by: Sage Weil + +commit 85bc024bd9496c3cdfd64c5facb841a048179c50 +Merge: 3e35d292bd 6979dd31ed +Author: Josh Durgin +Date: Fri Sep 1 14:37:38 2017 -0700 + + Merge pull request #17429 from ceph/wip-luminous-x-luminous + + qa: add upgrade/luminous-x suite + + Reviewed-by: Josh Durgin + +commit 6979dd31ede42d7ab204b13b9346662a049b343a +Author: Yuri Weinstein +Date: Fri Sep 1 14:29:41 2017 -0700 + + Initial check in luminous-x suite + + same from master https://github.com/ceph/ceph/pull/17160 + + Signed-off-by: Yuri Weinstein + +commit 3e35d292bdd7d931deb204f5878c0a5dea02b27d +Merge: fa996769fc 55a519056c +Author: Alfredo Deza +Date: Fri Sep 1 07:14:15 2017 -0400 + + Merge pull request #17408 from ceph/luminous-bz1485011 + + luminous: ceph-volume Persist non-lv devices for journals + + Reviewed-by: Andrew Schoen + +commit 55a519056ce2dd2c7e155f6f8a06ee95c428ad72 +Author: Alfredo Deza +Date: Thu Aug 31 10:27:39 2017 -0400 + + ceph-volume tests add new ceph_* ansible dev variables required (centos) + + Signed-off-by: Alfredo Deza + (cherry picked from commit d3abfd42ef8e558a1bbb31e24d0ab3c44ee7f4c4) + +commit 00c28d7b3fbc4cf3d04e8de76abe284ed98451aa +Author: Alfredo Deza +Date: Wed Aug 30 14:46:54 2017 -0400 + + ceph-volume tests add new ceph_* ansible dev variables required (xenial) + + Signed-off-by: Alfredo Deza + (cherry picked from commit ebb48c58123a1cfcfc6eccdf9f6c2b3a720f1233) + +commit 22fbc9d8d0ef3803166c7fcf627f7b41847ad7e3 +Author: Alfredo Deza +Date: Wed Aug 30 14:12:33 2017 -0400 + + ceph-volume util create a disk utility for blkid operations + + Signed-off-by: Alfredo Deza + (cherry picked from commit a19e1288e8ae044f41dff9a1770126aa540cc729) + +commit 5ce9597d3579e5f4ee6523b59c42f6b3ef2ece82 +Author: Alfredo Deza +Date: Wed Aug 30 14:11:52 2017 -0400 + + ceph-volume lvm.prepare store the blkid uuid of a partition journal + + Signed-off-by: Alfredo Deza + (cherry picked from commit 5160c5398bbf107bcc826696664c503aa52d0020) + +commit 3e8f2cc2a57351c990836792256af899bc233b1a +Author: Alfredo Deza +Date: Wed Aug 30 14:05:22 2017 -0400 + + ceph-volume lvm.activate use the partuuid of a partition to link the journal + + Signed-off-by: Alfredo Deza + (cherry picked from commit a1080f833b35c5de30d7b577deabf0a0e82fbbf2) + +commit a971b0e0c694da4c2cd5eda8d540f4a3965cd80c +Author: Alfredo Deza +Date: Tue Aug 29 13:34:21 2017 -0400 + + ceph-volume tests update the ansible version for functional/tox.ini + + Signed-off-by: Alfredo Deza + (cherry picked from commit 007655afa3def6788e07d2db10c7cd9cb4ab45b7) + +commit 9b20da46761c92f3e39e44383bc0b3e3625ee26c +Author: Alfredo Deza +Date: Tue Aug 29 13:25:28 2017 -0400 + + ceph-volume tests add pv* related unit tests + + Signed-off-by: Alfredo Deza + (cherry picked from commit 7c22743c9aa1306242fc09ccae5dedf94e025cc4) + +commit 459ed5ad1efe0af070e92267657ac4d6a6a15c28 +Author: Alfredo Deza +Date: Tue Aug 29 11:31:56 2017 -0400 + + ceph-volume lvm.api include lv_uuid as output fields + + Signed-off-by: Alfredo Deza + (cherry picked from commit d85656da2531471e11cb90fcc74570c9c2b804e0) + +commit 9b04a4cff09e7aaab6fde5d456854847acc4c061 +Author: Alfredo Deza +Date: Tue Aug 29 09:38:08 2017 -0400 + + ceph-volume lvm.activate always update the link to the journal + + Signed-off-by: Alfredo Deza + (cherry picked from commit 6a1de41838cb9dbbdc4a8f59eb07e4340ccb9680) + +commit 9c1e84ab1fdaad47cb0e27453b19de8c899a9700 +Author: Alfredo Deza +Date: Tue Aug 29 09:26:35 2017 -0400 + + ceph-volume lvm.activate retrieve the journal uuid if journal is a device + + Signed-off-by: Alfredo Deza + (cherry picked from commit a368fa1ad6d6265c5094eacbe7e72f642b43559d) + +commit 7da501a250fb551edb396dde1f19d9737a5812c7 +Author: Alfredo Deza +Date: Mon Aug 28 17:33:39 2017 -0400 + + ceph-volume exceptions create a specifc error for multiple pvs + + Signed-off-by: Alfredo Deza + (cherry picked from commit 73315c49115dbb45f3bb6c9e46955b333602cec2) + +commit 38e0caa1bbb2471808b2895604ede20d8a6615fe +Author: Alfredo Deza +Date: Mon Aug 28 16:52:33 2017 -0400 + + ceph-volume lvm.prepare make a journal a pv, use uuids always + + Signed-off-by: Alfredo Deza + (cherry picked from commit 913cef2d01b91e12c16e42d268043886b62c72fa) + +commit 237e42c4ea21a48f04bc092f9c3f9c0d407ec298 +Author: Alfredo Deza +Date: Mon Aug 28 16:51:11 2017 -0400 + + ceph-volume lvm.api create the PVolumes class and helpers + + Signed-off-by: Alfredo Deza + (cherry picked from commit f2bc125d980485c7b456e0193ec9c66ea0acbe54) + +commit 337edc3cd1145cf85dfa3745a8e0ab7c5d26cbf3 +Author: Alfredo Deza +Date: Thu Aug 24 19:28:12 2017 -0400 + + ceph-volume lvm.api create the PVolume class + + Signed-off-by: Alfredo Deza + (cherry picked from commit 1725a5f3589ba2faddc9ce633997e5563fc66a01) + +commit eda292b40a2c221d98b8ddf740752cc8dd857cf9 +Author: Alfredo Deza +Date: Thu Aug 24 16:37:48 2017 -0400 + + ceph-volume lvm.api add a helper to create pvs + + Signed-off-by: Alfredo Deza + (cherry picked from commit 00f3fa401871f3108558fea71f6ac03660d00ba1) + +commit 4f021d396271c59492f38fe20f7d739be862c15d +Author: Sage Weil +Date: Wed Aug 30 17:22:33 2017 -0400 + + qa/suites/rados/thrash/d-luminous/at-end: check for purged_snapdirs + + Signed-off-by: Sage Weil + +commit 807c4c834136e5a3d20b31d50e770430695473ff +Author: Sage Weil +Date: Tue Aug 29 00:01:19 2017 -0400 + + mon: set purged_snapdirs OSDMap flag once snapsets have all converted + + This makes it easier to test whether the upgrade + conversion has + completed. In particular, mimic+ will be able to simply test for this + flag without waiting for complete PG stats to know whether it is safe to + upgrade beyond luminous. + + Signed-off-by: Sage Weil + (cherry picked from commit c3cbaad2a1a4df68fe39394e07c2f3ac9818b9c8) + +commit 2f3e2e5578089c6c7498358c166689c697d82020 +Author: Sage Weil +Date: Mon Aug 28 15:21:44 2017 -0400 + + mon: CEPH_MON_FEATURE_INCOMPAT_LUMINOUS + + - set this once we have a luminous quorum + - require luminous if we have this set locally + - include this on mkfs + + Signed-off-by: Sage Weil + (cherry picked from commit 5b6c451e3fdaf0785b197fdfacf1c782b932bec9) + +commit fa996769fcf1d1eb135c00d98b7b48e370f210d0 +Merge: 935faacb34 dc76083ee4 +Author: Jason Dillaman +Date: Wed Aug 30 16:39:09 2017 -0400 + + Merge pull request #17381 from dillaman/ritz303-wip-doc-20437 + + luminous: doc/rbd: iSCSI Gateway Documentation + + Reviewed-by: Jason Dillaman + +commit dc76083ee451bbaef3e67720d46a6e268b877b60 +Author: Jason Dillaman +Date: Tue Aug 8 19:14:57 2017 -0400 + + doc: tweaks for the RBD iSCSI configuration documentation + + Signed-off-by: Jason Dillaman + (cherry picked from commit b0abab17e3fa96ca973791a3afe077406d066035) + +commit 3717fd060b815f8b4f0c2ec3225b28b6bca33601 +Author: Aron Gunn +Date: Wed Jul 12 17:11:25 2017 -0500 + + doc/rbd: Replaced numbered steps with a # for dynamic numbering + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit f109031cb5c8150f042f9754f16bfa5216411eda) + +commit 846093201207f1544b386d69c38573b21c69f4db +Author: Aron Gunn +Date: Thu Jul 6 17:22:38 2017 -0500 + + doc/rbd: Updated the content based on engineering feedback + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit 2a59c82b3d4bbb13bc82cf62fce1d9cb5ba7e6be) + +commit 08fffcd3562d299cdb7ba499012a4ea19250433f +Author: Aron Gunn +Date: Thu Jul 6 17:22:02 2017 -0500 + + doc/rbd: Updated the content based on engineering feedback + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit 1d4f5b458d127065d92652c323c73704cf775754) + +commit cee1621875257782d1077a513baf7d264a782795 +Author: Aron Gunn +Date: Thu Jul 6 17:20:40 2017 -0500 + + doc/rbd: Updated the content based on engineering feedback + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit 441820d95890d95ea79bae55afb3ca3b1a8a36e3) + +commit bf6086377298ca762d0d901934c6c4ec88b0f456 +Author: Aron Gunn +Date: Thu Jul 6 17:19:01 2017 -0500 + + doc/rbd: Updated the requirements based on engineering feedback + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit c57266bf82c554b93653489a4b355f53b4b86424) + +commit 75a3c6d4f11dedee222dc7d07ab1f7a8fe18db14 +Author: Aron Gunn +Date: Thu Jul 6 12:35:38 2017 -0500 + + doc/rbd: Added the iSCSI gateway requirements content + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit 9335742140a2b4e8b408560c600a490b2749bd9d) + +commit e05635e22894baf37e115a263b483bf251285aad +Author: Aron Gunn +Date: Thu Jul 6 12:34:49 2017 -0500 + + doc/rbd: Added the iSCSI gateway overview content + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit d022034bb3a6e1b00cf185cae0b5fa3f4b617a38) + +commit 0cd40caa68355fa55b6b9d0fd57c45ae804cfd36 +Author: Aron Gunn +Date: Thu Jul 6 12:34:10 2017 -0500 + + doc/rbd: Added the iSCSI gateway 'gwtop' monitoring content + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit 7e8233429ba158c1a4cfe6e58a7ce24ffe8759c9) + +commit 3ef7639370939e1d087693c7dda5c819fd707e23 +Author: Aron Gunn +Date: Thu Jul 6 12:32:53 2017 -0500 + + doc/rbd: Added the iSCSI targets, Ansible and CLI docs + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit cbf654c702e7b7a8e7023c4707c4ea38d584be3e) + +commit 1d277117d3aa347177927ff85ce314c2d8233498 +Author: Aron Gunn +Date: Thu Jul 6 12:31:39 2017 -0500 + + doc/rbd: Added the iSCSI initiators, RHEL, Windows, and ESX docs + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit f0e177fa3d8807cfa6ae17f8a0dc759a045623f9) + +commit ad0b8eb0944275e023ddfc9140bd32886545f78c +Author: Aron Gunn +Date: Thu Jul 6 12:28:06 2017 -0500 + + doc/rbd: Updated the "toctree" adding the iSCSI gateway overview doc + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit 4ef8426bff9a32e00093f7c5d2b6b9620252293b) + +commit 745f1748769bdef44635c4918deae106bbc28a1f +Author: Aron Gunn +Date: Thu Jul 6 12:23:50 2017 -0500 + + doc/rbd: Added the unmodified iSCSI initiator images for ESX and Windows 2016 + + Fixes: http://tracker.ceph.com/issues/20437 + + Signed-off-by: Aron Gunn + (cherry picked from commit 2fd61f8de1587d2bfbbb7e15c952a29566b390a1) + +commit 33dc4e65b2862fbadd7eba504247144d4c710a7c +Author: Josh Durgin +Date: Thu Aug 24 18:03:36 2017 -0400 + + osd/PGLog: write only changed dup entries + + Writing all of the dup entries whenever one is changed causes a large + regression in performance. + + Instead, keep track of ranges that need to be cleared and written + after log merging (dirty_{to,from}_dups) and the earliest dup entry we + haven't written yet during normal operation (write_from_dups). This + parallels the way we track unpersisted log entries. + + Check that the correct set of dups is persisted by adding a roundtrip + through memstore to each merge_log unit test. + + Fixes: http://tracker.ceph.com/issues/21026 + Signed-off-by: Josh Durgin + (cherry picked from commit 75af72f758aacc1260b8d828d0b8bb7786597fdf) + +commit 4c5db08e6600b47cb4e2a3b940ab008bc9b1cb72 +Author: Josh Durgin +Date: Thu Aug 24 18:34:48 2017 -0400 + + Revert "osd: adjust osd_min_pg_log_entries" + + This reverts commit 1c4df03394312fe67f36448613d8b54cb1a0e2c9. + + Signed-off-by: Josh Durgin + (cherry picked from commit 4c8fd9978369448e28355d62b4d1eef3685ea63b) + +commit 935faacb342ca2fc264d5a48085e7779757ab667 +Merge: bcf89707d6 8f0945a0f3 +Author: Sage Weil +Date: Wed Aug 30 08:28:33 2017 -0500 + + Merge pull request #17359 from tchaikov/wip-luminous-ceph-release-stable + + luminous: ceph_release: luminous is now 'stable' (12.2.x) + +commit 8f0945a0f39e7da629fa94f406bc1314e1b39fc8 +Author: Kefu Chai +Date: Wed Aug 30 12:23:42 2017 +0800 + + ceph_release: luminous is now 'stable' (12.2.x) + + Signed-off-by: Kefu Chai + +commit 2a1ae18fa71fa7463389b65245eee3279afade54 +Author: chenliuzhong +Date: Tue Aug 29 02:28:01 2017 -0400 + + os/bluestore:reshard-fix wrong shard length + + change fault_range parameter from 'needs_reshard_end' to 'needs_reshard_end-needs_reshard_begin' + be given needs_reshard_end may be out of bounds + + Signed-off-by: chenliuzhong + (cherry picked from commit 23bce6a9504955d7faf352242d88d26d4fe7ac96) + +commit bcf89707d6c3c3086f001d08c754095b9e7a85f1 +Merge: f726fee338 32ce2a3ae5 +Author: Sage Weil +Date: Tue Aug 29 10:48:19 2017 -0400 + + Merge tag 'v12.2.0' into luminous + + v12.2.0 + +commit 2c7fbc463cf5a981e5966a4a8b7d2a0d1eff3e95 +Author: huangjun +Date: Mon Aug 28 22:52:37 2017 +0800 + + mon: use ceph_clock_now if message is self-generated + + Signed-off-by: huangjun + (cherry picked from commit 56e8031dac7ee65d54e831e7e372e8771fa0f94a) + +commit 43ffb7c897f0fc3b407d09f19954865fad168e03 +Author: xie xingguo +Date: Tue Aug 29 09:33:51 2017 +0800 + + mon/OSDMonitor: make 'osd crush class rename' idempotent + + Signed-off-by: xie xingguo + (cherry picked from commit 2ee80aead88c90388871ee65d4ed31a2fa47f532) + +commit f726fee338e66356f62f9e6d0435df8c94b00cfd +Merge: 10a5e1911b b713cc831d +Author: Kefu Chai +Date: Tue Aug 29 21:33:58 2017 +0800 + + Merge pull request #17332 from tchaikov/wip-luminous-pr-17269 + + luminous: mon: fix two stray legacy get_health() callers + + Reviewed-by: Sage Weil + +commit 10a5e1911bf0114a7563ad634b7387fefd90caad +Author: Jenkins Build Slave User +Date: Mon Aug 28 16:30:20 2017 +0000 + + 12.2.0 + +commit 9cd689934677b2b28b67a864a1a9dbe482824adb +Author: yanyx +Date: Thu Aug 3 14:13:07 2017 +0800 + + mgr/dashboard: fix rbd's pool sub menu position + + Signed-off-by: Yixing Yan + (cherry picked from commit 4e1d539f7cbebdbb0fb29175694413deaa2aaddb) + +commit b713cc831da238844a6e42e80e93cb31ee060aad +Author: Sage Weil +Date: Fri Aug 25 18:30:12 2017 -0400 + + mon: fix two stray legacy get_health() callers + + These need to call the new method when appropriate. + + Signed-off-by: Sage Weil + (cherry picked from commit 69038a18070d0cd47dc857020cce115514beaa3d) + +commit 09e661dcb02db872d79427dfab9a9868bbb93750 +Merge: 9df9e82338 34bafa6134 +Author: Sage Weil +Date: Mon Aug 28 21:41:56 2017 -0500 + + Merge pull request #17327 from tchaikov/wip-luminous-pr-17326 + + luminous: doc: fix order of options in osd new + + Reviewed-by: Sage Weil + +commit 34bafa6134e1fc6b0f1e7b0eb43192bc29917769 +Author: Neha Ojha +Date: Mon Aug 28 15:59:19 2017 -0700 + + doc: fix order of options in osd new + + Signed-off-by: Neha Ojha + (cherry picked from commit e47463028921f0414e2f64c467f74cf37a1de085) diff --git a/doc/changelog/v12.2.2.txt b/doc/changelog/v12.2.2.txt new file mode 100644 index 00000000..7f63ca6e --- /dev/null +++ b/doc/changelog/v12.2.2.txt @@ -0,0 +1,9540 @@ +commit cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba +Author: Jenkins Build Slave User +Date: Thu Nov 30 14:59:27 2017 +0000 + + 12.2.2 + +commit 83684b91a3c6b31419114b83fc22106146885fb6 +Merge: 6d9f2161b2 b5d02ac0fd +Author: Kefu Chai +Date: Thu Nov 30 22:26:46 2017 +0800 + + Merge pull request #19240 from tchaikov/wip-22266-luminous + + luminous: tools/ceph_monstore_tool: rebuild initial mgrmap also + + Reviewed-by: Abhishek Lekshmanan + +commit 6d9f2161b269b19b0301348dd9b17660420624d5 +Merge: 0b4c3b8f1e b02075a963 +Author: Gregory Farnum +Date: Wed Nov 29 16:25:14 2017 -0500 + + Merge pull request #19230 from tchaikov/wip-22247-luminous + + luminous: mon/PGMap: Fix %USED calculation + + Reviewed-by: Greg Farnum + +commit 0b4c3b8f1ed72c3a0053ed372e1c5c9b0d48de59 +Merge: a57edd4f1a eb99a7ee36 +Author: Andrew Schoen +Date: Wed Nov 29 10:33:34 2017 -0600 + + Merge pull request #19239 from ceph/luminous-bz1518264 + + luminous: ceph-volume correctly fallback to bluestore when no objectstore is specified + + Reviewed-by: Andrew Schoen + +commit b5d02ac0fd60c26417ad33dc6efcf80bff503fdd +Author: Kefu Chai +Date: Wed Nov 29 20:21:33 2017 +0800 + + tools/ceph_monstore_tool: rebuild initial mgrmap also + + Fixes: http://tracker.ceph.com/issues/22266 + Signed-off-by: Kefu Chai + (cherry picked from commit f63d1da4afa3463730ecbc0be29df6375b79fa8f) + +commit eb99a7ee36d541939f589a674d9890b14e017dbe +Author: Alfredo Deza +Date: Tue Nov 28 09:22:19 2017 -0500 + + ceph-volume lvm.activate correct detection and fallback of objectstore flags + + Signed-off-by: Alfredo Deza + (cherry picked from commit f0ac2dfdbc0a05cff0a5edbedca91274885b7870) + +commit 10dbbb0a6e09c6181e81b04765cd368963753bb8 +Author: Alfredo Deza +Date: Tue Nov 28 09:21:34 2017 -0500 + + ceph-volume tests.devices.lvm verify objectstore flags in activate + + Signed-off-by: Alfredo Deza + (cherry picked from commit 8d22856d6c95ac3b45918765b382cae507a8d1a4) + +commit a57edd4f1a47f08c0f93d7a3ff57c376b72c9a8a +Merge: 1b0a5660f7 ee02b5c037 +Author: Sage Weil +Date: Wed Nov 29 08:43:07 2017 -0600 + + Merge pull request #19217 from liewegas/wip-p2p-app-warning-luminous + + upgrade/jewel-x/parallel: debug fuse + +commit b02075a963c24c6e1b24d1b076275dcce5350a03 +Author: Xiaoxi Chen +Date: Sun Nov 26 22:51:58 2017 -0700 + + mon/PGMap: Fix %USED calculation bug. + + Previous code forgot to multiple raw_used_ratio to calculate + used byte. + + Fixes: http://tracker.ceph.com/issues/22247 + Signed-off-by: Xiaoxi Chen + (cherry picked from commit d10c6c26f9ef7372e2c95da79d23b07ce5f4e0e5) + +commit ee02b5c037c67c708335745898328e990ecacc90 +Author: Sage Weil +Date: Tue Nov 28 16:48:36 2017 -0600 + + qa/suites/upgrade/jewel-x/point-to-point: whitelist more stuff + + Signed-off-by: Sage Weil + +commit d2a284c782fed3bec4ed38c898351826bca0a8bc +Author: Sage Weil +Date: Tue Nov 28 15:02:18 2017 -0600 + + qa/suites/upgrade/jewel-x/parallel: only mount ceph-fuse once + + Otherwise we do 4 mounts for no good reason. + + Signed-off-by: Sage Weil + +commit b7c6d9799cbfba3cff7bee5fd1de309a8299d911 +Author: Sage Weil +Date: Tue Nov 28 15:00:05 2017 -0600 + + upgrade/jewel-x/parallel: debug fuse + + Signed-off-by: Sage Weil + +commit 1b0a5660f793714e8cb470c35e084a141135cd8c +Merge: 4ed747dccf e50af8bb04 +Author: Sage Weil +Date: Tue Nov 28 14:48:08 2017 -0600 + + Merge pull request #19216 from liewegas/wip-p2p-app-warning-luminous + + qa/suites/upgrade/jewel-x/point-to-point: fix suppression of pool app warning + +commit e50af8bb04bd37bd0e28ddc7935e29bcdc106b05 +Author: Sage Weil +Date: Tue Nov 28 14:46:02 2017 -0600 + + qa/suites/upgrade/jewel-x/point-to-point: fix suppression of pool app warning + + It's generated on the mgr. + + Signed-off-by: Sage Weil + +commit 4ed747dccfaae15a9a807d3f3db2fc44b8b21fda +Merge: acb02717f6 6e1e33a88d +Author: Kefu Chai +Date: Tue Nov 28 23:47:17 2017 +0800 + + Merge pull request #19205 from tchaikov/wip-22136-luminous + + luminous: qa/ceph-disk: enlarge the simulated SCSI disk + + Reviewed-by: Alfredo Deza + +commit acb02717f6e96f96d4128bbebd946238d3c79291 +Merge: 55f5d7d1f1 bb03f6b20b +Author: Nathan Cutler +Date: Tue Nov 28 14:03:01 2017 +0100 + + Merge pull request #19152 from smithfarm/wip-22235-luminous + + luminous: ceph-disk flake8 test fails on very old, and very new, versions of flake8 + + Reviewed-by: Kefu Chai + +commit 6e1e33a88d038d5b6a469d7fb4e52182b888010f +Author: Kefu Chai +Date: Tue Nov 28 14:42:31 2017 +0800 + + qa/ceph-disk: enlarge the simulated SCSI disk + + 100MB will be allocated for journal, and the remaining 100MB is for data + device. taking the inode into consideration, there will be approximately + 87988 kB available for the activated OSD. and it will complain with a + "nearfull" state. + + Fixes: http://tracker.ceph.com/issues/22136 + Signed-off-by: Kefu Chai + (cherry picked from commit b3c159e9fb8c31d0acd75f0702080f18959f672e) + +commit 55f5d7d1f19696af981007c63a7503b2e5d0a5a8 +Merge: 3bd0007d5f ad2393b8b8 +Author: Nathan Cutler +Date: Tue Nov 28 03:23:09 2017 +0100 + + Merge pull request #19173 from smithfarm/wip-22251-luminous + + luminous: build/ops: macros expanding in spec file comment + + Reviewed-by: David Disseldorp + Reviewed-by: Ken Dreyer + +commit 3bd0007d5f1c991a80ff80fc2b7bb983ceee971e +Merge: 7ce2013dfd 5633a58824 +Author: Yuri Weinstein +Date: Mon Nov 27 10:23:57 2017 -0800 + + Merge pull request #19179 from ceph/wip-yuriw-BP-19175-luminous + + qa/suites/rados/rest: move rest_test from qa/suites/rest/ + + Reviewed-by: Yuri Weinstein + +commit 5633a58824f6248b79af74780411746cb7518813 +Author: Sage Weil +Date: Mon Nov 27 10:11:51 2017 -0600 + + qa/suites/rados/rest: move rest_test from qa/suites/rest/ + + ...and add more health whitelists. + + Signed-off-by: Sage Weil + (cherry picked from commit ddb274669ca16b95c452b256e58a2830af10c73d) + Signed-off-by: Yuri Weinstein + +commit 7ce2013dfda6f06ac47878fd4635ac0862bfbbbd +Merge: ecec65906a 61e4de133d +Author: Yuri Weinstein +Date: Mon Nov 27 09:20:18 2017 -0800 + + Merge pull request #19177 from liewegas/wip-jewel-x-p2p + + qa/suites/upgrade/jewel-x/point-to-point: skip ec tests when mons may be old + + Reviewed-by: Yuri Weinstein + +commit 61e4de133d9fa1eddcd858152b7828515e0b280f +Author: Sage Weil +Date: Mon Nov 27 10:28:16 2017 -0600 + + qa/suites/upgrade/jewel-x/point-to-point: skip ec tests when mons may be old + + Early point release mons don't handle legacy ruleset-* ec profiles, new + ones do. Skip the ec tests that may trigger this when we are doing a + workload that races with mon upgrades. + + Signed-off-by: Sage Weil + +commit ad2393b8b8dc71a8099fa87924dcb6936a27fd84 +Author: Ken Dreyer +Date: Thu Aug 17 09:19:38 2017 -0600 + + rpm: rm macros in comments + + rpm expands all macros in a .spec file, even those in comments. Drop the + percent signs so rpm will not expand these. + + This change silences rpmlint's warning about macros in comments. + + Signed-off-by: Ken Dreyer + (cherry picked from commit 5c1e9f55d3a144c93c9c18b031db3cdc320561ef) + +commit bb03f6b20b4963ad5d51c1c6f45f19bc7eaf220b +Author: Nathan Cutler +Date: Tue Nov 21 11:36:02 2017 +0100 + + tests: ceph-disk: ignore E722 in flake8 test + + Very old, and very new, versions of flake8 treat E722 as an error: + + flake8 runtests: commands[0] | flake8 --ignore=H105,H405,E127 ceph_disk tests + ceph_disk/main.py:1575:9: E722 do not use bare except' + ceph_disk/main.py:1582:9: E722 do not use bare except' + ceph_disk/main.py:3252:5: E722 do not use bare except' + ceph_disk/main.py:3288:21: E722 do not use bare except' + ceph_disk/main.py:3296:17: E722 do not use bare except' + ceph_disk/main.py:4358:5: E722 do not use bare except' + tests/test_main.py:26:1: E722 do not use bare except' + ERROR: InvocationError: '/opt/j/ws/mkck/src/ceph-disk/.tox/flake8/bin/flake8 --ignore=H105,H405,E127 ceph_disk tests' + + Fixes: http://tracker.ceph.com/issues/22207 + References: https://gitlab.com/pycqa/flake8/issues/361 + + Signed-off-by: Nathan Cutler + (cherry picked from commit 3600cd7bfdca76485d2998c5da1a0dd25816d1ce) + +commit ecec65906af60c16fc99f669c1591bb821305a64 +Merge: 613634c1da aac7a85a3a +Author: Kefu Chai +Date: Wed Nov 22 13:36:58 2017 +0800 + + Merge pull request #19080 from smithfarm/wip-22212-luminous + + luminous: tests: ceph-disk: silence deprecation warnings + + Reviewed-by: Kefu Chai + +commit aac7a85a3ae9cce38987ce3f51be4c6cb63c8dd2 +Author: Kefu Chai +Date: Tue Nov 21 21:47:30 2017 +0800 + + qa/workunits: silence py warnings for ceph-disk tests + + ceph-disk now prints "depreacted" warning message when it starts. but + the tests parses its stdout and stderr for a json string. so we need to + silence the warnings for the tests. + + Fixes: http://tracker.ceph.com/issues/22154 + Signed-off-by: Kefu Chai + (cherry picked from commit d44334f31704487ec3574738e75145872d9932cf) + +commit 613634c1da4cea975d6e1da7d258600c454c9400 +Merge: 5a469c0376 94839deb2f +Author: Andrew Schoen +Date: Mon Nov 20 09:24:41 2017 -0600 + + Merge pull request #18989 from ceph/wip-luminous-rm22154 + + luminous: ceph-disk create deprecation warnings + + Reviewed-by: Andrew Schoen + +commit 5a469c0376e299e5c60d7d9b3c16640515b11f26 +Merge: 3532f233f6 37d2726751 +Author: Kefu Chai +Date: Mon Nov 20 22:55:06 2017 +0800 + + Merge pull request #19025 from tchaikov/wip-pr-19024-luminous + + luminous: qa/tasks: prolong revive_osd() timeout to 6 min + + Reviewed-by: Sage Weil + +commit 3532f233f691ac22c32c4533a677b95d0e4c6273 +Merge: 5e519aebe7 0f7332e925 +Author: Sage Weil +Date: Mon Nov 20 07:23:30 2017 -0600 + + Merge pull request #18945 from liewegas/wip-22128 + + mon/OSDMonitor: add option to fix up ruleset-* to crush-* for ec profiles + + Reviewed-by: Joao Eduardo Luis + +commit 37d2726751c05a0b5a3c1b739bce49995cc72445 +Author: Kefu Chai +Date: Mon Nov 20 13:40:56 2017 +0800 + + qa/tasks: prolong revive_osd() timeout to 6 min + + see also #17902 + + Fixes: http://tracker.ceph.com/issues/21474 + Signed-off-by: Kefu Chai + (cherry picked from commit 749bbda07522114b99b17a4a01cfcf019520285d) + +commit 5e519aebe718bd16d52e974beba8e3bf97b04ae8 +Merge: 9abf091336 96c981ce6b +Author: Sage Weil +Date: Sat Nov 18 20:34:50 2017 -0600 + + Merge pull request #18983 from pdvian/wip-22150-luminous + + luminous: os/bluestore: fix SharedBlob unregistration + +commit 0f7332e9259b320777770f0312233a31103bfeda +Author: Sage Weil +Date: Wed Nov 15 08:55:33 2017 -0600 + + mon/OSDMonitor: add option to fix up ruleset-* to crush-* for ec profiles + + The jewel->luminous upgrade test will fail if we finish the upgrade while + a workload setting old-style ec profiles is running. Add option to + automatically fix them up. Warn to the cluster log when this happens. + + For now, enable this option to ease upgrades and whitelist the warning. + + Only include this option in luminous so that we implicitly sunset this + compatibility kludge immediately. + + Fixes: http://tracker.ceph.com/issues/22128 + Signed-off-by: Sage Weil + +commit 9abf0913367a1ad8cf076c79bf3adace8c526853 +Merge: c0e032c153 975229c367 +Author: Sage Weil +Date: Sat Nov 18 09:44:46 2017 -0600 + + Merge pull request #18751 from shinobu-x/wip-21701-luminous + + luminous: ceph-kvstore-tool does not call bluestore's umount when exit + +commit c0e032c153a36c00109970395fe42cc2013fdb9a +Merge: 81b768ab03 4d4aee14a4 +Author: Sage Weil +Date: Sat Nov 18 09:44:19 2017 -0600 + + Merge pull request #18750 from shinobu-x/wip-21702-luminous + + luminous: BlueStore::umount will crash when the BlueStore is opened by start_kv_only() + +commit 81b768ab036e66d3f4d36ddc31febc4bbcb143fb +Merge: f02d7109c5 0fe463b5e1 +Author: Sage Weil +Date: Sat Nov 18 09:41:37 2017 -0600 + + Merge pull request #18860 from liewegas/wip-filestore-rocksdb-compression-luminous + + luminous: os/filestore: disable rocksdb compression + + Reviewed-by: Douglas Fuller + +commit 94839deb2f32e8059206ad48ad711dd2baf2fef5 +Author: Alfredo Deza +Date: Fri Nov 17 13:10:29 2017 -0500 + + doc/ceph-volume create a migration section to help users coming from ceph-disk + + Signed-off-by: Alfredo Deza + (cherry picked from commit e433efe51481ec63bc9753a0f446fe2b12b5bb6a) + +commit b8bf0d047868054135592188c7ebe186181310c5 +Author: Alfredo Deza +Date: Fri Nov 17 13:01:14 2017 -0500 + + ceph-disk add deprecation warnings in favor of ceph-volume + + Signed-off-by: Alfredo Deza + + Fixes: http://tracker.ceph.com/issues/22154 + (cherry picked from commit c9da92e1ec8d60dc40d86630dab95e4fec4d0d30) + +commit f02d7109c5f00cd2165082c4336b3623352be7c5 +Merge: 9515da2777 ebbe033936 +Author: Alfredo Deza +Date: Fri Nov 17 12:19:36 2017 -0500 + + Merge pull request #18973 from ceph/backport-18924 + + luminous: ceph-volume: allow using a device or partition for `lvm --data` + + Reviewed-by: Alfredo Deza + +commit ebbe033936c424a0f6ba2d102fc271d0b0e9578d +Author: Alfredo Deza +Date: Fri Nov 17 08:41:24 2017 -0500 + + ceph-volume tests.devices.lvm prepare isn't bluestore specific anymore + + Signed-off-by: Alfredo Deza + (cherry picked from commit 2f40dbac386be631ac97e2450117c218d9bf02f9) + +commit 96c981ce6b00520a94385228bcf70a90c5ae8ff9 +Author: Sage Weil +Date: Tue Nov 7 22:05:10 2017 -0600 + + os/bluestore: fix SharedBlob unregistration + + We use the SharedBlobSet remove() in three cases: + + - from SharedBlob::put(), we try to remove ourselves from the set, but + have to deal with a racing lookup, so the removal is conditional on + nref still being 0. + - from split_cache(), we move the SharedBlob to another collection + - from make_blob_unshared(), we remove the entry when we clear the sbid. + + The problem is that the condtiional remove() (for the first case) was being + used for all three cases, and in the second two cases nref is always != 0, + so it doesn't actually happen. This can lead to a crash during cache + shutdown. + + Fix by making two variants: remove() that is unconditional, and + try_remove() that is conditional. + + Set the sb->coll pointer after because remove() asserts the parent matches + where we are unregistering. + + Fixes: http://tracker.ceph.com/issues/22039 + Signed-off-by: Sage Weil + (cherry picked from commit 78a465b90b1c5187cfec9f25eb58b3bf617ca39b) + +commit 9515da277737ad81d48f5c032f627f3cb919f746 +Merge: 5c9b93dadd d19b740359 +Author: Josh Durgin +Date: Thu Nov 16 13:40:32 2017 -0800 + + Merge pull request #18957 from tchaikov/wip-pr-18808-luminous + + luminous: qa: do not wait for down/out osd for pg convergence + + Reviewed-by: Josh Durgin + +commit ad4668b65cb3e32f1b3afc5ec767004f166856e6 +Author: Alfredo Deza +Date: Thu Nov 16 08:50:34 2017 -0500 + + ceph-volume tests.functional create a common playbook directory for setups + + Signed-off-by: Alfredo Deza + (cherry picked from commit def89a411f2f4bdb23c4bbd3b71c1310a564f07d) + +commit d25a04114c98aa1449809248e8b87ecd1124af3d +Author: Alfredo Deza +Date: Tue Nov 14 11:01:48 2017 -0500 + + doc/ceph-volume lvm prepare can accept devices for --data + + Signed-off-by: Alfredo Deza + (cherry picked from commit 9bfab348b2ff59c0b939a19c22d4a06bc5236b96) + + Conflicts: + doc/ceph-volume/lvm/prepare.rst + +commit 7f7d62a1848e297153f88a8e476585596114e1d5 +Author: Alfredo Deza +Date: Tue Nov 14 08:42:27 2017 -0500 + + ceph-volume tests.functional add setup playbook for xenial filestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit 210c1e1d4770dde47f0008cadaaec35deb729272) + +commit 210e1b3bf507654167349411c5cc85641b1d8680 +Author: Alfredo Deza +Date: Tue Nov 14 08:42:02 2017 -0500 + + ceph-volume tests.functional add data device and journal to xenial filestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit d0754e25177b9bf3bce695b7991e99f49312d91c) + +commit 211895ac0906747bc448b2326ae5c62f3e6ee4a1 +Author: Alfredo Deza +Date: Tue Nov 14 08:40:37 2017 -0500 + + ceph-volume tests.functional add setup playbook for xenial bluestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit d0f5623963f58fc4d5727a79d8377b2191b0f9dc) + +commit 398a1365a12de95bc9810b89a9aeab9040bb07b8 +Author: Alfredo Deza +Date: Tue Nov 14 08:40:18 2017 -0500 + + ceph-volume tests.functional add raw data device to xenial bluestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit fbcfb522981cd4039cfe617609c5f160f0b05c52) + +commit 0d082d0dbb43cc418bf0786b1f708968050ae114 +Author: Alfredo Deza +Date: Tue Nov 14 08:38:23 2017 -0500 + + ceph-volume tests.functional tox.ini addition of setup playbook for partitions + + Signed-off-by: Alfredo Deza + (cherry picked from commit d074b534643dde37d732b34c36c5089e41848d6d) + +commit a167556eaacb444c41299cd28f1efd4327da4747 +Author: Alfredo Deza +Date: Tue Nov 14 08:37:17 2017 -0500 + + ceph-volume tests.functional add raw data device to centos7 bluestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit 2d416a849ad7b33dde1386da09c81249e6c2299d) + +commit 12e180a84f1456dfe7ab940255c6c47ee8ebddf0 +Author: Alfredo Deza +Date: Tue Nov 14 08:36:36 2017 -0500 + + ceph-volume tests.functional add setup playbook for centos7 bluestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit 161fd373d2f11f64466927e5d615d039822e2ab5) + +commit f06ea77590336d439235bd9acc6028b854e8c181 +Author: Alfredo Deza +Date: Tue Nov 14 08:35:59 2017 -0500 + + ceph-volume tests.functional add setup playbook for centos7 filestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit b3bb147298f8816651f231f77bc91a3a1b50d96f) + +commit f10bfbeefe06e59629a4e9d904e8035bf060920b +Author: Alfredo Deza +Date: Tue Nov 14 08:35:42 2017 -0500 + + ceph-volume tests.functional add raw device to centos7 filestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit c5b8d72570b24dfd0d2f8c1cc8f13812c6c11a69) + +commit 968006a271dc82f3dcada4e5de93ecb0e23238c6 +Author: Alfredo Deza +Date: Mon Nov 13 14:29:32 2017 -0500 + + ceph-volume lvm.common update --data flag to reflect device acceptance + + Signed-off-by: Alfredo Deza + (cherry picked from commit 4df7ea8d83cfa02c8864d043b5d5fb2f5409dc96) + +commit c8f64af027689a1fb1bb916e6d479519a12b764e +Author: Alfredo Deza +Date: Mon Nov 13 14:28:32 2017 -0500 + + ceph-volume lvm.prepare add example of raw device or partition in help menu + + Signed-off-by: Alfredo Deza + (cherry picked from commit 6fb8d566aac0e0fa081e6500852855ad177f784f) + +commit f930934159edd947024eef1a33e15a30467cb332 +Author: Alfredo Deza +Date: Mon Nov 13 14:26:44 2017 -0500 + + ceph-volume lvm.prepare allow partition or raw device as input for --data in filestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit 89236ee3f81e50b9b059c10f6d6e7ce048c06474) + +commit d19b7403595bef1c3ba73f4a5fb83f5ef2dd3f81 +Author: Kefu Chai +Date: Wed Nov 8 14:13:54 2017 +0800 + + qa: do not wait for down/out osd for pg convergence + + that osd is not invovlved in the PG state changes. + + Signed-off-by: Kefu Chai + (cherry picked from commit 7f549af459b40c5bb51a24a3a443ed7a7116915e) + +commit 5c9b93dadd8f05b1a146e3a19f7480ae4019815f +Merge: cc41c393b3 2f380b32da +Author: Yuri Weinstein +Date: Tue Nov 14 08:38:35 2017 -0800 + + Merge pull request #18908 from smithfarm/wip-luminous-fixup + + qa/suites/fs/basic_functional/clusters: more osds + + Reviewed-by: Patrick Donnelly + Reviewed-by: Abhishek Lekshmanan + +commit cc41c393b3a76a5f1a18cbda45acc01e2d6fdfc2 +Merge: d69f42e1af 806e49aadb +Author: Alfredo Deza +Date: Tue Nov 14 11:06:00 2017 -0500 + + Merge pull request #18910 from ceph/backport-18882 + + luminous: ceph-volume: add functional tests for simple, rearrange lvm tests + + Reviewed-by: Alfredo Deza + +commit 806e49aadb0d832a4bf46fcd681d889d93158232 +Author: Alfredo Deza +Date: Fri Nov 10 13:18:07 2017 -0500 + + ceph-volume tests.functional update lvm/tox.ini paths after moving it + + Signed-off-by: Alfredo Deza + (cherry picked from commit 7d787849556788961155534039886aedfcdb2a88) + +commit 724ad01afc0af79fc7f808aae819ff9dc0971b33 +Author: Alfredo Deza +Date: Fri Nov 10 13:14:55 2017 -0500 + + ceph-volume tests.functional move top level tox.ini to lvm/tox.ini + + Signed-off-by: Alfredo Deza + (cherry picked from commit 9b14b96d3bf6c8326cfc91e657161ffab3b8c2b4) + +commit 754c237597cc91af4bfe7199f891a9c2a6938ad4 +Author: Alfredo Deza +Date: Fri Nov 10 13:12:51 2017 -0500 + + ceph-volume tests.functional move xenial to lvm/xenial + + Signed-off-by: Alfredo Deza + (cherry picked from commit 00d576d266b63080129e58482bd6fba62534ee97) + +commit 762c5f1cc10266d5efa62628c0686b3f8d696bff +Author: Alfredo Deza +Date: Fri Nov 10 13:11:58 2017 -0500 + + ceph-volume tests.functional lvm move xenial/bluestore to xenial/bluestore/create + + Signed-off-by: Alfredo Deza + (cherry picked from commit d5ec7d1c58141f4593ed9d1e4501c9f3be6d9755) + +commit 5b1bde338fbb1e689e3e1305e91f5450ef175edd +Author: Alfredo Deza +Date: Fri Nov 10 13:09:48 2017 -0500 + + ceph-volume tests.functional lvm move xenial/create to xenial/filestore/create + + Signed-off-by: Alfredo Deza + (cherry picked from commit c504b8781b3a31475280a032cd75c9e1eaa6d8c9) + +commit 5a00604f27acad8cb368495f841ce76cce383414 +Author: Alfredo Deza +Date: Fri Nov 10 13:02:05 2017 -0500 + + ceph-volume tests.functional move centos7 to lvm/centos7 + + Signed-off-by: Alfredo Deza + (cherry picked from commit dc1da3fd0aeafe59a82343fb16fe1fcea66ae3eb) + +commit 57d64a86d0758d174c1ca0b432a43194cbe6162c +Author: Alfredo Deza +Date: Fri Nov 10 12:58:27 2017 -0500 + + ceph-volume tests.functional lvm move bluestore to bluestore/create + + Signed-off-by: Alfredo Deza + (cherry picked from commit aec1a80a3e1e61720f494980711808bfee783a03) + +commit 94a9f3f43d9c3a2ac08be4025e65c47c3767d2c1 +Author: Alfredo Deza +Date: Fri Nov 10 12:54:01 2017 -0500 + + ceph-volume tests.functional lvm move create to filestore/create + + Signed-off-by: Alfredo Deza + (cherry picked from commit d6905f3f620d4c733835e21a275d4127cdcb769b) + +commit bc134c20a5409bd6f966d205dd7ba850ff28fc91 +Author: Alfredo Deza +Date: Fri Nov 10 12:42:19 2017 -0500 + + ceph-volume tests.functional simple xenial bluestore scenario + + Signed-off-by: Alfredo Deza + (cherry picked from commit 8f0fdc975951a2a8af31bbaa3abd2b5d807a0add) + +commit 004efbfbe4d1eb56190e5e7497a9613776494fae +Author: Alfredo Deza +Date: Fri Nov 10 12:40:18 2017 -0500 + + ceph-volume tests.functional simple xenial filestore scenario + + Signed-off-by: Alfredo Deza + (cherry picked from commit 7452e1b6f9b82c2ef62bae19c632e81039638ba5) + +commit b51744f26f3c6db4d2927a2ac1733f0b80e44010 +Author: Alfredo Deza +Date: Fri Nov 10 12:30:05 2017 -0500 + + ceph-volume tests.functional simple tox.ini update for xenial scnearios + + Signed-off-by: Alfredo Deza + (cherry picked from commit 76ed6a8f2ecab7c58def0453ffed9d8a997e0d5b) + +commit 19983b9ba5ed45c8e6fac967fb702fd586132c35 +Author: Alfredo Deza +Date: Fri Nov 10 09:12:09 2017 -0500 + + ceph-volume tests.functional simple tox.ini addition for bluestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit 02154e445b87a8fdcabbd699a2532833764140b5) + +commit 040e7913b028c54aeb9acd854610f6a4f112465d +Author: Alfredo Deza +Date: Fri Nov 10 09:11:39 2017 -0500 + + ceph-volume tests.functional add initial files for simple bluestore activate + + Signed-off-by: Alfredo Deza + (cherry picked from commit 3320f28e799e1d77d1ea69be9ced603bb69cc5fa) + +commit 23f6c3e779c743bc1302d1ad542201434ff9431f +Author: Alfredo Deza +Date: Thu Nov 9 16:55:30 2017 -0500 + + ceph-volume tests.functional add initial files for simple filestore activate + + Signed-off-by: Alfredo Deza + (cherry picked from commit 9d18bae52ad77be0e64ef105c33a019446b6f1cf) + +commit 8f425b678f6c947a8c83f121be4fa46151fd6664 +Author: Alfredo Deza +Date: Thu Nov 9 16:07:53 2017 -0500 + + ceph-volume tests.functional create a specific test.yml for simple activate + + Signed-off-by: Alfredo Deza + (cherry picked from commit 37bde0d3b37a87c456438b0edc0cb9e2dcd39120) + +commit 6f1fff00f5210840fe143aac7506ce3773600f05 +Author: Alfredo Deza +Date: Thu Nov 9 15:40:51 2017 -0500 + + ceph-volume tests.functional create a separate tox.ini environ for + `simple` + + Signed-off-by: Alfredo Deza + (cherry picked from commit 89757ad12e6938fe2bf997e0f21a5ffac082e30b) + +commit d69f42e1afaf8759de1544b3d381671a01cfb55a +Merge: a7c8c8101d 90976ef6b9 +Author: Andrew Schoen +Date: Mon Nov 13 10:55:24 2017 -0600 + + Merge pull request #18907 from ceph/luminous-wip-bz1498200 + + luminous: ceph-volume: support GPT and other deployed OSDs + + Reviewed-by: Andrew Schoen + +commit 2f380b32da1b6294b6b0f60622b09b6517f9afdd +Author: Sage Weil +Date: Mon Oct 9 13:44:51 2017 -0500 + + qa/suites/fs/basic_functional/clusters: more osds + + Signed-off-by: Sage Weil + (cherry picked from commit 998122c324047c96c16d60d7fbb3a21f4dd63c56) + +commit 90976ef6b9815b68df620aac46f2c04117766f99 +Author: Alfredo Deza +Date: Thu Nov 9 10:50:43 2017 -0500 + + doc/ceph-volume include the top level systemd.rst in the toctree + + Signed-off-by: Alfredo Deza + (cherry picked from commit e2f281c115c15e820588b478214c3600ff97470f) + +commit 9a8a00d3a17f03d2b1b3a92662f7288f7d18fe7a +Author: Alfredo Deza +Date: Thu Nov 9 06:49:49 2017 -0500 + + ceph-volume simple.activate add --file in help docstring as an example + + Signed-off-by: Alfredo Deza + (cherry picked from commit ff60592897b63581ebce372b3f6ffa0f10d2fe5a) + +commit 34194b8d788d91b4f7c969be5f0099a279bc61bf +Author: Alfredo Deza +Date: Thu Nov 9 06:46:59 2017 -0500 + + doc/ceph-volume activate has a --file option for json files + + Signed-off-by: Alfredo Deza + (cherry picked from commit 29913951b71d68b3f3f9b9fa076f309c0252da36) + +commit 582262b57bcc959d1698636000d7a804cab9c611 +Author: Alfredo Deza +Date: Wed Nov 8 17:23:41 2017 -0500 + + ceph-volume simple.activate enable the osd when activating + + Signed-off-by: Alfredo Deza + (cherry picked from commit 366fb8c43af54e9c92f4e95d9a0582c1fc378dbc) + +commit a32e72cdb0efb55d185488fb02f44055f9d3dffe +Author: Alfredo Deza +Date: Wed Nov 8 15:25:05 2017 -0500 + + ceph-volume systemd.systemctl always force symlink when masking ceph-disk + + Signed-off-by: Alfredo Deza + (cherry picked from commit cb470622fd4f13fafe9cb2f38fb25fd1fbd8d89c) + +commit 3af40c35f3cf42be722f9d905cb2d0ba2baf1b1b +Author: Alfredo Deza +Date: Wed Nov 8 15:21:10 2017 -0500 + + ceph-volume simple.activate use the contents of the JSON file, fallback to CLI args + + Signed-off-by: Alfredo Deza + (cherry picked from commit c954c913395557bcd89f25b0496c4428e6109494) + +commit 161e9657d985aa4ceffad2f56e18edd78ca2a81f +Author: Alfredo Deza +Date: Wed Nov 8 14:50:16 2017 -0500 + + ceph-volume simple.activate only check for missing id and uuid if file is not passed in + + Signed-off-by: Alfredo Deza + (cherry picked from commit 826c2709dd5ab0fbf6eb419a735d15e718a7712c) + +commit 585072afc814c6ac87fd64f15c561c51c1e55070 +Author: Alfredo Deza +Date: Wed Nov 8 14:28:12 2017 -0500 + + ceph-volume simple.activate allow to pass a file to activate + + Signed-off-by: Alfredo Deza + (cherry picked from commit bd3498f3eabf07637cb936e6c036d1d8d75415b0) + +commit 01266c193588066425b44fea4c1729692f999692 +Author: Alfredo Deza +Date: Wed Nov 8 12:49:31 2017 -0500 + + ceph-volume tests.util add tests for OSDPath validator + + Signed-off-by: Alfredo Deza + (cherry picked from commit d7fc26ab4e2cebe485647510119ea300d47db184) + +commit 56fdc1c973b41d855563e459d23682990e8940bf +Author: Alfredo Deza +Date: Wed Nov 8 11:56:36 2017 -0500 + + ceph-volume systemd.systemctl masking ceph-disk needs to be done by directly symlinking to dev/null + + Signed-off-by: Alfredo Deza + (cherry picked from commit cda47c247b929401a7dce3f1ef70371ea80eeceb) + +commit 0a0c289de605b6b74b762b2a0a4ed0f3a04de8ad +Author: Alfredo Deza +Date: Wed Nov 8 09:47:12 2017 -0500 + + ceph-volume systemd.systemctl masking needs to use systemctl mask, not disable + + Signed-off-by: Alfredo Deza + (cherry picked from commit bad2f62b34243addc854abf691854b886aecdc19) + +commit 32913844b36285aae40f9786e5cb035bfca22f2d +Author: Alfredo Deza +Date: Wed Nov 8 09:46:20 2017 -0500 + + ceph-volume simple.scan if mounted device cannot be detected, raise an error + + Signed-off-by: Alfredo Deza + (cherry picked from commit 6b2fc4c0ba63e4bd51774ea09cc6542738128621) + +commit fe73229fb123fdb45f4ef743d8584f6748318868 +Author: Alfredo Deza +Date: Wed Nov 8 09:17:52 2017 -0500 + + ceph-volume simple.activate remove str formatting from logging + + Signed-off-by: Alfredo Deza + (cherry picked from commit 230faf04a185c0b95c8ad497ddd5501dc70c1409) + +commit 50c19ef335305215a636595506eda1b5d16f3687 +Author: Alfredo Deza +Date: Wed Nov 8 09:11:41 2017 -0500 + + ceph-volume util.arg_validators always convert the path to an absolute path + + Signed-off-by: Alfredo Deza + (cherry picked from commit b5acf4d720b5395ae4ccbf007c94c99610e40089) + +commit d27c35c972abba2b230e1cff1fa35437500dcdf6 +Author: Alfredo Deza +Date: Wed Nov 8 09:10:47 2017 -0500 + + ceph-volume util.arg_validators require superuser privs to check paths + + Signed-off-by: Alfredo Deza + (cherry picked from commit 376dad74159532f901d0044f95330fc02f93bd25) + +commit 0832ddc52496cd81aa7c2e1e85252b50d2f33044 +Author: Alfredo Deza +Date: Wed Nov 8 09:09:06 2017 -0500 + + ceph-volume simple.scan skip directories to scan + + Signed-off-by: Alfredo Deza + (cherry picked from commit 6bc1e9ee0b8d7bc475f218ae3dd8c6c7fe5a983a) + +commit d6071cb75ba1a702c551d073f032336560654e97 +Author: Alfredo Deza +Date: Tue Nov 7 15:08:13 2017 -0500 + + ceph-volume tests.devices.simple add activate CLI unit tests + + Signed-off-by: Alfredo Deza + (cherry picked from commit cde0d517563b537319d06c758b93e421cdabe59d) + +commit 2bff2e7fdbba37280791d3bc9a363e47aa26ab53 +Author: Alfredo Deza +Date: Tue Nov 7 15:07:44 2017 -0500 + + ceph-volume tests.devices add help menu unit test + + Signed-off-by: Alfredo Deza + (cherry picked from commit dcc7c72196a327f9501045f025761b228b5379df) + +commit ec8624005082913faf89a9b001d4abeb7c27a589 +Author: Alfredo Deza +Date: Tue Nov 7 13:42:45 2017 -0500 + + doc/ceph-volume systemd describe the interaction with 'simple' activation + + Signed-off-by: Alfredo Deza + (cherry picked from commit 7071eeaeb5d77c6ab6e7a24f1b630cb0cf8a8e7c) + +commit aacd22681d1e7f5a604025b2019b195041151b3f +Author: Alfredo Deza +Date: Tue Nov 7 13:42:11 2017 -0500 + + doc/ceph-volume index initial description of simple + + Signed-off-by: Alfredo Deza + (cherry picked from commit f9ee51f9feadb6d0f91b76a2b2ba8a24f1523a77) + +commit e9527e65d5da503107e21dc5b695f287c8529049 +Author: Alfredo Deza +Date: Tue Nov 7 13:41:12 2017 -0500 + + doc/ceph-volume lvm add back a system.rst with just the lvm portion of it + + Signed-off-by: Alfredo Deza + (cherry picked from commit f872cd29b93e02b77172f7b382c4746af9ba845d) + +commit ef027a737989dca83c0e5810935bad2280146356 +Author: Alfredo Deza +Date: Tue Nov 7 13:40:44 2017 -0500 + + doc/ceph-volume make systemd.rst generic enough to be related to other sub-commands + + Signed-off-by: Alfredo Deza + (cherry picked from commit cf4e32a0dc3ab4f55fe7857b51afbc63a638ec66) + +commit a83b746eaeece5896770b40949804316c29f6bc1 +Author: Alfredo Deza +Date: Tue Nov 7 13:39:52 2017 -0500 + + doc/ceph-volume move lvm/systemd.rst to top level, making it generic + + Signed-off-by: Alfredo Deza + (cherry picked from commit 0672dd608d4601a936d703ea5ba6edc14a161d8e) + +commit bc492490e15d3ea91654cd4dabfb3115f835b9ac +Author: Alfredo Deza +Date: Tue Nov 7 11:52:17 2017 -0500 + + doc/ceph-volume simple.activate initial take on documenting activation + + Signed-off-by: Alfredo Deza + (cherry picked from commit 80c796bd1c43125f5678710b494b03c486b3fce6) + +commit 6301c83097729749fc712846954a3c0f89647f07 +Author: Alfredo Deza +Date: Tue Nov 7 08:35:57 2017 -0500 + + doc/ceph-volume lvm update systemd anchor to reflect lvm parent + + Signed-off-by: Alfredo Deza + (cherry picked from commit 53420a4756a5e4fa6b0f2aa74d6ad1e2919f1954) + +commit 5fe4122bcfdc9c8e4f69079e45c907148eccdb7d +Author: Alfredo Deza +Date: Tue Nov 7 08:35:43 2017 -0500 + + doc/ceph-volume lvm.activate update systemd anchor to reflect lvm parent + + Signed-off-by: Alfredo Deza + (cherry picked from commit 7fc0e7ebcae06f28f6ed08c0db14075ada34e8a7) + +commit c98886a99914748d73d0f695808a74850bc9e66e +Author: Alfredo Deza +Date: Tue Nov 7 07:56:35 2017 -0500 + + doc/ceph-volume lvm.systemd update anchor to reflect lvm parent + + Signed-off-by: Alfredo Deza + (cherry picked from commit 01a8b7e6a45f6fd85bf53d3cab15acc81d0bae1b) + +commit 68f89b52d608c3946be9ad92e733fe9472bd35f0 +Author: Alfredo Deza +Date: Mon Nov 6 15:53:39 2017 -0500 + + doc/ceph-volume document the scan functionality + + Signed-off-by: Alfredo Deza + (cherry picked from commit b30a3eaf17a20a1273724b2cfcaf0a7b36eb08f6) + +commit 19d0ca22908fcd3fbe83d39c1b708c5818b34f47 +Author: Alfredo Deza +Date: Mon Nov 6 14:17:20 2017 -0500 + + doc/ceph-volume update the index to include the simple sub command and files + + Signed-off-by: Alfredo Deza + (cherry picked from commit d7f85c64e4b409ea95e30ccb5a1388278843c478) + +commit 61c90bacc562e1e2d65b767dca97b08973832131 +Author: Alfredo Deza +Date: Mon Nov 6 11:15:28 2017 -0500 + + ceph-volume tests.simple add tests for trigger parsing from systemd + + Signed-off-by: Alfredo Deza + (cherry picked from commit 0e2620234e82abf85274b3c08b39cdf76430ce48) + +commit 80ae5b1fb024827cceb0594a60e3361fd4a1e7a3 +Author: Alfredo Deza +Date: Mon Nov 6 10:36:14 2017 -0500 + + ceph-volume tests.simple create etc_path scan tests + + Signed-off-by: Alfredo Deza + (cherry picked from commit 90ebc4e1ffa7b3273787d708bb2c05180530b5d1) + +commit b9ad514b45e0233a17834e19a232bca4467a8140 +Author: Alfredo Deza +Date: Mon Nov 6 10:06:02 2017 -0500 + + ceph-volume tests.simple add checks for get_contents in scan + + Signed-off-by: Alfredo Deza + (cherry picked from commit 647bfe0883d2bb05b4ff7f99894075df3e73d2d5) + +commit c9308af91a322f92ab7d1f45a423b2a94f64c429 +Author: Alfredo Deza +Date: Mon Nov 6 09:43:58 2017 -0500 + + ceph-volume tests.util add binary verification tests + + Signed-off-by: Alfredo Deza + (cherry picked from commit 827aa57557561355dd4068e26801b5f1ed62f295) + +commit c94f52dffe0ea4b48c9fb316e8c53fd06a81b870 +Author: Alfredo Deza +Date: Mon Nov 6 09:42:53 2017 -0500 + + ceph-volume tests create a fixture for temporary files + + Signed-off-by: Alfredo Deza + (cherry picked from commit 23da3445718c01f71e2a5748fb4fc1c5fdc85ca5) + +commit bbb25df806609083efd377befb44d6d3bef3338b +Author: Alfredo Deza +Date: Fri Nov 3 14:36:38 2017 -0400 + + ceph-volume systemd.systemctl helpers to mask ceph-disk + + Signed-off-by: Alfredo Deza + (cherry picked from commit 3da23fa4caea8c9dc91da3eee5b5acc1860bf242) + +commit c971321430fd1a4de7c6fa2687ecf35a5b3ec71c +Author: Alfredo Deza +Date: Fri Nov 3 14:36:13 2017 -0400 + + ceph-volume devices include simple at the module import level + + Signed-off-by: Alfredo Deza + (cherry picked from commit 027a09b3ea6bac416ff632a69a53393badd51708) + +commit 1615d947db50ac37e4ef554acc6debe8fd870962 +Author: Alfredo Deza +Date: Fri Nov 3 14:35:45 2017 -0400 + + ceph-volume main add simple to the sub-commands + + Signed-off-by: Alfredo Deza + (cherry picked from commit 94579c77ffe4d5ba2d457ad3981a2b9ed232a90f) + +commit abb77a8d9824eef3bd9c75d17f8df101440c25d1 +Author: Alfredo Deza +Date: Fri Nov 3 14:35:03 2017 -0400 + + ceph-volume util add an OSDPath argument validator + + Signed-off-by: Alfredo Deza + (cherry picked from commit a826fdf4a2ed9ff704fb823d05d3cb706ba89e38) + +commit ff2a1833da385d6c0c9087e98cb2b93925b06cab +Author: Alfredo Deza +Date: Fri Nov 3 14:34:39 2017 -0400 + + ceph-volume simple.system add a helper to check if a file is a binary or not + + Signed-off-by: Alfredo Deza + (cherry picked from commit 7bf8676045b4f966b60cdadf4d5af1c89fca69ae) + +commit 84d2a15ce9f1a045ed67f79fa7d1dc99dc1e4b8f +Author: Alfredo Deza +Date: Fri Nov 3 14:34:06 2017 -0400 + + ceph-volume util.system add a context manager for temporary mounting/unmounting + + Signed-off-by: Alfredo Deza + (cherry picked from commit 6394cdd41943e3cda6867ecc59ab835cb2151707) + +commit 3d8ff08c2d46017749e7ecaa4e4d49dda4d55d74 +Author: Alfredo Deza +Date: Fri Nov 3 14:32:42 2017 -0400 + + ceph-volume simple.scan initial take on directory/device scanning + + Signed-off-by: Alfredo Deza + (cherry picked from commit 0e54b9be621cc0969a3bbc972d1870080ccdae77) + +commit d701569a6486d7ccccf14b5eadf702ad07db4821 +Author: Alfredo Deza +Date: Fri Nov 3 14:27:23 2017 -0400 + + ceph-volume simple.trigger enable systemd triggering for simple setups + + Signed-off-by: Alfredo Deza + (cherry picked from commit cbc0c0f775e96a5b0ab5d5bc141acebe4cc48373) + +commit 76fe659a19a8a450b4c61f6d2b56e03dc46746ae +Author: Alfredo Deza +Date: Fri Nov 3 14:26:13 2017 -0400 + + ceph-volume simple.activate initial take on activation + + Signed-off-by: Alfredo Deza + (cherry picked from commit 5a97374605408d18e9be29bcc051ae7b913d1675) + +commit 206c7551435983b4cbdaece61b737e4a1f265dbd +Author: Alfredo Deza +Date: Fri Nov 3 14:23:47 2017 -0400 + + ceph-volume simple add __init__ for the module + + Signed-off-by: Alfredo Deza + (cherry picked from commit 285e5bdd28a42d98418ca90ad0cdec6bd87849db) + +commit 8a5edb9a2acc3f0b5477f09edae4f97f5ec7f5b5 +Author: Alfredo Deza +Date: Fri Nov 3 14:23:29 2017 -0400 + + ceph-volume simple create the initial, main module + + Signed-off-by: Alfredo Deza + (cherry picked from commit f050502425a1993ae8edfdb5785b24129cffeeba) + +commit 0fe463b5e1fe62e03b498c32aa708be8c10eb0b8 +Author: Sage Weil +Date: Thu Nov 9 20:10:59 2017 -0600 + + os/filestore: disable rocksdb compression + + Experience working with customer escalations suggests that disabling + compression improves performance, and the storage overhead is generally + not a concern for the metadata and omap data we are storing. + + Signed-off-by: Sage Weil + (cherry picked from commit b878ead071b328e5fe7309a2368383e67679e9f7) + + + # Conflicts: + # src/common/options.cc + +commit a7c8c8101d4b78b4d6e437620b2c1a38cd752c3f +Merge: 1071fdcf73 f56de67980 +Author: Abhishek L +Date: Thu Nov 9 18:08:27 2017 +0100 + + Merge pull request #18801 from linuxbox2/luminous-rgw-readdir2 + + rgw_file: implement variant offset readdir processing -- pullup 2 of 2 + + Reviewed-By: Abhishek Lekshmanan + +commit 1071fdcf73faa387d0df18489ab7b0359a0c0afb +Merge: 4db48ca836 8cacd2a568 +Author: Kefu Chai +Date: Thu Nov 9 22:36:27 2017 +0800 + + Merge pull request #18734 from shinobu-x/wip-21648-luminous + + luminous: mgr[zabbix] float division by zero + + Reviewed-by: Wido den Hollander + +commit 4db48ca8369d1dae021131c93a1c8484512aa99b +Merge: 9cd31820f2 d858570755 +Author: Kefu Chai +Date: Thu Nov 9 22:35:44 2017 +0800 + + Merge pull request #18851 from tchaikov/wip-18759-pr-luminous + + mon/LogMonitor: "log last" should return up to n entries + + Reviewed-by: John Spray + +commit 9cd31820f22d746e680f4ce3b0c780157d24194f +Merge: 60ff142c8e 8a7f983f33 +Author: Kefu Chai +Date: Thu Nov 9 22:27:47 2017 +0800 + + Merge pull request #18741 from shinobu-x/wip-22019-luminous + + luminous: tests: "ceph osd create" is not idempotent + + Reviewed-by: Kefu Chai + +commit d858570755d88e9a3708952827a99cc24f09f9ab +Author: Kefu Chai +Date: Mon Nov 6 16:01:23 2017 +0800 + + mon/LogMonitor: "log last" should return up to n entries + + limit the # of returned entries to "num", and backoff the start iterator + by one if it reaches the rend(). + + Signed-off-by: Kefu Chai + (cherry picked from commit de14103f5201da69b360d9b01e249896d59376b3) + +commit f56de6798077399f472c8d2df25fb1c3ccaf8090 +Author: Matt Benjamin +Date: Sun Oct 15 21:48:19 2017 -0400 + + rgw_file: implement variant offset readdir processing + + Introduce new rgw_readdir2(...), which in which continues + from an arbitrary dirent name, which presumably has been + seen in a prior partial enumeration. + + Add single-file unit test for READDIR cases, librgw_file_marker.cc. + + Signed-off-by: Matt Benjamin + (cherry picked from commit a2c34c597371809bd8fd40ee1fc6b8e6a5145609) + Signed-off-by: Matt Benjamin + +commit 60ff142c8e8ed8fb294f7d13a5461f070aa1ff4f +Merge: f1776bc788 7efa91c7ce +Author: Abhishek L +Date: Thu Nov 9 10:10:53 2017 +0100 + + Merge pull request #18800 from linuxbox2/luminous-rgw_file-fsid-mount + + Luminous rgw file fsid mount -- pullup 1 of 2 + + Reviewed-By: Abhishek Lekshmanan + +commit f1776bc7887d2245e632d5a89189294a823ff3b2 +Merge: 2d3c14e5b8 f7dd3be6b7 +Author: Abhishek L +Date: Thu Nov 9 10:04:08 2017 +0100 + + Merge pull request #18767 from smithfarm/wip-22020-luminous + + luminous: multisite: race between sync of bucket and bucket instance metadata + + Reviewed-By: Casey Bodley + +commit 2d3c14e5b88c773548af61312438a69dcb454726 +Merge: 2bad0ac00c 36e214c67b +Author: Abhishek L +Date: Thu Nov 9 09:56:16 2017 +0100 + + Merge pull request #18794 from theanalyst/wip-18709 + + luminous: rgw: Stale bucket index entry remains after object deletion + + Reviewed-By: Casey Bodley + +commit 2bad0ac00c898d50c9c036400b4fba09918fb331 +Merge: 9787509155 f81e6dc8ab +Author: Kefu Chai +Date: Wed Nov 8 18:19:27 2017 +0800 + + Merge pull request #18726 from shinobu-x/wip-luminous-22035 + + luminous: Spurious ceph-mgr failovers during mon elections + + Reviewed-by: John Spray + +commit 9787509155df02bd9df21f389968f77d3de2d988 +Merge: 0c3e9e6aab 7e08cdf539 +Author: Kefu Chai +Date: Wed Nov 8 18:18:39 2017 +0800 + + Merge pull request #18738 from shinobu-x/wip-21547-luminous + + luminous: ceph-mgr gets process called "exe" after respawn + + Reviewed-by: John Spray + +commit 0c3e9e6aab5cfbd3d8e998b148e19bab30f3fa0e +Merge: 628e76fe2a ed4a692254 +Author: Kefu Chai +Date: Wed Nov 8 18:17:54 2017 +0800 + + Merge pull request #18727 from shinobu-x/wip-luminous-22034 + + luminous: key mismatch for mgr after upgrade from jewel to luminous(dev) + + Reviewed-by: John Spray + +commit 628e76fe2a939aae4996f43e9e9c9f7d1269e0bb +Merge: ef5264afc9 be5363a771 +Author: Kefu Chai +Date: Wed Nov 8 14:44:41 2017 +0800 + + Merge pull request #18723 from shinobu-x/wip-luminous-22023 + + luminous: osd: make stat_bytes and stat_bytes_used counters PRIO_USEFUL + +commit ef5264afc992d78c1b34c8a96a43216191fa5406 +Merge: a0a2d27c1e 31c56c6e6b +Author: Kefu Chai +Date: Wed Nov 8 14:38:10 2017 +0800 + + Merge pull request #18737 from shinobu-x/wip-21549-luminous + + luminous: the dashboard uses absolute links for filesystems and clients + + Reviewed-by: John Spray + +commit a0a2d27c1e40280ae214696dbf5c25567c28ba38 +Merge: 947cae47db 76ab4eba99 +Author: Kefu Chai +Date: Wed Nov 8 14:37:19 2017 +0800 + + Merge pull request #18736 from shinobu-x/wip-21638-luminous + + luminous: dashboard OSD list has servers and osds in arbitrary order + + Reviewed-by: John Spray + +commit 947cae47db9f5dc6d77a85834515670e20b5faf8 +Merge: 2e11e6662a e14de28f9e +Author: Kefu Chai +Date: Wed Nov 8 14:36:40 2017 +0800 + + Merge pull request #18728 from shinobu-x/wip-luminous-22032 + + luminous: dashboard barfs on nulls where it expects numbers + + Reviewed-by: John Spray + +commit 2e11e6662ae167276ece7a96783f02a24fc1f89f +Merge: 31afe858a9 cd18f84304 +Author: Kefu Chai +Date: Wed Nov 8 14:34:35 2017 +0800 + + Merge pull request #18699 from shinobu-x/wip-luminous-21538 + + luminous: upmap does not respect osd reweights + + Reviewed-by: Sage Weil + +commit 31afe858a96f1d5c67124b92f19cf4542df7e647 +Merge: d9df23cf3a 388b5016d9 +Author: Kefu Chai +Date: Wed Nov 8 14:30:42 2017 +0800 + + Merge pull request #18719 from tchaikov/wip-pr-18373-luminous + + luminous: osd,mon: add max-pg-per-osd limit + + Reviewed-by: Sage Weil + +commit 388b5016d981c9dd98b6505b2d75b0220cfee772 +Author: Kefu Chai +Date: Wed Oct 18 16:07:50 2017 +0800 + + doc: fix the desc of "osd max pg per osd hard ratio" + + Signed-off-by: Kefu Chai + (cherry picked from commit d940f6220346ad21dfc4f351c57389e8430c0257) + +commit 04852a400483b6459985be80a7773ef153c04b1e +Author: Kefu Chai +Date: Tue Oct 17 12:17:09 2017 +0800 + + mon: change "mon_pg_warn_min_per_osd" to uint64_t + + * this silences a warning from -Wsign-compare. + * also switch all its user to the new-style option + + Signed-off-by: Kefu Chai + (cherry picked from commit c3cd0c13a1585388df0f17ab53c170e39c711615) + +commit d9df23cf3aa002315e15db46d195be7d5657f9d0 +Merge: 567c29f964 53096755c0 +Author: Sage Weil +Date: Tue Nov 7 22:27:15 2017 -0600 + + Merge pull request #18702 from liewegas/wip-pr-18670-luminous + + luminous: qa/tasks/thrashosds: set min_in default to 4 + +commit 567c29f96461901bd86d4c2d4f84f7b84342837f +Merge: 77c2b0de60 8cbb2eb937 +Author: Abhishek L +Date: Tue Nov 7 22:28:58 2017 +0100 + + Merge pull request #18596 from smithfarm/wip-21955-luminous + + luminous: tests: add EC data pool to testing + + Reviewed-By: Patrick Donelly + +commit 7efa91c7ced61f0fde81adfc0540a36fafafb10d +Author: Gui Hecheng +Date: Sat Jul 22 13:12:06 2017 +0800 + + rgw_file: introduce rgw_mount2 with a bucket name parameter + + This explicitly allow mount a specified bucket in librgw. + Originally, mounting a bucket is implemented like a sub-directory + mount in nfs-ganesha FSAL_RGW with lookup_path. + With this change, we allow root_fh to points exactly to the root + of a mounted fs instance, which is a bucket or "/" rather than + always let root_fh points to "/". + + Signed-off-by: Gui Hecheng + (cherry picked from commit 860716e17e840df11a7e1d8b6ca0c1ee694b038b) + +commit b53c3948a5e48623bb437b2d36718ce3a799aa54 +Author: Gui Hecheng +Date: Fri May 26 17:45:29 2017 +0800 + + rgw_file: new fsid for fs instance + + We use an in-memory fs_inst_counter for fsid currently, but it + inevitably cause nfs automount problem across a nfs-ganesha crash. + So here we relate the fsid to the s3 uid with a hash. + With this, fsid remains consistent across all fs instances and + across crashes. + + We should be able to upgrade from old fsid to new fsid with + update_fh(). + + Signed-off-by: Gui Hecheng + (cherry picked from commit 178b547e83a2c0eeb024bbe4ca2ff8d8e7d50572) + +commit 77c2b0de6042707b42d6e717e90a525fda8ead76 +Merge: 14e0530f50 555746a09e +Author: Abhishek L +Date: Tue Nov 7 22:07:45 2017 +0100 + + Merge pull request #18628 from batrick/i21953 + + luminous: mds: sanitize mdsmap of removed pools + + Reviewed-By: Sage Weil + +commit 14e0530f50cd5fba46da914cdd09489f13adb2ec +Merge: bc9f508477 c2237c7c6d +Author: Abhishek L +Date: Tue Nov 7 18:33:21 2017 +0100 + + Merge pull request #18626 from dillaman/wip-21968 + + luminous: cls/journal: fixed possible infinite loop in expire_tags + + Reviewed-By: Mykola Golub + +commit bc9f5084778607c95dcbc93ea60ce296e8e8ee88 +Merge: 6bc121ddee 1aeec0c032 +Author: Abhishek L +Date: Tue Nov 7 18:32:20 2017 +0100 + + Merge pull request #18688 from liewegas/wip-balancer-luminous + + luminous: mgr/balancer: backport crush-compat work from master + + Reviewed-By: John Spray + +commit 36e214c67b6982cc7a85e08dedc83ea61e56d6a4 +Author: J. Eric Ivancich +Date: Fri Nov 3 09:15:13 2017 -0400 + + rgw: fix BZ 1500904, Stale bucket index entry remains after object deletion + + We have a race condition: + + 1. RGW client #1: requests an object be deleted. + 2. RGW client #1: sends a prepare op to bucket index OSD #1. + 3. OSD #1: prepares the op, adding pending ops to the bucket dir entry + 4. RGW client #2: sends a list bucket to OSD #1 + 5. RGW client #2: sees that there are pending operations on bucket + dir entry, and calls check_disk_state + 6. RGW client #2: check_disk_state sees that the object still exists, so it + sends CEPH_RGW_UPDATE to bucket index OSD (#1) + 7. RGW client #1: sends a delete object to object OSD (#2) + 8. OSD #2: deletes the object + 9. RGW client #2: sends a complete op to bucket index OSD (#1) + 10. OSD #1: completes the op + 11. OSD #1: receives the CEPH_RGW_UPDATE and updates the bucket index + entry, thereby **RECREATING** it + + Solution implemented: + + At step #5 the object's dir entry exists. If we get to beginning of + step #11 and the object's dir entry no longer exists, we know that the + dir entry was just actively being modified, and ignore the + CEPH_RGW_UPDATE operation, thereby NOT recreating it. + + Signed-off-by: J. Eric Ivancich + (cherry picked from commit b33f529e79b74314a2030231e1308ee225717743) + +commit 6bc121ddeec4b12c91ae5ac982ad113bda14d2bf +Merge: ee27efad8b f26f3dc842 +Author: Abhishek L +Date: Tue Nov 7 18:21:41 2017 +0100 + + Merge pull request #18569 from kmroz/wip-21939-luminous + + luminous: list bucket which enable versioning get wrong result when user marker + + Reviewed-By: Casey Bodley + +commit ee27efad8ba4d751828dd73012de12ab16c2f78d +Merge: 601249c6aa a340f1acab +Author: Abhishek L +Date: Tue Nov 7 18:21:03 2017 +0100 + + Merge pull request #18591 from cbodley/wip-21938 + + luminous: rgw: fix error handling in ListBucketIndexesCR + (approved in irc & standups) + + Reviewed-By: Abhishek Lekshmanan + +commit 601249c6aa154d0f9e53332480ac45b5730fb503 +Merge: d2226d5adb 15a52ba832 +Author: Abhishek L +Date: Tue Nov 7 18:17:57 2017 +0100 + + Merge pull request #18539 from linuxbox2/luminous-baixuyeyu-refcnt + + luminous: baixuyeyu refcnt + + Reviewed-By: Casey Bodley + +commit d2226d5adbb4752e0180dfa3406e188bd3b37d6e +Merge: 925c68e9e9 902d467a0e +Author: Abhishek L +Date: Tue Nov 7 18:15:38 2017 +0100 + + Merge pull request #18516 from ceph/wip-bp-pr18193-luminous + + qa/rgw: ignore errors from 'pool application enable' + + Reviewed-By: Nathan Cutler + Reviewed-By: Casey Bodley + +commit 925c68e9e9538a97f98bef1e5a884d31811aa229 +Merge: 2f35da4e60 add8c3db19 +Author: Abhishek L +Date: Tue Nov 7 18:14:21 2017 +0100 + + Merge pull request #18599 from linuxbox2/lum-rgwfile-21940 + + rgw_file: set s->obj_size from bytes_written + + Reviewed-By: Casey Bodley + +commit 2f35da4e60c2b5fd2f45348587a5b175868d04d7 +Merge: b2961db15d 26c523c3be +Author: Abhishek L +Date: Tue Nov 7 13:07:09 2017 +0100 + + Merge pull request #18566 from kmroz/wip-21914-luminous + + luminous: [rbd-mirror] peer cluster connections should filter out command line optionals + + Reviewed-By: Jason Dillaman + +commit 8e3227ad51fa4909a39eb0d05798b48200a03fc5 +Author: Kefu Chai +Date: Tue Oct 17 12:10:55 2017 +0800 + + osd,mon: change "mon_max_pg_per_osd" to uint64_t + + as it should never be a negative number. if this option is disabled, + it's 0. + + Signed-off-by: Kefu Chai + (cherry picked from commit 0d68197376b6cf48c6679d77ec9f28f279f3da68) + +commit ae7823187186310bac117fac437d991398cffd5e +Author: Kefu Chai +Date: Tue Sep 26 15:54:14 2017 +0800 + + osd: add max-pg-per-osd limit + + osd will refused to create new pgs, until its pg number is lower + than the max-pg-per-osd upper bound setting. + + Signed-off-by: Kefu Chai + (cherry picked from commit 4c7df944c7f28232873ba681eedce72cdb062ea5) + +commit 1db44c5bef752b3a6ce59ea21548b54b77b587d2 +Author: Kefu Chai +Date: Sun Oct 15 20:46:28 2017 +0800 + + qa/tasks/ceph: add "create_rbd_pool" option + + True by default, but we can opt not to create the "rbd" pool. + + Signed-off-by: Kefu Chai + (cherry picked from commit ac1e13ce63a6f32ae9ab0db8196c8cc8100d94ed) + +commit ed34b00566f9b1b65c09989af44ad24cdb27fbdc +Author: Kefu Chai +Date: Thu Oct 12 20:07:46 2017 +0800 + + osd: print osd as "osd.$osdid" in log message + + easier to read this way + + Signed-off-by: Kefu Chai + (cherry picked from commit c6b71ebf6b7b7c54560f331d5f8e4e24f5a60633) + +commit df611786d2882e346075f5a32aef46bea3c36d47 +Author: Kefu Chai +Date: Tue Sep 26 15:50:08 2017 +0800 + + mon/OSDMonitor: bypass checks if pg_temp.forced + + originally, monitor ignores the pg_temp messages sent from replica osds, + but to re-trigger peering if replica osd's pg number drops down below + the setting, we need to bypass the checks. + + Signed-off-by: Kefu Chai + (cherry picked from commit da6f7a810055a0dc9e364aca8e6efbfbc32881b3) + +commit aefc9315ed6ebbf209d4496b0fb33c72dc107961 +Author: Kefu Chai +Date: Tue Sep 26 15:49:11 2017 +0800 + + messages/MOSDPGTemp: add `forced` field + + the monitor is supposed to bypass some checks if `forced` is true. + + Signed-off-by: Kefu Chai + (cherry picked from commit 6335bf791003e9e33b2f738ab3da06f3c626537a) + +commit b2961db15dd7528019df7990f8f7690ae3a95aa9 +Merge: a5899a57e4 4cac43679a +Author: Kefu Chai +Date: Tue Nov 7 17:48:34 2017 +0800 + + Merge pull request #18775 from tchaikov/wip-upgrade-luminous-x + + qa: add 1-ceph-install to upgrade:luminous-x + + Reviewed-by: Yuri Weinstein + Reviewed-by: Abhishek Lekshmanan + +commit 4cac43679a7688cb4765728e1a75e812d0df22de +Author: Yuri Weinstein +Date: Tue Aug 29 09:50:51 2017 -0700 + + qa: add 1-ceph-install to upgrade:luminous-x + + Signed-off-by: Yuri Weinstein + (cherry picked from commit aff342627cf77e2faae6904e626d9fb2c897f155) + +commit 1aeec0c0326678bcdba7ee0a6a1204f460e3ddf7 +Author: Sage Weil +Date: Mon Nov 6 21:17:22 2017 -0600 + + qa/suites/rados/thrash/d-*/*balancer*: debug osd in mgr + + Signed-off-by: Sage Weil + +commit f7dd3be6b7804035b47d2e6fb94463f0bc772bbe +Author: Casey Bodley +Date: Tue Oct 31 16:56:01 2017 -0400 + + rgw: remove placement_rule from cls_user_bucket_entry + + placement_rule is no longer needed in cls_user_bucket_entry, because the + only time that it's needed, we can read it from the bucket instance in + RGWRados::update_containers_stats() + + Signed-off-by: Casey Bodley + (cherry picked from commit 8e62e3526643da67f5af7daa687120feed469785) + +commit 17cc13b87b5378bf03e2b0b52c274772ebaf08ef +Author: Casey Bodley +Date: Tue Oct 31 16:29:31 2017 -0400 + + rgw: remove placement_rule from rgw_link_bucket() + + with the fallback in RGWRados::update_containers_stats(), we no longer + need to pass placement_rule into the cls_user_bucket_entry + + this removes the dependency between bucket entrypoint metadata and its + bucket instance metadata during multisite sync + + Fixes: http://tracker.ceph.com/issues/21990 + + Signed-off-by: Casey Bodley + (cherry picked from commit dd5d278a4f9b080234cbb77e448208803ec0cf93) + +commit 338248a8b376074c0f43b626e9f69fc59ee26487 +Author: Casey Bodley +Date: Tue Oct 31 16:26:54 2017 -0400 + + rgw: take placement_rule from bucket info in update_containers_stats + + in case the cls_user_bucket_entry doesn't contain a placement_rule, take + it from the bucket instance info + + Signed-off-by: Casey Bodley + (cherry picked from commit 531195d80d5bac774d58b210307eb19b57d26345) + +commit 975229c3674ce99704aef399ecfb770cc8bcf1da +Author: Chang Liu +Date: Tue Oct 3 00:12:43 2017 +0800 + + tool: ceph-kvstore-tool doesn't umount BlueStore properly + + Fixes: http://tracker.ceph.com/issues/21625 + + Signed-off-by: Chang Liu + (cherry picked from commit 81e4560781c4e5a5a033bfd4a4fe4094fc27d964) + +commit 4d4aee14a46ed36cdb40c0ff67193c8650b106da +Author: Chang Liu +Date: Tue Oct 3 00:01:43 2017 +0800 + + os/bluestore: make BlueStore opened by start_kv_only umountable + + ceph-kvstore-tool use start_kv_only to debug the kvstore. we + will get a crash when we try to umount bluestore in kvstore-tool. + + Fixes: http://tracker.ceph.com/issues/21624 + + Signed-off-by: Chang Liu + (cherry picked from commit 2754c5acad442e50d97c8daf648cfcadd38222a6) + +commit 3f7eadb79f4bb0a2fe25b229c24b652e7dcbaf00 +Author: Sage Weil +Date: Sat Nov 4 09:32:51 2017 -0500 + + qa/suites/rados/thrash: combine balancer with require-luminous + + We can only do the balancer stuff if we've done the mkfs-time + require luminous because otherwise the mgr commands aren't proxied via + the mon. + + Only do balancer for thrash tests; not for basic, monthrash, verify. + + Signed-off-by: Sage Weil + +commit 8a7f983f3322b62cb18421c088e652341125eb1f +Author: Kefu Chai +Date: Wed Nov 1 10:45:09 2017 +0800 + + qa: stop testing deprecated "ceph osd create" + + "ceph osd create" is not idempotent, and is considered deprecated. + + Fixes: http://tracker.ceph.com/issues/21993 + Signed-off-by: Kefu Chai + (cherry picked from commit 371d3f40911917704f4992c48236b4c60905bf4e) + +commit 7e08cdf53992570d27b47d0028c698b78908ba83 +Author: John Spray +Date: Fri Sep 15 12:23:39 2017 -0400 + + mgr: set explicit thread name + + This gets used as our process name in some situations + when respawning. This is the same as what commit 4f177bb6b + did for the MDS. + + Fixes: http://tracker.ceph.com/issues/21404 + Signed-off-by: John Spray + (cherry picked from commit 44dce0a5664639b2ae0949cc434f1be1176d872d) + +commit 31c56c6e6b50b44fef56852e58ab97520ee8614a +Author: Nick Erdmann +Date: Tue Aug 22 16:55:11 2017 +0000 + + pybind/mgr/dashboard: updated favicon (old one was 404) + + Signed-off-by: Nick Erdmann + (cherry picked from commit 7a54520f5c3d4db27fe7e2a12760dcd838ba89aa) + +commit d822c15af9b838dc2eea08b5f13f1dba785d776e +Author: Nick Erdmann +Date: Tue Aug 22 08:08:45 2017 +0000 + + pybind/mgr/dashboard: clean up + + Signed-off-by: Nick Erdmann + (cherry picked from commit f512ac3d7712850f274cd01bb589aa9fbc8c8bef) + +commit 1f47cc0b53f7e20e156f74b28502c7705ddb4700 +Author: Nick Erdmann +Date: Mon Aug 21 17:21:10 2017 +0000 + + pybind/mgr/dashboard: add url_prefix + + This adds a configuration variable url_prefix to the dashboard that + that is prepended to all URLs so you can access the dashboard at + http://$IP:$PORT/$PREFIX/. This is necessary if you wish to use a + reverse http proxy that forwards to the dashboard under a sub-path. + + Fixes: http://tracker.ceph.com/issues/20568 + Signed-off-by: Nick Erdmann + (cherry picked from commit 6d285fff0df598d66f46d38bf0a6a2cc9c0dc62f) + +commit 76ab4eba99785edf01c8ff9464d997b2ec691b31 +Author: John Spray +Date: Wed Sep 27 15:13:48 2017 +0100 + + mgr/dashboard: sort servers and OSDs in OSD list + + Fixes: http://tracker.ceph.com/issues/21572 + Signed-off-by: John Spray + (cherry picked from commit f409099fa25b73fe580ee4662aff51636f118ed2) + +commit 8cacd2a568fca023a51f3be6e20f90b4ec08c82b +Author: John Spray +Date: Sat Sep 23 15:22:34 2017 +0100 + + mgr/zabbix: log exceptions with backtrace + + Logging just the exception object gave a sometimes-enigmatic + single line. Let's use the logger exception method so that + we get a backtrace. + + Signed-off-by: John Spray + (cherry picked from commit 316dcc8f0b42b85503632d5472c45c9828882f2c) + +commit 06706bea9339e26d1a0ab395e9d42d391ee8c03c +Author: John Spray +Date: Sat Sep 23 15:18:18 2017 +0100 + + mgr/zabbix: fix div by zero + + Fixes: http://tracker.ceph.com/issues/21518 + Signed-off-by: John Spray + (cherry picked from commit 9c02738b4ea0303f5b3cbfc4748d6791007be834) + +commit a5899a57e4f077f4061fc2aa33a61377de7ac025 +Merge: 52f66ef5ba 35de92b259 +Author: Sage Weil +Date: Sat Nov 4 10:52:27 2017 -0500 + + Merge pull request #18673 from dzafman/wip-21833 + + osd: build_past_intervals_parallel: Ignore new partially created PGs + +commit e14de28f9e524575c633dc98c6ebb9a234c8d1c5 +Author: John Spray +Date: Wed Sep 27 14:33:58 2017 +0100 + + mgr/dashboard: handle null in format_number + + Fixes: http://tracker.ceph.com/issues/21570 + Signed-off-by: John Spray + (cherry picked from commit f43859d4dca696ba4cac224e0c7e87e4b2aad40f) + +commit ed4a692254e71ce7b30566dfd6d16e8a070b3461 +Author: John Spray +Date: Thu Oct 19 09:28:18 2017 -0400 + + mon: don't blow away bootstrap-mgr on upgrades + + Fixes: http://tracker.ceph.com/issues/20950 + Signed-off-by: John Spray + (cherry picked from commit 57229ea2a4369518c7a16b7a09b045b7896f5a70) + +commit f81e6dc8abe3535a54cbf683992c95c4eaf4e186 +Author: John Spray +Date: Thu Oct 12 11:57:50 2017 +0100 + + mon: handle monitor lag when killing mgrs + + Fixes: http://tracker.ceph.com/issues/20629 + Signed-off-by: John Spray + (cherry picked from commit 3c3776b30a2da3f5d2ece15c57713c0ce191c778) + +commit be5363a771172d3260049b0012519b485e4d728e +Author: Yao Zongyou +Date: Tue Oct 31 13:23:49 2017 +0800 + + osd: make stat_bytes and stat_bytes_used counters PRIO_USEFUL + + These two counters should be reported to mgr because the dashboard + plugin needing them to display osd detailed information. + + Fixes: http://tracker.ceph.com/issues/21981 + + Signed-off-by: Yao Zongyou + (cherry picked from commit 40bb3c5f05b6f2a917a7e400f88677f41a9629a3) + +commit 77766609d808a974aafdff359dadc46af5bd26f4 +Author: Sage Weil +Date: Thu Nov 2 16:18:03 2017 -0500 + + pybind/mgr/mgr_module: fix calc_pg_upmaps + + This was fixed in the object cleanup. + + Signed-off-by: Sage Weil + (cherry picked from commit ed442164d52c803916ca43a5ed76047089d3da66) + +commit 56c27e6be813e6a8b972733468eb099596ff7381 +Author: Sage Weil +Date: Thu Nov 2 16:11:26 2017 -0500 + + mgr/balancer: enable module by default + + It will still be "off". + + Signed-off-by: Sage Weil + (cherry picked from commit 26710f0a9b176289237a52e5fa5894342ad163dc) + +commit 53096755c02d953867d0fff3e08bc3a62d872ec6 +Author: Sage Weil +Date: Wed Nov 1 08:31:31 2017 -0500 + + qa/tasks/thrashosds: set min_in default to 4 + + We have EC tests with k=2,m=2, so we need a min of 4. + + Fixes: http://tracker.ceph.com/issues/21997 + Signed-off-by: Sage Weil + (cherry picked from commit d21809b14ea58dc1f44df844e407ebab5a315062) + +commit 52f66ef5ba291fccc265fd7a34a4eae201667153 +Merge: 1b00bdfeef e58656005d +Author: Abhishek L +Date: Fri Nov 3 10:26:44 2017 +0100 + + Merge pull request #18446 from theanalyst/wip-21854-luminous + + luminous: rgw_file: explicit NFSv3 open() emulation + + Reviewed-By: Abhishek Lekshmanan + Reviewed-By: Matt Benjamin + +commit cd18f84304124e1341516194fb73c8bde48db445 +Author: Theofilos Mouratidis +Date: Mon Sep 25 16:17:47 2017 +0200 + + osd: upmap should respect osd reweights + + Modify OSDMap::calc_pg_upmaps to take the osd reweight into account when + computing the size of each OSD. + + Signed-off-by: Theofilos Mouratidis + Fixes: http://tracker.ceph.com/issues/21538 + (cherry picked from commit b8561cefa705d31954d47723125376a3c087f4f4) + +commit 03a11694feee0d78dcc1f296a77200635a651707 +Author: Theofilos Mouratidis +Date: Mon Sep 25 16:15:45 2017 +0200 + + test/cli/osdmaptool: test upmap with an out osd + + Test upmap with one osd marked out. + + Signed-off-by: Theofilos Mouratidis + (cherry picked from commit ff9e024a59d87eda6cbf3be9464ee7ae6f1140d7) + +commit 2c7972d3a4928cec039e8637048c26e94c6278d2 +Author: Theofilos Mouratidis +Date: Mon Sep 25 16:14:09 2017 +0200 + + osdmaptool: add --mark-out option + + Add a --mark-down option which sets the reweight for a given + osd id to 0.0. + + Signed-off-by: Theofilos Mouratidis + (cherry picked from commit bd75a78187143f750f90fb937984eaa6333159d3) + +commit 1b00bdfeefd7b724f14634383ae4baaf7a42c996 +Merge: c6052f2706 92d0545781 +Author: Abhishek L +Date: Thu Nov 2 21:23:50 2017 +0100 + + Merge pull request #18439 from theanalyst/wip-21655-luminous + + luminous: expose --sync-stats via admin api + + Reviewed-By: Abhishek Lekshmanan + Reviewed-By: Casey Bodley + +commit 282e21bd07c3dfb5d18f338abd3ced4f4eeaa247 +Author: Sage Weil +Date: Fri Oct 27 12:53:52 2017 -0500 + + mgr/balancer: simplify pool_info tracking + + Signed-off-by: Sage Weil + (cherry picked from commit a59a1df85382d559362c51bb45284b61caaca1d4) + +commit e2346f539f477a4b7a4685828876eb89c84ad00d +Author: Sage Weil +Date: Wed Oct 25 22:47:02 2017 -0500 + + mgr/balancer: less verbose on 'eval' by default; add 'eval-verbose' + + The verbose output is helpful for debugging and understanding what is + being measured, but most of the time all that you care about is the score. + + Signed-off-by: Sage Weil + (cherry picked from commit 2c300bc8d7189b464f59c93deb5eb56915df62b8) + +commit 64d75fa26d3ceb6ccdbee3b31b3705c4db2fc59f +Author: Sage Weil +Date: Sat Oct 21 10:46:27 2017 -0500 + + mgr/balancer: fix pg vs object terminology + + Signed-off-by: Sage Weil + (cherry picked from commit 6513e8b0fc2ebcbbbda937ec6d533ea084ef278f) + +commit 6082f53391a46076bda1b5d56685d928acd2cd4b +Author: Sage Weil +Date: Tue Oct 24 17:12:54 2017 -0500 + + mgr/balancer: restrict to time of day + + Signed-off-by: Sage Weil + (cherry picked from commit 3f0b50b50aeb34ed39767289b8475ec5b877cc27) + +commit 91b84cb24466f84ce3e189e08f8cba1e2900a4cc +Author: Sage Weil +Date: Thu Oct 5 17:31:06 2017 -0500 + + mgr/module: adjust osd_weight min step to .005 + + That should be ~1 PG or less on average; no real sense it taking a + step smaller than that! + + Signed-off-by: Sage Weil + (cherry picked from commit 297e2d65abcebe45c6be69a768cf3ea98e1b354d) + +commit acbf539d326403b6249ed0e2b0ca5ffc4a52152d +Author: Sage Weil +Date: Thu Oct 5 17:26:16 2017 -0500 + + mgr/balancer: if score regresses, take a few more steps + + To avoid getting stuck in a local minima, take a few additional + steps if our score drops and see if it gets better. + + Signed-off-by: Sage Weil + (cherry picked from commit 70b503495a0ceb7d1aa4f5fce4403a8eff9a03b5) + +commit b9cc962adfd95304cbd56833bb84b827e5eed4d4 +Author: Sage Weil +Date: Thu Oct 5 17:25:19 2017 -0500 + + mgr/balancer: allow 5% misplaced + + Signed-off-by: Sage Weil + (cherry picked from commit 1ad3101818d1855c8eea8386d7682fab2fe9c8b8) + +commit 452962767b4f899c8c2589d01a6b8acc3cac9a69 +Author: Sage Weil +Date: Thu Oct 5 17:25:06 2017 -0500 + + mgr/balancer: more aggressive steps + + We are smart enough to back off if we misplace too much. + + Signed-off-by: Sage Weil + (cherry picked from commit 0dbcf737eaed02b5aa94bc6f27231b4b87f09ce5) + +commit 901ae5920c590a2a83f30897b05017e001572e5f +Author: Sage Weil +Date: Sun Oct 1 16:00:06 2017 -0500 + + qa/suites/rados/thrash/d-balancer: enable balancer in various modes + + Signed-off-by: Sage Weil + (cherry picked from commit 2c9c18d1ec3d33d385adf2a30dc1d3b8e987f9a5) + +commit a1ebe97886f7a578bc56a109f10a3d6149954087 +Author: Sage Weil +Date: Wed Sep 27 17:05:05 2017 -0400 + + mgr/balancer: crush-compat: phase out osd_weights + + Phase out the osd_weight values as we optimize the crush compat + weight set. Allow a small regression in overall score if it means + we are taking a step to remove the osd_weight value. + + Fix the 'osd reweightn' invocation. + + Signed-off-by: Sage Weil + (cherry picked from commit 861c37fd99a76d5f1665a610224778fcbb41e9e1) + +commit 72716f058cd132d836c3251b4e6d4b056bb4c0a8 +Author: Sage Weil +Date: Wed Sep 27 15:12:54 2017 -0400 + + mgr/balancer: crush_compat: cope with 'out' osds + + Signed-off-by: Sage Weil + (cherry picked from commit c2bba5820a0bf2225dfc9ba39cc67c78083aba11) + +commit c982848f32ed85639346931e86d331fb52458355 +Author: Sage Weil +Date: Wed Sep 27 15:12:36 2017 -0400 + + mgr/balancer: stop if we get a perfect score + + ..and fix the 'worse' threshold (we're just working around floating + point imprecision; 1.01 was too coarse). + + Signed-off-by: Sage Weil + (cherry picked from commit f1f3014ffcc67200c20e6fb2b2e6e8f1141a0a1d) + +commit 37ed6f218ba4fafd5360b8f62feb321a1feec56f +Author: Sage Weil +Date: Wed Sep 27 11:40:36 2017 -0400 + + mgr/balancer: more dead code + + Signed-off-by: Sage Weil + (cherry picked from commit 37bd64405b8a578329b9a903c9a53322ea29caaf) + +commit b3dd7abc79fa3dff7768898caf814bcdfb8f8690 +Author: Sage Weil +Date: Wed Sep 27 11:27:42 2017 -0400 + + mgr/balancer: crush-compat: throttle changes based on max_misplaced + + Take smaller steps if we overshoot max_misplaced. + + Signed-off-by: Sage Weil + (cherry picked from commit df2e008d3388b657d62ea4547e6b1b7a0251aa04) + +commit 25bfd12cf252dbba81f482fe9abe53959f992b4b +Author: Sage Weil +Date: Wed Sep 27 11:19:30 2017 -0400 + + mgr/balancer: remove dead code + + Signed-off-by: Sage Weil + (cherry picked from commit 020be37fd06a75ec86e05af966be318c2199da9f) + +commit 1aff9dfadc148fb1cf9b60400c35bd11011772b2 +Author: Sage Weil +Date: Wed Sep 27 11:19:23 2017 -0400 + + mgr/balancer: include pg up mapping in MappingState + + Signed-off-by: Sage Weil + (cherry picked from commit f6f2d253c379a6235e810808e7ce3b83cc4e212c) + +commit 9121e73f639bd47310ee29dce69a4c105582a3ab +Author: Sage Weil +Date: Tue Sep 26 18:36:06 2017 -0400 + + mgr/balancer: normalize weight-set weights to sum to target weight + + Signed-off-by: Sage Weil + (cherry picked from commit 99fcd161bd222a4f0d2ddde0f1a4caecd1a78882) + +commit 619ae53354aa5682aeb7d77d3795a323188dad1a +Author: Sage Weil +Date: Tue Sep 26 18:35:42 2017 -0400 + + mgr/balancer: note root id in Eval + + Signed-off-by: Sage Weil + (cherry picked from commit 26a7ec0c8a4c215791369d8650cd17d41317aefe) + +commit afcce93591c7e5c53596cec03165033f049a0c63 +Author: Sage Weil +Date: Tue Sep 26 18:00:08 2017 -0400 + + mgr/balancer: make crush-compat mode work! + + - it does multiple iterations, like the upmap optimizer. + - it decreases the step size if it isn't improving, in the hope + that it is overshooting the minimum + - debug output is cleaned up a bit (the info level should be + genuinely useful) + + Signed-off-by: Sage Weil + (cherry picked from commit d9a31595ba15de5fda104a0154778e3200fc46a0) + +commit c6052f2706ad6b7c92f9d6fa381527e8922b30c6 +Merge: 4e1eec777c 56359c367d +Author: Sage Weil +Date: Thu Nov 2 14:54:50 2017 -0500 + + Merge pull request #18590 from liewegas/wip-prime-fixes-luminous + + luminous: ceph-bluestore-tool: prime-osd-dir: update symlinks instead of bailing + +commit 4e1eec777cf194cdf9bd4db1e7c4672d5b2adac7 +Merge: 79736e781f 338af16881 +Author: Sage Weil +Date: Thu Nov 2 14:54:18 2017 -0500 + + Merge pull request #18620 from tchaikov/wip-21527-luminous + + luminous: mon/mgr: sync "mgr_command_descs","osd_metadata" and "mgr_metadata" prefixes to new mons + + Reviewed-by: Nathan Cutler + +commit 79736e781fbd36083c639d3f4c22f8f3ae426cce +Merge: 815d8ab573 9d8e5d763b +Author: Sage Weil +Date: Thu Nov 2 14:53:16 2017 -0500 + + Merge pull request #18621 from tchaikov/wip-21534-luminous + + luminous: mon: update get_store_prefixes implementations + + Reviewed-by: Nathan Cutler + Reviewed-by: John Spray + +commit 815d8ab573215277a5283af1ecabaac84eaf6200 +Merge: c23865f07e 6b6eceee02 +Author: Sage Weil +Date: Thu Nov 2 14:52:32 2017 -0500 + + Merge pull request #18623 from liewegas/wip-pr-18585-luminous + + luminous: ceph-bluestore-tool: prime-osd-dir: update symlinks instead of bailing + + Reviewed-by: Kefu Chai + +commit c23865f07e9147f8ac8a8d3837f735558af30dba +Merge: 24bd1de6af 796e336470 +Author: Sage Weil +Date: Thu Nov 2 14:51:58 2017 -0500 + + Merge pull request #18625 from tchaikov/wip-ceph-disk-unlock-dmcrypted-partitions-luminous + + luminous: ceph-disk: unlocks dmcrypted partitions when activating them + + Reviewed-by: Nathan Cutler + +commit 24bd1de6afaa0d3dab763ae946b03ffb7b333430 +Merge: 240edcfb18 3c3609b7e3 +Author: Sage Weil +Date: Thu Nov 2 14:51:32 2017 -0500 + + Merge pull request #18650 from b-ranto/wip-allow-getattr-luminous + + luminous: selinux: Allow getattr on lnk sysfs files + + Reviewed-by: Ken Dreyer + +commit 240edcfb18475bef84bd5d6345dd365411398773 +Merge: 98edc3b9f2 deb78542ed +Author: Sage Weil +Date: Thu Nov 2 14:51:11 2017 -0500 + + Merge pull request #18675 from jcsp/wip-luminous-mgr + + luminous: bulk backport of ceph-mgr improvements + +commit 98edc3b9f2012db277c5796055223f6e69b67e66 +Merge: 96102df540 0c0d8e6f40 +Author: Alfredo Deza +Date: Thu Nov 2 13:39:05 2017 -0400 + + Merge pull request #18687 from ceph/backport-18656 + + luminous: "ceph-volume: adds functional testing for bluestore" + + Reviewed-by: Alfredo Deza + +commit 96102df5405fc470696df84996853e254c29fd31 +Merge: 172e6c1e0c 2e6b29084a +Author: Kefu Chai +Date: Fri Nov 3 01:02:26 2017 +0800 + + Merge pull request #18293 from smithfarm/wip-21795-luminous + + luminous: Ubuntu amd64 client can not discover the ubuntu arm64 ceph cluster + + Reviewed-by: Kefu Chai + +commit 0c0d8e6f402ae78ae8110a717188f8b366a67696 +Author: Andrew Schoen +Date: Tue Oct 31 15:25:23 2017 -0500 + + ceph-volume tests: adds objecstore as a testing factor + + Signed-off-by: Andrew Schoen + (cherry picked from commit f8b114be61d033c853a2e8295b966e30c6a5f721) + +commit 9d970edddc1ab453a683bff1dfd19cab46e8cf9a +Author: Andrew Schoen +Date: Tue Oct 31 15:10:28 2017 -0500 + + ceph-volume: enable the centos7-bluestore and xenial-bluestore tests + + This also updates the ansible and testinfra version to match the current + ceph-ansible master branch. + + Signed-off-by: Andrew Schoen + (cherry picked from commit b49a19a9773599de295197979b498d06ca500cf8) + +commit f9554c4e3ef0eea1f4f09828f98c58838390d4fa +Author: Andrew Schoen +Date: Tue Oct 31 15:09:52 2017 -0500 + + ceph-volume: adds the xenial-bluestore testing scenario + + Signed-off-by: Andrew Schoen + (cherry picked from commit 38372890c9c40e6f536026f61c5ef6e6d23d7111) + +commit b7fef119d0730a3cb8f19a461f773e66ce97af0f +Author: Andrew Schoen +Date: Tue Oct 31 15:05:46 2017 -0500 + + ceph-volume: adds the centos7-bluestore testing scenario + + Signed-off-by: Andrew Schoen + (cherry picked from commit 45e4b0c9d7d4fea1d7bd3481d46edf3b42c40d26) + +commit deb78542ed45ac402b4492d5b9ae4a9cdf182724 +Author: John Spray +Date: Thu Nov 2 07:42:56 2017 -0400 + + qa: fix mgr _load_module helper + + I inadvertently broke this with the latest change + to the module ls output. + + Signed-off-by: John Spray + (cherry picked from commit 4fb3025682d812f86c50fa36532290fc0f8857ae) + +commit d4fcb97839a501094db2e1704c9799a107ad100e +Author: John Spray +Date: Wed Nov 1 19:10:19 2017 +0000 + + mgr: fix up make_unique usage for backport + + This was getting the definition some other way in master, + but in luminous we need to include the backport14 header. + + Signed-off-by: John Spray + +commit f41cbb72f39359d7efc9feb0825cbad61e51c07c +Author: John Spray +Date: Fri Oct 20 13:54:29 2017 +0100 + + mon: fix up mgr_inactive_grace for backport + + This was converted to options.cc only, but we cannot + backport another commit that removes this legacy health + reporting code, so this commit updates the legacy health + reporting code for the options.cc style config opt. + + Signed-off-by: John Spray + +commit a80a7a4d7f9ac73b4d3b86f9787dd9de9865530a +Author: John Spray +Date: Wed Nov 1 06:35:14 2017 -0400 + + mon: include disabled modules in `mgr module ls` + + Otherwise, when someone wants to see what's possible + to do with `mgr module enable` they have to trawl + through the whole mgr map dump. + + Signed-off-by: John Spray + (cherry picked from commit 5861c4c022e825fe28347ba7e61ae86a6f260f24) + +commit fad998cb11628db970099cc192277c1824be884a +Author: John Spray +Date: Wed Nov 1 06:34:36 2017 -0400 + + doc: describe using `mgr module ...` commands + + ...including the new "mgr services" command. + + Signed-off-by: John Spray + (cherry picked from commit d220e1adc337daeac418563dee125f161e85afdf) + +commit a46c5733881403f65872ca36d300ab6a4ca9d2cc +Author: John Spray +Date: Wed Nov 1 06:28:30 2017 -0400 + + doc: describe how to implement standby modules + + Signed-off-by: John Spray + (cherry picked from commit ceb2a91190441b19171e5b5726748e43ee4d1e92) + +commit c704b344a4a739e5ba18535a0fd4f05308c89019 +Author: John Spray +Date: Mon Oct 23 05:37:49 2017 -0400 + + qa: fix mgr caps + + This was still using Kraken era settings + + Signed-off-by: John Spray + (cherry picked from commit 9988ebed9530718b523a23d729d499dedab5eb6d) + +commit f58cb7035cf8992b8772f3358f2d67787ab585c3 +Author: John Spray +Date: Thu Oct 19 07:50:19 2017 -0400 + + qa: expand mgr testing + + Some extra coverage of the dashboard, including its standby + redirect mode and the publishing of URIs. + + Also invoking the command_spam mode of the selftest module. + + Signed-off-by: John Spray + (cherry picked from commit 05e648be6a51d3efa110ad9826bbdd0adcc4dd4d) + +commit a067468b3717dbab20f84996e76e2336d5fb5f30 +Author: John Spray +Date: Tue Oct 17 18:39:17 2017 -0400 + + mgr/selftest: extend test and add background spam mode + + Signed-off-by: John Spray + (cherry picked from commit a382c3f1ca98b9fb7300e2d410bb2a1bb10b35ae) + +commit 1430e448ff93f73b8e8fba61f591ce4ec8c02380 +Author: John Spray +Date: Tue Oct 17 18:16:22 2017 -0400 + + mgr: drop GIL around set_uri, set_health_checks + + These didn't need to keep the GIL to go and do their + pure C++ parts, and by keeping it they could deadlock + while trying to take ActiveMgrModules::lock. + + Signed-off-by: John Spray + (cherry picked from commit 27ee148e040ebaf512f8e11f814b3a7c8cf21f8b) + +commit 2a94381b53241f9ecb98c4cc605ef6547b910ca2 +Author: John Spray +Date: Tue Oct 17 18:14:43 2017 -0400 + + mgr: fix ~MonCommandCompletion + + This was doing a Py_DECREF outside of the Gil. + + Fixes: http://tracker.ceph.com/issues/21593 + Signed-off-by: John Spray + (cherry picked from commit 58dfa97ba88882fb3540d15e31bcac48a1aef5ef) + +commit 045ed0e023ae2d1a567b3426ef2b48980a851b7e +Author: John Spray +Date: Mon Oct 16 10:51:34 2017 -0400 + + mgr: update for SafeThreadState + + A bunch of the previous commits were done + before this class existed, so updating in + one go instead of trying to edit history + in fine detail. + + Signed-off-by: John Spray + (cherry picked from commit 29193a47e6cf8297d9b1ceecc7695f2c85434999) + +commit ef67307966575b618614225d6206019781d71647 +Author: John Spray +Date: Fri Oct 13 11:31:22 2017 -0400 + + mgr: refactor PyOSDMap etc implementation + + Implement real python classes from the C side, + rather than exposing only module methods. + + Signed-off-by: John Spray + (cherry picked from commit 7e61f79f5d56b568103a067d9a1eb87af997ad61) + +commit d85f91cf3e2f747cc23218a52d9271dd6e27febb +Author: Sage Weil +Date: Tue Sep 26 18:35:29 2017 -0400 + + mgr/PyOSDMap: add CRUSH get_item_weight + + Signed-off-by: Sage Weil + (cherry picked from commit eacc9021459b31e42232bb958536d594d03b07b3) + +commit b1307e074b5fb708420686bf814bd4a7aa76f6d8 +Author: John Spray +Date: Mon Oct 16 06:33:48 2017 -0400 + + mgr: fix py_module_registry shutdown + + Was calling way too early, which did a + Py_Finalize before the modules had been + joined. + + Signed-off-by: John Spray + (cherry picked from commit 0d5b1d70e616d7d1c2d6360375770f5c4754649d) + +commit 642a26dfcd9bef06fceb119008f5c3078bbf10e7 +Author: John Spray +Date: Thu Oct 12 13:14:02 2017 -0400 + + mgr: fix thread naming + + Was passing a reference to a local stringstream into + Thread::create, not realising that it was taking a char* + reference instead of a copy. Result was garbage (or usually, + all threads having the name of the last one created) + + Signed-off-by: John Spray + (cherry picked from commit bb4e71ed2ebdee1ac5e4b3eee390060e19fea0d8) + +commit f9223ad56d8e01c1f6e8690a6a186d02eed8d96d +Author: John Spray +Date: Fri Oct 6 11:02:44 2017 -0400 + + mgr: cut down duplication between active+standby + + ...by using PyModuleRunner class from ActivePyModule too. + + Signed-off-by: John Spray + (cherry picked from commit df8797320bed7ad9f121477e35d7e3862efd89bd) + +commit 728e1e4e136aab5b4d185c738de8df7bcdce18ee +Author: John Spray +Date: Wed Oct 4 13:13:25 2017 -0400 + + mgr: fix os._exit overrides + + These would throw an exception when passed + a status code. + + Signed-off-by: John Spray + (cherry picked from commit e2442c1e20bf4ff12d58af500b34a18cc60d2de1) + +commit ca51a1b9d2cf0a3bf0fd7b69b833fa6696e61888 +Author: John Spray +Date: Thu Aug 24 14:07:37 2017 -0400 + + mon/MgrMonitor: reset services map on drop_active + + Signed-off-by: John Spray + (cherry picked from commit 7b629ae46599d79ca1929cfc6637b367c6bb9029) + +commit 8d4512b5636eb41b2cbb50a42d071580cff728c6 +Author: John Spray +Date: Tue Aug 22 14:47:10 2017 -0400 + + mgr/dashboard: implement standby mode + + Signed-off-by: John Spray + (cherry picked from commit 4f7007d1b0226af3f0cc33627ebf5051975657ac) + +commit 3953c0b3b7d0012507ac047085a3f863dc4929d3 +Author: John Spray +Date: Tue Aug 22 11:41:26 2017 -0400 + + pybind/mgr: add MgrStandbyModule + + Signed-off-by: John Spray + (cherry picked from commit 3048e85cd712b7da77cf6ac55dd6a689d00e47e5) + +commit e37df9459d6d9abdbe310153bd53d1c1c4384a6b +Author: John Spray +Date: Tue Aug 22 14:42:11 2017 -0400 + + mgr: standby modules come up and run now + + ...they still don't have access to any config though. + + Signed-off-by: John Spray + (cherry picked from commit c1471c7501948004096581ee415ab4a1fa2d9379) + +commit 977583eba266df834a7e27516cacb750bf7121ec +Author: John Spray +Date: Wed Aug 16 10:23:59 2017 -0400 + + mgr: enable running modules in standby mode + + Modules can implement a second, separate class + that has access to very little state about the + system and can't implement commands. + + They have just enough information to redirect + or forward incoming requests/traffic to the + active instance of the module on the active mgr. + + This enables module authors to create modules + that end users can access via any (running) mgr node + at any time, rather than having to first work out + which mgr node is active. + + Signed-off-by: John Spray + (cherry picked from commit 25566d1edca638bd15b3ba3326ee7e4d3e573cbb) + +commit 6a35a96ea838760945073b756ea7ae13e9a68ccf +Author: John Spray +Date: Tue Aug 15 06:53:18 2017 -0400 + + mgr: clean up python source file naming + + Signed-off-by: John Spray + (cherry picked from commit 70d45a6b93c92baf8d6a3b15765110a5384c5e60) + +commit d37bf83f419fd5b34f0cbc8ee5313425e5177bc8 +Author: John Spray +Date: Mon Aug 14 06:31:18 2017 -0400 + + mgr: refactor python module management + + Separate out the *loading* of modules from + the *running* of modules. + + This is a precursor to enabling modules to run + in standby mode. + + Signed-off-by: John Spray + (cherry picked from commit 9718896c8b844db2f3c07df1d344636da4605e61) + +commit b563555edb51b576fcbf94a3b92598a7300aaf09 +Author: John Spray +Date: Thu Jul 27 13:49:27 2017 -0400 + + pybind/mgr: use set_uri hook from dashboard+restful modules + + No more guessing the URL! + + Signed-off-by: John Spray + (cherry picked from commit 089e105dd7ec762572ac06794caa7f5543075001) + +commit 6dd4d0504de9806fcf7c398a8d66b956b45986d9 +Author: John Spray +Date: Thu Jul 27 11:50:23 2017 -0400 + + mgr: enable python modules to advertise their service URI + + Fixes: http://tracker.ceph.com/issues/17460 + Signed-off-by: John Spray + (cherry picked from commit a0183a63fa791954d14c57632e184858cefe893d) + +commit 778322d0913d4d9c70609a3c40d809f62a366020 +Author: John Spray +Date: Thu Jul 27 11:49:45 2017 -0400 + + mon/MgrMonitor: store services in map and expose with command + + Signed-off-by: John Spray + (cherry picked from commit c3c3e4e90ba6b09e29879b500f211d607ebabb53) + +commit a6b87a8e7c859607d4554833c5f9ad4cb2fea187 +Author: John Spray +Date: Thu Jul 27 11:46:40 2017 -0400 + + messages: `services` in MMgrBeacon + + Signed-off-by: John Spray + (cherry picked from commit 236841b3b62af92ce0c4852045327fcfbc5c1651) + +commit b44cf5f70d0286c9dcdcda8dbb9f014a3386813a +Author: John Spray +Date: Thu Jul 27 11:45:53 2017 -0400 + + mon/MgrMap: store list of services + + Signed-off-by: John Spray + (cherry picked from commit 3f703bd91f07b2fe43a16df0083d7b7c23803fd5) + +commit 5b677f3f02500b87757b9965d20151e345b8ba3f +Author: John Spray +Date: Thu Jul 27 06:31:01 2017 -0400 + + mgr: carry PyModules ref in MonCommandCompletion + + Signed-off-by: John Spray + (cherry picked from commit e938bf9b9d27e192765c805e5f532c9dd4808b21) + +commit b69a656ac76fe38431bcd66c626883e324be1ba4 +Author: John Spray +Date: Wed Jul 26 12:31:13 2017 -0400 + + pybind: update MgrModule for ceph_state->ceph_module + + & tidy up the places where ceph_state was getting + used outside of MgrModule. + + Signed-off-by: John Spray + (cherry picked from commit 62cb512e4740f1f78f516b4f2179c1123fae1b36) + +commit 8b5f302706e91c5c6a88e918a9d4baafd726c211 +Author: John Spray +Date: Wed Jul 26 07:44:00 2017 -0400 + + mgr: refactor python interface + + Expose a python class instead of a module, + so that we have a place to carry our reference + to our MgrPyModule* and to PyModules*, rather than + passing a handle for the former and using + a global pointer for the latter. + + Signed-off-by: John Spray + (cherry picked from commit 563878ba217491dd0a6fbd588cd56d09e3456c14) + +commit 35b4518c4a0c477f0190bfc006434093fe720c05 +Author: John Spray +Date: Thu Aug 3 06:22:35 2017 -0400 + + mgr/dashboard: remove blue highlight on scrubbing pg states + + This was kind of unnecessary, highlighting a completely normal + and healthy situation in a different colour. The blue was + also really hard to read against a grey background. + + Signed-off-by: John Spray + (cherry picked from commit 99fa1fdf4e1be57792f50907147781d12009b32b) + +commit 764e7011d0e69e08aa5f56a5c8c56b8875820b7e +Author: John Spray +Date: Thu Jul 27 11:42:16 2017 -0400 + + mgr/dashboard: clean up fs standby list when empty + + Signed-off-by: John Spray + (cherry picked from commit 5e64787c0ae0ac2a365c89bf89dfea425adc17d4) + +commit 1d1dce056664a40ea4dc9ebd1dc3826f0e449555 +Author: John Spray +Date: Wed Aug 30 13:56:39 2017 +0100 + + mgr: remove old-style config opt usage + + Signed-off-by: John Spray + (cherry picked from commit ec09a7abc515f802451bf7ef3d22ce8ee6c6c7b3) + +commit a0131144036a9ea64c6f8e3289562bf7db18c746 +Author: John Spray +Date: Wed Aug 30 12:12:40 2017 +0100 + + mon: remove old-style mgr config opt usage + + Signed-off-by: John Spray + (cherry picked from commit 6af4120d63324150ba19022c41fe4fa8a38cacbb) + +commit 526425c63b6a8f2d3f79fdd75c360d7c2ecfeec6 +Author: John Spray +Date: Wed Aug 30 11:48:25 2017 +0100 + + common: populate manager config option metadata + + Signed-off-by: John Spray + (cherry picked from commit eba4c3f2762ae40ba746091e32364c2d68e780d9) + +commit 1eee973b90418979c33ca42b0720045f2de670c3 +Author: Kefu Chai +Date: Thu Jul 13 14:49:48 2017 +0800 + + common,mds,mgr,mon,osd: store event only if it's added + + otherwise + * we will try to cancel it even it's never been added + * we will keep a dangling pointer around. which is, well, + scaring. + * static analyzer will yell at us: + Memory - illegal accesses (USE_AFTER_FREE) + + Signed-off-by: Kefu Chai + (cherry picked from commit 2449b3a5c365987746ada095fde30e3dc63ee0c7) + +commit 66aa481be983fdd60beddc7ce621dad3edbf5490 +Author: John Spray +Date: Tue Oct 3 08:16:10 2017 -0400 + + mgr: safety checks on pyThreadState usage + + Previously relied on the caller of Gil() to + pass new_thread=true if they would be + calling from a different thread. + + Enforce this with an assertion, by wrapping + PyThreadState in a SafeThreadState class + that remembers which POSIX thread + it's meant to be used in. + + Signed-off-by: John Spray + (cherry picked from commit 625e1b5cfb9b8a5843dfe75e97826f70a57d6ebe) + +commit 385a6a0e8e6a6dd315ab358dcea7f3c069d9ad4d +Author: John Spray +Date: Tue Aug 22 11:38:25 2017 -0400 + + mgr: move Gil implementation into .cc + + The inclusion of Python.h in the .h was awkward + for other files including Gil.h. + + Signed-off-by: John Spray + (cherry picked from commit 23c3a075ee1a27e1b57fcb452a4d6ce53080264e) + +commit 241d655e127c71e9d9012d9205005c97d61def8a +Author: John Spray +Date: Wed Jul 26 07:21:40 2017 -0400 + + mgr: reduce Gil verbosity at level 20 + + Even at 20, it's pretty heavy to be logging + every lock acquire/release. + + Signed-off-by: John Spray + (cherry picked from commit 987612a97529be7e67b89977c4a0cf47906a5ecb) + +commit 30db4f5a54eac28e546c43a2ce099aa89d179495 +Author: Jan Fajerski +Date: Wed Oct 11 12:28:19 2017 +0200 + + pybind/mgr/prometheus: no ports in osd_metadata + + Ports might change on a OSD restart and this would create a new metadata + metric for this osd. + + Signed-off-by: Jan Fajerski + (cherry picked from commit 48fec7db4b214fe8ef6a04f8cb53fb8a2fb9c2ca) + +commit 80fc65cafaad3bb5499a15edbd97ecf483b4ad82 +Author: Jan Fajerski +Date: Wed Oct 11 10:59:33 2017 +0200 + + pybind/mgr/prometheus: add osd_in/out metric; make osd_weight a metric + + Signed-off-by: Jan Fajerski + (cherry picked from commit e4c44c1d702ce242f2cb9a58ca7ce1c31fe0a498) + +commit db09ea1c75c80dc189042c59e09ebc1c1f8d1249 +Author: Jan Fajerski +Date: Wed Oct 11 20:07:19 2017 +0200 + + pybind/mgr_module: move PRIO_* and PERFCOUNTER_* to MgrModule class + + Signed-off-by: Jan Fajerski + (cherry picked from commit f69484debade5f4fa2bd3a0d1badc9291cc9d7b7) + +commit bbe8fbe9ca98c1b0c8b5b43c0296fd9cc4d09c77 +Author: John Spray +Date: Mon Oct 9 12:10:22 2017 +0100 + + qa/mgr: fix influx/prometheus test names + + This was a typo: they were swapped around. + + Signed-off-by: John Spray + (cherry picked from commit d96a59e74b6984b77c9f3b15f702e3bf45053590) + +commit be207ede6028e515a0a632e12330848c93d04a34 +Author: John Spray +Date: Thu Sep 28 10:50:53 2017 -0400 + + doc: flesh out prometheus docs + + Explain ceph_disk_occupation, importance + of instance labels and honor_labels, provide + example prometheus configuration yaml. + + Signed-off-by: John Spray + (cherry picked from commit 5227afed5f33fa9487e1bfa3fd8ce0d82eb4a20f) + +commit 8a9e1cb00110ed73f492f1f6cf23b3595756efc4 +Author: John Spray +Date: Thu Sep 28 10:10:14 2017 -0400 + + mgr/prometheus: add ceph_disk_occupation series + + This is the magic series that enables consumers to + easily get the drive stats that go with their + OSD stats. + + Fixes: http://tracker.ceph.com/issues/21594 + Signed-off-by: John Spray + (cherry picked from commit 284be75524f7125dc1409b9c05fe47b37484964e) + +commit 51d74e41223397abcde006a4ce53e693a2125852 +Author: Benjeman Meekhof +Date: Wed Oct 4 10:05:17 2017 -0400 + + mgr/influx: Correct name of daemon stat measurement to 'ceph_daemon_stats' + + Signed-off-by: Benjeman Meekhof + (cherry picked from commit f9014a1c75c6a3adf414b48a707fd444e65b3024) + +commit 2934dda9133a3a8876ab2701b11d4379440a5e41 +Author: Benjeman Meekhof +Date: Tue Oct 3 16:30:43 2017 -0400 + + mgr/influx: modify module database check to not require admin privileges + + - existing check tried to list all DB and fails even if DB exists if user is not admin level + - still tries to create database if not found and user has privs + + Signed-off-by: Benjeman Meekhof + (cherry picked from commit 06d7d37c7b9a8c3f4435eff04b6f4934be5e676f) + +commit 8c816b8e0fc1fd3fe227690287bcc6e6fce7c54d +Author: Jan Fajerski +Date: Tue Oct 10 08:40:31 2017 +0200 + + pybind/mgr/prometheus: fix metric type undef -> untyped + + Signed-off-by: Jan Fajerski + (cherry picked from commit 6306392492d103200b21ea91bce10a315d7c4e16) + +commit 2ebab2f19cdd44f4c568eb96388fc4296f0f1814 +Author: John Spray +Date: Mon Sep 25 11:14:57 2017 -0400 + + mgr: respect perf counter prio_adjust in MgrClient + + This awkwardly involves re-ordering some definitions + in perf_counters.h in order to refer to the prio + names defined in PerfCountersBuilder. + + Signed-off-by: John Spray + (cherry picked from commit 88163749b572ffd2bfe0850136fad5dbed2a9180) + +commit f8e9c37286d37d43bb768531f9cfbf70f2cb06b6 +Author: John Spray +Date: Mon Sep 18 09:06:13 2017 -0400 + + test: update perfcounters test for priority in output + + Signed-off-by: John Spray + (cherry picked from commit 0f531f7871a68db96b2fb66ffdf6fae6935e6107) + +commit f073fc4663db17ea44e9c36831d21df1597d193a +Author: John Spray +Date: Wed Sep 13 17:16:54 2017 -0400 + + qa: add mgr module selftest task + + The module self test commands give us a chance to + catch any other ceph changes that change something + that a module was relying on reading. + + Signed-off-by: John Spray + (cherry picked from commit 99352ceced9d0fe92ddad6b97b1393b41de75d50) + +commit 4c22f0f2669d343a8e7e83f0bc2a2dacbe194f34 +Author: John Spray +Date: Wed Sep 13 10:46:56 2017 -0400 + + mgr/prometheus: remove explicit counter list + + These have had their priorities bumped up to + USEFUL, so they'll appear in the default + get_all_counters output. + + Signed-off-by: John Spray + (cherry picked from commit ad5a31efbea8081f03dd73669e891d03857ef9cc) + +commit fec2b3abf9d9abdc12bfeedaf2b22e8b0cc8c9f4 +Author: John Spray +Date: Wed Sep 13 10:45:21 2017 -0400 + + mon: elevate priority of many perf counters + + We can be quite liberal here, because mons are + small in number. However, we don't want to expose + KV database counters at this database from OSDs, so + use the prio_adjust mechanism for that. + + Signed-off-by: John Spray + (cherry picked from commit ac8320f23dd4c00eb80da0d9837c29744e38bd57) + +commit 8b9a18d3a0c40cb0ef10e32018ea1b23ff53f51e +Author: John Spray +Date: Wed Sep 13 07:07:50 2017 -0400 + + osd: upgrade a bunch of perf counters to PRIO_USEFUL + + These are broadly the OSD-wide IO stats, which happen + to also be the ones that were named in the + prometheus plugin until I changed it to be + priority-based. + + Signed-off-by: John Spray + (cherry picked from commit a1cc4ba2993de62b60fd1e58a9704877a6da5fe4) + +commit 278188c76ebdbaaa36b3d185b1378abf7665f3fc +Author: John Spray +Date: Wed Sep 13 07:06:24 2017 -0400 + + common: PerfCountersBuilder helper for priorities + + Let the caller set a priority as the defaul, to enable them + to create a bunch at a given priority. This is just a + convenience. + + Signed-off-by: John Spray + (cherry picked from commit 66f61eeda6a2465b5fc0e40a4f1300913db065dc) + +commit 3dff5c0f39289e02e882bf86bf3e23e94ee33aa8 +Author: John Spray +Date: Tue Sep 12 10:27:12 2017 -0400 + + mgr/prometheus: add a self-test command + + Signed-off-by: John Spray + (cherry picked from commit 76e1ba52b1b95d417cdd04b8fe985acee648f0e9) + +commit a6bc96dfe93f7cbcefa8030a3b6830117516931e +Author: John Spray +Date: Tue Sep 12 08:05:28 2017 -0400 + + mgr/influx: remove file-based config + + ...and also trim down the configuration to what's really + needed. In general users don't need to pick and choose + metrics. We could add it back if there was a strong + motivation. + + Signed-off-by: John Spray + (cherry picked from commit 6776d4645afc49a4bfb4b62673c91384239037f4) + +commit bda26fe0e707ec9e609be613805340dadd17e8f3 +Author: John Spray +Date: Tue Sep 12 06:51:21 2017 -0400 + + mgr/influx: enable self-test without dependencies + + The idea of self-test commands is that they're self + contained and just exercise the module's calls + to the Ceph-side. + + Signed-off-by: John Spray + (cherry picked from commit 125294ab9d6e99aa4c960fea147a4e86624b869e) + +commit 9abd779d3321d1cda9c8677600e1e35af46109e7 +Author: John Spray +Date: Tue Sep 12 06:18:15 2017 -0400 + + mgr/influx: revise perf counter handling + + - Use new get_all_perf_counters path + - Consequently get counters for all daemons, not just OSD + - Tag stats with ceph_daemon rather than osd_id, as some + stats appear from more than one daemon type + - Remove summing of perf counters, external TSDB and/or queries + can do this. + - Remove mgr_id tag: this would change depending on which + mgr was active, which is certainly not desirable. + + Signed-off-by: John Spray + (cherry picked from commit 59b48e7660f4b757804974835027cd08a59843c2) + +commit 32f5f0fe515e6890e8aefad6ad8cdc2574ae8a34 +Author: John Spray +Date: Thu Aug 3 13:00:56 2017 -0400 + + mgr: omit module list in beacon logging + + This is useful in itself, but awkward when dealing + with logs generally, because it means that when you + grep on the name of a module, you get mostly beacon + messages rather than the log messages from the + module. + + Signed-off-by: John Spray + (cherry picked from commit 8d1277fa5c578ce0ea23a70cc58c6cf99921ee25) + +commit 10ab4f8b6821e2d6593bc09161c23a9163b93611 +Author: John Spray +Date: Tue Sep 12 05:42:23 2017 -0400 + + mgr: define perf counter constants in mgr_module + + So that modules can consume perf counter data + intelligently without having to hunt around + in C land for these constants and redefine them. + + Signed-off-by: John Spray + (cherry picked from commit 39ab28ed47e869e1466cb3a316a2cb11bdedd23a) + +commit 290d15ed912285803a40d02308b921b415c580a2 +Author: John Spray +Date: Mon Sep 11 09:12:25 2017 -0400 + + ceph.in: use PRIO_INTERESTING as daemonperf threshold + + Using PRIO_USEFUL as the threshold for what goes into + time series databases. I'm claiming that we have + more "useful" counters than fit on the screen, + so daemonperf's "a screen's worth" threshold + should be at the "interesting" level. + + Signed-off-by: John Spray + (cherry picked from commit 30a74ce343caec2a433cb532ba697fe7013ed05c) + +commit 5ee9e15858d5aa2a71a89c13dea9a5db72579726 +Author: John Spray +Date: Mon Sep 11 09:12:01 2017 -0400 + + mon: set some priorities on perf counters + + Signed-off-by: John Spray + (cherry picked from commit 29a71c35c39fbe1d4887e3f5ebb93232daab3487) + +commit 3bd478794e2626251eda91850974188da208b591 +Author: John Spray +Date: Mon Sep 4 05:39:11 2017 -0400 + + mgr/prometheus: tag stats by daemon name + + Using osd=0 or similar tags was problematic because + daemons of different types have some same-named + counters (e.g. MDS and OSD both have objecter + perf counters). + + Signed-off-by: John Spray + (cherry picked from commit eb524c272c89f8f99f22969b78caa016db7c671e) + +commit af92c011b20eaef073730be2f8d7112a0f7e99f8 +Author: John Spray +Date: Fri Sep 1 12:02:37 2017 -0400 + + mgr/prometheus: use new get_all_perf_counters interface + + Signed-off-by: John Spray + (cherry picked from commit 11137aa269271ad15dcf19a8d51ce6f4acb7a98e) + +commit 3ce4a950975188051b6a3e6cb366c2fb23f0e88f +Author: John Spray +Date: Fri Sep 1 12:01:35 2017 -0400 + + common: used fixed size int for perf counter prio + + ...to avoid any ambiguity in allowed range and + make clear how to encode it down the wire. + + Signed-off-by: John Spray + (cherry picked from commit ba08fc1008d17aa7a5f285ea2705705ce1a0bda0) + +commit d4a0c778747970c231a55baea32f59a1009af4dd +Author: John Spray +Date: Fri Sep 1 12:00:59 2017 -0400 + + mgr: transmit perf counter prio to the mgr + + Signed-off-by: John Spray + (cherry picked from commit f304f84cfbc22c1a54d152cc38227077bc564a7e) + +commit cdcac6e92ff57f1a4e5f5cac676049c6584452c4 +Author: John Spray +Date: Fri Sep 1 10:46:56 2017 -0400 + + common: always include priority in perf counter dump + + JSON output with inconsistent sets of members is + annoying to use on the receiving side. + + Signed-off-by: John Spray + (cherry picked from commit e631f1a72735ec618e2f3012ad7b9c5830d6c0eb) + +commit 802cd49bae2cce6c55eddd68feb617df893e1046 +Author: John Spray +Date: Tue Aug 29 11:55:28 2017 -0400 + + mgr: add get_all_perf_counters to MgrModule interface + + This is for use by modules that dump counters + in bulk, e.g. to a TSDB. + + Signed-off-by: John Spray + (cherry picked from commit 9a42d4255d9d968d6162b53b71db292d9d3de2e4) + +commit 85a93dcdddc4cd82c8935bfe123cb20f13f8928a +Author: Jan Fajerski +Date: Fri Aug 11 13:09:24 2017 +0200 + + pybind/mgr/prometheus: export cluster-wide pg stats, not per osd + + Signed-off-by: Jan Fajerski + (cherry picked from commit 13b1236b96d4563e0985cad40d3009b60cc475e7) + +commit 1d89c0809f64009d646b929fec675e1aaa6c2b1a +Author: Jan Fajerski +Date: Fri Aug 11 12:51:47 2017 +0200 + + pybind/mgr/prometheus: add more osd metadata + + Signed-off-by: Jan Fajerski + (cherry picked from commit e7704fa9cc35549dba526212c2830df589670416) + +commit 6a65408c1364669916643329494825aae394b200 +Author: Jan Fajerski +Date: Fri Aug 11 12:05:09 2017 +0200 + + pybind/mgr/prometheus: don't get perf counters that are not in schema + + Signed-off-by: Jan Fajerski + (cherry picked from commit d4ba07d04477ccae3a89dcdcafbb7e76149dfd1c) + +commit 62092680ad966eabcdc6b557e9858fe0562147ee +Author: Jan Fajerski +Date: Fri Aug 11 12:04:28 2017 +0200 + + pybind/mgr/prometheus: add mon and osd perf counters to export + + Signed-off-by: Jan Fajerski + (cherry picked from commit fa25d31263a26074225e2a00cb82448066b54069) + +commit 752c888533aaa9c7ae5781fafe4a6aa3302059fc +Author: Jan Fajerski +Date: Thu Aug 10 19:46:07 2017 +0200 + + pybind/mgr/prometheus: add index page, export metrics under metrics/ + + Signed-off-by: Jan Fajerski + (cherry picked from commit d99a506ed37c2d0991d68ecd34ac5fb213a3eea4) + +commit b279ae25d95f6c4b8290042fc9f33c4a6f7afac2 +Author: Jan Fajerski +Date: Thu Aug 10 18:19:42 2017 +0200 + + pybind/mgr/prometheus: export selected perf_counters + + Signed-off-by: Jan Fajerski + (cherry picked from commit f6e2e36ba72caf6347f3bb6a985925d0e35077a2) + +commit 4c092524929db048f6863acf1a9f12281bdc1646 +Author: Jan Fajerski +Date: Thu Aug 10 18:18:36 2017 +0200 + + pybind/mgr/prometheus: export osd and pool metadata + + Signed-off-by: Jan Fajerski + (cherry picked from commit 2bea3814699c27baa8f633b56a8800d697685898) + +commit e3dafc3dd682a10e2310efdac4615d834933e7d6 +Author: Jan Fajerski +Date: Thu Aug 10 18:15:56 2017 +0200 + + pybind/mgr/prometheus: actually emit reported pg counts + + Signed-off-by: Jan Fajerski + (cherry picked from commit c288624eed862559b2c86c5dfc85c837716739ab) + +commit 1ef5c88ef08ab9950ee8d7d4acda032b5a54f2f5 +Author: Jan Fajerski +Date: Thu Aug 10 18:09:17 2017 +0200 + + pybind/mgr/prometheus: no need to wait for notify event + + If stats or perf counters are not available they won't be emitted. + + Signed-off-by: Jan Fajerski + (cherry picked from commit ead0973d7dd12fe985390891c80f1bc15f7b9aec) + +commit d0ef1cd2570644451205e5306feca0da94462d1f +Author: Jan Fajerski +Date: Thu Aug 10 18:07:14 2017 +0200 + + pybind/mgr/prometheus: no need to convert perf_schema to ordered_dict + + Signed-off-by: Jan Fajerski + (cherry picked from commit 5e4b4b5ea2a217731691c1c391c252b08452798a) + +commit 7f191ff9dff33cac551ae5f64027d566b17b6d98 +Author: Jan Fajerski +Date: Wed Aug 9 17:22:49 2017 +0200 + + pybind/mgr/prometheus: add device_class label to osd metrics + + Signed-off-by: Jan Fajerski + (cherry picked from commit 76d1918724320b7d6b1120b57b3002bb24099001) + +commit b24263387e46ac537a8ac189f9e0e80699518e0b +Author: Jan Fajerski +Date: Wed Aug 9 16:19:38 2017 +0200 + + pybind/mgr/prometheus: add cluster wide metrics; no perf counters for now + + Signed-off-by: Jan Fajerski + (cherry picked from commit 49b3ff83cd231066d2a8f1809fadbdeb2c0c1f88) + +commit 5f0ef3a73a55a3f24997e415a848308afa0263ba +Author: Jan Fajerski +Date: Fri Aug 4 10:23:11 2017 +0200 + + pybind/mgr/prometheus: prefix metrics with 'ceph'; replace :: with _ + + Both follow prometheus best practices. While : is a legal metric + character, "Exposed metrics should not contain colons, these are for + users to use when aggregating." + + Signed-off-by: Jan Fajerski + (cherry picked from commit 177afcc7886aa3898d092ebd1e101697bc6539fd) + +commit a303218c85498ccf472d2f1b35fd391376fb0faf +Author: mhdo2 +Date: Mon Aug 21 12:13:01 2017 -0400 + + doc/mgr: add influx plugin docs + + Signed-off-by: My Do + (cherry picked from commit e345fe3c5780976a4e33488b3a75cd24bb2c96c5) + +commit de89603e54f550ffc4ff994026f32c5b7d5f6529 +Author: mhdo2 +Date: Tue Jul 18 18:33:55 2017 -0400 + + mgr/influx: added influx plugin + + Signed-off-by: My Do + (cherry picked from commit 68ae26c014d0471cc3f2f979dc8d822b2e50740f) + +commit 2fea47d9710ec1e388db044065bc42b8046dae22 +Author: John Spray +Date: Sat Sep 23 11:55:55 2017 -0400 + + mgr: store declared_types in MgrSession + + Because we don't (yet) properly prevent multiple sessions + from daemons reporting the same name (e.g. rgws), storing + it in the DaemonPerfCounters meant that one daemon's report + was referring to another daemon's set of reported types. + + This should always have been a property of the session. + + The behaviour will still be ugly when multiple daemons + are using the same name (stomping on each other's stats/statsu) + but it shouldn't crash. + + Fixes: http://tracker.ceph.com/issues/21197 + Signed-off-by: John Spray + (cherry picked from commit dc415f1ae09a308bd448614934a4c168eb9cf07b) + +commit 951d67fc9fee23f3f8f7d7df8fbfb8c29e60f82f +Author: John Spray +Date: Mon Sep 18 10:12:00 2017 +0100 + + mgr: make pgmap_ready atomic to avoid taking lock + + Signed-off-by: John Spray + (cherry picked from commit d20915741d985e080a723cd6563bc6f4a657276f) + +commit 946d1541bd2b14d6f8abbaa201c3521dd117f01b +Author: John Spray +Date: Mon Aug 28 07:29:36 2017 -0400 + + mgr/DaemonServer: handle MMgrReports in parallel + + The DaemonStateIndex locking is sufficient to make all + the report processing safe: holding DaemonServer::lock + through all ms_dispatch was unnecessarily serializing + dispatch. + + Signed-off-by: John Spray + (cherry picked from commit 64af9d3da0fceff9ad0ff668f60d272c46912f34) + +commit d70fae092db920e2db77c7c8b044cfb4d9687992 +Author: John Spray +Date: Thu Aug 24 12:53:24 2017 -0400 + + mgr: clean up DaemonStateIndex locking + + Various things here were dangerously operating + outside locks. + + Additionally switch to a RWLock because this lock + will be relatively read-hot when it's taken every time + a MMgrReport is handled, to look up the DaemonState + for the sender. + + Fixes: http://tracker.ceph.com/issues/21158 + Signed-off-by: John Spray + (cherry picked from commit 806f10847cefe5c7a78fc319b1b130d372197dd3) + +commit b86cc9a2e49a4d1b53e83f47876a42b42819efcb +Author: John Spray +Date: Thu Aug 31 12:13:23 2017 -0400 + + mgr: runtime adjustment of perf counter threshold + + ceph-mgr has missed out on the `config set` command + that the other daemons got recently: add it here + and hook it all up to the stats period and threshold + settings. + + Signed-off-by: John Spray + (cherry picked from commit 057b73d641decb9403aba50caae9d139f3a34dd4) + +commit c278580d207f0b99daed48afdc689ae77fe73e9b +Author: John Spray +Date: Mon Jul 31 09:24:09 2017 -0400 + + mgr: apply a threshold to perf counter prios + + ...so that we can control the level of load + we're putting on ceph-mgr with perf counters. Don't collect + anything below PRIO_USEFUL by default. + + Signed-off-by: John Spray + (cherry picked from commit bdc775fdd8acdad5c58ff3065a21396f80ce5db4) + +commit 11720b96ec8f9ef683710dffa3da4cda2ecf096d +Author: Sage Weil +Date: Tue Aug 8 16:36:23 2017 -0400 + + pybind/mgr/balancer: make auto mode work + + (with upmap at least) + + Signed-off-by: Sage Weil + (cherry picked from commit ef1a3be05671ad31907cf8c4beb64a766359bc66) + +commit b6a000f0efef3cd6a143b82ae33cacf660cd8e4c +Author: Spandan Kumar Sahu +Date: Mon Aug 7 04:01:57 2017 +0530 + + src/pybind/mgr/balancer/module.py: improve scoring method + + * score lies in [0, 1), 0 being perfect distribution + * use shifted and scaled cdf of normal distribution + to prioritize highly over-weighted device. + * consider only over-weighted devices to calculate score + + Signed-off-by: Spandan Kumar Sahu + (cherry picked from commit c09308c49ca087fb8c5e7d4261b0234190f863d9) + +commit 6090ae6c224904516736c5f1a4ae5bcb6d7e6caa +Author: Sage Weil +Date: Fri Aug 4 17:59:20 2017 -0400 + + pybind/mgr/balancer: make 'crush-compat' sort of work + + Signed-off-by: Sage Weil + (cherry picked from commit 7a00e02acd1b2ff21dac829de30f80fd69eae602) + +commit add3cd36db7c02d52c2fa429c034c114cac526d8 +Author: Sage Weil +Date: Thu Aug 3 16:23:08 2017 -0400 + + pybind/mgr/balancer: rough framework + + Signed-off-by: Sage Weil + (cherry picked from commit d5e5c68c374e7d5514f89aac2d3df6008d103a76) + +commit 0c73e433ab6583fca6eea7678c23b469d643ae04 +Author: Sage Weil +Date: Thu Jul 27 23:33:06 2017 -0400 + + mgr/PyOSDMap: OSDMap.map_pool_pgs_up, CRUSHMap.get_item_name + + Signed-off-by: Sage Weil + (cherry picked from commit a928bf62316c32f37dd1791192fd9a2ddaef0d33) + +commit 423947563c8e88f89bef9d71b3116c3302bd40c9 +Author: Sage Weil +Date: Sun Jul 23 00:10:56 2017 -0400 + + mgr/PyOSDMap: get_crush, find_takes, get_take_weight_osd_map + + These let us identify distinct CRUSH hierarchies that rules distribute + data over, and create relative weight maps for the OSDs they map to. + + Signed-off-by: Sage Weil + (cherry picked from commit 3b8a276c437cfd599c55a935d141375afda676ff) + +commit 073f23734c8058e3efcb440df89adab818510695 +Author: Sage Weil +Date: Thu Jul 27 10:07:31 2017 -0400 + + crush/CrushWrapper: rule_has_take + + Signed-off-by: Sage Weil + (cherry picked from commit ef140de639078b40c05971fb219f7b8c12d83228) + +commit df426b5c24e12b1156bccdd8948cbed5977c348a +Author: Sage Weil +Date: Sat Jul 22 23:50:27 2017 -0400 + + crush/CrushWrapper: refactor get_rule_weight_osd_map to work with roots too + + Allow us to specify a root node in the hierarchy instead of a rule. + This way we can use it in conjunction with find_takes(). + + Signed-off-by: Sage Weil + (cherry picked from commit 69454e0570274ff7f252e7f081965dcc9bb04459) + +commit 89cac2d5176300838c23a28814257d0f395e39c9 +Author: Sage Weil +Date: Sat Jul 22 23:17:18 2017 -0400 + + pybind/mgr/balancer: do upmap by pool, in random order + + Signed-off-by: Sage Weil + (cherry picked from commit 028a66d43244c15a77e71f3d3e4f41773837ab02) + +commit bfdc955ab6ab424b6a46dc1b0022fb3dc13ce157 +Author: Sage Weil +Date: Tue Jul 11 16:27:08 2017 -0400 + + pybind/mgr/balancer: add balancer module + + - wake up every minute + - back off when unknown, inactive, degraded + - throttle against misplaced ratio + - apply some optimization step + - initially implement 'upmap' only + + Signed-off-by: Sage Weil + (cherry picked from commit 0d9685c50f79fbb53dbc8bd98c95900ef6e902b8) + +commit c57a55e8d426e6f87d4649a799d9ddee665618e0 +Author: Sage Weil +Date: Tue Jul 11 16:26:16 2017 -0400 + + pybind/mgr/mgr_module: add default arg to get_config + + Signed-off-by: Sage Weil + (cherry picked from commit 39c42ddb9339c1950a3a474e8083db8b24e775a6) + +commit 4d686ee875d5bc0125426d348e044988aaca9f91 +Author: Sage Weil +Date: Mon Jul 10 23:23:19 2017 -0400 + + mgr: add trivial OSDMap wrapper class + + Signed-off-by: Sage Weil + (cherry picked from commit 2ef005196ba2eb49c34c32def624938c7a8beb03) + +commit 1b721632aa8271d74b319714db0a9fedacb2629b +Author: Sage Weil +Date: Thu Jul 27 10:06:45 2017 -0400 + + mgr/PyModules: add 'pg_dump' get + + Signed-off-by: Sage Weil + (cherry picked from commit bfb9286f4212947183c46543d609b664ea13b489) + +commit 68d411cf7b934c724f1f8ebeaa7148daebd79599 +Author: Sage Weil +Date: Tue Jul 11 16:25:42 2017 -0400 + + mgr/PyModules: add 'pg_status' dump + + This is summary info, same as what's in 'ceph status'. + + Signed-off-by: Sage Weil + (cherry picked from commit 85b5b80906d00e098d4b1af1354c60a357022dd2) + +commit 35de92b259f50b52e51ab1daf57041553170406d +Author: David Zafman +Date: Wed Nov 1 09:53:34 2017 -0700 + + osd: build_past_intervals_parallel: Ignore new partially created PGs + + Fixes: http://tracker.ceph.com/issues/21833 + + Signed-off-by: David Zafman + +commit 172e6c1e0c5bb86db7cc0017acaa674aa893e3a0 +Merge: 2988a39abe 966683fde6 +Author: Casey Bodley +Date: Wed Nov 1 16:28:25 2017 -0400 + + Merge pull request #18674 from ceph/wip-rgw-s3-branch + + qa/tests: use ceph-luminous branch for s3tests + + Reviewed-by: Casey Bodley + +commit 966683fde600837eb9a0f82ca6fd00f52e721809 +Author: Vasu Kulkarni +Date: Wed Nov 1 10:32:07 2017 -0700 + + qa: use ceph-luminous branch for s3tests + + Signed-off-by: Vasu Kulkarni + +commit 2988a39abedc6a092b8b3c2f0b33a3559a55461b +Merge: 4dc0a0e38a 8f87fa2d3a +Author: John Spray +Date: Wed Nov 1 15:24:55 2017 +0100 + + Merge pull request #18412 from kmroz/wip-21659-luminous + + luminous: mgr: fix crashable DaemonStateIndex::get calls + + Reviewed-by: John Spray + +commit 4dc0a0e38a3f1a988c180d47970102df4b326b9e +Merge: 273e035dbe 72c8583107 +Author: John Spray +Date: Wed Nov 1 12:33:45 2017 +0100 + + Merge pull request #18113 from jcsp/wip-prometheus-port-backport + + luminous: ceph-mgr: can not change prometheus port for mgr + + Reviewed-by: Kefu Chai + Reviewed-by: John Spray + +commit 273e035dbe158f162c2ee559744c456c942f1737 +Merge: a7f519913d f463cd84ae +Author: Yuri Weinstein +Date: Tue Oct 31 14:45:27 2017 -0700 + + Merge pull request #18655 from ceph/wip-yuriw-bp-PR18634-luminous + + qa: add "restful" to ceph_mgr_modules in ceph-ansible suite + +commit f463cd84ae1fb38817078967a4a40ba4b600f0e5 +Author: Kefu Chai +Date: Tue Oct 31 11:21:58 2017 +0800 + + qa: add "restful" to ceph_mgr_modules in ceph-ansible suite + + backport of https://github.com/ceph/ceph/pull/18634 + + Signed-off-by: Kefu Chai + (cherry picked from commit caf9ee5c60d999951979d0b67afda8d56e1cd91d) + Signed-off-by: Yuri Weinstein + +commit a7f519913df3aba83aa3ead9eee6b94aa8f90ffd +Merge: f2749114c5 b84803d609 +Author: Karol Mroz +Date: Tue Oct 31 10:26:42 2017 -0700 + + Merge pull request #17889 from smithfarm/wip-21372-luminous + + luminous: core: Improve OSD startup time by only scanning for omap corruption once + + Reviewed-by: David Zafman + +commit f2749114c596d4016eb14e4777cb93a11b14b705 +Merge: 528c3b6d32 1236e0f2e9 +Author: Karol Mroz +Date: Tue Oct 31 10:18:07 2017 -0700 + + Merge pull request #18004 from linuxbox2/luminous-rgwf-wr + + luminous: rgw_file: fix write error when the write offset overlaps. + + Reviewed-by: Casey Bodley + +commit 528c3b6d32f9c3319fd429de37bbca578538ed7c +Merge: ec2d294684 d800747fa1 +Author: Karol Mroz +Date: Tue Oct 31 09:03:48 2017 -0700 + + Merge pull request #18438 from theanalyst/wip-21696-luminous + + luminous: fix a bug about inconsistent unit of comparison + + Reviewed-by: Casey Bodley + +commit 3c3609b7e3ce7339a845f9191a709d12025fbbb2 +Author: Boris Ranto +Date: Thu Sep 21 17:24:07 2017 +0200 + + selinux: Allow getattr on lnk sysfs files + + This showed up during downstream testing for luminous. We are doing + getattr on the sysfs lnk files and the current policy does not allow + this. + + Fixes: http://tracker.ceph.com/issues/21523 + Signed-off-by: Boris Ranto + (cherry picked from commit 394c26adb97cd150233fe8760355f486d03624a4) + +commit ec2d2946840fac65d9588f225adaa6f51c32f6b0 +Merge: 90017e7d93 def3d55eb7 +Author: Kefu Chai +Date: Tue Oct 31 13:04:00 2017 +0800 + + Merge pull request #18410 from kmroz/wip-21732-luminous + + luminous: qa/suites/rest/basic/tasks/rest_test: whitelisting + + Reviewed-by: xie xingguo + Reviewed-by: Kefu Chai + +commit 90017e7d933b52794d32fef69d97d5ba529d3936 +Merge: 4f024c6831 c603faaf17 +Author: Yuri Weinstein +Date: Mon Oct 30 20:23:39 2017 -0700 + + Merge pull request #18629 from ceph/wip-yuriw-21978-luminous + + qa/suites/upgrade/jewel-x: Changed typo ('hammer' to 'jewel') + +commit c603faaf171fd3074ffe5e1342e8b96cd261e097 +Author: Yuri Weinstein +Date: Mon Oct 30 14:52:52 2017 -0700 + + Changed typo ('hammer' to 'jewel') + + Fixes http://tracker.ceph.com/issues/21978 + Signed-off-by: Yuri Weinstein + +commit 555746a09e8bb7bcf99da91f9d00dfab9791d80c +Author: Patrick Donnelly +Date: Fri Oct 27 13:20:07 2017 -0700 + + MDSMonitor: wait for readable OSDMap before sanitizing + + Fixes: http://tracker.ceph.com/issues/21945 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit ca52f3bd93e6c743aa05171108527d877807b426) + +commit be13cdc0d4e54ce23c6ecf658100ddd860b1b96f +Author: Patrick Donnelly +Date: Tue Oct 3 12:25:12 2017 -0700 + + mds: clean up non-existent data pools in MDSMap + + Older versions of Ceph weren't strict about preventing pool deletion when the + MDSMap referred to to-be-deleted pool. If we are dealing with a cluster + upgrade, we should try to gracefully handle that by cleaning out data pools + that have been removed. + + Reproduced this by allowing CephFS pools to be deleted: + + diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc + index 85c47c13da6..694b240cb9f 100644 + --- a/src/mon/OSDMonitor.cc + +++ b/src/mon/OSDMonitor.cc + @@ -10962,7 +10962,7 @@ int OSDMonitor::_check_remove_pool(int64_t pool_id, const pg_pool_t& pool, + FSMap const &pending_fsmap = mon->mdsmon()->get_pending(); + if (pending_fsmap.pool_in_use(pool_id)) { + *ss << "pool '" << poolstr << "' is in use by CephFS"; + - return -EBUSY; + + //return -EBUSY; + } + + if (pool.tier_of >= 0) { + + pdonnell@icewind ~/ceph/build$ bin/ceph osd pool create derp 4 4 + pool 'derp' created + pdonnell@icewind ~/ceph/build$ bin/ceph fs add_data_pool cephfs_a derp + added data pool 3 to fsmap + pdonnell@icewind ~/ceph/build$ bin/ceph osd pool rm derp derp --yes-i-really-really-mean-it + pool 'derp' is in use by CephFSpool 'derp' removed + pdonnell@icewind ~/ceph/build$ bin/ceph fs ls + ... + 2017-10-03 12:50:48.409561 7f9e2e05b700 -1 /home/pdonnell/ceph/src/osd/OSDMap.h: In function 'const string& OSDMap::get_pool_name(int64_t) const' thread 7f9e2e05b700 time 2017-10-03 12:50:48.407897 + /home/pdonnell/ceph/src/osd/OSDMap.h: 1184: FAILED assert(i != pool_name.end()) + + ceph version 12.1.2-2624-g37884a41964 (37884a419640b446fffc1fa4d6074c97339fdd96) mimic (dev) + 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0xf5) [0x564ebb5420f5] + 2: (()+0x41dade) [0x564ebb3cbade] + 3: (MDSMonitor::preprocess_command(boost::intrusive_ptr)+0x1fb9) [0x564ebb4cd119] + + Note when testing this fix, use something like this after removing the data pool: + + pdonnell@icewind ~/ceph/build$ bin/ceph fs set cephfs_a max_mds 2 + + Setting max_mds will cause a new FSMap to be created where MDSMap::sanitize is + called; this is simulating the initial load+sanitize of a Hammer legacy MDSMap + by the mons. + + Fixes: http://tracker.ceph.com/issues/21568 + + Signed-off-by: Patrick Donnelly + + (cherry picked from commit 7adf0fb819cc98702cd97214192770472eab5d27) + +commit 23fa3b726368f036b31e53a0bec8ad4bc654d993 +Author: Patrick Donnelly +Date: Tue Oct 3 12:23:03 2017 -0700 + + mds: reduce variable scope + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 37884a419640b446fffc1fa4d6074c97339fdd96) + +commit 4f024c68319a79bef9d937d7f2363a5b69575773 +Merge: 6166148078 5a0016131b +Author: Alfredo Deza +Date: Mon Oct 30 14:05:00 2017 -0400 + + Merge pull request #18627 from ceph/backport-18513 + + ceph-volume lvm zap backport + + Reviewed-by: Alfredo Deza + +commit 5a0016131b1ec900255057876c98fc70e00542f0 +Author: Andrew Schoen +Date: Fri Oct 27 11:29:50 2017 -0500 + + ceph-volume: set journal_uuid and journal_device when using a partition + + This correctly sets the tags when a partition is used for a filestore + journal. + + Signed-off-by: Andrew Schoen + (cherry picked from commit 1a8561d38dd7363dc920ae82ec1343b2b75a1ca2) + +commit 05522e75f8d98658b5440d3c2f70e93ce65c65ce +Author: Andrew Schoen +Date: Tue Oct 24 10:13:40 2017 -0500 + + docs for ceph-volume lvm zap + + Signed-off-by: Andrew Schoen + (cherry picked from commit 3e93a31deda96ed6fb23fa19ce3e273de05f7d88) + +commit cb1e81447f5c0c4eb8c0fd9fb11d0ceae3e26199 +Author: Andrew Schoen +Date: Mon Oct 23 09:51:43 2017 -0500 + + ceph-volume: add tests for ceph-volume lvm zap + + Signed-off-by: Andrew Schoen + (cherry picked from commit 3d5e391693fc64747a4774287c968f842294eaa6) + +commit 33927c10e78842bb4c4ce4c0e4051ccceb8bb9e8 +Author: Andrew Schoen +Date: Mon Oct 23 09:44:07 2017 -0500 + + ceph-volume: print success message if zap succeeds + + Signed-off-by: Andrew Schoen + (cherry picked from commit 6d70762dee0cd9047c291cf9869f666a375e956b) + +commit d8381ab509d9f60f6fe62c5692a9374b3187d5c9 +Author: Andrew Schoen +Date: Fri Oct 20 09:58:48 2017 -0500 + + ceph-volume: terminal.write only takes one argument + + Signed-off-by: Andrew Schoen + (cherry picked from commit a5454eba241abd8cc1b1a660b12a1aec7c3c16e0) + +commit 6f2bd88278f2c7dc4cfd156969f98d7cc8c3e763 +Author: Andrew Schoen +Date: Thu Oct 19 16:29:39 2017 -0500 + + ceph-volume: the metadata field for the lv path is lv_path not path + + Signed-off-by: Andrew Schoen + (cherry picked from commit e3a9113e7025f1e3a3130ec1e2d565f37bf3d2dc) + +commit 1dfe7e9854b00850b86168049821447d33298fff +Author: Andrew Schoen +Date: Thu Oct 19 14:59:26 2017 -0500 + + ceph-volume: update help text for ceph-volume lvm zap + + Signed-off-by: Andrew Schoen + (cherry picked from commit cbc38c4e4a7dcc24b31bcfa6af73eb8cf04f56ad) + +commit c5206435a9bae9d93e6cd9a3c2b98127871ad94e +Author: Andrew Schoen +Date: Thu Oct 19 14:55:44 2017 -0500 + + ceph-volume: remove lvm metadata when zapping an lv + + Signed-off-by: Andrew Schoen + (cherry picked from commit 5f57fc87205c2d35da9a1f28c72e233ffb3fe4d9) + +commit eb53ef67b4e3bf5afb6e414fd42caab67c4cfdf2 +Author: Andrew Schoen +Date: Thu Oct 19 14:55:02 2017 -0500 + + ceph-volume: adds Volume.clear_tags + + Will remove all tags for the current lv + + Signed-off-by: Andrew Schoen + (cherry picked from commit 3c9401f1618f7fcbea827fe7279e8dfde617d957) + +commit 4ee13e0587c5e152fdac18004bc4336f8b90e4af +Author: Andrew Schoen +Date: Thu Oct 19 12:01:57 2017 -0500 + + ceph-volume: zap should leave lvs and partitions intact + + This will remove filesystems and wipe data from any lv or partition + given to 'ceph-volume lvm zap' but still leave it intact for further + use. + + Signed-off-by: Andrew Schoen + (cherry picked from commit caba9fb80b358222192f736bd1b0ab31dca25cec) + +commit 8c3ab3459abfebac20bb4ce3ddecf1a7a58cf401 +Author: Andrew Schoen +Date: Thu Oct 19 11:44:11 2017 -0500 + + ceph-volume: adds utilites to wipe the fs and clear data when zapping + + These should eventually move to a disk api. + + Signed-off-by: Andrew Schoen + (cherry picked from commit 2f64d4a0abd41afbcb9eba6a237642502d9a9135) + +commit 8a0e7fad57e41e10d51e0e167b671668ee1aa286 +Author: Andrew Schoen +Date: Thu Oct 19 10:35:51 2017 -0500 + + ceph-volume: adds tests for api.lvm.remove_lv + + Signed-off-by: Andrew Schoen + (cherry picked from commit 937b57438147681c2c6e32c6db38d8bea68d4731) + +commit c6dd47ab6d1ec6784ec3cef8f65139baeaf4fa3a +Author: Andrew Schoen +Date: Thu Oct 19 10:35:10 2017 -0500 + + ceph-volume: api.lvm.remove_lv should return True when successful + + Signed-off-by: Andrew Schoen + (cherry picked from commit 7f055aa6deb3904cf0334e214c13a26098b08aa8) + +commit 71ae0b8cabc0a696e6762d7f377f9f4b28d2a963 +Author: Andrew Schoen +Date: Wed Oct 18 10:19:25 2017 -0500 + + ceph-volume: zap logical volumes + + Signed-off-by: Andrew Schoen + (cherry picked from commit 1d083a2191315ee94301c2f5f102a0906dd05fa8) + +commit 7110922c42ee30fa25dc9dacbfc8d0f9ae2f2a79 +Author: Andrew Schoen +Date: Wed Oct 18 10:19:00 2017 -0500 + + ceph-volume: adds a remove_lv command to the lvm api + + Signed-off-by: Andrew Schoen + (cherry picked from commit cf98b6971ced0caa29ff4f7ac346df652177fa29) + +commit 731610f18b9e4109ce72a4467af209144e4a127d +Author: Andrew Schoen +Date: Tue Oct 17 14:15:18 2017 -0500 + + ceph-volume: stubs out the ceph-volume lvm zap command + + Signed-off-by: Andrew Schoen + (cherry picked from commit 2e64b797ef6ae91623ffba8ae28d3f8ccc7d7b93) + +commit c2237c7c6dbcd5420d8ed87c6f2648c3f4e6edae +Author: Jason Dillaman +Date: Fri Oct 27 09:58:20 2017 -0400 + + qa/suites/rbd: run cls tests for all dependencies + + Signed-off-by: Jason Dillaman + (cherry picked from commit 27613a63d1f1ee6fa7327cd1c63b875c0e5247f8) + +commit 6b75efab390b3019e404f007090e9031328e1301 +Author: Jason Dillaman +Date: Fri Oct 27 09:57:43 2017 -0400 + + cls/journal: fixed possible infinite loop in expire_tags + + Fixes: http://tracker.ceph.com/issues/21956 + Signed-off-by: Jason Dillaman + (cherry picked from commit 9e66dca49591e50b9cab5df311f1dc217eb58fcc) + +commit 796e33647022de1fd831b31045242fb8e9d0e4d2 +Author: Kefu Chai +Date: Wed Aug 30 18:46:49 2017 +0800 + + ceph-disk: unlock all partitions when activate + + should unlock all dmcrypted partitions when activating a device. + + Signed-off-by: Kefu Chai + (cherry picked from commit ba2aa0cee9e077d8439ba31228b41beb2d827a04) + +commit 3e9aad1a116e02bb126010f310ca2267177b5162 +Author: Felix Winterhalter +Date: Mon Jul 17 02:04:39 2017 +0200 + + ceph-disk activate unlocks bluestore data partition + + Signed-off-by: Felix Winterhalter + (cherry picked from commit 1287caf2dbb5ef6e5f243fe1d23633946aef26f9) + +commit 6b6eceee027e571d8d3da4af144391f8da85b53e +Author: Yao Zongyou +Date: Sat Oct 28 18:23:30 2017 +0800 + + ceph-bluestore-tool: the link target should not ending with new line + + Signed-off-by: Yao Zongyou + (cherry picked from commit 39c68d128cf29f8e0a617009d16c5edf471ead47) + +commit cc84812507607d0a91233a513088094533a2d6a7 +Author: Yao Zongyou +Date: Sat Oct 28 18:22:27 2017 +0800 + + ceph-bluestore-tool: the right action is prime-osd-dir not prime-osd-dev + + Signed-off-by: Yao Zongyou + (cherry picked from commit d418a04e9fed6bf91cc9acc5ac777eadf664c974) + +commit 9d8e5d763b173247f95f0769fd52372a8a7a5371 +Author: John Spray +Date: Mon Sep 25 10:44:28 2017 +0100 + + mon: implement MDSMonitor::get_store_prefixes + + Fixes: http://tracker.ceph.com/issues/21534 + Signed-off-by: John Spray + (cherry picked from commit a3c317b406c69b9d6a2d7df94806f4c308e6ee6a) + +commit 338af1688147babb4e92523972175fe09ebb34b6 +Author: huanwen ren +Date: Mon Sep 25 15:01:02 2017 +0800 + + mon/mgr: sync mgr_command_descs table and mgr_metadata table + + sync mgr_command_descs table and mgr_metadata table to new mons + + Fixes: http://tracker.ceph.com/issues/21527 + + Signed-off-by: huanwen ren + (cherry picked from commit 13f6aa3aaa6de0aeccec67d7c6f3effe43dcae49) + + Conflict: in master PaxosService::get_store_prefixes(..) is marked const + while in luminous, the cleanup commit which added the `const` is not + backported yet, so drop the `const` in the backported commit. + +commit de07d2954afb012e51d2eaca12c1763e29a19eca +Author: John Spray +Date: Mon Sep 25 10:37:18 2017 +0100 + + mon/OSDMonitor: tidy prefix definitions + + We should define them in one place to make it easy + when updating get_store_prefixes. + + Fixes: http://tracker.ceph.com/issues/21534 + Signed-off-by: John Spray + (cherry picked from commit 889ac5166ad8fd30678325ddc2da59f45db53f06) + +commit 981e552d72c151b6bf2c9bb64b969f9446ef4789 +Author: huanwen ren +Date: Mon Sep 25 14:55:55 2017 +0800 + + mon/osd_metadata: sync osd_metadata table + + sync osd_metadata table to new mons when add new mons + + Signed-off-by: huanwen ren + (cherry picked from commit 755ec735107c75156ae4935f7255bbfe5dc384d9) + +commit 3f0ad5f453a259cc53f50b1a9515e8a720da4a1d +Author: huanwen ren +Date: Mon Sep 25 14:55:55 2017 +0800 + + mon/osd_metadata: sync osd_metadata table + + sync osd_metadata table to new mons when add new mons + + Signed-off-by: huanwen ren + (cherry picked from commit 6c20433bfb049ac6c69f6f7a979006e8b9ea0e29) + +commit 61661480780e555fc501aec7c32163596e1e18d3 +Merge: c0ec364ad6 410434b3d2 +Author: Patrick Donnelly +Date: Sun Oct 29 11:06:28 2017 -0700 + + Merge PR #18385 into luminous + + * refs/pull/18385/head: + mds: fix race in PurgeQueue::wait_for_recovery() + mds: open purge queue when transitioning out of standby replay + mds: always re-probe mds log when standby replay done + + Reviewed-by: John Spray + +commit c0ec364ad6f54da7efbbb6b84ad34ea9782e3df2 +Merge: 5ee57e1b42 695d7ad511 +Author: Patrick Donnelly +Date: Sun Oct 29 11:06:24 2017 -0700 + + Merge PR #18316 into luminous + + * refs/pull/18316/head: + mds: prevent trim count from underflowing + + Reviewed-by: Zheng Yan + +commit 5ee57e1b42d93fc0dc77b1221c362753684b280e +Merge: 84f4bf40da b99acfd601 +Author: Patrick Donnelly +Date: Sun Oct 29 11:06:20 2017 -0700 + + Merge PR #18300 into luminous + + * refs/pull/18300/head: + mds: keep CInode::STATE_QUEUEDEXPORTPIN state when exporting inode + + Reviewed-by: Zheng Yan + Reviewed-by: Amit Kumar + +commit 84f4bf40dade5ef55eba139d63187959b98e84e5 +Merge: 2638d5039e 460268b5e9 +Author: Patrick Donnelly +Date: Sun Oct 29 11:06:16 2017 -0700 + + Merge PR #17729 into luminous + + * refs/pull/17729/head: + ceph.in: validate service glob + + Reviewed-by: Patrick Donnelly + Reviewed-by: Amit Kumar + +commit 2638d5039e615035563338cd428b44fb23d879ff +Merge: f6f88c2a9b 2973b6d418 +Author: Patrick Donnelly +Date: Sun Oct 29 11:00:18 2017 -0700 + + Merge PR #18299 into luminous + + * refs/pull/18299/head: + mds: update client metadata for already open session + + Reviewed-by: Zheng Yan + Reviewed-by: Amit Kumar + +commit f6f88c2a9b40cf84658319a07a2bc26858763093 +Merge: 388901f091 f353a1e805 +Author: Patrick Donnelly +Date: Sun Oct 29 11:00:14 2017 -0700 + + Merge PR #18298 into luminous + + * refs/pull/18298/head: + osdc/ObjectCacher: limit memory usage of BufferHead + + Reviewed-by: Zheng Yan + +commit 388901f0911b2d45f5b5ca2d653da5c605d99e2d +Merge: 45cfeae6eb c5ccbf1108 +Author: Patrick Donnelly +Date: Sun Oct 29 11:00:10 2017 -0700 + + Merge PR #18085 into luminous + + * refs/pull/18085/head: + ceph_volume_client: fix setting caps for IDs + + Reviewed-by: Ramana Raja + +commit 45cfeae6ebd5a0910c03ff323ecdd5740e569b41 +Merge: ecd5b0066f 1021fe235c +Author: Patrick Donnelly +Date: Sun Oct 29 11:00:06 2017 -0700 + + Merge PR #18030 into luminous + + * refs/pull/18030/head: + qa: relax cap expected value check + mds: improve cap min/max ratio descriptions + mds: fix whitespace + mds: cap client recall to min caps per client + mds: fix conf types + mds: fix whitespace + doc/cephfs: add client min cache and max cache ratio describe + mds: adding tunable features for caps_per_client + + Reviewed-by: Zheng Yan + +commit ecd5b0066fc091f34a166989b2e68e165c390dd0 +Merge: 04acd559db d5e583490d +Author: Patrick Donnelly +Date: Sun Oct 29 10:55:32 2017 -0700 + + Merge PR #17921 into luminous + + * refs/pull/17921/head: + ceph_volume_client: perform snapshot operations in + + Reviewed-by: Amit Kumar + Reviewed-by: Ramana Raja + +commit add8c3db195acfda75a1628196e839b0147e7c3f +Author: Matt Benjamin +Date: Thu Oct 26 18:28:10 2017 -0400 + + rgw_file: set s->obj_size from bytes_written + + Required to store correct final accounted_size of objects in + RGWWriteWriteRequest::write_finish. + + Fixes: http://tracker.ceph.com/issues/21940 + + Signed-off-by: Matt Benjamin + (cherry picked from commit b1f528d35aeccabb4e5818aec6feb8e53e562500) + +commit 8cbb2eb937cae4e136ef77bc93e6d5346e21c8da +Author: Sage Weil +Date: Mon Oct 9 08:15:21 2017 -0500 + + qa/cephfs: test ec data pool + + Signed-off-by: Sage Weil + (cherry picked from commit d0732fc96fbc6849dd51b391d85f765c74cfb593) + +commit 04acd559db55c6e8040a2ba65a850e72a04ad2ab +Merge: d294493c42 8a87d43db2 +Author: Andrew Schoen +Date: Fri Oct 27 11:34:15 2017 -0500 + + Merge pull request #18593 from ceph/luminous-wip-bz1499840 + + luminous ceph-volume lvm bluestore support + + Reviewed-by: Andrew Schoen + +commit d294493c42ea21e85a1fd36eb8623229a2ff6ea6 +Merge: 58c1b8c4f2 34cd96d342 +Author: Abhishek L +Date: Fri Oct 27 17:30:35 2017 +0200 + + Merge pull request #18334 from kmroz/wip-21816-luminous + + luminous: rgw: fix bilog entries on multipart complete + + Reviewed-By: Casey Bodley + +commit 58c1b8c4f28b73d9b7db1cf3fe79ae5062832c88 +Merge: 8742c619b0 d7f6b93af4 +Author: Abhishek L +Date: Fri Oct 27 17:30:07 2017 +0200 + + Merge pull request #17861 from smithfarm/wip-21441-luminous + + luminous: rbd: [cli] mirror getter commands will fail if mirroring has never been enabled + +commit 8742c619b03cc5f048dc08f76d67ea64c109b4b3 +Merge: 7c03693d0b f8bfd9458d +Author: Abhishek L +Date: Fri Oct 27 17:29:55 2017 +0200 + + Merge pull request #18416 from kmroz/wip-21855-luminous + + luminous: librbd: object map batch update might cause OSD suicide timeout + + Reviewed-By: Jason Dillaman + +commit 7c03693d0bd1a7108bd2d55eda7b7bd1e4e7f904 +Merge: fc486a26cb 8b3e9917a7 +Author: Abhishek L +Date: Fri Oct 27 17:29:43 2017 +0200 + + Merge pull request #18337 from kmroz/wip-21640-luminous + + luminous: rbd-mirror: forced promotion can result in incorrect status + + Reviewed-By: Jason Dillaman + +commit fc486a26cb12466df6269ec4c7717332be2ed92c +Merge: c944c688e5 4ebd4b3928 +Author: Abhishek L +Date: Fri Oct 27 17:29:22 2017 +0200 + + Merge pull request #18336 from kmroz/wip-21639-luminous + + luminous: librbd: snapshots should be created/removed against data pool + + Reviewed-By: Jason Dillaman + +commit c944c688e5a4a7935233e7fb3824b97d9afe44d9 +Merge: bc7e648b18 34af07f97a +Author: Abhishek L +Date: Fri Oct 27 17:29:03 2017 +0200 + + Merge pull request #17860 from smithfarm/wip-21299-luminous + + luminous: rbd: [rbd-mirror] asok hook names not updated when image is renamed + + Reviewed-By: Jason Dillaman + +commit 8a87d43db25a364841d969636bd74b7590c3d563 +Author: Alfredo Deza +Date: Thu Oct 26 15:09:18 2017 -0400 + + ceph-volume lvm.activate remove links on activate before priming + + Signed-off-by: Alfredo Deza + (cherry picked from commit 634b5caaed7c9188e426727e83a0768bdbc51f0d) + +commit 869d13037dbb2b8882c4a4a91ec20c9814bcc438 +Author: Alfredo Deza +Date: Thu Oct 26 07:48:24 2017 -0400 + + ceph-volume lvm.activate ceph-bluestore-tool needs --cluster too + + Signed-off-by: Alfredo Deza + (cherry picked from commit fb36087bc3c7e7bb8358cbf8ad84409fa23fac68) + +commit 3baab9f4e286c3b54c179b0f471435c2dbc859b2 +Author: Alfredo Deza +Date: Wed Oct 25 18:57:28 2017 -0400 + + ceph-volume lvm.activate consume cluster_name from lvm metadata + + Signed-off-by: Alfredo Deza + (cherry picked from commit 2b7ff497fe9e0e167ab01bf0d8ce5e26f0da836f) + +commit 8f41a983356ee9d182f8247f2da8db15848afae0 +Author: Alfredo Deza +Date: Wed Oct 25 18:57:03 2017 -0400 + + ceph-volume lvm.prepare persist cluster_name on lvm metadata + + Signed-off-by: Alfredo Deza + (cherry picked from commit 6d38ad987e08791be379f6c006c1eb5bf9464415) + +commit 1ae30d3130af845ebf563a74a1e2642f5236f1ed +Author: Alfredo Deza +Date: Wed Oct 25 15:30:43 2017 -0400 + + ceph-volume util.prepare bluestore db and wal paths are to devices, not osd dir paths + + Signed-off-by: Alfredo Deza + (cherry picked from commit fd616acd6ae0f184c1757e7de38fc746d526908c) + +commit fdfbfb8140fc1be3123d1254f4463613dc7c7cb0 +Author: Alfredo Deza +Date: Wed Oct 25 15:30:06 2017 -0400 + + ceph-volume lvm.prepare bluestore wal and db links get created with mkfs + + Signed-off-by: Alfredo Deza + (cherry picked from commit 80698d2309a221d2318b11be9b8f8a95b51416ea) + +commit 6ac58f3cd5e292153c82d881a30db1f6c4bfd936 +Author: Alfredo Deza +Date: Wed Oct 25 10:28:43 2017 -0400 + + ceph-volume lvm.prepare use wal and db for mkfs + + Signed-off-by: Alfredo Deza + (cherry picked from commit 4970ab5c804111ce4b2b57817f1e29d58b18a893) + +commit c9ecd14ca220e45960650715703cae3e4376e3c0 +Author: Alfredo Deza +Date: Tue Oct 24 16:28:33 2017 -0400 + + ceph-volume lvm.prepare ensure tags are set for ceph.type correctly for block and data + + Signed-off-by: Alfredo Deza + (cherry picked from commit 58dbefd3be7bad51e6c56c50fbfb450e205b3036) + +commit 76fb5fec94a9bbfed1163a23faf87e19d5617bd4 +Author: Alfredo Deza +Date: Tue Oct 24 16:26:03 2017 -0400 + + ceph-volume lvm.activate check if lv device is mounted at path + + Signed-off-by: Alfredo Deza + (cherry picked from commit 1ead135bef801280e7cec21283c95c7ba440d84b) + +commit 343362027368c4170bd785f1633afeb5ed90f3a2 +Author: Alfredo Deza +Date: Tue Oct 24 15:55:21 2017 -0400 + + ceph-volume lvm.prepare default to using bluestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit 39dd0d1d10aba08c3e8299eb1702260274a756a7) + +commit 0a27fe88266458eead5a011c27cc323f5b7173a5 +Author: Alfredo Deza +Date: Tue Oct 24 15:54:57 2017 -0400 + + ceph-volume lvm.create default to using bluestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit d3145da6e643dedb2fbed72e7d4d0cddf397c5e3) + +commit bd2e0aa78ad1a500935c3134f4d1e6c3413a26ae +Author: Alfredo Deza +Date: Tue Oct 24 15:54:11 2017 -0400 + + ceph-volume lvm.common remove boolean defaults for CLI flags + + Signed-off-by: Alfredo Deza + (cherry picked from commit a7d5965ab532a621f402bad55d45dfed61d90cc5) + +commit c3d474af562ec5b8658bed6362046b0208a2c0eb +Author: Alfredo Deza +Date: Tue Oct 24 13:29:18 2017 -0400 + + ceph-volume lvm.prepare update to use create_osd_path + + Signed-off-by: Alfredo Deza + (cherry picked from commit bafb72144666f891773bed95e9a0f757673af2e0) + +commit bc7e648b182569865d1c2a2aea6da1e52a3d3cb1 +Merge: 690be9c711 b015ce1161 +Author: Abhishek L +Date: Fri Oct 27 16:57:48 2017 +0200 + + Merge pull request #18138 from kmroz/wip-21684-luminous + + luminous: rgw: stop/join TokenCache revoke thread only if started. + + Reviewed-By: Casey Bodley + +commit 690be9c711b34be1ec4254ba0cedf7d6755f59f6 +Merge: 5727e4a33e 06c31a6cee +Author: Abhishek L +Date: Fri Oct 27 16:55:22 2017 +0200 + + Merge pull request #17994 from ukernel/luminous-21337 + + luminous: mds: make sure snap inode's last matches its parent dentry's last + + Reviewed-By: Patrick Donelly + +commit 5727e4a33e0b82e0f9591251572b61458ec2cfae +Merge: d973d6d7ae 624b3ac505 +Author: Abhishek L +Date: Fri Oct 27 16:52:43 2017 +0200 + + Merge pull request #18431 from theanalyst/wip-21857-luminous + + luminous: rgw: We cant't get torrents if objects are encrypted using SSE-C + + Reviewed-By: Casey Bodley + +commit 02013a714ec5fa6c2ff1073e432b8f6b9ff41305 +Author: Alfredo Deza +Date: Mon Oct 23 09:44:27 2017 -0400 + + ceph-volume lvm.activate only prime-osd-dir when directory is empty + + Signed-off-by: Alfredo Deza + (cherry picked from commit 9bb6cfd867c2d8e972093d023622f8c2e5b440d4) + +commit 28593dbf1caeeec8f7c69dbd06e2ff9759afd072 +Author: Alfredo Deza +Date: Mon Oct 23 09:20:26 2017 -0400 + + ceph-volume lvm.activate safeguard against auto detect objectstore flag not being set + + Signed-off-by: Alfredo Deza + (cherry picked from commit c9b5f352a8f9e2743e5dca3a0479c8099a59fd12) + +commit 8df51c8af5d95d67effece720ec2ff82517155b9 +Author: Alfredo Deza +Date: Fri Oct 20 15:18:20 2017 -0400 + + ceph-volume util.system use strings for comparison in py3 + + Signed-off-by: Alfredo Deza + (cherry picked from commit 1b671a8602b036cb8d53bc40eb70198c13143051) + +commit 1f09ee754fec40c4b17ea33829e6449d8749690a +Author: Alfredo Deza +Date: Fri Oct 20 15:10:08 2017 -0400 + + f ceph-volume tests update changes from the help menu in lvm + + Signed-off-by: Alfredo Deza + (cherry picked from commit 3ddcd3c2f19cc848a11a2882f150462ad2f26c65) + +commit ec7c42bd59dc05cb8bad082d64ffdc28f13d3dc8 +Author: Alfredo Deza +Date: Fri Oct 20 14:12:02 2017 -0400 + + ceph-volume lvm.common --journal-size doesn't accept a volume group + + Signed-off-by: Alfredo Deza + (cherry picked from commit a8282e9a580bcfa74abdd33032e2ce2851b5cf29) + +commit 243098815d1d49570c193767d008cbc4fa0f174b +Author: Alfredo Deza +Date: Fri Oct 20 14:04:31 2017 -0400 + + ceph-volume lvm.prepare filestore does not require a volume group + + Signed-off-by: Alfredo Deza + (cherry picked from commit 3653f105927d455b8df143797af0cfe72f8d6834) + +commit da5f764a083613e5d74d1401da65c2ba3aff5fb4 +Author: Alfredo Deza +Date: Fri Oct 20 14:04:05 2017 -0400 + + ceph-volume lvm.common volume groups are no longer required + + Signed-off-by: Alfredo Deza + (cherry picked from commit 526c0aa81ac8eed95c2b4664a00ded2118372fff) + +commit eaa9150d4a6bacf62fcf485e8d36430743ac06cf +Author: Alfredo Deza +Date: Fri Oct 20 12:07:06 2017 -0400 + + doc/ceph-volume activate workflow mention tmpfs in osd dirs + + Signed-off-by: Alfredo Deza + (cherry picked from commit 8788fe3721034f390240c01493bc1d27d65a73a5) + +commit d65af56eaaab728d8c81ddb69b967cb13f177766 +Author: Alfredo Deza +Date: Fri Oct 20 12:02:10 2017 -0400 + + doc/ceph-volume update activation to include bluestore support + + Signed-off-by: Alfredo Deza + (cherry picked from commit 288a3124793d11d71b540555fd03c2f61a79dd16) + +commit 6545b1c14e84af5f25fd4bbd405b56f7b5797113 +Author: Alfredo Deza +Date: Fri Oct 20 11:58:47 2017 -0400 + + doc/ceph-volume update create to indicate bluestore support + + Signed-off-by: Alfredo Deza + (cherry picked from commit 61ce8b4b844fcb64fc95373c5515de902a52fc8c) + +commit d973d6d7aefae1c34b664f98955baed4c841579b +Merge: cf621f8b4e 5b5f0b5a33 +Author: Abhishek L +Date: Fri Oct 27 16:49:03 2017 +0200 + + Merge pull request #17858 from smithfarm/wip-21448-luminous + + luminous: rgw: string_view instance points to expired memory in PrefixableSignatureHelper + + Reviewed-By: Casey Bodley + +commit cf621f8b4e8138284843f6d979aca61651a854bd +Merge: e0c3a05959 0b3a974be7 +Author: Abhishek L +Date: Fri Oct 27 16:48:54 2017 +0200 + + Merge pull request #18442 from theanalyst/wip-21637-luminous + + luminous: encryption: PutObj response does not include sse-kms headers + + Reviewed-By: Casey Bodley + Reviewed-By: Matt Benjamin + +commit e0c3a05959a70b4cf4213320ba7c990578bf8c19 +Merge: dd7aa70301 14a1dcb1ff +Author: Abhishek L +Date: Fri Oct 27 16:48:26 2017 +0200 + + Merge pull request #18437 from theanalyst/wip-21698-luminous + + luminous: radosgw-admin usage show loops indefinitly + + Reviewed-By: Casey Bodley + +commit dd7aa7030144d42958f92af5c7f6804a402f3b6d +Merge: 3a8f046716 c3a719da27 +Author: Abhishek L +Date: Fri Oct 27 16:48:12 2017 +0200 + + Merge pull request #18434 from theanalyst/wip-21817-luminous + + luminous: rgw: zone compression type is not validated + + Reviewed-By: Casey Bodley + Reviewed-By: Matt Benjamin + +commit 3a8f046716456eb0f51db79f152f3dc67d84c319 +Merge: 0d9b3a01d0 4c18ac1240 +Author: Abhishek L +Date: Fri Oct 27 16:47:48 2017 +0200 + + Merge pull request #18440 from theanalyst/wip-21652-luminous + + luminous: policy checks missing from Get/SetRequestPayment operations + + Reviewed-By: Casey Bodley + +commit 0d9b3a01d0972a2fc5ae9550ba80c38acd9edbeb +Merge: aa71baeabe a3e2ae4925 +Author: Abhishek L +Date: Fri Oct 27 16:47:33 2017 +0200 + + Merge pull request #18441 from theanalyst/wip-21651-luminous + + luminous: rgw: avoid logging keystone revocation failures when no keystone is configured + + Reviewed-By: Casey Bodley + +commit aa71baeabef5aa7eb6903593b3dfcc8878227c99 +Merge: 1067293a7e 0b84dd07c4 +Author: Abhishek L +Date: Fri Oct 27 16:47:13 2017 +0200 + + Merge pull request #18443 from theanalyst/wip-21634-luminous + + luminous: s3:GetBucketLocation bucket policy fails with 403 + + Reviewed-By: Casey Bodley + +commit 1067293a7e21fc835447c9e5e1d8416902593ba1 +Merge: f2f8aef89c abefb578c3 +Author: Abhishek L +Date: Fri Oct 27 16:46:59 2017 +0200 + + Merge pull request #18444 from theanalyst/wip-21635-luminous + + luminous: s3:GetBucketCORS/s3:PutBucketCORS policy fails with 403 + + Reviewed-By: Casey Bodley + +commit f2f8aef89c3144ac5d859ea0fe8a7db57cfa8ad6 +Merge: 385d84b8eb 0e65ea466f +Author: Abhishek L +Date: Fri Oct 27 16:46:44 2017 +0200 + + Merge pull request #18430 from theanalyst/wip-21695-luminous + + luminous: failed CompleteMultipartUpload request does not release lock + + Reviewed-By: Casey Bodley + Reviewed-By: Matt Benjamin + +commit 385d84b8ebb3a4192ce4817aaf6c99b27af0190d +Merge: 4a74a41c47 f9850d2148 +Author: Abhishek L +Date: Fri Oct 27 16:46:13 2017 +0200 + + Merge pull request #18445 from theanalyst/wip-21633-luminous + + luminous: s3:GetBucketWebsite/PutBucketWebsite fails with 403 + + Reviewed-By: Casey Bodley + +commit 4a74a41c473fcda61f156d8bf720bf0e4cf0aec0 +Merge: 14cb83cd07 8b420c4627 +Author: Abhishek L +Date: Fri Oct 27 16:45:54 2017 +0200 + + Merge pull request #18436 from theanalyst/wip-21789-luminous + + luminous: user creation can overwrite existing user even if different uid is given + + Reviewed-By: Casey Bodley + +commit 14cb83cd077258e061cfa09733cf0b9a82f7507a +Merge: 0339b8b599 fe45086a54 +Author: Abhishek L +Date: Fri Oct 27 16:45:36 2017 +0200 + + Merge pull request #18435 from theanalyst/wip-21790-luminous + + luminous: RGW: Multipart upload may double the quota + + Reviewed-By: Casey Bodley + +commit 0339b8b599f313e6a7b176f0f8b94b8101ab50c3 +Merge: 68cc868d1f 248bd94dab +Author: Abhishek L +Date: Fri Oct 27 16:45:19 2017 +0200 + + Merge pull request #18432 from theanalyst/wip-21856-luminous + + disable dynamic resharding in multisite enviorment + + Reviewed-By: Casey Bodley + +commit 68cc868d1fdca55308fa1aba0bb708d07170e668 +Merge: f337bef88a 17df0ba8f0 +Author: Abhishek L +Date: Fri Oct 27 16:44:40 2017 +0200 + + Merge pull request #18429 from theanalyst/wip-21792-luminous + + luminous: encryption: reject requests that don't provide all expected headers + + Reviewed-By: Casey Bodley + +commit 29470eac4ca939c824b56f4fbc03c8b7814f9d02 +Author: Alfredo Deza +Date: Fri Oct 20 11:51:55 2017 -0400 + + doc/ceph-volume update prepare with bluestore workflow + + Signed-off-by: Alfredo Deza + (cherry picked from commit 9f1a5627399e2589fe706b158a32a9fb8642ac23) + +commit c90e473ff35d15d309eb92dbdc6b9df2e8bd5ecc +Author: Alfredo Deza +Date: Fri Oct 20 10:15:09 2017 -0400 + + doc/ceph-volume update filestore to indicate it is not the only/default objectstore + + Signed-off-by: Alfredo Deza + (cherry picked from commit c93603e5764e021305cfeb1c297ee16318126fe1) + +commit 3890c47dddd0d028b0c003cb46a9bec670c445f1 +Author: Alfredo Deza +Date: Fri Oct 20 10:00:17 2017 -0400 + + doc/ceph-volume elaborate on env vars for interval and tries in activation + + Signed-off-by: Alfredo Deza + (cherry picked from commit 1dc24d1a7065b4e23b1bfa0e7c6d263b5ebc6906) + +commit 88240acf19176ae5c139836b7d46848e15ef5454 +Author: Alfredo Deza +Date: Fri Oct 20 09:33:55 2017 -0400 + + ceph-volume lvm.common update cli flags help for bluestore support + + Signed-off-by: Alfredo Deza + (cherry picked from commit c9693fb3f8386016aba5d7c8f53f5f71f948c88d) + +commit a945e7776309d39955918cec7e0c5f1895abc39b +Author: Alfredo Deza +Date: Fri Oct 20 09:23:35 2017 -0400 + + ceph-volume util.disk st_mode is needed for stat() + + Signed-off-by: Alfredo Deza + (cherry picked from commit e3b5663f7968e44ec0cd6db2bfc43acdb233e314) + +commit e833916afe22e9c4765344229b5b89cfc9af1b14 +Author: Alfredo Deza +Date: Fri Oct 20 09:23:02 2017 -0400 + + ceph-volume decorators always log to the file with exceptions + + Signed-off-by: Alfredo Deza + (cherry picked from commit cb3533a72571251d9f1b6171f783246462726857) + +commit 53e9cf6fcd7549b4bfa78d7568d56b30b38e81fd +Author: Alfredo Deza +Date: Fri Oct 20 08:49:32 2017 -0400 + + ceph-volume tests verify behavior of get_lv_from_argument + + Signed-off-by: Alfredo Deza + (cherry picked from commit adabbd462bcb19a6da65211e24dfb2b9b5043ef4) + +commit 40cfec281cc2584b2e2987f356109c6c160d4597 +Author: Alfredo Deza +Date: Fri Oct 20 08:48:01 2017 -0400 + + ceph-volume api.lvm return result of get_lv when using arguments + + If the argument is an absolute path it is fine to just return whatever + get_lv finds since it is a "safe" call, it will return a None if nothing + is found + + Signed-off-by: Alfredo Deza + (cherry picked from commit f209c9d4d50bd7abe0f7f6b9fb29359cb7196718) + +commit 7139077aab892c3213815d1dcf71d93df80a32c8 +Author: Alfredo Deza +Date: Fri Oct 20 08:12:01 2017 -0400 + + ceph-volume lvm.listing support bluestore, not only filestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit 6a5b89a475c2a36022ca09dbb7f6b94cc3b44881) + +commit 654e06f1202596d5cecef9d03134861eed053882 +Author: Alfredo Deza +Date: Fri Oct 20 08:10:51 2017 -0400 + + ceph-volume api.lvm allow full paths to detect lv from arguments + + Signed-off-by: Alfredo Deza + (cherry picked from commit 8d257101b1556ec5ce805622e9b7b6b74f6b000d) + +commit 454d48eb29f4429370b831645a29e0450b5b46b1 +Author: Alfredo Deza +Date: Fri Oct 20 08:10:26 2017 -0400 + + ceph-volume tests add support for bluestore list verification + + Signed-off-by: Alfredo Deza + (cherry picked from commit 4674da9c07f871bf1f25bb782c136fe082095a14) + +commit 8d72737f90b0cd1db860678ebb66596e233fd646 +Author: Alfredo Deza +Date: Thu Oct 19 13:20:55 2017 -0400 + + ceph-volume tests activate with fsid works for bluestore and filestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit 5b9f0853f780db3b0af6b4b7c1ad1d59184069c9) + +commit 846aa2492f6db342d9fb4c477c2e13e61e414aaf +Author: Alfredo Deza +Date: Thu Oct 19 13:14:05 2017 -0400 + + ceph-volume tests arg validator can accept absolute paths + + Signed-off-by: Alfredo Deza + (cherry picked from commit 15586715f506505a57ec5122416541479df74bc8) + +commit 2c9ee51a0a7ed5edc900316c19ba27facb9163eb +Author: Alfredo Deza +Date: Thu Oct 19 12:03:17 2017 -0400 + + ceph-volume tests update changes from the help menu in lvm + + Signed-off-by: Alfredo Deza + (cherry picked from commit 39bdc2e3f621a32bcbb3dfe64f156bbfd7e4f5ee) + +commit 5724bb04bb74e17b9f7e96b3a3e434cac720c4ed +Author: Alfredo Deza +Date: Thu Oct 19 11:46:57 2017 -0400 + + ceph-volume tests update to get_lv from get_journal_lv + + Signed-off-by: Alfredo Deza + (cherry picked from commit 9be1012072f36e21a3f3cef42a42f7f1eb83c64e) + +commit 43e25933701605ac8cd7cb3d6fbd4cbf6705565e +Author: Alfredo Deza +Date: Thu Oct 19 11:30:29 2017 -0400 + + ceph-volume tests.util new path/device mount interface + + Signed-off-by: Alfredo Deza + (cherry picked from commit d5984bad97347e58318793fc05da84832d323113) + +commit 9b36a8bf8d471047dc94cdfcac1f84a9802b9fc5 +Author: Alfredo Deza +Date: Thu Oct 19 09:49:25 2017 -0400 + + ceph-volume tests update api.lvm tests + + The create_lv signature changed to require full size description and + tags need to be an actual dictionary (vs. keyword args) + + Signed-off-by: Alfredo Deza + (cherry picked from commit e8a18637531cde59d73a97d106958489c1d12117) + +commit ea57e70e6f826ac17eae0226b9d916e8bff4d021 +Author: Alfredo Deza +Date: Wed Oct 18 16:06:55 2017 -0400 + + ceph-volume lvm.activate ceph-bluestore-tool should populate the osd dir + + Signed-off-by: Alfredo Deza + (cherry picked from commit f3bb616bcf8a4737a3701ebf812de831785d6341) + +commit fe3b61ac0da67d9c80ead24c6ccf79e1507fa132 +Author: Alfredo Deza +Date: Wed Oct 18 15:06:01 2017 -0400 + + ceph-volume lvm.activate auto detect objectstore type + + Signed-off-by: Alfredo Deza + (cherry picked from commit 472aa0b1997a0b1301b699b7ce30dce728aaea0c) + +commit 5da9775184e4bc9bf1b83d18eae602c9a510a89f +Author: Alfredo Deza +Date: Wed Oct 18 15:00:19 2017 -0400 + + ceph-volume lvm.trigger enable objectstore auto detection for activate + + Signed-off-by: Alfredo Deza + (cherry picked from commit f579ef07026564f1a94b2923a2e4640ade2da503) + +commit 307c99e4382895e6b42c193e9b98b9206fd57f9a +Author: Alfredo Deza +Date: Wed Oct 18 12:00:34 2017 -0400 + + ceph-volume lvm.activate add bluestore support for activation + + Signed-off-by: Alfredo Deza + (cherry picked from commit 5696fed09b65044142b34f89492a6d91d3243e14) + +commit 70632b0fac2fa7e411418c90a50b99391379f436 +Author: Alfredo Deza +Date: Wed Oct 18 11:40:38 2017 -0400 + + ceph-volume util.system create mappings of mounts + + This makes it easier for consumers to detect a path, or a device that + might be mounted or might have more than one mount, including tmpfs and + devtmpfs support, which was just not possible before. + + Signed-off-by: Alfredo Deza + (cherry picked from commit f61007cc650f6964ef2ff3ea98a1debf02713198) + +commit 839dc1f554a12fb109ca1f992784dd4f4933898a +Author: Alfredo Deza +Date: Mon Oct 16 06:51:05 2017 -0400 + + ceph-volume util.prepare separate filestore vs. bluestore prepare utils + + Signed-off-by: Alfredo Deza + (cherry picked from commit 85cdc783008ff0e0566c34aaab7cd5f12db1cbc7) + +commit deae88983d80cedcdc842d192f8d659b7533d3dc +Author: Alfredo Deza +Date: Mon Oct 16 06:50:27 2017 -0400 + + ceph-volume process allow obfuscating a key or index when logging commands + + Signed-off-by: Alfredo Deza + (cherry picked from commit bbcca70d962855d991f0aa8e86a19f1855345668) + +commit 18336242b85065d8a2b0a92f22b2e91a81b997ba +Author: Alfredo Deza +Date: Fri Oct 13 09:22:53 2017 -0400 + + ceph-volume util.prepare add other ln helpers for bluestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit 555b664882db2cd247087f907bdf4d426fb652f8) + +commit 37a1564a41ba8ae6a89eb0903f0fdf6b463d90f0 +Author: Alfredo Deza +Date: Thu Oct 12 16:08:52 2017 -0400 + + ceph-volume util.arg_validators allow to pass a group as --data for lvm + + Signed-off-by: Alfredo Deza + (cherry picked from commit 211c38f591945dee53196068533784c385bae102) + +commit afd1588fe06a80f2277082fd7bd15f43d8e601b7 +Author: Alfredo Deza +Date: Thu Oct 12 16:08:16 2017 -0400 + + ceph-volume util.disk add utilities for is_device and is_partition + + Signed-off-by: Alfredo Deza + (cherry picked from commit 6b23fc72240ced158cf5335f6e815dbfd804dfab) + +commit 5e8f798d2b8f80b21f3ce4701d22e47992dd0938 +Author: Alfredo Deza +Date: Thu Oct 12 16:05:22 2017 -0400 + + ceph-volume api.lvm udpate create_lv for bluestore + + Require full size notation for LVM (e.g. 50G or 100M) and do not + "translate" tags by pre-fixing them with 'ceph'. That is already how the + rest of the API works, no need to make that translation in one place + + Signed-off-by: Alfredo Deza + (cherry picked from commit ac0d1555d3d9caeef9d4fc3e46bc11b7e437413b) + +commit f337bef88a31a5d23420665406a06f761e8d4e6e +Merge: 3db3ca9938 d2be1e0ccb +Author: Abhishek L +Date: Fri Oct 27 16:43:43 2017 +0200 + + Merge pull request #17857 from smithfarm/wip-21446-luminous + + luminous: rgw:multisite: Get bucket location which is located in another zonegroup, will return 301 Moved Permanently + + Reviewed-By: Casey Bodley + +commit 3db3ca99380521c79596b06b695eefbb81d57908 +Merge: ced01a5b85 c4d6539374 +Author: Abhishek L +Date: Fri Oct 27 16:43:00 2017 +0200 + + Merge pull request #17856 from smithfarm/wip-21444-luminous + + luminous: rgw: setxattrs call leads to different mtimes for bucket index and object + + Reviewed-By: Casey Bodley + +commit 3bbd840fe0d34d42c04fac523aee5fc023d8bd3b +Author: Alfredo Deza +Date: Thu Oct 12 15:42:22 2017 -0400 + + ceph-volume lvm.prepare update filestore workflow to use new helpers + + Signed-off-by: Alfredo Deza + (cherry picked from commit 1e8a79b8f4b9e6360e8e3ace580e46caeedca8c7) + +commit ced01a5b85c9ec5657d8f09a447b6308ea597754 +Merge: 2c9a9af424 fe0a41b4a9 +Author: Abhishek L +Date: Fri Oct 27 16:41:15 2017 +0200 + + Merge pull request #18417 from kmroz/wip-21782-luminous + + luminous: cls/journal: possible infinite loop within tag_list class method + + Reviewed-By: Jason Dillaman + +commit 2c9a9af424c618c50334c0efa7f5a5f807aeb4fd +Merge: a1d286252a 7d2b7e8e31 +Author: Abhishek L +Date: Fri Oct 27 16:38:04 2017 +0200 + + Merge pull request #18287 from smithfarm/wip-retract-assertions-luminous + + luminous: rgw: Remove assertions in IAM Policy + + Reviewed-By: Adam Emerson + Reviewed-By: Abhishek Lekshmanan + +commit fb95f3f9fd6122f9b8c3c2215463fc8a1ef62ba2 +Author: Alfredo Deza +Date: Thu Oct 12 14:19:07 2017 -0400 + + ceph-volume lvm.prepare initial take on bluestore support + + Signed-off-by: Alfredo Deza + (cherry picked from commit e4fc3464af472a8dbdf049917eed73519ff82c3b) + +commit a1d286252a75c3632a7ecc63a366e5262f9e16cd +Merge: b151619a45 fd207447d1 +Author: Abhishek L +Date: Fri Oct 27 16:29:02 2017 +0200 + + Merge pull request #17859 from smithfarm/wip-21451-luminous + + luminous: rgw: lc process only schdule the first item of lc objects + + Reviewed-By: Daniel Gryniewicz + +commit 26ef33efc37cdd626c6a7577812bb87947417e01 +Author: Alfredo Deza +Date: Thu Oct 12 14:16:25 2017 -0400 + + ceph-volume lvm.common update help flags for bluestore usage + + Signed-off-by: Alfredo Deza + (cherry picked from commit 17028f3a3c1f9394fa82dc6f2bbd596d96acb037) + +commit 005359b92a910b72712edbcaa7b2e27a54d3a093 +Author: Alfredo Deza +Date: Wed Oct 11 14:30:41 2017 -0400 + + ceph-volume api.lvm allow to create a vg + + Signed-off-by: Alfredo Deza + (cherry picked from commit 16d7feb2b5d5eb5fa0bf23a95b60623ae2e1676f) + +commit 795e69673f452227afc12d76ed5aa0d6a8af8665 +Author: Alfredo Deza +Date: Tue Oct 10 12:30:06 2017 -0400 + + ceph-volume lvm add block CLI flags for bluestore + + Signed-off-by: Alfredo Deza + (cherry picked from commit 63d2afbc605ac1531bc9f00a1891017bfd42fbce) + +commit cbfb082c180e93cd147e164afd1d32ef9234924e +Author: Alfredo Deza +Date: Tue Oct 10 12:15:14 2017 -0400 + + ceph-volume lvm make bluestore the default option + + Signed-off-by: Alfredo Deza + (cherry picked from commit dc3ced30747312dedd0e895a75ec15b1925ef1ea) + +commit a340f1acab04587f5b2c323abc1a14b8dd7de915 +Author: Casey Bodley +Date: Mon Oct 9 14:46:47 2017 -0400 + + rgw: RGWDataSyncControlCR retries on all errors + + similar to RGWMetaSyncShardControlCR, we don't want to exit and + stop the data sync processor thread on failures. we want to keep + retrying with backoff + + Signed-off-by: Casey Bodley + (cherry picked from commit 065e67bbd312240f5128c31f5525098c62f3afce) + + Conflicts: + src/rgw/rgw_data_sync.cc (sync tracing) + +commit fdec63a28e24e056938139591e5799a0e3693c20 +Author: Casey Bodley +Date: Mon Oct 9 14:09:40 2017 -0400 + + rgw: fix error handling in ListBucketIndexesCR + + the call to set_state() returns 0, when we want operate() to return the + error code instead. use set_cr_error() to do this + + Fixes: http://tracker.ceph.com/issues/21735 + + Signed-off-by: Casey Bodley + (cherry picked from commit ed6340a47f32472bb1f650407dbe739c44bf4bd6) + +commit e711cf319fa12ec7b03edda769685353e24cbfcb +Author: Casey Bodley +Date: Mon Oct 9 14:08:21 2017 -0400 + + rgw: ListBucketIndexesCR spawns entries_index after listing metadata + + if the metadata listing fails, we won't have to clean up entries_index + + Signed-off-by: Casey Bodley + (cherry picked from commit 7f127f54406ef0e08a1265b9bc20433fe3f21523) + +commit 56359c367d8267281f714dcecefdb50c598718a6 +Author: Sage Weil +Date: Thu Oct 26 13:51:40 2017 -0500 + + ceph-bluestore-tool: prime-osd-dir: update symlinks instead of bailing + + If the symlink points to the right location, do nothing. If it doesn't, + replace it. If it's not a symlink, bail with EEXIST. + + Signed-off-by: Sage Weil + (cherry picked from commit de8dc42d42218bc1a1779e1bcc5831c567853c8d) + +commit b151619a4523b148026e613860a05add6aff3831 +Merge: 84fc30873a 352373ff4a +Author: Abhishek L +Date: Fri Oct 27 15:11:00 2017 +0200 + + Merge pull request #18433 from theanalyst/wip-21545-luminous + + luminous: rgw file write error + + Reviewed-By: Matt Benjamin + +commit 84fc30873aa6ed3c1bf0c91307c362d27e9bc72a +Merge: 2bc24caa00 bb8586b259 +Author: Andrew Schoen +Date: Fri Oct 27 08:03:16 2017 -0500 + + Merge pull request #18587 from ceph/luminous-wip-volume-api-change + + luminous ceph-volume lvm api refactor/move + + Reviewed-by: Andrew Schoen + +commit 2bc24caa003ea3c4898202a887a5864078c0f3fd +Merge: a5548a8247 5f96edfb41 +Author: Sage Weil +Date: Fri Oct 27 06:39:58 2017 -0500 + + Merge pull request #18568 from liewegas/wip-fix-rop-leak-luminous-2 + + luminous: osd/PG: fix recovery op leak due to recovery preemption + + Reviewed-by: David Zafman + +commit bb8586b259726eb0ae72db7c6a238b2d2432fc9b +Author: Alfredo Deza +Date: Tue Oct 3 16:13:33 2017 -0400 + + ceph-volume create an api module to hold common api modules + + Signed-off-by: Alfredo Deza + (cherry picked from commit f72368641d7f38b6395afb7ed70a0a9d0794a03a) + +commit 3d32fb30193437b57535c79657ee726704f4b037 +Author: Alfredo Deza +Date: Wed Oct 4 06:44:54 2017 -0400 + + ceph-volume tests move lvm api tests into its new test module + + Signed-off-by: Alfredo Deza + (cherry picked from commit eec0c8a5c27adc9b3fc5e999cbee8165bdb45736) + +commit e6145af90c3f1c8c520bb7671194e6d8a13bb5d2 +Author: Alfredo Deza +Date: Wed Oct 4 06:43:36 2017 -0400 + + ceph-volume tests refactor lvm api import for test_listing + + Signed-off-by: Alfredo Deza + (cherry picked from commit 66fd41fd4b35e275196bfb94794f3fda9fd77f76) + +commit c63d3ba89489cc42aaa364c99b3d3b4c1bba226c +Author: Alfredo Deza +Date: Wed Oct 4 06:43:18 2017 -0400 + + ceph-volume tests refactor lvm api import for api tests + + Signed-off-by: Alfredo Deza + (cherry picked from commit 2a9a36bd24bddb35a7618127a0ec57f661a71566) + +commit 6efd25344230c0abb51cd82f99310a4b94f2fcd3 +Author: Alfredo Deza +Date: Wed Oct 4 06:42:47 2017 -0400 + + ceph-volume tests refactor lvm api import for activate tests + + Signed-off-by: Alfredo Deza + (cherry picked from commit d81aa8c112312f2fb49d94ce3512b3356b0b8814) + +commit 47cd005b672828aedf11aeb67a6099477783f7f0 +Author: Alfredo Deza +Date: Wed Oct 4 06:42:01 2017 -0400 + + ceph-volume tests refactor lvm api import in conftest + + Signed-off-by: Alfredo Deza + (cherry picked from commit a00aff7066fe6a679498ac8a02ec22ef29feced3) + +commit 4a6dfa9b6949bdcdba22a7003c451390105d287e +Author: Alfredo Deza +Date: Tue Oct 3 16:17:08 2017 -0400 + + ceph-volume devices.lvm refactor importing api to come from api/lvm.py + + Signed-off-by: Alfredo Deza + (cherry picked from commit f4bee6cb42a017abce269ed3926deff04038a47e) + +commit 9a20f184676973222c931cecff26ca313e636e1d +Author: Alfredo Deza +Date: Tue Oct 3 16:14:16 2017 -0400 + + ceph-volume move lvm/api.py to api/lvm.py so disk can consume it + + Signed-off-by: Alfredo Deza + (cherry picked from commit bb72480d2bf44ff04ea93c98f4a4e59032a28896) + +commit f26f3dc842c04ac70e309266aaedbae9d45eeae8 +Author: yuliyang +Date: Sun Sep 24 08:41:04 2017 +0800 + + rgw:fix list objects with marker when bucket is enable versioning + + fix: http://tracker.ceph.com/issues/21500 + + Signed-off-by: yuliyang + (cherry picked from commit bc16b162cf757b9c6ceae30912eb647ef9304f75) + +commit a5548a8247cd9b072a2e0357cf6d0358550e7565 +Merge: 724609a8a5 1751a094d7 +Author: Sage Weil +Date: Thu Oct 26 16:52:28 2017 -0500 + + Merge pull request #18498 from liewegas/wip-recovery-fixes-luminous + + luminous: osd: fix recovery priority and pg state on recovery->backfill transition + + Reviewed-by: David Zafman +Date: Thu Oct 26 16:50:20 2017 -0500 + + Merge pull request #18567 from ceph/backport-wip-bz1491250 + + luminous: ceph-volume lvm list + + Reviewed-by: Andrew Schoen + +commit 5f96edfb41c4b028732cf12da5ab44322e251b2a +Author: Sage Weil +Date: Thu Oct 26 16:23:41 2017 -0500 + + osd/PG: fix recovery op leak due to recovery preemption + + This was fixed in master in a different patch, but are not yet ready to + backport the bits there that came before this. For now, fix it + specifically for luminous. We can either sort out the conflicts later + or revert this and backport the master parts conflict-free. + + Signed-off-by: Sage Weil + +commit 50c4cc06101fd1c8a9323cd3a04c92c8a9ab2580 +Merge: a175c0321e 33aa167331 +Author: Sage Weil +Date: Thu Oct 26 16:14:43 2017 -0500 + + Merge pull request #17805 from tchaikov/wip-luminous-pr-17508 + + luminous: mon: more aggressively convert crush rulesets -> distinct rules + + Reviewed-by: Sage Weil + +commit a175c0321e745ac095707d5a2d3cd25232272bfc +Merge: 72b057187a b382db7cfc +Author: Sage Weil +Date: Thu Oct 26 16:14:07 2017 -0500 + + Merge pull request #18364 from kmroz/wip-21544-luminous + + luminous: mon: osd feature checks with 0 up osds + + Reviewed-by: Sage Weil + +commit 72b057187aed9b4e5f3a4ecf82fafa6e9cd2d3fd +Merge: f6362e3110 b60d8cf0cb +Author: Sage Weil +Date: Thu Oct 26 16:13:31 2017 -0500 + + Merge pull request #18413 from kmroz/wip-21693-luminous + + luminous: osd: additional protection for out-of-bounds EC reads + + Reviewed-by: Josh Durgin + +commit f6362e3110e4e482ff5a676035b862b1b0b666df +Merge: f36670e190 4c6b1b65f7 +Author: Sage Weil +Date: Thu Oct 26 16:11:42 2017 -0500 + + Merge pull request #18529 from smithfarm/wip-21918-luminous + + luminous: Disable messenger logging (debug ms = 0/0) for clients unless overridden. + + Reviewed-by: Sage Weil + +commit f36670e190ea96589c373d87d30ee8f4b3c6b20b +Merge: 9a28a5c9d7 cec24f99ab +Author: Sage Weil +Date: Thu Oct 26 16:11:21 2017 -0500 + + Merge pull request #18540 from liewegas/wip-pr-17894-luminous + + luminous: ceph.spec.in,debian/rules: change aio-max-nr to 1048576 + + Reviewed-by: Kefu Chai + Reviewed-by: Boris Ranto + +commit 565b5cd1d68437096e283ccb942d8f108c26d3d4 +Author: Alfredo Deza +Date: Wed Sep 13 08:23:40 2017 -0400 + + ceph-volume lvm add listing module to main + + Signed-off-by: Alfredo Deza + (cherry picked from commit ff72fd0ed52ef2d166007c7769c0140424982dc7) + +commit 58095350953140a1fa4b968c2e0a5774a960e739 +Author: Alfredo Deza +Date: Tue Oct 3 11:41:10 2017 -0400 + + doc/ceph-volume add lvm/list to the toctree + + Signed-off-by: Alfredo Deza + (cherry picked from commit d11c80c917f44b33077715b19564aeea30c78e42) + +commit 3893947d3e04f049a85245750b841adbbcefeac8 +Author: Alfredo Deza +Date: Tue Oct 3 11:36:06 2017 -0400 + + doc/ceph-volume create the reference for the list sub-command + + Signed-off-by: Alfredo Deza + (cherry picked from commit 9a52939ef8fc4abe720d2525c59997f4f9760902) + +commit 0992c3d7c136a58ff38f521fc0978ff036843d27 +Author: Alfredo Deza +Date: Tue Oct 3 11:35:39 2017 -0400 + + doc/ceph-volume add create and list to the index + + Signed-off-by: Alfredo Deza + (cherry picked from commit ed5fa519aca1335039bfc32bc060af5181265517) + +commit 148537cc333d88b75640506c15a1bc221c9e09d6 +Author: Alfredo Deza +Date: Tue Oct 3 08:59:37 2017 -0400 + + ceph-volume tests create a unit test module for listing features + + Signed-off-by: Alfredo Deza + (cherry picked from commit 2c2cf547b07f9510146b86d0746190b6d3fead3d) + +commit 285bc06569c8ed06890d23e9537a9d1106825b7f +Author: Alfredo Deza +Date: Tue Oct 3 08:59:01 2017 -0400 + + ceph-volume tests create a small factory fixture + + Signed-off-by: Alfredo Deza + (cherry picked from commit 5a0b17de81770ef3b851a1ff98232d93c78f49f9) + +commit 1e4e241d9c77796874a003799a0546fc185c5241 +Author: Alfredo Deza +Date: Mon Oct 2 14:40:41 2017 -0400 + + ceph-volume tests ensure Volume.as_dict gets populated correctly + + Signed-off-by: Alfredo Deza + (cherry picked from commit c5b933a96d067fb8c7f753a67123e5662398f964) + +commit a0ab94e8d70ae9fc5d741c47a8f0dcfe033f9a5e +Author: Alfredo Deza +Date: Mon Oct 2 14:31:57 2017 -0400 + + ceph-volume lvm.listing initial take on listing command + + Signed-off-by: Alfredo Deza + (cherry picked from commit 2d80190a039798a637383513f292e6aab62cd3f8) + +commit 454c655f2eb0b1e79ca8e1e1d87ff9c0fe4886da +Author: Alfredo Deza +Date: Mon Oct 2 12:35:13 2017 -0400 + + ceph-volume lvm.api be able to return a dictionary repr of a Volume object + + Signed-off-by: Alfredo Deza + (cherry picked from commit 0cae22750f396d1c1664875edb2742c50a41bffd) + +commit 1390fb76d76b76428e6a9210005dbf01fd3b3a1a +Author: Alfredo Deza +Date: Mon Oct 2 12:12:57 2017 -0400 + + ceph-volume process allows to fully mute terminal output on commands + + Signed-off-by: Alfredo Deza + (cherry picked from commit 233f64a4fd90a19c50d57b849ffaa6a25c835f34) + +commit 00e9ec1fa25ac3950f43ec3cf84f8321b04507eb +Author: Alfredo Deza +Date: Thu Sep 14 07:35:47 2017 -0400 + + ceph-volume lvm.api use a helper to get an lv from an arg + + Signed-off-by: Alfredo Deza + (cherry picked from commit 3c5bbbc5822f02a038f093647c5de58bef2fe8f5) + +commit 26c523c3beeb5da7e855be64a053ac9dca7d10e2 +Author: Jason Dillaman +Date: Mon Oct 23 14:53:30 2017 -0400 + + rbd-mirror: strip environment/CLI overrides for remote cluster + + Fixes: http://tracker.ceph.com/issues/21894 + Signed-off-by: Jason Dillaman + (cherry picked from commit 70dc22e03a115b130b9c214030d5996276a1634b) + +commit 9a28a5c9d7ae618f5b79d3727ba155b5066a2653 +Merge: 42172a4431 18a99f5f6b +Author: Josh Durgin +Date: Wed Oct 25 11:45:38 2017 -0700 + + Merge pull request #18456 from liewegas/wip-21882-luminous + + luminous: messages/MOSDMap: do compat reencode of crush map, too + + Reviewed-by: Josh Durgin + +commit 18a99f5f6b4976f87dcd0d4fe7e34fddd90de22b +Author: Sage Weil +Date: Wed Oct 25 07:00:14 2017 -0500 + + qa/suites/upgrade/jewel-x: make sure min compat client is hammer for straw2 + + Signed-off-by: Sage Weil + +commit cec24f99ab5e368d2dae7d53628fee09515bd873 +Author: chenliuzhong +Date: Tue Oct 24 10:54:33 2017 +0800 + + ceph.spec.in,debian/rules: change aio-max-nr to 1048576 + + when osd is more than 14 in one host,it report error that aio is not enough. + As the default aio-max-nr is 65536, one OSD needs 4096 aios and other programs may use aios. + This patch change aio-max-nr to 1048576 when install ceph-osd rpm package and debian package + + Signed-off-by: chenliuzhong + (cherry picked from commit 36326dc7104fc2f20f19d51b6f618a029ba072d7) + +commit 15a52ba8329831ddf350664e6e6612523f98dcf4 +Author: baixueyu +Date: Wed Oct 18 11:16:20 2017 +0800 + + You can find the problem do like this: + + upload obj to bucket1 + s3cmd put obj s3://bucket1 + cp obj from bucket1 to bucket2 + s3cmd cp s3://bucket1/obj s3://bucket2 + del obj from bucket1 and bucket2 + s3cmd del s3://bucket1/obj + s3cmd del s3://bucket2/obj + you can see the pool 'default.rgw.buckets.data', the data of obj can not deleted. + ceph df | grep default.rgw.buckets.data + + Fixes: http://tracker.ceph.com/issues/21819 + + Signed-off-by: Xueyu Bai baixueyu@inspur.com + (cherry picked from commit 2e11545077c485d5c155ab932b6274a8ac863e61) + +commit 4c6b1b65f7337809682bf907be94fe946909959a +Author: Jason Dillaman +Date: Thu Oct 19 22:13:36 2017 -0400 + + common/common_init: disable ms subsystem log gathering for clients + + The log gathering causes large performance degradation to clients + with high message throughputs. This is hopefully a short-term + workaround until per-message logging can be replaced with an + efficient data recording system for post-incident analysis + use-cases. + + Fixes: http://tracker.ceph.com/issues/21860 + Signed-off-by: Jason Dillaman + (cherry picked from commit a3a40413f7908b08c40dec4020034cca4a0c4798) + +commit 42172a443183ffe6b36e85770e53fe678db293bf +Merge: f2afb7a0d5 9f49698fab +Author: Sage Weil +Date: Tue Oct 24 21:36:18 2017 -0500 + + Merge pull request #18503 from liewegas/wip-21878-luminous + + luminous: os/bluestore/BlueFS: fix race with log flush during async log compaction + + Reviewed-by: Varada Kari + +commit f2afb7a0d590ff55ae11f5bf3b13264a56380ce6 +Merge: d0be2106f9 3ad21109ed +Author: Sage Weil +Date: Tue Oct 24 21:35:29 2017 -0500 + + Merge pull request #18501 from liewegas/wip-21766-luminous + + luminous: os/bluestore: handle compressed extents in blob unsharing checks + +commit d0be2106f96377f059ec08800e32e492ec6f82a3 +Merge: d52e59bad7 e6eeb796b4 +Author: Sage Weil +Date: Tue Oct 24 21:34:52 2017 -0500 + + Merge pull request #18459 from liewegas/wip-pr-18457-luminous + + luminous: qa/suites/rados/rest/mgr-restful: whitelist more health + +commit 902d467a0ec23baebf28a2419a4c0c78e0b1b662 +Author: Casey Bodley +Date: Mon Oct 9 10:11:14 2017 -0400 + + qa/rgw: ignore errors from 'pool application enable' + + Fixes: http://tracker.ceph.com/issues/21715 + + Signed-off-by: Casey Bodley + (cherry picked from commit 160240e0c1c216c950b7210a561b27436198de1f) + Signed-off-by: Yuri Weinstein + +commit 1751a094d76ac84fbcecfc9816904cbb496bd765 +Author: Sage Weil +Date: Mon Oct 23 17:11:59 2017 -0500 + + osd/PrimaryLogPG: clear DEGRADED at recovery completion even if more backfill + + We may have log recovery *and* backfill to do, but cease to be degraded + as soon as the log recovery portion is done. If that's the case, clear + the DEGRADED bit so that the PG state is not misleading. + + Signed-off-by: Sage Weil + (cherry picked from commit 3e91fda79d3be771f46394312a6b72ab75660012) + +commit d52e59bad700e8add6cd4cf895817aa8fd7a601a +Merge: 724a51cd44 0048e6a58c +Author: Kefu Chai +Date: Tue Oct 24 11:51:19 2017 +0800 + + Merge pull request #18491 from liewegas/wip-21573-luminous + + luminous: buffer: fix ABI breakage by removing list _mempool member + + Reviewed-by: Kefu Chai + +commit 9f49698fab5de9ade79d3aba957afe82daa4fecc +Author: Sage Weil +Date: Fri Oct 20 08:51:17 2017 -0500 + + os/bluestore/BlueFS: fix race with log flush during async log compaction + + During async log compaction we rely on _flush-and_sync_log to update the + log_writer to jump_to. However, if racing threads are also trying to flush + the log and manage to flush our new log events for us, then our flush will + turn into a no-op, and we won't update jump_to correctly at all. This + results in a corrupted log size a bit later one. + + Fix by ensuring that there are no in-progress flushes before we add our + log entries. Also, add asserts to _flush_and_sync_log to make sure we + never bail out early if jump_to is set (which would indicate this or + another similar bug is still present). + + Fixes: http://tracker.ceph.com/issues/21878 + Signed-off-by: Sage Weil + (cherry picked from commit 4324c8bc7e66633035c15995e3f82ef91d3a5e8c) + +commit 3ad21109ed2df068bb113e8551505b850fbfcb30 +Author: Sage Weil +Date: Wed Oct 11 16:48:41 2017 -0500 + + os/bluestore: handle compressed extents in blob unsharing checks + + If the blob is compressed, we aren't mapping to a range within + the allocated extents, but rather referencing the entire blob. + + Fixes: http://tracker.ceph.com/issues/21766 + Signed-off-by: Sage Weil + (cherry picked from commit eb26cfbfbb2b9b9fe84dfe9c999e2d67fd2661c0) + +commit 8f176f31d091cb53e1baa8c317df9e64bef4d95e +Author: Sage Weil +Date: Sun Oct 22 22:46:00 2017 -0500 + + osd/PG: on recovery done, requeue for backfill + + We were keeping our existing recovery reservation slot (with a high + priority) and going straight to waiting for backfill reservations on + the peers. This is a problem because the reserver thinks we're doing + high priority work when we're actually doing lower-priority backfill. + + Fix by closing out our recovery reservation and going to the + WaitLocalBackfillReserved state, where we'll re-request backfill at the + appropriate priority. + + Signed-off-by: Sage Weil + (cherry picked from commit 09c50e2fe4fc3e8951a483e4b2693f0ffc008dcf) + +commit cc707155ea475836f97791c08c31994fb40e4374 +Author: Sage Weil +Date: Sun Oct 22 22:43:18 2017 -0500 + + osd/PG: move local_reserver recovery cancel to Recovering state transition + + This is easier to follow than canceling the reservation in the next state. + + Signed-off-by: Sage Weil + (cherry picked from commit dde007749bb960122f399b4cb8608a8c1ea4eb9c) + +commit def29079dc623926fed26a4946d6b9a074dfa2ac +Author: Sage Weil +Date: Fri Oct 20 22:55:29 2017 -0500 + + qa/suites/upgrade/jewel-x/parallel: run some jewel after completed upgrade + + Signed-off-by: Sage Weil + +commit 8697eca5ea24c4724f637e4d4f75d3e0d2b95278 +Author: Sage Weil +Date: Fri Oct 20 22:52:45 2017 -0500 + + qa/suites/upgrade/jewel-x/: set up compat weight-set after cluster upgrade + + ...but before we run some client workloads. This will hopefully ensure + that older clients will behave. + + Signed-off-by: Sage Weil + +commit 89ee508ac51839c3d1f71c5e21443e8f2679c59e +Author: Sage Weil +Date: Sat Oct 21 13:03:17 2017 -0500 + + mon/OSDMonitor: add 'osd crush set-all-straw-buckets-to-straw2' + + This is a common and recommended step that users should take once they + have clients that support straw2 (hammer!). Let's make it easy. + + This may result in a small amount of data movement, but usually it is + very little. + + Signed-off-by: Sage Weil + (cherry picked from commit 928770513cbe3a244095e36dcb41c83c0724cfe9) + +commit 94a4ca6c8e4d26465cbefd1492ee05f21b08ff1e +Author: Sage Weil +Date: Sat Oct 21 12:59:16 2017 -0500 + + crush/CrushWrapper: add bucket_set_alg() + + Signed-off-by: Sage Weil + (cherry picked from commit edc411ee4cb7b88a970ccfc9d29b3a3ba15d066c) + +commit 0048e6a58c7cdf3b3d98df575bc47db8397cd5a9 +Author: Sage Weil +Date: Thu Oct 19 16:19:35 2017 -0500 + + buffer: remove list _mempool member + + This broke the C++ ABI by changing the list structure size. Also, it's + not necessary as we can infer the mempool by looking at the other list + contents. We don't (currently) have a need to map an empty list to a + particular mempool and have that state stick. + + Fixes: http://tracker.ceph.com/issues/21573 + Signed-off-by: Sage Weil + (cherry picked from commit 9b92d87d37e3892b0096cd728b46154aed1e2d86) + +commit 3cd334b6264998490e6fb8321fb7242ff82b36e6 +Author: Sage Weil +Date: Thu Oct 19 16:09:10 2017 -0500 + + buffer: allow mempool to be passed into raw* ctors and create methods + + This is more convenient, and also faster than initializing it in + buffer_anon and the immediately moving it elsewhere. + + Drop the optionality of the alignment argument. + + No users yet. + + Signed-off-by: Sage Weil + (cherry picked from commit 481277b8c92368b8cac8fdafe1848720ec1035c2) + +commit 724a51cd442d35c950414b86608c48936b01b78b +Author: Sage Weil +Date: Mon Oct 23 12:05:39 2017 -0500 + + /etc/sysconfig/ceph: remove jemalloc option + + This breaks when used with rocksdb, which is now the default. + + See http://tracker.ceph.com/issues/20557 + + Signed-off-by: Sage Weil + (cherry picked from commit 19efccef248c2d66fe3d7fdac8f56d455f2c7b27) + +commit 95b6bc9ac41c4985ad97a515c4105351a0e6b94d +Author: Sage Weil +Date: Mon Oct 23 11:16:26 2017 -0500 + + etc/default/ceph: remove jemalloc option + + This breaks when used with rocksdb, which is now the default. + + See http://tracker.ceph.com/issues/20557 + + Signed-off-by: Sage Weil + (cherry picked from commit fba2055b4e54128db1e9a83f27bb3526d65d4db7) + +commit e6eeb796b4d24fcf6797519be06aca9771e73028 +Author: Sage Weil +Date: Fri Oct 20 23:14:36 2017 -0500 + + qa/suites/rados/rest/mgr-restful: whitelist more health + + The test is fiddling with OSDs. + + Signed-off-by: Sage Weil + (cherry picked from commit ddf3e9162da542af0c5f025957b8304e7359c924) + +commit 33aa1673316b77b71e473d1ab71cf61587e425a6 +Author: Sage Weil +Date: Tue Sep 5 22:46:48 2017 -0400 + + mon/OSDMonitor: improve crush map validation + + - move into OSDMap method + - ensure that rules exist for each pool + - ensure pool type matches rule type + - ensure rule mask min/max size cover the pool size + + Signed-off-by: Sage Weil + (cherry picked from commit 8f8f0b25058ff7319ec9d023f0eceb5832d0ecff) + +commit d825de7681ba1cff257ba4108d6c22c81e3a6aab +Author: John Spray +Date: Fri Aug 25 11:06:21 2017 +0100 + + mon: more forceful renumbering of legacy ruleset IDs + + Previously, the rules were only modified in the trivial case, + so we continued to potentially have CRUSH maps with the + legacy ruleset functionality in use. + + In order to ultimately remove rulesets entirely, we need + to do this more aggressively, renumbering all the rules + and then updating any pools as needed. + + Signed-off-by: John Spray + (cherry picked from commit 71d4b2bed54371657693cfb999ade44449be0efd) + + Conflicts: + src/mon/OSDMonitor.cc: the check for multiple rules was removed + in master, but not in luminous. once we renumber the legacy ruleset IDs, + it's not need to check for and to warn the user at seeing the case where + 1-to-n mapping from ruleset to rule IDs. + +commit f52d1ad23d97e1ab8c70f9b17b75daa0773698b7 +Author: John Spray +Date: Fri Aug 25 10:42:58 2017 +0100 + + osd: s/crush_ruleset_in_use/crush_rule_in_use/ + + Signed-off-by: John Spray + (cherry picked from commit 675483ecca06686fd4c626bfea33748092aef0c6) + +commit 17d73e5a2e592719df8099450c9cd5f46d6fd582 +Merge: d4158133f7 e25a583323 +Author: Sage Weil +Date: Fri Oct 20 23:10:49 2017 -0500 + + Merge pull request #17773 from xiexingguo/wip-luminous-object-legacy-flag + + luminous: osd/PrimaryLogPG: _delete_oid - fix incorrect 'legacy' flag + + Reviewed-by: Kefu Chai + +commit d4158133f7586472d01d9c6e669db92ddcd2e73d +Merge: 84fbb0ff70 8b4fe14ba0 +Author: Sage Weil +Date: Fri Oct 20 23:10:06 2017 -0500 + + Merge pull request #18362 from kmroz/wip-21543-luminous + + luminous: qa/tasks: prolong revive_osd() timeout to 6 min + +commit 84fbb0ff705df5bc9f164dd5a02bd5a82e6478d7 +Merge: 87ab8d5c80 993d098505 +Author: Sage Weil +Date: Fri Oct 20 23:09:52 2017 -0500 + + Merge pull request #18388 from tchaikov/wip-pr-18346-luminous + + os/filestore: print out the error if do_read_entry() fails + + Reviewed-by: xie xingguo + +commit 87ab8d5c80374a73ad95f9ed9dd8826c54e64e9f +Merge: 00daa8462a fd42f2a9cc +Author: Sage Weil +Date: Fri Oct 20 23:09:17 2017 -0500 + + Merge pull request #18398 from smithfarm/wip-21783-luminous + + luminous: cli/crushtools/build.t sometimes fails in jenkins' make check run + + Reviewed-by: Kefu Chai + +commit 00daa8462a5a337ecc57bd8664bfcc748befeead +Merge: 5a4850c8c6 112069c70d +Author: Sage Weil +Date: Fri Oct 20 23:08:58 2017 -0500 + + Merge pull request #18401 from liewegas/wip-bluestore-label-luminous + + luminous: os/bluestore: ceph-bluestore-tool repair updates and prime-osd-dir support + +commit dbddf21bd3aac284122fd5fc84abdd4c89b12b3e +Author: Sage Weil +Date: Fri Oct 20 22:32:33 2017 -0500 + + messages/MOSDMap: do compat reencode of crush map, too + + If we are reencoding an incremental, and it embeds a crush map, we need + to reencode that in a compatible way too. This is especially true now + because we have the compat crush weight-sets. Otherwise, a client may + learn the crush map through an incremental but not understand choose_args, + and not see/understand the alternate weight set. It will send requests + to the wrong OSDs where they will just get dropped. + + Fixes: http://tracker.ceph.com/issues/21882 + Signed-off-by: Sage Weil + (cherry picked from commit 9eaafc66278d59447b29ce6cc378d0cd3ad14ad4) + +commit c5ccbf1108532547f54f084b8f06c7f5ddf8a4e8 +Author: Ramana Raja +Date: Sun Sep 24 20:23:12 2017 +0530 + + ceph_volume_client: fix setting caps for IDs + + ... that have empty OSD and MDS caps. Don't add a ',' at the + start of OSD and MDS caps. + + Fixes: http://tracker.ceph.com/issues/21501 + Signed-off-by: Ramana Raja + (cherry picked from commit baf3b88800c63ef7467abbc7b54e40c0da669f38) + +commit b382db7cfce84adc897cd68e4cd7a4eb1b40a9f1 +Author: Brad Hubbard +Date: Wed Sep 20 13:15:30 2017 +1000 + + mon/OSDMonitor: mon osd feature checks with 0 up osds + + get_up_osd_features() returns 0 if no osds are up which causes feature + checks to fail. + + Fixes: http://tracker.ceph.com/issues/21471 + + Signed-off-by: Brad Hubbard + (cherry picked from commit 26ba0ba044846d18f9bdfdbee6e2a9c46882c742) + + Conflicts: + src/mon/MonCommands.h + - removed mimic reference + src/mon/OSDMonitor.cc + - removed mimic-only command path + +commit c845db3f8c2a0c2494fbdc9d6cc63c8e0c3b0563 +Author: Sage Weil +Date: Tue Sep 19 18:25:56 2017 -0400 + + osd/OSDMap: ignore xinfo if features == 0 + + Some old bug (e.g., http://tracker.ceph.com/issues/20751) could + result in an UP+EXISTS osd having features==0. If that happens, + we shouldn't crash the mon, which (reasonably) does + + if (osdmap.get_epoch()) { + if (osdmap.get_num_up_osds() > 0) { + assert(osdmap.get_up_osd_features() & CEPH_FEATURE_MON_STATEFUL_SUB); + check_subs(); + } + } + + Signed-off-by: Sage Weil + (cherry picked from commit 8399833f3d221364a8ededb97cd4e1c5a258d924) + +commit e58656005d681ee0e35a25b324321cfeea8c7b3a +Author: Matt Benjamin +Date: Tue Oct 17 17:45:37 2017 -0400 + + rgw_file: explicit NFSv3 open() emulation + + Expect RGW_OPEN_FLAG_V3 in rgw_write(), and if present, attempt + a stateless open inline. + + Required by Ganesha v2.5 and later + + Signed-off-by: Matt Benjamin + (cherry picked from commit 6ed23b4a0cea7e41b4743e27319737af693947ec) + +commit f9850d2148b396032634f7ffa18ae458bd208195 +Author: Adam C. Emerson +Date: Thu Sep 28 13:54:32 2017 -0400 + + rgw: Check bucket Website operations in policy + + Add code to check s3:GetBucketWebsite and s3:PutBucketWebsite + operations against bucket policy. + + Fixes: http://tracker.ceph.com/issues/21597 + Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1493896 + + Signed-off-by: Adam C. Emerson + (cherry picked from commit ceed535957ac186e241fcff26b103cf7efa959b1) + +commit abefb578c345a0ddd7100cae987e582b530d3729 +Author: Adam C. Emerson +Date: Wed Sep 27 15:42:27 2017 -0400 + + rgw: Check bucket CORS operations in policy + + Add code to check s3:GetCORS and s3:PutCORS operations against bucket + policy. + + Fixes: http://tracker.ceph.com/issues/21578 + Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1494140 + + Signed-off-by: Adam C. Emerson + (cherry picked from commit 27eb13fe568cc802feaf69131a21db076bcb6746) + +commit 0b84dd07c41a6d69d99672218c72a4f69c21b040 +Author: Adam C. Emerson +Date: Wed Sep 27 16:08:56 2017 -0400 + + rgw: Check bucket GetBucketLocation in policy + + Add code to check s3:GetBucketLocation against bucket policy. + + Fixes: http://tracker.ceph.com/issues/21582 + Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1493934 + + Signed-off-by: Adam C. Emerson + (cherry picked from commit 79188d679edeb6e2f7ca852fdc4224368412cb72) + +commit 0b3a974be7bb9cd1d25ee9c2b861f38ea721c66b +Author: Casey Bodley +Date: Wed Sep 27 14:26:25 2017 -0400 + + rgw: include SSE-KMS headers in encrypted upload response + + Fixes: http://tracker.ceph.com/issues/21576 + + Signed-off-by: Casey Bodley + (cherry picked from commit a5b3db7acb4150d9d27ba42f72658e418dd444c0) + +commit a3e2ae4925e7e25c213ef37072d576d1f1ffdc13 +Author: Abhishek Lekshmanan +Date: Fri Sep 22 16:11:55 2017 +0200 + + rgw: defer constructing keystone engine unless url is configured + + currently we create a keystone revocation thread even when keystone url + is empty, lets defer the construction of keystone unless the urls are + configured + + Signed-off-by: Abhishek Lekshmanan + (cherry picked from commit 104c2f59011e6b515e3845cce529ee44334e76c0) + +commit 4c18ac124048f72a10d92aecfe1eadabab0a80b4 +Author: Adam C. Emerson +Date: Wed Sep 27 14:35:59 2017 -0400 + + rgw: Check bucket versioning operations in policy + + Add code to check s3:GetBucketVersioning and s3:PutBucketVersioning + operations against bucket policy. + + Fixes: http://tracker.ceph.com/issues/21389 + Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1490278 + + Signed-off-by: Adam C. Emerson + (cherry picked from commit 16de0fc1c5ede961ebd481f13753214a971c206c) + +commit be1ded107ac4e1a1b1515d40553aed3581e0afac +Author: Adam C. Emerson +Date: Thu Sep 14 18:07:15 2017 -0400 + + rgw: Check payment operations in policy + + Add code to check s3:GetBucketRequestPayment and + s3:PutBucketRequestPayment operations against bucket policy. + + Fixes: http://tracker.ceph.com/issues/21389 + Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1490278 + + Signed-off-by: Adam C. Emerson + (cherry picked from commit f9d1ae1d153319e870c3ccaf7afdc92786cdaa3b) + +commit 92d0545781ca2bff39f7bd8e9d63bb8c2d8cb997 +Author: Nathan Johnson +Date: Thu Sep 7 23:27:40 2017 -0500 + + rgw: admin api - add ability to sync user stats from admin api + + Fixes: http://tracker.ceph.com/issues/21301 + Signed-off-by: Nathan Johnson + (cherry picked from commit 828412d573a0b31387fc9f6a879f9a6083535730) + +commit d800747fa18a1872f1d748119bfcc7eff34ae6cf +Author: gaosibei +Date: Tue Sep 26 10:19:22 2017 +0800 + + RGW: fix a bug about inconsistent unit of comparison + + Fixes:http://tracker.ceph.com/issues/21590 + + Signed-off-by: gaosibei + (cherry picked from commit cb39f065d6eba87cf1fc2e99334322bf63092df3) + +commit 14a1dcb1ff70b2a468cb47e7f239b98e45c63a88 +Author: Mark Kogan +Date: Mon Sep 25 09:53:00 2017 +0300 + + rgw: update the usage read iterator in truncated scenario + Fixes: http://tracker.ceph.com/issues/21196 + + Signed-off-by: Mark Kogan + (cherry picked from commit 7306514a813661b77bfcbfc6f534dbabbdd3aa78) + +commit 8b420c4627faca27f61f472597c6f67cca2efa2f +Author: Casey Bodley +Date: Thu Oct 5 16:39:30 2017 -0400 + + rgw: RGWUser::init no longer overwrites user_id + + if an admin op specifies a user_id and does not find a user with that + id, but does find a user based on a later field (email, access key, + etc), RGWUser::user_id will be overwritten with the existing user's id + + when this happens on 'radosgw-admin user create', RGWUser::execute_add() + will modify that existing user, instead of trying to create a new user + with the given user_id (and failing due to the conflicting email, + access key, etc) + + by preserving the original user_id (when specified), this uid conflict + is detected in RGWUser::check_op() and a "user id mismatch" error is + returned + + Fixes: http://tracker.ceph.com/issues/21685 + + Signed-off-by: Casey Bodley + (cherry picked from commit 4e65c9e9af86e832cb96d57d487771aa28251e7c) + +commit fe45086a54d76cd9b913663d4537b36a8a276ed4 +Author: gaosibei +Date: Tue Sep 26 10:44:09 2017 +0800 + + RGW: Multipart upload may double the quota + + Fixes: http://tracker.ceph.com/issues/21586 + + Signed-off-by: Sibei Gao + (cherry picked from commit 97f95e457fb7f9e36031f41e0f2dd3955daedd87) + +commit c3a719da278a830cc1b8101e3d8ef25316da33d7 +Author: Casey Bodley +Date: Thu Oct 12 13:26:29 2017 -0400 + + rgw: 'zone placement' commands validate compression type + + Fixes: http://tracker.ceph.com/issues/21775 + + Signed-off-by: Casey Bodley + (cherry picked from commit 33f8ee8b6fa5605edbbfe12d8e097123e509ad9f) + +commit 352373ff4a333c9b3869c9f168ee14530067907a +Author: Yao Zongyou +Date: Sun Sep 24 22:11:22 2017 +0800 + + rgw_file: fix write error when the write offset overlaps. + + Signed-off-by: Yao Zongyou + (cherry picked from commit 872d73f945364002f0fa31762e6976db5b4b3c19) + +commit 248bd94dab4359dfea34bfa0cbdd16d9a9b76a02 +Author: Orit Wasserman +Date: Mon Oct 9 13:25:36 2017 +0300 + + rgw: disable dynamic resharding in multisite environment + + Fixes:http://tracker.ceph.com/issues/21725 + Signed-off-by: Orit Wasserman + (cherry picked from commit f1ec7a49bde054a19a0a8fd80f37866e1e40379f) + +commit 624b3ac5053dbef008d2e9238c6958d07206f6c3 +Author: Zhang Shaowen +Date: Tue Sep 26 10:00:59 2017 +0800 + + rgw: Torrents are not supported for objects encrypted using SSE-C + + Fixes: http://tracker.ceph.com/issues/21720 + + Signed-off-by: Zhang Shaowen + (cherry picked from commit 9a8ae664da54eb74e74a12cc16a52b0df7df70a0) + +commit 0e65ea466f05a2bc8825e51b32901d74082c1b65 +Author: Matt Benjamin +Date: Tue Oct 3 17:48:29 2017 -0400 + + rgw: release cls lock if taken in RGWCompleteMultipart + + Follows Casey's proposal to conditionally release the lock in + ::complete(), in order to avoid duplicated code in various early + return cases. + + Fixes: http://tracker.ceph.com/issues/21596 + + Signed-off-by: Matt Benjamin + (cherry picked from commit 704f793f08a02760d23eb5778b738bb07be0e7cf) + +commit 17df0ba8f00abbf4b30e0370090251b0c7f6b643 +Author: Enming Zhang +Date: Sat Aug 26 04:46:35 2017 +0800 + + rgw: encryption add exception handling for from_base64 on bad input + + If calling from_base64 with charactors that is not base64 encoded, + rgw will crash. + + Signed-off-by: Enming Zhang + (cherry picked from commit f0b88e51be86d84793b794f6fe87fdda62004a4d) + +commit 46f09e3803ba3c4b463bfa6a2eeb40a0bd7cc0ef +Author: Enming Zhang +Date: Fri Aug 25 19:48:53 2017 +0800 + + rgw: encryption fix the issue when not provide encryption mode + + Now, in RGW, if someone want to upload an object using server-side + encryption with providing customer key or kms key id, but not + specify the encryption mode in the + "x-amz-server-side-encryption-customer-algorithm" or + "x-amz-server-side-encryption", the object will be uploaded + successfully without encryption. + + This is not a correct way to deal with it. It is better to + return error. + + Fixes: http://tracker.ceph.com/issues/21581 + + Signed-off-by: Enming Zhang + (cherry picked from commit f8c4be8a8943096217d89f7c5abd129fa2414b36) + +commit fefbc9fec47cc6858f74b7ea372d39efeb95c61f +Author: Enming Zhang +Date: Fri Aug 25 19:47:21 2017 +0800 + + rgw: encryption SSE-KMS add the details of error msg in response + + Signed-off-by: Enming Zhang + (cherry picked from commit 3f16785daf4b3609f2bff7c107a35f908103e32a) + +commit 2e493e1f7a1f20d2f33e66816cc72d6b5f193b61 +Author: Enming Zhang +Date: Fri Aug 25 19:37:52 2017 +0800 + + rgw: encryption SSE-C add the details of error msg in response + + Signed-off-by: Enming Zhang + (cherry picked from commit 9502549ac2133e969a5f268601b92fd4063c1bd9) + +commit fe0a41b4a921ac3510b344a6edf6e930a2fa2465 +Author: Jason Dillaman +Date: Thu Oct 12 08:58:03 2017 -0400 + + cls/journal: fixed possible infinite loop which could kill the OSD + + Fixes: http://tracker.ceph.com/issues/21771 + Signed-off-by: Jason Dillaman + (cherry picked from commit 9e7475f8fb08b0ef30cad2c0d680cecf331b44ef) + +commit e0d57c544d55f3693f858464f7995b4b30cfa88d +Author: Jason Dillaman +Date: Thu Oct 12 08:56:57 2017 -0400 + + test: ceph_test_cls_journal was dropped when converting to cmake + + Signed-off-by: Jason Dillaman + (cherry picked from commit 5d9cfebabac33b645c6199bda63ff4619e6f538f) + +commit f8bfd9458d44d96d4ef56a28195a9e36fc0190c6 +Author: Jason Dillaman +Date: Sun Oct 15 17:26:25 2017 -0400 + + librbd: batch large object map updates into multiple chunks + + Fixes: http://tracker.ceph.com/issues/21797 + Signed-off-by: Jason Dillaman + (cherry picked from commit 04c5d12acc045731fbf1d0ddce276b5743d9fd89) + +commit 6866abc01be5fd92acc918472a604a3af9894b44 +Author: Jason Dillaman +Date: Fri Oct 13 18:55:47 2017 -0400 + + test/librbd: initial test cases for trim state machine + + Signed-off-by: Jason Dillaman + (cherry picked from commit 4674b578d8233da3b3c145606ed9c0e4e88a540a) + +commit 3b87dea6584010ae05e540825867c9961708ff36 +Author: Jason Dillaman +Date: Fri Oct 13 15:49:00 2017 -0400 + + librbd: tweaks to support testing of trim state machine + + Signed-off-by: Jason Dillaman + (cherry picked from commit 3220480d4a22c81cb74f25e528f2bcf3986342c1) + +commit ce628329641ac6322d5c59055e8db9eecafbfef4 +Author: Jason Dillaman +Date: Fri Oct 13 14:44:40 2017 -0400 + + librbd: combine trim state machine object map batch update states + + The PRE/POST states were previously divided into two halves for handling + the copy-up batch and the direct removal batch. This can be simplified by + just using a single PRE/POST for the entire deletion region. + + Signed-off-by: Jason Dillaman + (cherry picked from commit 72ce4576fa2b562799a5bc78bd423cfabe097d67) + + Conflicts: + src/librbd/operation/TrimRequest.h + +commit 80ff76db5495ae41baf6d4292b6b10c2f789c155 +Author: Jason Dillaman +Date: Fri Oct 13 11:06:38 2017 -0400 + + cls/rbd: object map update now utilizes constant-time bit vector operations + + Signed-off-by: Jason Dillaman + (cherry picked from commit fc99603ea2b5b268181d38507b8b6fb55ae0a6d0) + +commit 5dc46378370da8eede9958a88d6764737d55b09b +Author: Jason Dillaman +Date: Fri Oct 13 11:05:48 2017 -0400 + + common/bit_vector: provide constant time iteration of underlying bufferlist + + Signed-off-by: Jason Dillaman + (cherry picked from commit daa29f7d2b50bc4b44a108a0f91d45ce90fc16e5) + +commit ae4ebaca231e4ae94efc8d445fee792f76e656e1 +Author: Jason Dillaman +Date: Fri Oct 13 11:03:25 2017 -0400 + + common/buffer: expose hidden const deference operator + + Signed-off-by: Jason Dillaman + (cherry picked from commit f35947e3c6661dfe9f951896bc54bc8da158b490) + +commit b60d8cf0cbe56500af98b3d3857245e94d904b19 +Author: Jason Dillaman +Date: Mon Oct 2 17:28:04 2017 -0400 + + osd: additional protection for out-of-bounds EC reads + + Fixes: http://tracker.ceph.com/issues/21629 + Signed-off-by: Jason Dillaman + (cherry picked from commit 881f2a02aecef0cd6bf8ec3e5045b76c8441e832) + +commit 8f87fa2d3af44840a3044cd736a2f8da0b602b07 +Author: John Spray +Date: Sat Sep 23 13:21:47 2017 -0400 + + mgr: fix crashable DaemonStateIndex::get calls + + This function was recently fixed to return null + on missing entries: handle that properly. + + Fixes: http://tracker.ceph.com/issues/17737 + Signed-off-by: John Spray + (cherry picked from commit ade4827d86bb2bc79466a2da040475651c2aae0d) + +commit def3d55eb71e0c62b7fd523865c2ba196342aa1a +Author: huangjun +Date: Fri Oct 6 11:58:50 2017 +0800 + + qa/suites/rest/basic/tasks/rest_test: whiltelist OSD_DOWN + + Fixes: http://tracker.ceph.com/issues/21425 + Signed-off-by: huangjun + (cherry picked from commit 838e12cfc84b386fd4eae09e526b078286f0771e) + +commit 20c9e641f7096bf3e208b4d6d28494603eeba891 +Author: huangjun +Date: Tue Sep 19 16:13:34 2017 +0800 + + qa/suites/rest/basic/tasks/rest_test: more whitelisting + + Fixes: http://tracker.ceph.com/issues/21425 + + Signed-off-by: huangjun + (cherry picked from commit 4d30d02e522039461762d51a3a826a337214ca7e) + +commit 5a4850c8c66b75d02fc2597e1ca744c6b0303836 +Merge: 17c6f35703 03e2a68e43 +Author: Sage Weil +Date: Thu Oct 19 16:43:39 2017 -0500 + + Merge pull request #17692 from smithfarm/wip-21176-luminous + + build/ops: python-numpy-devel build dependency for SUSE + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Amit Kumar + +commit 17c6f357030315040f8af95e751921c475b32289 +Merge: 97b30154f8 5aa445897c +Author: Sage Weil +Date: Thu Oct 19 16:42:45 2017 -0500 + + Merge pull request #17730 from xiexingguo/wip-pr-17371 + + luminous: mon, osd: per pool space-full flag support + + Reviewed-by: Sage Weil + +commit 97b30154f884f4ea987e3330799bf412b08ba3e4 +Merge: 0a8f1540ba fb7e6a581d +Author: Sage Weil +Date: Thu Oct 19 16:42:07 2017 -0500 + + Merge pull request #17779 from smithfarm/wip-rh-74-luminous + + tests: CentOS 7.4 is now the latest + + Reviewed-by: Ken Dreyer + +commit 0a8f1540ba08bb79e9ec8f3358490a31be734b2b +Merge: 5ca7af785a d7cde5f316 +Author: Sage Weil +Date: Thu Oct 19 16:41:34 2017 -0500 + + Merge pull request #17863 from smithfarm/wip-21343-luminous + + luminous: mon: DNS SRV default service name not used anymore + +commit 5ca7af785a6695121f841909a6118a5103795d99 +Merge: 37d7cfc9f1 49e030da55 +Author: Sage Weil +Date: Thu Oct 19 16:40:45 2017 -0500 + + Merge pull request #17864 from smithfarm/wip-21438-luminous + + luminous: core: Daemons(OSD, Mon...) exit abnormally at injectargs command + + Reviewed-by: Kefu Chai + +commit 37d7cfc9f136c9604a1e53604a8e0d939eee60db +Merge: 223b0956b9 077b3601d6 +Author: Sage Weil +Date: Thu Oct 19 16:40:18 2017 -0500 + + Merge pull request #17866 from smithfarm/wip-21320-luminous + + luminous: mgr: Quieten scary RuntimeError from restful module on startup + +commit 223b0956b93504881a5f06d2589a0b138abf37a9 +Merge: 4f1a7a82a1 82651da2d5 +Author: Sage Weil +Date: Thu Oct 19 16:39:53 2017 -0500 + + Merge pull request #17951 from smithfarm/wip-21548-luminous + + luminous: tests: ceph_manager: bad AssertionError: failed to recover before timeout expired + +commit 4f1a7a82a1134d6688537653ac07d924275e1f3a +Merge: 37b13acabe a670921f4f +Author: Sage Weil +Date: Thu Oct 19 16:39:32 2017 -0500 + + Merge pull request #18342 from xiexingguo/wip-pr-18318 + + luminous: bluestore: using bluestore_compression_min_blob_size instead of bluestore_compression_max_blob_size to config comp_min_blob_size + + Reviewed-by: Sage Weil + +commit 112069c70df5c7719af9291a8de2b4fcf48d049a +Author: Sage Weil +Date: Mon Oct 16 17:46:03 2017 -0500 + + os/bluestore: fsync on _write_bdev_label + + Signed-off-by: Sage Weil + (cherry picked from commit 7aca8af6625156eeaa936629f83ede33d3bbe866) + +commit 1e9aa60e3f6acca6649f5d5d51421cc2bd51e55a +Author: Sage Weil +Date: Mon Oct 16 17:45:54 2017 -0500 + + ceph-bluestore-tool: implement 'set-label-key' and 'rm-label-key' + + Signed-off-by: Sage Weil + (cherry picked from commit 4b468c989f9e8609e7f640cfa4385c454ae6dc17) + +commit 170499a1e570bc110be08ca2a38063229fee75dc +Author: Sage Weil +Date: Mon Oct 16 17:42:29 2017 -0500 + + os/bluestore: make _write_bdev_label static and public + + Signed-off-by: Sage Weil + (cherry picked from commit 0b0550c967ae0d6ae49641c6859f0b63267e2cd9) + +commit 895a277568f902f1c00b9df475ea56b00b115841 +Author: Sage Weil +Date: Thu Oct 12 11:40:11 2017 -0500 + + doc/man/8/ceph-bluestore-tool: add man page + + Signed-off-by: Sage Weil + (cherry picked from commit 7b91e50dbd289e65f10cb98c5eea9f3171c2d1f1) + +commit 24b3b7960e5c5d118aacb63753c794466e801f84 +Author: Sage Weil +Date: Fri Oct 13 09:20:53 2017 -0500 + + common/options: document 'key', 'keyfile', 'keyring' + + Signed-off-by: Sage Weil + (cherry picked from commit cdee8b26b9d93189dcd2875038361fb59ed21ba2) + +commit 508889d4a7aa93f3bbe13ad8bfc181f3fc9ed2a9 +Author: Sage Weil +Date: Thu Oct 12 13:54:06 2017 -0500 + + ceph-bluestore-tool: fix show-label to use dev name as key + + Signed-off-by: Sage Weil + (cherry picked from commit 4785345ace7b675a0e1c34c457aad1103aab5a1d) + +commit 6e17557f288aa7686b8b68c1df31a9a8c26912ac +Author: Sage Weil +Date: Thu Oct 12 08:48:59 2017 -0500 + + ceph-bluestore-tool: drop "action ..." print + + Signed-off-by: Sage Weil + (cherry picked from commit 5e486c2bd3414f4ee6519574d4d4584618144867) + +commit a128aad320e99c396ff17bcaadb48866667b87df +Author: Sage Weil +Date: Thu Oct 12 08:48:46 2017 -0500 + + ceph-bluestore-tool: only infer devs if devs.empty() + + Signed-off-by: Sage Weil + (cherry picked from commit 2d217367af0df5e18394b1c6179d92db3c0b4448) + +commit 24d86603faf4a826684a5e124ed9b447de0b50e8 +Author: Sage Weil +Date: Wed Oct 11 17:36:40 2017 -0500 + + ceph-bluestore-tool: implement prime-osd-dir + + This populates an osd dir based on the metadata in a bluestore + device label. + + Signed-off-by: Sage Weil + (cherry picked from commit 72ee7e29fb77f581a537b1ff2b274c9f3a7de53f) + +commit 0f43e6907cfd27f2d6791b896480f2c537115212 +Author: Sage Weil +Date: Wed Oct 11 16:33:54 2017 -0500 + + os/bluestore: keep meta items for extra bdev paths + + Signed-off-by: Sage Weil + (cherry picked from commit 8d07fa5ad0772b4d979dc10695d230074d1f1e69) + +commit bb9b70c33a3e013ef78d931fd865ab44c255d772 +Author: Sage Weil +Date: Wed Oct 11 17:33:00 2017 -0500 + + vstart.sh: specify block files + + This is mostly just to test ceph-bluestore-tool prime-osd-dir. + + Signed-off-by: Sage Weil + (cherry picked from commit d4e0c46d89c2ebe6ae5f9af1c909a09daaea9687) + +commit ce83461a60cea6026a7abdd51b2a7a35302392c6 +Author: Sage Weil +Date: Wed Oct 11 16:32:16 2017 -0500 + + osd: store osd cephx key in "osd_key" meta slot + + Note that this *only* works with --mkkey (deprecated except for + vstart.sh) and --key . If you write out a full keyring before + running --mkfs it doesn't get populated. Users should pass --key + instead of --keyring in that case. + + Signed-off-by: Sage Weil + (cherry picked from commit 65b707358e5442eab0fd6ba4d05d9f0a7adc969f) + +commit 60d43cb51d7b05cc778cda6b5fcd368db618e3db +Author: Sage Weil +Date: Wed Oct 11 16:17:09 2017 -0500 + + ceph-osd: mkkey before mkfs + + Signed-off-by: Sage Weil + (cherry picked from commit 75400ead3061ba1e2820878783fe7b1ddcd9a5fb) + +commit faad6afa3441b5ce9455a4de0535baef78b8e7de +Author: Sage Weil +Date: Wed Oct 11 15:53:56 2017 -0500 + + os/bluestore: store meta values in main device label + + Signed-off-by: Sage Weil + (cherry picked from commit 33b8e8e86f6bdbee120729561c6cf433d286e2f8) + +commit 1027e57d9af374f1fa1dee2a585dfe539dc4f5eb +Author: Sage Weil +Date: Sun Sep 10 15:37:10 2017 -0400 + + os/bluestore: fsck: fix error prefixes + + __func__ is now _fsck instead of fsck + + Signed-off-by: Sage Weil + (cherry picked from commit 7d381af7aed14e08823eca4d0b12de14456ef6a1) + +commit 68642c43384d5a30155cd67129267d38d6cc3a06 +Author: Sage Weil +Date: Thu Sep 7 12:29:32 2017 -0400 + + os/bluestore: allow repair invocation + + Signed-off-by: Sage Weil + (cherry picked from commit 659fcd279ae82c90172fd6ca07a032d75fe50c96) + +commit fd42f2a9ccc5016660b9c205f6aa0104ffdd0b10 +Author: Kefu Chai +Date: Wed Oct 11 17:45:19 2017 +0800 + + crushtool: print error message to stderr not dout(1) + + in hope to fix the mysterious test failure where cli/crushtool/build.t + prints nothing when error message is expected. + + Fixes: http://tracker.ceph.com/issues/21758 + Signed-off-by: Kefu Chai + (cherry picked from commit dc78d40af77ff8d5e4f3d39497e6e3c98c309306) + +commit 6902627cb3cb41547be5134aba5c10a39b78163a +Author: Sage Weil +Date: Sat Jul 22 23:51:47 2017 -0400 + + crush/CrushWrapper: fix output arg for find_{takes,roots}() + + Signed-off-by: Sage Weil + (cherry picked from commit 60b9cfafc3128cc0cb1f89137221fcc46fcd3802) + +commit 993d09850580ca7a697c1a221a8e258f4cd64237 +Author: Kefu Chai +Date: Tue Oct 17 17:08:59 2017 +0800 + + os/filestore: print out the error if do_read_entry() fails + + Signed-off-by: Kefu Chai + (cherry picked from commit 42e85fe35d2fe8f3e99bd110021fd5157cf589d7) + +commit 410434b3d23c54971f3e2c4df179b139979a33c0 +Author: Yan, Zheng +Date: Thu Oct 19 11:32:38 2017 +0800 + + mds: fix race in PurgeQueue::wait_for_recovery() + + After PurgeQueue::wait_for_recovery() locks the mutex, purge queue + may have already been recovered. + + Signed-off-by: "Yan, Zheng" + +commit ee96c34a4d1fc48dec6a1afb4fe98634805c02ce +Author: Yan, Zheng +Date: Wed Sep 27 19:59:47 2017 +0800 + + mds: open purge queue when transitioning out of standby replay + + MDS opens the purge queue when it starts standby replay. This is + wrong because purge queue may change during standby replay. + + Fixes: http://tracker.ceph.com/issues/19593 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit e515e84f69eeab90ea5c5831f7d3e684e48fb62e) + +commit 681cddfa420a0f5f4335564843cdfdb1a4f2371d +Author: Yan, Zheng +Date: Wed Sep 27 18:49:55 2017 +0800 + + mds: always re-probe mds log when standby replay done + + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 82c1f5fcfd151aa1e8c39c7f198abec9bf807b65) + +commit 37b13acabe3a0cbdcd88c06f49548146d2c69c14 +Merge: 90b6067f6f f30e9a5e6b +Author: vasukulkarni +Date: Tue Oct 17 15:47:31 2017 -0700 + + Merge pull request #18363 from ceph/wip-yuriw-21822-luminous + + tests - ceph-ansible vars additions + +commit f30e9a5e6bd47129f8a35c1f9067216cfe8a6a70 +Author: Yuri Weinstein +Date: Tue Oct 17 13:14:36 2017 -0700 + + tests - ceph-ansible vars additions + added symlinks for distros + + Fixes http://tracker.ceph.com/issues/21822 + Signed-off-by: Yuri Weinstein + +commit 90b6067f6f5cbfaf48afb08bd17cb9e5f46a5af9 +Merge: 1718fd969c ab53002186 +Author: Sage Weil +Date: Tue Oct 17 16:31:25 2017 -0500 + + Merge pull request #17975 from dillaman/wip-systemd-rbd-mirror-luminous + + luminous: systemd: rbd-mirror does not start on reboot + + Reviewed-by: Sébastien Han + Reviewed-by: Mykola Golub + +commit 1718fd969c32cc09cfc208a18455291ab2886e93 +Merge: 345286b775 9d12fa5e6d +Author: Sage Weil +Date: Tue Oct 17 16:30:46 2017 -0500 + + Merge pull request #18234 from jdurgin/wip-filestore-rocksdb-luminous + + filestore: set default readahead and compaction threads for rocksdb + + Reviewed-by: Sage Weil + Reviewed-by: Amit Kumar + +commit 345286b775fd269eb9f13cfcb8d0aab533dbfbc6 +Merge: 9223ace029 ab644b89e0 +Author: Sage Weil +Date: Tue Oct 17 16:29:38 2017 -0500 + + Merge pull request #18236 from tchaikov/wip-21609-luminous + + luminous: mon,osd: fix "pg ls {forced_backfill, backfilling}" + + Reviewed-by: Sage Weil + +commit 9223ace02909d6551f6126181d11bf00bab1cfe3 +Merge: fdefc8094e 099801e616 +Author: Sage Weil +Date: Tue Oct 17 16:29:08 2017 -0500 + + Merge pull request #18257 from smithfarm/wip-21699-luminous + + luminous: mgr status module uses base 10 units + + Reviewed-by: John Spray + +commit 8b4fe14ba0e9f8e1b09ae4112dbebd370136bd3f +Author: Kefu Chai +Date: Fri Sep 22 10:58:40 2017 +0800 + + qa/tasks: prolong revive_osd() timeout to 6 min + + bluestore_fsck_on_mount and bluestore_fsck_on_mount_deep are enabled by + default. and bluestore is used as the default store backend. it takes + longer to perform the deep fsck with verbose log. so prolong the + revive_osd()'s timeout from 150 sec to 360 sec. + + Fixes: http://tracker.ceph.com/issues/21474 + Signed-off-by: Kefu Chai + (cherry picked from commit 42be200c564184feff1056b7771ce3c1b2cc5527) + +commit a670921f4fb2e15f5ea44e9dda238c2eef96897c +Author: linbing +Date: Mon Oct 16 09:57:23 2017 +0800 + + bluestore: using bluestore_compression_min_blob_size instead of bluestore_compression_max_blob_size to config comp_min_blob_size + + Signed-off-by: linbing + (cherry picked from commit da8dc4d4c60f5fd66f6eb2ba7257c52948f24681) + +commit fdefc8094ed639c859db5b4eba858cfe05329e5c +Merge: bac56cccf9 3a94d69264 +Author: Kefu Chai +Date: Tue Oct 17 15:19:01 2017 +0800 + + Merge pull request #18339 from tchaikov/wip-gen-state-diagram-luminous + + doc: build with multiple-line state transition function signature + + Reviewed-By: Nathan Cutler + +commit bac56cccf9e3fb44a0ed85c151a8b1a0fb5fa4b0 +Merge: 61aca44033 37ddfc61c3 +Author: Kefu Chai +Date: Tue Oct 17 12:44:04 2017 +0800 + + Merge pull request #17835 from rzarzynski/wip-rgw-per-storage-policy-stats-luminous + + luminous: rgw: add support for Swift's per storage policy statistics + + Reviewed-by: Matt Benjamin + Reviewed-by: Casey Bodley + +commit 3a94d6926403ac1f55a9d5723f6b07486f35060b +Author: Alfredo Deza +Date: Fri Oct 6 08:57:01 2017 -0400 + + doc parse two lines for getting the context + + So that signatures can get parsed when they are split like: + + PG::RecoveryState::RepWaitBackfillReserved::react( + const RemoteReservationCanceled &evt) + + Signed-off-by: Alfredo Deza + (cherry picked from commit 9e2a52ccec4a5c833dd861ae528d52efbc0f9e5f) + +commit ddd88ff365c5399d88890abe1608f12c4a960488 +Author: Alfredo Deza +Date: Fri Oct 6 08:03:36 2017 -0400 + + doc raise exceptions with a base class + + Although valid in very old Python, it is no longer possible to raise + "bare" exceptions without a class. + + Signed-off-by: Alfredo Deza + (cherry picked from commit 347b7b1f193f97a3577a971e074a23366b0c8617) + +commit 8b3e9917a70452cc4182aae469aac331314df4e6 +Author: Jason Dillaman +Date: Tue Sep 26 15:46:28 2017 -0400 + + rbd-mirror: ensure forced-failover cannot result in sync state + + If the local image already exists and the local image isn't + registered in the remote journal, it should be assumed that + it's already in the replaying state so it can verify the + ancestry to detect split-brains. + + Fixes: http://tracker.ceph.com/issues/21559 + Signed-off-by: Jason Dillaman + (cherry picked from commit bc96c53d947625d12f7b30a45da68a96c09faf70) + +commit d7da395e5196eae13b31c018bf503b9e0c169bda +Author: Jason Dillaman +Date: Tue Sep 26 14:21:42 2017 -0400 + + rbd-mirror: forced-promotion should interrupt replay delay to shut down + + Fixes: http://tracker.ceph.com/issues/21559 + Signed-off-by: Jason Dillaman + (cherry picked from commit e3b58312572ceb7abc675128dfb231c9b888655e) + +commit 4ebd4b39282f715a30a849c01510a281faec2ca6 +Author: Jason Dillaman +Date: Fri Sep 29 15:11:38 2017 -0400 + + librbd: snapshots should be created/removed against data pool + + Fixes: http://tracker.ceph.com/issues/21567 + Signed-off-by: Jason Dillaman + (cherry picked from commit 5a3baf1bd852d6c5d0de10a33839658789edc4eb) + +commit 34cd96d3425dcea4053ce0514632194dd7b2eaab +Author: Casey Bodley +Date: Thu Oct 12 11:25:13 2017 -0400 + + cls/rgw: increment header version to avoid overwriting bilog entries + + Fixes: http://tracker.ceph.com/issues/21772 + + Signed-off-by: Casey Bodley + (cherry picked from commit 081ba106a910583851b9acdcaf5971e37a439329) + +commit 972916bf69192a2c504bf855e2af0480815ecc91 +Author: Casey Bodley +Date: Wed Oct 11 19:27:55 2017 -0400 + + test/rgw: add test_multipart_object_sync + + Signed-off-by: Casey Bodley + (cherry picked from commit 1c14d4daf9201d58b1d0038bdd733a16275e037a) + +commit 695d7ad51179d4f1f5e4168dec3758e3ffa4fe4d +Author: Patrick Donnelly +Date: Sat Oct 14 13:47:53 2017 -0700 + + mds: prevent trim count from underflowing + + Fixes: http://tracker.ceph.com/issues/21807 + + Signed-off-by: Patrick Donnelly + (cherry picked from commit 452bdd8b35643ed82d8614efcd4ca22688392eb6) + +commit 61aca440334219d5d04df632812dbdf164de3fbc +Merge: 462b93ecc5 bb92cc93ac +Author: Matt Benjamin +Date: Sun Oct 15 14:30:57 2017 -0400 + + Merge pull request #17834 from rzarzynski/wip-rgw-21148-luminous + + luminous: rgw: add support for Swift's reversed account listings + +commit 462b93ecc5e8caf7b0c35dd83dbbe7e33cc015d9 +Merge: c4ac0d64a9 119995a8f0 +Author: Matt Benjamin +Date: Sun Oct 15 12:48:02 2017 -0400 + + Merge pull request #17811 from smithfarm/wip-21456-luminous + + luminous: rgw: wrong error message is returned when putting container with a name that is too long + +commit c4ac0d64a95a6f9ec974446a6971f9d60ab67b9f +Merge: 5695829ffd 957e221f1f +Author: Marcus Watts +Date: Fri Oct 13 20:42:16 2017 -0400 + + Merge pull request #17832 from rzarzynski/wip-rgw-18977-luminous + + luminous: rgw: list_objects() honors end_marker regardless of namespace. + +commit b99acfd6018178ad8cd7db187d6892780f82a276 +Author: Yan, Zheng +Date: Thu Oct 12 12:01:35 2017 +0800 + + mds: keep CInode::STATE_QUEUEDEXPORTPIN state when exporting inode + + Fixes: http://tracker.ceph.com/issues/21768 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 1d160098a93092904026b62326fd9890de48044a) + +commit 2973b6d4184cb5c36f8823010ab83a2b8ebb12d0 +Author: Yan, Zheng +Date: Tue Oct 10 17:47:33 2017 +0800 + + mds: update client metadata for already open session + + session opened by Server::prepare_force_open_sessions() has no + client metadata. + + Fixes: http://tracker.ceph.com/issues/21746 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 9d5c92a3367369789836d8669aa421074c69e4f3) + +commit f353a1e805f4be3e31d8c3346f0f41fa2619c770 +Author: Yan, Zheng +Date: Mon Oct 9 18:00:38 2017 +0800 + + osdc/ObjectCacher: limit memory usage of BufferHead + + when doing small size random writes, size of data structures that used + for tracking dirty data can be larger than the dirty data size. + + Fixes: http://tracker.ceph.com/issues/21726 + Signed-off-by: "Yan, Zheng" + (cherry picked from commit 27db0255992354e15b4285891a33fede6849cf62) + +commit 5695829ffd72a03f5611393c6037caf73ff1e813 +Merge: d3804d216d 6d032e6ce3 +Author: Josh Durgin +Date: Fri Oct 13 15:29:45 2017 -0700 + + Merge pull request #18275 from ceph/wip-yuriw-21776-luminous + + tests - Removed `distors` and added `supported` to run on all support… + + Reviewed-by: Vasu Kulkarni + Reviewed-by: Josh Durgin + +commit 6d032e6ce33fe153958a445066a2a7ba00ffd260 +Author: Yuri Weinstein +Date: Thu Oct 12 13:36:20 2017 -0700 + + tests - Removed `distors` and added `supported` to run on all supported OSs + Added `openstack` fragment to run on vps + Forced/hard-coded `machine_type=vps` + Added `print`s + Added only centos and ubuntu latest to support systemd (in distros dir) + Added `ceph osd set-require-min-compat-client luminous` + + Fixes http://tracker.ceph.com/issues/21776 + + Signed-off-by: Yuri Weinstein + +commit d3804d216d21d7e2b12e69eae1c1ef293229a6ca +Merge: c9b493d2db 28e7d5645e +Author: Sage Weil +Date: Fri Oct 13 14:34:56 2017 -0500 + + Merge pull request #18050 from xiexingguo/wip-pr-17610 + + luminous: os/bluestore: set bitmap freelist resolution to min_alloc_size + + Reviewed-by: Sage Weil + +commit c9b493d2db39765c6ecfb31a3c9e8a38465e6ba0 +Merge: 09d597d34a b435af1137 +Author: Sage Weil +Date: Fri Oct 13 14:34:30 2017 -0500 + + Merge pull request #18247 from liewegas/wip-seesaw-warning-luminous + + qa/suites/rados/singleton/all/mon-seesaw: whitelist MON_DOWN + +commit 2e6b29084ae505098fe6889d69133a8527c773be +Author: Kefu Chai +Date: Fri Sep 1 17:32:22 2017 +0800 + + arch/arm: set ceph_arch_aarch64_crc32 only if the build host supports crc32cx + + HWCAP_CRC32 is defined by the linux kernel source. so it's defined as + long as the linux kernel source is new enough. but the compiler on the + building host is not necessarily able to build the `crc32cx` + instruction. if we happen to have an incapable compiler on a machine with + recent linux kernel source, the dummy "ceph_crc32c_aarch64()" will be + selected by `ceph_choose_crc32()`. and it always return 0. + + See-also: http://tracker.ceph.com/issues/19705 + Signed-off-by: Kefu Chai + (cherry picked from commit 8a077bd2a93d3e12e20013e76e57a35240f5f481) + +commit 7d2b7e8e3113daf40fd56d8258294d45b854ca55 +Author: Adam C. Emerson +Date: Tue Oct 10 16:21:48 2017 -0400 + + rgw: Remove assertions in IAM Policy + + A couple of them could be triggered by user input. + + Signed-off-by: Adam C. Emerson + (cherry picked from commit b3118cabb8060a8cc6a01c4e8264cb18e7b1745a) + +commit 09d597d34a1d567dc5350570f044eaa3d74a024f +Merge: 7fdd9a6dac 37ea1976b3 +Author: Sage Weil +Date: Thu Oct 12 14:57:38 2017 -0500 + + Merge pull request #18253 from ceph/wip-yuriw-21660_2-luminous_1 + + tests - Added yaml fragmet to cover testing... + +commit 7fdd9a6dac4e047ae710dfaad38d5dbe3caa2634 +Merge: 8ad4617f3d 2b7bd94f13 +Author: Sage Weil +Date: Thu Oct 12 14:57:23 2017 -0500 + + Merge pull request #18254 from ceph/wip-yuriw-21660_3-luminous_1 + + tests - Added yaml fragmet to cover testing... + +commit ab644b89e0aad7b0c1a26ed3b9a2f3ea685c7a15 +Author: Kefu Chai +Date: Wed Oct 11 11:45:33 2017 +0800 + + qa: s/backfill/backfilling/ + + it's renamed "backfilling" in 4015343f . + + Signed-off-by: Kefu Chai + (cherry picked from commit e21114274f6a2742748a5a9b965d415241c80f3c) + +commit 099801e616c3c9e8501f153501b74d5220383f33 +Author: Yanhu Cao +Date: Wed Oct 11 09:31:14 2017 +0800 + + mgr/status: fix ceph fs status returns error + + Fixes: http://tracker.ceph.com/issues/21752 + + Signed-off-by: Yanhu Cao + (cherry picked from commit 4a90daa700142ed1f58f5f2a2cc85f3049bccd64) + +commit 0618f19128d0eb04004e65e6eab477b7b1b7fb6a +Author: John Spray +Date: Wed Aug 30 20:32:11 2017 +0100 + + mgr/status: format byte quantities in base 2 multiples + + Fixes: http://tracker.ceph.com/issues/21189 + Signed-off-by: John Spray + (cherry picked from commit 2a5ae210928f8c9f1e3b72863c277ae5655bb771) + +commit 2b7bd94f139251b4373a9662e5add86456566486 +Author: Yuri Weinstein +Date: Wed Oct 11 13:12:45 2017 -0700 + + tests - Added yaml fragmet to cover testing... + ... for http://tracker.ceph.com/issues/21660#note-17 + + for luminous-x (see similar #18200, #18226) + + Signed-off-by: Yuri Weinstein + (cherry picked from commit e7fdda31803cd37604a9296a876320bfcb849d34) + Signed-off-by: Yuri Weinstein + +commit 37ea1976b30e4e03ac535ee353c3a5277c53dbd3 +Author: Yuri Weinstein +Date: Tue Oct 10 13:48:33 2017 -0700 + + tests - Added yaml fragmet to cover testing... + ... for http://tracker.ceph.com/issues/21660#note-17 + for jewel-x (see similar https://github.com/ceph/ceph/pull/18200) + + Signed-off-by: Yuri Weinstein + (cherry picked from commit b552e636ddd8ce2cfb605b4c124440d8dd1e8e47) + Signed-off-by: Yuri Weinstein + +commit 8ad4617f3dea71984d0d2a6119e9e51ef76779fd +Merge: edf28e6912 59a5a10904 +Author: Sage Weil +Date: Wed Oct 11 12:20:04 2017 -0500 + + Merge pull request #18025 from liewegas/wip-recovery-preemption-luminous + + luminous: osd: allow recovery preemption + + Reviewed-by: Greg Farnum + +commit edf28e6912c183de4d955f125ef18d8a52594f59 +Merge: 91cb216c01 3354937698 +Author: Sage Weil +Date: Wed Oct 11 12:19:45 2017 -0500 + + Merge pull request #18154 from ktdreyer/luminous-gitignore-debian-patches + + luminous: .gitignore: allow debian .patch files + +commit 91cb216c01eca89ff7e338328d64216998effd16 +Merge: 27d3f8c748 b3f9439cfd +Author: Sage Weil +Date: Wed Oct 11 12:19:08 2017 -0500 + + Merge pull request #18189 from tchaikov/wip-retry-oserror-luminous + + luminous: ceph-disk: retry on OSError + +commit 27d3f8c748de33a35c5006513d198bbcbee19b45 +Merge: a33dd01164 f60a942023 +Author: Sage Weil +Date: Wed Oct 11 12:18:27 2017 -0500 + + Merge pull request #18227 from liewegas/wip-bluestore-mempool-luminous + + luminous: os/bluestore: several mempool accounting fixes + + Reviewed-by: xie xingguo + +commit b435af1137ede418740d2dcf39114d8476775fd8 +Author: Sage Weil +Date: Wed Oct 11 08:24:50 2017 -0500 + + qa/suites/rados/singleton/all/mon-seesaw: whitelist MON_DOWN + + Mgr can get marked down when mon weirdness is happening. + + Signed-off-by: Sage Weil + (cherry picked from commit 0a886bc9f3e9805de04c8c60bd3d78b937737b96) + +commit 51c6f0def379ba013a82204398a021663f1b5d56 +Author: Kefu Chai +Date: Tue Oct 10 20:32:08 2017 +0800 + + mon/PGMap: let pg_string_state() return boost::optional<> + + better to be specific, so we don't run into the same problem even we + are using the MSB of uint64_t for a pg state bit in future. we could, + however use uint64_t(-1) to indicate the pg_string_state()'s failure to + parse the state string, because pg_string_state() only translate a + single state a time. but it's always better to be explicit than + implicit. + + Fixes: http://tracker.ceph.com/issues/21609 + Signed-off-by: Kefu Chai + (cherry picked from commit 260f87a9f1c4e32ff3a596ea341ad07a901f44a9) + + Conflicts: + src/mon/PGMap.cc + src/osd/osd_types.cc + src/osd/osd_types.h: trivial resolution + +commit 9d12fa5e6dad5492491f4718ba7c593077d984a6 +Author: Josh Durgin +Date: Tue Oct 10 19:54:31 2017 -0400 + + common/options: enable multiple rocksdb compaction threads for filestore + + One of the major benefits of rocksdb over leveldb is multithreaded + compaction. The default of 1 thread does not provide much benefit, and + is insufficient for heavy rgw workloads. + + For high-write and delete omap workloads I've seen up to 8 compaction + threads be used. There's little overhead to having a higher max than + are needed, so set the default to 8. + + Signed-off-by: Josh Durgin + (cherry picked from commit 023fa810aa6b3af305e9027e3f717e54d1bb2712) + + Conflicts: + src/common/options.cc (trivial) + +commit 6f2f8cdc6a6fa64928fd2d5459b4974e281d857e +Author: Mark Nelson +Date: Thu Sep 21 17:21:16 2017 -0500 + + common/options.cc: Set Filestore rocksdb compaction readahead option. + + fixes: http://tracker.ceph.com/issues/21505 + + Signed-off-by: Mark Nelson + (cherry picked from commit 66567e573836c570040c8d8148c34b0cf9dc9ce2) + +commit f60a942023088cbba53a816e6ef846994921cab3 +Author: Sage Weil +Date: Thu Sep 28 08:02:50 2017 -0400 + + os/bluestore: move several buffer{ptr,list}s into cache_other mempool + + Signed-off-by: Sage Weil + (cherry picked from commit 80c60fcde22cf1269ada45d0914543b8f7d49b3e) + +commit 37dd32f449bf2b0aaa3dbcba5cc06da076adbb1e +Author: Sage Weil +Date: Thu Sep 28 08:14:37 2017 -0400 + + os/bluestore: put new attrs in correct mempool too + + Signed-off-by: Sage Weil + (cherry picked from commit e7762ea1477e861ebc738aa0588a01c0da883d62) + +commit dea2c1e6704c40de11c041e9982e9a9f7d9d4cb3 +Author: Sage Weil +Date: Fri Sep 22 08:09:37 2017 -0400 + + os/bluestore: put attrs in mempool + + Signed-off-by: Sage Weil + (cherry picked from commit ef6524436fe095f94fce421ce26ed4c64e1424fe) + +commit c2ed1f9b1801e43cf1d345da4d4876de5334cc40 +Author: Sage Weil +Date: Fri Sep 22 08:08:52 2017 -0400 + + buffer: add ptr::[try_]reassign_to_mempool + + Signed-off-by: Sage Weil + (cherry picked from commit 937379d57a0f8097ae713adf714ba0414d36dffe) + +commit a33dd01164bb18b24a0909c9419e15fcd2e79446 +Merge: 9e48df69de c0a1168ec2 +Author: Josh Durgin +Date: Tue Oct 10 13:17:46 2017 -0700 + + Merge pull request #18200 from ceph/wip-yuriw-21660-luminous + + tests - Added yaml fragmet to cover testing + + Reviewed-by: Josh Durgin + Reviewed-by: Jason Dillaman + +commit c0a1168ec2bacf6d78041f3ae49bfe6fff669913 +Author: Yuri Weinstein +Date: Mon Oct 9 12:51:59 2017 -0700 + + tests - Added yaml fragmet to cover testing on standanone client.4 + for http://tracker.ceph.com/issues/21660#note-17 + + Signed-off-by: Yuri Weinstein + +commit b3f9439cfd9141ddde9874c06fd43d346c10c5da +Author: Kefu Chai +Date: Sat Oct 7 22:15:11 2017 +0800 + + ceph-disk: retry on OSError + + we are likely to + 1) create partition, for instance, sdc1 + 2) partprobe sdc + 3) udevadm settle + 4) check the device by its path: /dev/sdc1 + + but there is chance that the uevent sent from kernel fails to reach udev + before we call "udevadm", hence "/dev/sdc1" does not exist even after + "udevadm settle" returns. so we retry in case of OSError here. + + Signed-off-by: Kefu Chai + (cherry picked from commit 4f82dfb9e761a09484e6ba3bd027da535162783e) + +commit 83b3377c6b04d78b20b7c23d145e015d63e471a4 +Author: Kefu Chai +Date: Sat Oct 7 21:13:47 2017 +0800 + + ceph-disk: factor out the retry logic into a decorator + + Signed-off-by: Kefu Chai + (cherry picked from commit 02a8620de7f200736900aafc944b2c1ac47d9910) + +commit 9e48df69de14d8415eed008b824204313774e2ba +Merge: a81b0da8e4 41af4ca8f3 +Author: Alfredo Deza +Date: Sun Oct 8 12:05:25 2017 -0400 + + Merge pull request #18167 from tchaikov/wip-luminous-sphinx + + luminous: admin: bump sphinx to 1.6 + + Reviewed-by: Alfredo Deza + +commit 41af4ca8f3cd3db8dc076c07e1a082a053b91b26 +Author: Kefu Chai +Date: Mon Sep 11 21:54:33 2017 +0800 + + doc: switch to upstream sphinx-ditaa + + it works with setuptools and is now compatible with py3 + + the py3 branch is created to track the upstream's master branch + + Signed-off-by: Kefu Chai + (cherry picked from commit fda079d5ed4c8a80c677f714a680233a568d512e) + +commit e49cae8b03340834e0b44491a4a903c0d61e1f74 +Author: Alfredo Deza +Date: Tue Aug 15 09:12:27 2017 -0400 + + admin: bump sphinx to 1.6 + + Signed-off-by: Alfredo Deza + (cherry picked from commit 88a1114cb3f90e52ba718dc832617fa004d63b3c) + +commit a81b0da8e4aca275cc3195c04f3e0d485e4a2f31 +Merge: 1e521b5fb4 e4164c43f5 +Author: Alfredo Deza +Date: Fri Oct 6 17:42:30 2017 -0400 + + Merge pull request #17914 from liewegas/wip-21498-luminous + + ceph-disk: fix '--runtime' omission for ceph-osd service + + Reviewed-by: Alfredo Deza + +commit 1e521b5fb47de74720d6aab39750c53aa2b2d8e7 +Merge: d550610512 ee5b9ea46c +Author: Sage Weil +Date: Fri Oct 6 15:35:06 2017 -0500 + + Merge pull request #18135 from liewegas/wip-vta-luminous + + luminous: cmake: disable VTA on options.cc + +commit 33549376987b18a9bdcf5f56e62268c5791124bc +Author: Ken Dreyer +Date: Thu Sep 7 11:07:59 2017 -0600 + + .gitignore: allow debian .patch files + + The Ubuntu packaging layout with git-buildpackage assumes a + "debian/patches/" directory with several .patch files in it. + + When upstream's .gitignore tells Git to ignore .patch files, we have to + edit that line out downstream. When we forget to do that downstream, it + can lead to missing patches and broken downstream builds. + + Allow patches in the /debian/patches directory so it's easier to + maintain an Ubuntu package based on upstream's Git repo. + + Signed-off-by: Ken Dreyer + (cherry picked from commit c734b0c0296152721b658af7b699a64b3a49d251) + +commit d5506105120479c1831ab559b555e2d4ea4c357c +Merge: d46675a1ec 0dc73f1210 +Author: Sage Weil +Date: Fri Oct 6 07:38:53 2017 -0500 + + Merge pull request #18140 from liewegas/wip-21660-luminous + + luminous: src/messages/MOSDMap: reencode OSDMap for older clients + +commit d46675a1ecb10f7176265cb1fc5ca971209aecb1 +Merge: 39ad203313 8b2bd38785 +Author: Sage Weil +Date: Thu Oct 5 22:12:22 2017 -0500 + + Merge pull request #18037 from ajarr/wip-21602-luminous + + luminous: ceph_volume_client: add get, put, and delete object interfaces + + Reviewed-by: Patrick Donnelly + +commit 39ad2033136e32d76e89e86d3f00bd1b928242ce +Merge: 473f9d1317 80f6508fc2 +Author: Sage Weil +Date: Thu Oct 5 21:03:42 2017 -0500 + + Merge pull request #18103 from liewegas/wip-21259-luminous + + luminous: osd: dump bluestore debug on shutdown if debug option is set + +commit 473f9d13173aa751d54b9a322060111d627f71f1 +Merge: c50df6511f 49294965f9 +Author: Sage Weil +Date: Thu Oct 5 21:03:28 2017 -0500 + + Merge pull request #18112 from liewegas/wip-localpool-min-size-luminous + + luminous: mgr/localpool: fix min_size, 3x default, crush rule + + Reviewed-by: Alexander Marangone + +commit c50df6511fda7d03c3cfa828acd5e56f2ef45d0f +Merge: 4ff03e5192 16c6dd5129 +Author: Sage Weil +Date: Thu Oct 5 21:02:53 2017 -0500 + + Merge pull request #18126 from smithfarm/wip-sigpipe-porting-luminous + + luminous: msg: reimplement sigpipe blocking + + Reviewed-by: Greg Farnum + +commit 4ff03e51928c0d7da9a90d50ec504b30eb9e4b32 +Merge: 766c6f3647 7986d4566a +Author: Sage Weil +Date: Thu Oct 5 21:02:09 2017 -0500 + + Merge pull request #18127 from liewegas/wip-21470-luminous + + luminous: os/bluestore: fix another aio stall/deadlock + +commit 766c6f3647b57b482f76ef254c95a651741d9ad5 +Merge: f972702229 3850f8e0b7 +Author: Sage Weil +Date: Thu Oct 5 21:01:53 2017 -0500 + + Merge pull request #18128 from liewegas/wip-bluefs-allocation-luminous + + luminous: os/bluestore: make bluefs behave better near enospc + +commit f97270222935d1c43a41102c3ada586a7deca190 +Merge: e4c51f62ff f99fe83a37 +Author: Sage Weil +Date: Thu Oct 5 21:01:27 2017 -0500 + + Merge pull request #18131 from liewegas/wip-ifname-luminous + + luminous: common/pick_address: add {public,cluster}_network_interface option + +commit e4c51f62ffc0f2fcc9214f6b7895210aa79c288b +Merge: 66af04cd9b f0a6f616c6 +Author: Sage Weil +Date: Thu Oct 5 21:01:06 2017 -0500 + + Merge pull request #18132 from gregsfortytwo/wip-20416-bitwise-assert-luminous + + osd: make the PG's SORTBITWISE assert a more generous shutdown + + Reviewed-by: Sage Weil + +commit 0dc73f12105ec271a43fe176c2f2a22849e8475c +Author: Sage Weil +Date: Thu Oct 5 15:26:16 2017 -0500 + + src/messages/MOSDMap: reencode OSDMap for older clients + + We explicitly select which missing bits trigger a reencode. We + already had jewel and earlier covered, but kraken includes all of + the previously mentioned bits but not SERVER_LUMINOUS. This + prevents kraken clients from decoding luminous maps. + + Fixes: http://tracker.ceph.com/issues/21660 + Signed-off-by: Sage Weil + (cherry picked from commit d2664aa34dc4c13da64d1ad187019737080069d7) + +commit 3850f8e0b791f2d05906647866b14a390ab2f5da +Author: Sage Weil +Date: Tue Oct 3 11:18:17 2017 -0500 + + os/bluestore: add bluestore_bluefs_min_free + + We need at least ~1GB free so we can write out new SSTs (which are 256MB + each). + + Signed-off-by: Sage Weil + (cherry picked from commit 65be614f2bfd65a1f13205a3075c87acc72c4836) + + (avoided 1_G syntax that luminous doesn't support) + +commit b015ce116159ec57d20bcd29306e450a816610f9 +Author: Karol Mroz +Date: Mon Oct 2 14:01:47 2017 -0700 + + rgw: stop/join TokenCache revoke thread only if started. + + Thread::join triggers an assert otherwise. + + Fixes http://tracker.ceph.com/issues/21666 + + Signed-off-by: Karol Mroz + (cherry picked from commit 26f2da083c7dd21b89c1c1e6c498b14e034364a6) + +commit ee5b9ea46c8b1e831c60f9cc0b10819b14d5efb8 +Author: Kefu Chai +Date: Thu Aug 31 18:15:28 2017 +0800 + + cmake: disable VTA on options.cc + + to silence following warning and to avoid compiling this file twice: + + ceph/src/common/options.cc: In function ‘std::vector