]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoReplicatedPG: only populate_obc_watchers if active 3538/head
Samuel Just [Mon, 1 Dec 2014 22:52:11 +0000 (14:52 -0800)]
ReplicatedPG: only populate_obc_watchers if active

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoOSD: allow recovery in peered
Samuel Just [Wed, 26 Nov 2014 22:00:34 +0000 (14:00 -0800)]
OSD: allow recovery in peered

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoosd/: go "peered" instead of "active" when < min_size
Samuel Just [Fri, 7 Nov 2014 23:20:02 +0000 (15:20 -0800)]
osd/: go "peered" instead of "active" when < min_size

In the case of a replicated pool, the pg will transition to "peered"
rather than "active", where it can perform backfill bringing itself up
to min_size peers.  To that end, most operations now require
is_peered rather than is_active (OSDOps being the primary exception).
Also, rather than using the query_epoch on the activation message as the
activation epoch (for last_epoch_started) on the replica, we instead
use the last_epoch_started in the info sent by the primary.  This
allows the primary to not advance last_epoch_started past the last
known actual activation.  This will prevent later peering epochs from
requiring the last_update from a peered epoch to go active (might be
divergent).

Fixes: #7862
Signed-off-by: Samuel Just <sam.just@inktank.com>
10 years agoPG: move most of all_activated_and_commited into the AllReplicasActivated handler
Samuel Just [Thu, 20 Nov 2014 23:50:50 +0000 (15:50 -0800)]
PG: move most of all_activated_and_commited into the AllReplicasActivated handler

It's confusing to have that logic split up so much.

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoPG::proc_master_log: assume les and history.les from log source
Samuel Just [Tue, 18 Nov 2014 00:22:59 +0000 (16:22 -0800)]
PG::proc_master_log: assume les and history.les from log source

Otherwise, we might later go peered (not active) and not distribute
a non-0 last_epoch_started.  This should be safe as the log recipient
will have a last_update reflecting that interval as well.

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoosd_types: add last_peered, last_became_peered
Samuel Just [Thu, 30 Oct 2014 20:21:01 +0000 (13:21 -0700)]
osd_types: add last_peered, last_became_peered

Signed-off-by: Samuel Just <sam.just@inktank.com>
10 years agoPG: break waiting_for_peered out of waiting_for_active
Samuel Just [Wed, 29 Oct 2014 21:10:13 +0000 (14:10 -0700)]
PG: break waiting_for_peered out of waiting_for_active

waiting_for_peered now holds ops until peering completes (activation,
not necessarily state active).  waiting_for_active now holds
specifically MOSDOp blocked on:
- scrub
- replay
- state active

Signed-off-by: Samuel Just <sam.just@inktank.com>
10 years agoPG: remove very obsolete comment about backfill_pos
Samuel Just [Wed, 29 Oct 2014 21:07:09 +0000 (14:07 -0700)]
PG: remove very obsolete comment about backfill_pos

Signed-off-by: Samuel Just <sam.just@inktank.com>
10 years agoosd/: add state PG_STATE_PEERED
Samuel Just [Wed, 29 Oct 2014 20:57:01 +0000 (13:57 -0700)]
osd/: add state PG_STATE_PEERED

We need a state to represent the pg state where we are below
min_size, but trying to recover.

Signed-off-by: Samuel Just <sam.just@inktank.com>
10 years agodoc: add documentation for undersized
Samuel Just [Wed, 29 Oct 2014 21:03:40 +0000 (14:03 -0700)]
doc: add documentation for undersized

Signed-off-by: Samuel Just <sam.just@inktank.com>
10 years agodoc: improve incomplete state documentation
Samuel Just [Wed, 29 Oct 2014 21:03:28 +0000 (14:03 -0700)]
doc: improve incomplete state documentation

Signed-off-by: Samuel Just <sam.just@inktank.com>
10 years agoMerge pull request #3543 from ceph/wip-hints
Sage Weil [Thu, 29 Jan 2015 21:06:29 +0000 (13:06 -0800)]
Merge pull request #3543 from ceph/wip-hints

