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 <dhowe...@redhat.com>
---

 fs/afs/fsclient.c  |    7 +------
 fs/afs/yfsclient.c |   10 +---------
 2 files changed, 2 insertions(+), 15 deletions(-)

diff --git a/fs/afs/fsclient.c b/fs/afs/fsclient.c
index 721ff8d04401..80948af115d4 100644
--- a/fs/afs/fsclient.c
+++ b/fs/afs/fsclient.c
@@ -2236,7 +2236,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;
@@ -2277,8 +2276,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;
 
@@ -2320,8 +2318,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;
@@ -2389,7 +2385,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;
diff --git a/fs/afs/yfsclient.c b/fs/afs/yfsclient.c
index b42bd412dba1..3f6d50edf498 100644
--- a/fs/afs/yfsclient.c
+++ b/fs/afs/yfsclient.c
@@ -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;

Reply via email to