summaryrefslogtreecommitdiffstats
path: root/toolbox
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-11-25 19:03:59 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-11-25 19:03:59 +0000
commit8e76610cfc729ad1e2cd4f0cd29007ee32c09172 (patch)
tree2c03cc4b14eb74acd20aa12c55413581d8827b00 /toolbox
parent4d7a262c63d5c8299c489110c29e40f5dd4c815c (diff)
parent077ff30954275e635c5faa8b75afcd0a44a78dcc (diff)
downloadsystem_core-8e76610cfc729ad1e2cd4f0cd29007ee32c09172.zip
system_core-8e76610cfc729ad1e2cd4f0cd29007ee32c09172.tar.gz
system_core-8e76610cfc729ad1e2cd4f0cd29007ee32c09172.tar.bz2
am 077ff309: Merge "Lose mkswap, swapoff, and swapon to toybox."
* commit '077ff30954275e635c5faa8b75afcd0a44a78dcc': Lose mkswap, swapoff, and swapon to toybox.
Diffstat (limited to 'toolbox')
-rw-r--r--toolbox/Android.mk3
-rw-r--r--toolbox/mkswap.c91
-rw-r--r--toolbox/swapoff.c20
-rw-r--r--toolbox/swapon.c66
4 files changed, 0 insertions, 180 deletions
diff --git a/toolbox/Android.mk b/toolbox/Android.mk
index 1b57f14..d14bc79 100644
--- a/toolbox/Android.mk
+++ b/toolbox/Android.mk
@@ -138,7 +138,6 @@ OUR_TOOLS := \
md5 \
mkdir \
mknod \
- mkswap \
mount \
nandread \
netstat \
@@ -160,8 +159,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 <fcntl.h>
-#include <linux/fs.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/swap.h>
-#include <sys/types.h>
-
-/* 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 <filename>\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 <stdio.h>
-#include <unistd.h>
-#include <sys/swap.h>
-
-int swapoff_main(int argc, char **argv)
-{
- int err = 0;
-
- if (argc != 2) {
- fprintf(stderr, "Usage: %s <filename>\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 <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <getopt.h>
-#include <sys/swap.h>
-
-static void usage(char *name)
-{
- fprintf(stderr, "Usage: %s [-p prio] <filename>\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;
-}