net/9p: Implement syncfs 9P operation
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
This commit is contained in:
committed by
Eric Van Hensbergen
parent
db5841d4a5
commit
c0aa4caf4c
@@ -139,6 +139,8 @@ do { \
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
enum p9_msg_t {
|
enum p9_msg_t {
|
||||||
|
P9_TSYNCFS = 0,
|
||||||
|
P9_RSYNCFS,
|
||||||
P9_TLERROR = 6,
|
P9_TLERROR = 6,
|
||||||
P9_RLERROR,
|
P9_RLERROR,
|
||||||
P9_TSTATFS = 8,
|
P9_TSTATFS = 8,
|
||||||
|
@@ -230,6 +230,7 @@ int p9_client_create_dotl(struct p9_fid *ofid, char *name, u32 flags, u32 mode,
|
|||||||
gid_t gid, struct p9_qid *qid);
|
gid_t gid, struct p9_qid *qid);
|
||||||
int p9_client_clunk(struct p9_fid *fid);
|
int p9_client_clunk(struct p9_fid *fid);
|
||||||
int p9_client_fsync(struct p9_fid *fid, int datasync);
|
int p9_client_fsync(struct p9_fid *fid, int datasync);
|
||||||
|
int p9_client_sync_fs(struct p9_fid *fid);
|
||||||
int p9_client_remove(struct p9_fid *fid);
|
int p9_client_remove(struct p9_fid *fid);
|
||||||
int p9_client_read(struct p9_fid *fid, char *data, char __user *udata,
|
int p9_client_read(struct p9_fid *fid, char *data, char __user *udata,
|
||||||
u64 offset, u32 count);
|
u64 offset, u32 count);
|
||||||
|
@@ -1220,6 +1220,27 @@ error:
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(p9_client_fsync);
|
EXPORT_SYMBOL(p9_client_fsync);
|
||||||
|
|
||||||
|
int p9_client_sync_fs(struct p9_fid *fid)
|
||||||
|
{
|
||||||
|
int err = 0;
|
||||||
|
struct p9_req_t *req;
|
||||||
|
struct p9_client *clnt;
|
||||||
|
|
||||||
|
P9_DPRINTK(P9_DEBUG_9P, ">>> TSYNC_FS fid %d\n", fid->fid);
|
||||||
|
|
||||||
|
clnt = fid->clnt;
|
||||||
|
req = p9_client_rpc(clnt, P9_TSYNCFS, "d", fid->fid);
|
||||||
|
if (IS_ERR(req)) {
|
||||||
|
err = PTR_ERR(req);
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
P9_DPRINTK(P9_DEBUG_9P, "<<< RSYNCFS fid %d\n", fid->fid);
|
||||||
|
p9_free_req(clnt, req);
|
||||||
|
error:
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(p9_client_sync_fs);
|
||||||
|
|
||||||
int p9_client_clunk(struct p9_fid *fid)
|
int p9_client_clunk(struct p9_fid *fid)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
Reference in New Issue
Block a user