]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
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 ago0.80.9 v0.80.9
Jenkins [Mon, 9 Mar 2015 17:42:08 +0000 (10:42 -0700)]
0.80.9

10 years agoMerge pull request #3852 from dachary/wip-10965-rgw-firefly
Loic Dachary [Tue, 3 Mar 2015 14:58:53 +0000 (15:58 +0100)]
Merge pull request #3852 from dachary/wip-10965-rgw-firefly

rgw: enable ipv6 in civetweb

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3853 from dachary/wip-10907-rgw-firefly
Loic Dachary [Tue, 3 Mar 2015 14:58:39 +0000 (15:58 +0100)]
Merge pull request #3853 from dachary/wip-10907-rgw-firefly

rgw: pass civetweb configurables to civetweb

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3851 from dachary/wip-10978-rgw-firefly
Loic Dachary [Tue, 3 Mar 2015 14:58:25 +0000 (15:58 +0100)]
Merge pull request #3851 from dachary/wip-10978-rgw-firefly

rgw: don't overwrite bucket / object owner when setting acls

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agorgw: don't overwrite bucket / object owner when setting acls 3851/head
Yehuda Sadeh [Fri, 27 Feb 2015 23:32:50 +0000 (15:32 -0800)]
rgw: don't overwrite bucket / object owner when setting acls

Fixes: #10978
Backport: hammer, firefly

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

Conflicts:
src/rgw/rgw_op.cc : trivial s/.empty()/== NULL/

10 years agorgw: pass civetweb configurables to civetweb 3853/head
Yehuda Sadeh [Tue, 17 Feb 2015 23:05:40 +0000 (15:05 -0800)]
rgw: pass civetweb configurables to civetweb

Fixes: #10907
Backport: firefly

Pass any configurables in the rgw frontends config line to civetweb.

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

10 years agocivetweb: update submodule 3852/head
Yehuda Sadeh [Fri, 27 Feb 2015 16:14:27 +0000 (08:14 -0800)]
civetweb: update submodule

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

10 years agorgw: update makefile to enable civetweb config
Yehuda Sadeh [Fri, 27 Feb 2015 16:14:41 +0000 (08:14 -0800)]
rgw: update makefile to enable civetweb config

Fixes: #10965
Backport: hammer, firefly

Civetweb compilation now includes conf header to enable ipv6.

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

Conflicts:
src/rgw/Makefile.am
           radosgw_CFLAGS = -Icivetweb/include
        was not yet changed into
           radosgw_CFLAGS = -I$(srcdir)/civetweb/include
        in firefly

10 years agoMerge pull request #3820 from tchaikov/firefly-pg-leak-10421
Loic Dachary [Sat, 28 Feb 2015 15:47:55 +0000 (16:47 +0100)]
Merge pull request #3820 from tchaikov/firefly-pg-leak-10421

osd: fix PG leak in SnapTrimWQ._clear()

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3772 from ceph/wip-10883-firefly
Loic Dachary [Sat, 28 Feb 2015 15:46:42 +0000 (16:46 +0100)]
Merge pull request #3772 from ceph/wip-10883-firefly

osd: Fix FileJournal wrap to get header out first

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3521 from dzafman/wip-10676
Loic Dachary [Sat, 28 Feb 2015 15:45:48 +0000 (16:45 +0100)]
Merge pull request #3521 from dzafman/wip-10676

Backport doc fixes that appear to apply to firefly

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoosd: fix PG leak in SnapTrimWQ._clear() 3820/head
Kefu Chai [Tue, 10 Feb 2015 08:29:45 +0000 (16:29 +0800)]
osd: fix PG leak in SnapTrimWQ._clear()

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

10 years agoMerge pull request #3730 from ceph/wip-firefly-flock
Gregory Farnum [Thu, 26 Feb 2015 23:59:24 +0000 (15:59 -0800)]
Merge pull request #3730 from ceph/wip-firefly-flock

backport ceph-fuse file locking patches to Firefly

