ceph vfs

Jeremy Allison jra at samba.org
Tue Apr 16 11:13:46 MDT 2013


On Tue, Apr 16, 2013 at 10:51:13AM -0500, Sam Lang wrote:
> I still have one failing test from smbtorture on the ceph vfs module.
> base.open.ctemp test fails with EPERM.  It looks like reply_ctemp() in
> source3/smbd/reply.c is doing a mkstemp with the path returned by
> realpath, so in the ceph case, its doing:  mkstemp("//TMXXXXXX")
> 
> Unsurprisingly, that fails.  On a local filesystem (such as a
> directory like /tmp/foo), realpath resolves the path to
> /tmp/foo/TMXXXXXX.  But with ceph, no separate mountpoint exists
> locally.  How is ctemp meant to be handled by backend vfs modules that
> don't have a separate mount running on the smbd server?

Oh, you just found a bug in the VFS :-). Thanks !

reply_ctemp() is a *really* old DOS-style call
that no modern clients do.

So we have a mix here of local (mkstemp) and
VFS-vectored calls, which will never work.

Currently I'd justmark base.open.ctemp as
knownfail until we decide how to fix this
properly. It's not a bug in your VFS code
IMHO.

Jeremy.


More information about the samba-technical mailing list