]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agobe a bit more explicit about 'ceph-deploy new' in quickstart 2206/head
Alfredo Deza [Tue, 5 Aug 2014 16:51:33 +0000 (12:51 -0400)]
be a bit more explicit about 'ceph-deploy new' in quickstart

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
10 years agoMerge branch 'master' of github.com:ceph/ceph
Sage Weil [Tue, 5 Aug 2014 16:15:34 +0000 (09:15 -0700)]
Merge branch 'master' of github.com:ceph/ceph

10 years agoMerge remote-tracking branch 'gh/wip-8880'
Sage Weil [Tue, 5 Aug 2014 16:15:12 +0000 (09:15 -0700)]
Merge remote-tracking branch 'gh/wip-8880'

Conflicts:
src/osd/OSD.cc

10 years agoMerge pull request #2204 from osynge/wip-dont-mkdir-by-mistake2
Alfredo Deza [Tue, 5 Aug 2014 15:50:57 +0000 (11:50 -0400)]
Merge pull request #2204 from osynge/wip-dont-mkdir-by-mistake2

Do not make directories by mistake.

Reviewed-by: Alfredo Deza <adeza@redhat.com>
10 years agoMerge pull request #1883 from ceph/wip-msgr
Sage Weil [Tue, 5 Aug 2014 15:50:05 +0000 (08:50 -0700)]
Merge pull request #1883 from ceph/wip-msgr

messenger refactoring for xio

Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agoDo not make directories by mistake. 2204/head
Owen Synge [Tue, 5 Aug 2014 15:28:16 +0000 (17:28 +0200)]
Do not make directories by mistake.

Rational: I found I had created a series of OSD directories under "/dev/" when disks I thought existed did not exist.
Warning: This change will be noticed by end users and may effect deployment infrastructures.

Signed-off-by: Owen Synge <osynge@suse.com>
10 years agoMerge pull request #2200 from theanalyst/typo
Sage Weil [Tue, 5 Aug 2014 14:57:51 +0000 (07:57 -0700)]
Merge pull request #2200 from theanalyst/typo

doc: typo s/loose/lose

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agopowerdns: Define a application variable when not invoked from Shell
Wido den Hollander [Tue, 5 Aug 2014 14:10:45 +0000 (16:10 +0200)]
powerdns: Define a application variable when not invoked from Shell

This allows to be run directly using mod_wsgi behind Apache.

10 years agodoc: typo s/loose/lose 2200/head
Abhishek Lekshmanan [Tue, 5 Aug 2014 05:05:03 +0000 (10:35 +0530)]
doc: typo s/loose/lose

Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
10 years agoMerge pull request #1875 from dachary/wip-8437
Sage Weil [Tue, 5 Aug 2014 00:41:53 +0000 (17:41 -0700)]
Merge pull request #1875 from dachary/wip-8437

erasure-code: benchmarking jerasure

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Mon, 4 Aug 2014 20:56:24 +0000 (13:56 -0700)]
Merge remote-tracking branch 'gh/next'

10 years agodoc/release-notes: make note about init-radosgw change
Sage Weil [Mon, 4 Aug 2014 20:48:06 +0000 (13:48 -0700)]
doc/release-notes: make note about init-radosgw change

This changed back in 524aee6f95f9c397b7c8508934f3c0577f9df1dd but
was not mentioned in the release notes.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodoc: Added 'x' to monitor cap.
John Wilkins [Mon, 4 Aug 2014 18:47:58 +0000 (11:47 -0700)]
doc: Added 'x' to monitor cap.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
10 years agoMerge pull request #2166 from majianpeng/bug-fix
Samuel Just [Mon, 4 Aug 2014 17:33:16 +0000 (10:33 -0700)]
Merge pull request #2166 from majianpeng/bug-fix

os/FileJournal: When dump journal, using correctly seq avoid misjudging joural corrupt.

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agoMerge pull request #2184 from majianpeng/fix2
Samuel Just [Mon, 4 Aug 2014 17:32:07 +0000 (10:32 -0700)]
Merge pull request #2184 from majianpeng/fix2

ECBackend: Don't directyly use get_recovery_chunk_size() in RecoveryOp::WRITING state

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agoMerge pull request #2194 from majianpeng/fix1
Samuel Just [Mon, 4 Aug 2014 17:31:18 +0000 (10:31 -0700)]
Merge pull request #2194 from majianpeng/fix1

