Skip to content

dm-target: target_type improvements

[email protected] dm-devel lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3dm-target: use the module's refcount insteaddrivers/md/dm-target.c+4 -120 replies
2/3dm-target: use pointer reference instead of making a copydrivers/md/dm-target.c+8 -80 replies
3/3dm-target: embed internally used list_head into target_typedrivers/md/dm-target.c include/linux/device-mapper.h+37 -610 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/3] dm-target: target_type improvements

From: Cheng Renquan <[email protected]>

The series of patches:
1. use module's refcount instead of self-maintained use field;
2. use pointer reference instead of making a copy of target_type;
3. totally remove tt_internal;

The 3rd patch may be controversial,

Quoted 8 lines · Alasdair G Kergon

Target registrations should be rare one-off events. The existing trade-off is
in favour of a cleaner interface (that does not expose private fields). The struct target_type passed to dm_register_target is always static read-only data
and perhaps that could be enforced and a pointer stored in tt_internal instead
of making a copy.

But I still think it's worth it:
1. current users of struct target_type hasn't been marked with const, just static;
2. other similar structures (file_system_type in filesystems, packet_type in net core, ) all have internally used list_head for manage purpose; this design can avoid memory frag from kmalloc/kfree.

--
Cheng Renquan, Shenzhen, China