Hi, a long time ago you opened a bug in the Debian package libpam-mount. Recently I took over maintenance of this package and added a patch to address this. You can find the new version in Debian experimental, would be great if you could try it and report back if it fixes your problem. If no one reports an error in it, I will upload the package to unstable and close this in a month.
Cheers Jochen * Carlo Contavalli <ccontava...@gmail.com> [2013-09-22 08:04]:
Package: libpam-mount Version: 2.14-1 Severity: important Using "tmpfs" to avoid an SSD being written to continuously, and to discard files at reboot. I started off with a line like: <volume group="users" fstype="tmpfs" mountpoint="/home/%(USER)/mycache/" options="size=1G,uid=%(USER),mode=0700" /> If I logged in multiple times, however, i would get multiple tmpfs mounted on top of each other, which is certainly wrong and not what I want (eg, a loging would make all previous files in cache disappear!!). By enabling verbose logging, turns out that: 1) pam-mount, at login, decides if a file systems needs to be mounted again based on the output of mount, and content of /proc/mounts. 2) if a mount is already visible in /proc/mounts, it does not mount it. If it is missing, it adds it. 3) with verbose logging, it seems like that without the "path" attribute in the <volume> definition, path is interpreted as "(null)" and it looks for '/' in the output of /proc/mounts? However, the linux kernel has "none" in the same line (probably as a result of how it was mounted). The two don't match, so the file system is mounted again and again. 4) if I add a "path" attribute to the <volume> definition, like with: <volume group="users" fstype="tmpfs" path="mycache" mountpoint="/home/%(USER)/mycache/" options="size=1G,uid=%(USER),mode=0700" /> And then login and run mount, I now see: [...] mycache on /home/ccontavalli/mycache type tmpfs (rw,relatime,size=1048576k,mode=700) [...] instead of: [...] none on /home/ccontavalli/mycache type tmpfs (rw,relatime,size=1048576k,mode=700) [...] ... and logging out now works. What I'd like to see is either: 1) determine this is "expected behavior", and document it. 2) fix the code so an unspecified "path" is treated correctly (eg, doesn't try to match for / or whatever it is trying to match on), and just does the right thing. 2) is more desirable to me than 1). -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (995, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 3.10-2-686-pae (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/dash Versions of packages libpam-mount depends on: ii base-files 7.2 ii libc6 2.17-92+b1 ii libcryptsetup4 2:1.6.1-1 ii libhx28 3.15-2 ii libmount1 2.20.1-5.5 ii libpam-runtime 1.1.3-9 ii libpam0g 1.1.3-9 ii libpcre3 1:8.31-2 ii libssl1.0.0 1.0.1e-3 ii libxml2 2.9.1+dfsg1-3 ii mount 2.20.1-5.5 libpam-mount recommends no packages. Versions of packages libpam-mount suggests: pn cifs-utils <none> pn davfs2 <none> ii fuse 2.9.2-4 ii lsof 4.86+dfsg-1 pn ncpfs <none> ii openssl 1.0.1e-3 ii psmisc 22.20-1 pn sshfs <none> pn tc-utils <none> pn xfsprogs <none> -- no debconf information
signature.asc
Description: PGP signature