]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Mon, 8 Jun 2009 21:11:22 +0000 (14:11 -0700)]
radostool: 'ls' fixes
Sage Weil [Mon, 8 Jun 2009 21:05:12 +0000 (14:05 -0700)]
librados: fix locking on sync methods
Sage Weil [Mon, 8 Jun 2009 20:53:07 +0000 (13:53 -0700)]
objclass: fix compilation
Yehuda Sadeh [Mon, 8 Jun 2009 20:48:28 +0000 (13:48 -0700)]
class: makefile, include fixes
Yehuda Sadeh [Mon, 8 Jun 2009 20:22:03 +0000 (13:22 -0700)]
conf: avoid parsing daemon related config options when not needed
Sage Weil [Mon, 8 Jun 2009 19:57:39 +0000 (12:57 -0700)]
osd: copy soid out of iterator
A ref into the iterator is inherently risky.
Sage Weil [Mon, 8 Jun 2009 19:08:49 +0000 (12:08 -0700)]
kclient: filemap_write_and_wait_range not exported < 2.6.30
Include a warning that snap flushing may not work.
Sage Weil [Mon, 8 Jun 2009 19:08:09 +0000 (12:08 -0700)]
cosd: put mds on ceph4
Sage Weil [Mon, 8 Jun 2009 19:07:25 +0000 (12:07 -0700)]
osd: fix use-after-free on osd
push_to_replica is called on a sobject_t ref from the missing map,
and then removes the item from said missing map. Reorder to avoid
the soid mangling.
Sage Weil [Mon, 8 Jun 2009 16:54:30 +0000 (09:54 -0700)]
osd: write pg info _after_ updating log
Otherwise the log bounds don't match the PG::Info!
Sage Weil [Mon, 8 Jun 2009 05:20:42 +0000 (22:20 -0700)]
mds: restore session state on load; only save opened sessions
Sage Weil [Sun, 7 Jun 2009 22:21:54 +0000 (15:21 -0700)]
osd: remove bad assertions from IndexedLog::print()
Sage Weil [Mon, 8 Jun 2009 18:03:01 +0000 (11:03 -0700)]
librados: add/fix locking
Sage Weil [Mon, 8 Jun 2009 16:43:53 +0000 (09:43 -0700)]
librados: rename AioCompletion::put -> release
Sage Weil [Mon, 8 Jun 2009 18:01:01 +0000 (11:01 -0700)]
filestore: escape / and leading . in object names
Conflicts:
src/testrados.c
Sage Weil [Sun, 7 Jun 2009 22:18:23 +0000 (15:18 -0700)]
mds: allow online changes in mds_log_max_segments, events
Sage Weil [Sun, 7 Jun 2009 22:17:48 +0000 (15:17 -0700)]
mds: move 'buf' column to right
Sage Weil [Sun, 7 Jun 2009 22:17:25 +0000 (15:17 -0700)]
osd: only update peer_info if !noop
Sage Weil [Sun, 7 Jun 2009 21:28:49 +0000 (14:28 -0700)]
mds: log memory stats to mds%d.mem
Sage Weil [Sat, 6 Jun 2009 22:55:56 +0000 (15:55 -0700)]
librados: basic snap api?
Not actually implemented.
Sage Weil [Sat, 6 Jun 2009 21:44:07 +0000 (14:44 -0700)]
radostool: add 'get' and 'put'
Sage Weil [Sat, 6 Jun 2009 21:38:17 +0000 (14:38 -0700)]
radostool: add simple radostool shell
So far just 'lspools' works.
Sage Weil [Sat, 6 Jun 2009 21:04:08 +0000 (14:04 -0700)]
add Completion class
This should eventually replace Context. The main difference is instead
of
context->finish(r);
delete context;
you do
completion->complete(r);
and the completion should delete this as needed. It's more flexible
because it doesn't require a new heap allocation for each caller
reference. And 'delete this' is legal, so long as you do not access any
member fields after.
Sage Weil [Sat, 6 Jun 2009 04:34:58 +0000 (21:34 -0700)]
objclass: trivialmap
Sage Weil [Sat, 6 Jun 2009 04:33:32 +0000 (21:33 -0700)]
objclass: add support for c++ methods
Sage Weil [Sat, 6 Jun 2009 04:15:38 +0000 (21:15 -0700)]
librados: clean up snap and ctx a bit
Define PoolCtx constructor, methods.
Sage Weil [Sat, 6 Jun 2009 04:14:47 +0000 (21:14 -0700)]
buffer: add ability to claim ownership of memory allocated via new or malloc()
Sage Weil [Sat, 6 Jun 2009 00:45:50 +0000 (17:45 -0700)]
librados: aio completion notification via a callback
greg [Fri, 5 Jun 2009 23:54:06 +0000 (16:54 -0700)]
Added testradoscio.
Yehuda Sadeh [Fri, 5 Jun 2009 20:24:25 +0000 (13:24 -0700)]
rados: can set snapshot sequence
Yehuda Sadeh [Thu, 4 Jun 2009 19:00:44 +0000 (12:00 -0700)]
rados: fixes for dynamic oids
Sage Weil [Fri, 5 Jun 2009 20:07:06 +0000 (13:07 -0700)]
memorymodel: fix crash on weird input
Sage Weil [Fri, 5 Jun 2009 18:56:39 +0000 (11:56 -0700)]
rados: rados.initialize returns negative on error
Sage Weil [Fri, 5 Jun 2009 18:54:57 +0000 (11:54 -0700)]
rados: rados_initialize returns negative on error
Sage Weil [Fri, 5 Jun 2009 18:52:43 +0000 (11:52 -0700)]
osd: add 'osd pool rmsnap poolname snapname' command
Sage Weil [Fri, 5 Jun 2009 18:46:17 +0000 (11:46 -0700)]
mon: create pool snaps
Sage Weil [Fri, 5 Jun 2009 17:52:14 +0000 (10:52 -0700)]
osd: use the pool snapc if client doesn't specify one
Sage Weil [Fri, 5 Jun 2009 17:50:21 +0000 (10:50 -0700)]
osd: handle removal of pool snaps
Use helper to build effective removed_snaps set (regardless of
whether they are explicitly specified in the pg_pool_t or implicity
via the pool snaps). Keep a copy of that set in the OSD's PGPool
so we can track changes.
Sage Weil [Fri, 5 Jun 2009 17:43:06 +0000 (10:43 -0700)]
osd: purge snaps on a per-pool basis
Maintain a refcounted PGPool object in the OSD to track pool-wide
state (such as the latest SnapContext, snap trimming info).
Doesn't trim per-pool snaps just yet.
Sage Weil [Fri, 5 Jun 2009 04:10:57 +0000 (21:10 -0700)]
encoding: kill T* templates
These are a bit sneaky because they match things like 'const char *'
in a non-obvious way. We aren't using them, so turn them off for now!
Sage Weil [Fri, 5 Jun 2009 04:10:10 +0000 (21:10 -0700)]
kclient: parse expanded pg_pools in osdmap (now with snap info)
We just ignore the new information; the MDS is coordinating all of our
snap efforts.
Sage Weil [Fri, 5 Jun 2009 04:03:41 +0000 (21:03 -0700)]
rados: include pool_snap_info in pg_pools
Include info about snaps global to each pg_pool in the pg_pool_t (and
thus OSDMap). These snap contexts will be used when a snapc is not
explicitly specified by the client.
Note that the pool-wide snaps are (presently) mutually exclusive with
client-controlls snaps (as used by ceph) because a mixture of @snaps and
@removed_snaps doesn't clearly defined which snaps do not exist (they
share the namespace).
Sage Weil [Fri, 5 Jun 2009 01:02:15 +0000 (18:02 -0700)]
rados: fix includdes
Sage Weil [Fri, 5 Jun 2009 01:01:47 +0000 (18:01 -0700)]
rados: comment SnapContext fields
Sage Weil [Fri, 5 Jun 2009 01:01:18 +0000 (18:01 -0700)]
mds: share max_size updates even if cap is suppressed
Not sure about this one. :/
Sage Weil [Fri, 5 Jun 2009 01:00:50 +0000 (18:00 -0700)]
kclient: use capsnap to get snapped file size
Sage Weil [Thu, 4 Jun 2009 23:55:37 +0000 (16:55 -0700)]
kclient: independently track size of address space
We do vmtruncate asynchronously, but must update i_size immediately.
This is partly to avoid dropping dirty snapped pages. But we
can't use i_size for writepages because that will reflect the
truncated size, not the size of the pre-trunc snapped state.
Sage Weil [Thu, 4 Jun 2009 22:52:08 +0000 (15:52 -0700)]
kclient: fix truncate_pending up in fill_file_bits
The pending++ should match up 1:1 with the pending--.. so only
inc if we are also going to queue!
Sage Weil [Thu, 4 Jun 2009 22:50:52 +0000 (15:50 -0700)]
kclient: do all truncation outside of i_lock, via helper
ceph_setattr was calling vmtruncate inside of i_lock, which is
bad news (vmtruncate may block on page locks). Make it use the
existing vmtruncate helper (which we really want _everyone_ to
use!).
Sage Weil [Thu, 4 Jun 2009 21:15:45 +0000 (14:15 -0700)]
kclient: move max_size update logic into ceph_get_cap_refs; fix race
It was previously possible to check for max_size, see it was large
enough, unlock i_lock, and go into the cap wait loop. If a racing
thread reduces max_size, we will spin forever.
Break the cycle by moving hte max_size logic into get_cap_refs. If
we are waiting and need a larger max_size, set a flag, so that we
recheck (possibly calling ceph_check_caps) and wait again.
Sage Weil [Thu, 4 Jun 2009 20:18:45 +0000 (13:18 -0700)]
mds: allow cap updates to root inode
Sage Weil [Thu, 4 Jun 2009 19:28:51 +0000 (12:28 -0700)]
kclient: fix snap_rwsem vs s_mutex deadlock in ceph_inode_set_size
Call ceph_check_caps outside of the snap_rwsem. Fixes this lockdep
warning:
[84919.839574] cp/2724 is trying to acquire lock:
[84919.839574] (&s->s_mutex){--..}, at: [<
ffffffffa00fa0f3 >] ceph_check_caps+0x
968/0xc04 [ceph]
[84919.839574]
[84919.839574] but task is already holding lock:
[84919.839574] (&mdsc->snap_rwsem){----}, at: [<
ffffffffa00f3803 >] ceph_write_b
egin+0x1d9/0x696 [ceph]
[84919.839574]
[84919.839574] which lock already depends on the new lock.
[84919.839574]
[84919.839574]
[84919.839574] the existing dependency chain (in reverse order) is:
[84919.839574]
[84919.839574] -> #1 (&mdsc->snap_rwsem){----}:
[84919.839574] [<
ffffffff8025e4bd >] validate_chain+0x9ef/0xce8
[84919.839574] [<
ffffffff8025eee6 >] __lock_acquire+0x730/0x7b9
[84919.839574] [<
ffffffff8025eff4 >] lock_acquire+0x85/0xa9
[84919.839574] [<
ffffffff8061577d >] down_write+0x43/0x77
[84919.839574] [<
ffffffffa010ab3c >] ceph_mdsc_handle_reply+0x960/0xa72 [c
eph]
[84919.839574] [<
ffffffffa00e7520 >] ceph_dispatch+0x4eb/0x5f6 [ceph]
[84919.839574] [<
ffffffffa0103906 >] try_read+0x15cf/0x17da [ceph]
[84919.839574] [<
ffffffffa0103da0 >] con_work+0x28f/0x18a9 [ceph]
[84919.839574] [<
ffffffff8024cb7c >] run_workqueue+0xf5/0x209
[84919.839574] [<
ffffffff8024d88b >] worker_thread+0xdb/0xe8
[84919.839574] [<
ffffffff8025078c >] kthread+0x49/0x79
[84919.839574] [<
ffffffff8020d17a >] child_rip+0xa/0x20
[84919.839574] [<
ffffffffffffffff >] 0xffffffffffffffff
[84919.839574]
[84919.839574] -> #0 (&s->s_mutex){--..}:
[84919.839574] [<
ffffffff8025e14f >] validate_chain+0x681/0xce8
[84919.839574] [<
ffffffff8025eee6 >] __lock_acquire+0x730/0x7b9
[84919.839574] [<
ffffffff8025eff4 >] lock_acquire+0x85/0xa9
[84919.839574] [<
ffffffff80614fd2 >] mutex_lock_nested+0x116/0x2f4
[84919.839574] [<
ffffffffa00fa0f3 >] ceph_check_caps+0x968/0xc04 [ceph]
[84919.839574] [<
ffffffffa00e9c19 >] ceph_inode_set_size+0xe1/0xf4 [ceph]
[84919.839574] [<
ffffffffa00f2e3c >] ceph_write_end+0x16f/0x1b4 [ceph]
[84919.839574] [<
ffffffff8027e33c >] generic_file_buffered_write+0x1a2/0x2
d4
[84919.839574] [<
ffffffff8027e958 >] __generic_file_aio_write_nolock+0x354
/0x3be
[84919.839574] [<
ffffffff8027ebe4 >] generic_file_aio_write+0x66/0xc2
[84919.839574] [<
ffffffffa00f1737 >] ceph_aio_write+0x969/0xb52 [ceph]
[84919.839574] [<
ffffffff802aa3eb >] do_sync_write+0xe2/0x126
[84919.839574] [<
ffffffff802aabbc >] vfs_write+0xae/0x137
[84919.839574] [<
ffffffff802ab072 >] sys_write+0x47/0x6f
[84919.839574] [<
ffffffff8020c0db >] system_call_fastpath+0x16/0x1b
[84919.839574] [<
ffffffffffffffff >] 0xffffffffffffffff
[84919.839574]
[84919.839574] other info that might help us debug this:
[84919.839574]
[84919.839574] 2 locks held by cp/2724:
[84919.839574] #0: (&sb->s_type->i_mutex_key#12){--..}, at: [<
ffffffff8027ebcd
>] generic_file_aio_write+0x4f/0xc2
[84919.839574] #1: (&mdsc->snap_rwsem){----}, at: [<
ffffffffa00f3803 >] ceph_wr
ite_begin+0x1d9/0x696 [ceph]
[84919.839574]
[84919.839574] stack backtrace:
[84919.839574] Pid: 2724, comm: cp Not tainted 2.6.29 #16
[84919.839574] Call Trace:
[84919.839574] [<
ffffffff8025dac3 >] print_circular_bug_tail+0xc7/0xd2
[84919.839574] [<
ffffffff8025e14f >] validate_chain+0x681/0xce8
[84919.839574] [<
ffffffff8028352a >] ? get_page_from_freelist+0x3c6/0x6b5
[84919.839574] [<
ffffffff8025eee6 >] __lock_acquire+0x730/0x7b9
[84919.839574] [<
ffffffff8025eff4 >] lock_acquire+0x85/0xa9
[84919.839574] [<
ffffffffa00fa0f3 >] ? ceph_check_caps+0x968/0xc04 [ceph]
[84919.839574] [<
ffffffff80614fd2 >] mutex_lock_nested+0x116/0x2f4
[84919.839574] [<
ffffffffa00fa0f3 >] ? ceph_check_caps+0x968/0xc04 [ceph]
[84919.839574] [<
ffffffffa00fa0f3 >] ? ceph_check_caps+0x968/0xc04 [ceph]
[84919.839574] [<
ffffffffa00fa0f3 >] ceph_check_caps+0x968/0xc04 [ceph]
[84919.839574] [<
ffffffff8025a70e >] ? get_lock_stats+0x34/0x5e
[84919.839574] [<
ffffffffa00e9c19 >] ceph_inode_set_size+0xe1/0xf4 [ceph]
[84919.839574] [<
ffffffffa00f2e3c >] ceph_write_end+0x16f/0x1b4 [ceph]
[84919.839574] [<
ffffffff8027e33c >] generic_file_buffered_write+0x1a2/0x2d4
[84919.839574] [<
ffffffff8027e958 >] __generic_file_aio_write_nolock+0x354/0x3be
[84919.839574] [<
ffffffff8027ebe4 >] generic_file_aio_write+0x66/0xc2
[84919.839574] [<
ffffffffa00f1737 >] ceph_aio_write+0x969/0xb52 [ceph]
[84919.839574] [<
ffffffff802bd728 >] ? touch_atime+0xee/0x110
[84919.839574] [<
ffffffff80329414 >] ? nfs_file_read+0x107/0x116
[84919.839574] [<
ffffffff802aa3eb >] do_sync_write+0xe2/0x126
[84919.839574] [<
ffffffff8025ef04 >] ? __lock_acquire+0x74e/0x7b9
[84919.839574] [<
ffffffff8025a746 >] ? put_lock_stats+0xe/0x27
[84919.839574] [<
ffffffff802508a3 >] ? autoremove_wake_function+0x0/0x38
[84919.839574] [<
ffffffff802d1d5b >] ? dnotify_parent+0x6c/0x74
[84919.839574] [<
ffffffff803d5f70 >] ? security_file_permission+0x11/0x13
[84919.839574] [<
ffffffff802aabbc >] vfs_write+0xae/0x137
[84919.839574] [<
ffffffff802ab072 >] sys_write+0x47/0x6f
[84919.839574] [<
ffffffff8020c0db >] system_call_fastpath+0x16/0x1b
Sage Weil [Thu, 4 Jun 2009 17:30:34 +0000 (10:30 -0700)]
mon: set seq properly on mds takeover
Sage Weil [Thu, 4 Jun 2009 18:00:47 +0000 (11:00 -0700)]
osd: fix sub_op_push wakeup on pulled object
soid was a ref to op->.. move delete op to the end.
Sage Weil [Thu, 4 Jun 2009 17:49:45 +0000 (10:49 -0700)]
object: pass const refs to comparators
Sage Weil [Thu, 4 Jun 2009 16:51:31 +0000 (09:51 -0700)]
Merge commit 'origin/rados' into rados
Need to fix rados_list call, and ReplicatedPG PGLS code (translate
sobject_t -> object_t).
Conflicts:
src/librados.cc
src/os/FileStore.cc
src/osd/ReplicatedPG.cc
src/testradospp.cc
Yehuda Sadeh [Wed, 3 Jun 2009 23:59:40 +0000 (16:59 -0700)]
rados: pgls small cleanup
Yehuda Sadeh [Wed, 3 Jun 2009 23:56:58 +0000 (16:56 -0700)]
rados: pgls fixes, uses context
Sage Weil [Wed, 3 Jun 2009 23:50:14 +0000 (16:50 -0700)]
filestore: nicer filenames for CEPH_NOSNAP objects
Sage Weil [Wed, 3 Jun 2009 23:49:14 +0000 (16:49 -0700)]
osd: clear reqid in backlog log entries
This avoids confusion where the version and reqid don't match, and
a single reqid appears multiple times in the pg log.
Sage Weil [Wed, 3 Jun 2009 23:45:47 +0000 (16:45 -0700)]
osd: don't index BACKLOG caller_ops
Sage Weil [Wed, 3 Jun 2009 23:10:28 +0000 (16:10 -0700)]
mds: keep only one dir commit in flight
Ordering is not guaranteed, so putting multiple commits in flight
is not safe.. the osd may commit the older data on top of the new.
Sage Weil [Wed, 3 Jun 2009 22:43:01 +0000 (15:43 -0700)]
osd: rev osd protocol, disk format
Sage Weil [Wed, 3 Jun 2009 22:42:35 +0000 (15:42 -0700)]
kclient: specify object id as string
Yehuda Sadeh [Wed, 3 Jun 2009 21:43:18 +0000 (14:43 -0700)]
raods: minor and merge fixes
Yehuda Sadeh [Wed, 3 Jun 2009 21:39:27 +0000 (14:39 -0700)]
rados: list pg, first take, partially works
Yehuda Sadeh [Tue, 2 Jun 2009 00:17:49 +0000 (17:17 -0700)]
osd: add PGLS op
Sage Weil [Wed, 3 Jun 2009 21:05:47 +0000 (14:05 -0700)]
osd: nicer pg log object names
Sage Weil [Wed, 3 Jun 2009 20:53:43 +0000 (13:53 -0700)]
osd: clean up object_t args
Sage Weil [Wed, 3 Jun 2009 20:53:35 +0000 (13:53 -0700)]
osdc: clean up object_t args
Sage Weil [Wed, 3 Jun 2009 20:51:25 +0000 (13:51 -0700)]
rados: clean up object_t args
Sage Weil [Wed, 3 Jun 2009 20:48:58 +0000 (13:48 -0700)]
osd: kill pobject_t (use sobject_t throughout)
Sage Weil [Wed, 3 Jun 2009 20:45:56 +0000 (13:45 -0700)]
os: const ref (p)object_t arguments where possible
Sage Weil [Wed, 3 Jun 2009 20:39:07 +0000 (13:39 -0700)]
osd: make object_t a string
Sage Weil [Wed, 3 Jun 2009 18:37:45 +0000 (11:37 -0700)]
osd: fix obc ref counting
Sage Weil [Wed, 3 Jun 2009 18:29:30 +0000 (11:29 -0700)]
osd: fix object context registration
The probjected object state wasn't working because the obc
wasn't making it into the map.
Sage Weil [Wed, 3 Jun 2009 18:21:38 +0000 (11:21 -0700)]
osd: fix replication
The shipped transaction wasn't getting applied to disk.
Sage Weil [Wed, 3 Jun 2009 18:47:46 +0000 (11:47 -0700)]
filestore: fix build error on 32-bit
Sage Weil [Wed, 3 Jun 2009 17:15:50 +0000 (10:15 -0700)]
objecter, rados: constify write bufferlist& refs
Sage Weil [Wed, 3 Jun 2009 17:12:34 +0000 (10:12 -0700)]
rados: c++ aio methods
Sage Weil [Wed, 3 Jun 2009 00:14:40 +0000 (17:14 -0700)]
mds todo
Sage Weil [Wed, 3 Jun 2009 00:14:29 +0000 (17:14 -0700)]
uclient: fix snaprealm update in add_update_cap
Make conditional consistent with the in->snaprealm clearing in the
cap removal path.
This was throwing a bad assertion during mds restart.
Sage Weil [Tue, 2 Jun 2009 21:21:36 +0000 (14:21 -0700)]
mds: purge preallocated inos/files when client disconnected
When a client is kicked out of the cluster, purge any data written to
preallocated inos. This should be the first object in the file sequence.
Sage Weil [Tue, 2 Jun 2009 20:33:40 +0000 (13:33 -0700)]
kclient: correctly set REPLAY flag in requests on replay
Sage Weil [Tue, 2 Jun 2009 20:33:07 +0000 (13:33 -0700)]
mds: replay all old client requests before handling new requests
Adds a new CLIENTREPLAY state between REJOIN and ACTIVE. It it's strictly
necessary for anyone to know the MDS is handling it's backlog first, but
it doesn't hurt.
Sage Weil [Tue, 2 Jun 2009 19:20:49 +0000 (12:20 -0700)]
crushtool: fix warning
Sage Weil [Tue, 2 Jun 2009 18:44:37 +0000 (11:44 -0700)]
mds: no early reply when request has slaves
Doing an early reply when there are slaves means we need to be able to
reliably replay that op as well, and the complexity needed to do that
when we're locking stuff on multiple MDS's is so not worth it. These
ops are pretty rare anyway.
Sage Weil [Tue, 2 Jun 2009 17:52:38 +0000 (10:52 -0700)]
rados: add pg (non-object) ops
Some ops run against the whole pg, not individual objects. Setting the
PGOP flag selects a different write path that skips missing object checks
(ignores oid).
Sage Weil [Mon, 1 Jun 2009 23:45:00 +0000 (16:45 -0700)]
rados: fix warning
Sage Weil [Tue, 2 Jun 2009 04:21:07 +0000 (21:21 -0700)]
rados: test aio write
Sage Weil [Tue, 2 Jun 2009 04:20:54 +0000 (21:20 -0700)]
rados: rename aio_free to aio_release, fix bug
Yehuda Sadeh [Mon, 1 Jun 2009 23:51:42 +0000 (16:51 -0700)]
filestore: add collection_list_partial
Yehuda Sadeh [Mon, 1 Jun 2009 22:12:39 +0000 (15:12 -0700)]
class: add cls_read api function
Sage Weil [Mon, 1 Jun 2009 21:36:33 +0000 (14:36 -0700)]
todo
Sage Weil [Mon, 1 Jun 2009 21:36:14 +0000 (14:36 -0700)]
rados: first pass at aio interface
Yehuda Sadeh [Mon, 1 Jun 2009 20:24:47 +0000 (13:24 -0700)]
class: able to update classes in runtime
Yehuda Sadeh [Fri, 29 May 2009 22:10:13 +0000 (15:10 -0700)]
class: classhandler locking cleanup
Sage Weil [Sat, 30 May 2009 00:40:15 +0000 (17:40 -0700)]
mds todos
Sage Weil [Sat, 30 May 2009 00:32:42 +0000 (17:32 -0700)]
osd: cleanup types
Sage Weil [Sat, 30 May 2009 00:28:13 +0000 (17:28 -0700)]
logger: fix warning