Re: [PATCH] cifs: demote DFS referral lookup errors to cFYI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Since we can not distinguish between error 126 (ENOKEY) meaning
"not found since the hostname doesn't exist" and "your configuration
is broken (you don't have a dns upcall module setup)"
we do need a way to warn the user on the latter - but that requires
changes to dns_query or the keyctl it invokes.

I opened kernel buzilla 40392 to track this - although I don't know
the easiest/best way to fix this.

In any case - cifs shouldn't be logging this (as Jeff noted) - we need
the warning (once)
below cifs in dns_query (e.g.) so I have merged Jeff's patch to demote
the cERROR
to cFYI for this common case.

On Wed, Jun 22, 2011 at 4:05 PM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
> Now that we call into this routine on every mount, anyone who doesn't
> have the upcall configured will get multiple printks about failed lookups.
>
> Reported-and-Tested-by: Martijn Uffing <mp3project@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> ---
>  fs/cifs/cifs_dfs_ref.c |    5 +++--
>  fs/cifs/dns_resolve.c  |    4 ++--
>  2 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/fs/cifs/cifs_dfs_ref.c b/fs/cifs/cifs_dfs_ref.c
> index 8d8f28c..6873bb6 100644
> --- a/fs/cifs/cifs_dfs_ref.c
> +++ b/fs/cifs/cifs_dfs_ref.c
> @@ -141,10 +141,11 @@ char *cifs_compose_mount_options(const char *sb_mountdata,
>
>        rc = dns_resolve_server_name_to_ip(*devname, &srvIP);
>        if (rc < 0) {
> -               cERROR(1, "%s: Failed to resolve server part of %s to IP: %d",
> -                         __func__, *devname, rc);
> +               cFYI(1, "%s: Failed to resolve server part of %s to IP: %d",
> +                       __func__, *devname, rc);
>                goto compose_mount_options_err;
>        }
> +
>        /* md_len = strlen(...) + 12 for 'sep+prefixpath='
>         * assuming that we have 'unc=' and 'ip=' in
>         * the original sb_mountdata
> diff --git a/fs/cifs/dns_resolve.c b/fs/cifs/dns_resolve.c
> index 548f062..1d2d91d 100644
> --- a/fs/cifs/dns_resolve.c
> +++ b/fs/cifs/dns_resolve.c
> @@ -79,8 +79,8 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr)
>        /* Perform the upcall */
>        rc = dns_query(NULL, hostname, len, NULL, ip_addr, NULL);
>        if (rc < 0)
> -               cERROR(1, "%s: unable to resolve: %*.*s",
> -                      __func__, len, len, hostname);
> +               cFYI(1, "%s: unable to resolve: %*.*s",
> +                       __func__, len, len, hostname);
>        else
>                cFYI(1, "%s: resolved: %*.*s to %s",
>                     __func__, len, len, hostname, *ip_addr);
> --
> 1.7.5.4
>
>



-- 
Thanks,

Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux