Package: ceph / 0.80.7-2+deb8u2

Metadata

Package Version Patches format
ceph 0.80.7-2+deb8u2 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
firefly latest.patch | (download)

src/common/config.cc | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 fixes from "firefly" branch since 0.80.6 release


bug 8342.patch | (download)

src/init-ceph.in | 7 6 + 1 - 0 !
1 file changed, 6 insertions(+), 1 deletion(-)

  [fixes:#8342]
 * init-ceph: continue loop immediately on daemon start failure
   If we fail to start the daemon, skip the post_start and other steps.
 * if we fail to set an OSD's crush position, continue
   If we fail to set the CRUSH position for one OSD, continue on to try
   starting others, just as we do when we fail to start the daemon.


bug 8624a.patch | (download)

src/mon/MDSMonitor.cc | 31 31 + 0 - 0 !
1 file changed, 31 insertions(+)

 [patch] mon: mdsmonitor: do not allow ec pools to be used for data or
 metadata

Fixes: #8624

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>

bug 8624b.patch | (download)

src/mon/MDSMonitor.cc | 10 8 + 2 - 0 !
1 file changed, 8 insertions(+), 2 deletions(-)

 [patch] mon: mdsmonitor: print pool name along with id during 'newfs'
 errors

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>

bug 8821.patch | (download)

src/common/config_opts.h | 4 2 + 2 - 0 !
src/rbd.cc | 31 22 + 9 - 0 !
src/test/cli-integration/rbd/defaults.t | 214 214 + 0 - 0 !
3 files changed, 238 insertions(+), 11 deletions(-)

 [patch 3/3] rbd: respect rbd_default_* parameters

 Treat rbd_default_{format,order,stripe_unit,stripe_count} as defaults for
 the usual arguments for specifying those properties.

 librbd::create() is affected by rbd_default_format, so we need to
 explicitly override it if --image-format is set. The rest of the
 parameters are passed explicitly when they are used, so their rbd_default
 equivalents don't matter.

 Fixes: #8821
 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>


bug 9341.patch | (download)

src/client/Client.cc | 42 38 + 4 - 0 !
src/client/Client.h | 2 1 + 1 - 0 !
2 files changed, 39 insertions(+), 5 deletions(-)

 dramatically (e.g seconds instead of hours) reduce rejoin (i.e. mds restart) time.


p2139.patch | (download)

src/os/FileJournal.cc | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 [patch] os/filejournal: update the journal header when closing
 journal

When closing journal, it should check must_write_header and update
journal header if must_write_header alreay set.
It can reduce the nosense journal-replay after restarting osd.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
client sleep1.patch | (download)

src/client/Client.cc | 21 18 + 3 - 0 !
1 file changed, 18 insertions(+), 3 deletions(-)

 [patch] client: drop dirty/flushing caps if auth mds' session is
 reset

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>

client sleep2.patch | (download)

src/client/Client.cc | 9 8 + 1 - 0 !
1 file changed, 8 insertions(+), 1 deletion(-)

 [patch] client: wake up cap waiters if mds session is reset

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>

client sleep3.patch | (download)

src/client/Client.cc | 22 14 + 8 - 0 !
1 file changed, 14 insertions(+), 8 deletions(-)

 [patch] client: cleanup unsafe requests if mds session is reset

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>

sleep recover.patch | (download)

src/client/Client.cc | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 fix fuse-client hang after wake-up from suspend.


backfill prio.patch | (download)

src/common/AsyncReserver.h | 19 16 + 3 - 0 !
src/common/config_opts.h | 3 3 + 0 - 0 !
src/messages/MBackfillReserve.h | 4 2 + 2 - 0 !
src/osd/OSD.cc | 11 9 + 2 - 0 !
src/osd/OSD.h | 5 0 + 5 - 0 !
src/osd/PG.cc | 35 28 + 7 - 0 !
src/osd/PG.h | 5 5 + 0 - 0 !
src/osd/osd_types.h | 4 4 + 0 - 0 !
8 files changed, 67 insertions(+), 19 deletions(-)

---
bash completion.patch | (download)

src/bash_completion/ceph | 29 21 + 8 - 0 !
src/bash_completion/rados | 2 1 + 1 - 0 !
src/bash_completion/rbd | 10 7 + 3 - 0 !
3 files changed, 29 insertions(+), 12 deletions(-)

 improve bash completion for various tools


rbdmap1 mount.patch | (download)

src/init-rbdmap | 74 47 + 27 - 0 !
1 file changed, 47 insertions(+), 27 deletions(-)

 rbdmap: per-device mount (closes: #8538)

`/etc/init.d/rbdmap start` was doing `mount -a`. Although (arguably)
`mount -a -O _netdev` could be less disruptive, it's not RBD mapping job to
mount unrelated devices and potentially do it at the wrong time.

Solution is to call `mount {device}` which works as expected and mounts
device even if it given in form `mount /dev/rbd/pool/imagename` while
`/etc/fstab` uses UUID or LABEL notation.

Furthermore this commit

 * fixes global exit code (it was always 0): now it is 0 only when
   all devices were (un)mounted successfully; otherwise non-zero.
 * replaces `mount -a` with per-device post-mapping `mount {dev}`
 * show mapping progress using LSB functions per device instead of for
   {start|stop} invocation.
 * capture output of `(u)mount` (if any) and report it as "info".

Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>

rbdmap2 hooks.patch | (download)

src/init-rbdmap | 19 18 + 1 - 0 !
1 file changed, 18 insertions(+), 1 deletion(-)

 rbdmap: per-device post-map/pre-unmap hooks

There are cases when automatic (un-)mounting of file system on RBD is not
enough. Some services may need to be started when RBD device becomes
available (mapped) as well as it may be desirable to stop services in order
to release file system before unmapping RBD device.

File system(s) on RBD is not the only use case scenario. RBD devices may be
used as block devices in which case `/etc/fstab` is not sufficient to
perform action upon mapping RBD device. A handler script (hook) can be
useful to properly release RBD device before unmapping, etc.

Pre-unmap hooks can be important for clean shut down and for re-exporting
RBD device(s) as (iSCSI,AoE,DRBD) etc.

This commit introduces support for per-device hooks to perform per-device
post-map/pre-unmap actions. If hook named like "poolname/imagename" (same
as in `/etc/ceph/rbdmap` file) is found in

    /etc/ceph/rbd.d/poolname/imagename

it is executed as

    /etc/ceph/rbd.d/poolname/imagename map poolname/imagename

following after attempt to mount file system (if relevant `fstab` entry
exist) following mapping of corresponding RBD device.

Before un-mounting file system and un-mapping RBD device hook is called as
follows:

    /etc/ceph/rbd.d/poolname/imagename unmap poolname/imagename

Second argument is intentional to allow multiple RBD devices to share the
CVE 2015 5245.patch | (download)

src/rgw/rgw_rest.cc | 7 5 + 2 - 0 !
1 file changed, 5 insertions(+), 2 deletions(-)

 [patch] rgw: url encode exposed bucket

Fixes: #12537
Don't send the bucket name back without url encoding it.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>

The patch below is an adapted version for ceph 0.80.7 to only contain
the necessary changes to fix this vulnerability. Neither the quoting 
of the bucket name nor the missing \r are fixed.
(see http://tracker.ceph.com/issues/9254 and http://tracker.ceph.com/issues/11860)


cve 2016 5009_mon_dos.patch | (download)

src/mon/Monitor.cc | 23 22 + 1 - 0 !
src/test/librados/cmd.cc | 35 35 + 0 - 0 !
2 files changed, 57 insertions(+), 1 deletion(-)

---
cve 2016 7031_rgw_anonymous_read.patch | (download)

src/rgw/rgw_acl_s3.cc | 2 1 + 1 - 0 !
src/rgw/rgw_op.cc | 9 8 + 1 - 0 !
2 files changed, 9 insertions(+), 2 deletions(-)

---
cve 2016 8626_rgw_dos.patch | (download)

src/rgw/rgw_policy_s3.cc | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

---
cve 2016 9579_short_cors_request.patch | (download)

src/rgw/rgw_cors.cc | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

---
rbdmap3 lazyumount.patch | (download)

src/init-rbdmap | 13 12 + 1 - 0 !
1 file changed, 12 insertions(+), 1 deletion(-)

 rbdmap: lazy umount on shutdown and reboot (runlevel 0 and 6)

Do lazy unmount in runlevel 0 and 6. This is necessary to avoid unclean
shutdown due to "umount" hangs on reboot.

"rbdmap" fail to umount and unmap RBD device when some applications are
still using file system on RBD. If RBD device not released on
shutdown/reboot system deconfigures network interfaces, terminates
remaining processes then tries to umount remaining file systems where it
hangs forever in endless libceph attempt to reach MONs. This scenario was
observed when /home is located on RBD device (users start processes in
screen/tmux etc.). Even worse, `umount` stuck on RBD mount point so
remaining local file systems are never un-mounted making unclean shutdown
almost inevitable.

Lazy umount is effective because it allows to release RBD device and
unmount file system when applications are terminated.

Also before umount (if `fuser` utility is available) TERM signal will be
sent to all processes still using mount point so applications that haven't
been asked to terminate yet will have some time to finish before final cut.

Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>

arch.patch | (download)

configure.ac | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 use `dpkg-architecture` instead of `arch` to get build architecture
 Fixes build in `pbuilder` on amd64 for i386.


modules.patch | (download)

src/cls/Makefile.am | 2 1 + 1 - 0 !
src/erasure-code/jerasure/Makefile.am | 8 4 + 4 - 0 !
2 files changed, 5 insertions(+), 5 deletions(-)

 mark modules as actually being modules
 Ceph was/is building internal plugins/modules as versioned libraries;
 this makes no sense as they are not exposed to anything other than
 ceph so ABI compat is irrelevant - this patch makes them build without
 the so.2.0.0 extensions and is a little cleaner.


sample.ceph.conf.patch | (download)

src/sample.ceph.conf | 185 140 + 45 - 0 !
1 file changed, 140 insertions(+), 45 deletions(-)

 sample.ceph.conf update:

 * corrected URLs.
 * added [client] section.
 * more options and descriptions.
 * filestore settings were moved under [osd].
 * cephx settings to reflect lack of support for authentication in kernel RBD client.
 * many minor corrections and updates.


use_system_jerasure.patch | (download)

src/erasure-code/jerasure/Makefile.am | 52 10 + 42 - 0 !
1 file changed, 10 insertions(+), 42 deletions(-)

 use system "libjerasure" instead of bundled one.


virtualenv never download.patch | (download)

src/test/run-cli-tests | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 ask virtualenv to never download anything