Commit Graph

23375 Commits

Author SHA1 Message Date
David Zafman
509a93e89f osd: Add digest of omap for deep-scrub
Add ScrubMap encode/decode v4 message with omap digest
Compute digest of header and key/value.  Use bufferlist
to reflect structure and compute as we go, clearing
bufferlist to reduce memory usage.

Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-22 15:57:01 -08:00
David Zafman
cfb1aa809d osd: Add missing unregister_command() in OSD::shutdown()
Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-22 15:57:00 -08:00
Sage Weil
c3266ad109 config: helper to identify internal fields we should be quiet about
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 15:10:22 -08:00
Sage Weil
0ee5ec7eae common/Throttle: fix modeline, whitespace
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 15:10:22 -08:00
John Wilkins
451cc00ab2 doc: Modified usage for upgrade.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-22 14:55:19 -08:00
Joe Buck
00b1186922 testing: add workunit to run hadoop internal tests.
This workunit runs the internal tests for our local branch of hadoop-common.
Requires ant be installed on the host running the test.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-01-22 12:43:37 -08:00
Sage Weil
4a871b559d Merge branch 'wip-config'
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2013-01-22 10:25:37 -08:00
Sage Weil
359d0e98c1 config: report on log level changes
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 10:24:40 -08:00
Sage Weil
c5e095177c config: clean up output
Report a simple list of key='value', without extra verbosity.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 10:24:37 -08:00
Sage Weil
d7d8192283 config: don't make noise about 'internal_safe_to_start_threads'
This is set on start, and subsequently gets into the changed set.
Once any other config value is injected, it is the first thing reported
by the logs, but is confusing and useless to the user.  Hide it.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-21 08:45:10 -08:00
Sage Weil
3399860de2 Merge remote-tracking branch 'gh/next' 2013-01-21 08:22:36 -08:00
Greg Farnum
2e39dd5e6f mds: fix default_file_layout constructor
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-01-21 08:21:20 -08:00
Greg Farnum
e461f0966a mds: fix byte_range_t ctor
I do not think we saw any bugs from this, but anything that involved
capability issues on restart or migrate might have been caused by
this.

Signed-off-by: Sage Weil <sage@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
2013-01-21 08:21:13 -08:00
Sage Weil
17160843d0 osd: calculate initial PG mapping from PG's osdmap
The initial values of up/acting need to be based on the PG's osdmap, not
the OSD's latest.  This can cause various confusion in
pg_interval_t::check_new_interval() when calling OSDMap methods due to the
up/acting OSDs not existing yet (for example).

Fixes: #3879
Reported-by: Jens Kristian S?gaard <jens@mermaidconsulting.dk>
Tested-by: Jens Kristian S?gaard <jens@mermaidconsulting.dk>
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-20 16:11:10 -08:00
Dan Mick
2491f976e4 workunits/cephtool: add tests for ceph osd pool set/get
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-01-18 22:36:31 -08:00
Sage Weil
ea9628fba4 Merge remote-tracking branch 'gh/next' 2013-01-18 20:57:40 -08:00
Travis Rhoden
48308954cb Clarify journal size based on filestore max sync
The docs had the recommended journal size based on the option
"filestore min sync interval" when it should have been
"filestore max sync interval".

While in there, fix a couple of typos -- multiple when it should
be multiply, and a missing word.  Change "Should at least twice"
to "Should be at least twice..."

Signed-off-by: Travis Rhoden <trhoden@gmail.com>
2013-01-18 22:26:07 -05:00
Dan Mick
aea898db2b ceph: reject negative weights at ceph osd <n> reweight
Check the integer (fixed-point) value to avoid any worries
about floating-point rounding.  Add tests for reweight < 0.

Fixes: #3872
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage.weil@inktank.com>
2013-01-18 18:32:21 -08:00
Dan Mick
7d9d7651be workunit/cephtool: Use '! cmd' when expecting failure
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-01-18 18:32:13 -08:00
Samuel Just
0cb760f31b OSD: do deep_scrub for repair
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
2013-01-18 16:01:52 -08:00
Sage Weil
684a8f8f84 Merge branch 'wip-pg-removal'
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-18 15:45:03 -08:00
Sage Weil
5e00af406b osd: set pg removal transactions based on configurable
Use the osd_target_transaction_size knob, and gracefully tolerate bogus
values (e.g., <= 0).

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-18 15:44:41 -08:00
Sage Weil
4712e984d3 osd: make pg removal thread more friendly
For a large PG these are saturating the filestore and journal queues.  Do
them synchronously to make them more friendly.  They don't need to be fast.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-18 15:44:41 -08:00
Sage Weil
bc994045ad os: move apply_transactions() sync wrapper into ObjectStore
This has nothing to do with the backend implementation.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-18 15:44:41 -08:00
Sage Weil
f6c69c3f1a os: add apply_transaction() variant that takes a sequencer
Also, move the convenience wrappers into the interface and funnel through
a single implementation.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-18 15:44:41 -08:00
Sage Weil
b4e0f7ca72 Merge remote-tracking branch 'gh/wip-client-pool-api'
Reviewed-by: Sage Weil <sage@inktank.com>
2013-01-18 13:31:15 -08:00
Josh Durgin
045af95908 qa: remove xfstest 068 from qemu testing
This tests fsfreeze, which sometimes hangs in xfs in linux 3.2

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-01-18 12:21:19 -08:00
Dan Mick
1f911fd061 ceph: allow osd pool get to get everything you can set
osd pool get was missing size, min_size, crash_replay_interval,
and crush_ruleset; they're all easily added.