librados: rename NOREUSE to NOCACHE

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3295 from majianpeng/fix2
Sage Weil [Thu, 29 Jan 2015 21:04:39 +0000 (13:04 -0800)]
Merge pull request #3295 from majianpeng/fix2

osd: add per-pool fadvise-dontneed flag

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3392 from ceph/wip-crush-straw2
Sage Weil [Thu, 29 Jan 2015 21:03:39 +0000 (13:03 -0800)]
Merge pull request #3392 from ceph/wip-crush-straw2

crush: new straw2 bucket

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3495 from XinzeChi/wip-size-empty
Sage Weil [Thu, 29 Jan 2015 21:03:04 +0000 (13:03 -0800)]
Merge pull request #3495 from XinzeChi/wip-size-empty

cleanup: replace some size() or length() with !empty()

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agolibrados: rename NOREUSE to NOCACHE 3543/head
Sage Weil [Thu, 29 Jan 2015 21:00:15 +0000 (13:00 -0800)]
librados: rename NOREUSE to NOCACHE

As far as I can tell, the posix_fadvise() distinction between WONTNEED and
NOREUSE is subtle: one says I won't access the data, and the other says
I will access it one more time and then not access it.  That is, the
distinction is about time.  This thread seems to confirm this
interpretation:

 https://lkml.org/lkml/2011/6/27/44

Since we are attaching hints to the IO operations themselves, this
distinction doesn't make much sense for us.  (Backends should be careful
about which hint they use; or rather, they should use WONTNEED *after*
doing the IO since NOREUSE is presenting a no-op in Linux.)

However, we want to make a totally different distinction:

 WONTNEED - nobody will access this -> drop it from the cache
 NOCACHE  - *i* won't access this again -> don't let me affect your caching
            decisions or the working set you're maintaining for other
            clients.

The NOCACHE name is made-up and distinct from NOREUSE only so that it is
different from POSIX and doesn't introduce confusion for people familiar
with the POSIX meaning.  Perhaps a more accurate name would be IWONTNEED
but that is only one character apart and too error-prone IMO.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3540 from athanatos/wip-sam-cache-object-context-across-op
Samuel Just [Thu, 29 Jan 2015 18:39:28 +0000 (10:39 -0800)]
Merge pull request #3540 from athanatos/wip-sam-cache-object-context-across-op

Wip sam cache object context across op

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3536 from athanatos/wip-10616
Sage Weil [Thu, 29 Jan 2015 18:18:44 +0000 (10:18 -0800)]
Merge pull request #3536 from athanatos/wip-10616

Wip 10616

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3524 from ceph/wip-8251-2
Josh Durgin [Thu, 29 Jan 2015 16:54:40 +0000 (08:54 -0800)]
Merge pull request #3524 from ceph/wip-8251-2

Wip 8251 2

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3535 from ceph/wip-librbd-tests
Josh Durgin [Thu, 29 Jan 2015 16:40:26 +0000 (08:40 -0800)]
Merge pull request #3535 from ceph/wip-librbd-tests

tests: ensure RBD integration tests exercise all features

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3530 from xinxinsh/wip-cleanup
Sage Weil [Thu, 29 Jan 2015 15:19:36 +0000 (07:19 -0800)]
Merge pull request #3530 from xinxinsh/wip-cleanup

cleanup : remove unused perf counter

10 years agoMerge pull request #3528 from RobertJansen1/patch-1
Loic Dachary [Thu, 29 Jan 2015 10:15:40 +0000 (11:15 +0100)]
Merge pull request #3528 from RobertJansen1/patch-1

corrected some confusing numbers

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoedited failure conclusion 3528/head
RobertJansen1 [Thu, 29 Jan 2015 10:07:50 +0000 (11:07 +0100)]
edited failure conclusion

Signed-off-by: Robert Jansen <r.jansen@fairbanks.nl>
10 years agocorrected some confusing numbers
RobertJansen1 [Thu, 29 Jan 2015 10:03:14 +0000 (11:03 +0100)]
corrected some confusing numbers

