aboutsummaryrefslogtreecommitdiff
path: root/toys/mkswap.c
diff options
context:
space:
mode:
Diffstat (limited to 'toys/mkswap.c')
-rw-r--r--toys/mkswap.c42
1 files changed, 0 insertions, 42 deletions
diff --git a/toys/mkswap.c b/toys/mkswap.c
deleted file mode 100644
index 87c1550f..00000000
--- a/toys/mkswap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* vi: set sw=4 ts=4:
- *
- * mkswap.c - Format swap device.
- *
- * Copyright 2009 Rob Landley <rob@landley.net>
- *
- * Not in SUSv4.
-
-USE_MKSWAP(NEWTOY(mkswap, "<1>1", TOYFLAG_SBIN))
-
-config MKSWAP
- bool "mkswap"
- default y
- help
- usage: mkswap DEVICE
-
- Sets up a Linux swap area on a device or file.
-*/
-
-#include "toys.h"
-
-void mkswap_main(void)
-{
- int fd = xopen(*toys.optargs, O_RDWR), pagesize = sysconf(_SC_PAGE_SIZE);
- off_t len = fdlength(fd);
- unsigned int pages = (len/pagesize)-1, *swap = (unsigned int *)toybuf;
-
- // Write header. Note that older kernel versions checked signature
- // on disk (not in cache) during swapon, so sync after writing.
-
- swap[0] = 1;
- swap[1] = pages;
- xlseek(fd, 1024, SEEK_SET);
- xwrite(fd, swap, 129*sizeof(unsigned int));
- xlseek(fd, pagesize-10, SEEK_SET);
- xwrite(fd, "SWAPSPACE2", 10);
- fsync(fd);
-
- if (CFG_TOYBOX_FREE) close(fd);
-
- printf("Swapspace size: %luk\n", pages*(unsigned long)(pagesize/1024));
-}