]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
14 years agomon: dump mdsmap in json
Sage Weil [Wed, 10 Aug 2011 22:18:29 +0000 (15:18 -0700)]
mon: dump mdsmap in json

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agocfuse: properly invalidate page cache data via callback
Sage Weil [Thu, 11 Aug 2011 16:58:39 +0000 (09:58 -0700)]
cfuse: properly invalidate page cache data via callback

The Client has a cache, but it is actually usually duplicating
what the kernel has in the page cache.  Use the Client callback to do a
libfuse upcall to invalidate the kernel page cache when appropriate.

Usually people didn't notice this because we were invalidating the page
cache on every file open. Stop doing that.

This gives us:
 - consistent multi-client semantics for open files
 - fewer read calls because the kernel can (re)use the page cache more
   effectively.

We are still double-caching.  We probably want to be aggressive about not
caching any clean file data in Client from cfuse since the page cache does
a better job than we do.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoclient: add callback for cache invalidate
Sage Weil [Thu, 11 Aug 2011 16:53:53 +0000 (09:53 -0700)]
client: add callback for cache invalidate

This will get called any time an inode's cached file data is invalidated.
cfuse will use it.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoclient: use helper to invalidate/truncate cached file data
Sage Weil [Thu, 11 Aug 2011 16:49:59 +0000 (09:49 -0700)]
client: use helper to invalidate/truncate cached file data

We invalidate cached file data in several places; use a common helper.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoclient: fix cached file data truncation
Sage Weil [Thu, 11 Aug 2011 16:37:25 +0000 (09:37 -0700)]
client: fix cached file data truncation

We want to truncate our cached data when the file size changes, not
when truncate_size does.  This aligns us with the kernel implementation,
and it works when overwriting a file from multiple clients.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agofuse: enable atomic_o_trunc
Sage Weil [Thu, 11 Aug 2011 00:10:12 +0000 (17:10 -0700)]
fuse: enable atomic_o_trunc

The MDS does this atomically.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agofuse: allow big writes
Sage Weil [Wed, 10 Aug 2011 23:57:57 +0000 (16:57 -0700)]
fuse: allow big writes

Easiest 500% performance improvement ever!

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoMerge branch 'wip-pg-creation'
Greg Farnum [Wed, 10 Aug 2011 23:44:04 +0000 (16:44 -0700)]
Merge branch 'wip-pg-creation'

14 years agolibrados: implement/document tmap_{get,put}
Sage Weil [Wed, 10 Aug 2011 23:07:33 +0000 (16:07 -0700)]
librados: implement/document tmap_{get,put}

These aren't strictly necessary now (you can just read the raw object or
do a writefull and get the same thing) but this way we document the format
and can change the backend to be smarter in the future without changing up
the interface.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoradosgw_admin: fix clitest
Sage Weil [Wed, 10 Aug 2011 22:40:56 +0000 (15:40 -0700)]
radosgw_admin: fix clitest

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: don't wait for lock 'flushing' flag on replicas
Sage Weil [Wed, 10 Aug 2011 22:38:25 +0000 (15:38 -0700)]
mds: don't wait for lock 'flushing' flag on replicas

If we are a replica, the 'flushing' means that we had dirty scatterlock
data and are waiting for it to get flushed out to the auth copy (by
cycling from MIX->LOCK, normally).  If we end up with 'flushing' set
while in the MIX state, we can't wait for it to clear before responding
to a lock request from the primary or we'll deadlock.

On the auth, flushing means flushing to the log, which makes sense; that
will always make progress despite scatterlock activity.

This fixes a hang from 3-mds fsstress with thrashing exports.  (Strangely
I never hit this on fatty.)

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agorgw: can specify time for intent log purging
Yehuda Sadeh [Wed, 10 Aug 2011 22:28:17 +0000 (15:28 -0700)]
rgw: can specify time for intent log purging

14 years agorgw: reduce intent log obj name time resolution
Yehuda Sadeh [Wed, 10 Aug 2011 21:40:08 +0000 (14:40 -0700)]
rgw: reduce intent log obj name time resolution

14 years agorgw: add 'temp remove' tool for rgw_admin
Yehuda Sadeh [Wed, 10 Aug 2011 21:30:38 +0000 (14:30 -0700)]
rgw: add 'temp remove' tool for rgw_admin

