Commit Graph

21462 Commits

Author SHA1 Message Date
Josh Durgin
2e366ea8aa OSD: deprecate CLS_METHOD_PUBLIC flag
Remove all existing usage, but leave the definition so third-party
class plugins don't break.

The public flag let *any* user execute a class method, as long
as they had read and/or write access as the method required. This is
better managed by the new osd caps infrastructure, and it was
entirely undocumented and unused, so it should be safe to remove.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-10-02 15:43:37 -07:00
Josh Durgin
7ea8f16e22 doc: update ceph-authtool man page for new osd caps
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-10-02 15:43:37 -07:00
Josh Durgin
13ba5ec528 objclass: require each class method to have a flag set
The osd depends on this to set the client op flags for class call ops.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-10-02 15:43:37 -07:00
Josh Durgin
135c85a46e OSDCap: add separate caps for class read and class write
These are useful for rbd layering, since reading an rbd image
requires read-only class methods.

Fixes: #3167
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-10-02 15:43:37 -07:00
Josh Durgin
bf333d8e43 OSDCap: allow runs of spaces anywhere
I couldn't find a way to do this with skip parsers,
so these are explicitly included in the grammar.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-10-02 15:40:23 -07:00
Josh Durgin
12bba4a5b2 OSDCap: parse spaces explicitly
This is necessary to avoid matching things like "allow r poolfoo".
It's also needed to distinguish "allow r class-read" from
"allow r class -read".

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-10-01 10:26:06 -07:00
Josh Durgin
b57b86a215 test: remove commented out test cases
These are copied from non-commented out ones a few lines above.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-10-01 10:24:47 -07:00
Josh Durgin
2e1ea3f057 OSDCap: parse 'pool=<poolname>' in addition to 'pool <poolname>'
This was used in releases before 0.49, and was the documented way
to use it in several places, so support it again for backwards
compatibility.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-28 16:33:58 -07:00
Josh Durgin
67ab9659fb Makefile.am: recompile small file instead of libosd for unit test
Linking with libosd requires a lot more recompilation
when testing changes to OSDCap.cc.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-28 16:09:59 -07:00
Josh Durgin
524a438d05 test: add more OSDCap unit tests
Check that allow_all() returns false when 'allow *' is not specified.
This would have caught #3228.
Add tests for the output operators as well.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-28 16:09:59 -07:00
Josh Durgin
142d9021dc OSDCaps: fix allow_all()
OSD_CAP_ANY is not a mask. Treating it as one made any allowance
equivalent to 'allow *'.

Fixes: #3228
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-28 16:09:59 -07:00
Josh Durgin
30903662f3 OSDCap: fix output operators for caps
OSD_CAP_ANY is not a flag, but a value (0xff) that will always
be true when treated as a mask with a non-zero rwxa_t.

Don't duplicate the rwxa_t output operator in the OSDCapSpec output
operator, just use it.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-28 16:09:58 -07:00
Josh Durgin
47a2f41be0 OSDCap: fix typo in comment
The grammar uses auid, not uid.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-28 16:09:58 -07:00
Josh Durgin
42a63f34cc OSDCap: remove grants added during failed parsing
Parsing has side effects that must be undone if it fails.  A
capability string like 'allow rwx pool=bar' will add the grant for
'allow rwx' and then fail on the 'pool=bar'. Thus, the client will
effectively have 'rwx' permissions on all pools.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-28 16:09:58 -07:00
John Wilkins
0ee6a951dd doc: Added commentary for BMC and VLAN.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-27 16:50:16 -07:00
John Wilkins
30e10a9ac9 doc: RST cleanup for RPM dev package installs.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-27 15:02:42 -07:00
John Wilkins
2fc29fe9ef doc: Removed old ops directory structure and redundant files.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-27 15:02:05 -07:00
Sam Lang
ff96789e46 client: add WARN_UNUSED_RESULT to client init func
Adds the gcc attribute (if available) to client init functions to
ensure proper error handling.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-09-27 14:34:29 -07:00
Sam Lang
27c7c71f14 client: Remove unmaintained ldceph.cc from tree
Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-09-27 14:34:29 -07:00
Sam Lang
a1cfe74ae8 client: Mods to fix #3184 for messenger shutdown
This moves the shutdown of the messenger outside of the client
to be able to handle error cases more appropriately.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-09-27 14:34:29 -07:00
Dan Mick
1d231f9364 Refresh manpages from .rst sources
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2012-09-27 14:33:04 -07:00
Dan Mick
3c1e2e1928 manpage-howto.txt: note that man/Makefile.am may need update too
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2012-09-27 14:33:04 -07:00
Dan Mick
eb27f9addb Add howto for changing man pages
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2012-09-27 14:20:04 -07:00
Sage Weil
d37ca798be mon: update 'auth' help/usage
Fixes: #3227
Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-27 14:15:39 -07:00
Sage Weil
1d552a4ba0 rados: fix man page
Default bench IO size if 4MB.

