aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorSripathi Kodi <sripathik@in.ibm.com>2010-03-25 08:47:26 -0400
committerEric Van Hensbergen <ericvh@gmail.com>2010-05-21 17:44:34 -0400
commit4681dbdacb5cdc4d3273c3a97a1858d6e00a5fe7 (patch)
treee29be0d9f98caa7ee176cf0a1a3c3a22fca4934d /include/net
parentbda8e7752063cdbdd1d308bc1705400a8cec1aeb (diff)
9p: add 9P2000.L rename operation
I made a V2 of this patch on top of my patches for VFS switches. All the changes were due to change in some offsets. rename - change name of file or directory size[4] Trename tag[2] fid[4] newdirfid[4] name[s] size[4] Rrename tag[2] The rename message is used to change the name of a file, possibly moving it to a new directory. The 9P wstat message can only rename a file within the same directory. Signed-off-by: Jim Garlick <garlick@llnl.gov> Signed-off-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.h13
-rw-r--r--include/net/9p/client.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h
index 59300dc22dd0..156c26bb8bd7 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_TRENAME: rename request
92 * @P9_RRENAME: rename response
91 * @P9_TVERSION: version handshake request 93 * @P9_TVERSION: version handshake request
92 * @P9_RVERSION: version handshake response 94 * @P9_RVERSION: version handshake response
93 * @P9_TAUTH: request to establish authentication channel 95 * @P9_TAUTH: request to establish authentication channel
@@ -129,6 +131,8 @@ do { \
129enum p9_msg_t { 131enum p9_msg_t {
130 P9_TSTATFS = 8, 132 P9_TSTATFS = 8,
131 P9_RSTATFS, 133 P9_RSTATFS,
134 P9_TRENAME = 20,
135 P9_RRENAME,
132 P9_TVERSION = 100, 136 P9_TVERSION = 100,
133 P9_RVERSION, 137 P9_RVERSION,
134 P9_TAUTH = 102, 138 P9_TAUTH = 102,
@@ -370,6 +374,15 @@ struct p9_rstatfs {
370 u32 namelen; 374 u32 namelen;
371}; 375};
372 376
377struct p9_trename {
378 u32 fid;
379 u32 newdirfid;
380 struct p9_str name;
381};
382
383struct p9_rrename {
384};
385
373struct p9_tversion { 386struct p9_tversion {
374 u32 msize; 387 u32 msize;
375 struct p9_str version; 388 struct p9_str version;
diff --git a/include/net/9p/client.h b/include/net/9p/client.h
index f83c0d99e592..7dd3ed85c782 100644
--- a/include/net/9p/client.h
+++ b/include/net/9p/client.h
@@ -196,6 +196,7 @@ struct p9_fid {
196}; 196};
197 197
198int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb); 198int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb);
199int p9_client_rename(struct p9_fid *fid, struct p9_fid *newdirfid, char *name);
199int p9_client_version(struct p9_client *); 200int p9_client_version(struct p9_client *);
200struct p9_client *p9_client_create(const char *dev_name, char *options); 201struct p9_client *p9_client_create(const char *dev_name, char *options);
201void p9_client_destroy(struct p9_client *clnt); 202void p9_client_destroy(struct p9_client *clnt);