Files
@ 32aaf5b62b9c
Branch filter:
Location: portage-overlay.git/net-fs/nfs-utils/files/nfs-utils-1.1.4-mtab-sym.patch - annotation
32aaf5b62b9c
1020 B
text/x-diff
add legacy net-fs/nfs-utils versions to tree
32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c 32aaf5b62b9c | ripped from Debian
--- nfs-utils-1.1.4/utils/mount/fstab.c
+++ nfs-utils-1.1.4/utils/mount/fstab.c
@@ -57,7 +57,7 @@ mtab_does_not_exist(void) {
return var_mtab_does_not_exist;
}
-static int
+int
mtab_is_a_symlink(void) {
get_mtab_info();
return var_mtab_is_a_symlink;
--- nfs-utils-1.1.4/utils/mount/fstab.h
+++ nfs-utils-1.1.4/utils/mount/fstab.h
@@ -7,6 +7,7 @@
#define _PATH_FSTAB "/etc/fstab"
#endif
+int mtab_is_a_symlink(void);
int mtab_is_writable(void);
int mtab_does_not_exist(void);
void reset_mtab_info(void);
--- nfs-utils-1.1.4/utils/mount/mount.c
+++ nfs-utils-1.1.4/utils/mount/mount.c
@@ -230,6 +230,13 @@ create_mtab (void) {
int flags;
mntFILE *mfp;
+ /* Avoid writing if the mtab is a symlink to /proc/mounts, since
+ that would create a file /proc/mounts in case the proc filesystem
+ is not mounted, and the fchmod below would also fail. */
+ if (mtab_is_a_symlink()) {
+ return EX_SUCCESS;
+ }
+
lock_mtab();
mfp = nfs_setmntent (MOUNTED, "a+");
|