Bug #3800
closedlibceph: check compatibility between ceph modules
0%
Description
It's possible for semantic changes to occur in one of the
ceph modules (fs/ceph, net/libceph, or block/rbd) that is
not detectable by the kernel's interface versioning mechanism.
A specific example is represented here:
http://tracker.newdream.net/issues/3799
In that case, the proposed change would change responsibility
for taking and dropping references to an object between the
two interacting modules. That is a significant semantic
difference that, once made, makes both affected modules
incompatible with previous versions.
A fairly simple version check could be implemented ensure we
never hit problems due to this sort of incompatibility.
Updated by Sage Weil over 11 years ago
Is this really a problem? It seems like this could only bite someone building mixed versions out of tree.
Updated by Alex Elder over 11 years ago
You're right, as long as you are using matching
code it's fine.
If it occurred, it's a serious problem. It just
occurred to me as I thought about the change in 3800,
so I documented it.
Updated by Alex Elder over 11 years ago
Sage, I already implemented the fix, and it's pretty trivial,
and it's generally useful. By "won't fix" do you mean you
don't want it, or you just didn't think it was worth spending
time on it?
Updated by Alex Elder over 11 years ago
- Status changed from Won't Fix to Resolved
commit 4f6e0e37c103675df11c8e3d836d64cd24b31734
Author: Alex Elder <elder@inktank.com>
Date: Wed Jan 30 11:13:33 2013 -0600
libceph: add a compatibility check interface