]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoFor pgls OP, get/put budget on per list session basis, instead of per OP basis, which... 5043/head
Guang Yang [Mon, 15 Sep 2014 11:41:06 +0000 (11:41 +0000)]
For pgls OP, get/put budget on per list session basis, instead of per OP basis, which could lead to deadlock.

Signed-off-by: Guang Yang (yguang@yahoo-inc.com)
(cherry picked from commit 0f884fdb31a26f241401ce2a9329dc0f2c4eccc7)

Conflicts:
src/librados/IoCtxImpl.cc
            In firefly, return value of objecter->pg_read() is not assigned to c->tid.
src/osdc/Objecter.cc
src/osdc/Objecter.h
            There is no _op_submit_with_budget() function in firefly.
            There is no Objecter::_finish_op() function in firefly.
            In firefly, _take_op_budget() is called take_op_budget().

10 years agoMerge pull request #4867 from SUSE/wip-11878-firefly
Loic Dachary [Wed, 22 Jul 2015 08:20:32 +0000 (10:20 +0200)]
Merge pull request #4867 from SUSE/wip-11878-firefly

mon: Clock skew causes missing summary and confuses Calamari

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
10 years agoAlways provide summary for non-healthy cluster. 4867/head
Thorsten Behrens [Fri, 6 Feb 2015 00:26:40 +0000 (01:26 +0100)]
Always provide summary for non-healthy cluster.

This fixes a problem, wherein calamari does not provide
popup drill-downs for warnings or errors, should the summary
be missing.

Calamari gets health info from /api/v1/cluster/$FSID/health.
If the data here has a summary field, this summary is provided
in a popup window:

  /api/v1/cluster/$FSID/health is populated (ultimately) with
  status obtained via librados python bindings from the ceph
  cluster. In the case where there's clock skew, the summary
  field supplied by the ceph cluster is empty.

No summary field, no popup window with more health details.

Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
(cherry picked from commit eaf6e0cf48488fe604d0ef0db164d44948d4e8d4)

Conflicts:
src/mon/Monitor.cc
            firefly needs ss

10 years agoMerge pull request #5062 from SUSE/wip-11699-firefly
Josh Durgin [Tue, 21 Jul 2015 20:31:33 +0000 (13:31 -0700)]
Merge pull request #5062 from SUSE/wip-11699-firefly

objecter: resend linger ops on split

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #5129 from SUSE/wip-12202-firefly
Loic Dachary [Tue, 21 Jul 2015 11:03:07 +0000 (13:03 +0200)]
Merge pull request #5129 from SUSE/wip-12202-firefly

mon: ceph fails to compile with boost 1.58

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #5044 from SUSE/wip-12011-firefly
Loic Dachary [Tue, 21 Jul 2015 10:51:10 +0000 (12:51 +0200)]
Merge pull request #5044 from SUSE/wip-12011-firefly

osd: PG stuck with remapped

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #5039 from SUSE/wip-11961-firefly
Loic Dachary [Tue, 21 Jul 2015 10:45:22 +0000 (12:45 +0200)]
Merge pull request #5039 from SUSE/wip-11961-firefly

osd: Cleanup boost optionals for boost 1.56

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #5037 from SUSE/wip-11875-firefly
Loic Dachary [Tue, 21 Jul 2015 10:39:34 +0000 (12:39 +0200)]
Merge pull request #5037 from SUSE/wip-11875-firefly

tools: ceph-post-file fails on rhel7

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4771 from SUSE/wip-11759-firefly
Loic Dachary [Tue, 21 Jul 2015 10:34:51 +0000 (12:34 +0200)]
Merge pull request #4771 from SUSE/wip-11759-firefly

tools: ceph-disk: support NVMe device partitions

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4636 from SUSE/wip-11143-firefly
Loic Dachary [Tue, 21 Jul 2015 10:22:52 +0000 (12:22 +0200)]
Merge pull request #4636 from SUSE/wip-11143-firefly

tools:  src/ceph-disk : disk zap sgdisk invocation

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4635 from SUSE/wip-7387-firefly
Loic Dachary [Tue, 21 Jul 2015 10:20:50 +0000 (12:20 +0200)]
Merge pull request #4635 from SUSE/wip-7387-firefly

common: Malformed JSON command output when non-ASCII strings are present

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4632 from SUSE/wip-11507-firefly
Loic Dachary [Tue, 21 Jul 2015 10:17:43 +0000 (12:17 +0200)]
Merge pull request #4632 from SUSE/wip-11507-firefly

osd: object creation by write cannot use an offset on an erasure coded pool

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4630 from SUSE/wip-10983-firefly
Loic Dachary [Tue, 21 Jul 2015 10:12:36 +0000 (12:12 +0200)]
Merge pull request #4630 from SUSE/wip-10983-firefly

tools: use a new disk as journal disk,ceph-disk prepare fail

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4597 from xinxinsh/wip-11026-firefly
Loic Dachary [Tue, 21 Jul 2015 10:08:26 +0000 (12:08 +0200)]
Merge pull request #4597 from xinxinsh/wip-11026-firefly

objecter: can get stuck in redirect loop if osdmap epoch == last_force_op_resend

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4582 from SUSE/wip-11543-firefly
Loic Dachary [Tue, 21 Jul 2015 10:04:39 +0000 (12:04 +0200)]
Merge pull request #4582 from SUSE/wip-11543-firefly

