Merge pull request #4280 from enkiller/0130-1631
[finsh] add mount/umount cmd
This commit is contained in:
commit
729a1ad3b4
|
@ -347,10 +347,17 @@ int cmd_rm(int argc, char **argv)
|
|||
{
|
||||
switch (argv[1][n])
|
||||
{
|
||||
case 'f': f = 1; break;
|
||||
case 'r': r = 1; break;
|
||||
case 'v': v = 1; break;
|
||||
case '-': break;
|
||||
case 'f':
|
||||
f = 1;
|
||||
break;
|
||||
case 'r':
|
||||
r = 1;
|
||||
break;
|
||||
case 'v':
|
||||
v = 1;
|
||||
break;
|
||||
case '-':
|
||||
break;
|
||||
default:
|
||||
rt_kprintf("Error: Bad option: %c\n", argv[1][n]);
|
||||
return 0;
|
||||
|
@ -469,6 +476,79 @@ int cmd_mkfs(int argc, char **argv)
|
|||
}
|
||||
FINSH_FUNCTION_EXPORT_ALIAS(cmd_mkfs, __cmd_mkfs, format disk with file system);
|
||||
|
||||
extern struct dfs_filesystem filesystem_table[];
|
||||
int cmd_mount(int argc, char *argv[])
|
||||
{
|
||||
if (argc == 1)
|
||||
{
|
||||
struct dfs_filesystem *iter;
|
||||
|
||||
/* display the mount history */
|
||||
rt_kprintf("filesystem device mountpoint\n");
|
||||
rt_kprintf("---------- ------ ----------\n");
|
||||
for (iter = &filesystem_table[0];
|
||||
iter < &filesystem_table[DFS_FILESYSTEMS_MAX]; iter++)
|
||||
{
|
||||
if ((iter != NULL) && (iter->path != NULL))
|
||||
{
|
||||
rt_kprintf("%-10s %-6s %-s\n",
|
||||
iter->ops->name, iter->dev_id->parent.name, iter->path);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
else if (argc == 4)
|
||||
{
|
||||
char *device = argv[1];
|
||||
char *path = argv[2];
|
||||
char *fstype = argv[3];
|
||||
|
||||
/* mount a filesystem to the specified directory */
|
||||
rt_kprintf("mount device %s(%s) onto %s ... ", device, fstype, path);
|
||||
if (dfs_mount(device, path, fstype, 0, 0) == 0)
|
||||
{
|
||||
rt_kprintf("succeed!\n");
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
rt_kprintf("failed!\n");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
rt_kprintf("Usage: mount <device> <mountpoint> <fstype>.\n");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
FINSH_FUNCTION_EXPORT_ALIAS(cmd_mount, __cmd_mount, mount <device> <mountpoint> <fstype>);
|
||||
|
||||
/* unmount the filesystem from the specified mountpoint */
|
||||
int cmd_umount(int argc, char *argv[])
|
||||
{
|
||||
char *path = argv[1];
|
||||
|
||||
if (argc != 2)
|
||||
{
|
||||
rt_kprintf("Usage: unmount <mountpoint>.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
rt_kprintf("unmount %s ... ", path);
|
||||
if (dfs_unmount(path) < 0)
|
||||
{
|
||||
rt_kprintf("failed!\n");
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
rt_kprintf("succeed!\n");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
FINSH_FUNCTION_EXPORT_ALIAS(cmd_umount, __cmd_umount, Unmount device from file system);
|
||||
|
||||
extern int df(const char *path);
|
||||
int cmd_df(int argc, char **argv)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue