[Cluster-devel] [DLM PATCH] DLM: Replace nodeid_to_addr with kernel_getpeername
Bob Peterson
rpeterso at redhat.com
Mon Jan 18 19:59:37 UTC 2016
----- Original Message -----
> Hi,
>
> This patch replaces the call to nodeid_to_addr with a call to
> kernel_getpeername. This avoids taking a spinlock because it may
> potentially be called from a softirq context.
>
> Regards,
>
> Bob Peterson
> Red Hat File Systems
>
> Signed-off-by: Bob Peterson <rpeterso at redhat.com>
> ---
> diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
> index 3a37bd3..a1a50f3 100644
> --- a/fs/dlm/lowcomms.c
> +++ b/fs/dlm/lowcomms.c
> @@ -469,8 +469,9 @@ static void lowcomms_error_report(struct sock *sk)
> {
> struct connection *con = sock2con(sk);
> struct sockaddr_storage saddr;
> + int buflen;
>
> - if (nodeid_to_addr(con->nodeid, &saddr, NULL, false)) {
> + if (kernel_getpeername(con->sock, (struct sockaddr *)&saddr, &buflen)) {
> printk_ratelimited(KERN_ERR "dlm: node %d: socket error "
> "sending to node %d, port %d, "
> "sk_err=%d/%d\n", dlm_our_nodeid(),
>
>
Hi,
Self-NACK. A problem was found during testing. I'll post a replacement shortly.
Regards,
Bob Peterson
Red Hat File Systems
More information about the Cluster-devel
mailing list