drbd: switch from genl_magic to YNL#809
Conversation
|
Upstream branch: 6d35786 |
1f0d33a to
b1870f6
Compare
|
Upstream branch: aa54b1d |
a46231b to
4b5fa40
Compare
b1870f6 to
ca57796
Compare
|
Upstream branch: 70eda68 |
4b5fa40 to
11b0a3e
Compare
ca57796 to
c1feb59
Compare
|
Upstream branch: 8bc67e4 |
11b0a3e to
d2c77a2
Compare
c1feb59 to
ea833a1
Compare
|
Upstream branch: 6779b50 |
d2c77a2 to
1b8e078
Compare
ea833a1 to
7af85d1
Compare
|
Upstream branch: 79bd2dd |
1b8e078 to
5c4623b
Compare
7af85d1 to
de94ac7
Compare
|
Upstream branch: eed108e |
5c4623b to
f16d847
Compare
de94ac7 to
86d8d37
Compare
|
Upstream branch: e8c2f9f |
f16d847 to
7219e26
Compare
86d8d37 to
9805659
Compare
|
Upstream branch: eb3f4b7 |
7219e26 to
e876f45
Compare
9805659 to
3f4a345
Compare
|
Upstream branch: 8fde5d1 |
e876f45 to
458da78
Compare
3f4a345 to
c6dc343
Compare
|
Upstream branch: e43ffb6 |
458da78 to
97bb452
Compare
c6dc343 to
fc36596
Compare
drbd.h and drbd_limits.h contain only type definitions, enums, and constants shared between kernel and userspace. These should be part of UAPI. Split the genl_api header into two: the genlmsghdr and the enums are UAPI, the rest stays there for now (it will be removed by one of the next commits in this series). drbd_config.h is clearly DRBD-internal, so move it there. Signed-off-by: Christoph Böhmwalder <christoph.boehmwalder@linbit.com>
Replace the genl_magic multi-include macro system with explicit serialization and parsing. The *_gen files were initially produced from a YNL spec via a customized ynl-gen-c, but the DRBD netlink family is effectively frozen, so the generator is kept unmodified. All new functionality will land in a separate, properly-designed family. Carry the resulting code as ordinary in-tree source rather than landing the spec and generator changes that produced it. The bulk of the changes are mechanical renames to fit the YNL naming conventions: - Handler functions: drbd_adm_* -> drbd_nl_*_doit/dumpit - GENL_MAGIC_VERSION -> DRBD_FAMILY_VERSION - GENL_MAGIC_FAMILY_HDRSZ -> sizeof(struct drbd_genlmsghdr) - drbd_genl_family -> drbd_nl_family - Attribute IDs: T_* -> DRBD_A_* Remove the nested_attr_tb static global buffer and move to a per-call allocation approach: each deserialization manages its own nested attribute table. This will be needed anyway when we eventually move to parallel_ops, and it's actually simpler this way, so make the move now. Replace the functionality of the "sensitive" flag: this was only used by a single field (shared_secret); open-code redaction logic for that locally. Also replace the "invariant" flag: this only had a couple of users, and those basically never change. Hard code the check directly inline. The genl_family struct itself is defined manually in drbd_nl.c. Also replace a couple of drbd-specific wrappers (nla_put_u64_0pad, drbd_nla_find_nested) with standard kernel functions while we're at it. Finally, completely remove the genl_magic system; DRBD was its only user. Signed-off-by: Christoph Böhmwalder <christoph.boehmwalder@linbit.com>
|
Upstream branch: ba3e43a |
97bb452 to
e4b4ae6
Compare
Pull request for series with
subject: drbd: switch from genl_magic to YNL
version: 3
url: https://patchwork.kernel.org/project/linux-block/list/?series=1090455