While parsing /etc/fstab, swapoff did not make provision for UUID= and
LABEL= identifiers.  Added logic similar to swapon -a code.

Signed-off-by: Kel Modderman <[EMAIL PROTECTED]>
Signed-off-by: LaMont Jones <[EMAIL PROTECTED]>
---
 mount/swapon.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/mount/swapon.c b/mount/swapon.c
index b4c84f9..0203287 100644
--- a/mount/swapon.c
+++ b/mount/swapon.c
@@ -491,9 +491,18 @@ main_swapoff(int argc, char *argv[]) {
                        exit(2);
                }
                while ((fstab = getmntent(fp)) != NULL) {
-                       if (streq(fstab->mnt_type, MNTTYPE_SWAP) &&
-                           !is_in_proc_swaps(fstab->mnt_fsname))
-                               do_swapoff(fstab->mnt_fsname, QUIET);
+                       const char *orig_special = fstab->mnt_fsname;
+                       const char *special;
+
+                       if (!streq(fstab->mnt_type, MNTTYPE_SWAP))
+                               continue;
+
+                       special = fsprobe_get_devname(orig_special);
+                       if (!special)
+                               continue;
+
+                       if (!is_in_proc_swaps(special))
+                               do_swapoff(special, QUIET);
                }
                fclose(fp);
        }
-- 
1.5.2.3

-
To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to