]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoosd: add rados CACHE mode (different from RD and WR)
Sage Weil [Fri, 27 Dec 2013 19:15:19 +0000 (11:15 -0800)]
osd: add rados CACHE mode (different from RD and WR)

It is useful to distinguish cache operations from read and modify
operations.  Specifically, we will allow cache ops to be sent for
snaps and also allow those ops to result in a write.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoceph_test_rados_api_tier: test promotion of clones
Sage Weil [Fri, 27 Dec 2013 02:06:13 +0000 (18:06 -0800)]
ceph_test_rados_api_tier: test promotion of clones

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: update snap_mapper for promoted clones
Sage Weil [Fri, 27 Dec 2013 01:32:43 +0000 (17:32 -0800)]
osd/ReplicatedPG: update snap_mapper for promoted clones

A clone that comes into existence via promotion takes an entirely
different path than a typical clone (which comes into existence via a
CLONE op in make_writeable()).  Make sure snap_mapper is updated
accordingly.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: only encode SnapSet on head objects in finish_ctx
Sage Weil [Fri, 27 Dec 2013 23:43:40 +0000 (15:43 -0800)]
osd/ReplicatedPG: only encode SnapSet on head objects in finish_ctx

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: always encode snaps in finish_ctx
Sage Weil [Thu, 26 Dec 2013 17:19:08 +0000 (09:19 -0800)]
osd/ReplicatedPG: always encode snaps in finish_ctx

On promote we use finish_ctx to build the final log entries, and need to
encode the snaps vector in that case.  (Normally this is done by
make_writeable or explicitly by the snap trimmer.)

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: mirror SnapSet info when promoting head
Sage Weil [Fri, 27 Dec 2013 02:05:22 +0000 (18:05 -0800)]
osd/ReplicatedPG: mirror SnapSet info when promoting head

When we promote the head for an object, get the list of snaps from the
backend pool and construct an appropriate SnapSet.  Note that this is
always placed on the head in the cache pool, since we will have a
whiteout object in this case.

Also note that the SnapSet's list of snapids will not include any snaps
for which there were no clones.  This is fine, since it is only used for
creating clones, and we've already done that.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/osd_types: SnapSet::from_snap_set
Sage Weil [Fri, 27 Dec 2013 01:51:21 +0000 (17:51 -0800)]
osd/osd_types: SnapSet::from_snap_set

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: add PROMOTE log entry type
Sage Weil [Fri, 27 Dec 2013 01:31:01 +0000 (17:31 -0800)]
osd/ReplicatedPG: add PROMOTE log entry type

This is an alternative to MODIFY that indicates the object was just
promoted from another tier.  Thanksfully, is_modify() is used in very
few places!

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: adjust clone stats when promoting clones
Sage Weil [Fri, 27 Dec 2013 02:02:16 +0000 (18:02 -0800)]
osd/ReplicatedPG: adjust clone stats when promoting clones

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: include snaps in copy-get results
Sage Weil [Tue, 24 Dec 2013 16:50:38 +0000 (08:50 -0800)]
osd/ReplicatedPG: include snaps in copy-get results

When promoting a snapped object, we need to also get the set of snaps over
which the clone is defined.  This is not strictly available except via the
list-snaps rados call, but that is only used on the snapdir object much
earlier when the head (whiteout) is promoted, and is not conveniently
available now.  Adding it to the internal copy-get is not exposed via
librados (copy-get is not exposed at all) so I don't think this is a
problem.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: using missing_oid to decide which object to promote
Sage Weil [Tue, 24 Dec 2013 01:26:39 +0000 (17:26 -0800)]
osd/ReplicatedPG: using missing_oid to decide which object to promote

find_object_context() now tells us which object it could use if it
doesn't find it on disk.  Promote that one.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: make find_object_context() pass missing_oid
Sage Weil [Tue, 24 Dec 2013 01:25:07 +0000 (17:25 -0800)]
osd/ReplicatedPG: make find_object_context() pass missing_oid

