afs: Don't pass the vnode pointer through into the inline bulk status op
authorDavid Howells <dhowells@redhat.com>
Thu, 9 May 2019 16:19:10 +0000 (17:19 +0100)
committerDavid Howells <dhowells@redhat.com>
Thu, 16 May 2019 15:25:21 +0000 (16:25 +0100)
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: David Howells <dhowells@redhat.com>
fs/afs/fsclient.c
fs/afs/yfsclient.c

index 388750d80cab6b148bb9676732482c14922b31a5..dc6f8da0dfa0ad12bd0c4d1829bbe2c36ddd3adc 100644 (file)
@@ -2237,7 +2237,6 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
 {
        struct afs_file_status *statuses;
        struct afs_callback *callbacks;
-       struct afs_vnode *vnode = call->reply[0];
        const __be32 *bp;
        u32 tmp;
        int ret;
@@ -2278,8 +2277,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
                bp = call->buffer;
                statuses = call->reply[1];
                ret = afs_decode_status(call, &bp, &statuses[call->count],
-                                       call->count == 0 ? vnode : NULL,
-                                       NULL, NULL);
+                                       NULL, NULL, NULL);
                if (ret < 0)
                        return ret;
 
@@ -2321,8 +2319,6 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
                callbacks = call->reply[2];
                xdr_decode_AFSCallBack_raw(call, &callbacks[call->count], &bp);
                statuses = call->reply[1];
-               if (call->count == 0 && vnode && statuses[0].abort_code == 0)
-                       xdr_decode_AFSCallBack(call, vnode, &bp);
                call->count++;
                if (call->count < call->count2)
                        goto more_cbs;
@@ -2390,7 +2386,6 @@ int afs_fs_inline_bulk_status(struct afs_fs_cursor *fc,
        }
 
        call->key = fc->key;
-       call->reply[0] = NULL; /* vnode for fid[0] */
        call->reply[1] = statuses;
        call->reply[2] = callbacks;
        call->reply[3] = volsync;
index b42bd412dba13564722dc280c239e313e2857c4a..3f6d50edf498207d2ea2b4a533b5d069d9c64778 100644 (file)
@@ -2055,7 +2055,6 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
 {
        struct afs_file_status *statuses;
        struct afs_callback *callbacks;
-       struct afs_vnode *vnode = call->reply[0];
        const __be32 *bp;
        u32 tmp;
        int ret;
@@ -2096,8 +2095,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
                bp = call->buffer;
                statuses = call->reply[1];
                ret = yfs_decode_status(call, &bp, &statuses[call->count],
-                                       call->count == 0 ? vnode : NULL,
-                                       NULL, NULL);
+                                       NULL, NULL, NULL);
                if (ret < 0)
                        return ret;
 
@@ -2138,11 +2136,6 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
                bp = call->buffer;
                callbacks = call->reply[2];
                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++;
                if (call->count < call->count2)
                        goto more_cbs;
@@ -2210,7 +2203,6 @@ int yfs_fs_inline_bulk_status(struct afs_fs_cursor *fc,
        }
 
        call->key = fc->key;
-       call->reply[0] = NULL; /* vnode for fid[0] */
        call->reply[1] = statuses;
        call->reply[2] = callbacks;
        call->reply[3] = volsync;