summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* os, osd, tools: Add backportable compatibility checking for sharded objectswip-compat-cuttlefishDavid Zafman2013-09-257-14/+287
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | OSD New CEPH_OSD_FEATURE_INCOMPAT_SHARDS FileStore NEW CEPH_FS_FEATURE_INCOMPAT_SHARDS Add FSSuperblock with feature CompatSet in it Store sharded_objects state using CompatSet Add set_allow_sharded_objects() and get_allow_sharded_objects() to FileStore/ObjectStore Add read_superblock()/write_superblock() internal filestore functions ceph_filestore_dump Add OSDsuperblock to export format Use CompatSet from OSD code itself in filestore-dump tool Always check compatibility of OSD features with on-disk features On import verify compatibility of on-disk features with export data Bump super_ver due to export format change Backport: dumpling, cuttlefish Signed-off-by: David Zafman <david.zafman@inktank.com> (cherry picked from commit 5b70c2b0108f744c171364f26475fb7baaa8b6fe) Conflicts: src/os/FileStore.cc src/os/FileStore.h src/osd/OSD.cc src/osd/OSD.h
* osd: read_superblock() not outputing unsupported features when incompatibleDavid Zafman2013-09-251-2/+2
| | | | | | | | | Use working version of CompatSet::unsupported() to improve log output Backport: dumpling, cuttlefish Signed-off-by: David Zafman <david.zafman@inktank.com> (cherry picked from commit ccdd614403473ff31fefb6abc985b96f6be6aba1)
* include: Bug fixes for CompatSetDavid Zafman2013-09-251-11/+8
| | | | | | | | | | | | | | | | | | | FeatureSet insert/remove Use 64-bit arithmetic to allow features past 31 Allow feature 63 by fixing assert in insert CompatSet::unsupported() bugs Ignore feature 0 which became illegal Use 64-bit arithmetic when computing mask Use id in insert() and to get correct feature name Use the right map to get name for diff.ro_compat Caused by 80979bbe92409e6f098566e18be6ed59ad9d111a Caused by 470796b5456592ee5179bbd44b72910a2d7f6aca Backport: dumpling, cuttlefish Signed-off-by: David Zafman <david.zafman@inktank.com> (cherry picked from commit 04a21d1c2ec438cc61e761c3bb8d99558bbedef6)
* osd: change warn_interval_multiplier to uint32_tLoic Dachary2013-09-241-1/+1
| | | | | | | | | | | | to prevent overflow in OpTracker::check_ops_in_flight when multiplying warn_interval_multiplier *= 2 Backport: cuttlefish, dumpling http://tracker.ceph.com/issues/6370 fixes #6370 Signed-off-by: Loic Dachary <loic@dachary.org> (cherry picked from commit 1bce1f009bffd3e28025a08775fec189907a81db)
* rgw: don't call list::size() in ObjectCacheYehuda Sadeh2013-09-192-2/+6
| | | | | | | | | Fixes: #6286 Use an external counter instead of calling list::size() Reviewed-by: Sage Weil <sage@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> (cherry picked from commit 31e3a51e933429d286104fe077e98ea883437ad6)
* rgw: drain pending requests before completing writeYehuda Sadeh2013-09-181-4/+12
| | | | | | | | | | Fixes: #6268 When doing aio write of objects (either regular or multipart parts) we need to drain pending aio requests. Otherwise if gateway goes down then object might end up corrupted. Reviewed-by: Josh Durgin <josh.durgin@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* Merge pull request #573 from dalgaaf/fix/da-cuttlefish-fixes-and-cherry-picksSage Weil2013-09-074-32/+55
|\ | | | | | | | | Cherry-pick some smaller changes from master to cuttlefish Reviewed-by: Sage Weil <sage@inktank.com>
| * tools/ceph.cc: add missig 'ceph osd lspools' command to helpDanny Al-Gaaf2013-09-071-0/+1
| | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * init-radosgw*: fix status return value if radosgw isn't runningDanny Al-Gaaf2013-09-072-2/+2
| | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de> (cherry picked from commit b5137baf651eaaa9f67e3864509e437f9d5c3d5a)
| * init-radosgw*: add all sections to usage outputDanny Al-Gaaf2013-09-072-2/+2
| | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de> (cherry picked from commit a0c5095be3640e98d5541920c19387bf3764a350)
| * init-radosgw*: add statusDanny Al-Gaaf2013-09-072-2/+18
| | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de> (cherry picked from commit 385457f8d871238a896229d0c2cbb25646969f6a)
| * fix init-radosgw* to use the same indentationDanny Al-Gaaf2013-09-071-28/+28
| | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de> (cherry picked from commit b4d4e92ed2deae435a24b36d086c1a73e5997855)
| * ceph_authtool.cc: update help/usage textDanny Al-Gaaf2013-09-071-2/+8
|/ | | | | | | | | | | | Added implemented but not listed commands to the help/usage text: * -g shortcut for --gen-key * -a shortcut for --add-key * -u/--set-uid to set auid * --gen-print-key * --import-keyring Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de> (cherry picked from commit 9a9a0ef3f9f39909eaeb95eb99db4711a2425af5)
* rgw: check object name after rebuilding it in S3 POSTYehuda Sadeh2013-09-041-0/+5
| | | | | | | | | | | | | | Fixes: #6088 Backport: bobtail, cuttlefish, dumpling When posting an object it is possible to provide a key name that refers to the original filename, however we need to verify that in the end we don't end up with an empty object name. Reviewed-by: Josh Durgin <josh.durgin@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> (cherry picked from commit c8ec532fadc0df36e4b265fe20a2ff3e35319744)
* ceph.spec.in: remove trailing paren in previous commitGary Lowell2013-09-031-1/+1
| | | | Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
* ceph.spec.in: Don't invoke debug_package macro on centos.Gary Lowell2013-09-031-1/+1
| | | | | | | | If the redhat-rpm-config package is installed, the debuginfo rpms will be built by default. The build will fail when the package installed and the specfile also invokes the macro. Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
* osd: get initial full map after a map gapSage Weil2013-08-261-2/+11
| | | | | | | | | If there is a gap in our map history, get the full range of maps that the mon has. Make sure the first one is a full map. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com> (cherry picked from commit a6cd9fea50a4bd7048a222617a2bfe0680f7a969)
* osd: fix off-by-one in map gap logicSage Weil2013-08-261-1/+1
| | | | | | | | | | If we have map 250, and monitor's first is 251, but sends 260, we can request the intervening range. Fixes: #5784 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com> (cherry picked from commit e24b50225c841a650d9303041bbe811e04bdd668)
* OSD: tolerate holes in stored mapsSamuel Just2013-08-264-7/+27
| | | | | | | | | | | | | | | We may have holes in stored maps during init_splits_between and advance_pg. In either case, we should simply skip the missing maps. Fixes: #5677 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com> (cherry picked from commit 6951d2345a5d837c3b14103bd4d8f5ee4407c937) Conflicts: src/osd/OSD.cc
* ceph-disk: partprobe after creating journal partitionSage Weil2013-08-261-1/+13
| | | | | | | | | | | At least one user reports that a partprobe is needed after creating the journal partition. It is not clear why sgdisk is not doing it, but this fixes ceph-disk for them, and should be harmless for other users. Fixes: #5599 Tested-by: lurbs in #ceph Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 2af59d5e81c5e3e3d7cfc50d9330d7364659c5eb)
* osdc/ObjectCacher: do not merge rx buffersSage Weil2013-08-261-0/+4
| | | | | | | | | | We do not try to merge rx buffers currently. Make that explicit and documented in the code that it is not supported. (Otherwise the last_read_tid values will get lost and read results won't get applied to the cache properly.) Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 1c50c446152ab0e571ae5508edb4ad7c7614c310)
* osdc/ObjectCacher: match reads with their original rx buffersSage Weil2013-08-262-12/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider a sequence like: 1- start read on 100~200 100~200 state rx 2- truncate to 200 100~100 state rx 3- start read on 200~200 100~100 state rx 200~200 state rx 4- get 100~200 read result Currently this makes us crash on osdc/ObjectCacher.cc: 738: FAILED assert(bh->length() <= start+(loff_t)length-opos) when processing the second 200~200 bufferhead (it is too big). The larger issue, though, is that we should not be looking at this data at all; it has been truncated away. Fix this by marking each rx buffer with the read request that is sent to fill it, and only fill it from that read request. Then the first reply will fill the first 100~100 extend but not touch the other extent; the second read will do that. Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit b59f930ae147767eb4c9ff18c3821f6936a83227)
* mon/Paxos: fix another uncommitted value corner caseSage Weil2013-08-261-1/+10
| | | | | | | | | | | | | | | | | | | | It is possible that we begin the paxos recovery with an uncommitted value for, say, commit 100. During last/collect we discover 100 has been committed already. But also, another node provides an uncommitted value for 101 with the same pn. Currently, we refuse to learn it, because the pn is not strictly > than our current uncommitted pn... even though it is the next last_committed+1 value that we need. There are two possible fixes here: - make this a >= as we can accept newer values from the same pn. - discard our uncommitted value metadata when we commit the value. Let's do both! Fixes: #6090 Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit fe5010380a3a18ca85f39403e8032de1dddbe905)
* os: make readdir_r buffers largerSage Weil2013-08-262-4/+5
| | | | | | | | PATH_MAX isn't quite big enough. Backport: dumpling, cuttlefish, bobtail Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 99a2ff7da99f8cf70976f05d4fe7aa28dd7afae5)
* os: fix readdir_r buffer sizeSage Weil2013-08-261-3/+5
| | | | | | | | | | | | The buffer needs to be big or else we're walk all over the stack. Backport: dumpling, cuttlefish, bobtail Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 2df66d9fa214e90eb5141df4d5755b57e8ba9413) Conflicts: src/os/BtrfsFileStoreBackend.cc
* ceph-disk: specify the filetype when mountingAlfredo Deza2013-08-231-0/+1
| | | | | | Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com> (cherry picked from commit f040020fb2a7801ebbed23439159755ff8a3edbd)
* QA: Compile fsstress if missing on machine.Sandon Van Ness2013-08-221-0/+15
| | | | | | | | | | | Some distro's have a lack of ltp-kernel packages and all we need is fstress. This just modified the shell script to download/compile fstress from source and copy it to the right location if it doesn't currently exist where it is expected. It is a very small/quick compile and currently only SLES and debian do not have it already. Reviewed-by: Sage Weil <sage@inktank.com> Signed-off-by: Sandon Van Ness <sandon@inktank.com>
* mds: fix locking, use-after-free/race in handle_acceptSage Weil2013-08-221-1/+2
| | | | | | | | | | | | We need to hold mds_lock here. Normally the con also holds a reference, but an ill-timed connection reset could drop it. Fixes: #5883 Backport: dumpling, cuttlefish Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit a0929955cb84fb8cfdeb551d6863e4955b8e2a71)
* .gitignore: ignore test-driverSage Weil2013-08-221-0/+5
| | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit edf2c3449ec96d91d3d7ad01c50f7a79b7b2f7cc) Conflicts: .gitignore
* fuse: fix warning when compiled against old fuse versionsSage Weil2013-08-221-1/+1
| | | | | | | | client/fuse_ll.cc: In function 'void invalidate_cb(void*, vinodeno_t, int64_t, int64_t)': warning: client/fuse_ll.cc:540: unused variable 'fino' Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 9833e9dabe010e538cb98c51d79b6df58ce28f9e)
* json_spirit: remove unused typedefSage Weil2013-08-221-2/+0
| | | | | | | | | | | | In file included from json_spirit/json_spirit_writer.cpp:7:0: json_spirit/json_spirit_writer_template.h: In function 'String_type json_spirit::non_printable_to_string(unsigned int)': json_spirit/json_spirit_writer_template.h:37:50: warning: typedef 'Char_type' locally defined but not used [-Wunused-local-typedefs] typedef typename String_type::value_type Char_type; (Also, ha ha, this file uses \r\n.) Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 6abae35a3952e5b513895267711fea63ff3bad09)
* gtest: add build-aux/test-driver to .gitignoreSage Weil2013-08-221-0/+1
| | | | | Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit c9cdd19d1cd88b84e8a867f5ab85cb51fdc6f8e4)
* objecter: resend unfinished lingers when osdmap is no longer pausedJosh Durgin2013-08-211-2/+12
| | | | | | | | | | | | | | | | Plain Ops that haven't finished yet need to be resent if the osdmap transitions from full or paused to unpaused. If these Ops are triggered by LingerOps, they will be cancelled instead (since should_resend = false), but the LingerOps that triggered them will not be resent. Fix this by checking the registered flag for all linger ops, and resending any of them that aren't paused anymore. Fixes: #6070 Signed-off-by: Josh Durgin <josh.durgin@inktank.com> Reviewed-by: Sage Weil <sage.weil@inktank.com> (cherry picked from commit 38a0ca66a79af4b541e6322467ae3a8a4483cc72)
* v0.61.8v0.61.8Gary Lowell2013-08-182-1/+7
|
* RadosClient: shutdown monclient after dropping lockSamuel Just2013-08-181-1/+1
| | | | | | | | | | Otherwise, the monclient shutdown may deadlock waiting on a context trying to take the RadosClient lock. Fixes: #5897 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com> (cherry picked from commit 0aacd10e2557c55021b5be72ddf39b9cea916be4)
* mon/OSDMonitor: make 'osd pool mksnap ...' not expose uncommitted stateSage Weil2013-08-171-23/+27
| | | | | | | | | | [This is a backport of d1501938f5d07c067d908501fc5cfe3c857d7281] We were returning success without waiting if the pending pool state had the snap. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
* mon/OSDMonitor: make 'osd pool rmsnap ...' not racy/crashySage Weil2013-08-161-24/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: This is a manual backport of d90683fdeda15b726dcf0a7cab7006c31e99f14. Due to all kinds of collateral changes in the mon the original patch doesn't cleanly apply. Ensure that the snap does in fact exist before we try to remove it. This avoids a crash where a we get two dup rmsnap requests (due to thrashing, or a reconnect, or something), the committed (p) value does have the snap, but the uncommitted (pp) does not. This fails the old test such that we try to remove it from pp again, and assert. Restructure the flow so that it is easier to distinguish the committed short return from the uncommitted return (which must still wait for the commit). 0> 2013-07-16 14:21:27.189060 7fdf301e9700 -1 osd/osd_types.cc: In function 'void pg_pool_t::remove_snap(snapid_t)' thread 7fdf301e9700 time 2013-07-16 14:21:27.187095 osd/osd_types.cc: 662: FAILED assert(snaps.count(s)) ceph version 0.66-602-gcd39d8a (cd39d8a6727d81b889869e98f5869e4227b50720) 1: (pg_pool_t::remove_snap(snapid_t)+0x6d) [0x7ad6dd] 2: (OSDMonitor::prepare_command(MMonCommand*)+0x6407) [0x5c1517] 3: (OSDMonitor::prepare_update(PaxosServiceMessage*)+0x1fb) [0x5c41ab] 4: (PaxosService::dispatch(PaxosServiceMessage*)+0x937) [0x598c87] 5: (Monitor::handle_command(MMonCommand*)+0xe56) [0x56ec36] 6: (Monitor::_ms_dispatch(Message*)+0xd1d) [0x5719ad] 7: (Monitor::handle_forward(MForward*)+0x821) [0x572831] 8: (Monitor::_ms_dispatch(Message*)+0xe44) [0x571ad4] 9: (Monitor::ms_dispatch(Message*)+0x32) [0x588c52] 10: (DispatchQueue::entry()+0x549) [0x7cf1d9] 11: (DispatchQueue::DispatchThread::entry()+0xd) [0x7060fd] 12: (()+0x7e9a) [0x7fdf35165e9a] 13: (clone()+0x6d) [0x7fdf334fcccd] NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
* librados: fix async aio completion wakeupSage Weil2013-08-151-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | For aio flush, we register a wait on the most recent write. The write completion code, however, was *only* waking the waiter if they were waiting on that write, without regard to previous writes (completed or not). For example, we might have 6 and 7 outstanding and wait on 7. If they finish in order all is well, but if 7 finishes first we do the flush completion early. Similarly, if we - start 6 - start 7 - finish 7 - flush; wait on 7 - finish 6 we can hang forever. Fix by doing any completions that are prior to the oldest pending write in the aio write completion handler. Refs: #5919 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com> Tested-by: Oliver Francke <Oliver.Francke@filoo.de> (cherry picked from commit 16ed0b9af8bc08c7dabead1c1a7c1a22b1fb02fb)
* librados: fix locking for AioCompletionImpl refcountingJosh Durgin2013-08-151-5/+9
| | | | | | | | | | | | | | | | | | | Add an already-locked helper so that C_Aio{Safe,Complete} can increment the reference count when their caller holds the lock. C_AioCompleteAndSafe's caller is not holding the lock, so call regular get() to ensure no racing updates can occur. This eliminates all direct manipulations of AioCompletionImpl->ref, and makes the necessary locking clear. The only place C_AioCompleteAndSafe is used is in handling aio_flush_async(). This could cause a missing completion. Refs: #5919 Signed-off-by: Josh Durgin <josh.durgin@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com> Tested-by: Oliver Francke <Oliver.Francke@filoo.de> (cherry picked from commit 7a52e2ff5025754f3040eff3fc52d4893cafc389)
* mon/Paxos: bootstrap peon too if monmap updatesSage Weil2013-08-131-1/+7
| | | | | | | | | If we get a monmap update, the leader bootstraps. Peons should do the same. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com> (cherry picked from commit efe5b67bb700ef6218d9579abf43cc9ecf25ef52)
* osd: fix race when queuing recovery opsSage Weil2013-08-131-7/+22
| | | | | | | | | | | | | | Previously we would sample how many ops to start under the lock, drop it, and start that many. This is racy because multiple threads can jump in and we start too many ops. Instead, claim as many slots as we can and release them back later if we do not end up using them. Take care to re-wake the work-queue since we are releasing more resources for wq use. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com> (cherry picked from commit 01d3e094823d716be0b39e15323c2506c6f0cc3b)
* osd: tolerate racing threads starting recovery opsSage Weil2013-08-131-1/+1
| | | | | | | | | | | | | | We sample the (max - active) recovery ops to know how many to start, but do not hold the lock over the full duration, such that it is possible to start too many ops. This isn't problematic except that our condition checks for being == max but not beyond it, and we will continue to start recovery ops when we shouldn't. Fix this by adjusting the conditional to be <=. Reported-by: Stefan Priebe <s.priebe@profihost.ag> Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: David Zafman <david.zafman@inktank.com> (cherry picked from commit 3791a1e55828ba541f9d3e8e3df0da8e79c375f9)
* ceph-disk: fix mount options passed to move_mountSage Weil2013-08-121-0/+6
| | | | | | | | | | | Commit 6cbe0f021f62b3ebd5f68fcc01a12fde6f08cff5 added a mount_options but in certain cases it may be blank. Fill in with the defaults, just as we do in mount(). Backport: cuttlefish Reviewed-by: Dan Mick <dan.mick@inktank.com> Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit cb50b5a7f1ab2d4e7fdad623a0e7769000755a70)
* rgw: fix multi deleteYehuda Sadeh2013-08-121-1/+1
| | | | | | | | | | | | | | | | Fixes: #5931 Backport: bobtail, cuttlefish Fix a bad check, where we compare the wrong field. Instead of comparing the ret code to 0, we compare the string value to 0 which generates implicit casting, hence the crash. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com> (cherry picked from commit f9f1c48ad799da2b4be0077bf9d61ae116da33d7) Conflicts: src/rgw/rgw_rest_s3.cc
* ceph.spec.in: obsolete ceph-libs only on the affected distroDanny Al-Gaaf2013-08-091-0/+6
| | | | | | | | The ceph-libs package existed only on Redhat based distro, there was e.g. never such a package on SUSE. Therefore: make sure the 'Obsoletes' is only set on these affected distros. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* ceph.spec.in: Obsolete ceph-libsGary Lowell2013-08-091-0/+3
| | | | | Signed-off-by: Gary Lowell <gary.lowell@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* common: pick_addresses: fix bug with observer class that triggered #5205Joao Eduardo Luis2013-08-091-7/+6
| | | | | | | | | | | | | | | | | | The Observer class we defined to observe conf changes and thus avoid triggering #5205 (as fixed by eb86eebe1ba42f04b46f7c3e3419b83eb6fe7f9a), was returning always the same const static array, which would lead us to always populate the observer's list with an observer for 'public_addr'. This would of course become a problem when trying to obtain the observer for 'cluster_add' during md_config_t::set_val() -- thus triggering the same assert as initially reported on #5205. Backport: cuttlefish Fixes: #5205 Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com> Reviewed-by: Sage Weil <sage@inktank.com> (cherry picked from commit 7ed6de9dd7aed59f3c5dd93e012cf080bcc36d8a)
* make sure we are using the mount optionsAlfredo Deza2013-08-081-0/+4
| | | | | Signed-off-by: Alfredo Deza <alfredo@deza.pe> (cherry picked from commit 34831d0989d4bcec4920068b6ee09ab6b3234c91)
* PG: set !flushed in Reset()Samuel Just2013-08-081-1/+2
| | | | | | | | | | Otherwise, we might serve a pull before we start_flush in the ReplicaActive constructor. Fixes: #5799 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com> (cherry picked from commit 9e7d6d547e0e8a6db6ba611882afa9bf74ea0195)
* osd: make open classes on start optionalSage Weil2013-08-072-1/+4
| | | | | | | This is cuttlefish; default to the old behavior! Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 6f996223fb34650771772b88355046746f238cf2)