]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agoosd/: Use MOSDPGUpdateLogMissing to implement mark_unfound_lost_delete safely 7765/head
Samuel Just [Fri, 12 Feb 2016 17:27:01 +0000 (09:27 -0800)]
osd/: Use MOSDPGUpdateLogMissing to implement mark_unfound_lost_delete safely

Using a MOSDPGLog was unsafe since it is not ordered with
respect to repops.  Instead, use a new message sent through
the same paths as repops.

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoosd/,messages/: add MOSDPGUpdateLogMissing[Reply]
Samuel Just [Fri, 22 Jan 2016 02:26:45 +0000 (18:26 -0800)]
osd/,messages/: add MOSDPGUpdateLogMissing[Reply]

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoos/: add try_rename
Samuel Just [Thu, 28 Jan 2016 22:11:42 +0000 (14:11 -0800)]
os/: add try_rename

Similar to collection_move_rename, except we ignore ENOENT and
don't allow different collections.

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoPGLog: factor out claim_log_entries_update_missing
Samuel Just [Mon, 30 Mar 2015 23:58:25 +0000 (16:58 -0700)]
PGLog: factor out claim_log_entries_update_missing

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoPGLog::merge_log: update missing, after removing divergent
Samuel Just [Mon, 30 Mar 2015 22:28:03 +0000 (15:28 -0700)]
PGLog::merge_log: update missing, after removing divergent

This should not change behavior at all.  It'll be useful in
the next few commits.

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoPG,PGLog: convert to DoutPrefixProviders
Samuel Just [Mon, 30 Mar 2015 23:51:04 +0000 (16:51 -0700)]
PG,PGLog: convert to DoutPrefixProviders

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agodout.h: add a DoutPrefixProvider and macro to allow passing of prefixes
Samuel Just [Mon, 30 Mar 2015 23:46:10 +0000 (16:46 -0700)]
dout.h: add a DoutPrefixProvider and macro to allow passing of prefixes

This way, we can get proper logging within static functions.

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoECBackend: use CEPH_MSG_PRIO_HIGH for write replies
Samuel Just [Wed, 3 Feb 2016 17:35:31 +0000 (09:35 -0800)]
ECBackend: use CEPH_MSG_PRIO_HIGH for write replies

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoECBackend: send subop writes and reads at normal priority
Samuel Just [Fri, 8 Jan 2016 21:26:39 +0000 (13:26 -0800)]
ECBackend: send subop writes and reads at normal priority

We want these to be processed ahead of new client ops since
there are resources being held.

Fixes: 14313
Backport: hammer
Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoReplicatedPG: remove OpContext from Repop
Samuel Just [Tue, 19 Jan 2016 23:33:02 +0000 (15:33 -0800)]
ReplicatedPG: remove OpContext from Repop

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoReplicatedPG: s/release_op_ctx_locks/release_object_locks, don't use opcontext
Samuel Just [Tue, 8 Dec 2015 23:31:05 +0000 (15:31 -0800)]
ReplicatedPG: s/release_op_ctx_locks/release_object_locks, don't use opcontext

This gets us one step closer to removing OpContext from Repop.

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoReplicatedPG: refactor OpContext to use ObcLockManager
Samuel Just [Wed, 13 Jan 2016 19:29:24 +0000 (11:29 -0800)]
ReplicatedPG: refactor OpContext to use ObcLockManager

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoReplicatedPG::close_op_ctx: the err argument is unused
Samuel Just [Mon, 23 Nov 2015 23:40:33 +0000 (15:40 -0800)]
ReplicatedPG::close_op_ctx: the err argument is unused

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoosd_types: add ObcLockManager
Samuel Just [Wed, 13 Jan 2016 19:16:18 +0000 (11:16 -0800)]
osd_types: add ObcLockManager

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agosrc/osd: use unique_ptr for backend trasaction, move into submit_transaction
Samuel Just [Mon, 16 Nov 2015 18:06:45 +0000 (10:06 -0800)]
src/osd: use unique_ptr for backend trasaction, move into submit_transaction