Reviewed-by: Yan, Zheng <zyan@redhat.com>
10 years agoMerge pull request #3406 from ceph/wip-10299-firefly
Josh Durgin [Thu, 26 Feb 2015 22:18:10 +0000 (14:18 -0800)]
Merge pull request #3406 from ceph/wip-10299-firefly

librbd: complete all pending aio ops prior to closing image

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agolibrbd: complete all pending aio ops prior to closing image 3406/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 agoMerge pull request #3404 from ceph/wip-10270-firefly
Josh Durgin [Thu, 26 Feb 2015 22:12:29 +0000 (14:12 -0800)]
Merge pull request #3404 from ceph/wip-10270-firefly

librbd: gracefully handle deleted/renamed pools

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3410 from ceph/wip-9854-firefly
Josh Durgin [Thu, 26 Feb 2015 21:31:37 +0000 (13:31 -0800)]
Merge pull request #3410 from ceph/wip-9854-firefly

osdc: Constrain max number of in-flight read requests

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoosd: Fix FileJournal wrap to get header out first 3772/head
David Zafman [Thu, 19 Feb 2015 00:21:12 +0000 (16:21 -0800)]
osd: Fix FileJournal wrap to get header out first

Correct and restore assert that was removed

Cause by f46b1b473fce0322a672b16c7739e569a45054b6
Fixes: #10883
Backport: dumpling, firefly, giant

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

10 years agoqa/workunits/fs/misc: Add a workunit for file lock interruption 3730/head
Yan, Zheng [Wed, 15 Oct 2014 04:00:58 +0000 (12:00 +0800)]
qa/workunits/fs/misc: Add a workunit for file lock interruption

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

10 years agomds: fix neighbor lock check
Yan, Zheng [Wed, 15 Oct 2014 04:03:46 +0000 (12:03 +0800)]
mds: fix neighbor lock check

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

10 years agoclient: use finisher to abort MDS request
Yan, Zheng [Mon, 13 Oct 2014 03:34:18 +0000 (11:34 +0800)]
client: use finisher to abort MDS request

When a request is interrupted, libfuse first locks an internal mutex,
then calls the interrupt callback. libfuse need to lock the same mutex
when unregistering interrupt callback. We unregister interrupt callback
while client_lock is locked, so we can't acquiring the client_lock in
the interrupt callback.

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

Conflicts:
src/client/Client.cc
src/client/Client.h

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agoclient: use atomic variable to track reference of MetaRequeset
Yan, Zheng [Thu, 9 Oct 2014 05:16:18 +0000 (13:16 +0800)]
client: use atomic variable to track reference of MetaRequeset

this allow us to increase reference count of MetaRequest while not holding
the client_lock

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

10 years agoclient: allow interrupting blocked file lock operation
Yan, Zheng [Mon, 13 Oct 2014 02:44:46 +0000 (10:44 +0800)]
client: allow interrupting blocked file lock operation

This commit introduce two new types of setfilelock request. Unlike
setfilelock (UNLOCK) request, these two new types of setfilelock request
do not drop locks that have alread been acquired, they only interrupt
blocked setfilelock request.

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

10 years agoclient: register callback for fuse interrupt
Yan, Zheng [Thu, 9 Oct 2014 01:42:08 +0000 (09:42 +0800)]
client: register callback for fuse interrupt

libfuse allows program to reigster a callback for interrupt. When a file
system operation is interrupted, the fuse kernel driver sends interupt
request to libfuse. libfuse calls the interrupt callback when receiving
interrupt request.

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

10 years agoclient: add helper function that updates lock state
Yan, Zheng [Sat, 4 Oct 2014 01:14:44 +0000 (09:14 +0800)]
client: add helper function that updates lock state

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

Conflicts:
src/client/Client.h

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agofuse: enable fuse_multithreaded by default
Yan, Zheng [Thu, 2 Oct 2014 12:21:36 +0000 (20:21 +0800)]
fuse: enable fuse_multithreaded by default

GETFILELOCK MDS request may block for a long time, so we need to
use multithread event loop,

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