tools: ceph_argparse_flag has no regular 3rd parameter

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4633 from SUSE/wip-11535-firefly
Josh Durgin [Fri, 17 Jul 2015 23:10:43 +0000 (16:10 -0700)]
Merge pull request #4633 from SUSE/wip-11535-firefly

Client admin socket leaks file descriptors

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4631 from SUSE/wip-11069-firefly
Samuel Just [Fri, 10 Jul 2015 00:24:04 +0000 (17:24 -0700)]
Merge pull request #4631 from SUSE/wip-11069-firefly

PGLog: split divergent priors as well

Reviewed-by: Samuel Just
10 years agomon: remove unused variable 5129/head
Kefu Chai [Fri, 8 May 2015 07:21:20 +0000 (15:21 +0800)]
mon: remove unused variable

* as a side effect, this change silences
  http://tracker.ceph.com/issues/11576

Fixes: #11576
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit e7b196a4a091c0ea258866559ba06e7ed0cc4247)

10 years agoObjecter: resend linger ops on any interval change 5062/head
Josh Durgin [Mon, 20 Oct 2014 20:29:13 +0000 (13:29 -0700)]
Objecter: resend linger ops on any interval change

Watch/notify ops need to be resent after a pg split occurs, as well as
a few other circumstances that the existing objecter checks did not
catch.

Refactor the check the OSD uses for this to add a version taking the
more basic types instead of the whole OSD map, and stash the needed
info when an op is sent.

Fixes: #9806
Backport: giant, firefly, dumpling
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit cb9262abd7fd5f0a9f583bd34e4c425a049e56ce)

Conflicts:
src/osd/osd_types.cc
src/osdc/Objecter.cc
            Minor differences.

10 years agoosd_types: factor out is_new_interval from check_new_interval
Samuel Just [Wed, 7 May 2014 18:02:16 +0000 (11:02 -0700)]
osd_types: factor out is_new_interval from check_new_interval

Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 2ee355113ed4374c664909a8cd7dc5dfdc4c9ed7)

10 years agoThe fix for issue 9614 was not completed, as a result, for those erasure coded PGs... 5044/head
Guang Yang [Mon, 13 Oct 2014 04:18:45 +0000 (04:18 +0000)]
The fix for issue 9614 was not completed, as a result, for those erasure coded PGs with one OSD down, the state was wrongly marked as active+clean+degraded. This patch makes sure the clean flag is not set for such PG.
Signed-off-by: Guang Yang <yguang@yahoo-inc.com>
(cherry picked from commit 35bbb2d6002b1b435ff0b1df653cc7ab271f9258)

10 years agoosd: Cleanup boost optionals 5039/head
William A. Kennington III [Sun, 21 Sep 2014 05:52:31 +0000 (22:52 -0700)]
osd: Cleanup boost optionals

Signed-off-by: William A. Kennington III <william@wkennington.com>
(cherry picked from commit a53ead14c113047567177630b4906136a2109b65)

10 years agoMakefile: install ceph-post-file keys with mode 600 5037/head
Sage Weil [Mon, 1 Jun 2015 22:10:14 +0000 (15:10 -0700)]
Makefile: install ceph-post-file keys with mode 600

Otherwise ssh (may) prompt for a password.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 106a1c3081d02446aa3d8e13865da0c3393bae90)

10 years agoceph-post-file: improve check for a source install
Joseph McDonald [Mon, 1 Jun 2015 22:05:32 +0000 (15:05 -0700)]
ceph-post-file: improve check for a source install

Signed-off-by: Joseph McDonald <joseph.mcdonald@alcatel-lucent.com>
(cherry picked from commit ee170eadcdcb4b54d36a7d474558484de9d917eb)

10 years agoceph-post-file: behave when sftp doesn't take -i
Joseph McDonald [Mon, 1 Jun 2015 22:00:39 +0000 (15:00 -0700)]
ceph-post-file: behave when sftp doesn't take -i

Fixes: #11836
Signed-off-by: Joseph McDonald <joseph.mcdonald@alcatel-lucent.com>
(cherry picked from commit b84031ed5eaace1222e14d3c4076a3ab1155da96)

10 years agoMerge pull request #4960 from ceph/wip-10911-firefly
David Zafman [Fri, 19 Jun 2015 22:57:46 +0000 (15:57 -0700)]
Merge pull request #4960 from ceph/wip-10911-firefly

osd,mon: explicitly specify OSD features in MOSDBoot

Reviewed-by: David Zafman <dzafman@redhat.com>
10 years ago0.80.10 v0.80.10
Jenkins [Thu, 18 Jun 2015 16:48:56 +0000 (09:48 -0700)]
0.80.10

10 years agoqa/workunits/rados/test-upgarde-v9.0.1: fix exclude syntax
Sage Weil [Wed, 17 Jun 2015 16:35:28 +0000 (09:35 -0700)]
qa/workunits/rados/test-upgarde-v9.0.1: fix exclude syntax

It's -, then a list of all exclusions separated by :.  There are just 2.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 78d894a634d727a9367f809a1f57234e5e6935be)

10 years agoqa/workunits/rados/test-upgrade-v9.0.1: skip one more evict test
Sage Weil [Wed, 17 Jun 2015 04:05:29 +0000 (21:05 -0700)]
qa/workunits/rados/test-upgrade-v9.0.1: skip one more evict test

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 3e8d60a80ce31860eac76a1f6489a35e1795a0c0)

