Commit Graph

31237 Commits

Author SHA1 Message Date
Dan Mick
db88e7f385 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>
2014-02-18 13:07:32 -08:00
Sage Weil
6d4c1e2b42 Merge pull request #1246 from dachary/wip-7188
common: ping existing admin socket before unlink
2014-02-15 16:49:30 -08:00
Loic Dachary
45600789f1 common: ping existing admin socket before unlink
When a daemon initializes it tries to create an admin socket and unlinks
any pre-existing file, regardless. If such a file is in use, it causes
the existing daemon to loose its admin socket.

The AdminSocketClient::ping is implemented to probe an existing socket,
using the "0" message. The AdminSocket::bind_and_listen function is
modified to call ping() on when it finds existing file. It unlinks the
file only if the ping fails.

http://tracker.ceph.com/issues/7188 fixes: #7188

Backport: emperor, dumpling
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-02-16 00:05:54 +01:00
Gregory Farnum
ea6dc99766 Merge pull request #1225 from ceph/wip-moncap
osd/OSDCap: mon/MonCap: handle any whitespace (not just space)
Reviewed-by: Greg Farnum <greg@inktank.com>
2014-02-12 15:01:00 -08:00
Josh Durgin
83b2cde282 Merge pull request #1217 from ceph/wip-7346
rgw: multi object delete should be idempotent

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-12 13:14:04 -08:00
Sage Weil
a0b2c74647 osd/OSDCap: handle any whitespace (not just space)
Backport: emperor, dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-12 13:12:25 -08:00
Sage Weil
824dd52b2a mon/MonCap: handle any whitespace (not just space)
Backport: emperor, dumpling
Reported-by: Dmitry Borodaenko <dborodaenko@mirantis.com>
Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-12 13:10:51 -08:00
Sage Weil
7709d19f65 Merge pull request #1211 from ceph/wip-memstore
memstore: fix touch double-allocation

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-02-11 21:10:08 -08:00
Yehuda Sadeh
8ca3d95bf6 rgw: multi object delete should be idempotent
Fixes: #7346
When doing a multi object delete, if an object does not exist then we
should return a success code for that object.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2014-02-11 16:54:05 -08:00
Sage Weil
69682ad1de memstore: fix touch double-allocation
Reported-by: Allen Samuels <allen.samuels@sandisk.com>
Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-10 19:04:42 -08:00
Sage Weil
39b393d7fa Merge remote-tracking branch 'gh/wip-7329' into next 2014-02-09 10:37:47 -08:00
Sage Weil
575566b168 ceph_test_rados_api_tier: try harder to trigger the flush vs try-flush race
It seems to be reasonable easy to complete a flush before the next client
request is processed.  Crazy...

Same with the flush vs write race.

Fixes: #7329
Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-08 20:20:21 -08:00
Loic Dachary
270714d54e Merge pull request #1201 from ceph/wip-7370
crush: fix tries/retries bug that was recently introduced

Reviewed-by: Loic Dachary <loic@dachary.org>
2014-02-09 01:12:46 +01:00
Sage Weil
f17caba8ae crush: allow crush rules to set (re)tries counts to 0
These two fields are misnomers; they are *retry* counts.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-08 12:23:05 -08:00
Sage Weil
795704fd61 crush: fix off-by-one errors in total_tries refactor
Back in 27f4d1f6bc we refactored the CRUSH
code to allow adjustment of the retry counts on a per-pool basis.  That
commit had an off-by-one bug: the previous "tries" counter was a *retry*
count, not a *try* count, but the new code was passing in 1 meaning
there should be no retries.

Fix the ftotal vs tries comparison to use < instead of <= to fix the
problem.  Note that the original code used <= here, which means the
global "choose_total_tries" tunable is actually counting retries.
Compensate for that by adding 1 in crush_do_rule when we pull the tunable
into the local variable.

This was noticed looking at output from a user provided osdmap.
Unfortunately the map doesn't illustrate the change in mapping behavior
and I haven't managed to construct one yet that does.  Inspection of the
crush debug output now aligns with prior versions, though.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-08 12:21:33 -08:00
Sage Weil
ed32c4002f crushtool: add cli test for off-by-one tries vs retries bug
See bug #7370.  This passes on dumpling and breaks prior to the #7370 fix.

