Commit Graph

34442 Commits

Author SHA1 Message Date
Sage Weil
e299357e2a osd: separate cleanup from PGBackend::on_change()
The generic portion of on_change() cleaned up temporary on-disk objects
and requires a Transaction.  The rest is clearing out in-memory state and
does not.  Separate the two.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-08 16:12:25 -07:00
Luis Pabón
b16b64eb08 Support for READFORWARD in the caching tier
READFORWARD caching policy uses writeback for writes
and redirects reads to the back end starage tier.

Signed-off-by: Luis Pabón <lpabon@redhat.com>
2014-07-08 16:00:20 -04:00
Sage Weil
7756a136d2 Merge remote-tracking branch 'gh/next' 2014-07-08 11:45:22 -07:00
Joao Eduardo Luis
b927c0de7d qa/workunits: cephtool: test for 'osd pool {get,set}-quota'
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-07-08 19:33:14 +01:00
Joao Eduardo Luis
714a9bb5a0 mon: OSDMonitor: add 'osd pool get-quota' command
Enables us to obtain current quotas for a given pool.

Fixes: #8523

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-07-08 19:33:14 +01:00
Samuel Just
abb59aced8 Merge pull request #2076 from cernceph/wip-wbthrottle-perfcounters
decrement WBThrottle perfcounters in clear_object

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-07-08 10:25:20 -07:00
Sage Weil
e553c3414b Merge pull request #2082 from ceph/wip-8727
messages: MForward: fix compat version

Reviewed-by: Sage Weil <sage@redhat.com>
2014-07-08 10:05:33 -07:00
Joao Eduardo Luis
c92feebb81 messages: MForward: fix compat version
A while ago we bumped the head version and reset the compat version to 0.
Doing this so happens to make the messenger assume that the message does
not support the compat versioning and sets the compat version to the head
version -- thus making compat = 2 when it should have been 1.

The nasty side-effect of this is that upgrading from emperor to firefly
will have emperor-leaders being unable to decode forwarded messages from
firefly-peons.

Fixes: #8727

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-07-08 16:46:27 +01:00
Sage Weil
59379a4583 Merge pull request #2081 from ceph/wip-osd-leaks
osd: fix several memory leaks from fast dispatch

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-07-07 21:08:21 -07:00
Sage Weil
0bf4f652b7 osd: clear sessions_waiting_on_map on shutdown
Wake up these ops and drop the Session refs on shutdown.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-07 16:17:47 -07:00
Sage Weil
aefbac5e43 osd: fix session leak when waiting on map
We don't want to leak the Session if this Session is already waiting on
a map.

Introduced by eb30f88c94.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-07 16:17:47 -07:00
Gregory Farnum
ca1dc3c9dc Merge pull request #2037 from ceph/wip-async-log
MDS: Encode log events in a separate thread from main execution.

This is a first small step in multi-threading the MDS daemon.

Reviewed-by: Greg Farnum <greg@inktank.com>
2014-07-07 15:37:13 -07:00
Sage Weil
17ad083145 osd: clear Sessions for loopback Connections on shutdown
Starting with the fast dispatch patches, we are calling the handle_connect
on loopback.  Make sure we zap them on shutdown to break the Session <->
Connection ref cycle.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-07 15:12:10 -07:00
Sage Weil
231fe1b685 Revert "OSD: move waiting_for_pg into Session"
This reverts commit ecda2fef8c.

This leaves Session* refs indefinitely in the map.

This was one source of #7995.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-07 15:11:30 -07:00
Sage Weil
083f9fe445 Merge pull request #2080 from ceph/wip-8306-rebase
Wip 8306 rebase

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2014-07-07 14:52:17 -07:00
Greg Farnum
aa1be2e306 OSD: fix debug logging output
The snapmapper and infos statements were backwards. Now they aren't.

Signed-off-by: Greg Farnum <greg@inktank.com>
2014-07-07 14:10:07 -07:00
Sage Weil
0f74299543 Merge pull request #2078 from ceph/wip-8751
test: generalise default_pools in test_rados

Reviewed-by: Sage Weil <sage@redhat.com>
2014-07-07 13:23:25 -07:00
Dan Mick
b700963071 ceph.spec.in: add bash completion file for radosgw-admin
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-07-07 13:12:41 -07:00
Dan Mick
235e4c7de8 ceph.spec.in: rhel7-related changes:
udev rules: /lib -> /usr/lib
/sbin binaries move to /usr/sbin or %{_sbindir}

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-07-07 13:12:41 -07:00
Dan Mick
7cf8132239 Fix/add missing dependencies:
- rbd-fuse depends on librados2/librbd1
- ceph-devel depends on specific releases of libs and libcephfs_jni1
- librbd1 depends on librados2
- python-ceph does not depend on libcephfs1

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-07-07 13:12:23 -07:00
Dan Mick
ec8af52a5e ceph.spec.in: whitespace fixes
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-07-07 13:11:14 -07:00
Dan Mick
e131b9d5a5 ceph.spec.in: split out ceph-common as in Debian
Move files, postun scriptlet, and add dependencies on ceph-common
where appropriate

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-07-07 13:09:50 -07:00
John Spray
cca5841c40 test: generalise default_pools in test_rados
Instead of fragile assumptions about what pools
do or do not exist by default, simply use what
exists at test setup time as a baseline.

Fixes: #8751

Signed-off-by: John Spray <john.spray@redhat.com>
2014-07-07 18:19:46 +01:00
Sage Weil
768d48f6ef Merge pull request #2074 from onlyjob/docs
doc: mention kernel support for rbd format 2