10 years agoqa: add compatibility filtered rados api tests for upgrades
Josh Durgin [Mon, 15 Jun 2015 22:12:43 +0000 (15:12 -0700)]
qa: add compatibility filtered rados api tests for upgrades

Post-9.0.1, the evict op returns success when an object doesn't exist
in the cache tier. Skip the tests that are incompatible across
versions.

Fixes: #11548
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit 348a3d3c9880e7d022e71a2faafe51c8f771406e)

10 years agoosd,mon: explicitly specify OSD features in MOSDBoot 4960/head
Sage Weil [Wed, 18 Feb 2015 22:53:04 +0000 (14:53 -0800)]
osd,mon: explicitly specify OSD features in MOSDBoot

We are using the connection features to populate the features field in the
OSDMap, but this is the *intersection* of mon and osd features, not the
osd features.  Fix this by explicitly specifying the features in
MOSDBoot.

Fixes: #10911
Backport: giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit bee91548b07c6a28314dddc50fef8b6a2677e774)

Conflicts:
src/osd/OSD.cc
Minor difference in the MOSDBoot constructor

10 years agoMerge pull request #4924 from ceph/wip-11955-firefly
Sage Weil [Wed, 10 Jun 2015 22:03:48 +0000 (15:03 -0700)]
Merge pull request #4924 from ceph/wip-11955-firefly

11955: ceph.spec.in: package mkcephfs on EL6

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoceph.spec.in: package mkcephfs on EL6 4924/head
Ken Dreyer [Wed, 10 Jun 2015 21:43:41 +0000 (15:43 -0600)]
ceph.spec.in: package mkcephfs on EL6

Commit efbca0465c2946e113771966df08cf7cf37b1196 added mkcephfs to the
RPM %files listing, but this /usr/sbin path is only correct for CentOS
7. In CentOS 6, the utility is present at /sbin/mkcephfs instead. This
causes rpmbuild to fail to build the tip of the firefly branch on EL6.

Adjust the RPM %files list so we properly package mkcephfs on both EL7
and EL6.

http://tracker.ceph.com/issues/11955 Refs: #11955

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
10 years agoosdc: add epoch_t last_force_resend in Op/LingerOp. 4597/head
xinxin shu [Wed, 6 May 2015 21:49:18 +0000 (05:49 +0800)]
osdc: add epoch_t last_force_resend in Op/LingerOp.

Using this field record the pg_poo_t::last_force_op_resend to avoid op
endless when osd reply with redirect.

Fixes: #11026
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit def4fc4a)

10 years agoMerge pull request #4851 from ceph/wip-10873-firefly
Orit Wasserman [Thu, 4 Jun 2015 17:07:03 +0000 (19:07 +0200)]
Merge pull request #4851 from ceph/wip-10873-firefly

rgw: generate the "Date" HTTP header for civetweb.

10 years agorgw: generate the "Date" HTTP header for civetweb. 4851/head
Radoslaw Zarzynski [Wed, 18 Feb 2015 14:48:43 +0000 (15:48 +0100)]
rgw: generate the "Date" HTTP header for civetweb.

Fixes: #10873
Backport: hammer
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit ea384f83b601f60e135c3d3f960fdb75a919dd84)

10 years agoceph.spec: add mkcephfs to ceph.rpm
Sage Weil [Wed, 3 Jun 2015 17:03:50 +0000 (13:03 -0400)]
ceph.spec: add mkcephfs to ceph.rpm

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agopackaging: package ceph-disk(8)
Ken Dreyer [Tue, 2 Dec 2014 20:58:10 +0000 (13:58 -0700)]
packaging: package ceph-disk(8)

The ceph-disk man page was added in
a450cab2b8148cb8a9b043d629feccf89e5aabac, but this was not added to the
RPM or DEB packaging. Add it here.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit b743a951114b00bbb6e14fb88f1928b504bc0f8b)

10 years agoMerge pull request #4780 from oritwas/wip-10295-firefly
Yehuda Sadeh [Tue, 2 Jun 2015 16:53:03 +0000 (19:53 +0300)]
Merge pull request #4780 from oritwas/wip-10295-firefly

rgw: civetweb should use unique request id

Reviewd-by: Yehuda Sadeh <yehuda@rehat.com>
10 years agoMerge pull request #4829 from oritwas/wip-negative_content_length-firefly
Yehuda Sadeh [Tue, 2 Jun 2015 16:02:07 +0000 (19:02 +0300)]
Merge pull request #4829 from oritwas/wip-negative_content_length-firefly

rgw: don't allow negative / invalid content length

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: don't allow negative / invalid content length 4829/head
Yehuda Sadeh [Fri, 1 Aug 2014 23:15:36 +0000 (16:15 -0700)]
rgw: don't allow negative / invalid content length

Certain frontends (e.g., civetweb) don't filter such requests.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 0e74b7a1d56733358e2f1d3df4386125a94c2966)

10 years agoMerge pull request #4766 from SUSE/wip-11673-firefly
Sage Weil [Wed, 27 May 2015 22:36:15 +0000 (15:36 -0700)]
Merge pull request #4766 from SUSE/wip-11673-firefly

Debian: ceph-test and rest-bench debug packages should require their respective binary packages

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agorgw: civetweb should use unique request id 4780/head
Orit Wasserman [Thu, 23 Apr 2015 15:36:47 +0000 (17:36 +0200)]
rgw: civetweb should use unique request id

max_req_id was moved to RGWRados and changed to atomic64_t.

