drbd: switch from genl_magic to YNL#738
drbd: switch from genl_magic to YNL#738blktests-ci[bot] wants to merge 2 commits intolinus-master_basefrom
Conversation
|
Upstream branch: d60bc14 |
6b4d829 to
ceec5ed
Compare
|
Upstream branch: b4e0758 |
a00ac41 to
4474ccd
Compare
ceec5ed to
3b54e52
Compare
|
Upstream branch: 6596a02 |
4474ccd to
87a2e2c
Compare
3b54e52 to
6a0b974
Compare
|
Upstream branch: 507bd4b |
87a2e2c to
607161c
Compare
6a0b974 to
59ca59b
Compare
|
Upstream branch: dd6c438 |
607161c to
f264b33
Compare
94f0438 to
857ada9
Compare
|
Upstream branch: dd6c438 |
f264b33 to
e1f00dc
Compare
857ada9 to
482ce5b
Compare
|
Upstream branch: dca922e |
e1f00dc to
952c49a
Compare
482ce5b to
5a9f7c7
Compare
|
Upstream branch: e75a43c |
952c49a to
fde07b5
Compare
5a9f7c7 to
25a041f
Compare
|
Upstream branch: 66edb90 |
fde07b5 to
a462f4e
Compare
25a041f to
6f75bd1
Compare
|
Upstream branch: 6d35786 |
a462f4e to
0b306a7
Compare
6f75bd1 to
1f0d33a
Compare
|
Upstream branch: 6d35786 |
0b306a7 to
8c13f81
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>
|
Upstream branch: 6d35786 |
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>
8c13f81 to
742245a
Compare
|
Upstream branch: 6d35786 |
1 similar comment
|
Upstream branch: 6d35786 |
|
Github failed to update this PR after force push. Close it. |
Pull request for series with
subject: drbd: switch from genl_magic to YNL
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1078298