diff options
| author | Sripathi Kodi <sripathik@in.ibm.com> | 2010-03-25 08:47:26 -0400 |
|---|---|---|
| committer | Eric Van Hensbergen <ericvh@gmail.com> | 2010-05-21 17:44:34 -0400 |
| commit | 4681dbdacb5cdc4d3273c3a97a1858d6e00a5fe7 (patch) | |
| tree | e29be0d9f98caa7ee176cf0a1a3c3a22fca4934d /include | |
| parent | bda8e7752063cdbdd1d308bc1705400a8cec1aeb (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')
| -rw-r--r-- | include/net/9p/9p.h | 13 | ||||
| -rw-r--r-- | include/net/9p/client.h | 1 |
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 { \ | |||
| 129 | enum p9_msg_t { | 131 | enum 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 | ||
| 377 | struct p9_trename { | ||
| 378 | u32 fid; | ||
| 379 | u32 newdirfid; | ||
| 380 | struct p9_str name; | ||
| 381 | }; | ||
| 382 | |||
| 383 | struct p9_rrename { | ||
| 384 | }; | ||
| 385 | |||
| 373 | struct p9_tversion { | 386 | struct 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 | ||
| 198 | int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb); | 198 | int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb); |
| 199 | int p9_client_rename(struct p9_fid *fid, struct p9_fid *newdirfid, char *name); | ||
| 199 | int p9_client_version(struct p9_client *); | 200 | int p9_client_version(struct p9_client *); |
| 200 | struct p9_client *p9_client_create(const char *dev_name, char *options); | 201 | struct p9_client *p9_client_create(const char *dev_name, char *options); |
| 201 | void p9_client_destroy(struct p9_client *clnt); | 202 | void p9_client_destroy(struct p9_client *clnt); |