10 years agoclient: posix file lock support
Yan, Zheng [Thu, 2 Oct 2014 11:07:41 +0000 (19:07 +0800)]
client: posix file lock support

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

Conflicts:
src/client/Client.cc
src/client/Client.h
src/client/Inode.h

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agocommon: link mds/flock.o to libcommon
Yan, Zheng [Thu, 2 Oct 2014 10:02:50 +0000 (18:02 +0800)]
common: link mds/flock.o to libcommon

later commit will use this code to track file locks held by cephfs
client.

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

Conflicts:
src/mds/Makefile.am

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #3684 from ceph/wip-crush-straw-firefly
Loic Dachary [Fri, 13 Feb 2015 17:34:11 +0000 (18:34 +0100)]
Merge pull request #3684 from ceph/wip-crush-straw-firefly

osd: backport straw bucket fixes and all other recent crush goodness to firefly

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agocrush/builder: fix warnings 3684/head
Sage Weil [Fri, 16 Jan 2015 17:02:28 +0000 (09:02 -0800)]
crush/builder: fix warnings

crush/builder.c: In function 'crush_remove_list_bucket_item':
crush/builder.c:977:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if (weight < bucket->h.weight)
             ^
crush/builder.c: In function 'crush_remove_tree_bucket_item':
crush/builder.c:1031:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (weight < bucket->h.weight)
              ^

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

10 years agocrush: improve constness of CrushWrapper methods
Loic Dachary [Thu, 16 Oct 2014 00:02:58 +0000 (17:02 -0700)]
crush: improve constness of CrushWrapper methods

A number of CrushWrapper get methods or predicates were not const
because they need to maintain transparently the rmaps. Make the rmaps
mutable and update the constness of the methods to match what the caller
would expect.

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

10 years agoChange CrushWrapper::crush to private
Xiaoxi Chen [Fri, 5 Sep 2014 02:56:36 +0000 (10:56 +0800)]
Change CrushWrapper::crush to private

Currently in CrushWrapper, the member "struct crush_map *crush"  is a public member,
so people can break the encapsulation and manipulate directly to the crush structure.

This is not a good practice for encapsulation and will lead to inconsistent if code
mix use the CrushWrapper API and crush C API.A simple example could be:
1.some code use crush_add_rule(C-API) to add a rule, which will not set the have_rmap flag to false in CrushWrapper
2.another code using CrushWrapper trying to look up the newly added rule by name will get a -ENOENT.

This patch move CrushWrapper::crush to private, together with three reverse map(type_rmap, name_rmap, rule_name_rmap)
and also change codes accessing the CrushWrapper::crush to make it compile.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
(cherry picked from commit d734600f9251b52f525faa35441e2b5dd660161b)

10 years agocrush: include CRUSH_V3, v2/v3 rules checks in dump_tunables()
Sage Weil [Fri, 11 Jul 2014 13:58:57 +0000 (06:58 -0700)]
crush: include CRUSH_V3, v2/v3 rules checks in dump_tunables()

Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit cf94cf3531a349bbd1fc6ee56c3fc260110a252a)

10 years agomon: 'osd crush reweight-all'
Sage Weil [Fri, 5 Dec 2014 23:58:03 +0000 (15:58 -0800)]
mon: 'osd crush reweight-all'

This corresponds to the crushtool --reweight command.

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

10 years agocrush: set straw_calc_version=1 for default+optimal; do not touch for presets
Sage Weil [Fri, 5 Dec 2014 23:55:24 +0000 (15:55 -0800)]
crush: set straw_calc_version=1 for default+optimal; do not touch for presets

When using the presets for compatibility (i.e., based on version), do not
touch the straw behavior, as it does not affect mapping or compatibility.
However, make a point of setting it by default and for optimal.

For most users, this means that they will not see any change unless they
explicitly enable the new behavior, or switch to default or optimal
tunables.  The idea is that if they touched it, they shouldn't be
too surprised by the subsequent data movement.

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

