Commit 4571577f authored by David Howells's avatar David Howells

afs: Always get the reply time

Always ask for the reply time from AF_RXRPC as it's used to calculate the
callback expiry time and lock expiry times, so it's needed by most FS
operations.
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent 87182759
...@@ -453,7 +453,6 @@ int afs_fs_fetch_file_status(struct afs_fs_cursor *fc, struct afs_volsync *volsy ...@@ -453,7 +453,6 @@ int afs_fs_fetch_file_status(struct afs_fs_cursor *fc, struct afs_volsync *volsy
call->xvnode = vnode; call->xvnode = vnode;
call->out_volsync = volsync; call->out_volsync = volsync;
call->expected_version = new_inode ? 1 : vnode->status.data_version; call->expected_version = new_inode ? 1 : vnode->status.data_version;
call->want_reply_time = true;
/* marshall the parameters */ /* marshall the parameters */
bp = call->request; bp = call->request;
...@@ -645,7 +644,6 @@ static int afs_fs_fetch_data64(struct afs_fs_cursor *fc, struct afs_read *req) ...@@ -645,7 +644,6 @@ static int afs_fs_fetch_data64(struct afs_fs_cursor *fc, struct afs_read *req)
call->out_volsync = NULL; call->out_volsync = NULL;
call->read_request = req; call->read_request = req;
call->expected_version = vnode->status.data_version; call->expected_version = vnode->status.data_version;
call->want_reply_time = true;
/* marshall the parameters */ /* marshall the parameters */
bp = call->request; bp = call->request;
...@@ -696,7 +694,6 @@ int afs_fs_fetch_data(struct afs_fs_cursor *fc, struct afs_read *req) ...@@ -696,7 +694,6 @@ int afs_fs_fetch_data(struct afs_fs_cursor *fc, struct afs_read *req)
call->out_volsync = NULL; call->out_volsync = NULL;
call->read_request = req; call->read_request = req;
call->expected_version = vnode->status.data_version; call->expected_version = vnode->status.data_version;
call->want_reply_time = true;
/* marshall the parameters */ /* marshall the parameters */
bp = call->request; bp = call->request;
...@@ -809,7 +806,6 @@ int afs_fs_create(struct afs_fs_cursor *fc, ...@@ -809,7 +806,6 @@ int afs_fs_create(struct afs_fs_cursor *fc,
call->out_extra_status = newstatus; call->out_extra_status = newstatus;
call->out_cb = newcb; call->out_cb = newcb;
call->expected_version = current_data_version + 1; call->expected_version = current_data_version + 1;
call->want_reply_time = true;
/* marshall the parameters */ /* marshall the parameters */
bp = call->request; bp = call->request;
...@@ -1887,7 +1883,6 @@ int afs_fs_set_lock(struct afs_fs_cursor *fc, afs_lock_type_t type) ...@@ -1887,7 +1883,6 @@ int afs_fs_set_lock(struct afs_fs_cursor *fc, afs_lock_type_t type)
call->key = fc->key; call->key = fc->key;
call->xvnode = vnode; call->xvnode = vnode;
call->want_reply_time = true;
/* marshall the parameters */ /* marshall the parameters */
bp = call->request; bp = call->request;
...@@ -1925,7 +1920,6 @@ int afs_fs_extend_lock(struct afs_fs_cursor *fc) ...@@ -1925,7 +1920,6 @@ int afs_fs_extend_lock(struct afs_fs_cursor *fc)
call->key = fc->key; call->key = fc->key;
call->xvnode = vnode; call->xvnode = vnode;
call->want_reply_time = true;
/* marshall the parameters */ /* marshall the parameters */
bp = call->request; bp = call->request;
...@@ -2101,7 +2095,6 @@ struct afs_call *afs_fs_get_capabilities(struct afs_net *net, ...@@ -2101,7 +2095,6 @@ struct afs_call *afs_fs_get_capabilities(struct afs_net *net,
call->server = afs_get_server(server); call->server = afs_get_server(server);
call->server_index = server_index; call->server_index = server_index;
call->upgrade = true; call->upgrade = true;
call->want_reply_time = true;
call->async = true; call->async = true;
call->max_lifespan = AFS_PROBE_MAX_LIFESPAN; call->max_lifespan = AFS_PROBE_MAX_LIFESPAN;
...@@ -2187,7 +2180,6 @@ int afs_fs_fetch_status(struct afs_fs_cursor *fc, ...@@ -2187,7 +2180,6 @@ int afs_fs_fetch_status(struct afs_fs_cursor *fc,
call->out_cb = callback; call->out_cb = callback;
call->out_volsync = volsync; call->out_volsync = volsync;
call->expected_version = 1; /* vnode->status.data_version */ call->expected_version = 1; /* vnode->status.data_version */
call->want_reply_time = true;
/* marshall the parameters */ /* marshall the parameters */
bp = call->request; bp = call->request;
...@@ -2361,7 +2353,6 @@ int afs_fs_inline_bulk_status(struct afs_fs_cursor *fc, ...@@ -2361,7 +2353,6 @@ int afs_fs_inline_bulk_status(struct afs_fs_cursor *fc,
call->out_scb = statuses; call->out_scb = statuses;
call->out_volsync = volsync; call->out_volsync = volsync;
call->count2 = nr_fids; call->count2 = nr_fids;
call->want_reply_time = true;
/* marshall the parameters */ /* marshall the parameters */
bp = call->request; bp = call->request;
......
...@@ -167,7 +167,7 @@ struct afs_call { ...@@ -167,7 +167,7 @@ struct afs_call {
bool need_attention; /* T if RxRPC poked us */ bool need_attention; /* T if RxRPC poked us */
bool async; /* T if asynchronous */ bool async; /* T if asynchronous */
bool upgrade; /* T to request service upgrade */ bool upgrade; /* T to request service upgrade */
bool want_reply_time; /* T if want reply_time */ bool have_reply_time; /* T if have got reply_time */
bool intr; /* T if interruptible */ bool intr; /* T if interruptible */
u16 service_id; /* Actual service ID (after upgrade) */ u16 service_id; /* Actual service ID (after upgrade) */
unsigned int debug_id; /* Trace ID */ unsigned int debug_id; /* Trace ID */
......
...@@ -534,11 +534,11 @@ static void afs_deliver_to_call(struct afs_call *call) ...@@ -534,11 +534,11 @@ static void afs_deliver_to_call(struct afs_call *call)
return; return;
} }
if (call->want_reply_time && if (!call->have_reply_time &&
rxrpc_kernel_get_reply_time(call->net->socket, rxrpc_kernel_get_reply_time(call->net->socket,
call->rxcall, call->rxcall,
&call->reply_time)) &call->reply_time))
call->want_reply_time = false; call->have_reply_time = true;
ret = call->type->deliver(call); ret = call->type->deliver(call);
state = READ_ONCE(call->state); state = READ_ONCE(call->state);
......
...@@ -398,7 +398,6 @@ struct afs_call *afs_vl_get_capabilities(struct afs_net *net, ...@@ -398,7 +398,6 @@ struct afs_call *afs_vl_get_capabilities(struct afs_net *net,
call->vlserver = afs_get_vlserver(server); call->vlserver = afs_get_vlserver(server);
call->server_index = server_index; call->server_index = server_index;
call->upgrade = true; call->upgrade = true;
call->want_reply_time = true;
call->async = true; call->async = true;
call->max_lifespan = AFS_PROBE_MAX_LIFESPAN; call->max_lifespan = AFS_PROBE_MAX_LIFESPAN;
......
...@@ -695,7 +695,6 @@ int yfs_fs_fetch_data(struct afs_fs_cursor *fc, struct afs_read *req) ...@@ -695,7 +695,6 @@ int yfs_fs_fetch_data(struct afs_fs_cursor *fc, struct afs_read *req)
call->out_volsync = NULL; call->out_volsync = NULL;
call->read_request = req; call->read_request = req;
call->expected_version = vnode->status.data_version; call->expected_version = vnode->status.data_version;
call->want_reply_time = true;
/* marshall the parameters */ /* marshall the parameters */
bp = call->request; bp = call->request;
...@@ -1847,7 +1846,6 @@ int yfs_fs_set_lock(struct afs_fs_cursor *fc, afs_lock_type_t type) ...@@ -1847,7 +1846,6 @@ int yfs_fs_set_lock(struct afs_fs_cursor *fc, afs_lock_type_t type)
call->key = fc->key; call->key = fc->key;
call->xvnode = vnode; call->xvnode = vnode;
call->want_reply_time = true;
/* marshall the parameters */ /* marshall the parameters */
bp = call->request; bp = call->request;
...@@ -1886,7 +1884,6 @@ int yfs_fs_extend_lock(struct afs_fs_cursor *fc) ...@@ -1886,7 +1884,6 @@ int yfs_fs_extend_lock(struct afs_fs_cursor *fc)
call->key = fc->key; call->key = fc->key;
call->xvnode = vnode; call->xvnode = vnode;
call->want_reply_time = true;
/* marshall the parameters */ /* marshall the parameters */
bp = call->request; bp = call->request;
......
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