Commit Graph

23012 Commits

Author SHA1 Message Date
Gary Lowell
cedea1391c docs: Merge changes from release-process2 document. 2012-12-26 12:54:27 -08:00
Sage Weil
f5403f9493 doc/man/8/mkcephfs: update --mkfs a bit
Document that 'devs' and 'osd mkfs type' must be defined.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-26 09:42:13 -08:00
Sage Weil
d9673ca324 Merge branch 'wip-create-layout'
Reviewed-by: Greg Farnum <greg@inktank.com>

The functional tests for the create operations should add and specify non-default
pools, but we don't have a set of library methods to do that yet (to interact with
the monitor).
2012-12-23 19:59:04 -08:00
Sage Weil
8efcf54dc1 mds: *_pg_pool -> *_pool
Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-23 19:39:23 -08:00
Sage Weil
d2f5890f84 client, libcephfs: add method to get the pool name for an open file
Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-23 19:39:23 -08:00
Sage Weil
32ab274a4f client: specify data pool on create operations
Fill in the data pool field if specified by the client, or set to -1.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-23 19:39:22 -08:00
Sage Weil
3f4582176a mds: verify that the pool id is valid on SET[DIR]LAYOUT
Make sure the data pool exists and is part of the MDSMap data pools list.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-23 19:39:22 -08:00
Sage Weil
99d9e1daa5 mds: allow data pool to be specfied on create
Reuse old preferred_pg field.  Only use if the new CREATEPOOLID feature
is present, and the value is >= 0.

Verify that the data pool is allowed, or return EINVAL to the client.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-23 19:39:22 -08:00
Sage Weil
697ed23cb9 client: remove set_default_*() methods
This is a poor interface.  The hadoop stuff is shifting to specify this
information on file creation instead.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-23 19:39:22 -08:00
Sage Weil
00b89c3f7b Merge branch 'next' 2012-12-23 11:19:39 -08:00
Sage Weil
a09f5b1b46 init-ceph,mkcephfs: default inode64 for mounting xfs
According to hch this is now the default or new kernels.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-23 11:18:45 -08:00
Sage Weil
5f25f9f8cf init-ceph: default osd_data path
Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-22 11:10:03 -08:00
Dan Mick
6325a4800d import_export.sh: sparse import export
Add tests for:
   - sparse import makes expected sparse images
   - sparse export makes expected sparse files
   - sparse import from stdin also creates sparse images
   - import from partially-sparse file leads to partially-sparse image
   - import from stdin with zeros leads to sparse
   - export from zeros-image to file leads to sparse file

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2012-12-21 17:03:38 -08:00
Dan Mick
5905d7fae7 rbd: harder-working sparse import from stdin
Try to accumulate image-sized blocks when importing from stdin, even if
each read is shorter than requested; if we get a full block, and it's
all zeroes, we can seek and make a sparse output file

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2012-12-21 17:03:38 -08:00
Dan Mick
410903fe7a rbd: check for all-zero buf in export, seek output if so
Use buf_is_zero in common/util.cc

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2012-12-21 17:03:38 -08:00
Dan Mick
4a558048cf librbd: move buf_is_zero() to new common/util.cc and include/util.h
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2012-12-21 17:03:38 -08:00
Sage Weil
8f5de15605 osd: fix pg stat msgs vs timeout
We can get a pattern like so:

- new mon session
- after say 120 seconds, we decide to send a stats msg
- outstanding_pg_stats is finally true, we immediately time out (30 second
  grace), and reconnect to a new mon
-> repeat

The problem is that we don't reset the last_sent timestamp when we send.
Or that we do this check after sending instead of before.  Fix both.

This should resolve the issue #3661 where osds that don't have pgs
updating are not stats messags to the mon to check in, and are eventually
getting marked down as a result.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2012-12-21 16:47:50 -08:00
John Wilkins
2bf4f42b6d doc: Added new journaler page to CephFS section. Needs descriptions.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-12-21 16:14:53 -08:00
John Wilkins
53afac1a21 doc: Added Journaler Configuration to toc tree.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-12-21 16:14:23 -08:00
John Wilkins
757902d639 doc: Added --mkfs options.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-12-21 16:09:09 -08:00
John Wilkins
46d0334456 doc: Added running multiple clusters. Per Tommi.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-12-21 16:08:05 -08:00
John Wilkins
e3d075667b doc: Updated the Configuration File section.
- Replaced ceph.conf with Ceph configuration to clarify
  when running multiple clusters on the same hardware.