Signed-off-by: Robert Jansen <r.jansen@fairbanks.nl>
10 years agocleanup : remove unused perf counter 3530/head
xinxin shu [Thu, 29 Jan 2015 02:16:13 +0000 (10:16 +0800)]
cleanup : remove unused perf counter

Signed-off-by: xinxin shu <xinxin.shu@intel.com>
10 years agorgw: also convert sharded replicalog entries 3524/head
Yehuda Sadeh [Thu, 29 Jan 2015 00:36:47 +0000 (16:36 -0800)]
rgw: also convert sharded replicalog entries

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: get rid of replicalog index_by_instance param
Yehuda Sadeh [Thu, 29 Jan 2015 00:10:34 +0000 (16:10 -0800)]
rgw: get rid of replicalog index_by_instance param

We convert old entries anyway, just complicates everything. Only use
that was kept is the one needed for the conversion function.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: fixing rebase casualties
Yehuda Sadeh [Wed, 28 Jan 2015 23:54:23 +0000 (15:54 -0800)]
rgw: fixing rebase casualties

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: convert old replicalog entries if needed
Yehuda Sadeh [Wed, 21 Jan 2015 00:36:34 +0000 (16:36 -0800)]
rgw: convert old replicalog entries if needed

If reading a bucket replicalog entry and one doesn't exist, fall back to
the old key, and convert it to the new one. When updating entries, if
entry does not exist do the same.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw-admin: add replicalog update command
Yehuda Sadeh [Wed, 21 Jan 2015 00:36:12 +0000 (16:36 -0800)]
rgw-admin: add replicalog update command

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #3514 from rzarzynski/wip-10550
Gregory Farnum [Wed, 28 Jan 2015 22:04:35 +0000 (14:04 -0800)]
Merge pull request #3514 from rzarzynski/wip-10550

mds: Wip 10550

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #3499 from ceph/wip-perf-filter
Sage Weil [Wed, 28 Jan 2015 17:36:36 +0000 (09:36 -0800)]
Merge pull request #3499 from ceph/wip-perf-filter

common: filtering in `perf dump`

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3508 from zhouyuan/submodule_https_git
Loic Dachary [Wed, 28 Jan 2015 15:45:17 +0000 (16:45 +0100)]
Merge pull request #3508 from zhouyuan/submodule_https_git

Update git submodule to use the same https protocol

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agotests: ensure RBD integration tests exercise all features 3535/head
Jason Dillaman [Wed, 28 Jan 2015 15:32:20 +0000 (10:32 -0500)]
tests: ensure RBD integration tests exercise all features

The RBD_FEATURES environment variables was not being exported to
the Python and C++ integration tests.  This resulted in the same
test cases being run multiple times instead of testing different
RBD features.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agomds: don't join on thread which has not been runned. 3514/head
Radoslaw Zarzynski [Wed, 21 Jan 2015 14:38:24 +0000 (15:38 +0100)]
mds: don't join on thread which has not been runned.

Fixes: #10550
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
10 years agoUpdate git submodule to use the same https protocol 3508/head
Yuan Zhou [Wed, 28 Jan 2015 06:19:49 +0000 (14:19 +0800)]
Update git submodule to use the same https protocol

Make more convenient for hosts with git protocol blocked

Signed-off-by: Yuan Zhou <yuan.zhou@intel.com>
10 years agoMerge pull request #3505 from ceph/wip-fuse-regress-note
Sage Weil [Wed, 28 Jan 2015 01:16:41 +0000 (17:16 -0800)]
Merge pull request #3505 from ceph/wip-fuse-regress-note

Update PendingReleaseNotes for ceph-fuse change in Giant

10 years agorgw: extend replica log api (purge-all)
Yehuda Sadeh [Mon, 12 May 2014 21:46:18 +0000 (14:46 -0700)]
rgw: extend replica log api (purge-all)

Adding a new purge-all option for the replica log api, which completely
removes a replica log object.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
10 years agoutime: extend utime parsing
Yehuda Sadeh [Sat, 10 May 2014 00:01:44 +0000 (17:01 -0700)]
utime: extend utime parsing

