]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
14 years agoMerge branch 'next'
Sage Weil [Wed, 18 May 2011 04:08:00 +0000 (21:08 -0700)]
Merge branch 'next'

14 years agoosd: add --mkkey mkfs option
Sage Weil [Wed, 18 May 2011 01:46:38 +0000 (18:46 -0700)]
osd: add --mkkey mkfs option

Optionally generate a new key as part of the mkfs step.  This makes life
a bit easier for the admin.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomon: 'auth caps <name> [svc value [svc2 value2 [...]]]'
Sage Weil [Wed, 18 May 2011 01:32:03 +0000 (18:32 -0700)]
mon: 'auth caps <name> [svc value [svc2 value2 [...]]]'

Avoid having to futz with cauthtool if possible.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoMerge remote branch 'origin/next'
Josh Durgin [Wed, 18 May 2011 00:45:45 +0000 (17:45 -0700)]
Merge remote branch 'origin/next'

14 years agoPG: update same_acting_since when acting or up changes
Josh Durgin [Wed, 18 May 2011 00:36:39 +0000 (17:36 -0700)]
PG: update same_acting_since when acting or up changes

This is a hack since we currently use same_up_since to denote the beginning of an interval.
We should probably change this usaged or rename it to same_interval since.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agocrush: allow - and _ in crushmap type/item names
Sage Weil [Wed, 18 May 2011 00:27:39 +0000 (17:27 -0700)]
crush: allow - and _ in crushmap type/item names

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agocrushtool: strip leading spaces from identifiers
Sage Weil [Wed, 18 May 2011 00:27:16 +0000 (17:27 -0700)]
crushtool: strip leading spaces from identifiers

No idea where these are coming from!  Weird.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomsgr: avoid clearing connection_state on pipe replacement
Sage Weil [Tue, 17 May 2011 17:10:45 +0000 (10:10 -0700)]
msgr: avoid clearing connection_state on pipe replacement

read_message and write_message both dereference connection-state, so avoid
clearing it when replacing a pipe.

read_message still uses it to find rx_buffers in ways that may interfere
when two Pipes reference the connection, but currently that is only used
for lossy pipes.  We could still take pipe_lock in that case, but it is
only an optimization (we copy the data if the buffers don't get used
directly) and probably not worth bothering with.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomon: 'osd tree [epoch]'
Sage Weil [Tue, 17 May 2011 22:32:56 +0000 (15:32 -0700)]
mon: 'osd tree [epoch]'

Dump crush map + osd state, displayed as a tree.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosdmaptool: print crush tree + osd state
Sage Weil [Tue, 17 May 2011 22:31:37 +0000 (15:31 -0700)]
osdmaptool: print crush tree + osd state

Output osd state combined with crush tree placement.  Note osds in tree
that do not exist and list osds that exist that are not included in the
tree.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agolibrgw: be quiet by default
Colin Patrick McCabe [Tue, 17 May 2011 23:29:46 +0000 (16:29 -0700)]
librgw: be quiet by default

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agopybind/rgw: fix python bindings for librgw
Colin Patrick McCabe [Tue, 17 May 2011 22:03:36 +0000 (15:03 -0700)]
pybind/rgw: fix python bindings for librgw

Use string_at to convert between librgw buffers and Python strings.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrgw: make API reentrant
Colin Patrick McCabe [Tue, 17 May 2011 18:18:52 +0000 (11:18 -0700)]
librgw: make API reentrant

By passing in the configuration, we can use multiple librgw instances in
parallel-- or will be able to, once g_conf is de-globalized.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoceph.spec.in: add obsync
Sage Weil [Tue, 17 May 2011 21:25:47 +0000 (14:25 -0700)]
ceph.spec.in: add obsync

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agodebian: obsync
Sage Weil [Mon, 16 May 2011 21:28:33 +0000 (14:28 -0700)]
debian: obsync

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoobsync: no .py
Sage Weil [Mon, 16 May 2011 21:28:28 +0000 (14:28 -0700)]
obsync: no .py

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoPG: Replicas send Notifies in response to queries
Samuel Just [Wed, 11 May 2011 18:56:34 +0000 (11:56 -0700)]
PG: Replicas send Notifies in response to queries

Replicas only send Infos during activate.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoMerge branch 'wip-crush'
Sage Weil [Tue, 17 May 2011 21:12:45 +0000 (14:12 -0700)]
Merge branch 'wip-crush'