osd/ECBackend: clean up assert(r==0) in continue_recovery_op.

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agoMerge pull request #2192 from ceph/wip-8891
Samuel Just [Mon, 4 Aug 2014 17:30:25 +0000 (10:30 -0700)]
Merge pull request #2192 from ceph/wip-8891

msg/SimpleMessenger: drop msgr lock when joining a Pipe

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agocls_rgw: fix object name of objects removed on object creation
Yehuda Sadeh [Wed, 30 Jul 2014 18:53:16 +0000 (11:53 -0700)]
cls_rgw: fix object name of objects removed on object creation

Fixes: #8972
Backport: firefly, dumpling

Reported-by: Patrycja Szabłowska <szablowska.patrycja@gmail.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 0f8929a68aed9bc3e50cf15765143a9c55826cd2)

10 years agorgw: need to pass need_to_wait for throttle_data()
Yehuda Sadeh [Sat, 2 Aug 2014 20:01:05 +0000 (13:01 -0700)]
rgw: need to pass need_to_wait for throttle_data()

need_to_wait wasn't passed into processor->throttle_data(). This was
broken in fix for #8937.

CID 1229541:    (PW.PARAM_SET_BUT_NOT_USED)

Backport: firefly

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

10 years agorgw: call processor->handle_data() again if needed
Yehuda Sadeh [Sat, 26 Jul 2014 03:33:52 +0000 (20:33 -0700)]
rgw: call processor->handle_data() again if needed

Fixes: #8937
Following the fix to #8928 we end up accumulating pending data that
needs to be written. Beforehand it was working fine because we were
feeding it with the exact amount of bytes we were writing.

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

10 years agoMerge pull request #2191 from ceph/wip-rgw-need-to-wait
Sage Weil [Mon, 4 Aug 2014 16:51:43 +0000 (09:51 -0700)]
Merge pull request #2191 from ceph/wip-rgw-need-to-wait

rgw: need to pass need_to_wait for throttle_data()

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2195 from apeters1971/wip-ec-isa-fast-xor
Loic Dachary [Mon, 4 Aug 2014 16:41:05 +0000 (18:41 +0200)]
Merge pull request #2195 from apeters1971/wip-ec-isa-fast-xor

EC-ISA: provide a 10% faster simple parity operation for (k, m=1)

Reviewed-by: Loic Dachary <loic@dachary.org>
10 years agoMerge pull request #2193 from ceph/wip-ceph-conf
Loic Dachary [Mon, 4 Aug 2014 16:28:49 +0000 (18:28 +0200)]
Merge pull request #2193 from ceph/wip-ceph-conf

ceph-conf: flush log on exit

Reviewed-by: Loic Dachary <loic@dachary.org>
10 years agoEC-ISA: provide a 10% faster simple parity operation for (k, m=1). Add simple parity... 2195/head
Andreas-Joachim Peters [Mon, 4 Aug 2014 13:03:32 +0000 (15:03 +0200)]
EC-ISA: provide a 10% faster simple parity operation for (k, m=1). Add simple parity unit test for k=4,m=1

10 years agoosd/ECBackend: clean up assert(r==0) in continue_recovery_op. 2194/head
Ma Jianpeng [Mon, 4 Aug 2014 10:00:28 +0000 (18:00 +0800)]
osd/ECBackend: clean up assert(r==0) in continue_recovery_op.

After the commit(d9106ce5e4437ab02), the assert(r==0) is no longer
necessary.

10 years agoerasure-code: HTML display of benchmark results 1875/head
Loic Dachary [Fri, 30 May 2014 13:24:25 +0000 (15:24 +0200)]
erasure-code: HTML display of benchmark results

The ceph_erasure_code_benchmark output is converted into a JSON series
suitable to display in HTML with the http://www.flotcharts.org/
library. A self contained copy of the HTML,JS,CSS files is included for
durability and can be used from the source tree with:

    CEPH_ERASURE_CODE_BENCHMARK=src/ceph_erasure_code_benchmark  \
    PLUGIN_DIRECTORY=src/.libs \
        qa/workunits/erasure-code/bench.sh fplot jerasure |
        tee qa/workunits/erasure-code/bench.js

and display with:

    firefox qa/workunits/erasure-code/bench.html

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoCOPYING: Cloudwatt copyright is inline
Loic Dachary [Tue, 27 May 2014 19:45:19 +0000 (21:45 +0200)]
COPYING: Cloudwatt copyright is inline

