]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoReplicatedPG: adjust pending_attrs correctly in copy_from 1417/head
Samuel Just [Sun, 9 Mar 2014 18:43:57 +0000 (11:43 -0700)]
ReplicatedPG: adjust pending_attrs correctly in copy_from

Otherwise, subsequent reads might not get the correct cached attrs.

Fixes: #7663
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: _delete_head should adjust pending_attrs
Samuel Just [Sun, 9 Mar 2014 18:41:48 +0000 (11:41 -0700)]
ReplicatedPG: _delete_head should adjust pending_attrs

We need the old attr_cache in make_writeable for the clone,
so make the changes to pending_attrs.

Fixes: #7663
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: use pending_attrs in rollback
Samuel Just [Sun, 9 Mar 2014 18:43:00 +0000 (11:43 -0700)]
ReplicatedPG: use pending_attrs in rollback

Otherwise, we won't have the correct attr_cache in
make_writeable for the clone.

Fixes: #7663
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG::finish_ctx: clear object_info if !obs.exists
Samuel Just [Fri, 7 Mar 2014 23:54:23 +0000 (15:54 -0800)]
ReplicatedPG::finish_ctx: clear object_info if !obs.exists

Otherwise, we see a different object_info_t depending on whether the
transaction deleting the object clears before another op recreating it appears.
In particular, we use oi.version to set the prior_version on the log entries in
finish_ctx.  If the oi is allowed to stick around the recreation log event will
have a prior version of the deletion event when it should have a prior version
of eversion_t().

Fixes: #7655
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1405 from ceph/wip-7575
Sage Weil [Sun, 9 Mar 2014 19:21:35 +0000 (12:21 -0700)]
Merge pull request #1405 from ceph/wip-7575

osd: Add hit_set_flushing to track current flushes and prevent races

Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoconfig.cc: add debug_ prefix to subsys logging levels
Danny Al-Gaaf [Thu, 6 Mar 2014 00:23:48 +0000 (01:23 +0100)]
config.cc: add debug_ prefix to subsys logging levels

Add debug_ prefix also for 'ceph --admin-daemon *.asok config show'
as already done e.g. by 'ceph-osd --show-config'.

Fixes: #7602
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1408 from ceph/wip-da-fix-doc
Sage Weil [Sun, 9 Mar 2014 16:56:18 +0000 (09:56 -0700)]
Merge pull request #1408 from ceph/wip-da-fix-doc

Fixes and updates for doc

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoget-involved.rst: update information 1408/head
Danny Al-Gaaf [Sun, 9 Mar 2014 01:18:28 +0000 (02:18 +0100)]
get-involved.rst: update information

Added #ceph-devel IRC channel, more mailing lists, wiki and planet.ceph.com.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoswift/containerops.rst: fix some typos
Danny Al-Gaaf [Sun, 9 Mar 2014 00:02:43 +0000 (01:02 +0100)]
swift/containerops.rst: fix some typos

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoradosgw/troubleshooting.rst: s/ceph-osd/OSD/
Danny Al-Gaaf [Sat, 8 Mar 2014 23:58:57 +0000 (00:58 +0100)]
radosgw/troubleshooting.rst: s/ceph-osd/OSD/

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoradosgw/config-ref.rst: fix typo
Danny Al-Gaaf [Sat, 8 Mar 2014 23:30:49 +0000 (00:30 +0100)]
radosgw/config-ref.rst: fix typo

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agosession_authentication.rst: fix some typos
Danny Al-Gaaf [Sat, 8 Mar 2014 23:19:08 +0000 (00:19 +0100)]
session_authentication.rst: fix some typos

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agorelease-process.rst: fix some typos
Danny Al-Gaaf [Sat, 8 Mar 2014 23:07:39 +0000 (00:07 +0100)]
release-process.rst: fix some typos

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agodoc: s/osd/OSD/ if not part of a command
Danny Al-Gaaf [Sat, 8 Mar 2014 23:01:40 +0000 (00:01 +0100)]
doc: s/osd/OSD/ if not part of a command

