Commit Graph

50557 Commits

Author SHA1 Message Date
Jason Dillaman
cbcfedf7d6 librbd: add tag handling to journal state machine
The journal will not retrieve the tag class for the image within
the journal in addition to the most recently allocated tag. Also
added helper methods to allocate new tags.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-08 09:03:43 -05:00
Jason Dillaman
a4dd788588 journal: helper method to retrieve in-memory client data
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-08 09:03:43 -05:00
Jason Dillaman
708c72cb0a rbd-mirror: local pool id no longer stored in client registration
The remote pool name should match the remote pool name.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-08 09:03:43 -05:00
Jason Dillaman
dbcbaa6e5c librbd: update journal client and tag data structures
The mirror peer now holds remote's image id as well as a collection
of bootstrap sync points.  The tag now contains uuids to map back
to the owning pool.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-08 09:03:43 -05:00
Jason Dillaman
9892fd782c librbd: allocate new uuid when enabling mirroring
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-08 09:03:43 -05:00
Jason Dillaman
174359baab cls_rbd: support for uuid to represent a mirrored pool
This uuid will be used as the client id for remote peer image
journals.  This will allow the uuid to be also utilized within
the librbd journal tag for tracking epoch ownership.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-08 09:03:43 -05:00
Ken Dreyer
19798efdd1 Merge pull request #7742 from ErwanAliasr1/evelu-spec
Adding build requires

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2016-03-08 06:51:44 -07:00
Kefu Chai
37f3fc9ea4 Merge pull request #7972 from badone/wip-CMakeLists-dup-line
cmake: Remove duplicate find_package libcurl line.

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-03-08 19:31:25 +08:00
Sage Weil
c88b863c7f Merge pull request #7959 from kmroz/wip-add-rgw-to-stopsh
script: add missing stop_rgw variable to stop.sh script

Reviewed-by: Sage Weil <sage@redhat.com>
2016-03-07 21:04:01 -05:00
Sage Weil
796331d6a1 Merge branch 'master' of github.com:ceph/ceph 2016-03-07 15:58:44 -05:00
Sage Weil
37f14a5d94 Merge branch 'wip-conf-root' of https://github.com/liewegas/ceph
Reviewed-by: Josh Durgin <jdurgin@redhat.com>

Conflicts:
	src/common/config.cc
2016-03-07 15:36:13 -05:00
Josh Durgin
9ef7bb15bd Merge pull request #7914 from dillaman/wip-tests-template-specialization
test: correct librbd errors discovered with unoptimized cmake build

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-03-07 12:07:51 -08:00
Erwan Velu
754d2103e1 packaging: Moving Cython into distro specific area
To get the spec file into a consistent state, let's move Cython into the distro
specific are of the spec file.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-03-07 20:27:07 +01:00
Erwan Velu
019d9e17a7 packaging: Adding redhat-rpm-config
Some part of the rados compilation process is expecting redhat-hardened-cc1.
That's surely because of the FORTIFY compilation flag.

redhat-hardened-cc1 is part of the redhat-rpm-config so let's put it as a build
dependency.

The typical output when this issue is occuring :

cd ./pybind/rados; CPPFLAGS="-iquote \/ceph/src/include -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=\"/usr/local/lib\" -DCEPH_PKGLIBDIR=\"/usr/local/lib/ceph\" -DGTEST_USE_OWN_TR1_TUPLE=0 -D_REENTRANT    " CFLAGS="-iquote \/ceph/src/include -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith  -fno-strict-aliasing -fsigned-char -rdynamic -O2 -g -pipe -Wall -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fPIE -fstack-protector-strong  -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free  -g -O2" LDFLAGS="-L\/ceph/src/.libs -Wl,--as-needed  -Wl,-z,relro -Wl,-z,now  -latomic_ops " CYTHON_BUILD_DIR="/ceph/src/build" /bin/python ./setup.py build \
--build-base /ceph/src/build \
--verbose
Compiling rados.pyx because it changed.
Cythonizing rados.pyx
  CXXLD    libradosstriper.la
  CXXLD    librbd.la
  CXXLD    librgw.la