(Note: differs from original in that the hammer tunable profile is not
present)

10 years agocrush/builder: a note about the original crush_calc_straw()
Sage Weil [Thu, 4 Dec 2014 06:30:00 +0000 (22:30 -0800)]
crush/builder: a note about the original crush_calc_straw()

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

10 years agomon: add 'osd crush {get,set}-tunable <name> [value]' commands
Sage Weil [Wed, 3 Dec 2014 00:43:16 +0000 (16:43 -0800)]
mon: add 'osd crush {get,set}-tunable <name> [value]' commands

For now, just add the straw_calc_version tunable.

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

Conflicts:
src/mon/OSDMonitor.cc

10 years agocrush: fix crush_calc_straw() scalers when there are duplicate weights
Sage Weil [Wed, 3 Dec 2014 00:33:11 +0000 (16:33 -0800)]
crush: fix crush_calc_straw() scalers when there are duplicate weights

The straw bucket was originally tested with uniform weights and with a
few more complicated patterns, like a stair step (1,2,3,4,5,6,7,8,9).  And
it worked!

However, it does not behave with a pattern like
 1, 2, 2, 3, 3, 4, 4

Strangely, it does behave with
 1, 1, 2, 2, 3, 3, 4, 4

and more usefully it does behave with
 1, 2, 2.001, 3, 3.001, 4, 4.001

That is, the logic that explicitly copes with weights that are duplicates
is broken.

The fix is to simply remove the special handling for duplicate weights --
it isn't necessary and doesn't work correctly anyway.

Add a test that compares the mapping result of  [1, 2, 2, 3, 3, ...] with
[1, 2, 2.001, 3, 3.001, ...] and verifies that the difference is small.
With the fix, we get .00012, whereas the original implementation gets
.015.

Note that this changes the straw bucket scalar *precalculated* values that
are encoded with the map, and only when the admin opts into the new behavior.

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

10 years agocrush: fix distortion of straw scalers by 0-weight items
Sage Weil [Tue, 2 Dec 2014 22:50:21 +0000 (14:50 -0800)]
crush: fix distortion of straw scalers by 0-weight items

The presence of a 0-weight item in a straw bucket should have no effect
on the placement of other items.  Add a test validating that and fix
crush_calc_straw() to fix the distortion.

Note that this effects the *precalculation* of the straw bucket inputs and
does not effect the actually mapping process given a compiled or encoded
CRUSH map, and only when straw_calc_version == 1 (i.e., the admin opted in
to the new behavior).

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

10 years agocrush/builder: break out new version 1 of crush_calc_straw
Sage Weil [Tue, 2 Dec 2014 22:49:42 +0000 (14:49 -0800)]
crush/builder: break out new version 1 of crush_calc_straw

No change, yet.

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

10 years agocrush: pass crush_map * to various builder methods
Sage Weil [Tue, 2 Dec 2014 22:45:04 +0000 (14:45 -0800)]
crush: pass crush_map * to various builder methods

In particular, we will need it for crush_calc_straw().

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

Conflicts:
src/crush/CrushWrapper.cc

10 years agocrush: fix incorrect use of adjust_item_weight method
Rongze Zhu [Fri, 10 Oct 2014 11:18:00 +0000 (19:18 +0800)]
crush: fix incorrect use of adjust_item_weight method

adjust_item_weight method will adjust all buckets which the item
inside. If the osd.0 in host=fake01 and host=fake02, we execute
"ceph osd crush osd.0 10 host=fake01", it not only will adjust fake01's
weight, but also will adjust fake02's weight.

the patch add adjust_item_weightf_in_loc method and fix remove_item,
_remove_item_under, update_item, insert_item, detach_bucket methods.

Signed-off-by: Rongze Zhu <zrzhit@gmail.com>
(cherry picked from commit 9850227d2f0ca2f692a154de2c14a0a08e751f08)

Conflicts:
src/crush/CrushWrapper.cc

