gamin 0.1.7

Joe Marcus Clarke marcus at FreeBSD.org
Thu Feb 9 08:23:03 PST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jean-Yves Lefort wrote:
> 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
> 

I did a full make regression-test as well as some practical Nautilus
tests before committing.  I didn't notice the socket patch change.  I'll
try and address some of these other issues tonight.

Joe

- --
Joe Marcus Clarke
FreeBSD GNOME Team	::	gnome at FreeBSD.org
FreeNode / #freebsd-gnome
http://www.FreeBSD.org/gnome
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFD62x9b2iPiv4Uz4cRArsfAKCEHC2h8Cgr4PzHOc6GvtBDyNz4owCgpLh3
4F5Q6JGqUL88AZvN+KgaOGU=
=okh+
-----END PGP SIGNATURE-----


More information about the freebsd-ports mailing list