The same request id resulted in gc giving the same idtag to all objects
resulting in a leakage of rados objects. It only kept the last deleted object in
it's queue, the previous objects were never freed.

Fixes: 10295
Backport: Hammer, Firefly

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
(cherry picked from commit c262259)

Conflicts:
src/rgw/rgw_main.cc
src/rgw/rgw_rados.h

10 years agoceph-disk: support NVMe device partitions 4771/head
islepnev [Fri, 17 Apr 2015 19:33:01 +0000 (22:33 +0300)]
ceph-disk: support NVMe device partitions

Linux nvme kernel module v0.9 enumerate devices as following:

/dev/nvme0 - characted revice
/dev/nvme0n1 - whole block device
/dev/nvme0n1p1 - first partition
/dev/nvme0n1p2 - second partition

http://tracker.ceph.com/issues/11612 Fixes: #11612

Signed-off-by: Ilja Slepnev <islepnev@gmail.com>
(cherry picked from commit 9b62cf254d02d30609793be8b1cb8a94f38891f1)

Conflicts:
src/ceph-disk

10 years agodebian: set rest-bench-dbg ceph-test-dbg dependencies 4766/head
Ken Dreyer [Mon, 18 May 2015 16:50:58 +0000 (10:50 -0600)]
debian: set rest-bench-dbg ceph-test-dbg dependencies

Debian's debug packages ought to depend on their respective binary
packages. This was the case for many of our ceph packages, but it was
not the case for ceph-test-dbg or rest-bench-dbg.

Add the dependencies on the relevant binary packages, pinned to
"= ${binary:Version}" per convention.

http://tracker.ceph.com/issues/11673 Fixes: #11673

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit f898ec1e4e3472b0202280f09653a769fc62c8d3)

10 years agoMerge pull request #4697 from ceph/wip-11622-firefly
Loic Dachary [Mon, 18 May 2015 12:25:59 +0000 (14:25 +0200)]
Merge pull request #4697 from ceph/wip-11622-firefly

Wip 11622 firefly

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agorgw: merge manifests correctly when there's prefix override 4697/head
Yehuda Sadeh [Thu, 14 May 2015 00:05:22 +0000 (17:05 -0700)]
rgw: merge manifests correctly when there's prefix override

Fixes: #11622
Backport: hammer, firefly

Prefix override happens in a manifest when a rados object does not
conform to the generic prefix set on the manifest. When merging
manifests (specifically being used in multipart objects upload), we need
to check if the rule that we try to merge has a prefix that is the same
as the previous rule. Beforehand we checked if both had the same
override_prefix setting, but that might not apply as both manifests
might have different prefixes.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 389ae6739ddc6239a4dd7c5f7f9bfc9b645b8577)

10 years agorgw: restore buffer of multipart upload after EEXIST
Yehuda Sadeh [Tue, 12 May 2015 23:40:10 +0000 (16:40 -0700)]
rgw: restore buffer of multipart upload after EEXIST

Fixes #11604
Backport: hammer, firefly

When we need to restart a write of part data, we need to revert to
buffer to before the write, otherwise we're going to skip some data.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 580ccaec12daae64c38a1616d0be907bdd70a888)

10 years agoMerge pull request #4414 from xinxinsh/wip-11125-firefly
Yehuda Sadeh [Fri, 15 May 2015 17:27:42 +0000 (10:27 -0700)]
Merge pull request #4414 from xinxinsh/wip-11125-firefly

rgw: keystone token cache does not work correctly

10 years agoMerge pull request #4415 from xinxinsh/wip-11244-firefly
Loic Dachary [Fri, 15 May 2015 15:03:04 +0000 (17:03 +0200)]
Merge pull request #4415 from xinxinsh/wip-11244-firefly

cancel_pull: requeue waiters

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4416 from xinxinsh/wip-10976-firefly
Loic Dachary [Fri, 15 May 2015 15:02:27 +0000 (17:02 +0200)]
Merge pull request #4416 from xinxinsh/wip-10976-firefly

fix PG::all_unfound_are_queried_or_lost for non-existent osds

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4556 from xinxinsh/wip-11429-firefly
Loic Dachary [Fri, 15 May 2015 15:02:05 +0000 (17:02 +0200)]
Merge pull request #4556 from xinxinsh/wip-11429-firefly

OSD::load_pgs: we need to handle the case where an upgrade from earlier versions which ignored non-existent pgs resurrects a pg with a prehistoric osdmap

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4638 from SUSE/wip-11453-firefly
Sage Weil [Thu, 14 May 2015 16:50:28 +0000 (09:50 -0700)]
Merge pull request #4638 from SUSE/wip-11453-firefly

run RGW as root

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoOSD: handle the case where we resurrected an old, deleted pg 4556/head
Samuel Just [Tue, 21 Apr 2015 06:45:57 +0000 (23:45 -0700)]
OSD: handle the case where we resurrected an old, deleted pg

Prior to giant, we would skip pgs in load_pgs which were not present in
the current osdmap.  Those pgs would eventually refer to very old
osdmaps, which we no longer have causing the assertion failure in 11429
once the osd is finally upgraded to a version which does not skip the
pgs.  Instead, if we do not have the map for the pg epoch, complain to
the osd log and skip the pg.

Fixes: 11429
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit fbfd50de5b9b40d71d2e768418a8eca28b1afaca)

Conflicts:
src/osd/OSD.cc
        resolved by add a new comment line

