summaryrefslogtreecommitdiff
path: root/net/9p
diff options
context:
space:
mode:
authorVenkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>2010-10-22 17:13:12 (GMT)
committerEric Van Hensbergen <ericvh@gmail.com>2010-10-28 14:08:49 (GMT)
commitb165d60145b717261a0234f989c442c2b68b6ec0 (patch)
tree024f9f2c71ff85a806ed47cbbf451edeaa7111a5 /net/9p
parent7b3bb3fe166702b504f1068359c9550d3b277eaf (diff)
downloadlinux-b165d60145b717261a0234f989c442c2b68b6ec0.tar.xz
9p: Add datasync to client side TFSYNC/RFSYNC for dotl
SYNOPSIS size[4] Tfsync tag[2] fid[4] datasync[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. If datasync flag is specified data will be fleshed but does not flush modified metadata unless that metadata is needed in order to allow a subsequent data retrieval to be correctly handled. 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.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/9p/client.c b/net/9p/client.c
index e3cfdff..8df80fb 100644
--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -1165,17 +1165,18 @@ int p9_client_link(struct p9_fid *dfid, struct p9_fid *oldfid, char *newname)
}
EXPORT_SYMBOL(p9_client_link);
-int p9_client_fsync(struct p9_fid *fid)
+int p9_client_fsync(struct p9_fid *fid, int datasync)
{
int err;
struct p9_client *clnt;
struct p9_req_t *req;
- P9_DPRINTK(P9_DEBUG_9P, ">>> TFSYNC fid %d\n", fid->fid);
+ P9_DPRINTK(P9_DEBUG_9P, ">>> TFSYNC fid %d datasync:%d\n",
+ fid->fid, datasync);
err = 0;
clnt = fid->clnt;
- req = p9_client_rpc(clnt, P9_TFSYNC, "d", fid->fid);
+ req = p9_client_rpc(clnt, P9_TFSYNC, "dd", fid->fid, datasync);
if (IS_ERR(req)) {
err = PTR_ERR(req);
goto error;