]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
12 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Tue, 12 Feb 2013 01:12:22 +0000 (17:12 -0800)]
Merge remote-tracking branch 'gh/next'

12 years agoosd: update snap collections for sub_op_modify log records conditionaly
Sage Weil [Mon, 11 Feb 2013 14:23:54 +0000 (06:23 -0800)]
osd: update snap collections for sub_op_modify log records conditionaly

The only remaining caller is sub_op_modify().  If we do have a non-empty
op transaction, we want to do this update, regardless of what we think
last_backfill is (our notion may be not completely in sync with the
primary).  In particular, our last_backfill may be the same object but
a different snapid, but the primary disagrees and is pushing an op
transaction through.

Instead, update the collections if we have a non-empty transaction.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agoosd: include snaps in pg_log_entry_t::dump()
Sage Weil [Mon, 11 Feb 2013 01:02:45 +0000 (17:02 -0800)]
osd: include snaps in pg_log_entry_t::dump()

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agoosd: unconditionally encode snaps buffer
Sage Weil [Mon, 11 Feb 2013 00:59:48 +0000 (16:59 -0800)]
osd: unconditionally encode snaps buffer

Previously we would only encode the updated snaps vector for CLONE ops.
This doesn't work for MODIFY ops generated by the snap trimmer, which
may also adjust the clone collections.  It is also possible that other
operations may need to populate this field in the future (e.g.,
LOST_REVERT may, although it currently does not).

Fixes: #4071, and possibly #4051.
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agoosd: improve debug output on snap collections
Sage Weil [Sun, 10 Feb 2013 18:57:12 +0000 (10:57 -0800)]
osd: improve debug output on snap collections

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agoRevert "rgw: plain format always appends eol to data"
Yehuda Sadeh [Mon, 11 Feb 2013 19:30:02 +0000 (11:30 -0800)]
Revert "rgw: plain format always appends eol to data"

This commit breaks the swift unit test. The reason is that it
makes it so that returned error status ends with eol, which
is not as expected.

This reverts commit c31aff5f9f0b9fe4ada6b259dd1f424627b3e875.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMerge branch 'wip-da-rename-ceph-test'
Josh Durgin [Mon, 11 Feb 2013 19:02:16 +0000 (11:02 -0800)]
Merge branch 'wip-da-rename-ceph-test'

12 years agolibcephfs: fix for #4068
Joe Buck [Sun, 10 Feb 2013 02:48:57 +0000 (18:48 -0800)]
libcephfs: fix for #4068

If client->init() fails in mount, then client->shutdown()
should not be called. This patch uses a bool to ensure
that shutdown is only called if init() succeeds.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Sam Lang <sam.lang@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #47 from dalgaaf/wip-da-sca-cppcheck-clang-2
Sage Weil [Mon, 11 Feb 2013 17:43:31 +0000 (09:43 -0800)]
Merge pull request #47 from dalgaaf/wip-da-sca-cppcheck-clang-2

fix more issues from clang(++) and cppchecker

Reviewed-by: Sage Weil <sage@inktank.com>
12 years ago.gitignore: add local ones for ocf and man
Josh Durgin [Mon, 11 Feb 2013 17:08:01 +0000 (09:08 -0800)]
.gitignore: add local ones for ocf and man

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agoqa/rbd: +x on map-snapshot-io.sh
Sage Weil [Mon, 11 Feb 2013 16:48:44 +0000 (08:48 -0800)]
qa/rbd: +x on map-snapshot-io.sh

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agotest: fix run-rbd-tests
Josh Durgin [Mon, 11 Feb 2013 16:04:47 +0000 (08:04 -0800)]
test: fix run-rbd-tests

The python tests were not renamed

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years ago.gitignore: re-add vstart dirs and tags, fix typo
Josh Durgin [Mon, 11 Feb 2013 16:04:01 +0000 (08:04 -0800)]
.gitignore: re-add vstart dirs and tags, fix typo

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agoMutex.cc: fix implicitly-defined namespace 'std' 47/head
Danny Al-Gaaf [Mon, 11 Feb 2013 15:47:58 +0000 (16:47 +0100)]
Mutex.cc: fix implicitly-defined namespace 'std'

Fix warning from clang(++):

common/Mutex.cc:14:17: warning: using directive refers to
  implicitly-defined namespace 'std'