Prevoiusly we would return a snapid that we are blocked on if it is
missing.  This is necessary because the missing clone does not always
match the logical snap we are trying to read.

Extend this to return a full hobject_t that is the missing object we want.
For the missing clone case, this cleans things up slightly.  More
importantly, it lets find_object_context also tell us which on-disk
object is missing that, if it could be promoted, would help.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #931 from ceph/wip-5858-rebase
athanatos [Mon, 13 Jan 2014 22:25:51 +0000 (14:25 -0800)]
Merge pull request #931 from ceph/wip-5858-rebase

Wip 5858 rebase

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agodoc: Added comment and example for SSL enablement in rgw.conf
John Wilkins [Mon, 13 Jan 2014 20:57:02 +0000 (12:57 -0800)]
doc: Added comment and example for SSL enablement in rgw.conf

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoosd: Implement multiple backfill target handling 931/head
David Zafman [Mon, 13 Jan 2014 19:38:48 +0000 (11:38 -0800)]
osd: Implement multiple backfill target handling

Fixes: #5858
Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd: Interim backfill changes
David Zafman [Thu, 21 Nov 2013 23:21:53 +0000 (15:21 -0800)]
osd: Interim backfill changes

Make peer_backfill_info a map which holds a
BackfillInterval for all backfill targets.
Initially see if recover_backfill() can just backfill
the first one and mark them all finished.

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoMerge pull request #1077 from ceph/wip-7141
Sage Weil [Mon, 13 Jan 2014 19:22:49 +0000 (11:22 -0800)]
Merge pull request #1077 from ceph/wip-7141

DBObjectMap::clear_keys_header: use generate_new_header, not _generate_n...

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoDBObjectMap::clear_keys_header: use generate_new_header, not _generate_new_header 1077/head
Samuel Just [Mon, 13 Jan 2014 19:02:45 +0000 (11:02 -0800)]
DBObjectMap::clear_keys_header: use generate_new_header, not _generate_new_header

We aren't holding the header_lock here, so we need the locked version.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1075 from dachary/wip-crush
Sage Weil [Mon, 13 Jan 2014 16:46:04 +0000 (08:46 -0800)]
Merge pull request #1075 from dachary/wip-crush

improve crushtool --build useability and documentation

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agodoc: format man pages with s/2013/2014/ 1075/head
Loic Dachary [Sun, 12 Jan 2014 16:48:00 +0000 (17:48 +0100)]
doc: format man pages with s/2013/2014/

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agodoc: copyright s/2013/2014/
Loic Dachary [Sun, 12 Jan 2014 16:46:18 +0000 (17:46 +0100)]
doc: copyright s/2013/2014/

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agodoc: update the crushtool manual page
Loic Dachary [Sun, 12 Jan 2014 16:34:52 +0000 (17:34 +0100)]
doc: update the crushtool manual page

* add information about CEPH_ARGS
* rework the --build documentation and example
* add an Author section
* replace vi with emacs for no good reason
* cleanup whitespace

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agodoc: crushtool man page nroff format
Loic Dachary [Sun, 12 Jan 2014 16:42:43 +0000 (17:42 +0100)]
doc: crushtool man page nroff format

also includes a modification from a prior patch series that was not
formatted to nroff.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: tests for crushtool --build
Loic Dachary [Sun, 12 Jan 2014 16:51:10 +0000 (17:51 +0100)]
crush: tests for crushtool --build

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: crushtool copyright notice update
Loic Dachary [Sun, 12 Jan 2014 16:28:19 +0000 (17:28 +0100)]
crush: crushtool copyright notice update

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: crushtool emacs compile helper
Loic Dachary [Sun, 12 Jan 2014 16:27:26 +0000 (17:27 +0100)]
crush: crushtool emacs compile helper

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: crushtool --build informative messages
Loic Dachary [Sun, 12 Jan 2014 16:24:39 +0000 (17:24 +0100)]
crush: crushtool --build informative messages

