Commit Graph

20188 Commits

Author SHA1 Message Date
Sage Weil
77d836c5b8 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>
2012-06-21 17:10:30 -07:00
Sage Weil
de5b323659 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>
2012-06-21 17:10:30 -07:00
Sage Weil
c399d903dd 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>
2012-06-21 17:10:30 -07:00
Sage Weil
0aaf7334a9 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>
2012-06-21 17:10:29 -07:00
Sage Weil
06288a9d10 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>
2012-06-21 17:10:29 -07:00
Sage Weil
2355b233ea 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>
2012-06-21 17:10:29 -07:00
Samuel Just
2fe9816305 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>
2012-06-21 17:10:29 -07:00
Travis Rhoden
ddf7e836d6 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>
2012-06-21 13:29:43 -07:00
Sage Weil
448f5b02b1 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>
2012-06-21 12:43:00 -07:00
Yehuda Sadeh
58db045a2c docs: clarify example in radosgw-admin
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-06-21 11:35:13 -07:00
Sage Weil
7044192da5 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>
2012-06-21 11:17:48 -07:00
Sage Weil
990febd93a 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>
2012-06-21 11:17:48 -07:00
Yehuda Sadeh
62a4ad66d1 docs: update usage logging info
added some text under radosgw, examples under radosgw-admin

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-06-21 10:47:44 -07:00
Sage Weil
a85a15fef4 Merge remote-tracking branch 'gh/stable' into next 2012-06-21 08:20:17 -07:00
John Wilkins
1e539daf06 doc: Normalized shell script syntax. Added generic cookbook path.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-06-20 15:10:23 -07:00
John Wilkins
7d38758a02 doc: Changed libvirt-dev to libvirt-bin, and cleaned up ./autogen.sh
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-06-20 14:29:58 -07:00
Tommi Virtanen
3e32dd08ef doc: Typo.
Signed-off-by: Tommi Virtanen <tv@inktank.com>
2012-06-20 12:55:29 -07:00
Sage Weil
c467d9d1b2 v0.47.3 2012-06-20 10:57:41 -07:00
Sage Weil
17dcf60510 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>
2012-06-20 10:02:36 -07:00
Samuel Just
88c7629e04 OSD: clear_temp: split delete into many transactions
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2012-06-19 17:34:20 -07:00
Sage Weil
6948af0284 Merge branch 'wip-clsrbd'
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2012-06-19 15:19:21 -07:00
Yehuda Sadeh
b84e1ed5f2 doc: document usage log
Modify radosgw, radosgw-admin man page

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-06-19 15:17:53 -07:00
Sage Weil
25311e96f0 cls_rbd: note overlap units
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-19 15:08:19 -07:00
Sage Weil
156879f40e cls_rbd: fix uninitialized var in cls_rbd_parent
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-19 15:08:19 -07:00
Sage Weil
986d0e11b0 cls_rbd: clean up doxygen, whitespace a bit
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-19 15:08:19 -07:00
Sage Weil
4e73ca4532 cls_rbd: include dumpers, test instances for our types
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-19 15:08:18 -07:00
Sage Weil
87cadffd7c 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>
2012-06-19 15:08:18 -07:00
Sage Weil
3948e0690e 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>
2012-06-19 15:08:18 -07:00
Sage Weil
e8b36ed97e 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>
2012-06-19 15:08:17 -07:00
Sage Weil
f87c441f68 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>
2012-06-19 15:08:17 -07:00
Sage Weil
2f75b466c9 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>
2012-06-19 15:08:17 -07:00
Sage Weil
c7f91e6c3d cls_rbd_client: use snapid_t type
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-19 14:35:44 -07:00
Sage Weil
c70c09f63a Merge remote-tracking branch 'gh/next'
Conflicts:
	src/osd/PG.cc
2012-06-19 14:29:43 -07:00
Yehuda Sadeh
145d1c146b 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>
2012-06-19 13:26:02 -07:00
Yehuda Sadeh
8a4e2a116b 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>
2012-06-19 13:26:00 -07:00
Yehuda Sadeh
282e2260f9 rgw: initalize s->enable_usage_log
Missing initialization, we ended up not logging every operation.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-06-19 13:25:58 -07:00
Sage Weil
f3f144adf1 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>
2012-06-19 10:12:40 -07:00
Sage Weil
74658dfa2f 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>
2012-06-19 10:11:01 -07:00
Samuel Just
4ec9633653 PG: improve find_best_info
07f853db39 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>
2012-06-19 10:49:48 -07:00
Sage Weil
5435a4de6f 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>
2012-06-19 09:39:01 -07:00
John Wilkins
992faa42e1 doc: Added a snapshot page with outline. Needs additional info.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-06-19 10:15:35 -07:00
John Wilkins
2be02918ca doc: Added prerequisite of running Ceph cluster.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-06-19 10:10:51 -07:00
Samuel Just
0d8970fc81 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>
2012-06-18 14:33:50 -07:00
Samuel Just
b0e66b70cb ceph_osd: move auto-upgrade to after fork
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-06-18 14:33:33 -07:00
John Wilkins
6c88ff599d Merge branch 'master' of github.com:ceph/ceph 2012-06-18 14:29:27 -07:00
Sage Weil
6feeff9555 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>
2012-06-18 14:30:28 -07:00
John Wilkins
b101f4cea0 doc: first cut of OpenStack/RBD w/out cephx. Authentication coming soon.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-06-18 14:29:04 -07:00
Sage Weil
37e56e0123 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>
2012-06-18 14:07:20 -07:00
Sage Weil
030a2e3bf4 mon: include quorum in ceph status
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-18 14:02:29 -07:00
Sage Weil
2fc2cf03b3 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>
2012-06-18 14:00:06 -07:00