14 years agoqa/fsstress: be verbose
Sage Weil [Wed, 10 Aug 2011 21:01:06 +0000 (14:01 -0700)]
qa/fsstress: be verbose

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agolibrados: document tmap_update
Sage Weil [Wed, 10 Aug 2011 19:25:47 +0000 (12:25 -0700)]
librados: document tmap_update

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agolibrados: document rados_pool_list
Sage Weil [Wed, 10 Aug 2011 19:29:49 +0000 (12:29 -0700)]
librados: document rados_pool_list

Not sure exactly where this API markup comes from, but it seems as good
as any.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agorgw: update radosgw man page
Yehuda Sadeh [Wed, 10 Aug 2011 20:42:37 +0000 (13:42 -0700)]
rgw: update radosgw man page

14 years agoMerge branch 'wip-librbd-read'
Josh Durgin [Wed, 10 Aug 2011 20:46:55 +0000 (13:46 -0700)]
Merge branch 'wip-librbd-read'

14 years agorgw: remove original object in put_obj, instead of truncate
Yehuda Sadeh [Wed, 10 Aug 2011 19:13:16 +0000 (12:13 -0700)]
rgw: remove original object in put_obj, instead of truncate

14 years agolibrados: support op flags
Yehuda Sadeh [Wed, 10 Aug 2011 18:29:17 +0000 (11:29 -0700)]
librados: support op flags

14 years agoosd: don't request heartbeats from down peers
Sage Weil [Wed, 10 Aug 2011 19:05:07 +0000 (12:05 -0700)]
osd: don't request heartbeats from down peers

We try to add sources for anything in peer_info, which can include down
OSDs.  Skip them.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoMakefile: add rule for building coverity build bundle
Sage Weil [Wed, 10 Aug 2011 17:50:10 +0000 (10:50 -0700)]
Makefile: add rule for building coverity build bundle

As per http://scan.coverity.com/self-build/

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoobjecter: fix compile error
Sage Weil [Wed, 10 Aug 2011 17:47:22 +0000 (10:47 -0700)]
objecter: fix compile error

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: don't try to remove head if it doesn't exist
Sage Weil [Wed, 10 Aug 2011 17:45:52 +0000 (10:45 -0700)]
osd: don't try to remove head if it doesn't exist

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoobjecter: allow setting of op flags for previously added op
Sage Weil [Wed, 10 Aug 2011 17:44:22 +0000 (10:44 -0700)]
objecter: allow setting of op flags for previously added op

This lets you set the per-op flags for the last op added to the compound
operation.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: add CEPH_OSD_OP_FLAG_FAILOK
Sage Weil [Wed, 10 Aug 2011 17:41:56 +0000 (10:41 -0700)]
osd: add CEPH_OSD_OP_FLAG_FAILOK

Setting this flag on an individual op in a compound operation will make
the OSD continue with the operation despite the failure of this individual
op.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoauth: use set<> instead of map<,bool>
Sage Weil [Tue, 9 Aug 2011 22:48:31 +0000 (15:48 -0700)]
auth: use set<> instead of map<,bool>

Value is always true.  Be paranoid about the bool default value.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agolibrbd: deduplicate sparse read interpretation
Josh Durgin [Tue, 9 Aug 2011 23:14:23 +0000 (16:14 -0700)]
librbd: deduplicate sparse read interpretation

AioBlockCompletions and read_iterate each had their own copy of this
code, leading to bugs when only one was changed. Move this to a
separate function, handle_sparse_read.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrbd: make read_iterate mirror AioCompletion::complete
Josh Durgin [Tue, 9 Aug 2011 19:29:15 +0000 (12:29 -0700)]
librbd: make read_iterate mirror AioCompletion::complete

This makes testlibrbd and testlibrbdpp pass again, and
now both I/O paths have the same logic.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrados, rgw: integrate stats categories
Yehuda Sadeh [Wed, 10 Aug 2011 00:12:23 +0000 (17:12 -0700)]
librados, rgw: integrate stats categories

14 years agoobjecter: allow requesting specific maps in maybe_request_map
Greg Farnum [Tue, 9 Aug 2011 22:43:11 +0000 (15:43 -0700)]
objecter: allow requesting specific maps in maybe_request_map

Use this capability so that wait_for_new_map can specify a specific
map it wants go get. I am extending the sins of the fathers by
allowing a default value of 0 for the epoch here, but removing it
is even clumsier and there are lots of uses where it legitimately
doesn't care what epoch it gets.