submit_transaction takes ownership of the transaction implicitely.  Make
this implicit using an rvalue ref to force usage of std::move and move
constructor.

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoReplicatedPG::RepGather: remove on_finish, no more users
Samuel Just [Mon, 16 Nov 2015 17:13:34 +0000 (09:13 -0800)]
ReplicatedPG::RepGather: remove on_finish, no more users

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoReplicatedPG: use register_on_finish rather than on_finish for flush/evict
Samuel Just [Fri, 13 Nov 2015 21:56:19 +0000 (13:56 -0800)]
ReplicatedPG: use register_on_finish rather than on_finish for flush/evict

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoReplicatedPG::scrub: use register_on_commit rather than on_finish
Samuel Just [Fri, 13 Nov 2015 22:06:57 +0000 (14:06 -0800)]
ReplicatedPG::scrub: use register_on_commit rather than on_finish

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoReplicatedPG: move do_osd_op_effects out of eval_repop
Samuel Just [Fri, 13 Nov 2015 18:37:45 +0000 (10:37 -0800)]
ReplicatedPG: move do_osd_op_effects out of eval_repop

This is better anyway, do_osd_op_effects on a non-client op was somewhat
silly without an op (even if you filled in the other fields like
watch_connects, it would just silently skip it).  It also eliminates
another dependence of RepGather on OpContext.

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoReplicatedPG: break out complete_disconnect_watches helper
Samuel Just [Fri, 13 Nov 2015 18:18:31 +0000 (10:18 -0800)]
ReplicatedPG: break out complete_disconnect_watches helper

We'll need this shortly when we remove do_osd_op_effects from
eval_repop.

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoReplicatedPG: move client reply handling out of eval_repop
Samuel Just [Fri, 12 Feb 2016 17:32:45 +0000 (09:32 -0800)]
ReplicatedPG: move client reply handling out of eval_repop

execute_ctx is the only path which actually has a client op,
let's clarify eval_repop by moving that logic inline there.
This also eliminates most of the repop->ctx users from
eval_repop.

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoosd/: replace simple_repop_.* with simple_opc_.*
Samuel Just [Wed, 11 Nov 2015 20:40:16 +0000 (12:40 -0800)]
osd/: replace simple_repop_.* with simple_opc_.*

This way, we don't expose the RepGather structure
up into the users (which pretty much exclusively
use the repop->ctx member anyway).  This will pave
the way to removing RepGather::ctx.

Part of this involves generalizing the repop callback
members (queue_snap_trimmer and on_applied) to
on_applied, on_committed, on_success, and on_finish
on both OpContext and RepGather.

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agointroduce CEPH_FEATURE_SERVER_JEWEL feature bit
Samuel Just [Wed, 20 Jan 2016 18:16:21 +0000 (10:16 -0800)]
introduce CEPH_FEATURE_SERVER_JEWEL feature bit

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoMerge pull request #7793 from tchaikov/wip-fix-dencoder-MirrorImage
Jason Dillaman [Thu, 25 Feb 2016 15:33:19 +0000 (10:33 -0500)]
Merge pull request #7793 from tchaikov/wip-fix-dencoder-MirrorImage

cls_rbd: fix the test for ceph-dencoder

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agocls_rbd: fix the test for ceph-dencoder 7793/head
Kefu Chai [Thu, 25 Feb 2016 07:11:44 +0000 (15:11 +0800)]
cls_rbd: fix the test for ceph-dencoder

initialize MirrorImage::state to a certain value, otherwise the
generated test instances would be undetermined, and hence fail
the dencoder tests.

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #7792 from tchaikov/wip-13505
Loic Dachary [Thu, 25 Feb 2016 15:04:26 +0000 (22:04 +0700)]
Merge pull request #7792 from tchaikov/wip-13505

fix FTBFS introduced by d0af316

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoMerge pull request #7731 from SUSE/wip-shebang
Loic Dachary [Thu, 25 Feb 2016 14:03:21 +0000 (21:03 +0700)]
Merge pull request #7731 from SUSE/wip-shebang

ceph_detect_init/__init__.py: remove shebang

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoosd: always cleanup the scrub results 7792/head
Kefu Chai [Thu, 25 Feb 2016 13:06:04 +0000 (21:06 +0800)]
osd: always cleanup the scrub results

the destructor of Scrub::Store asserts that `this->results` should
always be empty when it is free'd. before this change, if we are
repairing, the results is not flushed or cleaned up, this crashes
osd daemon when a new PG internval comes. also we should not keep
the results around even we don't want to populate them to the omap
if we are repairing, it's just a waste.

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agopybind: fix the FTBFS introduced by d0af316
Kefu Chai [Thu, 25 Feb 2016 06:28:32 +0000 (14:28 +0800)]
pybind: fix the FTBFS introduced by d0af316

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #7734 from dachary/wip-14834-pidfile-test
Kefu Chai [Thu, 25 Feb 2016 08:19:08 +0000 (16:19 +0800)]
Merge pull request #7734 from dachary/wip-14834-pidfile-test

