Commit Graph

32839 Commits

Author SHA1 Message Date
Sage Weil
c8039ab857 mon: ignore sync clients without required_features
If we let them sync data they don't understand they will get confused
and crash.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-09 14:40:44 -07:00
Sage Weil
34d69cdcfa mon: refresh elector required_features when they change
Currently we only refresh required_features on Elector::start().  This
does not prevent an old peer from calling an election (even though they
won't succeed in joining the resulting quorum).

Fix this by updating the elector's features when they change.  This way we
don't allow a useless election cycle just to trigger that update in
start().

Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-09 11:13:31 -07:00
Sage Weil
b3b502f132 mon/Elector: ignore ACK from peers without required features
If an old peer gets a PROPOSE from us, we need to be sure to ignore their
ACK.  Ignoring their PROPOSEs isn't sufficient to keep them out of a
quorum.

Fixes: #8042
Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-09 11:09:14 -07:00
Sage Weil
f1a8934060 Merge pull request #1632 from ceph/wip-5469
librbd: fix zero length request handling

Reviewed-by: Sage Weil <sage@inktank.com>
2014-04-09 08:14:28 -07:00
Alfredo Deza
dc4bbfa762 Merge pull request #1634 from ceph/wip-8028
rpm: add redhat-lsb dependency

Reviewed-by: Alfredo Deza <alfredo.deza@inktank.com>
2014-04-09 10:12:11 -04:00
Sage Weil
f1c6b65b47 ceph.spec.in: require redhat-lsb-core
We need this for /lib/lsb/init-functions.

Fixes: #8028
Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-09 07:05:36 -07:00
Sage Weil
1d0c62facf Merge pull request #1606 from ceph/wip-shrink-icache
client: try shrinking kernel inode cache when trimming session caps

Reviewed-by: Sage Weil <sage@inktank.com>
2014-04-09 06:55:33 -07:00
Sage Weil
e5f3eb8289 Merge pull request #1633 from ceph/wip-8004
client: wake up umount waiter if receiving session open message

Reviewed-by: Sage Weil <sage@inktank.com>
2014-04-08 20:48:12 -07:00
Yan, Zheng
02aedbc447 client: wake up umount waiter if receiving session open message
Wake up umount waiter if receiving session open message while
umounting. The umount waiter will re-close the session.

Fixes: #8004
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2014-04-09 11:23:48 +08:00
Josh Durgin
a8330f5cfd librbd: fix zero length request handling
Zero-length writes would hang because the completion was never
called. Reads would hit an assert about zero length in
Striper::file_to_exents().

Fix all of these cases by skipping zero-length extents. The completion
is created and finished when finish_adding_requests() is called. This
is slightly different from usual completions since it comes from the
same thread as the one scheduling the request, but zero-length aio
requests should never happen from things that might care about this,
like QEMU.

Writes and discards have had this bug since the beginning of
librbd. Reads might have avoided it until stripingv2 was added.

Fixes: #5469
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2014-04-08 17:39:00 -07:00
John Wilkins
43f0519b98 doc: Made minor changes to quick start preflight for RHEL.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2014-04-08 15:54:17 -07:00
John Wilkins
ab7a25ce16 doc: Notes and minor modifications to gateway installation doc.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2014-04-08 15:53:32 -07:00
Josh Durgin
26907e3dcd Merge pull request #1628 from ceph/wip-5835
update package descriptions

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-04-08 14:47:21 -07:00
Sage Weil
277e7ac46b debian: update ceph description
Fixes: #5835
Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-08 14:19:38 -07:00
Sage Weil
72dc7327e9 ceph.spec: update ceph description
Fixes: #5835
Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-08 14:18:44 -07:00
Samuel Just
4bb0628acf Merge pull request #1625 from ceph/wip-8019
osd: fix journal umount/mount weirdness

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-04-08 12:45:28 -07:00
Sage Weil
4de49e8676 os/FileStore: reset journal state on umount
We observed a sequence like:

 - replay journal
   - sets JournalingObjectStore applied_op_seq
 - umount
 - mount
   - initiate commit with prevous applied_op_seq
 - replay journal
   - commit finishes
   - on replay commit, we fail assert op > committed_seq

Although strictly speaking the assert failure is harmless here, in general
we should not let state leak through from a previous mount into this
mount or else assertions are in general more difficult to reason about.

Fixes: #8019
Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-08 11:02:40 -07:00
Sage Weil
1cdb7381c7 vstart.sh: make crush location match up with what init-ceph does
This makes is to that ./init-ceph restart osd.0 won't modify the CRUSH
tree.  And in any case, the localhost/localrack thing we were doing before
was pretty useless.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-08 11:02:40 -07:00
Gregory Farnum
ddafcc3710 Merge pull request #1623 from ceph/wip-8026
mds: fix shared_ptr MDRequest bugs

Reviewed-by: Greg Farnum <greg@inktank.com>
2014-04-08 10:43:14 -07:00
Sage Weil
667137cc91 Merge pull request #1621 from dachary/wip-7914
erasure-code: thread-safe initialization of gf-complete

This looks like a good interim solution until gf-complete exposes a simpler init function
that hides this.

Reviewed-by: Sage Weil <sage@inktank.com>
2014-04-08 10:14:46 -07:00
Yan, Zheng
55cfb142fa mds: fix shared_ptr MDRequest bugs
The main change is use shared_ptr instead of weak_ptr to define
active request map. The reason is that slave request needs to be
preserved until master explicitly finishes it.

Fixes: #8026
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2014-04-08 16:29:43 +08:00
Loic Dachary
2ba00bd2e8 erasure-code: thread-safe initialization of gf-complete
Instead of relying on an implicit initialization happening during
encoding/decoding with galois.c:galois_init_default_field, call
gf.c:gf_init_easy for each w values when the plugin is loaded.

Loading the plugin is protected against race conditions by a lock.

It does not cover all possible uses of gf-complete but it is enough for
the ceph jerasure plugin.

http://tracker.ceph.com/issues/7914 fixes #7914

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-04-08 09:47:33 +02:00
Sage Weil
2a6d962f47 Merge pull request #1610 from ceph/wip-4354-shared_ptr
Use shared pointers for Mutations/OpRequests in the MDS

Reviewed-by: Sage Weil <sage@inktank.com>
2014-04-07 21:27:50 -07:00
Sage Weil
9ea31f152d Merge pull request #1594 from ceph/wip-7958
wip 7958

Passed sage-2014-04-07_07:04:02-fs-wip-7958-testing-basic-plana.

Reviewed-by: Sage Weil <sage@inktank.com>
2014-04-07 21:27:04 -07:00
Samuel Just
010dff12c3 osd_types: fix pg_stat_t::encode, object_stat_sum_t::decode version
Introduced in a130a4452e
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2014-04-07 17:04:15 -07:00
Greg Farnum
22894c3a12 SimpleLock: Switch MutationRef& for MutationRef in get_xlock()
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-04-07 17:00:19 -07:00
Greg Farnum
5f2ccab68f MDCache: use raw MutationImpl* instead of MutationRef in a few places
Avoid the atomic ops necessary when copying a shared_ptr.

Signed-off-by: Greg Farnum <greg@inktank.com>
2014-04-07 17:00:19 -07:00
Greg Farnum
6c3fc3eeea Locker: use raw MutationImpl* instead of MutationRef in several places
Sadly, you can't implicitly convert non-const references to shared pointers, so avoid the atomic ops necessary when copying a shared_ptr.

Signed-off-by: Greg Farnum <greg@inktank.com>
2014-04-07 17:00:19 -07:00
Greg Farnum
920fd6cac1 Locker: use a null_ref instead of NULL
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-04-07 17:00:18 -07:00
Greg Farnum
099d1d6f46 Locker: Use MutationRef instead of raw pointers
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-04-07 17:00:18 -07:00
Greg Farnum
e800bfa918 Locker: remove Mutation param from xlock_import
It's not used.

Signed-off-by: Greg Farnum <greg@inktank.com>
2014-04-07 17:00:18 -07:00
Greg Farnum
1294e55e2a MDCache: fix users of active_requests for use of shared_ptr
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-04-07 17:00:18 -07:00
Greg Farnum
a5c7b27d72 MDCache: use a null_ref instead of NULL in a few places
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-04-07 17:00:18 -07:00
Greg Farnum
6b76998d1f MDCache: use MutationRef instead of raw pointers
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-04-07 17:00:18 -07:00
Greg Farnum
a6a0800005 Server: use MutationRef instead of raw pointer
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-04-07 17:00:17 -07:00
Greg Farnum
4dedab64c2 MDS: switch cache object classes to use MutationRef instead of raw pointers
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-04-07 17:00:17 -07:00
Sage Weil
9a4a429ed2 ceph_test_rados_api_misc: print osd_max_attr_size
Very confusing results from this test in bug #8009.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-07 16:31:16 -07:00
Sage Weil
91a9d57429 Merge pull request #1612 from ceph/wip-7919
mon: MonCommands: have all 'auth' commands require 'execute' caps

Reviewed-by: Sage Weil <sage@inktank.com>
2014-04-07 16:11:51 -07:00
Sage Weil
aa301b0e49 Merge pull request #1620 from ceph/wip-8003
Wip 8003

Reviewed-by: Sage Weil <sage@inktank.com>
2014-04-07 16:09:40 -07:00
Sage Weil
aff20f5eb2 Merge pull request #1611 from ceph/wip-7975
osd: disable agent when stats_invalid (post-split)

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-04-07 15:59:37 -07:00
John Wilkins
4b66868e6f doc: Removed --stable arg and replaced with --release arg for ceph-deploy.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2014-04-07 15:49:09 -07:00
Sage Weil
7273d9ea29 osd/ReplicatedPG: warn if invalid stats prevent us from activating agent
Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-07 15:40:47 -07:00
Sage Weil
02d7e84d30 osd/ReplicatedPG: dump agent state on pg query
Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-07 15:40:47 -07:00
Sage Weil
fa46aec723 osd/ReplicatedPG: kickstart the agent if scrub stats become valid
Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-07 15:40:47 -07:00
Sage Weil
51839a33c9 v0.79
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJTQtbkAAoJEH6/3V0X7TFt2UMP/0et0RG4R9rQTih7Ms/GnCuQ
 TgCQLtJmaXRSMzfsQREJ4K2tX74wobgBI9bz05rndZD4wajHGyFCbJdC5KQYpTOm
 Hh2krrr5SkFliWnp8LZKeVRgJT2vVbIDUh3bJhqF15cnhfPOYDoov373XjCWtdRP
 lNAuO6uh/CxQLYJnl/hiXK27P4IdHo+9HFIfaPGd+pMiEFYGjJKJiS5GG9YNiWDc
 VTJYZdBtcNc7CeJEqcz/2oL0X7WMdDIFRJ0wUWU+g8MBDggICzz4QJ8iZjVw9Z+i
 tcD+mE39XnzgPcaBcJmR9oygM5qAcgMWZBbJyknebQ87AWxG2fZ0G4h/9so9TwVq
 xm7Vpavg7FhpuBS4VU5H7aJNxrNJ8+dOOAtLs7BrJojUN4pB5ePYkPsHxoSK6iGC
 JC+WqaNdEqfHl8C2jy1RNpYo8aX9o1yZetnqUMFGQ07gaE9HzsjJkEfR/7wP4mjF
 njF85PqRQ46t5a+aebScwkYco8Q2yenSAD6mfVqY4pR0Tza5r2u/TP8OdOtenmsf
 BJTffdKXrGjIeaeKuUUDMLxHbDq3bcksxh9BA6gBFq+7W5lq06fsbFUr4/sLjb2r
 zQQHVeeZy0yC6ZG1Fpxs8ry0WBDbJ7zO7vtVfHznRetDsHkt9ZHC6/RtxdXiatJu
 YrROi7w9vj/3eG2ajohi
 =MSwq
 -----END PGP SIGNATURE-----

Merge tag 'v0.79' into firefly

v0.79
2014-04-07 15:04:18 -07:00
Samuel Just
9870b75b62 Merge pull request #1619 from ceph/wip-7659
Wip 7659

Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
2014-04-07 14:47:40 -07:00
Samuel Just
07099ecd4c ReplicatedPG: do not evict head while clone is being promoted
Fixes: #8003
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-04-07 14:34:01 -07:00
Samuel Just
67b2342ab8 ReplicatedPG::trim_object: account evicted prev clone for stats
If the previous clone is evicted, we shouldn't adjust the stats to
account for its new clone_overlap value.

Fixes: #7964
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-04-07 14:34:01 -07:00
Samuel Just
6ff6c19d65 ReplicatedPG::make_writeable: check for evicted clone before adjusting for clone_overlap
Fixes: #7964
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-04-07 14:33:56 -07:00
Sage Weil
afff0ef400 Merge pull request #1617 from ceph/wip-7904
Wip 7904

Reviewed-by: Sage Weil <sage@inktank.com>
2014-04-07 14:02:58 -07:00