Commit Graph

51948 Commits

Author SHA1 Message Date
Sage Weil
8b45b0d7d7 os/bluestore: release wal_cleaning extents in order
We need to order the freelist updates so that they match the
commit order of the actual transactions.  Otherwise we might, say,
set a key here, delete it in the _txc_update_fm, but commit in
the wrong order and end up with the key surviving.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:15 -04:00
Sage Weil
5fe8e941dc os/bluestore: avoid temp released interval_map for wal cleanup
Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:15 -04:00
Sage Weil
1bc7edb31c os/bluestore/FreelistManager: detect overlapping extents on init
Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:15 -04:00
Sage Weil
91faa7ed18 os/bluestore: trim onode_map when adding new items
This ensures we maintain the cache size even for read workloads.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:15 -04:00
Sage Weil
99f8192cfc os/bluestore: keep onode_map max_size
Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Sage Weil
3084be5def os/bluestore: wait for wal op that wrote cached tail before using
If the cached tail is written by a WAL op, we need to wait for it to
apply before we use the cached tail.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Sage Weil
5cf66693a6 os/bluestore: note txc seq for tail cache
We'll need this soon...

Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Sage Weil
e98d0b21c5 os/bluestore: assign per-Sequencer seq to each TransContext
Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Sage Weil
08bb1ca320 ceph_test_objectstore: add AppendWalVsTailCache test
This specifically exercises a WAL overwrite racing with a subsequent
append that uses the previous writes cached tail.  We need to make sure
the use of the cached_tail waits for the previous WAL write or else our
update of tail block will be overwritten with the prior (WAL) value.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Sage Weil
a58ffab447 os/bluestore: fix fsck vs enodes
- fix used_blocks accounting for shared extents
- make sure enodes only exist when objects follow

Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Sage Weil
87be6b0069 os/bluestore: bluestore_inject_wal_apply_delay
Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Sage Weil
360d956857 os/bluestore: reorder onode_map vs enode_set ctor/dtor
The onode_map should get declared after the enode_set so that
the enode_set is empty when it is destroyed.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Sage Weil
4a9c5d7fd8 os/bluestore: only cache tail in _pad_tail if we have the whole block
Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Sage Weil
5a2b36f1e2 os/bluestore: only use tail if tail_offset matches
Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Sage Weil
95a5f56093 os/bluestore: fix off-by-one on caching tail block
We can cache the tail as long as we overwrite all prior content;
we don't have to extent the size.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Sage Weil
c1b42e99b9 os/bluestore/KernelDevice: print buffered flag in debug line
Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-30 11:23:14 -04:00
Willem Jan Withagen
8dc2c21006 ceph-detect-init/run-tox.sh: FreeBSD: No init detect
- Freebsd has /etc/rc.d with scripts to start daemons at boottime.
   Test for that are currently not integrated with Ceph tests

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2016-03-30 17:15:09 +02:00
Jason Dillaman
f05237b93a Merge pull request #8368 from tchaikov/wip-cmake-fix-rbd
cmake: add StandardPolicy.cc to librbd

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-03-30 10:49:46 -04:00
Sage Weil
d0c5490cdd Merge pull request #8337 from jmunhoz/fix-15292
mon: remove unused variable

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
2016-03-30 09:56:37 -04:00
Jason Dillaman
d53f9415ee Merge pull request #8352 from runsisi/wip-fix-missing-iter
rbd-mirror: fix missing increment for iterators

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-03-30 08:49:55 -04:00
Jason Dillaman
fadb4cd52b Merge pull request #8374 from trociny/fix-cls-rbd-read_peers
cls_rbd: read_peers: update last_read on next cls_cxx_map_get_vals

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-03-30 08:27:22 -04:00
Sage Weil
052fa90eb7 Merge pull request #7062 from wonzhq/scrub-prio-pool
osd: add the support of per pool scrub priority

Reviewed-by: Sage Weil <sage@redhat.com>
2016-03-30 08:24:43 -04:00
Sage Weil
325520824e Merge pull request #8210 from liewegas/wip-12814
osd: add 'proxy' cache mode

Reviewed-by: Samuel Just <sjust@redhat.com>
2016-03-30 08:23:05 -04:00
Sage Weil
f75e4d7c10 Merge pull request #8315 from mslovy/wip-clean-pg
osd: duplicated clear for peer_missing

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-03-30 08:22:46 -04:00
Sage Weil
723b46c801 Merge pull request #8330 from xiexingguo/xxg-wip-race
common: fix race during optracker switches between enabled/disabled mode

Reviewed-by: David Zafman <dzafman@redhat.com>
2016-03-30 08:22:30 -04:00
Sage Weil
9025d9f114 Merge pull request #8335 from liewegas/wip-13992
mon/MonClient: fix shutdown race

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-03-30 08:21:47 -04:00
Mykola Golub
3995cafae4 cls::rbd: read_peers: update last_read on next cls_cxx_map_get_vals
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-03-30 15:01:05 +03:00
John Spray
557955a233 qa: update rest test cephfs calls
Since the ceph task was already creating filesystems
during setup, I presume that these calls only ever
worked when they were using the same names as
the existing filesystem.

