]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoMerge pull request #3567 from dachary/wip-10307-rgw-giant
Loic Dachary [Tue, 10 Feb 2015 20:51:06 +0000 (21:51 +0100)]
Merge pull request #3567 from dachary/wip-10307-rgw-giant

rgw: use s->bucket_attrs instead of trying to read obj attrs

10 years agoMerge pull request #3443 from ceph/wip-10590-giant
Loic Dachary [Tue, 10 Feb 2015 20:50:34 +0000 (21:50 +0100)]
Merge pull request #3443 from ceph/wip-10590-giant

rbd: ensure aio_write buffer isn't invalidated during image import

10 years agoMerge pull request #3557 from dachary/wip-10688-boost-157-giant
Loic Dachary [Tue, 10 Feb 2015 20:50:14 +0000 (21:50 +0100)]
Merge pull request #3557 from dachary/wip-10688-boost-157-giant

support Boost 1.57.0

10 years agoMerge pull request #2954 from sponce/giant
Loic Dachary [Tue, 10 Feb 2015 20:49:47 +0000 (21:49 +0100)]
Merge pull request #2954 from sponce/giant

Fixed trivial locking issue in the trunc method of libradosstriper - Giant branch

10 years agoMerge pull request #3405 from ceph/wip-10299-giant
Loic Dachary [Tue, 10 Feb 2015 20:49:20 +0000 (21:49 +0100)]
Merge pull request #3405 from ceph/wip-10299-giant

librbd: complete all pending aio ops prior to closing image

10 years agoMerge pull request #3403 from ceph/wip-10270-giant
Loic Dachary [Tue, 10 Feb 2015 20:48:49 +0000 (21:48 +0100)]
Merge pull request #3403 from ceph/wip-10270-giant

librbd: gracefully handle deleted/renamed pools

10 years agoMerge pull request #3356 from liewegas/wip-msgr-giant
Loic Dachary [Tue, 10 Feb 2015 20:48:20 +0000 (21:48 +0100)]
Merge pull request #3356 from liewegas/wip-msgr-giant

msgr: fast dispatch backports for giant

10 years agofsync-tester: print info about PATH and locations of lsof lookup
Greg Farnum [Fri, 6 Feb 2015 05:12:17 +0000 (21:12 -0800)]
fsync-tester: print info about PATH and locations of lsof lookup

We're seeing the lsof invocation fail (as not found) in testing and nobody can
identify why. Since attempting to reproduce the issue has not worked, this
patch will gather data from a genuinely in-vitro location.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit a85051483874ff5b8b0fb50426a3577040457596)

10 years agorgw: use s->bucket_attrs instead of trying to read obj attrs 3567/head
Yehuda Sadeh [Sat, 13 Dec 2014 01:07:30 +0000 (17:07 -0800)]
rgw: use s->bucket_attrs instead of trying to read obj attrs

Fixes: #10307
Backport: firefly, giant

This is needed, since we can't really read the bucket attrs by trying to
read the bucket entry point attrs. We already have the bucket attrs
anyway, use these.

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

10 years agoosd: Cleanup boost optionals 3557/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 agosupport Boost 1.57.0
Petr Machata [Thu, 29 Jan 2015 17:15:02 +0000 (10:15 -0700)]
support Boost 1.57.0

Sometime after 1.55, boost introduced a forward declaration of
operator<< in optional.hpp. In 1.55 and earlier, when << was used
without the _io having been included, what got dumped was an implicit
bool conversion.

http://tracker.ceph.com/issues/10688 Refs: #10688
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit 85717394c33137eb703a7b88608ec9cf3287f67a)

Conflicts:
src/include/encoding.h
        trivial conflict

10 years agorgw: send http status reason explicitly in fastcgi
Yehuda Sadeh [Fri, 24 Oct 2014 00:39:42 +0000 (17:39 -0700)]
rgw: send http status reason explicitly in fastcgi

There are issues in certain versions of apache 2.4, where the reason is
not sent back. Instead, just provide the reason explicitly.

Backport: firefly, giant

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

10 years agorgw: fix partial GET in swift
Yehuda Sadeh [Fri, 16 Jan 2015 00:31:22 +0000 (16:31 -0800)]
rgw: fix partial GET in swift

Fixes: #10553
backport: firefly, giant

Don't set the ret code to reflect partial download, just set the
response status when needed.

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

10 years agoosd: handle no-op write with snapshot case
Sage Weil [Tue, 16 Dec 2014 01:04:32 +0000 (17:04 -0800)]
osd: handle no-op write with snapshot case

If we have a transaction that does something to the object but it !exists
both before and after, we will continue through the write path.  If the
snapdir object already exists, and we try to create it again, we will
leak a snapdir obc and lock and later crash on an assert when the obc
is destroyed:

0> 2014-12-06 01:49:51.750163 7f08d6ade700 -1 osd/osd_types.h: In function 'ObjectContext::~ObjectContext()' thread 7f08d6ade700 time 2014-12-06 01:49:51.605411
osd/osd_types.h: 2944: FAILED assert(rwstate.empty())

Fix is to not recreated the snapdir if it already exists.

Fixes: #10262
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 02fae9fc54c10b5a932102bac43f32199d4cb612)