First attempt to unify usage of OSD over rst files.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agodoc/dev/logs.rst; fix some typos
Danny Al-Gaaf [Sat, 8 Mar 2014 22:31:11 +0000 (23:31 +0100)]
doc/dev/logs.rst; fix some typos

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agofilestore-filesystem-compat.rst: fix typo
Danny Al-Gaaf [Sat, 8 Mar 2014 22:25:53 +0000 (23:25 +0100)]
filestore-filesystem-compat.rst: fix typo

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agocorpus.rst: fix typo
Danny Al-Gaaf [Sat, 8 Mar 2014 22:22:38 +0000 (23:22 +0100)]
corpus.rst: fix typo

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoconfig.rst: fix typo
Danny Al-Gaaf [Sat, 8 Mar 2014 22:16:24 +0000 (23:16 +0100)]
config.rst: fix typo

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agocephx_protocol.rst: fix typo
Danny Al-Gaaf [Sat, 8 Mar 2014 22:11:25 +0000 (23:11 +0100)]
cephx_protocol.rst: fix typo

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoarchitecture.rst: fix typos
Danny Al-Gaaf [Sat, 8 Mar 2014 10:27:15 +0000 (11:27 +0100)]
architecture.rst: fix typos

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agorados/operations/control.rst: fix typo
Danny Al-Gaaf [Sat, 8 Mar 2014 10:06:50 +0000 (11:06 +0100)]
rados/operations/control.rst: fix typo

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoMerge remote-tracking branch 'gh/wip-7210' into firefly
Sage Weil [Fri, 7 Mar 2014 23:23:31 +0000 (15:23 -0800)]
Merge remote-tracking branch 'gh/wip-7210' into firefly

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoqa/workunits/cephtool/test.sh: fix 'osd thrash' test
Sage Weil [Fri, 7 Mar 2014 23:21:30 +0000 (15:21 -0800)]
qa/workunits/cephtool/test.sh: fix 'osd thrash' test

- fix the wait check for osds to come back up
- make sure they get marked back in, too

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
11 years agoMerge pull request #1403 from ceph/wip-7642
Sage Weil [Fri, 7 Mar 2014 23:05:30 +0000 (15:05 -0800)]
Merge pull request #1403 from ceph/wip-7642

mon: fix check for primary-affinity feature bit, and fix a race in similar checks

Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon/OSDMonitor: feature feature check bit arithmetic 1403/head
Sage Weil [Fri, 7 Mar 2014 22:44:42 +0000 (14:44 -0800)]
mon/OSDMonitor: feature feature check bit arithmetic

Make sure all features are present (instead of just any of them).

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1404 from ceph/wip-7652
Sage Weil [Fri, 7 Mar 2014 22:19:58 +0000 (14:19 -0800)]
Merge pull request #1404 from ceph/wip-7652

mon: fix infininte pg create msgs for erasure pools

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agomon/PGMap: send pg create messages to primary, not acting[0] 1404/head
Sage Weil [Fri, 7 Mar 2014 22:02:26 +0000 (14:02 -0800)]
mon/PGMap: send pg create messages to primary, not acting[0]

For erasure pools, these may not match.

In the case of #7652, this caused pg_create messages to be send
indefinitely.  register_pg() added it to the list for acting_primary, and
when we got the (non-creating) pg stat update we removed it from the list
for acting[0].

Fixes: #7652
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon/PGMonitor: improve debugging on PGMap updates slightly
Sage Weil [Fri, 7 Mar 2014 21:56:31 +0000 (13:56 -0800)]
mon/PGMonitor: improve debugging on PGMap updates slightly

Chasing #7652
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon/OSDMonitor: make osdmap feature checks non-racy
Sage Weil [Fri, 7 Mar 2014 21:29:03 +0000 (13:29 -0800)]
mon/OSDMonitor: make osdmap feature checks non-racy

