]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Greg Farnum [Wed, 20 Jul 2011 20:15:13 +0000 (13:15 -0700)]
mds: Drop locks and auth pins when waiting for freezingtree
In most cases we don't end up in this branch because there's an escape
if you already have an auth_pin on the ref in question. But when
you've got snapshots going on, you can process the request, block on
a lock state change, commit a snapshot change to the inode, and then
try to process the request again. On this second attempt, though,
you end up with a different ref which you don't have a pin on.
Deadlock and breakage ensues!
To fix, drop all locks and auth pins when you wait -- either
you don't have any to drop anyway, or you've got them on a previous
version of the inode that isn't useful anymore.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Greg Farnum [Wed, 20 Jul 2011 17:02:01 +0000 (10:02 -0700)]
uclient: correctly initialize mseq in flush_snaps.
Previously we set mseq=0 unconditionally; this was a mistake that
creeped in via bitrot. Instead, set mseq from the auth cap.
This bug meant that any inodes which had gotten migrated between
MDSes would have their flush_snap messages dropped by the MDS.
Resolves #1324.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Sage Weil [Wed, 20 Jul 2011 20:17:23 +0000 (13:17 -0700)]
mds: mark rmdir with slaves as a master in journal
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Wed, 20 Jul 2011 20:06:01 +0000 (13:06 -0700)]
mds: fix rmdir slave commit, rollback
We need to set the slave commit callback to journal a commit or rollback
as needed.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Wed, 20 Jul 2011 19:46:19 +0000 (12:46 -0700)]
mds: simplify journaled subtree_map
We may have subtrees split locally due to migrations that are just getting
started or stopped. Simplify the map we journal to disk. Among other
things this makes the replay check simple (it can compare against the
current "live" map).
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Wed, 20 Jul 2011 18:08:56 +0000 (11:08 -0700)]
mds: add mds_debug_subtrees option
Verify that replayed ESubtreeMap events match what we have.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Wed, 20 Jul 2011 17:35:39 +0000 (10:35 -0700)]
mds: set LogEvent _start_off, drop unused _end_off
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Fri, 15 Jul 2011 23:36:07 +0000 (16:36 -0700)]
mds: witness rmdir when subtrees are on other hosts
If there is an rmdir with an empty subtree on another mds, we need to witness/
journal that on the dirfrag's auth mds so that replay correctly updates the
subtree map.
This is simpler than the rename witnesses (and the link/unlink ones) because
we aren't actually journaling a modification to any actual metadata; it's just
the subtree map that is changing.
The projection of the subtree map update needs work still, but that is also the
case for renames.
Signed-off-by: Sage Weil <sage@newdream.net>
Yehuda Sadeh [Wed, 20 Jul 2011 17:35:55 +0000 (10:35 -0700)]
Merge branch 'wip-rgw-multithreaded'
Yehuda Sadeh [Wed, 20 Jul 2011 17:35:06 +0000 (10:35 -0700)]
rgw: setup as external server is configurable
Yehuda Sadeh [Wed, 20 Jul 2011 17:01:17 +0000 (10:01 -0700)]
rgw: clearer logging context
Colin Patrick McCabe [Wed, 20 Jul 2011 16:31:31 +0000 (09:31 -0700)]
config.cc: fix comments
Fix comments that were reverted to an older version by commit
a51b983a8bbafc455bcd2acd993981ece00abcc7 .
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Samuel Just [Wed, 20 Jul 2011 00:28:45 +0000 (17:28 -0700)]
PGMonitor.cc: add force_create_pg command to monitor
ceph pg force_create_pg <pgid> will now reset that pg's status to
creating to handle corner cases where no osd has that pg.
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Yehuda Sadeh [Tue, 19 Jul 2011 21:02:11 +0000 (14:02 -0700)]
rgw: fix concurrency issue
Sage Weil [Tue, 19 Jul 2011 18:26:25 +0000 (11:26 -0700)]
Merge branch 'stable'
Sage Weil [Tue, 19 Jul 2011 18:25:46 +0000 (11:25 -0700)]
mds: clean up file flags to file mode translation
There was some seriously wrong and ancient cruft in there. open(2)
specifies that one of O_RDONLY, O_WRONLY, and O_RDWR must always be
specified. Drop all the crazy.
Linux VFS interprets O_WRONLY|O_RDWR as read+write, so we'll do the same.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 19 Jul 2011 17:38:40 +0000 (10:38 -0700)]
client: check for invalid file mode
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 19 Jul 2011 17:38:34 +0000 (10:38 -0700)]
mds: check for invalid file mode
Signed-off-by: Sage Weil <sage@newdream.net>
Yehuda Sadeh [Tue, 19 Jul 2011 17:28:55 +0000 (10:28 -0700)]
rgw: fix i386 compilation
Yehuda Sadeh [Tue, 19 Jul 2011 16:43:50 +0000 (09:43 -0700)]
config: fix compilation in certain environments
Sage Weil [Tue, 19 Jul 2011 15:36:03 +0000 (08:36 -0700)]
mon: fix dump_json quoting
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 19 Jul 2011 15:33:29 +0000 (08:33 -0700)]
mds: fix O_APPEND file mode calculation
Currently
fd = open("aaa",O_RDWR|O_CREAT|O_APPEND,0666);
gives us fmode of 1 instead of 3. We should only infer O_WRONLY if no
other mode is explicitly specified.
Reported-by: Fyodor Ustinov <ufm@ufm.su>
Signed-off-by: Sage Weil <sage@newdream.net>
Yehuda Sadeh [Tue, 19 Jul 2011 00:14:25 +0000 (17:14 -0700)]
rgw: use thread pool for rgw work
Sage Weil [Mon, 18 Jul 2011 23:29:31 +0000 (16:29 -0700)]
mon: pg dump_json
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Yehuda Sadeh [Mon, 18 Jul 2011 23:10:53 +0000 (16:10 -0700)]
rgw: radosgw_admin log show dumps parsable json
Greg Farnum [Mon, 18 Jul 2011 20:24:30 +0000 (13:24 -0700)]
osd: remove unused variables
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Greg Farnum [Mon, 18 Jul 2011 20:23:52 +0000 (13:23 -0700)]
mon: remove unused variables
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Greg Farnum [Mon, 18 Jul 2011 20:23:17 +0000 (13:23 -0700)]
mds: remove unused variables
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Greg Farnum [Mon, 18 Jul 2011 20:20:22 +0000 (13:20 -0700)]
tools: remove unused variables
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Greg Farnum [Mon, 18 Jul 2011 20:19:57 +0000 (13:19 -0700)]
clien: rados: bench: remove unused variables
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Samuel Just [Sat, 16 Jul 2011 00:18:04 +0000 (17:18 -0700)]
ReplicatedPG: _rollback_to
_delete_head modifies clone_overlap and stats incorrectly for
_rollback_to
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Samuel Just [Sat, 16 Jul 2011 00:37:27 +0000 (17:37 -0700)]
testsnaps: use self managed snaps and other fixes
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Greg Farnum [Mon, 18 Jul 2011 18:28:23 +0000 (11:28 -0700)]
Makefile: librados-config apparently depends on libcrypto++
In newer versions of gcc/ld, librados-config breaks without
the CRYPTO_LIBS.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Greg Farnum [Mon, 18 Jul 2011 18:27:40 +0000 (11:27 -0700)]
gitignore: ignore Eclipse files/folders
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Colin Patrick McCabe [Mon, 18 Jul 2011 17:37:42 +0000 (10:37 -0700)]
Remove lingering references to g_conf
These were harmless, but silly.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Yehuda Sadeh [Mon, 18 Jul 2011 17:06:59 +0000 (10:06 -0700)]
rgw: fix range dump
Sage Weil [Sun, 17 Jul 2011 23:49:59 +0000 (16:49 -0700)]
mds: fix protocol versions
I screwed this up in
a928f767b974cd36f4be6ea618c5cec366d28362 .
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Yehuda Sadeh [Fri, 15 Jul 2011 23:46:01 +0000 (16:46 -0700)]
rgw: multithreaded handling
Colin Patrick McCabe [Mon, 27 Jun 2011 18:27:00 +0000 (11:27 -0700)]
recalc_op_target must give an error if pool gone
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Sage Weil [Fri, 15 Jul 2011 21:44:45 +0000 (14:44 -0700)]
Makefile: remove dup testrados_list_parallel_SOURCES
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Fri, 15 Jul 2011 20:03:14 +0000 (13:03 -0700)]
Merge remote branch 'origin/stable'
Sage Weil [Fri, 15 Jul 2011 20:01:37 +0000 (13:01 -0700)]
Merge remote branch 'origin/wip-1287'
Yehuda Sadeh [Fri, 15 Jul 2011 19:54:32 +0000 (12:54 -0700)]
rgw: multiple fixes, prepare main loop for multithreading
Yehuda Sadeh [Fri, 15 Jul 2011 17:57:48 +0000 (10:57 -0700)]
rgw: fix compilation for certain architectures
Colin Patrick McCabe [Fri, 15 Jul 2011 16:54:07 +0000 (09:54 -0700)]
botol_tool: add --xattr argument for PUT
boto_tool can now set extended attributes when performing a PUT
operation.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Fri, 15 Jul 2011 16:41:45 +0000 (09:41 -0700)]
boto_tool: add --get-obj-xattr
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Mon, 11 Jul 2011 23:15:09 +0000 (16:15 -0700)]
rgw_op: mime-encode ugly xattrs in PUT
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Thu, 14 Jul 2011 23:32:18 +0000 (16:32 -0700)]
rgw_common: remove unused variable
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Thu, 14 Jul 2011 23:24:51 +0000 (16:24 -0700)]
mime encoding: encode control chars
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Thu, 14 Jul 2011 22:07:47 +0000 (15:07 -0700)]
Add control character detection
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Yehuda Sadeh [Thu, 14 Jul 2011 22:55:05 +0000 (15:55 -0700)]
rgw: fix log
Yehuda Sadeh [Thu, 14 Jul 2011 22:29:36 +0000 (15:29 -0700)]
rgw: cleanup, remove globals and static craft
Greg Farnum [Thu, 14 Jul 2011 20:37:21 +0000 (13:37 -0700)]
bloom filter: update to latest version
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Greg Farnum [Thu, 14 Jul 2011 20:35:09 +0000 (13:35 -0700)]
filepath: remove asserts
These were included as a safety check and haven't been triggered, so
there's no point slowing anything down with them.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Colin Patrick McCabe [Tue, 5 Jul 2011 21:47:55 +0000 (14:47 -0700)]
honor CINIT_FLAG_NO_DEFAULT_CONFIG_FILE
Don't use CEPH_CONF_FILE_DEFAULT when CINIT_FLAG_NO_DEFAULT_CONFIG_FILE
is set.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Sage Weil [Thu, 14 Jul 2011 18:25:21 +0000 (11:25 -0700)]
crushtool: don't parse any generic args
Notably, crushtool uses -c, which elsewhere means parse this config file.
Signed-off-by: Sage Weil <sage@newdream.net>
Yehuda Sadeh [Thu, 14 Jul 2011 19:45:07 +0000 (12:45 -0700)]
Merge branch 'rgw-sync-cache'
Conflicts:
src/rgw/rgw_op.cc
Yehuda Sadeh [Thu, 14 Jul 2011 19:43:25 +0000 (12:43 -0700)]
rgw: configurable way to enable/disable cache
Samuel Just [Wed, 29 Jun 2011 01:11:55 +0000 (18:11 -0700)]
ReplicatedPG: project changes to clone_overlap
Previously, changes to clone_overlap were incorrect since make_writeable
is called after do_osd_ops. Now, ctx->modified_ranges will hold the set
of offsets modified during the transaction to be applied to
clone_overlap during make_writeable.
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Sage Weil [Thu, 14 Jul 2011 17:58:58 +0000 (10:58 -0700)]
Merge branch 'wip-codingstyle'
Sage Weil [Thu, 14 Jul 2011 17:50:08 +0000 (10:50 -0700)]
CodingStyle: whitespace
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Thu, 14 Jul 2011 17:49:33 +0000 (10:49 -0700)]
CodingStyle: final decisions?
- _d suffix for naked struct/class types (not _t!)
- m_ prefix for class members
- prefer braces for single line ifs.
Signed-off-by: Sage Weil <sage@newdream.net>
Samuel Just [Thu, 14 Jul 2011 00:06:18 +0000 (17:06 -0700)]
ReplicatedPG: sub_op_push fix
We need to iterate over the intersection of data_subset and data_needed,
not the original data_needed.
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Sage Weil [Wed, 13 Jul 2011 23:47:07 +0000 (16:47 -0700)]
Merge remote branch 'origin/wip-1257'
Colin Patrick McCabe [Wed, 13 Jul 2011 23:11:43 +0000 (16:11 -0700)]
Don't build build tests unless requested
Build tests (that check if there are unresolved symbols in libraries)
can slow down the build a lot. We should only enable them when
developers need them.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Wed, 13 Jul 2011 23:00:50 +0000 (16:00 -0700)]
rados parallel tests: prepend "test"
Just to avoid any confusion, all these test apps should begin with the
word "test".
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Wed, 13 Jul 2011 22:58:19 +0000 (15:58 -0700)]
rados_list_parallel: add test of list-while-modify
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Yehuda Sadeh [Wed, 13 Jul 2011 22:56:05 +0000 (15:56 -0700)]
rgw: unwatch cache sync object before exiting
Colin Patrick McCabe [Wed, 13 Jul 2011 22:43:09 +0000 (15:43 -0700)]
testrados: fix
Change testrados back to a simple single-threaded test. The
multi-threaded tests need to be properly designed to run multi-threaded.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Wed, 13 Jul 2011 22:42:53 +0000 (15:42 -0700)]
systest_runnable: print line when joining runnables
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Wed, 13 Jul 2011 22:11:44 +0000 (15:11 -0700)]
Create rados_delete_pools_parallel test
* add rados_delete_pools_parallel test
* change RETURN_IF_NOT_VAL -> RETURN1_IF_NOT_VAL.
We want to return a non-zero error code when the value is something we
don't expect, even if that unexpected value is 0.
* st_rados_list_objects: add option to ignore list errors (for the
deletion test)
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Samuel Just [Wed, 6 Jul 2011 18:23:14 +0000 (11:23 -0700)]
ReplicatedPG: data_subset may not contain data_needed
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Samuel Just [Wed, 6 Jul 2011 18:22:34 +0000 (11:22 -0700)]
encoding.h: need to pass by reference
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Samuel Just [Wed, 29 Jun 2011 22:31:49 +0000 (15:31 -0700)]
ReplicatedPG: fix snaps decode in recover_primary
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Samuel Just [Wed, 6 Jul 2011 18:24:41 +0000 (11:24 -0700)]
test/osd: TestSnaps now writes large, random objects with holes
In order to test clone recovery pathways, TestSnaps now writes to random
subsets of an object between snapshots. Objects may now also be very
large.
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Sage Weil [Wed, 13 Jul 2011 21:01:16 +0000 (14:01 -0700)]
mds: fix handle_simple_lock on LOCK replica
We were ignoring caps. To avoid this kind of mistake, use eval_gather(),
like handle_file_lock() does.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Wed, 13 Jul 2011 20:22:29 +0000 (13:22 -0700)]
mds: drop useless from field from MInodeFileCaps
While we're updating the protocol, clean this up too.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Wed, 13 Jul 2011 03:56:14 +0000 (20:56 -0700)]
mds: print cur+nested auth_pins on inode
And clean up a bit.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Wed, 13 Jul 2011 00:27:41 +0000 (17:27 -0700)]
mds: move to MIX state if writer wanted and no wanted loner
We can just look at the target loner here, which also takes any caps wanted
by other replicas on other MDSs into account. Otherwise we need to
to duplicate the CInode::calc_ideal_loner() logic.
This assumes the loner field is accurate.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Wed, 13 Jul 2011 00:24:47 +0000 (17:24 -0700)]
mds: print mds_caps_wanted on inode
along with the client caps info
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Wed, 13 Jul 2011 00:24:19 +0000 (17:24 -0700)]
mds: improve print() for MInodeFileCaps
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Sage Weil [Wed, 13 Jul 2011 20:18:38 +0000 (13:18 -0700)]
mds: migrate loner_cap state
It is tedious to infer what the old loner_cap was pre-migration. Just send
it over the wire and set it explicitly. Usually when we eval() we would
have come to the same conclusion, but when we didn't, we got into
inconsistent/impossible states where the issue caps don't match the loner
state (Asx issued but no loner_cap set). That meant the next issue was
a revocation with no lock state change, which led to yet more problems
down the line.
This is an internal MDS protocol change.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Wed, 13 Jul 2011 17:39:18 +0000 (10:39 -0700)]
mds: clear [want_]loner_cap on cap export
These fields are meaningless on the replica.
Signed-off-by: Sage Weil <sage@newdream.net>
Colin Patrick McCabe [Wed, 13 Jul 2011 21:37:48 +0000 (14:37 -0700)]
Move list objects logic to st_rados_list_objects
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Wed, 13 Jul 2011 19:51:31 +0000 (12:51 -0700)]
rados_list_parallel: fix rados_ioctx_destroy uses
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 12 Jul 2011 18:12:04 +0000 (11:12 -0700)]
rados_list_parallel: add test4
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Tue, 12 Jul 2011 00:50:41 +0000 (17:50 -0700)]
rados_list_parallel: test adding objects + listing
Test one runnable adding objects while another runnable lists them.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Fri, 8 Jul 2011 03:12:03 +0000 (20:12 -0700)]
Add rerun.sh
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Fri, 8 Jul 2011 01:56:35 +0000 (18:56 -0700)]
rados_list_parallel: make num_objects selectable
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Thu, 7 Jul 2011 21:44:18 +0000 (14:44 -0700)]
add CrossProcessSem::reinit, fix rados_list_parallel
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Thu, 7 Jul 2011 00:08:41 +0000 (17:08 -0700)]
Now we can put runnable logs into separate files
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Wed, 6 Jul 2011 23:20:36 +0000 (16:20 -0700)]
Add rados_open_pools_parallel test
Also add rados_open_pools_parallel to .gitignore
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Yehuda Sadeh [Wed, 13 Jul 2011 21:08:38 +0000 (14:08 -0700)]
rgw: clean up temp object if failed to PUT
Conflicts:
src/rgw/rgw_op.cc
Yehuda Sadeh [Wed, 13 Jul 2011 21:08:38 +0000 (14:08 -0700)]
rgw: clean up temp object if failed to PUT
Yehuda Sadeh [Wed, 13 Jul 2011 19:23:47 +0000 (12:23 -0700)]
rgw: remove include of curl/types.h
Colin Patrick McCabe [Wed, 13 Jul 2011 18:47:24 +0000 (11:47 -0700)]
test/rgw_escape: add JSON + utf-8 test
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Colin Patrick McCabe [Wed, 13 Jul 2011 18:24:48 +0000 (11:24 -0700)]
test/rgw_escape.cc: add utf-8 test
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Tommi Virtanen [Wed, 13 Jul 2011 18:25:22 +0000 (11:25 -0700)]
CodingStyle: Typos, whitespace.
Yehuda Sadeh [Wed, 13 Jul 2011 17:46:39 +0000 (10:46 -0700)]
rgw: fix escaping clobbering utf8
Jim Schutt [Tue, 12 Jul 2011 22:20:59 +0000 (16:20 -0600)]
crushtool: Add call to global_init() to avoid dout segfault
Signed-off-by: Jim Schutt <jaschut@sandia.gov>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>