Commit Graph

31148 Commits

Author SHA1 Message Date
Loic Dachary
5b5bc0bc3e mailmap: anonymous contributions are unaffiliated
there only are a few of them

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
b0fe2a944b mailmap: Andras Elso affiliation
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
93a62d73b7 mailmap: Ma Jianpeng affiliation
and name normalization

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
74d5bf506b mailmap: Simon Leinen is with SWITCH
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
f9132e0a9a mailmap: John Spray is with Inktank
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
49842db15b mailmap: Alan Somers affiliation
Reviewed-by: Alan Somers <asomers@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
79563e1905 mailmap: Jonathan Dieter affiliation
Reviewed-by: Jonathan Dieter <jdieter@lesbg.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
a28f1fa243 mailmap: Christian Marie affiliation
and name normalization

Reviewed-by: Christian Marie <pingu@anchor.net.au>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
aa7fc3bbb1 mailmap: Dan Chai is unaffiliated
and name normalization

Reviewed-by: Dan Chai <tengweicai@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:06 +01:00
Loic Dachary
cb9792eeec mailmap: Kai Zhang affiliation
Reviewed-by: Kai Zhang <zakir.exe@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:48 +01:00
Loic Dachary
30f4969f07 mailmap: Ron Allred name normalization
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Loic Dachary
b5d22eb89e mailmap: Thomas Bechtold affiliation
and canonical name. Also fix the name "Deutsche Telekom"

Reviewed-by: Thomas Bechtold <t.bechtold@telekom.de>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Loic Dachary
c8c103b71f mailmap: Xihui He affiliation
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Loic Dachary
f7b000e537 mailmap: Adam Twardowski affiliation
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Loic Dachary
47a5122e41 mailmap: Huang Jun is unaffiliated
and name normalization

Reviewed-by: Huang Jun <hjwsm1989@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Loic Dachary
0dbf44ff71 mailmap: Kun Huang affiliation
As found at https://github.com/pyKun

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Haomai Wang
d70efe9889 FileStore: avoid leveldb check for xattr when possible
Maintain an internal xattr called "spill_out" that indicates whether we
(may) have xattrs stored in omap.  If attribute is set, it will indicate
that we should or should not look in omap.  If the attribute is not
present, then we do not know and will also need to check.

For new stores, this will avoid the overhead of consulting omap in the
general case until a particular objects gets enough (or big) xattrs and
spills over.

For old stores, we will effectively fall back to the previous behavior
of always checking.

Implements #7059

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-01-30 11:01:33 -08:00
Josh Durgin
7b179119b2 Merge pull request #1159 from ceph/wip-rbd-rm-watchers
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-01-30 10:52:50 -08:00
Sage Weil
15c0dd02b6 Merge remote-tracking branch 'gh/next' 2014-01-30 09:19:59 -08:00
Sage Weil
6d1daeae08 unittest_striper: fix warning
In file included from test/test_striper.cc:1:0:
../src/gtest/include/gtest/gtest.h: In function ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = int, T2 = unsigned int]’:
../src/gtest/include/gtest/gtest.h:1300:30: instantiated from ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = int, T2 = unsigned int, bool lhs_is_null_literal = false]’
test/test_striper.cc:57:223: instantiated from here
warning: ../src/gtest/include/gtest/gtest.h:1263:3: comparison between signed and unsigned integer expressions [-Wsign-compare]

Signed-off-by: Sage Weil <sage@inktank.com>
2014-01-30 09:13:30 -08:00
Loic Dachary
83db8b0427 Merge pull request #1167 from mourgaya/master
doc: cls moved to subdirectory

