[dm-devel] [PATCH] dm-target.c: simplify target_type to avoid kmalloc

Alasdair G Kergon agk at redhat.com
Wed Dec 17 11:48:07 UTC 2008


On Tue, Dec 09, 2008 at 07:32:35PM +0800, crquan at gmail.com wrote:
> Move the list_head from tt_internal into struct target_type embedded,
> The struct tt_internal is totally unneeded, and the kmalloc is avoided,
> block of memory copy is also avoided
 
> The only defect is that dm_register_target users cannot use const
> target_type anymore.
 
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.

> the function of tt_internal's use field is replaced by the module's
> reference count.
 
That is an independent change I think: please submit it as a separate patch.
When this was first written, the module reference count was managed differently
by this code so I can well believe 'use' is now superfluous.

Alasdair
-- 
agk at redhat.com




More information about the dm-devel mailing list