cdrom/floppy umount issue possible bug

Tom Mitchell mitch48 at sbcglobal.net
Thu Dec 18 16:18:27 UTC 2003


On Wed, 17 Dec 2003, Gustavo Rahal wrote:
> Reply-To: fedora-list at redhat.com
> 
> I have this same problem. At least for me what happens is that the
> process "fam" keeps the cdrom busy. I can only umount it after killing
> this process.  Type "/sbin/fuser -mv /mnt/cdrom" to check if this is
> your case...

> Does anybody know what is the purpose of this process?

The 'fam' process/API notices when files change for the desktop
and other registered processes (see stat). In part this is how
the desktop is aware of the CDROM to put an icon up on the
background.  With fam an application like the desktop does not
need to poll (stat) a long list of directories, devices and files
over and over.  Mostly /mnt is watched -- see xfstab.

In addition to the desktop other applications can request that
fam monitor devices and send a message when it changes.  Killing
such a process might leave 'fam' watching but there is no longer
a process picking up the messages.  For example if you kill -9
such a process it has no opportunity to notify fam that it no
longer matters.  Timeouts that might be too long for you are
intended to clean things up (eventually).

Fam has a config file (/etc/fam.conf) as well as some command
line debug modes.

Note also that fam and networks can be a tangle.  Watch your NFS
mounts and exports.  If you have a samba/nfs directory open on
the desktop ponder how the desktop notices a remote addition to
that view.  Most folks should  not export /, /mnt, /dev many do.

If you are not behind a firewall that blocks the fam port you may
wish to manage the port (iptables, ipchains)  or simply set fam
to listen to the local interface only.  In /etc/fam.conf read the
comments and see the line:
	local_only = false
Change it to:
	local_only = true

I think the port is....
/etc/rpc:sgi_fam                391002  fam

Or you may wish to turn it off.  See inetd or xinetd (some should
look in /etc/xinetd.d/sgi_fam).

I had some RH/Linux troubles with CD ROMS but turning fam off did
not fix them.   Thus...

I suspect multiple applications are all interested in the CDROM:
some to burn when blanks are inserted, some to play music when
audio CDs are inserted, some to play mp3's when an iso full of
audio stuff shows up, some to notice and auto-run a CDROM on
insertion. Some to "auto-magically" divine the fs type and mount
it.  Some use fam/imond some stat, some may even attempt to open
the device in a polling loop.

For the API think of it as select() on a blocked stat() system
call that unblocks on change.

Regards,
TomM

-- 
	T o m  M i t c h e l l
	mitch48 -a*t- yahoo-dot-com





More information about the users mailing list