Fixes: 3230
Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-27 14:10:51 -07:00
Sage Weil
8740ddf97d doc: fix rpm url (part deux)
Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-27 14:00:40 -07:00
Sage Weil
18921ed2ef Merge remote-tracking branch 'gh/wip-watch-header-race' 2012-09-27 13:37:52 -07:00
Josh Durgin
6c5c939f1d librbd: fix includes for portability
This needs limits.h for Centos, and the inttypes.h wrapper for FreeBSD.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-27 13:34:22 -07:00
Sage Weil
aae9214c80 Merge remote-tracking branch 'gh/wip-osd'
Reviewed-by: Samuel Just <sam.just@inktank.com>
2012-09-27 13:33:45 -07:00
Yehuda Sadeh
c9266d6541 rgw: check that realloc succeeded
Was missing a test after a realloc.

Backport: argonaut
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-27 13:31:48 -07:00
Mike Ryan
45133971cc ReplicatedPG: track incoming pushes with perf counters
Add perf counters tracking the number of inbound pushes along with the
amount of data in each request.

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
2012-09-27 13:26:05 -07:00
Samuel Just
3f952afe5d PG: explicitely delay ops on backfill_pos
Previously, we considered backfill_pos degraded in order to delay
ops since a write to backfill_pos could generate a snap before
backfill_pos, and we assume that (0, backfill_pos) is fully
backfilled.  This is a problem since it's possible that
backfill_pos is a valid object, but not one that currently exists.
For example, it might have been deleted since last_backfill was
last changed.  Instead, we will explicitly delay ops on
backfill_pos in waiting_for_backfill_pos.

This error resulted in #2691 since wait_for_degraded_object also
attempts to recover the object. At this point, the primary would
attempt to recover the object, find that it isn't there, and put
it in the missing set with need=0,0.  Eventually, recover_primary
attempts to recover that object, finds that it has been deleted
in the log, and asserts.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-09-27 13:21:53 -07:00
Sage Weil
a351f7a1f4 Merge remote-tracking branch 'gh/wip_backfill_full2'
Conflicts:
	src/include/ceph_features.h
2012-09-27 13:21:23 -07:00
Samuel Just
0a2f827850 PG: last_complete might be outside of the log
When we encounter a divergent log entry, we put the
object into the missing set at the prior_version
for the divergent event.  Unfortunately, the event
at prior_version might have been trimmed leaving
the missing set with an item with a need prior to
log_tail.  Thus, last_complete also ends up being
prior to log_tail.

Caused #3208.