running build
running build_ext
building 'rados' extension
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -iquote /ceph/src/include -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -fno-strict-aliasing -fsigned-char -rdynamic -O2 -g -pipe -Wall -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fPIE -fstack-protector-strong -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -g -O2 -iquote /ceph/src/include -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=/usr/local/lib -DCEPH_PKGLIBDIR=/usr/local/lib/ceph -DGTEST_USE_OWN_TR1_TUPLE=0 -D_REENTRANT -fPIC -I/usr/include/python2.7 -c /ceph/src/build/rados.c -o /ceph/src/build/temp.linux-x86_64-2.7/ceph/src/build/rados.o
gcc: erreur: /usr/lib/rpm/redhat/redhat-hardened-cc1: Aucun fichier ou dossier de ce type
error: command 'gcc' failed with exit status 1

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-03-07 20:27:07 +01:00
Erwan Velu
7d48d21a53 packaging: Adding btrfs build require
When doing a 'make check', 'qa/workunits/ceph-helpers.sh' does expect the 'btrfs'
command to be available. If not, that make many tests failing.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-03-07 20:27:06 +01:00
Sage Weil
216967d60b Merge pull request #7628 from liewegas/wip-journal-block-size
os/filestore/FileJournal: set block size via config option

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
2016-03-07 12:28:22 -05:00
Sage Weil
f78d7e8b6d Merge pull request #7705 from renhwsky/renhw-wip-pgmonitor-get_rule_avail
mon/pgmonitor: use appropriate forced conversions in get_rule_avail
2016-03-07 12:27:40 -05:00
Sage Weil
3634ed52f8 Merge pull request #7775 from branch-predictor/bp-bl-eradication
os/ObjectStore: implement more efficient get_encoded_bytes()

Reviewed-by: Sage Weil <sage@redhat.com>
2016-03-07 12:27:07 -05:00
Sage Weil
b62add00a0 Merge pull request #7845 from aiicore/pthread_setname_fix
common: set thread name from correct thread

Reviewed-by: Sage Weil <sage@redhat.com>
2016-03-07 12:25:13 -05:00
Sage Weil
6fc5c46097 Merge pull request #7850 from jupiturliu/kstore-latency
osd: kstore: latency breakdown

Reviewed-by: Sage Weil <sage@redhat.com>
2016-03-07 12:24:40 -05:00
Sage Weil
3a72d21e30 Merge pull request #7861 from tchaikov/wip-14910
qa/workunits/cephtool/test.sh: wait longer in ceph_watch_start()

Reviewed-by: Sage Weil <sage@redhat.com>
2016-03-07 12:23:46 -05:00
Sage Weil
020c78940e Merge pull request #7863 from branch-predictor/bp-faster-name-gen
common/obj_bencher.cc: faster object name generation