10 years agoMerge pull request #3502 from ceph/wip-10382-giant
Gregory Farnum [Tue, 27 Jan 2015 17:40:16 +0000 (09:40 -0800)]
Merge pull request #3502 from ceph/wip-10382-giant

[giant backport] mds: handle heartbeat_reset during shutdown

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agomds: handle heartbeat_reset during shutdown 3502/head
John Spray [Wed, 14 Jan 2015 10:35:53 +0000 (10:35 +0000)]
mds: handle heartbeat_reset during shutdown

Because any thread might grab mds_lock and call heartbeat_reset
immediately after a call to suicide() completes, this needs
to be handled as a special case where we tolerate MDS::hb having
already been destroyed.

Fixes: #10382
Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoceph_test_rados_api_misc: do not assert rbd feature match
Sage Weil [Tue, 20 Jan 2015 02:28:20 +0000 (18:28 -0800)]
ceph_test_rados_api_misc: do not assert rbd feature match

This test fails on upgrades when we (or the server) have new
features.  Make it less fragile.

Fixes: #10576
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 9147c62989871cea8b3a85b02c53017825efb55b)

10 years agorbd: ensure aio_write buffer isn't invalidated during image import 3443/head
Jason Dillaman [Wed, 21 Jan 2015 19:55:02 +0000 (14:55 -0500)]
rbd: ensure aio_write buffer isn't invalidated during image import

The buffer provided to aio_write shouldn't be invalidated until
after aio_write has indicated that the operation has completed.

Fixes: #10590
Backport: giant
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit 4d3b49e9d62bc1040356ca3ebe7f90c181734eb6)

10 years agolibrbd: complete all pending aio ops prior to closing image 3405/head
Jason Dillaman [Mon, 15 Dec 2014 15:53:53 +0000 (10:53 -0500)]
librbd: complete all pending aio ops prior to closing image

It was possible for an image to be closed while aio operations
were still outstanding.  Now all aio operations are tracked and
completed before the image is closed.

Fixes: #10299
Backport: giant, firefly, dumpling
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: gracefully handle deleted/renamed pools 3403/head
Jason Dillaman [Mon, 19 Jan 2015 15:28:56 +0000 (10:28 -0500)]
librbd: gracefully handle deleted/renamed pools

snap_unprotect and list_children both attempt to scan all
pools. If a pool is deleted or renamed during the scan,
the methods would previously return -ENOENT. Both methods
have been modified to more gracefully handle this condition.

Fixes: #10270
Backport: giant, firefly
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agorgw: change multipart upload id magic
Yehuda Sadeh [Fri, 12 Dec 2014 13:24:01 +0000 (05:24 -0800)]
rgw: change multipart upload id magic

Fixes: #10271
Backport: firefly, giant

Some clients can't sign requests correctly with the original magic
prefix.

Reported-by: Georgios Dimitrakakis <giorgis@acmac.uoc.gr>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 5fc7a0be67a03ed63fcc8408f8d71a31a1841076)

10 years agorgw: url decode http query params correctly
Yehuda Sadeh [Thu, 11 Dec 2014 17:07:10 +0000 (09:07 -0800)]
rgw: url decode http query params correctly

Fixes: #10271
Backport: firefly

This got broken by the fix for #8702. Since we now only url_decode if
we're in query, we need to specify that we're in query when decoding
these args.

Reported-by: Georgios Dimitrakakis <giorgis@acmac.uoc.gr>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 21e07eb6abacb085f81b65acd706b46af29ffc03)

10 years agoqa: ignore duplicates in rados ls
Josh Durgin [Wed, 14 Jan 2015 23:01:38 +0000 (15:01 -0800)]
qa: ignore duplicates in rados ls

These can happen with split or with state changes due to reordering
results within the hash range requested. It's easy enough to filter
them out at this stage.

Backport: giant, firefly
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit e7cc6117adf653a4915fb7a75fac68f8fa0239ec)

10 years agoRevert "Objecter: disable fast dispatch of CEPH_MSG_OSD_OPREPLY messages" 3356/head
Sage Weil [Tue, 14 Oct 2014 19:42:40 +0000 (12:42 -0700)]
Revert "Objecter: disable fast dispatch of CEPH_MSG_OSD_OPREPLY messages"

This reverts commit 3f23709c474292f9239f77a6cce26309fc86ce29.

We have changed mark_down() behavior so that it no longer blocks on
fast dispatch.  This makes the objecter reply handler safe again.

Fixes: #9598
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit c9f9e72e558521cb90f90538bc27f995f82d76c2)

10 years agomsg/simple: do not stop_and_wait on mark_down
Sage Weil [Tue, 14 Oct 2014 19:41:48 +0000 (12:41 -0700)]
msg/simple: do not stop_and_wait on mark_down

We originally blocked in mark_down for fast dispatch threads
to complete to avoid various races in the code.  Most of these
were in the OSD itself, where we were not prepared to get
messges on connections that had no attached session.  Since
then, the OSD checks have been cleaned up to handle this.
There were other races we were worried about too, but the
details have been lost in the depths of time.

Instead, take the other route: make mark_down never block on
dispatch.  This lets us remove the special case that
was added in order to cope with fast dispatch calling
mark_down on itself.

Now, the only stop_and_wait() user is the shutdown sequence.

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

