Commit Graph

17516 Commits

Author SHA1 Message Date
Andre Noll
7dce3e6fe2 doc: Update the list of fields for the pool set command.
This list was lacking a few fields: crash_replay_interval, pg_num,
pgp_num and crush_ruleset. Include these fields and add add short
descriptions.

Signed-Off-By: Andre Noll <maan@systemlinux.org>
2011-12-12 14:31:10 -08:00
Andre Noll
1867a74584 doc: Document pause and unpause osd commands.
These two commands were undocumented so far. This patch adds a short
description.

Signed-Off-By: Andre Noll <maan@systemlinux.org>
2011-12-12 14:31:10 -08:00
Andre Noll
9aadd41b20 doc: Add documentation of missing osd commands.
The set of OSD commands which added by the previous commit is
incomplete. This patch adds documentation for the following
OSD commands which were previously missing: dump, tree, crush,
cluster_snap, lost, create, rm.

Signed-Off-By: Andre Noll <maan@systemlinux.org>
2011-12-12 14:31:10 -08:00
Andre Noll
78b7a25598 doc: Import the list of ceph subcommands from wiki.
This adds the content of the wiki page at

http://ceph.newdream.net/wiki/Monitor_commands

to doc/control.rst in order to make it available at the new official
location for the ceph documentation. This first patch is just the
result of a cut-and-paste operation. There are no changes in content,
but the text was converted to rst format.

Signed-Off-By: Andre Noll <maan@systemlinux.org>
2011-12-12 14:31:10 -08:00
Greg Farnum
1dd173a2b6 messenger: fix up fault()'s "onconnect" parameter.
We should be setting this true when calling fault() from connect().
And rename it in the header -- it does produce less output when set,
but it's actually useful because it changes the shutdown logic
slightly.


Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-12-12 13:24:44 -08:00
Greg Farnum
e6e662320c mds: mark_disposable when closing a Client connection.
This is causing issues since the Client's ack of the MClientSession
is somehow not getting back to the MDS. We should make the
Client/SimpleMessenger be better-behaved about shutdown, but for
now this solution matches how we're working elsewhere in our codebase.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-12-12 13:24:44 -08:00
Greg Farnum
06046470f1 SimpleMessenger: remove void send_keepalive.
Nobody uses this; they all call the version that returns an int.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-12-12 13:24:44 -08:00
Sage Weil
5e215c7ee3 Merge branch 'wip-mon-stats' 2011-12-12 09:29:36 -08:00
Sage Weil
711447d8d5 mon: add mds, mon info to cluster_logger
Signed-off-by: Sage Weil <sage@newdream.net>
2011-12-12 09:27:17 -08:00
Sage Weil
808a851d6b mdsmap: rename get_num_*_mds() methods
Signed-off-by: Sage Weil <sage@newdream.net>
2011-12-12 09:27:17 -08:00
Sage Weil
ac31d526d2 mon: report basic cluster stats via perfcounters
These are basic point-in-time cluster stats.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-12-12 09:24:27 -08:00
Sage Weil
1f1b5fdfdc crush: drop unused label
Signed-off-by: Sage Weil <sage@newdream.net>
2011-12-12 09:22:49 -08:00
Sage Weil
62b78de70e Merge remote branch 'gh/stable' 2011-12-12 09:20:26 -08:00
Sage Weil
495307a1a4 crush: fix force to behave with non-root TAKE
If the (first) TAKE in the crush rule is not the root, see if they picked
a point somewhere beneath the appropriate part of the hierachy.  If not,
continue with a normal mapping.

Previously we would simply error out in this case and map nothing.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-12-12 09:18:46 -08:00
Sage Weil
14f8f00e57 crush: simplify force argument check
force isn't used past this point, only force_pos.  Collapse the if
conditions.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-12-12 09:17:33 -08:00
Josh Durgin
cf279a8b72 workunits: print tests pjd runs
This will tell us which ones actually failed within a test suite.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-12-09 16:31:42 -08:00
Samuel Just
8064440d90 Merge branch 'wip_pgls' 2011-12-09 15:23:32 -08:00
Samuel Just
864847b278 pybind: add object locator support to pybind pool listing
list_objects returns Object().  Object therefore now has an optional
locator_key parameter which will set up the object locator on Object()
methods to allow objects returned from list_objects with locator keys to
be used normally.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-12-09 15:22:21 -08:00
Samuel Just
4ce7dd4819 rados.cc: add --object-locator and object locator output to ls
--object-locator locator causes io to use the specified locator.  For
objects with non-empty locators, rados pool ls will output the locator
as well.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-12-09 13:44:37 -08:00
Samuel Just
111c12ceb9 ReplicatedPG: collection_list_handle_t is now an hobject_t
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-12-09 13:44:37 -08:00
Samuel Just
798ef38b14 osd: delay pg list on a snapid until missing is empty
We cannot determine from the missing set whether an object existed
at a given snap.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-12-09 13:44:32 -08:00
Kyle Marsh
e2a9450520 obsync: add swift support to obsync
A single "url" doesn't make sense for a swift object store the way it does
for an S3 store or local file, so this commit explodes the interface from a
single url argument to three arguments: host, bucket, and object_prefix.

