Best practices: Adding Persistent Handle support
Christopher R. Hertel
crh at samba.org
Wed Jun 7 20:09:53 UTC 2017
Addressing Tom's and Metze's concerns...
The configuration information would be read at start-up time.
There are, however, two situations that could cause trouble.
- Samba re-reads its configuration file periodically, but changes to
the configuration will not impact an already-established connection
unless the admin chooses to restart Samba itself, an event that
would be equivalent to a server reboot.
- If, following a server reboot or failover, the server to which the
client reconnects (the same server, or a new one) has a different
CA/Persistence configuration than was used on the original connection
then the client would be unable to re-establish the Persistent Handle.
The situations in which configuration changes (or differences) could cause
this sort of trouble would all be situation in which the cluster
administrator had changed the configuration or had misconfigured the cluster
in the first place.
Also, your info about the untested condition is exactly the feedback I
We share the same underlying concern, but here's my thinking on the subject:
- The ability to support Continuous Availability is a feature of the
underlying file system. I don't think it makes sense to enable CA on,
for instance, an EXT4-based share or any other non-clustered FS. I can
imagine that it might be useful for test/dev purposes, just to show that
the bits are being set properly in the NegProt and TreeConnect responses,
but other than that I don't know why we would ever allow those bits to
be set on a non-clustered file system.
- Different file systems may offer different mechanisms for Persistent
Handle support, and CTDB doesn't yet provide the semantics needed for
persistent handles (though Amitay and Martin are working on it). From
this, I prefer to expose this functionality via the VFS layer so that
Persistent Handle support can be tailored to the individual file system.
...and this still would allow us to provide a generic module that would
use any new CTDB features that are provided over the next several months.
So, what I really want is to allow the administrator to disable Persistent
Handles in the configuration if they so choose. If these handles are not
disabled, then the VFS module that actually implements them would also
enable them. I think that sending the bits should be tied to having an
actual, working implementation.
More information about the samba-technical