]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoPGLog: test for missing using the correct shard value 1296/head 1297/head
Samuel Just [Fri, 21 Feb 2014 21:25:36 +0000 (13:25 -0800)]
PGLog: test for missing using the correct shard value

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoOSD: fix query for ec pgs
Samuel Just [Fri, 21 Feb 2014 21:25:17 +0000 (13:25 -0800)]
OSD: fix query for ec pgs

We need to parse a pg_t and translate it into an spg_t.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoObjecter: make is_pg_changed static and const for old/newacting
Samuel Just [Fri, 21 Feb 2014 20:00:06 +0000 (12:00 -0800)]
Objecter: make is_pg_changed static and const for old/newacting

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoOSDMap: make calc_pg_rank/role const for acting
Samuel Just [Fri, 21 Feb 2014 19:59:16 +0000 (11:59 -0800)]
OSDMap: make calc_pg_rank/role const for acting

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoObjecter: resend op if primary role changed
Samuel Just [Fri, 21 Feb 2014 19:59:04 +0000 (11:59 -0800)]
Objecter: resend op if primary role changed

Fixes: #7508
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoECTransaction: require hash_infos for deleted objects
Samuel Just [Fri, 21 Feb 2014 17:34:15 +0000 (09:34 -0800)]
ECTransaction: require hash_infos for deleted objects

Otherwise, an append preceded by a delete may not see the
correct HashInfo state since it won't have been cached
until the delete is applied.

Fixes: #7506
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoECUtil: clear() should reset hashes to -1, not 0
Samuel Just [Fri, 21 Feb 2014 17:33:05 +0000 (09:33 -0800)]
ECUtil: clear() should reset hashes to -1, not 0

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG::cancel_pull: ECBackend might cancel_pull on a non-missing object
Samuel Just [Fri, 21 Feb 2014 02:32:08 +0000 (18:32 -0800)]
ReplicatedPG::cancel_pull: ECBackend might cancel_pull on a non-missing object

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoECBackend::filter_read_op: clean up read state properly
Samuel Just [Fri, 21 Feb 2014 02:31:35 +0000 (18:31 -0800)]
ECBackend::filter_read_op: clean up read state properly

Fixes: #7494
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge branch 'wip-6685-firefly' into firefly
David Zafman [Sat, 22 Feb 2014 03:28:37 +0000 (19:28 -0800)]
Merge branch 'wip-6685-firefly' into firefly

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge remote-tracking branch 'origin/wip-da-SCA-20140218' into firefly
Josh Durgin [Sat, 22 Feb 2014 01:40:30 +0000 (17:40 -0800)]
Merge remote-tracking branch 'origin/wip-da-SCA-20140218' into firefly

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoAdded evaluation of cluster and fixed evaluation when setting initial weight on start...
Christopher O'Connell [Sat, 22 Feb 2014 02:23:38 +0000 (18:23 -0800)]
Added evaluation of cluster and fixed evaluation when setting initial weight on start in verbose mode

Signed-off-by: Christopher O'Connell <jwriteclub@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #1286 from ceph/wip-corpus
Josh Durgin [Fri, 21 Feb 2014 23:57:29 +0000 (15:57 -0800)]
Merge pull request #1286 from ceph/wip-corpus

ceph-object-corpus: prune some old releases

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoRevert "ReplicatedPG::recover_backfill: adjust last_backfill to HEAD if snapdir"
David Zafman [Mon, 17 Feb 2014 02:24:33 +0000 (18:24 -0800)]
Revert "ReplicatedPG::recover_backfill: adjust last_backfill to HEAD if snapdir"

This reverts commit 545135f3e1c75318940caa2c82ac32a53fc4f957.

Conflicts:

src/osd/ReplicatedPG.cc

11 years agoMerge remote-tracking branch 'origin/port/updates' into firefly
Josh Durgin [Fri, 21 Feb 2014 22:46:27 +0000 (14:46 -0800)]
Merge remote-tracking branch 'origin/port/updates' into firefly

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoceph-object-corpus: prune some old releases 1286/head
Sage Weil [Fri, 21 Feb 2014 21:57:24 +0000 (13:57 -0800)]
ceph-object-corpus: prune some old releases