Since we sometimes encode it as <sec>.<usec>, also try to parse it using
this format.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
10 years agorgw: fix replica log indexing
Yehuda Sadeh [Wed, 7 May 2014 23:19:56 +0000 (16:19 -0700)]
rgw: fix replica log indexing

Fixes: #8251
Previously we were indexing the replica log only by bucket name, even
though we were provided with the bucket instance id. Fix that, and also
add the option to be able to revert to the old behavior. For
radosgw-admin we can do it if --replicalog-index-by-instance=false is
provided. For the replica log REST api we now have the index-by-instance
http param (defaults to true).

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
10 years agoMerge pull request #3480 from liewegas/wip-10617
Sage Weil [Tue, 27 Jan 2015 21:04:38 +0000 (13:04 -0800)]
Merge pull request #3480 from liewegas/wip-10617

osd: continue interrupted pg deletion on pool removal (bug 10617)

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3454 from hjwsm1989/optracker-op-wq
Sage Weil [Tue, 27 Jan 2015 20:58:29 +0000 (12:58 -0800)]
Merge pull request #3454 from hjwsm1989/optracker-op-wq

  use shardid as a key of the shardinfo when "dump_op_pq_state".

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3430 from majianpeng/misc
Sage Weil [Tue, 27 Jan 2015 20:57:36 +0000 (12:57 -0800)]
Merge pull request #3430 from majianpeng/misc

Misc

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3311 from xinxinsh/fix1
Sage Weil [Tue, 27 Jan 2015 20:56:00 +0000 (12:56 -0800)]
Merge pull request #3311 from xinxinsh/fix1

disable tcmalloc by default when enable jemalloc

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3394 from ceph/wip-10555
Sage Weil [Tue, 27 Jan 2015 20:55:11 +0000 (12:55 -0800)]
Merge pull request #3394 from ceph/wip-10555

mon: Do not allow empty pool names when creating

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoUpdate PendingReleaseNotes for ceph-fuse change in Giant 3505/head
Greg Farnum [Tue, 27 Jan 2015 20:55:04 +0000 (12:55 -0800)]
Update PendingReleaseNotes for ceph-fuse change in Giant

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #3444 from ceph/wip-mon-pgtemp
Sage Weil [Tue, 27 Jan 2015 20:54:47 +0000 (12:54 -0800)]
Merge pull request #3444 from ceph/wip-mon-pgtemp

osd: OSDMap: remove pg temps for inexistent pools

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3465 from liewegas/wip-mon-features
Sage Weil [Tue, 27 Jan 2015 20:54:28 +0000 (12:54 -0800)]
Merge pull request #3465 from liewegas/wip-mon-features

mon/OSDMonitor: validate crush features for osd (not just mon)

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
10 years agoMerge pull request #3475 from tchaikov/osdmap-remove-unused-variables
Sage Weil [Tue, 27 Jan 2015 20:54:03 +0000 (12:54 -0800)]
Merge pull request #3475 from tchaikov/osdmap-remove-unused-variables

osd/OSDMap: remove unused variables

Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3477 from liewegas/wip-noreuse
Sage Weil [Tue, 27 Jan 2015 20:53:30 +0000 (12:53 -0800)]
Merge pull request #3477 from liewegas/wip-noreuse

librados: add NOREUSE fadvise hint

Reviewed-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agoMerge pull request #3471 from yuandong1222/rgw-format-mtime
Yehuda Sadeh [Tue, 27 Jan 2015 18:23:03 +0000 (10:23 -0800)]
Merge pull request #3471 from yuandong1222/rgw-format-mtime

rgw: format mtime of radosgw-admin bucket stats

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #3497 from trociny/test-10439
Loic Dachary [Tue, 27 Jan 2015 13:12:36 +0000 (14:12 +0100)]
Merge pull request #3497 from trociny/test-10439

tests: bring back useful test 'ceph tell osd.foo'

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agocommon: filtering in `perf dump` 3499/head
John Spray [Tue, 27 Jan 2015 11:13:59 +0000 (11:13 +0000)]
common: filtering in `perf dump`

