]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
13 years agodoc: radosgw: further simplify Apache rewrite rule 15/head
Florian Haas [Fri, 29 Jun 2012 05:50:50 +0000 (07:50 +0200)]
doc: radosgw: further simplify Apache rewrite rule

Sufficient to just pass the query string, drop params.

Signed-off-by: Florian Haas <florian@hastexo.com>
13 years agoradosgw Apache configuration: simplify rewrite rule
Florian Haas [Thu, 28 Jun 2012 07:46:28 +0000 (09:46 +0200)]
radosgw Apache configuration: simplify rewrite rule

Use a simpler RewriteRule as suggested here:
http://marc.info/?l=ceph-devel&m=133951986510085&w=2

13 years agoFix example radosgw Apache configuration
Florian Haas [Thu, 28 Jun 2012 07:43:00 +0000 (09:43 +0200)]
Fix example radosgw Apache configuration

Follow RFC2606, use example.com everywhere.

13 years agoradosgw-admin: improve man page
Florian Haas [Sat, 23 Jun 2012 09:50:24 +0000 (10:50 +0100)]
radosgw-admin: improve man page

* remove "OpenStack user" information (deprecated, should no
  longer be used. No reason to keep mentioning it)
* fix description of --uid
* mention subusers
* add key management commands

Signed-off-by: Florian Haas <florian@hastexo.com>
13 years agodoc: explain how to configure Ceph for radosgw
Florian Haas [Thu, 14 Jun 2012 21:07:44 +0000 (23:07 +0200)]
doc: explain how to configure Ceph for radosgw

* explain creating auth creds for radosgw
* explain Apache config for radosgw
* explain starting daemons for radosgw
* explain creating users for radosgw
* explain creating subusers for radosgw
* explain using swift client against radosgw
* Explain user:subuser to tenant:user mapping in Swift

Signed-off-by: Florian Haas <florian@hastexo.com>
13 years agorgw: send both swift x-storage-token and x-auth-token
Yehuda Sadeh [Thu, 21 Jun 2012 22:40:27 +0000 (15:40 -0700)]
rgw: send both swift x-storage-token and x-auth-token

older clients need x-storage-token, newer x-auth-token

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agorgw: radosgw-admin date params now also accept time
Yehuda Sadeh [Thu, 21 Jun 2012 22:17:19 +0000 (15:17 -0700)]
rgw: radosgw-admin date params now also accept time

The date format now is "YYYY-MM-DD[ hh:mm:ss]". Got rid of
the --time param for the old ops log stuff.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agorgw-admin: fix usage help
Yehuda Sadeh [Thu, 21 Jun 2012 20:14:47 +0000 (13:14 -0700)]
rgw-admin: fix usage help

s/show/trim

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agoupstart: fix regex
Tommi Virtanen [Mon, 25 Jun 2012 22:14:33 +0000 (15:14 -0700)]
upstart: fix regex

Signed-off-by: Tommi Virtanen <tv@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
13 years agoMerge branch 'next'
Sage Weil [Mon, 25 Jun 2012 21:45:21 +0000 (14:45 -0700)]
Merge branch 'next'

13 years agomon: don't tick the PaxosServices if we are currently slurping.
Greg Farnum [Mon, 25 Jun 2012 20:04:15 +0000 (13:04 -0700)]
mon: don't tick the PaxosServices if we are currently slurping.

They aren't prepared to deal with the on-disk state being inconsistent.

Signed-off-by: Greg Farnum <greg@inktank.com>
13 years agoobjecter: do not feed session to op_submit()
Sage Weil [Wed, 20 Jun 2012 18:07:29 +0000 (11:07 -0700)]
objecter: do not feed session to op_submit()

The linger_send() method was doing this, but it is problematic because the
new Op doesn't get its pgid or acting vector set correctly.  The result is
that the request goes to the right OSD, but has the wrong pgid, and makes
the OSD complain about misdirected requests and drop it on the floor.  It
didn't affect the test results because we weren't testing whether the
watch was working in that case.