Fixes #1383.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agotestlibrbd: remove useless print statements
Josh Durgin [Tue, 9 Aug 2011 21:28:32 +0000 (14:28 -0700)]
testlibrbd: remove useless print statements

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agotestlibrbd: NUL-terminate orig_data
Josh Durgin [Tue, 9 Aug 2011 21:19:10 +0000 (14:19 -0700)]
testlibrbd: NUL-terminate orig_data

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agotestlibrbd(pp): accept standard command line arguments
Josh Durgin [Tue, 9 Aug 2011 19:27:31 +0000 (12:27 -0700)]
testlibrbd(pp): accept standard command line arguments

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrados: add missing method that was lost in merge
Yehuda Sadeh [Tue, 9 Aug 2011 17:53:09 +0000 (10:53 -0700)]
librados: add missing method that was lost in merge

14 years agoMerge branch 'wip-stats' into wip-atomic-get
Yehuda Sadeh [Tue, 9 Aug 2011 17:46:13 +0000 (10:46 -0700)]
Merge branch 'wip-stats' into wip-atomic-get

Conflicts:
src/librados.cc

14 years agorgw: add hour to intent log name for higher resolution
Yehuda Sadeh [Tue, 9 Aug 2011 17:41:18 +0000 (10:41 -0700)]
rgw: add hour to intent log name for higher resolution

14 years agoMerge branch 'wip-client'
Sage Weil [Tue, 9 Aug 2011 03:52:14 +0000 (20:52 -0700)]
Merge branch 'wip-client'

Conflicts:
src/Makefile.am

14 years agorgw: log shadow objects removal in intent log
Yehuda Sadeh [Mon, 8 Aug 2011 23:44:13 +0000 (16:44 -0700)]
rgw: log shadow objects removal in intent log

14 years agoMerge branch 'wip-atomic-get'
Yehuda Sadeh [Mon, 8 Aug 2011 21:19:39 +0000 (14:19 -0700)]
Merge branch 'wip-atomic-get'

14 years agopgmon: use pool.get_last_change whenever creating new PGs
Greg Farnum [Mon, 8 Aug 2011 21:19:34 +0000 (14:19 -0700)]
pgmon: use pool.get_last_change whenever creating new PGs

We maintain last_change properly now, so we can use it at any time.

It may still be possible that we can get PGs with the wrong epoch
created if, somehow, we do multiple expansions without
check_osd_map getting called between them. That's a pretty unlikely
occurrence, though, and I'm not sure that it's actually possible.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agorgw: return ENOENT after get_obj() in some cases
Yehuda Sadeh [Mon, 8 Aug 2011 21:17:29 +0000 (14:17 -0700)]
rgw: return ENOENT after get_obj() in some cases

14 years agoosdmon: maintain ceph_pg_pool::last_change correctly
Greg Farnum [Mon, 8 Aug 2011 21:11:29 +0000 (14:11 -0700)]
osdmon: maintain ceph_pg_pool::last_change correctly

We were making a few changes that didn't update this value, which
can cause problems when creating new PGs.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agopgmon: call check_osd_map via a new on_active implementation
Greg Farnum [Mon, 8 Aug 2011 20:48:29 +0000 (13:48 -0700)]
pgmon: call check_osd_map via a new on_active implementation

Previously it was possible to lose PG creations if a monitor election
happened at the right time. The issue would get rectified on the
next OSDMap update, but that could take...a while. (My observed time
when I discovered the bug had it go without creation for 43 minutes,
at which point I killed it.)

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agopgmon: fix comments to output the right function
Greg Farnum [Mon, 8 Aug 2011 20:33:48 +0000 (13:33 -0700)]
pgmon: fix comments to output the right function

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoMerge branch 'debian-deps'
Sage Weil [Mon, 8 Aug 2011 20:21:50 +0000 (13:21 -0700)]
Merge branch 'debian-deps'

14 years agodebian: explicitly bind library users to matching version
Sage Weil [Mon, 8 Aug 2011 19:16:41 +0000 (12:16 -0700)]
debian: explicitly bind library users to matching version

We are cheating with the shared libs by making small API changes without
bumping the soname.  Bind users to a matching version to minimize user
pain.  When the APIs become fully stable these will need to go away.

Fixes: #1354
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoMerge branch 'wip-heartbeats'
Sage Weil [Mon, 8 Aug 2011 19:12:24 +0000 (12:12 -0700)]
Merge branch 'wip-heartbeats'

Conflicts:
src/osd/OSD.cc

14 years agorgw: ignore hidden objects for bucket deletion, fix namespace
Yehuda Sadeh [Mon, 8 Aug 2011 17:25:15 +0000 (10:25 -0700)]
rgw: ignore hidden objects for bucket deletion, fix namespace