So that we can get out a particular subsystem
or particular counter without dumping
everything.  Should make tests that watch perf
counters much less spammy!

`logger` and `counter` params are used with
an exact comparison here but the interface
should be amenable to extending to e.g. globbing
if we wanted to in the future.

Also tidy up some iterator while()s into for()s.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agotests: bring back useful test 'ceph tell osd.foo' 3497/head
Mykola Golub [Tue, 27 Jan 2015 08:51:07 +0000 (10:51 +0200)]
tests: bring back useful test 'ceph tell osd.foo'

The test was removed in 1189138 (mon: make ceph tell mon.* version
work) as it began to fail due to #10439. After it fixed in c4548f6
(pybind: ceph_argparse: validate incorrectly formed targets), the test
can be restored.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
10 years agocleanup: replace some length() with !empty() 3495/head
Xinze Chi [Tue, 27 Jan 2015 07:33:47 +0000 (07:33 +0000)]
cleanup: replace some length() with !empty()

Signed-off-by: Xinze Chi <xmdxcxz@gmail.com>
10 years agocleanup: replace some size() with !empty()
Xinze Chi [Tue, 27 Jan 2015 07:17:44 +0000 (07:17 +0000)]
cleanup: replace some size() with !empty()

Signed-off-by: Xinze Chi <xmdxcxz@gmail.com>
10 years agoMerge pull request #2563 from ceph/wip-7467
Josh Durgin [Tue, 27 Jan 2015 06:34:24 +0000 (22:34 -0800)]
Merge pull request #2563 from ceph/wip-7467

rgw: support multiple host names

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3492 from ceph/wip-gmock
Josh Durgin [Mon, 26 Jan 2015 19:50:05 +0000 (11:50 -0800)]
Merge pull request #3492 from ceph/wip-gmock

tests: add Google C++ Mocking Framework

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3493 from ceph/wip-10637
Josh Durgin [Mon, 26 Jan 2015 19:07:20 +0000 (11:07 -0800)]
Merge pull request #3493 from ceph/wip-10637

librbd: trim header update not using AIO

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3388 from dachary/wip-make-check
Loic Dachary [Mon, 26 Jan 2015 17:43:12 +0000 (18:43 +0100)]
Merge pull request #3388 from dachary/wip-make-check

tests: centos7 needs nc to run make check

10 years agoMerge pull request #3345 from dachary/wip-install-epel
Ken Dreyer [Mon, 26 Jan 2015 17:23:34 +0000 (10:23 -0700)]
Merge pull request #3345 from dachary/wip-install-epel

tests: better EPEL installation method

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
10 years agotests: better EPEL installation method
Loic Dachary [Sat, 10 Jan 2015 00:58:54 +0000 (01:58 +0100)]
tests: better EPEL installation method

It does not depend on a specific version of the EPEL release package.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3455 from bveuille/wip-documentation
Loic Dachary [Mon, 26 Jan 2015 11:42:32 +0000 (12:42 +0100)]
Merge pull request #3455 from bveuille/wip-documentation

doc: Change Availability text in all of the man pages

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agotests: replace existing gtest 1.5.0 with gmock/gtest 1.7.0 3492/head
Jason Dillaman [Mon, 26 Jan 2015 00:38:46 +0000 (19:38 -0500)]
tests: replace existing gtest 1.5.0 with gmock/gtest 1.7.0

Google Testing Framework is included by default within the Google
C++ Mocking Framework.  Update makefiles to use new gmock/gtest
libraries and remove old gtest source code.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: trim header update not using AIO 3493/head
Jason Dillaman [Mon, 26 Jan 2015 03:15:07 +0000 (22:15 -0500)]
librbd: trim header update not using AIO

The original trim header update code was using blocking IO to
update the header.  After migrating to an asynchronous trim
which performs all work in librados callbacks, it exposed a
potential deadlock in the librados_test_stub when attempting
to do blocking IO within a librados callback.  This commit
changes the header update to use AIO.

