[Drbd-dev] [patch 1/2] block, drbd: fix drbd_req_new() initialization
rientjes at google.com
Sun Mar 8 01:53:20 CET 2015
On Sat, 7 Mar 2015, Jens Axboe wrote:
> > mempool_alloc() does not support __GFP_ZERO since elements may come from
> > memory that has already been released by mempool_free().
> > Remove __GFP_ZERO from mempool_alloc() in drbd_req_new() and properly
> > initialize it to 0.
> You should add it to mempool instead, avoid having this issue show up for
> other folks as well. It'd be trivial to do. Normal ->alloc() should honor
> __GFP_ZERO, just do the same manually for removing an item from the internal
Umm, it's not trivial to do and wouldn't make sense to do it. Mempools
don't know the element size, in other words it wouldn't know the length to
memset() to 0 for mempool_alloc(). It shouldn't be modified to know the
element size since elements are allocated by the implementation of
mempool_alloc_t and they could easily become inconsistent. This patch is
what you want to merge, really.
More information about the drbd-dev