Instead, we'll just recalculate and get the same value the parent linger
op did.  Which is fine, and goes through all the usual code paths so
nothing is missed.

Also, increment num_homeless_ops before we recalc_op_target(), so that we
don't (harmlessly, but confusingly) underflow.

Fixes: #2022
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoObjectStore::Transaction: initialize pool_override in all constructors
Samuel Just [Sun, 24 Jun 2012 20:30:53 +0000 (13:30 -0700)]
ObjectStore::Transaction: initialize pool_override in all constructors

use_pool_override and pool_override weren't initialized in these two
constructors.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agoobjecter: do not feed session to op_submit()
Sage Weil [Wed, 20 Jun 2012 18:07:29 +0000 (11:07 -0700)]
objecter: do not feed session to op_submit()

The linger_send() method was doing this, but it is problematic because the
new Op doesn't get its pgid or acting vector set correctly.  The result is
that the request goes to the right OSD, but has the wrong pgid, and makes
the OSD complain about misdirected requests and drop it on the floor.  It
didn't affect the test results because we weren't testing whether the
watch was working in that case.

Instead, we'll just recalculate and get the same value the parent linger
op did.  Which is fine, and goes through all the usual code paths so
nothing is missed.

Also, increment num_homeless_ops before we recalc_op_target(), so that we
don't (harmlessly, but confusingly) underflow.

Fixes: #2022
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoosd_types.cc: remove hobject_t decode asserts
Samuel Just [Fri, 22 Jun 2012 00:08:20 +0000 (17:08 -0700)]
osd_types.cc: remove hobject_t decode asserts

These asserts were useful for ensuring that pool is passed
in in the correct places, but they prevent the encoder
testing from working.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agomon: note that monmap may be reencoded later
Sage Weil [Thu, 21 Jun 2012 14:33:47 +0000 (07:33 -0700)]
mon: note that monmap may be reencoded later

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: encoding new monmap using quorum feature set
Sage Weil [Thu, 21 Jun 2012 14:31:47 +0000 (07:31 -0700)]
mon: encoding new monmap using quorum feature set

It is probably unlikely that someone will expand the mon cluster with a
mixed feature set, but we know the quorum features here, so we should use
them.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: conditionally encode mon features for remote mon
Sage Weil [Thu, 21 Jun 2012 14:27:49 +0000 (07:27 -0700)]
mon: conditionally encode mon features for remote mon

The only time we encode these is when forwarding messages.  Encoding using
the destination's feature set.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: conditionally encode PGMap[::Incremental] with quorum features
Sage Weil [Thu, 21 Jun 2012 14:23:56 +0000 (07:23 -0700)]
mon: conditionally encode PGMap[::Incremental] with quorum features

This allows a mon cluster to transition to the new encoding during a
rolling upgrade.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: conditionally encode auth incremental with quorum feature bits
Sage Weil [Thu, 21 Jun 2012 03:41:17 +0000 (20:41 -0700)]
mon: conditionally encode auth incremental with quorum feature bits

If the quorum does not yet all have the MONENC feature, stick to the old
encoding.

It might be more polite to require a super-quorum before switching over,
and take note so that thereafter we can stick to the new encoding, but
that has more moving parts and I'm not sure it's worth the complexity.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: track intersection of quorum member features
Sage Weil [Thu, 21 Jun 2012 03:33:41 +0000 (20:33 -0700)]
mon: track intersection of quorum member features

When we form a quorum, also note the intersection of the quorum members'
feature bits.  This will inform decisions about what encodings we use.

This is an imperfect strategy because the quorum may change, and we may
have a mon with old code join in and not understand what is going on.
However, it does ensure that a majority of the members run new code, so in
the absence of other failures we can make progress.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: conditionally encode old monmap when peer lacks feature
Sage Weil [Thu, 21 Jun 2012 02:08:34 +0000 (19:08 -0700)]
mon: conditionally encode old monmap when peer lacks feature

