Commit Graph

28565 Commits

Author SHA1 Message Date
Sage Weil
be889fa956 Merge remote-tracking branch 'gh/next' 2013-09-06 09:50:41 -07:00
Sage Weil
39c89dcfed common/crc32c_intel_fast: avoid reading partial trailing word
The optimized intel code reads in word-sized chunks, knowing that the
allocator will only hand out memory in word-sized increments.   This makes
valgrind unhappy.  Whitelisting doesn't work because for some reason there
is no caller context (probably because of some interaction with yasm?).

Instead, just use the baseline code for the last few bytes.  This should
not be significant.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-09-06 09:31:59 -07:00
Sage Weil
bb980c8545 Merge pull request #567 from roaldvanloon/wip-cleanup-globals
Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-05 13:29:10 -07:00
Roald J. van Loon
8d0a1dbc79 cleanup: reduced number of pointer indirection in osd
Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
2013-09-05 21:02:47 +02:00
Roald van Loon
5dd0a83f91 cleanup: removing globals from common/obj_bencher
This file is in common/ but cant be included in libcommon.la because of
this reference. Removing it, making the binary calling it to pass the
correct cephcontext (rados, rest-bench).

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
2013-09-05 21:02:47 +02:00
Roald van Loon
cf93c83858 cleanup: removing refs to globals from libosd
Removed almost all references to globals, apart from two;

- In OSD.cc: reference to g_lockdep
- In PG.h: NamedState uses ceph_clock_now(g_ceph_context)

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
2013-09-05 21:02:47 +02:00
Roald van Loon
9c4e62660a cleanup: removed last references to globals from client
- There were some refs in SyntheticClient to g_(ceph_context|conf), I
  replaced them with client->cct and client->cct->_conf.
- There were some refs in fuse_ll to g_conf, also replaced them with
  client->cct or cfuse->client->cct where applicable.

This makes everything in src/client completely independent from globals.

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
2013-09-05 21:01:31 +02:00
Sage Weil
d33853d380 Merge pull request #555 from dachary/master
minor documentation fixes
2013-09-05 08:51:21 -07:00
Sage Weil
dfcee0cbee osd/ReplicatedPG: set reply versions for pg ops (PGLS)
Returning the current version for the pgid and last_user_version makes
some sense here.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit b05f7ea519)
2013-09-04 17:35:28 -07:00
Sage Weil
c4414a34b0 osd/ReplicatedPG: set reply versions on dup op ACK
All other MOSDOpReply creators do this, with the exception of the pg
op.

Fixes: #6222
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 5148aac73d)
2013-09-04 17:35:24 -07:00
Yehuda Sadeh
9a551296e0 rgw: flush pending data when completing multipart part upload
Fixes: #6111
Backport: dumpling
When completing the part upload we need to flush any data that we
aggregated and didn't flush yet. With earlier code didn't have to deal
with it as for multipart upload we didn't have any pending data.
What we do now is we call the regular atomic data completion
function that takes care of it.

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-04 16:41:46 -07:00
Sage Weil
16b24f10a0 librados: make note of which calls steal the bufferlist contents
This is an unfortunate feature of the API, but it can't be changed without
potentially breaking users.

Fixes: #5989
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-04 16:39:34 -07:00
Yehuda Sadeh
c8ec532fad rgw: check object name after rebuilding it in S3 POST
Fixes: #6088
Backport: bobtail, cuttlefish, dumpling

When posting an object it is possible to provide a key
name that refers to the original filename, however we
need to verify that in the end we don't end up with an
empty object name.

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-04 16:26:14 -07:00
Yehuda Sadeh
ea412c05f6 Merge branch 'wip-6078' into next
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-09-04 16:18:38 -07:00
Yehuda Sadeh
6af5a5377f rgw: fix certain return status cases in CORS
Change return values in certain cases, reorder
checks, etc.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-04 16:11:21 -07:00
Yehuda Sadeh
6ae4049a09 rgw: add COPY method to be handled by CORS
Was missing this http method.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-04 16:11:21 -07:00
Yehuda Sadeh
8203b9b058 rgw: fix CORS rule check
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-04 16:11:21 -07:00
Yehuda Sadeh
b564db891e rgw: don't handle CORS if rule not found (is NULL)
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-04 16:11:20 -07:00
Yehuda Sadeh
c540798312 rgw: tie CORS header response to all relevant operations
Have the CORS responses on all relevant operations. Also add headers
on failure cases.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-04 16:11:20 -07:00
Yehuda Sadeh
83eb5d678a rgw: add a generic CORS response handling
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-04 16:11:20 -07:00
Yehuda Sadeh
df4f712f4a rgw: OPTIONS request doesn't need to read object info
This is a bucket-only operation, so we shouldn't look at the
object. Object may not exist and we might respond with Not
Exists response which is not what we want.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-04 16:11:20 -07:00
Yehuda Sadeh
77c2a331e0 rgw: remove use of s->bucket_cors
Some old code still tried to use s->bucket_cors, which was
abandoned in a cleanup work.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-04 16:11:20 -07:00
Sage Weil
3e90c2abc9 common: unit test for crc32c
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-09-04 16:05:27 -07:00
Sage Weil
3233336cc3 common/crc32c_intel_fast: fix compile-time #ifdef
This wasn't getting built in!

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-09-04 16:05:14 -07:00
Sage Weil
cfb07f1451 arch: add NEON cpu feature detection
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-09-04 16:05:00 -07:00
John Wilkins
83a4848e27 doc: Updated usage for --infile syntax. Added zone name for zone syntax.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-04 15:37:14 -07:00
Sage Weil
df112473bc mon/OSDMonitor: fix POOL_OP_DELETE_SNAP early return
Cut&paste goof in 0e85074402.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-04 14:44:54 -07:00
John Wilkins
e95e707345 doc: Organized into sections. Added zone/region and pool details.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-04 13:28:34 -07:00
Sage Weil
9f44de5cbe doc/release-notes: v0.68
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-04 11:25:56 -07:00
Sage Weil
6a4f4f0d7a Merge remote-tracking branch 'gh/wip-6047'
Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-04 10:43:04 -07:00
Sage Weil
b05f7ea519 osd/ReplicatedPG: set reply versions for pg ops (PGLS)
Returning the current version for the pgid and last_user_version makes
some sense here.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-09-04 10:25:44 -07:00
Sage Weil
5148aac73d osd/ReplicatedPG: set reply versions on dup op ACK
All other MOSDOpReply creators do this, with the exception of the pg
op.

