]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoosd/ReplicatedPG: debug obc locks 2140/head
Sage Weil [Wed, 23 Jul 2014 01:01:14 +0000 (18:01 -0700)]
osd/ReplicatedPG: debug obc locks

Signed-off-by: Sage Weil <sage@redhat.com>
11 years agoosd/ReplicatedPG: greedily take write_lock for copyfrom finish, snapdir
Sage Weil [Tue, 22 Jul 2014 20:16:11 +0000 (13:16 -0700)]
osd/ReplicatedPG: greedily take write_lock for copyfrom finish, snapdir

In the cases where we are taking a write lock and are careful
enough that we know we should succeed (i.e, we assert(got)),
use the get_write_greedy() variant that skips the checks for
waiters (be they ops or backfill) that are normally necessary
to avoid starvation.  We don't care about staration here
because our op is already in-progress and can't easily be
aborted, and new ops won't start because they do make those
checks.

Fixes: #8889
Signed-off-by: Sage Weil <sage@redhat.com>
11 years agoosd: allow greedy get_write() for ObjectContext locks
Sage Weil [Tue, 22 Jul 2014 20:11:42 +0000 (13:11 -0700)]
osd: allow greedy get_write() for ObjectContext locks

There are several lockers that need to take a write lock
because there is an operation that is already in progress and
know it is safe to do so.  In particular, they need to skip
the starvation checks (op waiters, backfill waiting).

Signed-off-by: Sage Weil <sage@redhat.com>
11 years agoosd: init local_connection for fast_dispatch in _send_boot()
Ma, Jianpeng [Mon, 14 Jul 2014 03:17:14 +0000 (03:17 +0000)]
osd: init local_connection for fast_dispatch in _send_boot()

We were not properly setting up Sessions on the local_connection for
fast_dispatch'ed Messages if the cluster_addr was set explicitly: the OSD
was not in the dispatch list at bind() time (in ceph_osd.cc), and nothing
called it later on. This issue was missed in testing because Inktank only
uses unified NICs.

That led to errors like the following:

When do ec-read, i met a bug which was occured 100%. The messages are:
2014-07-14 10:03:07.318681 7f7654f6e700 -1 osd/OSD.cc: In function
'virtual void OSD::ms_fast_dispatch(Message*)' thread 7f7654f6e700 time
2014-07-14 10:03:07.316782 osd/OSD.cc: 5019: FAILED assert(session)

 ceph version 0.82-585-g79f3f67 (79f3f6749122ce2944baa70541949d7ca75525e6)
 1: (OSD::ms_fast_dispatch(Message*)+0x286) [0x6544b6]
 2: (DispatchQueue::fast_dispatch(Message*)+0x56) [0xb059d6]
 3: (DispatchQueue::run_local_delivery()+0x6b) [0xb08e0b]
 4: (DispatchQueue::LocalDeliveryThread::entry()+0xd) [0xa4a5fd]
 5: (()+0x8182) [0x7f7665670182]
 6: (clone()+0x6d) [0x7f7663a1130d]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

To resolve this, we have the OSD invoke ms_handle_fast_connect() explicitly
in send_boot(). It's not really an appropriate location, but we're already
doing a bunch of messenger twiddling there, so it's acceptable for now.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 9061988ec7eaa922e2b303d9eece86e7c8ee0fa1)

11 years agorgw: fix decoding + characters in URL
devicenull [Fri, 18 Jul 2014 14:25:51 +0000 (10:25 -0400)]
rgw: fix decoding + characters in URL

Fixes: #8702
Backport: firefly

Only decode + characters to spaces if we're in a query argument. The +
query argument.  The + => ' ' translation is not correct for
file/directory names.

Resolves http://tracker.ceph.com/issues/8702

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Signed-off-by: Brian Rak <dn@devicenull.org>
11 years agoMerge pull request #2116 from ceph/wip-logrotate
Dan Mick [Thu, 17 Jul 2014 23:46:06 +0000 (16:46 -0700)]
Merge pull request #2116 from ceph/wip-logrotate

logrotate.conf: fix osd log rotation

Reviewed-by: Dan Mick <dan.mick@inktank.com>
11 years agologrotate.conf: fix osd log rotation under upstart 2116/head
Sage Weil [Thu, 17 Jul 2014 23:40:06 +0000 (16:40 -0700)]
logrotate.conf: fix osd log rotation under upstart

In commit 7411c3c6a42bef5987bdd76b1812b01686303502 we generalized this
enumeration code by copying what was in the upstart scripts.  However,
while the mon and mds directories get a 'done' file, the OSDs get a 'ready'
file.  Bah!  Trigger off of either one.

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
11 years agoMerge pull request #2109 from ceph/wip-8849
Sage Weil [Thu, 17 Jul 2014 19:30:18 +0000 (12:30 -0700)]
Merge pull request #2109 from ceph/wip-8849