We do not need to test these old object encodings as they are covered by
later object collections.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge remote-tracking branch 'origin/wip-6936' into firefly
Josh Durgin [Fri, 21 Feb 2014 21:10:47 +0000 (13:10 -0800)]
Merge remote-tracking branch 'origin/wip-6936' into firefly

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge remote-tracking branch 'origin/wip-7099' into firefly
Josh Durgin [Fri, 21 Feb 2014 21:09:52 +0000 (13:09 -0800)]
Merge remote-tracking branch 'origin/wip-7099' into firefly

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge remote-tracking branch 'origin/wip-6830' into firefly
Josh Durgin [Fri, 21 Feb 2014 21:08:21 +0000 (13:08 -0800)]
Merge remote-tracking branch 'origin/wip-6830' into firefly

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge remote-tracking branch 'origin/wip-6951' into firefly
Josh Durgin [Fri, 21 Feb 2014 21:07:34 +0000 (13:07 -0800)]
Merge remote-tracking branch 'origin/wip-6951' into firefly

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge remote-tracking branch 'origin/wip-7064' into firefly
Josh Durgin [Fri, 21 Feb 2014 21:06:37 +0000 (13:06 -0800)]
Merge remote-tracking branch 'origin/wip-7064' into firefly

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge remote-tracking branch 'origin/wip-7271' into firefly
Josh Durgin [Fri, 21 Feb 2014 21:05:49 +0000 (13:05 -0800)]
Merge remote-tracking branch 'origin/wip-7271' into firefly

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agodencoder: check for radosgw build option 1288/head
Noah Watkins [Fri, 21 Feb 2014 21:00:29 +0000 (13:00 -0800)]
dencoder: check for radosgw build option

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agoosd: use ceph scoped shared_ptr
Noah Watkins [Fri, 21 Feb 2014 21:00:09 +0000 (13:00 -0800)]
osd: use ceph scoped shared_ptr

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agoMerge remote-tracking branch 'upstream/next'
Samuel Just [Fri, 21 Feb 2014 01:04:14 +0000 (17:04 -0800)]
Merge remote-tracking branch 'upstream/next'

11 years agoMerge remote-tracking branch 'upstream/wip-copyget' into next
Samuel Just [Fri, 21 Feb 2014 01:02:17 +0000 (17:02 -0800)]
Merge remote-tracking branch 'upstream/wip-copyget' into next

Fixes: #7471
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoPG::build_might_have_unfound: skip CRUSH_ITEM_NONE 1278/head
Samuel Just [Fri, 21 Feb 2014 00:00:52 +0000 (16:00 -0800)]
PG::build_might_have_unfound: skip CRUSH_ITEM_NONE

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoECBackend: deal with temp collection details in handle_sub_write
Samuel Just [Thu, 20 Feb 2014 23:01:07 +0000 (15:01 -0800)]
ECBackend: deal with temp collection details in handle_sub_write

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG::on_global_recover: requeue degraded, then unreadable
Samuel Just [Thu, 20 Feb 2014 21:15:51 +0000 (13:15 -0800)]
ReplicatedPG::on_global_recover: requeue degraded, then unreadable

We need to requeue in reverse order since we are requeueing at the
front.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agorgw: minor cleanup
Yehuda Sadeh [Thu, 20 Feb 2014 17:01:21 +0000 (09:01 -0800)]
rgw: minor cleanup

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoFix generate keystone token from credentials
Mouad Benchchaoui [Thu, 20 Feb 2014 16:06:33 +0000 (17:06 +0100)]
Fix generate keystone token from credentials

Request to v2.0/tokens must be a POST request and the request
should specify JSON in the content-type header and fix request
body JSON generation to have the right JSON format.

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
Signed-off-by: Mouad Benchchaoui <m.benchchaoui@x-ion.de>
11 years agoMerge branch 'next'
Ken Dreyer [Thu, 20 Feb 2014 03:05:51 +0000 (03:05 +0000)]
Merge branch 'next'