10 years agoMerge pull request #4379 from ceph/wip-11416
Loic Dachary [Tue, 12 May 2015 11:57:36 +0000 (13:57 +0200)]
Merge pull request #4379 from ceph/wip-11416

rgw: use correct objv_tracker for bucket instance

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoinit-radosgw: run RGW as root 4638/head
Ken Dreyer [Wed, 22 Apr 2015 22:36:42 +0000 (16:36 -0600)]
init-radosgw: run RGW as root

The ceph-radosgw service fails to start if the httpd package is not
installed. This is because the init.d file attempts to start the RGW
process with the "apache" UID. If a user is running civetweb, there is
no reason for the httpd or apache2 package to be present on the system.

Switch the init scripts to use "root" as is done on Ubuntu.

http://tracker.ceph.com/issues/11453 Refs: #11453

Reported-by: Vickey Singh <vickey.singh22693@gmail.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit 47339c5ac352d305e68a58f3d744c3ce0fd3a2ac)

10 years agoPGLog: split divergent priors as well 4631/head
Nathan Cutler [Sun, 10 May 2015 15:13:22 +0000 (17:13 +0200)]
PGLog: split divergent priors as well

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit bbe231a61fc06a1a668e6b831fb8224526721f93)

Conflicts:
    src/osd/PGLog.h

    The cherry-picked commit did not compile as-is, because the hobject_t
    class in firefly lacks a get_hash() method, which was added in 6de83d4.
    To get the patch to compile, I replaced i->second.get_hash() with
    i->second.hash.

10 years agojson_sprit: fix the FTBFS on old gcc 4635/head
Kefu Chai [Fri, 8 May 2015 04:01:16 +0000 (12:01 +0800)]
json_sprit: fix the FTBFS on old gcc

Fixes: #11574
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 6b68b27146852f057a3373cd04b08cd6917f3eea)

10 years agojson_spirit: use utf8 intenally when parsing \uHHHH
Tim Serong [Fri, 1 May 2015 15:59:53 +0000 (01:59 +1000)]
json_spirit: use utf8 intenally when parsing \uHHHH

When the python CLI is given non-ASCII characters, it converts them to
\uHHHH escapes in JSON.  json_spirit parses these internally into 16 bit
characters, which could only work if json_spirit were built to use
std::wstring, which it isn't; it's using std::string, so the high byte
ends up being zero'd, leaving the low byte which is effectively garbage.

This hack^H^H^H^H change makes json_spirit convert to utf8 internally
instead, which can be stored just fine inside a std::string.

Note that this implementation still assumes \uHHHH escapes are four hex
digits, so it'll only cope with characters in the Basic Multilingual
Plane.  Still, that's rather a lot more characters than it could cope
with before ;)

(For characters outside the BMP, Python seems to generate escapes in the
form \uHHHHHHHH, i.e. 8 hex digits, which the current implementation
doesn't expect to see)

Fixes: #7387
Signed-off-by: Tim Serong <tserong@suse.com>
(cherry picked from commit 8add15b86e7aaef41397ab8fa9e77ee7957eb607)

Conflicts:
src/test/mon/osd-pool-create.sh

        Changed $CEPH_MON to 127.0.0.1 -- the CEPH_MON was introduced after
        firefly to allow tests to run in parallel. Back in firefly all tests
        use the same port because 127.0.0.1 was hardcoded. We can't
        conveniently backport all that's necessary for tests to run in
        parallel, therefore we keep the 127.0.0.1 hardcoded.

10 years agoFix "disk zap" sgdisk invocation 4636/head
Owen Synge [Tue, 17 Mar 2015 14:41:33 +0000 (15:41 +0100)]
Fix "disk zap" sgdisk invocation

Fixes #11143

If the metadata on the disk is truly invalid, sgdisk would fail to zero
it in one go, because --mbrtogpt apparently tried to operate on the
metadata it read before executing --zap-all.

Splitting this up into two separate invocations to first zap everything
and then clear it properly fixes this issue.

Based on patch by Lars Marowsky-Bree <lmb@suse.com> in ceph-deploy.
Created by Vincent Untz <vuntz@suse.com>

Signed-off-by: Owen Synge <osynge@suse.com>
Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
(cherry picked from commit fdd7f8d83afa25c4e09aaedd90ab93f3b64a677b)

10 years agocommon/admin_socket: close socket descriptor in destructor 4633/head
Jon Bernard [Fri, 8 May 2015 15:54:06 +0000 (11:54 -0400)]
common/admin_socket: close socket descriptor in destructor

Long-running processes that do not reuse a single client connection will
see accumulating file descriptors as a result of not closing the
listening socket.  In this case, eventually the system will reach
file-max and subsequent connections will fail.

Fixes: #11535
Signed-off-by: Jon Bernard <jbernard@tuxion.com>
(cherry picked from commit 88fabb1ee6cd3c7d211ca46919055195e32245db)

10 years agoosd: refuse to write a new erasure coded object with an offset > 0 4632/head
Jianpeng Ma [Fri, 6 Mar 2015 07:54:07 +0000 (15:54 +0800)]
osd: refuse to write a new erasure coded object with an offset > 0

Even if the offset is properly aligned.

http://tracker.ceph.com/issues/11507 Fixes: #11507

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit a4f1256c214ee0e7ebb91ac4ea8655f5d9642dc8)

10 years agoceph-disk: more robust parted output parser 4630/head
Loic Dachary [Sun, 8 Mar 2015 14:15:35 +0000 (15:15 +0100)]
ceph-disk: more robust parted output parser

