Commit Graph

89429 Commits

Author SHA1 Message Date
Venky Shankar
682dc08cbd mds: show session load average in dump session
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2018-08-16 02:16:50 -04:00
Venky Shankar
3809d96a5b mds: allow request load average decay rate configurable via admin socket
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2018-08-16 02:16:50 -04:00
Venky Shankar
816d8aaea0 mds: decay counter for tracking request load average
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2018-08-16 02:16:50 -04:00
Venky Shankar
315aa47a07 mds: add perf counters to track current open/stale sessions
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2018-08-16 02:16:50 -04:00
Ji You
1803671166 examples/Makefile: add -Wno-unused-parameter to avoid compile error
Signed-off-by: You Ji <youji@ebay.com>
2018-08-15 18:20:17 -07:00
Sage Weil
04b47939b8 os/bluestore: factor VDO into bluestore's 'allocated' value
If we are on VDO, report the *raw* storage we've allocated, as reported
by VDO.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-15 17:18:44 -05:00
Sage Weil
186edca81e os/filestore: estimate omap_allocated
Assume all of leveldb/rocksdb is omap.  This is an overestimate, but
better than nothing.

We don't populate the metadata overhead (no easy way to calculate this
that comes to mind).  And we don't populate the compression-related
fields.  It's possible we could make something up here in the VDO
case...

Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-15 17:18:43 -05:00
Sage Weil
6c82e66dde os/ObjectMap: add get_db() accessor
This is just to let us get at the underlying KeyValueDB for DBObjectMap.
It is not really better or worse than adding accessors for things like
GetEstimatedSize() to ObjectMap.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-15 17:18:43 -05:00
Sage Weil
13295a3883 osd/OSDMap: include data, omap in 'osd df' output
Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-15 17:18:43 -05:00
Sage Weil
fc5561ed6e os/bluestore: report omap and internal metadata usage
Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-15 17:18:43 -05:00
Sage Weil
52cfc505fb os/bluestore/BlueFS: drop get_fs_usage(); add get_used()
Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-15 17:18:43 -05:00
Sage Weil
c6da00b418 kv: add per-prefix space estimation
Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-15 17:18:43 -05:00
Sage Weil
71d8fe7faf osd: decouple statfs update from hb peers, pg count
These don't need to be updated in synchrony.  (In fact, the statfs update
could be much more infrequent.)

Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-15 17:18:43 -05:00
Sage Weil
a66f8bfe7d osd: drop useless OSDService::update_osd_stat()
Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-15 17:18:43 -05:00
Sage Weil
fa120cec38 osd/osd_types: separate accounting for data, omap, and metadata
Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-15 17:18:43 -05:00
Sage Weil
b116d21408 osd: re-add get_num_pgs()
We removed this but it's a useful accessor.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-15 17:18:42 -05:00
Patrick Donnelly
583e7976cc
msg: add msgref cast method
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-15 13:36:38 -07:00
Patrick Donnelly
e0d3db8904
msg: cleanup factory/ref definition in messages
This eliminates duplicate code definitions.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-15 13:36:38 -07:00
Patrick Donnelly
6632131da1
mds: use message factory to avoid leaks
Fixes: http://tracker.ceph.com/issues/24306

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-15 13:36:36 -07:00
Patrick Donnelly
89cb1adeeb
msg: add factory method to correctly construct smart_ptr
This is to avoid easy leaks of the form:

    boost::intrusive_ptr(new M*(...));

where a ref is leaked because constructing the intrusive_ptr adds a ref.

It is expected that eventually all constructors move to protected/private so
that the message's factory is the only way to build a new message (safely).

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-15 13:36:18 -07:00
Patrick Donnelly
52fac5eb75
mds: remove dead MDS-MDS forwarding code
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-15 13:36:16 -07:00
Patrick Donnelly
d2a202af39
mds: manage Message lifetime with intrusive_ptr
This change turned out to be far more extensive than I hoped but the end result
should prevent all Message-related memory leaks. I believe I fixed several
incidentally.

Fixes: http://tracker.ceph.com/issues/24306

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-15 13:35:30 -07:00
Patrick Donnelly
de86952aca
Merge PR #23592 into master
* refs/pull/23592/head:
	tools/cephfs-shell:used cmd2 inbuilt colorize method instead of colorama

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-15 12:17:11 -07:00
Jeff Layton
fe0f3e9a38 librados: add a rados_omap_iter_size function
Sometimes we need to know how many elements are represented by an omap
iterator. Add a new rados_omap_iter_size to return the number of
elements in the returned iterator.