The check for OSD features may race with the boot of an OSD that does not
have the necessary features.  Check the pending info too, and if there is
a missing feature, return -EAGAIN.  In the callers, wait on -EAGAIN.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon/OSDMonitor: prevent set primary-affinity unless all OSDs support it
Sage Weil [Fri, 7 Mar 2014 21:24:04 +0000 (13:24 -0800)]
mon/OSDMonitor: prevent set primary-affinity unless all OSDs support it

Make sure all running OSDs support the feature before we start using it
(even if the config option is on!).

Fixes: #7642
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoqa: workunits/mon/rbd_snaps_ops.sh: ENOTSUP on snap rm from copied pool 1401/head
Joao Eduardo Luis [Fri, 7 Mar 2014 19:45:50 +0000 (19:45 +0000)]
qa: workunits/mon/rbd_snaps_ops.sh: ENOTSUP on snap rm from copied pool

'rados cppool' copies the contents but that doesn't make the destination
pool an unmanaged snaps pool.  Therefore, we must get an ENOTSUP when
we try to remove an unmanaged snap from a not-unmanaged pool.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: OSDMonitor: don't remove unamanaged snaps from not-unmanaged pools
Joao Eduardo Luis [Fri, 7 Mar 2014 18:25:21 +0000 (18:25 +0000)]
mon: OSDMonitor: don't remove unamanaged snaps from not-unmanaged pools

Although we should allow creating unmanaged snaps on not-unamanaged pools,
as long as those pools don't have any managed snapshots in them, we cannot
allow removal -- because the pool will not have any unmanaged snapshots.

Fixes: 7210
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoosd: Add hit_set_flushing to track current flushes and prevent races 1405/head
David Zafman [Fri, 7 Mar 2014 02:08:46 +0000 (18:08 -0800)]
osd: Add hit_set_flushing to track current flushes and prevent races

When flushing a HitSet track in hit_set_flushing map so that
agent_load_hit_sets() doesn't try to read it too soon.

Fixes: #7575
Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoMerge pull request #1394 from ceph/wip-7610
Sage Weil [Fri, 7 Mar 2014 05:11:25 +0000 (21:11 -0800)]
Merge pull request #1394 from ceph/wip-7610

obj_bencher: allocate contentsChars to object_size, not op_size

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1397 from ceph/wip-7638
Sage Weil [Fri, 7 Mar 2014 04:06:59 +0000 (20:06 -0800)]
Merge pull request #1397 from ceph/wip-7638

ReplicatedPG::trim_object: use old_snaps for rollback

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1398 from ceph/wip-7634
Sage Weil [Fri, 7 Mar 2014 04:05:19 +0000 (20:05 -0800)]
Merge pull request #1398 from ceph/wip-7634

ReplicatedPG: use hobject_t for snapset_contexts map

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1395 from ceph/wip-7637
Samuel Just [Fri, 7 Mar 2014 03:19:12 +0000 (19:19 -0800)]
Merge pull request #1395 from ceph/wip-7637

osd: fix agent thread shutdown

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoosd: fix agent thread shutdown 1395/head
Sage Weil [Fri, 7 Mar 2014 00:12:30 +0000 (16:12 -0800)]
osd: fix agent thread shutdown

We had an old invariant that agent_queue would have at least 1 entry in
it to simplify some other code paths, but it turns out that it is simpler
not to do that.

In particular, this was triggering a failed assertion on shutdown when we
assert that the queue is empty.

Dump offending items on shutdown if they are there, tho, to catch any
future bugs.

Fixes: #7637
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1389 from ceph/wip-firefly-misc
Samuel Just [Thu, 6 Mar 2014 23:51:40 +0000 (15:51 -0800)]
Merge pull request #1389 from ceph/wip-firefly-misc

fix rest tests; fix COLL_MOVE_RENAME dump

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1393 from dachary/wip-7072
Sage Weil [Thu, 6 Mar 2014 23:51:15 +0000 (15:51 -0800)]
Merge pull request #1393 from dachary/wip-7072

logrotate: copy/paste daemon list from ceph-*-all-starter.conf

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agologrotate: copy/paste daemon list from *-all-starter.conf 1393/head
Loic Dachary [Thu, 6 Mar 2014 23:07:26 +0000 (00:07 +0100)]
logrotate: copy/paste daemon list from *-all-starter.conf

