diff options
Diffstat (limited to 'sys-apps/util-linux/files/util-linux-2.12i-swapon-check-symlinks.patch')
-rw-r--r-- | sys-apps/util-linux/files/util-linux-2.12i-swapon-check-symlinks.patch | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.12i-swapon-check-symlinks.patch b/sys-apps/util-linux/files/util-linux-2.12i-swapon-check-symlinks.patch deleted file mode 100644 index b9ed346..0000000 --- a/sys-apps/util-linux/files/util-linux-2.12i-swapon-check-symlinks.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- util-linux-2.12b/mount/swapon.c.orig 2004-10-28 10:02:44.320023600 -0400 -+++ util-linux-2.12b/mount/swapon.c 2004-10-28 10:02:14.384574000 -0400 -@@ -22,2 +22,3 @@ - #include <stdlib.h> -+#include <sys/param.h> - #include <stdio.h> -@@ -143,10 +144,26 @@ - static int - is_in_proc_swaps(char *fname) { - int i; -+ struct stat fstatbuf; - - for (i = 0; i < numSwaps; i++) - if (!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; -+ for (i = 0; i < numSwaps; i++) -+ if (!stat(swapFiles[i], &swapstatbuf) && \ -+ swapstatbuf.st_dev == fstatbuf.st_dev) -+ return 1; -+ } -+ - return 0; - } - |