It also adds a SwiftStore and related classes.  Syncing ACLs with swift is
not yet implemented.
2011-12-09 01:34:41 -08:00
Greg Farnum
d21f4abc0f msgr: turn up socket debug printouts
These shouldn't be too common and will help in debugging
socket leaks.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-12-08 18:01:20 -08:00
Josh Durgin
891025e539 udev: drop device number from name
The device number depends on how many rbd images have been
mapped. Removing it makes the name determined solely by the name,
image, and snapshot that are mapped, for ease of scripting or persistence
across reboots.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-12-08 16:36:47 -08:00
Henry C Chang
a5606ca435 pybind: trivial fix of missing argument
Signed-off-by: Henry C Chang <henry.cy.chang@gmail.com>
2011-12-08 13:10:29 -08:00
Sage Weil
e4db12978f crush: whitespace
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-08 08:42:59 -08:00
Sage Weil
808763ea81 osdmap: initialize cluster_snapshot_epoch
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-08 08:41:54 -08:00
Sage Weil
c94590abb9 crush: set max_devices=0 for map with empty buckets
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-08 08:41:39 -08:00
Sage Weil
ca002a3389 crush: fix stepping on unallocated memory
If size is 0 we can't write here.

Reported-by: pankaj singh <psingh.ait@gmail.com>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-08 08:06:26 -08:00
Sage Weil
d940d68d63 client: trim lru after flushing dirty data
Shouldn't matter, but it would be interesting to see if this affects
#1737.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-07 21:19:19 -08:00
Sage Weil
1545d03c5a client: unmount cleanup
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-07 21:19:16 -08:00
Sage Weil
f3c90f8d16 client: wait for sync writes even with cache enabled
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-07 21:19:14 -08:00
Sage Weil
adbe36394a client: send umount warnings to log, not stderr
stderr isn't usually open anyway.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-07 21:19:10 -08:00
Samuel Just
2d3721c6cc ObjectStore,ReplicatedPG: remove old collection_list_partial
No need for the old collection_list_partial instance: it's cleaner to
just use an hobject_t as the collection list handle.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-12-07 11:40:11 -08:00
Samuel Just
717621f66e librados,Objecter,PG: list objects now includes the locator key
Previously, there was no way to recover the locator key used to create
and object.  Now, rados_objects_list_next and ObjectIterator will return
the key as well as the object name.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-12-07 11:40:11 -08:00
Sage Weil
322f93a2f7 hobject_t: encode max properly
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-07 11:40:11 -08:00
Sage Weil
0807e7d523 hobject_t: make filestore_hobject_key_t 64 bits
So we can return 0x100000000 when max=true.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-07 11:40:11 -08:00
Sage Weil
997265a245 os/HashIndex: some minimal debug output
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-07 11:40:11 -08:00
Sage Weil
9ab445a42d ObjectStore: Add collection_list_partial for hash order
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-12-07 11:40:11 -08:00
Sage Weil
63e3d86430 hobject_t: define explicit hash, operator<<; drop implicit sobject_t()
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-07 11:40:10 -08:00
Samuel Just
cada2f2ef4 object.h: Sort hobject_t by nibble reversed hash
To match the HashIndex ordering, we need to sort hobject_t by the nibble
reversed hash.  We store objects in the filestore in a directory tree
with the least significant nibble at the top and the most at the bottom
to facilitate pg splitting in the future.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-12-07 11:40:10 -08:00
Sage Weil
348321a591 hobject_t: sort by (max, hash, oid, snap)
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-07 11:40:10 -08:00
Sage Weil
2026450bd1 hobject_t: define max value
Create a max value that is greater than all other values.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-12-07 11:40:10 -08:00
Tommi Virtanen
745be30f51 gitignore: Ignore src/keyring, as created by vstart.sh
Commit 86c34ba9ee changed
the filename but not .gitignore.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
2011-12-06 15:22:16 -08:00
Samuel Just
a1ebd725dc ReplicatedPG: don't crash on empty data_subset in sub_op_push
If data_subset is empty (i.e., the data we pulled is no longer useful),
we should mark complete false and continue rather than fail the
assert in range_end().

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-12-06 14:44:46 -08:00
Josh Durgin
8afa5a5d9e workunits: fix secret file and temp file removal for kernel rbd
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-12-06 14:20:31 -08:00
Greg Farnum
03b03553b2 ReplicatedPG: do not ->put() scrub messages when adding to a WorkQueue.
This function is passing a reference from PG::active_rep_scrub to
the req_scrub_wq, not eliminating the reference (and the WorkQueue
doesn't grab a new reference itself, either).
The other alternative is to convert the WorkQueue to grab a
reference, but since they can cycle through the WorkQueue more than
once, and need to be ->put() outside the WorkQueue, I don't like
that option.
This should fix #1758.

Also add an assert to PG::_request_scrub_map to check on the other
possible cause of this bug (and fix the indentation).

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-12-06 14:24:08 -08:00
Josh Durgin
bcd26fca71 workunits: make rbd kernel workunit executable
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-12-06 13:36:51 -08:00
Tommi Virtanen
2bdf9078ef doc: Reorganize pip calls to use a requirements file.
The conditional before running pip install was unnecessary,
"pip install" on already installed packages is fast (as long
as it's not --upgrade), and --quiet makes it not spam the
console.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
2011-12-06 12:13:03 -08:00
Tommi Virtanen
200d7c89a6 doc: Switch diagram tools from dia to ditaa.
Now you can create diagrams easily with the ".. ditaa::"
directive in the Sphinx documents.

admin/build-doc now checks for debs required for building
the documentation, or just lists commands missing for hosts
not using dpkg.

For more on Ditaa, see http://ditaa.sourceforge.net/

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
2011-12-06 12:07:59 -08:00