* dump the crush tree created by --build at debug level 1.

* display a warning at debug level 1 if there is more than one root. In
  most cases it is not what the user wants and it may be confusing
  because the ruleset will only apply to the first of root and have less
  devices under it as expected.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: crushtool --build uses OSDMap helpers for rulesets
Loic Dachary [Sun, 12 Jan 2014 16:22:36 +0000 (17:22 +0100)]
crush: crushtool --build uses OSDMap helpers for rulesets

Instead of creating a ruleset from scratch, use the
OSDMap::build_simple_crush_rulesets helper. It is more likely to match
the user expecations.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: print --build debug information when verbose 2
Loic Dachary [Sun, 12 Jan 2014 16:18:29 +0000 (17:18 +0100)]
crush: print --build debug information when verbose 2

instead of verbose 0

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: display args on crushtool failure
Loic Dachary [Sat, 11 Jan 2014 10:19:51 +0000 (11:19 +0100)]
crush: display args on crushtool failure

When the number of args provided to --build is not a multiple of 3,
display the arguments which do not comply.

For instance the --debug_crush 0 option is not consumed by global_init
in crushtool because, unlike most ceph tools, the arguments are not
passed to global_init. As a result --debug_crush 0 become part of the
arguments and triggers the failure.

   crushtool --debug_crush 0 --build --num_osds 320 node straw 4
   remaining args: [--debug_crush,0,node,straw,4]
   layers must be specified with 3-tuples of (name, buckettype, size)

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: parse CEPH_ARGS in crushtool
Loic Dachary [Sat, 11 Jan 2014 10:46:57 +0000 (11:46 +0100)]
crush: parse CEPH_ARGS in crushtool

The arguments are not given to global_init because the -c option would
conflict. Reading arguments from CEPH_ARGS the way other ceph tools do
is the only way to control verbosity ( via --debug_crush 0 for instance ).

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoosd: factorize build_simple_crush_map* rulesets creation
Loic Dachary [Sun, 12 Jan 2014 12:50:07 +0000 (13:50 +0100)]
osd: factorize build_simple_crush_map* rulesets creation

Group the rulesets created by build_simple_crush_map* into a helper:
build_simple_crush_rulesets()

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoosd: ostream is enough for build_simple*
Loic Dachary [Sun, 12 Jan 2014 12:47:01 +0000 (13:47 +0100)]
osd: ostream is enough for build_simple*

There is no need to specialize the argument into stringstream. It is
replaced by a ostream which is convenient to display errors directly to
cerr if appropriate.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #998 from ceph/wip-omapdirfrag2
Yan, Zheng [Fri, 10 Jan 2014 23:48:05 +0000 (15:48 -0800)]
Merge pull request #998 from ceph/wip-omapdirfrag2

use OMAP to store dirfrags

11 years agomds: require CEPH_FEATURE_OSD_TMAP2OMAP 998/head
Sage Weil [Sat, 28 Dec 2013 20:23:22 +0000 (12:23 -0800)]
mds: require CEPH_FEATURE_OSD_TMAP2OMAP

Require that all OSDs support TMAP2OMAP before starting the MDS.  This
avoids doing some work and then crashing with EOPNOTSUPP, and gives us
a more informative message in the logs.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/OSDMap: get_up_osd_features()
Sage Weil [Sat, 28 Dec 2013 20:16:39 +0000 (12:16 -0800)]
osd/OSDMap: get_up_osd_features()

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomds: use OMAP to store dirfrags
Yan, Zheng [Tue, 24 Dec 2013 00:56:55 +0000 (08:56 +0800)]
mds: use OMAP to store dirfrags