Remove partial list of contributions since Cloudwatt copyright has been
placed in the copyright notices of the files where works covered by
copyright have been included.

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoerasure-code: rework benchmark suite
Loic Dachary [Tue, 27 May 2014 17:25:22 +0000 (19:25 +0200)]
erasure-code: rework benchmark suite

Expand the default suite to enumerate all cases that are relevant to the
current code base so that it is easier to consume. Namely it means

 * iterating over object sizes of 4KB (what is used by default) and
   1MB (what was previous benchmarked)
 * grouping results in series that would make sense to plot to get the
   behavior of a given technique for a series of K/M values and all
   possible erasures.

Instead of specifying the iterations to run, set the size of the total
data set to be exercised and compute the iterations by dividing it by
the object size. Since the object size varies, it is impractical to
preset the number of iterations and get meaningful results.

The PARAMETERS environment variable is added to enable the caller to
inject --parameter jerasure-variant=generic, for instance.

The packets size is calculated based on the other parameters. The
options are limited when packets are small (4KB) and it would not make a
real difference to give control over it. The packet size is capped to
a maximum of 3100 bytes which is roughly what has been found to be an
optimal value for large packets (1MB).

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoerasure-code: properly indent ErasureCodePluginSelectJerasure.cc
Loic Dachary [Fri, 30 May 2014 12:33:59 +0000 (14:33 +0200)]
erasure-code: properly indent ErasureCodePluginSelectJerasure.cc

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoerasure-code: control jerasure plugin variant selection
Loic Dachary [Fri, 30 May 2014 12:33:15 +0000 (14:33 +0200)]
erasure-code: control jerasure plugin variant selection

The jerasure-variant parameter is interpreted as the name of the plugin
variant to be loaded regardless of the available CPU features. The
values can be sse3, sse4, generic. It is undocumented and meant for
benchmarking purposes, primarily to force the generic plugin to be
loaded when the sse4 would be chosen.

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoerasure-code: reduce jerasure verbosity
Loic Dachary [Tue, 27 May 2014 16:34:10 +0000 (18:34 +0200)]
erasure-code: reduce jerasure verbosity

Only output a message about adjusting the buffer size when it is
adjusted, not when the size does not need adjustment.

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoerasure-code: implement alignment on chunk sizes 1890/head
Loic Dachary [Tue, 27 May 2014 16:40:45 +0000 (18:40 +0200)]
erasure-code: implement alignment on chunk sizes

jerasure expects chunk sizes that are aligned on the largest possible
vector size that could be used by SSE instructions, when available (
LARGEST_VECTOR_WORDSIZE == 16 bytes ).

For techniques derived from Cauchy, encoding and decoding is done by
subdividing the chunk into packets of packetsize bytes. The operations
are done w * packetsize bytes at a time. It follows that each chunk must
have a size that is a multiple of w * packetsize bytes.

For techniques derived from Vandermonde, it is enough for a chunk to be
a multiple of w * LARGEST_VECTOR_WORDSIZE.

ErasureCodeJerasure::get_alignment returns a size alignment constraint
that has to be enforced as a multiple of the object size. The resulting
object size then has to match the chunk constraints described above
although they have no relationship with K. For Cauchy, it leads to
excessive padding, making it impossible to set sensible parameters for
when the object size is small.

When the per_chunk_alignement data member is true, the semantic of
ErasureCodeJerasure::get_alignment is changed to return a size alignment
constraint to be enforced as a multiple of the chunk size. The
ErasureCodeJerasure::get_chunk_size method is modified to use the new
semantic when appropriate.

The jerasure-per-chunk-alignement parameter is parsed to set
per_chunk_alignement for the Vandermonde and Cauchy techniques.

The memory address of a chunk is implicitly aligned to a page boundary
because it is allocated with buffer::create_page_aligned.

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

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoerasure-code: cauchy techniques allow w 8,16,32
Loic Dachary [Tue, 27 May 2014 16:36:09 +0000 (18:36 +0200)]
erasure-code: cauchy techniques allow w 8,16,32

Enforce the restriction at initialization time, the same way it is done
for Reed Solomon. Choosing a w value different from 8,16,32 will lead to
memory corruption that cannot easily be traced to the cause.

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoceph-conf: flush log on exit 2193/head
Sage Weil [Mon, 4 Aug 2014 04:00:37 +0000 (21:00 -0700)]
ceph-conf: flush log on exit

This makes it deterministic whether we output

