summaryrefslogtreecommitdiffstats
path: root/sys-apps/util-linux/files/util-linux-2.12q-update-mtab-when-moving.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/util-linux/files/util-linux-2.12q-update-mtab-when-moving.patch')
-rw-r--r--sys-apps/util-linux/files/util-linux-2.12q-update-mtab-when-moving.patch33
1 files changed, 0 insertions, 33 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.12q-update-mtab-when-moving.patch b/sys-apps/util-linux/files/util-linux-2.12q-update-mtab-when-moving.patch
deleted file mode 100644
index aa921f5..0000000
--- a/sys-apps/util-linux/files/util-linux-2.12q-update-mtab-when-moving.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Running `mount --move /foo /bar` would leave the old /foo entry in /etc/mtab
-and create a new /bar entry with wrong info.
-
-http://bugs.gentoo.org/104697
-
---- 1/mount/mount.c
-+++ 2/mount/mount.c
-@@ -665,6 +665,25 @@
- else {
- mntFILE *mfp;
-
-+ /* when moving a mount point, we have to make sure the mtab
-+ * gets updated properly. We get info about the old mount
-+ * point, copy it to the new mount point, and then delete
-+ * the old mount point. */
-+ if (flags & MS_MOVE) {
-+ const char *olddir = mnt.mnt_fsname;
-+ struct mntentchn *oldmc = oldmc = getmntfile(olddir);
-+ if (oldmc != NULL) {
-+ mnt.mnt_fsname = xstrdup(oldmc->m.mnt_fsname);
-+ mnt.mnt_type = oldmc->m.mnt_type;
-+ mnt.mnt_opts = oldmc->m.mnt_opts;
-+ mnt.mnt_freq = oldmc->m.mnt_freq;
-+ mnt.mnt_passno = oldmc->m.mnt_passno;
-+ }
-+ update_mtab(olddir, NULL);
-+ if (oldmc != NULL)
-+ my_free(olddir);
-+ }
-+
- lock_mtab();
- mfp = my_setmntent(MOUNTED, "a+");
- if (mfp == NULL || mfp->mntent_fp == NULL) {