summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rgw: don't append NULL char before json parsingYehuda Sadeh2013-09-271-1/+0
| | | | | | Parser handles that by itself. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* ceph_json: use different string constructor for parser bufferYehuda Sadeh2013-09-271-3/+1
| | | | | | | | Fixes: #6397 Previous implementation did not user the constructor with the length param. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* qa/workunits/mon/crush_ops.sh: fix testSage Weil2013-09-251-1/+1
| | | | | | | Fix root. Fixes: #6392 Signed-off-by: Sage Weil <sage@inktank.com>
* mon/OSDMonitor: fix 'ceph osd crush reweight ...'Sage Weil2013-09-242-1/+10
| | | | | | | | | | | The adjust method returns a count of adjusted items. Add a test. Fixes: #6382 Backport: dumpling Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com>
* osd: change warn_interval_multiplier to uint32_tLoic Dachary2013-09-241-1/+1
| | | | | | | | | | | | to prevent overflow in OpTracker::check_ops_in_flight when multiplying warn_interval_multiplier *= 2 Backport: cuttlefish, dumpling http://tracker.ceph.com/issues/6370 fixes #6370 Signed-off-by: Loic Dachary <loic@dachary.org> (cherry picked from commit 1bce1f009bffd3e28025a08775fec189907a81db)
* arch/intel: fix old commentSage Weil2013-09-241-1/+0
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* arch/intel: use intel probe instructions for x86_64 onlySage Weil2013-09-242-4/+4
| | | | | | | | Not LP64, which includes ppc64 and clearly does not build. Fixes: #6283 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
* osd: revert 'osd max xattr size' limitSage Weil2013-09-233-12/+17
| | | | | | | | | Set it to 0 (unlimited) for now. Backport: dumpling Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
* Merge pull request #599 from ceph/wip-6323Sage Weil2013-09-231-6/+23
|\ | | | | | | | | mon: OSDMonitor: fix #6322 and #6323 Reviewed-by: Greg Farnum <greg@inktank.com>
| * mon: OSDMonitor: multiple rebuilt full maps per transactionJoao Eduardo Luis2013-09-171-6/+22
| | | | | | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * mon: OSDMonitor: update latest_full while rebuilding full mapsJoao Eduardo Luis2013-09-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Not doing so will make the monitor rebuild the osdmap full versions, even though they may have been rebuilt before, every time the monitor starts. This mostly happens when the cluster is left in an unhealthy state for a long period of time and incremental versions build up. Even though we build the full maps on update_from_paxos(), not updating 'full_latest' leads to the situation initially described. Fixes: #6322 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * mon: OSDMonitor: smaller transactions when rebuilding full versionsJoao Eduardo Luis2013-09-161-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, for considerably sized rebuilds, the monitor will not only consume vast amounts of memory, but it will also have troubles committing the transaction. Anyway, it's also a good idea to adjust transactions to the granularity we want, and to be fair we care that each rebuilt full map gets to disk, even if subsequent full maps don't (those can be rebuilt later). Fixes: #6323 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* | Merge pull request #612 from ceph/wip-6361João Eduardo Luís2013-09-214-6/+19
|\ \ | | | | | | | | | | | | | | | | | | perfglue/heapprofiler: expect cmd name when handling command instead of 'heap <cmd>' This was broken by the cli rework. Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | qa: workunits: cephtool: check if 'heap' commands are parseablewip-6361Joao Eduardo Luis2013-09-201-0/+7
| | | | | | | | | | | | Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
| * | osd: OSD: add 'heap' command to known osd commands arrayJoao Eduardo Luis2013-09-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Must have been forgotten during the cli rework. Backport: dumpling Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
| * | mds: MDS: pass only heap profiler commands instead of the whole cmd vectorJoao Eduardo Luis2013-09-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The heap profiler doesn't care, nor should it, what our command name is. It only cares about the commands it handles. Backport: dumpling Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
| * | perfglue/heap_profiler.cc: expect args as first element on cmd vectorJoao Eduardo Luis2013-09-201-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to pass 'heap' as the first element of the cmd vector when handling commands. We haven't been doing so for a while now, so we needed to fix this. Not expecting 'heap' also makes sense, considering that what we need to know when we reach this function is what command we should handle, and we should not care what the caller calls us when handling his business. Fixes: #6361 Backport: dumpling Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
* | | mon: fix wrong arg to "instructed to" status messageDan Mick2013-09-201-1/+1
| | | | | | | | | | | | | | | | | | Fixes: #6293 Signed-off-by: Dan Mick <dan.mick@inktank.com> (cherry picked from commit 16ebb25f7cdb8e92c618a333c505c16edb16c95c)
* | | rgw: destroy get_obj handle in copy_obj()Yehuda Sadeh2013-09-202-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #6176 Backport: dumpling We take different code paths in copy_obj, make sure we close the handle when we exit the function. Move the call to finish_get_obj() out of copy_obj_data() as we don't create the handle there, so that should makes code less confusing and less prone to errors. Also, note that RGWRados::get_obj() also calls finish_get_obj(). For everything to work in concert we need to pass a pointer to the handle and not the handle itself. Therefore we needed to also change the call to copy_obj_data(). Reviewed-by: Josh Durgin <josh.durgin@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | | lru_map: don't use list::size()Yehuda Sadeh2013-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | replace list::size() with map::size(), which should have a constant time complexity. Reviewed-by: Sage Weil <sage@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | | common/lru_map: rename tokens to entriesYehuda Sadeh2013-09-201-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | This code was originally used in a token cache, now as a generic infrastructure rename token fields. Reviewed-by: Sage Weil <sage@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | | bufferlist: don't use list::size()Yehuda Sadeh2013-09-201-3/+6
|/ / | | | | | | | | Reviewed-by: Sage Weil <sage@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | rgw: use bufferlist::append() instead of bufferlist::push_back()Yehuda Sadeh2013-09-191-1/+1
| | | | | | | | | | | | | | | | push_back() expects char *, whereas append can append a single char. Appending a NULL char to push_back is cast as a NULL pointer which is bad. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | v0.69v0.69Gary Lowell2013-09-182-1/+7
|/
* rgw: try to create log pool if doesn't existYehuda Sadeh2013-09-131-0/+9
| | | | | | | | When using replica log, if the log pool doesn't exist all operations are going to fail. Try to create it if doesn't exist. Reviewed-by: Josh Durgin <josh.durgin@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: NULL terminate buffer before parsing itYehuda Sadeh2013-09-131-0/+1
| | | | | | | | | | | | Fixes: #6175 Backport: dumpling We get a buffer off the remote gateway which might not be NULL terminated. The JSON parser needs the buffer to be NULL terminated even though we provide a buffer length as it calls strlen(). Reviewed-by: Josh Durgin <josh.durgin@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: don't call list::size() in ObjectCacheYehuda Sadeh2013-09-112-2/+6
| | | | | | | | Fixes: #6286 Use an external counter instead of calling list::size() Reviewed-by: Sage Weil <sage@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: drain pending requests before completing writeYehuda Sadeh2013-09-112-1/+6
| | | | | | | | | | Fixes: #6268 When doing aio write of objects (either regular or multipart parts) we need to drain pending aio requests. Otherwise if gateway goes down then object might end up corrupted. Reviewed-by: Josh Durgin <josh.durgin@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: when failing read from client, return correct errorYehuda Sadeh2013-09-101-1/+1
| | | | | | | | | | | Fixes: #6214 When getting a failed read from client when putting an object we returned the wrong value (always 0), which in the chunked- upload case ended up in assuming that the write was done successfully. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* Merge pull request #583 from ceph/wip-6230-workunitSage Weil2013-09-091-0/+4
|\ | | | | | | | | qa: workunits: mon: crush_ops: test 'ceph osd crush move' Reviewed-by: Sage Weil <sage@inktank.com>
| * qa: workunits: mon: crush_ops: test 'ceph osd crush move'Joao Eduardo Luis2013-09-101-0/+4
|/ | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* Merge pull request #582 from ceph/wip-6230Sage Weil2013-09-092-1/+2
|\ | | | | | | | | mon: MonCommands: expect a CephString as 1st arg for 'osd crush move' Reviewed-by: Sage Weil <sage@inktank.com>
| * mon: MonCommands: expect a CephString as 1st arg for 'osd crush move'wip-6230Joao Eduardo Luis2013-09-092-1/+2
|/ | | | | | Fixes: #6230 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* Merge pull request #576 from ceph/wip-6078-2Sage Weil2013-09-072-2/+0
|\ | | | | | | | | rgw: fix get cors, delete cors Reviewed-by: Sage Weil <sage@inktank.com>
| * rgw: fix get cors, delete corsYehuda Sadeh2013-09-062-2/+0
| | | | | | | | | | | | | | | | Remove a couple of variables that overrode class member. Not really clear how it was working before, might have been a bad merge / rebase. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | Merge pull request #571 from dalgaaf/fix-da-init-radosgwSage Weil2013-09-072-2/+2
|\ \ | | | | | | | | | | | | | | | init-radosgw*: fix status return value if radosgw isn't running Backport: dumpling Reviewed-by: Sage Weil <sage@inktank.com>
| * | init-radosgw*: fix status return value if radosgw isn't runningDanny Al-Gaaf2013-09-072-2/+2
|/ / | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* | osd/ReplicatedPG: set reply versions for pg ops (PGLS)Sage Weil2013-09-041-0/+1
| | | | | | | | | | | | | | | | | | 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 b05f7ea5199fc190a3be887fac4d74417461e1ce)
* | osd/ReplicatedPG: set reply versions on dup op ACKSage Weil2013-09-041-0/+1
|/ | | | | | | | | | 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 5148aac73d50593217455619bef95b8e1b296e10)
* rgw: flush pending data when completing multipart part uploadYehuda Sadeh2013-09-043-5/+13
| | | | | | | | | | | | | 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>
* rgw: check object name after rebuilding it in S3 POSTYehuda Sadeh2013-09-041-0/+5
| | | | | | | | | | | | | 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>
* Merge branch 'wip-6078' into nextYehuda Sadeh2013-09-0412-149/+231
|\ | | | | | | Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * rgw: fix certain return status cases in CORSYehuda Sadeh2013-09-042-12/+10
| | | | | | | | | | | | | | Change return values in certain cases, reorder checks, etc. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: add COPY method to be handled by CORSYehuda Sadeh2013-09-042-5/+11
| | | | | | | | | | | | Was missing this http method. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: fix CORS rule checkYehuda Sadeh2013-09-041-0/+3
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: don't handle CORS if rule not found (is NULL)Yehuda Sadeh2013-09-041-1/+5
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: tie CORS header response to all relevant operationsYehuda Sadeh2013-09-045-57/+62
| | | | | | | | | | | | | | Have the CORS responses on all relevant operations. Also add headers on failure cases. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: add a generic CORS response handlingYehuda Sadeh2013-09-045-75/+138
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: OPTIONS request doesn't need to read object infoYehuda Sadeh2013-09-041-1/+1
| | | | | | | | | | | | | | | | 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>
| * rgw: remove use of s->bucket_corsYehuda Sadeh2013-09-044-10/+13
| | | | | | | | | | | | | | 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>