MDS can fetch dirfrags from both TMAP and OMAP. When committing a
dirfrags that is stored in TMAP, MDS first uses OSD_OP_TMAP2OMAP
to convert corresponding TMAP to OMAP, then updates the resulting
OMAP.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agoosd: introduce TMAP->OMAP conversion operation
Yan, Zheng [Tue, 24 Dec 2013 01:34:34 +0000 (09:34 +0800)]
osd: introduce TMAP->OMAP conversion operation

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agoMerge pull request #1074 from ceph/wip-7135
athanatos [Fri, 10 Jan 2014 22:28:01 +0000 (14:28 -0800)]
Merge pull request #1074 from ceph/wip-7135

Fixes: #7135
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agosrc/test/ObjectMap: test clear_keys_header() call 1074/head
Samuel Just [Fri, 10 Jan 2014 21:25:33 +0000 (13:25 -0800)]
src/test/ObjectMap: test clear_keys_header() call

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agosrc/test/librados/misc.cc: verify that omap_clear doesn't blast xattr
Samuel Just [Fri, 10 Jan 2014 21:24:05 +0000 (13:24 -0800)]
src/test/librados/misc.cc: verify that omap_clear doesn't blast xattr

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoos/DBObjectMap, FileStore: omap_clear should not remove xattrs
Samuel Just [Fri, 10 Jan 2014 21:23:32 +0000 (13:23 -0800)]
os/DBObjectMap, FileStore: omap_clear should not remove xattrs

Prevously, FileStore::_omap_clear() used ObjectMap::clear(), which
incorrectly also blasts any stored xattrs.  Instead, add
ObjectMap::clear_keys_header() to handle this case efficiently.

Fixes: #7065
Fixes: #7135
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1073 from dachary/wip-mailmap
Sage Weil [Fri, 10 Jan 2014 21:58:33 +0000 (13:58 -0800)]
Merge pull request #1073 from dachary/wip-mailmap

mailmap updates

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Fri, 10 Jan 2014 21:57:04 +0000 (13:57 -0800)]
Merge remote-tracking branch 'gh/next'

11 years agomailmap: fix typo in Alexandre Maragone 1073/head
Loic Dachary [Fri, 10 Jan 2014 19:48:30 +0000 (20:48 +0100)]
mailmap: fix typo in Alexandre Maragone

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoorganizationmap: joe.buck@inktank.com is Inktank
Loic Dachary [Fri, 10 Jan 2014 18:07:50 +0000 (19:07 +0100)]
organizationmap: joe.buck@inktank.com is Inktank

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1062 from ceph/wip-7110
Sage Weil [Fri, 10 Jan 2014 17:51:20 +0000 (09:51 -0800)]
Merge pull request #1062 from ceph/wip-7110

rgw: convert bucket info if needed

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #1070 from dachary/wip-organizationmap
Loic Dachary [Fri, 10 Jan 2014 17:45:23 +0000 (09:45 -0800)]
Merge pull request #1070 from dachary/wip-organizationmap

organizationmap: match authors with organizations

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoorganizationmap: match authors with organizations 1070/head
Loic Dachary [Fri, 10 Jan 2014 16:49:21 +0000 (17:49 +0100)]
organizationmap: match authors with organizations

Using the same format as .mailmap, match author names with the
organization sponsoring them, if any. It can be used from the command
line to display git log statistics with results aggregated by company
names.

The git-check-mailmap command that was introduced in git 1.8.4 can be
used to use .mailmap first and then .organizationmap using the
normalized author names. For instance:

    git log --pretty='%aN <%aE>' | \
    git -c mailmap.file=.organizationmap check-mailmap --stdin

This file is also meant to be a source of information for the maintainers of
http://metrics.ceph.com/

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomongoose: fix warning
Sage Weil [Fri, 10 Jan 2014 00:16:36 +0000 (16:16 -0800)]
mongoose: fix warning

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1069 from dachary/wip-mailmap
Sage Weil [Fri, 10 Jan 2014 16:53:55 +0000 (08:53 -0800)]
Merge pull request #1069 from dachary/wip-mailmap

