summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rgw: set attrs on various list bucket xml results (swift)wip-4247Yehuda Sadeh2013-02-221-4/+4
| | | | | | | | Fixes: #4247 The list buckets operation was missing some attrs on the different xml result entities. This fixes it. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* formatter: add the ability to dump attrs in xml entitiesYehuda Sadeh2013-02-222-9/+88
| | | | | | | | | | | | | xml entities may have attrs assigned to them. Add the ability to set them. A usage example: formatter->open_array_section_with_attrs("container", FormatterAttrs("name", "foo", NULL)); This will generate the following xml entity: <container name="foo"> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* Merge pull request #66 from jaharkes/range_requestsYehuda Sadeh2013-02-211-4/+4
|\ | | | | Fix failing > 4MB range requests through radosgw S3 API.
| * Fix failing > 4MB range requests through radosgw S3 API.Jan Harkes2013-02-211-4/+4
|/ | | | | | | | | | | | When a range request is made for more than rgw_get_obj_max_req_size bytes the first returned chunk sets 'ret' to STATUS_PARTIAL_CONTENT and all remaining chunks behave as if there is an error state and only return a minimal header. Fix this by passing STATUS_PARTIAL_CONTENT to set_req_state_err, but leave the 'ret' member variable untouched. Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
* osd: an interval can't go readwrite if its acting is emptySage Weil2013-02-211-1/+2
| | | | | | | Let's not forget that min_size can be zero. Fixes: #4159 Signed-off-by: Sage Weil <sage@inktank.com>
* Merge branch 'next'Sage Weil2013-02-2114-63/+281
|\ | | | | | | | | Conflicts: src/osd/ReplicatedPG.cc
| * osd: clear recovery state on pg removalSage Weil2013-02-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | This ensures we release our in-progress recovery counters, which prevents recovery from getting blocked indefinitely when a pool removal races with recovery ops. Fixes: #4217 Backport: bobtail Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * rgw: refactor header grantsYehuda Sadeh2013-02-201-22/+11
| | | | | | | | | | | | Move definition to a static array. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw_acl: Support ACL grants in headers.caleb miles2013-02-2011-34/+244
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue 3669: Support S3 ACL grants specified in request headers. Allow requests, excluding POST object, to specify ACL grants in HTTP headers. Signed-off-by: caleb miles <caleb.miles@inktank.com> Conflicts: src/rgw/rgw_acl_s3.cc src/rgw/rgw_acl_s3.h src/rgw/rgw_rest_s3.cc src/rgw/rgw_rest_s3.h Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * osd: lock pg in build_past_intervals_parallel()Sage Weil2013-02-201-0/+2
| | | | | | | | | | | | | | | | | | Methods called by write_if_dirty() (get_osdmap()) assert that the pg is locked. Backport: bobtail Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * rgw: fix multipart uploads listingYehuda Sadeh2013-02-191-4/+4
| | | | | | | | | | | | | | | | | | | | Fixes: #4177 Backport: bobtail Listing multipart uploads had a typo, and was requiring the wrong resource (uploadId instead of uploads). Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * rgw: don't copy object when it's copied into itselfYehuda Sadeh2013-02-191-25/+38
| | | | | | | | | | | | | | | | | | | | | | Fixes: #4150 Backport: bobtail When object copied into itself, object will not be fully copied: tail reference count stays the same, head part is rewritten. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
* | mds: parse ceph.*.layout vxattr key/value contentSage Weil2013-02-202-1/+57
| | | | | | | | | | | | | | | | Use qi to parse a strictly formatted set of key/value pairs. Be picky about whitespace. Any subset of recognized keys is allowed. Parse the same set of keys as the ceph.*.layout.* vxattrs. Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge branch 'wip_watch_cleanup'Samuel Just2013-02-2017-768/+1100
|\ \ | | | | | | | | | Reviewed-by: Greg Farnum <greg@inktank.com>
| * | ReplicatedPG: allow multiple watches in one transactionSamuel Just2013-02-202-14/+14
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | doc: add some internal docs for watch/notifySamuel Just2013-02-201-0/+78
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | librados/: include watch cookie in notify_ackSamuel Just2013-02-205-17/+20
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | ReplicatedPG: accept watch cookie value with notify ackSamuel Just2013-02-202-5/+30
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | Watch/Notify: rework watch/notifySamuel Just2013-02-209-653/+856
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | osd/: move ObjectContext over to osd_types.hSamuel Just2013-02-202-93/+105
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | PG: check object_contexts on flushedSamuel Just2013-02-204-0/+8
| | | | | | | | | | | | | | | | | | | | | At FlushedEvt, all outstanding io should be complete and the object_contexts map should be empty. Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | ReplicatedPG: add intrusive_ptr hooksSamuel Just2013-02-202-1/+5
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | Timer.cc: use complete() rather than finish()Samuel Just2013-02-201-2/+1
|/ / | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* | osd: remove force hack for testing the HASHPSPOOL codeSage Weil2013-02-201-1/+1
| | | | | | | | | | | | Also from 8cc2b0f1243b2717af1de329a7fa6a8b5350db68. Signed-off-by: Sage Weil <sage@inktank.com>
* | mon: allow syslog level and facility for cluster log to be controlledSage Weil2013-02-205-24/+116
| | | | | | | | | | | | | | | | | | | | | | | | Allow user to control the minimum level to go to syslog for the client- and server-side submission paths for the cluster log, along with the syslog 'facility'. See syslog(3) man page. Also move the level checks into a LogEntry method. Closes: #3704 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Luis <joao.luis@inktank.com>
* | mon: fix new pool typeSage Weil2013-02-201-1/+1
| | | | | | | | | | | | I broke this in 8cc2b0f1243b2717af1de329a7fa6a8b5350db68. Signed-off-by: Sage Weil <sage@inktank.com>
* | qa: mon/pool_ops.sh: fix last testSage Weil2013-02-201-1/+1
| | | | | | | | | | | | Got this one backwards, bah! Signed-off-by: Sage Weil <sage@inktank.com>
* | doc: make the cephfs man page marginally more truthfulGreg Farnum2013-02-191-6/+5
| | | | | | | | | | | | Put it in the right place this time. Signed-off-by: Greg Farnum <greg@inktank.com>
* | man: make the cephfs man page marginally more truthfulGreg Farnum2013-02-191-6/+6
| | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
* | Merge branch 'wip-pool'Sage Weil2013-02-198-17/+65
|\ \ | | | | | | | | | Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | osd/OSDMap: note OSDHASHPSPOOL feature when pool FLAG_HASHPSPOOL is setSage Weil2013-02-191-0/+7
| | | | | | | | | | | | | | | | | | This allows the osd and mon to enforce feature bits on their connections. Signed-off-by: Sage Weil <sage@inktank.com>
| * | mon: move OSDMap feature bit calculation into an OSDMap methodSage Weil2013-02-194-14/+30
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | osd: introduce HASHPSPOOL pool flag, feature to avoid overlapping pg placementsSage Weil2013-02-196-3/+28
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing code will overlay the placement of PGs from pools because it simply adds the ps to the pool as the CRUSH input. That means that the layout/placement for pg 0.10 == 1.9 == 2.8 == 3.7 == 4.6 == ..., which is not optimal. Instead, use hash(ps, poolid). The avoids the initial problem of the sequence being adjacent to other pools. It also avoids the (small) possibility that hash(poolid) will drop us somewhere in the output number space where our sequence of outputs overlaps with some other pool; instead, out output sequence will be a fully random (for a well- behaved hash). Use the multi-input hash functions used by CRUSH for this. Default to the legacy behavior for now. We won't enable this until deployed systems and kernel code catch up. Fixes: #4128 Signed-off-by: Sage Weil <sage@inktank.com>
* | qa: mon/pool_ops.sh: test pool set sizeSage Weil2013-02-191-0/+6
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | qa: mon/pool_ops.sh: fix pool testsSage Weil2013-02-191-8/+6
| | | | | | | | | | | | | | | | | | The '! command' doesn't fail properly, even with -e, in bash (wtf!). Also, the last pool deletion command succeeds because the pool '--yes-i-really-really-mean-it' doesn't exist. So drop that test. Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge remote-tracking branch 'gh/wip-4159'Sage Weil2013-02-191-0/+5
|\ \ | |/ |/|
| * mon: restrict pool size to 1..10Sage Weil2013-02-191-0/+5
| | | | | | | | | | See: #4159 Signed-off-by: Sage Weil <sage@inktank.com>
* | test/bufferlist: fix warningSage Weil2013-02-191-1/+1
| | | | | | | | | | | | | | | | | | | | In file included from test/bufferlist.cc:31:0: ../src/gtest/include/gtest/gtest.h: In function ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = unsigned int, T2 = 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 = unsigned int, T2 = int, bool lhs_is_null_literal = false]’ test/bufferlist.cc:1604:227: 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>
* | Merge branch 'master' of https://github.com/ceph/cephGary Lowell2013-02-197-37/+115
|\ \
| * | testing: updating hadoop-internal testJoe Buck2013-02-191-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | Small tweaks to the hadoop-internal test to better use existing environment varaibles. Signed-off-by: Joe Buck <jbbuck@gmail.com> Reviewed-by: Noah Watkins <noahwatkins@gmail.com>
| * | qa: sample test for new replication testsNoah Watkins2013-02-191-15/+54
| | | | | | | | | | | | Signed-off-by: Joe Buck <jbbuck@gmail.com>
| * | doc/release-notes: v0.57Sage Weil2013-02-191-0/+40
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | PG: remove weirdness log for last_complete < log.tailSamuel Just2013-02-191-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case of a divergent object prior to log.tail, last_complete may end up before log.tail. Backport: bobtail Fixes #4174 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | os/FileStore: check replay guard on src for collection renameSage Weil2013-02-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids a problematic sequence like: - rename A/ -> B/ - remove B/1...100 - destroy B/ - create A/ - write A/101... <crash> - replay A/ -> B/ - remove B/1...100 (fails but tolerated) - destroy B/ (fails with ENOTEMPTY) Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | osd: requeue pg waiters at the front of the finished queueSage Weil2013-02-191-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We could have a sequence like: - op1 - notify - op2 in the finished queue. Op1 gets put on waiting_for_pg, the notify creates the pg and requeues op1 (and the end), op2 is handled, and finally op1 is handled. That breaks ordering; see #2947. Instead, when we wake up a pg, queue the waiting messages at the front of the dispatch queue. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | osd: pull requeued requests off one at a timeSage Weil2013-02-191-13/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull items off the finished queue on at a time. In certain cases, an event may result in new items betting added to the finished queue that will be put at the *front* instead of the back. See latest incarnation of #2947. Note that this is a significant changed in behavior in that we can theoretically starve if an event keeps resulting in new events getting generated. Beware! Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | osd: fix printf warning on pg_log_entry_t::get_key_nameSage Weil2013-02-191-1/+1
| | | | | | | | | | | | | | | | | | | | | warning: osd/osd_types.cc:1716:76: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'version_t {aka long long unsigned int}' [-Wformat] warning: osd/osd_types.cc:1716:76: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'version_t {aka long long unsigned int}' [-Wformat] Signed-off-by: Sage Weil <sage@inktank.com>
* | | Merge branch 'next'Gary Lowell2013-02-193-1/+14
|\ \ \ | |/ / |/| |
| * | v0.57v0.57Gary Lowell2013-02-192-1/+7
| | |
| * | qa: rbd map-snapshot-io: udevadm settleSage Weil2013-02-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Udev runs blkid on device close, thwarting any rbd unmap that immediately follows use of the device. Explicitly settle for now. See #4183. Signed-off-by: Sage Weil <sage@inktank.com>