14 years agoPG: choose_log_location, fix error when scanning up set
Samuel Just [Wed, 11 May 2011 20:50:20 +0000 (13:50 -0700)]
PG: choose_log_location, fix error when scanning up set

++up.begin() does not skip the primary. Primary might not be up[0].

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoosdmap: set type 0 to 'osd'
Sage Weil [Tue, 17 May 2011 20:58:26 +0000 (13:58 -0700)]
osdmap: set type 0 to 'osd'

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agocrushtool: fix error handling for adding devices
Sage Weil [Tue, 17 May 2011 20:58:17 +0000 (13:58 -0700)]
crushtool: fix error handling for adding devices

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agocrushtool: fix unittest map
Sage Weil [Tue, 17 May 2011 20:35:04 +0000 (13:35 -0700)]
crushtool: fix unittest map

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agocrushtool: fix usage
Sage Weil [Tue, 17 May 2011 20:33:42 +0000 (13:33 -0700)]
crushtool: fix usage

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosdmap: use straw buckets everywhere by default
Sage Weil [Tue, 17 May 2011 20:29:30 +0000 (13:29 -0700)]
osdmap: use straw buckets everywhere by default

We were using uniform for the leaf buckets. Use straw instead.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agocrush: add add_item and reweight functions
Sage Weil [Tue, 17 May 2011 20:04:24 +0000 (13:04 -0700)]
crush: add add_item and reweight functions

Insert a device at a particular point in the hierarchy, and adjust weights
as appropriate.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agocrushtool: include cumulative bucket weight in decompile
Sage Weil [Tue, 17 May 2011 20:03:38 +0000 (13:03 -0700)]
crushtool: include cumulative bucket weight in decompile

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agocrush: fix up constness some
Sage Weil [Tue, 17 May 2011 20:03:01 +0000 (13:03 -0700)]
crush: fix up constness some

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoAdd Python bindings for librgw
Colin Patrick McCabe [Fri, 13 May 2011 23:07:08 +0000 (16:07 -0700)]
Add Python bindings for librgw

Add some Python bindings for librgw.
Also add some more verbose error logging to librgw.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoPG: PG can receive a log in WaitActingChange requested in GetLog
Samuel Just [Tue, 17 May 2011 16:57:09 +0000 (09:57 -0700)]
PG: PG can receive a log in WaitActingChange requested in GetLog

Discard logs requested during GetLog once we are in WaitActingChange.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agorgw: ahrm.. now really fix logging
Yehuda Sadeh [Tue, 17 May 2011 13:39:03 +0000 (06:39 -0700)]
rgw: ahrm.. now really fix logging

14 years agorgw: fix logging
Yehuda Sadeh [Tue, 17 May 2011 13:18:43 +0000 (06:18 -0700)]
rgw: fix logging

14 years agorgw: fix typo
Yehuda Sadeh [Tue, 17 May 2011 11:24:51 +0000 (04:24 -0700)]
rgw: fix typo

14 years agorgw: don't log operations on unexisting bucket
Yehuda Sadeh [Tue, 17 May 2011 11:15:10 +0000 (04:15 -0700)]
rgw: don't log operations on unexisting bucket

14 years agoobsync: preserve user-defined metadata
Colin Patrick McCabe [Tue, 17 May 2011 00:12:45 +0000 (17:12 -0700)]
obsync: preserve user-defined metadata

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoobsync: filestore: separate xattr metadata nspace
Colin Patrick McCabe [Mon, 16 May 2011 23:51:45 +0000 (16:51 -0700)]
obsync: filestore: separate xattr metadata nspace

User-defined s3 metadata lives in a separate namespace from regular S3
metadata like Content-Type, etc.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoPG: Don't use exit to call proc_master_log
Samuel Just [Mon, 16 May 2011 23:24:02 +0000 (16:24 -0700)]
PG: Don't use exit to call proc_master_log

exit is also invoked when transitioning to Reset...

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoobysnc: preserve Content-Type
Colin Patrick McCabe [Mon, 16 May 2011 18:50:21 +0000 (11:50 -0700)]
obysnc: preserve Content-Type

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoclient: update ctime for auth, xattr
Sage Weil [Mon, 16 May 2011 21:47:29 +0000 (14:47 -0700)]
client: update ctime for auth, xattr