mailmap updates

Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Roald J. van Loon <roald@roaldvanloon.nl>
Reviewed-by: David Moreau Simard <dmsimard@iweb.com>
11 years agomailmap: make roald@roaldvanloon.nl primary 1069/head
Loic Dachary [Fri, 10 Jan 2014 09:47:02 +0000 (10:47 +0100)]
mailmap: make roald@roaldvanloon.nl primary

It seems more appropriate than @gmail.com

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: remove company name from Pascal de Bruijn name
Loic Dachary [Fri, 10 Jan 2014 09:46:16 +0000 (10:46 +0100)]
mailmap: remove company name from Pascal de Bruijn name

It is in the email address anyway.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: add Andrew Leung, Carlos Maltzahn and Esteban Molina-Estolano
Loic Dachary [Fri, 10 Jan 2014 09:10:19 +0000 (10:10 +0100)]
mailmap: add Andrew Leung, Carlos Maltzahn and Esteban Molina-Estolano

Although the commit aliases are cryptic, the timeframe and account names
seem to match.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: add David Moreau Simard alias
Loic Dachary [Fri, 10 Jan 2014 09:09:32 +0000 (10:09 +0100)]
mailmap: add David Moreau Simard alias

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1060 from dachary/wip-mailmap
Loic Dachary [Fri, 10 Jan 2014 09:05:05 +0000 (01:05 -0800)]
Merge pull request #1060 from dachary/wip-mailmap

mailmap updates for reviewed-by

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: João Eduardo Luís <joao.luis@inktank.com>
Reviewed-by: Noah Watkins <noah.watkins@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agoFileStore: detect XFS properly
Greg Farnum [Thu, 9 Jan 2014 22:03:12 +0000 (14:03 -0800)]
FileStore: detect XFS properly

We were only setting m_fs_type = FS_TYPE_XFS if
m_filestore_replica_fadvise was also set -- presumably
the bug fix accidentally blocked off too much of the code type. This
resulted in our xattr counts always being set too low: the store
is mounted (and thus does _detectfs) twice; once in as part of the
not-as-conditional-as-it-looks convertfs in ceph_osd.cc, and once
as part of OSD::init().

Reported-by: Sushma Gurram <Sushma.Gurram@sandisk.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomon: set next commit in mon command replies
Sage Weil [Thu, 9 Jan 2014 22:44:49 +0000 (14:44 -0800)]
mon: set next commit in mon command replies

The mon command acks include a version that is used by the client to
determine which version of the map they need to get or wait for in order
to see the effects of their command.  Current we are returning
get_last_committed() everywhere, but we are about to commit something (and
waiting for it), which will increase that value by one.  As a result,
clients are always getting epoch/version-1 instead of epoch.

This manifested by a LibRadosTier.Promote test that failed becaues the
OSD had the OSDMap updates adding the tier and overlay but not the final
map change that set the cache-mode to writeback.  I suspect this is also
the cause of of spurious errors in the past where we've seen misdirected
request errors that made no sense.

Backport: emperor, dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao@inktank.com>
11 years agoMerge pull request #1061 from kdreyer-inktank/rm-execute-bit-src
Sage Weil [Thu, 9 Jan 2014 20:31:12 +0000 (12:31 -0800)]
Merge pull request #1061 from kdreyer-inktank/rm-execute-bit-src

remove spurious executable permissions on source code files

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agodoc: Removed extraneous comment from snapshot text.
John Wilkins [Thu, 9 Jan 2014 18:26:28 +0000 (10:26 -0800)]
doc: Removed extraneous comment from snapshot text.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoMerge branch 'master' of https://github.com/ceph/ceph
John Wilkins [Thu, 9 Jan 2014 18:15:41 +0000 (10:15 -0800)]
Merge branch 'master' of https://github.com/ceph/ceph