- Added a [client] entry so people know it can be set too.
- Updated existing auth example.
- Added an authentication section with a link to the cephx guide.
- Added section for running multiple clusters. Per Tommi.


Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-12-21 16:07:27 -08:00
John Wilkins
09d4f0365d doc: Added sudo the ceph health for when cephx is on.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-12-21 14:54:18 -08:00
John Wilkins
085992f672 doc: minor fix to syntax.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-12-21 14:53:28 -08:00
Sage Weil
206ffcd82e mkcephfs: error out if 'devs' defined but 'osd fs type' not defined
We can infer btrfs if they use btrfs devs, but if they use devs there is
no default fs.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-21 14:23:14 -08:00
Sage Weil
4a40067db6 doc: update ceph.conf examples about btrfs default
Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-21 14:04:30 -08:00
Sage Weil
11fb314153 Merge remote-tracking branch 'gh/wip-scrub' into next 2012-12-21 13:56:16 -08:00
Sage Weil
47145d8009 Merge remote-tracking branch 'gh/wip-3643' into next
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2012-12-21 13:45:39 -08:00
Sage Weil
999ba1b2e7 monc: only warn about missing keyring if we fail to authenticate
This avoids the situation where a librados or other user with the default
of 'cephx,none' and no keyring is authenticating against a cluster with
required of 'none' and an annoying warning is generated every time.  Now
we only print a helpful message if we actually failed.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-21 13:44:19 -08:00
Sage Weil
5d5a42bc71 osd: clear CLEAN on exit from Clean state
This means we can drop the scrub repair state_clear() call.  We probably
can drop others, but lets leave that for another day.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-21 13:10:32 -08:00
Yehuda Sadeh
b3e62ad692 auth: use none auth if keyring not found
If both cephx and none are accepted auth methods, and
cephx keyring cannot be found then resort to using
none, instead of failing.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-12-21 12:19:41 -08:00
Samuel Just
4d661e0d01 PG::sched_scrub: only set PG_STATE_DEEP_SCRUB once reserved
Otherwise we would have +DEEP before we have +SCRUB.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-21 11:36:54 -08:00
Samuel Just
7c56d8fad0 PG::sched_scrub: return true if scrub newly kicked off
The previous return value wasn't really what OSD::sched_scrub
wanted to know.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-21 11:36:54 -08:00
Sage Weil
ae044e6405 osd: allow transition from Clean -> WaitLocalRecoveryReserved for repair
If we do a scrub repair, we need to go from clean to recovery again to
copy objects around.

This fixes a simple repair of a missing object, either on the primary or
replica.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-21 11:37:48 -08:00
Samuel Just
670afc6c0c PG: in sched_scrub() set PG_STATE_DEEP_SCRUB not scrubber.deep
scrubber.deep gets reset in scrub() to match
state_test(PG_STATE_DEEP_SCRUB).

Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-21 11:29:47 -08:00
Sage Weil
19e44bff37 osd: clear scrub state if queued scrub doesn't start
We set SCRUBBING when we queue a pg for scrub.  If we dequeue and
call scrub() but abort for some reason (!active, degraded, etc.), clear
that state bit.

Bug is easily reproduced with 'ceph osd scrub N' during cluster startup
when PGs are peering; some PGs can get left in the scrubbing state.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-21 11:29:47 -08:00
John Wilkins
feb0aad23e doc: Moved path to individual OSD entires.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-12-21 10:15:38 -08:00
Sage Weil
e765dcb4f1 osd: only dec_scrubs_active if we were active
This fixes a bug that puts scrubs_active negative.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-20 21:45:09 -08:00
Sage Weil
ada3e27fa5 osd: reintroduce inc_scrubs_active helper
This mostly generates nice debug output.  It also slightly simplifies
code and makes things symmetric.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-20 21:44:34 -08:00
Sage Weil
ae26432de8 Merge remote-tracking branch 'gh/next' 2012-12-20 17:43:51 -08:00
Samuel Just
accce83051 Merge remote-tracking branch 'upstream/wip_notify' into next
Reviewed-by: Sage Weil <sage@inktank.com>
2012-12-20 16:24:05 -08:00
Dan Mick
129a49ada1 cephtool: mention ceph osd ls, fix ceph osd tell N bench
Add ceph osd ls to help; make help for ceph osd tell N bench look
more like injectargs, which says <osd-id or *> to make it clear you
can benchmark all osds simultaneously

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2012-12-20 15:51:55 -08:00
Yehuda Sadeh
a36d1db10f rgw: remove noisy log message
No need for that log message.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-12-20 15:32:59 -08:00
Yehuda Sadeh
5b5a19ac76 rgw: fix daemonize initialization
Just call the common daemonize function. Otherwise we end up
not initializng stdout / stderr correctly.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-12-20 15:30:53 -08:00
Sage Weil
50914e7a42 log: fix flush/signal race
We need to signal the cond in the same interval where we hold the lock
*and* modify the queue.  Otherwise, we can have a race like:

 queue has 1 item, max is 1.
 A: enter submit_entry, signal cond, wait on condition
 B: enter submit_entry, signal cond, wait on condition
 C: flush wakes up, flushes 1 previous item
 A: retakes lock, enqueues something, exits
 B: retakes lock, condition fails, waits
  -> C is never woken up as there are 2 items waiting

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2012-12-20 13:48:06 -08:00
Samuel Just
c0e2371284 ReplicatedPG::remove_notify : don't leak the notify object
Following remove_notify, there are no other references to
notif, delete it.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-20 13:29:14 -08:00
Samuel Just
b5031a2233 OSD,ReplicatedPG: do not track notifies on the session
handle_notify_timeout and remove_notify currently do not clean up this
state leaving dangling Notification*.  Further, we only use this mapping
in unwatch in order to determine which notifies to update. We can
accomplish the same thing by iterating through the obc->notifs mapping
since all notifications relevant for a given watch would have been for
the same obc as the watch.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-20 13:27:24 -08:00
John Wilkins
719679ea11 doc: Added package and repo links for Apache and FastCGI. Added SSL enable too.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-12-20 12:59:58 -08:00
John Wilkins
04eb1e73ad doc: Fixed restructuredText usage.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-12-20 12:59:22 -08:00
John Wilkins
ea9fc87d89 doc: Removed foo. Apparently myimage was added and foo not removed.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-12-20 11:39:41 -08:00