projects
/
project
/
fstools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mount_root: code failed in failsafe
[project/fstools.git]
/
mount_root.c
diff --git
a/mount_root.c
b/mount_root.c
index
47a3409
..
77d683b
100644
(file)
--- a/
mount_root.c
+++ b/
mount_root.c
@@
-27,14
+27,16
@@
static int
start(int argc, char *argv[1])
{
static int
start(int argc, char *argv[1])
{
- struct volume *root;
+ struct volume *root
= volume_find("rootfs")
;
struct volume *data = volume_find("rootfs_data");
struct volume *data = volume_find("rootfs_data");
- if (!getenv("PREINIT"))
+ if (data && find_mount_point(data->blk, 0))
+ return -1;
+
+ if (root && find_mount_point(root->blk, 0))
return -1;
if (!data) {
return -1;
if (!data) {
- root = volume_find("rootfs");
volume_init(root);
ULOG_NOTE("mounting /dev/root\n");
mount("/dev/root", "/", NULL, MS_NOATIME | MS_REMOUNT, 0);
volume_init(root);
ULOG_NOTE("mounting /dev/root\n");
mount("/dev/root", "/", NULL, MS_NOATIME | MS_REMOUNT, 0);