summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* build: test dependencywip-4725Gary Lowell2013-04-171-1/+4
|
* build: Add new package dependenciesGary Lowell2013-04-172-3/+2
| | | | | | | | | | | | The libbost-system-dev package is a build requirement on newer distributions. Since the package is not universially available add the libbost-all-dev virtual package instead. (Bug #4725) Add hdparm to rpm installation requirements. The hdparm command is used to determin if write-caching is enabled on the journal device. Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
* doc: Changed MDS upgrade to use ceph-mds package.John Wilkins2013-04-151-1/+1
| | | | | | fixes: #4727 Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* doc: Overhauled Wido's CloudStack document.John Wilkins2013-04-151-47/+113
| | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* Merge branch 'next'Josh Durgin2013-04-1219-54/+815
|\
| * qa: add workunit for running qemu-iotestsJosh Durgin2013-04-121-0/+22
| | | | | | | | | | | | | | | | | | This uses the old stand-alone qemu-iotests repo so it works with the version of qemu in Ubuntu 12.04. The tests depend tightly on qemu version, so to use later tests we'd need to install corresponding versions of qemu. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
| * mds: output error number when failing to load an MDSTableGreg Farnum2013-04-121-1/+1
| | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * init-radosgw.sysv: New radosgw init file for rpm based systemsGary Lowell2013-04-113-4/+96
| | | | | | | | | | | | | | | | | | | | | | | | Added init-radosgw.sys file for rpm based systems, added it to the tarball list in the makefile, and updated the specfile to install it. Also added the a dependency in ceph since it uses utility routes from that package (On debian systems these are packaged in ceph-common). Incorporated review comments from Alex. (Bug #4571) Signed-off-by: Gary Lowell <gary.lowell@inktank.com> Reviewed-by: Alexandre Marangone <alexandre.marangone@inktank.com>
| * Merge pull request #213 from ceph/wip-sessionmap-4644Sam Lang2013-04-111-2/+2
| |\ | | | | | | | | | | | | mds: fix session_info_t decoding Reviewed-by: Sam Lang <sam.lang@inktank.com>
| | * mds: fix session_info_t decodingYan, Zheng2013-04-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 0bcf2ac081 changes session_info_t's format, but there is a typo in the code that decodes old format. We also need to handle struct_v == 1, which had the same encoding but without the size guards (which is all handled by DECODE_START_LEGACY_COMPAT). Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com> Signed-off-by: Greg Farnum <greg@inktank.com>
| * | Merge pull request #212 from ceph/wip-4451Gregory Farnum2013-04-116-29/+58
| |\ \
| | * | mds: Delay export on missing inodes for reconnectSam Lang2013-04-115-17/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reconnect caps sent by the client on reconnect may not have inodes found in the inode cache until after clientreplay (when the client creates a new file, for example). Currently, we send an export for that cap to the client if we don't see an inode in the cache and path_is_mine() returns false (for example, if the client didn't send a path because the file was already unlinked). Instead, we want to delay handling of the reconnect cap until clientreplay completes. This patch modifies handle_client_reconnect() so that we don't assume the cap isn't ours if we don't have an inode for it, but instead delay recovery for later. An export cap message is only sent if the inode exists and the cap isn't ours (non-auth) during reconnect. If any remaining recovered caps exist in the recovered list once the mds goes active, we send export messages at that point. Also, after removing the path_is_mine check, MDCache::parallel_fetch_traverse_dir() needs to skip non-auth dirfrags. Fixes #4451. Signed-off-by: Sam Lang <sam.lang@inktank.com> Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com> Reviewed-by: Yan, Zheng <zheng.z.yan@intel.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| | * | client: Unify session close handlingSam Lang2013-04-111-12/+12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If mds failure causes client reconnect while the client is unmounting, the client will send a session close request to the mds even if there are outstanding inodes in the cache waiting to receive flush_acks. This causes the mds to send back a session close message and the client closes the connection, so that when the mds tries to send flush acks back to the client, they get dropped, resulting in the client hanging on unmount. The pattern for this bug is: 1. mds restart 2. client sends session open request 3. client unmount sets unmounting flag and waits for flush_acks 4. mds sends session open reply 5. client sends session close request (because its unmounting) 6. mds sends session close, client closes connection 7. mds tries to send flush_acks, but drops them because the connection is gone This patch unifies the session close handling so that the client only sends a session close in unmount once all flush acks have been received. If the mds restarts during session close, the reconnect logic will kick the session close waiter so that session close requests are re-sent for session close replies not yet received. Signed-off-by: Sam Lang <sam.lang@inktank.com>
| * | OSD: make pg upgrade logging quietSamuel Just2013-04-101-2/+7
| | | | | | | | | | | | | | | | | | Fixes: #4701 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * | Merge branch 'wip_4654' into nextSamuel Just2013-04-104-10/+21
| |\ \ | | | | | | | | | | | | | | | | Fixes: #wip_4654 Reviewed-by: Greg Farnum <greg@inktank.com>
| | * | FileJournal: start_seq is seq+1 if journalq.empty()Samuel Just2013-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is also the same as journaled_seq + 1 for writeahead journaling, but not for parallel journaling. Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * | FileJournal: fix off by one error in committed_thruSamuel Just2013-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | journalq.front().first is the sequence number of the entry at journalq.front().second. Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * | Journal: commits may not include all journaled seqsSamuel Just2013-04-101-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At one point, a commit had to drain the FileStore op queue. This is no longer the case. Consequently, the journal may have to wait more than one commit for the filestore to create a stable commit point at a particular sequence. Handling this requires two changes: 1) We cannot transition to FULL_WAIT until we receive a commit_start on a seq >= journaled_seq. 2) We cannot remove the journal completion plug until get a committed_thru on a seq >= header.start_seq at least as new as the oldest committed item in the journal. If on replay, the journal does not include fs_op_seq, we ignore it, which is fine since we won't have reported those entries committed! Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * | Journal: pass the sequence number to commit_startSamuel Just2013-04-104-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | A subsequent patch will need to see the committing seq. Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | | rbd qa/workunits: add rbd read data testAlex Elder2013-04-101-0/+608
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new test script for validating data reads from a mapped rbd image is what it's expected to be. See the content of the file for a bit more explanation. Signed-off-by: Alex Elder <elder@inktank.com>
| * | | rgw_admin: Create keys for a new user by default.caleb miles2013-04-101-2/+3
| | |/ | |/| | | | | | | | | | | | | Create a new key pair for new users or when --gen-access-key is specified. Signed-off-by: caleb miles <caleb.miles@inktank.com>
| * | test_stress_watch: remove bogus assertsJosh Durgin2013-04-101-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no reason to check the duration of a watch. The notify will timeout after 30s on the OSD, but there's no guarantee the client will see that in any bounded time. This test is really meant as a stress test of the OSDs anyway, not of the clients, so just remove asserts about operation duration. Fixes: #4591 Signed-off-by: Josh Durgin <josh.durgin@inktank.com> Reviewed-by: Sam Just <sam.just@inktank.com>
* | | Merge pull request #205 from dalgaaf/wip-da-md_config-classGregory Farnum2013-04-127-7/+5
|\ \ \ | | | | | | | | | | | | | | | | md_config_t: change from class to struct as the name indicates Reviewed-by: Greg Farnum <greg@inktank.com>
| * | | md_config_t: change from class to struct as the name indicatesDanny Al-Gaaf2013-04-087-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change md_config_t from class to struct to fix some issues from clang. The name indicates it's a struct so change it to struct and unify the usaged type. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* | | | doc: Added additional note on first step of adding OSD.John Wilkins2013-04-111-5/+6
| | | | | | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | | doc: Added info on OSD naming, and example.John Wilkins2013-04-111-1/+24
| | | | | | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | | doc: Moved ceph osd create to first step.John Wilkins2013-04-111-5/+9
| | | | | | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | | doc: Changed libvirt example to use virtio.John Wilkins2013-04-111-2/+5
| | | | | | | | | | | | | | | | fixes: #4469
* | | | rgw_admin: Create keys for a new user by default.caleb miles2013-04-101-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | Create a new key pair for new users or when --gen-access-key is specified. Signed-off-by: caleb miles <caleb.miles@inktank.com>
* | | | Merge branch 'next'Josh Durgin2013-04-1022-86/+199
|\ \ \ \ | | |/ / | |/| |
| * | | test: update rbd formatted-output for progress changesJosh Durgin2013-04-101-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | Progress output now goes to stderr instead of stdout. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
| * | | Merge branch 'wip-journaler-4618' into nextGreg Farnum2013-04-092-9/+13
| |\ \ \ | | | | | | | | | | | | | | | Reviewed-by: Sam Lang <sam.lang@inktank.com>
| | * | | journaler: remove the unused prefetch_from member variableGreg Farnum2013-04-082-4/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| | * | | mds: fix journaler to set temp_fetch_len appropriately and read the ↵Greg Farnum2013-04-081-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | requested amount The _prefetch() function which intereprets temp_fetch_len interprets it as the amount of data we need from read_pos, which is the beginning of read_buf. So by setting it to the amount *more* we needed, we were getting stuck forever if we actually hit this condition. Fix it by setting temp_fetch_len based on the amount of data we need in aggregate. Furthermore, we were previously rounding *down* the requested amount in order to read only full log segments. Round up instead! Fixes #4618 Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | | config: fix osd_client_message_cap commentGreg Farnum2013-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | | Merge remote-tracking branch 'origin/wip-osd-throttle2' into nextGreg Farnum2013-04-098-48/+92
| |\ \ \ \ | | |_|_|/ | |/| | | | | | | | Reviewed-by: Greg Farnum <greg@inktank.com>
| | * | | osd: throttle client messages by count, not just by bytesSage Weil2013-04-062-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets us put a cap on outstanding client IOs. This is particularly important for clients issuing lots of small IOs. Fixes: #4579 Signed-off-by: Sage Weil <sage@inktank.com>
| | * | | msgr: add second per-message throttler to message policySage Weil2013-04-067-46/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already have a throttler that lets of limit the amount of memory consumed by messages from a given source. Currently this is based only on the size of the message payload. Add a second throttler that limits the number of messages so that we can effectively throttle small requests as well. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | FileJournal: clarify meaning of start_seq and fix initializationSamuel Just2013-04-092-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Second guessing the first sequence number from the FileStore was silly and broke tests which had the temerity to start at 1 instead of 2... Fixes: #4687 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * | | | Revert "global: call config observers on global_init (and start logging!)"Greg Farnum2013-04-081-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a30917746614275baeb718e902133f06ef44fba6. This commit includes calls that involve Mutexes, Lockers, and lockdep -- which isn't yet set up, so things break horribly. A more subtle approach is required. Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | | mon: Use _daemon version of argparse functionsDan Mick2013-04-085-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow argparse functions to fail if no argument given by using special versions that avoid the default CLI behavior of "cerr/exit" Fixes: #4678 Signed-off-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | | | ceph_argparse: add _daemon versions of argparse callsDan Mick2013-04-082-7/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mon needs to call argparse for a couple of -- options, and the argparse_witharg routines were attempting to cerr/exit on missing arguments. This is appropriate for the CLI usage, but not the daemon usage. Add a 'cli' flag that can be set false for the daemon usage (and cause the parsing routine to return false instead of exit). The daemon's parsing code due for a rewrite soon. Signed-off-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | | | Pipe: call discard_requeued_up_to under pipe_lockSamuel Just2013-04-081-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #4627 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * | | | Merge pull request #202 from ceph/wip-log-bootGregory Farnum2013-04-081-0/+5
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Fixes #4676. Reviewed-by: Greg Farnum <greg@inktank.com>
| | * | | | global: call config observers on global_init (and start logging!)Sage Weil2013-04-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we don't start logging on daemon startup unless the log_file parameter was adjusted by ceph.conf. Instead, we should call all config observers so that the logging subsystem is fully configured and we log even prior to the daemonize and common_init_finish (when we call observers again). This fixes logging for the initial period before we daemonize. For some of the daemons (osd, mon), this includes significant work. It also fixes the problem where users don't see the 'ceph version ...' banner on daemon start. Backport: bobtail Signed-off-by: Sage Weil <sage@inktank.com>
| | * | | | global: flush log before stopping/starting on daemonizeSage Weil2013-04-071-0/+1
| | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that we push log data out before we restart logging. This may not be strictly necessary, but it avoids a whole class of possible pitfalls. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | Merge pull request #206 from ceph/wip-4660Gregory Farnum2013-04-081-1/+2
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | mds: Keep LogSegment ref for openc backtrace Reviewed-by: Greg Farnum <greg@inktank.com>
| | * | | mds: Keep LogSegment ref for openc backtraceSam Lang2013-04-081-1/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MDRequest is destroyed once the client reply is sent, but we need the reference to the LogSegment for updating the backtrace, so store a temporary ref to the LogSegment for later. Fixes #4660. Signed-off-by: Sam Lang <sam.lang@inktank.com>
* | | | Merge pull request #211 from ceph/wip-doc-4697scuttlemonkey2013-04-101-1/+1
|\ \ \ \ | | | | | | | | | | pool should be root in osd set syntax for bobtail
| * | | | pool should be root in osd set syntax for bobtailscuttlemonkey2013-04-101-1/+1
|/ / / /