14 years agoMerge branch 'wip-config'
Colin Patrick McCabe [Mon, 8 Aug 2011 16:55:49 +0000 (09:55 -0700)]
Merge branch 'wip-config'

14 years agoosd: missing ! in ifs on bad map after osd boot
Sage Weil [Mon, 8 Aug 2011 04:27:03 +0000 (21:27 -0700)]
osd: missing ! in ifs on bad map after osd boot

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomds: fix Migrator::audit() for IMPORT_ABORTING
Sage Weil [Sun, 31 Jul 2011 04:21:03 +0000 (21:21 -0700)]
mds: fix Migrator::audit() for IMPORT_ABORTING

Make audit match reality.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agorgw: clone_obj can set mtime
Yehuda Sadeh [Sat, 6 Aug 2011 00:22:21 +0000 (17:22 -0700)]
rgw: clone_obj can set mtime

14 years agolibrados: can set mtime for operate (mutate)
Yehuda Sadeh [Sat, 6 Aug 2011 00:22:06 +0000 (17:22 -0700)]
librados: can set mtime for operate (mutate)

14 years agoobjecter: halt compound operation only if result < 0
Yehuda Sadeh [Fri, 5 Aug 2011 23:32:55 +0000 (16:32 -0700)]
objecter: halt compound operation only if result < 0

14 years agoRemove unused dyn_sprintf
Colin Patrick McCabe [Fri, 5 Aug 2011 22:49:30 +0000 (15:49 -0700)]
Remove unused dyn_sprintf

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoconfig.cc: clean up includes
Colin Patrick McCabe [Fri, 5 Aug 2011 22:44:32 +0000 (15:44 -0700)]
config.cc: clean up includes

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agomds: chain rename subtree projections
Sage Weil [Fri, 5 Aug 2011 21:28:29 +0000 (14:28 -0700)]
mds: chain rename subtree projections

We can have two renames for the same file in flight to the journal.  Stack
them up in a list.  The old project_subtree_rename() should have asserted
that the item wasn't already in the map before inserting it to catch this
at the front end.  Now it doesn't matter; it's a list.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoclient: whitespace cleanup
Sage Weil [Fri, 5 Aug 2011 21:26:59 +0000 (14:26 -0700)]
client: whitespace cleanup

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoclient: send renames to the correct node
Sage Weil [Fri, 5 Aug 2011 21:26:52 +0000 (14:26 -0700)]
client: send renames to the correct node

AFAICS we got this wrong in b794aeb39, which is annoying given I remember
thinking reasonably carefully about it.

The current reasoning: the request operates on the dentry target
directory from the MDS's perspective; that's where the request needs to go.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agorgw: multiple fixes
Yehuda Sadeh [Fri, 5 Aug 2011 21:05:41 +0000 (14:05 -0700)]
rgw: multiple fixes

14 years agoconfig: more thread-safety stuff
Colin Patrick McCabe [Fri, 5 Aug 2011 19:49:37 +0000 (12:49 -0700)]
config: more thread-safety stuff

* Don't allow parse_argv, parse_env, or parse_config_files to be used
after threads have been started.

* Don't allow set_val to be used to change unsafe variables after
threads have been started.

* Test

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoinjectargs: forbid unsafe string modifications
Colin Patrick McCabe [Fri, 5 Aug 2011 19:18:00 +0000 (12:18 -0700)]
injectargs: forbid unsafe string modifications

Don't allow string-valued configuration items to be changed using
injectargs unless they have observers. Otherwise, we could have
crashes, since one thread could be reading the std::string's internal
buffer after another thread frees that buffer during assignment.

Write a unit test to validate this behavior.

Also test that we can turn on and off the log_file using injectargs.
This is something that injectargs often gets used for in practice.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agotest/daemon_config: add injectargs test
Colin Patrick McCabe [Fri, 5 Aug 2011 18:25:11 +0000 (11:25 -0700)]
test/daemon_config: add injectargs test

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoAdd daemon_config, libceph_config, etc.
Colin Patrick McCabe [Fri, 5 Aug 2011 18:20:24 +0000 (11:20 -0700)]
Add daemon_config, libceph_config, etc.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agopgmon: create ALL pgs in new pools with correct creation epoch
Greg Farnum [Fri, 5 Aug 2011 18:07:03 +0000 (11:07 -0700)]
pgmon: create ALL pgs in new pools with correct creation epoch

