From 7376cef149be03c4afb1ad93e2cf60863b6ef419 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Mon, 24 Nov 2014 16:13:03 -0800 Subject: Lose mkswap, swapoff, and swapon to toybox. Change-Id: Iedb371ad0f1f74822b3ff4bc1b7b1f9e6ecd300d --- toolbox/Android.mk | 3 -- toolbox/mkswap.c | 91 ------------------------------------------------------ toolbox/swapoff.c | 20 ------------ toolbox/swapon.c | 66 --------------------------------------- 4 files changed, 180 deletions(-) delete mode 100644 toolbox/mkswap.c delete mode 100644 toolbox/swapoff.c delete mode 100644 toolbox/swapon.c (limited to 'toolbox') diff --git a/toolbox/Android.mk b/toolbox/Android.mk index e135e4d..bc15aa8 100644 --- a/toolbox/Android.mk +++ b/toolbox/Android.mk @@ -138,7 +138,6 @@ OUR_TOOLS := \ md5 \ mkdir \ mknod \ - mkswap \ mount \ nandread \ netstat \ @@ -159,8 +158,6 @@ OUR_TOOLS := \ smd \ start \ stop \ - swapoff \ - swapon \ top \ touch \ umount \ diff --git a/toolbox/mkswap.c b/toolbox/mkswap.c deleted file mode 100644 index ad66353..0000000 --- a/toolbox/mkswap.c +++ /dev/null @@ -1,91 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -/* This is not in a uapi header. */ -struct linux_swap_header { - char bootbits[1024]; /* Space for disklabel etc. */ - uint32_t version; - uint32_t last_page; - uint32_t nr_badpages; - unsigned char sws_uuid[16]; - unsigned char sws_volume[16]; - uint32_t padding[117]; - uint32_t badpages[1]; -}; - -#define MAGIC_SWAP_HEADER "SWAPSPACE2" -#define MAGIC_SWAP_HEADER_LEN 10 -#define MIN_PAGES 10 - -int mkswap_main(int argc, char **argv) -{ - if (argc != 2) { - fprintf(stderr, "Usage: %s \n", argv[0]); - return EXIT_FAILURE; - } - - int fd = open(argv[1], O_RDWR); - if (fd < 0) { - fprintf(stderr, "Cannot open %s: %s\n", argv[1], strerror(errno)); - return EXIT_FAILURE; - } - - /* Determine the length of the swap file */ - off64_t swap_size; - struct stat sb; - if (fstat(fd, &sb)) { - fprintf(stderr, "Couldn't fstat file: %s\n", strerror(errno)); - return EXIT_FAILURE; - } - if (S_ISBLK(sb.st_mode)) { - if (ioctl(fd, BLKGETSIZE64, &swap_size) < 0) { - fprintf(stderr, "Couldn't determine block device size: %s\n", strerror(errno)); - return EXIT_FAILURE; - } - } else { - swap_size = sb.st_size; - } - - int pagesize = getpagesize(); - if (swap_size < MIN_PAGES * pagesize) { - fprintf(stderr, "Swap file needs to be at least %d KiB\n", (MIN_PAGES * pagesize) >> 10); - return EXIT_FAILURE; - } - - struct linux_swap_header sw_hdr; - memset(&sw_hdr, 0, sizeof(sw_hdr)); - sw_hdr.version = 1; - sw_hdr.last_page = (swap_size / pagesize) - 1; - - ssize_t len = write(fd, &sw_hdr, sizeof(sw_hdr)); - if (len != sizeof(sw_hdr)) { - fprintf(stderr, "Failed to write swap header into %s: %s\n", argv[1], strerror(errno)); - return EXIT_FAILURE; - } - - /* Write the magic header */ - if (lseek(fd, pagesize - MAGIC_SWAP_HEADER_LEN, SEEK_SET) < 0) { - fprintf(stderr, "Failed to seek into %s: %s\n", argv[1], strerror(errno)); - return EXIT_FAILURE; - } - - len = write(fd, MAGIC_SWAP_HEADER, MAGIC_SWAP_HEADER_LEN); - if (len != MAGIC_SWAP_HEADER_LEN) { - fprintf(stderr, "Failed to write magic swap header into %s: %s\n", argv[1], strerror(errno)); - return EXIT_FAILURE; - } - - if (fsync(fd) < 0) { - fprintf(stderr, "Failed to sync %s: %s\n", argv[1], strerror(errno)); - return EXIT_FAILURE; - } - - close(fd); - return EXIT_SUCCESS; -} diff --git a/toolbox/swapoff.c b/toolbox/swapoff.c deleted file mode 100644 index 477494e..0000000 --- a/toolbox/swapoff.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include -#include - -int swapoff_main(int argc, char **argv) -{ - int err = 0; - - if (argc != 2) { - fprintf(stderr, "Usage: %s \n", argv[0]); - return -EINVAL; - } - - err = swapoff(argv[1]); - if (err) { - fprintf(stderr, "swapoff failed for %s: %s\n", argv[1], strerror(errno)); - } - - return err; -} diff --git a/toolbox/swapon.c b/toolbox/swapon.c deleted file mode 100644 index 51b4ff1..0000000 --- a/toolbox/swapon.c +++ /dev/null @@ -1,66 +0,0 @@ -#include -#include -#include -#include -#include - -static void usage(char *name) -{ - fprintf(stderr, "Usage: %s [-p prio] \n" - " prio must be between 0 and %d\n", name, SWAP_FLAG_PRIO_MASK); -} - -static int parse_prio(char *prio_str) -{ - unsigned long p = strtoul(prio_str, NULL, 10); - - return (p > SWAP_FLAG_PRIO_MASK)? -1 : (int)p; -} - -int swapon_main(int argc, char **argv) -{ - int err = 0; - int flags = 0; - int prio; - - opterr = 0; - do { - int c = getopt(argc, argv, "hp:"); - if (c == -1) - break; - - switch (c) { - case 'p': - if (optarg != NULL) - prio = parse_prio(optarg); - else - prio = -1; - - if (prio < 0) { - usage(argv[0]); - return -EINVAL; - } - flags |= SWAP_FLAG_PREFER; - flags |= (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK; - break; - case 'h': - usage(argv[0]); - return 0; - case '?': - fprintf(stderr, "unknown option: %c\n", optopt); - return -EINVAL; - } - } while (1); - - if (optind != argc - 1) { - usage(argv[0]); - return -EINVAL; - } - - err = swapon(argv[argc - 1], flags); - if (err) { - fprintf(stderr, "swapon failed for %s: %s\n", argv[argc - 1], strerror(errno)); - } - - return err; -} -- cgit v1.1