Commit 3e0d9892 authored by David Howells's avatar David Howells

afs: Fix decoding of inline abort codes from version 1 status records

If we're decoding an AFSFetchStatus record and we see that the version is 1
and the abort code is set and we're expecting inline errors, then we store
the abort code and ignore the remaining status record (which is correct),
but we don't set the flag to say we got a valid abort code.

This can affect operation of YFS.RemoveFile2 when removing a file and the
operation of {,Y}FS.InlineBulkStatus when prospectively constructing or
updating of a set of inodes during a lookup.

Fix this to indicate the reception of a valid abort code.

Fixes: a38a7558 ("afs: Fix unlink to handle YFS.RemoveFile2 better")
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent c72057b5
...@@ -88,6 +88,7 @@ static int xdr_decode_AFSFetchStatus(const __be32 **_bp, ...@@ -88,6 +88,7 @@ static int xdr_decode_AFSFetchStatus(const __be32 **_bp,
if (abort_code != 0 && inline_error) { if (abort_code != 0 && inline_error) {
status->abort_code = abort_code; status->abort_code = abort_code;
scb->have_error = true;
goto good; goto good;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment