Replace existing index.rst with the beginnings of a comprehensive
developer guide.
Move the old index.rst to index-old.rst.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
always indent using tab, the rendered html looks good, but it helps with
editor to highlight the codeblock properly.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Fix an incorrent number in the ordered list and some indention issue.
Make the ordered list to use '1' or 'a' for the first item, and '#' for
the remaining items.
Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
Wip writeback throttling for cache tiering
This patch is to do write back throttling for cache tiering, which is similar to what the Linux kernel does for page cache write back. A paramter 'cache_target_dirty_high_ratio' (default 0.6) is introduced as the high speed flushing threshold, while leave the 'cache_target_dirty_ratio' (default 0.4) to represent the low speed threshold. The flush speed is controlled by limiting the parallelism of flushing. The maximum parallelism under low speed is half of the parallelism under high speed. If there is at least one PG such that the dirty ratio beyond the high threshold, full speed mode is entered; If there is no PG such that dirty ratio beyond the low threshold, idle mode is entered; In other cases, slow speed mode is entered.
Signed-off-by: Mingxin Liu <mingxinliu@ubuntukylin.com>
Reviewed-by: Li Wang <liwang@ubuntukylin.com>
Suggested-by: Nick Fisk <nick@fisk.me.uk>
Tested-by: Kefu Chai <kchai@redhat.com>
* use HOWTO_monitor_the_automated_tests_AKA_nightlies to explain the nightlies
* replace references to Serverity with Backport tracker
* add links to the backporter manual and the release page
* s/0.95/9.0.0/
* unify release names to be lowercase
* replace lifecycle with release cycle and end of life with retirement
* Prefer LTS or Long Term Stable over Long Term Support
Signed-off-by: Loic Dachary <ldachary@redhat.com>
When updating submodules, always checkout even if the HEAD is the
desired commit hash (update --force) to avoid the following:
* a directory gmock exists in hammer
* a submodule gmock replaces the directory gmock in master
* checkout master + submodule update : gmock/.git is created
* checkout hammer : the gmock directory still contains the .git from
master because it did not exist at the time and checkout won't
remove untracked directories
* checkout master + submodule update : git rev-parse HEAD is
at the desired commit although the content of the gmock directory
is from hammer
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Document the high level view of the development workflows which are
otherwise implicit and non trivial to figure out.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
When using :doc:`/dev/sepia` the page title is inlined. The modified
title is easier to include as part of a sensible sentence.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Encapsulate the compilation steps (install dependencies, autogen.sh,
configure, make check) in the run-make-check.sh script. Update the
developer documentation to point to this script instead of multiple
steps.
It is intended as a tool to help new developer make sure their patch is
sane, it focuses on efficiency (runs make check in parallel if possible)
and coverage (enables docker based tests if possible).
http://tracker.ceph.com/issues/10265Fixes: #10265
Signed-off-by: Loic Dachary <ldachary@redhat.com>
vstart.sh now creates the users for the default configuration
for the s3-tests, available on https://github.com/ceph/s3-tests.
Also updated the documentation to show the correct RadosGW port.
Signed-off-by: Luis Pabón <lpabon@redhat.com>
The prototype of the init functions of erasure coded plugins is changed
from
int __erasure_code_init(char *plugin_name)
to
int __erasure_code_init(char *plugin_name, char *directory)
The jerasure plugin will find optimized variants in this directory and
load them. The load() and preload() functions of
ErasureCodePluginRegistry only use a directory instead of a more generic
parameters map. The parameters map was only used for the directory entry
anyway.
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
mon: OSDMonitor: 'osd pool' - if we can set it, we must be able to get it
Reviewed-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Sage Weil <sage@redhat.com>
If unspecified it is ruleset-root=default and will translate into
take default
when a ruleset is created for an erasure-code pool.
Signed-off-by: Loic Dachary <loic@dachary.org>
* Warn the reader that the implementation is ahead and may differ
* Update the links to the Firefly branch
* Remove links to issues used during development to avoid confusion
Signed-off-by: Loic Dachary <loic@dachary.org>
* The parameters come from the erasure code profile
* Add a note about the upstream submodules gf-complete / jerasure
Signed-off-by: Loic Dachary <loic@dachary.org>
Update the introduction to explain erasure code profiles. Remove
obsolete explanations about partial writes etc. Remove links to tickets
used during development. Update permalinks to be closer to
Firefly (v0.78).
Signed-off-by: Loic Dachary <loic@dachary.org>
The "just push the new tag" bit is already done in the list of commands
above. Remove this piece, since it's duplicated by the "git push"
command above.
The ceph-deploy and backports-sections were empty. Remove them.
New script to sign rpms in the repo and create the indexes, and
some description of additional packages that might need to be added.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Reviewed-by: Ken Dreyer <ken.dreyer@inktank.com>
The ceph-mon command usage is updated to document all of the ceph-mon
specific options.
The ceph tell usage examples for log and debug are using a deprecated syntax.
Signed-off-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
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>
* 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>
Following the changes to when we set or increase the user_version, we
want to continue to return the best lower bound we can on the version
of any newly-created object. For ENOENT replies that means returning
info.last_user_version instead of the (potentially-zero) ctx->user_at_version.
Similarly, for cls_current_version we want to return the last version on
the PG rather than the last update to the object in order to provide
sensible version ordering across object deletes and creates.
Update the versions doc so it continues to be precise.
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Specify a user and pg_pool_t interface for tiering/caching specifications
Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
* unify conventions to match those used by jerasure ( data chunk = K,
coding chunk = M, use coding instead of parity, use erasures instead
of erased )
* make lines 80 characters long
* modify the descriptions to take into account that the chunk rank
will encoded in the pool name and not on a per object basis
* remove the doxygen link to ErasureCodeInterface because it fails
doc: asphyxiate does not support class
http://tracker.ceph.com/issues/6115
* only systematic codes are considered at this point ( all jerasure
techniques are systematic). Although the API could be extended to
include non systematic codes, it is probably a case of over
engineering at this point.
* add link to
http://tracker.ceph.com/issues/6113
add ceph osd pool create [name] [key=value]
* update the plugin system description to match the proposed
implementation http://tracker.ceph.com/issues/5877http://tracker.ceph.com/issues/4929 refs #4929
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
* replace the erasure code plugin abstract interface with a doxygen link
that will be populated when the header shows in master
* update the plugin documentation to reflect the current draft implementation
* fix broken link to PGBackend-h
* add a glossary to define chunk, stripe, shard and strip with a drawing
http://tracker.ceph.com/issues/4929 refs #4929
Signed-off-by: Loic Dachary <loic@dachary.org>