Conflicts:
src/test/admin_socket.cc

Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
11 years agoRadosModel: copyfrom should result in a dirty object
Samuel Just [Thu, 20 Feb 2014 02:41:19 +0000 (18:41 -0800)]
RadosModel: copyfrom should result in a dirty object

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoPG: fix scrub feature check
Samuel Just [Thu, 20 Feb 2014 02:22:34 +0000 (18:22 -0800)]
PG: fix scrub feature check

acting[0] isn't necessarily the primary.  Start at
0 and explicitely skip the primary.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: assert no omap for ec pool in _write_copy_chunk and skip
Samuel Just [Thu, 20 Feb 2014 00:17:17 +0000 (16:17 -0800)]
ReplicatedPG: assert no omap for ec pool in _write_copy_chunk and skip

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoECBackend: handle short reads
Samuel Just [Wed, 19 Feb 2014 23:50:16 +0000 (15:50 -0800)]
ECBackend: handle short reads

async reads may have a length past the end of the object.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: ensure that ec appends are aligned
Samuel Just [Wed, 19 Feb 2014 22:26:51 +0000 (14:26 -0800)]
ReplicatedPG: ensure that ec appends are aligned

When not writing out the last chunk, _write_copy_chunk
will trim the chunk to a stripe boundary for ec pools
and adjust cursor.data_offset to compensate.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG::fill_in_copy_get, use getattr_maybe_cache
Samuel Just [Wed, 19 Feb 2014 21:54:02 +0000 (13:54 -0800)]
ReplicatedPG::fill_in_copy_get, use getattr_maybe_cache

Also, add user_only flag to getattr_maybe_cache and cleanup
the other user.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: fix stat uses to use the correct shard
Samuel Just [Wed, 19 Feb 2014 21:49:20 +0000 (13:49 -0800)]
ReplicatedPG: fix stat uses to use the correct shard

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoOSDMap::_apply_primary_affinity: skip CRUSH_ITEM_NONE in non-default check
Samuel Just [Wed, 19 Feb 2014 23:19:03 +0000 (15:19 -0800)]
OSDMap::_apply_primary_affinity: skip CRUSH_ITEM_NONE in non-default check

Fixes: #7482
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
11 years agodoc/release-notes: v0.77
Sage Weil [Thu, 20 Feb 2014 00:57:25 +0000 (16:57 -0800)]
doc/release-notes: v0.77

Also pending notes for v0.78

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc/release-notes: v0.67.7
Sage Weil [Thu, 20 Feb 2014 00:20:35 +0000 (16:20 -0800)]
doc/release-notes: v0.67.7

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agov0.77 v0.77
Ken Dreyer [Wed, 19 Feb 2014 22:54:44 +0000 (22:54 +0000)]
v0.77

11 years agoosd/,mon/: add (up|acting)_primary to pg_stat_t
Samuel Just [Wed, 19 Feb 2014 20:16:46 +0000 (12:16 -0800)]
osd/,mon/: add (up|acting)_primary to pg_stat_t

We use pg_stat_t information to determine pg create targeting.

Fixes: #7481
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #1256 from ceph/wip-librados-ops-and-rvals
Josh Durgin [Wed, 19 Feb 2014 19:18:57 +0000 (11:18 -0800)]
Merge pull request #1256 from ceph/wip-librados-ops-and-rvals

librados c api for object operations and a few bug fixes

Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Sage Weil <sage.weil@inktank.com>
11 years agorgw: fix swift range response 1274/head
Yehuda Sadeh [Wed, 19 Feb 2014 16:59:07 +0000 (08:59 -0800)]
rgw: fix swift range response

Fixes: #7099
Backport: dumpling
The range response header was broken in swift.

Reported-by: Julien Calvet <julien.calvet@neurea.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: fix etag in multipart complete 1273/head
Yehuda Sadeh [Wed, 19 Feb 2014 16:30:51 +0000 (08:30 -0800)]
rgw: fix etag in multipart complete

Fixes: #6830
The etag member variable was not set correctly.

Reported-by: Benjamin Gilbert <bgilbert@backtick.net>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: reset objv tracker on bucket recreation 1272/head
Yehuda Sadeh [Wed, 19 Feb 2014 16:11:56 +0000 (08:11 -0800)]
rgw: reset objv tracker on bucket recreation