10 years agomsg/Pipe: inject delay in stop_and_wait
Sage Weil [Fri, 31 Oct 2014 23:25:09 +0000 (16:25 -0700)]
msg/Pipe: inject delay in stop_and_wait

Inject a delay in stop_and_wait.  This will mostly affect the connection
race Pipe takeover code which currently calls stop_and_wait while holding
the msgr->lock.  This should make it easier for a racing fast_dispatch
method to get stuck on a call that (indirectly) needs the msgr lock.
See #9921.

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

10 years agoSimpleMessenger: Pipe: do not block on takeover while holding global lock
Greg Farnum [Tue, 28 Oct 2014 23:45:43 +0000 (16:45 -0700)]
SimpleMessenger: Pipe: do not block on takeover while holding global lock

We previously were able to cause deadlocks:
1) Existing pipe is fast_dispatching
2) Replacement incoming pipe is accepted
  *) blocks on stop_and_wait() of existing Pipe
3) External things are blocked on SimpleMessenger::lock() while
  blocking completion of the fast dispatch.

To resolve this, if we detect that an existing Pipe we want to take over is
in the process of fast dispatching, we unlock our locks and wait on it to
finish. Then we go back to the lookup step and retry.

The effect of this should be safe:
1) We are not making any changes to the existing Pipe in new ways
2) We have not registered the new Pipe anywhere
3) We have not sent back any replies based on Messenger state to
   the remote endpoint.

Backport: giant
Fixes: #9921
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 2d6980570af2226fdee0edfcfe5a8e7f60fae615)

10 years agoosd: requeue PG when we skip handling a peering event
Sage Weil [Thu, 8 Jan 2015 21:34:52 +0000 (13:34 -0800)]
osd: requeue PG when we skip handling a peering event

If we don't handle the event, we need to put the PG back into the peering
queue or else the event won't get processed until the next event is
queued, at which point we'll be processing events with a delay.

The queue_null is not necessary (and is a waste of effort) because the
event is still in pg->peering_queue and the PG is queued.

Note that this only triggers when we exceeed osd_map_max_advance, usually
when there is a lot of peering and recovery activity going on.  A
workaround is to increase that value, but if you exceed osd_map_cache_size
you expose yourself to crache thrashing by the peering work queue, which
can cause serious problems with heavily degraded clusters and bit lots of
people on dumpling.

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

10 years agoIf trusty, use older version of qemu
Warren Usui [Fri, 19 Dec 2014 04:00:28 +0000 (20:00 -0800)]
If trusty, use older version of qemu

Fixes #10319
Signed-off-by: Warren Usui <warren.usui@inktank.com>
(cherry-picked from 46a1a4cb670d30397979cd89808a2e420cef2c11)

10 years agoMerge pull request #3266 from ceph/giant-10415
Sage Weil [Mon, 29 Dec 2014 18:55:22 +0000 (10:55 -0800)]
Merge pull request #3266 from ceph/giant-10415

libcephfs/test.cc: close fd before umount

10 years agolibcephfs/test.cc: close fd before umount 3266/head
Yan, Zheng [Tue, 23 Dec 2014 02:22:00 +0000 (10:22 +0800)]
libcephfs/test.cc: close fd before umount

Fixes: #10415
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit d3fb563cee4c4cf08ff4ee01782e52a100462429)

10 years agoRemove sepia dependency (use fqdn)
Warren Usui [Wed, 17 Dec 2014 06:01:26 +0000 (22:01 -0800)]
Remove sepia dependency (use fqdn)

Fixes: #10255
Signed-off-by: Warren Usui <warren.usui@inktank.com>
(cherry picked from commit 19dafe164833705225e168a686696fb4e170aba7)

10 years agoMerge pull request #3159 from ceph/wip-10229-giant
Gregory Farnum [Fri, 12 Dec 2014 01:03:07 +0000 (17:03 -0800)]
Merge pull request #3159 from ceph/wip-10229-giant

osdc/Filer: use finisher to execute C_Probe and C_PurgeRange [giant backport]

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoosdc/Filer: use finisher to execute C_Probe and C_PurgeRange 3159/head
Yan, Zheng [Thu, 4 Dec 2014 04:18:47 +0000 (12:18 +0800)]
osdc/Filer: use finisher to execute C_Probe and C_PurgeRange

Currently contexts C_Probe/C_PurgeRange are executed while holding
OSDSession::completion_lock. C_Probe and C_PurgeRange may call
Objecter::stat() and Objecter::remove() respectively, which acquire
Objecter::rwlock. This can cause deadlock because there is intermediate
dependency between Objecter::rwlock and OSDSession::completion_lock:

 Objecter::rwlock -> OSDSession::lock -> OSDSession::completion_lock

The fix is exexcute C_Probe/C_PurgeRange in finisher thread.

Fixes: #10229
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit d3ee89ace660161df7796affbf9a70f3d0dedce1)

10 years agoMerge pull request #3151 from ceph/wip-10288-giant
Gregory Farnum [Thu, 11 Dec 2014 18:47:38 +0000 (10:47 -0800)]
Merge pull request #3151 from ceph/wip-10288-giant

mon: fix `fs ls` on peons [giant backport]

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agomon: fix `fs ls` on peons 3151/head
John Spray [Thu, 11 Dec 2014 14:00:57 +0000 (14:00 +0000)]
mon: fix `fs ls` on peons

