Commit Graph

35859 Commits

Author SHA1 Message Date
John Spray
a6a0fd814b xlist: implement copy constructor
...so that I can have a std::map of them.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-15 15:05:14 +01:00
John Spray
fd04d5e662 mds: health metric for late releasing caps
Follow up on Yan Zheng's "mds: warn clients which
aren't revoking cap" to include a health metric
for this condition as well as the clog messages.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-15 15:05:14 +01:00
John Spray
05d69580b0 mon: trigger transaction on MDS health changes
I think this was previously only working as a side effect
of other MDS map changes.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-15 15:05:14 +01:00
John Spray
e6062b8d33 mds: add a health metric for failure to recall caps
Fixes: #9284

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-15 15:05:14 +01:00
John Spray
8c0f2555fe mds: add state for tracking RECALL progress
To be used later for generating health metrics
for clients which are failing to promptly service
CEPH_SESSION_RECALL_STATE messages.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-15 15:05:14 +01:00
John Spray
8199f80846 xlist: implement const_iterator
Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-15 15:05:14 +01:00
John Spray
00a002143a client: fix trim_caps for inodes in root
Previously client would fail to release caps for files
in the root directory in response to CEPH_SESSION_RECALL_STATE
messages.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-15 15:05:14 +01:00
John Spray
2b5bbab55c client: failure injection for cap release
Used for simulating a buggy client that trips
the error detection in #9282 (warn clients
which aren't revoking caps)

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-15 15:05:13 +01:00
John Spray
21f5e18ee3 client: fix potentially invalid read in trim_caps
trim_dentry can potentially free an inode, so get/put
it around the block where we use the inode's dn_set.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-15 15:05:13 +01:00
John Spray
9007217239 client: more precise cap trimming
Two fixes:
 * Client would unlink everything it could, instead of just
   meeting its goal, because caps.size() doesn't change until
   dentries are cleaned up later.  Take account of the trimmed
   count in the while() condition to fix that.
 * Don't count the root ino as trimmed, as although it has no
   dentries (of course), we will never give up the cap.

With this change, the client will now precisely achieve the number
of caps requested in CEPH_SESSION_RECALL_STATE messages.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-15 15:05:13 +01:00
John Spray
c328486f24 client: fix crash in trim_caps
In a75af4c2, procedure was added to invalidate root's dentries
if the trimming failed to free enough caps.  This would sometimes
crash because root->dir wasn't necessarily open.

Fix by only doing it if root dir is open, though I suspect this
may not be the end of it...

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-15 15:05:13 +01:00
Sage Weil
3f0ca4668e Merge remote-tracking branch 'gh/giant' 2014-09-13 21:20:33 -07:00
Sage Weil
b285788c56 Merge pull request #2481 from sjahl/master
doc: fixes a formatting error on ops/crush-map
2014-09-13 12:46:24 -07:00
Stephen Jahl
b8a1ec08a1 doc: fixes a formatting error on ops/crush-map
Signed-off-by: Stephen Jahl <stephenjahl@gmail.com>
2014-09-13 15:31:53 -04:00
Loic Dachary
8d066732db Merge pull request #2467 from majianpeng/fix3
buffer: In rebuild_page_aligned for the last ptr is page aligned, no need call rebuild().

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
2014-09-13 17:56:16 +02:00
Loic Dachary
04e40737f1 Merge pull request #2478 from ceph/wip-9445
global: fix hang when segv happens inside logging code

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
2014-09-13 17:32:57 +02:00
Yan, Zheng
499a73b3c3 Merge pull request #2477 from ceph/wip-client-msg-leak
client: fix a message leak
2014-09-13 08:42:15 +08:00
John Spray
c3c6468cad mds: update segment references during journal rewrite
... to avoid leaving log events that reference log
segments by offsets which no longer exist.

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 386f2d7c82)
Reviewed-by: Greg Farnum <greg@inktank.com>
2014-09-12 17:39:53 -07:00
Gregory Farnum
e06f4251ac Merge pull request #2469 from ceph/wip-9427-rewrite
mds: update segment references during journal rewrite

Reviewed-by: Greg Farnum <greg@inktank.com>
2014-09-12 17:35:54 -07:00
Sage Weil
a8c943a0e4 log: add simple test to verify an internal SEGV doesn't hang
Test that the segv injection works.

