diff options
author | Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com> | 2010-09-22 20:19:19 -0400 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@gmail.com> | 2010-10-28 10:08:47 -0400 |
commit | 920e65dc6911da28a58e17f4b683302636fc6d8e (patch) | |
tree | 761280ee48576a45d13df5df685ea6b9da7fd775 /net/9p | |
parent | b04faaf3717307cd976a15667c8c24161c1d24ef (diff) |
[9p] Introduce client side TFSYNC/RFSYNC for dotl.
SYNOPSIS
size[4] Tfsync tag[2] fid[4]
size[4] Rfsync tag[2]
DESCRIPTION
The Tfsync transaction transfers ("flushes") all modified in-core data of
file identified by fid to the disk device (or other permanent storage
device) where that file resides.
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'net/9p')
-rw-r--r-- | net/9p/client.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/net/9p/client.c b/net/9p/client.c index e50ec802937a..30c4a1b224fb 100644 --- a/net/9p/client.c +++ b/net/9p/client.c | |||
@@ -1162,6 +1162,31 @@ int p9_client_link(struct p9_fid *dfid, struct p9_fid *oldfid, char *newname) | |||
1162 | } | 1162 | } |
1163 | EXPORT_SYMBOL(p9_client_link); | 1163 | EXPORT_SYMBOL(p9_client_link); |
1164 | 1164 | ||
1165 | int p9_client_fsync(struct p9_fid *fid) | ||
1166 | { | ||
1167 | int err; | ||
1168 | struct p9_client *clnt; | ||
1169 | struct p9_req_t *req; | ||
1170 | |||
1171 | P9_DPRINTK(P9_DEBUG_9P, ">>> TFSYNC fid %d\n", fid->fid); | ||
1172 | err = 0; | ||
1173 | clnt = fid->clnt; | ||
1174 | |||
1175 | req = p9_client_rpc(clnt, P9_TFSYNC, "d", fid->fid); | ||
1176 | if (IS_ERR(req)) { | ||
1177 | err = PTR_ERR(req); | ||
1178 | goto error; | ||
1179 | } | ||
1180 | |||
1181 | P9_DPRINTK(P9_DEBUG_9P, "<<< RFSYNC fid %d\n", fid->fid); | ||
1182 | |||
1183 | p9_free_req(clnt, req); | ||
1184 | |||
1185 | error: | ||
1186 | return err; | ||
1187 | } | ||
1188 | EXPORT_SYMBOL(p9_client_fsync); | ||
1189 | |||
1165 | int p9_client_clunk(struct p9_fid *fid) | 1190 | int p9_client_clunk(struct p9_fid *fid) |
1166 | { | 1191 | { |
1167 | int err; | 1192 | int err; |