This was incorrectly using pending_mdsmap instead
of mdsmap.  We didn't notice in test because of
single-mon configurations.

Fixes: #10288
Backport: giant

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 5559e6aea9e9374ecdac0351777dfd6f5f5d1e67)

10 years agoMerge pull request #3010 from dachary/wip-10018-primary-erasure-code-hinfo-giant
Samuel Just [Mon, 8 Dec 2014 21:19:20 +0000 (13:19 -0800)]
Merge pull request #3010 from dachary/wip-10018-primary-erasure-code-hinfo-giant

osd: deep scrub must not abort if hinfo is missing (giant)

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3110 from ceph/giant-10263
Gregory Farnum [Mon, 8 Dec 2014 20:36:48 +0000 (12:36 -0800)]
Merge pull request #3110 from ceph/giant-10263

mds: store backtrace for straydir

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agomds: store backtrace for straydir 3110/head
Yan, Zheng [Fri, 7 Nov 2014 03:38:37 +0000 (11:38 +0800)]
mds: store backtrace for straydir

Backport: giant, firefly, emperor, dumpling
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 0d89db5d3e5ae5d552d4058a88a4e186748ab1d2)

10 years agoMerge pull request #3088 from dachary/wip-10063-hobject-shard-giant
Sage Weil [Sat, 6 Dec 2014 19:06:20 +0000 (11:06 -0800)]
Merge pull request #3088 from dachary/wip-10063-hobject-shard-giant

common: do not omit shard when ghobject NO_GEN is set (giant)

10 years agoMerge pull request #3095 from dachary/wip-9785-dmcrypt-keys-permissions-giant
Sage Weil [Sat, 6 Dec 2014 01:33:12 +0000 (17:33 -0800)]
Merge pull request #3095 from dachary/wip-9785-dmcrypt-keys-permissions-giant

ceph-disk: dmcrypt file permissions (giant)

10 years agoMerge pull request #3006 from dachary/wip-9420-erasure-code-non-regression-giant
Sage Weil [Sat, 6 Dec 2014 01:30:31 +0000 (17:30 -0800)]
Merge pull request #3006 from dachary/wip-9420-erasure-code-non-regression-giant

 erasure-code: store and compare encoded contents (giant)

10 years agoceph-disk: dmcrypt file permissions 3095/head
Loic Dachary [Thu, 4 Dec 2014 21:21:32 +0000 (22:21 +0100)]
ceph-disk: dmcrypt file permissions

The directory in which key files are stored for dmcrypt must be 700 and
the file 600.

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

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

10 years agoMerge pull request #3085 from dachary/wip-10125-radosgw-init-giant
Sage Weil [Fri, 5 Dec 2014 17:03:54 +0000 (09:03 -0800)]
Merge pull request #3085 from dachary/wip-10125-radosgw-init-giant

rgw: run radosgw as apache with systemd (giant)

10 years agocommon: do not omit shard when ghobject NO_GEN is set 3088/head
Loic Dachary [Fri, 14 Nov 2014 00:16:10 +0000 (01:16 +0100)]
common: do not omit shard when ghobject NO_GEN is set

Do not silence the display of shard_id when generation is NO_GEN.
Erasure coded objects JSON representation used by ceph_objectstore_tool
need the shard_id to find the file containing the chunk.

Minimal testing is added to ceph_objectstore_tool.py

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

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

10 years agorgw: run radosgw as apache with systemd 3085/head
Loic Dachary [Tue, 2 Dec 2014 17:10:48 +0000 (18:10 +0100)]
rgw: run radosgw as apache with systemd

Same as sysv.

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

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

Conflicts:
src/init-radosgw.sysv

10 years agoMerge pull request #3077 from ceph/wip-10030-giant
Josh Durgin [Thu, 4 Dec 2014 19:32:01 +0000 (11:32 -0800)]
Merge pull request #3077 from ceph/wip-10030-giant

librbd: don't close an already closed parent image upon failure

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3062 from ceph/wip-10123-giant
Sage Weil [Thu, 4 Dec 2014 07:02:43 +0000 (23:02 -0800)]
Merge pull request #3062 from ceph/wip-10123-giant

librbd: protect list_children from invalid child pool IoCtxs

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3055 from ceph/wip-10135-giant
Gregory Farnum [Wed, 3 Dec 2014 14:44:56 +0000 (06:44 -0800)]
Merge pull request #3055 from ceph/wip-10135-giant

mon: OSDMonitor: allow adding tiers to FS pools

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agomon: OSDMonitor: allow adding tiers to FS pools 3055/head
John Spray [Tue, 25 Nov 2014 16:54:42 +0000 (16:54 +0000)]
mon: OSDMonitor: allow adding tiers to FS pools

This was an overly-strict check.  In fact it is perfectly
fine to set an overlay on a pool that is already in use
as a filesystem data or metadata pool.

Fixes: #10135
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 17b5fc9a40440e76dd1fa64f7fc19577ae3b58ce)

10 years agolibrbd: don't close an already closed parent image upon failure 3077/head
Jason Dillaman [Thu, 6 Nov 2014 10:01:38 +0000 (05:01 -0500)]
librbd: don't close an already closed parent image upon failure