10 years agocrush/CrushWrapper: fix detach_bucket
Sage Weil [Thu, 13 Nov 2014 18:59:22 +0000 (10:59 -0800)]
crush/CrushWrapper: fix detach_bucket

In commit 9850227d2f0ca2f692a154de2c14a0a08e751f08 we changed the call that
changed the weight of all instances of item to one that explicitly
changes it in the parent bucket, but parent_id may not be valid at the
call site.  Move this into the conditional block to fix.

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

10 years agocrush: default to straw_calc_version 1
Sage Weil [Tue, 2 Dec 2014 22:10:49 +0000 (14:10 -0800)]
crush: default to straw_calc_version 1

Stick with bobtail tunables where it affects compatibility.  Use v1 of
straw_calc, though, since that does not, and we want the best for new
clusters.

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

10 years agocrush: add straw_calc_version tunable
Sage Weil [Fri, 13 Feb 2015 16:30:35 +0000 (08:30 -0800)]
crush: add straw_calc_version tunable

It doesn't do anything, yet.

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

(Modified from original to not create the 'hammer' tunable profile, which
we will not backport in its entirety.)

10 years agoqa: use correct binary path on rpm-based systems
Josh Durgin [Mon, 2 Feb 2015 15:43:35 +0000 (16:43 +0100)]
qa: use correct binary path on rpm-based systems

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

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 agocrush/CrushWrapper: dump chooseleaf_vary_r with other tunables
Sage Weil [Tue, 2 Dec 2014 22:04:34 +0000 (14:04 -0800)]
crush/CrushWrapper: dump chooseleaf_vary_r with other tunables

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

10 years agocrush/CrushTester: add new --show-mappings option
Sage Weil [Tue, 2 Dec 2014 18:12:25 +0000 (10:12 -0800)]
crush/CrushTester: add new --show-mappings option

This makes --show-utilization and --show-statistics usable.

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

10 years agocrushtool/CrushTester: output utilization even with 1 batch
Sage Weil [Tue, 2 Dec 2014 18:11:57 +0000 (10:11 -0800)]
crushtool/CrushTester: output utilization even with 1 batch

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

10 years agocrush: recalculate straw scalers during a reweight
Sage Weil [Tue, 2 Dec 2014 18:08:18 +0000 (10:08 -0800)]
crush: recalculate straw scalers during a reweight

The crushtool --reweight function triggers a fresh calculation of bucket
weights so that they are always the sum of the item weights.  In the
straw bucket case, the weights were updated but the corresponding straw
scalers were not being recalculated.  The result is that there was not
effect on placement in adjusted buckets until the next time a bucket item's
weight was adjusted.

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

10 years agoosdmaptool: --test-map-pgs-dump
Sage Weil [Tue, 2 Dec 2014 16:36:41 +0000 (08:36 -0800)]
osdmaptool: --test-map-pgs-dump

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

10 years agocrush: add dprintk's for crush_calc_straw
Sage Weil [Tue, 2 Dec 2014 14:53:20 +0000 (06:53 -0800)]
crush: add dprintk's for crush_calc_straw

These are compiled out by default.

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

10 years agocrush: fix tree bucket functions
Rongze Zhu [Mon, 10 Nov 2014 16:13:42 +0000 (00:13 +0800)]
crush: fix tree bucket functions

There are incorrect nodes' weight in tree bucket when construct tree
bucket. The tree bucket don't store item id in items array, so the tree
bucket will not work correctly. The patch fix above bugs and add a
simple test for tree bucket.

Signed-off-by: Rongze Zhu <zrzhit@gmail.com>
(cherry picked from commit 13425488882d360fa740613dfcfd0d098c1b7616)

10 years agocrush/builder: replace printf with an empty dprintk macro
Sage Weil [Tue, 11 Nov 2014 19:16:58 +0000 (11:16 -0800)]
crush/builder: replace printf with an empty dprintk macro

