Kefu Chai [Sat, 26 May 2018 05:35:26 +0000 (13:35 +0800)]
common/Throttle: extract ThrottleInterface
the Message classes are shared by OSD and other components of Ceph,
and the throttle in Policy class is different in seastar and
non-seastar world. we will have different implementations for the
seastar applications and non-seastar apps, to consolidate these
two implementations, we need to introduce a common interface for
them.
Kefu Chai [Tue, 13 Mar 2018 02:28:55 +0000 (10:28 +0800)]
src/msg: extract Policy into its own header
and templaterize it. as we need to share Policy between seastar app and
non-seastar apps. and the Throttle interface for seastar is different
from that for non-seastar, so we should templaterize the Policy and
PolicySet.
This patch is about:
- Adding the missing headers from src/messages
- Adding the missing types from the existing headers
- Adding blank lines to keep includes and types in a visual block.
That is much easier to read and keep the same visual as the rest of the file.
Erwan Velu [Mon, 11 Jun 2018 14:22:05 +0000 (16:22 +0200)]
test/encoding/types.h: Adjusting src/cls entries
This patch is about:
- Adding the missing headers from src/cls
- Adding the missing types from the existing headers
- Ordering types to get them in the file's order (that's easier to update)
Erwan Velu [Mon, 11 Jun 2018 14:20:01 +0000 (16:20 +0200)]
test/encoding/types.h: Adjusting src/rgw entries
This patch is about:
- Adding the missing headers from src/rgw
- Adding the missing types from the existing headers
- Ordering types to get them in the file's order (that's easier to update)
Erwan Velu [Mon, 11 Jun 2018 14:09:53 +0000 (16:09 +0200)]
test/encoding/types.h: Adjusting src/mds entries
This patch is about:
- Adding the missing headers from src/mds
- Adding the missing types from the existing headers
- Adding blank lines to keep includes and types in a visual block.
That is much easier to read and keep the same visual as the rest of the file.
Erwan Velu [Mon, 11 Jun 2018 14:04:08 +0000 (16:04 +0200)]
test/encoding/types.h: Adjusting src/os entries
This patch is about:
- Adding the missing headers from src/os
- Adding the missing types from the existing headers
- Ordering types to get them in the file's order (that's easier to update)
Erwan Velu [Mon, 11 Jun 2018 14:01:12 +0000 (16:01 +0200)]
test/encoding/types.h: Adjusting src/osd entries
This patch is about:
- Adding the missing headers from src/osd
- Adding the missing types from the existing headers
- Ordering types to get them in the file's order (that's easier to update)
- Moving crush entries avoid let all the osd entries in a collocated place
Sage Weil [Tue, 12 Jun 2018 13:31:16 +0000 (08:31 -0500)]
Merge PR #21825 into master
* refs/pull/21825/head:
os/bluestore: rename new bitmap allocator class to BitmapAllocator.
os/bluestore: perform allocations aligned with min_length in new bitmap allocator
test/objectstore/unitetest_fastbmap_allocator: replace ASSERT_TRUE with
os/bluestore: respect min_length as allocation granularity for new
os/bluestore: cosmetic new allocator internal method rename.
os/bluestore: properly respect min_length when analysing partially free
os/bluestore: cosmetic cleanup in new bitmap allocator.
os/bluestore: more verbose logging in new bitmap allocator
os/bluestore: default to bitmap allocator for bluestore/bluefs
os/bluestore: remove original bitmap allocator
os/bluestore: align BitMap allocator's init_rm_free/init_add_free parameters with min_alloc_size
os/bluestore: fix improper access to a BitmapFastAllocator::last_pos
test/allocator: move bluestore allocator's benchmarks to a standalone UT
os/bluestore: add new bitmap allocator
test/allocator: get rid off bitmap allocator specifics and introduce new
test/fio: dump mempool on job completion
Reviewed-by: Varada Kari <varadaraja.kari@flipkart.com>
Sage Weil [Tue, 12 Jun 2018 13:27:17 +0000 (08:27 -0500)]
Merge PR #22423 into master
* refs/pull/22423/head:
common/blkdev: fix non-linux build for get_device_id
common/blkdev: do not include vendor in fallback mode
mgr: allow open-ended life expectancy
mgr: use prettified durations for life expectancy
common/ceph_time: very lame timespan_str() helper
mgr: "predicted failure" -> "life expectancy", and as a range
mgr: detailed output for 'ceph device ...'
mgr/DaemonState: skip blank device_ids
osd: skip blank device ids
mgr: track and report device names too
mgr/ActivePyModule: expose 'devices' to python modules
mgr: move dump/print to DeviceState
mgr: implement 'device {set,rm}-predicted-failure' commands
mgr: load persistent device metadata on mgr stat
include/utime: add parse() method
mgr: tolerate racing config-key change during load_store()
mgr: implement 'device {ls,ls-by-daemon,ls-by-host,info}' commands
mgr/DaemonState: populate DeviceState structures
mgr: parse out devids from daemon metadata
common/blkdev: add modelines
osd: include device_ids in metadata
common/blkdev: add get_device_id() helper.
Reviewed-by: Erwan Velu <erwan@redhat.com> Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Igor Fedotov [Thu, 31 May 2018 13:53:31 +0000 (16:53 +0300)]
os/bluestore: respect min_length as allocation granularity for new
bitmap allocator.
It was used a real minimum threshold before this fix which allowed e.g.
allocated extent length to be equal to min_length + 1.
Sage Weil [Fri, 8 Jun 2018 03:04:09 +0000 (22:04 -0500)]
mgr: allow open-ended life expectancy
If you leave off the second part of the life expectancy interval, it means
"more than". e.g., Setting only the first time to today + one month would
mean "more than one month".
Sage Weil [Fri, 8 Jun 2018 02:22:47 +0000 (21:22 -0500)]
mgr: "predicted failure" -> "life expectancy", and as a range
1- Change terminology from "predicted failure" to "life expectancy", which
has a more intuitive meaning.
2- Change from an expected time stamp to a range. Any expectancy has an
inherent uncertainty, so a single time is not meaningful. Instead, express
as a range, e.g. "4-6 weeks from now", where we record the min and max
date as well as when the prediction was made.
This is still a bit awkward, but I'm not sure what is better. It will
always be a bit awkward to express uncertainty since in precise terms it
is probably a 90% confidence interval or something.
Sage Weil [Mon, 11 Jun 2018 02:41:54 +0000 (21:41 -0500)]
messages/MOSDPGLog: encode epoch for query_epoch for pre-nautilus OSDs
This fix is analogous to d5a3ae6008e4399b336f3a72d8dee328f97a0002. As of 84a1984b7cb70c74eaf517ffc424228fa954ed37 we set query_epoch to a lower
value reliably, but we need to encode the latest epoch for pre-nautilus
OSDs because they do not set last_peering_epoch reliably and havin a lower
query_epoch will cause them to discard this message.
common: use include/types.h early on, otherwise Clang will error.
This is due that FreeBSD does not have loff_t as type.
And with the wrong order of includes the standard linux typedef
is included and used.
In file included from /home/wjw/wip/src/common/buffer.cc:21:
/home/wjw/wip/src/include/buffer_raw.h:92:41: error: unknown type name 'loff_t'; did you mean 'off_t'?
virtual int zero_copy_to_fd(int fd, loff_t *offset) {
^~~~~~
off_t
/usr/include/sys/uio.h:49:17: note: 'off_t' declared here
typedef __off_t off_t;
^
1 error generated.
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>