remove ceph restarts on upgrades for RPMs

Backport: firefly
Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoremove suse service restarts 2109/head
Alfredo Deza [Thu, 17 Jul 2014 14:06:37 +0000 (10:06 -0400)]
remove suse service restarts

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
11 years agoremove ceph restarts on upgrades for RPMs
Alfredo Deza [Wed, 16 Jul 2014 20:12:12 +0000 (16:12 -0400)]
remove ceph restarts on upgrades for RPMs

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
11 years agorgw: don't try to wait for pending if list is empty
Yehuda Sadeh [Wed, 16 Jul 2014 19:23:31 +0000 (12:23 -0700)]
rgw: don't try to wait for pending if list is empty

Fixes: #8846
Backport: firefly, dumpling

This was broken at ea68b9372319fd0bab40856db26528d36359102e. We ended
up calling wait_pending_front() when pending list was empty.
This commit also moves the need_to_wait check to a different place,
where we actually throttle (and not just drain completed IOs).

Reported-by: Sylvain Munaut <s.munaut@whatever-company.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit f9f2417d7db01ecf2425039539997901615816a9)

11 years agoinit-ceph: wrap daemon startup with systemd-run when running under systemd
Sage Weil [Wed, 16 Jul 2014 01:11:41 +0000 (18:11 -0700)]
init-ceph: wrap daemon startup with systemd-run when running under systemd

We want to make sure the daemon runs in its own systemd environment.  Check
for systemd as pid 1 and, when present, use systemd-run -r <cmd> to do
this.

Probably fixes #7627

Signed-off-by: Sage Weil <sage@redhat.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Tested-by: Dan Mick <dan.mick@inktank.com>
11 years agoMerge pull request #2103 from ceph/wip-8830
Sage Weil [Mon, 14 Jul 2014 22:38:59 +0000 (15:38 -0700)]
Merge pull request #2103 from ceph/wip-8830

XfsFileStoreBackend: default to disabling extsize on xfs

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoXfsFileStoreBackend: default to disabling extsize on xfs 2103/head
Samuel Just [Mon, 14 Jul 2014 20:29:37 +0000 (13:29 -0700)]
XfsFileStoreBackend: default to disabling extsize on xfs

This appears to be responsible for the deep scrub mismatches on some rbd
workloads.

Fixes: 8830
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #2094 from ceph/wip-8815
Gregory Farnum [Fri, 11 Jul 2014 20:13:31 +0000 (13:13 -0700)]
Merge pull request #2094 from ceph/wip-8815

mon: avoid scrub noise due to divering OSDMap encoding versions

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoosd/osd_types: be pedantic about encoding last_force_op_resend without feature bit 2094/head
Sage Weil [Fri, 11 Jul 2014 18:31:22 +0000 (11:31 -0700)]
osd/osd_types: be pedantic about encoding last_force_op_resend without feature bit

