summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* hack to see what clone from journal might look likewip-sim-journal-cloneSage Weil2013-02-111-1/+9
| | | | | this is an upper bound, since we aren't touching the extent trees, and that isn't completely free in btrfs.. but it shouldn't be too far off.
* Merge pull request #44 from dachary/wip-4070Sage Weil2013-02-102-5/+53
|\ | | | | | | | | buffer::ptr self assignment bug + patch Reviewed-by: Sage Weil <sage@inktank.com>
| * buffer::ptr self assignment bug + patchLoic Dachary2013-02-102-5/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After buffer::ptr a(1); a = a; a call to a.get_raw() will return a null pointer and there will be no pointer referencing the original buffer::raw object although its reference count is 1. buffer::ptr& buffer::ptr::operator= (const ptr& p) is modified to use a local buffer::raw pointer to fix the memory leak. a = a is a noop instead of loosing the original raw buffer. A set of unit tests is added src/test/bufferlist.cc to demonstrate that the proposed change works as expected. It is checked with valgrind that reports no memory leak. The same test can be run against the original code to show that it leaks. http://tracker.ceph.com/issues/4070 refs #4070 Signed-off-by: Loic Dachary <loic@dachary.org>
* | Merge remote-tracking branch 'danny/wip-da-sca-memleaks'Sage Weil2013-02-106-16/+49
|\ \ | |/ |/| | | Reviewed-by: Sage Weil <sage@inktank.com>
| * rgw/rgw_rest.cc: fix 4K memory leakDanny Al-Gaaf2013-02-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | Fix 4K memory leak in case RGWClientIO::read() fails in read_all_chunked_input(). Error from cppcheck was: Checking src/rgw/rgw_rest.cc... [src/rgw/rgw_rest.cc:688]: (error) Memory leak: data Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * SyntheticClient.cc: fix some memory leaks in the error handlingDanny Al-Gaaf2013-02-101-3/+12
| | | | | | | | | | | | | | | | | | | | Fix some memory leaks in case of error handling due to failed client->open() calls. Error from cppcheck was: [src/client/SyntheticClient.cc:1980]: (error) Memory leak: buf [src/client/SyntheticClient.cc:2040]: (error) Memory leak: buf [src/client/SyntheticClient.cc:2090]: (error) Memory leak: buf
| * wireshark: fix some memory leaksDanny Al-Gaaf2013-02-101-5/+14
| | | | | | | | | | | | | | | | | | | | Fix some memory leaks in packet-ceph.c. Error from cppcheck was: [wireshark/ceph/packet-ceph.c:215]: (error) Memory leak: plop [wireshark/ceph/packet-ceph.c:237]: (error) Memory leak: plop [wireshark/ceph/packet-ceph.c:543]: (error) Memory leak: fsid_dec Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * rgw/rgw_xml.cc: fix realloc memory leak in error caseDanny Al-Gaaf2013-02-101-2/+9
| | | | | | | | | | | | | | | | | | Fix error from cppcheck: [src/rgw/rgw_xml.cc:212]: (error) Common realloc mistake: 'buf' nulled but not freed upon failure Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * os/FileStore.cc: fix realloc memory leak in error caseDanny Al-Gaaf2013-02-101-2/+5
| | | | | | | | | | | | | | | | | | Fix error from cppcheck: [src/os/FileStore.cc:512]: (error) Common realloc mistake: 'fiemap' nulled but not freed upon failure Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * common/fiemap.cc: fix realloc memory leakDanny Al-Gaaf2013-02-101-3/+6
|/ | | | | | | | | Fix error from cppcheck: [src/common/fiemap.cc:73]: (error) Common realloc mistake: 'fiemap' nulled but not freed upon failure Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* java: make CephMountTest use user.* xattr namesSage Weil2013-02-091-9/+14
| | | | | | | | | | | | Changes to the xattr code in Ceph require a few tweaks to existing test cases. Specifically, there is now a ceph.file.layout xattr by default and user defined xattrs are prepended with "user." Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joe Buck <jbbuck@gmail.com> Reviewed-by: Noah Watkins <noahwatkins@gmail.com>
* Merge branch 'next'Sage Weil2013-02-091-27/+38
|\
| * osd: fix load_pgs collection handlingSage Weil2013-02-091-28/+31
| | | | | | | | | | | | | | | | | | | | | | On a _TEMP pg, is_pg() would succeed, which meant we weren't actually hitting the cleanup checks. Instead, restructure this loop as positive checks and handle each type of collection we understand. This fixes _TEMP cleanup. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * osd: fix load_pgs handling of pg dirs without a headSage Weil2013-02-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | If there is a pgid that passes coll_t::is_pg() but there is no head, we will populate the pgs map but then fail later when we try to do read_state. This is a side-effect of 55f8579. Take explicit note of _head collections we see, and then warn when we find stray snap collections. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
* | Merge branch 'next'Sage Weil2013-02-090-0/+0
|\ \ | |/ | | | | | | Conflicts: src/mon/PGMonitor.h
| * OSD::load_pgs: first scan colls before initing PGsSamuel Just2013-02-091-1/+10
| | | | | | | | | | | | Backport: bobtail Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * mon: fix typo in C_StatsSage Weil2013-02-081-1/+1
| | | | | | | | | | | | Broken by previous commit. Signed-off-by: Sage Weil <sage@inktank.com>
* | test/crypto: fix narrowing conversion warningSage Weil2013-02-081-6/+6
| | | | | | | | | | | | warning: test/crypto.cc:49:3: narrowing conversion of ‘136’ from ‘int’ to ‘char’ inside { } is ill-formed in C++11 [-Wnarrowing] Signed-off-by: Sage Weil <sage@inktank.com>
* | doc: update commands for fetching release PGP keysSage Weil2013-02-083-5/+6
| | | | | | | | | | | | | | Use https to ceph.com. The gitweb URLs aren't as pretty, but our cert is at least valid! Signed-off-by: Sage Weil <sage@inktank.com>
* | doc: Removed unnecessary/contradictory options.John Wilkins2013-02-081-1/+1
| | | | | | | | | | | | fixes: #4058 Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | doc: Fixed order of option.John Wilkins2013-02-081-1/+1
| | | | | | | | | | | | fixes: #4046 Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | mon: assert valid context return valuesSage Weil2013-02-084-21/+28
| | | | | | | | | | | | | | We recognized EAGAIN, ECANCELED, and success only. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Luis <joao.luis@inktank.com>
* | Merge branch 'next'Sage Weil2013-02-082-19/+20
|\ \ | |/
| * mon: retry PGStats message on EAGAINSage Weil2013-02-081-3/+6
| | | | | | | | | | | | | | | | If we get EAGAIN from a paxos restart/election/whatever, we should restart the message instead of just blindly acking it. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Luis <joao.luis@inktank.com>
| * mon: handle -EAGAIN in completion contextsSage Weil2013-02-081-16/+14
| | | | | | | | | | | | | | | | | | | | | | We can get ECANCELED, EAGAIN, or success out of the completion contexts, but in the EAGAIN case (meaning there was an election) we were sending a success to the client. This resulted in client hangs and all-around confusion when the monitor cluster was thrashing. Backport: bobtail Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Luis <joao.luis@inktank.com>
* | Merge branch 'next'Sage Weil2013-02-071-0/+1
|\ \ | |/
| * radosgw-admin: fix cli testSage Weil2013-02-071-0/+1
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | keys: renew autobuild.asc keySage Weil2013-02-071-28/+28
| | | | | | | | | | | | | | This expired today. Change it to never expire, like the Ubuntu release keys. Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge remote-tracking branch 'gh/next'Sage Weil2013-02-0715-15/+231
|\ \ | |/
| * ReplicatedPG: check store for temp collection in have_temp_collSamuel Just2013-02-072-3/+6
| | | | | | | | | | | | | | | | | | | | We may not have "created" the temp collection since OSD restart before removing the PG. have_temp_coll must also look at the OSD store. Currently, the only user is pg removal, so the extra work is acceptable. Backport: bobtail Signed-off-by: Samuel Just <sam.just@inktank.com>
| * rgw: a tool to fix clobbered bucket info in user's bucket listYehuda Sadeh2013-02-071-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes bad entries in user's bucket list that may have occured due to issue #4039. Syntax: $ radosgw-admin user check --uid=<uid> [--fix] Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com> (cherry picked from commit 9cb6c33f0e2281b66cc690a28e08459f2e62ca13) Conflicts: src/rgw/rgw_admin.cc
| * rgw: bucket recreation should not clobber bucket infoYehuda Sadeh2013-02-072-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #4039 User's list of buckets is getting modified even if bucket already exists. This fix removes the newly created directory object, and makes sure that user info's data points at the correct bucket. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com> (cherry picked from commit 9d006ec40ced9d97b590ee07ca9171f0c9bec6e9) Conflicts: src/rgw/rgw_op.cc src/rgw/rgw_rados.cc
| * Merge branch 'wip-cephtool' into nextDan Mick2013-02-076-10/+10
| |\ | | | | | | | | | | | | | | | Usage/errmsg fixups for the ceph CLI tool Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| | * ceph: fix 'pg' error message to direct user toward better inputDan Mick2013-02-071-1/+1
| | | | | | | | | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
| | * mds: error messages for export_dir said 'migrate_dir'Dan Mick2013-02-071-4/+4
| | | | | | | | | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
| | * ceph: ceph mon delete doesn't exist; ceph mon remove is the commandDan Mick2013-02-072-2/+2
| | | | | | | | | | | | | | | | | | Fix up cli test as well (doc is already correct) Signed-off-by: Dan Mick <dan.mick@inktank.com>
| | * osd: fix name of setomapval admin-daemon commandDan Mick2013-02-071-1/+1
| | | | | | | | | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
| | * ceph: use "config set" consistently in help/error msgsDan Mick2013-02-071-2/+2
| |/ | | | | | | | | | | | | apparently it was once known as set_config. Fix up everything to refer to the new name. Also, fix up the help message. Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * PG: dirty_info on handle_activate_mapSamuel Just2013-02-071-0/+1
| | | | | | | | | | | | | | | | | | We need to make sure the pg epoch is persisted during activate_map. Backport: bobtail Reviewed-by: Sage Weil <sage@inktank.com> Signed-off-by: Samuel Just <sam.just@inktank.com>
| * osd: flush peering queue (consume maps) prior to bootSage Weil2013-02-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the osd itself is behind on many maps during boot, it will get more and (as part of that) flush the peering wq to ensure the pgs consume them. However, it is possible for OSD to have latest/recnet maps, but pgs to be behind, and to jump directly to boot and join. The OSD is then laggy and unresponsive because the peering wq is way behind. To avoid this, call consume_map() (kick the peering wq) at the end of init and flush it to ensure we are *internally* all caught up before we consider joining the cluster. I'm pretty sure this is the root cause of #3905 and possibly #3995. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * rgw: a tool to fix buckets with leaked multipart referencesYehuda Sadeh2013-02-053-10/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checks specified bucket for the #4011 symptoms, optionally fix the issue. sytax: radosgw-admin bucket check --bucket=<bucket> [--fix] Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> (cherry picked from commit 2d8faf8e5f15e833e6b556b0f3c4ac92e4a4151e) Conflicts: src/rgw/rgw_admin.cc src/rgw/rgw_rados.h
| * rgw: radosgw-admin object unlinkYehuda Sadeh2013-02-054-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | Add a radosgw-admin option to remove object from bucket index Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> (cherry picked from commit 16235a7acb9543d60470170bb2a09956364626cd) Conflicts: src/rgw/rgw_admin.cc src/rgw/rgw_rados.h src/test/cli/radosgw-admin/help.t
| * mon: check correct length of commandDan Mick2013-02-051-1/+1
| | | | | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
* | Merge remote-tracking branch 'origin/master' into wip-2941-3Yehuda Sadeh2013-02-073-1/+26
|\ \
| * | OSD: check pg snap collections on start upSamuel Just2013-02-073-0/+16
| | | | | | | | | | | | | | | | | | Backport: bobtail Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | OSD::load_pgs: first scan colls before initing PGsSamuel Just2013-02-071-1/+10
| | | | | | | | | | | | | | | | | | Backport: bobtail Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | | rgw: stream get_obj operationYehuda Sadeh2013-02-0711-63/+496
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #2941 Instead of iterating through the parts one by one when reading an object, we can now send multiple requests in parallel. Two new configurables added to control the max request size, and the total size of pending requests. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | | throttle: optional non perf counter modeYehuda Sadeh2013-02-072-19/+37
|/ / | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | rgw: get bucket_owner from policyYehuda Sadeh2013-02-071-13/+2
| | | | | | | | | | | | | | We already read the bucket policy, we can get the bucket owner from there. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | rgw: fix bucket_owner assignmentYehuda Sadeh2013-02-071-1/+1
| | | | | | | | | | | | s->bucket_acl may be null, so reverting to old behavior. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>