Commit Graph

26420 Commits

Author SHA1 Message Date
John Wilkins
d97031175f doc: Added key and ceph repository to ceph-deploy install.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-06-05 11:44:58 -07:00
John Wilkins
09a796d724 doc: Removed ceph-deploy git, and added ceph-deploy packages.
fixes: #5253

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-06-04 15:35:56 -07:00
John Wilkins
d1e2e7b6b4 doc: Modified pre-flight checklist for ceph-deploy packages.
fixes: #5253
2013-06-04 15:35:14 -07:00
John Wilkins
72a6767eb3 doc: Added title. Suppresses no title warning messages.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-06-04 15:33:42 -07:00
Sage Weil
85576dba13 Revert "mds: initialize rejoins_pending"
This reverts commit 05a57bdd12.

Supplanted by d7fb9b173a.
2013-06-04 13:08:37 -07:00
Yan, Zheng
0c4ca2ae56 mds: allow purging "dirty parent" stray inode
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-06-04 13:08:24 -07:00
Yan, Zheng
d7fb9b173a mds: initialize some member variables of MDCache
I added some member variables to class MDCache, but forget to
initialize them.

Fixes: #5236
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-06-04 13:08:20 -07:00
Sage Weil
bbdefe3487 Merge remote-tracking branch 'gh/next' 2013-06-04 13:08:07 -07:00
athanatos
38d3c3cb53 Merge pull request #340 from dachary/wip-5213
PGLog::merge_old_entry unit tests

Reviewed-by: Sam Just <sam.just@inktank.com>
2013-06-04 12:39:29 -07:00
athanatos
8d948f6109 Merge pull request #327 from dachary/wip-pg_missing_t-tests
unit tests for pg_missing_t

Reviewed-by: Sam Just <sam.just@inktank.com>
2013-06-04 12:38:10 -07:00
Sage Weil
64b3e833f6 Revert "mds: allow purging "dirty parent" stray inode"
This reverts commit b8f1cb9789.
2013-06-04 11:07:58 -07:00
Sage Weil
05a57bdd12 mds: initialize rejoins_pending
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-04 11:07:33 -07:00
Sage Weil
c2169147f1 Revert "mds: initialize some member variables of MDCache"
This reverts commit 2d655bde8d.
2013-06-04 11:05:52 -07:00
Sage Weil
ce67c58db7 os/LevelDBStore: only remove logger if non-null
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-04 10:42:13 -07:00
Samuel Just
cdf5785c5e test_filestore_idempotent: make newly created objects globally unique
The filestore requires hobjects to be globally unique.

Fixes: #5240
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-04 10:37:34 -07:00
Josh Durgin
713719a063 test_librbd: use correct type for varargs snap test
uint64_t is passed in, but int was extracted. This fails on 32-bit builds.

Fixes: #5220
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit 17029b270d)
2013-06-04 09:42:39 -07:00
Sage Weil
8bbd0370c4 Merge pull request #344 from ceph/wip-5220
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-04 09:38:23 -07:00
Loic Dachary
b70868e007 unit tests for PGLog::merge_old_entry
The tests covers 100% of the LOC of merge_old_entry. It is broken down
in 13 cases to enumerate all the situations it must address. Each case
is isolated in a independant code block where the conditions are
reproduced. For  instance:

    info.last_backfill = hobject_t();
    info.last_backfill.hash = 1;
    oe.soid.hash = 2;

creates the conditions where merge_log_entry is expected to silently
ignore entries containing an object that is greater than
last_backfill.

PGLogTest is derived from PGLog to get access to the protected members.

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-06-04 13:43:20 +02:00
Yan, Zheng
b8f1cb9789 mds: allow purging "dirty parent" stray inode
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-06-03 20:53:09 -07:00
Yan, Zheng
2d655bde8d mds: initialize some member variables of MDCache
I added some member variables to class MDCache, but forget to
initialize them.

Fixes: #5236
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-06-03 20:52:01 -07:00
Josh Durgin
17029b270d test_librbd: use correct type for varargs snap test
uint64_t is passed in, but int was extracted. This fails on 32-bit builds.

Fixes: #5220
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-06-03 18:26:08 -07:00
Sage Weil
1cb7dbd94a messages/MClientCapRelease: fix string output
Use the vector size, not what is in the header, which is not yet filled in
for outgoing messages.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-03 13:45:01 -07:00
David Zafman
27f82ce3b4 ceph: Add missing usage "ceph osd blacklist ls"
Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-06-03 12:23:03 -07:00
Sage Weil
4fa5f99a40 ceph-fuse: create finisher threads after fork()
The ObjectCacher and MonClient classes both instantiate Finisher
threads.  We need to make sure they are created *after* the fork(2)
or else the process will fail to join() them on shutdown, and the
threads will not exist while fuse is doing useful work.

Put CephFuse on the heap and move all this initalization into the child
block, and make sure errors are passed back to the parent.

Fix-proposed-by: Alexandre Marangone <alexandre.maragone@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-02 21:21:51 -07:00
Sage Weil
1e99be1569 vstart.sh: make client logs unique
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-02 20:59:03 -07:00
Sage Weil
eb6d5fcf99 os/LevelDBStore: fix merge loop
We were double-incrementing p, both in the for statement and in the
body.  While we are here, drop the unnecessary else's.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-02 18:08:11 -07:00
Sage Weil
f7c1944029 Merge pull request #337 from dalgaaf/wip-da-CID-medium.v2
Fix several medium impact CID issues V2

Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-02 15:52:23 -07:00
Sage Weil
44d1513880 Merge remote-tracking branch 'gh/next' 2013-06-02 14:48:04 -07:00
Loic Dachary
6cdc4f8fda merge_old_entry arguments info and oe are changed to const because
there is no side effect.