Fixes: #6951
If we cannot create a new bucket (as it already existed), we need to
read the old bucket's info. However, this was failing as we were holding
the objv tracker that we created for the bucket creation. We need to
clear it, as subsequent read using it will fail.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoradosgw-admin: don't generate access key if user exists 1271/head 1275/head
Yehuda Sadeh [Wed, 19 Feb 2014 18:27:14 +0000 (10:27 -0800)]
radosgw-admin: don't generate access key if user exists

Fixes: #6936
We want the user creation operation to be idempotent, so if user already
exists don't generate a new access key.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoBackedUpObject::get_xattr() pass function parameter by reference 1276/head
Danny Al-Gaaf [Wed, 19 Feb 2014 17:40:12 +0000 (18:40 +0100)]
BackedUpObject::get_xattr()  pass function parameter by reference

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoTestRados.cc: use !empty() instead of size()
Danny Al-Gaaf [Wed, 19 Feb 2014 17:37:00 +0000 (18:37 +0100)]
TestRados.cc: use !empty() instead of size()

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoErasureCodeBench: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 17:35:48 +0000 (18:35 +0100)]
ErasureCodeBench: prefer prefix ++operator for non-trivial iterator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoceph_erasure_code.cc: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 17:34:58 +0000 (18:34 +0100)]
ceph_erasure_code.cc: prefer prefix ++operator for non-trivial iterator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoRGWObjManifest: prefer prefix ++/--operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 17:32:16 +0000 (18:32 +0100)]
RGWObjManifest: prefer prefix ++/--operator for non-trivial iterator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoReplicatedPG: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 17:30:18 +0000 (18:30 +0100)]
ReplicatedPG: prefer prefix ++operator for non-trivial iterator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoOSD: use !empty() instead of size() > 0
Danny Al-Gaaf [Wed, 19 Feb 2014 17:26:08 +0000 (18:26 +0100)]
OSD: use !empty() instead of size() > 0

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoPG: use !empty() instead of size() > 0
Danny Al-Gaaf [Wed, 19 Feb 2014 17:17:54 +0000 (18:17 +0100)]
PG: use !empty() instead of size() > 0

[src/osd/PG.cc:543]: (performance) Possible inefficient checking
  for 'actingbackfill' emptiness.
[src/osd/PG.cc:1480]: (performance) Possible inefficient checking
  for 'actingbackfill' emptiness.
[src/osd/PG.cc:1774]: (performance) Possible inefficient checking
  for 'actingbackfill' emptiness.
[src/osd/PG.cc:1810]: (performance) Possible inefficient checking
  for 'actingbackfill' emptiness.
[src/osd/PG.cc:2229]: (performance) Possible inefficient checking
  for 'actingbackfill' emptiness.
[src/osd/PG.cc:2599]: (performance) Possible inefficient checking
  for 'actingbackfill' emptiness.
[src/osd/PG.cc:4345]: (performance) Possible inefficient checking
  for 'actingbackfill' emptiness.
[src/osd/PG.cc:6067]: (performance) Possible inefficient checking
  for 'actingbackfill' emptiness.
[src/osd/PG.cc:6264]: (performance) Possible inefficient checking
  for 'actingbackfill' emptiness.
[src/osd/PG.cc:6807]: (performance) Possible inefficient checking
  for 'actingbackfill' emptiness.
[src/osd/PG.cc:7014]: (performance) Possible inefficient checking
  for 'actingbackfill' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoRPCRecPred: use !empty() instead of size() >= 1
Danny Al-Gaaf [Wed, 19 Feb 2014 17:09:24 +0000 (18:09 +0100)]
RPCRecPred: use !empty() instead of size() >= 1

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoKeyValueStore: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 17:05:31 +0000 (18:05 +0100)]
KeyValueStore: prefer prefix ++operator for non-trivial iterator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoKeyValueStore: use !empty() instead of size()
Danny Al-Gaaf [Wed, 19 Feb 2014 17:03:45 +0000 (18:03 +0100)]
KeyValueStore: use !empty() instead of size()

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoFileStore: use !empty() instead of size()
Danny Al-Gaaf [Wed, 19 Feb 2014 17:02:19 +0000 (18:02 +0100)]
FileStore: use !empty() instead of size()

