GitHub PushEvent at 2014-04-14 11:20:04
Repository: ceph
Actor: xinxinsh
Payload: {"shas":[["f54c6846c0c6250217538981921c0c7b7ee8734a","48638f9c2a62c4fd20be28d0bdad68f5cd041402@inktank.com","radosgw-admin: fix subuser modify\n\nShouldn't check for empty access key when modifying swift user, also\nset correct fields when updating swift keys.\n\nSigned-off-by: Yehuda Sadeh <yehuda@inktank.com>","Yehuda Sadeh",true],["e1783a62d827ccecdc83e73590bf74bb1af8271c","48638f9c2a62c4fd20be28d0bdad68f5cd041402@inktank.com","rgw: subuser creation can be idempotent\n\nNo real reason to check for existing subuser before (re)creating it.\n\nSigned-off-by: Yehuda Sadeh <yehuda@inktank.com>","Yehuda Sadeh",true],["c09f58ef81db9f6dbd528b2aa4c2f135aa6d262e","48638f9c2a62c4fd20be28d0bdad68f5cd041402@inktank.com","radosgw-admin: don't always generate access key for subusers\n\nOnly generate key for subuser if one was not specified for it, and only\nwhen creating a subuser.\n\nSigned-off-by: Yehuda Sadeh <yehuda@inktank.com>","Yehuda Sadeh",true],["1d74170a4c252f35968ccfbec8e432582e92f638","51652c783f70f5b272ebd02f1fd20d3af7a2449f@inktank.com","pipe: only read AuthSessionHandler under pipe_lock\n\nsession_security, the AuthSessionHandler for a Pipe, is deleted and\nrecreated while the pipe_lock is held. read_message() is called\nwithout pipe_lock held, and examines session_security. To make this\nsafe, make session_security a shared_ptr and take a reference to it\nwhile the pipe_lock is still held, and use that shared_ptr in\nread_message().\n\nThis may have caused crashes like:\n\n*** Error in `qemu-system-x86_64': invalid fastbin entry (free): 0x00007f42a4002de0 ***\n======= Backtrace: =========\n/lib/x86_64-linux-gnu/libc.so.6(+0x80a46)[0x7f452f1f3a46]\n/usr/lib/x86_64-linux-gnu/libnss3.so(PK11_FreeSymKey+0xa8)[0x7f452e72ff98]\n/usr/lib/librados.so.2(+0x2a18cd)[0x7f453451a8cd]\n/usr/lib/librados.so.2(_ZNK9CryptoKey7encryptEP11CephContextRKN4ceph6buffer4listERS4_RSs+0x71)[0x7f4534519421]\n/usr/lib/librados.so.2(_Z21encode_encrypt_enc_blIN4ceph6buffer4listEEvP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xfe)[0x7f453451859e]\n/usr/lib/librados.so.2(_Z14encode_encryptIN4ceph6buffer4listEEiP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xa2)[0x7f45345186d2]\n/usr/lib/librados.so.2(_ZN19CephxSessionHandler23check_message_signatureEP7Message+0x246)[0x7f4534516866]\n/usr/lib/librados.so.2(_ZN4Pipe12read_messageEPP7Message+0xdcc)[0x7f453462ecbc]\n/usr/lib/librados.so.2(_ZN4Pipe6readerEv+0xa5c)[0x7f453464059c]\n/usr/lib/librados.so.2(_ZN4Pipe6Reader5entryEv+0xd)[0x7f4534643ecd]\n/lib/x86_64-linux-gnu/libpthread.so.0(+0x7f8e)[0x7f452f543f8e]\n/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f452f26da0d]\n\nPartially-fixes: #6480\nBackport: dumpling, emperor\nSigned-off-by: Josh Durgin <josh.durgin@inktank.com>","Josh Durgin",true],["1848a23757dde9135f2819c07dfc69388613fcef","326b7ae36af5adcb9ee37c37a979aea1bc3fff0c@inktank.com","librados: Fix typo for read functions documentation\n\nSigned-off-by: David Zafman <david.zafman@inktank.com>","David Zafman",true],["9c6733e662bcd5501c50f75310a191f3b5c6b222","326b7ae36af5adcb9ee37c37a979aea1bc3fff0c@inktank.com","librados: Allow rados_pool_list() to get NULL buffer if len == 0\n\nCoverity wants a NULL check for buf, but caller should be able to\npass a NULL buf and 0 len in order to get byte count of pool list.\n\nSigned-off-by: David Zafman <david.zafman@inktank.com>","David Zafman",true],["409999c3b2c194702645bf58bf20fe8dbd85268e","326b7ae36af5adcb9ee37c37a979aea1bc3fff0c@inktank.com","rbd: Prevent Seg fault by checking read result in snap_read_header()\n\nSigned-off-by: David Zafman <david.zafman@inktank.com>","David Zafman",true],["b3b502f132583cc022081c0126bf362448f1a8b3","6dd34506bbd5e58221bbb3e4732d97c91f02277b@inktank.com","mon/Elector: ignore ACK from peers without required features\n\nIf an old peer gets a PROPOSE from us, we need to be sure to ignore their\nACK.  Ignoring their PROPOSEs isn't sufficient to keep them out of a\nquorum.\n\nFixes: #8042\nSigned-off-by: Sage Weil <sage@inktank.com>","Sage Weil",true],["34d69cdcfa21d2395415677be7c3b81bb0e67641","6dd34506bbd5e58221bbb3e4732d97c91f02277b@inktank.com","mon: refresh elector required_features when they change\n\nCurrently we only refresh required_features on Elector::start().  This\ndoes not prevent an old peer from calling an election (even though they\nwon't succeed in joining the resulting quorum).\n\nFix this by updating the elector's features when they change.  This way we\ndon't allow a useless election cycle just to trigger that update in\nstart().\n\nSigned-off-by: Sage Weil <sage@inktank.com>","Sage Weil",true],["edd542e42090bc8a7551d26322539fff837ce8c3","326b7ae36af5adcb9ee37c37a979aea1bc3fff0c@inktank.com","tools: Improve ceph_scratchtoolpp\n\nMinor output improvements\nRemove clone_range code that was asserting\n\nSigned-off-by: David Zafman <david.zafman@inktank.com>","David Zafman",true],["3371a251159a6e4ecd28a29e6a53705ccb3083a3","326b7ae36af5adcb9ee37c37a979aea1bc3fff0c@inktank.com","test: Fix Seg fault in ceph_test_rados\n\nFixes: #8049\n\nSigned-off-by: David Zafman <david.zafman@inktank.com>","David Zafman",true],["2e8035fabce6842bea79703d4da09e024698a929","326b7ae36af5adcb9ee37c37a979aea1bc3fff0c@inktank.com","osd: Fix appending write to return any error back to caller\n\nAlso, correct double bumping of num_writes\n\nSigned-off-by: David Zafman <david.zafman@inktank.com>","David Zafman",true],["2cc76bcd12d803160e98fa73810de2cb916ef1ff","51652c783f70f5b272ebd02f1fd20d3af7a2449f@inktank.com","auth: add rwlock to AuthClientHandler to prevent races\n\nFor cephx, build_authorizer reads a bunch of state (especially the\ncurrent session_key) which can be updated by the MonClient. With no\nlocks held, Pipe::connect() calls SimpleMessenger::get_authorizer()\nwhich ends up calling RadosClient::get_authorizer() and then\nAuthClientHandler::bulid_authorizer(). This unsafe usage can lead to\ncrashes like:\n\nProgram terminated with signal 11, Segmentation fault.\n0x00007fa0d2ddb7cb in ceph::buffer::ptr::release (this=0x7f987a5e3070) at common/buffer.cc:370\n370 common/buffer.cc: No such file or directory.\nin common/buffer.cc\n(gdb) bt\n0x00007fa0d2ddb7cb in ceph::buffer::ptr::release (this=0x7f987a5e3070) at common/buffer.cc:370\n0x00007fa0d2ddec00 in ~ptr (this=0x7f989c03b830) at ./include/buffer.h:171\nceph::buffer::list::rebuild (this=0x7f989c03b830) at common/buffer.cc:817\n0x00007fa0d2ddecb9 in ceph::buffer::list::c_str (this=0x7f989c03b830) at common/buffer.cc:1045\n0x00007fa0d2ea4dc2 in Pipe::connect (this=0x7fa0c4307340) at msg/Pipe.cc:907\n0x00007fa0d2ea7d73 in Pipe::writer (this=0x7fa0c4307340) at msg/Pipe.cc:1518\n0x00007fa0d2eb44dd in Pipe::Writer::entry (this=<value optimized out>) at msg/Pipe.h:59\n0x00007fa0e0f5f9d1 in start_thread (arg=0x7f987a5e4700) at pthread_create.c:301\n0x00007fa0de560b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115\n\nand\n\nError in `qemu-system-x86_64': invalid fastbin entry (free): 0x00007ff12887ff20\n*** ======= Backtrace: =========\n/lib/x86_64-linux-gnu/libc.so.6(+0x80a46)[0x7ff3dea1fa46]\n/usr/lib/librados.so.2(+0x29eb03)[0x7ff3e3d43b03]\n/usr/lib/librados.so.2(_ZNK9CryptoKey7encryptEP11CephContextRKN4ceph6buffer4listERS4_RSs+0x71)[0x7ff3e3d42661]\n/usr/lib/librados.so.2(_Z21encode_encrypt_enc_blIN4ceph6buffer4listEEvP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xfe)[0x7ff3e3d417de]\n/usr/lib/librados.so.2(_Z14encode_encryptIN4ceph6buffer4listEEiP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xa2)[0x7ff3e3d41912]\n/usr/lib/librados.so.2(_ZN19CephxSessionHandler12sign_messageEP7Message+0x242)[0x7ff3e3d40de2]\n/usr/lib/librados.so.2(_ZN4Pipe6writerEv+0x92b)[0x7ff3e3e61b2b]\n/usr/lib/librados.so.2(_ZN4Pipe6Writer5entryEv+0xd)[0x7ff3e3e6c7fd]\n/lib/x86_64-linux-gnu/libpthread.so.0(+0x7f8e)[0x7ff3ded6ff8e]\n/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7ff3dea99a0d]\n\nFix this by adding an rwlock to AuthClientHandler. A simpler fix would\nbe to move RadosClient::get_authorizer() into the MonClient() under\nthe MonClient lock, but this would not catch all uses of other\nAuthorizer, e.g. for verify_authorizer() and it would serialize\nindependent connection attempts.\n\nThis mainly matters for cephx, but none and unknown can have the\nglobal_id reset as well.\n\nPartially-fixes: #6480\nBackport: dumpling, emperor\nSigned-off-by: Josh Durgin <josh.durgin@inktank.com>","Josh Durgin",true],["4d3d89bf24fc9f4be60bbb5c649587b445b31923","51652c783f70f5b272ebd02f1fd20d3af7a2449f@inktank.com","auth: remove unused tick() method\n\nSigned-off-by: Josh Durgin <josh.durgin@inktank.com>","Josh Durgin",true],["957ac3cbe394473f225ffd2b632461fcdaca99e6","51652c783f70f5b272ebd02f1fd20d3af7a2449f@inktank.com","RWLock: don't assign the lockdep id more than once\n\nThis never does anything since lockdep_register() assigns an id >= 0\nin the RWLock constructor. This also prevents methods from being\ndeclared const.\n\nSigned-off-by: Josh Durgin <josh.durgin@inktank.com>","Josh Durgin",true],["970d53fc0fefc89ffe7550880a4aaa36bd534955","51652c783f70f5b272ebd02f1fd20d3af7a2449f@inktank.com","RWLock: make read locking methods const\n\nThis allows methods using RWLock for reading to be declared const.\nThere might be cases where we'd want to take a write lock in a const\nmethod, but right now that's unnecessary, and I'd rather get a compile\nerror.\n\nSigned-off-by: Josh Durgin <josh.durgin@inktank.com>","Josh Durgin",true],["3119022dd42153e1c35551bd3b19a1e19bc3eb58","51652c783f70f5b272ebd02f1fd20d3af7a2449f@inktank.com","auth: separate writes of build_request() into prepare_build_request()\n\nvalidate_tickets() updates internal state, as does\ntickets.get_handler(). Move them into a new method called before\nbuild_request() so build_request() can be declared const.\n\nSigned-off-by: Josh Durgin <josh.durgin@inktank.com>","Josh Durgin",true],["75948357ceb246ee34eccc17001c671349fdc7cb","51652c783f70f5b272ebd02f1fd20d3af7a2449f@inktank.com","utime: declare is_zero(), ceph_timespec(), and sleep() as const\n\nSigned-off-by: Josh Durgin <josh.durgin@inktank.com>","Josh Durgin",true],["9af10b2c9a4564ed41704681ea6c80eb1d7a0677","51652c783f70f5b272ebd02f1fd20d3af7a2449f@inktank.com","auth: CephxProtocol const cleanup\n\nneed_key() and build_authorizer() can be const.\n\nSigned-off-by: Josh Durgin <josh.durgin@inktank.com>","Josh Durgin",true],["3ccef662766658cfc42cf91d288dd84fb90f3382","51652c783f70f5b272ebd02f1fd20d3af7a2449f@inktank.com","auth: AuthClientHandler const cleanup\n\nget_protocol(), build_request(), build_rotating_request(), and\nbuild_authorizer() can all be declared const now.\n\nSigned-off-by: Josh Durgin <josh.durgin@inktank.com>","Josh Durgin",true]],"size":71,"ref":"refs/heads/refactor-trace","head":"6ba50353234c700920b63ee28bfccaf427a67064"}