summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-01-30 17:13:33 (GMT)
committerSage Weil <sage@inktank.com>2013-02-14 02:29:11 (GMT)
commit72fe25e3460c8673984370208e0e6261101372d6 (patch)
treefae2e1db42c35f14db6c1f952f460b49dcffea89 /include
parentb82d167be64b3e88d9434d8a98ce83c83a07aa48 (diff)
downloadlinux-fsl-qoriq-72fe25e3460c8673984370208e0e6261101372d6.tar.xz
libceph: add a compatibility check interface
An upcoming change implements semantic change that could lead to a crash if an old version of the libceph kernel module is used with a new version of the rbd kernel module. In order to preclude that possibility, this adds a compatibilty check interface. If this interface doesn't exist, the modules are obviously not compatible. But if it does exist, this provides a way of letting the caller know whether it will operate properly with this libceph module. Perhaps confusingly, it returns false right now. The semantic change mentioned above will make it return true. This resolves: http://tracker.ceph.com/issues/3800 Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ceph/libceph.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/ceph/libceph.h b/include/linux/ceph/libceph.h
index 084d3c6..c44275a 100644
--- a/include/linux/ceph/libceph.h
+++ b/include/linux/ceph/libceph.h
@@ -193,6 +193,8 @@ static inline int calc_pages_for(u64 off, u64 len)
}
/* ceph_common.c */
+extern bool libceph_compatible(void *data);
+
extern const char *ceph_msg_type_name(int type);
extern int ceph_check_fsid(struct ceph_client *client, struct ceph_fsid *fsid);
extern struct kmem_cache *ceph_inode_cachep;