11 years agoMerge pull request #1063 from ceph/install-erasure-headers
Loic Dachary [Thu, 9 Jan 2014 17:31:35 +0000 (09:31 -0800)]
Merge pull request #1063 from ceph/install-erasure-headers

osd: add missing header to install list

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoosd: add missing header to install list 1063/head
Noah Watkins [Thu, 9 Jan 2014 17:15:47 +0000 (09:15 -0800)]
osd: add missing header to install list

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agorgw: convert bucket info if needed 1062/head
Yehuda Sadeh [Tue, 7 Jan 2014 02:32:42 +0000 (18:32 -0800)]
rgw: convert bucket info if needed

Fixes: #7110
In dumpling, the bucket info was separated into bucket entry point and
bucket instance objects. When setting bucket attrs we only ended up
updating the bucket instance object. However, pre-dumpling buckets still
keep everything at the entry-point object, so acl changes didn't affect
anything (because we never updated the entry point). This change just
converts the bucket info into the new format.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoremove spurious executable permissions on files 1061/head
Ken Dreyer [Thu, 9 Jan 2014 15:55:28 +0000 (08:55 -0700)]
remove spurious executable permissions on files

Fedora's rpmlint complains that some of the source code files in the
tree happen to be executable. Remove the execute bits from these files
to resolve the rpmlint warning.

Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
11 years agomailmap: add Yan Zheng fixes for Reviewed-by: 1060/head
Loic Dachary [Thu, 9 Jan 2014 12:48:44 +0000 (13:48 +0100)]
mailmap: add Yan Zheng fixes for Reviewed-by:

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: add Loic Dachary fixes for Reviewed-by:
Loic Dachary [Thu, 9 Jan 2014 12:48:18 +0000 (13:48 +0100)]
mailmap: add Loic Dachary fixes for Reviewed-by:

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: add Gary Lowell fixes for Reviewed-by:
Loic Dachary [Thu, 9 Jan 2014 12:47:56 +0000 (13:47 +0100)]
mailmap: add Gary Lowell fixes for Reviewed-by:

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: add Noah Watkins fixes for Reviewed-by:
Loic Dachary [Thu, 9 Jan 2014 12:47:02 +0000 (13:47 +0100)]
mailmap: add Noah Watkins fixes for Reviewed-by:

Also acknowledge noah.watkins@inktank.com as the primary email.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: add João Eduardo Luís fixes for Reviewed-by:
Loic Dachary [Thu, 9 Jan 2014 12:46:02 +0000 (13:46 +0100)]
mailmap: add João Eduardo Luís fixes for Reviewed-by:

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: add Dan Mick fixes for Reviewed-by:
Loic Dachary [Thu, 9 Jan 2014 12:45:26 +0000 (13:45 +0100)]
mailmap: add Dan Mick fixes for Reviewed-by:

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: add Samuel Just fixes for Reviewed-by:
Loic Dachary [Thu, 9 Jan 2014 12:44:57 +0000 (13:44 +0100)]
mailmap: add Samuel Just fixes for Reviewed-by:

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: add Greg Farnum fixes for Reviewed-by:
Loic Dachary [Thu, 9 Jan 2014 12:43:57 +0000 (13:43 +0100)]
mailmap: add Greg Farnum fixes for Reviewed-by:

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: add Yehuda Sadeh fixes for Reviewed-by:
Loic Dachary [Thu, 9 Jan 2014 12:43:15 +0000 (13:43 +0100)]
mailmap: add Yehuda Sadeh fixes for Reviewed-by:

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: add Sage Weil fixes for Reviewed-by:
Loic Dachary [Thu, 9 Jan 2014 12:41:54 +0000 (13:41 +0100)]
mailmap: add Sage Weil fixes for Reviewed-by:

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1056 from apeters1971/wip-jerasure-vectorop
Loic Dachary [Thu, 9 Jan 2014 09:08:30 +0000 (01:08 -0800)]
Merge pull request #1056 from apeters1971/wip-jerasure-vectorop

