]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agodebian: /var/run/ceph should be owned by ceph:ceph 4456/head
Sage Weil [Tue, 25 Aug 2015 16:32:22 +0000 (12:32 -0400)]
debian: /var/run/ceph should be owned by ceph:ceph

Fix upstart and sysvinit scripts to create /var/run/ceph properly.

Chown existing dir on upgrade.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoupstart: setuser ceph
Sage Weil [Wed, 19 Aug 2015 23:20:38 +0000 (19:20 -0400)]
upstart: setuser ceph

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodebian/ceph-common.dirs: install /var/lib/ceph
Sage Weil [Wed, 19 Aug 2015 21:20:13 +0000 (17:20 -0400)]
debian/ceph-common.dirs: install /var/lib/ceph

It is the ceph user's home dir and we need to set the ownership.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodebian/ceph-common.postinst: fix adduser, addgroup
Sage Weil [Tue, 18 Aug 2015 18:50:42 +0000 (14:50 -0400)]
debian/ceph-common.postinst: fix adduser, addgroup

Drop the extra groups thing--it's broken anyway.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodebian/ceph-common.postinst: fix /var/log/ceph permissions
Sage Weil [Tue, 18 Aug 2015 17:46:34 +0000 (13:46 -0400)]
debian/ceph-common.postinst: fix /var/log/ceph permissions

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodebian: rename ceph-common.postinst
Sage Weil [Tue, 18 Aug 2015 13:12:51 +0000 (09:12 -0400)]
debian: rename ceph-common.postinst

There was a trailing space!

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoPendingReleaseNotes: more notes about the 'ceph' user
Sage Weil [Wed, 12 Aug 2015 20:54:55 +0000 (16:54 -0400)]
PendingReleaseNotes: more notes about the 'ceph' user

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoglobal_init: ignore --set{user,group} if not root
Sage Weil [Wed, 12 Aug 2015 20:50:31 +0000 (16:50 -0400)]
global_init: ignore --set{user,group} if not root