2014-08-03 20:59:45.482614 4036c80 -1 did not load config file, using default settings.

or not, and will make the unit tests stop intermittently failing.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoECBackend: Don't directly use get_recovery_chunk_size() in RecoveryOp::WRITING state. 2184/head
Ma Jianpeng [Wed, 30 Jul 2014 03:03:17 +0000 (11:03 +0800)]
ECBackend: Don't directly use get_recovery_chunk_size() in RecoveryOp::WRITING state.

We cannot guarantee that conf->osd_recovery_max_chunk don't change when
recoverying a erasure object.
If change between RecoveryOp::READING and RecoveryOp::WRITING, it can cause this bug:

2014-07-30 10:12:09.599220 7f7ff26c0700 -1 osd/ECBackend.cc: In function
'void ECBackend::continue_recovery_op(ECBackend::RecoveryOp&,
RecoveryMessages*)' thread 7f7ff26c0700 time 2014-07-30 10:12:09.596837
osd/ECBackend.cc: 529: FAILED assert(pop.data.length() ==
sinfo.aligned_logical_offset_to_chunk_offset(
after_progress.data_recovered_to -
op.recovery_progress.data_recovered_to))

 ceph version 0.83-383-g3cfda57
(3cfda577b15039cb5c678b79bef3e561df826ed1)
 1: (ECBackend::continue_recovery_op(ECBackend::RecoveryOp&,RecoveryMessages*)+0x1a50) [0x928070]
 2: (ECBackend::handle_recovery_read_complete(hobject_t const&,
boost::tuples::tuple<unsigned long, unsigned long, std::map<pg_shard_t,
ceph::buffer::list, std::less<pg_shard_t>,
std::allocator<std::pair<pg_shard_t const, ceph::buffer::list> > >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type>&, boost::optional<std::map<std::string,
ceph::buffer::list, std::less<std::string>,
std::allocator<std::pair<std::string const, ceph::buffer::list> > > >,
RecoveryMessages*)+0x90c) [0x92952c]
 3: (OnRecoveryReadComplete::finish(std::pair<RecoveryMessages*,
ECBackend::read_result_t&>&)+0x121) [0x938481]
 4: (GenContext<std::pair<RecoveryMessages*,
ECBackend::read_result_t&>&>::complete(std::pair<RecoveryMessages*,
ECBackend::read_result_t&>&)+0x9) [0x929d69]
 5: (ECBackend::complete_read_op(ECBackend::ReadOp&,RecoveryMessages*)+0x63) [0x91c6e3]
 6: (ECBackend::handle_sub_read_reply(pg_shard_t, ECSubReadReply&,RecoveryMessages*)+0x96d) [0x920b4d]
 7: (ECBackend::handle_message(std::tr1::shared_ptr<OpRequest>)+0x17e)[0x92884e]
 8: (ReplicatedPG::do_request(std::tr1::shared_ptr<OpRequest>&,ThreadPool::TPHandle&)+0x23b) [0x7b34db]
 9: (OSD::dequeue_op(boost::intrusive_ptr<PG>,std::tr1::shared_ptr<OpRequest>, ThreadPool::TPHandle&)+0x428)
[0x638d58]
 10: (OSD::ShardedOpWQ::_process(unsigned int,ceph::heartbeat_handle_d*)+0x346) [0x6392f6]
 11: (ShardedThreadPool::shardedthreadpool_worker(unsigned int)+0x8ce)[0xa5caae]
 12: (ShardedThreadPool::WorkThreadSharded::entry()+0x10) [0xa5ed00]
 13: (()+0x8182) [0x7f800b5d3182]
 14: (clone()+0x6d) [0x7f800997430d]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is
needed to interpret this.

So we only get the get_recovery_chunk_size() at RecoverOp::READING and
record it using RecoveryOp::extent_requested.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
10 years agomsg/SimpleMessenger: drop msgr lock when joining a Pipe 2192/head
Sage Weil [Mon, 4 Aug 2014 01:26:34 +0000 (18:26 -0700)]
msg/SimpleMessenger: drop msgr lock when joining a Pipe

Avoid this deadlock:

- a fault
- delay thread entry gets a fast dispatch message
 - drops delay_lock
 - calls into fast_dispatch
- reaper tries to reap the pipe
 - pipe->join()
  - delay_thread->join()
   - blocks waiting for delay_thread to exit
- delay thread / fast dispatch blocks on msgr->lock trying to mark_down

The solution is to drop the msgr lock while joining the thread.  This will
allow the join() to complete.  Adjust the reaper thread to recheck the
exit condition since the lock may have been dropped.  The other two callers
do not care.

Fixes: #8891
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoos/MemStore: fix lock leak
Sage Weil [Sun, 3 Aug 2014 18:23:33 +0000 (11:23 -0700)]
os/MemStore: fix lock leak

CID 1228868 (#2-1 of 2): Missing unlock (LOCK)
12. missing_unlock: Returning without unlocking oc->lock.L.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agorgw: need to pass need_to_wait for throttle_data() 2191/head
Yehuda Sadeh [Sat, 2 Aug 2014 20:01:05 +0000 (13:01 -0700)]
rgw: need to pass need_to_wait for throttle_data()

need_to_wait wasn't passed into processor->throttle_data(). This was
broken in fix for #8937.

CID 1229541:    (PW.PARAM_SET_BUT_NOT_USED)

Backport: firefly

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agodoc/release-notes: fix syntax error
Sage Weil [Sat, 2 Aug 2014 04:19:26 +0000 (21:19 -0700)]
doc/release-notes: fix syntax error

Attempt 2...

ERROR: /srv/autobuild-ceph/gitbuilder.git/build/doc/release-notes.rst:22: Unknown target name: "leveldb".

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2188 from wonzhq/obj-mtime
Sage Weil [Sat, 2 Aug 2014 02:27:01 +0000 (19:27 -0700)]
Merge pull request #2188 from wonzhq/obj-mtime

osd: add local_mtime to struct object_info_t

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoos/KeyValueStore: clean up operator<< for KVSuperBlock
Sage Weil [Sat, 2 Aug 2014 02:24:26 +0000 (19:24 -0700)]
os/KeyValueStore: clean up operator<< for KVSuperBlock

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2174 from yuyuyu101/kvstore-superblock
Sage Weil [Sat, 2 Aug 2014 02:23:35 +0000 (19:23 -0700)]
Merge pull request #2174 from yuyuyu101/kvstore-superblock

Kvstore superblock

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2169 from ceph/wip-double-pc
Sage Weil [Sat, 2 Aug 2014 01:01:43 +0000 (18:01 -0700)]
Merge pull request #2169 from ceph/wip-double-pc

mon: s/%%/%/

Realized where these came from; it was an accident.

10 years agoMerge branch 'wip-cache-second'
Sage Weil [Fri, 1 Aug 2014 22:37:33 +0000 (15:37 -0700)]
Merge branch 'wip-cache-second'

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agoceph_test_rados_api_tier: test promote-on-second-read behavior
Signed-off-by: Zhiqiang Wang [Thu, 31 Jul 2014 22:49:44 +0000 (15:49 -0700)]
ceph_test_rados_api_tier: test promote-on-second-read behavior

Signed-off-by: Zhiqiang Wang <wonzhq@hotmail.com>
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd: promotion on 2nd read for cache tiering
Zhiqiang Wang [Mon, 28 Jul 2014 06:06:06 +0000 (14:06 +0800)]
osd: promotion on 2nd read for cache tiering

Signed-off-by: Zhiqiang Wang <wonzhq@hotmail.com>
10 years agoMerge pull request #2183 from majianpeng/master
Samuel Just [Fri, 1 Aug 2014 20:31:08 +0000 (13:31 -0700)]
Merge pull request #2183 from majianpeng/master

ECBackend: Using ROUND_UP_TO to refactor function get_recovery_chunk_size()

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agoMerge pull request #2175 from majianpeng/fix1
Samuel Just [Fri, 1 Aug 2014 20:30:04 +0000 (13:30 -0700)]
Merge pull request #2175 from majianpeng/fix1

ReplicatedPG: For async-read, set the real result after completing read.

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agoMerge pull request #2180 from ceph/wip-ec-isa
Sage Weil [Fri, 1 Aug 2014 17:00:23 +0000 (10:00 -0700)]
Merge pull request #2180 from ceph/wip-ec-isa

osd: add support for intel ISA-L EC library

10 years agoMerge pull request #2172 from ceph/wip-8714
Samuel Just [Fri, 1 Aug 2014 16:57:24 +0000 (09:57 -0700)]
Merge pull request #2172 from ceph/wip-8714

osd: prevent old clients from using tiered pools

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Fri, 1 Aug 2014 14:08:28 +0000 (07:08 -0700)]
Merge remote-tracking branch 'gh/next'