If librbd is not able to open a child's parent image, it will
incorrectly close the parent image twice, resulting in a crash.

Fixes: #10030
Backport: firefly, giant
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 61ebfebd59b61ffdc203dfeca01ee1a02315133e)

10 years agoMerge pull request #2990 from ceph/wip-10151-giant
John Spray [Tue, 2 Dec 2014 11:35:59 +0000 (11:35 +0000)]
Merge pull request #2990 from ceph/wip-10151-giant

mon: fix MDS health status from peons

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agolibrbd: protect list_children from invalid child pool IoCtxs 3062/head
Jason Dillaman [Tue, 18 Nov 2014 02:49:26 +0000 (21:49 -0500)]
librbd: protect list_children from invalid child pool IoCtxs

While listing child images, don't ignore error codes returned
from librados when creating an IoCtx. This will prevent seg
faults from occurring when an invalid IoCtx is used.

Fixes: #10123
Backport: giant, firefly, dumpling
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 0d350b6817d7905908a4e432cd359ca1d36bab50)

10 years agoMerge pull request #3047 from ceph/wip-10011-giant
Gregory Farnum [Tue, 2 Dec 2014 01:59:19 +0000 (17:59 -0800)]
Merge pull request #3047 from ceph/wip-10011-giant

osdc: fix Journaler write error handling [giant backport]

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoosdc: fix Journaler write error handling 3047/head
John Spray [Thu, 6 Nov 2014 11:46:29 +0000 (11:46 +0000)]
osdc: fix Journaler write error handling

Since we started wrapping the write error
handler in a finisher, multiple calls to
handle_write_error would hit the assert()
on the second call before the actual
handler had been called (at the other end
of the finisher) from the first call.

The symptom was that the MDS was intermittently
failing to respawn on blacklist, seen in #10011.

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 762eda88a18ba707bd5410f38e21e95c4a6b3a46)

10 years agoMerge pull request #3005 from dachary/wip-9665-ceph-disk-partprobe-giant
Sage Weil [Wed, 26 Nov 2014 05:18:59 +0000 (21:18 -0800)]
Merge pull request #3005 from dachary/wip-9665-ceph-disk-partprobe-giant

ceph disk zap must call partprobe

10 years agoosd: deep scrub must not abort if hinfo is missing 3010/head
Loic Dachary [Thu, 6 Nov 2014 16:11:20 +0000 (17:11 +0100)]
osd: deep scrub must not abort if hinfo is missing

Instead it should set read_error.

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

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

10 years agoerasure-code: erasure_code_benchmark exhaustive erasure exploration 3006/head
Loic Dachary [Thu, 25 Sep 2014 12:46:07 +0000 (14:46 +0200)]
erasure-code: erasure_code_benchmark exhaustive erasure exploration

Add the --erasure-generation exhaustive flag to try all combinations of
erasures, not just one at random.

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

Conflicts:
src/test/erasure-code/ceph_erasure_code_benchmark.h

10 years agoerasure-code: add erasure_code_benchmark --verbose
Loic Dachary [Mon, 29 Sep 2014 09:17:13 +0000 (11:17 +0200)]
erasure-code: add erasure_code_benchmark --verbose

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

Conflicts:
src/test/erasure-code/ceph_erasure_code_benchmark.cc
src/test/erasure-code/ceph_erasure_code_benchmark.h

10 years agoerasure_code: implement ceph_erasure_code to assert the existence of a plugin
Loic Dachary [Tue, 23 Sep 2014 12:37:57 +0000 (14:37 +0200)]
erasure_code: implement ceph_erasure_code to assert the existence of a plugin

This is handy when scripting in the context of teuthology and only
conditionally run tests for the isa plugin, for instance.

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

10 years agoerasure-code: ceph_erasure_code does not need to avoid dlclose
Loic Dachary [Tue, 23 Sep 2014 12:36:08 +0000 (14:36 +0200)]
erasure-code: ceph_erasure_code does not need to avoid dlclose

The only reason for not dlclosing plugins at exit is for callgrind but
ceph_erasure_code has no workload that would require callgrind.

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

10 years agoerasure-code: add corpus verification to make check
Loic Dachary [Tue, 23 Sep 2014 09:38:09 +0000 (11:38 +0200)]
erasure-code: add corpus verification to make check

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

10 years agoerasure-code: Makefile.am cosmetics
Loic Dachary [Sat, 13 Sep 2014 10:58:27 +0000 (12:58 +0200)]
erasure-code: Makefile.am cosmetics

Cluster benchmark related lines together.

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

10 years agoerasure-code: s/alignement/alignment/ typos in jerasure
Loic Dachary [Sat, 13 Sep 2014 10:55:26 +0000 (12:55 +0200)]
erasure-code: s/alignement/alignment/ typos in jerasure

The jerasure-per-chunk-alignment prameter was mispelled and while
useable that would lead to confusion.

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

10 years agoerasure-code: workunit to check for encoding regression
Loic Dachary [Sat, 13 Sep 2014 11:36:09 +0000 (13:36 +0200)]
erasure-code: workunit to check for encoding regression

Clone the archive of encoded objects and decode all archived objects, up
to and including the current ceph version.

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

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

10 years agoerasure-code: store and compare encoded contents
Loic Dachary [Sat, 13 Sep 2014 08:16:31 +0000 (10:16 +0200)]
erasure-code: store and compare encoded contents