Assume these options can only drop privileges; normal users can't setuid
root (and even if they could we wouldn't want to).

This makes ceph-disk behave when it sees the ceph user as 'root' and
invokes things with --setuser root but runs as a non-root user.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoceph-disk: fix get_ceph_user
Sage Weil [Wed, 12 Aug 2015 20:43:38 +0000 (16:43 -0400)]
ceph-disk: fix get_ceph_user

getpwnam throws an exception

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoPendingReleaseNotes: some notes about upgrade and ceph user
Sage Weil [Thu, 6 Aug 2015 14:49:13 +0000 (10:49 -0400)]
PendingReleaseNotes: some notes about upgrade and ceph user

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agosystemd: use --setuser and --setgroup for all daemons
Sage Weil [Thu, 6 Aug 2015 15:57:57 +0000 (11:57 -0400)]
systemd: use --setuser and --setgroup for all daemons

Allow all daemons drop privilege themselves, instead of letting
systemd do it.

Among other things, this means that admins can conditionally not
drop prives by setting

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

in their ceph.conf to ease the pain of upgrade.

Signed-off-by: Sage Weil <sage@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
10 years agoglobal: implement setuser_match_path
Sage Weil [Thu, 6 Aug 2015 15:57:48 +0000 (11:57 -0400)]
global: implement setuser_match_path

Allow the --setuser and --setgroup to be conditional on the
specified user/group matching the ownership of a given path.
This allows the ceph daemons to switch to user ceph for newly
deployed instances or stay as root depending on the ownership of
the data directory.

Signed-off-by: Sage Weil <sage@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
10 years agoceph-disk: set owner of created files to ceph
Milan Broz [Wed, 5 Aug 2015 12:49:57 +0000 (14:49 +0200)]
ceph-disk: set owner of created files to ceph

Signed-off-by: Milan Broz <mbroz@redhat.com>
10 years agoSet keys owner to ceph user if exists.
Milan Broz [Tue, 23 Jun 2015 14:45:21 +0000 (16:45 +0200)]
Set keys owner to ceph user if exists.

Also fix directory access rigths.

Signed-off-by: Milan Broz <mbroz@redhat.com>
10 years agoSet Ceph device partitions owner to ceph user in udev.
Milan Broz [Wed, 5 Aug 2015 12:25:07 +0000 (14:25 +0200)]
Set Ceph device partitions owner to ceph user in udev.

Signed-off-by: Milan Broz <mbroz@redhat.com>
10 years agoceph-osd-prestart.sh: ensure data dir is root or ceph before start
Sage Weil [Fri, 24 Apr 2015 00:14:27 +0000 (17:14 -0700)]
ceph-osd-prestart.sh: ensure data dir is root or ceph before start

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoinit-ceph.in: Set ceph user and group when running the daemons
Boris Ranto [Thu, 18 Jun 2015 15:02:17 +0000 (17:02 +0200)]
init-ceph.in: Set ceph user and group when running the daemons

Signed-off-by: Boris Ranto <branto@redhat.com>
10 years agoceph.spec.in: User and group must be created in ceph-common pre-install script
Boris Ranto [Thu, 18 Jun 2015 11:42:04 +0000 (13:42 +0200)]
ceph.spec.in: User and group must be created in ceph-common pre-install script

The package ceph-common uses ceph user and group but they are both created in
ceph package %pre phase. We need to move the script to ceph-common %pre phase.

Signed-off-by: Boris Ranto <branto@redhat.com>
10 years agoceph.spec.in: /var/lib/ceph is owned by ceph package
Boris Ranto [Thu, 18 Jun 2015 11:57:47 +0000 (13:57 +0200)]
ceph.spec.in: /var/lib/ceph is owned by ceph package

Signed-off-by: Boris Ranto <branto@redhat.com>
10 years agoceph.spec.in: Fix ceph.limits.d path
Boris Ranto [Wed, 17 Jun 2015 18:06:40 +0000 (20:06 +0200)]
ceph.spec.in: Fix ceph.limits.d path

Signed-off-by: Boris Ranto <branto@redhat.com>
10 years agoceph.spec.in: Fixup uid/gid setting
Boris Ranto [Wed, 17 Jun 2015 15:55:59 +0000 (17:55 +0200)]
ceph.spec.in: Fixup uid/gid setting

We need to set the variables in the %pre phase, otherwise they are not properly
evaluated. Also use /sbin/nolongin instead of /bin/false and set the default
uid/gid pair for fedora and rhel (these were already allocated). We can also
use them for older fedora releases as they are guaranteed to be free.

Signed-off-by: Boris Ranto <branto@redhat.com>
10 years agoceph.spec.in: install ceph.limits.d
Danny Al-Gaaf [Thu, 30 Apr 2015 10:34:08 +0000 (12:34 +0200)]
ceph.spec.in: install ceph.limits.d

limits.d expect the file to end with *.conf. Add the
installed file to package list of the ceph package.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agoceph.spec.in: add ceph user/group
Danny Al-Gaaf [Sat, 25 Apr 2015 08:04:52 +0000 (10:04 +0200)]
ceph.spec.in: add ceph user/group

Add support of create ceph user/group.

TODO: Add correct number for SUSE.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agoset nofile ulimit in /etc/security/limits.d/ceph only
Sage Weil [Thu, 6 Aug 2015 15:37:30 +0000 (11:37 -0400)]
set nofile ulimit in /etc/security/limits.d/ceph only

Specify the nofile ulimit in one standard place, where everyone expects it
to be.  Drop it from the ceph-osd unit file.

Leave upstart and sysvinit untouched for the time being to avoid compat
issues.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agosystemd: make ceph-osd setuid/gid to ceph:ceph
Sage Weil [Fri, 24 Apr 2015 00:15:14 +0000 (17:15 -0700)]
systemd: make ceph-osd setuid/gid to ceph:ceph

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoglobal: add --setuser and --setgroup options
Sage Weil [Fri, 24 Apr 2015 21:57:46 +0000 (14:57 -0700)]
global: add --setuser and --setgroup options

These are done after reading config files/environment and before log files
are opened.  Allow a name or id to be specified.  In the case of --setuser,
also switch to that user's gid, unless --setgroup is also specified.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodebian: fix /var/lib/ceph/* directory ownership
Sage Weil [Fri, 24 Apr 2015 17:28:31 +0000 (10:28 -0700)]
debian: fix /var/lib/ceph/* directory ownership

These dirs are owned by the package; make sure they are owend by the ceph
user.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agosystemd: chown ceph:ceph /var/run/ceph
Sage Weil [Fri, 24 Apr 2015 00:12:34 +0000 (17:12 -0700)]
systemd: chown ceph:ceph /var/run/ceph

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agosystemd: run mon and mds as ceph:ceph
Sage Weil [Fri, 24 Apr 2015 00:12:23 +0000 (17:12 -0700)]
systemd: run mon and mds as ceph:ceph

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoceph.spec: chown and chmod /var/lib/ceph and /var/log/ceph
Sage Weil [Fri, 24 Apr 2015 00:06:12 +0000 (17:06 -0700)]
ceph.spec: chown and chmod /var/lib/ceph and /var/log/ceph

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodebian: chown -R ceph:ceph /var/log/ceph
Sage Weil [Fri, 24 Apr 2015 00:03:39 +0000 (17:03 -0700)]
debian: chown -R ceph:ceph /var/log/ceph

The number of log files is generally bounded; safe to chown these.

Allow ceph group members to write to this dir.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodebian: chown ceph:ceph /var/llib/ceph
Sage Weil [Fri, 24 Apr 2015 00:03:02 +0000 (17:03 -0700)]
debian: chown ceph:ceph /var/llib/ceph

Do not do it recursively--there may already be huge amounts of data
here.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodebian: create ceph user and group
Sage Weil [Thu, 23 Apr 2015 23:45:50 +0000 (16:45 -0700)]
debian: create ceph user and group

Use Debian base-passwd allocated UID/GID pair.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #5625 from liewegas/wip-memcpy
Sage Weil [Wed, 26 Aug 2015 18:11:49 +0000 (14:11 -0400)]
Merge pull request #5625 from liewegas/wip-memcpy

buffer: put inlined memcpy into a header; x86_64 only

Reviewed-by: Piotr Dałek <piotr.dalek@ts.fujitsu.com>
Reviewed-by: Steve Capper <steve.capper@linaro.org>
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #5585 from tchaikov/wip-4941
Kefu Chai [Wed, 26 Aug 2015 16:15:12 +0000 (00:15 +0800)]
Merge pull request #5585 from tchaikov/wip-4941

mon,osd: use GMT time for the object name of hitsets

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #5671 from ceph/wip-msgr-fix-random
Sage Weil [Wed, 26 Aug 2015 14:52:29 +0000 (10:52 -0400)]
Merge pull request #5671 from ceph/wip-msgr-fix-random

Messenger: Fix rand() generate the same sequence numbers

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #5675 from ceph/wip-12791
Ken Dreyer [Wed, 26 Aug 2015 14:50:56 +0000 (08:50 -0600)]
Merge pull request #5675 from ceph/wip-12791

ceph.spec.in: remove obsolete SUSE-specific code

10 years agoceph.spec.in: remove obsolete SUSE-specific code 5675/head
Nathan Cutler [Wed, 26 Aug 2015 14:32:57 +0000 (16:32 +0200)]
ceph.spec.in: remove obsolete SUSE-specific code

http://tracker.ceph.com/issues/12791 Fixes: #12791

Signed-off-by: Nathan Cutler <ncutler@suse.com>
10 years agoMerge pull request #5639 from rzarzynski/wip-12750
Orit Wasserman [Wed, 26 Aug 2015 08:37:33 +0000 (10:37 +0200)]
Merge pull request #5639 from rzarzynski/wip-12750

rgw: fix removal during iteration over Swift metadata in filter_out_temp_url()

10 years agoMessenger: Fix rand() generate the same sequence numbers 5671/head
Haomai Wang [Wed, 26 Aug 2015 04:21:15 +0000 (12:21 +0800)]
Messenger: Fix rand() generate the same sequence numbers

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoMerge pull request #5629 from kylinstorage/wip-nocache_skip_promote-v3
Sage Weil [Wed, 26 Aug 2015 01:48:31 +0000 (21:48 -0400)]
Merge pull request #5629 from kylinstorage/wip-nocache_skip_promote-v3

Avoid cache pollution by rbd export etc v2

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #5636 from liewegas/wip-12747
Sage Weil [Wed, 26 Aug 2015 01:47:35 +0000 (21:47 -0400)]
Merge pull request #5636 from liewegas/wip-12747

make EC plugin path static

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #5646 from liewegas/wip-12766
Sage Weil [Wed, 26 Aug 2015 01:47:06 +0000 (21:47 -0400)]
Merge pull request #5646 from liewegas/wip-12766

osd: wait for cleanup from bench

10 years agoMerge pull request #5650 from liewegas/wip-12736
Sage Weil [Wed, 26 Aug 2015 01:46:11 +0000 (21:46 -0400)]
Merge pull request #5650 from liewegas/wip-12736

uuid: use boost::random:random_device

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoinclude/inline_memcpy: use __builtin_memcpy instead of explicit ptr copies 5625/head
Sage Weil [Tue, 25 Aug 2015 20:40:01 +0000 (16:40 -0400)]
include/inline_memcpy: use __builtin_memcpy instead of explicit ptr copies

The gcc version of this is smart enough to handle any alignment
issues that exist and *should* generate the fastest code that is
general and correct.

On x86_64 this performs identically for the uint64_t
microbenchmark.

Suggested-by: Steve Capper <steve.capper@linaro.org>
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoinclude/inline_memcpy: make prototype resemble memcpy's
Sage Weil [Tue, 25 Aug 2015 20:40:23 +0000 (16:40 -0400)]
include/inline_memcpy: make prototype resemble memcpy's

Suggested-by: Steve Capper <steve.capper@linaro.org>
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #5654 from ceph/wip-12614
Sage Weil [Tue, 25 Aug 2015 18:39:57 +0000 (14:39 -0400)]
Merge pull request #5654 from ceph/wip-12614

config: skip lockdep for intentionally recursive md_config_t lock

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #5647 from ceph/wip-12765
Josh Durgin [Tue, 25 Aug 2015 18:16:44 +0000 (14:16 -0400)]
Merge pull request #5647 from ceph/wip-12765

librbd: error closing image while set to invalid snapshot

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4677 from tchaikov/wip-fix-type-error-in-crush-rule
Josh Durgin [Tue, 25 Aug 2015 16:08:50 +0000 (12:08 -0400)]
Merge pull request #4677 from tchaikov/wip-fix-type-error-in-crush-rule

pybind: Avoid type error in crush rule (str, not an int)

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #5659 from badone/doc_writeback_typo
Sage Weil [Tue, 25 Aug 2015 15:54:43 +0000 (11:54 -0400)]
Merge pull request #5659 from badone/doc_writeback_typo

doc: Fix typo in writeback throttle section

10 years agoMerge pull request #5660 from badone/doc_snaps_typo
Sage Weil [Tue, 25 Aug 2015 15:54:29 +0000 (11:54 -0400)]
Merge pull request #5660 from badone/doc_snaps_typo

doc: Fix typo and redundant word in snaps section

10 years agoMerge pull request #5648 from ceph/wip-10399
Josh Durgin [Tue, 25 Aug 2015 15:23:35 +0000 (11:23 -0400)]
Merge pull request #5648 from ceph/wip-10399

Objecter: pg_interval_t::is_new_interval needs pgid from previous pool

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #5663 from ritz303/wip-doc-12771
Sage Weil [Tue, 25 Aug 2015 15:14:42 +0000 (11:14 -0400)]
Merge pull request #5663 from ritz303/wip-doc-12771

doc: Added "Hammer" in the list of major releases.

10 years agodoc: Added "Hammer" in the list of major releases. 5663/head
ritz303 [Tue, 25 Aug 2015 15:02:49 +0000 (10:02 -0500)]
doc: Added "Hammer" in the list of major releases.

Fixes: #12771
Signed-off-by: ritz303 <ritz_303@yahoo.com>
10 years agoMerge pull request #5661 from SUSE/wip-suse-sysvinit-cleanup
Ken Dreyer [Tue, 25 Aug 2015 14:07:17 +0000 (08:07 -0600)]
Merge pull request #5661 from SUSE/wip-suse-sysvinit-cleanup

ceph.spec.in: drop sysvinit-specific macros that run only on SUSE

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
10 years agoceph.spec.in: drop sysvinit-specific macros that run only on openSUSE/SLE 5661/head
Nathan Cutler [Tue, 25 Aug 2015 11:49:47 +0000 (13:49 +0200)]
ceph.spec.in: drop sysvinit-specific macros that run only on openSUSE/SLE

All sysvinit-based versions of openSUSE/SLE are EOL as far as upstream Ceph is
concerned.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
10 years agoMerge pull request #5657 from badone/master
Kefu Chai [Tue, 25 Aug 2015 11:35:53 +0000 (19:35 +0800)]
Merge pull request #5657 from badone/master

doc: Fix typo in recovery reservation section

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agodoc: Fix typo and redundant word in snaps section 5660/head
Brad Hubbard [Tue, 25 Aug 2015 11:31:43 +0000 (21:31 +1000)]
doc: Fix typo and redundant word in snaps section

Fix typo and remove identifying from "filtering identifying" in
doc/dev/osd_internals/snaps.rst

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
10 years agodoc: Fix typo in writeback throttle section 5659/head
Brad Hubbard [Tue, 25 Aug 2015 11:04:55 +0000 (21:04 +1000)]
doc: Fix typo in writeback throttle section

Fix typo in doc/dev/osd_internals/wbthrottle.rst

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
10 years agodoc: Fix typo in writeback throttle section 5657/head
Brad Hubbard [Tue, 25 Aug 2015 11:04:55 +0000 (21:04 +1000)]
doc: Fix typo in writeback throttle section

Fix typo in doc/dev/osd_internals/wbthrottle.rst

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
10 years agodoc: Fix typo in recovery reservation section
Brad Hubbard [Tue, 25 Aug 2015 10:51:09 +0000 (20:51 +1000)]
doc: Fix typo in recovery reservation section

Fix typo in doc/dev/osd_internals/recovery_reservation.rst

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
10 years agoMerge pull request #5607 from rzarzynski/wip-12724
Orit Wasserman [Tue, 25 Aug 2015 10:11:56 +0000 (12:11 +0200)]
Merge pull request #5607 from rzarzynski/wip-12724

rgw: fix error handling during GET on object through Swift API.

10 years agoMerge pull request #5563 from varadakari/wip-kvstore-keyformat
Sage Weil [Tue, 25 Aug 2015 02:15:57 +0000 (22:15 -0400)]
Merge pull request #5563 from varadakari/wip-kvstore-keyformat

Change key format to preserve order of keys in backend db.

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoconfig: skip lockdep for intentionally recursive md_config_t lock 5654/head
Josh Durgin [Mon, 24 Aug 2015 22:40:39 +0000 (15:40 -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 <jdurgin@redhat.com>
10 years agoMerge pull request #5649 from ceph/wip-12764
Josh Durgin [Mon, 24 Aug 2015 22:15:41 +0000 (18:15 -0400)]
Merge pull request #5649 from ceph/wip-12764

tests: fixed rbd cli cram integration tests

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agobuffer: modify inline memory ops to use packed structs
Yehuda Sadeh [Thu, 20 Aug 2015 23:31:25 +0000 (16:31 -0700)]
buffer: modify inline memory ops to use packed structs

packed structs can be used to ensure alignment is not an issue.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agouuid: use boost::random:random_device 5650/head
Sage Weil [Mon, 24 Aug 2015 18:51:47 +0000 (14:51 -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 <sage@redhat.com>
10 years agoMerge pull request #5617 from rzarzynski/wip-12728
Yehuda Sadeh [Mon, 24 Aug 2015 16:59:55 +0000 (09:59 -0700)]
Merge pull request #5617 from rzarzynski/wip-12728

rgw: url_decode bucket name and prefix from X-Object-Manifest during GET on Swift DLO.

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agotests: fixed rbd cli cram integration tests 5649/head
Jason Dillaman [Mon, 24 Aug 2015 15:42:26 +0000 (11:42 -0400)]
tests: fixed rbd cli cram integration tests

Fixes: #12764
Backport: infernalis
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoObjecter: pg_interval_t::is_new_interval needs pgid from previous pool 5648/head
Jason Dillaman [Fri, 21 Aug 2015 15:32:39 +0000 (11:32 -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 <dillaman@redhat.com>
10 years agolibrbd: error closing image while set to invalid snapshot 5647/head
Jason Dillaman [Mon, 24 Aug 2015 14:58:52 +0000 (10:58 -0400)]
librbd: error closing image while set to invalid snapshot

With cache disabled, closing the image will result in a flush
which might result in the image being refreshed.  If this happens
while the image is set to an invalid snapshot, an error will be
returned while closing the image.

Fixes: #12765
Backport: infernalis
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoosd: wait for cleanup from bench 5646/head
Sage Weil [Mon, 24 Aug 2015 15:00:13 +0000 (11:00 -0400)]
osd: wait for cleanup from bench

We need to wait for cleanup to flush before we destroy the
sequencer or else we get a use-after-free.

Introduced e7bbafa3bfbd5e936a8be026a30b83a89f6121c3.

Fixes: #12766
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodoc/release-notes: v9.0.3
Sage Weil [Mon, 24 Aug 2015 13:36:08 +0000 (09:36 -0400)]
doc/release-notes: v9.0.3

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Mon, 24 Aug 2015 12:35:06 +0000 (08:35 -0400)]
Merge remote-tracking branch 'gh/next'

10 years agoMerge pull request #5623 from yuyuyu101/wip-12729
Kefu Chai [Mon, 24 Aug 2015 12:07:55 +0000 (20:07 +0800)]
Merge pull request #5623 from yuyuyu101/wip-12729

Fix compile warning unused-result

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoset skip promote flag if NOCACHE or DONTNEED flag set 5629/head
Yunchuan Wen [Thu, 20 Aug 2015 11:40:25 +0000 (19:40 +0800)]
set skip promote flag if NOCACHE or DONTNEED flag set

Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Reviewed-by: Li Wang <liwang@ubuntukylin.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoosd: remove unused ctor 5585/head
Kefu Chai [Sat, 15 Aug 2015 17:08:38 +0000 (10:08 -0700)]
osd: remove unused ctor

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agoosd: remove useless hitset code
Kefu Chai [Fri, 12 Jun 2015 12:53:44 +0000 (20:53 +0800)]
osd: remove useless hitset code

* we do not persist current hit set using get_hit_set_current_object()
  anymore, instead we always append current hitset into archive even
  !hitset.is_full(), see fbd9c15. so it's not necessary to remove the
  current hitset object before putting it to disk.

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agomon: print use_gmt_hitset in "ceph osd pool get"
Kefu Chai [Tue, 18 Aug 2015 08:53:50 +0000 (16:53 +0800)]
mon: print use_gmt_hitset in "ceph osd pool get"

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agomon: add "ceph osd pool set $pool use_gmt_hitset true" cmd
Kefu Chai [Mon, 17 Aug 2015 16:04:23 +0000 (00:04 +0800)]
mon: add "ceph osd pool set $pool use_gmt_hitset true" cmd

allow "ceph osd pool set $pool use_gmt_hitset <true|1>" as long as
the cluster supports gmt hitset.

Fixes: #9732
Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agoosd: use GMT time for the object name of hitsets
Kefu Chai [Fri, 5 Jun 2015 13:06:48 +0000 (21:06 +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 <kchai@redhat.com>
10 years agoMerge pull request #5493 from dachary/wip-10887-shec
Loic Dachary [Sat, 22 Aug 2015 21:22:50 +0000 (23:22 +0200)]
Merge pull request #5493 from dachary/wip-10887-shec

erasure-code: shec plugin feature

Reviewed-by: Takeshi Miyamae <miyamae.takeshi@jp.fujitsu.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #5631 from wonzhq/finish-ctx
Kefu Chai [Sat, 22 Aug 2015 01:22:00 +0000 (09:22 +0800)]
Merge pull request #5631 from wonzhq/finish-ctx

osd: consolidate encoding snaps into pg log code in finish_ctx

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoPendingReleaseNotes: make a note about KeyValueStore on-disk format change
Sage Weil [Fri, 21 Aug 2015 21:50:42 +0000 (17:50 -0400)]
PendingReleaseNotes: make a note about KeyValueStore on-disk format change

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #5611 from ceph/wip-newstore-misc
Sage Weil [Fri, 21 Aug 2015 21:53:58 +0000 (17:53 -0400)]
Merge pull request #5611 from ceph/wip-newstore-misc

osd: final prereq patches for newstore

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agorgw: fix dangerous removal from STL map in filter_out_temp_url(). 5639/head
Radoslaw Zarzynski [Fri, 21 Aug 2015 19:14:31 +0000 (21:14 +0200)]
rgw: fix dangerous removal from STL map in filter_out_temp_url().

Fixes: #12750
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
10 years agotest/erasure-code: drop directory from profile 5636/head
Sage Weil [Fri, 21 Aug 2015 18:13:31 +0000 (14:13 -0400)]
test/erasure-code: drop directory from profile

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodo not include directory in ec profiles
Sage Weil [Fri, 21 Aug 2015 19:55:47 +0000 (15:55 -0400)]
do not include directory in ec profiles

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd: always load erasure plugins from the configured directory
Sage Weil [Fri, 21 Aug 2015 19:54:23 +0000 (15:54 -0400)]
osd: always load erasure plugins from the configured directory

Ignore the profile 'directory' field.

This ensures that we can always find plugins even when teh cluster
is installed across a mix of distros.

Rename the option to have no osd_ (or mon_) prefix since anybody
may use the ec factory/plugin code.

We still hard-code .libs in the unit tests... sigh.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years ago9.0.3 v9.0.3
Jenkins [Fri, 21 Aug 2015 19:46:32 +0000 (12:46 -0700)]
9.0.3

10 years agoerasure-code: shec plugin feature 5493/head
Loic Dachary [Thu, 6 Aug 2015 13:02:38 +0000 (15:02 +0200)]
erasure-code: shec plugin feature

There is one new plugin (shec). When upgrading a cluster, there
must be a protection against the following scenario:

   * the mon are upgraded but not the osd
   * a new pool is created using plugin shec
   * the osd fail to load the shec plugin because they have not been
     upgraded

A feature bit is added : PLUGINS_V3. The monitor will only agree to
create an erasure code profile for the shec plugin if all OSDs
supports PLUGINS_V3. Once such an erasure code profile is stored in the
OSDMap, an OSD can only boot if it supports the PLUGINS_V3 feature,
which means it is able to load the shec plugin.

The monitors will only activate the PLUGINS_V3 feature if all monitors
in the quorum support it. It protects against the following scenario:

   * the leader is upgraded the peons are not upgraded
   * the leader creates a pool with plugin=shec because all OSD have
     the PLUGINS_V3 feature
   * the leader goes down and a non upgraded peon becomes the leader
   * an old OSD tries to join the cluster
   * the new leader will let the OSD boot because it does not contain
     the logic that would excluded it
   * the old OSD will fail when required to load the plugin shec

This is going to be needed each time new plugins are added, which is
impractical. A more generic plugin upgrade support should be added
instead, as described in http://tracker.ceph.com/issues/7291.

See also 9687150ceac9cc7e506bc227f430d4207a6d7489 for the PLUGINS_V2
implementation.

http://tracker.ceph.com/issues/10887 Fixes: #10887

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #5634 from ceph/wip-fix-FTBFS-boost
Gregory Farnum [Fri, 21 Aug 2015 13:49:53 +0000 (14:49 +0100)]
Merge pull request #5634 from ceph/wip-fix-FTBFS-boost

rbd: fix the FTBFS on old boost introduced by 2050d08

10 years agorbd: fix the FTBFS on old boost introduced by 2050d08 5634/head
Kefu Chai [Fri, 21 Aug 2015 13:40:59 +0000 (21:40 +0800)]
rbd: fix the FTBFS on old boost introduced by 2050d08

in boost 1.49, BOOST_SCOPE_EXIT() does not accept capture_tuple,
only `(capture) (capture) ...` is supported.

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #5583 from ceph/wip-12676
Gregory Farnum [Fri, 21 Aug 2015 12:11:46 +0000 (13:11 +0100)]
Merge pull request #5583 from ceph/wip-12676

mds: check mds up before calling MDSMap::get_mds_info

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #5587 from caibo2014/master
Kefu Chai [Fri, 21 Aug 2015 11:33:59 +0000 (19:33 +0800)]
Merge pull request #5587 from caibo2014/master

rbd: remove the output file if rbd export-diff fails

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #5632 from ceph/wip-fix-ftbfs-4998
Gregory Farnum [Fri, 21 Aug 2015 11:22:34 +0000 (12:22 +0100)]
Merge pull request #5632 from ceph/wip-fix-ftbfs-4998

osd: fix the FTBFS introduced by be28319

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoosd: fix the FTBFS introduced by be28319 5632/head
Kefu Chai [Fri, 21 Aug 2015 09:20:38 +0000 (02:20 -0700)]
osd: fix the FTBFS introduced by be28319

the signature of Scrubber::write_blocked_by_scrub() was changed in #5470.

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4998 from wonzhq/hitset-remove-all
Kefu Chai [Fri, 21 Aug 2015 08:51:46 +0000 (16:51 +0800)]
Merge pull request #4998 from wonzhq/hitset-remove-all

osd: implement hit_set_remove_all

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoosd: consolidate encoding snaps into pg log code in finish_ctx 5631/head
Zhiqiang Wang [Fri, 21 Aug 2015 08:08:46 +0000 (16:08 +0800)]
osd: consolidate encoding snaps into pg log code in finish_ctx

'MODIFY', 'PROMOTE' and 'CLEAN' are sharing the same encoding snaps
code.

Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
10 years agoosd: only remove all the hit set objects on primary osd 4998/head
Zhiqiang Wang [Thu, 23 Jul 2015 01:26:44 +0000 (09:26 +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 <zhiqiang.wang@intel.com>