This allows a rolling upgrade from 0.47.2 to 0.48.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoOSD,PG,ObjectStore: handle messages with old hobject_t encoding
Samuel Just [Wed, 20 Jun 2012 19:55:38 +0000 (12:55 -0700)]
OSD,PG,ObjectStore: handle messages with old hobject_t encoding

Messages that embed an hobject_t need to have the pool field fixed
on messages from old peers.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agodoc: ceph osd crush add is now ceph osd crush set
Travis Rhoden [Thu, 21 Jun 2012 19:25:02 +0000 (15:25 -0400)]
doc: ceph osd crush add is now ceph osd crush set

Mailing list thread: http://www.spinics.net/lists/ceph-devel/msg06199.html

Signed-off-by: Travis Rhoden <trhoden@gmail.com>
13 years agologrotate: reload all upstart instances
Sage Weil [Thu, 21 Jun 2012 19:42:53 +0000 (12:42 -0700)]
logrotate: reload all upstart instances

upstart doesn't let you wildcard all instances of a given job, so we
slog through initctl list output, and reload any running daemons.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Tommi Virtanen <tv@inktank.com>
13 years agodocs: clarify example in radosgw-admin
Yehuda Sadeh [Thu, 21 Jun 2012 18:34:20 +0000 (11:34 -0700)]
docs: clarify example in radosgw-admin

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agofilestore: remove btrfs start/end transaction ioctl code
Sage Weil [Thu, 21 Jun 2012 18:17:34 +0000 (11:17 -0700)]
filestore: remove btrfs start/end transaction ioctl code

This was an ill-conceived approach to getting atomic transactions out of
btrfs.  It doesn't offer rollback, which means that any error means we need
to wedge the file system and reboot in order to avoid corrupting the
data set.  And that's silly!

Snapshots are more robust and only marginally slower (because we have to
quiesce our writes while waiting for the snap to start, and btrfs resume
work in-kernel slightly faster...maybe).

Fixes: #2623
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: make pool deletion dne error code consistently ENOENT
Sage Weil [Thu, 21 Jun 2012 18:16:39 +0000 (11:16 -0700)]
mon: make pool deletion dne error code consistently ENOENT

This matches the check in _prepare_remove_pool() now.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodocs: update usage logging info
Yehuda Sadeh [Thu, 21 Jun 2012 17:46:55 +0000 (10:46 -0700)]
docs: update usage logging info

added some text under radosgw, examples under radosgw-admin

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agoMerge remote-tracking branch 'gh/stable' into next
Sage Weil [Thu, 21 Jun 2012 15:20:17 +0000 (08:20 -0700)]
Merge remote-tracking branch 'gh/stable' into next

13 years agodoc: Normalized shell script syntax. Added generic cookbook path.
John Wilkins [Wed, 20 Jun 2012 22:10:23 +0000 (15:10 -0700)]
doc: Normalized shell script syntax. Added generic cookbook path.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agodoc: Changed libvirt-dev to libvirt-bin, and cleaned up ./autogen.sh
John Wilkins [Wed, 20 Jun 2012 21:29:58 +0000 (14:29 -0700)]
doc: Changed libvirt-dev to libvirt-bin, and cleaned up ./autogen.sh

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agodoc: Typo.
Tommi Virtanen [Wed, 20 Jun 2012 19:55:29 +0000 (12:55 -0700)]
doc: Typo.

Signed-off-by: Tommi Virtanen <tv@inktank.com>
13 years agov0.47.3 v0.47.3
Sage Weil [Wed, 20 Jun 2012 17:57:41 +0000 (10:57 -0700)]
v0.47.3

13 years agofilestore: disable 'filestore fiemap' by default
Sage Weil [Fri, 15 Jun 2012 17:00:54 +0000 (10:00 -0700)]
filestore: disable 'filestore fiemap' by default