using namespace std;
                ^

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoceph_authtool.cc: fix implicitly-defined namespace 'std'
Danny Al-Gaaf [Mon, 11 Feb 2013 15:42:27 +0000 (16:42 +0100)]
ceph_authtool.cc: fix implicitly-defined namespace 'std'

Fix warning from clang(++):

ceph_authtool.cc:15:17: warning: using directive refers to
 implicitly-defined namespace 'std'
using namespace std;
                ^
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agolibrados/librados.cc: fix implicitly-defined namespace 'std'
Danny Al-Gaaf [Thu, 7 Feb 2013 19:36:15 +0000 (20:36 +0100)]
librados/librados.cc: fix implicitly-defined namespace 'std'

Fix warning from clang(++):

librados/librados.cc:15:17: warning: using directive refers to
 implicitly-defined namespace 'std'
using namespace std;
                ^
Include what we need and use the related classes.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agotest_mon_workloadgen.cc: fix -Wgnu
Danny Al-Gaaf [Thu, 7 Feb 2013 19:19:03 +0000 (20:19 +0100)]
test_mon_workloadgen.cc: fix -Wgnu

Fix warning from clang(++):

 test/mon/test_mon_workloadgen.cc:311:23: warning: in-class
 initializer for static data member of type 'const double' is
 a GNU extension [-Wgnu]

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agosrc/osd/PG.h: use empty() instead of size()
Danny Al-Gaaf [Thu, 7 Feb 2013 19:16:46 +0000 (20:16 +0100)]
src/osd/PG.h: use empty() instead of size()

Fix warning for usage of objects.size(). Use empty() since it
should be prefered as it has, following the standard, a constant
time complexity regardless of the containter type. The same is not
guaranteed for size().

warning from cppchecker was:
[osd/PG.h:599]: (performance) Possible inefficient checking for
  'objects' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agosrc/osd/OSD.h: use empty() instead of size()
Danny Al-Gaaf [Thu, 7 Feb 2013 19:14:34 +0000 (20:14 +0100)]
src/osd/OSD.h: use empty() instead of size()

Fix warning for usage of *.size(). Use empty() since it should be
prefered as it has, following the standard, a constant time
complexity regardless of the containter type. The same is not
guaranteed for size().

warning from cppchecker was:
[osd/OSD.h:265]: (performance) Possible inefficient checking for
   'last_scrub_pg' emptiness.
[osd/OSD.h:274]: (performance) Possible inefficient checking for
   'last_scrub_pg' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agosrc/msg/Messenger.h: pass function parameter by reference
Danny Al-Gaaf [Thu, 7 Feb 2013 19:13:28 +0000 (20:13 +0100)]
src/msg/Messenger.h: pass function parameter by reference

Fix "(performance) Function parameter 'm' should be passed by reference."
from cppchecker.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agosrc/mon/PGMonitor.cc: remove unused variable
Danny Al-Gaaf [Thu, 7 Feb 2013 19:09:23 +0000 (20:09 +0100)]
src/mon/PGMonitor.cc: remove unused variable

Remove unused variable to fix:

mon/PGMonitor.cc:170:11: warning: unused variable 'now'
  [-Wunused-variable]

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agosrc/log/Entry.h: pass function parameter by reference
Danny Al-Gaaf [Thu, 7 Feb 2013 19:07:52 +0000 (20:07 +0100)]
src/log/Entry.h: pass function parameter by reference

Fix "(performance) Function parameter 's' should be passed by reference."
from cppchecker.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agocommon/WorkQueue.h: use empty() instead of size()
Danny Al-Gaaf [Thu, 7 Feb 2013 19:04:39 +0000 (20:04 +0100)]
common/WorkQueue.h: use empty() instead of size()

Fix warning for usage of out->size() in _void_dequeue(). Use empty()
since it should be prefered as it has, following the standard, a
constant time complexity regardless of the containter type. The
same is not guaranteed for size().

warning from cppchecker was:
[common/WorkQueue.h:97]: (performance) Possible inefficient
  checking for 'queue' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agocommon/AsyncReserver.h: use empty() instead of size()
Danny Al-Gaaf [Thu, 7 Feb 2013 18:55:52 +0000 (19:55 +0100)]
common/AsyncReserver.h: use empty() instead of size()

