From a10cb3ac21520b7e0f8a5f8ced61dc46b742ac95 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 16 Jan 2008 10:37:04 -0800 Subject: [PATCH] implement fsync in fuse_ll --- src/client/Client.cc | 4 +++- src/client/fuse_ll.cc | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index 25ca5a1527728..12aed916458f0 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -3839,7 +3839,9 @@ int Client::ll_write(Fh *fh, off_t off, off_t len, const char *data) tout << off << std::endl; tout << len << std::endl; - return _write(fh, off, len, data); + int r = _write(fh, off, len, data); + dout(3) << "ll_write " << fh << " " << off << "~" << len << " = " << r << dendl; + return r; } int Client::ll_flush(Fh *fh) diff --git a/src/client/fuse_ll.cc b/src/client/fuse_ll.cc index 79c99859c6b94..a19fdcf715071 100644 --- a/src/client/fuse_ll.cc +++ b/src/client/fuse_ll.cc @@ -226,7 +226,9 @@ static void ceph_ll_release(fuse_req_t req, fuse_ino_t ino, struct fuse_file_inf static void ceph_ll_fsync(fuse_req_t req, fuse_ino_t ino, int datasync, struct fuse_file_info *fi) { - + Fh *fh = (Fh*)fi->fh; + int r = client->ll_fsync(fh, datasync); + fuse_reply_err(req, -r); } static void ceph_ll_readdir(fuse_req_t req, fuse_ino_t ino, size_t size, -- 2.39.5