diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2017-03-03 18:16:07 +0100 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2017-05-04 09:19:18 +0200 |
commit | d6a3408a77807037872892c2a2034180fcc08d12 (patch) | |
tree | 0ca6296ad3edb73ea0690f6c1b024844164f89f8 /net/ceph | |
parent | libceph, ceph: always advertise all supported features (diff) | |
download | linux-d6a3408a77807037872892c2a2034180fcc08d12.tar.xz linux-d6a3408a77807037872892c2a2034180fcc08d12.zip |
libceph: supported_features module parameter
Add a readonly, exported to sysfs module parameter so that userspace
can generate meaningful error messages. It's a bit funky, but there is
no other libceph-specific place.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'net/ceph')
-rw-r--r-- | net/ceph/ceph_common.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/ceph/ceph_common.c b/net/ceph/ceph_common.c index 4701d067169f..6eeeb67bed84 100644 --- a/net/ceph/ceph_common.c +++ b/net/ceph/ceph_common.c @@ -45,6 +45,17 @@ bool libceph_compatible(void *data) } EXPORT_SYMBOL(libceph_compatible); +static int param_get_supported_features(char *buffer, + const struct kernel_param *kp) +{ + return sprintf(buffer, "0x%llx", CEPH_FEATURES_SUPPORTED_DEFAULT); +} +static const struct kernel_param_ops param_ops_supported_features = { + .get = param_get_supported_features, +}; +module_param_cb(supported_features, ¶m_ops_supported_features, NULL, + S_IRUGO); + /* * find filename portion of a path (/foo/bar/baz -> baz) */ |