Fix warning for usage of queue.size() in do_queues(). Use empty()
since it should be prefered as it has, following the standard, a
constant time complexity regardless of the containter type. The
same is not guaranteed for size().

warning from cppchecker was:
[common/AsyncReserver.h:40]: (performance) Possible inefficient
  checking for 'queue' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agosrc/msg/msg_types.h: pass function parameter by reference
Danny Al-Gaaf [Thu, 7 Feb 2013 16:04:18 +0000 (17:04 +0100)]
src/msg/msg_types.h: pass function parameter by reference

Fix "Function parameter 'm' should be passed by reference." from cppchecker.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agocommon/config.h: declaration of config_option as struct
Danny Al-Gaaf [Wed, 6 Feb 2013 15:03:09 +0000 (16:03 +0100)]
common/config.h: declaration of config_option as struct

Change declaration of config_option from 'class' to 'struct' since
it's defined as struct and used this way (access members). The declaration
as class doesn't change the behaviour.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoMerge pull request #44 from dachary/wip-4070
Sage Weil [Mon, 11 Feb 2013 02:08:55 +0000 (18:08 -0800)]
Merge pull request #44 from dachary/wip-4070

buffer::ptr self assignment bug + patch

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge remote-tracking branch 'danny/wip-da-sca-memleaks'
Sage Weil [Mon, 11 Feb 2013 02:04:02 +0000 (18:04 -0800)]
Merge remote-tracking branch 'danny/wip-da-sca-memleaks'

Reviewed-by: Sage Weil <sage@inktank.com>
12 years ago.gitignore: cleanup and sort entries 45/head
Danny Al-Gaaf [Sun, 10 Feb 2013 19:52:21 +0000 (20:52 +0100)]
.gitignore: cleanup and sort entries

Cleanup old entries and sort the existing entries. Remove no longer
existing entries/files. Move some entries from top level .gitignore
files down to the correct subdir .gitignore file.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoceph-test.install: updated filelist
Danny Al-Gaaf [Sun, 10 Feb 2013 18:00:40 +0000 (19:00 +0100)]
ceph-test.install: updated filelist

Add some files which are part of the ceph-test package on RPM based
distributions already: ceph_test_mon_workloadgen, ceph_rgw_jsonparser,
ceph_test_objectcacher_stress.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agospec/debian: don't install rest-bench twice
Danny Al-Gaaf [Sun, 10 Feb 2013 17:56:47 +0000 (18:56 +0100)]
spec/debian: don't install rest-bench twice

Don't install rest-bench in ceph.spec.in section for ceph-test and
ceph-test.install twice. This file is already part of the rest-bench
package.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoceph-test: give binaries from ceph-test package useful names
Danny Al-Gaaf [Sun, 10 Feb 2013 17:33:56 +0000 (18:33 +0100)]
ceph-test: give binaries from ceph-test package useful  names

The files from the ceph-test subpackage are installed to /usr/bin,
give them more useful names to make sure that the user know they
belong to ceph. add a 'ceph_' prefix and change some test* binaries
to ceph_test_*.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agobuffer::ptr self assignment bug + patch 44/head
Loic Dachary [Sun, 10 Feb 2013 13:23:36 +0000 (14:23 +0100)]
buffer::ptr self assignment bug + patch

After

buffer::ptr a(1);
a = a;

a call to a.get_raw() will return a null pointer and there will be
no pointer referencing the original buffer::raw object although its
reference count is 1.

buffer::ptr& buffer::ptr::operator= (const ptr& p) is modified to use
a local buffer::raw pointer to fix the memory leak. a = a
is a noop instead of loosing the original raw buffer.

A set of unit tests is added src/test/bufferlist.cc to demonstrate
that the proposed change works as expected. It is checked with
valgrind that reports no memory leak. The same test can be run against
the original code to show that it leaks.

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

Signed-off-by: Loic Dachary <loic@dachary.org>
12 years agorgw/rgw_rest.cc: fix 4K memory leak 42/head
Danny Al-Gaaf [Fri, 8 Feb 2013 16:17:59 +0000 (17:17 +0100)]
rgw/rgw_rest.cc: fix 4K memory leak

Fix 4K memory leak in case RGWClientIO::read() fails in
read_all_chunked_input().

