Commit Graph

27865 Commits

Author SHA1 Message Date
Sage Weil
c5419785c8 Merge pull request #456 from dalgaaf/wip-da-CID-1
Fix CID issues

Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2013-07-25 11:33:18 -07:00
Sage Weil
096af5ed09 Merge pull request #465 from dalgaaf/wip-da-CID-2
Fix some more CID issues

Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2013-07-25 11:31:08 -07:00
Samuel Just
f653aa570e config_opts.h: increase xfs,btrfs wbthrottle defaults
Also increase fd limit defaults to accomodate the larger number
of fds.

Fixes: #5692
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Mark Nelson <mark.nelson@inktank.com>
2013-07-25 11:10:45 -07:00
Samuel Just
870c474c53 FileStore::_collection_rename: fix global replay guard
If the replay is being replayed, we might have already
performed the rename, skip it.  Also, we must set the
collection replay guard only after we have done the
rename.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-25 10:33:40 -07:00
Samuel Just
0dc3efdd88 HashIndex: reset attr upon split or merge completion
A replay of an in progress merge or split might make
our counts unreliable.

Fixes: #5723
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-25 10:32:59 -07:00
Samuel Just
37a4c4af54 test/filestore/store_test: add test for 5723
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-25 10:32:59 -07:00
Sage Weil
a164f575c1 v0.67-rc2
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJR8GEaAAoJEH6/3V0X7TFtQWcP/2Y1Z+EIZf3a3olq+I60drXD
 lKla+SVNp9tr/i3AZD50HZCfLM/1H94CYdCrF5ZYoidue6KHXGazf/EEoRvwgRUv
 CsVnhHSAI+/4KyCUkYPrbgM7W2PxxdP5yCgZ13qMZAcPvPcqnZRD6pmi9efW11Gz
 C/a4lXDI9yXdcLBcKKcxCC3BCj14bea45Ic+4hMxgEnCBCp/2IDBLTr5RmcCsjIF
 8HtXF/v/8Vf5r4Vutxl93hYWuYSoWNh8vYbM0/zum+Z/5tULJXA/dozc2RtdYsC3
 N+8cND7rw9AmdO2WLaWQIJtshImp44+lkKnzSSBqwD6qhJBC+YBoNUGUPEGkPqG1
 LKn0LinKmbB2XM6uAQt6ccVjeR3bA3RF4T/G6OLjuJwICRRysBLtc0EeSp6NMKFq
 6+3YejwN8FTPhSbQ+K5Pl1VxMy3FT3As4x0bpXGK6qTGN00wmwGtvMFhjjxJpKQh
 3ZKeJiLLEEu5VN+Ro1NfLmCHmsxM8yTcExRBN17eG75v3Yt6bavjpwGIhZ52AeTu
 eTkah0FrVTsakkafuETSFYFw1M+pvoaAnAWnx1KFSg5JUx18nCDhfpEX1S6Ufgzt
 8Hf7xMMDI2gKtxRNYv2vqKPx409yBMG+0yA4StOiKeo7mQSTI/bnKa1FEk3PD4WR
 axO71RlwK8c+G9FnysNj
 =ZhZF
 -----END PGP SIGNATURE-----

Merge tag 'v0.67-rc2' into next

v0.67-rc2
2013-07-25 09:49:32 -07:00
Dan Mick
41930b5e8f ceph.spec.in, debian/control: python-ceph depends on python-flask
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-24 16:31:46 -07:00
Gary Lowell
0018b45f3c v0.67-rc2 2013-07-24 16:18:56 -07:00
Dan Mick
fe2019cc97 rest/test.py: cope with older requests.py versions
Older requests.py didn't have r.json (or r.json()); avoid by
decoding the json myself

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-24 16:09:13 -07:00
Sage Weil
fd1fd664d6 ceph-disk: use new get_dev_path helper for list
Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Tested-by: Olivier Bonvalet <ob.ceph@daevel.fr>
2013-07-24 14:46:24 -07:00
Dan Mick
0b8cad1805 ceph_rest_api.py: allow config section fallback
Try clientname, then 'client', then 'global

Fixes: #5743
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-24 14:38:15 -07:00
Sage Weil
d7df620b57 global/signal_handler: poll on the control pipe, too
We also need to poll the control fd/pipe so that we restart the poll loop
when new signal handlers are added.  This was broken by commit 8e4a78f1.