10 years agoMerge pull request #2190 from ceph/wip-osd-leaks
Gregory Farnum [Fri, 1 Aug 2014 14:08:16 +0000 (10:08 -0400)]
Merge pull request #2190 from ceph/wip-osd-leaks

osd: do not leak Session* ref in _send_boot()

Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agoMerge pull request #2182 from ceph/wip-round
Gregory Farnum [Fri, 1 Aug 2014 12:11:08 +0000 (08:11 -0400)]
Merge pull request #2182 from ceph/wip-round

use llrintl when converting double to micro

Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agoosd: add local_mtime to struct object_info_t 2188/head
Zhiqiang Wang [Fri, 1 Aug 2014 08:09:50 +0000 (16:09 +0800)]
osd: add local_mtime to struct object_info_t

This fixes a bug when the time of the OSDs and clients are not
synchronized (especially when client is ahead of OSD), and the cache
tier dirty ratio reaches the threshold, the agent skips the flush work
because it thinks the object is too young.

Signed-off-by: Zhiqiang Wang <wonzhq@hotmail.com>
10 years agoMerge branch 'wip-rocksdb'
Sage Weil [Fri, 1 Aug 2014 04:11:44 +0000 (21:11 -0700)]
Merge branch 'wip-rocksdb'

10 years agorocksdb: -Wno-portability
Sage Weil [Thu, 31 Jul 2014 18:08:43 +0000 (11:08 -0700)]
rocksdb: -Wno-portability

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoautogen.sh: debug with -x
Sage Weil [Wed, 30 Jul 2014 19:33:47 +0000 (12:33 -0700)]
autogen.sh: debug with -x

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodebian, rpm: build rocksdb statically if we can
Sage Weil [Tue, 29 Jul 2014 22:38:18 +0000 (15:38 -0700)]
debian, rpm: build rocksdb statically if we can

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodebian, rpm: build require bzip2 dev
Sage Weil [Tue, 29 Jul 2014 23:19:02 +0000 (16:19 -0700)]
debian, rpm: build require bzip2 dev

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoadd rocksdb bz2 dep
Sage Weil [Tue, 29 Jul 2014 00:51:06 +0000 (17:51 -0700)]
add rocksdb bz2 dep

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoconfigure: enable static rocksdb if check and c++11
Sage Weil [Tue, 29 Jul 2014 00:03:06 +0000 (17:03 -0700)]
configure: enable static rocksdb if check and c++11

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMakefile: include rocksdb in dist tarball always
Sage Weil [Mon, 28 Jul 2014 23:42:19 +0000 (16:42 -0700)]
Makefile: include rocksdb in dist tarball always

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoconfigure: verify c++11 is present for rocksdb
Sage Weil [Mon, 28 Jul 2014 23:36:48 +0000 (16:36 -0700)]
configure: verify c++11 is present for rocksdb

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agorocksdb: require less shiny autoconf
Sage Weil [Mon, 28 Jul 2014 21:07:21 +0000 (14:07 -0700)]
rocksdb: require less shiny autoconf

precise has 2.59

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agodo_autogen.sh: build with static librocksdb
Sage Weil [Mon, 28 Jul 2014 21:04:20 +0000 (14:04 -0700)]
do_autogen.sh: build with static librocksdb

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agorocksdb: update submodule makefile
Josh Durgin [Wed, 16 Jul 2014 18:33:03 +0000 (11:33 -0700)]
rocksdb: update submodule makefile

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
10 years agounittest_erasure_code_[plugin_]isa: conditionally compile 2180/head
Sage Weil [Fri, 1 Aug 2014 04:06:08 +0000 (21:06 -0700)]
unittest_erasure_code_[plugin_]isa: conditionally compile

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd: do not leak Session* ref in _send_boot() 2190/head
Sage Weil [Fri, 1 Aug 2014 03:59:49 +0000 (20:59 -0700)]
osd: do not leak Session* ref in _send_boot()

The get_priv() call returns a ref; make sure we drop it if it exists.
This doesn't happen on every run because usually it is NULL and we take
the other path; it's only after the OSD has been marked down that we reach
the second path.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2157 from ceph/wip-8937
Yehuda Sadeh [Fri, 1 Aug 2014 01:11:12 +0000 (18:11 -0700)]
Merge pull request #2157 from ceph/wip-8937