We've seen this failing on both btrfs (Guido) and XFS (Oliver).  This works
around #2535.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoOSD: clear_temp: split delete into many transactions
Samuel Just [Tue, 19 Jun 2012 21:29:48 +0000 (14:29 -0700)]
OSD: clear_temp: split delete into many transactions

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
13 years agoMerge branch 'wip-clsrbd'
Sage Weil [Tue, 19 Jun 2012 22:19:21 +0000 (15:19 -0700)]
Merge branch 'wip-clsrbd'

Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
13 years agodoc: document usage log
Yehuda Sadeh [Tue, 19 Jun 2012 22:17:53 +0000 (15:17 -0700)]
doc: document usage log

Modify radosgw, radosgw-admin man page

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agocls_rbd: note overlap units
Sage Weil [Tue, 19 Jun 2012 21:31:21 +0000 (14:31 -0700)]
cls_rbd: note overlap units

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocls_rbd: fix uninitialized var in cls_rbd_parent
Sage Weil [Sat, 16 Jun 2012 20:08:06 +0000 (13:08 -0700)]
cls_rbd: fix uninitialized var in cls_rbd_parent

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocls_rbd: clean up doxygen, whitespace a bit
Sage Weil [Sat, 16 Jun 2012 14:50:46 +0000 (07:50 -0700)]
cls_rbd: clean up doxygen, whitespace a bit

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocls_rbd: include dumpers, test instances for our types
Sage Weil [Sat, 16 Jun 2012 00:41:04 +0000 (17:41 -0700)]
cls_rbd: include dumpers, test instances for our types

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocls_rbd: rename parent size -> overlap
Sage Weil [Sat, 16 Jun 2012 00:29:35 +0000 (17:29 -0700)]
cls_rbd: rename parent size -> overlap

The use of 'size' to describe the amount that we overlap with the parent
was confusing; overlap is more intuitive (to me, at least!).

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocls_rbd: handle parent overlap
Sage Weil [Sat, 16 Jun 2012 00:27:25 +0000 (17:27 -0700)]
cls_rbd: handle parent overlap

Two things:

 * when we set a parent, the overlap is the min of our size and the
   parent's size.
 * when we resize, our overlap may shrink.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocls_rbd: make snapshots inherit the head's parent
Sage Weil [Sat, 16 Jun 2012 00:03:47 +0000 (17:03 -0700)]
cls_rbd: make snapshots inherit the head's parent

When you take a snapshot, the snap gets the current parent of the head, if
any.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocls_rbd: check for LAYERING feature for parent methods
Sage Weil [Fri, 15 Jun 2012 17:42:49 +0000 (10:42 -0700)]
cls_rbd: check for LAYERING feature for parent methods

You need to set the feature on the image before you can use these methods.
We *could* allow get_parent, but that just means they'll get ENOENT instead
of ENOEXEC, and the latter is more informative.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocls_rbd: implement get_parent, set_parent, remove_parent
Sage Weil [Mon, 18 Jun 2012 21:22:53 +0000 (14:22 -0700)]
cls_rbd: implement get_parent, set_parent, remove_parent

Implement methods to get/set/remove the parent pointer on child images.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocls_rbd_client: use snapid_t type
Sage Weil [Fri, 15 Jun 2012 22:38:27 +0000 (15:38 -0700)]
cls_rbd_client: use snapid_t type

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Tue, 19 Jun 2012 21:29:43 +0000 (14:29 -0700)]
Merge remote-tracking branch 'gh/next'

Conflicts:
src/osd/PG.cc

13 years agorgw: set s->header_ended before flushing formatter
Yehuda Sadeh [Mon, 18 Jun 2012 21:44:38 +0000 (14:44 -0700)]
rgw: set s->header_ended before flushing formatter

