[PATCH] Add missing async fsync_send()/recv() code to ceph VFS.

Jeremy Allison jra at samba.org
Fri Apr 27 23:07:43 UTC 2018


Hi all,

I'm working on simplifying the VFS by removing the synchronous
versions of calls we already have async versions for. Right
now we have fsync_send()/recv(), pwrite_send()/recv() and
pread_send()/recv() - as WELL as fsync, pwrite and pread.

However we still use the sync versions in one or two small
and irritating places, meaning VFS implementors have to
add both sync and async versions of these backend calls
in order to get a fully functioning VFS.

Whilst working on removing the synchronous fsync() call
I discovered that ceph as a backend filesystem only
implements the synchronous fsync backend VFS call, not
the async versions.

This means SMB2 gated onto a ceph backend isn't syncing
files properly when the client requests it.

I created bug: https://bugzilla.samba.org/show_bug.cgi?id=13412
for this.

Patch that implements fsync_send()/recv() by cheating
and using ceph_fsync() synchronously under the covers
attached.

Please review and push if happy ! I need this as a
prerequisite for my other work (ceph is also missing
async pread/pwrite but that's a patch for another day :-).

Cheers,

	Jeremy.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-ceph-VFS-Add-asynchronous-fsync-to-ceph-module-fake-.patch
Type: text/x-diff
Size: 2657 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20180427/2c426992/0001-ceph-VFS-Add-asynchronous-fsync-to-ceph-module-fake-.diff>


More information about the samba-technical mailing list