[PATCH] notifyd

Volker Lendecke Volker.Lendecke at SerNet.DE
Wed Jul 15 05:04:39 UTC 2015


On Wed, Jul 08, 2015 at 08:22:30AM +0200, Andreas Schneider wrote:
> On Friday 19 June 2015 13:36:23 Volker Lendecke wrote:
> > Hi!
> 
> Hi Volker,
> 
> > Attached find the latest incarnation of the notifyd I've
> > been talking about for a while now. Survived a few private
> > autobuilds.
> 
> this is really great work. Could you please write a text for WHATSNEW.txt and 
> send it to Karolin?

Attached.

Volker

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de
-------------- next part --------------
New FileChangeNotify subsystem
==============================

Samba now contains a new subsystem to do FileChangeNotify. The
previous system used a central database, notify_index.tdb, to store
all notification requests. In particular in a cluster this turned out
to be a major bottleneck, because some hot records need to be bounced
back and forth between nodes on every change event like a new created
file.

The new FileChangeNotify subsystem works with a central daemon per
node. Every FileChangeNotify request and every event are handled by an
asynchronous message from smbd to the notify daemon. The notify daemon
maintains a database of all FileChangeNotify requests in memory and
will distribute the notify events accordingly. This database is
asynchronously distributed in the cluster by the notify daemons.

The notify daemon is supposed to scale a lot better than the previous
implementation. The functional advantage is cross-node kernel change
notify: Files created via NFS will be seen by SMB clients on other
nodes per FileChangeNotify, despite the fact that popular cluster file
systems do not offer cross-node inotify.

Two changes to the configuration were required for this new subsystem:
The parameters "change notify" and "kernel change notify" are not
per-share anymore but must be set globally. So it is no longer
possible to enable or disable notify per share, the notify daemon has
no notion of a share, it only works on absolute paths.


More information about the samba-technical mailing list