otherwise we don't account the formatter in s->bytes_sent.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agorgw: log user and not bucket owner for service operations
Yehuda Sadeh [Mon, 18 Jun 2012 21:28:25 +0000 (14:28 -0700)]
rgw: log user and not bucket owner for service operations

For operations that are done on the service (e.g., list buckets)
we need to log the user that did the operation, and not the bucket
owner.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agorgw: initalize s->enable_usage_log
Yehuda Sadeh [Mon, 18 Jun 2012 21:27:51 +0000 (14:27 -0700)]
rgw: initalize s->enable_usage_log

Missing initialization, we ended up not logging every operation.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agoosd: use derr (instead of cerr) for convertfs
Sage Weil [Tue, 19 Jun 2012 17:12:40 +0000 (10:12 -0700)]
osd: use derr (instead of cerr) for convertfs

This will appear in the log *and* stderr (if we're running in the
foreground).

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoosd: close stderr on daemonize
Sage Weil [Tue, 19 Jun 2012 17:11:01 +0000 (10:11 -0700)]
osd: close stderr on daemonize

This spams stderr in an ugly way.  Users should look at the logs.

In particular, filestore upgrades spam the console, which is unpleasant.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoPG: improve find_best_info
Samuel Just [Tue, 19 Jun 2012 16:11:57 +0000 (09:11 -0700)]
PG: improve find_best_info

07f853db3982e68b952a337cf91cbf7ec0709de9 is actually too conservative,
it suffices to find any info with a last_update of at least the least
last_update from the last period to go active.  An info from a previous
interval is acceptable if the last interval never reported a commited
operation and thus still has the same last_update.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
13 years agoosdcap: make grammar build on spirit 2.2/boost 1.42
Sage Weil [Tue, 19 Jun 2012 16:39:01 +0000 (09:39 -0700)]
osdcap: make grammar build on spirit 2.2/boost 1.42

This is a stupid workaround, but it makes the compilation error go away.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodoc: Added a snapshot page with outline. Needs additional info.
John Wilkins [Tue, 19 Jun 2012 17:15:35 +0000 (10:15 -0700)]
doc: Added a snapshot page with outline. Needs additional info.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agodoc: Added prerequisite of running Ceph cluster.
John Wilkins [Tue, 19 Jun 2012 17:10:51 +0000 (10:10 -0700)]
doc: Added prerequisite of running Ceph cluster.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agoPG: reg_last_pg_scrub on pg resurrection
Samuel Just [Mon, 18 Jun 2012 16:26:12 +0000 (09:26 -0700)]
PG: reg_last_pg_scrub on pg resurrection

This may solve the unreg_last_pg_scrub assert.

see #2453.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agoceph_osd: move auto-upgrade to after fork
Samuel Just [Mon, 18 Jun 2012 21:02:28 +0000 (14:02 -0700)]
ceph_osd: move auto-upgrade to after fork

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agoMerge branch 'master' of github.com:ceph/ceph
John Wilkins [Mon, 18 Jun 2012 21:29:27 +0000 (14:29 -0700)]
Merge branch 'master' of github.com:ceph/ceph

13 years agolibrbd: simplify refresh sequence checks
Sage Weil [Mon, 18 Jun 2012 21:11:37 +0000 (14:11 -0700)]
librbd: simplify refresh sequence checks

- incremental seq each request
- set last to the last completed seq
- drop the now-redundant bool

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
13 years agodoc: first cut of OpenStack/RBD w/out cephx. Authentication coming soon.
John Wilkins [Mon, 18 Jun 2012 21:29:04 +0000 (14:29 -0700)]
doc: first cut of OpenStack/RBD w/out cephx. Authentication coming soon.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agofilestore: make disk format upgrade warning less scary, more informative
Sage Weil [Mon, 18 Jun 2012 21:07:20 +0000 (14:07 -0700)]
filestore: make disk format upgrade warning less scary, more informative

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Sam Just <sam.just@inktank.com>
13 years agomon: include quorum in ceph status
Sage Weil [Mon, 18 Jun 2012 21:02:29 +0000 (14:02 -0700)]
mon: include quorum in ceph status

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: gracefully handle slow 'ceph -w' clients
Sage Weil [Mon, 18 Jun 2012 21:00:06 +0000 (14:00 -0700)]
mon: gracefully handle slow 'ceph -w' clients

