Commit 70f08f91 authored by Enzo Matsumiya's avatar Enzo Matsumiya Committed by Steve French

cifs: remove useless DeleteMidQEntry()

DeleteMidQEntry() was just a proxy for cifs_mid_q_entry_release().

- remove DeleteMidQEntry()
- rename cifs_mid_q_entry_release() to release_mid()
- rename kref_put() callback _cifs_mid_q_entry_release to __release_mid
- rename AllocMidQEntry() to alloc_mid()
- rename cifs_delete_mid() to delete_mid()

Update callers to use new names.
Signed-off-by: default avatarEnzo Matsumiya <ematsumiya@suse.de>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent fb157ed2
...@@ -79,11 +79,10 @@ extern char *cifs_compose_mount_options(const char *sb_mountdata, ...@@ -79,11 +79,10 @@ extern char *cifs_compose_mount_options(const char *sb_mountdata,
const char *fullpath, const struct dfs_info3_param *ref, const char *fullpath, const struct dfs_info3_param *ref,
char **devname); char **devname);
/* extern void renew_parental_timestamps(struct dentry *direntry);*/ /* extern void renew_parental_timestamps(struct dentry *direntry);*/
extern struct mid_q_entry *AllocMidQEntry(const struct smb_hdr *smb_buffer, extern struct mid_q_entry *alloc_mid(const struct smb_hdr *,
struct TCP_Server_Info *server); struct TCP_Server_Info *);
extern void DeleteMidQEntry(struct mid_q_entry *midEntry); extern void delete_mid(struct mid_q_entry *mid);
extern void cifs_delete_mid(struct mid_q_entry *mid); extern void release_mid(struct mid_q_entry *mid);
extern void cifs_mid_q_entry_release(struct mid_q_entry *midEntry);
extern void cifs_wake_up_task(struct mid_q_entry *mid); extern void cifs_wake_up_task(struct mid_q_entry *mid);
extern int cifs_handle_standard(struct TCP_Server_Info *server, extern int cifs_handle_standard(struct TCP_Server_Info *server,
struct mid_q_entry *mid); struct mid_q_entry *mid);
......
...@@ -591,7 +591,7 @@ cifs_echo_callback(struct mid_q_entry *mid) ...@@ -591,7 +591,7 @@ cifs_echo_callback(struct mid_q_entry *mid)
struct TCP_Server_Info *server = mid->callback_data; struct TCP_Server_Info *server = mid->callback_data;
struct cifs_credits credits = { .value = 1, .instance = 0 }; struct cifs_credits credits = { .value = 1, .instance = 0 };
DeleteMidQEntry(mid); release_mid(mid);
add_credits(server, &credits, CIFS_ECHO_OP); add_credits(server, &credits, CIFS_ECHO_OP);
} }
...@@ -1336,7 +1336,7 @@ cifs_readv_callback(struct mid_q_entry *mid) ...@@ -1336,7 +1336,7 @@ cifs_readv_callback(struct mid_q_entry *mid)
} }
queue_work(cifsiod_wq, &rdata->work); queue_work(cifsiod_wq, &rdata->work);
DeleteMidQEntry(mid); release_mid(mid);
add_credits(server, &credits, 0); add_credits(server, &credits, 0);
} }
...@@ -1684,7 +1684,7 @@ cifs_writev_callback(struct mid_q_entry *mid) ...@@ -1684,7 +1684,7 @@ cifs_writev_callback(struct mid_q_entry *mid)
} }
queue_work(cifsiod_wq, &wdata->work); queue_work(cifsiod_wq, &wdata->work);
DeleteMidQEntry(mid); release_mid(mid);
add_credits(tcon->ses->server, &credits, 0); add_credits(tcon->ses->server, &credits, 0);
} }
......
...@@ -334,7 +334,7 @@ cifs_abort_connection(struct TCP_Server_Info *server) ...@@ -334,7 +334,7 @@ cifs_abort_connection(struct TCP_Server_Info *server)
list_for_each_entry_safe(mid, nmid, &retry_list, qhead) { list_for_each_entry_safe(mid, nmid, &retry_list, qhead) {
list_del_init(&mid->qhead); list_del_init(&mid->qhead);
mid->callback(mid); mid->callback(mid);
cifs_mid_q_entry_release(mid); release_mid(mid);
} }
if (cifs_rdma_enabled(server)) { if (cifs_rdma_enabled(server)) {
...@@ -1007,7 +1007,7 @@ static void clean_demultiplex_info(struct TCP_Server_Info *server) ...@@ -1007,7 +1007,7 @@ static void clean_demultiplex_info(struct TCP_Server_Info *server)
cifs_dbg(FYI, "Callback mid %llu\n", mid_entry->mid); cifs_dbg(FYI, "Callback mid %llu\n", mid_entry->mid);
list_del_init(&mid_entry->qhead); list_del_init(&mid_entry->qhead);
mid_entry->callback(mid_entry); mid_entry->callback(mid_entry);
cifs_mid_q_entry_release(mid_entry); release_mid(mid_entry);
} }
/* 1/8th of sec is more than enough time for them to exit */ /* 1/8th of sec is more than enough time for them to exit */
msleep(125); msleep(125);
...@@ -1246,7 +1246,7 @@ cifs_demultiplex_thread(void *p) ...@@ -1246,7 +1246,7 @@ cifs_demultiplex_thread(void *p)
if (length < 0) { if (length < 0) {
for (i = 0; i < num_mids; i++) for (i = 0; i < num_mids; i++)
if (mids[i]) if (mids[i])
cifs_mid_q_entry_release(mids[i]); release_mid(mids[i]);
continue; continue;
} }
...@@ -1273,7 +1273,7 @@ cifs_demultiplex_thread(void *p) ...@@ -1273,7 +1273,7 @@ cifs_demultiplex_thread(void *p)
if (!mids[i]->multiRsp || mids[i]->multiEnd) if (!mids[i]->multiRsp || mids[i]->multiEnd)
mids[i]->callback(mids[i]); mids[i]->callback(mids[i]);
cifs_mid_q_entry_release(mids[i]); release_mid(mids[i]);
} else if (server->ops->is_oplock_break && } else if (server->ops->is_oplock_break &&
server->ops->is_oplock_break(bufs[i], server->ops->is_oplock_break(bufs[i],
server)) { server)) {
......
...@@ -5099,7 +5099,7 @@ static void smb2_decrypt_offload(struct work_struct *work) ...@@ -5099,7 +5099,7 @@ static void smb2_decrypt_offload(struct work_struct *work)
spin_unlock(&dw->server->srv_lock); spin_unlock(&dw->server->srv_lock);
} }
} }
cifs_mid_q_entry_release(mid); release_mid(mid);
} }
free_pages: free_pages:
......
...@@ -3776,7 +3776,7 @@ smb2_echo_callback(struct mid_q_entry *mid) ...@@ -3776,7 +3776,7 @@ smb2_echo_callback(struct mid_q_entry *mid)
credits.instance = server->reconnect_instance; credits.instance = server->reconnect_instance;
} }
DeleteMidQEntry(mid); release_mid(mid);
add_credits(server, &credits, CIFS_ECHO_OP); add_credits(server, &credits, CIFS_ECHO_OP);
} }
...@@ -4201,7 +4201,7 @@ smb2_readv_callback(struct mid_q_entry *mid) ...@@ -4201,7 +4201,7 @@ smb2_readv_callback(struct mid_q_entry *mid)
rdata->offset, rdata->got_bytes); rdata->offset, rdata->got_bytes);
queue_work(cifsiod_wq, &rdata->work); queue_work(cifsiod_wq, &rdata->work);
DeleteMidQEntry(mid); release_mid(mid);
add_credits(server, &credits, 0); add_credits(server, &credits, 0);
} }
...@@ -4440,7 +4440,7 @@ smb2_writev_callback(struct mid_q_entry *mid) ...@@ -4440,7 +4440,7 @@ smb2_writev_callback(struct mid_q_entry *mid)
wdata->offset, wdata->bytes); wdata->offset, wdata->bytes);
queue_work(cifsiod_wq, &wdata->work); queue_work(cifsiod_wq, &wdata->work);
DeleteMidQEntry(mid); release_mid(mid);
add_credits(server, &credits, 0); add_credits(server, &credits, 0);
} }
......
...@@ -856,7 +856,7 @@ smb2_setup_request(struct cifs_ses *ses, struct TCP_Server_Info *server, ...@@ -856,7 +856,7 @@ smb2_setup_request(struct cifs_ses *ses, struct TCP_Server_Info *server,
rc = smb2_sign_rqst(rqst, server); rc = smb2_sign_rqst(rqst, server);
if (rc) { if (rc) {
revert_current_mid_from_hdr(server, shdr); revert_current_mid_from_hdr(server, shdr);
cifs_delete_mid(mid); delete_mid(mid);
return ERR_PTR(rc); return ERR_PTR(rc);
} }
...@@ -890,7 +890,7 @@ smb2_setup_async_request(struct TCP_Server_Info *server, struct smb_rqst *rqst) ...@@ -890,7 +890,7 @@ smb2_setup_async_request(struct TCP_Server_Info *server, struct smb_rqst *rqst)
rc = smb2_sign_rqst(rqst, server); rc = smb2_sign_rqst(rqst, server);
if (rc) { if (rc) {
revert_current_mid_from_hdr(server, shdr); revert_current_mid_from_hdr(server, shdr);
DeleteMidQEntry(mid); release_mid(mid);
return ERR_PTR(rc); return ERR_PTR(rc);
} }
......
...@@ -39,12 +39,12 @@ cifs_wake_up_task(struct mid_q_entry *mid) ...@@ -39,12 +39,12 @@ cifs_wake_up_task(struct mid_q_entry *mid)
} }
struct mid_q_entry * struct mid_q_entry *
AllocMidQEntry(const struct smb_hdr *smb_buffer, struct TCP_Server_Info *server) alloc_mid(const struct smb_hdr *smb_buffer, struct TCP_Server_Info *server)
{ {
struct mid_q_entry *temp; struct mid_q_entry *temp;
if (server == NULL) { if (server == NULL) {
cifs_dbg(VFS, "Null TCP session in AllocMidQEntry\n"); cifs_dbg(VFS, "%s: null TCP session\n", __func__);
return NULL; return NULL;
} }
...@@ -74,7 +74,7 @@ AllocMidQEntry(const struct smb_hdr *smb_buffer, struct TCP_Server_Info *server) ...@@ -74,7 +74,7 @@ AllocMidQEntry(const struct smb_hdr *smb_buffer, struct TCP_Server_Info *server)
return temp; return temp;
} }
static void _cifs_mid_q_entry_release(struct kref *refcount) static void __release_mid(struct kref *refcount)
{ {
struct mid_q_entry *midEntry = struct mid_q_entry *midEntry =
container_of(refcount, struct mid_q_entry, refcount); container_of(refcount, struct mid_q_entry, refcount);
...@@ -153,22 +153,17 @@ static void _cifs_mid_q_entry_release(struct kref *refcount) ...@@ -153,22 +153,17 @@ static void _cifs_mid_q_entry_release(struct kref *refcount)
mempool_free(midEntry, cifs_mid_poolp); mempool_free(midEntry, cifs_mid_poolp);
} }
void cifs_mid_q_entry_release(struct mid_q_entry *midEntry) void release_mid(struct mid_q_entry *mid)
{ {
struct TCP_Server_Info *server = midEntry->server; struct TCP_Server_Info *server = mid->server;
spin_lock(&server->mid_lock); spin_lock(&server->mid_lock);
kref_put(&midEntry->refcount, _cifs_mid_q_entry_release); kref_put(&mid->refcount, __release_mid);
spin_unlock(&server->mid_lock); spin_unlock(&server->mid_lock);
} }
void DeleteMidQEntry(struct mid_q_entry *midEntry)
{
cifs_mid_q_entry_release(midEntry);
}
void void
cifs_delete_mid(struct mid_q_entry *mid) delete_mid(struct mid_q_entry *mid)
{ {
spin_lock(&mid->server->mid_lock); spin_lock(&mid->server->mid_lock);
if (!(mid->mid_flags & MID_DELETED)) { if (!(mid->mid_flags & MID_DELETED)) {
...@@ -177,7 +172,7 @@ cifs_delete_mid(struct mid_q_entry *mid) ...@@ -177,7 +172,7 @@ cifs_delete_mid(struct mid_q_entry *mid)
} }
spin_unlock(&mid->server->mid_lock); spin_unlock(&mid->server->mid_lock);
DeleteMidQEntry(mid); release_mid(mid);
} }
/* /*
...@@ -748,7 +743,7 @@ static int allocate_mid(struct cifs_ses *ses, struct smb_hdr *in_buf, ...@@ -748,7 +743,7 @@ static int allocate_mid(struct cifs_ses *ses, struct smb_hdr *in_buf,
} }
spin_unlock(&ses->ses_lock); spin_unlock(&ses->ses_lock);
*ppmidQ = AllocMidQEntry(in_buf, ses->server); *ppmidQ = alloc_mid(in_buf, ses->server);
if (*ppmidQ == NULL) if (*ppmidQ == NULL)
return -ENOMEM; return -ENOMEM;
spin_lock(&ses->server->mid_lock); spin_lock(&ses->server->mid_lock);
...@@ -785,13 +780,13 @@ cifs_setup_async_request(struct TCP_Server_Info *server, struct smb_rqst *rqst) ...@@ -785,13 +780,13 @@ cifs_setup_async_request(struct TCP_Server_Info *server, struct smb_rqst *rqst)
if (server->sign) if (server->sign)
hdr->Flags2 |= SMBFLG2_SECURITY_SIGNATURE; hdr->Flags2 |= SMBFLG2_SECURITY_SIGNATURE;
mid = AllocMidQEntry(hdr, server); mid = alloc_mid(hdr, server);
if (mid == NULL) if (mid == NULL)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
rc = cifs_sign_rqst(rqst, server, &mid->sequence_number); rc = cifs_sign_rqst(rqst, server, &mid->sequence_number);
if (rc) { if (rc) {
DeleteMidQEntry(mid); release_mid(mid);
return ERR_PTR(rc); return ERR_PTR(rc);
} }
...@@ -868,7 +863,7 @@ cifs_call_async(struct TCP_Server_Info *server, struct smb_rqst *rqst, ...@@ -868,7 +863,7 @@ cifs_call_async(struct TCP_Server_Info *server, struct smb_rqst *rqst,
if (rc < 0) { if (rc < 0) {
revert_current_mid(server, mid->credits); revert_current_mid(server, mid->credits);
server->sequence_number -= 2; server->sequence_number -= 2;
cifs_delete_mid(mid); delete_mid(mid);
} }
cifs_server_unlock(server); cifs_server_unlock(server);
...@@ -940,7 +935,7 @@ cifs_sync_mid_result(struct mid_q_entry *mid, struct TCP_Server_Info *server) ...@@ -940,7 +935,7 @@ cifs_sync_mid_result(struct mid_q_entry *mid, struct TCP_Server_Info *server)
} }
spin_unlock(&server->mid_lock); spin_unlock(&server->mid_lock);
DeleteMidQEntry(mid); release_mid(mid);
return rc; return rc;
} }
...@@ -1000,7 +995,7 @@ cifs_setup_request(struct cifs_ses *ses, struct TCP_Server_Info *ignored, ...@@ -1000,7 +995,7 @@ cifs_setup_request(struct cifs_ses *ses, struct TCP_Server_Info *ignored,
return ERR_PTR(rc); return ERR_PTR(rc);
rc = cifs_sign_rqst(rqst, ses->server, &mid->sequence_number); rc = cifs_sign_rqst(rqst, ses->server, &mid->sequence_number);
if (rc) { if (rc) {
cifs_delete_mid(mid); delete_mid(mid);
return ERR_PTR(rc); return ERR_PTR(rc);
} }
return mid; return mid;
...@@ -1029,7 +1024,7 @@ static void ...@@ -1029,7 +1024,7 @@ static void
cifs_cancelled_callback(struct mid_q_entry *mid) cifs_cancelled_callback(struct mid_q_entry *mid)
{ {
cifs_compound_callback(mid); cifs_compound_callback(mid);
DeleteMidQEntry(mid); release_mid(mid);
} }
/* /*
...@@ -1133,7 +1128,7 @@ compound_send_recv(const unsigned int xid, struct cifs_ses *ses, ...@@ -1133,7 +1128,7 @@ compound_send_recv(const unsigned int xid, struct cifs_ses *ses,
if (IS_ERR(midQ[i])) { if (IS_ERR(midQ[i])) {
revert_current_mid(server, i); revert_current_mid(server, i);
for (j = 0; j < i; j++) for (j = 0; j < i; j++)
cifs_delete_mid(midQ[j]); delete_mid(midQ[j]);
cifs_server_unlock(server); cifs_server_unlock(server);
/* Update # of requests on wire to server */ /* Update # of requests on wire to server */
...@@ -1253,7 +1248,7 @@ compound_send_recv(const unsigned int xid, struct cifs_ses *ses, ...@@ -1253,7 +1248,7 @@ compound_send_recv(const unsigned int xid, struct cifs_ses *ses,
rc = server->ops->check_receive(midQ[i], server, rc = server->ops->check_receive(midQ[i], server,
flags & CIFS_LOG_ERROR); flags & CIFS_LOG_ERROR);
/* mark it so buf will not be freed by cifs_delete_mid */ /* mark it so buf will not be freed by delete_mid */
if ((flags & CIFS_NO_RSP_BUF) == 0) if ((flags & CIFS_NO_RSP_BUF) == 0)
midQ[i]->resp_buf = NULL; midQ[i]->resp_buf = NULL;
...@@ -1285,7 +1280,7 @@ compound_send_recv(const unsigned int xid, struct cifs_ses *ses, ...@@ -1285,7 +1280,7 @@ compound_send_recv(const unsigned int xid, struct cifs_ses *ses,
*/ */
for (i = 0; i < num_rqst; i++) { for (i = 0; i < num_rqst; i++) {
if (!cancelled_mid[i]) if (!cancelled_mid[i])
cifs_delete_mid(midQ[i]); delete_mid(midQ[i]);
} }
return rc; return rc;
...@@ -1425,7 +1420,7 @@ SendReceive(const unsigned int xid, struct cifs_ses *ses, ...@@ -1425,7 +1420,7 @@ SendReceive(const unsigned int xid, struct cifs_ses *ses,
spin_lock(&server->mid_lock); spin_lock(&server->mid_lock);
if (midQ->mid_state == MID_REQUEST_SUBMITTED) { if (midQ->mid_state == MID_REQUEST_SUBMITTED) {
/* no longer considered to be "in-flight" */ /* no longer considered to be "in-flight" */
midQ->callback = DeleteMidQEntry; midQ->callback = release_mid;
spin_unlock(&server->mid_lock); spin_unlock(&server->mid_lock);
add_credits(server, &credits, 0); add_credits(server, &credits, 0);
return rc; return rc;
...@@ -1450,7 +1445,7 @@ SendReceive(const unsigned int xid, struct cifs_ses *ses, ...@@ -1450,7 +1445,7 @@ SendReceive(const unsigned int xid, struct cifs_ses *ses,
memcpy(out_buf, midQ->resp_buf, *pbytes_returned + 4); memcpy(out_buf, midQ->resp_buf, *pbytes_returned + 4);
rc = cifs_check_receive(midQ, server, 0); rc = cifs_check_receive(midQ, server, 0);
out: out:
cifs_delete_mid(midQ); delete_mid(midQ);
add_credits(server, &credits, 0); add_credits(server, &credits, 0);
return rc; return rc;
...@@ -1543,7 +1538,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon, ...@@ -1543,7 +1538,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon,
rc = cifs_sign_smb(in_buf, server, &midQ->sequence_number); rc = cifs_sign_smb(in_buf, server, &midQ->sequence_number);
if (rc) { if (rc) {
cifs_delete_mid(midQ); delete_mid(midQ);
cifs_server_unlock(server); cifs_server_unlock(server);
return rc; return rc;
} }
...@@ -1560,7 +1555,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon, ...@@ -1560,7 +1555,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon,
cifs_server_unlock(server); cifs_server_unlock(server);
if (rc < 0) { if (rc < 0) {
cifs_delete_mid(midQ); delete_mid(midQ);
return rc; return rc;
} }
...@@ -1583,7 +1578,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon, ...@@ -1583,7 +1578,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon,
blocking lock to return. */ blocking lock to return. */
rc = send_cancel(server, &rqst, midQ); rc = send_cancel(server, &rqst, midQ);
if (rc) { if (rc) {
cifs_delete_mid(midQ); delete_mid(midQ);
return rc; return rc;
} }
} else { } else {
...@@ -1595,7 +1590,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon, ...@@ -1595,7 +1590,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon,
/* If we get -ENOLCK back the lock may have /* If we get -ENOLCK back the lock may have
already been removed. Don't exit in this case. */ already been removed. Don't exit in this case. */
if (rc && rc != -ENOLCK) { if (rc && rc != -ENOLCK) {
cifs_delete_mid(midQ); delete_mid(midQ);
return rc; return rc;
} }
} }
...@@ -1606,7 +1601,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon, ...@@ -1606,7 +1601,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon,
spin_lock(&server->mid_lock); spin_lock(&server->mid_lock);
if (midQ->mid_state == MID_REQUEST_SUBMITTED) { if (midQ->mid_state == MID_REQUEST_SUBMITTED) {
/* no longer considered to be "in-flight" */ /* no longer considered to be "in-flight" */
midQ->callback = DeleteMidQEntry; midQ->callback = release_mid;
spin_unlock(&server->mid_lock); spin_unlock(&server->mid_lock);
return rc; return rc;
} }
...@@ -1634,7 +1629,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon, ...@@ -1634,7 +1629,7 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifs_tcon *tcon,
memcpy(out_buf, midQ->resp_buf, *pbytes_returned + 4); memcpy(out_buf, midQ->resp_buf, *pbytes_returned + 4);
rc = cifs_check_receive(midQ, server, 0); rc = cifs_check_receive(midQ, server, 0);
out: out:
cifs_delete_mid(midQ); delete_mid(midQ);
if (rstart && rc == -EACCES) if (rstart && rc == -EACCES)
return -ERESTARTSYS; return -ERESTARTSYS;
return rc; return rc;
......
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