Fixes: http://tracker.ceph.com/issues/15309
Signed-off-by: John Spray <john.spray@redhat.com>
2016-03-30 11:43:22 +01:00
xie xingguo
c29895949e osd: skip heartbeat_check for osd which we haven't sent ping to
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-03-30 18:01:38 +08:00
xie xingguo
5c5c8dfefe osd: initialize last_pg_stats_ack correctly on first pg_stats message sending
So we don't potentially make an incorrect judgement in the tick_without_osd_lock()
procedure if OSD's first pg_stats message was sent, which as a result shall cause
an unnecessary hunting of new monitor.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-03-30 18:01:38 +08:00
xie xingguo
9cf53022c3 osd: update osd_stat_updated field if we force to report to monitor
On tick_without_osd_lock() waking up, we will force an immediate
report to monitor if a long enough period has elapsed since our
last report was sent.

However, the send_pg_stats() procedure is a noop unless either
osd_stat_updated field is set or pg_stat_queue is empty.
Since the latter condition is non-deterministic, we shall
manually set osd_stat_updated here to kick a pg relevant report
off.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-03-30 16:39:46 +08:00
Kefu Chai
dbd9bb1174 Merge pull request #7857 from tchaikov/wip-14844
ceph.spec.in: enable lttng and babeltrace explicitly

thanks to ktdreyer, we have lttng and babel in EPEL-7 now.

Reviewed-by: Nathan Cutler <ncutler@suse.com>
2016-03-30 14:47:34 +08:00
Kefu Chai
aacadad2a0 cmake: add StandardPolicy.cc to librbd
fixes the librbd build.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-03-30 14:32:33 +08:00
runsisi
383d48be2f rbd-mirror: fix missing increment of iterators
Signed-off-by: runsisi <runsisi@hust.edu.cn>
2016-03-30 10:34:26 +08:00
Josh Durgin
5b49e9fb41 Merge pull request #8287 from dillaman/wip-15232
rbd-mirror: initial failover / failback support

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-03-29 18:25:05 -07:00
Sage Weil
c7a0223f1e test/pybind/test_rados: force setting readonly cache mode
Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-29 21:08:38 -04:00
Sage Weil
1ac3444626 Merge pull request #7712 from vitek/listbucket_encoding_type_fix
rgw: S3: set EncodingType in ListBucketResult

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-03-29 21:07:41 -04:00
Orit Wasserman
99c6f3095c Merge pull request #8363 from cbodley/wip-cmake-vstart
vstart: fix up cmake paths when VSTART_DEST is given
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2016-03-29 23:24:28 +02:00
Sage Weil
5318be502c Merge pull request #8362 from jdurgin/wip-ceph-python-path
ceph.in: fix python libpath for automake as well
2016-03-29 15:46:52 -04:00
Samuel Just
4810928bdf Merge pull request #8364 from liewegas/wip-fix-update-op
os/ObjectStore: fix _update_op for split dest_cid

Reviewed-by: Samuel Just <sjust@redhat.com>
2016-03-29 12:46:14 -07:00
Casey Bodley
23336a3c7c vstart: fix up cmake paths when VSTART_DEST is given
mstart.sh uses VSTART_DEST to tell vstart.sh where to create the
cluster. in the cmake case, it needs to get a relative path from there
to the built binaries and libraries - update these paths to use the new
'lib' and 'bin' directories

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-03-29 15:26:31 -04:00
Sage Weil
e3dc7c772f os/ObjectStore: fix _update_op for split dest_cid
Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-29 15:24:59 -04:00
Jason Dillaman
ded7a77931 qa/workunits/rbd: add basic failover/fallback test case
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-29 15:19:26 -04:00
Jason Dillaman
9665b5b276 rbd-mirror: use 32bit image creation bid to avoid overflow
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-29 15:19:26 -04:00
Jason Dillaman
4c2747fba1 rbd-mirror: initial support for primary/non-primary handling
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-29 15:19:26 -04:00
Jason Dillaman
a6eaa837c8 librbd: accessor for journal tag data
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-29 15:19:26 -04:00
Jason Dillaman
3f15853f29 librbd: link primary mirror uuid to non-primary journal tag
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-29 15:19:25 -04:00
Jason Dillaman
882bc06f54 rbd-mirror: update mirror peer sync state after completion
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-29 15:19:25 -04:00
Jason Dillaman
668b41d1e8 librbd: track mirror peer replay state
This new state will protect against the case of an rbd-mirror crash
between registering with the remote and starting the image sync.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-29 15:19:25 -04:00
Jason Dillaman
276e2eb21b rbd-mirror: allocate local journal tags from mirror remote peer tags
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-29 15:19:25 -04:00