Commit Graph

20131 Commits

Author SHA1 Message Date
Sage Weil
343cc792e8 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>
2012-06-17 12:00:53 -07:00
Sage Weil
e3b6957dd0 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>
2012-06-17 11:15:32 -07:00
Sage Weil
3d4ba4319c 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>
2012-06-17 09:07:41 -07:00
Sage Weil
5efaa8d779 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>
2012-06-16 20:09:04 -07:00
Sage Weil
d9e902f9c5 ceph.newdream.net -> ceph.com
wiki url -> docs url
2012-06-16 14:50:29 -07:00
Sage Weil
150e1fc5c3 Merge branch 'next'
Conflicts:
	src/cls_rbd.cc
2012-06-16 07:42:17 -07:00
Sage Weil
f8a196fb7d 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>
2012-06-16 07:34:00 -07:00
Sage Weil
b08d7ba972 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>
2012-06-16 07:33:43 -07:00
Greg Farnum
dac9f22359 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>
2012-06-15 17:39:48 -07:00
Samuel Just
07f853db39 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>
2012-06-15 17:30:14 -07:00
Greg Farnum
5b1b02b60a 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>
2012-06-15 17:27:10 -07:00
Greg Farnum
b018befd72 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>
2012-06-15 17:27:10 -07:00
Greg Farnum
668aa7866a librbd: include the image lockers in the ImageCtx mutable metadata
Signed-off-by: Greg Farnum <greg@inktank.com>
2012-06-15 17:27:10 -07:00
Greg Farnum
48d2376e0a test: add rbd image locking tests to test_cls_rbd
Signed-off-by: Greg Farnum <greg@inktank.com>
2012-06-15 17:27:10 -07:00
Greg Farnum
71c7ed3f49 cls_rbd_client: expose locking operations
Signed-off-by: Greg Farnum <greg@inktank.com>
2012-06-15 17:27:10 -07:00
Greg Farnum
71e1b1fd18 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>
2012-06-15 17:27:10 -07:00
Greg Farnum
c88a4550ae 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>
2012-06-15 17:27:10 -07:00
Sage Weil
1e899d08e6 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>
2012-06-15 14:48:22 -07:00
Yehuda Sadeh
b415fd219e 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>
2012-06-15 13:44:09 -07:00
Greg Farnum
2dd179883e 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
7add136f90, 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>
2012-06-15 13:06:03 -07:00
Sage Weil
b5de839808 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>
2012-06-15 11:54:19 -07:00
Sage Weil
1156f9435d 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>
2012-06-15 11:54:17 -07:00
Sage Weil
6fd91381d2 Merge remote-tracking branch 'gh/wip-osdcap'
Reviewed-by: Greg Farnum <greg@inktank.com>
2012-06-15 11:10:02 -07:00
Samuel Just
614d5a7bc5 LFNIndex.cc: escape null in append_[un]escaped
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-06-15 10:10:47 -07:00
Sage Weil
9d4ce4bce6 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-15 10:00:54 -07:00
Sage Weil
dbbbe21f52 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>
2012-06-14 16:47:22 -07:00
caleb miles
1bd5d24042 nightly push to local repo 2012-06-14 16:38:51 -07:00
Sage Weil
66df6be8bb ceph-authtool: update docs to reflect no more osdcap deny
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-14 16:36:10 -07:00
Sage Weil
f916168880 osdcap: make caps additive
Make 'allow pool foo r, allow pool foo w, allow x' sufficient when you
require rwx for pool foo.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-14 16:35:02 -07:00
Sage Weil
01f480393c Merge branch 'wip-radosgw-upstart' 2012-06-14 15:17:03 -07:00
Sage Weil
b44092f557 radosgw: stop startup timer on failed start
This fixes crashes like

    -1> 2012-06-14 15:04:31.733009 7f544e18c780 -1 Couldn't init storage provider (RADOS)
     0> 2012-06-14 15:04:31.734110 7f544e18c780 -1 common/Timer.cc: In function 'SafeTimer::~SafeTimer()' thread 7f544e18c780 time 2012-06-14 15:04:31.733020
common/Timer.cc: 57: FAILED assert(thread == __null)

 ceph version 0.47.2-481-g6f30f1f (commit:6f30f1fcdecd6c9390d4678c754dadd305165e3e)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x80) [0x5399a0]
 2: (SafeTimer::~SafeTimer()+0x39) [0x533e77]
 3: (main()+0x6f5) [0x51bc9d]
 4: (__libc_start_main()+0xfd) [0x7f544b38eead]
 5: /home/sage/src/ceph/src/.libs/lt-radosgw() [0x4f9e09]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-14 15:09:16 -07:00
