summaryrefslogtreecommitdiffstats
path: root/sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch')
-rw-r--r--sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch34
1 files changed, 0 insertions, 34 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch b/sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch
deleted file mode 100644
index f421458..0000000
--- a/sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- util-linux-2.12b/mount/swapon.c
-+++ util-linux-2.12b/mount/swapon.c
-@@ -7,2 +7,3 @@
- #include <stdlib.h>
-+#include <sys/param.h>
- #include <stdio.h>
-@@ -137,10 +138,27 @@
- static int
- is_in_proc_swaps(const char *fname) {
- int i;
-+ struct stat fstatbuf;
-
- for (i = 0; i < numSwaps; i++)
- if (swapFiles[i] && !strcmp(fname, swapFiles[i]))
- return 1;
-+
-+ /* fallback:
-+ * if the device in /etc/fstab is a symlink, the entry
-+ * in /proc/swaps won't match because the kernel stores
-+ * absolute pathnames. Here we compare dev_t's.
-+ */
-+ if (!lstat(fname, &fstatbuf))
-+ if (S_ISLNK(fstatbuf.st_mode)) {
-+ struct stat swapstatbuf;
-+ stat(fname, &fstatbuf);
-+ for (i = 0; i < numSwaps; i++)
-+ if (swapFiles[i] && !stat(swapFiles[i], &swapstatbuf) && \
-+ swapstatbuf.st_rdev == fstatbuf.st_rdev)
-+ return 1;
-+ }
-+
- return 0;
- }
-