This mirrors the kclient fix in d8672d64.  The client can have a newer
ctime due to auth or xattr excl caps.  This fixes cases where ctime goes
backwards due to the right sequence of local operations and replies
from the MDS.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoobsync: FileStore: test storing ACLs in xattrs
Colin Patrick McCabe [Mon, 16 May 2011 17:54:13 +0000 (10:54 -0700)]
obsync: FileStore: test storing ACLs in xattrs

Update unit tests now that we're storing ACLs in xattrs. Fix a bug.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agomon: health WARN if monitor quorum is incomplete
Sage Weil [Mon, 16 May 2011 20:42:31 +0000 (13:42 -0700)]
mon: health WARN if monitor quorum is incomplete

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoobsync: FileStore: store ACLs in xattrs
Colin Patrick McCabe [Mon, 16 May 2011 17:54:13 +0000 (10:54 -0700)]
obsync: FileStore: store ACLs in xattrs

Store the ACL XML in extended attributes rather than in side files.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoobsync: FileStore: test for xattr support
Colin Patrick McCabe [Mon, 16 May 2011 17:42:36 +0000 (10:42 -0700)]
obsync: FileStore: test for xattr support

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agorados: don't force order on params
Yehuda Sadeh [Mon, 16 May 2011 13:24:02 +0000 (06:24 -0700)]
rados: don't force order on params

14 years agofix segfault introduced by commit de640d85fa3e0e5e5a31704eab5a8714a1ffe867
root [Sun, 15 May 2011 13:54:13 +0000 (08:54 -0500)]
fix segfault introduced by commit de640d85fa3e0e5e5a31704eab5a8714a1ffe867

That commit introduces the line 'cur_con->put()' which has the possibility
of being called while cur_con is not initialized.

14 years agoosd: lazily close connections to down peers
Sage Weil [Fri, 13 May 2011 20:01:52 +0000 (13:01 -0700)]
osd: lazily close connections to down peers

If we hear from a peer that should be dead, tell them, but mark our
connection so that it will close after that message is delivered or if
it encounters any errors.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomsgr: mark_down_on_empty and mark_disposable
Sage Weil [Fri, 13 May 2011 20:01:08 +0000 (13:01 -0700)]
msgr: mark_down_on_empty and mark_disposable

Mark a connection to close when messages are sent, and to close on any
error.  We can use this to tell people who should be dead that they should
be dead, but not waste resources reconnecting to them.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoPG: Remove downed osds from peer_missing and peer_info
Sage Weil [Sat, 14 May 2011 20:46:09 +0000 (13:46 -0700)]
PG: Remove downed osds from peer_missing and peer_info

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoPG: Only pull the master log from a member of the prior_set
Samuel Just [Sat, 14 May 2011 00:30:50 +0000 (17:30 -0700)]
PG: Only pull the master log from a member of the prior_set

There must be a member of the prior_set such that no other
osd has a more recent last_update.  This way, prior_set_affected
will ensure that we reset peering if the master log source
goes down.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agorgw: Move rgw_log_level to md_config_t
Colin Patrick McCabe [Sat, 14 May 2011 00:19:20 +0000 (17:19 -0700)]
rgw: Move rgw_log_level to md_config_t

Need to do this to get librgw to be usable as a standalone library
without unresolved symbols. Also, this makes it consistent with the rest
of the log level settings.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoMakefile.am: add SimpleMessenger.cc to libcommon
Colin Patrick McCabe [Sat, 14 May 2011 00:16:04 +0000 (17:16 -0700)]
Makefile.am: add SimpleMessenger.cc to libcommon

libcommon depends on this file, and there's no other library that it
could go in. It is certainly silly to manually include it in every
application and library that uses libcommon.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrgw: only include rgw_acl.cc and librgw.cc
Colin Patrick McCabe [Fri, 13 May 2011 23:21:15 +0000 (16:21 -0700)]
librgw: only include rgw_acl.cc and librgw.cc

Rather than putting all of RGW into librgw, only put rgw_acl.cc. Have
RGW use librgw instead of re-including the same sources.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agorgw_acl: move constructors, destructors to .cc
Colin Patrick McCabe [Fri, 13 May 2011 23:38:13 +0000 (16:38 -0700)]
rgw_acl: move constructors, destructors to .cc

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoobsync: fix eventual consistency handler
Colin Patrick McCabe [Wed, 11 May 2011 22:45:36 +0000 (15:45 -0700)]
obsync: fix eventual consistency handler

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoobsync: add DST_CONSISTENCY
Colin Patrick McCabe [Wed, 11 May 2011 22:36:48 +0000 (15:36 -0700)]
obsync: add DST_CONSISTENCY