tests: test_pidfile.sh lingering processes

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agolibrados: add missing tracpoint for scrub APIs
Kefu Chai [Thu, 25 Feb 2016 06:26:39 +0000 (14:26 +0800)]
librados: add missing tracpoint for scrub APIs

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agotests: test_pidfile.sh lingering processes 7734/head
Loic Dachary [Mon, 22 Feb 2016 04:38:46 +0000 (11:38 +0700)]
tests: test_pidfile.sh lingering processes

For the mon, using ps aux to find the process will only show part of the
command line and the $RUNID may be missing. For the OSD, the $RUNID is
passed using an environment variable and will not show at all.

There is no need to test both ceph-osd and ceph-mon since they both end
up in the same code path, pidfile_write. Add a log line that only shows
when the --pid-file is empty and grep for it in the simplest possible
way.

The TEST_pidfile test failed to kill a process because there was
no pidfile with its pid. This is fixed by backuping the pidfile before
it is modified.

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

Signed-off-by: Loic Dachary <loic@dachary.org>
9 years agoMerge pull request #6898 from tchaikov/wip-13505
Kefu Chai [Thu, 25 Feb 2016 04:48:14 +0000 (12:48 +0800)]
Merge pull request #6898 from tchaikov/wip-13505

add scrub persist/query API

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agorados: add "list-inconsistent-snapset" cmd 6898/head
Kefu Chai [Sat, 30 Jan 2016 13:22:19 +0000 (21:22 +0800)]
rados: add "list-inconsistent-snapset" cmd

to list inconsistent snapsets of a given PG, this command exposes
get_inconsistent_snapsets() rados API to user.

Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agorados: add "list-inconsistent-obj" cmd
Kefu Chai [Sat, 30 Jan 2016 08:35:27 +0000 (16:35 +0800)]
rados: add "list-inconsistent-obj" cmd

to list inconsistent objects of a given PG, this command exposes
get_inconsistent_objects() rados API to user.

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agolibrados: add get_inconsistent_snapsets() API
Kefu Chai [Sat, 30 Jan 2016 07:51:33 +0000 (15:51 +0800)]
librados: add get_inconsistent_snapsets() API

Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agolibrados: add get_inconsistent_objects() API
Kefu Chai [Sat, 30 Jan 2016 07:05:31 +0000 (15:05 +0800)]
librados: add get_inconsistent_objects() API

Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoosd: add CEPH_OSD_OP_SCRUBLS pg op
Kefu Chai [Sat, 30 Jan 2016 06:51:17 +0000 (14:51 +0800)]
osd: add CEPH_OSD_OP_SCRUBLS pg op

it is a new pg op which returns the encoded objects stored when
scrubbing.

Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoosd: persist inconsistent snapsets using omap
Kefu Chai [Sat, 30 Jan 2016 07:22:49 +0000 (15:22 +0800)]
osd: persist inconsistent snapsets using omap

the inconsistent snapsets are identified in ReplicatedPG::_scrub()
after we compared the authorized objects with their replica/shards.
these inconsistent information are stored in the omap of objects
with prefix "SCRUB_SS_".

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agolibrados: add `inconsistent_snapset_t` type
Kefu Chai [Sat, 30 Jan 2016 07:09:43 +0000 (15:09 +0800)]
librados: add `inconsistent_snapset_t` type

for presenting the inconsistent snapsets found in scrub

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoosd/: clear scrub store safetly
Samuel Just [Tue, 23 Feb 2016 19:50:46 +0000 (11:50 -0800)]
osd/: clear scrub store safetly

Signed-off-by: Samuel Just <sjust@redhat.com>
9 years agoosd: persist inconsistent objs using omap
Kefu Chai [Sat, 30 Jan 2016 06:38:48 +0000 (14:38 +0800)]
osd: persist inconsistent objs using omap