Also add some sanity checks for this to existing tests.

Tracker: http://tracker.ceph.com/issues/26948
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2018-08-15 12:24:45 -04:00
Pavani Rajula
5eac53c659 tools/cephfs-shell:used cmd2 inbuilt colorize method instead of colorama
Signed-off-by: Pavani Rajula <rpavani1998@gmail.com>
2018-08-15 20:47:20 +05:30
Yan, Zheng
6eb6712be6 mds: more description for failed authpin
Fixes: http://tracker.ceph.com/issues/24840
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2018-08-15 20:46:23 +08:00
Yan, Zheng
4ecf91deb2 mds: cleanup CDir freezing/frozen tree check
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2018-08-15 20:19:48 +08:00
Yanhu Cao
8757652c11 mon/PGMap: command 'ceph df -f json' output add total_percent_used
Signed-off-by: Yanhu Cao <gmayyyha@gmail.com>
2018-08-15 17:49:51 +08:00
Kefu Chai
760e4718db
Merge pull request #23580 from tchaikov/wip-man-page-parse-desc
man: skip directive starting with ".."

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
2018-08-15 16:48:46 +08:00
Kefu Chai
ad93d71c8f man: skip directive starting with ".."
the target definition of hyper link looks like:

.. _a-reference-label:

there is chance that we need to add `:ref:` referencing man pages,
and add target definition at the beginning of the manapges for the
references. in that case, we need to skip the ref directives when
looking for the title of the manpage.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-15 13:28:54 +08:00
Patrick Donnelly
954e6596af
common: add templated Context factory
For use to create Contexts only when needed.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-14 21:20:56 -07:00
Patrick Donnelly
44f5e4e1ab
msg: add const version of get_payload
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-14 21:20:56 -07:00
Patrick Donnelly
ab60ae44c6
msg: use queue of messages for dispatch
This avoids an allocation for each new message (amortized via deque).

Additionally, use std::move to avoid atomic update to the Message ref.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-14 21:20:56 -07:00
Patrick Donnelly
1aeb2f7eab
msg: dispatch intrusive_ptr Messages
This codifies the giving of a reference to the Dispatcher and helps avoid
memory leaks. Old-style dispatch is kept to allow older code to continue
working.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-14 21:20:55 -07:00
Patrick Donnelly
460cbdcf55
msg: use deque for dispatcher pointers
To improve cache locality.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-14 21:20:55 -07:00
Kefu Chai
4cf9e35cf5
Merge pull request #23564 from falcon78921/wip-docs-links-1
doc: fixed broken urls

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-08-15 11:46:28 +08:00
Sage Weil
b0b616df7b Merge PR #23240 into master
* refs/pull/23240/head:
	qa/suites/rados, qa/workunits/rados: Add suite/workunit for ceph-crash
	add ceph-crash service
	common/options: enable mgr 'crash' module by default
	global/signal_handler: add 'done' file to signal crashdump is ready

Reviewed-by: Sage Weil <sage@redhat.com>
2018-08-14 20:31:29 -05:00
songweibin
49b6c56e4c tools/rbd: minor fixes for rbd du display
Signed-off-by: songweibin <song.weibin@zte.com.cn>
2018-08-15 09:09:22 +08:00
Jesse Williamson
5513a90c62 build: add top-level libraddosstriper conditional
Signed-off-by: Jesse Williamson <jwilliamson@suse.de>
2018-08-14 16:47:32 -07:00
Jason Dillaman
7b5dce63c4 Merge pull request #15831 from trociny/wip-18430-1
librbd: support migrating images with minimal downtime

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-08-14 19:05:13 -04:00
Mykola Golub
dbc32361ef librbd: drop snap lock before sending copyup request
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
d3d3b51b8d librbd: restart object deep copy with flatten
if copyup request was appended with non empty writes when the deep
copy was in flight.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
fccaa4838f librbd: update in-memory migration snap map after creating snap
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
57ee7e1491 librbd: AsyncOperation may not be reused
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
59336a5dea librbd: migrate: skip update object map for snaps that don't overlap
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
96e6639b13 librbd: don't update object map if object deep copy returned ENOENT
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
1cfbf1ec65 librbd: open migration image parent and store its pointer in ImageCtx
Use the pointer in copyup and migrate requests, when deep copying an
object.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
894ffca543 librbd: use 'open snap by id' in clone request
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
09d2f2265f librbd: use 'open snap by id' in deep copy image copy request
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
c04bd3df46 librbd: use 'open snap by id' in refresh parent request
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00