This mirrors mapper.c.

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

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 agoqa: use sudo when rsyncing /usr so we can read everything
Greg Farnum [Tue, 21 Oct 2014 17:55:06 +0000 (10:55 -0700)]
qa: use sudo when rsyncing /usr so we can read everything

Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit fa07c04231db2d130de54647957ffab4a7a53733)

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 agodoc: Adds updated man page for ceph under man/ 3521/head
Nilamdyuti Goswami [Thu, 18 Dec 2014 11:43:27 +0000 (17:13 +0530)]
doc: Adds updated man page for ceph under man/

Signed-off-by: Nilamdyuti Goswami <ngoswami@redhat.com>
(cherry picked from commit 8de9a0f437822c770600c19a9f61977745b7e530)

10 years agodoc: Adds man page for ceph under man/.
Nilamdyuti Goswami [Fri, 12 Dec 2014 20:57:45 +0000 (02:27 +0530)]
doc: Adds man page for ceph under man/.

Signed-off-by: Nilamdyuti Goswami <ngoswami@redhat.com>
(cherry picked from commit ffd6c7e49686f8f92ddb400ffdec62520708e64b)

10 years agodoc: Adds man page for ceph.
Nilamdyuti Goswami [Fri, 12 Dec 2014 20:54:41 +0000 (02:24 +0530)]
doc: Adds man page for ceph.

Signed-off-by: Nilamdyuti Goswami <ngoswami@redhat.com>
(cherry picked from commit 76da87a64ca6b3cc0ceeaf63e19a9f440d6f4161)

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 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 agoosdc: Constrain max number of in-flight read requests 3410/head
Jason Dillaman [Mon, 27 Oct 2014 18:47:19 +0000 (14:47 -0400)]
osdc: Constrain max number of in-flight read requests

Constrain the number of in-flight RADOS read requests to the
cache size.  This reduces the chance of the cache memory
ballooning during certain scenarios like copy-up which can
invoke many concurrent read requests.

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

10 years agoRevert "Enforce cache size on read requests"
Jason Dillaman [Mon, 19 Jan 2015 17:46:00 +0000 (12:46 -0500)]
Revert "Enforce cache size on read requests"

This reverts commit b7784dc1baa47560a733fe9dcd2acec51bc93165.

10 years agoRevert "rbd: ObjectCacher reads can hang when reading sparse files"
Jason Dillaman [Mon, 19 Jan 2015 17:45:25 +0000 (12:45 -0500)]
Revert "rbd: ObjectCacher reads can hang when reading sparse files"

This reverts commit 711a7e6f81983ff2091caa0f232af914a04a041c.

10 years agolibrbd: gracefully handle deleted/renamed pools 3404/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>
(cherry picked from commit 436923c68b77c900b7774fbef918c0d6e1614a36)

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 agoMerge branch 'wip-firefly-rgw-backports' into firefly
Yehuda Sadeh [Fri, 16 Jan 2015 00:40:48 +0000 (16:40 -0800)]
Merge branch 'wip-firefly-rgw-backports' into firefly

10 years agoinit-radosgw.sysv: set ulimit -n before starting daemon
Sage Weil [Wed, 22 Oct 2014 00:59:30 +0000 (17:59 -0700)]
init-radosgw.sysv: set ulimit -n before starting daemon

If we do the ulimit inside the daemon command we will have already
dropped privs and will fail.

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

10 years agorgw: use s->bucket_attrs instead of trying to read obj attrs
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 agorgw: remove swift user manifest (DLO) hash calculation
Yehuda Sadeh [Wed, 5 Nov 2014 21:40:55 +0000 (13:40 -0800)]
rgw: remove swift user manifest (DLO) hash calculation

Fixes: #9973
Backport: firefly, giant

Previously we were iterating through the parts, creating hash of the
parts etags (as S3 does for multipart uploads). However, swift just
calculates the etag for the empty manifest object.

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

Conflicts:
src/rgw/rgw_op.cc

10 years agofix can not disable max_size quota
Lei Dong [Mon, 27 Oct 2014 02:29:48 +0000 (10:29 +0800)]
fix can not disable max_size quota

