]> git.baikalelectronics.ru Git - 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)
committerDavid Howells <dhowells@redhat.com>
Mon, 14 May 2018 14:15:18 +0000 (15:15 +0100)
commit23b11ac197a4a9430b7b339928c5a08f75fd2dd0
tree96aa31448161a593509d6cc1fc429895525edf86
parent770e63cd64a1f1c6f1da49a8e8b1c1c6daae47ed
afs: Fix VNOVOL handling in address rotation

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: 4ead43a3559d ("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>
fs/afs/rotate.c