rgw: call processor->handle_data() again if needed

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoerasure-code/isa: fix signed/unsigned comparison
Sage Weil [Fri, 1 Aug 2014 00:46:32 +0000 (17:46 -0700)]
erasure-code/isa: fix signed/unsigned comparison

warning: erasure-code/isa/ErasureCodeIsa.cc:313: comparison between signed and unsigned integer expressions

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoerasure-code/isa: don't use typename outside of template
Sage Weil [Fri, 1 Aug 2014 00:45:49 +0000 (17:45 -0700)]
erasure-code/isa: don't use typename outside of template

error: erasure-code/isa/ErasureCodeIsa.h:141: using 'typename' outside of template

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoECBackend: Using ROUND_UP_TO to refactor function get_recovery_chunk_size() 2183/head
Ma Jianpeng [Wed, 30 Jul 2014 03:38:37 +0000 (11:38 +0800)]
ECBackend: Using ROUND_UP_TO to refactor function get_recovery_chunk_size()

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
10 years agoReplicatedPG: For async-read, set the real result after completing read. 2175/head
Ma Jianpeng [Thu, 31 Jul 2014 02:19:32 +0000 (10:19 +0800)]
ReplicatedPG: For async-read, set the real result after completing read.

When reading an object from replicated pool, ceph uses sync mode,
so it can set the results in execute_ctx correctly.
However, For the async-read in EC Pool, current code didn't set the
real results after read in complete_read_ctx.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
10 years agodoc/release-notes: tweak quoting
Sage Weil [Thu, 31 Jul 2014 23:19:09 +0000 (16:19 -0700)]
doc/release-notes: tweak quoting

ERROR: /srv/autobuild-ceph/gitbuilder.git/build/doc/release-notes.rst:22: Unknown target name: "leveldb".

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agouse llrintl when converting double to micro 2182/head
Sage Weil [Thu, 31 Jul 2014 22:39:40 +0000 (15:39 -0700)]
use llrintl when converting double to micro

This avoids rounding error (noticeable on i386).

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoconfigure: check for 'better' yasm that can build ISA-L
Sage Weil [Thu, 31 Jul 2014 22:18:51 +0000 (15:18 -0700)]
configure: check for 'better' yasm that can build ISA-L

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoerasure-code/isa/Makefile: add missing \, and missing headers
Sage Weil [Thu, 31 Jul 2014 18:54:58 +0000 (11:54 -0700)]
erasure-code/isa/Makefile: add missing \, and missing headers

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoyasm-wrapper: fix -f ...
Sage Weil [Thu, 31 Jul 2014 20:43:03 +0000 (13:43 -0700)]
yasm-wrapper: fix -f ...

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoyasm-wrapper: turn -I foo into -i foo
Sage Weil [Thu, 31 Jul 2014 20:42:58 +0000 (13:42 -0700)]
yasm-wrapper: turn -I foo into -i foo

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoyasm-wrapper: echo original args
Sage Weil [Thu, 31 Jul 2014 18:40:03 +0000 (11:40 -0700)]
yasm-wrapper: echo original args

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoEC: add plugin for Intel ISA-L library
Andreas-Joachim Peters [Fri, 20 Jun 2014 15:05:28 +0000 (17:05 +0200)]
EC: add plugin for Intel ISA-L library

10 years agoMerge pull request #2179 from ceph/wip-8982
Samuel Just [Thu, 31 Jul 2014 18:28:04 +0000 (11:28 -0700)]
Merge pull request #2179 from ceph/wip-8982

osd: fix cache pools without hit_sets configured

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agomon/OSDMonitor: warn when cache pools do not have hit_sets configured 2179/head
Sage Weil [Thu, 31 Jul 2014 18:02:55 +0000 (11:02 -0700)]
mon/OSDMonitor: warn when cache pools do not have hit_sets configured

Give users a clue when cache pools are enabled but the hit_set is not
configured.  Note that technically this will work, but not well, so for
now let's just steer them away.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd/ReplicatedPG: improve agent_choose_mode args
Sage Weil [Thu, 31 Jul 2014 16:28:12 +0000 (09:28 -0700)]
osd/ReplicatedPG: improve agent_choose_mode args

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agovstart.sh: limit open files
Sage Weil [Thu, 31 Jul 2014 16:26:20 +0000 (09:26 -0700)]
vstart.sh: limit open files

Most users only get 1024 fds.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd/ReplicatedPG: evict blindly if there is no hit_set
Sage Weil [Thu, 31 Jul 2014 16:26:03 +0000 (09:26 -0700)]
osd/ReplicatedPG: evict blindly if there is no hit_set

