智能化下的产物,无人棋牌室
Ceph v10.0.3 发布,这是 Jewel 的第四个开发版本,该版本增加了一些大的特性,包括 BlueStore (全新的 OSD 用于替换 FileStore 的后端), 修复了很多 ceph-disk 相关问题,全新的可调整 CRUSH 提升了映射的稳定性。新的 librados 对象枚举 API,OSD 和 RADOS 的优化等。
注意,因为开发者比较忙,这个版本没有构建官方二进制发行版本,你可以通过 (http://gitbuilder.ceph.com) 自行构建。
该版本值得关注的改进:
- bluestore: latest and greatest (issue#14210, issue#13801, pr#6896, xie.xingguo, Jianpeng Ma, YiQiang Chen, Sage Weil, Ning Yao)
- buffer: fix internal iterator invalidation on rebuild, get_contiguous (pr#6962, Sage Weil)
- build: fix a few warnings (pr#6847, Orit Wasserman)
- build: misc make check fixes (pr#7153, Sage Weil)
- ceph-detect-init: fix py3 test (pr#7025, Kefu Chai)
- ceph-disk: add -f flag for btrfs mkfs (pr#7222, Darrell Enns)
- ceph-disk: ceph-disk list fails on /dev/cciss!c0d0 (issue#13970, issue#14233, issue#14230,pr#6879, Loic Dachary)
- ceph-disk: fix failures when preparing disks with udev > 214 (issue#14080, issue#14094,pr#6926, Loic Dachary, Ilya Dryomov)
- ceph-disk: Fix trivial typo (pr#7472, Brad Hubbard)
- ceph-disk: warn for prepare partitions with bad GUIDs (issue#13943, pr#6760, David Disseldorp)
- ceph-fuse: fix double decreasing the count to trim caps (issue#14319, pr#7229, Zhi Zhang)
- ceph-fuse: fix double free of args (pr#7015, Ilya Shipitsin)
- ceph-fuse: fix fsync() (pr#6388, Yan, Zheng)
- ceph-fuse:print usage information when no parameter specified (pr#6868, Bo Cai)
- ceph: improve the error message (issue#11101, pr#7106, Kefu Chai)
- ceph.in: avoid a broken pipe error when use ceph command (issue#14354, pr#7212, Bo Cai)
- ceph.spec.in: add copyright notice (issue#14694, pr#7569, Nathan Cutler)
- ceph.spec.in: add license declaration (pr#7574, Nathan Cutler)
- ceph_test_libcephfs: tolerate duplicated entries in readdir (issue#14377, pr#7246, Yan, Zheng)
- client: check if Fh is readable when processing a read (issue#11517, pr#7209, Yan, Zheng)
- client: properly trim unlinked inode (issue#13903, pr#7297, Yan, Zheng)
- cls_rbd: add guards for error cases (issue#14316, issue#14317, pr#7165, xie xingguo)
- cls_rbd: enable object map checksums for object_map_save (issue#14280, pr#7149, Douglas Fuller)
- cmake: Add ENABLE_GIT_VERSION to avoid rebuilding (pr#7171, Kefu Chai)
- cmake: add missing check for HAVE_EXECINFO_H (pr#7270, Casey Bodley)
- cmake: cleanups and more features from automake (pr#7103, Casey Bodley, Ali Maredia)
- cmake: detect bzip2 and lz4 (pr#7126, Kefu Chai)
- cmake: fix build with bluestore (pr#7099, John Spray)
- cmake: fix the build on trusty (pr#7249, Kefu Chai)
- cmake: made rocksdb an imported library (pr#7131, Ali Maredia)
- cmake: no need to run configure from run-cmake-check.sh (pr#6959, Orit Wasserman)
- cmake: test_build_libcephfs needs ${ALLOC_LIBS} (pr#7300, Ali Maredia)
- common/address_help.cc: fix the leak in entity_addr_from_url() (issue#14132, pr#6987, Qiankun Zheng)
- common: add thread names (pr#5882, Igor Podoski)
- common: assert: abort() rather than throw (pr#6804, Adam C. Emerson)
- common: buffer/assert minor fixes (pr#6990, Matt Benjamin)
- common/Formatter: avoid newline if there is no output (pr#5351, Aran85)
- common: improve shared_cache and simple_cache efficiency with hash table (pr#6909, Ning Yao)
- common/lockdep: increase max lock names (pr#6961, Sage Weil)
- common: new timekeeping common code, and Objecter conversion (pr#5782, Adam C. Emerson)
- common: signal_handler: added support for using reentrant strsignal() implementations vs. sys_siglist[] (pr#6796, John Coyle)
- config: complains when a setting is not tracked (issue#11692, pr#7085, Kefu Chai)
- configure: detect bz2 and lz4 (issue#13850, issue#13981, pr#7030, Kefu Chai)
- correct radosgw-admin command (pr#7006, YankunLi)
- crush: add chooseleaf_stable tunable (pr#6572, Sangdi Xu, Sage Weil)
- crush: clean up whitespace removal (issue#14302, pr#7157, songbaisen)
- crush/CrushTester: check for overlapped rules (pr#7139, Kefu Chai)
- crushtool: improve usage/tip messages (pr#7142, xie xingguo)
- crushtool: set type 0 name “device” for –build option (pr#6824, Sangdi Xu)
- doc: adding “–allow-shrink” in decreasing the size of the rbd block to distinguish from the increasing option (pr#7020, Yehua)
- doc: admin/build-doc: make paths absolute (pr#7119, Dan Mick)
- doc: dev: document ceph-qa-suite (pr#6955, Loic Dachary)
- doc: document “readforward” and “readproxy” cache mode (pr#7023, Kefu Chai)
- doc: fix “mon osd down out subtree limit” option name (pr#7164, François Lafont)
- doc: fix typo (pr#7004, tianqing)
- doc: Updated the rados command man page to include the –run-name opt… (issue#12899,pr#5900, ritz303)
- fs: be more careful about the “mds setmap” command to prevent breakage (issue#14380,pr#7262, Yan, Zheng)
- helgrind: additional race conditionslibrbd: journal replay should honor inter-event dependencies (pr#7274, Jason Dillaman)
- helgrind: fix real (and imaginary) race conditions (issue#14163, pr#7208, Jason Dillaman)
- kv: implement value_as_ptr() and use it in .get() (pr#7052, Piotr Dałek)
- librados: add c++ style osd/pg command interface (pr#6893, Yunchuan Wen)
- librados: fix several flaws introduced by the enumeration_objects API (issue#14299,issue#14301, issue#14300, pr#7156, xie xingguo)
- librados: new style (sharded) object listing (pr#6405, John Spray, Sage Weil)
- librados: potential null pointer access in list_(n)objects (issue#13822, pr#6639, xie xingguo)
- librbd: exit if parent’s snap is gone during clone (issue#14118, pr#6968, xie xingguo)
- librbd: fix potential memory leak (issue#14332, issue#14333, pr#7174, xie xingguo)
- librbd: fix snap_exists API return code overflow (issue#14129, pr#6986, xie xingguo)
- librbd: journal replay should honor inter-event dependencies (pr#7019, Jason Dillaman)
- librbd: return error if we fail to delete object_map head object (issue#14098, pr#6958, xie xingguo)
- librbd: small fixes for error messages and readahead counter (issue#14127, pr#6983, xie xingguo)
- librbd: uninitialized state in snap remove state machine (pr#6982, Jason Dillaman)
- mailmap: hange organization for Dongmao Zhang (pr#7173, Dongmao Zhang)
- mailmap: Igor Podoski affiliation (pr#7219, Igor Podoski)
- mailmap update (pr#7210, M Ranga Swami Reddy)
- mailmap updates (pr#6992, Loic Dachary)
- mailmap updates (pr#7189, Loic Dachary)
- man: document listwatchers cmd in “rados” manpage (pr#7021, Kefu Chai)
- mds: advance clientreplay when replying (issue#14357, pr#7216, John Spray)
- mds: expose state of recovery to status ASOK command (issue#14146, pr#7068, Yan, Zheng)
- mds: fix client cap/message replay order on restart (issue#14254, issue#13546, pr#7199, Yan, Zheng)
- mds: fix standby replay thread creation (issue#14144, pr#7132, John Spray)
- mds: we should wait messenger when MDSDaemon suicide (pr#6996, Wei Feng)
- mon: addosd blacklist clear(pr#6945, John Spray)
- mon: add RAW USED column to ceph df detail (pr#7087, Ruifeng Yang)
- mon: degrade a log message to level 2 (pr#6929, Kongming Wu)
- mon: fix coding-style on PG related Monitor files (pr#6881, Wido den Hollander)
- mon: fixes related to mondbstore->get() changes (pr#6564, Piotr Dałek)
- mon: fix reuse of osd ids (clear osd info on osd deletion) (issue#13988, pr#6900, Loic Dachary, Sage Weil)
- mon: fix the can’t change subscribe level bug in monitoring log (pr#7031, Zhiqiang Wang)
- mon/MDSMonitor: add confirmation to “ceph mds rmfailed” (issue#14379, pr#7248, Yan, Zheng)
- mon: modify a dout level in OSDMonitor.cc (pr#6928, Yongqiang He)
- mon: MonmapMonitor: don’t expose uncommitted state to client (pr#6854, Joao Eduardo Luis)
- mon/OSDMonitor: osdmap laggy set a maximum limit for interval (pr#7109, Zengran Zhang)
- mon: paxos is_recovering calc error (pr#7227, Weijun Duan)
- mon/PGMap: show rd/wr iops separately in status reports (pr#7072, Cilang Zhao)
- mon: PGMonitor: acting primary diff with cur_stat, should not set pg to stale (pr#7083, Xiaowei Chen)
- msg: add override to virutal methods (pr#6977, Michal Jarzabek)
- msg/async: cleanup dead connection and misc things (pr#7158, Haomai Wang)
- msg/async: don’t use shared_ptr to manage EventCallback (pr#7028, Haomai Wang)
- msg: filter out lo addr when bind osd addr (pr#7012, Ji Chen)
- msg: removed unneeded includes from Dispatcher (pr#6814, Michal Jarzabek)
- msg: remove unneeded inline (pr#6989, Michal Jarzabek)
- msgr: fix large message data content length causing overflow (pr#6809, Jun Huang, Haomai Wang)
- msg/simple: pipe: memory leak when signature check failed (pr#7096, Ruifeng Yang)
- msg/simple: remove unneeded friend declarations (pr#6924, Michal Jarzabek)
- objecter: avoid recursive lock of Objecter::rwlock (pr#7343, Yan, Zheng)
- os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7419, Kefu Chai, Brad Hubbard)
- osd: add cache hint when pushing raw clone during recovery (pr#7069, Zhiqiang Wang)
- osd: avoid debug std::string initialization in PG::get/put (pr#7117, Evgeniy Firsov)
- osd: avoid osd_op_thread suicide because osd_scrub_sleep (pr#7009, Jianpeng Ma)
- osd: bluestore: bluefs: fix several small bugs (issue#14344, issue#14343, pr#7200, xie xingguo)
- osd: bluestore: don’t include when building without libaio (issue#14207, pr#7169, Mykola Golub)
- osd: bluestore: fix bluestore onode_t attr leak (pr#7125, Ning Yao)
- osd: bluestore: fix bluestore_wal_transaction_t encoding test (pr#7168, Kefu Chai)
- osd: bluestore: fix several bugs (issue#14259, issue#14353, issue#14260, issue#14261,pr#7122, xie xingguo)
- osd: bluestore: fix space rebalancing, collection split, buffered reads (pr#7196, Sage Weil)
- osd: bluestore: more fixes (pr#7130, Sage Weil)
- osd: cache tier: add config option for eviction check list size (pr#6997, Yuan Zhou)
- osdc: Fix race condition with tick_event and shutdown (issue#14256, pr#7151, Adam C. Emerson)
- osd: check health state before pre_booting (issue#14181, pr#7053, Xiaoxi Chen)
- osd: clear pg_stat_queue after stopping pgs (issue#14212, pr#7091, Sage Weil)
- osd: delay populating in-memory PG log hashmaps (pr#6425, Piotr Dałek)
- osd: disable filestore_xfs_extsize by default (issue#14397, pr#7265, Ken Dreyer)
- osd: do not keep ref of old osdmap in pg (issue#13990, pr#7007, Kefu Chai)
- osd: drop deprecated removal pg type (pr#6970, Igor Podoski)
- osd: FileJournal: fix return code of create method (issue#14134, pr#6988, xie xingguo)
- osd: FileJournal: support batch peak and pop from writeq (pr#6701, Xinze Chi)
- osd: FileStore: conditional collection of drive metadata (pr#6956, Somnath Roy)
- osd: FileStore:: optimize lfn_unlink (pr#6649, Jianpeng Ma)
- osd: fix null pointer access and race condition (issue#14072, pr#6916, xie xingguo)
- osd: fix scrub start hobject (pr#7467, Sage Weil)
- osd: fix sparse-read result code checking logic (issue#14151, pr#7016, xie xingguo)
- osd: fix temp object removal after upgrade (issue#13862, pr#6976, David Zafman)
- osd: fix wip (l_osd_op_wip) perf counter and remove repop_map (pr#7077, Xinze Chi)
- osd: fix wrongly placed assert and some cleanups (pr#6766, xiexingguo, xie xingguo)
- osd: KeyValueStore: fix return code of mkfs (pr#7036, xie xingguo)
- osd: KeyValueStore: fix wrongly placed assert (issue#14176, issue#14178, pr#7047, xie xingguo)
- osd: kstore: several small fixes (issue#14351, issue#14352, pr#7213, xie xingguo)
- osd: kstore: small fixes to kstore (issue#14204, pr#7095, xie xingguo)
- osd: make list_missing query missing_loc.needs_recovery_map (pr#6298, Guang Yang)
- osdmap: remove unused local variables (pr#6864, luo kexue)
- osd: memstore: fix two bugs (pr#6963, Casey Bodley, Sage Weil)
- osd: misc FileStore fixes (issue#14192, issue#14188, issue#14194, issue#14187, issue#14186,pr#7059, xie xingguo)
- osd: misc optimization for map utilization (pr#6950, Ning Yao)
- osd,mon: log leveldb and rocksdb to ceph log (pr#6921, Sage Weil)
- osd: Omap small bugs adapted (pr#6669, Jianpeng Ma, David Zafman)
- osd: optimize the session_handle_reset function (issue#14182, pr#7054, songbaisen)
- osd: OSDService: Fix typo in osdmap comment (pr#7275, Brad Hubbard)
- osd: os: skip checking pg_meta object existance in FileStore (pr#6870, Ning Yao)
- osd: PGLog: clean up read_log (pr#7092, Jie Wang)
- osd: prevent osd_recovery_sleep from causing recovery-thread suicide (pr#7065, Jianpeng Ma)
- osd: reduce string use in coll_t::calc_str() (pr#6505, Igor Podoski)
- osd: release related sources when scrub is interrupted (pr#6744, Jianpeng Ma)
- osd: remove unused OSDMap::set_weightf() (issue#14369, pr#7231, huanwen ren)
- osd: ReplicatedPG: clean up unused function (pr#7211, Xiaowei Chen)
- osd/ReplicatedPG: fix promotion recency logic (issue#14320, pr#6702, Sage Weil)
- osd: several small cleanups (pr#7055, xie xingguo)
- osd: shut down if we flap too many times in a short period (pr#6708, Xiaoxi Chen)
- osd: skip promote for writefull w/ FADVISE_DONTNEED/NOCACHE (pr#7010, Jianpeng Ma)
- osd: small fixes to memstore (issue#14228, issue#14229, issue#14227, pr#7107, xie xingguo)
- osd: try evicting after flushing is done (pr#5630, Zhiqiang Wang)
- osd: use atomic to generate ceph_tid (pr#7017, Evgeniy Firsov)
- osd: use optimized is_zero in object_stat_sum_t.is_zero() (pr#7203, Piotr Dałek)
- osd: utime_t, eversion_t, osd_stat_sum_t encoding optimization (pr#6902, Xinze Chi)
- pybind: add ceph_volume_client interface for Manila and similar frameworks (pr#6205, John Spray)
- pybind: fix build failure, remove extraneous semicolon in method (issue#14371, pr#7235, Abhishek Lekshmanan)
- pybind/test_rbd: fix test_create_defaults (issue#14279, pr#7155, Josh Durgin)
- qa: disable rbd/qemu-iotests test case 055 on RHEL/CentOSlibrbd: journal replay should honor inter-event dependencies (issue#14385, pr#7272, Jason Dillaman)
- qa/workunits: merge_diff shouldn’t attempt to use striping (issue#14165, pr#7041, Jason Dillaman)
- qa/workunits/snaps: move snap tests into fs sub-directory (pr#6496, Yan, Zheng)
- rados: implement rm –force option to force remove when full (pr#6202, Xiaowei Chen)
- rbd: additional validation for striping parameters (pr#6914, Na Xie)
- rbd: add pool name to disambiguate rbd admin socket commands (pr#6904, wuxiangwei)
- rbd: correct an output string for merge-diff (pr#7046, Kongming Wu)
- rbd: fix static initialization ordering issues (pr#6978, Mykola Golub)
- rbd-fuse: image name can not include snap name (pr#7044, Yongqiang He)
- rbd-fuse: implement mv operation (pr#6938, wuxiangwei)
- rbd: must specify both of stripe-unit and stripe-count when specifying stripingv2 feature (pr#7026, Donghai Xu)
- rbd-nbd: add copyright (pr#7166, Li Wang)
- rbd-nbd: fix up return code handling (pr#7215, Mykola Golub)
- rbd-nbd: small improvements in logging and forking (pr#7127, Mykola Golub)
- rbd: rbd order will be place in 22, when set to 0 in the config_opt (issue#14139, issue#14047,pr#6886, huanwen ren)
- rbd: striping parameters should support 64bit integers (pr#6942, Na Xie)
- rbd: use default order from configuration when not specified (pr#6965, Yunchuan Wen)
- rgw: add a method to purge all associate keys when removing a subuser (issue#12890,pr#6002, Sangdi Xu)
- rgw: add missing error code for admin op API (pr#7037, Dunrong Huang)
- rgw: add support for “end_marker” parameter for GET on Swift account. (issue#10682,pr#4216, Radoslaw Zarzynski)
- rgw_admin: orphans finish segfaults (pr#6652, Igor Fedotov)
- rgw: content length (issue#13582, pr#6975, Yehuda Sadeh)
- rgw: delete default zone (pr#7005, YankunLi)
- rgw: do not abort radowgw server when using admin op API with bad parameters (issue#14190, issue#14191, pr#7063, Dunrong Huang)
- rgw: Drop a debugging message (pr#7280, Pete Zaitcev)
- rgw: fix a typo in init-radosgw (pr#6817, Zhi Zhang)
- rgw: fix compilation warning (pr#7160, Yehuda Sadeh)
- rgw: fix wrong check for parse() return (pr#6797, Dunrong Huang)
- rgw: let radosgw-admin bucket stats return a standard josn (pr#7029, Ruifeng Yang)
- rgw: modify command stucking when operating radosgw-admin metadata list user (pr#7032, Peiyang Liu)
- rgw: modify documents and help infos’ descriptions to the usage of option date when executing command “log show” (pr#6080, Kongming Wu)
- rgw: Parse –subuser better (pr#7279, Pete Zaitcev)
- rgw: radosgw-admin bucket check –fix not work (pr#7093, Weijun Duan)
- rgw: warn on suspicious civetweb frontend parameters (pr#6944, Matt Benjamin)
- rocksdb: remove rdb sources from dist tarball (issue#13554, pr#7105, Venky Shankar)
- stringify outputted error code and fix unmatched parentheses. (pr#6998, xie.xingguo, xie xingguo)
- test/librbd/fsx: Use c++11 std::mt19937 generator instead of random_r() (pr#6332, John Coyle)
- test/mon/osd-erasure-code-profile: pick new mon port (pr#7161, Sage Weil)
- tests: add const for ec test (pr#6911, Michal Jarzabek)
- tests: configure with rocksdb by default (issue#14220, pr#7100, Loic Dachary)
- tests: Fix for make check. (pr#7102, David Zafman)
- tests: notification slave needs to wait for master (issue#13810, pr#7220, Jason Dillaman)
- tests: snap rename and rebuild object map in client update test (pr#7224, Jason Dillaman)
- tests: unittest_bufferlist: fix hexdump test (pr#7152, Sage Weil)
- tests: unittest_ipaddr: fix segv (pr#7154, Sage Weil)
- tools: ceph_monstore_tool: add inflate-pgmap command (issue#14217, pr#7097, Kefu Chai)
- tools: monstore: add ‘show-versions’ command. (pr#7073, Cilang Zhao)
GETTING CEPH
- Git at git://github.com/ceph/ceph.git
- For packages, see http://docs.ceph.com/docs/master/install/get-packages/#add-ceph-development
- For ceph-deploy, see http://ceph.com/docs/master/install/install-ceph-deploy