persist inconsistent objects found when comparing the ScrubMaps
collected from replica/shards. the discrepancies between the auth
copy and the replica are identified as inconsistencies. and hence
encoded into the omap of an object of the temp coll of the PG in
question.
scrub_types.{h,cpp} are introduced to hide the details of how we
persist the scrub types from the librados client.

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoosd: more constness to spg_t
Kefu Chai [Sat, 30 Jan 2016 08:48:08 +0000 (16:48 +0800)]
osd: more constness to spg_t

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agolibrados: add `inconsistent_obj_t` types
Kefu Chai [Sat, 30 Jan 2016 05:42:24 +0000 (13:42 +0800)]
librados: add `inconsistent_obj_t` types

which present the inconsistent objects found in scrub

Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agorados: add "list-inconsistent-pg" command
Kefu Chai [Sat, 30 Jan 2016 05:29:05 +0000 (13:29 +0800)]
rados: add "list-inconsistent-pg" command

to list inconsistent PGs of a given pool. this command exposes
the underlying get_inconsistent_pgs() API to user.

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agopybind: add Rados.get_inconsistent_pgs method
Kefu Chai [Wed, 24 Feb 2016 13:42:34 +0000 (21:42 +0800)]
pybind: add Rados.get_inconsistent_pgs method

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agolibrados: add get_inconsistent_pgs() to librados
Kefu Chai [Fri, 11 Dec 2015 10:13:20 +0000 (18:13 +0800)]
librados: add get_inconsistent_pgs() to librados

to list the inconsistent PGs of given pool, it's a wrapper
around the "ceph pg ls" command.

Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agotools/rados: support more --format options
Kefu Chai [Wed, 2 Dec 2015 08:02:14 +0000 (16:02 +0800)]
tools/rados: support more --format options

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #7597 from rzarzynski/wip-rgw-keystone-proper-fail
Yehuda Sadeh [Wed, 24 Feb 2016 22:40:02 +0000 (14:40 -0800)]
Merge pull request #7597 from rzarzynski/wip-rgw-keystone-proper-fail

rgw: improve error handling in S3/Keystone integration

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoMerge pull request #7051 from wonzhq/scrub-cmp-map
Sage Weil [Wed, 24 Feb 2016 19:35:38 +0000 (11:35 -0800)]
Merge pull request #7051 from wonzhq/scrub-cmp-map

osd: avoid FORCE updating digest been overwritten by MAYBE when comparing scrub map

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #7617 from liewegas/wip-14745
Sage Weil [Wed, 24 Feb 2016 18:45:59 +0000 (10:45 -0800)]
Merge pull request #7617 from liewegas/wip-14745

osd: fix forced prmootion for CALL ops

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7286 from ktdreyer/wip-10587-init-ceph-disk
Sage Weil [Wed, 24 Feb 2016 18:42:37 +0000 (10:42 -0800)]
Merge pull request #7286 from ktdreyer/wip-10587-init-ceph-disk

init-ceph.in: skip ceph-disk if it is not present

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #7599 from ifed01/wip-14707
Sage Weil [Wed, 24 Feb 2016 18:42:04 +0000 (10:42 -0800)]
Merge pull request #7599 from ifed01/wip-14707

log: fix stack overflow when flushing large log lines

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7643 from jazeltq/add_count_github
Sage Weil [Wed, 24 Feb 2016 18:41:17 +0000 (10:41 -0800)]
Merge pull request #7643 from jazeltq/add_count_github

osd: filejournal: report journal entry count

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7658 from majianpeng/bluestore
Sage Weil [Wed, 24 Feb 2016 18:40:26 +0000 (10:40 -0800)]
Merge pull request #7658 from majianpeng/bluestore

osd: bluestore: misc fixes

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7677 from xiexingguo/xxg-wip-14786
Sage Weil [Wed, 24 Feb 2016 18:39:27 +0000 (10:39 -0800)]
Merge pull request #7677 from xiexingguo/xxg-wip-14786

osd: fix fusestore hanging during stop/quit

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7680 from ceph/wip-da-SCA-20160203
Sage Weil [Wed, 24 Feb 2016 18:38:06 +0000 (10:38 -0800)]
Merge pull request #7680 from ceph/wip-da-SCA-20160203

common: various fixes from SCA runs

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jason Dillaman <jdillama@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
9 years agoMerge pull request #7681 from jjhuo/kstore-updates
Sage Weil [Wed, 24 Feb 2016 18:37:13 +0000 (10:37 -0800)]
Merge pull request #7681 from jjhuo/kstore-updates