5bb07df6aa4684ebd2e70437081dea170464d8ee tried to do this, but it
only set them properly for localized PGs. Whoops!
Additionally, we do NOT want to do this for new PGs in pre-existing
pools. Unfortunately, we have no way of guaranteeing that these new
PGs in old pools have the right epoch -- the data doesn't exist.
I'll discuss with other team members; it's possible that last_change
is in fact supposed to deal with this and simply doesn't.
Meanwhile, I've created a new bug to track this: #1365.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoadd config unit test
Colin Patrick McCabe [Fri, 5 Aug 2011 18:04:08 +0000 (11:04 -0700)]
add config unit test

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrados.h: fix out-of-date comment
Colin Patrick McCabe [Fri, 5 Aug 2011 17:47:25 +0000 (10:47 -0700)]
librados.h: fix out-of-date comment

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agodebian: don't explicitly list deps; let debian figure it out
Sage Weil [Fri, 5 Aug 2011 17:46:22 +0000 (10:46 -0700)]
debian: don't explicitly list deps; let debian figure it out

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoconfig: more cleanup
Colin Patrick McCabe [Fri, 5 Aug 2011 17:32:42 +0000 (10:32 -0700)]
config: more cleanup

* any place where we know a set_val can't fail should be set_val_or_die

* in private md_config_t functions that need the mutex, assert that the
mutex is locked

* make md_config_t::expand_meta private, since nobody uses it outside of
the class.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibceph.h: fix C compilation
Colin Patrick McCabe [Fri, 5 Aug 2011 00:16:10 +0000 (17:16 -0700)]
libceph.h: fix C compilation

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoconfig: add proper locking, fix comments
Colin Patrick McCabe [Thu, 4 Aug 2011 23:42:58 +0000 (16:42 -0700)]
config: add proper locking, fix comments

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agorgw: mark ops as atomic
Yehuda Sadeh [Thu, 4 Aug 2011 23:44:16 +0000 (16:44 -0700)]
rgw: mark ops as atomic

14 years agoosd: remove unnecessary history creation.
Greg Farnum [Thu, 4 Aug 2011 23:28:33 +0000 (16:28 -0700)]
osd: remove unnecessary history creation.

The history is coming from an MOSDPGNotify, but that is covered
by a require_same_or_newer_map check, so we're all good.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoosdmon: remove default values for prepare_new_pool
Greg Farnum [Thu, 4 Aug 2011 23:23:10 +0000 (16:23 -0700)]
osdmon: remove default values for prepare_new_pool

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agorgw: conditional clone, depends on src_cmpxattr result
Yehuda Sadeh [Thu, 4 Aug 2011 23:21:57 +0000 (16:21 -0700)]
rgw: conditional clone, depends on src_cmpxattr result

14 years agolibrados: modify src_cmpxattr interface
Yehuda Sadeh [Thu, 4 Aug 2011 23:12:47 +0000 (16:12 -0700)]
librados: modify src_cmpxattr interface

14 years agopgmon: create PGs with a creation epoch that matches the pool's
Greg Farnum [Thu, 4 Aug 2011 23:11:43 +0000 (16:11 -0700)]
pgmon: create PGs with a creation epoch that matches the pool's

Previously, the PGs were created with a creation date of the current
OSDMap. However, under some circumstances the PG creation can occur
under a later OSDMap epoch. This could lead to client requests that
were sent under epoch n, while the OSD insisted that the PG was
created in epoch n+1 so the client request was invalid. Since the
OSD expects the client to resubmit requests in such circumstances,
and the client thought all was well, this led to hanging client
requests.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agolibrados: get it compiled
Yehuda Sadeh [Thu, 4 Aug 2011 23:07:36 +0000 (16:07 -0700)]
librados: get it compiled

14 years agorgw: prepare for conditional clone_range
Yehuda Sadeh [Thu, 4 Aug 2011 22:51:58 +0000 (15:51 -0700)]
rgw: prepare for conditional clone_range

14 years agorgw: adapt some more rados calls to the new atomic structure
Yehuda Sadeh [Thu, 4 Aug 2011 22:09:26 +0000 (15:09 -0700)]
rgw: adapt some more rados calls to the new atomic structure

14 years agolibrados: restructure ObjectOperation
Yehuda Sadeh [Thu, 4 Aug 2011 21:04:35 +0000 (14:04 -0700)]
librados: restructure ObjectOperation

