diff --git a/sutils/swapon.c b/sutils/swapon.c
index c0c773b..315b96c 100644
--- a/sutils/swapon.c
+++ b/sutils/swapon.c
@@ -42,7 +42,7 @@ const char *argp_program_version = STANDARD_HURD_VERSION (swapoff);
 const char *argp_program_version = STANDARD_HURD_VERSION (swapon);
 #endif
 
-static int ignore_signature, require_signature, quiet;
+static int ignore_signature, require_signature, quiet, ifexists;
 
 static struct argp_option options[] =
 {
@@ -54,6 +54,7 @@ static struct argp_option options[] =
    "Require a Linux swap signature page"},
   {"silent",     'q', 0,      0, "Print only diagnostic messages"},
   {"quiet",      'q', 0,      OPTION_ALIAS | OPTION_HIDDEN },
+  {"ifexists",      'e', 0, 0, "Silently skip non-existing devices"},
   {0, 0}
 };
 static char *args_doc = "DEVICE...";
@@ -480,6 +481,10 @@ main (int argc, char *argv[])
 	  quiet = 1;
 	  break;
 
+	case 'e':
+	  ifexists = 1;
+	  break;
+
 	case ARGP_KEY_ARG:
 #ifdef SWAPOFF
 #define ONOFF 0
@@ -521,6 +526,11 @@ main (int argc, char *argv[])
 	  while ((me = getmntent (f)) != NULL)
 	    if (!strcmp (me->mnt_type, MNTTYPE_SWAP))
 	      {
+             struct stat st;
+             if (ifexists && stat (me->mnt_fsname, &st) == -1)
+                // ignore non-existing device
+                continue;
+
 		done = 1;
 
 		err |= swaponoff (me->mnt_fsname, ONOFF);
diff --git a/utils/mount.c b/utils/mount.c
index 8b059c2..467460f 100644
--- a/utils/mount.c
+++ b/utils/mount.c
@@ -54,6 +54,8 @@ static const struct argp_option argp_opts[] =
   {"update", 'u', 0, 0, "Flush any meta-data cached in core"},
   {"remount", 0, 0, OPTION_ALIAS},
   {"verbose", 'v', 0, 0, "Give more detailed information"},
+  {"no-mtab", 'n', 0, 0, "Do not update /etc/mtab"},
+  {"fake", 'f', 0, 0, "Do not actually mount, just pretend"},
   {0, 0}
 };
 
@@ -110,6 +112,14 @@ parse_opt (int key, char *arg, struct argp_state *state)
 	}
       break;
 
+    case 'n':
+        /* do nothing */
+        break;
+
+    case 'f':
+        /* do nothing at all */
+        exit(EXIT_SUCCESS);
+
     case ARGP_KEY_ARG:
       if (mountpoint == 0)	/* One arg: mountpoint */
 	mountpoint = arg;