osd: kstore: sync up kstore with recent bluestore updates

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7759 from trociny/wip-rbd-mirror-image-replayer-improvements
Jason Dillaman [Wed, 24 Feb 2016 16:40:43 +0000 (11:40 -0500)]
Merge pull request #7759 from trociny/wip-rbd-mirror-image-replayer-improvements

rbd-mirror: ImageReplayer improvements

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #7736 from trociny/fix-librbd-asok-empty-name
Jason Dillaman [Wed, 24 Feb 2016 16:07:22 +0000 (11:07 -0500)]
Merge pull request #7736 from trociny/fix-librbd-asok-empty-name

librbd: retrieve image name when opening by id

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #7620 from jdurgin/wip-14419
Jason Dillaman [Wed, 24 Feb 2016 15:35:28 +0000 (10:35 -0500)]
Merge pull request #7620 from jdurgin/wip-14419

cls_rbd: mirroring directory

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agocls_rbd: add methods for keeping track of mirrored images
Josh Durgin [Fri, 12 Feb 2016 04:38:07 +0000 (20:38 -0800)]
cls_rbd: add methods for keeping track of mirrored images

These will track whether local images should be mirrored, and map them
to a unique global id. There's a state field for safely disabling
mirroring while operating on multiple objects.

Fixes: #14419
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
9 years agolibrbd: rename rbd_pool_settings object to rbd_mirroring
Josh Durgin [Thu, 4 Feb 2016 20:15:00 +0000 (12:15 -0800)]
librbd: rename rbd_pool_settings object to rbd_mirroring

We'll use this object only for mirroring-related purposes, not generic
settings on a pool.

Refs: #14419
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
9 years agoMerge pull request #7762 from ErwanAliasr1/evelu-check
Loic Dachary [Wed, 24 Feb 2016 14:42:02 +0000 (21:42 +0700)]
Merge pull request #7762 from ErwanAliasr1/evelu-check

Improving 'make check' for ceph-disk

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agolibrbd: init asok_hook on open so name is always known 7736/head
Mykola Golub [Tue, 23 Feb 2016 20:20:51 +0000 (22:20 +0200)]
librbd: init asok_hook on open so name is always known

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
9 years agolibrbd: get image name on open if it is opened by id
Mykola Golub [Tue, 23 Feb 2016 09:28:00 +0000 (11:28 +0200)]
librbd: get image name on open if it is opened by id

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
9 years agoMerge pull request #7743 from JiYou/open-test-for-bug-2339
Kefu Chai [Wed, 24 Feb 2016 13:57:05 +0000 (21:57 +0800)]
Merge pull request #7743 from JiYou/open-test-for-bug-2339

test: enable test for bug #2339 which has been resolved.

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #7773 from roidayan/xio_remove_redundant_magic_methods
Haomai Wang [Wed, 24 Feb 2016 13:49:21 +0000 (21:49 +0800)]
Merge pull request #7773 from roidayan/xio_remove_redundant_magic_methods

xio: remove redundant magic methods

Reviewed-by: Haomai Wang<haomai@xsky.com>
9 years agoMerge pull request #7771 from xiexingguo/xxg-wip-fixawatch
Jason Dillaman [Wed, 24 Feb 2016 13:35:06 +0000 (08:35 -0500)]
Merge pull request #7771 from xiexingguo/xxg-wip-fixawatch

librados: do not clear handle for aio_watch()

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoxio: remove redundant magic methods 7773/head
Roi Dayan [Mon, 15 Feb 2016 07:42:11 +0000 (09:42 +0200)]
xio: remove redundant magic methods

The same methods are inherited from Messenger.

Signed-off-by: Roi Dayan <roid@mellanox.com>
9 years agolibrados: remove unused local variables 7771/head
xie xingguo [Wed, 24 Feb 2016 08:59:33 +0000 (16:59 +0800)]
librados: remove unused local variables

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
9 years agolibrados: do not clear handle for aio_watch()
xie xingguo [Wed, 24 Feb 2016 08:56:23 +0000 (16:56 +0800)]
librados: do not clear handle for aio_watch()

which is needed for aio_unwatch() to work.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
9 years agotests/ceph-disk: Let teardown clearing data 7762/head
Erwan Velu [Tue, 23 Feb 2016 16:54:21 +0000 (17:54 +0100)]
tests/ceph-disk: Let teardown clearing data

When running the ceph-disk check suite, 'test_mark_init' & 'test_activate_dir' had a
permission denied of the freshly created stuff like in :

