[pulseaudio-discuss] Pulseaudio symlink causing problem with CIFS-mounted home directory
lennart at poettering.net
Wed Nov 11 14:15:15 PST 2009
On Wed, 11.11.09 12:07, Mark Ellerby (M.Ellerby at dcs.shef.ac.uk) wrote:
> I wonder if anyone can help with this. I am running a Fedora 11
> desktop with home directories mounted from CIFS file systems off a
> Samba share. I noticed Gnome complaining that it is unable to start
> the gnome-settings-daemon when I try to open the appearance
> preferences. It sometimes hangs the system and I have to reboot or
> reset it.
> I looked in /var/log/messages and I noticed a few messages like
> this, which seemed concomitant to me opening up the Gnome prefs:
> Nov 10 15:14:02 mgd-lin-11-23 pulseaudio: core-util.c: Failed
> to symlink
> /home/cifsuser/.pulse/753d3047c74d8cf35719694b4af98160:runtime to
> /tmp/pulse-Js7neClsndF1: Permission denied
> Nov 10 15:08:11 mgd-lin-11-23 pulseaudio: lock-autospawn.c:
> Cannot access autospawn lock.
> So I looked to see why Pulseaudio was not creating these symlinks,
> and after some experimentation found that I was not able to create
> any simlinks of my own from my home directory to something in /tmp.
> It must be something to do with CIFS, because it works OK when
> symlinking from an NFS-mounted directory.
SMB is not a Unix file system. I does not support a substantial
number of file system features Unix file systems provide as
bare minimum, among others symlinks and unix style permissions.
PA is already very conservative with the assumptions it makes of
features it can rely on in the $HOME fs, i.e. we refrain from creating
unix sockets or using fcntl style locking although we really would
like to use them on $HOME. In fact the reason why we use this symlink
to /tmp is to circumvent the various limitations of $HOME.
If you mount a file system like FAT or SMB to $HOME that lacks any
kind of POSIX conformity then you must expect some kind of borkage. At
this time you cannot make PA work on a $HOME FS that lacks
symlinks. A patch allowing that should be doable. However, I am not
even sure I'd be interested in merging that.
> We are pretty committed to using CIFS for home dirs. I seem to be in
> a bit of a tight spot here. I can remove pulseaudio altogether, and
> things work fine, but I think our users will want sound so it's not
> really an option to do it that way.
> Is there any way of running pulse audio without it trying to create
> symlinks into /tmp ?
I am pretty sure sooner or later things will break for you
elsewhere. Having $HOME as FAT or SMB FS is a call for trouble. I'd
bet PA is not the only app that will break.
If you really want to use this consider using the Unix extensions for
CIFS the way Samba supports them.
Lennart Poettering Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/ GnuPG 0x1A015CC4
More information about the pulseaudio-discuss