mirror of
https://github.com/ceph/ceph
synced 2025-04-01 00:26:47 +00:00
Merge remote-tracking branch 'ceph/jewel'
This commit is contained in:
commit
84ee7c3399
@ -1,4 +1,3 @@
|
||||
|
||||
==========================
|
||||
Submitting Patches to Ceph
|
||||
==========================
|
||||
@ -260,17 +259,20 @@ A: The target branch depends on the nature of your change:
|
||||
If you are adding a feature, target the "master" branch in your pull
|
||||
request.
|
||||
|
||||
If you are fixing a bug, target the "next" branch in your pull request.
|
||||
The Ceph core developers will periodically merge "next" into "master". When
|
||||
this happens, the master branch will contain your fix as well.
|
||||
If you are fixing a bug, target the named branch corresponding to the
|
||||
major version that is currently in development. For example, if
|
||||
Infernalis is the latest stable release and Jewel is development, target
|
||||
the "jewel" branch for bugfixes. The Ceph core developers will
|
||||
periodically merge this named branch into "master". When this happens,
|
||||
the master branch will contain your fix as well.
|
||||
|
||||
If you are fixing a bug (see above) *and* the bug exists in older stable
|
||||
branches (for example, the "dumpling" or "firefly" branches), then you
|
||||
branches (for example, the "hammer" or "infernalis" branches), then you
|
||||
should file a Redmine ticket describing your issue and fill out the
|
||||
"Backport: <branchname>" form field. This will notify other developers that
|
||||
your commit should be cherry-picked to these stable branches. For example,
|
||||
you should set "Backport: firefly" in your Redmine ticket to indicate that
|
||||
you are fixing a bug that exists on the "firefly" branch and that you
|
||||
you should set "Backport: hammer" in your Redmine ticket to indicate that
|
||||
you are fixing a bug that exists on the "hammer" branch and that you
|
||||
desire that your change be cherry-picked to that branch.
|
||||
|
||||
Q: How to include Reviewed-by: tag(s) in my pull request?
|
||||
|
@ -599,6 +599,11 @@ export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'`
|
||||
%{?_with_tcmalloc} \
|
||||
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS"
|
||||
|
||||
%if %{with lowmem_builder}
|
||||
%if 0%{?jobs} > 8
|
||||
%define _smp_mflags -j8
|
||||
%endif
|
||||
%endif
|
||||
|
||||
make %{?_smp_mflags}
|
||||
|
||||
|
@ -62,7 +62,7 @@ CentOS|Fedora|RedHatEnterpriseServer)
|
||||
CentOS|RedHatEnterpriseServer)
|
||||
$SUDO yum install -y yum-utils
|
||||
MAJOR_VERSION=$(lsb_release -rs | cut -f1 -d.)
|
||||
if test $(lsb_release -si) == RedHatEnterpriseServer ; then
|
||||
if test $(lsb_release -si) = RedHatEnterpriseServer ; then
|
||||
$SUDO yum install subscription-manager
|
||||
$SUDO subscription-manager repos --enable=rhel-$MAJOR_VERSION-server-optional-rpms
|
||||
fi
|
||||
@ -70,6 +70,9 @@ CentOS|Fedora|RedHatEnterpriseServer)
|
||||
$SUDO yum install --nogpgcheck -y epel-release
|
||||
$SUDO rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$MAJOR_VERSION
|
||||
$SUDO rm -f /etc/yum.repos.d/dl.fedoraproject.org*
|
||||
if test $(lsb_release -si) = CentOS -a $MAJOR_VERSION = 7 ; then
|
||||
$SUDO yum-config-manager --enable cr
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
sed -e 's/@//g' < ceph.spec.in > $DIR/ceph.spec
|
||||
|
@ -134,6 +134,8 @@ void MonCapGrant::expand_profile(EntityName name) const
|
||||
profile_grants.push_back(MonCapGrant("mds", MON_CAP_ALL));
|
||||
profile_grants.push_back(MonCapGrant("mon", MON_CAP_R));
|
||||
profile_grants.push_back(MonCapGrant("osd", MON_CAP_R));
|
||||
// This command grant is checked explicitly in MRemoveSnaps handling
|
||||
profile_grants.push_back(MonCapGrant("osd pool rmsnap"));
|
||||
profile_grants.push_back(MonCapGrant("log", MON_CAP_W));
|
||||
}
|
||||
if (profile == "osd" || profile == "mds" || profile == "mon") {
|
||||
|
@ -2278,7 +2278,8 @@ bool OSDMonitor::preprocess_remove_snaps(MonOpRequestRef op)
|
||||
MonSession *session = m->get_session();
|
||||
if (!session)
|
||||
goto ignore;
|
||||
if (!session->is_capable("osd", MON_CAP_R | MON_CAP_W)) {
|
||||
if (!session->caps.is_capable(g_ceph_context, session->entity_name,
|
||||
"osd", "osd pool rmsnap", {}, true, true, false)) {
|
||||
dout(0) << "got preprocess_remove_snaps from entity with insufficient caps "
|
||||
<< session->caps << dendl;
|
||||
goto ignore;
|
||||
|
@ -90,7 +90,7 @@ public:
|
||||
ClassFilter *get_filter(const std::string &filter_name)
|
||||
{
|
||||
Mutex::Locker l(handler->mutex);
|
||||
std::map<std::string, ClassFilter>::iterator i = filters_map.find(name);
|
||||
std::map<std::string, ClassFilter>::iterator i = filters_map.find(filter_name);
|
||||
if (i == filters_map.end()) {
|
||||
return NULL;
|
||||
} else {
|
||||
|
@ -2282,6 +2282,8 @@ void PG::split_into(pg_t child_pgid, PG *child, unsigned split_bits)
|
||||
split_ops(child, split_bits);
|
||||
_split_into(child_pgid, child, split_bits);
|
||||
|
||||
child->on_new_interval();
|
||||
|
||||
child->dirty_info = true;
|
||||
child->dirty_big_info = true;
|
||||
dirty_info = true;
|
||||
|
@ -16,6 +16,7 @@ using namespace std;
|
||||
#include "common/ceph_argparse.h"
|
||||
#include "common/Formatter.h"
|
||||
#include "common/errno.h"
|
||||
#include "common/safe_io.h"
|
||||
|
||||
#include "global/global_init.h"
|
||||
|
||||
@ -668,7 +669,7 @@ static int read_input(const string& infile, bufferlist& bl)
|
||||
do {
|
||||
char buf[READ_CHUNK];
|
||||
|
||||
r = read(fd, buf, READ_CHUNK);
|
||||
r = safe_read(fd, buf, READ_CHUNK);
|
||||
if (r < 0) {
|
||||
err = -errno;
|
||||
cerr << "error while reading input" << std::endl;
|
||||
|
@ -1305,6 +1305,7 @@ class RGWWatcher : public librados::WatchCtx2 {
|
||||
watcher->reinit();
|
||||
}
|
||||
};
|
||||
shared_ptr<C_ReinitWatch> reinit_watch;
|
||||
public:
|
||||
RGWWatcher(RGWRados *r, int i, const string& o) : rados(r), index(i), oid(o), watch_handle(0) {}
|
||||
void handle_notify(uint64_t notify_id,
|
||||
@ -1325,7 +1326,8 @@ public:
|
||||
lderr(rados->ctx()) << "RGWWatcher::handle_error cookie " << cookie
|
||||
<< " err " << cpp_strerror(err) << dendl;
|
||||
rados->remove_watcher(index);
|
||||
rados->schedule_context(new C_ReinitWatch(this));
|
||||
reinit_watch.reset(new C_ReinitWatch(this));
|
||||
rados->schedule_context(reinit_watch.get());
|
||||
}
|
||||
|
||||
void reinit() {
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include <errno.h>
|
||||
|
||||
#include "common/errno.h"
|
||||
#include "common/safe_io.h"
|
||||
|
||||
#include "include/types.h"
|
||||
|
||||
@ -141,9 +142,9 @@ static int ext_mime_map_init(CephContext *cct, const char *ext_map)
|
||||
goto done;
|
||||
}
|
||||
|
||||
ret = read(fd, buf, st.st_size + 1);
|
||||
ret = safe_read(fd, buf, st.st_size + 1);
|
||||
if (ret != st.st_size) {
|
||||
// huh? file size has changed, what are the odds?
|
||||
// huh? file size has changed?
|
||||
ldout(cct, 0) << "ext_mime_map_init(): raced! will retry.." << dendl;
|
||||
free(buf);
|
||||
close(fd);
|
||||
|
@ -24,7 +24,7 @@ COPY install-deps.sh /root/
|
||||
COPY ceph.spec.in /root/
|
||||
# http://jperrin.github.io/centos/2014/09/25/centos-docker-and-systemd/
|
||||
RUN yum -y swap -- remove fakesystemd systemd-libs systemd-container -- install systemd systemd-libs && (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done) && rm -f /lib/systemd/system/multi-user.target.wants/* && rm -f /etc/systemd/system/*.wants/* && rm -f /lib/systemd/system/local-fs.target.wants/* && rm -f /lib/systemd/system/sockets.target.wants/*udev* && rm -f /lib/systemd/system/sockets.target.wants/*initctl* && rm -f /lib/systemd/system/basic.target.wants/* && rm -f /lib/systemd/system/anaconda.target.wants/* && yum install -y redhat-lsb-core
|
||||
RUN yum install -y yum-utils && yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && yum install --nogpgcheck -y epel-release && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && rm /etc/yum.repos.d/dl.fedoraproject.org*
|
||||
RUN yum install -y yum-utils && yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && yum install --nogpgcheck -y epel-release && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && rm /etc/yum.repos.d/dl.fedoraproject.org* && yum-config-manager --enable cr
|
||||
# build dependencies
|
||||
RUN cd /root ; ./install-deps.sh
|
||||
# development tools
|
||||
|
Loading…
Reference in New Issue
Block a user