From c88ba3750ec6e139034e468d5a56166268188981 Mon Sep 17 00:00:00 2001 From: sin Date: Thu, 26 Jun 2014 16:16:15 +0100 Subject: [PATCH] Add freeramdisk(8) --- Makefile | 2 ++ freeramdisk.8 | 8 ++++++++ freeramdisk.c | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 freeramdisk.8 create mode 100644 freeramdisk.c diff --git a/Makefile b/Makefile index 9a32e7a..ced0a4b 100644 --- a/Makefile +++ b/Makefile @@ -31,6 +31,7 @@ SRC = \ eject.c \ fallocate.c \ free.c \ + freeramdisk.c \ fsfreeze.c \ getty.c \ halt.c \ @@ -93,6 +94,7 @@ MAN1 = \ MAN8 = \ ctrlaltdel.8 \ + freeramdisk.8 \ fsfreeze.8 \ getty.8 \ halt.8 \ diff --git a/freeramdisk.8 b/freeramdisk.8 new file mode 100644 index 0000000..1932fd9 --- /dev/null +++ b/freeramdisk.8 @@ -0,0 +1,8 @@ +.TH FREERAMDISK 8 ubase-VERSION +.SH NAME +\fBfreeramdisk\fR - Free memory used by the loadlin ramdisk +.SH SYNOPSIS +\fBfreeramdisk\fR +.SH DESCRIPTION +\fBfreeramdisk\fR frees the memory that is used by the ramdisk. +It uses the \fI/dev/ram\fR device node. diff --git a/freeramdisk.c b/freeramdisk.c new file mode 100644 index 0000000..7b0d85a --- /dev/null +++ b/freeramdisk.c @@ -0,0 +1,37 @@ +/* See LICENSE file for copyright and license details. */ +#include +#include +#include +#include +#include +#include +#include +#include "util.h" + +static void +usage(void) +{ + eprintf("usage: %s\n", argv0); +} + +int +main(int argc, char *argv[]) +{ + char *dev = "/dev/ram"; + int fd; + + ARGBEGIN { + default: + usage(); + } ARGEND; + + if (argc != 0) + usage(); + + if ((fd = open(dev, O_RDWR)) < 0) + eprintf("open: %s:", dev); + if (ioctl(fd, BLKFLSBUF, dev) < 0) + eprintf("BLKFLSBUF %s:", dev); + close(fd); + return EXIT_SUCCESS; +}