Backport: emperor, dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-08 12:21:26 -08:00
tamil
3d656600e9 script to test rgw multi part uploads using s3 interface
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
(cherry picked from commit 5d59dd9cd6)
2014-02-07 22:27:05 -08:00
tamil
d4e5db58fa Merge branch 'next' of github.com:ceph/ceph into next 2014-02-07 17:10:10 -08:00
tamil
0bac064e90 added script to test rgw user quota
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
2014-02-07 17:09:30 -08:00
Gregory Farnum
b04ae1341f Merge pull request #1197 from ceph/wip-osdmap-primary
osd/OSDMap: populate *primary when pool dne

Reviewed-by: Greg Farnum <greg@inktank.com>
2014-02-07 10:21:40 -08:00
Sage Weil
3a5fa8765f osd/OSDMap: populate *primary when pool dne
This fixes a valgrind error from OSD::handle_osd_map where primary is not
initialized and is compared after the call to pg_to_acting_osds().

We are still not distinguishing from "no mapping" to "pool doesn't exist,
no mapping".  That is a somewhat larger change, though.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-07 09:38:37 -08:00
Yehuda Sadeh
5b7e2b2297 rgw: initialize variable before call
Need to initialize the truncated variable, as we sometimes ignore error
response (e.g., with ENOENT), and in such cases we can't expect it to be
set.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 9ecf3467a3)
2014-02-07 08:43:47 -08:00
Sage Weil
bb6d3f81a7 rest/test.py: use larger max_file_size for mds set test
Current min is 64k.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-07 06:11:57 -08:00
Sage Weil
3d4353108b Merge pull request #1190 from ceph/wip-snaptest-next
qa/workunits/snaps: New allow_new_snaps syntax
2014-02-05 13:04:44 -08:00
John Spray
ce0e3bd188 qa/workunits/snaps: New allow_new_snaps syntax
These were probably just obscuring other failures.

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: John Spray <john.spray@inktank.com>
2014-02-05 21:00:12 +00:00
Sage Weil
eb18c0a8d3 Merge pull request #1183 from ceph/wip-7336
rgw: fix rgw_read_user_buckets() use of max param

Reviewed-by: Sage Weil <sage@inktank.com>
2014-02-04 21:33:54 -08:00
Yehuda Sadeh
04b1ae466e rgw: fix rgw_read_user_buckets() use of max param
Fixes: #7336

The rgw_read_user_buckets() treated the max param as the max number of
entries to request in a single op, but always fetched the entire list
of buckets. This is wrong, as it should have treated it as the total
number of entries requested. All the callers assume the latter.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2014-02-04 10:37:11 -08:00
Sage Weil
60ca6f699b client: fix warnings
client/Client.cc: In member function 'int Client::_read(Fh*, int64_t, uint64_t, ceph::bufferlist*)':
warning: client/Client.cc:5893:27: comparison between signed and unsigned integer expressions [-Wsign-compare]
client/Client.cc: In member function 'int Client::_write(Fh*, int64_t, uint64_t, const char*)':
warning: client/Client.cc:6235:30: comparison between signed and unsigned integer expressions [-Wsign-compare]

Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-03 21:12:41 -08:00
Sage Weil
a23a2c8f01 os/KeyValueStore: fix warning
Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-03 17:50:32 -08:00
Sage Weil
8e30db8f2a rest: add a few rest api tests
Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-03 17:50:32 -08:00
Sage Weil
eb9ffd5a79 mon: use 'mds set inline_data ...' for enable/disable of inline data
This makes the management interface a bit more consistent.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-03 17:50:32 -08:00
Sage Weil
408b0c8e75 mon: fix 'mds set allow_new_snaps'
We had already added this as a flag (set/unset) when I generalized the
'mds set_max_mds' to be 'ceph mds set <var> <val>'.  Switch the snaps
flag to be a key/value to with true/false (similar to the hashpspool
pool flag) since there are fewer users and the var/val approach is more
general.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2014-02-03 17:50:18 -08:00
Ken Dreyer
f9b9f52420 Merge branch 'next' 2014-02-03 22:39:26 +00:00
Ken Dreyer
3b990136bf v0.76 2014-02-03 18:26:25 +00:00
Sage Weil
7ff2b541c2 client: use 64-bit value in sync read eof logic
The file size can jump to a value that is very much larger than our current
position (for example, it could be a disk image file that gets a sparse
write at a large offset).  Use a 64-bit value so that 'some' doesn't
overflow.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: John Spray <john.spray@inktank.com>
2014-02-03 08:54:14 -08:00
Sage Weil
e4ff4720d5 Merge remote-tracking branch 'gh/next'
Conflicts:
	src/mon/OSDMonitor.cc
	src/osd/OSDMap.h
