summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* format 1 and format 2wip-test-fallocSage Weil2013-09-271-1/+2
|
* hack: falloc 4mb rbd data objectsSage Weil2013-09-271-1/+16
| | | | Lets' see if this improves rbd performance vs fragmentation behavior
* Revert "ceph: parse CEPH_ARGS environment variable"Sage Weil2013-09-261-1/+0
| | | | | | | | | This reverts commit 67a95b9880c9bc6e858150352318d68d64ed74ad. We now put CEPH_ARGS in the actual args we parse in python, which are passed to rados piecemeal later. This lets you put things like --id ... in there that need to be parsed before librados is initialized. (cherry picked from commit 97f462be4829f0167ed3d65e6694dfc16f1f3243)
* Add CEPH_ARGS at the end of sys.argvBenoît Knecht2013-09-261-0/+3
| | | | | | | | | This allows, for instance, to pass a different client name to ceph by exporting CEPH_ARGS="--id client_id". Signed-off-by: Benoît Knecht <benoit.knecht@fsfe.org> Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 30abe3244c86cbbe1f5b005850c29c9c0eafcad4)
* 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> (cherry picked from commit 3de32562b55c6ece3a6ed783c36f8b9f21460339)
* qa: workunits: mon: crush_ops: test 'ceph osd crush move'Joao Eduardo Luis2013-09-241-0/+4
| | | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com> (cherry picked from commit 3bc618b7b46496c5110edde0da9cae5d3e68e0e1)
* 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)
* crushtool: do not dump core with non-unique bucket IDsDavid Zafman2013-09-248-17/+49
| | | | | | | | | | | | Return -EEXIST on duplicate ID BUG FIX: crush_add_bucket() mixes error returns and IDs Add optional argument to return generated ID Fixes: #6246 Signed-off-by: David Zafman <david.zafman@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com> (cherry picked from commit 8c76f3a0f9cf100ea2c941dc2b61c470aa5033d7)
* qa: workunits: cephtool: check if 'heap' commands are parseableJoao Eduardo Luis2013-09-241-0/+7
| | | | | Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com> (cherry picked from commit b1eeaddd5f214c1b0883b44fc8cae07c649be7c4)
* osd: OSD: add 'heap' command to known osd commands arrayJoao Eduardo Luis2013-09-241-0/+4
| | | | | | | | | Must have been forgotten during the cli rework. Backport: dumpling Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com> (cherry picked from commit 296f2d0db31e9f5a59a3a62a1e95b6c440430fa3)
* mds: MDS: pass only heap profiler commands instead of the whole cmd vectorJoao Eduardo Luis2013-09-241-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> (cherry picked from commit 238fe272c6bdb62d4e57fd8555c0136de99c8129)
* perfglue/heap_profiler.cc: expect args as first element on cmd vectorJoao Eduardo Luis2013-09-241-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> (cherry picked from commit c98b910d49bd2b46ceafdc430044a31524c29f5b)
* rgw: destroy get_obj handle in copy_obj()Yehuda Sadeh2013-09-242-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> (cherry picked from commit 9e98620e4325d15c88440a890b267131613e1aa1)
* mon: MonCommands: expect a CephString as 1st arg for 'osd crush move'Joao Eduardo Luis2013-09-232-1/+2
| | | | | | | Fixes: #6230 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com> (cherry picked from commit 7d3799fde19138f957f26ec6be10a8a0000fc1f0)
* 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> (cherry picked from commit abb88d70643c3a76435b7a9d5b04ff29f7502361)
* mds: be more careful about decoding LogEventsGreg Farnum2013-09-231-4/+10
| | | | | | | | | We need to wrap the full decode section or we can abort the process if there's an issue (which we may want to just skip by). Signed-off-by: Greg Farnum <greg@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com> (cherry picked from commit 73289b34b0be5b6612e38944794d59b5e789f841)
* mon: OSDMonitor: multiple rebuilt full maps per transactionJoao Eduardo Luis2013-09-231-6/+22
| | | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com> (cherry picked from commit 0d20cae0be701c5b6151a26ee5e4fe24d89aa20a)
* mon: OSDMonitor: update latest_full while rebuilding full mapsJoao Eduardo Luis2013-09-231-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> (cherry picked from commit 81983bab3630520d6c7ee9b7e4a747bc17b8c5c3)
* mon: OSDMonitor: smaller transactions when rebuilding full versionsJoao Eduardo Luis2013-09-231-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> (cherry picked from commit 4ac1570c5cdcd6556dc291cc6d7878fd92d343ae)
* mon: OSDMonitor: check if pool is on unmanaged snaps mode on mk/rmsnapJoao Eduardo Luis2013-09-231-2/+10
| | | | | | | | Backport: dumpling Fixes: #6047 Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com> (cherry picked from commit fab79543c54c2e446d3f76520d7906645c6b0075)
* 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> (cherry picked from commit 7c1d2ded8fa8061bf3f14932800998b963745dd1)
* 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> (cherry picked from commit 532e41a9985a16b35a6e49cdcba38af0ad166fa8)
* 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> Reviewed-by: Josh Durgin <josh.durgin@inktank.com> (cherry picked from commit 08fe028bad13096d482454a2f303158727c363ff)
* rgw: NULL terminate buffer before parsing itYehuda Sadeh2013-09-191-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> (cherry picked from commit e7f7483192cddca1159aba439ce62b1e78669d51)
* rgw: don't call list::size() in ObjectCacheYehuda Sadeh2013-09-192-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> (cherry picked from commit 31e3a51e933429d286104fe077e98ea883437ad6)
* rgw: drain pending requests before completing writeYehuda Sadeh2013-09-182-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> (cherry picked from commit 626669afaa333d73707553a85f5c874e99e9cbd8)
* rgw: fix get cors, delete corsYehuda Sadeh2013-09-112-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> (cherry picked from commit 13872785aeeddbe1b8dd97e49fd6a2d879514f8d)
* Merge branch 'wip-6078-dumpling' into dumplingYehuda Sadeh2013-09-1112-148/+230
|\ | | | | | | Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * rgw: fix certain return status cases in CORSYehuda Sadeh2013-09-112-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-112-5/+11
| | | | | | | | | | | | Was missing this http method. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: fix CORS rule checkYehuda Sadeh2013-09-111-0/+3
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: don't handle CORS if rule not found (is NULL)Yehuda Sadeh2013-09-111-1/+5
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: tie CORS header response to all relevant operationsYehuda Sadeh2013-09-115-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-115-75/+138
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: OPTIONS request doesn't need to read object infoYehuda Sadeh2013-09-111-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-114-9/+12
| | | | | | | | | | | | | | 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>
* | v0.67.3v0.67.3Gary Lowell2013-09-092-1/+7
|/
* Merge pull request #574 from dalgaaf/fix/da-dumpling-cherry-picksSage Weil2013-09-072-2/+2
|\ | | | | | | | | init-radosgw*: fix status return value if radosgw isn't running 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> (cherry picked from commit b5137baf651eaaa9f67e3864509e437f9d5c3d5a)
* FileStore: add config option to disable the wbthrottleSamuel Just2013-09-062-1/+3
| | | | | | | Backport: dumpling Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com> (cherry picked from commit 3528100a53724e7ae20766344e467bf762a34163)
* WBThrottle: use fdatasync instead of fsyncSamuel Just2013-09-061-1/+1
| | | | | | | Backport: dumpling Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com> (cherry picked from commit d571825080f0bff1ed3666e95e19b78a738ecfe8)
* PGLog: initialize writeout_from in PGLog constructorSamuel Just2013-09-061-0/+1
| | | | | | | | | Fixes: 6151 Backport: dumpling Signed-off-by: Samuel Just <sam.just@inktank.com> Introduced: f808c205c503f7d32518c91619f249466f84c4cf Reviewed-by: Sage Weil <sage@inktank.com> (cherry picked from commit 42d65b0a7057696f4b8094f7c686d467c075a64d)
* PGLog: maintain writeout_from and trimmedSamuel Just2013-09-062-16/+46
| | | | | | | | | | This way, we can avoid omap_rmkeyrange in the common append and trim cases. Fixes: #6040 Backport: Dumpling Signed-off-by: Samuel Just <sam.just@inktank.com> (cherry picked from commit f808c205c503f7d32518c91619f249466f84c4cf)
* PGLog: don't maintain log_keys_debug if the config is disabledSamuel Just2013-09-062-11/+14
| | | | | | | Fixes: #6040 Backport: Dumpling Signed-off-by: Samuel Just <sam.just@inktank.com> (cherry picked from commit 1c0d75db1075a58d893d30494a5d7280cb308899)
* PGLog: move the log size check after the early returnSamuel Just2013-09-061-1/+1
| | | | | | | | | | | There really are stl implementations (like the one on my ubuntu 12.04 machine) which have a list::size() which is linear in the size of the list. That assert, therefore, is quite expensive! Fixes: #6040 Backport: Dumpling Signed-off-by: Samuel Just <sam.just@inktank.com> (cherry picked from commit fe68b15a3d82349f8941f5b9f70fcbb5d4bc7f97)
* rbd.cc: relicense as LGPL2Sage Weil2013-09-063-15/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All past authors for rbd.cc have consented to relicensing from GPL to LGPL2 via email: --- Date: Sat, 27 Jul 2013 01:59:36 +0200 From: Sylvain Munaut <s.munaut@whatever-company.com> Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change I hereby consent to the relicensing of any contribution I made to the aforementioned rbd.cc file from GPL to LGPL2.1. (I hope that'll be impressive enough, I did my best :p) btw, tnt@246tNt.com and s.munaut@whatever-company.com are both me. Cheers, Sylvain --- Date: Fri, 26 Jul 2013 17:00:48 -0700 From: Yehuda Sadeh <yehuda@inktank.com> Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change I consent. --- Date: Fri, 26 Jul 2013 17:02:24 -0700 From: Josh Durgin <josh.durgin@inktank.com> Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change I consent. --- Date: Fri, 26 Jul 2013 18:17:46 -0700 From: Stanislav Sedov <stas@freebsd.org> Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change I consent. Thanks for taking care of it! --- Date: Fri, 26 Jul 2013 18:24:15 -0700 From: Colin McCabe <cmccabe@alumni.cmu.edu> I consent. cheers, Colin --- Date: Sat, 27 Jul 2013 07:08:12 +0200 From: Christian Brunner <christian@brunner-muc.de> Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change I consent Christian --- Date: Sat, 27 Jul 2013 12:17:34 +0300 From: Stratos Psomadakis <psomas@grnet.gr> Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change Hi, I consent with the GPL -> LGL2.1 re-licensing. Thanks Stratos --- Date: Sat, 27 Jul 2013 16:13:13 +0200 From: Wido den Hollander <wido@42on.com> Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change I consent! You have my permission to re-license the code I wrote for rbd.cc to LGPL2.1 --- Date: Sun, 11 Aug 2013 10:40:32 +0200 From: Danny Al-Gaaf <danny.al-gaaf@bisect.de> Subject: Re: btw Hi Sage, I agree to switch the license of ceph_argparse.py and rbd.cc from GPL2 to LGPL2. Regards Danny Al-Gaaf --- Date: Tue, 13 Aug 2013 17:15:24 -0700 From: Dan Mick <dan.mick@inktank.com> Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change I consent to relicense any contributed code that I wrote under LGPL2.1 license. --- ...and I consent too. Drop the exception from COPYING and debian/copyright files. Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 2206f55761c675b31078dea4e7dd66f2666d7d03)
* 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> (cherry picked from commit 9a551296e0811f2b65972377b25bb28dbb42f575)
* 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> (cherry picked from commit c8ec532fadc0df36e4b265fe20a2ff3e35319744)
* mon/MonClient: release pending outgoing messages on shutdownSage Weil2013-09-041-0/+6
| | | | | | | | | | This fixes a small memory leak when we have messages queued for the mon when we shut down. It is harmless except for the valgrind leak check noise that obscures real leaks. Backport: dumpling Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 309569a6d0b7df263654b7f3f15b910a72f2918d)
* rgw: change watch init ordering, don't distribute if can'tYehuda Sadeh2013-09-032-8/+20
| | | | | | | | | | | | | | 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> (cherry picked from commit 1d1f7f18dfbdc46fdb09a96ef973475cd29feef5)