The DST_CONSISTENCY variable allows us to specify that the destination
is expected to use read-after-write consistency. If that is the case, we
don't have to do slow retries if certain operations fail.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoboto_tool.py: add --rmobjects, --rm_rf
Colin Patrick McCabe [Wed, 11 May 2011 22:36:17 +0000 (15:36 -0700)]
boto_tool.py: add --rmobjects, --rm_rf

Add some options to help destroy buckets.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoboto_tool.py: fix old-style argument-passing
Colin Patrick McCabe [Wed, 11 May 2011 22:06:14 +0000 (15:06 -0700)]
boto_tool.py: fix old-style argument-passing

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoboto_tool.py: use s3-tests config file
Colin Patrick McCabe [Wed, 11 May 2011 01:05:39 +0000 (18:05 -0700)]
boto_tool.py: use s3-tests config file

boto_tool now grabs the configuration variables it needs from the
s3-tests config file, similar to s3-tests and test-obsync.

Also, changed argument parsing to be more straightforward.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrgw: use dout for logging
Colin Patrick McCabe [Tue, 10 May 2011 21:08:42 +0000 (14:08 -0700)]
librgw: use dout for logging

Use dout for logging so that the librgw library user can turn off or
redirect the logs if necessary.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrgw: small error handling fix
Colin Patrick McCabe [Tue, 10 May 2011 19:58:20 +0000 (12:58 -0700)]
librgw: small error handling fix

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agorgw: put XML-to-bin translation into a librgw
Colin Patrick McCabe [Mon, 2 May 2011 18:51:58 +0000 (11:51 -0700)]
rgw: put XML-to-bin translation into a librgw

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agouclient: do not accept max_size changes unless they're from auth mds.
Greg Farnum [Fri, 13 May 2011 23:22:50 +0000 (16:22 -0700)]
uclient: do not accept max_size changes unless they're from auth mds.

Unlike most of the cap options, max_size is an inode member. This meant
that if we got a shared cap grant from a replica MDS, we would set
the max_size to 0!
This caused hangs because when the client would request a new, larger
max_size from the auth MDS then the auth MDS would see the new size
as being smaller than the current max, and drop the message as
being spurious.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoMDS: do journal on rename if we're auth for the inode.
Greg Farnum [Fri, 13 May 2011 21:42:22 +0000 (14:42 -0700)]
MDS: do journal on rename if we're auth for the inode.

We missed this case: we can be auth for the inode being moved without
being auth for the srcdn (first case) or owning a clobbered inode
(last case).

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoMDS: don't journal slave ops if we only have caps.
Greg Farnum [Wed, 11 May 2011 00:09:07 +0000 (17:09 -0700)]
MDS: don't journal slave ops if we only have caps.

Previously we wanted to journal if we had caps on something. Now
that we're being strict about only journaling stuff we're auth for,
that's a bad choice to make.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoPG: search_for_missing takes the other osd's missing set
Samuel Just [Fri, 13 May 2011 21:07:05 +0000 (14:07 -0700)]
PG: search_for_missing takes the other osd's missing set

Previously, search_for_missing was erroneously passed the
primary's missing in a few places.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoPG: search_for_missing takes the other osd's missing set
Samuel Just [Fri, 13 May 2011 21:07:05 +0000 (14:07 -0700)]
PG: search_for_missing takes the other osd's missing set

Previously, search_for_missing was erroneously passed the
primary's missing in a few places.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoradosgw_admin: fix clitest
Sage Weil [Fri, 13 May 2011 20:13:21 +0000 (13:13 -0700)]
radosgw_admin: fix clitest

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoadd basic test case for readdir_r
Brian Chrisman [Fri, 13 May 2011 06:39:38 +0000 (23:39 -0700)]
add basic test case for readdir_r

Signed-off-by: Brian Chrisman <brchrisman@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agofix null deref when callback invoked en route from readdir_r rather than readdirplus_r
Brian Chrisman [Fri, 13 May 2011 06:39:37 +0000 (23:39 -0700)]
fix null deref when callback invoked en route from readdir_r rather than readdirplus_r

Signed-off-by: Brian Chrisman <brchrisman@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agouclient: compare _revoked_ caps when deciding whether to release.
Greg Farnum [Thu, 12 May 2011 22:43:23 +0000 (15:43 -0700)]
uclient: compare _revoked_ caps when deciding whether to release.