Fixes: #6222
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-09-04 10:25:33 -07:00
Greg Farnum
f566102c3c doc: remove 'Unexpected indentation' from versions doc.
Signed-off-by: Greg Farnum <greg@inktank.com>
2013-09-04 10:10:03 -07:00
Sage Weil
b56af55243 Merge pull request #564 from ljagiello/swift_doc_fix
Correct syntax for generate swift key

Signed-off-by: Lukasz Jagiello <jagiello.lukasz@gmail.com>
2013-09-04 09:28:58 -07:00
Lukasz Jagiello
a9a516a299 Correct syntax for generate swift key 2013-09-04 16:33:57 +02:00
Loic Dachary
ab69d99309 mon: fix typo and remove redundant sentence
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-04 12:34:23 +02:00
Loic Dachary
7c09ede7a2 mon: fix typo in comment
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-04 12:33:15 +02:00
Loic Dachary
3c9f8498c8 doc: erasure code ghobject is made of gen_t + shard_t
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-04 12:33:15 +02:00
Gary Lowell
d9187a73c3 Merge branch 'next' 2013-09-04 01:37:41 -07:00
Gary Lowell
b4cf0f2574 v0.68 2013-09-03 16:10:31 -07:00
Sage Weil
2b2f296ed8 Merge branch 'wip-copyfrom'
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-09-03 16:00:28 -07:00
Dan Mick
dcbdeaf6d1 doc: Fix repo URL for Ceph cloning (dev/generatedocs)
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-09-03 15:56:53 -07:00
Sage Weil
996af2d8fd ceph_test_rados: test COPY_FROM
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-03 15:48:30 -07:00
Sage Weil
ed68079198 osd: initial COPY_FROM (not viable for large objects)
Initial pass at COPY_FROM implementation.  This uses COPY_GET to read an
object from another OSD and write it locally.  It chunks the read but
accumulates it all in-memory and commits it at once, so it is only suitable
for smaller objects.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-03 15:48:30 -07:00
Sage Weil
3a8adf5314 objecter, librados: add COPY_FROM operation
This operation will copy an entire object (data, attrs, omap)
atomically.  If the src_version does not match the source object, or
the source object is updated while the copy is in progress, we will
fail with a suitable error code.  By atomic we mean that it will either
successfully copy the entire object in its entirety or it will fail (and
require no cleanup).

Add to C++ librados API only for now.

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

Conflicts:

	src/include/ceph_strings.cc
	src/include/rados.h
	src/osd/osd_types.cc
2013-09-03 15:48:30 -07:00
John Wilkins
746e78c650 doc: Updated manual install to include sync agent, ARM packages, and DNS configuration.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-03 14:20:59 -07:00
Sage Weil
c367d6fee2 ceph_test_rados: add missing kick for rollback
This was broken by the refactor in 96aaa5e3a3
and can make us hang.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-09-03 14:10:29 -07:00
Yehuda Sadeh
1d1f7f18df rgw: change watch init ordering, don't distribute if can't
Backport: dumpling

Moving back the watch initialization after the zone init,
as the zone info holds the control pool name. Since zone
init might need to create a new system object (that needs
to distribute cache), don't try to distribute cache if
watch is not yet initialized.

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-03 13:33:23 -07:00
Greg Farnum
087800ee49 osd: provide better version bounds for cls_current_version and ENOENT replies
Following the changes to when we set or increase the user_version, we
want to continue to return the best lower bound we can on the version
of any newly-created object. For ENOENT replies that means returning
info.last_user_version instead of the (potentially-zero) ctx->user_at_version.

Similarly, for cls_current_version we want to return the last version on
the PG rather than the last update to the object in order to provide
sensible version ordering across object deletes and creates.

Update the versions doc so it continues to be precise.

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-03 10:54:23 -07:00
Sage Weil
d71cd54950 Merge remote-tracking branch 'gh/wip-6179'
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-09-03 10:07:26 -07:00