Thoughts on how to communicate to VFS functions that a CREATE is occurring
realrichardsharpe at gmail.com
Sun Apr 3 17:26:40 UTC 2016
On Sun, Apr 3, 2016 at 12:40 AM, Volker Lendecke
<Volker.Lendecke at sernet.de> wrote:
> On Sat, Apr 02, 2016 at 02:31:43PM -0700, Richard Sharpe wrote:
>> When you are returning DFS referals on CREATE for some directories you
>> do not want to return OBJECT_NOT_FOUND when the client sends you a
>> valid GET_DFS_REFERRAL for objects that are not redirected.
>> However, it is hard to know, in the VFS, why you were called, and
>> SMB_VFS_STAT is called in both paths.
>> I really want to avoid modifying Samba as much as possible.
> Can we elevate that to 10 miles above? What is the product-level feature
> that you can't implement right now? Or can't you speak about that?
Well, we have implemented it, but it involved changes in Samba that I
would like to get rid of.
The feature is sharding of directories across multiple servers in a
cluster and using DFS referrals to get clients connected to the
correct server in the cluster.
When a client asks you for a DFS referral for the directory that is on
the node they are connected to (which they do, from time to time) we
need to return the correct information.
To do all of the above successfully, we have found that we need to
know, in the VFS layer (and particularly, in STAT, which is pretty
much the earliest VFS function called) whether we were called for a
CREATE or for something else.
More information about the samba-technical