Commit fefb2483 authored by David Howells's avatar David Howells

afs: Don't pass the vnode pointer through into the inline bulk status op

Don't pass the vnode pointer through into the inline bulk status op.  We
want to process the status records outside of it anyway.
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent fd711586
...@@ -2237,7 +2237,6 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call) ...@@ -2237,7 +2237,6 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
{ {
struct afs_file_status *statuses; struct afs_file_status *statuses;
struct afs_callback *callbacks; struct afs_callback *callbacks;
struct afs_vnode *vnode = call->reply[0];
const __be32 *bp; const __be32 *bp;
u32 tmp; u32 tmp;
int ret; int ret;
...@@ -2278,8 +2277,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call) ...@@ -2278,8 +2277,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
bp = call->buffer; bp = call->buffer;
statuses = call->reply[1]; statuses = call->reply[1];
ret = afs_decode_status(call, &bp, &statuses[call->count], ret = afs_decode_status(call, &bp, &statuses[call->count],
call->count == 0 ? vnode : NULL, NULL, NULL, NULL);
NULL, NULL);
if (ret < 0) if (ret < 0)
return ret; return ret;
...@@ -2321,8 +2319,6 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call) ...@@ -2321,8 +2319,6 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
callbacks = call->reply[2]; callbacks = call->reply[2];
xdr_decode_AFSCallBack_raw(call, &callbacks[call->count], &bp); xdr_decode_AFSCallBack_raw(call, &callbacks[call->count], &bp);
statuses = call->reply[1]; statuses = call->reply[1];
if (call->count == 0 && vnode && statuses[0].abort_code == 0)
xdr_decode_AFSCallBack(call, vnode, &bp);
call->count++; call->count++;
if (call->count < call->count2) if (call->count < call->count2)
goto more_cbs; goto more_cbs;
...@@ -2390,7 +2386,6 @@ int afs_fs_inline_bulk_status(struct afs_fs_cursor *fc, ...@@ -2390,7 +2386,6 @@ int afs_fs_inline_bulk_status(struct afs_fs_cursor *fc,
} }
call->key = fc->key; call->key = fc->key;
call->reply[0] = NULL; /* vnode for fid[0] */
call->reply[1] = statuses; call->reply[1] = statuses;
call->reply[2] = callbacks; call->reply[2] = callbacks;
call->reply[3] = volsync; call->reply[3] = volsync;
......
...@@ -2055,7 +2055,6 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call) ...@@ -2055,7 +2055,6 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
{ {
struct afs_file_status *statuses; struct afs_file_status *statuses;
struct afs_callback *callbacks; struct afs_callback *callbacks;
struct afs_vnode *vnode = call->reply[0];
const __be32 *bp; const __be32 *bp;
u32 tmp; u32 tmp;
int ret; int ret;
...@@ -2096,8 +2095,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call) ...@@ -2096,8 +2095,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
bp = call->buffer; bp = call->buffer;
statuses = call->reply[1]; statuses = call->reply[1];
ret = yfs_decode_status(call, &bp, &statuses[call->count], ret = yfs_decode_status(call, &bp, &statuses[call->count],
call->count == 0 ? vnode : NULL, NULL, NULL, NULL);
NULL, NULL);
if (ret < 0) if (ret < 0)
return ret; return ret;
...@@ -2138,11 +2136,6 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call) ...@@ -2138,11 +2136,6 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
bp = call->buffer; bp = call->buffer;
callbacks = call->reply[2]; callbacks = call->reply[2];
xdr_decode_YFSCallBack_raw(call, &callbacks[call->count], &bp); xdr_decode_YFSCallBack_raw(call, &callbacks[call->count], &bp);
statuses = call->reply[1];
if (call->count == 0 && vnode && statuses[0].abort_code == 0) {
bp = call->buffer;
xdr_decode_YFSCallBack(call, vnode, &bp);
}
call->count++; call->count++;
if (call->count < call->count2) if (call->count < call->count2)
goto more_cbs; goto more_cbs;
...@@ -2210,7 +2203,6 @@ int yfs_fs_inline_bulk_status(struct afs_fs_cursor *fc, ...@@ -2210,7 +2203,6 @@ int yfs_fs_inline_bulk_status(struct afs_fs_cursor *fc,
} }
call->key = fc->key; call->key = fc->key;
call->reply[0] = NULL; /* vnode for fid[0] */
call->reply[1] = statuses; call->reply[1] = statuses;
call->reply[2] = callbacks; call->reply[2] = callbacks;
call->reply[3] = volsync; call->reply[3] = volsync;
......
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