diff options
author | Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com> | 2010-06-09 18:59:31 -0400 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@gmail.com> | 2010-08-02 15:28:29 -0400 |
commit | 50cc42ff3d7bc48a436c5a0413459ca7841b505f (patch) | |
tree | 7209ab2807e3a284c1fbd36dd885e34b81809b0d /include/net | |
parent | 652df9a7fd03cb47a3f663f0c08a2bd086505e9b (diff) |
9p: Define and implement TSYMLINK for 9P2000.L
Create a symbolic link
SYNOPSIS
size[4] Tsymlink tag[2] fid[4] name[s] symtgt[s] gid[4]
size[4] Rsymlink tag[2] qid[13]
DESCRIPTION
Create a symbolic link named 'name' pointing to 'symtgt'.
gid represents the effective group id of the caller.
The permissions of a symbolic link are irrelevant hence it is omitted
from the protocol.
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Reviewed-by: Sripathi Kodi <sripathik@in.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/9p/9p.h | 4 | ||||
-rw-r--r-- | include/net/9p/client.h | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h index 5985c0f83db..44a6883d714 100644 --- a/include/net/9p/9p.h +++ b/include/net/9p/9p.h | |||
@@ -88,6 +88,8 @@ do { \ | |||
88 | * enum p9_msg_t - 9P message types | 88 | * enum p9_msg_t - 9P message types |
89 | * @P9_TSTATFS: file system status request | 89 | * @P9_TSTATFS: file system status request |
90 | * @P9_RSTATFS: file system status response | 90 | * @P9_RSTATFS: file system status response |
91 | * @P9_TSYMLINK: make symlink request | ||
92 | * @P9_RSYMLINK: make symlink response | ||
91 | * @P9_TRENAME: rename request | 93 | * @P9_TRENAME: rename request |
92 | * @P9_RRENAME: rename response | 94 | * @P9_RRENAME: rename response |
93 | * @P9_TVERSION: version handshake request | 95 | * @P9_TVERSION: version handshake request |
@@ -131,6 +133,8 @@ do { \ | |||
131 | enum p9_msg_t { | 133 | enum p9_msg_t { |
132 | P9_TSTATFS = 8, | 134 | P9_TSTATFS = 8, |
133 | P9_RSTATFS, | 135 | P9_RSTATFS, |
136 | P9_TSYMLINK = 16, | ||
137 | P9_RSYMLINK, | ||
134 | P9_TRENAME = 20, | 138 | P9_TRENAME = 20, |
135 | P9_RRENAME, | 139 | P9_RRENAME, |
136 | P9_TGETATTR = 24, | 140 | P9_TGETATTR = 24, |
diff --git a/include/net/9p/client.h b/include/net/9p/client.h index e36f11650e9..2e039730920 100644 --- a/include/net/9p/client.h +++ b/include/net/9p/client.h | |||
@@ -227,6 +227,8 @@ int p9_client_open(struct p9_fid *fid, int mode); | |||
227 | int p9_client_fcreate(struct p9_fid *fid, char *name, u32 perm, int mode, | 227 | int p9_client_fcreate(struct p9_fid *fid, char *name, u32 perm, int mode, |
228 | char *extension); | 228 | char *extension); |
229 | int p9_client_link(struct p9_fid *fid, struct p9_fid *oldfid, char *newname); | 229 | int p9_client_link(struct p9_fid *fid, struct p9_fid *oldfid, char *newname); |
230 | int p9_client_symlink(struct p9_fid *fid, char *name, char *symname, gid_t gid, | ||
231 | struct p9_qid *qid); | ||
230 | int p9_client_clunk(struct p9_fid *fid); | 232 | int p9_client_clunk(struct p9_fid *fid); |
231 | int p9_client_remove(struct p9_fid *fid); | 233 | int p9_client_remove(struct p9_fid *fid); |
232 | int p9_client_read(struct p9_fid *fid, char *data, char __user *udata, | 234 | int p9_client_read(struct p9_fid *fid, char *data, char __user *udata, |