Error from cppcheck was:
Checking src/rgw/rgw_rest.cc...
[src/rgw/rgw_rest.cc:688]: (error) Memory leak: data

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoSyntheticClient.cc: fix some memory leaks in the error handling
Danny Al-Gaaf [Fri, 8 Feb 2013 16:14:19 +0000 (17:14 +0100)]
SyntheticClient.cc: fix some memory leaks in the error handling

Fix some memory leaks in case of error handling due to failed
client->open() calls.

Error from cppcheck was:
[src/client/SyntheticClient.cc:1980]: (error) Memory leak: buf
[src/client/SyntheticClient.cc:2040]: (error) Memory leak: buf
[src/client/SyntheticClient.cc:2090]: (error) Memory leak: buf

12 years agowireshark: fix some memory leaks
Danny Al-Gaaf [Fri, 8 Feb 2013 16:12:24 +0000 (17:12 +0100)]
wireshark: fix some memory leaks

Fix some memory leaks in packet-ceph.c. Error from cppcheck was:

[wireshark/ceph/packet-ceph.c:215]: (error) Memory leak: plop
[wireshark/ceph/packet-ceph.c:237]: (error) Memory leak: plop
[wireshark/ceph/packet-ceph.c:543]: (error) Memory leak: fsid_dec

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agorgw/rgw_xml.cc: fix realloc memory leak in error case
Danny Al-Gaaf [Fri, 8 Feb 2013 15:57:20 +0000 (16:57 +0100)]
rgw/rgw_xml.cc: fix realloc memory leak in error case

Fix error from cppcheck:

[src/rgw/rgw_xml.cc:212]: (error) Common realloc mistake: 'buf'
  nulled but not freed upon failure

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoos/FileStore.cc: fix realloc memory leak in error case
Danny Al-Gaaf [Fri, 8 Feb 2013 15:54:33 +0000 (16:54 +0100)]
os/FileStore.cc: fix realloc memory leak in error case

Fix error from cppcheck:

[src/os/FileStore.cc:512]: (error) Common realloc mistake: 'fiemap'
  nulled but not freed upon failure

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agocommon/fiemap.cc: fix realloc memory leak
Danny Al-Gaaf [Fri, 8 Feb 2013 15:49:36 +0000 (16:49 +0100)]
common/fiemap.cc: fix realloc memory leak

Fix error from cppcheck:

[src/common/fiemap.cc:73]: (error) Common realloc mistake: 'fiemap'
  nulled but not freed upon failure

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoqa: fix iogen script
Sage Weil [Thu, 7 Feb 2013 06:01:24 +0000 (22:01 -0800)]
qa: fix iogen script

Wait 10 minutes and then stop.

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

12 years agoosd: do not spam system log on successful read_log
Sage Weil [Wed, 6 Feb 2013 17:02:54 +0000 (09:02 -0800)]
osd: do not spam system log on successful read_log

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

12 years agojava: make CephMountTest use user.* xattr names
Sage Weil [Sat, 9 Feb 2013 05:36:13 +0000 (21:36 -0800)]
java: make CephMountTest use user.* xattr names

Changes to the xattr code in Ceph require
a few tweaks to existing test cases.
Specifically, there is now a ceph.file.layout
xattr by default and user defined xattrs
are prepended with "user."

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Noah Watkins <noahwatkins@gmail.com>
12 years agorgw: plain format always appends eol to data
Yehuda Sadeh [Fri, 8 Feb 2013 21:16:36 +0000 (13:16 -0800)]
rgw: plain format always appends eol to data

Beforehand we just prepended the eol to the next line, so that
the last line also gets eol.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: change json formatting for swift list container
Yehuda Sadeh [Fri, 8 Feb 2013 21:14:49 +0000 (13:14 -0800)]
rgw: change json formatting for swift list container

Fixes: #4048
There is some difference in the way swift formats the
xml output and the json output for list container. In
xml the entity is named 'name' and in json it is named
'subdir'.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMerge branch 'next'
Sage Weil [Sat, 9 Feb 2013 17:41:02 +0000 (09:41 -0800)]
Merge branch 'next'

12 years agoosd: fix load_pgs collection handling
Sage Weil [Sat, 9 Feb 2013 08:05:33 +0000 (00:05 -0800)]
osd: fix load_pgs collection handling