EC-JERASURE: rewrite region-xor function using vector operations

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1057 from dachary/wip-buffer-aligned
Loic Dachary [Thu, 9 Jan 2014 09:06:32 +0000 (01:06 -0800)]
Merge pull request #1057 from dachary/wip-buffer-aligned

erasure-code: ensure that coding chunks are page aligned

Reviewed-by: Andreas Peters <andreas.joachim.peters@cern.ch>
11 years agoMerge pull request #1045 from ceph/wip-7093
Sage Weil [Thu, 9 Jan 2014 01:05:46 +0000 (17:05 -0800)]
Merge pull request #1045 from ceph/wip-7093

fix for #7093

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoosd: Change waiting_on_backfill to a set<int>
David Zafman [Sat, 16 Nov 2013 01:25:54 +0000 (17:25 -0800)]
osd: Change waiting_on_backfill to a set<int>

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd: Interim working version with backfill reserve state changes
David Zafman [Fri, 8 Nov 2013 03:45:46 +0000 (19:45 -0800)]
osd: Interim working version with backfill reserve state changes

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd: Recovery reservations need to include backfill peers
David Zafman [Tue, 17 Dec 2013 20:39:31 +0000 (12:39 -0800)]
osd: Recovery reservations need to include backfill peers

Caused by 86e4fd4f7a9848511e1bf9ae433fcd3a35a0818f

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agomessages, os, osd: Clean-up g/hobject_t MAX handling
David Zafman [Tue, 17 Dec 2013 02:50:57 +0000 (18:50 -0800)]
messages, os, osd: Clean-up g/hobject_t MAX handling

Add check of is_max() before updating an unset pool
Use efficient is_max() instead of compare with hobject::get_max()

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd: Return false for func that returns bool
David Zafman [Sat, 16 Nov 2013 01:23:21 +0000 (17:23 -0800)]
osd: Return false for func that returns bool

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd: Fix problems in ReplicatedPG::do_op() logic
David Zafman [Wed, 11 Dec 2013 01:29:48 +0000 (17:29 -0800)]
osd: Fix problems in ReplicatedPG::do_op() logic

Fix assert(is_degraded_object(soid)) in ReplicatedPG::wait_for_degraded_object()
  Use last_backfill_started as the backfill line
  Handle uncommon case of multi op source after backfill line and target before
  backfill line and !is_degraded_object().
  Include backfill line itself for before_backfill (<= instead of <)

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd: Determine if compatibility is required due to back level OSDs
David Zafman [Fri, 20 Dec 2013 22:35:56 +0000 (14:35 -0800)]
osd: Determine if compatibility is required due to back level OSDs

fixes: #7039

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd: Config OSD when CEPH_FEATURE_OSD_ERASURE_CODES feature first seen
David Zafman [Thu, 19 Dec 2013 21:47:28 +0000 (13:47 -0800)]
osd: Config OSD when CEPH_FEATURE_OSD_ERASURE_CODES feature first seen

Set the OSD superblock CEPH_OSD_FEATURE_INCOMPAT_SHARDS and
notify the filestore through set_allow_sharded_objects() in that order.

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agodoc: Updated for hostname -s and resolving to non-loopback IP address.
John Wilkins [Wed, 8 Jan 2014 22:38:13 +0000 (14:38 -0800)]
doc: Updated for hostname -s and resolving to non-loopback IP address.

fixes: #6234

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Fixed hyperlink.
John Wilkins [Wed, 8 Jan 2014 22:37:20 +0000 (14:37 -0800)]
doc: Fixed hyperlink.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoosd: Remove redundant incompat feature
David Zafman [Thu, 19 Dec 2013 18:35:39 +0000 (10:35 -0800)]
osd: Remove redundant incompat feature

We can remove this CompatSet bit without worry because the only
way it could have been set is if an erasure coded pool was create.
This isn't supported as of yet.

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoerasure-code: relax zero copy requirements in tests 1057/head
Loic Dachary [Wed, 8 Jan 2014 19:14:52 +0000 (20:14 +0100)]
erasure-code: relax zero copy requirements in tests

