This is the companion kernel patchset to this ceph userland pull req: https://github.com/ceph/ceph/pull/11710 The problem is that fsync can be very slow on ceph, as it waits for a cap flush ack. Cap flushes however are generally considered by the MDS to be background activity, so they don't entail a journal flush on their own. The idea here is to add a new flag to cap requests to inform the MDS that the client is waiting on the reply and that it shouldn't delay it. I have a small program that opens a file, writes 16k to it, does an fsync on it and then a close. It does this 256 times, and with the current code, it takes around 20 minutes to run (~5s for each file). With this and the companion patch series, it runs in around 12s. Jeff Layton (5): ceph: fix minor typo in unsafe_request_wait ceph: move xattr initialzation before the encoding past the ceph_mds_caps ceph: define new argument structure for send_cap_msg ceph: update cap message struct version to 10 ceph: add flags parameter to send_cap_msg fs/ceph/caps.c | 289 ++++++++++++++++++++++++++----------------- include/linux/ceph/ceph_fs.h | 3 + 2 files changed, 177 insertions(+), 115 deletions(-) -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html