14 years agorgw: a few more operations are using atomic infrastructure
Yehuda Sadeh [Thu, 4 Aug 2011 20:48:35 +0000 (13:48 -0700)]
rgw: a few more operations are using atomic infrastructure

14 years agorgw: atomic get, various fixes
Yehuda Sadeh [Thu, 4 Aug 2011 00:24:47 +0000 (17:24 -0700)]
rgw: atomic get, various fixes

14 years agorgw: fix decoding
Yehuda Sadeh [Thu, 4 Aug 2011 00:05:43 +0000 (17:05 -0700)]
rgw: fix decoding

14 years agorgw: atomic get, basic flow for severl rados ops
Yehuda Sadeh [Wed, 3 Aug 2011 23:59:33 +0000 (16:59 -0700)]
rgw: atomic get, basic flow for severl rados ops

not working yet

14 years agolibrados, objecter: add operations to support rgw atomic get
Yehuda Sadeh [Wed, 3 Aug 2011 23:59:05 +0000 (16:59 -0700)]
librados, objecter: add operations to support rgw atomic get

14 years agorgw: introduce context to specific access calls
Yehuda Sadeh [Tue, 2 Aug 2011 23:29:16 +0000 (16:29 -0700)]
rgw: introduce context to specific access calls

14 years agoMerge branch 'rgw-formatter'
Colin Patrick McCabe [Thu, 4 Aug 2011 22:33:27 +0000 (15:33 -0700)]
Merge branch 'rgw-formatter'

14 years agoIn RGW, use the common/Formatter
Colin Patrick McCabe [Thu, 4 Aug 2011 21:43:55 +0000 (14:43 -0700)]
In RGW, use the common/Formatter

Implement a new subclass of Formatter, RGWFormatter_Plain, using code
from the old RGWFormatter and RGWFormatter_Plain classes.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agofilestore: remove unused var
Sage Weil [Thu, 4 Aug 2011 21:35:26 +0000 (14:35 -0700)]
filestore: remove unused var

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: Fix last_epoch_started initialization on new PGs
Greg Farnum [Thu, 4 Aug 2011 21:34:57 +0000 (14:34 -0700)]
osd: Fix last_epoch_started initialization on new PGs

This used to be safe by virtue of assigning same_acting_since
to osdmap->get_epoch(), but since we fixed bugs by handling
that better we now need to update the last_epoch_started
initialization.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoosd: rename variables in project_pg_history.
Greg Farnum [Thu, 4 Aug 2011 21:32:55 +0000 (14:32 -0700)]
osd: rename variables in project_pg_history.

These are always the current sets; I don't know why they would
ever be called lastup and it confused me when I started looking
at this. Confusion means something needs to change!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoFormatter: add open_object_section_in_ns, etc.
Colin Patrick McCabe [Thu, 4 Aug 2011 21:27:14 +0000 (14:27 -0700)]
Formatter: add open_object_section_in_ns, etc.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agotest/formatter: test stream clearing
Colin Patrick McCabe [Thu, 4 Aug 2011 21:11:42 +0000 (14:11 -0700)]
test/formatter: test stream clearing

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoFormatter: must use str("") to clear ostreams
Colin Patrick McCabe [Thu, 4 Aug 2011 21:07:53 +0000 (14:07 -0700)]
Formatter: must use str("") to clear ostreams

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoMore changes towards using common/Formatter in rgw
Colin Patrick McCabe [Thu, 4 Aug 2011 20:57:33 +0000 (13:57 -0700)]
More changes towards using common/Formatter in rgw

* rename RgwFormatter::init to RgwForamtter::reset.
Roll old reset() into base_reset().

* add write_raw_data to Formatter, to support DTDs.
Remove other DTD support code.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoosd: expect heartbeats from anyone peering depends on
Sage Weil [Thu, 4 Aug 2011 20:48:55 +0000 (13:48 -0700)]
osd: expect heartbeats from anyone peering depends on

We were getting heartbeats from just acting replicas.  That's really not
enough if we want to be sure to detect failures of OSDs we depend on,
which includes any stray or up OSDs as well.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: restructure heartbeats
Sage Weil [Thu, 4 Aug 2011 20:35:57 +0000 (13:35 -0700)]
osd: restructure heartbeats

Primary sends explicit message to replicas asking for heartbeats to start,
or to stop.  Replicas never send heartbeats unless explicitly requested
to.

Do not try to mark down old heartbeat relationships; that gets messy, and
the overhead of open sockets is too small to worry about right now.

Signed-off-by: Sage Weil <sage@newdream.net>