os/bluestore: report error and quit correctly when disk error happens.
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Liu-Chunmei <chunmei.liu@intel.com>
io_submit may return a value less than nr, indicating that only some of
the provided iocbs were queued. If that happens we should loop, not
return and silently drop those aios on the floor.
Signed-off-by: Sage Weil <sage@redhat.com>
are mapped and use the new mapped role for upgrades during later
stage.
eg: mon.a is mapped to mon.mira002 during install, store this mapping
and durig upgrade map it back to appropriate name to find the hostname
with that role
Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
jewel needs neither filestore or bluestore as an option, so provide none
when running with jewel branch.
Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
This is to test for customer like upgrade scenarios and to find
any issues that may be related to systemd, packaging etc
Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
The Ubuntu packaging layout with git-buildpackage assumes a
"debian/patches/" directory with several .patch files in it.
When upstream's .gitignore tells Git to ignore .patch files, we have to
edit that line out downstream. When we forget to do that downstream, it
can lead to missing patches and broken downstream builds.
Allow patches in the /debian/patches directory so it's easier to
maintain an Ubuntu package based on upstream's Git repo.
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
RuntimeError+backtrace prints should be for
genuinely exceptional exceptions. For these
known cases, we should just print the message cleanly.
http://tracker.ceph.com/issues/21292
Signed-off-by: John Spray <john.spray@redhat.com>
This reverts commit 5070999169.
The existing blob may have a vector-based au because it was, say, split, while the local one
may not (because it not needed). Use a sloppy comparison.
Fixes: http://tracker.ceph.com/issues/21293
Signed-off-by: Sage Weil <sage@redhat.com>
Recently we plan to bring a Jewel cluster into Luminous.
After that is done, which turns out to be a big success,
we then try to transform all FileStore osds into BlueStore ones
offline but with no luck. The ceph_objectstore_tool keeps complaining:
--------------------------------------------------------------------
dup from filestore: /var/lib/ceph/osd/ceph-20.old
to bluestore: /var/lib/ceph/osd/ceph-20
fsid d444b253-337d-4d15-9d63-86ae134ec9ac
65 collections
1/65 meta
cannot get bit count for collection meta: (61) No data available
--------------------------------------------------------------------
The root cause is that for FileStore Luminous will always try to rewrite
pg "bits" as a file attribute on "Load" if that is not available.
But since meta pg is never loaded (we skip it during OSD::load_pgs()),
we actually never get the chance to do so; hence making the
dup method from ceph_objectstore_tool very unhappy since it always
expects to see such a attribute from underlying store.
Fix the above problem by manually skipping loading the "bits" attribute
if underlying OS is FileStore for dup.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
rbd: snap limit should't be set smaller than the number of existing snaps
Reviewed-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>