Commit Graph

39497 Commits

Author SHA1 Message Date
Sage Weil
2a2d8cb2f0 Merge pull request #3693 from ceph/wip-objecter-linger-locking
objecter: clean up linger op locking

Reviewed-by: Sage Weil <sage@redhat.com>
2015-02-19 11:02:08 -08:00
Sage Weil
ebdfb127d2 Merge pull request #3710 from ceph/wip-10844
mon: MonCap: take EntityName instead when expanding profiles

Reviewed-by: Sage Weil <sage@redhat.com>
2015-02-19 11:01:07 -08:00
Josh Durgin
a0ec53e882 Merge pull request #3756 from ceph/wip-10899
librbd: fixed ImageWatcher recursive locking issues

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-02-18 08:55:13 -08:00
Jason Dillaman
08eb584f58 librbd: fixed ImageWatcher recursive locking issues
It was possible for ImageWatcher to attempt to re-acquire held locks
via context callbacks.  This issue affected resizing/flattening when
no work was required and rescheduling a watch upon two successive
failures.

Fixes: #10899
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-02-18 11:10:57 -05:00
Josh Durgin
1fa74bee3f Merge pull request #3749 from ceph/wip-10900
test/librbd/fsx.c: disable RBD object map for krbd

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-02-16 21:58:56 -08:00
Sage Weil
9264d4eaf7 Merge pull request #3747 from ceph/wip-10892
osd: clear obc cache on_shutdown

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-02-16 17:50:22 -08:00
Jason Dillaman
4f55d4168f test/librbd/fsx.c: disable RBD object map for krbd
RBD object map requires exclusive lock support, which is not
yet available in the kernel client.

Fixes: #10900
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-02-16 20:44:04 -05:00
Sage Weil
487c2053eb osd: clear obc cache on_shutdown
Fixes: #10892
Signed-off-by: Sage Weil <sage@redhat.com>
2015-02-16 17:10:33 -08:00
Loic Dachary
4ba3d575b8 Merge pull request #3746 from nwl/rgw-docs
doc: RGW is "built on top of librgw" changed to "librados"

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-02-17 00:31:11 +01:00
Neil Levine
ea66f5c9ee doc: RGW is "built on top of librgw" changed to "librados"
Signed-off-by: Neil Levine <levine@yoyo.org>
2015-02-16 14:54:09 -08:00
Josh Durgin
6821871769 Merge branch 'hammer' 2015-02-16 14:30:27 -08:00
Josh Durgin
ac75ff3c2b Merge branch 'wip-librbd-snaps-object-map' into hammer
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-02-16 14:27:44 -08:00
Jason Dillaman
b220b2a5a6 librbd: enforce write ordering with snapshot
The md_lock is now held for reading when scheduling write/discards.
Since snap_create now holds the lock for writing and flushes all
pending IO, write/discard operations will now be consistent for a
given request across objects.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-02-16 14:27:25 -08:00
Jason Dillaman
0de6b6179a librbd: use separate files for snapshot object maps
Instead of relying on the built-in object snapshot support,
create a separate object map object for each image snapshot.
This will allow a future repair utility to rebuild the object
map for an image's snapshots.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-02-16 14:27:25 -08:00
Jason Dillaman
e97a8f1bd7 librados_test_stub: added IoCtx::write_full implementation
Mapped IoCtx::write_full to existing test method used by the
ObjectWriteOperation::write_full API method. Also added missing
cls_log implementation for debugging.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-02-16 14:27:25 -08:00
Josh Durgin
194b250580 Merge branch 'wip-librbd-object-map-crc' into hammer
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-02-16 13:33:30 -08:00
Jason Dillaman
32e259c56c librbd: skip invalidating an invalid object map
If the object map is already flagged as invalid, avoid
attempting to set the invalid object map flag again.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-02-16 13:27:35 -08:00
Jason Dillaman
4638eaf775 cls_rbd: added CRC validation to object map
Added a footer to the object map which stores a header CRC and
and data CRCs for each 4KB chunk.  Updates to the object map only
require recomputing the CRC to the affected 4KB chunk.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-02-16 13:27:34 -08:00
Sage Weil
98dd78996e Merge pull request #3739 from athanatos/wip-10840
PG,ReplicatedPG: make missing_digests local to scrub_compare_maps

