summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cpukit/Makefile.am1
-rw-r--r--cpukit/include/rtems/bdpart.h39
-rw-r--r--cpukit/libblock/src/bdpart-mount.c184
-rw-r--r--cpukit/libmisc/shell/fdisk.c36
-rw-r--r--spec/build/cpukit/librtemscpu.yml1
5 files changed, 6 insertions, 255 deletions
diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am
index 1f9124e175..bdd8ebef33 100644
--- a/cpukit/Makefile.am
+++ b/cpukit/Makefile.am
@@ -44,7 +44,6 @@ librtemscpu_a_SOURCES += dtc/libfdt/fdt_wip.c
librtemscpu_a_SOURCES += libblock/src/bdbuf.c
librtemscpu_a_SOURCES += libblock/src/bdpart-create.c
librtemscpu_a_SOURCES += libblock/src/bdpart-dump.c
-librtemscpu_a_SOURCES += libblock/src/bdpart-mount.c
librtemscpu_a_SOURCES += libblock/src/bdpart-read.c
librtemscpu_a_SOURCES += libblock/src/bdpart-register.c
librtemscpu_a_SOURCES += libblock/src/bdpart-sort.c
diff --git a/cpukit/include/rtems/bdpart.h b/cpukit/include/rtems/bdpart.h
index 8886c3614d..f82a3275de 100644
--- a/cpukit/include/rtems/bdpart.h
+++ b/cpukit/include/rtems/bdpart.h
@@ -7,13 +7,7 @@
*/
/*
- * Copyright (c) 2009-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Copyright (C) 2009, 2012 embedded brains GmbH (http://www.embedded-brains.de)
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
@@ -303,37 +297,6 @@ rtems_status_code rtems_bdpart_unregister(
);
/**
- * @brief Mounts all supported file systems inside the logical disks derived
- * from the partitions of the physical disk device with name @a disk_name.
- *
- * For each partition in the partition table @a partitions with @a count
- * partitions it will be checked if it contains a supported file system. In
- * this case a mount point derived from the disk name will be created in the
- * mount base path @a mount_base. The file system will be mounted there. The
- * partition number equals the partition table index plus one. The mount point
- * name for each partition will be the concatenation of the mount base path,
- * the disk device file name and the parition number.
- *
- * @see rtems_bdpart_read().
- */
-rtems_status_code rtems_bdpart_mount(
- const char *disk_name,
- const rtems_bdpart_partition *partitions,
- size_t count,
- const char *mount_base
-);
-
-/**
- * @brief Unmounts all file systems mounted with rtems_bdpart_mount().
- */
-rtems_status_code rtems_bdpart_unmount(
- const char *disk_name,
- const rtems_bdpart_partition *partitions,
- size_t count,
- const char *mount_base
-);
-
-/**
* @brief Prints the partition table @a partitions with @a count partitions to
* standard output.
*/
diff --git a/cpukit/libblock/src/bdpart-mount.c b/cpukit/libblock/src/bdpart-mount.c
deleted file mode 100644
index cfc08ead30..0000000000
--- a/cpukit/libblock/src/bdpart-mount.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/**
- * @file
- *
- * @ingroup rtems_bdpart
- *
- * @brief Block Device Partition Management
- */
-
-/*
- * Copyright (c) 2009, 2010
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * D-82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <rtems.h>
-#include <rtems/bdpart.h>
-#include <rtems/libio.h>
-
-rtems_status_code rtems_bdpart_mount(
- const char *disk_name,
- const rtems_bdpart_partition *pt RTEMS_UNUSED,
- size_t count,
- const char *mount_base
-)
-{
- rtems_status_code esc = RTEMS_SUCCESSFUL;
- const char *disk_file_name = strrchr( disk_name, '/');
- char *logical_disk_name = NULL;
- char *logical_disk_marker = NULL;
- char *mount_point = NULL;
- char *mount_marker = NULL;
- size_t disk_file_name_size = 0;
- size_t disk_name_size = strlen( disk_name);
- size_t mount_base_size = strlen( mount_base);
- size_t i = 0;
-
- /* Create logical disk name base */
- logical_disk_name = malloc( disk_name_size + RTEMS_BDPART_NUMBER_SIZE);
- if (logical_disk_name == NULL) {
- return RTEMS_NO_MEMORY;
- }
- strncpy( logical_disk_name, disk_name, disk_name_size);
-
- /* Get disk file name */
- if (disk_file_name != NULL) {
- disk_file_name += 1;
- disk_file_name_size = strlen( disk_file_name);
- } else {
- disk_file_name = disk_name;
- disk_file_name_size = disk_name_size;
- }
-
- /* Create mount point base */
- mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
- if (mount_point == NULL) {
- esc = RTEMS_NO_MEMORY;
- goto cleanup;
- }
- strncpy( mount_point, mount_base, mount_base_size);
- mount_point [mount_base_size] = '/';
- strncpy( mount_point + mount_base_size + 1, disk_file_name, disk_file_name_size);
-
- /* Markers */
- logical_disk_marker = logical_disk_name + disk_name_size;
- mount_marker = mount_point + mount_base_size + 1 + disk_file_name_size;
-
- /* Mount supported file systems for each partition */
- for (i = 0; i < count; ++i) {
- /* Create logical disk name */
- int rv = snprintf( logical_disk_marker, RTEMS_BDPART_NUMBER_SIZE, "%zu", i + 1);
- if (rv >= RTEMS_BDPART_NUMBER_SIZE) {
- esc = RTEMS_INVALID_NAME;
- goto cleanup;
- }
-
- /* Create mount point */
- strncpy( mount_marker, logical_disk_marker, RTEMS_BDPART_NUMBER_SIZE);
- rv = rtems_mkdir( mount_point, S_IRWXU | S_IRWXG | S_IRWXO);
- if (rv != 0) {
- esc = RTEMS_IO_ERROR;
- goto cleanup;
- }
-
- /* Mount */
- rv = mount(
- logical_disk_name,
- mount_point,
- "msdos",
- 0,
- NULL
- );
- if (rv != 0) {
- rmdir( mount_point);
- }
- }
-
-cleanup:
-
- free( logical_disk_name);
- free( mount_point);
-
- return esc;
-}
-
-rtems_status_code rtems_bdpart_unmount(
- const char *disk_name,
- const rtems_bdpart_partition *pt RTEMS_UNUSED,
- size_t count,
- const char *mount_base
-)
-{
- rtems_status_code esc = RTEMS_SUCCESSFUL;
- const char *disk_file_name = strrchr( disk_name, '/');
- char *mount_point = NULL;
- char *mount_marker = NULL;
- size_t disk_file_name_size = 0;
- size_t disk_name_size = strlen( disk_name);
- size_t mount_base_size = strlen( mount_base);
- size_t i = 0;
-
- /* Get disk file name */
- if (disk_file_name != NULL) {
- disk_file_name += 1;
- disk_file_name_size = strlen( disk_file_name);
- } else {
- disk_file_name = disk_name;
- disk_file_name_size = disk_name_size;
- }
-
- /* Create mount point base */
- mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
- if (mount_point == NULL) {
- esc = RTEMS_NO_MEMORY;
- goto cleanup;
- }
- strncpy( mount_point, mount_base, mount_base_size);
- mount_point [mount_base_size] = '/';
- strncpy( mount_point + mount_base_size + 1, disk_file_name, disk_file_name_size);
-
- /* Marker */
- mount_marker = mount_point + mount_base_size + 1 + disk_file_name_size;
-
- /* Mount supported file systems for each partition */
- for (i = 0; i < count; ++i) {
- /* Create mount point */
- int rv = snprintf( mount_marker, RTEMS_BDPART_NUMBER_SIZE, "%zu", i + 1);
- if (rv >= RTEMS_BDPART_NUMBER_SIZE) {
- esc = RTEMS_INVALID_NAME;
- goto cleanup;
- }
-
- /* Unmount */
- rv = unmount( mount_point);
- if (rv == 0) {
- /* Remove mount point */
- rv = rmdir( mount_point);
- if (rv != 0) {
- esc = RTEMS_IO_ERROR;
- goto cleanup;
- }
- }
- }
-
-cleanup:
-
- free( mount_point);
-
- return esc;
-}
diff --git a/cpukit/libmisc/shell/fdisk.c b/cpukit/libmisc/shell/fdisk.c
index d071e4fbba..c244922492 100644
--- a/cpukit/libmisc/shell/fdisk.c
+++ b/cpukit/libmisc/shell/fdisk.c
@@ -5,10 +5,10 @@
*/
/*
- * Copyright (c) 2009
+ * Copyright (c) 2009, 2020
* embedded brains GmbH
- * Obere Lagerstr. 30
- * D-82178 Puchheim
+ * Dornierstr. 4
+ * 82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
*
@@ -61,13 +61,8 @@ static const char rtems_bdpart_shell_usage [] =
"\tcreates a logical disk for each partition of the disk\n"
"\n"
"fdisk DISK_NAME unregister\n"
- "\tdeletes the logical disks associated with the partitions of the disk\n"
- "\n"
- "fdisk DISK_NAME mount\n"
- "\tmounts the file system of each partition of the disk\n"
- "\n"
- "fdisk DISK_NAME unmount\n"
- "\tunmounts the file system of each partition of the disk\n"
+ "\tdeletes the logical disks associated with the partitions\n"
+ "\tof the disk\n"
"\n"
"option values:\n"
"\tDISK_NAME: absolute path to disk device like '/dev/hda'\n"
@@ -84,14 +79,11 @@ static int rtems_bdpart_shell_main( int argc, char **argv)
unsigned dist [RTEMS_BDPART_PARTITION_NUMBER_HINT];
size_t count = RTEMS_BDPART_PARTITION_NUMBER_HINT;
const char *disk_name = NULL;
- const char *mount_base = "/mnt";
bool do_create = false;
bool do_read = false;
bool do_write = false;
bool do_register = false;
bool do_unregister = false;
- bool do_mount = false;
- bool do_unmount = false;
bool do_dump = false;
if (argc < 2) {
@@ -112,12 +104,6 @@ static int rtems_bdpart_shell_main( int argc, char **argv)
} else if (strcmp( argv [2], "unregister") == 0) {
do_read = true;
do_unregister = true;
- } else if (strcmp( argv [2], "mount") == 0) {
- do_read = true;
- do_mount = true;
- } else if (strcmp( argv [2], "unmount") == 0) {
- do_read = true;
- do_unmount = true;
} else {
RTEMS_BDPART_SHELL_ERROR( "unexpected option: %s", argv [2]);
}
@@ -250,18 +236,6 @@ static int rtems_bdpart_shell_main( int argc, char **argv)
RTEMS_BDPART_SHELL_ERROR_SC( sc, "cannot unregister partitions of '%s'", disk_name);
}
- if (do_mount) {
- /* Mount partitions */
- sc = rtems_bdpart_mount( disk_name, pt, count, mount_base);
- RTEMS_BDPART_SHELL_ERROR_SC( sc, "cannot mount partitions of '%s' to '%s'", disk_name, mount_base);
- }
-
- if (do_unmount) {
- /* Unmount partitions */
- sc = rtems_bdpart_unmount( disk_name, pt, count, mount_base);
- RTEMS_BDPART_SHELL_ERROR_SC( sc, "cannot unmount partitions of '%s'", disk_name);
- }
-
if (do_dump) {
/* Dump partitions */
rtems_bdpart_dump( pt, count);
diff --git a/spec/build/cpukit/librtemscpu.yml b/spec/build/cpukit/librtemscpu.yml
index fe440de738..d039bd6267 100644
--- a/spec/build/cpukit/librtemscpu.yml
+++ b/spec/build/cpukit/librtemscpu.yml
@@ -539,7 +539,6 @@ source:
- cpukit/libblock/src/bdbuf.c
- cpukit/libblock/src/bdpart-create.c
- cpukit/libblock/src/bdpart-dump.c
-- cpukit/libblock/src/bdpart-mount.c
- cpukit/libblock/src/bdpart-read.c
- cpukit/libblock/src/bdpart-register.c
- cpukit/libblock/src/bdpart-sort.c