summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rgw: escape prefix correctly when listing objectswip-5362Yehuda Sadeh2013-06-141-2/+6
| | | | | | | | | | Fixes: #5362 When listing objects prefix needs to be escaped correctly (the same as with the marker). Otherwise listing objects with prefix that starts with underscore doesn't work. Backport: bobtail, cuttlefish Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* ceph_test_rados: add --pool <name> argSage Weil2013-06-131-1/+3
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* Merge remote-tracking branch 'gh/next'Sage Weil2013-06-139-38/+213
|\
| * Merge pull request #362 from ceph/wip-4984Dan Mick2013-06-132-31/+115
| |\ | | | | | | ceph-disk: udev/partprobe redo, zap command, activate-journal command
| | * ceph-disk: implement 'activate-journal'Sage Weil2013-06-132-0/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Activate an osd via its journal device. udev populates its symlinks and triggers events in an order that is not related to whether the device is an osd data partition or a journal. That means that triggering 'ceph-disk activate' can happen before the journal (or journal symlink) is present and then fail. Similarly, it may be that they are on different disks that are hotplugged with the journal second. This can be wired up to the journal partition type to ensure that osds are started when the journal appears second. Include the udev rules to trigger this. Signed-off-by: Sage Weil <sage@inktank.com>
| | * ceph-disk: call partprobe outside of the prepare lock; drop udevadm settleSage Weil2013-06-131-31/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After we change the final partition type, sgdisk may or may not trigger a udev event, depending on how well udev is behaving (it varies between distros, it seems). The old code would often settle and wait for udev to activate the device, and then partprobe would uselessly fail because it was already mounted. Call partprobe only at the very end, after prepare is done. This ensures that if partprobe calls udevadm settle (which is sometimes does) we do not get stuck. Drop the udevadm settle. I'm not sure what this accomplishes; take it out, at least until we determine we need it. Signed-off-by: Sage Weil <sage@inktank.com>
| | * ceph-disk: add 'zap' commandSage Weil2013-06-131-0/+14
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | ceph-fuse: fix uninitialized variableSage Weil2013-06-131-1/+1
| |/ | | | | | | | | | | There is a delete call in the out_mc_start_failed path. Signed-off-by: Sage Weil <sage@inktank.com>
| * librados: add missing #includeSage Weil2013-06-131-0/+2
| | | | | | | | | | | | | | | | librados/librados.cc: In function 'int rados_mon_command_target(void*, const char*, const char**, size_t, const char*, size_t, char**, size_t*, char**, size_t*)': error: librados/librados.cc:1877: 'LONG_MAX' was not declared in this scope error: librados/librados.cc:1877: 'LONG_MIN' was not declared in this scope Signed-off-by: Sage Weil <sage@inktank.com>
| * librados: wait for osdmap for commands that need itSage Weil2013-06-132-1/+20
| | | | | | | | | | | | | | | | | | In commit 7e1cf87b5158c870e2a118ed6d316be8cb9818ce we stopped waiting for the osdmap on start because the Objecter will normally wait, but for some commands we assume the osdmap is recent(ish). Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * Merge branch 'wip-objecter' into nextSage Weil2013-06-132-0/+60
| |\ | | | | | | | | | Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| | * osdc/Objecter: dump command opsSage Weil2013-06-132-0/+25
| | | | | | | | | | | | | | | | | | Dump command_ops along with everything else. Signed-off-by: Sage Weil <sage@inktank.com>
| | * osdc/Objecter: ping osds for which we have pending commandsSage Weil2013-06-131-0/+11
| | | | | | | | | | | | | | | | | | As with ops and linger_ops, this ensures we detect connection resets. Signed-off-by: Sage Weil <sage@inktank.com>
| | * osdc/Objecter: kick command ops on osd con resetsSage Weil2013-06-131-0/+11
| | | | | | | | | | | | | | | | | | | | | Resend osd/pg commands on the OSDSession, just as we do with other request types. Signed-off-by: Sage Weil <sage@inktank.com>
| | * osdc/Objecter: add perfcounters for commandsSage Weil2013-06-131-0/+13
| | | | | | | | | | | | | | | | | | This matches the other counters we maintain for other kinds of ops. Signed-off-by: Sage Weil <sage@inktank.com>
| * | ceph.in: refuse 'ceph <type> tell' commands; suggest 'ceph tell <type>'Dan Mick2013-06-131-1/+9
| | | | | | | | | | | | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | ceph.in: argparsing cleanup: suppress --completion, add helpDan Mick2013-06-131-4/+6
| |/ | | | | | | | | | | | | Options -v, --verbose, --concise didn't have helpstrings Option --completion doesn't quite work yet, and should be hidden anyway Signed-off-by: Dan Mick <dan.mick@inktank.com>
* | Merge pull request #363 from dmick/wip-cli-helpSage Weil2013-06-131-17/+20
|\ \ | | | | | | Reviewed-by: Sage Weil <sage@inktank.com>
| * | ceph.in: allow args with -h to limit help to cmds that match partiallyDan Mick2013-06-131-7/+10
| | | | | | | | | | | | | | | | | | Enables "ceph -h pg" to see just the pg commands Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * | ceph.in: better global description of toolDan Mick2013-06-131-1/+1
| | | | | | | | | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * | ceph.in: less verbosity on errorDan Mick2013-06-131-9/+9
| | | | | | | | | | | | | | | | | | | | | Only show 'did you mean?' when in verbose mode Only show first ten closest matches on error Signed-off-by: Dan Mick <dan.mick@inktank.com>
* | | rules: Don't disable tcmalloc on ARM (and other non-intel)Gary Lowell2013-06-131-7/+0
|/ / | | | | | | | | | | Fixes #5342 Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
* | Merge pull request #356 from ceph/wip-leaksSage Weil2013-06-1329-179/+185
|\ \ | | | | | | Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | mon/MonClient: mark_down during get_monmap_privately() shutdownSage Weil2013-06-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | We explicitly mark_down() and clear cur_con when shutting down; do the same for get_monmap_privately() to ensure that the reset event doesn't make us do something silly (like, in this case, call _reopen_session() again). Signed-off-by: Sage Weil <sage@inktank.com>
| * | mon/MonClient: mark_down connection on shutdownSage Weil2013-06-131-0/+2
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | msgr: queue reset when marking down pipes on shutdownSage Weil2013-06-131-1/+4
| | | | | | | | | | | | | | | | | | This lets the callbacks clean up ref cycles. Signed-off-by: Sage Weil <sage@inktank.com>
| * | msg/DispatchQueue: do not discard queued events on stopSage Weil2013-06-131-21/+29
| | | | | | | | | | | | | | | | | | | | | | | | When the shutdown/stop flag is set, continue to work through the queue. Process events, but discard messages. This avoids the loss of reset events on shutdown that are necessary to clean up ref cycles. Signed-off-by: Sage Weil <sage@inktank.com>
| * | msgr: queue reset exactly once on any connectionSage Weil2013-06-132-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the atomic pipe link removal as a signal that we are the one failing the con and use that to queue the reset event. This fixes the case where we have an open, the session gets set up via the handle_accept callback, and then race with another connection and go into wait + close, or just close. In that case, fault() needs to queue a reset event to match the accept. Signed-off-by: Sage Weil <sage@inktank.com>
| * | msg/Pipe: include con reef in debug prestringSage Weil2013-06-131-0/+1
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | msg/Pipe: reset replaced pipesSage Weil2013-06-131-0/+3
| | | | | | | | | | | | | | | | | | | | | This gives the ms_handle_reset call a chance to clean up (for example, by breaking a con->priv <-> session reference cycle). Signed-off-by: Sage Weil <sage@inktank.com>
| * | msgr: use ConnectionRef throughoutSage Weil2013-06-1324-141/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make RefCountedObject a private parent of Connection so that users are forced to use ConnectionRef whenever references are taken. Many methods can still take a raw Connection* when they are using the caller's reference but not taking their own; this is cheaper than twiddling the reference count, and the lifetime is still well defined. Local variables generally use ConnectionRef, though. Signed-off-by: Sage Weil <sage@inktank.com>
| * | mon/MonClient: tear down version requests on shutdownSage Weil2013-06-132-6/+13
| | | | | | | | | | | | | | | | | | Make sure all callers can handle ECANCELED. Signed-off-by: Sage Weil <sage@inktank.com>
| * | mon/PaxosService: discard messages during shutdownSage Weil2013-06-131-0/+5
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | mon: add is_shutdown() state helper/accessorSage Weil2013-06-132-4/+5
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | mon: shut down Paxos on shutdownSage Weil2013-06-131-0/+1
| | | | | | | | | | | | | | | | | | This cleans up the completions for any paxos waiters. Signed-off-by: Sage Weil <sage@inktank.com>
| * | osd: break con <-> session cycle on resetSage Weil2013-06-131-0/+1
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | osd: do not leak HeartbeatSession on shutdownSage Weil2013-06-131-0/+1
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | osd: close classes on shutdownSage Weil2013-06-133-1/+10
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | osd: do not leak MOSDPings on shutdownSage Weil2013-06-131-0/+1
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | osd/ReplicatedPG: don't leak Session refs in do_osd_op_effects()Sage Weil2013-06-131-0/+1
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | messages/MMonSync: initialize crc in ctorSage Weil2013-06-131-2/+2
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | Merge remote-tracking branch 'gh/next'Sage Weil2013-06-1319-188/+387
|\ \ \ | | |/ | |/|
| * | mon: fix idempotency of 'osd crush add'Sage Weil2013-06-132-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | If we add an item that already exists in particular position, we should update instead of inserting it; the CrushWrapper methods are not idempotent. Signed-off-by: Sage Weil <sage@inktank.com>
| * | librados: do not wait for osdmap on startSage Weil2013-06-131-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we abort while waiting, we incorrect clean up (we switch the state value incorrectly, and also fail to clean up the initialized objecter). Intead, skip this wait.. it's useless! Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * | mon/MonmapMonitor: remove unused labelSage Weil2013-06-131-1/+0
| | | | | | | | | | | | | | | | | | | | | mon/MonmapMonitor.cc: In member function 'bool MonmapMonitor::preprocess_command(MMonCommand*)': mon/MonmapMonitor.cc:273:2: warning: label 'out' defined but not used [-Wunused-label] Signed-off-by: Sage Weil <sage@inktank.com>
| * | mon/MonCap: bootstrap-* need to subscribe to osdmap, monmapSage Weil2013-06-131-0/+4
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | Merge branch 'wip-tell' into nextSage Weil2013-06-1310-127/+292
| |\ \ | | | | | | | | | | | | Reviewed-by: Dan Mick <dan.mick@inktank.com>
| | * | mon: remove support for 'mon tell ...' and 'osd tell ...'Sage Weil2013-06-132-55/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't work. The commands the ceph cli sends are vector<string>, and the mon expects json. Leave the MDS on in place since ceph-mds still takes strings. Signed-off-by: Sage Weil <sage@inktank.com>
| | * | ceph: add support for 'tell mon.X ...'Sage Weil2013-06-131-4/+6
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| | * | librados: new rados_mon_command_target to talk to a specific monitorSage Weil2013-06-135-8/+126
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>