mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
9p: Implement TREADLINK operation for 9p2000.L
Synopsis
size[4] TReadlink tag[2] fid[4]
size[4] RReadlink tag[2] target[s]
Description
Readlink is used to return the contents of the symoblic link
referred by fid. Contents of symboic link is returned as a
response.
target[s] - Contents of the symbolic link referred by fid.
Signed-off-by: M. Mohan Kumar <[email protected]>
Reviewed-by: Aneesh Kumar K.V <[email protected]>
Signed-off-by: Venkateswararao Jujjuri <[email protected]>
Signed-off-by: Eric Van Hensbergen <[email protected]>
This commit is contained in:
parent
368c09d2a3
commit
329176cc2c
4 changed files with 86 additions and 3 deletions
|
|
@ -1870,3 +1870,29 @@ error:
|
|||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL(p9_client_getlock_dotl);
|
||||
|
||||
int p9_client_readlink(struct p9_fid *fid, char **target)
|
||||
{
|
||||
int err;
|
||||
struct p9_client *clnt;
|
||||
struct p9_req_t *req;
|
||||
|
||||
err = 0;
|
||||
clnt = fid->clnt;
|
||||
P9_DPRINTK(P9_DEBUG_9P, ">>> TREADLINK fid %d\n", fid->fid);
|
||||
|
||||
req = p9_client_rpc(clnt, P9_TREADLINK, "d", fid->fid);
|
||||
if (IS_ERR(req))
|
||||
return PTR_ERR(req);
|
||||
|
||||
err = p9pdu_readf(req->rc, clnt->proto_version, "s", target);
|
||||
if (err) {
|
||||
p9pdu_dump(1, req->rc);
|
||||
goto error;
|
||||
}
|
||||
P9_DPRINTK(P9_DEBUG_9P, "<<< RREADLINK target %s\n", *target);
|
||||
error:
|
||||
p9_free_req(clnt, req);
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL(p9_client_readlink);
|
||||
|
|
|
|||
Loading…
Reference in a new issue