Message ID | 1447857002-9791-1-git-send-email-Jason@zx2c4.com |
---|---|
State | New |
Headers | show |
On 11/18/2015 03:30 PM, Jason A. Donenfeld wrote: > -#define _PATH_MOUNTED "/etc/mtab" > +#define _PATH_MOUNTED "/proc/mounts" Why not /proc/self/mounts? I don't know if there is a difference; readlink on paths under /proc often does not provide accurate information. I suspect a better way is for distributions to make /etc/mtab a symbolic link to whatever location they need. Fedora uses /proc/self/mounts, for instance. Florian
I'm not really part of their camp, but the systemd people write this in their release notes: https://github.com/systemd/systemd/blob/master/NEWS > Any reference to /etc/mtab has been dropped from > systemd. The file has been obsolete since a while, but > systemd refused to work on systems where it was incorrectly > set up (it should be a symlink or non-existent). Please make > sure to update to util-linux 2.27.1 or newer in conjunction > with this systemd release, which also drops any reference to > /etc/mtab. If you maintain a distribution make sure that no > software you package still references it, as this is a > likely source of bugs. There's also a glibc bug pending, > asking for removal of any reference to this obsolete file: > https://sourceware.org/bugzilla/show_bug.cgi?id=19108
On 12/11/2015 02:03 PM, Jason A. Donenfeld wrote: > I'm not really part of their camp, but the systemd people write this > in their release notes: > > https://github.com/systemd/systemd/blob/master/NEWS > >> Any reference to /etc/mtab has been dropped from >> systemd. The file has been obsolete since a while, but >> systemd refused to work on systems where it was incorrectly >> set up (it should be a symlink or non-existent). Please make >> sure to update to util-linux 2.27.1 or newer in conjunction >> with this systemd release, which also drops any reference to >> /etc/mtab. If you maintain a distribution make sure that no >> software you package still references it, as this is a >> likely source of bugs. There's also a glibc bug pending, >> asking for removal of any reference to this obsolete file: >> https://sourceware.org/bugzilla/show_bug.cgi?id=19108 /etc/mtab is part of the ABI, so I don't think the above can be quite right. In fact, I would rather prefer if glibc keeps using /etc/mtab, as a reminder that you can't possibly remove the file without breaking backwards compatibility. Yes, the separately maintained list of mounts in /etc/mtab (as a regular file) is obsolete, but that does not mean you can remove the file, you need to keep the compatibility symbolic link. Florian
diff --git a/ChangeLog b/ChangeLog index a915653..08143ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2015-11-18 Jason A. Donenfeld <Jason@zx2c4.com> + + [BZ #19108] + * sysdeps/unix/sysv/linux/paths.h: Update to using /proc/mounts + instead of /etc/mtab. + 2015-11-17 Siddhesh Poyarekar <siddhesh.poyarekar@linaro.org> * sysdeps/ieee754/dbl-64/s_sin.c (__sin)[IN_SINCOS]: Mark function diff --git a/sysdeps/unix/sysv/linux/paths.h b/sysdeps/unix/sysv/linux/paths.h index 1342ab3..ec342fe 100644 --- a/sysdeps/unix/sysv/linux/paths.h +++ b/sysdeps/unix/sysv/linux/paths.h @@ -52,7 +52,7 @@ #define _PATH_MAN "/usr/share/man" #define _PATH_MEM "/dev/mem" #define _PATH_MNTTAB "/etc/fstab" -#define _PATH_MOUNTED "/etc/mtab" +#define _PATH_MOUNTED "/proc/mounts" #define _PATH_NOLOGIN "/etc/nologin" #define _PATH_PRESERVE "/var/lib" #define _PATH_RWHODIR "/var/spool/rwho"
A related commit adjusting the texinfo documentation will have to be provided, but this commit changes the relevant path per the bug report. Entering the 21st century. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> --- ChangeLog | 6 ++++++ sysdeps/unix/sysv/linux/paths.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-)