Fixes: #5742
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2013-07-24 13:56:17 -07:00
Dan Mick
26d0f04b75 Merge branch 'wip-cephtool-cleanup' into next
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-24 13:53:11 -07:00
Dan Mick
085f129a6f ceph.in: remove dead code
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-24 11:56:21 -07:00
Dan Mick
1579c344fe rest/test.py: osd lspools should be a 'GET'
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-24 11:56:20 -07:00
Dan Mick
e83942086c MonCommands.h: osd pool delete "rw" perms, osd pool set no longer exp
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-24 11:56:20 -07:00
Dan Mick
92855064b8 ceph.in/ceph_argparse.py: move find_cmd_target() to ceph_argparse.py
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-24 11:56:03 -07:00
Sage Weil
c2131d4047 mon/OSDMonitor: search for latest full osdmap if record version is missing
In 97462a3213 we tried to search for a
recent full osdmap but were looking at the wrong key.  If full_0 was
present we could record that the latest full map was last_committed even
though it wasn't present.  This is fixed in 76cd7ac1c, but we need to
compensate for when get_version_latest_full() gives us a back version
number by repeating the search.

Fixes: #5737
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-07-24 11:55:42 -07:00
Danny Al-Gaaf
a0559880bd rgw/rgw_metadata.h: init cur_shard in LogListCtx with 0
CID 1054868 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
  uninit_member: Non-static class member "cur_shard" is not
  initialized in this constructor nor in any functions that it calls.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-07-24 18:48:14 +02:00