Reviewed-By: Christophe Courtaut <christophe.courtaut@gmail.com>
2014-01-30 07:42:04 -08:00
Eric Mourgaya
f9071a7713 doc: cls moved to subdirectory
Signed-off-by: Eric Mourgaya <eric.mourgaya@gmail.com>
2014-01-30 15:26:04 +01:00
Ilya Dryomov
e78f7564b7 run-rbd-tests: run remove_with_watcher test
Bug #2533 has been fixed for a while now, start running
remove_with_watcher test.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-01-30 14:47:45 +02:00
Ilya Dryomov
4ebc32f37a rbd: don't forget to call close_image() if remove_child() fails
close_image() among other things unregisters a watcher that's been
registered by open_image().  Even though it'll timeout in 30 or so
seconds, it's not nice now that we check for watchers before starting
the removal process.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-01-30 14:47:45 +02:00
Ilya Dryomov
0a553cfa81 rbd: check for watchers before trimming an image on 'rbd rm'
Check for watchers before trimming image data to try to avoid getting
into the following situation:

  - user does 'rbd rm' on a mapped image with an fs mounted from it
  - 'rbd rm' trims (removes) all image data, only header is left
  - 'rbd rm' tries to remove a header and fails because krbd has a
    watcher registered on the header
  - at this point image cannot be unmapped because of the mounted fs
  - fs cannot be unmounted because all its data and metadata is gone

Unfortunately, this fix doesn't make it impossible to happen (the
required atomicity isn't there), but it's a big improvement over the
status quo.