Fixes: #10637
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agogmock: use Google C++ Mocking Framework for unit tests
Jason Dillaman [Fri, 23 Jan 2015 19:59:04 +0000 (14:59 -0500)]
gmock: use Google C++ Mocking Framework for unit tests

The 'src/gmock' directory is extracted from the 1.7.0
release located at https://code.google.com/p/googlemock/

gmock is licensed under the New BSD license, see
src/gmock/LICENSE

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #3486 from ceph/wip-librbd-trim-error
Josh Durgin [Sun, 25 Jan 2015 20:55:24 +0000 (12:55 -0800)]
Merge pull request #3486 from ceph/wip-librbd-trim-error

librbd: trim would not complete if exclusive lock is lost

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3487 from ceph/wip-install-deps
Gregory Farnum [Sun, 25 Jan 2015 19:59:16 +0000 (11:59 -0800)]
Merge pull request #3487 from ceph/wip-install-deps

install-deps: fix LC_ALL setting

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoinstall-deps: fix LC_ALL setting 3487/head
Noah Watkins [Sun, 25 Jan 2015 19:45:48 +0000 (11:45 -0800)]
install-deps: fix LC_ALL setting

On my box LC_ALL=C# includes the '#' in the value without
a space between C and '#' and things go completely bonkers.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
10 years agolibrados_test_stub: add IoCtx::get_instance_id()
Josh Durgin [Sun, 25 Jan 2015 07:12:18 +0000 (23:12 -0800)]
librados_test_stub: add IoCtx::get_instance_id()

This fixes make check

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge branch 'wip-8902'
Josh Durgin [Sat, 24 Jan 2015 23:37:09 +0000 (15:37 -0800)]
Merge branch 'wip-8902'

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agolibrbd: throttle async progress callbacks
Jason Dillaman [Mon, 19 Jan 2015 22:33:41 +0000 (17:33 -0500)]
librbd: throttle async progress callbacks

Ensure that no more than one outstanding progress callback
is queued for notification.  This will allow remote progress
updates to be sent at a rate in which all watch/notify
clients can support.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: add more robust retry handling to maintenance ops
Jason Dillaman [Wed, 14 Jan 2015 20:56:15 +0000 (15:56 -0500)]
librbd: add more robust retry handling to maintenance ops

When image locking is enabled, snapshot create, resize, and
flatten are coordinated with the lock owner.  Previously, if the
the lock owner changed during one of this operations, the
operation would fail.  Now librbd will attempt to restart the
operation with the new lock owner (or become the owner itself).

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: assert header lock ownership for maint operations
Jason Dillaman [Wed, 14 Jan 2015 16:49:13 +0000 (11:49 -0500)]
librbd: assert header lock ownership for maint operations

The resize, flatten, and snapshot maintenance operations now
use the new assert_lock feature to ensure that the current
client still owns the header lock when making changes.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agocls_lock: New assert_locked operation
Jason Dillaman [Tue, 18 Nov 2014 08:56:41 +0000 (03:56 -0500)]
cls_lock: New assert_locked operation

The assert_locked operation can be combined with other
RADOS ops to prevent an update to a locked object when
the client doesn't own the lock.  It will not attempt to
acquire the lock if the object is not currently locked.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: Coordinate maintenance through exclusive lock leader
Jason Dillaman [Thu, 9 Oct 2014 04:00:17 +0000 (00:00 -0400)]
librbd: Coordinate maintenance through exclusive lock leader

When the exclusive lock feature is enabled, only a single client can
modify the image.  As a result, certain maintenance activities
need to be proxied from the maintenance client to the active
leader.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: Add maintenance operation requests to ImageWatcher
Jason Dillaman [Thu, 9 Oct 2014 03:25:28 +0000 (23:25 -0400)]
librbd: Add maintenance operation requests to ImageWatcher

Snapshot, flatten, and resize maintenance operations can now
be coordinated via the client holding the exclusive lock for the
image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrados: Expose RadosClient instance id through librados
Jason Dillaman [Sun, 28 Sep 2014 07:46:04 +0000 (03:46 -0400)]
librados: Expose RadosClient instance id through librados