On a _TEMP pg, is_pg() would succeed, which meant we weren't actually
hitting the cleanup checks.  Instead, restructure this loop as positive
checks and handle each type of collection we understand.

This fixes _TEMP cleanup.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agoosd: fix load_pgs handling of pg dirs without a head
Sage Weil [Sat, 9 Feb 2013 08:04:29 +0000 (00:04 -0800)]
osd: fix load_pgs handling of pg dirs without a head

If there is a pgid that passes coll_t::is_pg() but there is no head, we
will populate the pgs map but then fail later when we try to do
read_state.  This is a side-effect of 55f8579.

Take explicit note of _head collections we see, and then warn when we
find stray snap collections.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agoMerge branch 'next'
Sage Weil [Sat, 9 Feb 2013 17:40:34 +0000 (09:40 -0800)]
Merge branch 'next'

Conflicts:
src/mon/PGMonitor.h

12 years agoOSD::load_pgs: first scan colls before initing PGs
Samuel Just [Thu, 7 Feb 2013 21:34:47 +0000 (13:34 -0800)]
OSD::load_pgs: first scan colls before initing PGs

Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agotest/crypto: fix narrowing conversion warning
Sage Weil [Sat, 9 Feb 2013 05:47:34 +0000 (21:47 -0800)]
test/crypto: fix narrowing conversion warning

warning: test/crypto.cc:49:3: narrowing conversion of ‘136’ from ‘int’ to ‘char’ inside { } is ill-formed in C++11 [-Wnarrowing]

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc: update commands for fetching release PGP keys
Sage Weil [Sat, 9 Feb 2013 05:09:20 +0000 (21:09 -0800)]
doc: update commands for fetching release PGP keys

Use https to ceph.com.  The gitweb URLs aren't as pretty, but our
cert is at least valid!

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc: Removed unnecessary/contradictory options.
John Wilkins [Fri, 8 Feb 2013 21:27:58 +0000 (13:27 -0800)]
doc: Removed unnecessary/contradictory options.

fixes: #4058

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Fixed order of option.
John Wilkins [Fri, 8 Feb 2013 21:18:23 +0000 (13:18 -0800)]
doc: Fixed order of option.

fixes: #4046

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agomon: fix typo in C_Stats
Sage Weil [Fri, 8 Feb 2013 17:59:25 +0000 (09:59 -0800)]
mon: fix typo in C_Stats

Broken by previous commit.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: assert valid context return values
Sage Weil [Fri, 8 Feb 2013 07:13:17 +0000 (23:13 -0800)]
mon: assert valid context return values

We recognized EAGAIN, ECANCELED, and success only.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Luis <joao.luis@inktank.com>
12 years agoMerge branch 'next'
Sage Weil [Fri, 8 Feb 2013 17:18:01 +0000 (09:18 -0800)]
Merge branch 'next'

12 years agomon: retry PGStats message on EAGAIN
Sage Weil [Fri, 8 Feb 2013 07:13:11 +0000 (23:13 -0800)]
mon: retry PGStats message on EAGAIN

If we get EAGAIN from a paxos restart/election/whatever, we should
restart the message instead of just blindly acking it.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Luis <joao.luis@inktank.com>
12 years agomon: handle -EAGAIN in completion contexts
Sage Weil [Fri, 8 Feb 2013 06:06:14 +0000 (22:06 -0800)]
mon: handle -EAGAIN in completion contexts

We can get ECANCELED, EAGAIN, or success out of the completion contexts,
but in the EAGAIN case (meaning there was an election) we were sending
a success to the client.  This resulted in client hangs and all-around
confusion when the monitor cluster was thrashing.

Backport: bobtail
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Luis <joao.luis@inktank.com>
12 years agoMerge branch 'next'
Sage Weil [Fri, 8 Feb 2013 07:20:44 +0000 (23:20 -0800)]
Merge branch 'next'

12 years agoradosgw-admin: fix cli test
Sage Weil [Fri, 8 Feb 2013 06:51:29 +0000 (22:51 -0800)]
radosgw-admin: fix cli test

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agokeys: renew autobuild.asc key
Sage Weil [Fri, 8 Feb 2013 06:31:40 +0000 (22:31 -0800)]
keys: renew autobuild.asc key

This expired today.  Change it to never expire, like the Ubuntu release
keys.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Fri, 8 Feb 2013 06:19:58 +0000 (22:19 -0800)]
Merge remote-tracking branch 'gh/next'