Each upstart/*-all-starter.conf use the same script to find the list of
daemons and their ids. Copy it over to the corresponding logrotate.conf
script instead of using a less reliable script based on initctl list
output.

If logrotate fails to run initctl reload on a daemon, it will keep
writing to the rotated log file, even after it is deleted and until it
fills the disk. By using the exact same shell snippet as the upstart
scripts used to start the daemon, all of them will be sent the HUP
signal and reopen the log file that was just rotated.

http://tracker.ceph.com/issues/7072 fixes #7072

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1392 from ceph/wip-7632
Sage Weil [Thu, 6 Mar 2014 23:34:59 +0000 (15:34 -0800)]
Merge pull request #1392 from ceph/wip-7632

ReplicatedPG: consistently use ctx->at_version.version for stashed objec...

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1391 from ceph/wip-7393
Sage Weil [Thu, 6 Mar 2014 23:30:59 +0000 (15:30 -0800)]
Merge pull request #1391 from ceph/wip-7393

ReplicatedPG: clean up num_dirty adjustments

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoReplicatedPG::trim_object: use old_snaps for rollback 1397/head
Samuel Just [Thu, 6 Mar 2014 22:59:47 +0000 (14:59 -0800)]
ReplicatedPG::trim_object: use old_snaps for rollback

We need to rollback the old value of snaps, not the
new one.

Fixes: #7638
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: use hobject_t for snapset_contexts map 1398/head
Samuel Just [Thu, 6 Mar 2014 22:40:11 +0000 (14:40 -0800)]
ReplicatedPG: use hobject_t for snapset_contexts map

Otherwise, two objects with different namespaces but
the same object_t will end up clobbering each other's
contexts.

Fixes: #7634
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoqa/workunits/rest/test.py: do not test 'osd thrash' 1389/head
Sage Weil [Thu, 6 Mar 2014 20:35:19 +0000 (12:35 -0800)]
qa/workunits/rest/test.py: do not test 'osd thrash'

This wreaks havoc on our QA because it marks osds up and down and then
immediately after that we try to scrub and some osds are still down.

Adjust the CLI test to wait for all OSDs to come back up after thrashing.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoos/ObjectStore: dump COLL_MOVE_RENAME
Sage Weil [Thu, 6 Mar 2014 21:44:39 +0000 (13:44 -0800)]
os/ObjectStore: dump COLL_MOVE_RENAME

This got missed way back in ef7cffc34f3bad4ffc090361ad9030a47584a3bf
(pre-0.71).

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoReplicatedPG: consistently use ctx->at_version.version for stashed object 1392/head
Samuel Just [Thu, 6 Mar 2014 16:56:30 +0000 (08:56 -0800)]
ReplicatedPG: consistently use ctx->at_version.version for stashed object

Otherwise, two ops might end up using the same version number.

Fixes: #7632
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: clean up num_dirty adjustments 1391/head
Samuel Just [Thu, 6 Mar 2014 20:05:07 +0000 (12:05 -0800)]
ReplicatedPG: clean up num_dirty adjustments

Previously, a _delete_head() followed by a recreation on an object in
the same transaction would result in num_dirty being decremented in
_delete_head() without the flag being cleared.  make_writeable() would
then see exists and was_dirty and therefore not increment num_dirty
resulting in a mismatch.  Rather than trying to maintain the num_dirty
number in _delete_head(), rollback_to(), and make_writeable(), it seems
simpler to do the adjustment once in make_writeable based on undirty,
ctx->obc->obs.oi, and ctx->new_obs->oi.

Fixes: 7393
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoobj_bencher: allocate contentsChars to object_size, not op_size 1394/head
Samuel Just [Thu, 6 Mar 2014 19:12:24 +0000 (11:12 -0800)]
obj_bencher: allocate contentsChars to object_size, not op_size

Otherwise, our attempt to sanitize object_size bytes of
data.object_contents will be doomed to memory corruption.

Fixes: #7610
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1386 from ceph/wip-7624
Sage Weil [Thu, 6 Mar 2014 19:01:30 +0000 (11:01 -0800)]
Merge pull request #1386 from ceph/wip-7624

ReplicatedPG: ensure clones are readable after find_object_context

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1387 from ceph/wip-7618
Sage Weil [Thu, 6 Mar 2014 18:59:47 +0000 (10:59 -0800)]
Merge pull request #1387 from ceph/wip-7618

ReplicatedPG::wait_for_degraded_object: only recover if found

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1379 from ceph/wip-7562
Gregory Farnum [Thu, 6 Mar 2014 18:44:42 +0000 (10:44 -0800)]
Merge pull request #1379 from ceph/wip-7562

mon: make quorum list (by name) be in quorum order

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoReplicatedPG: ensure clones are readable after find_object_context 1386/head
Samuel Just [Thu, 6 Mar 2014 01:39:42 +0000 (17:39 -0800)]
ReplicatedPG: ensure clones are readable after find_object_context

We only get EAGAIN if the object is missing.  We also need the
clone to be readable if we are reading it.

The other find_object_context callers already require !degraded.

Fixes: #7624
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1378 from ceph/wip-7487
Gregory Farnum [Thu, 6 Mar 2014 04:58:40 +0000 (20:58 -0800)]
Merge pull request #1378 from ceph/wip-7487

mon: no crush buckets with type 0 (#7487)

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #1380 from ceph/wip-pool-delete
João Eduardo Luís [Thu, 6 Mar 2014 01:38:33 +0000 (01:38 +0000)]
Merge pull request #1380 from ceph/wip-pool-delete

mon/OSDMonitor: fix pool deletion races

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon/OSDMonitor: fix pool deletion checks, races 1380/head
Sage Weil [Wed, 5 Mar 2014 23:58:52 +0000 (15:58 -0800)]
mon/OSDMonitor: fix pool deletion checks, races

Unify the pool deletion safety checks into a single set of functions.
Make sure we check the committed state and error out if there is a problem.
Also check the pending state, if any, and delay+retry if there is a
problem there.

This ensures that we correctly verify that a pool is not in use when it
is deleted (by another tier or by cephfs).  These checks are also now
applied to librados calls.

Fixes: #7590
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoReplicatedPG::wait_for_degraded_object: only recover if found 1387/head
Samuel Just [Wed, 5 Mar 2014 23:51:10 +0000 (15:51 -0800)]
ReplicatedPG::wait_for_degraded_object: only recover if found

Fixes: #7618
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1381 from ceph/wip-7618
Samuel Just [Wed, 5 Mar 2014 23:31:57 +0000 (15:31 -0800)]
Merge pull request #1381 from ceph/wip-7618

ReplicatedPG::recover_replicas: do not assume that missing objects are u...

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1382 from ceph/wip-7616
Samuel Just [Wed, 5 Mar 2014 23:18:19 +0000 (15:18 -0800)]
Merge pull request #1382 from ceph/wip-7616

Wip 7616

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoReplicatedPG::recover_replicas: do not assume that missing objects are unfound 1381/head
Samuel Just [Wed, 5 Mar 2014 21:16:18 +0000 (13:16 -0800)]
ReplicatedPG::recover_replicas: do not assume that missing objects are unfound

Fixes: #7618
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoRevert "c_read_operations.cc: fix resource leak"
David Zafman [Wed, 5 Mar 2014 23:08:41 +0000 (15:08 -0800)]
Revert "c_read_operations.cc: fix resource leak"

This reverts commit 3cd751b0a280909510c3e633cc8cd4b9f5e3b2d9.

A rados_release_read_op() has already been performed, but coverity
didn't recognize that as releasing memory.

Fixes: #7621
Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agomon: make quorum list (by name) be in quorum order 1379/head
Sage Weil [Wed, 5 Mar 2014 22:28:49 +0000 (14:28 -0800)]
mon: make quorum list (by name) be in quorum order

Fixes: #7562
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1343 from ceph/wip-cache-warn-full
Gregory Farnum [Wed, 5 Mar 2014 22:22:34 +0000 (14:22 -0800)]
Merge pull request #1343 from ceph/wip-cache-warn-full

mon: warn when cache tier is full

Reviewed-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #1372 from ceph/wip-7607
Sage Weil [Wed, 5 Mar 2014 22:21:45 +0000 (14:21 -0800)]
Merge pull request #1372 from ceph/wip-7607

wip 7607

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1351 from ceph/wip-7248
Sage Weil [Wed, 5 Mar 2014 22:18:28 +0000 (14:18 -0800)]
Merge pull request #1351 from ceph/wip-7248

osd: OSD: limit the value of 'size' and 'count' on 'osd bench'

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agotest: merge unittest_crushwrapper and unittest_crush_wrapper 1378/head
Sage Weil [Wed, 5 Mar 2014 21:17:45 +0000 (13:17 -0800)]
test: merge unittest_crushwrapper and unittest_crush_wrapper

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon/OSDMonitor: disallow crush buckets of type 0
Sage Weil [Wed, 5 Mar 2014 21:15:58 +0000 (13:15 -0800)]
mon/OSDMonitor: disallow crush buckets of type 0

Prevent creation of buckets of type 0 ('osd', 'device', etc.), as they
will confusing the mapping algorithm.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoPGBackend::rollback_stash: remove the correct shard 1382/head
Samuel Just [Wed, 5 Mar 2014 20:51:08 +0000 (12:51 -0800)]
PGBackend::rollback_stash: remove the correct shard

Fixes: #7616
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoFileStore::_collection_move_rename: propogate EEXIST
Samuel Just [Wed, 5 Mar 2014 20:50:43 +0000 (12:50 -0800)]
FileStore::_collection_move_rename: propogate EEXIST

Previously, an EEXIST would get masked by the subsequent clone
operation.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoqa/workunits/mon/crush_ops: use expect_false
Sage Weil [Wed, 5 Mar 2014 20:52:08 +0000 (12:52 -0800)]
qa/workunits/mon/crush_ops: use expect_false

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1376 from ceph/wip-7608
Sage Weil [Wed, 5 Mar 2014 20:35:56 +0000 (12:35 -0800)]
Merge pull request #1376 from ceph/wip-7608

test: Fix tiering test cases to use ---force-nonempty

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agotest: Fix tiering test cases to use ---force-nonempty 1376/head
David Zafman [Wed, 5 Mar 2014 20:31:29 +0000 (12:31 -0800)]
test: Fix tiering test cases to use ---force-nonempty

Fixes: #7608
Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agomon: warn when pool nears target max objects/bytes 1343/head
Sage Weil [Wed, 5 Mar 2014 18:58:37 +0000 (10:58 -0800)]
mon: warn when pool nears target max objects/bytes

The cache pools will throttle when they reach the target max size, so it
is important to make the administrator aware when they approach that point.
Unfortunately it is not particularly easy to efficiently keep track of
which PGs have hit their limit and use that for reporting.  However, it
is easy to raise a flag when we start to approach the target for the
entire pool, and that sort of early warning is arguably more useful
anyway.

Trigger the warning based on the target full ratio.  Not when we hit the
target, but when we are 2/3 between it and completely full.

Implements: #7442
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1375 from ceph/wip-pgmap-stat
Sage Weil [Wed, 5 Mar 2014 19:07:03 +0000 (11:07 -0800)]
Merge pull request #1375 from ceph/wip-pgmap-stat

mon/PGMap: return empty stats if pool is not in sum

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agomon/PGMap: return empty stats if pool is not in sum 1375/head
Sage Weil [Wed, 5 Mar 2014 18:44:41 +0000 (10:44 -0800)]
mon/PGMap: return empty stats if pool is not in sum

Greg was right!

When a pool is created, the PGs are not added to the PGMap until the *next*
proposal.  Weaken the assert here and return empty stats for non-existent
(new) pools so that a pool create + tier add sequence does not crash.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1373 from ceph/wip-crush-json
Sage Weil [Wed, 5 Mar 2014 16:52:45 +0000 (08:52 -0800)]
Merge pull request #1373 from ceph/wip-crush-json

crush: revise JSON format for 'item' type

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agocrush: revise JSON format for 'item' type 1373/head
John Spray [Wed, 5 Mar 2014 15:50:53 +0000 (15:50 +0000)]
crush: revise JSON format for 'item' type

Commit a7e9a7b648 changed the JSON format of CRUSH rules
such that the 'item' attribute on a step was sometimes
an integer and sometimes a string.

This commit separates the integer and string representations
so that tools which rely on a 'item' consistently being an
integer ID will work.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoReplicatedPG::fill_in_copy_get: fix omap loop conditions 1372/head
Samuel Just [Wed, 5 Mar 2014 01:05:36 +0000 (17:05 -0800)]
ReplicatedPG::fill_in_copy_get: fix omap loop conditions

cursor.omap_offet indicates the most recently recovered key, we continue
filling in at the smallest key k | k > cursor.omap_offset.  If the loop
as written terminates due to !(left > 0), iter points at the next key to
copy, rather than the last key copied, resulting in the next copy
operation skipping that key.

Now, iter, if valid, must point to the last key copied once the loop has
completed since we check left <= 0 prior to advancing iter.  We can
therefore use it to fill in cursor.omap_offset.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG::fill_in_copy_get: remove extraneous if statement
Samuel Just [Wed, 5 Mar 2014 01:03:37 +0000 (17:03 -0800)]
ReplicatedPG::fill_in_copy_get: remove extraneous if statement

This should leave the behavior unchanged.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG::fill_in_copy_get: fix early return bug
Samuel Just [Tue, 4 Mar 2014 23:21:09 +0000 (15:21 -0800)]
ReplicatedPG::fill_in_copy_get: fix early return bug

This is not a leak: we are in an else block where cb must
be NULL.  The fix as introduced did not include braces on
the if causing the method to return unconditionally.

Fixes: #7604
Introduced in: 500206d809f0cd85cd99e4f0ec164bbf74f92c28
Reviewed-by: David Zafman <david.zafman@inktank.com>
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge remote-tracking branch 'upstream/wip-7447' into firefly
Samuel Just [Wed, 5 Mar 2014 03:22:08 +0000 (19:22 -0800)]
Merge remote-tracking branch 'upstream/wip-7447' into firefly

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoECBackend,ReplicatedPG: delete temp if we didn't get the transaction 1367/head
Samuel Just [Mon, 3 Mar 2014 23:33:51 +0000 (15:33 -0800)]
ECBackend,ReplicatedPG: delete temp if we didn't get the transaction

We always send the transaction for operations on temp objects,
but if we didn't get the final transacition on the actual object,
we might end up failing to remove the temp object.  Thus, if
we get a sub op and don't have the transaction, just remove the
named temp objects.

Fixes: #7447
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoPGBackend/ECBackend: handle temp objects correctly
Samuel Just [Tue, 4 Mar 2014 01:08:10 +0000 (17:08 -0800)]
PGBackend/ECBackend: handle temp objects correctly

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoECMsgTypes: fix constructor temp_added/temp_removed ordering to match users
Samuel Just [Tue, 4 Mar 2014 17:16:08 +0000 (09:16 -0800)]
ECMsgTypes: fix constructor temp_added/temp_removed ordering to match users

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG::finish_ctx: use correct snapdir prior version in events
Samuel Just [Tue, 4 Mar 2014 06:22:39 +0000 (22:22 -0800)]
ReplicatedPG::finish_ctx: use correct snapdir prior version in events

Fixes: #7595
Reviewed-by: Greg Farnum <greg@inktank.com>
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1360 from enovance/wip-brag
Loic Dachary [Tue, 4 Mar 2014 11:41:54 +0000 (12:41 +0100)]
Merge pull request #1360 from enovance/wip-brag

Fixes for ceph-brag

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMerge remote-tracking branch 'brag/master' into firefly 1360/head
Babu Shanmugam [Tue, 4 Mar 2014 08:46:38 +0000 (14:16 +0530)]
Merge remote-tracking branch 'brag/master' into firefly

Signed-off-by: Babu Shanmugam <anbu@enovance.com>
11 years agoMerge pull request #1352 from dachary/wip-7578
Sage Weil [Tue, 4 Mar 2014 05:43:39 +0000 (21:43 -0800)]
Merge pull request #1352 from dachary/wip-7578

common: -- support for env_to_vec

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1342 from ceph/wip-cache-add
Sage Weil [Tue, 4 Mar 2014 05:37:56 +0000 (21:37 -0800)]
Merge pull request #1342 from ceph/wip-cache-add

mon: add 'osd tier add-cache ...' command (DNM until after wip-tier-add)

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1335 from ceph/wip-tier-add
Sage Weil [Tue, 4 Mar 2014 05:36:22 +0000 (21:36 -0800)]
Merge pull request #1335 from ceph/wip-tier-add

mon: prevent non-empty pools from being added as tiers

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #1358 from ceph/wip-2288
Gregory Farnum [Tue, 4 Mar 2014 05:19:40 +0000 (21:19 -0800)]
Merge pull request #1358 from ceph/wip-2288

mds: check projected xattr when handling setxattr

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agomon/OSDMonitor: fix race in 'osd tier remove ...' 1342/head
Sage Weil [Mon, 3 Mar 2014 19:35:28 +0000 (11:35 -0800)]
mon/OSDMonitor: fix race in 'osd tier remove ...'

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon/OSDMonitor: fix some whitespace
Sage Weil [Mon, 3 Mar 2014 19:33:21 +0000 (11:33 -0800)]
mon/OSDMonitor: fix some whitespace

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon/OSDMonitor: add 'osd tier add-cache <pool> <size>' command
Sage Weil [Mon, 3 Mar 2014 19:33:13 +0000 (11:33 -0800)]
mon/OSDMonitor: add 'osd tier add-cache <pool> <size>' command

This is a friendlier interface for setting up a cache tier with some
reasonable defaults (defined via config options).  This will simplify
the user experience and documentation.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon/OSDMonitor: handle 'osd tier add ...' race/corner case
Sage Weil [Mon, 3 Mar 2014 19:32:48 +0000 (11:32 -0800)]
mon/OSDMonitor: handle 'osd tier add ...' race/corner case

If you have two racing requests to add two different pools as a tier, the
committed checks will pass but they proposals will conflict.  Recheck the
pending pools for the same conditions and wait for a commit if they
occur.

Reported-by: Loic Dachary <loic@dachary.org>
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: make default bloom hit set fpp configurable
Sage Weil [Mon, 3 Mar 2014 16:51:25 +0000 (08:51 -0800)]
osd: make default bloom hit set fpp configurable

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: fix agent division by zero
Sage Weil [Sat, 1 Mar 2014 10:29:38 +0000 (02:29 -0800)]
osd/ReplicatedPG: fix agent division by zero

If the pool is empty we cannot divide by the object count.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoOSDMonitor: do not add non-empty tier pool unless forced 1335/head
Sage Weil [Tue, 4 Mar 2014 05:11:17 +0000 (21:11 -0800)]
OSDMonitor: do not add non-empty tier pool unless forced

In general, users should not use non-empty pools as new tiers or else
things can behave strangely:

 - the data sets are unrelated behavior will be... strange.
 - if the cache pool is not "new" and does not do the OMAP flag, the OSD
   will not know not to flush omap objects to an EC base tier
 - probably other random stuff I'm forgetting

Allow a user to shoot themselves in the foot with --force-nonempty.

Implements: #7457
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomds: check projected xattr when handling setxattr 1358/head
Yan, Zheng [Tue, 4 Mar 2014 02:26:58 +0000 (10:26 +0800)]
mds: check projected xattr when handling setxattr

Fixes: #2288
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>