summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* librados: drop #include of int_types.h from headerwip-rados-intsSage Weil2013-10-021-4/+2
| | | | | | This is unnecessary, and breaks compilation for outside users. Signed-off-by: Sage Weil <sage@inktank.com>
* Merge pull request #682 from ceph/wip-copyingLoic Dachary2013-10-022-37/+89
|\ | | | | sync up COPYING and debian/copyright
| * COPYING: fix URLSage Weil2013-10-022-2/+2
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * debian/copyright: sync up with COPYINGSage Weil2013-10-021-6/+48
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * COPYING: add Packaging: sectionSage Weil2013-10-021-0/+5
| | | | | | | | | | | | Again, debian-specific, but who cares. Signed-off-by: Sage Weil <sage@inktank.com>
| * COPYING: add debian-style headersSage Weil2013-10-021-0/+5
| | | | | | | | | | | | | | This may not be necessary here, but it makes this identical to the debian/copyright file, which is a win. Signed-off-by: Sage Weil <sage@inktank.com>
| * COPYING: fix formattingSage Weil2013-10-021-30/+30
|/ | | | Signed-off-by: Sage Weil <sage@inktank.com>
* Merge pull request #678 from ceph/wip-5981Alfredo Deza2013-10-021-8/+5
|\ | | | | ceph-disk: make initial journal files 0 bytes
| * ceph-disk: make initial journal files 0 byteswip-5981Sage Weil2013-09-091-8/+5
| | | | | | | | | | | | | | | | | | | | The ceph-osd will resize journal files up and properly fallocate() them so that the blocks are preallocated and (hopefully) contiguous. We don't need to do it here too, and getting fallocate() to work from python is a pain in the butt. Fixes: #5981 Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge pull request #649 from ceph/wip-6422Sage Weil2013-10-026-151/+119
|\ \ | | | | | | | | | | | | #6422 Reviewed-by: Sage Weil <sage@inktank.com>
| * | common, os, osd: Use common functions for safe file reading and writingDavid Zafman2013-10-025-145/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new safe_read_file() and safe_write_file() to update files atomically Used instead of original OSD::read_meta(), OSD::write_meta() they are based on Used by read_superblock() and write_superblock() Used by write_version_stamp() and version_stamp_is_valid() Fixes: #6422 Signed-off-by: David Zafman <david.zafman@inktank.com>
| * | osd: In read_meta() leave an extra byte in buffer to nul terminateDavid Zafman2013-10-021-1/+1
| | | | | | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * | os: Simplify collection_list* funcs by removing dynamic_castDavid Zafman2013-09-261-6/+3
| | | | | | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
* | | Merge pull request #620 from dachary/wip-erasure-docathanatos2013-10-026-358/+149
|\ \ \ | | | | | | | | ErasureCode: doc updates
| * | | ErasureCode: update PGBackend descriptionLoic Dachary2013-10-025-184/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on a dialog with Sam ( as published at http://dachary.org/?p=2320 ). * Remove PGBackend-h.rst because PGBackend.h is now in master. * Fix typos caught by ispell * Update recovery links to point to PGBackend recover methods * Workaround formating warning developer_notes.rst:3: WARNING: Duplicate explicit target name: "erasurecodepluginexample" which should be legitimate. Signed-off-by: Loic Dachary <loic@dachary.org>
| * | | ErasureCode: doc updatesLoic Dachary2013-10-023-176/+129
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update to the current state of the ghobject implementaiton and the fact that they encode the shard_t Although the pool also contains the shard id, it is less relevant to understand the implementation. * Update with the erasure code plugin infrastructure and the example plugin now in master. * Move jerasure to a separate page to be expanded and link it from the toc * Kill the partial read and writes notes as it will probably not be implemented in the near future. Kill some of the notes because they are no longer relevant. * Add a definition for "chunk rank" * Reword, update schemas, fix typos. Signed-off-by: Loic Dachary <loic@dachary.org>
* | | Merge pull request #652 from dachary/wip-ghobjectsLoic Dachary2013-10-021-8/+8
|\ \ \ | | | | | | | | common: ghobject sort order & get_filestore_key
| * | | common: document ghobject sort order rationaleLoic Dachary2013-10-021-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Intuition differs regarding the sort order of the ghobject shard and generation. Document the rationale for the chosen sort order. Reviewed-by: Samuel Just <sam.just@inktank.com> Reviewed-by: David Zafman <david.zafman@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * | | common: ghobject get_filestore_key* use hobject counterpartLoic Dachary2013-10-021-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The get_filestore_key* methods are changed to just call the corresponding hobject methods instead of providing an identical implementation. Reviewed-by: David Zafman <david.zafman@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
* | | | mds: return -EAGAIN if standby replay falls behindYan, Zheng2013-10-011-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | standby replay may fall behind and get -ENOENT when reading the journal. return -EAGAIN in this case, it makes the MDS respawn itself. fixes: #5458 Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | | | os/FileStore: report errors from _crc_load_... and _crc_saveSage Weil2013-10-011-3/+9
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | | Merge pull request #671 from ceph/wip-tmapSage Weil2013-10-017-125/+99
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | remove tmap->omap auto-upgrade Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | | rados: add 'tmap-to-omap' commandSage Weil2013-10-012-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Explicitly convert tmap object data to omap keys. Removes the old tmap content at the same time. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | rados: make 'tmap dump' gracefully handle non-tmap dataSage Weil2013-10-011-2/+9
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd: remove magical tmap -> omap conversionSage Weil2013-10-015-123/+17
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is incomplete and unfortunately unusable in its current state: - it would only set USES_TMAP for old encoded object_info_t and tmapput, but would NOT set it for tmapup - a config option turned that off by default. That means that the mds conversion from tmap -> omap won't be able to use this because any existing cluster has tmap objects without the USES_TMAP flag set. And we don't want to unconditionally try a tmap->omap conversion on omap operations because there are lots of existing librados users out there that will be negatively impacted by this. Instead, the MDS will need to handle this conversion on the client side by reading either tmap or omap objects and explicitly rewriting the content with omap (while truncating the tmap data away). The auto-conversion function was added in v0.44. Signed-off-by: Sage Weil <sage@inktank.com>
* | | | Merge pull request #675 from ceph/wip-osd-dirtySage Weil2013-10-0110-10/+186
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | osd: add a dirty flag for objects. Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | | | osd: add ISDIRTY, UNDIRTY rados operationsSage Weil2013-10-019-4/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ISDIRTY will query whether the dirty flag is set on an object. UNDIRTY will explicitly clear it. Note that a user doing so will likely run amok with the caching code. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osdc/Objecter: fix return value for copy_getSage Weil2013-10-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should return the return code even when we don't have an encoding error! Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd/ReplicatedPG: mark objects dirty in make_writeable()Sage Weil2013-10-011-0/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd/osd_types: object_info_t::get_flag_string()Sage Weil2013-10-012-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stop adding these ad-hoc to the operator<<. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd/osd_types: add object_info_t::FLAG_DIRTYSage Weil2013-10-011-0/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | | | Merge pull request #673 from liewegas/wip-usageDan Mick2013-10-012-3/+4
|\ \ \ \ \ | |/ / / / |/| | | | make rbd, rados bad command errors more friendly
| * | | | rbd: be helpful with invalid commandSage Weil2013-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $ rbd asdf rbd: error parsing command 'asdf'; -h or --help for usage Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | rados: do not dump usage on invalid commandSage Weil2013-10-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I hate this; it makes it impossible to see that there was an error message. We made this same change a while back with rbd. Signed-off-by: Sage Weil <sage@inktank.com>
* | | | | Merge remote-tracking branch 'gh/next'Sage Weil2013-10-0115-14/+53
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: PendingReleaseNotes
| * | | | | crush: invalidate rmap on create (and thus decode)Sage Weil2013-10-012-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have an existing CrushWrapper object and decode from a bufferlist, reset build_rmaps so that they get rebuilt. Remove the build_rmaps() all in decode that was useless on a redecode (because have_rmaps == true in that case and it did nothing). Fixes: #6442 Backport: dumpling, maybe cuttlefish Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | | | | Merge pull request #666 from dmick/wip-6384Alfredo Deza2013-10-011-0/+6
| |\ \ \ \ \ | | | | | | | | | | | | | | ceph.in: clean up error message when missing required parameter
| | * | | | | ceph_argparse.py: clean up error reporting when required param missingDan Mick2013-09-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Treat "need 1, got 0" as a special case, and change the message to "missing required parameter <x>". Also, when failing for that reason, print the command concise description and its helptext. Fixes: #6384 Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * | | | | | Merge pull request #664 from ceph/wip-6445Josh Durgin2013-09-301-0/+2
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Wip 6445 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| | * | | | | | rgw: fix leak in RGWMetadataManager::remove()wip-6445Yehuda Sadeh2013-09-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport: dumpling Fixes: #6445 handler->get() returns a newly allocated obj, need to delete it when done. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | | | | | Merge pull request #665 from ceph/wip-6444Josh Durgin2013-09-304-6/+11
| |\ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | | | | | | | | | | | Wip 6444 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| | * | | | | | PendingReleaseNotes: update regarding librados changeYehuda Sadeh2013-09-302-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix related to issue #6444 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| | * | | | | | rgw: drop async pool create completion referenceYehuda Sadeh2013-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #6444 Backport: dumpling If pool creation fails (e.g., due to -EEXIST) then we leak the completion object. Earlier we couldn't just drop the reference, as librados have already removed the internal completion object. This fix drop the completion reference even if got an error, which is now possible. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| | * | | | | | librados: pool async create / delete does not delete completion handleYehuda Sadeh2013-09-301-2/+0
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport: dumpling The pool async delete / create function used to delete the internal completion object. However, caller still holds the allocated completion object, which it can't drop a reference to (as it'd try to deallocate the already freed internal object). This fix removes the internal object deletion, a following commit will fix a related leak (#6444) by having the application (radosgw) drop the reference even if got an error. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | | | | Merge pull request #662 from dmick/nextAlfredo Deza2013-09-307-7/+6
| |\ \ \ \ \ \ | | |/ / / / / | |/| | | | | Invoke python with /usr/bin/env python instead of directly
| | * | | | | Invoke python with /usr/bin/env python instead of directlyDan Mick2013-09-307-7/+6
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #6311 Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * | | | | rbd.cc: propagate some errors to user-space when they're availableJoao Eduardo Luis2013-09-301-55/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a bunch of situations in which we would have a proper error to propagate to user-space but we would always return '1' (EXIT_FAILURE). Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com> (cherry picked from commit 7e722245a717038c49f432ae19d9874c25066bb6)
* | | | | | osd/osd_types: bump encoding from 11 -> 12Sage Weil2013-10-011-2/+2
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Meant to do this in a1b82f2a568ba211601c12b0b33474e982a3be6f or d421b66293fb3d815ad2cd4c787dd2c39f48d6e8 but forgot! Signed-off-by: Sage Weil <sage@inktank.com>
* | | | | Merge pull request #670 from ceph/wip-osd-whiteoutSage Weil2013-10-013-36/+76
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd: add basic whiteout infrastructure Reviewed-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | | | | osd/osd_types: convert object_info_t::uses_tmap to a flagSage Weil2013-10-013-24/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Treat the second encoded bool as bits 9-16 of a (now) 16-bit flags field, and use bit 9 (what used to be set by the use_tmap bool) as FLAG_USES_TMAP. No encoding compatibility change. Signed-off-by: Sage Weil <sage@inktank.com>