mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
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> Acked-by: Jakub Kicinski <kuba@kernel.org> Link: https://patch.msgid.link/20260506124541.1951772-3-christoph.boehmwalder@linbit.com Signed-off-by: Jens Axboe <axboe@kernel.dk> |
||
|---|---|---|
| .. | ||
| drbd_actlog.c | ||
| drbd_bitmap.c | ||
| drbd_buildtag.c | ||
| drbd_config.h | ||
| drbd_debugfs.c | ||
| drbd_debugfs.h | ||
| drbd_int.h | ||
| drbd_interval.c | ||
| drbd_interval.h | ||
| drbd_main.c | ||
| drbd_nl_gen.c | ||
| drbd_nl_gen.h | ||
| drbd_nl.c | ||
| drbd_polymorph_printk.h | ||
| drbd_proc.c | ||
| drbd_protocol.h | ||
| drbd_receiver.c | ||
| drbd_req.c | ||
| drbd_req.h | ||
| drbd_state_change.h | ||
| drbd_state.c | ||
| drbd_state.h | ||
| drbd_strings.c | ||
| drbd_strings.h | ||
| drbd_vli.h | ||
| drbd_worker.c | ||
| Kconfig | ||
| Makefile | ||