In some cases, depending on the implementation or the operating system,

   parted --machine -- /dev/sdh print

may contain empty lines. The current parsing code is fragile and highly
depends on output details. Replace it with code that basically does the
same sanity checks (output not empty, existence of units, existence of
the dev entry) but handles the entire output instead of checking line by
line.

http://tracker.ceph.com/issues/10983 Fixes: #10983

Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit f5acf6bb6a342b05897605703d7d9cb7c09714fd)

10 years agoworkunits: remove defunct cephfs set_layout test
Greg Farnum [Fri, 8 May 2015 18:29:44 +0000 (11:29 -0700)]
workunits: remove defunct cephfs set_layout test

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #4571 from ceph/wip-11256-firefly
Yehuda Sadeh [Wed, 6 May 2015 20:07:11 +0000 (13:07 -0700)]
Merge pull request #4571 from ceph/wip-11256-firefly

Wip 11256 firefly

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoceph_argparse_flag has no regular 3rd parameter. 4582/head
Thorsten Behrens [Wed, 2 Jul 2014 22:15:03 +0000 (00:15 +0200)]
ceph_argparse_flag has no regular 3rd parameter.

With clang warning: 'va_start' has undefined behavior with reference
types, noticing copy-paste mistake on ceph_argparse_flag.

Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
(cherry picked from commit 0c7c7223a2beb4ffb953d89d316f87d350677063)

10 years agojava: libcephfs_jni.so is in /usr/lib64 on rhel
Noah Watkins [Sat, 28 Mar 2015 02:34:12 +0000 (19:34 -0700)]
java: libcephfs_jni.so is in /usr/lib64 on rhel

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
(cherry picked from commit aed3434dc7c5161c72c7d5655faa3bc693fc9777)

10 years agoqa/workunits/fs/misc: fix filelock_interrupt.py
Yan, Zheng [Mon, 2 Mar 2015 13:04:25 +0000 (21:04 +0800)]
qa/workunits/fs/misc: fix filelock_interrupt.py

Handle the case that kernel does not support fcntl.F_OFD_SETLK.
Also fix the code that checks if fnctl fails with errno == EINTR.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 4ececa3dc4a21b98f61a592da9e2be60a0d71625)
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #4385 from xinxinsh/wip-11199-firefly
Loic Dachary [Wed, 29 Apr 2015 22:32:21 +0000 (00:32 +0200)]
Merge pull request #4385 from xinxinsh/wip-11199-firefly

osd: ENOENT on clone

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4384 from xinxinsh/wip-11197-firefly
Loic Dachary [Wed, 29 Apr 2015 22:31:48 +0000 (00:31 +0200)]
Merge pull request #4384 from xinxinsh/wip-11197-firefly

pg stuck stale after create with activation delay

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4382 from xinxinsh/wip-10718-firefly
Loic Dachary [Wed, 29 Apr 2015 22:31:32 +0000 (00:31 +0200)]
Merge pull request #4382 from xinxinsh/wip-10718-firefly

osd/PGLog.h: 279: FAILED assert(log.log.size() == log_keys_debug.size())

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4185 from ldachary/wip-11156-firefly
Loic Dachary [Wed, 29 Apr 2015 22:23:04 +0000 (00:23 +0200)]
Merge pull request #4185 from ldachary/wip-11156-firefly

FAILED assert(soid < scrubber.start || soid >= scrubber.end)

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4475 from ceph/wip-9538.firefly
Sage Weil [Tue, 28 Apr 2015 15:11:18 +0000 (08:11 -0700)]
Merge pull request #4475 from ceph/wip-9538.firefly

mon: OSDMonitor: fallback to json-pretty in case of invalid formatter

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agomon: osd find / metadata --format plain fallback 4475/head
Loic Dachary [Fri, 19 Sep 2014 13:28:36 +0000 (15:28 +0200)]
mon: osd find / metadata --format plain fallback

ceph --format plain osd find 1 (and metadata) are not implemented and
must fallback to the default (json-pretty).

http://tracker.ceph.com/issues/9538 Fixes: #9538

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 13780d755115387591888f94ea6c58ac0db3ecc4)

10 years agoMerge pull request #4453 from ceph/wip-11454
David Zafman [Mon, 27 Apr 2015 17:30:49 +0000 (10:30 -0700)]
Merge pull request #4453 from ceph/wip-11454

PG::actingset should be used when checking the number of acting OSDs for...

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4245 from ceph/wip-11113-firefly
Loic Dachary [Mon, 27 Apr 2015 08:14:00 +0000 (10:14 +0200)]
Merge pull request #4245 from ceph/wip-11113-firefly

librbd: snap_remove should ignore -ENOENT errors

Reviewed-by: Shu, Xinxin <xinxin.shu@intel.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4206 from ceph/wip-5488-firefly
Loic Dachary [Mon, 27 Apr 2015 08:12:40 +0000 (10:12 +0200)]
Merge pull request #4206 from ceph/wip-5488-firefly

librbd: acquire cache_lock before refreshing parent

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3963 from dachary/wip-10153-firefly
Loic Dachary [Mon, 27 Apr 2015 08:09:23 +0000 (10:09 +0200)]
Merge pull request #3963 from dachary/wip-10153-firefly

Rados.shutdown() dies with Illegal instruction (core dumped)

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4383 from xinxinsh/wip-11144-firefly
Loic Dachary [Mon, 27 Apr 2015 08:08:15 +0000 (10:08 +0200)]
Merge pull request #4383 from xinxinsh/wip-11144-firefly