Reviewed-by: Sage Weil <sage@redhat.com>
2016-03-07 12:23:06 -05:00
Karol Mroz
60b71ec0e3 stop: Add missing stop_rgw variable
Signed-off-by: Karol Mroz <kmroz@suse.com>
2016-03-07 17:41:12 +01:00
Loic Dachary
80ef3477bf Merge pull request #7954 from SUSE/wip-docdev
doc/dev: various refinements

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-03-07 23:22:33 +07:00
Nathan Cutler
4a5875a184 doc/dev: start Testing in the cloud chapter
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-07 16:00:01 +01:00
Nathan Cutler
37afe5c53b doc/dev: various refinements
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-07 10:27:42 +01:00
Kefu Chai
6d31e5dfa8 Merge pull request #7951 from badone/wip-cls_hello-grammar
cls_hello: Fix grammatical error in description comment

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-03-07 17:19:29 +08:00
Brad Hubbard
11222c5c59 cmake: Remove duplicate find_package libcurl line.
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2016-03-07 14:12:31 +10:00
Loic Dachary
7e95acb494 Merge pull request #7946 from SUSE/wip-doc-dev-teuth
doc/dev: integrate testing into the narrative

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-03-07 10:12:28 +07:00
Brad Hubbard
d6a48d968a cls_hello: Fix grammatical error in description comment
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2016-03-07 12:30:11 +10:00
Nathan Cutler
5b570653f5 doc/dev: integrate testing into the narrative
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-06 20:41:35 +01:00
Yehuda Sadeh
6018ccd6c4 Merge pull request #7862 from theanalyst/rgw/doc-insecure-keystone
doc: rgw explain keystone's verify ssl switch

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-03-05 09:29:46 -08:00
Yehuda Sadeh
a794ea5f7e Merge pull request #7887 from cbodley/wip-rgw-test-multi-period
test/rgw: add multisite test for meta sync across periods

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-03-05 09:25:27 -08:00
Yehuda Sadeh
2286463b15 Merge pull request #7827 from cbodley/wip-rgw-period-meta-logs
rgw: fixes for per-period metadata logs

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-03-05 09:25:01 -08:00
Loic Dachary
a9493f23ce Merge pull request #7941 from SUSE/wip-teuos-intro
doc: detailed description of bugfixing workflow

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-03-05 21:55:13 +07:00
Nathan Cutler
a0572bc55c doc: detailed description of bugfixing workflow
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-05 15:54:09 +01:00
Loic Dachary
19f6c8d488 Merge pull request #7933 from ceph/wip-doc-dist-ceph-detect-init
doc: add ceph-detect-init(8) source to dist tarball

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-03-05 08:09:36 +07:00
Josh Durgin
56ca57329b Merge pull request #7937 from saru95/patch--1
ceph_daemon.py: Resolved ImportError to work with python3

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-03-04 14:45:12 -08:00
Zack Cerza
28cc0ca66d Merge pull request #7936 from ceph/wip-fix-debian-build
debian/changelog: Remove stray 'v' in version
2016-03-04 15:12:37 -07:00
Sarthak Munshi
9e47cef30c ceph_daemon.py: Resolved ImportError to work with python3
Signed-off-by: Sarthak Munshi <sarthakmunshi@gmail.com>
2016-03-05 03:35:50 +05:30
Casey Bodley
9a6771a864 rgw: fix for RGWCoroutinesManager::run() return value
the 'int ret' variable of the inner scope was shadowing an 'int ret'
variable in the outer scope, so we weren't propagating any of the error
codes

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:09 -05:00
Casey Bodley
5434db9335 rgw: use current period for InitSyncStatus
the InitSyncStatus coroutine records the position to start incremental
sync after finishing a full sync.  this should be the master's marker
from the current period, rather than its oldest log period

this also adds a check to run_sync() that restarts a full sync if it
sees that our sync period is behind the master's oldest log period

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:09 -05:00
Casey Bodley
762c075bb2 rgw: meta log rest handlers avoid get_log()
RGWMetadataManager::get_log() will allocate a log and keep it in memory.
this could lead to a potential denial of service by making requests with
lots of different period ids

RGWMetadataLog if effectively stateless (the only state is a set of
modified_shards, which are not touched by any of the rest api calls), so
we can use a temporary instead of calling get_log()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:09 -05:00
Casey Bodley
faa60bc1a9 rgw: pull first log period from master if not found locally
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:09 -05:00
Casey Bodley
1353fe514b rgw: implement find_oldest_log_period for RGWMetadataManager
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:09 -05:00
Casey Bodley
1b4d1e303b rgw: period history behaves with no current_period
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:08 -05:00
Casey Bodley
8044dcb048 rgw: initialize async_rados before meta_mgr
RGWMetadataManager::init() will depend on async_rados

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:08 -05:00
Casey Bodley
f8804b34a4 rgw: make RGWMetadataLog::get_shard_oid public and const
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:08 -05:00
Casey Bodley
b8a4a9d9a4 rgw: add RGWStatObjCR for async raw_obj_stat
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:08 -05:00
Casey Bodley
dbb934056b rgw: only write meta sync shard markers if can_adjust_marker
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-04 17:04:08 -05:00