summaryrefslogtreecommitdiff
path: root/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-03-04 00:01:47 +0000
committerroot <root@rshg054.dnsready.net>2012-03-04 00:01:47 +0000
commitf0fa42126da9e3eec6b98388b35c67929fa20dae (patch)
tree0a4ad5b073e8500ff0e8920ba509942598576463 /testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
parentd8fb549de0ef3299436c448f7b45fd8ebee8e733 (diff)
Sun Mar 4 00:01:47 UTC 2012
Diffstat (limited to 'testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch')
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
new file mode 100644
index 000000000..c9e60afc7
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
@@ -0,0 +1,39 @@
+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+");