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