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)
committerDavid S. Miller <davem@davemloft.net>
Mon, 19 Apr 2021 21:30:23 +0000 (14:30 -0700)
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>
net/vmw_vsock/vmci_transport.c

index 8b65323..1c9ecb1 100644 (file)
@@ -568,8 +568,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);
        }