cap->issued is already set to new_caps, so that branch was never taken!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agouclient: clear out cap->wanted when caps get revoked.
Greg Farnum [Thu, 12 May 2011 22:36:26 +0000 (15:36 -0700)]
uclient: clear out cap->wanted when caps get revoked.

This ensures that we will send a response to the MDS letting it know
that we've revoked our caps.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agouclient: be more careful about sending caps.
Greg Farnum [Wed, 11 May 2011 00:05:12 +0000 (17:05 -0700)]
uclient: be more careful about sending caps.

This should prevent us from "losing" caps off the dirty list. See
#1063. If we have dirty caps we don't want to short-circuit out
of sending caps just because what we're issued matches what we want.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoradosgw_admin: dump log by object
Sage Weil [Thu, 12 May 2011 18:01:06 +0000 (11:01 -0700)]
radosgw_admin: dump log by object

instead of only by date+bucket.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoupdated test to cover "." directory stat
Brian Chrisman [Thu, 12 May 2011 05:26:47 +0000 (22:26 -0700)]
updated test to cover "." directory stat

Signed-off-by: Brian Chrisman <brchrisman@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoAdd analogous special case for "." directory alongside ".." in _lookup
Brian Chrisman [Thu, 12 May 2011 05:26:46 +0000 (22:26 -0700)]
Add analogous special case for "." directory alongside ".." in _lookup

Signed-off-by: Brian Chrisman <brchrisman@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: drop unneed default arg
Sage Weil [Thu, 12 May 2011 04:18:57 +0000 (21:18 -0700)]
mds: drop unneed default arg

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoMerge branch 'osd_pgls'
Sage Weil [Thu, 12 May 2011 00:57:07 +0000 (17:57 -0700)]
Merge branch 'osd_pgls'

14 years agoobjecter: set pgls start_epoch field
Sage Weil [Thu, 12 May 2011 00:56:32 +0000 (17:56 -0700)]
objecter: set pgls start_epoch field

For each pg, start out with start_epoch = 0 in the first request.  For
subsequent requests, set it to the first reply's epoch.  This forces the
OSD to ignore our cookie and "restart" if the pg mapping changes and there
is a possibility of incomplete results.

The price we pay is the possibility of duplicate results.

Fixes: #1030
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: add pgls start_epoch field
Sage Weil [Thu, 12 May 2011 00:55:00 +0000 (17:55 -0700)]
osd: add pgls start_epoch field

If the pgls.start_epoch is set, the cookie is only considered valid if the
osd pg interval has not changed since then.  If it has, then the cookie
is no longer valid and is ignored, effectively restarting the pgls process.

Old clients never set this and are unaffected.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agorgw: in S3 PUT, don't crash on Content-Length == 0
Colin Patrick McCabe [Thu, 12 May 2011 00:27:10 +0000 (17:27 -0700)]
rgw: in S3 PUT, don't crash on Content-Length == 0

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoobjecter: fix calc_op_budget bit mask checks
Sage Weil [Thu, 12 May 2011 00:47:50 +0000 (17:47 -0700)]
objecter: fix calc_op_budget bit mask checks

Use the helpers; we need to mask out several bits and compare.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agorgw: in S3 PUT, don't crash on Content-Length == 0
Colin Patrick McCabe [Thu, 12 May 2011 00:27:10 +0000 (17:27 -0700)]
rgw: in S3 PUT, don't crash on Content-Length == 0

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoosd: prepend missing objects to pgls results
Sage Weil [Wed, 11 May 2011 23:27:18 +0000 (16:27 -0700)]
osd: prepend missing objects to pgls results

This will prepend any missing objects to the set of objects returned by
a sequence of PGLS operations.  Because recovery can progress in parallel,
we may get some objects returned twice (first as a missing item, later
because it is on disk).  This is better than not getting it at all.  The
client will need to uniq the results as needed.

Because the missing set is guaranteed not to grow over a given mapping
interval only, the client should restart the whole PGLS sequence if the
pg primary changes.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoobsync: handle eventual consistency issues
Colin Patrick McCabe [Wed, 11 May 2011 18:30:04 +0000 (11:30 -0700)]
obsync: handle eventual consistency issues

Handle eventual consistency issues so that obsync will be usable on more
S3 stores.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoosd: key Missing::rmissing on version (not eversion)
Sage Weil [Wed, 11 May 2011 20:58:09 +0000 (13:58 -0700)]
osd: key Missing::rmissing on version (not eversion)