Introduce ceph_erasure_code_non_regression to check and compare how an
erasure code plugin encodes and decodes content with a given set of
parameters. For instance:

./ceph_erasure_code_non_regression \
      --plugin jerasure \
      --parameter technique=reed_sol_van \
      --parameter k=2 \
      --parameter m=2 \
      --stripe-width 3181 \
      --create \
      --check

Will create an encoded object (--create) and store it into a directory
along with the chunks, one chunk per file. The directory name is derived
from the parameters. The content of the object is a random pattern of 31
bytes repeated to fill the object size specified with --stripe-width.

The check function (--check) reads the object back from the file,
encodes it and compares the result with the content of the chunks read
from the files. It also attempts recover from one or two erasures.

Chunks encoded by a given version of Ceph are expected to be encoded
exactly in the same way by all Ceph versions going forward.

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

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

10 years agoceph-disk: run partprobe after zap 3005/head
Loic Dachary [Thu, 9 Oct 2014 16:52:17 +0000 (18:52 +0200)]
ceph-disk: run partprobe after zap

Not running partprobe after zapping a device can lead to the following:

* ceph-disk prepare /dev/loop2
* links are created in /dev/disk/by-partuuid
* ceph-disk zap /dev/loop2
* links are not removed from /dev/disk/by-partuuid
* ceph-disk prepare /dev/loop2
* some links are not created in /dev/disk/by-partuuid

This is assuming there is a bug in the way udev events are handled by
the operating system.

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

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

10 years agoceph-disk: use update_partition in prepare_dev and main_prepare
Loic Dachary [Fri, 10 Oct 2014 08:26:31 +0000 (10:26 +0200)]
ceph-disk: use update_partition in prepare_dev and main_prepare

In the case of prepare_dev the partx alternative was missing and is not
added because update_partition does it.

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

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

10 years agoceph-disk: encapsulate partprobe / partx calls
Loic Dachary [Fri, 10 Oct 2014 08:23:34 +0000 (10:23 +0200)]
ceph-disk: encapsulate partprobe / partx calls

Add the update_partition function to reduce code duplication.
The action is made an argument although it always is -a because it will
be -d when deleting a partition.

Use the update_partition function in prepare_journal_dev

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

10 years agomon: fix MDS health status from peons 2990/head
John Spray [Mon, 24 Nov 2014 11:00:25 +0000 (11:00 +0000)]
mon: fix MDS health status from peons

The health data was there, but we were attempting
to enumerate MDS GIDs from pending_mdsmap (empty on
peons) instead of mdsmap (populated from paxos updates)

Fixes: #10151
Backport: giant

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 0c33930e3a90f3873b7c7b18ff70dec2894fce29)

Conflicts:
src/mon/MDSMonitor.cc

10 years agoMerge pull request #2975 from ceph/wip-9936-giant
Josh Durgin [Thu, 20 Nov 2014 21:13:33 +0000 (13:13 -0800)]
Merge pull request #2975 from ceph/wip-9936-giant

rbd: Fix the rbd export when image size more than 2G

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #2963 from ceph/wip-10114-giant
Loic Dachary [Wed, 19 Nov 2014 01:40:47 +0000 (02:40 +0100)]
Merge pull request #2963 from ceph/wip-10114-giant

Wip 10114 giant

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #2958 from ceph/wip-10128-giant
David Zafman [Tue, 18 Nov 2014 23:48:16 +0000 (15:48 -0800)]
Merge pull request #2958 from ceph/wip-10128-giant

ceph_objectstore_tool: When exporting to stdout, don't cout messages

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoerasure-code isa-l: remove duplicated lines (fix warning) 2963/head
Dan Mick [Tue, 18 Nov 2014 23:21:30 +0000 (15:21 -0800)]
erasure-code isa-l: remove duplicated lines (fix warning)

06a245a added a section def to assembly files; I added it twice to
this file.  There's no damage, but a compiler warning (on machines with
yasm installed)

Signed-off-by: Dan Mick <dan.mick@redhat.com>
(cherry picked from commit 10f6ef185a9d09e396e94036ec90bfe8a0738ce9)

10 years agoAdd annotation to all assembly files to turn off stack-execute bit
Dan Mick [Sat, 15 Nov 2014 01:59:57 +0000 (17:59 -0800)]
Add annotation to all assembly files to turn off stack-execute bit

See discussion in http://tracker.ceph.com/issues/10114

Building with these changes allows output from readelf like this:

 $ readelf -lW src/.libs/librados.so.2 | grep GNU_STACK
  GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000
0x000000 RW  0x8

(note the absence of 'X' in 'RW')

Fixes: #10114
Signed-off-by: Dan Mick <dan.mick@redhat.com>
(cherry picked from commit 06a245a9845c0c126fb3106b41b2fd2bc4bc4df3)

10 years agoceph_objectstore_tool: When exporting to stdout, don't cout messages 2957/head 2958/head
David Zafman [Tue, 18 Nov 2014 07:02:50 +0000 (23:02 -0800)]
ceph_objectstore_tool: When exporting to stdout, don't cout messages

Fixes: #10128
Caused by a2bd2aa7

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 0d5262ac2f69ed3996af76a72894b1722a27b37d)

