summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* man: Update the configuration example for radosgwhistoric/libradosgwWido den Hollander2011-12-161-24/+41
| | | | Signed-off-by: Wido den Hollander <wido@widodh.nl>
* man: It is capital -C instead of -c when for creating a new keyringWido den Hollander2011-12-161-1/+1
| | | | Signed-off-by: Wido den Hollander <wido@widodh.nl>
* rgw: libradosgw, buckets initial workYehuda Sadeh2011-12-062-9/+136
|
* rgw: get most to compile, ready to start working on I/O pathYehuda Sadeh2011-12-0614-158/+119
|
* rgw: more cleanupsYehuda Sadeh2011-12-0615-61/+69
| | | | still doesn't compile
* rgw: ObjRef template doesn't need two typesYehuda Sadeh2011-12-052-16/+10
|
* rgw: more shuffling, refcount infrastructureYehuda Sadeh2011-12-0210-260/+457
| | | | | not going to compile, stuff is not yet in place. Currently getting rid of the stuff that is in rgw_user and moving stuff to libradosgw.
* rgw: get rid of old cruftYehuda Sadeh2011-12-022-108/+50
|
* rgw: get rid of RGWAccess, RGWFSYehuda Sadeh2011-12-0218-1161/+82
| | | | nothing is going to work now
* radosgw: shuffle some things aroundYehuda Sadeh2011-12-029-35/+120
|
* libradosgw: amend apiYehuda Sadeh2011-12-021-5/+13
|
* libradosgw: header compilesYehuda Sadeh2011-12-022-14/+24
|
* libradosgw: initial work (not compiling)Yehuda Sadeh2011-12-021-0/+176
|
* obsync: tear out rgwYehuda Sadeh2011-11-221-261/+1
|
* rgw: don't remove tail of lru if that's what we touchYehuda Sadeh2011-11-221-0/+7
|
* PG: it's not necessary to call build_inc_scrub_map in build_scrub_mapSamuel Just2011-11-211-5/+0
| | | | | | | | Because we have called osr.flush(), it's safe to tag map.valid_through as last_update. We will still have to catch up once we have stopped writes and allowed the filestore to catch up anyway. Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
* Merge remote branch 'gh/wip-mon'Sage Weil2011-11-2116-83/+45
|\
| * paxosservice: tolerate _active() call when not activeSage Weil2011-11-211-1/+5
| | | | | | | | | | | | | | This can happen when multiple C_Active events are queued, and the first does a propose_pending() (moving us into updating state). Signed-off-by: Sage Weil <sage@newdream.net>
| * paxos: fix sharing of learned commits during collect/lastSage Weil2011-11-202-8/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can learn either an uncommitted or committed value during the collect/last recovery phase. For the committed values, we need to remember each peer's first/last_committed and share only at the end to avoid a situation like: - mon.1 has same last_committed as us - mon.2 has newer last_commited, we save it - mon.3 has same last_commited as mon.1, we share new value - done... but mon.1 never got mon.2's newer commit. Instead, save the commit sharing until the collect process completes, so we know that any committed value learned from anyone is shared with everyone who needs it. This fixes a crash like mon/Paxos.cc: In function 'void Paxos::handle_begin(MMonPaxos*)', in thread '7fd91192c700' mon/Paxos.cc: 400: FAILED assert(begin->last_committed == last_committed) ceph version 0.38-208-g9aabd39 (commit:9aabd3982cceb7e8489412b4bfbb4c2387880de2) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x76) [0x72454e] 2: (Paxos::handle_begin(MMonPaxos*)+0x363) [0x6499ef] 3: (Paxos::dispatch(PaxosServiceMessage*)+0x2b4) [0x64db2c] 4: (Monitor::_ms_dispatch(Message*)+0xdc6) [0x6205c2] 5: (Monitor::ms_dispatch(Message*)+0x3a) [0x62831a] 6: (Messenger::ms_deliver_dispatch(Message*)+0x63) [0x7d1f31] 7: (SimpleMessenger::dispatch_entry()+0x7c2) [0x7bb786] 8: (SimpleMessenger::DispatchThread::entry()+0x2c) [0x6070fa] 9: (Thread::_entry_func(void*)+0x23) [0x6f3f69] 10: (()+0x7971) [0x7fd9153a1971] 11: (clone()+0x6d) [0x7fd913c3092d] Signed-off-by: Sage Weil <sage@newdream.net>
| * paxosservice: consolidate _active and _commitSage Weil2011-11-192-27/+5
| | | | | | | | | | | | | | Use the same callback for when paxos goes active and for when it commits something. The response in both cases is the same. Signed-off-by: Sage Weil <sage@newdream.net>
| * paxosservice: remove unused committed() callbackSage Weil2011-11-1914-43/+0
| | | | | | | | Signed-off-by: Sage Weil <sage@newdream.net>
| * mon: mdsmon: tick() from on_active() instead of committed()Sage Weil2011-11-193-1/+7
| | | | | | | | | | | | Same effect, and avoids useless committed(). Signed-off-by: Sage Weil <sage@newdream.net>
| * mon: share random osd map from update_from_paxos, not committed()Sage Weil2011-11-192-9/+13
| | | | | | | | | | | | This will let us remove committed() entirely. Signed-off-by: Sage Weil <sage@newdream.net>
* | osd: fix 'stop' commandSage Weil2011-11-211-0/+15
| | | | | | | | | | | | Special case. We can't join the command_tp thread from itself. Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* | osd: protect handle_osd_map requeueing with queue lockSage Weil2011-11-212-59/+38
| | | | | | | | | | | | | | | | | | | | | | | | pending_ops was protected by osd_lock, but it tracks something in the queue, which has it's own lock. Messy. Also, useless, since wait_for_no_ops had a single caller in shutdown() that op_wq.drain() can do for us. Rip it out, and track queue size under the queue lock. Fixes: #1727 Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* | osd: lock pg when requeuing requestsSage Weil2011-11-211-2/+3
| | | | | | | | | | | | | | The op queue is shut down, so this is mostly safe, unless someone comes through and does requeue_ops() from a callback or something. Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* | objecter: simplify map request checkSage Weil2011-11-211-1/+1
| | | | | | | | | | | | | | We should request a missing/intervening map if it appears to exist. Otherwise, skip it. Signed-off-by: Sage Weil <sage@newdream.net>
* | objecter: cancel tick event on shutdownSage Weil2011-11-212-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hopefully this is the root cause for 2011-11-20 23:57:41.555292 7f75dd743780 ceph version 0.38-205-g3b53b72 (commit:3b53b722b34b5284e6b8a5571a08d4b7ec276241), process ceph-fuse, pid 21223 * Caught signal (Segmentation fault) * in thread 7f75d9c6e700 ceph version 0.38-205-g3b53b72 (commit:3b53b722b34b5284e6b8a5571a08d4b7ec276241) 1: /tmp/cephtest/binary/usr/local/bin/ceph-fuse() [0x6993a4] 2: (()+0xfb40) [0x7f75dd0eeb40] 3: (PerfCounters::set(int, unsigned long)+0x2a) [0x511bca] 4: (Objecter::tick()+0x1f3) [0x653f43] 5: (Objecter::C_Tick::finish(int)+0x15) [0x66aef5] 6: (SafeTimer::timer_thread()+0x4b0) [0x5825c0] 7: (SafeTimerThread::entry()+0x15) [0x586865] 8: (Thread::_entry_func(void)+0x12) [0x52a832] 9: (()+0x7971) [0x7f75dd0e6971] 10: (clone()+0x6d) [0x7f75db97592d] Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* | rgw: support alternative date formattingYehuda Sadeh2011-11-201-1/+6
|/ | | | being used by s3cmd
* config: support --no-<foo> for bool optionsSage Weil2011-11-191-4/+12
| | | | Signed-off-by: Sage Weil <sage@newdream.net>
* config: whitespaceSage Weil2011-11-191-39/+21
| | | | Signed-off-by: Sage Weil <sage@newdream.net>
* osdmon: set the maps-to-keep floor to be at least epoch 0Greg Farnum2011-11-181-1/+1
| | | | | | | | | | | Looks like this conditional was just set backwards by mistake. There have been a number of issues with OSDMap versions that are probably related to this... (Thanks to some smarts in trim_to, we at least did not trim ALL of our maps. But on every tick prior to epoch 500 [that's the default] the leader was trimming all old maps off the system.) Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
* Revert "osd: simplify finalizing scrub on replica"Samuel Just2011-11-183-6/+25
| | | | | | | | | | This reverts commit dd5087fabb2a743741a96ee4610379afa8431f68. Calling osr.flush() is not quite enough since the onreadable callbacks may not have been called (thus, last_update_applied may still lag behind the tail of the log). Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
* FileStore.cc: onreadable callbacks in OpSequencer order is enoughSamuel Just2011-11-182-29/+4
| | | | Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
* osd: error responses should trigger all requested notifications.Greg Farnum2011-11-181-6/+1
| | | | | | | There's no good reason I can find to limit error code responses to the ACK. Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
* objecter: trigger oncommit acks if the request returns an error code.Greg Farnum2011-11-181-3/+1
| | | | | | | | | Many users only set oncommit acks, so if they get an error code (which comes only as a CEPH_OSD_OP_ACK right now) the request disappears into the ether. (And remove stupid debug statements while we're at it.) Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
* paxos: do not create_pending if !activeSage Weil2011-11-181-2/+3
| | | | | | | | | | | This avoids a scenario like: - _active() - proposes value - _commit() - creates new pending, even though in updating state Signed-off-by: Sage Weil <sage@newdream.net>
* Revert "mon: don't propose new state from update_from_paxos"Sage Weil2011-11-181-1/+4
| | | | This reverts commit 66c628acc8be71a92e801179431e4b938b857b3d.
* mon: don't propose new state from update_from_paxosSage Weil2011-11-171-4/+1
| | | | | | | | | | | | Proposing a new state from within update_from_paxos() confuses some callers, like PaxosService::_active(). Instead, do it in the on_active() callback. This also let's us collapse the check_osd_map() caller into on_active(), and makes it happen on leaders and peons alike, which ought to avoid some of the pg creation lag we see sometimes (presumably when the osds have sessions with peons instead of the leader). Fixes: #1708 Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* rgw: if swift url is not set up, just use whatever client usedYehuda Sadeh2011-11-171-7/+37
|
* fuse: fix readdir return codeSage Weil2011-11-171-6/+3
| | | | | | | | | | Ignore ENOSPC generated by our own callback, as it is only used to terminate the loop. Broken by commit cd90061239a598f6fca94326b6d2c32f325c96eb. Fixes: #1728 Signed-off-by: Sage Weil <sage@newdream.net>
* paxos: fix trimming when we skip over incrementalsSage Weil2011-11-171-6/+5
| | | | | | | Remove open-coded trimming of old states and use our method (that also removes additional per-state files). Fixes old stray state files. Signed-off-by: Sage Weil <sage@newdream.net>
* paxos: store stashed state _and_ incrementalsSage Weil2011-11-171-1/+0
| | | | | | | Paxos::share_state() may share a stashed state and incrementals that follow; we need to store the same. Signed-off-by: Sage Weil <sage@newdream.net>
* mon: elector: always start election via monitorSage Weil2011-11-171-2/+4
| | | | | | Don't go from active -> electing without passing (monitor) go. Signed-off-by: Sage Weil <sage@newdream.net>
* common: libraries should not log to stdout/stderrSage Weil2011-11-171-13/+18
| | | | | | Certainly not by default. Signed-off-by: Sage Weil <sage@newdream.net>
* objecter: set skipped_map if we skip a mapSage Weil2011-11-171-0/+1
| | | | | | | | This ensures that we resend _all_ requests, since we aren't sure which may have mapped to a different primary and then back. This was missed in the original implementation in 4fe9cca5dd63a1924be2b5cb18f542fb4b97a768. Signed-off-by: Sage Weil <sage@newdream.net>
* objecter: add is_locked() assertsSage Weil2011-11-171-0/+7
| | | | | | Sanity check. Signed-off-by: Sage Weil <sage@newdream.net>
* objecter: send slow osd MPing via Connection*Sage Weil2011-11-171-1/+1
| | | | | | | | This may address #1732 indirectly because we have a Connection* reference here. However, it's still not clear how we ended up with an OSDSession* for an osd that doesn't exist. :/ Signed-off-by: Sage Weil <sage@newdream.net>
* osd: add pending_ops assertSage Weil2011-11-161-0/+1
| | | | | | Just a sanity check, hopefully helping us track down #1727. Signed-off-by: Sage Weil <sage@newdream.net>
* mon: renamed get_latest* -> get_stashed*Sage Weil2011-11-168-21/+21
| | | | | | | This makes e.g. get_latest_version() vs get_last_committed() less confusing. Signed-off-by: Sage Weil <sage@newdream.net>