chiark / gitweb /
readahead: add test to show fs_on_ssd() result
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 14 May 2014 13:44:19 +0000 (09:44 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 15 May 2014 13:29:59 +0000 (15:29 +0200)
Makefile.am
src/readahead/test-ssd.c [new file with mode: 0644]

index 89b1d4e08976072482fbf308a379a004de49efa8..6379262ca3ca58b843098408318f11d8b61f46af 100644 (file)
@@ -3682,6 +3682,19 @@ nodist_systemunit_DATA += \
        units/systemd-readahead-replay.service \
        units/systemd-readahead-done.service
 
+manual_tests += \
+       test-ssd
+
+test_ssd_SOURCES = \
+       src/readahead/test-ssd.c \
+       src/readahead/readahead-common.c \
+       src/readahead/readahead-common.h
+
+test_ssd_LDADD = \
+       libsystemd-internal.la \
+       libudev-internal.la \
+       libsystemd-shared.la
+
 endif
 
 EXTRA_DIST += \
diff --git a/src/readahead/test-ssd.c b/src/readahead/test-ssd.c
new file mode 100644 (file)
index 0000000..808faf3
--- /dev/null
@@ -0,0 +1,41 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+  This file is part of systemd.
+
+  Copyright 2014 Zbigniew Jędrzejewski-Szmek
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "readahead-common.h"
+
+int main(int argc, char *argv[]) {
+        int i;
+
+        for (i = 1; i < argc; i++) {
+                char *name = argv[i];
+                int r;
+
+                r = fs_on_ssd(name);
+                if (r < 0) {
+                        log_error("%s: %s", name, strerror(-r));
+                        return EXIT_FAILURE;
+                }
+
+                log_info("%s: %s", name, r ? "SSD" : "---");
+        }
+
+        return EXIT_SUCCESS;
+}