[DRBD-user] Can't unload ib_sdp module after "drbdadm down all" (fishy module refcount)

Florian Haas florian at hastexo.com
Wed Jan 4 22:50:11 CET 2012

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


On Wed, Jan 4, 2012 at 6:08 PM, Lars Ellenberg
<lars.ellenberg at linbit.com> wrote:
> And you can try a patch:
>
> diff --git a/drbd/drbd_receiver.c b/drbd/drbd_receiver.c
> index 0e55c45..7decee3 100644
> --- a/drbd/drbd_receiver.c
> +++ b/drbd/drbd_receiver.c
> @@ -528,6 +528,7 @@ STATIC int drbd_accept(struct drbd_conf *mdev, const char **what,
>                goto out;
>        }
>        (*newsock)->ops  = sock->ops;
> +       __module_get((*newsock)->ops->owner);
>
>  out:
>        return err;

With this patch applied, "drbdadm down all" promptly makes my ib_sdp
refcount drop to 0, and I can subsequently do "modprobe -r ib_sdp"
without a hitch. Thanks.

For background, could you explain why with a single configured
SDP-based DRBD resource the refcount is 4? I would have naively
expected 2.

Cheers,
Florian

-- 
Need help with High Availability?
http://www.hastexo.com/now



More information about the drbd-user mailing list