12 years agoMerge remote-tracking branch 'origin/master' into wip-2941-3
Yehuda Sadeh [Fri, 8 Feb 2013 01:16:49 +0000 (17:16 -0800)]
Merge remote-tracking branch 'origin/master' into wip-2941-3

12 years agorgw: stream get_obj operation
Yehuda Sadeh [Sat, 15 Dec 2012 01:29:37 +0000 (17:29 -0800)]
rgw: stream get_obj operation

Fixes: #2941
Instead of iterating through the parts one by one when reading
an object, we can now send multiple requests in parallel. Two new
configurables added to control the max request size, and the total
size of pending requests.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agothrottle: optional non perf counter mode
Yehuda Sadeh [Tue, 18 Dec 2012 06:12:37 +0000 (22:12 -0800)]
throttle: optional non perf counter mode

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoOSD: check pg snap collections on start up
Samuel Just [Fri, 8 Feb 2013 00:04:59 +0000 (16:04 -0800)]
OSD: check pg snap collections on start up

Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoOSD::load_pgs: first scan colls before initing PGs
Samuel Just [Thu, 7 Feb 2013 21:34:47 +0000 (13:34 -0800)]
OSD::load_pgs: first scan colls before initing PGs

Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agorgw: get bucket_owner from policy
Yehuda Sadeh [Thu, 7 Feb 2013 22:41:24 +0000 (14:41 -0800)]
rgw: get bucket_owner from policy

We already read the bucket policy, we can get the bucket
owner from there.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix bucket_owner assignment
Yehuda Sadeh [Thu, 7 Feb 2013 22:40:11 +0000 (14:40 -0800)]
rgw: fix bucket_owner assignment

s->bucket_acl may be null, so reverting to old behavior.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoFeature 3667: Support extra canned acls.
caleb miles [Tue, 5 Feb 2013 19:10:03 +0000 (14:10 -0500)]
Feature 3667: Support extra canned acls.

Support the bucket-owner-read and bucket-owner-full
canned acls.

Signed-off-by caleb miles <caleb.miles@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoReplicatedPG: check store for temp collection in have_temp_coll
Samuel Just [Thu, 7 Feb 2013 19:53:28 +0000 (11:53 -0800)]
ReplicatedPG: check store for temp collection in have_temp_coll

We may not have "created" the temp collection since OSD restart
before removing the PG.  have_temp_coll must also look at the
OSD store.  Currently, the only user is pg removal, so the
extra work is acceptable.

Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agorgw: a tool to fix clobbered bucket info in user's bucket list
Yehuda Sadeh [Thu, 7 Feb 2013 01:10:00 +0000 (17:10 -0800)]
rgw: a tool to fix clobbered bucket info in user's bucket list

This fixes bad entries in user's bucket list that may have occured
due to issue #4039. Syntax:

 $ radosgw-admin user check --uid=<uid> [--fix]

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 9cb6c33f0e2281b66cc690a28e08459f2e62ca13)

Conflicts:
src/rgw/rgw_admin.cc

12 years agorgw: bucket recreation should not clobber bucket info
Yehuda Sadeh [Thu, 7 Feb 2013 00:43:48 +0000 (16:43 -0800)]
rgw: bucket recreation should not clobber bucket info

Fixes: #4039
User's list of buckets is getting modified even if bucket already
exists. This fix removes the newly created directory object, and
makes sure that user info's data points at the correct bucket.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 9d006ec40ced9d97b590ee07ca9171f0c9bec6e9)

Conflicts:
src/rgw/rgw_op.cc
src/rgw/rgw_rados.cc

12 years agoMerge branch 'wip-cephtool' into next
Dan Mick [Thu, 7 Feb 2013 21:09:28 +0000 (13:09 -0800)]
Merge branch 'wip-cephtool' into next