If we are sending log updates to a client (ceph -w), and they are far
enough behind to drop behind first_committed, include a friendly message
in their stream but continue.

Drop useless return value from _create_sub_incremental().  Assert that we
can read the state file.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodoc: Added libvirt installation.
John Wilkins [Mon, 18 Jun 2012 20:22:18 +0000 (13:22 -0700)]
doc: Added libvirt installation.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agoPG: best_info must have a last_epoch_started as high as any other info
Samuel Just [Sat, 16 Jun 2012 00:09:42 +0000 (17:09 -0700)]
PG: best_info must have a last_epoch_started as high as any other info

We disregard incomplete infos during find_best_info, but we can't an
info with a last_epoch_started less that of the incomplete info.

This should avoid cases like #2462.  In that case, it appears that
a peer with empty info/log was chosen as authoritative even though
there was a non-empty incomplete peer.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agodoc: btrfs and parted chef recipes are not needed.
Tommi Virtanen [Mon, 18 Jun 2012 17:36:37 +0000 (10:36 -0700)]
doc: btrfs and parted chef recipes are not needed.

They were removed in ceph-cookbooks.git commit
a77b418b95df8f2b6f56d9a90e47dc62100cdf4d.

Signed-off-by: Tommi Virtanen <tv@inktank.com>
13 years agoMerge branch 'next'
Sage Weil [Sun, 17 Jun 2012 21:00:02 +0000 (14:00 -0700)]
Merge branch 'next'

13 years agodebian: fix python-ceph depends
Laszlo Boszormenyi (GCS) [Sat, 16 Jun 2012 20:49:41 +0000 (13:49 -0700)]
debian: fix python-ceph depends

Signed-off-by: Laszlo Boszormenyi (GCS) <gcs@debian.hu>
13 years agodebian: update homepage url
Laszlo Boszormenyi (GCS) [Sat, 16 Jun 2012 20:39:20 +0000 (13:39 -0700)]
debian: update homepage url

Signed-off-by: Laszlo Boszormenyi (GCS) <gcs@debian.hu>
13 years agofilestore: fix 'omap' collection skipping
Sage Weil [Sun, 17 Jun 2012 20:20:59 +0000 (13:20 -0700)]
filestore: fix 'omap' collection skipping

The if/else if/... structure was skipping this test if the file system
didn't support d_type.

Fixes: #2598
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agorun-cli-test: use new pip incantation
Sage Weil [Fri, 15 Jun 2012 21:48:22 +0000 (14:48 -0700)]
run-cli-test: use new pip incantation

http://www.pip-installer.org/en/latest/news.html#id1

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agorun-cli-test: use new pip incantation
Sage Weil [Fri, 15 Jun 2012 21:48:22 +0000 (14:48 -0700)]
run-cli-test: use new pip incantation

http://www.pip-installer.org/en/latest/news.html#id1

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocls_rbd: do not pass snapid_t to vargs
Sage Weil [Sun, 17 Jun 2012 16:07:41 +0000 (09:07 -0700)]
cls_rbd: do not pass snapid_t to vargs

On squeeze,

warning: cls_rbd.cc:534: cannot pass objects of non-POD type ‘struct snapid_t’ through ‘...’; call will abort at runtime

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomsg: fix buffer overflow in ipv6 addr parsing
Sage Weil [Sun, 17 Jun 2012 03:09:04 +0000 (20:09 -0700)]
msg: fix buffer overflow in ipv6 addr parsing