The input buffer is copied when padding is required. Remove the tests
that ensured the input buffer was not copied entirely when padding was
added.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoerasure-code: ensure that coding chunks are page aligned
Loic Dachary [Wed, 8 Jan 2014 19:13:37 +0000 (20:13 +0100)]
erasure-code: ensure that coding chunks are page aligned

When coding chunks are allocated for jerasure, their address must be
aligned to page boundaries. The requirement is actually to be aligned on
a long long boundary but bufferlist do not allow for fine tuning of the
alignment.

If padding is necessary because the total size of the data to be encoded
is not a multiple of the alignment requirements as returned by
get_alignment(), the buffer is not only padded but also rebuilt using
rebuild_page_aligned() to preserve the page alignment that is expected
of the input buffer.

The overhead of rebuilding the whole input buffer when padding is
necessary could be reduced by only reallocating one buffer for the last
data chunk, therefore reducing the amount of data being copied. However,
this optimization is not going to be used if the caller takes care of
the padding, which is likely to be the case most of the time.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoEC-JERASURE: rewrite region-xor function using vector operations to get ~ x1.5 speedu... 1056/head
Andreas Peters [Wed, 18 Dec 2013 13:47:58 +0000 (14:47 +0100)]
EC-JERASURE: rewrite region-xor function using vector operations to get ~ x1.5 speedups for erasure code and guarantee proper 64-bit/128-bit buffer alignment

11 years agoMerge pull request #1055 from kri5/master
Loic Dachary [Wed, 8 Jan 2014 11:13:20 +0000 (03:13 -0800)]
Merge pull request #1055 from kri5/master

mailmap: Adds Christophe Courtaut

    git shortlog -nes

shows only one Christophe Courtaut proof that the .mailmap addition is working.

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: Adds Christophe Courtaut 1055/head
Christophe Courtaut [Wed, 8 Jan 2014 10:46:24 +0000 (11:46 +0100)]
mailmap: Adds Christophe Courtaut

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
11 years agoMerge pull request #1052 from dachary/wip-large-output-daemon-config
Kri5 [Wed, 8 Jan 2014 10:26:03 +0000 (02:26 -0800)]
Merge pull request #1052 from dachary/wip-large-output-daemon-config

common: fix large output in unittest_daemon_config

Reviewed-By: Christophe Courtaut <christophe.courtaut@gmail.com>
11 years agoMerge pull request #1044 from ceph/port/onexit
Sage Weil [Wed, 8 Jan 2014 07:57:08 +0000 (23:57 -0800)]
Merge pull request #1044 from ceph/port/onexit

create on_exit replacement

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1050 from ceph/wip-7083
Josh Durgin [Tue, 7 Jan 2014 19:23:58 +0000 (11:23 -0800)]
Merge pull request #1050 from ceph/wip-7083

radosgw-admin: fix object policy read op

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoon_exit: remove side effects from asserts 1044/head
Noah Watkins [Tue, 7 Jan 2014 19:14:42 +0000 (11:14 -0800)]
on_exit: remove side effects from asserts

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
11 years agocommon: fix large output in unittest_daemon_config 1052/head
Loic Dachary [Tue, 7 Jan 2014 15:49:44 +0000 (16:49 +0100)]
common: fix large output in unittest_daemon_config

All tests in daemon_config use the global g_ceph_context
object. Introducing an expansion loop in it will impact all tests and
generate a very large output.

Remove the SubstitutionLoop test case which is also covered in
test/common/test_config.cc.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1043 from ceph/port/misc
Sage Weil [Tue, 7 Jan 2014 07:00:05 +0000 (23:00 -0800)]
Merge pull request #1043 from ceph/port/misc

misc portability patches

Reviewed-by: Sage Weil <sage@inktank.com>