Usage/errmsg fixups for the ceph CLI tool

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agoceph: fix 'pg' error message to direct user toward better input
Dan Mick [Thu, 7 Feb 2013 00:27:39 +0000 (16:27 -0800)]
ceph: fix 'pg' error message to direct user toward better input

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agomds: error messages for export_dir said 'migrate_dir'
Dan Mick [Wed, 6 Feb 2013 06:17:00 +0000 (22:17 -0800)]
mds: error messages for export_dir said 'migrate_dir'

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoceph: ceph mon delete doesn't exist; ceph mon remove is the command
Dan Mick [Tue, 5 Feb 2013 04:40:12 +0000 (20:40 -0800)]
ceph: ceph mon delete doesn't exist; ceph mon remove is the command
Fix up cli test as well (doc is already correct)

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoosd: fix name of setomapval admin-daemon command
Dan Mick [Thu, 31 Jan 2013 23:07:14 +0000 (15:07 -0800)]
osd: fix name of setomapval admin-daemon command

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoceph: use "config set" consistently in help/error msgs
Dan Mick [Thu, 31 Jan 2013 22:26:10 +0000 (14:26 -0800)]
ceph: use "config set" consistently in help/error msgs

apparently it was once known as set_config.  Fix up everything to
refer to the new name.  Also, fix up the help message.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agomodified the script to run on both argonaut and bobtail.
tamil [Thu, 7 Feb 2013 19:47:06 +0000 (11:47 -0800)]
modified the script to run on both argonaut and bobtail.
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
12 years agoPG: dirty_info on handle_activate_map
Samuel Just [Thu, 7 Feb 2013 18:38:00 +0000 (10:38 -0800)]
PG: dirty_info on handle_activate_map

We need to make sure the pg epoch is persisted during
activate_map.

Backport: bobtail
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agomds: rename mds_traceless_replies to mds_inject_traceless_reply_probability
Greg Farnum [Thu, 7 Feb 2013 18:25:33 +0000 (10:25 -0800)]
mds: rename mds_traceless_replies to mds_inject_traceless_reply_probability

Sage pointed out we should try for consistent naming on these debug
options, and this option is like our other inject_[x] stuff.
While we're here, make the config option comment a bit clearer.

08b82b3ef6b43283e35fd4e56eb5c78651345bea

12 years agoosd: flush peering queue (consume maps) prior to boot
Sage Weil [Thu, 7 Feb 2013 18:21:49 +0000 (10:21 -0800)]
osd: flush peering queue (consume maps) prior to boot

If the osd itself is behind on many maps during boot, it will get more and
(as part of that) flush the peering wq to ensure the pgs consume them.
However, it is possible for OSD to have latest/recnet maps, but pgs to be
behind, and to jump directly to boot and join.  The OSD is then laggy and
unresponsive because the peering wq is way behind.

To avoid this, call consume_map() (kick the peering wq) at the end of
init and flush it to ensure we are *internally* all caught up before we
consider joining the cluster.

I'm pretty sure this is the root cause of #3905 and possibly #3995.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agoqa: fix iogen script
Sage Weil [Thu, 7 Feb 2013 06:01:24 +0000 (22:01 -0800)]
qa: fix iogen script

Wait 10 minutes and then stop.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoclient: trigger the completion in _flush when short-cutting
Greg Farnum [Thu, 7 Feb 2013 00:35:49 +0000 (16:35 -0800)]
client: trigger the completion in _flush when short-cutting

We missed a shortcut return from _flush() when doing
e9a6694d0151b79c3a3b44cee5df8e3d4dcbfc2c, so _fsync() calls
were failing. To fix, if _flush discovers there's nothing to flush,
trigger the completion by calling onfinish->finish().

Fixes #4038

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agomds: add "mds traceless replies" debug option
Greg Farnum [Wed, 6 Feb 2013 21:32:53 +0000 (13:32 -0800)]
mds: add "mds traceless replies" debug option

This option specifies (in the range 0-1) the percentage of modifying
operations that should be responded to without including a trace
for the dentries.
In order to implement it, we add a "modify" parameter to
set_trace_dist(), and the callers fill that with
mdr->req->may_write().

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sam Lang <sam.lang@inktank.com>
12 years agologrotate.conf: Silence rgw logrotate some more
Gary Lowell [Wed, 6 Feb 2013 19:45:30 +0000 (11:45 -0800)]
logrotate.conf: Silence rgw logrotate some more

Apply the same change as commit d02340d90c9d30d44c962bea7171db3fe3bfba8e to
the radosgw logrotate.conf.

Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
12 years agosilence logrotate some more
Alexandre Oliva [Wed, 6 Feb 2013 17:27:13 +0000 (15:27 -0200)]
silence logrotate some more