[src/os/FileStore.cc:3635]: (performance) Possible inefficient checking
  for 'omap_set' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoDBObjectMap: use !empty() instead of size()
Danny Al-Gaaf [Wed, 19 Feb 2014 16:59:37 +0000 (17:59 +0100)]
DBObjectMap: use !empty() instead of size()

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoOSDMonitor: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 16:57:04 +0000 (17:57 +0100)]
OSDMonitor: prefer prefix ++operator for non-trivial iterator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoOSDMonitor: use !empty() instead of size() > 0
Danny Al-Gaaf [Wed, 19 Feb 2014 16:55:17 +0000 (17:55 +0100)]
OSDMonitor: use !empty() instead of size() > 0

[src/mon/OSDMonitor.cc:730]: (performance) Possible inefficient checking
  for 'osd_weight' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoMDCache: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 16:53:16 +0000 (17:53 +0100)]
MDCache: prefer prefix ++operator for non-trivial iterator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoCrushWrapper::is_valid_crush_loc(): pass function parameter by reference
Danny Al-Gaaf [Wed, 19 Feb 2014 16:51:48 +0000 (17:51 +0100)]
CrushWrapper::is_valid_crush_loc(): pass function parameter by reference

[src/crush/CrushWrapper.cc:1412]: (performance) Function parameter 'loc'
  should be passed by reference.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoCrushWrapper: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 15:41:16 +0000 (16:41 +0100)]
CrushWrapper: prefer prefix ++operator for non-trivial iterator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoPGLog.h: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 15:38:35 +0000 (16:38 +0100)]
PGLog.h: prefer prefix ++operator for non-trivial iterator

[src/osd/PGLog.h:363]: (performance) Prefer prefix ++/-- operators for
  non-primitive types.
[src/osd/PGLog.h:375]: (performance) Prefer prefix ++/-- operators for
  non-primitive types.
[src/osd/PGLog.h:380]: (performance) Prefer prefix ++/-- operators for
  non-primitive types.
[src/osd/PGLog.h:382]: (performance) Prefer prefix ++/-- operators for
  non-primitive types.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoClient: remove a std::string::c_str() calls
Danny Al-Gaaf [Wed, 19 Feb 2014 15:24:27 +0000 (16:24 +0100)]
Client: remove a std::string::c_str() calls

[src/client/Client.cc:6821]: (performance) Passing the result of c_str() to a
  function that takes std::string as argument no. 2 is slow and redundant.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agocommon/config.cc: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 15:17:43 +0000 (16:17 +0100)]
common/config.cc: prefer prefix ++operator for non-trivial iterator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agostr_map.cc: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 15:13:19 +0000 (16:13 +0100)]
str_map.cc: prefer prefix ++operator for non-trivial iterator

[src/common/str_map.cc:55]: (performance) Prefer prefix ++/-- operators
  for non-primitive types.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoClient.cc: use !empty() instead of size()
Danny Al-Gaaf [Wed, 19 Feb 2014 15:10:54 +0000 (16:10 +0100)]
Client.cc: use !empty() instead of size()

[src/client/Client.cc:2275]: (performance) Possible inefficient
  checking for 'cap_snaps' emptiness.
[src/client/Client.cc:2458]: (performance) Possible inefficient
  checking for 'cap_snaps' emptiness.
[src/client/Client.cc:2986]: (performance) Possible inefficient
  checking for 'caps' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoceph_argparse.cc: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 14:20:12 +0000 (15:20 +0100)]
ceph_argparse.cc: prefer prefix ++operator for non-trivial iterator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoMonitor: pass function parameter by reference
Danny Al-Gaaf [Wed, 19 Feb 2014 14:13:31 +0000 (15:13 +0100)]
Monitor: pass function parameter by reference

[src/mon/Monitor.h:619]: (performance) Function parameter 'param_str_map'
  should be passed by reference.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoBarrierContext: prefer prefix ++operator for non-trivial iterator