Allow librados clients to utilize the global id of the RadosClient.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: Create async versions of long-running maintenance operations
Jason Dillaman [Mon, 10 Nov 2014 17:25:50 +0000 (12:25 -0500)]
librbd: Create async versions of long-running maintenance operations

Resize and flatten now have async versions. The existing resize
and flatten operations now use the async versions internally. The
async operations will be used by the client holding the exclusive
lock when it receives maintenance requests from other clients.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agorgw: format mtime of radosgw-admin bucket stats 3471/head
Dong Yuan [Fri, 23 Jan 2015 07:03:54 +0000 (07:03 +0000)]
rgw: format mtime of radosgw-admin bucket stats

use formatter.dump_stream to format mtime

Change-Id: Ib1747b5389e29a4c5ab0499fcdb8cbaa926ae30c
Signed-off-by: Dong Yuan <yuandong1222@gmail.com>
10 years agoMerge pull request #3479 from ceph/wip-librbd-close-deadlock
Josh Durgin [Sat, 24 Jan 2015 07:51:37 +0000 (23:51 -0800)]
Merge pull request #3479 from ceph/wip-librbd-close-deadlock

librbd: potential deadlock on close_image

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agolibrbd: trim would not complete if exclusive lock is lost 3486/head
Jason Dillaman [Sat, 24 Jan 2015 07:28:07 +0000 (02:28 -0500)]
librbd: trim would not complete if exclusive lock is lost

The trim completion context was not properly invoked if the
image's exclusive lock was lost between issuing a librados call
and receiving its completion.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #3466 from delco225/master
Loic Dachary [Sat, 24 Jan 2015 00:41:50 +0000 (01:41 +0100)]
Merge pull request #3466 from delco225/master

installation error on ubuntu 14 corrected

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agobug: error when installing ceph dependencies with install-deps.sh 3466/head
delco225 [Fri, 23 Jan 2015 09:32:30 +0000 (10:32 +0100)]
bug: error when installing ceph dependencies with install-deps.sh

The parsing is sensitive to i18n and will fail if, for instance, it is set to French.
Workaround the problem by always setting the language to C so the script
can safely assume all output will be in english.

http://tracker.ceph.comm/issues/10596 Fixes: #10596

Signed-off-by: Ahoussi Armand <ahoussi.say@telecom-bretagne.eu>
10 years agoosd: add failure injection on pg removals 3480/head
Sage Weil [Sat, 24 Jan 2015 00:08:33 +0000 (16:08 -0800)]
osd: add failure injection on pg removals

Trigger a failure before final PG removal so we can test that the OSD will
complete interrupted PG removal.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3482 from ktdreyer/wip-rpm-glob-man-pages
Sage Weil [Fri, 23 Jan 2015 22:14:24 +0000 (14:14 -0800)]
Merge pull request #3482 from ktdreyer/wip-rpm-glob-man-pages

ceph.spec.in: use wildcards to capture man pages

10 years agoceph.spec.in: use wildcards to capture man pages 3482/head
Ken Dreyer [Fri, 23 Jan 2015 22:08:34 +0000 (15:08 -0700)]
ceph.spec.in: use wildcards to capture man pages

Use wildcard to capture gzipped man pages for ceph-clsinfo(8) and
librados-config(8). In addition to future-proofing us against
possible compression type changes down the road, this also aligns us
with the existing convention that's used to capture the rest of the man
page files.

10 years agoMerge pull request #3040 from cchengleo/wip-copy-on-read
Josh Durgin [Fri, 23 Jan 2015 21:44:40 +0000 (13:44 -0800)]
Merge pull request #3040 from cchengleo/wip-copy-on-read

RBD copy on read

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agolibrbd: clean up log message for copy-on-read 3040/head
Cheng Cheng [Fri, 23 Jan 2015 19:20:39 +0000 (14:20 -0500)]
librbd: clean up log message for copy-on-read

