Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions nshlib/nsh_command.c
Original file line number Diff line number Diff line change
Expand Up @@ -322,9 +322,15 @@ static const struct cmdmap_s g_cmdmap[] =

#ifndef CONFIG_DISABLE_MOUNTPOINT
# if defined(CONFIG_MTD_LOOP) && !defined(CONFIG_NSH_DISABLE_LOMTD)
# ifndef CONFIG_MTD_CONFIG_NONE
CMD_MAP("lomtd", cmd_lomtd, 3, 10,
"[-d <dev-path>] | [[-o <offset>] [-e <erase-size>] "
"[-b <sect-size>] [-c <configdata>] <dev-path> <file-path>]]"),
# else
CMD_MAP("lomtd", cmd_lomtd, 3, 9,
"[-d <dev-path>] | [[-o <offset>] [-e <erase-size>] "
"[-b <sect-size>] <dev-path> <file-path>]]"),
# endif
# endif
#endif

Expand Down
74 changes: 36 additions & 38 deletions nshlib/nsh_fscmds.c
Original file line number Diff line number Diff line change
Expand Up @@ -965,8 +965,8 @@ int cmd_cp(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
* Name: cmd_losetup
****************************************************************************/

#ifndef CONFIG_DISABLE_MOUNTPOINT
# if defined(CONFIG_DEV_LOOP) && !defined(CONFIG_NSH_DISABLE_LOSETUP)
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && defined(CONFIG_DEV_LOOP) && \
!defined(CONFIG_NSH_DISABLE_LOSETUP)
int cmd_losetup(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
{
FAR char *loopdev = NULL;
Expand Down Expand Up @@ -1120,14 +1120,13 @@ int cmd_losetup(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
return ret;
}
#endif
#endif

/****************************************************************************
* Name: cmd_losmart
****************************************************************************/

#ifndef CONFIG_DISABLE_MOUNTPOINT
# if defined(CONFIG_SMART_DEV_LOOP) && !defined(CONFIG_NSH_DISABLE_LOSMART)
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && defined(CONFIG_SMART_DEV_LOOP) && \
!defined(CONFIG_NSH_DISABLE_LOSMART)
int cmd_losmart(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
{
FAR char *loopdev = NULL;
Expand Down Expand Up @@ -1292,14 +1291,13 @@ int cmd_losmart(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
return ret;
}
#endif
#endif

/****************************************************************************
* Name: cmd_lomtd
****************************************************************************/

#ifndef CONFIG_DISABLE_MOUNTPOINT
# if defined(CONFIG_MTD_LOOP) && !defined(CONFIG_NSH_DISABLE_LOMTD)
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && defined(CONFIG_MTD_LOOP) && \
!defined(CONFIG_NSH_DISABLE_LOMTD)
int cmd_lomtd(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
{
FAR char *loopdev = NULL;
Expand All @@ -1310,21 +1308,27 @@ int cmd_lomtd(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
int sectsize = -1;
off_t offset = 0;
bool badarg = false;
# ifndef CONFIG_MTD_CONFIG_NONE
int configdata = 0;
# endif
int ret = ERROR;
int option;
int fd;

/* Get the lomtd options: Two forms are supported:
*
* lomtd -d <loop-device>
* lomtd [-o <offset>] [-e erasesize] [-b sectsize]
* lomtd [-o <offset>] [-e erasesize] [-b sectsize] [-c configdata]
* <loop-device> <filename>
*
* NOTE that the -o and -r options are accepted with the -d option, but
* will be ignored.
*/

# ifndef CONFIG_MTD_CONFIG_NONE
while ((option = getopt(argc, argv, "d:o:e:b:c:")) != ERROR)
# else
while ((option = getopt(argc, argv, "d:o:e:b:")) != ERROR)
# endif
{
switch (option)
{
Expand All @@ -1345,6 +1349,12 @@ int cmd_lomtd(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
sectsize = atoi(optarg);
break;

# ifndef CONFIG_MTD_CONFIG_NONE
case 'c':
configdata = atoi(optarg);
break;
# endif

case '?':
default:
nsh_error(vtbl, g_fmtarginvalid, argv[0]);
Expand Down Expand Up @@ -1420,11 +1430,14 @@ int cmd_lomtd(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
{
/* Set up the loop device */

setup.devname = loopdev; /* The loop block device to be created */
setup.filename = filepath; /* The file or character device to use */
setup.sectsize = sectsize; /* The sector size to use with the block device */
setup.erasesize = erasesize; /* The sector size to use with the block device */
setup.offset = offset; /* An offset that may be applied to the device */
setup.devname = loopdev; /* The loop block device to be created */
setup.filename = filepath; /* The file or character device to use */
setup.sectsize = sectsize; /* The sector size to use with the block device */
setup.erasesize = erasesize; /* The sector size to use with the block device */
setup.offset = offset; /* An offset that may be applied to the device */
# ifndef CONFIG_MTD_CONFIG_NONE
setup.configdata = configdata; /* Is a loop mtdconfig device */
# endif

ret = ioctl(fd, MTD_LOOPIOC_SETUP,
(unsigned long)((uintptr_t)&setup));
Expand Down Expand Up @@ -1455,7 +1468,6 @@ int cmd_lomtd(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)

return ret;
}
# endif
#endif

/****************************************************************************
Expand Down Expand Up @@ -1661,8 +1673,7 @@ int cmd_ls(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
* Name: cmd_mkdir
****************************************************************************/

#ifdef NSH_HAVE_DIROPTS
#ifndef CONFIG_NSH_DISABLE_MKDIR
#if defined(NSH_HAVE_DIROPTS) && !defined(CONFIG_NSH_DISABLE_MKDIR)
int cmd_mkdir(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
{
FAR char *fullpath = NULL;
Expand Down Expand Up @@ -1722,14 +1733,13 @@ int cmd_mkdir(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
return ret;
}
#endif
#endif

/****************************************************************************
* Name: cmd_mkfatfs
****************************************************************************/

#if !defined(CONFIG_DISABLE_MOUNTPOINT) && defined(CONFIG_FSUTILS_MKFATFS)
#ifndef CONFIG_NSH_DISABLE_MKFATFS
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && defined(CONFIG_FSUTILS_MKFATFS) && \
!defined(CONFIG_NSH_DISABLE_MKFATFS)
int cmd_mkfatfs(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
{
struct fat_format_s fmt = FAT_FORMAT_INITIALIZER;
Expand Down Expand Up @@ -1825,7 +1835,6 @@ int cmd_mkfatfs(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
return ret;
}
#endif
#endif

/****************************************************************************
* Name: cmd_mkfifo
Expand Down Expand Up @@ -1962,8 +1971,7 @@ int cmd_mkrd(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
****************************************************************************/

#if !defined(CONFIG_DISABLE_MOUNTPOINT) && defined(CONFIG_FS_SMARTFS) && \
defined(CONFIG_FSUTILS_MKSMARTFS)
#ifndef CONFIG_NSH_DISABLE_MKSMARTFS
defined(CONFIG_FSUTILS_MKSMARTFS) && !defined(CONFIG_NSH_DISABLE_MKSMARTFS)
int cmd_mksmartfs(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
{
FAR char *fullpath = NULL;
Expand Down Expand Up @@ -2048,14 +2056,12 @@ int cmd_mksmartfs(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
return ret;
}
#endif
#endif

/****************************************************************************
* Name: cmd_mv
****************************************************************************/

#ifdef NSH_HAVE_DIROPTS
#ifndef CONFIG_NSH_DISABLE_MV
#if defined(NSH_HAVE_DIROPTS) && !defined(CONFIG_NSH_DISABLE_MV)
int cmd_mv(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
{
UNUSED(argc);
Expand Down Expand Up @@ -2098,7 +2104,6 @@ int cmd_mv(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
return ret;
}
#endif
#endif

/****************************************************************************
* Name: cmd_readlink
Expand Down Expand Up @@ -2141,9 +2146,7 @@ int cmd_readlink(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
* Name: cmd_rm
****************************************************************************/

#ifdef NSH_HAVE_DIROPTS
#ifndef CONFIG_NSH_DISABLE_RM

#if defined(NSH_HAVE_DIROPTS) && !defined(CONFIG_NSH_DISABLE_RM)
static int unlink_recursive(FAR char *path, FAR struct stat *stat)
{
struct dirent *d;
Expand Down Expand Up @@ -2273,14 +2276,12 @@ int cmd_rm(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
return ret;
}
#endif
#endif

/****************************************************************************
* Name: cmd_rmdir
****************************************************************************/

#ifdef NSH_HAVE_DIROPTS
#ifndef CONFIG_NSH_DISABLE_RMDIR
#if defined(NSH_HAVE_DIROPTS) && !defined(CONFIG_NSH_DISABLE_RMDIR)
int cmd_rmdir(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
{
UNUSED(argc);
Expand All @@ -2302,7 +2303,6 @@ int cmd_rmdir(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
return ret;
}
#endif
#endif

/****************************************************************************
* Name: cmd_source
Expand Down Expand Up @@ -2431,8 +2431,7 @@ int cmd_cmp(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
* Name: cmd_truncate
****************************************************************************/

#ifndef CONFIG_DISABLE_MOUNTPOINT
#ifndef CONFIG_NSH_DISABLE_TRUNCATE
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && !defined(CONFIG_NSH_DISABLE_TRUNCATE)
int cmd_truncate(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
{
UNUSED(argc);
Expand Down Expand Up @@ -2536,7 +2535,6 @@ int cmd_truncate(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
return ret;
}
#endif
#endif

/****************************************************************************
* Name: cmd_fdinfo
Expand Down
2 changes: 1 addition & 1 deletion testing/fs/mtd_config_fs/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
config TESTING_MTD_CONFIG_FAIL_SAFE
tristate "MTD Config fail-safe storage test"
default n
depends on MTD_CONFIG_FAIL_SAFE
depends on MTD_CONFIG_NVS
select MTD_CONFIG_NAMED
---help---
Enable the fail-safe storage test
Expand Down
Loading