Danny Al-Gaaf [Wed, 19 Feb 2014 14:05:46 +0000 (15:05 +0100)]
BarrierContext: prefer prefix ++operator for non-trivial iterator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoBarrierContext: reduce scope of 'done' variable
Danny Al-Gaaf [Wed, 19 Feb 2014 14:02:53 +0000 (15:02 +0100)]
BarrierContext: reduce scope of 'done' variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoMonClient: pass function parameter by reference
Danny Al-Gaaf [Wed, 19 Feb 2014 13:54:02 +0000 (14:54 +0100)]
MonClient: pass function parameter by reference

[src/mon/MonClient.h:412]: (performance) Function parameter 'mon_name'
  should be passed by reference.

Changed also parameter name in function implementation to match name
in declaration.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoPG: insert into stray set if !us_up() && !is_acting()
Samuel Just [Wed, 19 Feb 2014 00:08:12 +0000 (16:08 -0800)]
PG: insert into stray set if !us_up() && !is_acting()

This is simpler than checking actingbackfill
since it may not yet be filled in.

Fixes: #7470
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #1257 from ceph/wip-agent
Sage Weil [Wed, 19 Feb 2014 05:10:04 +0000 (21:10 -0800)]
Merge pull request #1257 from ceph/wip-agent

osd: a few agent fixes

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoosd/ReplicatedPG: EOPNOTSUPP on hit_set_get on non-replicated pools 1257/head
Sage Weil [Wed, 19 Feb 2014 05:02:43 +0000 (21:02 -0800)]
osd/ReplicatedPG: EOPNOTSUPP on hit_set_get on non-replicated pools

We need to use the async read stuff for this to work.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: load older HitSets into memory
Sage Weil [Wed, 19 Feb 2014 05:02:15 +0000 (21:02 -0800)]
osd/ReplicatedPG: load older HitSets into memory

If our evict_mode is non-idle, load older HitSets into memory in the agent
work thread.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: strengthen agent_work assertions
Sage Weil [Mon, 17 Feb 2014 22:46:55 +0000 (14:46 -0800)]
osd/ReplicatedPG: strengthen agent_work assertions

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoOSD: consider up/acting primary for new intervals
Samuel Just [Tue, 18 Feb 2014 23:25:33 +0000 (15:25 -0800)]
OSD: consider up/acting primary for new intervals

Both acting_up_affected and start_peering_interval need
to consider primary changes as well as acting/up changes.

Fixes: #7469
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agorgw: don't try to read bucket's policy if it doesn't exist 1266/head
Yehuda Sadeh [Wed, 19 Feb 2014 02:14:40 +0000 (18:14 -0800)]
rgw: don't try to read bucket's policy if it doesn't exist

It's going to fail anyway, just build a default policy.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: return error if accessing object in non-existent bucket
Yehuda Sadeh [Wed, 19 Feb 2014 00:43:48 +0000 (16:43 -0800)]
rgw: return error if accessing object in non-existent bucket

Fixes: #7064
Instead of trying to access the object, which is impossible as we don't
even have a proper bucket info. Up until now we ended up creating an
empty pool and eventually returning ENOENT, this fix catches the issue
earlier in the process.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge pull request #1259 from ceph/wip-6677
Josh Durgin [Tue, 18 Feb 2014 23:38:34 +0000 (15:38 -0800)]
Merge pull request #1259 from ceph/wip-6677

rgw: add compatibility for MultipartUpload

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #1258 from ceph/wip-rgw-gc
Josh Durgin [Tue, 18 Feb 2014 23:37:58 +0000 (15:37 -0800)]
Merge pull request #1258 from ceph/wip-rgw-gc

radosgw-admin: gc list --include-all

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoradosgw-admin: gc list --include-all 1258/head
Yehuda Sadeh [Tue, 18 Feb 2014 19:45:15 +0000 (11:45 -0800)]
radosgw-admin: gc list --include-all

A new option to the radosgw-admin gc list command that dumps *all* gc
entries, and not just the expired ones. This is useful for debugging.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge pull request #1261 from ceph/wip-7463
Josh Durgin [Tue, 18 Feb 2014 21:41:35 +0000 (13:41 -0800)]
Merge pull request #1261 from ceph/wip-7463