Signed-off-by: Cheng Cheng <ccheng.leo@gmail.com>
10 years agoosd: do not ignore deleted pgs on startup
Sage Weil [Fri, 23 Jan 2015 18:47:44 +0000 (10:47 -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 <sage@redhat.com>
10 years agolibrbd: potential deadlock on close_image 3479/head
Jason Dillaman [Fri, 23 Jan 2015 17:56:56 +0000 (12:56 -0500)]
librbd: potential deadlock on close_image

The owner_lock was incorrectly held when unregistering the image
watcher.  It was possible for the ImageWatcher finisher to be
running code that was then deadlocked waiting to acquire the
owner_lock while the close_image thread was attempting to shutdown
the deadlocked finisher.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: fix copy-on-read / resize down race condition
Jason Dillaman [Wed, 21 Jan 2015 13:58:57 +0000 (08:58 -0500)]
librbd: fix copy-on-read / resize down race condition

There was a rare race condition between a pending CoR operation
and a resize down operation resulting in a CoR copyup past the
new, reduced parent overlap.  This commit also adds additional
log message details for CoR.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agotest: add rados_nobjects_list_xyz functions to librados test stub
Jason Dillaman [Tue, 20 Jan 2015 17:12:43 +0000 (12:12 -0500)]
test: add rados_nobjects_list_xyz functions to librados test stub

The new RBD copy-on-read unit test case uses these RADOS functions
to verify that the CoR operation was successful.  This implements
these functions in the librados_test_stub library.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: eliminate CoR callback
Jason Dillaman [Sat, 17 Jan 2015 06:39:07 +0000 (01:39 -0500)]
librbd: eliminate CoR callback

When issuing the CoR copyup request, there is no need to keep
initialize the librados callback.  Treat the CoR as a fire-and-
forget operation.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: use finisher for copy-on-read copyup fulfillment
Jason Dillaman [Sat, 17 Jan 2015 05:18:24 +0000 (00:18 -0500)]
librbd: use finisher for copy-on-read copyup fulfillment

When the RBD cache is enabled, the ObjectCacher does not allow
reentrancy to read the full object.  As a temporary workaround,
use the Finisher to handle CoR read requests.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoReplicatedPG::hit_set_persist: update ssc->snapset as well 3536/head
Samuel Just [Fri, 23 Jan 2015 17:07:44 +0000 (09:07 -0800)]
ReplicatedPG::hit_set_persist: update ssc->snapset as well

This is a hack.  The correct answer is to adapt this method and
finish_ctx to allow this method to use finish_ctx.  This is complicated
by the presence of the hit set trims in the same repop, so for now, we
kick the can down the road a bit.

Fixes: 10616
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoReplicatedPG::hit_set_persist: write out oi.digest, these objects are immutable
Samuel Just [Fri, 23 Jan 2015 16:49:28 +0000 (08:49 -0800)]
ReplicatedPG::hit_set_persist: write out oi.digest, these objects are immutable

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agolibrados: add FADVISE_NOREUSE 3477/head
Sage Weil [Fri, 23 Jan 2015 17:06:32 +0000 (09:06 -0800)]
librados: add FADVISE_NOREUSE

We left this off because it seemed the same as DONTNEED, but there is a
subtle distinction: DONTNEED means nobody will need it (and we probably
discard our cache), while NOREUSE means this client won't need it again
(and we should try to avoid polluting the cache from this IO only).  At
least, that's the way we'r defining it.  posix_fadvise says:

       POSIX_FADV_NOREUSE
              The specified data will be accessed only once.
       POSIX_FADV_DONTNEED
              The specified data will not be accessed in the near future.

which is similar.  I think our definitions make a bit more sense for the
multi-client environment.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3456 from ceph/wip-4092
Josh Durgin [Fri, 23 Jan 2015 16:47:27 +0000 (08:47 -0800)]
Merge pull request #3456 from ceph/wip-4092

librbd: schedule header refresh after watch error

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoosd/OSDMap: remove unused variables 3475/head
Kefu Chai [Fri, 23 Jan 2015 15:26:50 +0000 (23:26 +0800)]
osd/OSDMap: remove unused variables

Signed-off-by: Kefu Chai <tchaikov@gmail.com>