aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>2011-06-28 06:11:18 -0400
committerEric Van Hensbergen <ericvh@gmail.com>2011-07-23 10:32:52 -0400
commit48e370ff93769ee6e592ddef3bb38686b8147c67 (patch)
tree045a8b0c905be07df33ae06d776e972448a6e447 /include
parent9e8fb38e7d7a00e5f63bbb331f0ea4c02286d5e6 (diff)
fs/9p: add 9P2000.L unlinkat operation
unlinkat - Remove a directory entry size[4] Tunlinkat tag[2] dirfid[4] name[s] flag[4] size[4] Runlinkat tag[2] older Tremove have the below request format size[4] Tremove tag[2] fid[4] The remove message is used to remove a directory entry either file or directory The remove opreation is actually a directory opertation and should ideally have dirfid, if not we cannot represent the fid on server with anything other than name. We will have to derive the directory name from fid in the Tremove request. NOTE: The operation doesn't clunk the unlink fid. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/9p/9p.h2
-rw-r--r--include/net/9p/client.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h
index 61156207c98c..342dcf13d039 100644
--- a/include/net/9p/9p.h
+++ b/include/net/9p/9p.h
@@ -183,6 +183,8 @@ enum p9_msg_t {
183 P9_RMKDIR, 183 P9_RMKDIR,
184 P9_TRENAMEAT = 74, 184 P9_TRENAMEAT = 74,
185 P9_RRENAMEAT, 185 P9_RRENAMEAT,
186 P9_TUNLINKAT = 76,
187 P9_RUNLINKAT,
186 P9_TVERSION = 100, 188 P9_TVERSION = 100,
187 P9_RVERSION, 189 P9_RVERSION,
188 P9_TAUTH = 102, 190 P9_TAUTH = 102,
diff --git a/include/net/9p/client.h b/include/net/9p/client.h
index 62ceddf9994a..55ce72ce9861 100644
--- a/include/net/9p/client.h
+++ b/include/net/9p/client.h
@@ -234,6 +234,7 @@ int p9_client_create_dotl(struct p9_fid *ofid, char *name, u32 flags, u32 mode,
234int p9_client_clunk(struct p9_fid *fid); 234int p9_client_clunk(struct p9_fid *fid);
235int p9_client_fsync(struct p9_fid *fid, int datasync); 235int p9_client_fsync(struct p9_fid *fid, int datasync);
236int p9_client_remove(struct p9_fid *fid); 236int p9_client_remove(struct p9_fid *fid);
237int p9_client_unlinkat(struct p9_fid *dfid, const char *name, int flags);
237int p9_client_read(struct p9_fid *fid, char *data, char __user *udata, 238int p9_client_read(struct p9_fid *fid, char *data, char __user *udata,
238 u64 offset, u32 count); 239 u64 offset, u32 count);
239int p9_client_write(struct p9_fid *fid, char *data, const char __user *udata, 240int p9_client_write(struct p9_fid *fid, char *data, const char __user *udata,