summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* cls_version: unitestwip-cls-versionYehuda Sadeh2013-02-262-0/+293
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_version: various fixesYehuda Sadeh2013-02-263-6/+8
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* cls_version: create a new objclassYehuda Sadeh2013-02-268-1/+562
| | | | | | New objclass to track and modify objects versions. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* Merge pull request #72 from dalgaaf/wip-da-comp-sign-unsignSage Weil2013-02-251-1/+1
|\ | | | | | | | | Monitor.cc: fix -Wsign- Reviewed-by: Sage Weil <sage@inktank.com>
| * Monitor.cc: fix -Wsign-compareDanny Al-Gaaf2013-02-251-1/+1
| | | | | | | | | | | | Fix -Wsign-compare, make 'i' unsigned int. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* | Merge pull request #70 from dalgaaf/wip-da-fix-specSage Weil2013-02-254-0/+6
|\ \ | | | | | | | | | | | | Add missing files to spec and debian files Reviewed-by: Sage Weil <sage@inktank.com>
| * | debian: add new filesDanny Al-Gaaf2013-02-253-0/+3
| | | | | | | | | | | | | | | | | | Add new (installed) files to debian install files. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | ceph.spec.in: add new filesDanny Al-Gaaf2013-02-251-0/+3
| |/ | | | | | | | | | | Add new files to spec file since they get installed. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* | doc: Moved admonition to kernel mount.John Wilkins2013-02-252-8/+14
| | | | | | | | | | | | fixes: #4146 Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | doc: Added verbiage to describe single host deadlocks.John Wilkins2013-02-251-0/+35
|/ | | | | | fixes: #3076 Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* debian: make gdisk, parted requirements, not recommendations.Sage Weil2013-02-241-2/+2
| | | | | | ceph-prepare-disk (and thus ceph-deploy) need this. Signed-off-by: Sage Weil <sage@inktank.com>
* Merge remote-tracking branch 'gh/next'Sage Weil2013-02-243-14/+21
|\
| * mds: reencode MDSMap in MMDSMap if MDSENC feature is not presentSage Weil2013-02-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | In some cases the MMDSMap message from mon -> client passes from leader -> peon -> client, and the leader doesn't encode with the correct feature bits. As with MMOSDMap, we reencode the nested MDSMap based on the features if relevant bits are not present. We forgot to include this with the mds encoding changes. Signed-off-by: Sage Weil <sage@inktank.com>
| * qa/run_xfstests.sh: use $TESTDIR instead of /tmp/cephtestSage Weil2013-02-231-11/+12
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * osd: an interval can't go readwrite if its acting is emptySage Weil2013-02-231-1/+2
| | | | | | | | | | | | | | | | Let's not forget that min_size can be zero. Fixes: #4159 Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 4277265d99647c9fe950ba627e5d86234cfd70a9)
| * configuration parsing: give better error for missing =Dan Mick2013-02-211-2/+7
| | | | | | | | | | | | | | | | | | | | A ceph.conf line with "key" and no "= value" currently shows "unexpected character while parsing putative key value, at char N line M". There's no reason it can't be clearer. Fixes: #4229 Signed-off-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | Minor wording change.Neil Levine2013-02-241-1/+1
| | | | | | | | Signed-off-by: Neil Levine <neil.levine@inktank.com>
* | Grammar typoNeil Levine2013-02-241-1/+1
| | | | | | | | Signed-off-by: Neil Levine <neil.levine@inktank.com>
* | Changes to the OS support, multi-data center, and hypervisor questions.Neil Levine2013-02-241-23/+28
| | | | | | | | Signed-off-by: Neil Levine <neil.levine@inktank.com>
* | mkcephfs: create mon data dir prior to ceph-mon --mkfsSage Weil2013-02-221-1/+2
| | | | | | | | | | | | ceph-mon now expects this directory to already exist. Signed-off-by: Sage Weil <sage@inktank.com>
* | doc: Added a lot of info to OSD troubleshooting.John Wilkins2013-02-221-92/+457
| | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | doc: Added mention of Admin Socket interface and brief description.John Wilkins2013-02-221-1/+21
| | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | doc: Changed title to OSD and PG, indicating both subjects are covered.John Wilkins2013-02-221-1/+1
| | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | doc: Added references from monitoring OSD to troubleshooting OSD.John Wilkins2013-02-221-7/+14
| | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | doc: set maxdepth to 2, so TOC isn't so long with new OSD troubleshooting.John Wilkins2013-02-221-1/+2
| | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | client: use 4MB f_bsize and f_frsize for statfsSage Weil2013-02-221-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Old stat(1) reports: Block size: 1048576 Fundamental block size: 1048576 and the df(1) arithmetic works out. New stat(1) reports: Block size: 1048576 Fundamental block size: 4096 which is what we are shoving into statvfs, but we have the b_size and fr_size arithmetic swapped. However, doing the *correct* reporting would then break the old stat by making both sizes appear to be 4KB (or whatever). Sidestep the issue by making *both* values 4MB.. which is both large enough to report large FS sizes, and also the default stripe size and thus a "reasonable" value to report for a block size. Perhaps in the future, when we no longer care about old userland, we can report the page size for f_bsize, which is probably the "most correct" thing to do. Fixes: #3794. See also #3793. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
* | test/librados/watch_notify: fix warningSage Weil2013-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | In file included from test/librados/watch_notify.cc:8:0: ../src/gtest/include/gtest/gtest.h: In function ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = long unsigned int, T2 = int]’: ../src/gtest/include/gtest/gtest.h:1300:30: instantiated from ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = long unsigned int, T2 = int, bool lhs_is_null_literal = false]’ test/librados/watch_notify.cc:67:224: instantiated from here warning: ../src/gtest/include/gtest/gtest.h:1263:3: comparison between signed and unsigned integer expressions [-Wsign-compare] Signed-off-by: Sage Weil <sage@inktank.com>
* | ceph-object-corpus: re-updateSage Weil2013-02-221-0/+0
| | | | | | | | | | | | | | | | This was set by 9af94eea209fc2555f66214f01f3edddc35d4209, then single paxos merge, then accidentally reverted by the next commit 6cb53740f2c356768adfbd3cb55c007d187309d3. Signed-off-by: Sage Weil <sage@inktank.com>
* | PG::proc_replica_log: oinfo.last_complete must be *before* first entry in ↵Samuel Just2013-02-221-4/+17
| | | | | | | | | | | | | | omissing Fixes: #4189 Signed-off-by: Samuel Just <sam.just@inktank.com>
* | Merge remote-tracking branch 'gh/wip-rbd-flatten-deadlock'Sage Weil2013-02-227-160/+167
|\ \ | | | | | | | | | Reviewed-by: Sage Weil <sage@inktank.com>
| * | librbd: make sure racing flattens don't crashJosh Durgin2013-02-211-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | The only way for a parent to disappear is a racing flatten completing, or possibly in the future the image being forcibly removed. In either case, continuing to flatten makes no sense, so stop early. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
| * | librbd: use rwlocks instead of mutexes for several fieldsJosh Durgin2013-02-215-158/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Image metadata like snapshots, size, and parent is frequently read, but rarely updated. During flatten, we were depending on the parent lock to prevent the parent ImageCtx from disappearing out from under us while we read from it. The copy-up path also needed the parent lock to be able to read from the parent image, which lead to a deadlock. Convert parent_lock, snap_lock, and md_lock to RWLocks, and change their use to read instead of exclusive locks where appropriate. The main place exclusive locks are needed is in ictx_refresh, so this is pretty simple. This fixes the deadlock, since parent_lock is only needed for read access in both flatten and the copy-up operation. cache_lock and refresh_lock are only really used for exclusive access, so leave them as regular mutexes. One downside to this is that there's no way to assert is_locked() for RWLocks, so we'll have to be very careful about changing code in the future. Fixes: #3665 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
| * | common: add lockers for RWLocksJosh Durgin2013-02-211-1/+26
| | | | | | | | | | | | | | | | | | This makes them easier to use, especially instead of existing mutexes. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
| * | test: fix run-rbd-tests pool deletionJosh Durgin2013-02-211-1/+1
| | | | | | | | | | | | | | | | | | Use the new safety check Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
* | | Merge remote-tracking branch 'gh/wip-objecter-fsx'Sage Weil2013-02-225-27/+86
|\ \ \ | | | | | | | | | | | | Reviewed-by: Sage Weil <sage@inktank.com>
| * | | objecter: don't resend linger ops unnecessarilyJosh Durgin2013-02-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | recalc_linger_op_target() was checking and then setting linger_op->pgid and linger_op->active, but these were only set by recalc_linger_op_target(). This was only called by handle_osd_map(), so the first osdmap after a watch was established would cause a resend of the watch. Analogous to the normal Op, set this information by calling recalc_linger_op_target in send_linger(). Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
| * | | objecter: initialize linger op snapidJosh Durgin2013-02-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since they are write ops now, it must be CEPH_NOSNAP or the OSD returns EINVAL. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
| * | | test_librbd_fsx: fix image closingJosh Durgin2013-02-211-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always close the image we opened in check_clone(), and check the return code of the rbd_close() called before cloning. Refs: #3958 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
| * | | objecter: separate out linger_read() and linger_mutate()Sage Weil2013-02-213-17/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A watch is a mutation, while a notify is a read. The mutations need to pass in a proper snap context to be fully correct. Also, make the WRITE flag implicit so the caller doesn't need to pass it in. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | osd: make watch OSDOp print sanelySage Weil2013-02-211-0/+4
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | osdc/Objecter: unwatch is a mutation, not a readSage Weil2013-02-211-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was causing librados to unblock after the ACK on unwatch, which meant that librbd users raced and tried to delete the image before the unwatch change was committed..and got EBUSY. See #3958. The watch operation has a similar problem. Signed-off-by: Sage Weil <sage@inktank.com>
* | | | Merge branch 'wip-3403-4-rebase'David Zafman2013-02-2212-1/+212
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Feature: #3403 Signed-off-by: David Zafman <david.zafman@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | | | Add test for list_watchers() C++ interfaceDavid Zafman2013-02-211-0/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * | | | Add listwatchers command to radosDavid Zafman2013-02-211-0/+21
| | | | | | | | | | | | | | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * | | | Add ObjectReadOperation and IoCtx functionsDavid Zafman2013-02-212-1/+31
| | | | | | | | | | | | | | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * | | | librados: expose a list of watchers on an objectDavid Zafman2013-02-215-0/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new op CEPH_OSD_OP_LIST_WATCHERS Add Objecter handling Signed-off-by: David Zafman <david.zafman@inktank.com>
| * | | | Add rados_types.h header fileDavid Zafman2013-02-214-0/+20
|/ / / / | | | | | | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
* | | | osd/PG: fix typo, missing -> omissingSage Weil2013-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | From ce7ffc34408bf32c66dc07e6f42d54b7ec489d41. Signed-off-by: Sage Weil <sage@inktank.com>
* | | | Merge branch 'next'Sage Weil2013-02-2112-217/+96
|\ \ \ \ | | |_|/ | |/| |
| * | | ceph_common.sh: fix iteration of items in ceph.confSage Weil2013-02-211-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | This broke in c8f528a4070dd3aa0b25c435c6234032aee39b21. Signed-off-by: Sage Weil <sage@inktank.com>