Noticed because of failing i386 unit tests for long addrs; x86_64 passed
fine.  Sigh.  FTR, the failing address was

2001:0db8:85a3:0000:0000:8a2e:0370:7334

Sadly the full length addrs don't turn it up on x86_64, still, nor does
valgrind notice.  But, this fixes it on i386.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoceph.newdream.net -> ceph.com
Sage Weil [Sat, 16 Jun 2012 21:50:29 +0000 (14:50 -0700)]
ceph.newdream.net -> ceph.com
wiki url -> docs url

13 years agoMerge branch 'next'
Sage Weil [Sat, 16 Jun 2012 14:42:17 +0000 (07:42 -0700)]
Merge branch 'next'

Conflicts:
src/cls_rbd.cc

13 years agocls_rbd: drop useless snapshot metadata helpers
Sage Weil [Sat, 16 Jun 2012 14:33:19 +0000 (07:33 -0700)]
cls_rbd: drop useless snapshot metadata helpers

Now that cls_rbd_snap is encodable, we don't need these helpers; get_key()
will suffice.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocls_rbd: use encode macros for on-disk snap metadata
Sage Weil [Thu, 14 Jun 2012 23:12:49 +0000 (16:12 -0700)]
cls_rbd: use encode macros for on-disk snap metadata

This will let us version this encoding later when we add new information
and features, like a per-snap parent.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMerge branch 'wip-rbd-locking'
Greg Farnum [Sat, 16 Jun 2012 00:39:48 +0000 (17:39 -0700)]
Merge branch 'wip-rbd-locking'

Conflicts:
src/cls_rbd.cc

Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
13 years agoPG: best_info must have a last_epoch_started as high as any other info
Samuel Just [Sat, 16 Jun 2012 00:09:42 +0000 (17:09 -0700)]
PG: best_info must have a last_epoch_started as high as any other info

We disregard incomplete infos during find_best_info, but we can't an
info with a last_epoch_started less that of the incomplete info.

This should avoid cases like #2462.  In that case, it appears that
a peer with empty info/log was chosen as authoritative even though
there was a non-empty incomplete peer.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agolibrbd: remove the set-r-and-return idiom from some functions.
Greg Farnum [Sat, 16 Jun 2012 00:26:04 +0000 (17:26 -0700)]
librbd: remove the set-r-and-return idiom from some functions.

Josh hates this, and I have to admit it seems silly.

Signed-off-by: Greg Farnum <greg@inktank.com>
13 years agolibrbd: add cooperative image locking to the C and C++ interfaces
Greg Farnum [Thu, 14 Jun 2012 21:18:25 +0000 (14:18 -0700)]
librbd: add cooperative image locking to the C and C++ interfaces

While we're at it, increment the version number.

Signed-off-by: Greg Farnum <greg@inktank.com>
13 years agolibrbd: include the image lockers in the ImageCtx mutable metadata
Greg Farnum [Thu, 14 Jun 2012 20:43:29 +0000 (13:43 -0700)]
librbd: include the image lockers in the ImageCtx mutable metadata

Signed-off-by: Greg Farnum <greg@inktank.com>
13 years agotest: add rbd image locking tests to test_cls_rbd
Greg Farnum [Tue, 12 Jun 2012 22:12:49 +0000 (15:12 -0700)]
test: add rbd image locking tests to test_cls_rbd

Signed-off-by: Greg Farnum <greg@inktank.com>
13 years agocls_rbd_client: expose locking operations
Greg Farnum [Tue, 12 Jun 2012 22:12:19 +0000 (15:12 -0700)]
cls_rbd_client: expose locking operations

Signed-off-by: Greg Farnum <greg@inktank.com>
13 years agocls_rbd: add failure logging to all callers of read_key.
Greg Farnum [Sat, 16 Jun 2012 00:11:02 +0000 (17:11 -0700)]
cls_rbd: add failure logging to all callers of read_key.

