[ Upstream commit
eb8eae65f0c713bcef84b082aa919f72c3d83268 ]
When processing the result of a call, handle the VIO and UAEIO abort
specifically rather than leaving it to a default case. Rather than
erroring out unconditionally, see if there's another server if the volume
has more than one server available, otherwise return -EREMOTEIO.
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Stable-dep-of:
17ba6f0bd14f ("afs: Fix error handling with lookup via FS.InlineBulkStatus")
Signed-off-by: Sasha Levin <sashal@kernel.org>
goto restart_from_beginning;
+ case UAEIO:
+ case VIO:
+ op->error = -EREMOTEIO;
+ if (op->volume->type != AFSVL_RWVOL)
+ goto next_server;
+ goto failed;
+
case VDISKFULL:
case UAENOSPC:
/* The partition is full. Only applies to RWVOLs.