]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
afs: Fix VNOVOL handling in address rotation
authorDavid Howells <dhowells@redhat.com>
Fri, 11 May 2018 21:55:59 +0000 (22:55 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Mon, 1 Oct 2018 12:58:18 +0000 (14:58 +0200)
commita9a2529bf60e4cc956daa6290cbb493c54996503
tree2ca9df63d36bb07cb812238cba6ad2756c8ba923
parentc6e9bf4d3399e0e50607ccd39313220c158acc14
afs: Fix VNOVOL handling in address rotation

BugLink: http://bugs.launchpad.net/bugs/1794889
[ Upstream commit 3d9fa91161387ee629e7a07c47934d119910c8ae ]

If a volume location record lists multiple file servers for a volume, then
it's possible that due to a misconfiguration or a changing configuration
that one of the file servers doesn't know about it yet and will abort
VNOVOL.  Currently, the rotation algorithm will stop with EREMOTEIO.

Fix this by moving on to try the next server if VNOVOL is returned.  Once
all the servers have been tried and the record rechecked, the algorithm
will stop with EREMOTEIO or ENOMEDIUM.

Fixes: d2ddc776a458 ("afs: Overhaul volume and server record caching and fileserver rotation")
Reported-by: Marc Dionne <marc.dionne@auristor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
fs/afs/rotate.c