9p: rename p9_free_req() function
In sight of the next patch to add a refcount in p9_req_t, rename the p9_free_req() function in p9_release_req(). In the next patch the actual kfree will be moved to another function. Link: http://lkml.kernel.org/r/20180811144254.23665-1-tomasbortoli@gmail.com Signed-off-by: Tomas Bortoli <tomasbortoli@gmail.com> Acked-by: Jun Piao <piaojun@huawei.com> Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
This commit is contained in:
Родитель
91a76be37f
Коммит
43cbcbee99
100
net/9p/client.c
100
net/9p/client.c
|
@ -341,13 +341,13 @@ struct p9_req_t *p9_tag_lookup(struct p9_client *c, u16 tag)
|
|||
EXPORT_SYMBOL(p9_tag_lookup);
|
||||
|
||||
/**
|
||||
* p9_free_req - Free a request.
|
||||
* p9_tag_remove - Remove a tag.
|
||||
* @c: Client session.
|
||||
* @r: Request to free.
|
||||
* @r: Request of reference.
|
||||
*
|
||||
* Context: Any context.
|
||||
*/
|
||||
static void p9_free_req(struct p9_client *c, struct p9_req_t *r)
|
||||
static void p9_tag_remove(struct p9_client *c, struct p9_req_t *r)
|
||||
{
|
||||
unsigned long flags;
|
||||
u16 tag = r->tc.tag;
|
||||
|
@ -376,7 +376,7 @@ static void p9_tag_cleanup(struct p9_client *c)
|
|||
rcu_read_lock();
|
||||
idr_for_each_entry(&c->reqs, req, id) {
|
||||
pr_info("Tag %d still in use\n", id);
|
||||
p9_free_req(c, req);
|
||||
p9_tag_remove(c, req);
|
||||
}
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
@ -644,7 +644,7 @@ static int p9_client_flush(struct p9_client *c, struct p9_req_t *oldreq)
|
|||
if (c->trans_mod->cancelled)
|
||||
c->trans_mod->cancelled(c, oldreq);
|
||||
|
||||
p9_free_req(c, req);
|
||||
p9_tag_remove(c, req);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -678,7 +678,7 @@ static struct p9_req_t *p9_client_prepare_req(struct p9_client *c,
|
|||
trace_9p_client_req(c, type, req->tc.tag);
|
||||
return req;
|
||||
reterr:
|
||||
p9_free_req(c, req);
|
||||
p9_tag_remove(c, req);
|
||||
return ERR_PTR(err);
|
||||
}
|
||||
|
||||
|
@ -688,7 +688,7 @@ reterr:
|
|||
* @type: type of request
|
||||
* @fmt: protocol format string (see protocol.c)
|
||||
*
|
||||
* Returns request structure (which client must free using p9_free_req)
|
||||
* Returns request structure (which client must free using p9_tag_remove)
|
||||
*/
|
||||
|
||||
static struct p9_req_t *
|
||||
|
@ -764,7 +764,7 @@ recalc_sigpending:
|
|||
if (!err)
|
||||
return req;
|
||||
reterr:
|
||||
p9_free_req(c, req);
|
||||
p9_tag_remove(c, req);
|
||||
return ERR_PTR(safe_errno(err));
|
||||
}
|
||||
|
||||
|
@ -779,7 +779,7 @@ reterr:
|
|||
* @hdrlen: reader header size, This is the size of response protocol data
|
||||
* @fmt: protocol format string (see protocol.c)
|
||||
*
|
||||
* Returns request structure (which client must free using p9_free_req)
|
||||
* Returns request structure (which client must free using p9_tag_remove)
|
||||
*/
|
||||
static struct p9_req_t *p9_client_zc_rpc(struct p9_client *c, int8_t type,
|
||||
struct iov_iter *uidata,
|
||||
|
@ -846,7 +846,7 @@ recalc_sigpending:
|
|||
if (!err)
|
||||
return req;
|
||||
reterr:
|
||||
p9_free_req(c, req);
|
||||
p9_tag_remove(c, req);
|
||||
return ERR_PTR(safe_errno(err));
|
||||
}
|
||||
|
||||
|
@ -949,7 +949,7 @@ static int p9_client_version(struct p9_client *c)
|
|||
|
||||
error:
|
||||
kfree(version);
|
||||
p9_free_req(c, req);
|
||||
p9_tag_remove(c, req);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
@ -1091,7 +1091,7 @@ struct p9_fid *p9_client_attach(struct p9_client *clnt, struct p9_fid *afid,
|
|||
err = p9pdu_readf(&req->rc, clnt->proto_version, "Q", &qid);
|
||||
if (err) {
|
||||
trace_9p_protocol_dump(clnt, &req->rc);
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
@ -1100,7 +1100,7 @@ struct p9_fid *p9_client_attach(struct p9_client *clnt, struct p9_fid *afid,
|
|||
|
||||
memmove(&fid->qid, &qid, sizeof(struct p9_qid));
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
return fid;
|
||||
|
||||
error:
|
||||
|
@ -1148,10 +1148,10 @@ struct p9_fid *p9_client_walk(struct p9_fid *oldfid, uint16_t nwname,
|
|||
err = p9pdu_readf(&req->rc, clnt->proto_version, "R", &nwqids, &wqids);
|
||||
if (err) {
|
||||
trace_9p_protocol_dump(clnt, &req->rc);
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
goto clunk_fid;
|
||||
}
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
|
||||
p9_debug(P9_DEBUG_9P, "<<< RWALK nwqid %d:\n", nwqids);
|
||||
|
||||
|
@ -1226,7 +1226,7 @@ int p9_client_open(struct p9_fid *fid, int mode)
|
|||
fid->iounit = iounit;
|
||||
|
||||
free_and_error:
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -1271,7 +1271,7 @@ int p9_client_create_dotl(struct p9_fid *ofid, const char *name, u32 flags, u32
|
|||
ofid->iounit = iounit;
|
||||
|
||||
free_and_error:
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -1316,7 +1316,7 @@ int p9_client_fcreate(struct p9_fid *fid, const char *name, u32 perm, int mode,
|
|||
fid->iounit = iounit;
|
||||
|
||||
free_and_error:
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -1350,7 +1350,7 @@ int p9_client_symlink(struct p9_fid *dfid, const char *name,
|
|||
qid->type, (unsigned long long)qid->path, qid->version);
|
||||
|
||||
free_and_error:
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -1370,7 +1370,7 @@ int p9_client_link(struct p9_fid *dfid, struct p9_fid *oldfid, const char *newna
|
|||
return PTR_ERR(req);
|
||||
|
||||
p9_debug(P9_DEBUG_9P, "<<< RLINK\n");
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(p9_client_link);
|
||||
|
@ -1394,7 +1394,7 @@ int p9_client_fsync(struct p9_fid *fid, int datasync)
|
|||
|
||||
p9_debug(P9_DEBUG_9P, "<<< RFSYNC fid %d\n", fid->fid);
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
|
||||
error:
|
||||
return err;
|
||||
|
@ -1429,7 +1429,7 @@ again:
|
|||
|
||||
p9_debug(P9_DEBUG_9P, "<<< RCLUNK fid %d\n", fid->fid);
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
/*
|
||||
* Fid is not valid even after a failed clunk
|
||||
|
@ -1463,7 +1463,7 @@ int p9_client_remove(struct p9_fid *fid)
|
|||
|
||||
p9_debug(P9_DEBUG_9P, "<<< RREMOVE fid %d\n", fid->fid);
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
if (err == -ERESTARTSYS)
|
||||
p9_client_clunk(fid);
|
||||
|
@ -1490,7 +1490,7 @@ int p9_client_unlinkat(struct p9_fid *dfid, const char *name, int flags)
|
|||
}
|
||||
p9_debug(P9_DEBUG_9P, "<<< RUNLINKAT fid %d %s\n", dfid->fid, name);
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -1542,7 +1542,7 @@ p9_client_read(struct p9_fid *fid, u64 offset, struct iov_iter *to, int *err)
|
|||
"D", &count, &dataptr);
|
||||
if (*err) {
|
||||
trace_9p_protocol_dump(clnt, &req->rc);
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
break;
|
||||
}
|
||||
if (rsize < count) {
|
||||
|
@ -1552,7 +1552,7 @@ p9_client_read(struct p9_fid *fid, u64 offset, struct iov_iter *to, int *err)
|
|||
|
||||
p9_debug(P9_DEBUG_9P, "<<< RREAD count %d\n", count);
|
||||
if (!count) {
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1562,7 +1562,7 @@ p9_client_read(struct p9_fid *fid, u64 offset, struct iov_iter *to, int *err)
|
|||
offset += n;
|
||||
if (n != count) {
|
||||
*err = -EFAULT;
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
|
@ -1570,7 +1570,7 @@ p9_client_read(struct p9_fid *fid, u64 offset, struct iov_iter *to, int *err)
|
|||
total += count;
|
||||
offset += count;
|
||||
}
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
}
|
||||
return total;
|
||||
}
|
||||
|
@ -1614,7 +1614,7 @@ p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err)
|
|||
*err = p9pdu_readf(&req->rc, clnt->proto_version, "d", &count);
|
||||
if (*err) {
|
||||
trace_9p_protocol_dump(clnt, &req->rc);
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
break;
|
||||
}
|
||||
if (rsize < count) {
|
||||
|
@ -1624,7 +1624,7 @@ p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err)
|
|||
|
||||
p9_debug(P9_DEBUG_9P, "<<< RWRITE count %d\n", count);
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
iov_iter_advance(from, count);
|
||||
total += count;
|
||||
offset += count;
|
||||
|
@ -1658,7 +1658,7 @@ struct p9_wstat *p9_client_stat(struct p9_fid *fid)
|
|||
err = p9pdu_readf(&req->rc, clnt->proto_version, "wS", &ignored, ret);
|
||||
if (err) {
|
||||
trace_9p_protocol_dump(clnt, &req->rc);
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
@ -1675,7 +1675,7 @@ struct p9_wstat *p9_client_stat(struct p9_fid *fid)
|
|||
from_kgid(&init_user_ns, ret->n_gid),
|
||||
from_kuid(&init_user_ns, ret->n_muid));
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
return ret;
|
||||
|
||||
error:
|
||||
|
@ -1711,7 +1711,7 @@ struct p9_stat_dotl *p9_client_getattr_dotl(struct p9_fid *fid,
|
|||
err = p9pdu_readf(&req->rc, clnt->proto_version, "A", ret);
|
||||
if (err) {
|
||||
trace_9p_protocol_dump(clnt, &req->rc);
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
@ -1736,7 +1736,7 @@ struct p9_stat_dotl *p9_client_getattr_dotl(struct p9_fid *fid,
|
|||
ret->st_ctime_nsec, ret->st_btime_sec, ret->st_btime_nsec,
|
||||
ret->st_gen, ret->st_data_version);
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
return ret;
|
||||
|
||||
error:
|
||||
|
@ -1805,7 +1805,7 @@ int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst)
|
|||
|
||||
p9_debug(P9_DEBUG_9P, "<<< RWSTAT fid %d\n", fid->fid);
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -1837,7 +1837,7 @@ int p9_client_setattr(struct p9_fid *fid, struct p9_iattr_dotl *p9attr)
|
|||
goto error;
|
||||
}
|
||||
p9_debug(P9_DEBUG_9P, "<<< RSETATTR fid %d\n", fid->fid);
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -1865,7 +1865,7 @@ int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb)
|
|||
&sb->files, &sb->ffree, &sb->fsid, &sb->namelen);
|
||||
if (err) {
|
||||
trace_9p_protocol_dump(clnt, &req->rc);
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
@ -1876,7 +1876,7 @@ int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb)
|
|||
sb->blocks, sb->bfree, sb->bavail, sb->files, sb->ffree,
|
||||
sb->fsid, (long int)sb->namelen);
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -1904,7 +1904,7 @@ int p9_client_rename(struct p9_fid *fid,
|
|||
|
||||
p9_debug(P9_DEBUG_9P, "<<< RRENAME fid %d\n", fid->fid);
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -1934,7 +1934,7 @@ int p9_client_renameat(struct p9_fid *olddirfid, const char *old_name,
|
|||
p9_debug(P9_DEBUG_9P, "<<< RRENAMEAT newdirfid %d new name %s\n",
|
||||
newdirfid->fid, new_name);
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -1971,10 +1971,10 @@ struct p9_fid *p9_client_xattrwalk(struct p9_fid *file_fid,
|
|||
err = p9pdu_readf(&req->rc, clnt->proto_version, "q", attr_size);
|
||||
if (err) {
|
||||
trace_9p_protocol_dump(clnt, &req->rc);
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
goto clunk_fid;
|
||||
}
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
p9_debug(P9_DEBUG_9P, "<<< RXATTRWALK fid %d size %llu\n",
|
||||
attr_fid->fid, *attr_size);
|
||||
return attr_fid;
|
||||
|
@ -2008,7 +2008,7 @@ int p9_client_xattrcreate(struct p9_fid *fid, const char *name,
|
|||
goto error;
|
||||
}
|
||||
p9_debug(P9_DEBUG_9P, "<<< RXATTRCREATE fid %d\n", fid->fid);
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -2071,11 +2071,11 @@ int p9_client_readdir(struct p9_fid *fid, char *data, u32 count, u64 offset)
|
|||
if (non_zc)
|
||||
memmove(data, dataptr, count);
|
||||
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
return count;
|
||||
|
||||
free_and_error:
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
error:
|
||||
return err;
|
||||
}
|
||||
|
@ -2106,7 +2106,7 @@ int p9_client_mknod_dotl(struct p9_fid *fid, const char *name, int mode,
|
|||
(unsigned long long)qid->path, qid->version);
|
||||
|
||||
error:
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
return err;
|
||||
|
||||
}
|
||||
|
@ -2137,7 +2137,7 @@ int p9_client_mkdir_dotl(struct p9_fid *fid, const char *name, int mode,
|
|||
(unsigned long long)qid->path, qid->version);
|
||||
|
||||
error:
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
return err;
|
||||
|
||||
}
|
||||
|
@ -2170,7 +2170,7 @@ int p9_client_lock_dotl(struct p9_fid *fid, struct p9_flock *flock, u8 *status)
|
|||
}
|
||||
p9_debug(P9_DEBUG_9P, "<<< RLOCK status %i\n", *status);
|
||||
error:
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
return err;
|
||||
|
||||
}
|
||||
|
@ -2205,7 +2205,7 @@ int p9_client_getlock_dotl(struct p9_fid *fid, struct p9_getlock *glock)
|
|||
"proc_id %d client_id %s\n", glock->type, glock->start,
|
||||
glock->length, glock->proc_id, glock->client_id);
|
||||
error:
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL(p9_client_getlock_dotl);
|
||||
|
@ -2231,7 +2231,7 @@ int p9_client_readlink(struct p9_fid *fid, char **target)
|
|||
}
|
||||
p9_debug(P9_DEBUG_9P, "<<< RREADLINK target %s\n", *target);
|
||||
error:
|
||||
p9_free_req(clnt, req);
|
||||
p9_tag_remove(clnt, req);
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL(p9_client_readlink);
|
||||
|
|
Загрузка…
Ссылка в новой задаче