Fixes: #3869
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sam Lang <sam.lang@inktank.com>
2013-01-18 12:42:16 -08:00
Sage Weil
49726dcf97 os/FileStore: only flush inline if write is sufficiently large
Honor filestore_flush_min in the inline flush case.

Backport: bobtail
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-18 12:14:48 -08:00
Sage Weil
8ddb55d34c os/FileStore: fix compile when sync_file_range is missing;
If sync_file_range is not present, we always close inline, and flush
via fdatasync(2).

Fixes compile on ancient platforms like RHEL5.8.

Backport: bobtail
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-18 12:14:40 -08:00
Sage Weil
b8d5e28651 doc/rados/operations/crush: need kernel v3.6 for first round of tunables
Reported-by: rl219 in #ceph on irc.oftc.net
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-18 11:05:03 -08:00
Noah Watkins
736966f38b java: support get pool id/replication interface
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-01-18 10:35:44 -08:00
Noah Watkins
40415d1c2f libcephfs: add pool id/size lookup interface
Adds new interfaces ceph_get_pool_id() and ceph_get_pool_replication()
to libcephfs.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-01-18 10:33:50 -08:00
John Wilkins
76e715ba8f doc: Added link to rotation section.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-18 00:25:28 -08:00
John Wilkins
e1741ba602 doc: Added hyperlink to log rotation section.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-18 00:25:08 -08:00
John Wilkins
612717af9b doc: Added section on log rotation.
fixes: #3776

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-18 00:24:22 -08:00
John Wilkins
48f414686e Merge branch 'master' of https://github.com/ceph/ceph 2013-01-17 23:33:06 -08:00
John Wilkins
83326588c7 doc: Modified index to include mon-osd-interaction.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-17 23:32:26 -08:00
John Wilkins
d6fc92dfae doc: Added a section describing mon/osd interaction.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-17 23:31:47 -08:00
Gary Lowell
bebdc70b42 build: Add perl installation dependency to rpm and debian packages.
There was already a dependency on python in the debian control file,
a similar dependency was added to the rpm spec file.  perl is needed
for the logrotate script, so a dependecy was on perl wass added to
both. Bug 3768.

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-01-17 22:43:07 -08:00
John Wilkins
ff7c971fce doc: Added an admonishment for SSD write latency.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-17 22:13:12 -08:00
John Wilkins
ca2d9ac906 doc: Updated OSD configuration reference with backfill config options.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-17 21:27:46 -08:00
Sage Weil
5a384f48bf Merge branch 'wip-mds'
Reviewed-by: Sage Weil <sage@inktank.com>
2013-01-17 21:05:05 -08:00
Josh Durgin
d81ac8418f rbd: fix bench-write infinite loop
I/O was continously submitted as long as there were few enough ops in
flight. If the number of 'threads' was high, or caching was turned on,
there would never be that many ops in flight, so the loop would continue
indefinitely. Instead, submit at most io_threads ops per offset.

Fixes: #3413
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage.weil@inktank.com>
2013-01-17 17:54:52 -08:00
Sage Weil
233d034d32 Merge branch 'wip-cephx'
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-01-17 17:01:49 -08:00
Dan Mick
60db6e3e39 crushtool: warn usefully about missing output spec
When running with --test, you must request output to CSV files or
specific types of output to --show-X; make the error message
clarify what the tool wants.

Fixes: #3827
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-01-17 16:09:05 -08:00
Dan Mick
e776b63dd5 crushtool: consolidate_whitespace() should eat everything except \n
CRUSH map source with \r (like a DOS text file) failed to compile
with the usual nonuseful message; turns out that eating \r along with
' ' and '\t' etc. solves that problem.

Fixes: #3834
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-01-17 16:09:05 -08:00
Sage Weil
efa595f5d3 doc/rados/operations/authentication: update for cephx sig requirement options
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-17 15:12:59 -08:00
Sage Weil
91a573a4eb mon: enforce 'cephx require signatures' during negotiation
If we are negotiating which auth protocol to use, and the client does not
support the MSG_AUTH feature, and the server has 'cephx require signatures'
set to true, then remove cephx from the list of allowed protocols.

Also print something in the mon log so that we know wtf is going on.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-17 15:12:00 -08:00
Sage Weil
50db10dc25 msg/Pipe: require MSG_AUTH feature on server if option is enabled
If we

  negotiate cephx AND
  are a server AND
  cephx require signatures = true

then require the MSG_AUTH feature bit.  Put this in the Policy struct for
this connection so that the existing feature bit checks and error reporting
are used, and the peer knows what feature it is missing.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-17 15:12:00 -08:00