I was getting email with logrotate error output from “which invoke-rc.d”
on systems without an invoke-rc.d.  This patch silences it.

Silence stderr from which when running logrotate

From: Alexandre Oliva <oliva@gnu.org>

Signed-off-by: Alexandre Oliva <oliva@gnu.org>
12 years agoMerge remote-tracking branch 'gh/wip-danny-cleanups'
Sage Weil [Wed, 6 Feb 2013 18:43:29 +0000 (10:43 -0800)]
Merge remote-tracking branch 'gh/wip-danny-cleanups'

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge remote-tracking branch 'gh/wip-3768'
Sage Weil [Wed, 6 Feb 2013 18:38:08 +0000 (10:38 -0800)]
Merge remote-tracking branch 'gh/wip-3768'

12 years agotest: fix Throttle unit test.
Greg Farnum [Wed, 6 Feb 2013 18:22:06 +0000 (10:22 -0800)]
test: fix Throttle unit test.

A bunch of these are slightly racy so they're enclosed in loops. This
particular one, though, changes the Throttle state in ways that
invalidate the asserts. To fix, reset the state before commencing a
rerun.

Signed-off-by: Greg Farnum <greg@inktank.com>
12 years agoosd: do not spam system log on successful read_log
Sage Weil [Wed, 6 Feb 2013 17:02:54 +0000 (09:02 -0800)]
osd: do not spam system log on successful read_log

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agorbd-fuse: fix for loop in open_rbd_image()
Danny Al-Gaaf [Wed, 6 Feb 2013 11:17:02 +0000 (12:17 +0100)]
rbd-fuse: fix for loop in open_rbd_image()

Remove uninitialized usage of 'int i' as i++ from 'for' loop.
The variale 'i' is never used in this loop and initialized
before the next use with 0.

Related warning from clang++:

rbd_fuse/rbd-fuse.c:141:36: warning: variable 'i' is uninitialized
when used here [-Wuninitialized]
        for (im = rbd_images; im != NULL; i++, im = im->next) {

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agomsg/Message.h: fix C-style pointer casting
Danny Al-Gaaf [Wed, 6 Feb 2013 11:02:51 +0000 (12:02 +0100)]
msg/Message.h: fix C-style pointer casting

Replace C-style pointer casting with correct static_cast<>().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agomessages/MOSDRepScrub.h: initialize member variable in constructor
Danny Al-Gaaf [Wed, 6 Feb 2013 11:02:50 +0000 (12:02 +0100)]
messages/MOSDRepScrub.h: initialize member variable in constructor

Initialize chunky and deep bool member variables in the constructor
with false.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoinclude/xlist.h: fix C-style pointer casting
Danny Al-Gaaf [Wed, 6 Feb 2013 11:02:49 +0000 (12:02 +0100)]
include/xlist.h: fix C-style pointer casting

Replace C-style pointer casting with correct static_cast<>().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoinclude/types.h: change operator<< function parameter
Danny Al-Gaaf [Wed, 6 Feb 2013 11:02:48 +0000 (12:02 +0100)]
include/types.h: change operator<< function parameter

Fix "Function parameter 'v' should be passed by reference." from cppchecker.
Use 'const pair<A,B>& v' similar to the other operator<< in this file.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoinclude/buffer.h: fix operator=
Danny Al-Gaaf [Wed, 6 Feb 2013 11:02:47 +0000 (12:02 +0100)]
include/buffer.h: fix operator=

Fix operator=: return "iterator&" instead of 'iterator'. Check if 'this'
equals 'other' before set anything.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoobj_bencher.cc: use vector instead of VLA's
Danny Al-Gaaf [Wed, 6 Feb 2013 11:02:46 +0000 (12:02 +0100)]
obj_bencher.cc: use vector instead of VLA's

Fix "variable length array of non-POD element type" error. (-Wvla)

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoceph_crypto.cc: remove unused shutdown() outside crypto ifdef's
Danny Al-Gaaf [Wed, 6 Feb 2013 11:02:45 +0000 (12:02 +0100)]
ceph_crypto.cc: remove unused shutdown() outside crypto ifdef's

Fix "out-of-line declaration of a member must be a definition
[-Wout-of-line-declaration]". Remove ceph::crypto::shutdown() outside
the crypto related ifdef's. Without nss or cryptopp configure will
fail anyways.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>