Sage Weil
6f30f1fcde upstart: make id charset include - _ and .
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-14 15:04:07 -07:00
Sage Weil
7bfcc7c4bd radosgw: takes --id, but not -i
The -i short versio doesn't work on 'client' code that tend to use it for
input files.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-14 15:03:46 -07:00
Greg Farnum
92589f8806 objclass: allow class methods to retrieve their triggering entity_inst
Signed-off-by: Greg Farnum <greg@inktank.com>
2012-06-14 14:19:53 -07:00
John Wilkins
7515b05e88 doc: added qemu-img documentation for rbd.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-06-14 14:18:53 -07:00
Yehuda Sadeh
5db4509b8e rgw: limit number of buckets per user
Adding a configurable max_buckets per user. Bucket creation
verifies that max_buckets has not reached.

Backport: dho
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2012-06-14 14:12:56 -07:00
caleb miles
41488c026c Merge branch 'master' of github.com:ceph/ceph into wip-2543 2012-06-14 12:59:40 -07:00
John Wilkins
0adb33d867 doc: Added steps for OpenStack install with DevStack
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-06-14 09:46:32 -07:00
John Wilkins
446e5d8ed2 doc: fixed bash syntax error.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-06-14 09:35:17 -07:00
Sage Weil
97c9f01430 qa: disable xfstest 68 for now
Stop the qa noise we fix #2410.  Looks like a freeze/thaw thing.

Maybe Jan's new freeze/thaw code will address this?  That's probably
wishful thinking.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-14 09:07:26 -07:00
Sage Weil
7f4d1710e1 qa: disable xfstest 219 for now
The cause of 219 failing is non-obvious.  Disable it for now.  :(

Avoids #2522.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-14 09:01:42 -07:00
Sage Weil
051e1686cb osdcap: move semantics of cap check into OSDCap class
The class needs to understand the semantics of possible actions in enough
detail to apply the capabilities it describes, so it makes sense to pass
all of that information into a check method here.  That is preferable to
exposing the internal structure of the capability itself to an external
function to apply the same logic.

Specifically, this fixes the problem where we return the first matching
OSDCapSpec, not a union of all matching specs, and thus fixes a problem
where applying a cap like 'allow r, allow pool foo rwx' to a write
operation in pool foo.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-13 17:15:33 -07:00
Sage Weil
529c48442c Makefile: fix leveldb dep for system library case
We conditionally add this below only if using the bundled version.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-13 16:30:56 -07:00
Sage Weil
3dbad22cfc Makefile: fix leveldb includes for system library case
Use the installed headers, not ours.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-13 16:30:56 -07:00
Tommi Virtanen
e48dab43ae doc: Multi-monitor support means ceph::single_mon was renamed.
This changed in ceph-cookbooks.git commit
8e56551b11fe28cc4f29f4fcdcf6c38516bdc833.

Signed-off-by: Tommi Virtanen <tv@inktank.com>
2012-06-13 16:23:14 -07:00
Sage Weil
762f6d9541 osdcap: whitespace to make grammar more readable
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-13 13:55:38 -07:00
Sage Weil
1cfd65b128 osdcap: use static const instead of #define
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-13 13:42:36 -07:00
Sage Weil
bf72a00e09 osdcap: drop unused 'auid' arg from get_cap(), is_match()
The intent was to do a cap like 'allow pools-that-i-own ...', but in
practice you just do 'allow pool <myuid> ...'.. the actual auid you
authenticate as is redundant, since the cap itself is authenticated.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-13 13:42:24 -07:00
Sage Weil
67710a65c7 rbd: fix usage test
Fixes: #2347
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-13 11:24:19 -07:00
Sage Weil
66553d25f0 Makefile: link gtest statically
The problem:

 - the unittests link against gtest, and gtest is not installed.  that's
   normally fine, but...
 - rbd and rados api unit tests link against gtest, and are installed
   by 'make install'.  they are needed for teuthology runs, etc.
 - if we build gtest as an .la library, we can only control whether *all*
   or *no* .la libraries are linked statically.
 - we want librados to be linked dynamically.

The solution:

 - build gtest as .a instead of a libtool library
 - link it statically, always.

Unit test binaries are bigger now.  Oh well...

Fixes: #2331
Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-13 11:05:53 -07:00