erasure-code-profile set races with erasure-code-profile rm

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoosd: fix PG::all_unfound_are_queried_or_lost for non-existent osds 4416/head
Mykola Golub [Tue, 3 Mar 2015 06:45:58 +0000 (08:45 +0200)]
osd: fix PG::all_unfound_are_queried_or_lost for non-existent osds

A common mistake upon osd loss is to remove the osd from the crush map
before marking the osd lost. This tends to make it so that the user
can no longer mark the osd lost to satisfy all_unfound_are_queried_or_lost.

The simple solution is for all_unfound_are_queried_or_lost to ignore
the osd if it does not exist.

Fixes: #10976
Backports: firefly,giant

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit 5bb51320138ff714806d24312149f6275d546608)

10 years agoPG::actingset should be used when checking the number of acting OSDs for a given PG. 4453/head
Guang Yang [Mon, 29 Sep 2014 08:21:10 +0000 (08:21 +0000)]
PG::actingset should be used when checking the number of acting OSDs for a given PG.
Signed-off-by: Guang Yang <yguang@yahoo-inc.com>
(cherry picked from commit 19be358322be48fafa17b28054619a8b5e7d403b)

Conflicts:
src/osd/PG.cc PG::get_backfill_priority() doesn't exist in firefly
Variation in code related to no "undersized" state in firefly

Fixes: #11454
10 years agoReplicatedPG::cancel_pull: requeue waiters as well 4415/head
Samuel Just [Thu, 26 Mar 2015 17:26:48 +0000 (10:26 -0700)]
ReplicatedPG::cancel_pull: requeue waiters as well

If we are in recovery_wait, we might not recover that object as part of
recover_primary for some time.  Worse, if we are waiting on a backfill
which is blocked waiting on a copy_from on the missing object in
question, it can become a dead lock.

Fixes: 11244
Backport: firefly
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 0b2e272430dd7433e6763be99b8a4cb127d9be19)

10 years agorgw: update keystone cache with token info 4414/head
Yehuda Sadeh [Tue, 3 Mar 2015 19:03:35 +0000 (11:03 -0800)]
rgw: update keystone cache with token info

Fixes: #11125
Backport: hammer, firefly

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 6616294aa140ceb83cc61c6ab6f9947636f5e67d)

10 years agorgw: use correct objv_tracker for bucket instance 4379/head
Yehuda Sadeh [Thu, 18 Dec 2014 01:12:43 +0000 (17:12 -0800)]
rgw: use correct objv_tracker for bucket instance

When trying to create a bucket that already existed, use the
objv_tracker of the newly created instance, and not of the original
bucket.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit fe158ecc25feefcea8aea4133118e4a84900a8ec)

10 years agoosd: erasure-code-profile incremental rm before set 4296/head 4383/head
Loic Dachary [Wed, 18 Mar 2015 13:17:00 +0000 (14:17 +0100)]
osd: erasure-code-profile incremental rm before set

It is possible for an incremental change to have both a rm and a set for
a given erasure code profile. It only happens when a rm is followed by a
set. When a set is followed by a rm, the rm will remove the pending set
in the incremental change.

The logic is the same for pool create and pool delete.

We must apply the incremental erasure-code-profile removal before the
creation otherwise rm and set in the same proposal will ignore the set.

This fix is minimal. A better change would be that erasure-code-profile
set checks if there is a pending removal and wait_for_finished_proposal
before creating.

http://tracker.ceph.com/issues/11144 Fixes: #11144

Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit 0d52aca0d0c302983d03b0f5213ffed187e4ed63)

Conflicts:
src/osd/OSDMap.cc
        resolved by replacing i++ with ++i

10 years agoReplicatedPG: trim backfill intervals based on peer's last_backfill_started 4298/head 4385/head
Samuel Just [Tue, 24 Mar 2015 22:14:34 +0000 (15:14 -0700)]
ReplicatedPG: trim backfill intervals based on peer's last_backfill_started

Otherwise, we fail to trim the peer's last_backfill_started and get bug 11199.

1) osd 4 backfills up to 31bccdb2/mira01213209-286/head (henceforth: foo)

2) Interval change happens

3) osd 0 now finds itself backfilling to 4 (lb=foo) and osd.5
(lb=b6670ba2/mira01213209-160/snapdir//1, henceforth: bar)

4) recover_backfill causes both 4 and 5 to scan forward, so 4 has an interval
starting at foo, 5 has an interval starting at bar.

5) Once those have come back, recover_backfill attempts to trim off the
last_backfill_started, but 4's interval starts after that, so foo remains in
osd 4's interval (this is the bug)

7) We serve a copyfrom on foo (sent to 4 as well).

8) We eventually get to foo in the backfilling. Normally, they would have the
same version, but of course we don't update osd.4's interval from the log since
it should not have received writes in that interval. Thus, we end up trying to
recover foo on osd.4 anyway.

9) But, an interval change happens between removing foo from osd.4 and
completing the recovery, leaving osd.4 without foo, but with lb >= foo

Fixes: #11199
Backport: firefly
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 1388d6bd949a18e8ac0aecb0eb79ffb93d316879)

10 years agoPG: set/clear CREATING in Primary state entry/exit 4297/head 4384/head
Samuel Just [Tue, 24 Mar 2015 17:48:02 +0000 (10:48 -0700)]
PG: set/clear CREATING in Primary state entry/exit