Fixes: http://tracker.ceph.com/issues/7076

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-01-30 14:47:45 +02:00
Ilya Dryomov
dcbe872e06 pybind: work around find_library() not searching LD_LIBRARY_PATH
Commit b28b64a0b6 ("pybind: use find_library for libcephfs and
librbd") switched us to find_library(), but this function doesn't seem
to respect LD_LIBRARY_PATH.  There are numerous python tickets, dating
back several years, but alas.  Work around it by using the soname as
a fallback.  (rados.py has been fixed by commit e46d2ca067 ("fix the
bug  ctypes.util.find_library to search for librados failed on
Centos6.4.")

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-01-30 13:48:22 +02:00
Dan Mick
1a1f53d2e9 Merge pull request #1163 from ceph/wip-7264
pybind/rados.py: improve error output

Reviewed-by: Dan Mick <dan.mick@inktank.com>
2014-01-29 16:17:05 -08:00
Yehuda Sadeh
70c7c9e600 pybind/rados.py: improve error output
Fixes: 7264

When failing to load librados, output the exception.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2014-01-29 16:20:55 -08:00
John Wilkins
456c727ea5 doc: Removed extraneous character from path.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2014-01-29 14:14:29 -08:00
Sage Weil
f32bfa5a37 ceph_test_object_map: fix build
Signed-off-by: Sage Weil <sage@inktank.com>
2014-01-29 08:30:39 -08:00
Alfredo Deza
3a39f363ef Merge pull request #1156 from ceph/wip-ceph-disk
ceph-disk: run the right executables from udev
2014-01-29 07:25:07 -08:00
Sage Weil
75da9f1086 Merge pull request #1148 from ceph/wip-7215-quorum-features
Add monitor quorum features

Reviewed-by: Sage Weil <sage@inktank.com>
2014-01-29 07:22:19 -08:00
Sage Weil
a4d1927b53 Merge remote-tracking branch 'gh/next' 2014-01-29 06:59:23 -08:00
Sage Weil
5476b4b6eb keyvaluestore: name to keyvaluetore-dev for now
This helps warn the user that the ondisk format may be subject to change.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-01-29 06:40:29 -08:00
Sage Weil
e1349df450 Merge pull request #1158 from yuyuyu101/keyvaluestore-dev
Keyvaluestore Support

Reviewed-by: Sage Weil <sage@inktank.com>
2014-01-29 06:38:03 -08:00
Haomai Wang
cfdfb98ad3 Make ObjectStore unit tests shared with KeyValueStore
Via gtest's value-parameterized feature, let the successors of
ObjectStore share the same unit tests.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-01-29 21:50:29 +08:00
Haomai Wang
972d4b24c4 Add KeyValueStore implementation
KeyValueStore is another ObjectStore implementation with FileStore. It
uses KV store wrapper(StripObjectMap) which inherited GenericObjectMap
to implement ObjectStore APIs.

Each object has a header key in KV backend, which encapsulated the metadata
of object such as size, the status of keys. A complete object data maybe spread
around multi keys. The CRUD operation of object need to access the header key
of object to know the details, then the actual data keys will be get.

Now the actual KV backend of KeyValueStore is only LevelDB, more KV backend
(RocksDB, NVM API) will be introduced in the near future.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-01-29 21:50:15 +08:00
Wido den Hollander
03da035f76 docs: Typo in CloudStack user creation 2014-01-29 12:16:05 +01:00
Wido den Hollander
f0f4b8df81 docs: Improve CloudStack documentation.
Add a section about creating a CephX user for CloudStack.
2014-01-29 11:08:08 +01:00
Haomai Wang
8fb366f089 Add a new KV wrapper GenericObjectMap
Now we already have DBObjectMap which implement ObjectMap and other
interfaces, and ObjectMap.h implied that ObjectMap is used to encapsulates
the FileStore key value store. There exists limitation in current DBObjectMap
implementation, such as lacking of "coll_t" in "key", complicated prefix
hard-coded and inflexible extending.

So in order to provide a more flexible API and clear implementation to wrap KV
store, I copy the origin DBObjectMap and redesign the partial implementation.
Adding "coll_t" argument to all API and export "prefix" to callers. Prefixes
are divided into two parts "INTERN" and "USER". "INTERN" keys used by self to
manage and "USER" keys are managed by callers. Besides above, misc fixes are
imported such as more clear member function name and extendible header
structure.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-01-29 17:46:00 +08:00
Sage Weil
b31c0f03cf civetweb: fix warning
Signed-off-by: Sage Weil <sage@inktank.com>
2014-01-28 21:08:03 -08:00
Sage Weil
1e85bc99c9 cls_user: init cls_user_list_buckets_op fields
Signed-off-by: Sage Weil <sage@inktank.com>
2014-01-28 20:08:18 -08:00
Sage Weil
fd260c990b cls_user: init cls_user_stats fields in ctor
Signed-off-by: Sage Weil <sage@inktank.com>
2014-01-28 20:07:00 -08:00
Sage Weil
d0f13f5414 OSDMap: fix deepish_copy_from
Start with a shallow copy!

Signed-off-by: Sage Weil <sage@inktank.com>
2014-01-28 18:46:37 -08:00
Josh Durgin
d7b0c7faaf ceph-disk: run the right executables from udev
When run by the udev rules, PATH is not defined. Thus,
ceph-disk-activate relies on its which() function to locate the
correct executable.  The which() function used os.defpath if none was
set, and this worked for anything using it.

ad6b4b4b08 added a new default value to
PATH, so only /usr/bin was checked by callers that did not use
which(). This resulted in the mount command not being found when
ceph-disk-activate was run by udev, and thus osds failing to start
after being prepared by ceph-deploy.

Make ceph-disk consistently use the existing helpers (command() and
command_check_call()) that use which(), so lack of PATH does not
matter. Simplify _check_output() to use command(),
another wrapper around subprocess.Popen.

Fixes: #7258
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2014-01-28 17:27:21 -08:00
Gregory Farnum
152c2c4182 Merge pull request #1155 from ceph/wip-7190
OSD: don't assume we have the pool in handle_pg_create
Reviewed-by: Greg Farnum <greg@inktank.com>
2014-01-28 13:14:59 -08:00
Josh Durgin
ccfe243db5 Merge pull request #1154 from ceph/wip-7169-2
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-01-28 13:13:59 -08:00
Samuel Just
318e208ab6 OSD: don't assume we have the pool in handle_pg_create
The pool may have been removed since the creation message
was sent.  Previously, role would end up as -1 and this
path would be avoided.

Fixes: 7190
Introduced in 268ae82ac3
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-28 13:05:49 -08:00
Sage Weil
2a737d841e leveldb: add leveldb_* options
The osd_leveldb_* and mon_leveldb_* are now deprecated.  If they are
still used, they override these values.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-01-28 12:18:15 -08:00
Yehuda Sadeh
11cf9bbb29 rgw: fix multipart min part size
As part of the fix for wip-7169 it turned out that we removed
min_part_size. Looking back, the original implementation was broken
anyway and didn't do anything. This fixes it and makes it configurable.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2014-01-28 12:16:59 -08:00