gamin 0.1.7

Jean-Yves Lefort jylefort at FreeBSD.org
Thu Feb 9 04:10:13 PST 2006


On Thu, 09 Feb 2006 01:53:28 -0500
Joe Marcus Clarke <marcus at FreeBSD.org> wrote:

> On Wed, 2006-02-08 at 15:26 +0100, Alex Dupre wrote:
> > In the last days I worked on porting the latest release of gamin (0.1.7) 
> > to FreeBSD (and cygwin, too, but this is for another mailing list ;-)).
> > If you don't want to read more, the result was successfully and the new 
> > port may be downloaded for testing from 
> > http://www.alexdupre.com/gamin.tar.gz.
> > If you are interested in porting work and changed internals go ahead.
> > The 0.1.7 release works (with about the same bugs of 0.1.5) 
> > out-of-the-box only on Linux with kernel backends (dnotify/inotify). 
> > Polling is broken, kqueue doesn't compile. I fixed all the bugs I found 
> > and tried to make polling and kqueue work flawless.
> > Internally I replaced the read of the linux /etc/mtab file with a call 
> > to getmntinfo() to know which file system could be monitored by the 
> > kernel and which should be polled. In the latter case the monitoring job 
> > is carried out by the polling backend, in the former the job is 
> > completed by the kqueue backend in the same way is done actually in the 
> > 0.1.5 release.
> > I did many tests on a 6-STABLE with thousands of monitored dirs/files on 
> > ufs and smbfs file systems to catch any possible bug, but it seems it's 
> > working great.
> > Unless you will find anything wrong with the port, I'm going to commit 
> > it in the end of the week.
> 
> I committed this with a few changes.  Someone using NFS along with gamin
> might want to validate whether kqueue on NFS is working well.  The same
> goes for smbfs, msdosfs, and ext2fs.

Please address the following issues, or revert:

  - we now have two different pollers; one is used when
    gam_kqueue_monitor_enable_kqueue() returns FALSE (for instance when
    the fd limit is exhausted, or when kevent() fails); one is used for
    "nfs" and "smbfs" filesystems
  - the two pollers behave differently, compare: stat() vs lstat(),
    gam_poll_generic_node_changed() vs gam_kqueue_differs(),
    scalability, ...
  - using filesystem names to choose between kqueue and polling is a
    bad idea, for obvious reasons; one should use fstatfs() and enable
    kqueue if the MNT_LOCAL flag is set
  - testing no longer works:
	make
	cd $WRKDIR/tests
	export GAMIN_DEBUG_SERVER=../server/gam_server
	./testgam -
	connect test
	-> it connects to the already running gam_server (the installed one)
  - the patch which removed a stale socket has been dropped

-- 
Jean-Yves Lefort

jylefort at FreeBSD.org
http://lefort.be.eu.org/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20060209/50c24d21/attachment.bin


More information about the freebsd-ports mailing list