2014-02-02 09:40:11 -08:00
Sage Weil
29eac1d14e Merge remote-tracking branch 'gh/wip-inline'
Passed fs suite, sage-2014-02-01_22:18:10-fs-wip-inline-testing-basic-plana,
modulo a snap test error in the suite.

Reviewed-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2014-02-02 09:16:06 -08:00
Sage Weil
9c3a4d8af6 Merge pull request #1165 from mo22/client_fuse_multithreading
client: ceph-fuse use fuse_session_loop_mt to allow multithreaded operat...

Reviewed-by: Sage Weil <sage@inktank.com>
2014-02-01 21:00:41 -08:00
John Wilkins
b717e11b52 Merge pull request #1174 from alram/master
doc: rgw: el6 documentation fixes
2014-01-31 14:20:37 -08:00
Alexandre Marangone
ee4cfda151 doc: rgw: el6 documentation fixes
- fix a couple of typo for repo configuration and service restart
- the ceph package must be installed on RPM distro since the init
script relies on ceph-conf
- Note on radosgw service name for RPM distro

Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
2014-01-31 13:55:55 -08:00
David Zafman
dffe6019c3 Merge pull request #1162 from ceph/wip-5997
Fixes: #5997

 Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-01-31 12:35:56 -08:00
David Zafman
48fbccece5 osd: Change some be_compare_scrub_objects() args to const
Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-01-31 11:00:22 -08:00
David Zafman
ce1ea619f6 osd: Change be_scan_list() arg to const
Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-01-31 11:00:22 -08:00
David Zafman
e1bfed52f9 common: buffer::ptr::cmp() is a const function
Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-01-31 11:00:22 -08:00
David Zafman
34eb549cd4 osd: Move the rest of scrubbing routines to the backend
Move enum scrub_error_type to osd_types.h
Move PG::_compare_scrub_objects to ReplicatedBackend::be_compare_scrub_objects
Move PG::_select_auth_object to ReplicatedBackend::be_select_auth_object
Move PG::_compare_scrubmaps to ReplicatedBackend::be_compare_scrubmaps

Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-01-31 11:00:22 -08:00
David Zafman
f9128e89a3 osd: Move PG::_scan_list() to backend as ReplicatedBackend::be_scan_list()
Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-01-31 11:00:22 -08:00
David Zafman
37447e758e osd: Add scrub_supported() backend interface
Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-01-31 11:00:22 -08:00
Sage Weil
560f5f1f88 OSDMap: fix deepish_copy_from
Start with a shallow copy!

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

Conflicts:

	src/osd/OSDMap.h
2014-01-31 07:57:20 -08:00
Sage Weil
d5080799c8 OSDMonitor: use deepish_copy_from for remove_down_pg_temp
This is a backport of 368852f6c0a884b8fdc80a5cd6f9ab72e814d412.

Make a deep copy of the OSDMap to avoid clobbering the in-memory copy with
the call to apply_incremental.

Fixes: #7060
Signed-off-by: Sage Weil <sage@inktank.com>
2014-01-31 07:57:04 -08:00
Sage Weil
61914d82bf OSDMap: deepish_copy_from()
Make a deep(ish) copy of another OSDMap.  Unfortunatley we can't make the
compiler-generated copy operator/constructors private until c++11.  :(

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit bd54b9841b9255406e56cdc7269bddb419453304)
2014-01-31 07:57:01 -08:00