Currently if we enable quota and set max_size = -1, it doesn’t
mean max_size is unlimited as expected. Instead, it means object
with any size is not allowed to upload because of “QuotaExceeded”.
The root cause is the function rgw_rounded_kb which convert max_size
to max_size_kb returns 0 for -1 because it takes an unsigned int
but we pass an int to it. A simple fix is check max_size before
it’s rounded to max_size_kb.

Test case:
1 enable and set quota:
radosgw-admin quota enable --uid={user_id} --quota-scope=user
radosgw-admin quota set --quota-scope=user --uid={user_id}\
 --max-objects=100 --max-size=-1
2 upload any object with non-zero length
it will return 403 with “QuotaExceeded” and return 200 if you apply the fix.

Fixes: #9907
Backport: giant, firefly
Signed-off-by: Dong Lei leidong@yahoo-inc.com
(cherry picked from commit abd3fd3ef9ee9999b99811937af60b7a5e673e35)

10 years agorgw: rados->set_attrs() updates bucket index
Yehuda Sadeh [Tue, 23 Sep 2014 19:43:55 +0000 (12:43 -0700)]
rgw: rados->set_attrs() updates bucket index

Fixes: #5595
Backport: dumpling, firefly
We need to update the bucket index when updating object attrs, otherwise
we're missing meta changes that need to be registered. It also
solves issue of bucket index not knowing about object acl changes,
although this one still requires some more work.

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

10 years agorgw: RGWRados::get_obj() returns wrong len if len == 0
Yehuda Sadeh [Wed, 5 Nov 2014 06:05:03 +0000 (22:05 -0800)]
rgw: RGWRados::get_obj() returns wrong len if len == 0

Fixes: #9877
We only updated if len was > 0, should update it if r >= 0. This was the
culprit for issue #9877.
Backport: giant, firefly

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

10 years agorgw: send back ETag on S3 object copy
Yehuda Sadeh [Wed, 5 Nov 2014 21:28:02 +0000 (13:28 -0800)]
rgw: send back ETag on S3 object copy

Fixes: #9479
Backport: firefly, giant
We didn't send the etag back correctly. Original code assumed the etag
resided in the attrs, but attrs only contained request attrs.

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

Conflicts:
src/rgw/rgw_rados.cc

10 years agorgw: S3 object copy content type fix
Yehuda Sadeh [Wed, 5 Nov 2014 20:35:42 +0000 (12:35 -0800)]
rgw: S3 object copy content type fix

Fixes: #9478
Backport: firefly, giant
Content type for S3 object copy response should be set to
application/xml.

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

10 years agorgw: http headers need to end with \r\n
Yehuda Sadeh [Fri, 12 Dec 2014 19:20:26 +0000 (11:20 -0800)]
rgw: http headers need to end with \r\n

Fixes: #9254
Backport: firefly, giant

Reported-by: Benedikt Fraunhofer <fraunhofer@traced.net>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 7409ab3df18fb312dd6c9f79084f889c523afdce)

Conflicts:
src/rgw/rgw_civetweb.cc
src/rgw/rgw_fcgi.cc

10 years agorgw: index swift keys appropriately
Yehuda Sadeh [Wed, 7 Jan 2015 21:56:14 +0000 (13:56 -0800)]
rgw: index swift keys appropriately

Fixes: #10471
Backport: firefly, giant

We need to index the swift keys by the full uid:subuser when decoding
the json representation, to keep it in line with how we store it when
creating it through other mechanism.

Reported-by: hemant burman <hemant.burman@gmail.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 478629bd2f3f32afbe6e93eaebb8a8fa01af356f)

10 years ago0.80.8 v0.80.8
Jenkins [Tue, 13 Jan 2015 14:28:08 +0000 (06:28 -0800)]
0.80.8

10 years agorgw-admin: create subuser if needed when creating user
Yehuda Sadeh [Thu, 20 Nov 2014 18:36:05 +0000 (10:36 -0800)]
rgw-admin: create subuser if needed when creating user

