]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agoradostool: 'ls' fixes
Sage Weil [Mon, 8 Jun 2009 21:11:22 +0000 (14:11 -0700)]
radostool: 'ls' fixes

16 years agolibrados: fix locking on sync methods
Sage Weil [Mon, 8 Jun 2009 21:05:12 +0000 (14:05 -0700)]
librados: fix locking on sync methods

16 years agoobjclass: fix compilation
Sage Weil [Mon, 8 Jun 2009 20:53:07 +0000 (13:53 -0700)]
objclass: fix compilation

16 years agoclass: makefile, include fixes
Yehuda Sadeh [Mon, 8 Jun 2009 20:48:28 +0000 (13:48 -0700)]
class: makefile, include fixes

16 years agoconf: avoid parsing daemon related config options when not needed
Yehuda Sadeh [Mon, 8 Jun 2009 20:22:03 +0000 (13:22 -0700)]
conf: avoid parsing daemon related config options when not needed

16 years agoosd: copy soid out of iterator
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.

16 years agokclient: filemap_write_and_wait_range not exported < 2.6.30
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.

16 years agocosd: put mds on ceph4
Sage Weil [Mon, 8 Jun 2009 19:08:09 +0000 (12:08 -0700)]
cosd: put mds on ceph4

16 years agoosd: fix use-after-free on osd
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.

16 years agoosd: write pg info _after_ updating log
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!

16 years agomds: restore session state on load; only save opened sessions
Sage Weil [Mon, 8 Jun 2009 05:20:42 +0000 (22:20 -0700)]
mds: restore session state on load; only save opened sessions

16 years agoosd: remove bad assertions from IndexedLog::print()
Sage Weil [Sun, 7 Jun 2009 22:21:54 +0000 (15:21 -0700)]
osd: remove bad assertions from IndexedLog::print()

16 years agolibrados: add/fix locking
Sage Weil [Mon, 8 Jun 2009 18:03:01 +0000 (11:03 -0700)]
librados: add/fix locking

16 years agolibrados: rename AioCompletion::put -> release
Sage Weil [Mon, 8 Jun 2009 16:43:53 +0000 (09:43 -0700)]
librados: rename AioCompletion::put -> release

16 years agofilestore: escape / and leading . in object names
Sage Weil [Mon, 8 Jun 2009 18:01:01 +0000 (11:01 -0700)]
filestore: escape / and leading . in object names

Conflicts:

src/testrados.c

16 years agomds: allow online changes in mds_log_max_segments, events
Sage Weil [Sun, 7 Jun 2009 22:18:23 +0000 (15:18 -0700)]
mds: allow online changes in mds_log_max_segments, events

16 years agomds: move 'buf' column to right
Sage Weil [Sun, 7 Jun 2009 22:17:48 +0000 (15:17 -0700)]
mds: move 'buf' column to right

16 years agoosd: only update peer_info if !noop
Sage Weil [Sun, 7 Jun 2009 22:17:25 +0000 (15:17 -0700)]
osd: only update peer_info if !noop

16 years agomds: log memory stats to mds%d.mem
Sage Weil [Sun, 7 Jun 2009 21:28:49 +0000 (14:28 -0700)]
mds: log memory stats to mds%d.mem

16 years agolibrados: basic snap api?
Sage Weil [Sat, 6 Jun 2009 22:55:56 +0000 (15:55 -0700)]
librados: basic snap api?

Not actually implemented.

16 years agoradostool: add 'get' and 'put'
Sage Weil [Sat, 6 Jun 2009 21:44:07 +0000 (14:44 -0700)]
radostool: add 'get' and 'put'

16 years agoradostool: add simple radostool shell
Sage Weil [Sat, 6 Jun 2009 21:38:17 +0000 (14:38 -0700)]
radostool: add simple radostool shell

So far just 'lspools' works.

16 years agoadd Completion class
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.

16 years agoobjclass: trivialmap
Sage Weil [Sat, 6 Jun 2009 04:34:58 +0000 (21:34 -0700)]
objclass: trivialmap

16 years agoobjclass: add support for c++ methods
Sage Weil [Sat, 6 Jun 2009 04:33:32 +0000 (21:33 -0700)]
objclass: add support for c++ methods

16 years agolibrados: clean up snap and ctx a bit
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.

16 years agobuffer: add ability to claim ownership of memory allocated via new or malloc()
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()

16 years agolibrados: aio completion notification via a callback
Sage Weil [Sat, 6 Jun 2009 00:45:50 +0000 (17:45 -0700)]
librados: aio completion notification via a callback

16 years agoAdded testradoscio.
greg [Fri, 5 Jun 2009 23:54:06 +0000 (16:54 -0700)]
Added testradoscio.

16 years agorados: can set snapshot sequence
Yehuda Sadeh [Fri, 5 Jun 2009 20:24:25 +0000 (13:24 -0700)]
rados: can set snapshot sequence

16 years agorados: fixes for dynamic oids
Yehuda Sadeh [Thu, 4 Jun 2009 19:00:44 +0000 (12:00 -0700)]
rados: fixes for dynamic oids

