Commit d41a1a3d authored by Alexander Aring's avatar Alexander Aring Committed by David Teigland
Browse files

fs: dlm: cleanup STOP_IO bitflag set when stop io



There should no difference between setting the CF_IO_STOP flag
before restore_callbacks() to do it before or afterwards. The
restore_callbacks() will be sure that no callback is executed anymore
when the bit wasn't set.

Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
parent f8bce79d
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -735,19 +735,15 @@ static void stop_connection_io(struct connection *con)
	if (con->othercon)
		stop_connection_io(con->othercon);

	spin_lock_bh(&con->writequeue_lock);
	set_bit(CF_IO_STOP, &con->flags);
	spin_unlock_bh(&con->writequeue_lock);

	down_write(&con->sock_lock);
	if (con->sock) {
		lock_sock(con->sock->sk);
		restore_callbacks(con->sock->sk);

		spin_lock_bh(&con->writequeue_lock);
		set_bit(CF_IO_STOP, &con->flags);
		spin_unlock_bh(&con->writequeue_lock);
		release_sock(con->sock->sk);
	} else {
		spin_lock_bh(&con->writequeue_lock);
		set_bit(CF_IO_STOP, &con->flags);
		spin_unlock_bh(&con->writequeue_lock);
	}
	up_write(&con->sock_lock);