10 years agoFixed locking issue in the trun method of libradosstriper leading to potential race... 2954/head
Sebastien Ponce [Tue, 18 Nov 2014 09:30:36 +0000 (10:30 +0100)]
Fixed locking issue in the trun method of libradosstriper leading to potential race conditions - Fixes: #10129

Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
(cherry picked from commit 8613984373de946e1815cc84d50bbd4437a3f7a7)

10 years agorbd: Fix the rbd export when image size more than 2G 2975/head
Vicente Cheng [Wed, 29 Oct 2014 04:21:11 +0000 (12:21 +0800)]
rbd: Fix the rbd export when image size more than 2G

When using export <image-name> <path> and the size of image is more
than 2G, the previous version about finish() could not handle in
seeking the offset in image and return error.

This is caused by the incorrect variable type. Try to use the correct
variable type to fixed it.

I use another variable which type is uint64_t for confirming seeking
and still use the previous r for return error.

uint64_t is more better than type int for handle lseek64().

Signed-off-by: Vicente Cheng <freeze.bilsted@gmail.com>
(cherry picked from commit 4b87a81c86db06f6fe2bee440c65fc05cd4c23ce)

10 years agoosd/OSD: use OSDMap helper to determine if we are correct op target
Sage Weil [Thu, 13 Nov 2014 01:11:10 +0000 (17:11 -0800)]
osd/OSD: use OSDMap helper to determine if we are correct op target

Use the new helper.  This fixes our behavior for EC pools where targetting
a different shard is not correct, while for replicated pools it may be. In
the EC case, it leaves the op hanging indefinitely in the OpTracker because
the pgid exists but as a different shard.

Fixes: #9835
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 9e05ba086a36ae9a04b347153b685c2b8adac2c3)

10 years agoosd/OSDMap: add osd_is_valid_op_target()
Sage Weil [Thu, 13 Nov 2014 01:04:35 +0000 (17:04 -0800)]
osd/OSDMap: add osd_is_valid_op_target()

Helper to check whether an osd is a given op target for a pg.  This
assumes that for EC we always send ops to the primary, while for
replicated we may target any replica.

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

10 years agoqa: allow small allocation diffs for exported rbds
Josh Durgin [Wed, 12 Nov 2014 02:16:02 +0000 (18:16 -0800)]
qa: allow small allocation diffs for exported rbds

The local filesytem may behave slightly differently. This isn't
foolproof, but seems to be reliable enough on rhel7 rootfs, where
exact comparison was failing.

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

10 years agocommon: Add cctid meta variable
Adam Crume [Thu, 18 Sep 2014 23:57:27 +0000 (16:57 -0700)]
common: Add cctid meta variable

Fixes: #6228
Signed-off-by: Adam Crume <adamcrume@gmail.com>
(cherry picked from commit bb45621cb117131707a85154292a3b3cdd1c662a)

10 years agoMerge pull request #2804 from ceph/wip-9301-giant
Sage Weil [Tue, 11 Nov 2014 16:28:19 +0000 (08:28 -0800)]
Merge pull request #2804 from ceph/wip-9301-giant

mon: backport paxos off-by-one bug (9301) to giant

10 years agoMerge pull request #2887 from ceph/wip-9977-backport
Gregory Farnum [Tue, 11 Nov 2014 06:41:19 +0000 (22:41 -0800)]
Merge pull request #2887 from ceph/wip-9977-backport

tools: skip up to expire_pos in journal-tool

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoclient: trim unused inodes before reconnecting to recovering MDS
Yan, Zheng [Thu, 11 Sep 2014 01:36:44 +0000 (09:36 +0800)]
client: trim unused inodes before reconnecting to recovering MDS

So the recovering MDS does not need to fetch these ununsed inodes during
cache rejoin. This may reduce MDS recovery time.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 2bd7ceeff53ad0f49d5825b6e7f378683616dffb)

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoclient: allow xattr caps in inject_release_failure
John Spray [Mon, 27 Oct 2014 12:02:17 +0000 (12:02 +0000)]
client: allow xattr caps in inject_release_failure

Because some test environments generate spurious
rmxattr operations, allow the client to release
'X' caps.  Allows xattr operations to proceed
while still preventing client releasing other caps.

Fixes: #9800
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 5691c68a0a44eb2cdf0afb3f39a540f5d42a5c0c)

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agotools: skip up to expire_pos in journal-tool 2887/head
John Spray [Mon, 3 Nov 2014 19:19:45 +0000 (19:19 +0000)]
tools: skip up to expire_pos in journal-tool

Previously worked for journals starting from an
object boundary (i.e. freshly created filesystems)

Fixes: #9977
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 65c33503c83ff8d88781c5c3ae81d88d84c8b3e4)

Conflicts:
src/tools/cephfs/JournalScanner.cc

10 years agoMerge pull request #2876 from ceph/giant-readdir-fix
Gregory Farnum [Sat, 8 Nov 2014 00:26:54 +0000 (16:26 -0800)]
Merge pull request #2876 from ceph/giant-readdir-fix

Giant readdir fix

10 years agoMerge pull request #2879 from ceph/wip-10025-giant
Gregory Farnum [Fri, 7 Nov 2014 22:10:40 +0000 (14:10 -0800)]
Merge pull request #2879 from ceph/wip-10025-giant