The addition of the value is completely backward compatible, but if the
mon feature bits don't match it can cause monitor scrub noice (due to the
parallel OSDMap encoding).  Avoid that by only adding the new field if the
feature (which was added 2 patches after the encoding, see
3152faf79f498a723ae0fe44301ccb21b15a96ab and
45e79a17a932192995f8328ae9f6e8a2a6348d10.

Fixes: #8815
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
11 years agoosd/osd_types: remove useless encode_compat local var for pg_pool_t::encode
Sage Weil [Fri, 11 Jul 2014 18:29:05 +0000 (11:29 -0700)]
osd/osd_types: remove useless encode_compat local var for pg_pool_t::encode

This is left over from db3fd1152a87f8f152facdf141f8367296b371df
when we made the HitSet stuff incompat, but that behavior was reverted by
dc3ce58add130ca5a0a20b097b0ac934a1b486c7, leaving this cruft behind.

Signed-off-by: Sage Weil <sage@redhat.com>
11 years agorgw: fix RGWObjManifestRule decoder
Sage Weil [Thu, 10 Jul 2014 17:36:16 +0000 (10:36 -0700)]
rgw: fix RGWObjManifestRule decoder

Only decode the new field if it is a new struct.

Fixes: #8804
Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoRevert "qa: add an fsx run which turns on kernel debugging"
Greg Farnum [Wed, 9 Jul 2014 17:49:59 +0000 (10:49 -0700)]
Revert "qa: add an fsx run which turns on kernel debugging"

This reverts commit 29c33f0c057acc4e0f4e5022c97553a2dc095b21.
We don't need the debugging any more, and having two separate fsx runners
already caused one update-in-the-wrong-place issue.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #2085 from ceph/wip-7891
Sage Weil [Tue, 8 Jul 2014 23:25:56 +0000 (16:25 -0700)]
Merge pull request #2085 from ceph/wip-7891

osd: fix pg ref leaks on shutdown

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoosd: cancel agent_timer events on shutdown 2085/head
Sage Weil [Fri, 9 May 2014 15:41:33 +0000 (08:41 -0700)]
osd: cancel agent_timer events on shutdown

We need to cancel all agent timer events on shutdown.  This also needs to
happen early so that any in-progress events will execute before we start
flushing and cleaning up PGs.

Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: s/applying repop/canceling repop/
Sage Weil [Tue, 8 Jul 2014 23:11:44 +0000 (16:11 -0700)]
osd: s/applying repop/canceling repop/

The 'applying' language dates back to when we would wait for acks from
replicas before applying writes locally.  We don't do any of that any more;
now, this loop just cancels the repops with remove_repop() and some other
cleanup.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: clear PGBackend state on shutdown
Sage Weil [Tue, 8 Jul 2014 23:11:27 +0000 (16:11 -0700)]
osd: clear PGBackend state on shutdown

This was leaking state on shutdown whenever there were in-flight repops
that were canceled.

Fixes: #7891
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: separate cleanup from PGBackend::on_change()
Sage Weil [Tue, 8 Jul 2014 23:10:58 +0000 (16:10 -0700)]
osd: separate cleanup from PGBackend::on_change()

The generic portion of on_change() cleaned up temporary on-disk objects
and requires a Transaction.  The rest is clearing out in-memory state and
does not.  Separate the two.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #2081 from ceph/wip-osd-leaks
Sage Weil [Tue, 8 Jul 2014 04:08:21 +0000 (21:08 -0700)]
Merge pull request #2081 from ceph/wip-osd-leaks

osd: fix several memory leaks from fast dispatch

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoosd: clear sessions_waiting_on_map on shutdown 2081/head
Sage Weil [Mon, 7 Jul 2014 23:06:49 +0000 (16:06 -0700)]
osd: clear sessions_waiting_on_map on shutdown

Wake up these ops and drop the Session refs on shutdown.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: fix session leak when waiting on map
Sage Weil [Mon, 7 Jul 2014 23:06:21 +0000 (16:06 -0700)]
osd: fix session leak when waiting on map

We don't want to leak the Session if this Session is already waiting on
a map.

Introduced by eb30f88c942d80cbc951d4d0f375479069d15624.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: clear Sessions for loopback Connections on shutdown
Sage Weil [Tue, 1 Jul 2014 21:31:11 +0000 (14:31 -0700)]
osd: clear Sessions for loopback Connections on shutdown

Starting with the fast dispatch patches, we are calling the handle_connect
on loopback.  Make sure we zap them on shutdown to break the Session <->
Connection ref cycle.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoRevert "OSD: move waiting_for_pg into Session"
Sage Weil [Mon, 7 Jul 2014 22:01:50 +0000 (15:01 -0700)]
Revert "OSD: move waiting_for_pg into Session"

This reverts commit ecda2fef8ce982df3581a3b47ba74ae581d82479.

This leaves Session* refs indefinitely in the map.

This was one source of #7995.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #2072 from ceph/wip-8738-next
Sage Weil [Sat, 5 Jul 2014 01:35:24 +0000 (18:35 -0700)]
Merge pull request #2072 from ceph/wip-8738-next

Patch up the CRUSH map compatibility guards

Reviewed-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@redhat.com>
11 years agomon: check changes to the whole CRUSH map and to tunables against cluster features 2072/head
Greg Farnum [Thu, 3 Jul 2014 23:30:49 +0000 (16:30 -0700)]
mon: check changes to the whole CRUSH map and to tunables against cluster features

When we change the tunables, or set a new CRUSH map, we need to make sure it's
supported by all the monitors and OSDs currently participating in the cluster.

Fixes: #8738
Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSDMonitor: fix quorum_features comparison in check_cluster_features
Greg Farnum [Thu, 3 Jul 2014 22:24:30 +0000 (15:24 -0700)]
OSDMonitor: fix quorum_features comparison in check_cluster_features

We need to see if there's a feature which is not in the quorum_features,
not if there are no features in common!

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoqa: support running under non privileged user
Loic Dachary [Tue, 1 Jul 2014 06:42:58 +0000 (08:42 +0200)]
qa: support running under non privileged user

If the test is run against a cluster started with vstart.sh (which is
the case for make check), the --asok-does-not-need-root disables the use
of sudo and allows the test to run without requiring privileged user
permissions.

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

11 years agoMerge pull request #2061 from ceph/wip-8728
Sage Weil [Thu, 3 Jul 2014 00:55:05 +0000 (17:55 -0700)]
Merge pull request #2061 from ceph/wip-8728

qa/workunits/rest/test.py: make osd create test idempotent

Reviewed-by: Dan Mick <dan.mick@inktank.com>
11 years agoqa/workunits/rest/test.py: make osd create test idempotent 2061/head
Sage Weil [Wed, 2 Jul 2014 17:38:43 +0000 (10:38 -0700)]
qa/workunits/rest/test.py: make osd create test idempotent

Avoid possibility that we create multiple OSDs do to retries by passing in
the optional uuid arg.  (A stray osd id will make the osd tell tests a
few lines down fail.)

Fixes: #8728
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoOSD: await_reserved_maps() prior to calling mark_down
Greg Farnum [Fri, 27 Jun 2014 21:59:23 +0000 (14:59 -0700)]
OSD: await_reserved_maps() prior to calling mark_down

send_message_osd_cluster() et al are *trying* to protect their Connection
lookups (and not re-open zapped Connections) via map reservations, but
that only works if we know that we haven't already called mark_down() on
the entities they might be looking up. So we need to await_reserved_maps
before we do any mark_down calls.
Since the waiting might take some time (fast dispatch in progress), only do
so if we are actually going to mark somebody down.

Fixes: #8512
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #2050 from ceph/wip-cephtool
Dan Mick [Mon, 30 Jun 2014 23:48:29 +0000 (16:48 -0700)]
Merge pull request #2050 from ceph/wip-cephtool

qa/workunits/cephtool/test.sh: sudo ceph daemon

11 years agoqa/workunits/cephtool/test.sh: sudo ceph daemon 2050/head
Sage Weil [Mon, 30 Jun 2014 23:38:10 +0000 (16:38 -0700)]
qa/workunits/cephtool/test.sh: sudo ceph daemon

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #2048 from ceph/wip-8699
Josh Durgin [Mon, 30 Jun 2014 20:02:17 +0000 (13:02 -0700)]
Merge pull request #2048 from ceph/wip-8699

rgw: fix uninit ofs in RGWObjManifect::obj_iterator

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agorgw: fix uninit ofs in RGWObjManifect::obj_iterator 2048/head
Sage Weil [Mon, 30 Jun 2014 19:55:45 +0000 (12:55 -0700)]
rgw: fix uninit ofs in RGWObjManifect::obj_iterator

Valgrind picked this up:

  <kind>UninitCondition</kind>
  <what>Conditional jump or move depends on uninitialised value(s)</what>
  <stack>
    <frame>
      <ip>0x5145B8</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWObjManifest::obj_iterator::seek(unsigned long)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw</dir>
      <file>rgw_rados.cc</file>
      <line>562</line>
    </frame>
    <frame>
      <ip>0x5672A4</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>list_multipart_parts(RGWRados*, req_state*, std::string const&amp;, std::string&amp;, int, int, std::map&lt;unsigned int, RGWUploadPartInfo, std::less&lt;unsigned int&gt;, std::allocator&lt;std::pair&lt;unsigned int const, RGWUploadPartInfo&gt; &gt; &gt;&amp;, int*, bool*, bool)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw</dir>
      <file>rgw_rados.h</file>
      <line>217</line>
    </frame>
    <frame>
      <ip>0x5688EE</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWListMultipart::execute()</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw</dir>
      <file>rgw_op.cc</file>
      <line>2956</line>
    </frame>
...

Fixes: #8699
Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #2045 from ceph/wip-8542
Sage Weil [Mon, 30 Jun 2014 19:35:46 +0000 (12:35 -0700)]
Merge pull request #2045 from ceph/wip-8542

qa/workunits/suites/fsx.sh: don't use zero range

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoqa/workunits/suites/fsx.sh: don't use zero range 2045/head
Sage Weil [Mon, 30 Jun 2014 14:05:04 +0000 (07:05 -0700)]
qa/workunits/suites/fsx.sh: don't use zero range

Zero range is not supported by cephfs.

Fixes: #8542
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge branch 'next'
Sage Weil [Fri, 27 Jun 2014 19:55:44 +0000 (12:55 -0700)]
Merge branch 'next'

11 years agorgw: allocate enough space for bucket instance id
Yehuda Sadeh [Mon, 16 Jun 2014 18:48:24 +0000 (11:48 -0700)]
rgw: allocate enough space for bucket instance id

Fixes: #8608
Backport: dumpling, firefly
Bucket instance id is a concatenation of zone name, rados instance id,
and a running counter. We need to allocate enough space to account zone
name length.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge pull request #2035 from ceph/wip-da-SCA-20140623
Sage Weil [Thu, 26 Jun 2014 19:43:08 +0000 (12:43 -0700)]
Merge pull request #2035 from ceph/wip-da-SCA-20140623

Fix for SCA and CID issues

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoRevert "ceph-disk: Enable creating multiple osds per dev"
Sage Weil [Thu, 26 Jun 2014 18:37:15 +0000 (11:37 -0700)]
Revert "ceph-disk: Enable creating multiple osds per dev"

This reverts commit 200d0ae9c6e6701c06310230e180d4e739865bfe.

This breaks ceph-disk.  See #8644.  Reverting for now.

Signed-off-by: Sage Weil <sage@redhat.com>
11 years agotest: use (unsigned)0 with gtest to avoid spurious warnings
Greg Farnum [Thu, 26 Jun 2014 17:35:00 +0000 (10:35 -0700)]
test: use (unsigned)0 with gtest to avoid spurious warnings

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #2034 from ceph/wip-osd-ints
Samuel Just [Thu, 26 Jun 2014 18:05:49 +0000 (11:05 -0700)]
Merge pull request #2034 from ceph/wip-osd-ints

osd: fix int -> int32_t in misc encoded structures

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoscratchtool.c: cleanup do_rados_getxattrs() 2035/head
Danny Al-Gaaf [Thu, 26 Jun 2014 16:51:19 +0000 (18:51 +0200)]
scratchtool.c: cleanup do_rados_getxattrs()

Cleanup error path to reduce code duplication.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoosd: fix pg_stat_t int -> int32_t 2034/head
Sage Weil [Thu, 26 Jun 2014 16:13:47 +0000 (09:13 -0700)]
osd: fix pg_stat_t int -> int32_t

Still 4 bytes on i386 and x86_64.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: fix pg_shard_t int -> int32_t
Sage Weil [Thu, 26 Jun 2014 16:13:30 +0000 (09:13 -0700)]
osd: fix pg_shard_t int -> int32_t

Still 4 bytes on i386 and x86_64.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: fix pg_interval_t int -> int32_t
Sage Weil [Thu, 26 Jun 2014 16:11:53 +0000 (09:11 -0700)]
osd: fix pg_interval_t int -> int32_t

Still 4 bytes on i386 and x86_64.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #2032 from sponce/wip-fixstriperoni386
Sage Weil [Thu, 26 Jun 2014 15:47:06 +0000 (08:47 -0700)]
Merge pull request #2032 from sponce/wip-fixstriperoni386

Wip fixstriperoni386

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoFixed build on 32 bits platforms 2032/head
Sebastien Ponce [Thu, 26 Jun 2014 13:00:15 +0000 (15:00 +0200)]
Fixed build on 32 bits platforms

Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
11 years agoAdded a couple of ASSERTS for avoiding coverity to complain about the possibility...
Sebastien Ponce [Thu, 26 Jun 2014 08:37:36 +0000 (10:37 +0200)]
Added a couple of ASSERTS for avoiding coverity to complain about the possibility of a division by 0

Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
11 years agoMerge pull request #2030 from ceph/wip-xattr-fix
Sage Weil [Thu, 26 Jun 2014 15:33:11 +0000 (08:33 -0700)]
Merge pull request #2030 from ceph/wip-xattr-fix

mds: set xattr_version to 0 if replay doesn't contain xattrs

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agomds: set xattr_version to 0 if replay doesn't contain xattrs 2030/head
Yan, Zheng [Thu, 26 Jun 2014 05:30:13 +0000 (13:30 +0800)]
mds: set xattr_version to 0 if replay doesn't contain xattrs

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agoMerge pull request #2019 from ceph/wip-refactor-cephtool-test
Sage Weil [Thu, 26 Jun 2014 05:06:58 +0000 (22:06 -0700)]
Merge pull request #2019 from ceph/wip-refactor-cephtool-test

qa/workunits/cephtool/test.sh: refactor and make it modular (yey! \o/)

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agocommon/fd.cc: fix possible out-of-bounds write
Danny Al-Gaaf [Thu, 26 Jun 2014 03:22:02 +0000 (05:22 +0200)]
common/fd.cc: fix possible out-of-bounds write

Read max 'sizeof(target) - 1' to not write out of bound
later on the 'target[r] = 0;' call in case we read the
full PATH_MAX.

CID 1128416 (#1 of 1): Out-of-bounds write (OVERRUN)
 overrun-local: Overrunning array target of 4096 bytes
 at byte offset 4096 using index r (which evaluates to 4096).

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agomount.ceph.c: fix strdup related memory leak
Danny Al-Gaaf [Thu, 26 Jun 2014 02:40:09 +0000 (04:40 +0200)]
mount.ceph.c: fix strdup related memory leak

CID 1219611 (#1 - 5): Resource leak (RESOURCE_LEAK)
 leaked_storage: Variable saw_name going out of scope
 leaks the storage it points to.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoscratchtool.c: fix resource leak and error handling
Danny Al-Gaaf [Thu, 26 Jun 2014 01:49:22 +0000 (03:49 +0200)]
scratchtool.c: fix resource leak and error handling

Check the result of rados_ioctx_create()before using io_ctx.
Free io_ctx where needed. Fix messages at the end of testrados().

CID 1219613 (#1 of 1): Resource leak (RESOURCE_LEAK)
 leaked_storage: Variable io_ctx going out of scope leaks the
 storage it points to.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoscratchtool.c: fix resource leak
Danny Al-Gaaf [Thu, 26 Jun 2014 00:46:30 +0000 (02:46 +0200)]
scratchtool.c: fix resource leak

CID 1219612 (#1 - 3): Resource leak (RESOURCE_LEAK)
 leaked_storage: Variable iter going out of scope leaks the
 storage it points to.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoqa/workunits: cephtool: fix 'osd bench' test 2019/head
Joao Eduardo Luis [Wed, 25 Jun 2014 20:25:29 +0000 (21:25 +0100)]
qa/workunits: cephtool: fix 'osd bench' test

Commit 7dc93a9651f602d9c46311524fc6b54c2f1ac595 fixed an incorrect
behavior with the OSD's 'osd bench' value hard-caps.  The test wasn't
appropriately modified unfortunately.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoosd: OSD: better explanation on 'max_count' calculation for 'osd bench'
Joao Eduardo Luis [Wed, 25 Jun 2014 20:20:45 +0000 (21:20 +0100)]
osd: OSD: better explanation on 'max_count' calculation for 'osd bench'

'max_count' is the maximum number of bytes that we are to allow for an
'osd bench' command.  This value is a hard-cap that takes into account
a predefined throughput, the 'osd bench' duration and, for a rather large
block size, can be taken as the amount of bytes that we would ever be
able to write in that period of time.

The explanation wasn't appropriate enough, hence this patch, which
hopefully will avoid confusion in the future.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa/workunits: cephtool: only run heap profiler test if tcmalloc enabled
Joao Eduardo Luis [Wed, 25 Jun 2014 00:48:24 +0000 (01:48 +0100)]
qa/workunits: cephtool: only run heap profiler test if tcmalloc enabled

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa/workunits: cephtool: set +e for the tcmalloc tests
Joao Eduardo Luis [Tue, 24 Jun 2014 22:16:17 +0000 (23:16 +0100)]
qa/workunits: cephtool: set +e for the tcmalloc tests

Avoids failing the tests when tcmalloc is not present

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa/workunits: cephtool: delete unnecessary function calls
Joao Eduardo Luis [Tue, 24 Jun 2014 21:47:31 +0000 (22:47 +0100)]
qa/workunits: cephtool: delete unnecessary function calls

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa/workunits: cephtool: disable bash debug when not running tests
Joao Eduardo Luis [Tue, 24 Jun 2014 21:46:44 +0000 (22:46 +0100)]
qa/workunits: cephtool: disable bash debug when not running tests

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa/workunits: cephtool: allow running individual tests
Joao Eduardo Luis [Tue, 24 Jun 2014 21:39:34 +0000 (22:39 +0100)]
qa/workunits: cephtool: allow running individual tests

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa/workunits: cephtool: cleanup state after erasure-code-profile test
Joao Eduardo Luis [Tue, 24 Jun 2014 19:55:27 +0000 (20:55 +0100)]
qa/workunits: cephtool: cleanup state after erasure-code-profile test

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa/workunits: cephtool: add/remove comments
Joao Eduardo Luis [Wed, 25 Jun 2014 00:17:58 +0000 (01:17 +0100)]
qa/workunits: cephtool: add/remove comments

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa/workunits: cephtool: split into properly indented functions
Joao Eduardo Luis [Wed, 25 Jun 2014 23:55:46 +0000 (00:55 +0100)]
qa/workunits: cephtool: split into properly indented functions

The test was a big sequence of commands being run and it has been growing
organically for a while, even though it has maintained a sense of
locality with regard to the portions being tested.

This patch intends to split the commands into functions, allowing for a
better semantic context and easier expansion.  On the other hand, this
will also allow us to implement mechanisms to run specific portions of
the test instead of always having to run the whole thing just to test a
couple of lines down at the bottom (or have to creatively edit the test).

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa/workunits: cephtool: move test line to where it's more appropriate
Joao Eduardo Luis [Wed, 25 Jun 2014 00:12:55 +0000 (01:12 +0100)]
qa/workunits: cephtool: move test line to where it's more appropriate

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa/workunits: cephtool: split into functions
Joao Eduardo Luis [Wed, 25 Jun 2014 00:11:52 +0000 (01:11 +0100)]
qa/workunits: cephtool: split into functions

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoMerge pull request #1863 from ceph/wip-rgw-manifest-iter
Josh Durgin [Wed, 25 Jun 2014 23:37:04 +0000 (16:37 -0700)]
Merge pull request #1863 from ceph/wip-rgw-manifest-iter

rgw: reduce calls to rgw_obj.set_obj()

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #2021 from ceph/wip-da-fix-make-check
Sage Weil [Wed, 25 Jun 2014 23:14:06 +0000 (16:14 -0700)]
Merge pull request #2021 from ceph/wip-da-fix-make-check

Fixes to get "make check" run on SUSE v2

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoMerge pull request #2001 from dachary/wip-tiermsg
Samuel Just [Wed, 25 Jun 2014 20:39:48 +0000 (13:39 -0700)]
Merge pull request #2001 from dachary/wip-tiermsg

mon: test that pools used in tiers cannot be removed

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1938 from dachary/wip-8071
Sage Weil [Wed, 25 Jun 2014 20:35:59 +0000 (13:35 -0700)]
Merge pull request #1938 from dachary/wip-8071

erasure-code: remove jerasure internals dependencies

11 years agoMerge pull request #2025 from ceph/wip-disable-static
Sage Weil [Wed, 25 Jun 2014 20:30:05 +0000 (13:30 -0700)]
Merge pull request #2025 from ceph/wip-disable-static

do_autogen.sh: --disable-static

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1967 from yuyuyu101/kvstore-fix-set-alloc-hint
Sage Weil [Wed, 25 Jun 2014 20:24:00 +0000 (13:24 -0700)]
Merge pull request #1967 from yuyuyu101/kvstore-fix-set-alloc-hint

Make KeyValueStore not use expected_write_size

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agotest/ceph-disk.sh: fix for SUSE 2021/head
Danny Al-Gaaf [Tue, 24 Jun 2014 17:54:17 +0000 (19:54 +0200)]
test/ceph-disk.sh: fix for SUSE

On SUSE 'which' returns always the full path of (shell) commands and
not e.g. './ceph-conf' as on Debian. Add check also for full
path returned by which.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoosdmaptool/test-map-pgs.t: fix escaping to fix run
Danny Al-Gaaf [Wed, 25 Jun 2014 07:56:52 +0000 (09:56 +0200)]
osdmaptool/test-map-pgs.t: fix escaping to fix run

Run failed always running into the '|| cat $OUT' case due
to bad escaping of '\t'. This is caused by different shells
on different distros (e.g. bash on SUSE vs dash on Ubuntu).

Use 'grep -P ' and fix the regex to make it shell independet.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoRevert "Give meaningful error when submodules are not checked out"
Sage Weil [Wed, 25 Jun 2014 20:19:03 +0000 (13:19 -0700)]
Revert "Give meaningful error when submodules are not checked out"

This reverts commit 87f9dbaf78ee040bbe0f56d2ada5299b150916b2.

This breaks the gitbuilders.  Maybe it needs the base dir to be explicit?

Signed-off-by: Sage Weil <sage@redhat.com>
11 years agoMake <poolname> in "ceph osd tier --help" clearer.
Accela Zhao [Wed, 18 Jun 2014 09:17:03 +0000 (17:17 +0800)]
Make <poolname> in "ceph osd tier --help" clearer.

The ceph osd tier --help info on the left always says <poolname>.
It is unclear which one to put <tierpool> on the right.

$ceph osd tier --help
osd tier add <poolname> <poolname> {--   add the tier <tierpool> to base pool
force-nonempty}                          <pool>
osd tier add-cache <poolname>            add a cache <tierpool> of size <size>
<poolname> <int[0-]>                     to existing pool <pool>
...

This patch modifies description on the right to tell which <poolname>:

osd tier add <poolname> <poolname> {--   add the tier <tierpool> (the second
 force-nonempty}                          one) to base pool <pool> (the first
                                           one)
...

Fix: http://tracker.ceph.com/issues/8256

Signed-off-by: Yilong Zhao <accelazh@gmail.com>
11 years agoMerge pull request #1978 from adamcrume/master
Sage Weil [Wed, 25 Jun 2014 18:35:16 +0000 (11:35 -0700)]
Merge pull request #1978 from adamcrume/master

OSD bug fix and developer error message

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoMerge pull request #2023 from adamcrume/wip-8661
Sage Weil [Wed, 25 Jun 2014 18:32:40 +0000 (11:32 -0700)]
Merge pull request #2023 from adamcrume/wip-8661

doc: Fix malformed parameters in librados.h

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoMerge pull request #1958 from jdurgin/wip-rbd-ro
Sage Weil [Wed, 25 Jun 2014 18:14:58 +0000 (11:14 -0700)]
Merge pull request #1958 from jdurgin/wip-rbd-ro

qa: add script to test krbd setting ro/rw ioctl

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoMerge branch 'wip-mon-sanity-checks'
Sage Weil [Wed, 25 Jun 2014 18:11:30 +0000 (11:11 -0700)]
Merge branch 'wip-mon-sanity-checks'

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agomon: simplify output
Sage Weil [Wed, 25 Jun 2014 18:10:32 +0000 (11:10 -0700)]
mon: simplify output

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge commit '4225e2f6c9f69682d0e7288d7809851b61a17c70'
Sage Weil [Wed, 25 Jun 2014 18:05:50 +0000 (11:05 -0700)]
Merge commit '4225e2f6c9f69682d0e7288d7809851b61a17c70'

Conflicts:
PendingReleaseNotes

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoMerge pull request #1973 from ceph/wip-8593
Sage Weil [Wed, 25 Jun 2014 17:55:25 +0000 (10:55 -0700)]
Merge pull request #1973 from ceph/wip-8593

mon: fix up health warnings

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoMerge pull request #1980 from ceph/wip-osd-stats
Sage Weil [Wed, 25 Jun 2014 17:52:51 +0000 (10:52 -0700)]
Merge pull request #1980 from ceph/wip-osd-stats

osd: move osd_stat tracking into OSDService; fix minor bug

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #2006 from ceph/wip-8603
Sage Weil [Wed, 25 Jun 2014 17:50:49 +0000 (10:50 -0700)]
Merge pull request #2006 from ceph/wip-8603

log the command that is being run with subprocess

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoMerge pull request #1969 from ceph/wip-vstart-conf
Sage Weil [Wed, 25 Jun 2014 17:48:06 +0000 (10:48 -0700)]
Merge pull request #1969 from ceph/wip-vstart-conf

vstart.sh: echo CEPH_{CONF,KEYRING} exports if necessary

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoMerge pull request #2022 from ceph/wip-mon-perf
Sage Weil [Wed, 25 Jun 2014 17:34:27 +0000 (10:34 -0700)]
Merge pull request #2022 from ceph/wip-mon-perf

mon: shut down perfcounters last

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agodo_autogen.sh: --disable-static 2025/head
Sage Weil [Wed, 25 Jun 2014 17:27:07 +0000 (10:27 -0700)]
do_autogen.sh: --disable-static

This will make builds go ~2x as fast when developing.

Reported-by: Luis Pabon <lpabon@redhat.com>
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1944 from athanatos/wip-8396
Gregory Farnum [Wed, 25 Jun 2014 17:02:41 +0000 (10:02 -0700)]
Merge pull request #1944 from athanatos/wip-8396

Move the waiting_for_pg list down into the Sessions, and coordinate the updates so that we don't get races
between the Pipe and handle_map threads.

Fixes: #8396
Fixes: #8505
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years ago0.82 v0.82
Jenkins [Wed, 25 Jun 2014 16:47:51 +0000 (16:47 +0000)]
0.82

11 years agoMerge pull request #2024 from dachary/wip-8630-inject-enxio
Sage Weil [Wed, 25 Jun 2014 16:24:08 +0000 (09:24 -0700)]
Merge pull request #2024 from dachary/wip-8630-inject-enxio

osd: workaround race condition in tests

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agoosd: workaround race condition in tests 2024/head
Loic Dachary [Wed, 25 Jun 2014 16:07:47 +0000 (18:07 +0200)]
osd: workaround race condition in tests

Trying to "ceph tell" a newly created OSD sometime triggers an
ENXIO. The OSD creation function used for test scripts waits for the OSD
to report that it is up (according to ceph osd tree) before
returning. That reduces (maybe close ?) the condition that triggers the
error so that the tests do not randomly fail.

http://tracker.ceph.com/issues/8630 refs: #8630

Signed-off-by: Loic Dachary <loic@dachary.org>