Previously, read_key was printing out error messages when it failed.
But because some callers are fine with it failing on ENOENT, and they
all have more context anyway, it no longer does so and they need
their own logging output. Now they have it.

Signed-off-by: Greg Farnum <greg@inktank.com>
13 years agocls_rbd: add locking functions.
Greg Farnum [Tue, 12 Jun 2012 20:03:36 +0000 (13:03 -0700)]
cls_rbd: add locking functions.

Users can now place shared or exclusive locks, can remove their own
locks, can break the locks of others, and can list locks. All these
functions are considered PUBLIC_EXEC to match the other rbd methods.

Signed-off-by: Greg Farnum <greg@inktank.com>
13 years agofilejournal: make less noise about open failures
Sage Weil [Fri, 15 Jun 2012 21:48:22 +0000 (14:48 -0700)]
filejournal: make less noise about open failures

The callers report errors and pass up errors, so do not spam stderr with
this.  Fixes the confusion that sparked #2595.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agorgw: obj copy respects -metadata-directive
Yehuda Sadeh [Tue, 12 Jun 2012 21:42:03 +0000 (14:42 -0700)]
rgw: obj copy respects -metadata-directive

Fixes #2542. The old behavior just merged src object attrs
and provided attributes. The new (and correct) behavior looks
at the x-[amz|rgw|...]-metadata-directive and either copies
the source attrs, or replaces them with the provided attrs.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agolibrbd: only clear the needs_refresh flag on successful updates.
Greg Farnum [Mon, 11 Jun 2012 17:19:54 +0000 (10:19 -0700)]
librbd: only clear the needs_refresh flag on successful updates.

To support this, add a refresh_seq counter which is incremented every
time we get a notify. This way we can handle the concern from
7add136f907876a20aa2a68297c66b8259afd9a7, in which we get a notify
in the middle of doing a refresh.

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
13 years agoosd: optional verify that sparse_read holes are zero-filled
Sage Weil [Thu, 14 Jun 2012 19:51:07 +0000 (12:51 -0700)]
osd: optional verify that sparse_read holes are zero-filled

This should help us track down/verify #2535.  It seems to happen on several
different systems, but we haven't figured out which ones yet.

This detects the bug, but does not attempt to correct it.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agobuffer: add list and ptr is_zero() method
Sage Weil [Thu, 14 Jun 2012 19:34:46 +0000 (12:34 -0700)]
buffer: add list and ptr is_zero() method

Simple helper to check if a buffer is all zeros.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMerge remote-tracking branch 'gh/wip-osdcap'
Sage Weil [Fri, 15 Jun 2012 18:10:02 +0000 (11:10 -0700)]
Merge remote-tracking branch 'gh/wip-osdcap'

Reviewed-by: Greg Farnum <greg@inktank.com>
13 years agoLFNIndex.cc: escape null in append_[un]escaped
Samuel Just [Fri, 15 Jun 2012 17:10:47 +0000 (10:10 -0700)]
LFNIndex.cc: escape null in append_[un]escaped

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agofilestore: disable 'filestore fiemap' by default
Sage Weil [Fri, 15 Jun 2012 17:00:54 +0000 (10:00 -0700)]
filestore: disable 'filestore fiemap' by default

We've seen this failing on both btrfs (Guido) and XFS (Oliver).  This works
around #2535.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoosdcap: 'allow rwx pool foo' or 'allow pool foo rwx'
Sage Weil [Thu, 14 Jun 2012 23:47:22 +0000 (16:47 -0700)]
osdcap: 'allow rwx pool foo' or 'allow pool foo rwx'

Make the match vs spec order not matter.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoceph-authtool: update docs to reflect no more osdcap deny
Sage Weil [Thu, 14 Jun 2012 23:36:10 +0000 (16:36 -0700)]
ceph-authtool: update docs to reflect no more osdcap deny

Signed-off-by: Sage Weil <sage@inktank.com>