vsock/vmci: log once the failed queue pair allocation
authorStefano Garzarella <sgarzare@redhat.com>
Fri, 16 Apr 2021 10:44:16 +0000 (12:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 May 2021 08:57:34 +0000 (10:57 +0200)
[ Upstream commit e16edc99d658cd41c60a44cc14d170697aa3271f ]

VMCI feature is not supported in conjunction with the vSphere Fault
Tolerance (FT) feature.

VMware Tools can repeatedly try to create a vsock connection. If FT is
enabled the kernel logs is flooded with the following messages:

    qp_alloc_hypercall result = -20
    Could not attach to queue pair with -20

"qp_alloc_hypercall result = -20" was hidden by commit e8266c4c3307
("VMCI: Stop log spew when qp allocation isn't possible"), but "Could
not attach to queue pair with -20" is still there flooding the log.

Since the error message can be useful in some cases, print it only once.

Fixes: d021c344051a ("VSOCK: Introduce VM Sockets")
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Jorgen Hansen <jhansen@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/vmw_vsock/vmci_transport.c

index ba4cb18c4b9a2e22a6f9abacbcc9dbcd3dac406e..c1da1ce3d36e812cdff2f754e36d6e06b3574605 100644 (file)
@@ -585,8 +585,7 @@ vmci_transport_queue_pair_alloc(struct vmci_qp **qpair,
                               peer, flags, VMCI_NO_PRIVILEGE_FLAGS);
 out:
        if (err < 0) {
-               pr_err("Could not attach to queue pair with %d\n",
-                      err);
+               pr_err_once("Could not attach to queue pair with %d\n", err);
                err = vmci_transport_error_to_vsock_error(err);
        }