This switches the key to the uint64_t (version_t) only, which is still
unique given a particular timeline (which is all we care about given a
particular Missing::missing).  The last_requested pointer is updated
accordingly.

This will facilitate a hack to make PGLS work for degraded PGs (by using
the rmissing version offset as a cookie).

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoPG: choose_log_location, fix error when scanning up set
Samuel Just [Wed, 11 May 2011 20:50:20 +0000 (13:50 -0700)]
PG: choose_log_location, fix error when scanning up set

++up.begin() does not skip the primary. Primary might not be up[0].

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoClock: add new clock_offset config option, and use it in g_clock.now()
Greg Farnum [Wed, 11 May 2011 20:27:07 +0000 (13:27 -0700)]
Clock: add new clock_offset config option, and use it in g_clock.now()

This way we can test clock drifts without needing to actually
drift the clocks.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoclock: remove cruft.
Greg Farnum [Wed, 11 May 2011 20:11:58 +0000 (13:11 -0700)]
clock: remove cruft.

There were some odd pieces that are artifacts of a very old and
different use. Remove them to simplify the interface and be
less confusing.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoPG: Replicas send Notifies in response to queries
Samuel Just [Wed, 11 May 2011 18:56:34 +0000 (11:56 -0700)]
PG: Replicas send Notifies in response to queries

Replicas only send Infos during activate.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoMerge branch 'next'
Sage Weil [Wed, 11 May 2011 18:42:27 +0000 (11:42 -0700)]
Merge branch 'next'

14 years agotest-obsync.sh: fix obsync unit tests
Colin Patrick McCabe [Wed, 11 May 2011 18:03:31 +0000 (11:03 -0700)]
test-obsync.sh: fix obsync unit tests

Fix the obsync unit tests to take into account the new ACL changes.
ACLs must be either translated or ignored when copying between the
main and alt test buckets.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agorados_sync: tolerate ENOENT when deleting an object.
Greg Farnum [Wed, 11 May 2011 17:39:31 +0000 (10:39 -0700)]
rados_sync: tolerate ENOENT when deleting an object.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agolibrbd: tolerate ENOENT when trying to delete an object.
Greg Farnum [Wed, 11 May 2011 17:38:59 +0000 (10:38 -0700)]
librbd: tolerate ENOENT when trying to delete an object.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agomdcache: check return values when purging an inode.
Greg Farnum [Wed, 11 May 2011 17:30:57 +0000 (10:30 -0700)]
mdcache: check return values when purging an inode.

Previously we weren't looking, and if there's a problem
we probably shouldn't be moving on.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoexpand testceph to check xattrs
Brian Chrisman [Tue, 10 May 2011 19:38:49 +0000 (12:38 -0700)]
expand testceph to check xattrs

Signed-off-by: Brian Chrisman <brchrisman@gmail.com>
14 years agoclient: support security. namespace
Brian Chrisman [Wed, 11 May 2011 17:28:42 +0000 (10:28 -0700)]
client: support security. namespace

Signed-off-by: Brian Chrisman <brchrisman@gmail.com>
14 years agosupport for xattrs in libceph
Brian Chrisman [Wed, 11 May 2011 17:27:50 +0000 (10:27 -0700)]
support for xattrs in libceph

Signed-off-by: Brian Chrisman <brchrisman@gmail.com>
14 years agojournaler: tolerate ENOENT when prezeroing
Sage Weil [Wed, 11 May 2011 04:35:50 +0000 (21:35 -0700)]
journaler: tolerate ENOENT when prezeroing

ENOENT is okay and expected.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: unlink of nonexistent object should return -ENOENT
Yehuda Sadeh [Tue, 10 May 2011 21:20:19 +0000 (14:20 -0700)]
osd: unlink of nonexistent object should return -ENOENT

fixes bug #1078.

14 years agomonclient: fix crash on shutdown
Sage Weil [Wed, 11 May 2011 04:30:52 +0000 (21:30 -0700)]
monclient: fix crash on shutdown

cur_con may be null on shutdown.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoRevert "osd: unlink of nonexistent object should return -ENOENT"
Greg Farnum [Wed, 11 May 2011 00:46:13 +0000 (17:46 -0700)]
Revert "osd: unlink of nonexistent object should return -ENOENT"

This reverts commit a7f87965f5c49fa878dadd458f87b7974252ab6e.

This commit breaks at least how Filer does zeroing. We
should redo the commit with some audits for what else
will break.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>