If there is no hit set for a PG, blindly evict objects.  This avoids an
assert(hit_set) in agent_estimate_atime_temp().

Fixes: #8982
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd/ReplicatedPG: check agent_mode if agent is enabled but hit_sets aren't
Sage Weil [Thu, 31 Jul 2014 16:13:11 +0000 (09:13 -0700)]
osd/ReplicatedPG: check agent_mode if agent is enabled but hit_sets aren't

It is probably not a good idea to try to run the tiering agent without a
hit_set to inform its actions, but it is technically possible.  For
example, one could simply blindly evict when we reach the full point.
However, this doesn't work because the agent mode is guarded by a hit_set
check, even though agent_setup() is not.  Fix that.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2168 from ceph/wip-8972
Josh Durgin [Thu, 31 Jul 2014 16:55:31 +0000 (09:55 -0700)]
Merge pull request #2168 from ceph/wip-8972

cls_rgw: fix object name of objects removed on object creation

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
10 years agoMerge pull request #2173 from ceph/wip-8969
Gregory Farnum [Thu, 31 Jul 2014 12:59:00 +0000 (08:59 -0400)]
Merge pull request #2173 from ceph/wip-8969

fix i386 atomics

Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agoMerge pull request #1990 from dachary/wip-erasure-code-profile-default
Loic Dachary [Thu, 31 Jul 2014 12:16:32 +0000 (18:01 +0545)]
Merge pull request #1990 from dachary/wip-erasure-code-profile-default

erasure-code: create default profile if necessary

Reviewed-by: Joao Eduardo Luis <jluis@redhat.com>
10 years agoMerge pull request #2162 from ceph/wip-8586
Sage Weil [Thu, 31 Jul 2014 03:57:06 +0000 (20:57 -0700)]
Merge pull request #2162 from ceph/wip-8586

rgw: fix crash in swift CORS preflight request

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoFileStore: Add omap_backend to "<<" operator 2174/head
Haomai Wang [Thu, 31 Jul 2014 02:14:27 +0000 (10:14 +0800)]
FileStore: Add omap_backend to "<<" operator

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoAdd superblock to KeyValueStore
Haomai Wang [Thu, 31 Jul 2014 02:13:31 +0000 (10:13 +0800)]
Add superblock to KeyValueStore

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoKeyValueStore: use generic KeyValueDB::create()
Haomai Wang [Thu, 31 Jul 2014 01:51:40 +0000 (09:51 +0800)]
KeyValueStore: use generic KeyValueDB::create()

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agomon/OSDMonitor: fix i386 floating point rounding error 2173/head
Sage Weil [Thu, 31 Jul 2014 00:50:39 +0000 (17:50 -0700)]
mon/OSDMonitor: fix i386 floating point rounding error

This would round .123 to .122999 on i386; now it does not.

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2171 from ceph/wip-cli-integration
Josh Durgin [Wed, 30 Jul 2014 23:57:38 +0000 (16:57 -0700)]
Merge pull request #2171 from ceph/wip-cli-integration

fix rbd cli-integratoin tests

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
10 years agoMerge pull request #2164 from ceph/wip-8944
Sage Weil [Wed, 30 Jul 2014 21:56:34 +0000 (14:56 -0700)]
Merge pull request #2164 from ceph/wip-8944

ceph.in: Pass global args to ceph-conf for proper lookup

Backport: firefly
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoqa/workunits/cephtool/test_daemon.sh: verify ceph -c works with daemon 2164/head
Dan Mick [Wed, 30 Jul 2014 21:50:37 +0000 (14:50 -0700)]
qa/workunits/cephtool/test_daemon.sh: verify ceph -c works with daemon

Signed-off-by: Dan Mick <dan.mick@inktank.com>
10 years agoqa/workunits/cephtool/test_daemon.sh: typo
Dan Mick [Wed, 30 Jul 2014 21:49:02 +0000 (14:49 -0700)]
qa/workunits/cephtool/test_daemon.sh: typo

Signed-off-by: Dan Mick <dan.mick@inktank.com>
10 years agoqa/workunits/cephtool/test_daemon.sh: allow local ceph command
Dan Mick [Wed, 30 Jul 2014 21:48:28 +0000 (14:48 -0700)]
qa/workunits/cephtool/test_daemon.sh: allow local ceph command