tests/ceph-disk.sh:237: test_mark_init:  /bin/rm -fr /ceph/src/ceph-disk/test-ceph-disk/dir
/bin/rm: cannot remove « /ceph/src/ceph-disk/test-ceph-disk/dir/snap_1 »: Permission denied
/bin/rm: cannot remove « /ceph/src/ceph-disk/test-ceph-disk/dir/current »: Permission denied
/bin/rm: cannot remove « /ceph/src/ceph-disk/test-ceph-disk/dir/snap_2 »: Permission denied

Those two tests are starting a mon with run_mon.
Trying to delete the files while the daemon are still alive is impossible.
This patch removes the explicit 'rm' and let the teardown doing the cleaning
stuff by stopping daemons & cleaning content.

By using this patch, make check is now sucessful on ceph-disk.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests/ceph-disk: Using dummy device mappers
Erwan Velu [Tue, 23 Feb 2016 15:14:48 +0000 (16:14 +0100)]
tests/ceph-disk: Using dummy device mappers

When doing a make test, if your local setup was running a "dm-0" or "dm-1",
the make check was failing.

The detection of the local "dm-x" were leading to a wrong comparaison with
the expected simulated values.

The fix is using a dummy name for that "dm" to prevent any collision with the local setup.

Prior that patch, a typical output of that error looked like :

