[PC-BSD Dev] ZFS 'Device Busy' error

Kris Moore kris at pcbsd.org
Thu Jul 11 12:02:42 PDT 2013


On 07/10/2013 19:17, Claudio L. wrote:
> Following up on this issue:
>
> I've found that the process that is keeping the filesystems locked is
> gam_server.
> gam_server is a file monitoring deamon used to get notifications of
> file changes.
> From what I read, gam_server needs to, by design (this is
> FreeBSD-specific), obtain a file descriptor for every file on every
> directory it monitors, and keep the file descriptor open forever. This
> is in order to receive notifications of file changes.
>
> As a side effect, when it starts it gets a file descriptor on the ZFS
> volume, effectively "locking" it.
>
> Disabling it would be bad for the GUI's, since at least XFCE is using
> it to discover changes in folders.
>
> I guess I'll have to work around it with a nasty hack, get
> gam_server's process ID, then use 'fuser' to make sure the only
> process using the filesystem is gam_server, then issue a 'zfs unmount
> -f'.
>
> Does anyone know of another solution? Is there any other alternative
> to using gam_server?
>
> PS: This gam_server deamon is evil, keeps so many descriptors open...
> what a waste of resources.
>
>
> Claudio

Wow that is quite ugly :(

Would changing any of the port build options for devel/gamin make a
difference? There are options for GAM_POLLER and LIBINOTIFY that you may
want to test.


-- 
Kris Moore
PC-BSD Software
iXsystems



More information about the Dev mailing list