Reviewed-by: Sage Weil <sage@redhat.com>
2015-02-16 09:08:11 -08:00
Sage Weil
6a1bd776f0 Merge pull request #3738 from athanatos/wip-10830
osd/: include version_t in extra_reqids with promote

Reviewed-by: Sage Weil <sage@redhat.com>
2015-02-16 09:00:20 -08:00
Sage Weil
37a3a1dec8 Merge pull request #3737 from athanatos/wip-10768
ReplicatedPG::on_change: requeue in_progress_async_reads close to last

Reviewed-by: Sage Weil <sage@redhat.com>
2015-02-16 08:55:32 -08:00
Samuel Just
080fb0183d Merge pull request #3694 from ceph/wip-10784
Fix 10784: librbd: image has watchers - not removing

Reviewed-by: Sage Weil <sage@redhat.com>
2015-02-16 07:47:15 -08:00
Kefu Chai
8cba02eec5 Merge pull request #3735 from ceph/wip-da-fix-xio-configure
fix configure to reflect the missing libs for xio

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-02-16 20:14:43 +08:00
Loic Dachary
49e6cf7fd7 Merge pull request #3716 from t-miyamae/wip-mshec-fix10839
erasure-code: remove tests for when init() is not called in shec

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-02-16 09:44:25 +01:00
t-miyamae
e95d4cc5b6 tests: remove tests for when init() is not called in shec (#10839)
init2_1, init2_2, init2_3 are equivalent to init_1 and also removed.
encode_6, decode_6, create_ruleset_3 are null argument tests,
but the arguments are references of C++, so also removed.

Signed-off-by: Takeshi Miyamae <miyamae.takeshi@jp.fujitsu.com>
2015-02-16 16:28:33 +09:00
Loic Dachary
d1a393ffc0 Merge pull request #3732 from Abioy/patch-1
rm some useless codes

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-02-15 16:09:11 +01:00
Yongyue Sun
3e37c1375b rm some useless codes
tls is not used here

Signed-off-by: Yongyue Sun <abioy.sun@gmail.com>
2015-02-15 10:38:08 +08:00
Loic Dachary
7da93518fd Merge pull request #3720 from dachary/wip-10800-shec-experimental
erasure-code: mark the shec plugin as experimental

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-02-13 18:35:48 +01:00
Loic Dachary
62dd0c2060 erasure-code: mark the shec plugin as experimental
Reject the creation of an erasure code profile including plugin=shec
unless --enable-experimental-unrecoverable-data-corrupting-features=shec
is set.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-13 17:09:37 +01:00
Loic Dachary
f9c90e7a51 tests: fix unused variable warning
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-13 17:09:37 +01:00
Loic Dachary
3a3bb6de3c common: capture check_experimental_feature_enabled message
Implement check_experimental_feature_enabled so that it returns the
message instead of unconditionally displaying it via derr. It allows the
caller to display it in another context.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-13 17:09:33 +01:00
Kefu Chai
3a1520ba35 Merge pull request #3727 from POPSuL/patch-2
README.md: fix the indent of a command line usage

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-02-13 20:25:54 +08:00
Viktor Suprun
b80e6aecf9 README.md: fix the indent of a command line usage
Spaces replaced with tab

Signed-off-by: Viktor Suprun <popsul1993@gmail.com>
2015-02-13 21:10:51 +10:00
Haomai Wang
5870476626 Merge pull request #3725 from XinzeChi/wip-kvstore-op
cleanup: delete useless member variable

Reviewed-by: Haomai Wang <haomaiwang@gmail.com>
2015-02-13 15:29:51 +08:00
Xinze Chi
4038d21062 cleanup: delete useless member variable
Signed-off-by: Xinze Chi <xmdxcxz@gmail.com>
2015-02-13 09:05:06 +00:00
Gregory Farnum
f62fb72f78 Merge pull request #3717 from ceph/wip-decoding-oldest-snap
mds: fix decoding of InodeStore::oldest_snap

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-02-12 22:25:31 -08:00
Samuel Just
280a19817d PG,ReplicatedPG: make missing_digests local to scrub_compare_maps
We don't want/need to carry this state between scrub stages, so lets
remove the tempation by simply making it a local to scrub_compare_maps.

This caused a bug where we would attempt to write out the
missing_digests from the previous chunk during all future chunks, which
caused trouble.

Fixes: 10840
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-02-12 15:58:49 -08:00
Josh Durgin
161d3982a9 Merge remote-tracking branch 'origin/wip-10785' into hammer
Reviewed-by: Josh Durgin <jdurgin@redhat.com>

Conflicts:
	src/librbd/ImageWatcher.cc
2015-02-12 15:57:12 -08:00
Sage Weil
b28c555105 Merge pull request #3723 from concubidated/master
Docs: OSD name, not id, needs to be given to remove an item from crush map

Reviewed-by: Sage Weil <sage@redhat.com>
2015-02-12 14:44:19 -08:00
Tyler Brekke
8e806bce89 Docs: OSD name, not id, needs to be given to remove an item from the CRUSH map.
Include command for deleteing bucket from the CRUSH map.

Signed-off-by: Tyler Brekke <tbrekke@redhat.com>
2015-02-12 14:37:17 -08:00
Joao Eduardo Luis
87544f68b8 mon: MonCap: take EntityName instead when expanding profiles
entity_name_t is tightly coupled to the messenger, while EntityName is
tied to auth.  When expanding profiles we want to tie the profile
expansion to the entity that was authenticated.  Otherwise we may incur
in weird behavior such as having caps validation failing because a given
client messenger inst does not match the auth entity it used.

e.g., running

ceph --name osd.0 config-key exists foo daemon-private/osd.X/foo

has entity_name_t 'client.12345' and EntityName 'osd.0'.  Using
entity_name_t during profile expansion would not allow the client access
to daemon-private/osd.X/foo (client.12345 != osd.X).

Fixes: #10844
Backport: firefly,giant

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2015-02-12 14:33:19 +00:00
Yan, Zheng
fd830205bd mds: fix decoding of InodeStore::oldest_snap
There is no ENCODE_START/FINISH block when encoding inode that
embedded in dentry. So we can't use encoding version to check
if the buffer contains InodeStore::oldest_snap. Instead, we check
if the buffer iterator reaches end of buffer.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-02-12 20:43:26 +08:00
Loic Dachary
c7f3691384 Merge pull request #3698 from dachary/wip-10836-erasure-code-corpus
tests: clone ceph-erasure-code-corpus from ceph

Reviewed-by: Takeshi Miyamae <miyamae.takeshi@jp.fujitsu.com>
2015-02-12 13:40:56 +01:00
Loic Dachary
3a598f3546 Merge pull request #3696 from dachary/wip-10755-centos-docker
tests: add support for centos 6

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-02-12 13:32:09 +01:00
Loic Dachary
12b04458ab Merge pull request #3714 from tchaikov/fix-osdcap-parser-10757
osd: fix OSDCap parser on old boost/spirit

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-02-12 13:30:59 +01:00
Loic Dachary
6918a98af1 tests: Dockerfile COPY with two arguments
Avoid using COPY with multiple files because it will not behave as
intended with older (1.2) versions of docker.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-12 11:22:12 +01:00
Loic Dachary
98297e0809 tests: update docker helper documentation
The tags for the centos repository changed from centos6, centos7 to 6
and 7 which is consistent with the other distribution
repositories. Update the documentation accordingly.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-12 11:22:12 +01:00
Loic Dachary
1023aa973b tests: add Dockerfile for centos-6
http://tracker.ceph.com/issues/10755 Fixes: #10755

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-12 11:22:04 +01:00
Loic Dachary
b3771ebfaf tests: one Dockerfile per repository:tag
There cannot be a common Dockerfile for all repository:tag combination
of a given operating system. The only way to customize a Dockerfile is
via variable substitution and it cannot conveniently address all
differences between versions.

Create one Dockerfile per operating system version instead. I.e. one
dockerfile for centos:7, one for centos:6 etc.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-12 11:18:17 +01:00
Kefu Chai
b9b586831c osd: fix OSDCap parser on old boost/spirit
* on boost 1.41, the ascii::space skipper fails to skip the spaces at the
  beginning of the parsed string, so as a workaround we replace the `lit(' ')`
  in grammar spec with `ascii::blank`. this also simplifies the grammar
  a little bit.

Fixes: #10757
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-02-12 18:08:02 +08:00