>               assert expect == main.list_devices()
E               assert [{'partitions...: '/dev/Xda'}] == [{'partitions'...: '/dev/Xda'}]
E                 At index 0 diff: {'partitions': [{'dmcrypt': {'holders': ['dm-0'], 'type': 'plain'}, 'ptype': '4fbd7e29-9d25-41b8-afd0-5ec00ceff05d', 'path': '/dev/Xda1', 'is_partition': True, 'mount': None, 'uuid': '56244cf5-83ef-4984-888a-2d8b8e0e04b2', 'type': 'data', 'state': 'unprepared', 'fs_type': None}], 'path': '/dev/Xda'} != {'partitions': [{'ptype': '4fbd7e29-9d25-41b8-afd0-5ec00ceff05d', 'whoami': None, 'path': '/dev/Xda1', 'is_partition': True, 'mount': '/var/cache/ccache', 'uuid': '56244cf5-83ef-4984-888a-2d8b8e0e04b2', 'ceph_fsid': None, 'fs_type': 'btrfs', 'dmcrypt': {'holders': ['dm-0'], 'type': 'plain'}, 'type': 'data', 'state': 'active'}], 'path': '/dev/Xda'}
E                 Full diff:
E                 - [{'partitions': [{'dmcrypt': {'holders': ['dm-0'], 'type': 'plain'},
E                 + [{'partitions': [{'ceph_fsid': None,
E                 +                   'dmcrypt': {'holders': ['dm-0'], 'type': 'plain'},
E                 -                   'fs_type': None,
E                 ?                              ^^^^
E                 +                   'fs_type': 'btrfs',
E                 ?                              ^^^^^^^
E                 'is_partition': True,
E                 -                   'mount': None,
E                 +                   'mount': '/var/cache/ccache',
E                 'path': '/dev/Xda1',
E                 'ptype': '4fbd7e29-9d25-41b8-afd0-5ec00ceff05d',
E                 -                   'state': 'unprepared',
E                 ?                             ^^^^ -----
E                 +                   'state': 'active',
E                 ?                             ^^^^^
E                 'type': 'data',
E                 -                   'uuid': '56244cf5-83ef-4984-888a-2d8b8e0e04b2'}],
E                 ?                                                                 --
E                 +                   'uuid': '56244cf5-83ef-4984-888a-2d8b8e0e04b2',
E                 +                   'whoami': None}],
E                 'path': '/dev/Xda'}]

tests/test_main.py:342: AssertionError

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests/ceph-disk: Creating missing working dir
Erwan Velu [Tue, 23 Feb 2016 10:36:51 +0000 (11:36 +0100)]
tests/ceph-disk: Creating missing working dir

When running run-tox.sh in a very simple env,
the test will fail if '/var/lib/ceph/tmp' doesn't exist.

This patch adds a check to create this directory if required as mkdtemp doesn't do it for you.

Prior this patch, the following behavior was seen :

tests/test_main.py:342:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ceph_disk/main.py:3753: in list_devices
    fstype=fs_type, options='')
ceph_disk/main.py:1217: in mount
    dir=STATEDIR + '/tmp',
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

suffix = '', prefix = 'mnt.', dir = '/var/lib/ceph/tmp'

    def mkdtemp(suffix="", prefix=template, dir=None):
        """User-callable function to create and return a unique temporary
        directory.  The return value is the pathname of the directory.

        Arguments are as for mkstemp, except that the 'text' argument is
        not accepted.

        The directory is readable, writable, and searchable only by the
        creating user.

        Caller is responsible for deleting the directory when done with it.
        """

        if dir is None:
            dir = gettempdir()

        names = _get_candidate_names()

        for seq in xrange(TMP_MAX):
            name = names.next()
            file = _os.path.join(dir, prefix + name + suffix)
            try:
>               _os.mkdir(file, 0700)
E               OSError: [Errno 2] No such file or directory: '/var/lib/ceph/tmp/mnt.KoAV85'

/usr/lib64/python2.7/tempfile.py:333: OSError

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agoMerge pull request #7649 from yuyuyu101/wip-async-watch
Jason Dillaman [Wed, 24 Feb 2016 04:41:03 +0000 (23:41 -0500)]
Merge pull request #7649 from yuyuyu101/wip-async-watch

librados: implement async watch/unwatch

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agotest: enable test for bug #2339 which has been resolved. 7743/head
You Ji [Mon, 22 Feb 2016 15:52:38 +0000 (08:52 -0700)]
test: enable test for bug #2339 which has been resolved.

Signed-off-by: You Ji <jiyou09@gmail.com>
9 years agoMerge pull request #7761 from dillaman/wip-14847
Josh Durgin [Wed, 24 Feb 2016 02:07:12 +0000 (18:07 -0800)]
Merge pull request #7761 from dillaman/wip-14847

librbd: fix state machine race conditions during shut down

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoRadosClient: call watch_flush before finisher stop 7649/head
Haomai Wang [Tue, 23 Feb 2016 04:17:50 +0000 (12:17 +0800)]
RadosClient: call watch_flush before finisher stop

Signed-off-by: Haomai Wang <haomai@xsky.com>
9 years agocls_rbd: async version of dir_get_name
Mykola Golub [Tue, 23 Feb 2016 09:26:37 +0000 (11:26 +0200)]
cls_rbd: async version of dir_get_name

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
9 years agoMerge pull request #7632 from zaitcev/cleanup-dead-code-3
Yehuda Sadeh [Tue, 23 Feb 2016 19:44:50 +0000 (11:44 -0800)]
Merge pull request #7632 from zaitcev/cleanup-dead-code-3

rgw: Drop unused usage_exit from rgw_admin.cc

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoMerge pull request #7285 from magicrobotmonkey/patch-1
Yehuda Sadeh [Tue, 23 Feb 2016 19:25:38 +0000 (11:25 -0800)]
Merge pull request #7285 from magicrobotmonkey/patch-1

Increase verbosity level on RGWObjManifest line

Reviewed-by: Yehuda Saeh <yehuda@redhat.com>
9 years agoMerge pull request #7618 from zaitcev/wip-5073-subuser-bis
Yehuda Sadeh [Tue, 23 Feb 2016 19:23:16 +0000 (11:23 -0800)]
Merge pull request #7618 from zaitcev/wip-5073-subuser-bis

rgw: Fix subuser harder with tenants

Reviewed-y: Yehuda Sadeh <yehuda@redhat.com>

9 years agoMerge pull request #7763 from dachary/wip-releases
Sage Weil [Tue, 23 Feb 2016 18:18:00 +0000 (13:18 -0500)]
Merge pull request #7763 from dachary/wip-releases

doc: fix 0.94.4 and 0.94.5 ordering

9 years agoMerge pull request #7364 from javenwu/master
Jason Dillaman [Tue, 23 Feb 2016 18:17:52 +0000 (13:17 -0500)]
Merge pull request #7364 from javenwu/master

common: default cluster name to config file prefix

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #7548 from yuyuyu101/librbd-avoid-memcpy
Jason Dillaman [Tue, 23 Feb 2016 18:15:29 +0000 (13:15 -0500)]
Merge pull request #7548 from yuyuyu101/librbd-avoid-memcpy

librbd: reduce mem copies to user-buffer during read

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #7667 from jdurgin/wip-14780
Jason Dillaman [Tue, 23 Feb 2016 18:14:23 +0000 (13:14 -0500)]
Merge pull request #7667 from jdurgin/wip-14780

Revert "librbd: use task finisher per CephContext"

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #7625 from branch-predictor/bp-async-more
Haomai Wang [Tue, 23 Feb 2016 17:30:34 +0000 (01:30 +0800)]
Merge pull request #7625 from branch-predictor/bp-async-more

msg/async: smarter MSG_MORE

Reviewed-by: Haomai Wang <haomai@xsky.com>
9 years agodoc: fix 0.94.4 and 0.94.5 ordering 7763/head
Loic Dachary [Tue, 23 Feb 2016 17:13:53 +0000 (00:13 +0700)]
doc: fix 0.94.4 and 0.94.5 ordering

Signed-off-by: Loic Dachary <loic@dachary.org>
9 years agoMerge pull request #7760 from theanalyst/fix/rgw-fcgi-build
Casey Bodley [Tue, 23 Feb 2016 16:02:03 +0000 (11:02 -0500)]
Merge pull request #7760 from theanalyst/fix/rgw-fcgi-build

rgw: fcgi should include acconfig

9 years agolibrbd: deterministically unblock writes on snap set 7761/head
Jason Dillaman [Tue, 23 Feb 2016 15:59:09 +0000 (10:59 -0500)]
librbd: deterministically unblock writes on snap set

Previously this was handled in the state machine's destructor,
but that can lead to nondeterministic behavior due to interactions
between threads.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agolibrbd: avoid close race-condition within ImageState
Jason Dillaman [Tue, 23 Feb 2016 15:49:24 +0000 (10:49 -0500)]
librbd: avoid close race-condition within ImageState

The lock was previously unlocked/locked to avoid lock cycles. This
creates an issue when closing the image because the another thread
might have already deleted the ImageState before the lock could be
re-locked.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agorgw: fcgi should include acconfig 7760/head
Abhishek Lekshmanan [Tue, 23 Feb 2016 15:39:06 +0000 (16:39 +0100)]
rgw: fcgi should include acconfig

As it references FASTCGI_INCLUDE_DIR which is referenced from it

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
9 years agodoc/release-notes: v0.94.6 final notes
Sage Weil [Tue, 23 Feb 2016 15:35:34 +0000 (10:35 -0500)]
doc/release-notes: v0.94.6 final notes

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #7689 from dachary/wip-release-notes
Sage Weil [Tue, 23 Feb 2016 15:29:53 +0000 (10:29 -0500)]
Merge pull request #7689 from dachary/wip-release-notes

release-notes: draft v0.94.6 release notes

9 years agomsg/async: cut the middle-man 7625/head
Piotr Dałek [Thu, 11 Feb 2016 08:38:46 +0000 (09:38 +0100)]
msg/async: cut the middle-man

Get rid of complete_bl and let messenger write directly to outcoming_bl of
a connection. Also, if message bufferlist is small enough, append its
contents to outcoming_bl directly, so we'll use less iovecs and in best
case, pack entire message (together with header and footer added in
write_message()) in single bufferptr.

Signed-off-by: Piotr Dałek <piotr.dalek@ts.fujitsu.com>
9 years agoMerge pull request #7725 from ceph/wip-fix-async-valgrind
Haomai Wang [Tue, 23 Feb 2016 14:19:34 +0000 (22:19 +0800)]
Merge pull request #7725 from ceph/wip-fix-async-valgrind

AsyncMessenger: fix valgrind leak

9 years agoMerge pull request #7758 from dachary/wip-ceph-disk-prepare-help
Kefu Chai [Tue, 23 Feb 2016 13:11:18 +0000 (21:11 +0800)]
Merge pull request #7758 from dachary/wip-ceph-disk-prepare-help

ceph-disk: fix prepare --help

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoceph-disk: fix prepare --help 7758/head
Loic Dachary [Tue, 23 Feb 2016 09:39:48 +0000 (16:39 +0700)]
ceph-disk: fix prepare --help

Signed-off-by: Loic Dachary <loic@dachary.org>
9 years agoMerge pull request #7756 from dachary/wip-ceph-disk-args
Kefu Chai [Tue, 23 Feb 2016 11:12:08 +0000 (19:12 +0800)]
Merge pull request #7756 from dachary/wip-ceph-disk-args

ceph-disk: deactivate / destroy PATH arg are optional

Reviewed-by: Kefu Chai <kchai@redhat.com>