drivers/block/drbd/drbd_nl_gen.h
Source file repositories/reference/linux-study-clean/drivers/block/drbd/drbd_nl_gen.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/block/drbd/drbd_nl_gen.h- Extension
.h- Size
- 14888 bytes
- Lines
- 396
- Domain
- Driver Families
- Bucket
- drivers/block
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
net/netlink.hnet/genetlink.huapi/linux/drbd_genl.hlinux/drbd.hlinux/drbd_limits.h
Detected Declarations
struct drbd_cfg_replystruct drbd_cfg_contextstruct disk_confstruct res_optsstruct net_confstruct set_role_parmsstruct resize_parmsstruct state_infostruct start_ov_parmsstruct new_c_uuid_parmsstruct timeout_parmsstruct disconnect_parmsstruct detach_parmsstruct resource_infostruct device_infostruct connection_infostruct peer_device_infostruct resource_statisticsstruct device_statisticsstruct connection_statisticsstruct peer_device_statisticsstruct drbd_notification_headerstruct drbd_helper_info
Annotated Snippet
struct drbd_cfg_reply {
char info_text[0];
__u32 info_text_len;
};
struct drbd_cfg_context {
__u32 ctx_volume;
char ctx_resource_name[128];
__u32 ctx_resource_name_len;
char ctx_my_addr[128];
__u32 ctx_my_addr_len;
char ctx_peer_addr[128];
__u32 ctx_peer_addr_len;
};
struct disk_conf {
char backing_dev[128];
__u32 backing_dev_len;
char meta_dev[128];
__u32 meta_dev_len;
__s32 meta_dev_idx;
__u64 disk_size;
__u32 max_bio_bvecs;
__u32 on_io_error;
__u32 fencing;
__u32 resync_rate;
__s32 resync_after;
__u32 al_extents;
__u32 c_plan_ahead;
__u32 c_delay_target;
__u32 c_fill_target;
__u32 c_max_rate;
__u32 c_min_rate;
unsigned char disk_barrier;
unsigned char disk_flushes;
unsigned char disk_drain;
unsigned char md_flushes;
__u32 disk_timeout;
__u32 read_balancing;
unsigned char al_updates;
unsigned char discard_zeroes_if_aligned;
__u32 rs_discard_granularity;
unsigned char disable_write_same;
};
struct res_opts {
char cpu_mask[DRBD_CPU_MASK_SIZE];
__u32 cpu_mask_len;
__u32 on_no_data;
};
struct net_conf {
char shared_secret[SHARED_SECRET_MAX];
__u32 shared_secret_len;
char cram_hmac_alg[SHARED_SECRET_MAX];
__u32 cram_hmac_alg_len;
char integrity_alg[SHARED_SECRET_MAX];
__u32 integrity_alg_len;
char verify_alg[SHARED_SECRET_MAX];
__u32 verify_alg_len;
char csums_alg[SHARED_SECRET_MAX];
__u32 csums_alg_len;
__u32 wire_protocol;
__u32 connect_int;
__u32 timeout;
__u32 ping_int;
__u32 ping_timeo;
__u32 sndbuf_size;
__u32 rcvbuf_size;
__u32 ko_count;
__u32 max_buffers;
__u32 max_epoch_size;
__u32 unplug_watermark;
__u32 after_sb_0p;
__u32 after_sb_1p;
__u32 after_sb_2p;
__u32 rr_conflict;
__u32 on_congestion;
__u32 cong_fill;
__u32 cong_extents;
unsigned char two_primaries;
unsigned char discard_my_data;
unsigned char tcp_cork;
unsigned char always_asbp;
unsigned char tentative;
unsigned char use_rle;
unsigned char csums_after_crash_only;
__u32 sock_check_timeo;
};
Annotation
- Immediate include surface: `net/netlink.h`, `net/genetlink.h`, `uapi/linux/drbd_genl.h`, `linux/drbd.h`, `linux/drbd_limits.h`.
- Detected declarations: `struct drbd_cfg_reply`, `struct drbd_cfg_context`, `struct disk_conf`, `struct res_opts`, `struct net_conf`, `struct set_role_parms`, `struct resize_parms`, `struct state_info`, `struct start_ov_parms`, `struct new_c_uuid_parms`.
- Atlas domain: Driver Families / drivers/block.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.