ceph_rest_api.py: don't fail if no up OSDs found on startup

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoThrow a Timeout exception on timeout.
Mike Lundy [Tue, 11 Feb 2014 23:58:06 +0000 (15:58 -0800)]
Throw a Timeout exception on timeout.

Signed-off-by: Mike Lundy <mike@fluffypenguin.org>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #1214 from ceph/wip-rgw-manifest-2
Josh Durgin [Tue, 18 Feb 2014 21:07:53 +0000 (13:07 -0800)]
Merge pull request #1214 from ceph/wip-rgw-manifest-2

Wip rgw manifest 2
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agodencoder: fix for new rgw manifest code 1214/head
Yehuda Sadeh [Sat, 8 Feb 2014 01:00:07 +0000 (17:00 -0800)]
dencoder: fix for new rgw manifest code

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agocls/rgw: fix debug output
Yehuda Sadeh [Sat, 8 Feb 2014 00:34:52 +0000 (16:34 -0800)]
cls/rgw: fix debug output

print the correct error value

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agotest/rgw: manifest unitest
Yehuda Sadeh [Mon, 3 Feb 2014 22:58:00 +0000 (14:58 -0800)]
test/rgw: manifest unitest

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: scalable manifest object
Yehuda Sadeh [Fri, 31 Jan 2014 00:05:42 +0000 (16:05 -0800)]
rgw: scalable manifest object

Define a new manifest structure. The idea is that the manifest defines a
set of rules for structuring the object parts. There are a few terms to
note:
 - head: the head part of the object, which is the part that contains
   the first chunk of data. An object might not have a head (as in the
   case of multipart-part objects.
 - stripe: data portion of a single rgw object that resides on a single
   rados object.
 - part: a collection of stripes that make a contiguous part of an
   object. A regular object will only have one part (although might have
   many stripes), a multipart object might have many parts. Each part
   has a fixed stripe size, although the last stripe of a part might
   be smaller than that. Consecutive parts may be merged if their stripe
   value is the same.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoceph_rest_api.py: don't fail if no up OSDs found on startup 1260/head 1261/head
Dan Mick [Tue, 18 Feb 2014 21:07:32 +0000 (13:07 -0800)]
ceph_rest_api.py: don't fail if no up OSDs found on startup

allow find_up_osd() to return None, and have caller check for it

Fixes: #7463
Signed-off-by: Dan Mick <dan.mick@inktank.com>
11 years agotest/librados: remove unused lines and fix return code for cmp guards 1256/head
Josh Durgin [Tue, 18 Feb 2014 01:09:26 +0000 (17:09 -0800)]
test/librados: remove unused lines and fix return code for cmp guards

Now that return values are actually set by the osd and client, fix up
the tests that were checking the old behavior.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoReplicatedPG: fix successful write condition
Josh Durgin [Tue, 18 Feb 2014 06:42:13 +0000 (22:42 -0800)]
ReplicatedPG: fix successful write condition

ctx->modify no longer implies that the operation is a write,
if it ever did. These days op->may_write() is checked reliably
on the OSD, so just use that instead.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoReplicatedPG: clear osd op reply output for writes
Josh Durgin [Tue, 18 Feb 2014 06:35:13 +0000 (22:35 -0800)]
ReplicatedPG: clear osd op reply output for writes

Since the vector of OSDOps used by the reply is the same
as the one processed by do_osd_ops() now, any output data
needs to be cleared for writes. To be compatible with current behavior,
allow writes that aren't applying anything or have failed to return data
still.

Add a new parameter to the MOSDOpReply constructor to determine
whether the output data should be cleared. Clear it for successful
writes, and remove a redundant result < 0 -> result > 0 check in the
process.  This was caught by ceph_test_cls_hello and its
writes_dont_return_data method.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoReplicatedPG: set individual osd op rvals
Josh Durgin [Fri, 7 Feb 2014 02:20:06 +0000 (18:20 -0800)]
ReplicatedPG: set individual osd op rvals

This takes care of things that can fail before transaction is
executed, like omap comparison. Getting individual rvals from a
transaction requires more refactoring, so I'm leaving it for a later
cleanup.

Fixes: #6483
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>