Previously, we did not actually set it when we got a pg creation message from
the mon.  It would actually get set on the first start_peering_interval after
that point.  If we don't get that far, but do send a stat update to the mon, we
can end up with 11197.  Instead, let's just set it and clear it upon entry into
and exit from the Primary state.

Fixes: 11197
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit ddf0292250dfb1040d3cad96fa2cf886fd65933c)

10 years agoMerge pull request #4275 from jeanchlopez/wip-11160-firefly
Yehuda Sadeh [Mon, 6 Apr 2015 17:24:06 +0000 (10:24 -0700)]
Merge pull request #4275 from jeanchlopez/wip-11160-firefly

rgw: shouldn't need to disable rgw_socket_path if frontend is configured

10 years agorgw: don't use rgw_socket_path if frontend is configured 4275/head
Yehuda Sadeh [Thu, 19 Mar 2015 03:49:13 +0000 (20:49 -0700)]
rgw: don't use rgw_socket_path if frontend is configured

Fixes: #11160
Backport: hammer, firefly

Previously if we wanted to use the tcp fcgi socket, we needed to clear
rgw_socket_path.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4247 from ceph/wip-11303
Josh Durgin [Wed, 1 Apr 2015 23:30:23 +0000 (16:30 -0700)]
Merge pull request #4247 from ceph/wip-11303

Fix do_autogen.sh so that -L is allowed

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoFix do_autogen.sh so that -L is allowed 4247/head
Alfredo Deza [Wed, 1 Apr 2015 23:10:33 +0000 (19:10 -0400)]
Fix do_autogen.sh so that -L is allowed

Signed-off-by: Alfredo Deza <adeza@redhat.com>
10 years agolibrbd: snap_remove should ignore -ENOENT errors 4245/head
Jason Dillaman [Mon, 16 Mar 2015 22:40:49 +0000 (18:40 -0400)]
librbd: snap_remove should ignore -ENOENT errors

If the attempt to deregister the snapshot from the parent
image fails with -ENOENT, ignore the error as it is safe
to assume that the child is not associated with the parent.

Fixes: #11113
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit cf8094942ccdba831e03e5a79451cfa5d78a135f)

10 years agolibrbd: get_parent_info should protect against invalid parent
Jason Dillaman [Mon, 16 Mar 2015 22:35:07 +0000 (18:35 -0400)]
librbd: get_parent_info should protect against invalid parent

get_parent_info should return -ENOENT if the image does not
have an associated parent image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 21afd0ef8e1fb81c5ace5fd403513c542e2413e3)

10 years agoPGLog: improve PGLog::check() debugging 4243/head 4382/head
Samuel Just [Mon, 2 Feb 2015 17:07:27 +0000 (09:07 -0800)]
PGLog: improve PGLog::check() debugging

Related: 10718
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit c656bcec2441c90b084ca50a17c37625d69942a1)

10 years agoPGLog::merge_log: in tail extend case, log.log might be empty
Samuel Just [Tue, 17 Mar 2015 17:07:03 +0000 (10:07 -0700)]
PGLog::merge_log: in tail extend case, log.log might be empty

Even if the tail != last_update, the log might be empty due to split
moving all entries into other logs.

Fixes: 10718
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit f5a2aef3db29b99634250fd388a0c2d9b9a23d38)

10 years agocls_rgw: use multimap to keep pending operations in bucket index 4571/head
Yehuda Sadeh [Tue, 31 Mar 2015 00:34:57 +0000 (17:34 -0700)]
cls_rgw: use multimap to keep pending operations in bucket index

Fixes: #11256
Multiple concurrent requests might be sent using the same tag, need the
entry map to be able to hold multiple entries.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: generate new tag for object when setting object attrs
Yehuda Sadeh [Fri, 27 Mar 2015 23:32:48 +0000 (16:32 -0700)]
rgw: generate new tag for object when setting object attrs

Fixes: #11256
Backport: firefly, hammer

Beforehand we were reusing the object's tag, which is problematic as
this tag is used for bucket index updates, and we might be clobbering a
racing update (like object removal).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agolibrbd: acquire cache_lock before refreshing parent 4206/head
Jason Dillaman [Mon, 16 Mar 2015 15:04:22 +0000 (11:04 -0400)]
librbd: acquire cache_lock before refreshing parent

cache_lock needs to be acquired before snap_lock to avoid
the potential for deadlock.

Fixes: #5488
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoReplicatedPG::promote_object: check scrubber and block if necessary 4185/head
Samuel Just [Fri, 20 Mar 2015 22:28:15 +0000 (15:28 -0700)]
ReplicatedPG::promote_object: check scrubber and block if necessary

Otherwise, we might attempt to promote into an in-progress scrub
interval causing 11156.  I would have added a return value to
promote_object(), but could not find an existing user which
cared to distinguish the cases, even with a null op passed.
All existing users are in maybe_handle_cache.  The ones which
pass a null op are for promoting the object in parallel
with a proxy -- a case where not actually performing the promote
does not really matter.

Fixes: #11156
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 65bb4df599541cd2e0f195b905f24f529e255c00)

10 years agoMerge pull request #4126 from dzafman/wip-11176-firefly
Loic Dachary [Mon, 23 Mar 2015 19:38:43 +0000 (20:38 +0100)]
Merge pull request #4126 from dzafman/wip-11176-firefly

ceph-objectstore-tool: Output only unsupported features when incomatible

Reviewed-by: Loic Dachary <ldachary@redhat.com>