lkml.org 
[lkml]   [2017]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [ANNOUNCE] autofs 5.1.2 release
    From
    Date
    On 20/12/17 13:52, Ian Kent wrote:
    > On 20/12/17 11:29, NeilBrown wrote:
    >>
    >> Hi Ian,
    >> I've been looking at:
    >>
    >>> - add configuration option to use fqdn in mounts.
    >>
    >> (commit 9aeef772604) because using this new option causes a regression.
    >> If you are using the "replicated server" functionality, then
    >> use_hostname_for_mounts = yes
    >> completely disables it.
    >
    > Yes, that's not quite right.
    >
    > It disables the probe and proximity check for each distinct host
    > name used.
    >
    > Each of the entries in the list of hosts should still be
    > attempted and given that NFS ping is also now used in the NFS
    > mount module what's lost is the preferred ordering of the hosts
    > list.
    >
    >>
    >> This is caused by:
    >>
    >> diff --git a/modules/replicated.c b/modules/replicated.c
    >> index 32860d5fe245..8437f5f3d5b2 100644
    >> --- a/modules/replicated.c
    >> +++ b/modules/replicated.c
    >> @@ -667,6 +667,12 @@ int prune_host_list(unsigned logopt, struct host **list,
    >> if (!*list)
    >> return 0;
    >>
    >> + /* If we're using the host name then there's no point probing
    >> + * avialability and respose time.
    >> + */
    >> + if (defaults_use_hostname_for_mounts())
    >> + return 1;
    >> +
    >> /* Use closest hosts to choose NFS version */
    >>
    >> My question is: why what this particular change made.
    >
    > It was a while ago but there were complains about using the IP
    > address for mounts. It was requested to provide a way to prevent
    > that and force the use of the host name in mounts.
    >
    >> Why can't prune_host_list() be allowed to do it's thing
    >> when use_hostname_for_mounts is set.
    >
    > We could if each host name resolved to a single IP address.
    >
    > I'd need to check that use_hostname_for_mounts doesn't get
    > in the road but the host struct should have ->rr set to true
    > if it has multiple addresses so changing it to work the way
    > your recommending shouldn't be hard. I think there's a couple
    > of places that would need to be checked.
    >
    > If the host does resolve to multiple addresses the situation
    > is different. There's no way to stop the actual mount from
    > trying an IP address that's not responding and proximity
    > doesn't make sense either again because every time a lookup
    > is done on the host name (eg. at mount time) the next address
    > in its list will be returned which can and usually is different
    > from what would have been checked.
    >
    >> I understand that it would be pointless choosing between
    >> the different interfaces of a multi-homed host, but there is still value
    >> in choosing between multiple distinct hosts.
    >>
    >> What, if anything, might go wrong if I simply reverse this chunk of the
    >> patch?
    >
    > You'll get IP addresses in the logs in certain cases but that
    > should be all.
    >
    > It would probably be better to ensure that the checks are done
    > if the host name resolves to a single IP address.

    I think that should be "if the host names in the list each resolve
    to a single IP address", otherwise the round robin behavior would
    probably still get in the road.

    Ian

    \
     
     \ /
      Last update: 2017-12-20 07:10    [W:4.324 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site