16 years agomemorymodel: fix crash on weird input
Sage Weil [Fri, 5 Jun 2009 20:07:06 +0000 (13:07 -0700)]
memorymodel: fix crash on weird input

16 years agorados: rados.initialize returns negative on error
Sage Weil [Fri, 5 Jun 2009 18:56:39 +0000 (11:56 -0700)]
rados: rados.initialize returns negative on error

16 years agorados: 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

16 years agoosd: add 'osd pool rmsnap poolname snapname' command
Sage Weil [Fri, 5 Jun 2009 18:52:43 +0000 (11:52 -0700)]
osd: add 'osd pool rmsnap poolname snapname' command

16 years agomon: create pool snaps
Sage Weil [Fri, 5 Jun 2009 18:46:17 +0000 (11:46 -0700)]
mon: create pool snaps

16 years agoosd: use the pool snapc if client doesn't specify one
Sage Weil [Fri, 5 Jun 2009 17:52:14 +0000 (10:52 -0700)]
osd: use the pool snapc if client doesn't specify one

16 years agoosd: handle removal of pool snaps
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.

16 years agoosd: purge snaps on a per-pool basis
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.

16 years agoencoding: kill T* templates
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!

16 years agokclient: parse expanded pg_pools in osdmap (now with snap info)
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.

16 years agorados: include pool_snap_info in pg_pools
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).

16 years agorados: fix includdes
Sage Weil [Fri, 5 Jun 2009 01:02:15 +0000 (18:02 -0700)]
rados: fix includdes

16 years agorados: comment SnapContext fields
Sage Weil [Fri, 5 Jun 2009 01:01:47 +0000 (18:01 -0700)]
rados: comment SnapContext fields

16 years agomds: share max_size updates even if cap is suppressed
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.  :/

16 years agokclient: use capsnap to get snapped file size
Sage Weil [Fri, 5 Jun 2009 01:00:50 +0000 (18:00 -0700)]
kclient: use capsnap to get snapped file size

16 years agokclient: independently track size of address space
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.

16 years agokclient: fix truncate_pending up in fill_file_bits
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!

16 years agokclient: do all truncation outside of i_lock, via helper
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!).

16 years agokclient: move max_size update logic into ceph_get_cap_refs; fix race
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.

16 years agomds: allow cap updates to root inode
Sage Weil [Thu, 4 Jun 2009 20:18:45 +0000 (13:18 -0700)]
mds: allow cap updates to root inode

16 years agokclient: fix snap_rwsem vs s_mutex deadlock in ceph_inode_set_size
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

16 years agomon: set seq properly on mds takeover
Sage Weil [Thu, 4 Jun 2009 17:30:34 +0000 (10:30 -0700)]
mon: set seq properly on mds takeover

16 years agoosd: fix sub_op_push wakeup on pulled object
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.

16 years agoobject: pass const refs to comparators
Sage Weil [Thu, 4 Jun 2009 17:49:45 +0000 (10:49 -0700)]
object: pass const refs to comparators

16 years agoMerge commit 'origin/rados' into rados
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

16 years agorados: pgls small cleanup
Yehuda Sadeh [Wed, 3 Jun 2009 23:59:40 +0000 (16:59 -0700)]
rados: pgls small cleanup

16 years agorados: pgls fixes, uses context
Yehuda Sadeh [Wed, 3 Jun 2009 23:56:58 +0000 (16:56 -0700)]
rados: pgls fixes, uses context

16 years agofilestore: nicer filenames for CEPH_NOSNAP objects
Sage Weil [Wed, 3 Jun 2009 23:50:14 +0000 (16:50 -0700)]
filestore: nicer filenames for CEPH_NOSNAP objects

16 years agoosd: clear reqid in backlog log entries
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.

16 years agoosd: don't index BACKLOG caller_ops
Sage Weil [Wed, 3 Jun 2009 23:45:47 +0000 (16:45 -0700)]
osd: don't index BACKLOG caller_ops

16 years agomds: keep only one dir commit in flight
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.

16 years agoosd: rev osd protocol, disk format
Sage Weil [Wed, 3 Jun 2009 22:43:01 +0000 (15:43 -0700)]
osd: rev osd protocol, disk format

16 years agokclient: specify object id as string
Sage Weil [Wed, 3 Jun 2009 22:42:35 +0000 (15:42 -0700)]
kclient: specify object id as string

16 years agoraods: minor and merge fixes
Yehuda Sadeh [Wed, 3 Jun 2009 21:43:18 +0000 (14:43 -0700)]
raods: minor and merge fixes

16 years agorados: list pg, first take, partially works
Yehuda Sadeh [Wed, 3 Jun 2009 21:39:27 +0000 (14:39 -0700)]
rados: list pg, first take, partially works

16 years agoosd: add PGLS op
Yehuda Sadeh [Tue, 2 Jun 2009 00:17:49 +0000 (17:17 -0700)]
osd: add PGLS op

16 years agoosd: nicer pg log object names
Sage Weil [Wed, 3 Jun 2009 21:05:47 +0000 (14:05 -0700)]
osd: nicer pg log object names

16 years agoosd: clean up object_t args
Sage Weil [Wed, 3 Jun 2009 20:53:43 +0000 (13:53 -0700)]
osd: clean up object_t args

16 years agoosdc: clean up object_t args
Sage Weil [Wed, 3 Jun 2009 20:53:35 +0000 (13:53 -0700)]
osdc: clean up object_t args

16 years agorados: clean up object_t args
Sage Weil [Wed, 3 Jun 2009 20:51:25 +0000 (13:51 -0700)]
rados: clean up object_t args

16 years agoosd: kill pobject_t (use sobject_t throughout)
Sage Weil [Wed, 3 Jun 2009 20:48:58 +0000 (13:48 -0700)]
osd: kill pobject_t (use sobject_t throughout)

16 years agoos: const ref (p)object_t arguments where possible
Sage Weil [Wed, 3 Jun 2009 20:45:56 +0000 (13:45 -0700)]
os: const ref (p)object_t arguments where possible

16 years agoosd: make object_t a string
Sage Weil [Wed, 3 Jun 2009 20:39:07 +0000 (13:39 -0700)]
osd: make object_t a string

16 years agoosd: fix obc ref counting
Sage Weil [Wed, 3 Jun 2009 18:37:45 +0000 (11:37 -0700)]
osd: fix obc ref counting

16 years agoosd: fix object context registration
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.

16 years agoosd: fix replication
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.

16 years agofilestore: fix build error on 32-bit
Sage Weil [Wed, 3 Jun 2009 18:47:46 +0000 (11:47 -0700)]
filestore: fix build error on 32-bit

16 years agoobjecter, rados: constify write bufferlist& refs
Sage Weil [Wed, 3 Jun 2009 17:15:50 +0000 (10:15 -0700)]
objecter, rados: constify write bufferlist& refs

16 years agorados: c++ aio methods
Sage Weil [Wed, 3 Jun 2009 17:12:34 +0000 (10:12 -0700)]
rados: c++ aio methods

16 years agomds todo
Sage Weil [Wed, 3 Jun 2009 00:14:40 +0000 (17:14 -0700)]
mds todo

16 years agouclient: fix snaprealm update in add_update_cap
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.

16 years agomds: purge preallocated inos/files when client disconnected
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.

16 years agokclient: correctly set REPLAY flag in requests on replay
Sage Weil [Tue, 2 Jun 2009 20:33:40 +0000 (13:33 -0700)]
kclient: correctly set REPLAY flag in requests on replay

16 years agomds: replay all old client requests before handling new requests
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.

16 years agocrushtool: fix warning
Sage Weil [Tue, 2 Jun 2009 19:20:49 +0000 (12:20 -0700)]
crushtool: fix warning

16 years agomds: no early reply when request has slaves
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.

16 years agorados: add pg (non-object) ops
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).

16 years agorados: fix warning
Sage Weil [Mon, 1 Jun 2009 23:45:00 +0000 (16:45 -0700)]
rados: fix warning

16 years agorados: test aio write
Sage Weil [Tue, 2 Jun 2009 04:21:07 +0000 (21:21 -0700)]
rados: test aio write

16 years agorados: rename aio_free to aio_release, fix bug
Sage Weil [Tue, 2 Jun 2009 04:20:54 +0000 (21:20 -0700)]
rados: rename aio_free to aio_release, fix bug

16 years agofilestore: add collection_list_partial
Yehuda Sadeh [Mon, 1 Jun 2009 23:51:42 +0000 (16:51 -0700)]
filestore: add collection_list_partial

16 years agoclass: add cls_read api function
Yehuda Sadeh [Mon, 1 Jun 2009 22:12:39 +0000 (15:12 -0700)]
class: add cls_read api function

16 years agotodo
Sage Weil [Mon, 1 Jun 2009 21:36:33 +0000 (14:36 -0700)]
todo

16 years agorados: first pass at aio interface
Sage Weil [Mon, 1 Jun 2009 21:36:14 +0000 (14:36 -0700)]
rados: first pass at aio interface

16 years agoclass: able to update classes in runtime
Yehuda Sadeh [Mon, 1 Jun 2009 20:24:47 +0000 (13:24 -0700)]
class: able to update classes in runtime

16 years agoclass: classhandler locking cleanup
Yehuda Sadeh [Fri, 29 May 2009 22:10:13 +0000 (15:10 -0700)]
class: classhandler locking cleanup

16 years agomds todos
Sage Weil [Sat, 30 May 2009 00:40:15 +0000 (17:40 -0700)]
mds todos

16 years agoosd: cleanup types
Sage Weil [Sat, 30 May 2009 00:32:42 +0000 (17:32 -0700)]
osd: cleanup types

16 years agologger: fix warning
Sage Weil [Sat, 30 May 2009 00:28:13 +0000 (17:28 -0700)]
logger: fix warning