mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable.git
synced 2025-10-29 20:22:52 +10:00
afs: Fix the fallback handling for the YFS.RemoveFile2 RPC call
[ Upstream commite30458d690] Fix a pair of bugs in the fallback handling for the YFS.RemoveFile2 RPC call: (1) Fix the abort code check to also look for RXGEN_OPCODE. The lack of this masks the second bug. (2) call->server is now not used for ordinary filesystem RPC calls that have an operation descriptor. Fix to use call->op->server instead. Fixes:e49c7b2f6d("afs: Build an abstraction around an "operation" concept") Signed-off-by: David Howells <dhowells@redhat.com> Link: https://lore.kernel.org/r/109541.1736865963@warthog.procyon.org.uk cc: Marc Dionne <marc.dionne@auristor.com> cc: linux-afs@lists.infradead.org Signed-off-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
59ebff2a2f
commit
de4d0fd965
@ -689,8 +689,9 @@ static int yfs_deliver_fs_remove_file2(struct afs_call *call)
|
||||
static void yfs_done_fs_remove_file2(struct afs_call *call)
|
||||
{
|
||||
if (call->error == -ECONNABORTED &&
|
||||
call->abort_code == RX_INVALID_OPERATION) {
|
||||
set_bit(AFS_SERVER_FL_NO_RM2, &call->server->flags);
|
||||
(call->abort_code == RX_INVALID_OPERATION ||
|
||||
call->abort_code == RXGEN_OPCODE)) {
|
||||
set_bit(AFS_SERVER_FL_NO_RM2, &call->op->server->flags);
|
||||
call->op->flags |= AFS_OPERATION_DOWNGRADE;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user