Fixes: #10103
Backport: firefly, giant
This turned up after fixing #9973. Earlier we also didn't create the
subuser in this case, but we didn't really read the subuser info when it
was authenticating. Now we do that as required, so we end up failing the
authentication. This only applies to cases where a subuser was created
using 'user create', and not the 'subuser create' command.

Reviewed-by: Sage Weil <sage@redhat.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 9ba17a321db06d3d76c9295e411c76842194b25c)

10 years agorgw: update swift subuser perm masks when authenticating
Yehuda Sadeh [Wed, 5 Nov 2014 22:38:46 +0000 (14:38 -0800)]
rgw: update swift subuser perm masks when authenticating

Fixes: #9918
Backport: firefly, giant
It seems that we weren't setting the swift perm mask correctly.

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

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 agomon/OSDMonitor: fix double-free on old MOSDBoot
Sage Weil [Tue, 19 Aug 2014 23:43:02 +0000 (16:43 -0700)]
mon/OSDMonitor: fix double-free on old MOSDBoot

send_latest() does an m->put().

Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 97f9b6df668315fba6a5924b79024c7a986f4110)

10 years agoosd: requeue PG when we skip handling a peering event
Sage Weil [Thu, 8 Jan 2015 19:17:03 +0000 (11:17 -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.

This is a firefly-specific patch; a (very) similar one will appear in master
in 492ccc900c3358f36b6b14a207beec071eb06707.

Backport: giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3217 from boydc2014/firefly
Sage Weil [Fri, 9 Jan 2015 02:31:26 +0000 (18:31 -0800)]
Merge pull request #3217 from boydc2014/firefly

clear data and payload after removed from ops_in_flight

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3127 from ktdreyer/firefly-no-epoch
Loic Dachary [Fri, 9 Jan 2015 00:32:17 +0000 (01:32 +0100)]
Merge pull request #3127 from ktdreyer/firefly-no-epoch

Revert "ceph.spec.: add epoch"

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3128 from dachary/wip-10281-make-check-fedora-20
Loic Dachary [Fri, 9 Jan 2015 00:31:29 +0000 (01:31 +0100)]
Merge pull request #3128 from dachary/wip-10281-make-check-fedora-20

tests: fixes to run make check on fedora 20

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3169 from ceph/wip-8797-firefly
Loic Dachary [Fri, 9 Jan 2015 00:30:59 +0000 (01:30 +0100)]
Merge pull request #3169 from ceph/wip-8797-firefly

Wip 8797 firefly

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3179 from dachary/wip-9998-crush-underfloat-firefly
Loic Dachary [Fri, 9 Jan 2015 00:28:49 +0000 (01:28 +0100)]
Merge pull request #3179 from dachary/wip-9998-crush-underfloat-firefly

crush: fix weight underfloat issue (firefly)

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3220 from ceph/wip-mon-backports.firefly
Loic Dachary [Fri, 9 Jan 2015 00:28:11 +0000 (01:28 +0100)]
Merge pull request #3220 from ceph/wip-mon-backports.firefly

mon: backports for #9987 against firefly

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3258 from ceph/wip-10372-firefly
Loic Dachary [Fri, 9 Jan 2015 00:26:30 +0000 (01:26 +0100)]
Merge pull request #3258 from ceph/wip-10372-firefly

osd: fix librados pool deletion race on firefly

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
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 agoclear data and payload inside ops_in_flight_lock 3217/head
Lei Dong [Tue, 30 Dec 2014 13:02:45 +0000 (21:02 +0800)]
clear data and payload inside ops_in_flight_lock

http://tracker.ceph.com/issues/9916 Fixes: #9916
Signed-off-by: Dong Lei <leidong@yahoo-inc.com>
10 years agoMerge pull request #3264 from dachary/wip-jerasure-firefly
Sage Weil [Mon, 29 Dec 2014 22:31:23 +0000 (14:31 -0800)]
Merge pull request #3264 from dachary/wip-jerasure-firefly

erasure-code: update links to jerasure upstream

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

libcephfs/test.cc: close fd before umount