#10025/giant -- tools: fix MDS journal import

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agotools: fix MDS journal import 2879/head
John Spray [Fri, 7 Nov 2014 11:34:43 +0000 (11:34 +0000)]
tools: fix MDS journal import

Previously it only worked on fresh filesystems which
hadn't been trimmed yet, and resulted in an invalid
trimmed_pos when expire_pos wasn't on an object
boundary.

Fixes: #10025
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit fb29e71f9a97c12354045ad2e128156e503be696)

10 years agoclient: fix I_COMPLETE_ORDERED checking 2876/head
Yan, Zheng [Mon, 27 Oct 2014 20:57:16 +0000 (13:57 -0700)]
client: fix I_COMPLETE_ORDERED checking

Current code marks a directory inode as complete and ordered when readdir
finishes, but it does not check if the directory was modified in the middle
of readdir. This is wrong, directory inode should not be marked as ordered
if it was modified during readddir

The fix is introduce a new counter to the inode data struct, we increase
the counter each time the directory is modified. When readdir finishes, we
check the counter to decide if the directory should be marked as ordered.

Fixes: #9894
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit a4caed8a53d011b214ab516090676641f7c4699d)

10 years agoclient: preserve ordering of readdir result in cache
Yan, Zheng [Tue, 9 Sep 2014 09:34:46 +0000 (17:34 +0800)]
client: preserve ordering of readdir result in cache

Preserve ordering of readdir result in a list, so that the result of cached
readdir is consistant with uncached readdir.

As a side effect, this commit also removes the code that removes stale dentries.
This is OK because stale dentries does not have valid lease, they will be
filter out by the shared gen check in Client::_readdir_cache_cb()

Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 346c06c1647658768e927a47768a0bc74de17b53)

10 years agoclient: introduce a new flag indicating if dentries in directory are sorted
Yan, Zheng [Tue, 9 Sep 2014 06:06:06 +0000 (14:06 +0800)]
client: introduce a new flag indicating if dentries in directory are sorted

When creating a file, Client::insert_dentry_inode() set the dentry's offset
based on directory's max offset. The offset does not reflect the real
postion of the dentry in directory. Later readdir reply from real postion
of the dentry in directory. Later readdir reply from MDS may change the
dentry's position/offset. This inconsistency can cause missing/duplicate
entries in readdir result if readdir is partly satisfied by dcache_readdir().

The fix is introduce a new flag indicating if dentries in directory are
sorted. We use _readdir_cache_cb() to handle readdir only when the flag is
set, clear the flag after creating/deleting/renaming file.

Fixes: #9178
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 600af25493947871c38214aa370e2544a7fea399)

10 years agoqa: use sudo even more when rsyncing /usr
Greg Farnum [Fri, 7 Nov 2014 01:48:01 +0000 (17:48 -0800)]
qa: use sudo even more when rsyncing /usr

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 3aa7797741f9cff06053a2f31550fe6929039692)

10 years agoMerge pull request #2858 from ceph/wip-9909
Loic Dachary [Wed, 5 Nov 2014 07:51:18 +0000 (08:51 +0100)]
Merge pull request #2858 from ceph/wip-9909

tools: rados put /dev/null should write() and not create()

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
10 years agotools: rados put /dev/null should write() and not create() 2858/head
Loic Dachary [Thu, 2 Oct 2014 07:23:55 +0000 (09:23 +0200)]
tools: rados put /dev/null should write() and not create()

In the rados.cc special case to handle put an empty objects, use
write_full() instead of create().

A special case was introduced 6843a0b81f10125842c90bc63eccc4fd873b58f2
to create() an object if the rados put file is empty. Prior to this fix
an attempt to rados put an empty file was a noop. The problem with this
fix is that it is not idempotent. rados put an empty file twice would
fail the second time and rados put a file with one byte would succeed as
expected.

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

10 years agorgw: set length for keystone token validation request
Yehuda Sadeh [Thu, 9 Oct 2014 17:20:27 +0000 (10:20 -0700)]
rgw: set length for keystone token validation request

Fixes: #7796
Backport: giany, firefly
Need to set content length to this request, as the server might not
handle a chunked request (even though we don't send anything).

Tested-by: Mark Kirkwood <mark.kirkwood@catalyst.net.nz>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 3dd4ccad7fe97fc16a3ee4130549b48600bc485c)

10 years agoMerge pull request #2846 from dachary/wip-9752-past-intervals-giant
Sage Weil [Fri, 31 Oct 2014 15:35:42 +0000 (08:35 -0700)]
Merge pull request #2846 from dachary/wip-9752-past-intervals-giant

osd: past_interval display bug on acting

10 years agoosd: past_interval display bug on acting 2846/head
Loic Dachary [Thu, 30 Oct 2014 23:49:21 +0000 (00:49 +0100)]
osd: past_interval display bug on acting

The acting array was incorrectly including the primary and up_primary.

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

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

10 years agoMerge pull request #2841 from ceph/giant-9869
Yan, Zheng [Fri, 31 Oct 2014 00:01:12 +0000 (17:01 -0700)]
Merge pull request #2841 from ceph/giant-9869

Backport "client: cast m->get_client_tid() to compare to 16-bit Inode::flushing_cap_tid"