The PGLog::clear function is added to reset all data members to the
same state they have after the object is constructed.

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-06-02 12:50:13 +02:00
Sage Weil
d7e2ab1451 mon: fix uninitialized fields in MMonHealth
Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-31 21:16:54 -07:00
Sage Weil
f1ccb2d808 mon: start lease timer from peon_init()
In the scenario:

 - leader wins, peons lose
 - leader sees it is too far behind on paxos and bootstraps
 - leader tries to sync with someone, waits for a quorum of the others
 - peons sit around forever waiting

The problem is that they never time out because paxos never issues a lease,
which is the normal timeout that lets them detect a leader failure.

Avoid this by starting the lease timeout as soon as we lose the election.
The timeout callback just does a bootstrap and does not rely on any other
state.

I see one possible danger here: there may be some "normal" cases where the
leader takes a long time to issue its first lease that we currently
tolerate, but won't with this new check in place.  I hope that raising
the lease interval/timeout or reducing the allowed paxos drift will make
that a non-issue.  If it is problematic, we will need a separate explicit
"i am alive" from the leader while it is getting ready to issue the lease
to prevent a live-lock.

Backport: cuttlefish, bobtail
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-05-31 17:09:19 -07:00
Sage Weil
fb3cd0c2a8 mon: discard messages from disconnected clients
If the client is not connected, discard the message.  They will
reconnect and resend anyway, so there is no point in processing it
twice (now and later).

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-05-31 17:05:17 -07:00
Sage Weil
6b8e74f064 mon/Paxos: adjust trimming defaults up; rename options
- trim more at a time (by an order of magnitude)
- rename fields to paxos_trim_{min,max}; only trim when there are min items
  that are trimmable, and trim at most max items at a time.
- adjust the paxos_service_trim_{min,max} values up by a factor of 2.

Since we are compacting every time we trim, adjusting these up mean less
frequent compactions and less overall work for the monitor.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-05-31 17:05:03 -07:00
Samuel Just
a03ccf17b0 OSD: *inodes_hard_limit must be less than the fd limit
Also add a comment explaining that.

Fixes: #5224
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-05-31 15:13:24 -07:00
Samuel Just
e12a9c4606 OSD: tell them they died if they don't exist as well
OSDMap::get_down_at() asserts that the osd exists.

Fixes: #5223
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-05-31 15:10:53 -07:00
Sage Weil
b2e490413a Merge branch 'wip-osd-leaks' into next
Reviewed-by: David Zafman <david.zafman@inktank.com>
2013-05-31 14:48:51 -07:00
Sage Weil
cec8379800 osd: fix msg leak on shutdown in ms_dispatch
Reported-by: David Zafman <david.zafman@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-31 14:48:33 -07:00
Sage Weil
9865bb460b osd: reset heartbeat peers during shutdown
This fixes a leak of the Connection's and related structures.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-31 14:48:33 -07:00
Sage Weil
923683ff73 mon/MonClient: fix leak of MMonGetVersionReply
Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-31 14:48:32 -07:00
Sage Weil
222059ec28 osd: fix leak of MOSDMarkMeDown
Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-31 14:48:32 -07:00
Sage Weil
0f246a3a90 Merge pull request #338 from alram/next
Reviewed-by: Sage Weil <sage@inktank.com>
2013-05-31 12:47:24 -07:00
Alexandre Marangone
851619ab66 upstart: handle upper case in cluster name and id
Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
2013-05-31 12:33:11 -07:00
John Wilkins
54d230529b doc: Added Java example for setting protocol to HTTP.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-31 11:15:20 -07:00
John Wilkins
145c480807 doc: Text of diagram for osd_throttles.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-31 11:14:29 -07:00
John Wilkins
8d70c091d9 doc: Omitted text diagram, and used literal include to text file.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-05-31 11:14:04 -07:00
Samuel Just
e6ad9da03a PGLog: only add entry to caller_ops in add() if reqid_is_indexed()
Fixes: #5216
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-05-31 11:09:50 -07:00
Loic Dachary
ddb3a8d6ae unit tests for pg_missing_t
All lines of code are tested. The conditions under which some methods
could corrupt the content of a pg_missing_t object have not been
investigated. Since the data members are public, the caller is
ultimately responsible for the consistency of the object and the
methods have no way to enforce it.

The semantics of is_missing have been discussed in
http://thread.gmane.org/gmane.comp.file-systems.ceph.devel/15280

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-05-31 19:58:52 +02:00
Samuel Just
db85c52d4c PG: don't write out pg map epoch every handle_activate_map
We don't actually need to write out the pg map epoch on every
activate_map as long as:
a) the osd does not trim past the oldest pg map persisted
b) the pg does update the persisted map epoch from time
to time.

To that end, we now keep a reference to the last map persisted.
The OSD already does not trim past the oldest live OSDMapRef.
Second, handle_activate_map will trim if the difference between
the current map and the last_persisted_map is large enough.

Fixes: #4731
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 2c5a9f0e178843e7ed514708bab137def840ab89)

Conflicts:

	src/common/config_opts.h
	src/osd/PG.cc
	- last_persisted_osdmap_ref gets set in the non-static
	  PG::write_info

Conflicts:

	src/osd/PG.cc
2013-05-31 10:39:10 -07:00
Danny Al-Gaaf
5aa0b1292d .gitignore: add directory from coverity tools
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-31 19:15:23 +02:00
Danny Al-Gaaf
cfdd87cac9 mds/Server.cc: fix dereference after null check
CID 716927 (#1 of 1): Dereference after null check (FORWARD_NULL)
  var_deref_model: Passing null pointer "diri->snaprealm" to function
  "SnapRealm::resolve_snapname(std::string const &

Make sure not to dereference diri->snaprealm.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-31 19:15:23 +02:00