Test that a segv while logging something doesn't hang when the signal
handlers are installed.  Note that this fails/hangs without the previous
fix.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-12 17:18:01 -07:00
John Spray
2313ce1d02 client: fix a message leak
Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-13 00:14:36 +01:00
Sage Weil
e3fe18aabe global/signal_handler: do not log if SEGV originated inside log code
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-12 15:25:03 -07:00
Sage Weil
558463e815 log: add Log::is_inside_log_lock()
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-12 15:24:50 -07:00
John Spray
386f2d7c82 mds: update segment references during journal rewrite
... to avoid leaving log events that reference log
segments by offsets which no longer exist.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-12 23:05:38 +01:00
John Spray
9f4c687288 Merge pull request #2471 from ceph/wip-9446
mon: fix MDS health detail output

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-12 16:47:52 +01:00
John Spray
9ba4e78f00 mon: fix MDS health detail output
I fat fingered a couple of things here.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-12 16:43:20 +01:00
Ma Jianpeng
2b45bfa236 buffer: Add a test for bufferlist::rebuild_page_aligned
Make the last prt of bufferlist which is page-aligned don't change anything
after rebuild_page_aligned.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
2014-09-12 22:18:08 +08:00
Ma Jianpeng
c268400bcb buffer: In rebuild_page_aligned for the last ptr is page aligned, no need call rebuild().
This only happen for the last ptr. Because rebuild() don't change the len
of ptr, so if last ptr isn't page-size aligned but is page aligned, the
rebuild() don't change anything.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
2014-09-12 22:14:49 +08:00
Loic Dachary
5283460382 Merge pull request #2468 from dachary/wip-always-create-pidfile
daemons: write pid file even when told not to daemonize

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-12 16:00:27 +02:00
Alexandre Oliva
bccb0eb648 daemons: write pid file even when told not to daemonize
systemd wants to run daemons in foreground, but daemons wouldn't write
out the pid file with -f.  Fixed.

Signed-off-by: Alexandre Oliva <oliva@gnu.org>
2014-09-12 12:05:56 +02:00
Loic Dachary
62ee5fc1f4 Merge pull request #2464 from dachary/wip-9429-bench
erasure-code: fix erasure_code_benchmark goop

Reviewed-by: Janne Grunau <j@jannau.net>
2014-09-12 11:30:31 +02:00
Sage Weil
e01e0c274e Merge pull request #2416 from xiaoxichen/make_crush_private
Change CrushWrapper::crush to private

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-11 20:41:07 -07:00
Sage Weil
69d3594f9e Merge pull request #2450 from dachary/wip-9413-erasure-code-version-check
erasure-code: mon, osd etc. depend on the plugins
2014-09-11 19:56:04 -07:00
Loic Dachary
b7bdb93ff7 erasure-code: fix erasure_code_benchmark goop
Using a stringstream that is only displayed on error when calling the
erasure code factory, instead of cerr. The user expects the output to be
clean when there is no error.

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

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-09-11 22:24:53 +02:00
Loic Dachary
60d65daa96 Merge pull request #2409 from apeters1971/wip-ec-isa-table-cache-refac-master
EC-ISA: add intelligent table cache

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
2014-09-11 21:56:19 +02:00
John Wilkins
2fbe82dfeb doc: Fixed syntax error.
Signed-off-by: John Wilkins <jowilki@redhat.com>
2014-09-11 10:50:42 -07:00
John Wilkins
7dbf750fc5 doc: Updated authentication notes. Fixed syntax error.
Signed-off-by: John Wilkins <jowilki@redhat.com>
2014-09-11 10:50:22 -07:00
Loic Dachary
9e6d05afb4 Merge pull request #2459 from ceph/wip-7934
test: Fix ceph_test_rados_watch_notify to delete the pools it creates

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
2014-09-11 19:33:46 +02:00
John Spray
dcc608d5d3 Merge pull request #2463 from ceph/wip-mds-beacon
mds: a couple fixes for the beacons

Reviewed-by: John Spray <john.spray@redhat.com>
2014-09-11 16:45:21 +01:00
Sage Weil
7281638d4a mds: sleep in progress thread if laggy and waiting_for_nolaggy waiters
If we have nolaggy waiters but are laggy we want to sleep.  Otherwise,
we will just spin and spam the log ...

Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-11 08:35:49 -07:00
Sage Weil
6fb5769aee mds/Beacon: do not reconnect to mon in quick succession
Wait at least one beacon interval between mon session resets.

Fixes: #9428
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-11 08:35:49 -07:00
Yan, Zheng
c930624163 Merge pull request #2460 from ceph/wip-client-ll-ref
client: include ll_ref when printing inode
2014-09-11 17:06:39 +08:00
Yan, Zheng
4ad5db0050 client: include ll_ref when printing inode
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2014-09-11 17:03:55 +08:00
Sage Weil
2235aa990a Merge pull request #2444 from wonzhq/read-recency
osd: set min_read_recency_for_promote to default 1 when doing upgrade

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-10 20:44:13 -07:00
Sage Weil
59f1a49b3e Merge pull request #2449 from majianpeng/fix3
fix two bugs about perfcounter

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-10 20:37:03 -07:00
David Zafman
cf70b906ae test: Fix ceph_test_rados_watch_notify to delete the pools it creates
Fixes: #7934

Signed-off-by: David Zafman <dzafman@redhat.com>
2014-09-10 19:19:08 -07:00
Ma Jianpeng
2e4e98bd08 ReplicatedPG: Make perfcounter record the read-size for
async-read.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
2014-09-11 08:32:06 +08:00
Ma Jianpeng
cf34e00d49 ReplicatedPG: record correctly subop for perfcounter.
In log_subop_stats, it omit to record the counter of subop.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
2014-09-11 08:09:47 +08:00
Sage Weil
e50c426bef Merge pull request #2454 from athanatos/wip-9269
FileStore: report l_os_j_lat as commit latency

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-10 12:15:19 -07:00
Sage Weil
6846811ed3 Merge pull request #2453 from athanatos/wip-9220
Objecter::_recalc_linger_op: resend for any acting set change

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-10 12:09:34 -07:00