There is another bug related to this one: #3213.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-09-27 13:20:35 -07:00
Sage Weil
4c4c9d503e doc: fix rpm url
Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-27 13:06:03 -07:00
Sage Weil
879b34daa9 v0.52
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJQZIivAAoJEH6/3V0X7TFtgggQAKU97wvpdnqeYdGPDWH5A8sR
 HGzsSvJFTMTDCN42sJA/QFCaBYEO0BUlng8bJBFVCgPrn2Rl8GhMORRyTnzHiRhr
 DHHgI5zoGtteYHYByCXcTGh4iSxcClmXLNIP4kd4TY15By/npcHo5zDZ7fOQENb8
 9OCF38eu7xIU1VhNCo97pNoKCGM0THfCvY+qbRiZ7rSaMPoU2h55+f28n/8NHyoC
 a3COmQB3QHErf9J1o+6zwBRM+z03+5i5J5ojv+FFaOj8r0KgNTssDCuolYPdyhL/
 xaQOtEc6QHH4qYpEMxbMdTgyTkssnn8Qtqb1XqxjCoL7W1YxKiRfQCathVjROQ2b
 wTkyN1JihLxzcWmoFph7z2gtPcTaqajlp800qxUjC8kQj63YhIUiSLMMMUqkxhLw
 GkWRflrzVXRhrVfTajFzKrzjDm9vuzZz+hxvJLVRGwReJ48rxOybzA69hUc9fpbo
 Tgui3CSJAEqlqgXb8VKmwOJJu+IYjJrOEON/5++lNSexN8fAqDyMC2HTPlClQqnp
 fDK9AT9xGsm6V/PB40I8jmhOVH23LttAUqW6M3kEMmIBBdF/krv1K+UPfKCMxFS/
 xsxfRNmVd84ycJWvPSxUPkWdl0bDRj9PQnV9iCuZiAY9f19dYhPWJp3c8v7ThPTB
 oFL9UJFMDcFJ3uWcsa/p
 =MsuW
 -----END PGP SIGNATURE-----

Merge tag 'v0.52'

v0.52

Conflicts:
	src/rgw/rgw_rados.cc
2012-09-27 12:54:07 -07:00
Yehuda Sadeh
214327ef6f rgw: copy_object should not override ETAG implicitly
When copying an object with new attrs, we still need to
maintain the ETAG.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>

Conflicts:
	src/rgw/rgw_rados.cc
2012-09-27 12:52:21 -07:00
Jim Schutt
25a9620a72 FileJournal: correctly check return value of lseek in write_fd
Signed-off-by: Jim Schutt <jaschut@sandia.gov>
2012-09-27 11:09:50 -07:00
Josh Durgin
3144690937 doc: fix injectargs syntax
The OSD processes only a single string. The existing example wouldn't
even be passed to the OSD, since it would be interpreted as an option
to the ceph command.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-27 10:19:59 -07:00
Gary Lowell
e48859474c v0.52 2012-09-27 16:26:11 +00:00
Sage Weil
9e9c5f2591 osd: make 'pg <pgid> revert ...' command idempotent
A failure in the ceph tool -> osd connection may mean this command is sent
twice.  This regularly causes failures in QA.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-27 08:11:58 -07:00
Sage Weil
d3d1b7b377 Merge remote-tracking branch 'gh/wip-rbd-docs' 2012-09-26 18:43:34 -07:00
Sage Weil
de5bb62e9c Merge remote-tracking branch 'gh/wip_coverity_osd'
Conflicts:
	src/librbd/internal.cc

Reviewed-by: Sage Weil <sage@inktank.com>
2012-09-26 18:43:12 -07:00
Sage Weil
f6da4377d0 Merge branch 'wip-rpm-doc' 2012-09-26 18:42:52 -07:00
Sam Lang
175465bbd1 cephfs: Fix breakage of cephfs link
Add libcommon.la to LDADD for cephfs.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2012-09-26 17:50:19 -07:00
Josh Durgin
8c3bfaa30a doc: update ceph-authtool man page
* document osd capabilities
* fix librados user example
* fix example with outdated syntax (pool= and uid= are not supported)
* ignore auid, object prefix, and class restrictions for now since
  they aren't usable yet
* fix header for keyring file section

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-26 17:41:03 -07:00
Josh Durgin
3b0e1205ce doc: clarify rbd caching
* note that it's only for librbd
* put settings in the [client] section for clarity
* fix typo
* re-indent and clarify sentence about clustered fs on top of RBD

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-26 17:41:03 -07:00
Josh Durgin
fa3a7472f9 doc: fix typo in dev layering notes
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-26 17:41:03 -07:00
Josh Durgin
f0a5c562f5 doc: small fixes to the OpenStack page
* 'Ceph common' is not a package name
* config dir is /etc/nova, not /etc/conf
* remove trailing whitespace

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-26 17:41:03 -07:00
Josh Durgin
8964f10faf doc: remove MDS from diagram describing RBD and OpenStack
The MDS is not used with RBD or librados.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-26 17:41:03 -07:00