drbd_disconnect: grab meta.socket mutex as well
authorLars Ellenberg <lars.ellenberg@linbit.com>
Wed, 3 Mar 2010 01:25:33 +0000 (02:25 +0100)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 11 Mar 2010 15:02:45 +0000 (16:02 +0100)
commit4589d7f829951c1713ef5a4ad1a9bb563da329b5
tree96a1ef3be7118a0a0dbf6b18f609486323f062c5
parent676396d545350a70d922605ec23c2ed26124334a
drbd_disconnect: grab meta.socket mutex as well

Fixes a race and potential kernel panic if e.g. the worker was just
about to send a few P_RS_IS_IN_SYNC via the meta socket for checksum
based resync, while the receiver destroys the sockets in
drbd_disconnect.

To make sure no-one is using the meta socket,
it is not enough to stop the asender...
Grab the meta socket mutex before destroying it.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_receiver.c