* older kernels vs firefly
@ 2014-08-02 1:29 Sage Weil
0 siblings, 0 replies; only message in thread
From: Sage Weil @ 2014-08-02 1:29 UTC (permalink / raw)
To: ceph-devel
A couple firefly point releases ago we removed the Ceph requirement that,
when EC pools are present, all clients must have the EC feature bit. This
is because the only users of EC are current not kernel based, so even
having that feature bit doesn't mean a newer kernel is any better off than
an older one. And (we thought) it meant that an older kernel (e.g.,
3.12) can still map an rbd or mount cephfs when the cluster has a new EC
pool created for unrelated purposes.
...but there is still a problem. The EC pools need new CRUSH rule steps
to work effectively, and normally have a rule using those new features
for the EC pool. And the code that ensures that clients understand all
features that the CRUSH map uses works, so those kernels *still* can't
talk to a firefly cluster with EC pools (if the EC pools are configured
properly and are using a "good" CRUSH rule).
Simply not requiring that feature of any client is problematic because
clients using those pools do need to understand that feature. So, I'm not
sure what the quick fix is...
As for the real fix, I think we need to add a features field to the
OSDMap pg_pool_t so that, for a given pool, there may be additional client
requirements. The CRUSH feature code can then map the per-rule feature
bits to only the pools that need it. And eventually clients can be made
to verify those per-pool features.
I suppose we could then backport all of that to firefly? :/
sage
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-08-02 1:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-02 1:29 older kernels vs firefly Sage Weil
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.