Reviewed-by: Sage Weil <sage@redhat.com>
2014-07-07 09:07:04 -07:00
Sage Weil
a2337474f5 Merge pull request #2077 from ceph/wip-8754
tests: don't depend on 'data' pool in rbd test

Reviewed-by: Sage Weil <sage@redhat.com>
2014-07-07 09:04:57 -07:00
John Spray
a7a631d1e2 tests: don't depend on 'data' pool in rbd test
Since we removed the default 'data' and 'metadata' pools,
tests which need a pool should create it themselves.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-07-07 15:45:54 +01:00
Sage Weil
cf5f535125 doc/release-notes: clarify CRUSH notes about tunables
Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-07 07:05:38 -07:00
Dan van der Ster
d84d7204a1 decrement WBThrottle perfcounters in clear_object
We observed that the WBThrottle perfcounters are leaking upwards
at a rate of around 50-100 ios_dirtied per day. The counters are
currently not decremented in clear_object, so that's the likely
explanation. Decrement them like elsewhere in WBThrottle.

Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
2014-07-07 16:02:05 +02:00
Sage Weil
7e3fb06a7e Merge pull request #2075 from ceph/wip-8745
mds: use client-provided time stamp for user-visible file metadata

Reviewed-by: Sage Weil <sage@redhat.com>
2014-07-07 06:54:49 -07:00
Yan, Zheng
16df4c3ed8 mds: use client-provided time stamp for user-visible file metadata
Fixes: #8745
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2014-07-07 16:17:26 +08:00
Haomai Wang
73b2928acf Remove exclusive lock on GenericObjectMap
Now most of GenericObjectMap interfaces use header as argument not the union of
coll_t and ghobject_t. So caller should be responsible for maintain the
exclusive header.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-07-07 14:08:57 +08:00
Haomai Wang
d1049794bc Add Header cache to KeyValueStore
In the performance statistic recently, the header lookup becomes the main time
consuming for the read/write operations. Most of time it occur 50% to deal with
header lookup, decode/encode logics.

Now adding header cache using SharedLRU structure which will maintain the header
cache and caller will get the pointer to the real header. It also avoid too much
header copy operations overhead.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-07-07 14:08:43 +08:00
Dmitry Smirnov
c0806bbdcc doc: mention kernel support for rbd format 2
Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
2014-07-05 19:27:24 +10:00
Sage Weil
dd5b60b4f1 Merge remote-tracking branch 'gh/next' 2014-07-04 21:18:55 -07:00
Sage Weil
50a21833fb Merge pull request #2072 from ceph/wip-8738-next
Patch up the CRUSH map compatibility guards

Reviewed-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2014-07-04 18:35:24 -07:00
Wido den Hollander
c7937ff38c doc: Fix a typo regarding requiretty for RHEL based platforms 2014-07-04 14:28:03 +02:00
Sage Weil
276dbfc4cb Merge pull request #2058 from ceph/wip-refs
refcount debugging for RefCountedObject

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-07-03 17:36:48 -07:00
Greg Farnum
54af810481 mon: check changes to the whole CRUSH map and to tunables against cluster features
When we change the tunables, or set a new CRUSH map, we need to make sure it's
supported by all the monitors and OSDs currently participating in the cluster.

Fixes: #8738

Signed-off-by: Greg Farnum <greg@inktank.com>
2014-07-03 16:32:41 -07:00
Greg Farnum
2280c0eaa9 OSDMonitor: fix quorum_features comparison in check_cluster_features
We need to see if there's a feature which is not in the quorum_features,
not if there are no features in common!

Signed-off-by: Greg Farnum <greg@inktank.com>
2014-07-03 16:32:41 -07:00
Sage Weil
c0ba58c49f msg: debug refs on incoming Messages
Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-03 14:28:26 -07:00
Sage Weil
c0dcf3bf47 common/RefCountedObject: make nref, cct private
Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-03 14:28:26 -07:00
Sage Weil
b0da92b895 msg/Message: use RefCountedObject ctor to set initial ref count
Also, drop the useless assert in the dtor (the RefCountedObject dtor does
the same).

Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-03 14:28:26 -07:00
Sage Weil
e621856847 msg/Pipe: debug Pipe refs
Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-03 14:28:25 -07:00
Sage Weil
242ee89c96 msg: debug Connection refs
Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-03 14:28:25 -07:00
Sage Weil
fc8d198049 osd: debug Session refs
Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-03 14:28:25 -07:00
Sage Weil
45991c055b common/RefCountedObject: assert nref == 0 in dtor
Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-03 14:28:25 -07:00
Sage Weil
ff1521fce4 common/RefCountedObject: optionally take initial ref count to ctor
Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-03 14:28:25 -07:00
Sage Weil
054741725f common/RefCountedObject: optionally debug
Introduce a 'refs' subsys for logging.  Print log ref count inc and dec
for any RefCountedObject that gets a cct passed to its ctor.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-03 14:28:25 -07:00
Sage Weil
dc1e425d29 Merge pull request #2059 from ceph/wip-osd-dumpres
osd: allow dumping reservation state via asok

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-07-03 14:27:42 -07:00
Sage Weil
303a9fdc2e Merge pull request #2069 from thorstenb/thb-buildconvenience-1
Automagically setup submodules on first run.

Reviewed-by: Sage Weil <sage@redhat.com>
2014-07-03 14:00:34 -07:00