From: LaMont Jones Date: Sun, 5 Aug 2007 00:04:11 +0000 (-0600) Subject: swapoff: correctly handle UUID= and LABEL= identifiers X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ee7bde1441fa7ea8f85d05fc2d08d7dc5a24c1f;p=util-linux swapoff: correctly handle UUID= and LABEL= identifiers 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 Signed-off-by: LaMont Jones --- diff --git a/mount/swapon.c b/mount/swapon.c index b4c84f95..0203287b 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); }