Danny Al-Gaaf
ebff1ebd10 rgw/rgw_metadata.cc: fix possible null dereferencing
CID 1054827 (#1 of 1): Dereference after null check (FORWARD_NULL)
  var_deref_model: Passing null pointer "objv_tracker->read_version"
  to function "obj_version::operator =(obj_version const &)", which
  dereferences it.

Moved affected 2 cases into the block checking for objv_tracker

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-07-24 18:43:00 +02:00
Danny Al-Gaaf
6e6ef01591 os/ObjectStore.cc: don't fallthrough after OP_OMAP_RMKEYRANGE
CID 1054829 (#1 of 1): Missing break in switch (MISSING_BREAK)
  unterminated_case: This case (value 37) is not terminated by a
  'break' statement.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-07-24 18:30:16 +02:00
Danny Al-Gaaf
27e38e4068 mon/Monitor.cc: init scrub_version with 0 in constructor
CID 1019623 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
  uninit_member: Non-static class member "scrub_version" is not
  initialized in this constructor nor in any functions that it calls.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-07-24 18:22:00 +02:00
Joao Eduardo Luis
a7a7d3fc8a test: test_store_tool: global init before using LevelDBStore
Fixes a segfault

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-24 08:59:25 -07:00
Joao Eduardo Luis
76cd7ac1c2 mon: OSDMonitor: fix a bug introduced on 97462a32
Fixes: #5737
Backport: cuttlefish

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-24 08:58:26 -07:00
Gary Lowell
1cdb3ecffc configure.ac: Remove -rc suffix from the configure version number.
Remove the rc suffix since RPM complains about.  For rc release
builds the "rc" in the git describe string is suffcient for
everyhting but RPM.  For rc release builds (i.e. not gitbuilder)
add a flag to the spec file.

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-07-23 22:43:59 -07:00
Sage Weil
8e4a78f169 global/signal_handler: use poll(2) instead of select(2)
Starting with commit 61a298c39c we delay the
signal handler setup until after lots of other initialization has happened,
which can result in us having very large (>1024) open fds, which will
break the FD_SET macros for select(2).  Use poll(2) instead.

Fixes: #5722
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2013-07-23 21:27:50 -07:00
Sage Weil
4183b74b00 mon/MonmapMonitor: make 'mon remove ...' idempotent
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-23 17:14:02 -07:00
Sage Weil
2338a329f5 client: signal mds sessions with Contexts instead of Conds
If we try to open an mds session and the MDS responds with close (aka,
"no"), we call _closed_mds_session() which signals the Cond*'s but then
deallocates the list.  wait_on_list() then does a use-after-free trying
to remove itself.

Instead, use Context*'s, so that the waiter does not reference the list.

Fixes: #5689
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-07-23 16:39:02 -07:00
Sage Weil
3207542055 client: add Context*-based wait_on_list/signal_context_list helpers
These are better when the list may need to be deallocated.  Context's are
single-shot and the list is not referenced by the caller.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-07-23 16:38:51 -07:00
Sage Weil
612a9b35c0 mon: add quorum_names to quorum_status command output
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-23 14:42:55 -07:00
Dan Mick
cfabede9ba Merge branch 'wip-formatted-output' into next
Formatted output bugfixes
2013-07-23 14:04:56 -07:00
Dan Mick
2c87d9fc2c mon: PGMap dump shouldn't use strings containing '+' as tags
XML has a problem with tags containing +, like the PG state names.
Use an enclosing array, and name the state and count items explicitly.

Fixes: #5721
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-23 14:04:15 -07:00
Dan Mick
96551f97d8 mon: "status" is missing a close_section for the overall output
Fixes: #5720
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-23 14:04:11 -07:00
Dan Mick
3dcfe386bf mon: "osd stat" needs a flush now that osdmap.print_summary() doesn't
Fixes: #5719
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-23 14:04:05 -07:00
Dan Mick
e4d0eeefa2 mon: "mds stat" must open/close section around dump_info
dump_info() got a new field outside the mdsmap section; it's ok for
the overall "report", but not for "mds stat".  Add an enclosing section
in "mds stat".  Fix test to expect new level.

Fixes: #5718
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-23 14:03:52 -07:00
Danny Al-Gaaf
3a69fd0456 ceph.spec.in: obsolete ceph-libs only on the affected distro
The ceph-libs package existed only on Redhat based distro,
there was e.g. never such a package on SUSE. Therefore: make
sure the 'Obsoletes' is only set on these affected distros.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-07-23 14:03:52 -07:00
Gary Lowell
82c5e9e057 Merge pull request #461 from dalgaaf/wip-da-fix-spec-obsoletes
ceph.spec.in: obsolete ceph-libs only on the affected distro

Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
2013-07-23 14:00:59 -07:00
Sage Weil
e807770784 mon/OSDMonitor: fix base case for 7fb3804fb workaround
After cluster creation, we have no full map stored and first_committed ==
1.  In that case, there is no need for a full map, since we can get there
from OSDMap() and the incrementals.

Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao@inktank.com>
2013-07-23 13:32:12 -07:00
Danny Al-Gaaf
e536d66e07 ceph.spec.in: obsolete ceph-libs only on the affected distro
The ceph-libs package existed only on Redhat based distro,
there was e.g. never such a package on SUSE. Therefore: make
sure the 'Obsoletes' is only set on these affected distros.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-07-23 22:06:47 +02:00
Sage Weil
e0709ef5ed Merge remote-tracking branch 'gh/next' into next 2013-07-23 11:23:24 -07:00
Joao Eduardo Luis
97462a3213 mon: OSDMonitor: work around a full version bug introduced in 7fb3804fb
In 7fb3804fb8 we moved the full version
stashing logic to the encode_trim_extra() function.  However, we forgot
to update the osdmap's 'latest_full' key that should always point to
the latest osdmap full version.  This eventually degenerated in a missing
full version after a trim.  This patch works around this bug by looking
for the latest available full osdmap version in the store and updating
'latest_full' to its proper value.

Related-to: #5704
Backport: cuttlefish

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-23 09:48:51 -07:00
Joao Eduardo Luis
bc8d62fe31 mon: OSDMonitor: get rid of encode_full() as we don't use it.
We have delegated this to encode_trim_extra() since
7fb3804fb8 -- no need to keep this code
around.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-23 09:22:32 -07:00
Joao Eduardo Luis
a815547ed3 mon: OSDMonitor: update the osdmap's latest_full with the new full version
We used to do this on encode_full(), but since [1] we no longer rely on
PaxosService to manage the full maps for us.  And we forgot to write down
the latest_full version to the store, leaving it in a truly outdated state.

[1] - 7fb3804fb8

Fixes: #5704
Backport: cuttlefish
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-23 09:21:48 -07:00
Sage Weil
7b3b989311 qa/workunits/suites/fsync-tester.sh: lsof at end
Trying to track down occasional EBUSY on umount at end of test.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-23 08:43:01 -07:00
Gary Lowell
98816e696b Merge branch 'next' of github.com:ceph/ceph into next 2013-07-22 23:21:33 -07:00
Sage Weil
3f31540448 qa/workunits/rest/test: cluster_down/up are now idempotent
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-22 21:04:01 -07:00
Sage Weil
9626f77f09 Merge pull request #457 from ceph/wip-paxos
paxos fixes

Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-07-22 18:28:54 -07:00
Sage Weil
093182b796 osd/ReplicatedPG: drop repop refs in ~SnapTrimmer
This fixes a leak on shutdown.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-07-22 17:19:31 -07:00
Samuel Just
6582b31abc FileStore: disable fd cacher and wbthrottle during replay
The fd cache only works correctly when there is at most 1
inode per hobject_t.  This condition is frequently violated
during replay.

Fixes: #5699
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-22 15:10:46 -07:00