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

Jeremy Allison jra at samba.org
Wed May 2 17:32:03 UTC 2018


On Wed, May 02, 2018 at 07:27:15PM +0200, Ralph Böhme wrote:
> On Wed, May 02, 2018 at 09:36:03AM -0700, Jeremy Allison via samba-technical wrote:
> > I was thinking more... In order to keep the ability
> > to have:
> > 
> > try real async
> > 	-> fallback: try recvfile
> > 		-> fallback: try sync
> > 
> > We could add an bool to the _send VFS calls that
> > we set to true when we insist on "true" async,
> > and set to false when we can code with 'faked'
> > async (sync using tevent under the covers).
> > 
> > Argghh. This is getting too complex. Maybe
> > it's just better to keep the PREAD/PWRITE
> > VFS calls as sync versions separate instead.
> 
> hm, it seems the user-facing order of aio vs sendfile is not specified, at least
> not in smb.conf, is it? Can we get away with just switching the order of
> preference? Ie if sendfile is enabled, just use sendfile, if not, use aio with a
> possible sync io fallback under the covers.

Yes, that would work. We could only do this on a 4.9.x
release though, as it will change the behavior of
existing smb.conf's that have both aio and sendfile
specified.

But that's true for these changes generally as they
are VFS ABI changes, so that is indeed a solution.

I have the patches ready that remove SMB_VFS_READ,
let me do write next and then let's make a final
decision on SMB_VFS_PREAD/SMB_VFS_PWRITE.

Jeremy.



More information about the samba-technical mailing list